@logwire/logwire-wms-pda-ui 1.1.16 → 1.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/api/inbound/quality.js +10 -0
- package/src/api/outbound/bale/checkBale/action.js +9 -0
- package/src/components/module/InnerAbnormal/index.vue +21 -1
- package/src/components/module/Login/index.vue +4 -8
- package/src/components/page/common/Warehouse/index.vue +4 -1
- package/src/components/page/count/components/RandomCount.vue +3 -12
- package/src/components/page/count/inv/action/index.vue +10 -10
- package/src/components/page/count/loc/action/index.vue +1 -1
- package/src/components/page/inbound/index.js +6 -0
- package/src/components/page/{inner → inbound}/newProject/action/index.js +0 -0
- package/src/components/page/{inner → inbound}/newProject/action/index.less +0 -0
- package/src/components/page/{inner → inbound}/newProject/action/index.vue +9 -4
- package/src/components/page/{inner → inbound}/newProject/index/index.js +0 -0
- package/src/components/page/{inner → inbound}/newProject/index/index.less +0 -0
- package/src/components/page/{inner → inbound}/newProject/index/index.vue +0 -0
- package/src/components/page/{inner → inbound}/newProject//346/226/260/345/223/201/351/205/215/347/275/256.md +0 -0
- package/src/components/page/inbound/receive/quality/LwInboundQualityExecutePage.vue +56 -29
- package/src/components/page/inbound/receive/quality/LwInboundQualityTaskListPage.vue +19 -22
- package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuAdvancePage.vue +33 -31
- package/src/components/page/inbound/receive/receive-sku/LwInboundReceiveSkuDirectPage.vue +62 -56
- package/src/components/page/inner/index.js +2 -6
- package/src/components/page/inner/reportAbnormal/index/index.vue +8 -0
- package/src/components/page/outbound/bale/checkBale/action/index.vue +10 -1
- package/src/components/page/outbound/bale/components/containerInfo/index.vue +13 -5
- package/src/components/page/outbound/delivery/components/soAndLpnItem/index.vue +10 -1
- package/src/components/page/receive/putaway/skuAction/index.vue +2 -1
- package/src/components/ui/Input/index.vue +10 -2
- package/src/mixins/loginAndInit/index.js +27 -0
- package/src/mixins/loginAndInit//346/234/211token/346/227/266/345/200/231/345/222/214/346/234/211/344/273/223/345/272/223id/346/227/266/351/234/200/350/246/201/345/210/235/345/247/213/345/214/226/347/232/204/346/225/260/346/215/256.md +0 -0
- package/src/mixins//346/267/267/345/205/245.md +0 -0
- package/src/router/index.js +2 -2
- package/src/router/menu.js +1 -1
- package/src/views/common/init/index.vue +14 -10
- /package/src/views/{inner → inbound}/newProject/action.vue +0 -0
- /package/src/views/{inner → inbound}/newProject/index.vue +0 -0
package/package.json
CHANGED
|
@@ -88,6 +88,16 @@ export const submitSkuSnQuality = data => lwAxios.action({
|
|
|
88
88
|
data
|
|
89
89
|
})
|
|
90
90
|
|
|
91
|
+
/**
|
|
92
|
+
* 完成商品品检
|
|
93
|
+
* @param taskId 品检任务id
|
|
94
|
+
* @returns {Promise<{ quality: Object, printList: Array<Object> }>} 品检结果
|
|
95
|
+
*/
|
|
96
|
+
export const finishSkuQuality = taskId => lwAxios.action({
|
|
97
|
+
url: 'wmsMobileInboundPassQuality',
|
|
98
|
+
data: { taskId }
|
|
99
|
+
})
|
|
100
|
+
|
|
91
101
|
/**
|
|
92
102
|
* 提交品检异常
|
|
93
103
|
* @param data 品检异常数据
|
|
@@ -112,3 +112,12 @@ export function projectWmsMixPackContainerSkuBlock(data){
|
|
|
112
112
|
data
|
|
113
113
|
})
|
|
114
114
|
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
// 异常确认
|
|
118
|
+
export function projectWmsMixPackSubmitAbnormal(data){
|
|
119
|
+
return lwAxios.action({
|
|
120
|
+
url:'projectWmsMixPackSubmitAbnormal',
|
|
121
|
+
data
|
|
122
|
+
})
|
|
123
|
+
}
|
|
@@ -119,6 +119,7 @@
|
|
|
119
119
|
input-align="right"
|
|
120
120
|
rule-prefix="innerAbn"
|
|
121
121
|
rule-key="lpn"
|
|
122
|
+
:required="requireLpn"
|
|
122
123
|
@confirm="abnormalFocus.remark=true"
|
|
123
124
|
/>
|
|
124
125
|
|
|
@@ -170,7 +171,13 @@ export default {
|
|
|
170
171
|
abType: String,
|
|
171
172
|
|
|
172
173
|
// 异常类型可选key
|
|
173
|
-
abnTypeKey: Array
|
|
174
|
+
abnTypeKey: Array,
|
|
175
|
+
|
|
176
|
+
// 是否必须填写LPN
|
|
177
|
+
requireLpn: {
|
|
178
|
+
type: Boolean,
|
|
179
|
+
default: false,
|
|
180
|
+
},
|
|
174
181
|
|
|
175
182
|
},
|
|
176
183
|
data() {
|
|
@@ -291,6 +298,17 @@ export default {
|
|
|
291
298
|
|
|
292
299
|
return true
|
|
293
300
|
},
|
|
301
|
+
// 异常LPN校验
|
|
302
|
+
abnLpnCheck(){
|
|
303
|
+
if (this.requireLpn && !this.abnormal.abnLpn){
|
|
304
|
+
this.abnormalFocus.lpn = true
|
|
305
|
+
this.$lwShowErrorMsg(
|
|
306
|
+
this.$lwLanguage.get('wms_project.pda.module.inboundAbn.lpnNull','异常托盘号不能为空')
|
|
307
|
+
)
|
|
308
|
+
return false
|
|
309
|
+
}
|
|
310
|
+
return true
|
|
311
|
+
},
|
|
294
312
|
|
|
295
313
|
// 必填校验
|
|
296
314
|
requiredCheck(){
|
|
@@ -319,6 +337,8 @@ export default {
|
|
|
319
337
|
|
|
320
338
|
if (!this.abnLocalCheck()) return
|
|
321
339
|
|
|
340
|
+
if (!this.abnLpnCheck()) return
|
|
341
|
+
|
|
322
342
|
return true
|
|
323
343
|
},
|
|
324
344
|
// 获取填写的异常数据
|
|
@@ -86,8 +86,11 @@
|
|
|
86
86
|
|
|
87
87
|
<script>
|
|
88
88
|
|
|
89
|
+
import {loginAndInit} from "../../../mixins/loginAndInit";
|
|
90
|
+
|
|
89
91
|
export default {
|
|
90
92
|
name: "lwLoginModule",
|
|
93
|
+
mixins:[loginAndInit],
|
|
91
94
|
props: {
|
|
92
95
|
// 用户名图标
|
|
93
96
|
usernameSrc: {
|
|
@@ -243,14 +246,7 @@ export default {
|
|
|
243
246
|
// 储存token
|
|
244
247
|
this.$lwApiUtils.setToken(res.token)
|
|
245
248
|
|
|
246
|
-
await
|
|
247
|
-
// 绑定UUID
|
|
248
|
-
this.$lwUUID.bound(),
|
|
249
|
-
// 获取字典数据
|
|
250
|
-
this.$lwDict.asyncGet(),
|
|
251
|
-
// 获取权限数据
|
|
252
|
-
this.$lwPermissions.asyncGet(),
|
|
253
|
-
])
|
|
249
|
+
await this.getSystemInitData()
|
|
254
250
|
|
|
255
251
|
// 如果存在跳转页面就自动跳转
|
|
256
252
|
if (this.path) {
|
|
@@ -65,8 +65,11 @@
|
|
|
65
65
|
|
|
66
66
|
<script>
|
|
67
67
|
|
|
68
|
+
import {loginAndInit} from "../../../../mixins/loginAndInit";
|
|
69
|
+
|
|
68
70
|
export default {
|
|
69
71
|
name: "lwWarehousePage",
|
|
72
|
+
mixins:[loginAndInit],
|
|
70
73
|
props:{
|
|
71
74
|
|
|
72
75
|
// 点击导航栏返回按钮
|
|
@@ -192,7 +195,7 @@ export default {
|
|
|
192
195
|
await this.$lwApi.warehouse.selectConfirm(item.code)
|
|
193
196
|
|
|
194
197
|
// 获取当前配置了的打印机
|
|
195
|
-
await this
|
|
198
|
+
await this.getSystemInitData()
|
|
196
199
|
|
|
197
200
|
if (!this.routerConfirmBack && this.path){
|
|
198
201
|
this.$router.push({
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<lw-popup v-model="showPop" title="随机盘点" :show-off-btn="false">
|
|
3
3
|
<div>
|
|
4
4
|
<lw-input title="库位" v-model="data.loc.value" :get-focus.sync="data.loc.focus" @confirm="data.sku.focus = true"/>
|
|
5
|
-
<lw-input title="商品" v-model="data.sku.value" :get-focus.sync="data.sku.focus"
|
|
5
|
+
<lw-input title="商品" v-model="data.sku.value" :get-focus.sync="data.sku.focus"/>
|
|
6
6
|
<lw-input title="托盘" v-model="data.lpn.value"
|
|
7
7
|
v-if="grading === 'LPN'"
|
|
8
8
|
:get-focus.sync="data.lpn.focus"/>
|
|
@@ -77,17 +77,8 @@ export default {
|
|
|
77
77
|
this.showPop = true
|
|
78
78
|
this.data.loc.focus = true
|
|
79
79
|
},
|
|
80
|
-
resolveSku () {
|
|
81
|
-
if (this.data.sku.value) {
|
|
82
|
-
// TODO: 商品条码解析
|
|
83
|
-
this.sku = this.data.sku.value
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
80
|
submit (ownerId = null) {
|
|
87
|
-
if (!this.sku) {
|
|
88
|
-
this.sku = this.data.sku.value
|
|
89
|
-
}
|
|
90
|
-
if (!this.sku) {
|
|
81
|
+
if (!this.data.sku.value) {
|
|
91
82
|
this.data.sku.focus = true
|
|
92
83
|
return
|
|
93
84
|
}
|
|
@@ -96,7 +87,7 @@ export default {
|
|
|
96
87
|
return
|
|
97
88
|
}
|
|
98
89
|
invCountLineCustom({
|
|
99
|
-
skuCode: this.sku,
|
|
90
|
+
skuCode: this.data.sku.value,
|
|
100
91
|
ownerId,
|
|
101
92
|
taskNo: this.countTaskNo,
|
|
102
93
|
locationCode: this.data.loc.value,
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
<lw-input title="库位" v-model="inputData.locationCode.value"
|
|
35
35
|
:get-focus.sync="inputData.locationCode.focus"
|
|
36
36
|
@confirm="inputData.skuCode.focus = true"/>
|
|
37
|
-
<lw-input title="商品条码" v-model="inputData.skuCode.
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
<lw-input title="商品条码" v-model="inputData.skuCode.value"
|
|
38
|
+
rule-key="sku" rule-value-key="skuCode"
|
|
39
|
+
:get-focus.sync="inputData.skuCode.focus"/>
|
|
40
40
|
<div class="lw-global-props">
|
|
41
41
|
<div>
|
|
42
42
|
<div>商品编码</div>
|
|
@@ -106,7 +106,6 @@ export default {
|
|
|
106
106
|
focus: true,
|
|
107
107
|
},
|
|
108
108
|
skuCode: {
|
|
109
|
-
barcode: '',
|
|
110
109
|
value: '',
|
|
111
110
|
focus: false,
|
|
112
111
|
},
|
|
@@ -170,11 +169,6 @@ export default {
|
|
|
170
169
|
getPrevLine () {
|
|
171
170
|
getPreviousCountLine(this.taskNo, this.lineId).then(this.initLine)
|
|
172
171
|
},
|
|
173
|
-
resolveSkuCode () {
|
|
174
|
-
// TODO: 商品条码解析
|
|
175
|
-
this.inputData.skuCode.value = this.inputData.skuCode.barcode
|
|
176
|
-
this.inputData.qty.focus = true
|
|
177
|
-
},
|
|
178
172
|
submitEmptyInv () {
|
|
179
173
|
if (!this.inputData.locationCode.value) {
|
|
180
174
|
return this.$lwShowErrorMsg('盘点库位不能为空')
|
|
@@ -189,6 +183,13 @@ export default {
|
|
|
189
183
|
})
|
|
190
184
|
},
|
|
191
185
|
submitCount () {
|
|
186
|
+
if (this.lotGroups) {
|
|
187
|
+
const lotQty = this.lotGroups.map(i => parseInt(i.qty) || 0).reduce((a, b) => a + b, 0)
|
|
188
|
+
if (lotQty !== parseInt(this.inputData.qty.value)) {
|
|
189
|
+
return this.$lwShowErrorMsg('批次数量之和与盘点数量不符')
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
192
193
|
invCountLineSubmit({
|
|
193
194
|
countLineId: this.line.id,
|
|
194
195
|
qty: this.inputData.qty.value,
|
|
@@ -229,7 +230,6 @@ export default {
|
|
|
229
230
|
focus: true,
|
|
230
231
|
},
|
|
231
232
|
skuCode: {
|
|
232
|
-
barcode: '',
|
|
233
233
|
value: '',
|
|
234
234
|
focus: false,
|
|
235
235
|
},
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<div v-else :key="record.key"
|
|
60
60
|
class="lw-global-model-box loc-cont-record">
|
|
61
61
|
<div v-if="record.diffQty !== 0" class="loc-cont-record-diff">有差异</div>
|
|
62
|
-
<p><b>{{ record.
|
|
62
|
+
<p><b>{{ record.ownerCode }} / {{ record.ownerName }}</b></p>
|
|
63
63
|
<p>{{ record.skuCode }}</p>
|
|
64
64
|
<div class="lw-global-sh"></div>
|
|
65
65
|
<div class="lw-global-flex-between">
|
|
@@ -2,10 +2,16 @@ import LwInboundReceiveIndexPage from './receive/index'
|
|
|
2
2
|
import LwInboundReceiveHomePage from './receive/home'
|
|
3
3
|
import receiveSkuPages from './receive/receive-sku'
|
|
4
4
|
import skuQualityPages from './receive/quality'
|
|
5
|
+
// 新品配置
|
|
6
|
+
import lwNewProjectIndexPage from "./newProject/index";
|
|
7
|
+
// 新品配置
|
|
8
|
+
import lwNewProjectActionPage from "./newProject/action";
|
|
5
9
|
|
|
6
10
|
export default [
|
|
7
11
|
LwInboundReceiveIndexPage,
|
|
8
12
|
LwInboundReceiveHomePage,
|
|
9
13
|
...receiveSkuPages,
|
|
10
14
|
...skuQualityPages,
|
|
15
|
+
lwNewProjectIndexPage,
|
|
16
|
+
lwNewProjectActionPage,
|
|
11
17
|
]
|
|
File without changes
|
|
File without changes
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
<div class="lw-global-row">
|
|
25
25
|
|
|
26
|
+
<lw-title-value-cell
|
|
27
|
+
:value="skuNewProjectSkuInfo.skuName"
|
|
28
|
+
val-bold
|
|
29
|
+
:is-row="false"
|
|
30
|
+
/>
|
|
26
31
|
|
|
27
32
|
<lw-title-value-cell
|
|
28
33
|
:title="$lwLanguage.get('','货主')"
|
|
@@ -142,28 +147,28 @@
|
|
|
142
147
|
|
|
143
148
|
<lw-input
|
|
144
149
|
v-model="skuNewProjectSkuInfo.length"
|
|
145
|
-
title="
|
|
150
|
+
title="裸件长(mm)"
|
|
146
151
|
type="number"
|
|
147
152
|
|
|
148
153
|
:show-bottom-border="false"
|
|
149
154
|
/>
|
|
150
155
|
<lw-input
|
|
151
156
|
v-model="skuNewProjectSkuInfo.width"
|
|
152
|
-
title="
|
|
157
|
+
title="裸件宽(mm)"
|
|
153
158
|
type="number"
|
|
154
159
|
:show-bottom-border="false"
|
|
155
160
|
/>
|
|
156
161
|
|
|
157
162
|
<lw-input
|
|
158
163
|
v-model="skuNewProjectSkuInfo.height"
|
|
159
|
-
title="
|
|
164
|
+
title="裸件高(mm)"
|
|
160
165
|
type="number"
|
|
161
166
|
:show-bottom-border="false"
|
|
162
167
|
/>
|
|
163
168
|
|
|
164
169
|
<lw-input
|
|
165
170
|
v-model="skuNewProjectSkuInfo.weight"
|
|
166
|
-
title="
|
|
171
|
+
title="裸件重量(Kg)"
|
|
167
172
|
type="number"
|
|
168
173
|
:show-bottom-border="false"
|
|
169
174
|
/>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<van-tabs type="card" animated v-model="tabActive">
|
|
13
13
|
<van-tab title="品检">
|
|
14
14
|
<div class="lw-global-model-box">
|
|
15
|
-
<lw-input v-if="!currentLpn" title="托盘" v-model="lpn.value" :get-focus.sync="lpn.focus" @confirm="scanLpn"/>
|
|
15
|
+
<lw-input v-if="!currentLpn" title="托盘" v-model="lpn.value" :get-focus.sync="lpn.focus" @confirm="scanLpn()"/>
|
|
16
16
|
<template v-if="currentLpn">
|
|
17
17
|
<div class="lw-global-props">
|
|
18
18
|
<div>
|
|
@@ -36,8 +36,9 @@
|
|
|
36
36
|
</div>
|
|
37
37
|
</template>
|
|
38
38
|
</div>
|
|
39
|
-
<div v-if="task.sku.needSn" class="lw-global-model-box" style="margin-top: 10px;">
|
|
40
|
-
<lw-input title="序列号条码" required v-model="sn"
|
|
39
|
+
<div v-if="currentLpn && !task.sku.needSn" class="lw-global-model-box" style="margin-top: 10px;">
|
|
40
|
+
<lw-input title="序列号条码" required v-model="sn.value" :get-focus.sync="sn.focus"
|
|
41
|
+
rule-key="sn" rule-value-key="sn" :rule-serve-query="barcodeQuery" @confirm="addSn"/>
|
|
41
42
|
<div v-if="sns.length" class="tag-list">
|
|
42
43
|
<div class="tag-list-title">
|
|
43
44
|
<div>当前扫描结果</div>
|
|
@@ -93,6 +94,10 @@
|
|
|
93
94
|
<lw-button plain @click="resetLpn">切换托盘</lw-button>
|
|
94
95
|
<lw-button @click="submitLpn">提交品检结果</lw-button>
|
|
95
96
|
</lw-bottom-bar>
|
|
97
|
+
<lw-bottom-bar v-else-if="canFinish">
|
|
98
|
+
<lw-button plain @click="resetSku" v-if="$route.query.lwComeFrom !== 'task'">切换商品</lw-button>
|
|
99
|
+
<lw-button @click="finishSku">完成当前商品品检</lw-button>
|
|
100
|
+
</lw-bottom-bar>
|
|
96
101
|
<van-dialog v-model="showSns" title="当前扫描的SN列表">
|
|
97
102
|
<sns-list :sns="sns" @remove="removeSn"/>
|
|
98
103
|
</van-dialog>
|
|
@@ -107,6 +112,7 @@
|
|
|
107
112
|
:sku-name="task.sku.name"
|
|
108
113
|
:qty="currentLpn.canQualityQty"
|
|
109
114
|
:location="task.locationCode"
|
|
115
|
+
require-lpn
|
|
110
116
|
type="品检"
|
|
111
117
|
ab-type="品检异常"/>
|
|
112
118
|
<template #button>
|
|
@@ -118,6 +124,7 @@
|
|
|
118
124
|
|
|
119
125
|
<script>
|
|
120
126
|
import {
|
|
127
|
+
finishSkuQuality,
|
|
121
128
|
getInboundFoundQualityCard,
|
|
122
129
|
getInboundGetQualityDetail, submitQualityAbnormal,
|
|
123
130
|
submitSkuQuality, submitSkuSnQuality
|
|
@@ -140,7 +147,10 @@ export default {
|
|
|
140
147
|
focus: true,
|
|
141
148
|
},
|
|
142
149
|
currentLpn: null,
|
|
143
|
-
sn:
|
|
150
|
+
sn: {
|
|
151
|
+
value: '',
|
|
152
|
+
focus: false,
|
|
153
|
+
},
|
|
144
154
|
sns: [],
|
|
145
155
|
showSns: false,
|
|
146
156
|
lotQuery: null,
|
|
@@ -151,6 +161,15 @@ export default {
|
|
|
151
161
|
snsQty () {
|
|
152
162
|
return this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
|
|
153
163
|
},
|
|
164
|
+
barcodeQuery () {
|
|
165
|
+
return {
|
|
166
|
+
ownerId: this.task.asn.ownerId || null,
|
|
167
|
+
warehouseId: this.task.warehouseId || null,
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
canFinish () {
|
|
171
|
+
return !this.task.sku.needSn && this.task.qualityQty > 0 && this.task.sku.qualityType === '200'
|
|
172
|
+
}
|
|
154
173
|
},
|
|
155
174
|
created () {
|
|
156
175
|
let taskId = this.$route.query.taskId
|
|
@@ -241,33 +260,30 @@ export default {
|
|
|
241
260
|
})
|
|
242
261
|
}
|
|
243
262
|
},
|
|
244
|
-
addSn () {
|
|
245
|
-
if (!
|
|
246
|
-
|
|
263
|
+
addSn (sn, res) {
|
|
264
|
+
if (!res.data.sn) {
|
|
265
|
+
this.sn.focus = true
|
|
266
|
+
return this.$lwShowErrorMsg('错误的商品条码序列号')
|
|
247
267
|
}
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
268
|
+
const osn = this.sns.find(i => i.sn === sn)
|
|
269
|
+
if (osn) {
|
|
270
|
+
this.sn.focus = true
|
|
271
|
+
return this.$lwShowErrorMsg('重复的序列号')
|
|
272
|
+
}
|
|
273
|
+
if (res.data.skuCode && res.data.skuCode !== this.task.sku.code) {
|
|
274
|
+
this.sn.focus = true
|
|
275
|
+
return this.$lwShowErrorMsg('序列号商品编码不符')
|
|
276
|
+
}
|
|
277
|
+
getAsnSkuSnDetail(this.task.asn.id, this.task.sku.id, res.data.sn).then(data => {
|
|
278
|
+
if (data && data.sn) {
|
|
279
|
+
this.sns.unshift({
|
|
280
|
+
sn: data.sn,
|
|
281
|
+
qty: data.qty || 1
|
|
282
|
+
})
|
|
283
|
+
this.sn.value = ''
|
|
284
|
+
} else {
|
|
285
|
+
return this.$lwShowErrorMsg('错误的序列号')
|
|
259
286
|
}
|
|
260
|
-
getAsnSkuSnDetail(this.task.asn.id, this.task.sku.id, res.data.sn).then(data => {
|
|
261
|
-
if (data && data.sn) {
|
|
262
|
-
this.sns.unshift({
|
|
263
|
-
sn: data.sn,
|
|
264
|
-
qty: data.qty || 1
|
|
265
|
-
})
|
|
266
|
-
this.sn = ''
|
|
267
|
-
} else {
|
|
268
|
-
return this.$lwShowErrorMsg('错误的序列号')
|
|
269
|
-
}
|
|
270
|
-
})
|
|
271
287
|
})
|
|
272
288
|
},
|
|
273
289
|
resetLpn () {
|
|
@@ -282,6 +298,17 @@ export default {
|
|
|
282
298
|
this.sns.splice(idx, 1)
|
|
283
299
|
}
|
|
284
300
|
},
|
|
301
|
+
resetSku () {
|
|
302
|
+
this.$router.back()
|
|
303
|
+
},
|
|
304
|
+
finishSku () {
|
|
305
|
+
finishSkuQuality(this.task.id).then(res => {
|
|
306
|
+
if (res.quality) {
|
|
307
|
+
this.task = res.quality
|
|
308
|
+
this.$lwToast.success('品检完成')
|
|
309
|
+
}
|
|
310
|
+
})
|
|
311
|
+
},
|
|
285
312
|
showAbnormalPop () {
|
|
286
313
|
const lotData = this.$refs.lot.getData()
|
|
287
314
|
if (lotData.success) {
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
<div class="lw-global-model-box">
|
|
35
35
|
<div>
|
|
36
36
|
<lw-input title="商品条码" required v-model="skuBarCode.value" :get-focus.sync="skuBarCode.focus"
|
|
37
|
+
rule-key="sku" rule-value-key="skuCode" :rule-serve-query="barcodeQuery"
|
|
37
38
|
@confirm="resolveSkuBarcode"/>
|
|
38
39
|
</div>
|
|
39
40
|
</div>
|
|
40
41
|
</div>
|
|
41
42
|
<lw-bottom-bar>
|
|
42
43
|
<lw-button plain @click="showSkuScan = false">关闭</lw-button>
|
|
43
|
-
<lw-button @click="resolveSkuBarcode">确定</lw-button>
|
|
44
44
|
</lw-bottom-bar>
|
|
45
45
|
</van-dialog>
|
|
46
46
|
</div>
|
|
@@ -73,6 +73,14 @@ export default {
|
|
|
73
73
|
count: this.tasks.length,
|
|
74
74
|
pendingQty: this.tasks.map(i => parseInt(i.canQualityQty)).reduce((a, b) => a + b, 0)
|
|
75
75
|
}
|
|
76
|
+
},
|
|
77
|
+
barcodeQuery () {
|
|
78
|
+
const ownerIds = this.tasks.map(i => i.asn.ownerId)
|
|
79
|
+
const warehouseIds = this.tasks.map(i => i.asn.warehouseId)
|
|
80
|
+
return {
|
|
81
|
+
ownerId: ownerIds.length === 1 ? ownerIds[0] : null,
|
|
82
|
+
warehouseId: warehouseIds.length === 1 ? warehouseIds[0] : null,
|
|
83
|
+
}
|
|
76
84
|
}
|
|
77
85
|
},
|
|
78
86
|
created () {
|
|
@@ -108,27 +116,16 @@ export default {
|
|
|
108
116
|
this.skuBarCode.value = ''
|
|
109
117
|
this.skuBarCode.focus = true
|
|
110
118
|
},
|
|
111
|
-
resolveSkuBarcode () {
|
|
112
|
-
if (
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (res.data.sku) {
|
|
122
|
-
const task = this.tasks.find(i => i.sku.code === res.data.sku)
|
|
123
|
-
if (task) {
|
|
124
|
-
this.toTask(task)
|
|
125
|
-
} else {
|
|
126
|
-
this.$lwShowErrorMsg(`商品 ${res.data.sku} 无匹配任务`)
|
|
127
|
-
}
|
|
128
|
-
} else {
|
|
129
|
-
this.$lwShowErrorMsg('错误的商品条码')
|
|
130
|
-
}
|
|
131
|
-
})
|
|
119
|
+
resolveSkuBarcode (skuCode, res) {
|
|
120
|
+
if (res.data.skuCode) {
|
|
121
|
+
const task = this.tasks.find(i => i.sku.code === res.data.skuCode)
|
|
122
|
+
if (task) {
|
|
123
|
+
this.toTask(task)
|
|
124
|
+
} else {
|
|
125
|
+
this.$lwShowErrorMsg(`商品 ${res.data.sku} 无匹配任务`)
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
this.$lwShowErrorMsg('错误的商品条码')
|
|
132
129
|
}
|
|
133
130
|
},
|
|
134
131
|
toTask (task) {
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
<div v-if="asnSku">
|
|
15
15
|
<div class="lw-global-model-box" style="margin-top: 10px;">
|
|
16
|
-
<lw-input title="商品收货条码" required v-model="tag"
|
|
16
|
+
<lw-input title="商品收货条码" required v-model="tag"
|
|
17
|
+
rule-key="skuReceive" rule-value-key="skuCode" :rule-serve-query="barcodeQuery"
|
|
18
|
+
@confirm="addTag"/>
|
|
17
19
|
</div>
|
|
18
20
|
<div class="lw-global-model-box tag-list">
|
|
19
21
|
<div class="tag-list-title">
|
|
@@ -74,8 +76,8 @@
|
|
|
74
76
|
:sku-code="asnSku.sku.code"
|
|
75
77
|
:sku-name="asnSku.sku.name"
|
|
76
78
|
:qty="asn.pendingQty"
|
|
77
|
-
type="
|
|
78
|
-
ab-type="
|
|
79
|
+
type="收货"
|
|
80
|
+
ab-type="预收货"/>
|
|
79
81
|
<template #button>
|
|
80
82
|
<lw-button @click="submitAbnormal">上报异常</lw-button>
|
|
81
83
|
</template>
|
|
@@ -125,6 +127,12 @@ export default {
|
|
|
125
127
|
tagsQty () {
|
|
126
128
|
return this.tags.map(i => parseInt(i.confirmQty)).reduce((a, b) => a + b, 0)
|
|
127
129
|
},
|
|
130
|
+
barcodeQuery () {
|
|
131
|
+
return {
|
|
132
|
+
ownerId: this.asn.ownerId,
|
|
133
|
+
warehouseId: this.asn.warehouseId,
|
|
134
|
+
}
|
|
135
|
+
},
|
|
128
136
|
},
|
|
129
137
|
created () {
|
|
130
138
|
const { asnNo, skuCode } = this.$route.query
|
|
@@ -155,36 +163,30 @@ export default {
|
|
|
155
163
|
}
|
|
156
164
|
})
|
|
157
165
|
},
|
|
158
|
-
addTag () {
|
|
159
|
-
if (!
|
|
160
|
-
return
|
|
166
|
+
addTag (sku, res) {
|
|
167
|
+
if (!res.data.skuCode) {
|
|
168
|
+
return this.$lwShowErrorMsg('错误的商品预收货条码')
|
|
161
169
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
const tag = res.data.tag || '#'
|
|
172
|
-
const otag = this.tags.find(i => i.code === tag)
|
|
173
|
-
if (otag) {
|
|
174
|
-
if (otag.code !== '#') {
|
|
175
|
-
return this.$lwShowErrorMsg('重复箱号')
|
|
176
|
-
}
|
|
177
|
-
otag.qty = otag.qty + qty
|
|
178
|
-
otag.confirmQty = otag.confirmQty + qty
|
|
179
|
-
} else {
|
|
180
|
-
this.tags.unshift({
|
|
181
|
-
code: tag,
|
|
182
|
-
qty,
|
|
183
|
-
confirmQty: qty,
|
|
184
|
-
})
|
|
170
|
+
if (res.data.skuCode !== this.asnSku.sku.code) {
|
|
171
|
+
return this.$lwShowErrorMsg('错误的商品')
|
|
172
|
+
}
|
|
173
|
+
const qty = parseInt(res.data.qty) || 0
|
|
174
|
+
const tag = res.data.tag || '#'
|
|
175
|
+
const otag = this.tags.find(i => i.code === tag)
|
|
176
|
+
if (otag) {
|
|
177
|
+
if (otag.code !== '#') {
|
|
178
|
+
return this.$lwShowErrorMsg('重复箱号')
|
|
185
179
|
}
|
|
186
|
-
|
|
187
|
-
|
|
180
|
+
otag.qty = otag.qty + qty
|
|
181
|
+
otag.confirmQty = otag.confirmQty + qty
|
|
182
|
+
} else {
|
|
183
|
+
this.tags.unshift({
|
|
184
|
+
code: tag,
|
|
185
|
+
qty,
|
|
186
|
+
confirmQty: qty,
|
|
187
|
+
})
|
|
188
|
+
}
|
|
189
|
+
this.tag = ''
|
|
188
190
|
},
|
|
189
191
|
async submit () {
|
|
190
192
|
this.submitQty = this.asnSku.sku.needSn ? this.snsQty : this.tagsQty
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
<div v-if="asnSku && asnSku.sku.needSn">
|
|
15
15
|
<div class="lw-global-model-box" style="margin-top: 10px;">
|
|
16
|
-
<lw-input title="序列号条码" required v-model="sn"
|
|
16
|
+
<lw-input title="序列号条码" required v-model="sn.value" :get-focus.sync="sn.focus"
|
|
17
|
+
rule-key="sn" rule-value-key="sn" :rule-serve-query="barcodeQuery" @confirm="addSn"/>
|
|
17
18
|
</div>
|
|
18
19
|
<div class="lw-global-model-box tag-list">
|
|
19
20
|
<div class="tag-list-title">
|
|
@@ -42,7 +43,9 @@
|
|
|
42
43
|
</div>
|
|
43
44
|
<div v-else>
|
|
44
45
|
<div class="lw-global-model-box" style="margin-top: 10px;">
|
|
45
|
-
<lw-input title="商品收货条码" required v-model="tag"
|
|
46
|
+
<lw-input title="商品收货条码" required v-model="tag"
|
|
47
|
+
rule-key="skuReceive" rule-value-key="skuCode" :rule-serve-query="barcodeQuery"
|
|
48
|
+
@confirm="addTag"/>
|
|
46
49
|
</div>
|
|
47
50
|
<div class="lw-global-model-box tag-list">
|
|
48
51
|
<div class="tag-list-title">
|
|
@@ -110,8 +113,8 @@
|
|
|
110
113
|
:sku-code="asnSku.sku.code"
|
|
111
114
|
:sku-name="asnSku.sku.name"
|
|
112
115
|
:qty="asn.pendingQty"
|
|
113
|
-
type="
|
|
114
|
-
ab-type="
|
|
116
|
+
type="收货"
|
|
117
|
+
ab-type="商品收货"/>
|
|
115
118
|
<template #button>
|
|
116
119
|
<lw-button @click="submitAbnormal">上报异常</lw-button>
|
|
117
120
|
</template>
|
|
@@ -144,7 +147,10 @@ export default {
|
|
|
144
147
|
qty: 0,
|
|
145
148
|
confirmQty: 0,
|
|
146
149
|
}],
|
|
147
|
-
sn:
|
|
150
|
+
sn: {
|
|
151
|
+
value: '',
|
|
152
|
+
focus: false,
|
|
153
|
+
},
|
|
148
154
|
sns: [],
|
|
149
155
|
showSns: false,
|
|
150
156
|
receiveLoc: {
|
|
@@ -169,6 +175,12 @@ export default {
|
|
|
169
175
|
snsQty () {
|
|
170
176
|
return this.sns.map(i => parseInt(i.qty)).reduce((a, b) => a + b, 0)
|
|
171
177
|
},
|
|
178
|
+
barcodeQuery () {
|
|
179
|
+
return {
|
|
180
|
+
ownerId: this.asn.ownerId,
|
|
181
|
+
warehouseId: this.asn.warehouseId,
|
|
182
|
+
}
|
|
183
|
+
},
|
|
172
184
|
},
|
|
173
185
|
created () {
|
|
174
186
|
const { asnNo, skuCode } = this.$route.query
|
|
@@ -199,61 +211,55 @@ export default {
|
|
|
199
211
|
}
|
|
200
212
|
})
|
|
201
213
|
},
|
|
202
|
-
addTag () {
|
|
203
|
-
if (!
|
|
204
|
-
return
|
|
214
|
+
addTag (sku, res) {
|
|
215
|
+
if (!res.data.skuCode) {
|
|
216
|
+
return this.$lwShowErrorMsg('错误的商品预收货条码')
|
|
205
217
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
const tag = res.data.tag || '#'
|
|
216
|
-
const otag = this.tags.find(i => i.code === tag)
|
|
217
|
-
if (otag) {
|
|
218
|
-
if (otag.code !== '#') {
|
|
219
|
-
return this.$lwShowErrorMsg('重复箱号')
|
|
220
|
-
}
|
|
221
|
-
otag.qty = otag.qty + qty
|
|
222
|
-
otag.confirmQty = otag.confirmQty + qty
|
|
223
|
-
} else {
|
|
224
|
-
this.tags.unshift({
|
|
225
|
-
code: tag,
|
|
226
|
-
qty,
|
|
227
|
-
confirmQty: qty,
|
|
228
|
-
})
|
|
218
|
+
if (res.data.skuCode !== this.asnSku.sku.code) {
|
|
219
|
+
return this.$lwShowErrorMsg('错误的商品')
|
|
220
|
+
}
|
|
221
|
+
const qty = parseInt(res.data.qty) || 0
|
|
222
|
+
const tag = res.data.tag || '#'
|
|
223
|
+
const otag = this.tags.find(i => i.code === tag)
|
|
224
|
+
if (otag) {
|
|
225
|
+
if (otag.code !== '#') {
|
|
226
|
+
return this.$lwShowErrorMsg('重复箱号')
|
|
229
227
|
}
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
otag.qty = otag.qty + qty
|
|
229
|
+
otag.confirmQty = otag.confirmQty + qty
|
|
230
|
+
} else {
|
|
231
|
+
this.tags.unshift({
|
|
232
|
+
code: tag,
|
|
233
|
+
qty,
|
|
234
|
+
confirmQty: qty,
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
this.tag = ''
|
|
232
238
|
},
|
|
233
|
-
addSn () {
|
|
234
|
-
if (!
|
|
235
|
-
|
|
239
|
+
addSn (sn, res) {
|
|
240
|
+
if (!res.data.sn) {
|
|
241
|
+
this.sn.focus = true
|
|
242
|
+
return this.$lwShowErrorMsg('错误的商品条码序列号')
|
|
236
243
|
}
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
const osn = this.sns.find(i => i.sn === res.data.sn)
|
|
245
|
+
if (osn) {
|
|
246
|
+
this.sn.focus = true
|
|
247
|
+
return this.$lwShowErrorMsg('重复的序列号')
|
|
248
|
+
}
|
|
249
|
+
if (res.data.skuCode && res.data.skuCode !== this.asnSku.sku.code) {
|
|
250
|
+
this.sn.focus = true
|
|
251
|
+
return this.$lwShowErrorMsg('序列号商品编码不符')
|
|
252
|
+
}
|
|
253
|
+
getAsnSkuSnDetail(this.asn.id, this.asnSku.sku.id, res.data.sn).then(data => {
|
|
254
|
+
if (data && data.sn) {
|
|
255
|
+
this.sns.unshift({
|
|
256
|
+
sn: data.sn,
|
|
257
|
+
qty: data.qty || 1
|
|
258
|
+
})
|
|
259
|
+
this.sn.value = ''
|
|
260
|
+
} else {
|
|
261
|
+
return this.$lwShowErrorMsg('错误的序列号')
|
|
245
262
|
}
|
|
246
|
-
getAsnSkuSnDetail(this.asn.id, this.asnSku.sku.id, res.data.sn).then(data => {
|
|
247
|
-
if (data && data.sn) {
|
|
248
|
-
this.sns.unshift({
|
|
249
|
-
sn: data.sn,
|
|
250
|
-
qty: data.qty || 1
|
|
251
|
-
})
|
|
252
|
-
this.sn = ''
|
|
253
|
-
} else {
|
|
254
|
-
return this.$lwShowErrorMsg('错误的序列号')
|
|
255
|
-
}
|
|
256
|
-
})
|
|
257
263
|
})
|
|
258
264
|
},
|
|
259
265
|
removeSn (sn) {
|
|
@@ -303,7 +309,7 @@ export default {
|
|
|
303
309
|
},
|
|
304
310
|
afterSubmit (res) {
|
|
305
311
|
this.asn = res.asn
|
|
306
|
-
this.sn = ''
|
|
312
|
+
this.sn.value = ''
|
|
307
313
|
this.tag = ''
|
|
308
314
|
this.sns = []
|
|
309
315
|
this.tags = []
|
|
@@ -36,10 +36,7 @@ import lwMaterialApplyCreatePage from "./materialApply/generate";
|
|
|
36
36
|
// 包材领用 - 执行领用单
|
|
37
37
|
import lwMaterialApplyActionPage from "./materialApply/action";
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
import lwNewProjectIndexPage from "./newProject/index";
|
|
41
|
-
// 新品配置
|
|
42
|
-
import lwNewProjectActionPage from "./newProject/action";
|
|
39
|
+
|
|
43
40
|
|
|
44
41
|
|
|
45
42
|
|
|
@@ -61,6 +58,5 @@ export const inner = [
|
|
|
61
58
|
|
|
62
59
|
lwMaterialApplyCreatePage,
|
|
63
60
|
lwMaterialApplyActionPage,
|
|
64
|
-
|
|
65
|
-
lwNewProjectActionPage,
|
|
61
|
+
|
|
66
62
|
]
|
|
@@ -177,6 +177,14 @@ export default {
|
|
|
177
177
|
wmsGetSkuInfoByCode({
|
|
178
178
|
skuCode: this.sku.value
|
|
179
179
|
}).then(res=>{
|
|
180
|
+
|
|
181
|
+
if (res.length === 1){
|
|
182
|
+
setTimeout(()=>{
|
|
183
|
+
this.selectOwnerConfirm(res[0])
|
|
184
|
+
},10)
|
|
185
|
+
return
|
|
186
|
+
}
|
|
187
|
+
|
|
180
188
|
this.selectOwner.list = res
|
|
181
189
|
this.selectOwner.show = true
|
|
182
190
|
})
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
:sku-list="checkData.containerData.packSkuList"
|
|
108
108
|
:show-abn-btn="!fromAllCheck"
|
|
109
109
|
:show-all-check="!fromAllCheck && allowAllCheck"
|
|
110
|
+
:abn-confirm="abnConfirm"
|
|
110
111
|
/>
|
|
111
112
|
|
|
112
113
|
</div>
|
|
@@ -507,7 +508,7 @@ import {
|
|
|
507
508
|
projectWmsMixPackContainerWholeBlock,
|
|
508
509
|
projectWmsMixPackDeleteSku,
|
|
509
510
|
projectWmsMixPackDeleteSkuWithSn,
|
|
510
|
-
projectWmsMixPackRePack,
|
|
511
|
+
projectWmsMixPackRePack, projectWmsMixPackSubmitAbnormal,
|
|
511
512
|
projectWmsMixPackSubmitSku,
|
|
512
513
|
projectWmsMixPackSubmitWithSn,
|
|
513
514
|
projectWmsOutbondQueryPackMaterial
|
|
@@ -1293,6 +1294,14 @@ export default {
|
|
|
1293
1294
|
)
|
|
1294
1295
|
this.overBaleOpen()
|
|
1295
1296
|
}
|
|
1297
|
+
},
|
|
1298
|
+
|
|
1299
|
+
// 异常确认
|
|
1300
|
+
abnConfirm(data){
|
|
1301
|
+
return projectWmsMixPackSubmitAbnormal({
|
|
1302
|
+
pickContainer: this.checkData.containerData.pickContainer,
|
|
1303
|
+
...data
|
|
1304
|
+
})
|
|
1296
1305
|
}
|
|
1297
1306
|
}
|
|
1298
1307
|
}
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
<lw-popup
|
|
132
132
|
:title="$lwLanguage.get('','异常上报')"
|
|
133
133
|
v-model="abnPopup.show"
|
|
134
|
+
@closed="abnPopup.comShow = false"
|
|
134
135
|
>
|
|
135
136
|
|
|
136
137
|
<lw-inner-abnormal-module
|
|
@@ -145,7 +146,7 @@
|
|
|
145
146
|
/>
|
|
146
147
|
|
|
147
148
|
<template #button>
|
|
148
|
-
<lw-button @click="
|
|
149
|
+
<lw-button @click="abnConfirmBtn">
|
|
149
150
|
{{ $lwLanguage.get('','上报') }}
|
|
150
151
|
</lw-button>
|
|
151
152
|
</template>
|
|
@@ -185,7 +186,10 @@ export default {
|
|
|
185
186
|
},
|
|
186
187
|
|
|
187
188
|
// 是否显示异常按钮
|
|
188
|
-
showAbnBtn: Boolean
|
|
189
|
+
showAbnBtn: Boolean,
|
|
190
|
+
|
|
191
|
+
// 异常提交
|
|
192
|
+
abnConfirm: Function
|
|
189
193
|
},
|
|
190
194
|
data() {
|
|
191
195
|
return {
|
|
@@ -213,13 +217,17 @@ export default {
|
|
|
213
217
|
this.abnPopup.show = true
|
|
214
218
|
},
|
|
215
219
|
// 异常确认
|
|
216
|
-
|
|
220
|
+
abnConfirmBtn(){
|
|
217
221
|
const {success, data} = this.$refs.abnormal.getAbnormalData()
|
|
218
222
|
|
|
219
223
|
if (!success) return
|
|
220
224
|
|
|
221
|
-
this
|
|
222
|
-
|
|
225
|
+
this.abnConfirm({...data,...this.abnPopup.data}).then(()=>{
|
|
226
|
+
|
|
227
|
+
this.abnPopup.show = false
|
|
228
|
+
this.$emit('abnSuccess')
|
|
229
|
+
})
|
|
230
|
+
},
|
|
223
231
|
}
|
|
224
232
|
}
|
|
225
233
|
</script>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
<!-- 单号 -->
|
|
22
22
|
<div class="lw-global-flex-between lw-global-row-start">
|
|
23
|
-
<div>
|
|
23
|
+
<div v-if="type === 'so'">
|
|
24
24
|
<span class="lw-global-title">
|
|
25
25
|
{{ $lwLanguage.get('wms_project.pda.outbound.delivery.soAndLpn.orderNo','单号') }}
|
|
26
26
|
</span>
|
|
@@ -29,6 +29,15 @@
|
|
|
29
29
|
</span>
|
|
30
30
|
</div>
|
|
31
31
|
|
|
32
|
+
<div v-if="type === 'lpn'">
|
|
33
|
+
<span class="lw-global-title">
|
|
34
|
+
{{ $lwLanguage.get('wms_project.pda.outbound.delivery.action.lpn','托盘号') }}
|
|
35
|
+
</span>
|
|
36
|
+
<span class="lw-global-value-bold">
|
|
37
|
+
{{ item.palletNo }}
|
|
38
|
+
</span>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
32
41
|
<slot>
|
|
33
42
|
<lw-button
|
|
34
43
|
style="flex-shrink: 0"
|
|
@@ -422,7 +422,7 @@ export default {
|
|
|
422
422
|
// 商品
|
|
423
423
|
sku:{
|
|
424
424
|
value:'',
|
|
425
|
-
focus:
|
|
425
|
+
focus: true
|
|
426
426
|
},
|
|
427
427
|
// 数量
|
|
428
428
|
num:{
|
|
@@ -623,6 +623,7 @@ export default {
|
|
|
623
623
|
this.$lwToast.success(
|
|
624
624
|
this.$lwLanguage.get('wms_project.pda.receive.skuAction.jump','已跳转至任务行:') + (index + 1)
|
|
625
625
|
)
|
|
626
|
+
this.input.sku.focus = true
|
|
626
627
|
this.scrollTop()
|
|
627
628
|
},
|
|
628
629
|
|
|
@@ -383,6 +383,9 @@ export default {
|
|
|
383
383
|
confirm(){
|
|
384
384
|
let obj={},val = this.val
|
|
385
385
|
|
|
386
|
+
// 如果配置了解析规则,但是输入内容为空就不触发任何事件
|
|
387
|
+
if (this.ruleKey && !val) return
|
|
388
|
+
|
|
386
389
|
if (this.ruleKey){
|
|
387
390
|
|
|
388
391
|
const prefix = this.rulePrefix || this.$route.path
|
|
@@ -399,22 +402,27 @@ export default {
|
|
|
399
402
|
return
|
|
400
403
|
}
|
|
401
404
|
|
|
405
|
+
// 回填数据
|
|
402
406
|
if (this.ruleValueKey){
|
|
403
|
-
val = obj.data[this.ruleValueKey]
|
|
407
|
+
val = obj.data[this.ruleValueKey]
|
|
404
408
|
}
|
|
405
409
|
}
|
|
406
410
|
|
|
407
|
-
|
|
411
|
+
// 是否需要清空输入框
|
|
408
412
|
if (this.autoClearVal){
|
|
409
413
|
this.clearClick()
|
|
410
414
|
}else {
|
|
411
415
|
this.val = val
|
|
412
416
|
}
|
|
413
417
|
|
|
418
|
+
// 输入框是否需要失去焦点
|
|
414
419
|
if (this.inputOverBlur){
|
|
415
420
|
this.inputBlur()
|
|
416
421
|
}
|
|
422
|
+
|
|
423
|
+
// 触发震动
|
|
417
424
|
this.$lwAppPower.shortVibrate(500)
|
|
425
|
+
|
|
418
426
|
this.$emit('confirm', val, obj)
|
|
419
427
|
},
|
|
420
428
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 登录成功后和初始化页面有token时拉取的数据
|
|
3
|
+
* @author: 张文
|
|
4
|
+
* @date 2022-07-06
|
|
5
|
+
* */
|
|
6
|
+
|
|
7
|
+
export const loginAndInit = {
|
|
8
|
+
methods: {
|
|
9
|
+
getSystemInitData(){
|
|
10
|
+
let list = [
|
|
11
|
+
// 获取字典数据
|
|
12
|
+
this.$lwDict.asyncGet(),
|
|
13
|
+
// 获取权限数据
|
|
14
|
+
this.$lwPermissions.asyncGet()
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
if (Object.keys(this.$lwWarehouse.get()).length){
|
|
18
|
+
// 获取当前配置了的打印机
|
|
19
|
+
list.push(this.$lwPrint.asyncGet())
|
|
20
|
+
// 获取条码解析规则
|
|
21
|
+
list.push(this.$lwBarcodeResolve.asyncInitRule())
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return Promise.all(list)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
File without changes
|
|
File without changes
|
package/src/router/index.js
CHANGED
|
@@ -393,12 +393,12 @@ export default [
|
|
|
393
393
|
{
|
|
394
394
|
path: "/inbound/newProject/lwIndex",
|
|
395
395
|
name: "LwNewProjectIndex",
|
|
396
|
-
component: () => import('
|
|
396
|
+
component: () => import('../views/inbound/newProject/index')
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
path: "/inbound/newProject/lwAction",
|
|
400
400
|
name: "LwNewProjectAction",
|
|
401
|
-
component: () => import('
|
|
401
|
+
component: () => import('../views/inbound/newProject/action')
|
|
402
402
|
},
|
|
403
403
|
|
|
404
404
|
|
package/src/router/menu.js
CHANGED
|
@@ -33,8 +33,11 @@
|
|
|
33
33
|
|
|
34
34
|
<script>
|
|
35
35
|
|
|
36
|
+
import {loginAndInit} from "../../../mixins/loginAndInit";
|
|
37
|
+
|
|
36
38
|
export default {
|
|
37
39
|
name: "init",
|
|
40
|
+
mixins:[loginAndInit],
|
|
38
41
|
data() {
|
|
39
42
|
return {
|
|
40
43
|
// 显示加载框
|
|
@@ -72,16 +75,7 @@ export default {
|
|
|
72
75
|
await this.$lwUUID.bound()
|
|
73
76
|
|
|
74
77
|
|
|
75
|
-
await
|
|
76
|
-
// 获取字典数据
|
|
77
|
-
this.$lwDict.asyncGet(),
|
|
78
|
-
// 获取权限数据
|
|
79
|
-
this.$lwPermissions.asyncGet(),
|
|
80
|
-
// 获取当前配置了的打印机
|
|
81
|
-
this.$lwPrint.asyncGet(),
|
|
82
|
-
// 获取条码解析规则
|
|
83
|
-
this.$lwBarcodeResolve.asyncInitRule()
|
|
84
|
-
])
|
|
78
|
+
await this.getSystemInitData()
|
|
85
79
|
|
|
86
80
|
if (self === top){
|
|
87
81
|
history.go(-1)
|
|
@@ -101,7 +95,17 @@ export default {
|
|
|
101
95
|
this.errorMsg = this.$lwLanguage.get('wms_project.pda.views.init.infoError', '基础数据加载失败')
|
|
102
96
|
this.showLoading = false
|
|
103
97
|
}, 1000)
|
|
98
|
+
|
|
104
99
|
console.warn('初始化页面异常:', e)
|
|
100
|
+
|
|
101
|
+
const api = ['wmsGetAllChoices','wmsGetUserPermissions']
|
|
102
|
+
const url = e.config.url.split('/')
|
|
103
|
+
|
|
104
|
+
if (api.includes(url.pop())){
|
|
105
|
+
this.$router.replace({
|
|
106
|
+
path: '/lwLogin'
|
|
107
|
+
})
|
|
108
|
+
}
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
111
|
|
|
File without changes
|
|
File without changes
|