报表申报智能运输页面完成
This commit is contained in:
@@ -1,5 +1,21 @@
|
||||
import dayjs from "dayjs";
|
||||
import { find } from "lodash";
|
||||
import numeral from "numeral";
|
||||
// 状态(0草稿,1已提交,9已作废)
|
||||
export const declareType = [
|
||||
{
|
||||
value: "0",
|
||||
label: "草稿",
|
||||
},
|
||||
{
|
||||
value: "1",
|
||||
label: "提交申报",
|
||||
},
|
||||
{
|
||||
value: "9",
|
||||
label: "已取消 ",
|
||||
},
|
||||
];
|
||||
// 订单状态
|
||||
// 0=入库申请,1=入库成功,2=出库申请,3=出库成功,4=作废
|
||||
const billTypeMenu = [
|
||||
@@ -98,8 +114,12 @@ export const formatDate = (t, fmt = "YYYY-MM-DD HH:mm:ss") =>
|
||||
export const formatNum = (num, fmt = "0.00") =>
|
||||
num ? numeral(num).format(fmt) : "-";
|
||||
|
||||
// 入库单/出库单:获取已入库、出库数量
|
||||
// item:此列数据 type:已入库、剩余数量
|
||||
/**
|
||||
* 入库单/出库单:获取已入库、出库数量
|
||||
* @param {object} item - 此列数据
|
||||
* @param {string|number} type - 已入库、剩余数量
|
||||
* @returns {string|number} 数量
|
||||
*/
|
||||
export const getStockQuantity = (item, type) => {
|
||||
const num = item.quantity;
|
||||
const status = item.status;
|
||||
@@ -126,6 +146,8 @@ export const removeStorage = () => {
|
||||
uni.removeStorageSync("app_billRemark");
|
||||
uni.removeStorageSync("app_material");
|
||||
uni.removeStorageSync("app_material_select_list");
|
||||
uni.removeStorageSync("app_technical");
|
||||
uni.removeStorageSync("app_declaration");
|
||||
};
|
||||
|
||||
// 对象转 URL 查询字符串 ?a=1&b=2
|
||||
@@ -140,29 +162,45 @@ export const objectToQuery = (params) => {
|
||||
};
|
||||
// 获取配置的导航路由
|
||||
export const getTabBarList = () => {
|
||||
// 1. 从 uni-app 全局配置中读取 tabBar
|
||||
const tabBarConfig = __uniConfig.tabBar || {};
|
||||
// 2. 获取 list 数组
|
||||
const tabList = tabBarConfig.list || [];
|
||||
return tabList;
|
||||
};
|
||||
/**
|
||||
* 根据数组以及状态值获取对应的label
|
||||
* @param {Array} list - 数组
|
||||
* @param {object} obj - 数组对应的name和value字段名
|
||||
* @param {string} val - 当前状态值
|
||||
* @returns {string|number} 数量
|
||||
*/
|
||||
export const getLabel = (
|
||||
list,
|
||||
val,
|
||||
obj = { name: "label", value: "value" },
|
||||
) => {
|
||||
if (val) {
|
||||
return find(list, (i) => i?.[obj?.value] === `${val}`)?.[obj?.name];
|
||||
}
|
||||
return "-";
|
||||
};
|
||||
/**
|
||||
* 数组分组转换方法:按 parentName 分组
|
||||
* @param {Array} arr 原始数组
|
||||
* @returns {Array} 转换后的分组数组 [{parentName: '', items: []}]
|
||||
*/
|
||||
export function transformData(arr) {
|
||||
const groupMap = arr.reduce((map, item) => {
|
||||
const key = item.parentName;
|
||||
if (!map[key]) {
|
||||
map[key] = { parentName: key, items: [] };
|
||||
}
|
||||
map[key].items.push(item);
|
||||
return map;
|
||||
}, {});
|
||||
|
||||
// ======================
|
||||
// 工具函数:blobUrl 转 可上传的临时文件路径
|
||||
// ======================
|
||||
export function blobToTempFilePath(blobUrl) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 1. 下载 blob 数据
|
||||
uni.downloadFile({
|
||||
url: blobUrl,
|
||||
success: (res) => {
|
||||
if (res.statusCode === 200) {
|
||||
resolve(res.tempFilePath);
|
||||
} else {
|
||||
reject("下载失败");
|
||||
}
|
||||
},
|
||||
fail: reject,
|
||||
});
|
||||
});
|
||||
// 把对象转成数组返回
|
||||
return Object.values(groupMap);
|
||||
}
|
||||
export const getToken = () => {
|
||||
return uni.getStorageSync("app_token");
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user