diff --git a/.env.development b/.env.development index 8fd8b72c..9bf7280a 100644 --- a/.env.development +++ b/.env.development @@ -2,7 +2,7 @@ VITE_BASE_URL=http://172.22.32.9:81/api/admin-api VITE_BASE_URL_IMAGE=http://172.22.32.9:81/admin-api # 租户配置 -VITE_TENANT='[{"text":"长春1379","value":1},{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' +VITE_TENANT='[{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' # 是否是测试环境 VITE_isDevelopment=true diff --git a/.env.production b/.env.production index 9a603299..f6803774 100644 --- a/.env.production +++ b/.env.production @@ -1,11 +1,12 @@ -VITE_BASE_URL=http://172.21.32.13:81/api/admin-api -VITE_BASE_URL_IMAGE=http://172.21.32.13:81/admin-api +VITE_BASE_URL=http://172.22.32.8:81/api/admin-api +VITE_BASE_URL_IMAGE=http://172.22.32.8:81/admin-api # 租户配置 -VITE_TENANT='[{"text":"长春1379","value":1}]' +VITE_TENANT='[{"text":"成都1397","value":2},{"text":"长春2379","value":3}]' # 是否是测试环境 VITE_isDevelopment=false + # 积木报表请求路径 -VITE_JMREPORT_BASE_URL='http://172.21.32.13:90' +VITE_JMREPORT_BASE_URL='http://172.22.32.8:90' diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index 8fec1895..8c453cd3 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -17,7 +17,7 @@ "type" : "uni-app:h5" }, { - "playground" : "custom", + "playground" : "standard", "type" : "uni-app:app-android" } ] diff --git a/src/api/httpRequest3.js b/src/api/httpRequest3.js index 81a84796..99e3086e 100644 --- a/src/api/httpRequest3.js +++ b/src/api/httpRequest3.js @@ -89,6 +89,8 @@ function service(options = {}) { message = '接口' + message.substr(message.length - 3) + '异常' } else if (message.includes('get lock')) { message = '接口' + "数据库死锁" + }else if(message.includes('statusCode:-1')){ + message = "当前设备无网络,请检查网络后重试" } reject("系统异常:" + message); console.log("系统异常", message) @@ -99,7 +101,7 @@ function service(options = {}) { const networkType = res.networkType; console.log("网络类型", networkType) if (networkType == "none") { - reject("当前无网络"); + reject("当前设备无网络,请检查网络后重试"); } else { uni.request(options); } diff --git a/src/api/request2.js b/src/api/request2.js index c8dbcd30..8dc5ef33 100644 --- a/src/api/request2.js +++ b/src/api/request2.js @@ -19,7 +19,7 @@ export function getCaptchaImage(params) { */ export function login(username, password, code, uuid, tenantName) { return request({ - url: baseApi + '/system/auth/login', + url: baseApi + '/system/auth/loginNoCode', headers: { isToken: false }, @@ -553,6 +553,29 @@ export function getBasicItemByCode(itemCode) { }); } +/** + * 查询物品信息接口 + * @param {*} code 物品代码 + * + */ +export function getBasicItemByCodeSenior(itemCode) { + + var params = { + filters: [{ + column: "code", + action: "like", + value: itemCode + }], + pageNo: 1, + pageSize: 1000 + } + return request({ + url: baseApi + "/wms/itembasic/senior", + method: "post", + data: params, + }); +} + /** * 按物品查询库存汇总 * @param {*} itemCode diff --git a/src/common/noclick.js b/src/common/noclick.js index 2c4191ee..391ee043 100644 --- a/src/common/noclick.js +++ b/src/common/noclick.js @@ -11,15 +11,34 @@ function noMultipleClicks(methods, info) { } else { methods(); } - setTimeout(()=> { + let timer = setTimeout(()=> { that.noClick= true; + clearTimeout(timer) }, 2000) } else { // 这里是重复点击的判断 } } + +// 节流函数 +const throttle = (fn, t,_this) => { + console.log('throttle') + return ()=> { + if (!_this.timer) { + _this.timer = setTimeout(()=>{ + console.log('fn') + //·清空定时器 + _this.timer = null + }, t) + fn() + } + } +} + + //导出 export default { noMultipleClicks,//禁止多次点击 + throttle } diff --git a/src/main.js b/src/main.js index 6344a1ab..6673bb74 100644 --- a/src/main.js +++ b/src/main.js @@ -36,6 +36,7 @@ export function createApp() { app.use(uView) app.component('comMessage', comMessage) app.config.globalProperties.$noMultipleClicks = noclick.noMultipleClicks; + app.config.globalProperties.$throttle = noclick.throttle; // startApp(app); return { app, diff --git a/src/manifest.json b/src/manifest.json index 7a1fc122..3da3f3cc 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,10 +1,10 @@ { "name" : "wms", "package" : "uni.UNI43932FE", - "appid" : "__UNI__C9CF4BF", + "appid" : "__UNI__F36DDCF", "description" : "", - "versionName" : "1.0.55", - "versionCode" : 55, + "versionName" : "1.0.63", + "versionCode" : 63, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/src/mycomponents/common/comMessage.vue b/src/mycomponents/common/comMessage.vue index 85f72a16..5acb2266 100644 --- a/src/mycomponents/common/comMessage.vue +++ b/src/mycomponents/common/comMessage.vue @@ -12,16 +12,22 @@ - - - {{content}} - - - - + + + + + {{content}} + + + + + + + + - + {{ cancelText }} @@ -493,6 +499,7 @@ display: flex; //弹性布局 flex-direction: column; //垂直排列 align-items: center; //子元素居中 + margin: 8rpx; // background-image: url() } @@ -544,4 +551,11 @@ .def_text { color: $uni-color-primary; } + .text_content{ + padding: 10rpx; + font-size: 32rpx; + text-align: center; + word-break: break-all; + white-space: normal; + } diff --git a/src/mycomponents/qty/balanceQtyEdit.vue b/src/mycomponents/qty/balanceQtyEdit.vue index 5f0e0018..79109196 100644 --- a/src/mycomponents/qty/balanceQtyEdit.vue +++ b/src/mycomponents/qty/balanceQtyEdit.vue @@ -36,7 +36,7 @@ 数量 : + @confirm="confirm()" @input="checkNum" :maxlength="maxlength" :disabled="!allowEditQty" :style="allowEditQty?{}:{background:'#f5f5f5',color:'#bbbbbb'}"/> @@ -119,7 +119,11 @@ queryBalance: { type: Boolean, default: true - } + }, + allowEditQty: { + type: Boolean, + default: true + }, }, watch:{ 'allQty'(newVal){ diff --git a/src/mycomponents/query/balanceQuery.vue b/src/mycomponents/query/balanceQuery.vue new file mode 100644 index 00000000..0a3bee4d --- /dev/null +++ b/src/mycomponents/query/balanceQuery.vue @@ -0,0 +1,257 @@ + + + + + \ No newline at end of file diff --git a/src/mycomponents/query/showListItem.vue b/src/mycomponents/query/showListItem.vue new file mode 100644 index 00000000..b0d21c0c --- /dev/null +++ b/src/mycomponents/query/showListItem.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/src/mycomponents/scan/winComScan.vue b/src/mycomponents/scan/winComScan.vue index fc2c00ee..0a55bf5f 100644 --- a/src/mycomponents/scan/winComScan.vue +++ b/src/mycomponents/scan/winComScan.vue @@ -4,15 +4,11 @@ - - - + + + - + @@ -37,8 +33,7 @@ - + @@ -59,7 +54,7 @@ - + + \ No newline at end of file diff --git a/src/pages/putaway/job/quantityPutawayJobDetail.vue b/src/pages/putaway/job/quantityPutawayJobDetail.vue new file mode 100644 index 00000000..80540675 --- /dev/null +++ b/src/pages/putaway/job/quantityPutawayJobDetail.vue @@ -0,0 +1,604 @@ + + + + + \ No newline at end of file diff --git a/src/pages/scrap/job/scrapJobDetail.vue b/src/pages/scrap/job/scrapJobDetail.vue index 13d08f94..f8a274ee 100644 --- a/src/pages/scrap/job/scrapJobDetail.vue +++ b/src/pages/scrap/job/scrapJobDetail.vue @@ -288,18 +288,44 @@ this.showErrorMessage("扫描数为0,请先扫描") return; } + + // //扫描数量和任务数量相等,直接提交 + if (this.scanCount == this.subList.length) { + this.checkCount(); + } else if (this.scanCount < this.subList.length) { + //扫描数量小于任务数量,判断是否允许部分提交 + if (this.jobContent.allowPartialComplete == "TRUE") { + //提交 + this.checkCount(); + } else { + //不允许部分提交,提示 + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { + if (res) { + this.openScanPopup(); + } + }); + } + } + }, + + checkCount(){ // 提交的数量和任务数量不一致提示 let str = '' this.detailSource.forEach((item) => { item.subList.forEach(cur => { if (cur.qty != cur.handleQty) { - str += `包装号【${cur.packingNumber}】提交数量【${cur.handleQty}】与任务物料数量【${cur.qty}】不一致` + var tempHandleQty =0 + if(cur.handleQty){ + tempHandleQty=cur.handleQty + }else { + tempHandleQty =0 + } + str += `包装号【${cur.packingNumber}】提交数量【${tempHandleQty}】与任务物料数量【${cur.qty}】不一致` } }) }) if (str) { - str += ',是否确认提交?' - + str = '任务明细未全部完成,是否提交?\n'+str this.$refs.comMessage.showQuestionMessage1(str, 'red', res => { if (res) { this.submitJob() @@ -308,25 +334,6 @@ } else { this.submitJob() } - // //扫描数量和任务数量相等,直接提交 - // if (this.scanCount == this.subList.length) { - // this.submitJob(); - // } else if (this.scanCount < this.subList.length) { - // //扫描数量小于任务数量,判断是否允许部分提交 - // if (this.jobContent.allowPartialComplete == "TRUE") { - // //提交 - // this.submitJob(); - // } else { - // //不允许部分提交,提示 - // this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - // "]箱总共[" + this - // .subList.length + "]箱", res => { - // if (res) { - // this.openScanPopup(); - // } - // }); - // } - // } }, submitJob() { diff --git a/src/pages/transfer/job/issueDetail.vue b/src/pages/transfer/job/issueDetail.vue index ac03934e..b0f8477b 100644 --- a/src/pages/transfer/job/issueDetail.vue +++ b/src/pages/transfer/job/issueDetail.vue @@ -333,12 +333,14 @@ //扫描数量小于任务数量,判断是否允许部分提交 if (this.jobContent.allowPartialComplete == "TRUE") { //提交 - this.submitJob(); + this.$refs.comMessage.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => { + if (res) { + this.submitJob() + } + }); } else { //不允许部分提交,提示 - this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - "]箱总共[" + this - .subList.length + "]箱", res => { + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { if (res) { this.openScanPopup(); } diff --git a/src/pages/transfer/job/receiptDetail.vue b/src/pages/transfer/job/receiptDetail.vue index 82369338..0fce89d3 100644 --- a/src/pages/transfer/job/receiptDetail.vue +++ b/src/pages/transfer/job/receiptDetail.vue @@ -358,13 +358,14 @@ } else if (this.scanCount < this.subList.length) { //扫描数量小于任务数量,判断是否允许部分提交 if (this.jobContent.allowPartialComplete == "TRUE") { - //提交 - this.submitJob(); + this.$refs.comMessage.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => { + if (res) { + this.submitJob() + } + }); } else { //不允许部分提交,提示 - this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - "]箱总共[" + this - .subList.length + "]箱", res => { + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { if (res) { this.openScanPopup(); } diff --git a/src/pages/transfer/job/transferDetail.vue b/src/pages/transfer/job/transferDetail.vue index d362914a..b2aeb931 100644 --- a/src/pages/transfer/job/transferDetail.vue +++ b/src/pages/transfer/job/transferDetail.vue @@ -12,7 +12,7 @@ - @@ -368,13 +368,15 @@ async commit() { //允许部分提交 if (this.jobContent.allowPartialComplete == "TRUE") { - this.submitJob(); + this.$refs.comMessage.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => { + if (res) { + this.submitJob() + } + }); } else { this.scanCount = this.getScanCount(); if (this.scanCount < this.subList.length) { - this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - "]箱总共[" + this - .subList.length + "]箱", res => { + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { if (res) { this.openScanPopup(); } diff --git a/src/pages/unPlanned/job/issueJobDetail.vue b/src/pages/unPlanned/job/issueJobDetail.vue index 60aa60b6..0f8731ba 100644 --- a/src/pages/unPlanned/job/issueJobDetail.vue +++ b/src/pages/unPlanned/job/issueJobDetail.vue @@ -280,17 +280,44 @@ this.showErrorMessage("扫描数为0,请先扫描") return; } + + // //扫描数量和任务数量相等,直接提交 + if (this.scanCount == this.subList.length) { + this.checkCount(); + } else if (this.scanCount < this.subList.length) { + //扫描数量小于任务数量,判断是否允许部分提交 + if (this.jobContent.allowPartialComplete == "TRUE") { + //提交 + this.checkCount(); + } else { + //不允许部分提交,提示 + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { + if (res) { + this.openScanPopup(); + } + }); + } + } + }, + + checkCount(){ // 提交的数量和任务数量不一致提示 let str = '' this.detailSource.forEach((item) => { item.subList.forEach(cur => { if (cur.qty != cur.handleQty) { - str += `包装号【${cur.packingNumber}】提交数量【${cur.handleQty}】与任务物料数量【${cur.qty}】不一致` + var tempHandleQty =0 + if(cur.handleQty){ + tempHandleQty=cur.handleQty + }else { + tempHandleQty =0 + } + str += `包装号【${cur.packingNumber}】提交数量【${tempHandleQty}】与任务物料数量【${cur.qty}】不一致` } }) }) if (str) { - str += ',是否确认提交?' + str = '任务明细未全部完成,是否提交?\n'+str this.$refs.comMessage.showQuestionMessage1(str, 'red', res => { if (res) { this.submitJob() @@ -299,25 +326,6 @@ } else { this.submitJob() } - // //扫描数量和任务数量相等,直接提交 - // if (this.scanCount == this.subList.length) { - // this.submitJob(); - // } else if (this.scanCount < this.subList.length) { - // //扫描数量小于任务数量,判断是否允许部分提交 - // if (this.jobContent.allowPartialComplete == "TRUE") { - // //提交 - // this.submitJob(); - // } else { - // //不允许部分提交,提示 - // this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - // "]箱总共[" + this - // .subList.length + "]箱", res => { - // if (res) { - // this.openScanPopup(); - // } - // }); - // } - // } }, diff --git a/src/pages/unPlanned/job/receiptJobDetail.vue b/src/pages/unPlanned/job/receiptJobDetail.vue index d9049d28..949ba2a7 100644 --- a/src/pages/unPlanned/job/receiptJobDetail.vue +++ b/src/pages/unPlanned/job/receiptJobDetail.vue @@ -261,12 +261,14 @@ //扫描数量小于任务数量,判断是否允许部分提交 if (this.jobContent.allowPartialComplete == "TRUE") { //提交 - this.submitJob(); + this.$refs.comMessage.showQuestionMessage1("任务明细未全部完成,是否提交?", 'red', res => { + if (res) { + this.submitJob() + } + }); } else { //不允许部分提交,提示 - this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交\n' + "已经扫描[" + this.scanCount + - "]箱总共[" + this - .subList.length + "]箱", res => { + this.$refs.comMessage.showErrorMessage("任务明细未全部完成,不允许部分提交!", res => { if (res) { this.openScanPopup(); } diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 509c9484..db0df418 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -59,16 +59,14 @@ const user = { storage.setStorage(storage.constant.token,res.accessToken) resolve(res) }else { - uni.showToast({ - title:res.msg - }) + if(res.msg){ + reject(res.msg) + }else { + reject("登录失败") + } } - }).catch(error => { reject(error) - uni.showToast({ - title:error - }) }) }) }, diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue index 71350340..8d29656b 100644 --- a/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue +++ b/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue @@ -16,9 +16,10 @@ + :hover-stay-time="70" @click="clickLeft" + style="margin-right: 70rpx;">