lanan-repair-app/utils/utils.js
2024-10-18 16:10:56 +08:00

120 lines
2.8 KiB
JavaScript

import request from '@/utils/request';
import {
setStorageWithExpiry,
getStorageWithExpiry
} from '@/utils/auth'
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 orderInfo
*/
function getOrderStatusText(orderInfo){
let str = "";
if("04"==orderInfo.ticketsStatus){
//待派工
str = "待派工"
}else if("05"==orderInfo.ticketsStatus){
//维修中
str = "维修中"
}else if("01"==orderInfo.ticketsStatus){
//待结算
str = "待结算"
}else if("06"==orderInfo.ticketsStatus){
//挂单/记账
str = "挂单/记账"
}else if("02"==orderInfo.ticketsStatus){
//已结账
str = "已结账"
}else if("03"==orderInfo.ticketsStatus){
//已作废
str = "已作废"
}
return str;
}
/**
* 查询字典可选值
* @param dictCode
*/
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
*/
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 "未知数据"
}
}
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}`;
}
export {
getWXStatusHeight,
formatTimestamp,
getOrderStatusText,
getDictByCode,
getDictTextByCodeAndValue
}