diff --git a/common/validate.js b/common/validate.js new file mode 100644 index 0000000..c17bae1 --- /dev/null +++ b/common/validate.js @@ -0,0 +1,21 @@ +import { showToast } from "./untool" +const checkParams = (param, validConfig)=> { + return new Promise((resolve)=> { + let errMsg = '' + Object.keys(validConfig).map(key=> { + const itemConf = validConfig[key] + if(!errMsg && itemConf.required && !param[key]) { + errMsg = itemConf.requiredMsg || `${itemConf.label}不能为空` + } + }) + if(errMsg) { + showToast(errMsg) + } else { + resolve() + } + }) +} + +export { + checkParams +} \ No newline at end of file diff --git a/components/buns-order-templates/bo-operator-tmp.vue b/components/buns-order-templates/bo-operator-tmp.vue index 1a67e0e..ac6a664 100644 --- a/components/buns-order-templates/bo-operator-tmp.vue +++ b/components/buns-order-templates/bo-operator-tmp.vue @@ -9,14 +9,22 @@ - + - {{staticInfo.parcelQty}} - 总件数 + {{staticInfo.parcelQty}} + 总件数 - {{staticInfo.billWeight}} - 总重量(KG) + {{staticInfo.billWeight}} + 总重量(KG) + + + {{staticInfo.totalVolume}} + 总体积(m³) + + + {{staticInfo.piaoNum}} + 总票数 @@ -42,11 +50,16 @@ let data = { parcelQty: 0, billWeight: 0, + totalVolume: 0, + piaoNum: this.list?.length || 0 } this.list.map(t=> { data.parcelQty += t.parcelQty data.billWeight += t.billWeight + data.totalVolume += t.totalVolume + }) + return data } }, diff --git a/pages/deliveryDeal/arriveDeliveryScanning.vue b/pages/deliveryDeal/arriveDeliveryScanning.vue index 692739d..74d4b1d 100644 --- a/pages/deliveryDeal/arriveDeliveryScanning.vue +++ b/pages/deliveryDeal/arriveDeliveryScanning.vue @@ -53,6 +53,7 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BoOperatorTmp, BoScanlistTmp }, @@ -69,6 +70,10 @@ billCode: '', dispatchOrSendManCode: '', }, + submitValidConfig: { + dispatchOrSendManCode: { required: true, requiredMsg: '请选择派件员' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, pageLoading: true, queryOption: { billCode: '', // 运单id @@ -100,6 +105,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let daoParam = getScanParams(scanTypeEnum.daoJian, { ...this.submitParam, ...extParam }) let daoRes = await apiService.scanRecord({...daoParam, _loading: true}) let { bl: daoBl, resItem: daoResItem } = ansScanResponse({ res: daoRes }) diff --git a/pages/deliveryDeal/arriveScanning.vue b/pages/deliveryDeal/arriveScanning.vue index 34576fc..36fd684 100644 --- a/pages/deliveryDeal/arriveScanning.vue +++ b/pages/deliveryDeal/arriveScanning.vue @@ -42,6 +42,8 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" + export default { components:{ BoOperatorTmp, BoScanlistTmp }, props: { diff --git a/pages/deliveryDeal/deliveryScanning.vue b/pages/deliveryDeal/deliveryScanning.vue index 93d793c..8197558 100644 --- a/pages/deliveryDeal/deliveryScanning.vue +++ b/pages/deliveryDeal/deliveryScanning.vue @@ -53,6 +53,7 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BoOperatorTmp, BoScanlistTmp }, @@ -69,6 +70,10 @@ billCode: '', dispatchOrSendManCode: '', }, + submitValidConfig: { + dispatchOrSendManCode: { required: true, requiredMsg: '请选择派件员' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, pageLoading: true, queryOption: { billCode: '', // 运单id @@ -100,6 +105,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.paiJian, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "派件" }) diff --git a/pages/deliveryDeal/qutgoingScanning.vue b/pages/deliveryDeal/qutgoingScanning.vue index d80a479..9dcaee5 100644 --- a/pages/deliveryDeal/qutgoingScanning.vue +++ b/pages/deliveryDeal/qutgoingScanning.vue @@ -49,6 +49,7 @@ import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BoOperatorTmp, BoScanlistTmp }, @@ -63,7 +64,10 @@ billCode: '', preOrNextStationCode: '', }, - + submitValidConfig: { + preOrNextStationCode: { required: true, requiredMsg: '请选择下一网点' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, pageLoading: true, queryOption: { billCode: '', // 运单id @@ -96,6 +100,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.faJian, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "发件" }) diff --git a/pages/print/courierNote.vue b/pages/print/courierNote.vue index 8e8c257..d931cec 100644 --- a/pages/print/courierNote.vue +++ b/pages/print/courierNote.vue @@ -136,7 +136,7 @@ import { debounce } from "@/common/util" import dayjs from "dayjs" import * as apiService from "@/common/api" - + import { checkParams } from "@/common/validate" export default { props: { // hasLeftWin: { @@ -157,6 +157,10 @@ billCode: [], subBillCodeRange: [] }, + submitValidConfig: { + printType: { required: true, requiredMsg: '请勾选打印配' }, + billCode: { required: true, requiredMsg: '请选择运单号' }, + }, yinlTypeList: [ { title: '中文', val: 'zh' }, { title: '英文', val: 'en' }, @@ -212,29 +216,13 @@ this.submitParam.billCode = this.resData.list.map(item=> item.val) } }, - async checkParam(param) { - return new Promise((resolve)=> { - let errMsg = '' - if(!errMsg && !param.printType) { - errMsg = '请勾选打印配置' - } - if(!errMsg && !param.billCode) { - errMsg = '请选择运单号' - } - if(errMsg) { - this.showToast(errMsg) - } else { - resolve() - } - }) - }, async getRealGetWaybillPrintData() { // 请求后端接口 let param = JSON.parse(JSON.stringify(this.submitParam)) param.printType = param.printType.join(',') param.billCode = param.billCode.join(',') param.subBillCodeRange = param.subBillCodeRange.join(',') - await this.checkParam(param) + await checkParams(param, this.submitValidConfig) let res = await apiService.getRealGetWaybillPrintData({ ...param, _loading: true }) return res }, diff --git a/pages/tms/coPackingScanning.vue b/pages/tms/coPackingScanning.vue index 3f22be8..2b7ea60 100644 --- a/pages/tms/coPackingScanning.vue +++ b/pages/tms/coPackingScanning.vue @@ -53,6 +53,8 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" + export default { components:{ BoOperatorTmp, BoScanlistTmp }, props: { @@ -75,6 +77,11 @@ billCode: '', preOrNextStationCode: '', }, + submitValidConfig: { + preOrNextStationCode: { required: true, requiredMsg: '请选择下一网点' }, + bagNo: { required: true, requiredMsg: '请选择合包号' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, } }, onShareAppMessage() { @@ -97,6 +104,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.heBao, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "合包" }) diff --git a/pages/tms/customsClearanceScanning.vue b/pages/tms/customsClearanceScanning.vue index 2a41432..0f2673a 100644 --- a/pages/tms/customsClearanceScanning.vue +++ b/pages/tms/customsClearanceScanning.vue @@ -44,6 +44,7 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BoOperatorTmp, BoScanlistTmp }, @@ -58,7 +59,10 @@ billCode: '', preOrNextStationCode: '', }, - + submitValidConfig: { + preOrNextStationCode: { required: true, requiredMsg: '请选择下一网点' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, pageLoading: true, queryOption: { billCode: '', // 运单id @@ -91,6 +95,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.qingGuan, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "清关" }) diff --git a/pages/tms/customsDeclarationScanning.vue b/pages/tms/customsDeclarationScanning.vue index 79f9c2b..c41f5a0 100644 --- a/pages/tms/customsDeclarationScanning.vue +++ b/pages/tms/customsDeclarationScanning.vue @@ -45,6 +45,7 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BoOperatorTmp, BoScanlistTmp }, @@ -64,6 +65,10 @@ queryOption: { billCode: '', // 运单id }, + submitValidConfig: { + preOrNextStationCode: { required: true, requiredMsg: '请选择下一网点' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, resData: { list: [] }, @@ -92,6 +97,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.baoGUan, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "报关" }) diff --git a/pages/tms/unpackingScanning.vue b/pages/tms/unpackingScanning.vue index 120b534..1af88ac 100644 --- a/pages/tms/unpackingScanning.vue +++ b/pages/tms/unpackingScanning.vue @@ -48,6 +48,8 @@ import BoScanlistTmp from "@/components/buns-order-templates/bo-scanlist-tmp" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" + export default { components:{ BoOperatorTmp, BoScanlistTmp }, props: { @@ -69,6 +71,10 @@ billCode: '', preOrNextStationCode: '', }, + submitValidConfig: { + preOrNextStationCode: { required: true, requiredMsg: '请选择上一网点' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, } }, onShareAppMessage() { @@ -90,6 +96,7 @@ async handleSubmit(val) { let extParam = {} val && (extParam.billCode = val); + await checkParams(this.submitParam, this.submitValidConfig) let scnParam = getScanParams(scanTypeEnum.chaiBao, { ...this.submitParam, ...extParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) let { bl, resItem } = ansScanResponse({ res, title: "拆包" }) diff --git a/unpackage/res/qidong/index.png b/unpackage/res/qidong/index.png index 706cae9..bd9ee61 100644 Binary files a/unpackage/res/qidong/index.png and b/unpackage/res/qidong/index.png differ