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){ 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){ dictArray = getDictByCode(dictCode) } 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}`; }