lanan-repair/utils/utils.js
2024-10-24 16:44:45 +08:00

163 lines
4.0 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 ticketsStatus 订单状态
* @param workStatus 维修工作状态
*/
function getOrderStatusText(ticketsStatus,workStatus){
let str = "";
if("04"==ticketsStatus){
//待派工
str = "待派工"
}else if("05"==ticketsStatus || "07"==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
*/
function getDictByCode(dictCode){
let dictArray = getStorageWithExpiry(dictCode);
if(null==dictArray || undefined==dictArray){
request({
url: '/app-api/system/dict-data/type',
method: 'get',
tenantIdFlag:false,
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
*/
async function getDictTextByCodeAndValue(dictCode,value){
return new Promise((resolve, reject) => {
let dictArray = getStorageWithExpiry(dictCode);
console.log(dictCode, 'dictCode')
console.log(value, 'value')
if (null == dictArray || undefined == dictArray) {
request({
url: '/app-api/system/dict-data/type',
method: 'get',
tenantIdFlag: false,
params: {type: dictCode}
}).then((res) => {
console.log(res, 98)
console.log(res, 98)
if (res.code == 200) {
setStorageWithExpiry(dictCode, res.data, 3600)
dictArray = res.data
let dictObj = dictArray.find(item => item.value == value)
console.log(dictObj, "dictObj")
if (dictObj) {
resolve(dictObj.label);
// return dictObj.label
} else {
resolve("未知数据")
}
}
})
} else {
let dictObj = dictArray.find(item => item.value == value)
console.log(dictObj, "dictObj")
if (dictObj) {
resolve(dictObj.label);
} else {
resolve("未知数据")
}
}
});
}
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}`;
}
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}`;
}
export {
getWXStatusHeight,
getOrderStatusText,
getDictByCode,
getDictTextByCodeAndValue,
formatTimestamp,
formatDate,
}