lanan-repair-app/utils/utils.js
2024-10-18 20:03:26 +08:00

134 lines
3.2 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){
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 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,
}
}