diff --git a/src/pages/raw/handover/aggregating/order.vue b/src/pages/raw/handover/aggregating/order.vue index 9e16e3d..9875656 100644 --- a/src/pages/raw/handover/aggregating/order.vue +++ b/src/pages/raw/handover/aggregating/order.vue @@ -147,7 +147,11 @@ export default class AggregatingOrder extends BasePage { this.unlock(); } } - + onHide() { + if (model.orderList.length > 0 && !this.isHandoverFinished) { + this.unlock(); + } + } /** * 全选 */ @@ -351,13 +355,16 @@ export default class AggregatingOrder extends BasePage { font-size: 34rpx; font-weight: 500; text-align: center; + .title { flex: 3; } + .left, .right { flex: 1; } + .icon { display: flex; justify-content: center; diff --git a/src/pages/raw/handover/aggregating/summary.vue b/src/pages/raw/handover/aggregating/summary.vue index fb0cc0b..d1fb9e2 100644 --- a/src/pages/raw/handover/aggregating/summary.vue +++ b/src/pages/raw/handover/aggregating/summary.vue @@ -171,7 +171,11 @@ export default class AggregatingSummary extends BasePage { this.unlock(); } } - + onHide() { + if (model.aggregateList.length > 0 && !this.isBusinessFinished) { + this.unlock(); + } + } /** * 全选 */ @@ -399,13 +403,16 @@ export default class AggregatingSummary extends BasePage { font-size: 34rpx; font-weight: 500; text-align: center; + .title { flex: 3; } + .left, .right { flex: 1; } + .icon { display: flex; justify-content: center; diff --git a/src/pages/raw/handover/picking/ByOrder.vue b/src/pages/raw/handover/picking/ByOrder.vue index a959940..e0642db 100644 --- a/src/pages/raw/handover/picking/ByOrder.vue +++ b/src/pages/raw/handover/picking/ByOrder.vue @@ -5,10 +5,10 @@ {{ $t('message.Pi_ByOrderPicking') }} - + - + @@ -114,6 +114,7 @@ export default class RawReceiptDetail extends BasePage { model = model; type = 'text'; wlCode: any = ''; + LOCKProOrderResultListParams: any = ''; border = true; //添加库位和数量的列表 LocationList: any = []; @@ -325,6 +326,7 @@ export default class RawReceiptDetail extends BasePage { this.wlCode = ''; return; } + this.LOCKProOrderResultListParams = this.model.proOrderResultList; await this.model.lockProOrderResult(this.model.proOrderResultList); this.some = {}; this.LocationList = []; @@ -348,6 +350,15 @@ export default class RawReceiptDetail extends BasePage { this.Location.push(pickerName); }); } + beforeDestroy() { + this.unlock(); + } + onHide() { + this.unlock(); + } + async unlock() { + await this.model.unlockProOrderResult(this.LOCKProOrderResultListParams); + } } @@ -372,13 +383,16 @@ export default class RawReceiptDetail extends BasePage { font-size: 34rpx; font-weight: 500; text-align: center; + .title { flex: 3; } + .left, .right { flex: 1; } + .icon { display: flex; justify-content: center; @@ -399,21 +413,25 @@ export default class RawReceiptDetail extends BasePage { padding: 40rpx; border-radius: 10rpx; } + .Exhibition { width: 100%; height: 100rpx; margin-top: 20rpx; display: flex; + .Exhibition-left { width: 50%; height: 100%; display: flex; + .Exhibition-left-title { width: 50%; height: 100%; text-align: center; line-height: 100rpx; } + .Exhibition-left-data { width: 50%; height: 100%; @@ -421,16 +439,19 @@ export default class RawReceiptDetail extends BasePage { line-height: 100rpx; } } + .Exhibition-right { width: 50%; height: 100%; display: flex; + .Exhibition-right-title { width: 50%; height: 100%; // text-align: center; line-height: 100rpx; } + .Exhibition-right-data { width: 50%; height: 100%; @@ -439,11 +460,13 @@ export default class RawReceiptDetail extends BasePage { } } } + .library { width: 100%; height: 200rpx; // display: flex; display: block; + .library-left { width: 100%; height: 100rpx; @@ -455,26 +478,31 @@ export default class RawReceiptDetail extends BasePage { // text-align: center; // } } + .library-right { width: 100%; height: 100rpx; padding-left: 36rpx; display: flex; + .library-right-title { width: 120rpx; height: 100%; line-height: 100rpx; } + .input { width: 200rpx; height: 70rpx; margin-top: 15rpx; margin-left: 4rpx; } + .add { width: 200rpx; height: 100rpx; position: relative; + button { position: absolute; top: 10rpx; @@ -483,6 +511,7 @@ export default class RawReceiptDetail extends BasePage { } } } + .bottom-bar { z-index: 21; position: fixed; diff --git a/src/pages/raw/handover/picking/BySummary.vue b/src/pages/raw/handover/picking/BySummary.vue index e5e1834..218e471 100644 --- a/src/pages/raw/handover/picking/BySummary.vue +++ b/src/pages/raw/handover/picking/BySummary.vue @@ -110,6 +110,7 @@ export default class RawReceiptDetail extends BasePage { LocationList: any = []; //库位 Location: any = []; + unLockParams: any = ''; someIndex = 0; some: any = {}; qty: any = ''; @@ -318,6 +319,7 @@ export default class RawReceiptDetail extends BasePage { loginName: session.loginName, orderOutIdList, }; + this.unLockParams = params; await this.model.queryAggregateList(params); this.some = {}; this.LocationList = []; @@ -341,6 +343,15 @@ export default class RawReceiptDetail extends BasePage { this.Location.push(pickerName); }); } + beforeDestroy() { + this.unlock(); + } + onHide() { + this.unlock(); + } + async unlock() { + await this.model.unlockAggregateResult(this.unLockParams); + } } @@ -365,13 +376,16 @@ export default class RawReceiptDetail extends BasePage { font-size: 34rpx; font-weight: 500; text-align: center; + .title { flex: 3; } + .left, .right { flex: 1; } + .icon { display: flex; justify-content: center; @@ -392,21 +406,25 @@ export default class RawReceiptDetail extends BasePage { padding: 40rpx; border-radius: 10rpx; } + .Exhibition { width: 100%; height: 100rpx; margin-top: 20rpx; display: flex; + .Exhibition-left { width: 50%; height: 100%; display: flex; + .Exhibition-left-title { width: 50%; height: 100%; text-align: center; line-height: 100rpx; } + .Exhibition-left-data { width: 50%; height: 100%; @@ -414,16 +432,19 @@ export default class RawReceiptDetail extends BasePage { line-height: 100rpx; } } + .Exhibition-right { width: 50%; height: 100%; display: flex; + .Exhibition-right-title { width: 50%; height: 100%; text-align: left; line-height: 100rpx; } + .Exhibition-right-data { width: 50%; height: 100%; @@ -432,11 +453,13 @@ export default class RawReceiptDetail extends BasePage { } } } + .library { width: 100%; height: 200rpx; // display: flex; display: block; + .library-left { width: 100%; height: 100rpx; @@ -448,26 +471,31 @@ export default class RawReceiptDetail extends BasePage { // text-align: center; // } } + .library-right { width: 100%; height: 100rpx; padding-left: 36rpx; display: flex; + .library-right-title { width: 120rpx; height: 100%; line-height: 100rpx; } + .input { width: 200rpx; height: 70rpx; margin-top: 15rpx; margin-left: 4rpx; } + .add { width: 200rpx; height: 100rpx; position: relative; + button { position: absolute; top: 10rpx; @@ -476,6 +504,7 @@ export default class RawReceiptDetail extends BasePage { } } } + .bottom-bar { z-index: 21; position: fixed; diff --git a/src/pages/raw/handover/picking/model.ts b/src/pages/raw/handover/picking/model.ts index 0ba5528..1a95c58 100644 --- a/src/pages/raw/handover/picking/model.ts +++ b/src/pages/raw/handover/picking/model.ts @@ -375,7 +375,14 @@ export class PickingModule extends VuexModule { // } } - + @Action + async unlockAggregateResult(params: any) { + try { + await http.post(url.sortscan.unlock.aggregateList, params); + } catch { + // + } + } /** * 锁定数据 * @param list diff --git a/src/pages/raw/handover/picking/result.vue b/src/pages/raw/handover/picking/result.vue index b2504b0..748f60a 100644 --- a/src/pages/raw/handover/picking/result.vue +++ b/src/pages/raw/handover/picking/result.vue @@ -52,7 +52,7 @@ export default class RawReceiptDetail extends BasePage { async onOrder() { // const list = this.model.proOrderResultList; // await this.model.lockProOrderResult(list); - await this.model.lock(this.model.proOrderResultList); + // await this.model.lock(this.model.proOrderResultList); this.toPage(this.page.raw.handover.picking.byorder); } //汇总 diff --git a/src/pages/raw/handover/returning/Time-filter.vue b/src/pages/raw/handover/returning/Time-filter.vue index aef08bc..6d8c548 100644 --- a/src/pages/raw/handover/returning/Time-filter.vue +++ b/src/pages/raw/handover/returning/Time-filter.vue @@ -7,8 +7,13 @@ {{ $t('message.screen') }} + + + + + - + {{ $t('message.workArea_Selelct') }} @@ -21,7 +26,7 @@ - + @@ -52,6 +57,7 @@ export default class returningDom extends BasePage { endMobile = ''; materialList = []; OddList: any = []; + prdOrderFrom: any = ''; data: any = { label: '', value: '', @@ -112,6 +118,9 @@ export default class returningDom extends BasePage { async onReady() { this.startMobile = this.getNowFormatDate(); this.endMobile = this.getNowFormatDate(); + let proorder = uni.getStorageSync('prdOrderFrom') as any; + this.prdOrderFrom = JSON.parse(proorder); + uni.removeStorageSync('prdOrderFrom'); await this.onSubmit(); } async onSubmit() { @@ -122,6 +131,7 @@ export default class returningDom extends BasePage { let time = { requireDateMin: this.startMobile, requireDateMax: this.endMobile, + prdOrderFrom: this.prdOrderFrom, }; await this.model.queryTimeInInfo(time); this.OddList = model.materielList; @@ -148,13 +158,16 @@ export default class returningDom extends BasePage { font-size: 34rpx; font-weight: 500; text-align: center; + .title { flex: 3; } + .left, .right { flex: 1; } + .icon { display: flex; justify-content: center; diff --git a/src/pages/raw/handover/returning/index.vue b/src/pages/raw/handover/returning/index.vue index d9d643a..4d6f126 100644 --- a/src/pages/raw/handover/returning/index.vue +++ b/src/pages/raw/handover/returning/index.vue @@ -149,9 +149,18 @@ export default class returningDom extends BasePage { amount: [{ required: true, message: this.$t('message.return_Tip3') as string }], }; screen() { - this.redirectTo(this.page.raw.handover.returning.filter); + if (this.form.prdOrder != null) { + uni.setStorageSync('prdOrderFrom', JSON.stringify(this.form.prdOrder)); + this.redirectTo(this.page.raw.handover.returning.filter); + } else { + this.redirectTo(this.page.raw.handover.returning.filter); + } } async query() { + if (this.form.prdOrder == null || this.form.prdOrder.length == 0) { + this.customToast(this.$t('message.borrow_Tip') as string); + return; + } await this.model.queryOrderInInfo(this.form.prdOrder); this.form.materialCode = this.model.orderInInfo.materialCode; this.form.sendSpot = this.model.orderInInfo.sendSpot; diff --git a/src/pages/raw/handover/returning/model.ts b/src/pages/raw/handover/returning/model.ts index a131b89..068951b 100644 --- a/src/pages/raw/handover/returning/model.ts +++ b/src/pages/raw/handover/returning/model.ts @@ -86,6 +86,7 @@ export class ReturningModule extends VuexModule { page: '1', rows: '50', loginName: session.loginName, + prdOrderFrom: time.prdOrderFrom, }); console.log('qqqqqqqqq', data); const materielList = data.map((item: any) => ({ diff --git a/src/utils/url.ts b/src/utils/url.ts index 2b9aba8..8c04f0b 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -177,6 +177,7 @@ export const url = { }, unlock: { list: '/wmspda/sortscan/unlock/list', + aggregateList: '/wmspda/sortscan/unlock/aggregate/list', }, lock: { list: '/wmspda/sortscan/lock/list',