206 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import request from '@/utils/request';
 | ||
| import {
 | ||
| 	setStorageWithExpiry,
 | ||
| 	getStorageWithExpiry
 | ||
| } from '@/utils/auth'
 | ||
| 
 | ||
| export function getWXStatusHeight() {
 | ||
| 	// #ifdef MP-WEIXIN
 | ||
| 	// 获取距上
 | ||
| 	const barTop = wx.getSystemInfoSync().statusBarHeight
 | ||
| 	// 获取胶囊按钮位置信息
 | ||
| 	const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
 | ||
| 	// 获取导航栏高度
 | ||
| 	const barHeight = menuButtonInfo.height + (menuButtonInfo.top - barTop) * 2
 | ||
| 	let barWidth = menuButtonInfo.width
 | ||
| 	console.log('menuButtonInfo', menuButtonInfo)
 | ||
| 	let barLeftPosition = 375 - menuButtonInfo.right + menuButtonInfo.width
 | ||
| 	let menuButtonLeft = menuButtonInfo.left
 | ||
| 	let menuButtonRight = menuButtonInfo.right
 | ||
| 	return {
 | ||
| 		barHeight,
 | ||
| 		barTop,
 | ||
| 		barWidth,
 | ||
| 		barLeftPosition,
 | ||
| 		menuButtonLeft,
 | ||
| 		menuButtonRight
 | ||
| 	}
 | ||
| 	// #endif
 | ||
| }
 | ||
| 
 | ||
| /**
 | ||
|  * 根据订单的状态获取订单的文字展示状态
 | ||
|  * @param ticketsStatus 订单状态
 | ||
|  * @param workStatus 维修工作状态
 | ||
|  */
 | ||
| export function getOrderStatusText(ticketsStatus,workStatus){
 | ||
| 	let str = "";
 | ||
| 	if("04"==ticketsStatus){
 | ||
| 		//待派工
 | ||
| 		str = "待派工"
 | ||
| 	}else if("05"==ticketsStatus){
 | ||
| 		//维修中
 | ||
| 		str = "维修中"
 | ||
| 	}else if("01"==ticketsStatus){
 | ||
| 		//待结算
 | ||
| 		str = "待结算"
 | ||
| 	}else if("06"==ticketsStatus){
 | ||
| 		//挂单/记账
 | ||
| 		str = "挂单/记账"
 | ||
| 	}else if("02"==ticketsStatus){
 | ||
| 		//已结账
 | ||
| 		str = "已结账"
 | ||
| 	}else if("03"==ticketsStatus){
 | ||
| 		//已作废
 | ||
| 		str = "已作废"
 | ||
| 	}
 | ||
| 	return str;
 | ||
| }
 | ||
| 
 | ||
| /**
 | ||
|  * 查询字典可选值
 | ||
|  * @param dictCode
 | ||
|  */
 | ||
| export function getDictByCode(dictCode){
 | ||
| 	let dictArray = getStorageWithExpiry(dictCode);
 | ||
| 	if(null==dictArray || undefined==dictArray){
 | ||
| 		request({
 | ||
| 			url: '/admin-api/system/dict-data/type',
 | ||
| 			method: 'get',
 | ||
| 			params:{type:dictCode}
 | ||
| 		}).then((res) => {
 | ||
| 			console.log(res)
 | ||
| 			if (res.code == 200) {
 | ||
| 				setStorageWithExpiry(dictCode,res.data,3600)
 | ||
| 				return res.data
 | ||
| 			}
 | ||
| 		})
 | ||
| 	}else{
 | ||
| 		return dictArray
 | ||
| 	}
 | ||
| }
 | ||
| /**
 | ||
|  * 工单记录操作日志
 | ||
|  * @param id 工单主表id
 | ||
|  * @param ticketsWorkStatus 工单主表状态
 | ||
|  * @param itemId 工单子表id
 | ||
|  * @param itemStatus 工单子表状态
 | ||
|  * @param recordType 操作类型  对应后端枚举:RecordTypeEnum
 | ||
|  * @param remark 备注
 | ||
|  * @param image 图片相对路径,多个英文逗号隔开
 | ||
|  */
 | ||
