From 81f875f3e41b011d7c8ba36747b5a58b1d48f9a7 Mon Sep 17 00:00:00 2001 From: qb <1191961160@qq.com> Date: Thu, 28 Dec 2023 18:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compoment/tiplist/tiplist.vue | 2 +- pages/user/user.vue | 9 +- .../CustomerOrdersDetails.vue | 13 +- pagesHome/pages/CustomerSign/CustomerSign.vue | 2 +- pagesHome/pages/StockUplist/StockUplist.vue | 7 +- .../StockUplistScandetails.vue | 2 +- .../pages/signOrderScan/signOrderScan.vue | 175 ++++++----- static/appIcon/favicon.png | Bin 0 -> 46748 bytes unpackage/dist/dev/app-plus/app-service.js | 293 +++++++++--------- unpackage/dist/dev/app-plus/app.css | 2 +- .../dist/dev/app-plus/pages/user/user.css | 4 + .../CustomerOrdersDetails.css | 4 + utils/request.js | 2 +- 13 files changed, 281 insertions(+), 234 deletions(-) create mode 100644 static/appIcon/favicon.png diff --git a/compoment/tiplist/tiplist.vue b/compoment/tiplist/tiplist.vue index 7be4807..21327b7 100644 --- a/compoment/tiplist/tiplist.vue +++ b/compoment/tiplist/tiplist.vue @@ -443,7 +443,7 @@ &.showTitle { &::after { - content: '最少传入三张图片'; + content: '最少传入一张图片'; margin-left: 20upx; color: #f00; } diff --git a/pages/user/user.vue b/pages/user/user.vue index da490fb..f7a6e41 100644 --- a/pages/user/user.vue +++ b/pages/user/user.vue @@ -2,13 +2,13 @@ 个人中心 - + 未登录 - + {{users.real_name}} @@ -541,4 +541,9 @@ height: 400upx; background-color: #FA8C16da; } + + .profilePhoto { + background: #fff; + border-radius: 10upx; + } \ No newline at end of file diff --git a/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue b/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue index 8726680..16d2b16 100644 --- a/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue +++ b/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue @@ -87,7 +87,7 @@ {{ite.orderPackageCode}} + :class="{'isScan': ite.orderPackageLoadingStatus !== '20'}">{{ite.orderPackageCode}} {{ite.thirdProduct}} {{ite.isScan}} > ', res); tiplists.value.setdetails({ isshow: false }) }, diff --git a/pagesHome/pages/CustomerSign/CustomerSign.vue b/pagesHome/pages/CustomerSign/CustomerSign.vue index a4f1cfd..17231d2 100644 --- a/pagesHome/pages/CustomerSign/CustomerSign.vue +++ b/pagesHome/pages/CustomerSign/CustomerSign.vue @@ -52,7 +52,7 @@ {{item.ordNub}} - 配送件数 + 计划件数 {{item.reservationNum}} diff --git a/pagesHome/pages/StockUplist/StockUplist.vue b/pagesHome/pages/StockUplist/StockUplist.vue index 3102a13..064ddb9 100644 --- a/pagesHome/pages/StockUplist/StockUplist.vue +++ b/pagesHome/pages/StockUplist/StockUplist.vue @@ -320,10 +320,9 @@ async function ckscanningCode(item : any) { let content = '请扫描托盘码' - if (!details.goodsStockupAllocationId) { - content = '请先扫描库位码' - return - } + // if (!details.goodsStockupAllocationId) { + // content = '请先扫描库位码' + // } details.isscan = item.taryLean details.trayId = item.trayId uni.showToast({ diff --git a/pagesHome/pages/StockUplistScandetails/StockUplistScandetails.vue b/pagesHome/pages/StockUplistScandetails/StockUplistScandetails.vue index 8d86ca0..0ada3fe 100644 --- a/pagesHome/pages/StockUplistScandetails/StockUplistScandetails.vue +++ b/pagesHome/pages/StockUplistScandetails/StockUplistScandetails.vue @@ -286,7 +286,7 @@ }) } async function scandata() { - if (Number(details.planNum) === Number(details.scanNum)) return utils.handleToast('该客户已齐套') + if (Number(details.planNum) === Number(details.scanNum)) return utils.handleToast('该客户已齐套, 请返回上一级页面') // 查看模式不执行扫描 if (Number(details.status) !== 0) return diff --git a/pagesHome/pages/signOrderScan/signOrderScan.vue b/pagesHome/pages/signOrderScan/signOrderScan.vue index 3a3ff98..22b91d2 100644 --- a/pagesHome/pages/signOrderScan/signOrderScan.vue +++ b/pagesHome/pages/signOrderScan/signOrderScan.vue @@ -18,7 +18,7 @@ 计划件数 - {{Plannednub}} + {{details.Plannednub}} 配送件数 @@ -26,7 +26,7 @@ 签收件数 - {{signNub}} + {{details.signNub}} @@ -64,12 +64,11 @@ - 总数:{{item.reservationNum}} + 计划:{{item.reservationNum}} 装车:{{item.loadingNub}} 签收:{{item.signforNub}} - 计划:{{item.reservationNum}} 异常装车:{{item.abnormalLoading}} 异常签收:{{item.abnormalSignature}} @@ -210,32 +209,22 @@ inputtxt: '', listcheckindex: -1, scrollHeight: '', + /** 计划件数 */ + Plannednub: 0, + + /** 签收数 */ + signNub: 0, }) const tiplists = ref(null) const tip = ref(null) - const Plannednub = computed(() => { - let num = 0 - // 将所有订单的计划件数相加 - num += details.orderArr.reduce((curr, item) => curr + item.reservationNum, 0) - num += details.zeroArr.reduce((curr, item) => curr + item.reservationNum, 0) - num += details.stockArr.reduce((curr, item) => curr + item.reservationNum, 0) - return num - }) + const ordNub = computed(() => { let num = 0 num += details.orderArr.length num += details.zeroArr.length return num }) - const signNub = computed(() => { - let num = 0 - details.datalist.map(item => { - if (item.signforNub) { - num += item.signforNub - } - }) - return num - }) + onLoad(async (op) => { // #ifdef APP utils.ttsspke('请扫描包条码') @@ -268,13 +257,18 @@ } details.datalist = [] + const promise1 = signfororder(data, { isShowLoading: false }) + const promise2 = signforinventory(data, { isShowLoading: false }) + + uni.showLoading() + const [response, response1] = await Promise.all([promise1, promise2]) // 零担和定制品 - let response = null - response = await signfororder(data) + // let response = null + // response = await signfororder(data) if (response.code !== 200) return details.zeroArr = [] details.orderArr = [] - if (response.data && response.data.records) response.data.records.forEach(val => { + if (response.data && response.data) response.data.forEach(val => { // 零担订单 if (val.isZero === '1') return details.zeroArr.push(val) @@ -290,12 +284,12 @@ details.orderArr.push(val) }) // 库存品 - let response1 = await signforinventory(data) + // let response1 = await signforinventory(data) if (response1.code !== 200) return - if (response1.data) details.stockArr = response1.data.records || [] + if (response1.data) details.stockArr = response1.data || [] + + computedNum() - console.log('response :>> ', response); - console.log('response1 :>> ', response1); // 定制品 if (details.orderStatus === 1) details.datalist = details.orderArr // 零担 @@ -305,6 +299,9 @@ } catch (err) { console.log('err :>> ', err); //TODO handle the exception + } finally { + await nextTick() + uni.hideLoading() } }) @@ -326,18 +323,27 @@ }) } + /** 计算数据 */ + function computedNum() { + const _arr = [...details.orderArr, ...details.zeroArr, ...details.stockArr] + + details.Plannednub = 0 + details.signNub = 0 + + for (let item of _arr) { + details.Plannednub += item.reservationNum + details.signNub += item.signforNub + } + } + // 页面下拉刷新 - onPullDownRefresh(() => { - const timer = setTimeout(() => { - initpage() - // 关闭下拉动画 - uni.stopPullDownRefresh() - clearTimeout(timer) - }, 500) + onPullDownRefresh(async () => { + await initpage() + // 关闭下拉动画 + uni.stopPullDownRefresh() + }) async function scandata() { - details.listcheckindex = -1 - let data = { barcode: details.scancode, deliveryId: details.deliveryId, @@ -370,6 +376,7 @@ title: response.msg, icon: 'none' }) + initpage() tip.value.setdetails({ isshow: false }) }, cancel: () => { @@ -379,6 +386,8 @@ tip.value.setdetails({ isshow: false }) } }) + + return } else { uni.showToast({ title: response.msg, @@ -406,6 +415,7 @@ title: response.msg, icon: 'none' }) + initpage() tip.value.setdetails({ isshow: false }) }, cancel: () => { @@ -415,6 +425,7 @@ tip.value.setdetails({ isshow: false }) } }) + return } else { uni.showToast({ title: response.msg, @@ -470,49 +481,59 @@ } } async function initpage() { - let data = { - reservationId: details.id, - completecode: details.orderType, - orderCode: details.inputtxt, - } - details.datalist = [] - let response = null; - // 定制品和零担 - if (details.orderStatus == 1 || details.orderStatus === 2) { - response = await signfororder(data) - if (response.code !== 200) return - details.zeroArr = [] - details.orderArr = [] - response.data.records.forEach(val => { - // 零担订单 - if (val.isZero === '1') return details.zeroArr.push(val) + try { + details.listcheckindex = -1 - // 异常签收 - val.abnormalSignature = 0 - // 异常装车 - val.abnormalLoading = 0 - val.distributionAppParcelListVOS.forEach(value => { - if (value.isAbnnormalSigning === 1) val.abnormalSignature += 1 - if (value.isAbnormalLoading === 1) val.abnormalLoading += 1 + let data = { + reservationId: details.id, + completecode: details.orderType, + orderCode: details.inputtxt, + } + details.datalist = [] + let response = null; + // 定制品和零担 + if (details.orderStatus == 1 || details.orderStatus === 2) { + response = await signfororder(data) + if (response.code !== 200) return + details.zeroArr = [] + details.orderArr = [] + response.data.forEach(val => { + // 零担订单 + if (val.isZero === '1') return details.zeroArr.push(val) + + // 异常签收 + val.abnormalSignature = 0 + // 异常装车 + val.abnormalLoading = 0 + val.distributionAppParcelListVOS.forEach(value => { + if (value.isAbnnormalSigning === 1) val.abnormalSignature += 1 + if (value.isAbnormalLoading === 1) val.abnormalLoading += 1 + }) + + console.log('val :>> ', val); + + details.orderArr.push(val) }) - - console.log('val :>> ', val); - - details.orderArr.push(val) - }) - } - // 库存品 - else if (details.orderStatus == 3) { - response = await signforinventory(data) - if (response.code !== 200) return - details.stockArr = response.data.records || [] + } + // 库存品 + else if (details.orderStatus == 3) { + response = await signforinventory(data) + if (response.code !== 200) return + details.stockArr = response.data || [] + } + // 定制品 + if (details.orderStatus === 1) details.datalist = details.orderArr + // 零担 + else if (details.orderStatus === 2) details.datalist = details.zeroArr + // 库存品 + else details.datalist = details.stockArr + } catch (err) { + console.log('err :>> ', err); + //TODO handle the exception + } finally { + computedNum() + return null } - // 定制品 - if (details.orderStatus === 1) details.datalist = details.orderArr - // 零担 - else if (details.orderStatus === 2) details.datalist = details.zeroArr - // 库存品 - else details.datalist = details.stockArr } function setcheckindex(index : number) { if (details.listcheckindex == index) { diff --git a/static/appIcon/favicon.png b/static/appIcon/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..562f6dcb724cc89ff5e4edf85109be099250d3ba GIT binary patch literal 46748 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

i|d+_`SZ?=?8MsIs43_@+}NCA2%x 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 Bg2n&< literal 0 HcmV?d00001 diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index c963ec2..507a6e7 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -1747,7 +1747,7 @@ if (uni.restoreGlobal) { }; }; const Base64$1 = new Base64(); - const devhost = "http://192.168.10.57:13000/"; + const devhost = "http://192.168.10.25:13000/"; const imghost = ""; const host = devhost; const APPKEY = "h5u:h5u_secret"; @@ -2235,7 +2235,8 @@ if (uni.restoreGlobal) { utils.ttsspke("请检查是否连接到无线网络"); }).finally(async (res) => { await vue.nextTick(); - uni.hideLoading(); + if (loadingObj.isShowLoading !== false) + uni.hideLoading(); }); }); }; @@ -8767,7 +8768,10 @@ This will fail in production if not fixed.`); class: "userviews", onClick: gologin }, [ - vue.createElementVNode("image", { src: "/static/userimg.png" }), + vue.createElementVNode("image", { + class: "profilePhoto", + src: "/static/appIcon/favicon.png" + }), vue.createElementVNode("view", null, [ vue.createElementVNode("view", null, "未登录") ]) @@ -8776,7 +8780,10 @@ This will fail in production if not fixed.`); key: 1, class: "userviews" }, [ - vue.createElementVNode("image", { src: "/static/userimg.png" }), + vue.createElementVNode("image", { + class: "profilePhoto", + src: "/static/appIcon/favicon.png" + }), vue.createElementVNode("view", null, [ vue.createElementVNode( "view", @@ -19919,10 +19926,6 @@ This will fail in production if not fixed.`); } async function ckscanningCode(item) { let content = "请扫描托盘码"; - if (!details.goodsStockupAllocationId) { - content = "请先扫描库位码"; - return; - } details.isscan = item.taryLean; details.trayId = item.trayId; uni.showToast({ @@ -19949,9 +19952,9 @@ This will fail in production if not fixed.`); }); return; } - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:357", "item :>> ", item); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:356", "item :>> ", item); const _allocationList = item.allocationList.map((val) => val.name); - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:359", "_allocationList :>> ", _allocationList); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:358", "_allocationList :>> ", _allocationList); if (_allocationList.length === 1) { return uni.navigateTo({ url: "/pagesHome/pages/setbarcode/setbarcode?item=" + JSON.stringify(item) + "&reservationId=" + details.reservationId + "&goodsAreaName=" + details.user.goodsAreaName + "&stockupId=" + details.stockupId + "&allocationId=" + item.allocationList[0].id + "&positionCode=" + item.allocationList[0].name + "&mallName=" + details.items.mallName @@ -19976,7 +19979,7 @@ This will fail in production if not fixed.`); }); return; } - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:392", "deta :>> ", deta); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:391", "deta :>> ", deta); const _index = deta.checklist[0]; uni.navigateTo({ url: "/pagesHome/pages/setbarcode/setbarcode?item=" + JSON.stringify(item) + "&reservationId=" + details.reservationId + "&goodsAreaName=" + details.user.goodsAreaName + "&stockupId=" + details.stockupId + "&allocationId=" + item.allocationList[_index].id + "&positionCode=" + item.allocationList[_index].name + "&mallName=" + details.items.mallName @@ -20014,7 +20017,7 @@ This will fail in production if not fixed.`); utils2.ttsspke(res.audio); basicContainer.value.startPullDownRefresh(); } catch (err) { - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:453", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:452", "err :>> ", err); } finally { details.isscan = false; uni.hideLoading(); @@ -20022,9 +20025,9 @@ This will fail in production if not fixed.`); }; function scanChooseStorage() { const _allocationList = details.chooseItem.allocationList; - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:464", "_allocationList :>> ", _allocationList); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:463", "_allocationList :>> ", _allocationList); const _item = _allocationList.find((val) => val.id + "" === details.scancode + ""); - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:466", "_item :>> ", _item); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:465", "_item :>> ", _item); if (!_item) return uni.showToast({ title: "该货位无此物料", @@ -20056,7 +20059,7 @@ This will fail in production if not fixed.`); let inpList = []; if (code2 !== 200) return; - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:513", "res.data :>> ", res.data); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:512", "res.data :>> ", res.data); inpList = res.data.map((val) => { return { id: val.id, @@ -20100,7 +20103,7 @@ This will fail in production if not fixed.`); confirmTxt: "确认选择", isonecheck: true, success: async (deta) => { - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:562", "deta :>> ", deta); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:561", "deta :>> ", deta); if (deta.inpList.length === 0 || item.completeStact) return tiplists.value.setdetails({ isshow: false }); let data2 = { @@ -20114,7 +20117,7 @@ This will fail in production if not fixed.`); if (deta.inpList[0].allocationId) data2.allocationId = deta.inpList[0].allocationId; const _flag = deta.inpList.every((val) => { - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:574", "val :>> ", val); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:573", "val :>> ", val); if (val.value < val.minNum) { uni.showToast({ title: "不能小于当前数量" @@ -20122,7 +20125,7 @@ This will fail in production if not fixed.`); return false; } if (val.value > val.minNum) { - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:582", "1 :>> ", 1); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:581", "1 :>> ", 1); data2.list.push({ firsts: val.title, id: val.id, @@ -20141,7 +20144,7 @@ This will fail in production if not fixed.`); }); } const res2 = await postZeroStockUp(data2); - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:603", "res :>> ", res2); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:602", "res :>> ", res2); const { code: code22 } = res2; if (code22 === 200) { tiplists.value.setdetails({ isshow: false }); @@ -20160,7 +20163,7 @@ This will fail in production if not fixed.`); }); } function printOrderCode(item) { - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:629", "item :>> ", item); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:628", "item :>> ", item); tiplists.value.setdetails({ title: "生成订单编号二维码数量", isshow: true, @@ -20192,7 +20195,7 @@ This will fail in production if not fixed.`); for (let i = 0; i <= _inputValue; i++) { if (_isReturn) return; - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:664", "i :>> ", i); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:663", "i :>> ", i); let text = "! 0 200 200 330 1\r\n"; text += "SETBOLD 2\r\n"; text += `T 56 0 0 0 ${item.orderCode}\r @@ -20222,7 +20225,7 @@ This will fail in production if not fixed.`); text += "FORM\r\n"; text += "PRINT\r\n"; let sylist = utils2.initbl(); - formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:686", sylist); + formatAppLog("log", "at pagesHome/pages/StockUplist/StockUplist.vue:685", sylist); utils2.getbl(bluetoothInfo.value, text).catch(() => { bluetoothList.value.setdetails({ isshow: true }); _isReturn = true; @@ -24358,7 +24361,7 @@ This will fail in production if not fixed.`); uni.$off("scancodedate"); uni.$on("scancodedate", function(code2) { if (code2) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:296", "code", code2); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:297", "code", code2); details.scancode = code2; details.isscan = true; scandata(); @@ -24379,7 +24382,7 @@ This will fail in production if not fixed.`); vue.onMounted(async () => { await vue.nextTick(); details.scrollHeight = utils2.getViewDistanceFormTop(".scve").then((res) => { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:326", "res :>> ", res); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:327", "res :>> ", res); details.scrollHeight = res; }); }); @@ -24389,14 +24392,14 @@ This will fail in production if not fixed.`); num += details.order.data.reduce((curr, item) => curr + item.loadingNub, 0); if (details.zero.data) num += details.zero.data.reduce((curr, item) => curr + item.loadingNub, 0); - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:362", "details.stock.data :>> ", details.stock.data); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:363", "details.stock.data :>> ", details.stock.data); if (details.stock.data) num += details.stock.data.reduce((curr, item) => { if (item.loadingStatusName !== "未装车") return curr += 1; return curr; }, 0); - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:367", "num :>> ", num); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:368", "num :>> ", num); return num; }); function showsdqs() { @@ -24420,6 +24423,7 @@ This will fail in production if not fixed.`); }); } async function initpage() { + details.listcheckindex = -1; try { let data = { reservationId: details.items.id, @@ -24438,7 +24442,7 @@ This will fail in production if not fixed.`); else details.datalist = details.stock.data; } catch (err) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:412", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:415", "err :>> ", err); } finally { return null; } @@ -24457,7 +24461,7 @@ This will fail in production if not fixed.`); details.order.data.push(val); }); } catch (err) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:435", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:438", "err :>> ", err); } } async function initPageStock(submitData) { @@ -24470,7 +24474,7 @@ This will fail in production if not fixed.`); details.stock.data = data || []; return response; } catch (err) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:453", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:456", "err :>> ", err); } } function checktype(e) { @@ -24499,7 +24503,7 @@ This will fail in production if not fixed.`); details.datalist = details.zero.data; else details.datalist = details.stock.data; - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:491", " details.datalist :>> ", details.datalist); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:494", " details.datalist :>> ", details.datalist); } function reatchBootomOrder() { if (details.order.pages <= details.order.page.current) { @@ -24532,7 +24536,7 @@ This will fail in production if not fixed.`); initpage(); } function reatchBottom() { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:540", "111 :>> ", 111); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:543", "111 :>> ", 111); if (details.orderStatus === 1) reatchBootomOrder(); else if (details.orderStatus === 2) @@ -24541,6 +24545,7 @@ This will fail in production if not fixed.`); reatchBootomStock(); } async function scandata() { + let code2 = 0; try { let loadingId = uni.getStorageSync("checkvehicle").id; if (details.orderStatus == 1) { @@ -24552,7 +24557,8 @@ This will fail in production if not fixed.`); barcode: details.scancode }; let res = await deliveryloadingscan(data); - const { code: code2, audio } = res; + const { audio } = res; + code2 = res.code; if (code2 === 5e3) { utils2.ttsspke("不在本次计划, 是否继续装车"); tiplists.value.setdetails({ @@ -24571,7 +24577,10 @@ This will fail in production if not fixed.`); barcode: details.scancode }; const res2 = await postAbnormalTruckLoading(data2); - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:587", "res :>> ", res2); + if (res2.code !== 200) + return; + basicContainer.value.startPullDownRefresh(); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:597", "res :>> ", res2); tiplists.value.setdetails({ isshow: false }); }, cancel: () => { @@ -24594,13 +24603,13 @@ This will fail in production if not fixed.`); }; let res = await deliveryloadinginventory(data); const { audio } = res; - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:611", "res :>> ", res); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:621", "res :>> ", res); if (!audio) return; utils2.ttsspke(res.audio); } } catch (err) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:618", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:628", "err :>> ", err); } finally { basicContainer.value.startPullDownRefresh(); } @@ -24659,7 +24668,7 @@ This will fail in production if not fixed.`); } basicContainer.value.startPullDownRefresh(); } catch (err) { - formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:686", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.vue:696", "err :>> ", err); } finally { uni.hideLoading(); tiplists.value.setdetails({ isshow: false }); @@ -24965,23 +24974,19 @@ This will fail in production if not fixed.`); class: vue.normalizeClass({ "active": Number(ite.isAbnormalLoading) === 1 || Number(ite.isAbnnormalSigning) === 1 }) }, { default: vue.withCtx(() => [ - vue.createVNode( - _component_uni_td, - null, - { - default: vue.withCtx(() => [ - vue.createTextVNode( - vue.toDisplayString(ite.orderPackageCode), - 1 - /* TEXT */ - ) - ]), - _: 2 - /* DYNAMIC */ - }, - 1024 - /* DYNAMIC_SLOTS */ - ), + vue.createVNode(_component_uni_td, { + class: vue.normalizeClass({ "isScan": ite.orderPackageLoadingStatus !== "20" }) + }, { + default: vue.withCtx(() => [ + vue.createTextVNode( + vue.toDisplayString(ite.orderPackageCode), + 1 + /* TEXT */ + ) + ]), + _: 2 + /* DYNAMIC */ + }, 1032, ["class"]), vue.createVNode( _component_uni_td, null, @@ -26243,32 +26248,20 @@ This will fail in production if not fixed.`); orderType: "", inputtxt: "", listcheckindex: -1, - scrollHeight: "" + scrollHeight: "", + /** 计划件数 */ + Plannednub: 0, + /** 签收数 */ + signNub: 0 }); const tiplists = vue.ref(null); const tip = vue.ref(null); - const Plannednub = vue.computed(() => { - let num = 0; - num += details.orderArr.reduce((curr, item) => curr + item.reservationNum, 0); - num += details.zeroArr.reduce((curr, item) => curr + item.reservationNum, 0); - num += details.stockArr.reduce((curr, item) => curr + item.reservationNum, 0); - return num; - }); const ordNub = vue.computed(() => { let num = 0; num += details.orderArr.length; num += details.zeroArr.length; return num; }); - const signNub = vue.computed(() => { - let num = 0; - details.datalist.map((item) => { - if (item.signforNub) { - num += item.signforNub; - } - }); - return num; - }); onLoad(async (op) => { utils2.ttsspke("请扫描包条码"); details.items = JSON.parse(op.item); @@ -26280,7 +26273,7 @@ This will fail in production if not fixed.`); uni.$off("scancodedate"); uni.$on("scancodedate", function(code2) { if (code2) { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:256", code2); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:245", code2); details.scancode = code2; scandata(); } @@ -26291,14 +26284,16 @@ This will fail in production if not fixed.`); orderCode: details.inputtxt }; details.datalist = []; - let response = null; - response = await signfororder(data); + const promise1 = signfororder(data, { isShowLoading: false }); + const promise2 = signforinventory(data, { isShowLoading: false }); + uni.showLoading(); + const [response, response1] = await Promise.all([promise1, promise2]); if (response.code !== 200) return; details.zeroArr = []; details.orderArr = []; - if (response.data && response.data.records) - response.data.records.forEach((val) => { + if (response.data && response.data) + response.data.forEach((val) => { if (val.isZero === "1") return details.zeroArr.push(val); val.abnormalSignature = 0; @@ -26311,13 +26306,11 @@ This will fail in production if not fixed.`); }); details.orderArr.push(val); }); - let response1 = await signforinventory(data); if (response1.code !== 200) return; if (response1.data) - details.stockArr = response1.data.records || []; - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:297", "response :>> ", response); - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:298", "response1 :>> ", response1); + details.stockArr = response1.data || []; + computedNum(); if (details.orderStatus === 1) details.datalist = details.orderArr; else if (details.orderStatus === 2) @@ -26325,13 +26318,16 @@ This will fail in production if not fixed.`); else details.datalist = details.stockArr; } catch (err) { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:306", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:300", "err :>> ", err); + } finally { + await vue.nextTick(); + uni.hideLoading(); } }); vue.onMounted(async () => { await vue.nextTick(); utils2.getViewDistanceFormTop(".scve").then((res) => { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:318", "res :>> ", res); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:315", "res :>> ", res); details.scrollHeight = res; }); }); @@ -26340,15 +26336,20 @@ This will fail in production if not fixed.`); url: "/pagesHome/pages/orderDetails/orderDetails?orderCode=" + item.orderCode }); } - onPullDownRefresh(() => { - const timer = setTimeout(() => { - initpage(); - uni.stopPullDownRefresh(); - clearTimeout(timer); - }, 500); + function computedNum() { + const _arr = [...details.orderArr, ...details.zeroArr, ...details.stockArr]; + details.Plannednub = 0; + details.signNub = 0; + for (let item of _arr) { + details.Plannednub += item.reservationNum; + details.signNub += item.signforNub; + } + } + onPullDownRefresh(async () => { + await initpage(); + uni.stopPullDownRefresh(); }); async function scandata() { - details.listcheckindex = -1; let data = { barcode: details.scancode, deliveryId: details.deliveryId, @@ -26356,7 +26357,7 @@ This will fail in production if not fixed.`); }; if (Number(details.orderStatus) == 1) { let response = await signforsignfor(data); - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:349", response); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:355", response); if (response.code === 200) ; else if (response.code == 3006) { @@ -26372,11 +26373,12 @@ This will fail in production if not fixed.`); let response2 = await signforsignforcontinue(data2); if (response2.code !== 200) return; - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:368", response2); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:374", response2); uni.showToast({ title: response2.msg, icon: "none" }); + initpage(); tip.value.setdetails({ isshow: false }); }, cancel: () => { @@ -26386,6 +26388,7 @@ This will fail in production if not fixed.`); tip.value.setdetails({ isshow: false }); } }); + return; } else { uni.showToast({ title: response.msg, @@ -26394,7 +26397,7 @@ This will fail in production if not fixed.`); } } else if (Number(details.orderStatus) === 3) { let response = await signforsignforIn(data); - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:391", response); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:400", response); if (response.code == 3006) { tip.value.setdetails({ isshow: true, @@ -26406,13 +26409,14 @@ This will fail in production if not fixed.`); reservationId: details.id }; let response2 = await signforsignforcontinue(data2); - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:403", response2); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:412", response2); if (response2.code !== 200) return; uni.showToast({ title: response2.msg, icon: "none" }); + initpage(); tip.value.setdetails({ isshow: false }); }, cancel: () => { @@ -26422,6 +26426,7 @@ This will fail in production if not fixed.`); tip.value.setdetails({ isshow: false }); } }); + return; } else { uni.showToast({ title: response.msg, @@ -26465,45 +26470,53 @@ This will fail in production if not fixed.`); } } async function initpage() { - let data = { - reservationId: details.id, - completecode: details.orderType, - orderCode: details.inputtxt - }; - details.datalist = []; - let response = null; - if (details.orderStatus == 1 || details.orderStatus === 2) { - response = await signfororder(data); - if (response.code !== 200) - return; - details.zeroArr = []; - details.orderArr = []; - response.data.records.forEach((val) => { - if (val.isZero === "1") - return details.zeroArr.push(val); - val.abnormalSignature = 0; - val.abnormalLoading = 0; - val.distributionAppParcelListVOS.forEach((value) => { - if (value.isAbnnormalSigning === 1) - val.abnormalSignature += 1; - if (value.isAbnormalLoading === 1) - val.abnormalLoading += 1; + try { + details.listcheckindex = -1; + let data = { + reservationId: details.id, + completecode: details.orderType, + orderCode: details.inputtxt + }; + details.datalist = []; + let response = null; + if (details.orderStatus == 1 || details.orderStatus === 2) { + response = await signfororder(data); + if (response.code !== 200) + return; + details.zeroArr = []; + details.orderArr = []; + response.data.forEach((val) => { + if (val.isZero === "1") + return details.zeroArr.push(val); + val.abnormalSignature = 0; + val.abnormalLoading = 0; + val.distributionAppParcelListVOS.forEach((value) => { + if (value.isAbnnormalSigning === 1) + val.abnormalSignature += 1; + if (value.isAbnormalLoading === 1) + val.abnormalLoading += 1; + }); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:513", "val :>> ", val); + details.orderArr.push(val); }); - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:499", "val :>> ", val); - details.orderArr.push(val); - }); - } else if (details.orderStatus == 3) { - response = await signforinventory(data); - if (response.code !== 200) - return; - details.stockArr = response.data.records || []; + } else if (details.orderStatus == 3) { + response = await signforinventory(data); + if (response.code !== 200) + return; + details.stockArr = response.data || []; + } + if (details.orderStatus === 1) + details.datalist = details.orderArr; + else if (details.orderStatus === 2) + details.datalist = details.zeroArr; + else + details.datalist = details.stockArr; + } catch (err) { + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:531", "err :>> ", err); + } finally { + computedNum(); + return null; } - if (details.orderStatus === 1) - details.datalist = details.orderArr; - else if (details.orderStatus === 2) - details.datalist = details.zeroArr; - else - details.datalist = details.stockArr; } function setcheckindex(index2) { if (details.listcheckindex == index2) { @@ -26526,7 +26539,7 @@ This will fail in production if not fixed.`); }); } function checkphon(item, index2) { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:540", "item :>> ", item); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:561", "item :>> ", item); if (item.isZero === "1") { const inpList = item.distributionParcelNumberVOS.map((val) => { return { @@ -26568,7 +26581,7 @@ This will fail in production if not fixed.`); parcelListDTOS: [] }; data.parcelListDTOS = deta.inpList.map((val) => { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:584", "val :>> ", val); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:605", "val :>> ", val); return { parcelListId: val.id, stockArticleId: val.stockArticleId, @@ -26583,7 +26596,7 @@ This will fail in production if not fixed.`); } initpage(); } catch (err) { - formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:601", "err :>> ", err); + formatAppLog("log", "at pagesHome/pages/signOrderScan/signOrderScan.vue:622", "err :>> ", err); } finally { uni.hideLoading(); tiplists.value.setdetails({ isshow: false }); @@ -26672,7 +26685,7 @@ This will fail in production if not fixed.`); vue.createElementVNode( "view", null, - vue.toDisplayString(vue.unref(Plannednub)), + vue.toDisplayString(vue.unref(details).Plannednub), 1 /* TEXT */ ) @@ -26692,7 +26705,7 @@ This will fail in production if not fixed.`); vue.createElementVNode( "view", null, - vue.toDisplayString(vue.unref(signNub)), + vue.toDisplayString(vue.unref(details).signNub), 1 /* TEXT */ ) @@ -26812,7 +26825,7 @@ This will fail in production if not fixed.`); ]), vue.createElementVNode("view", { class: "contenbx1" }, [ vue.createElementVNode("view", null, [ - vue.createElementVNode("text", { style: { "color": "#90A0AF" } }, "总数:"), + vue.createElementVNode("text", { style: { "color": "#90A0AF" } }, "计划:"), vue.createTextVNode( vue.toDisplayString(item.reservationNum), 1 @@ -26837,14 +26850,6 @@ This will fail in production if not fixed.`); ]) ]), vue.createElementVNode("view", { class: "contenbx1" }, [ - vue.createElementVNode("view", null, [ - vue.createElementVNode("text", { style: { "color": "#90A0AF" } }, "计划:"), - vue.createTextVNode( - vue.toDisplayString(item.reservationNum), - 1 - /* TEXT */ - ) - ]), vue.createElementVNode("view", null, [ vue.createElementVNode("text", { style: { "color": "#90A0AF" } }, "异常装车:"), vue.createTextVNode( @@ -26922,7 +26927,7 @@ This will fail in production if not fixed.`); }, { default: vue.withCtx(() => [ vue.createVNode(_component_uni_td, { - class: vue.normalizeClass({ "isScan": ite.orderPackageStatus === "70" }) + class: vue.normalizeClass({ "isScan": ite.orderPackageStatus !== "70" }) }, { default: vue.withCtx(() => [ vue.createTextVNode( diff --git a/unpackage/dist/dev/app-plus/app.css b/unpackage/dist/dev/app-plus/app.css index d51fe53..3d4beb8 100644 --- a/unpackage/dist/dev/app-plus/app.css +++ b/unpackage/dist/dev/app-plus/app.css @@ -699,7 +699,7 @@ body { color: #f00; } .tpstitl.showTitle[data-v-a3a2f036]::after { - content: "最少传入三张图片"; + content: "最少传入一张图片"; margin-left: 0.625rem; color: #f00; } diff --git a/unpackage/dist/dev/app-plus/pages/user/user.css b/unpackage/dist/dev/app-plus/pages/user/user.css index 14a1ec1..f1a84fa 100644 --- a/unpackage/dist/dev/app-plus/pages/user/user.css +++ b/unpackage/dist/dev/app-plus/pages/user/user.css @@ -262,4 +262,8 @@ width: 100%; height: 12.5rem; background-color: #FA8C16da; +} +.profilePhoto { + background: #fff; + border-radius: 0.3125rem; } \ No newline at end of file diff --git a/unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css b/unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css index 3c274c0..3b059ec 100644 --- a/unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css +++ b/unpackage/dist/dev/app-plus/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails.css @@ -830,4 +830,8 @@ } .uni-scroll-view[data-v-6197e305] { overflow: hidden; +} +.isScan[data-v-6197e305] { + background: var(--subjectColor); + color: #fff; } \ No newline at end of file diff --git a/utils/request.js b/utils/request.js index 6b3b221..29917f6 100644 --- a/utils/request.js +++ b/utils/request.js @@ -269,7 +269,7 @@ const HandleRequest = (params, key, loadingObj) => { // #endif }).finally(async res => { await nextTick() - uni.hideLoading() + if (loadingObj.isShowLoading !== false) uni.hideLoading() }) })