| export function saveTicketsRecords(id,ticketsWorkStatus,itemId,itemStatus,recordType,remark,image){
 | ||
| 	return new Promise((resolve, reject) => {
 | ||
| 		let dataObj = {
 | ||
| 			id: id,
 | ||
| 			ticketsWorkStatus:ticketsWorkStatus,
 | ||
| 			item: {id: itemId, itemStatus: itemStatus},
 | ||
| 			recordType: recordType,
 | ||
| 			remark: remark,
 | ||
| 			image: image
 | ||
| 		}
 | ||
| 		request({
 | ||
| 			url: '/admin-api/repair/tickets/updateStatus',
 | ||
| 			method: 'POST',
 | ||
| 			data:dataObj
 | ||
| 		}).then((res) => {
 | ||
| 			console.log(res)
 | ||
| 			if (res.code == 200) {
 | ||
| 				uni.showToast({
 | ||
| 					title: '操作成功',
 | ||
| 					icon: 'none'
 | ||
| 				})
 | ||
| 				resolve(1);
 | ||
| 			}else{
 | ||
| 				uni.showToast({
 | ||
| 					title: '操作失败,请联系管理员',
 | ||
| 					icon: 'none'
 | ||
| 				})
 | ||
| 				reject(0);
 | ||
| 			}
 | ||
| 		})
 | ||
| 	});
 | ||
| }
 | ||
| 
 | ||
| /**
 | ||
|  * 翻译字典
 | ||
|  * @param dictCode
 | ||
|  */
 | ||
| export function getDictTextByCodeAndValue(dictCode,value){
 | ||
| 	let dictArray = getStorageWithExpiry(dictCode);
 | ||
| 	if(null==dictArray  || undefined==dictArray){
 | ||
| 		request({
 | ||
| 			url: '/admin-api/system/dict-data/type',
 | ||
| 			method: 'get',
 | ||
| 			params:{type:dictCode}
 | ||
| 		}).then((res) => {
 | ||
| 			console.log(res)
 | ||
| 			if (res.code == 200) {
 | ||
| 				setStorageWithExpiry(dictCode,res.data,3600)
 | ||
| 				dictArray = res.data
 | ||
| 				let dictObj = dictArray.find(item=>item.value==value)
 | ||
| 				if(dictObj){
 | ||
| 					return dictObj.label
 | ||
| 				}else{
 | ||
| 					return "未知数据"
 | ||
| 				}
 | ||
| 			}
 | ||
| 		})
 | ||
| 	}else{
 | ||
| 		let dictObj = dictArray.find(item=>item.value==value)
 | ||
| 		if(dictObj){
 | ||
| 			return dictObj.label
 | ||
| 		}else{
 | ||
| 			return "未知数据"
 | ||
| 		}
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| export function formatTimestamp(timestamp) {
 | ||
| 	// 将时间戳转换为Date对象
 | ||
| 	const date = new Date(timestamp);
 | ||
| 	// 获取年月日时分秒
 | ||
| 	const year = date.getFullYear();
 | ||
| 	const month = (date.getMonth() + 1).toString().padStart(2, '0');
 | ||
| 	const day = date.getDate().toString().padStart(2, '0');
 | ||
| 	const hours = date.getHours().toString().padStart(2, '0');
 | ||
| 	const minutes = date.getMinutes().toString().padStart(2, '0');
 | ||
| 	const seconds = date.getSeconds().toString().padStart(2, '0');
 | ||
| 	// 组合成日期时间字符串
 | ||
| 	return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 | ||
| }
 | ||
| 
 | ||
| /**
 | ||
|  * 组装订单对象
 | ||
|  * @param order
 | ||
|  */
 | ||
| export function builderOrder(order) {
 | ||
| 	return {
 | ||
| 		id: order.id,
 | ||
| 		orderNo: order.ticketNo,
 | ||
| 		flag: 1,
 | ||
| 		ticketsStatus: order.ticketsStatus,
 | ||
| 		ticketsWorkStatus: order.ticketsWorkStatus,
 | ||
| 		flagStr: getOrderStatusText(order.ticketsStatus, order.ticketsWorkStatus),
 | ||
| 		carNum: order.carNo,
 | ||
| 		nowRepairId: order.nowRepairId,
 | ||
| 		carModel: order.carBrandName,
 | ||
| 		userName: order.userName,
 | ||
| 		userPhone: order.userMobile,
 | ||
| 		counselorName: order.adviserName,
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| export function formatDate(timestamp) {
 | ||
| 	// 将时间戳转换为Date对象
 | ||
| 	const date = new Date(timestamp);
 | ||
| 	// 获取年月日时分秒
 | ||
| 	const year = date.getFullYear();
 | ||
| 	const month = (date.getMonth() + 1).toString().padStart(2, '0');
 | ||
| 	const day = date.getDate().toString().padStart(2, '0');
 | ||
| 	// 组合成日期时间字符串
 | ||
| 	return `${year}-${month}-${day}`;
 | ||
| }
 | ||
| 
 | ||
| 
 | 
