Browse Source

库存操作,编辑物料信息

dxq 2 weeks ago
parent
commit
5ac4454a1d

+ 4
- 4
src/views/sto/components/PopupDistribution.vue View File

152
         show-overflow-tooltip
152
         show-overflow-tooltip
153
       >
153
       >
154
         <template #default="{ row }">
154
         <template #default="{ row }">
155
-          {{ row.outQuantity ?? row.OUT_QUANTITY ?? '-' }}
155
+          {{ row.quantity ?? row.QUANTITY ?? '-' }}
156
         </template>
156
         </template>
157
 				</el-table-column>
157
 				</el-table-column>
158
       <el-table-column
158
       <el-table-column
163
         show-overflow-tooltip
163
         show-overflow-tooltip
164
       >
164
       >
165
         <template #default="{ row }">
165
         <template #default="{ row }">
166
-          {{ row.outWeight ?? row.OUT_WEIGHT ?? '-' }}
166
+          {{ row.weight ?? row.WEIGHT ?? '-' }}
167
         </template>
167
         </template>
168
 				</el-table-column>
168
 				</el-table-column>
169
 			</el-table>
169
 			</el-table>
190
 // 计算总重量和总数量
190
 // 计算总重量和总数量
191
 const totalWeight = computed(() => {
191
 const totalWeight = computed(() => {
192
   const total = tableData.value.reduce((sum, row) => {
192
   const total = tableData.value.reduce((sum, row) => {
193
-    const weight = parseFloat(row.outWeight ?? row.OUT_WEIGHT ?? 0) || 0
193
+    const weight = parseFloat(row.weight ?? row.WEIGHT ?? 0) || 0
194
     return sum + weight
194
     return sum + weight
195
   }, 0)
195
   }, 0)
196
   return total.toFixed(3)
196
   return total.toFixed(3)
198
 
198
 
199
 const totalQuantity = computed(() => {
199
 const totalQuantity = computed(() => {
200
   const total = tableData.value.reduce((sum, row) => {
200
   const total = tableData.value.reduce((sum, row) => {
201
-    const quantity = parseFloat(row.outQuantity ?? row.OUT_QUANTITY ?? 0) || 0
201
+    const quantity = parseFloat(row.quantity ?? row.QUANTITY ?? 0) || 0
202
     return sum + quantity
202
     return sum + quantity
203
   }, 0)
203
   }, 0)
204
   return total.toFixed(0)
204
   return total.toFixed(0)

+ 39
- 27
src/views/sto/components/PopupEdit.vue View File

16
       <el-row :gutter="20">
16
       <el-row :gutter="20">
17
         <el-col :span="12">
17
         <el-col :span="12">
18
           <el-form-item label="材料编号">
18
           <el-form-item label="材料编号">
19
-            <el-input v-model="form.materialNo" disabled />
19
+            <el-input v-model="form.prodNo" disabled />
20
           </el-form-item>
20
           </el-form-item>
21
         </el-col>
21
         </el-col>
22
         <el-col :span="12">
22
         <el-col :span="12">
23
           <el-form-item label="规格型号">
23
           <el-form-item label="规格型号">
24
-            <el-input v-model="form.materialStandard" disabled />
24
+            <el-input v-model="form.attrib03" disabled />
25
           </el-form-item>
25
           </el-form-item>
26
         </el-col>
26
         </el-col>
27
       </el-row>
27
       </el-row>
28
 
28
 
29
       <el-row :gutter="20">
29
       <el-row :gutter="20">
30
         <el-col :span="12">
30
         <el-col :span="12">
31
-          <el-form-item label="品名">
31
+          <el-form-item label="物料名称">
32
             <el-input v-model="form.materialName" disabled />
32
             <el-input v-model="form.materialName" disabled />
33
           </el-form-item>
33
           </el-form-item>
34
         </el-col>
34
         </el-col>
42
       <el-row :gutter="20">
42
       <el-row :gutter="20">
43
         <el-col :span="12">
43
         <el-col :span="12">
44
           <el-form-item label="数量">
44
           <el-form-item label="数量">
45
-            <el-input v-model="form.outQuantity" />
45
+            <el-input v-model="form.quantity" />
46
           </el-form-item>
46
           </el-form-item>
47
         </el-col>
47
         </el-col>
48
         <el-col :span="12">
48
         <el-col :span="12">
49
           <el-form-item label="重量">
49
           <el-form-item label="重量">
50
-            <el-input v-model="form.outWeight" />
50
+            <el-input v-model="form.weight" />
51
           </el-form-item>
51
           </el-form-item>
52
         </el-col>
52
         </el-col>
53
       </el-row>
53
       </el-row>
55
       <el-row :gutter="20">
55
       <el-row :gutter="20">
56
         <el-col :span="12">
56
         <el-col :span="12">
57
           <el-form-item label="订单号">
57
           <el-form-item label="订单号">
58
-            <el-input v-model="form.orderNo" />
58
+            <el-input v-model="form.attrib01" />
59
           </el-form-item>
59
           </el-form-item>
60
         </el-col>
60
         </el-col>
61
         <el-col :span="12">
61
         <el-col :span="12">
62
           <el-form-item label="合约号">
62
           <el-form-item label="合约号">
63
-            <el-input v-model="form.contractNo" />
63
+            <el-input v-model="form.attrib02" />
64
           </el-form-item>
64
           </el-form-item>
65
         </el-col>
65
         </el-col>
66
       </el-row>
66
       </el-row>
68
       <el-row :gutter="20">
68
       <el-row :gutter="20">
69
         <el-col :span="12">
69
         <el-col :span="12">
70
           <el-form-item label="捆包号">
70
           <el-form-item label="捆包号">
71
-            <el-input v-model="form.bundleNo" />
71
+            <el-input v-model="form.attrib04" />
72
           </el-form-item>
72
           </el-form-item>
73
         </el-col>
73
         </el-col>
74
         <el-col :span="12">
74
         <el-col :span="12">
75
           <el-form-item label="产地">
75
           <el-form-item label="产地">
76
-            <el-input v-model="form.prodPlace" />
76
+            <el-input v-model="form.attrib05" />
77
           </el-form-item>
77
           </el-form-item>
78
         </el-col>
78
         </el-col>
79
       </el-row>
79
       </el-row>
80
-
81
       <el-row :gutter="20">
80
       <el-row :gutter="20">
82
         <el-col :span="12">
81
         <el-col :span="12">
83
           <el-form-item label="货权单位">
82
           <el-form-item label="货权单位">
128
       <el-row :gutter="20">
127
       <el-row :gutter="20">
129
         <el-col :span="24">
128
         <el-col :span="24">
130
           <el-form-item label="备注">
129
           <el-form-item label="备注">
131
-            <el-input v-model="form.remark" type="textarea" :rows="2" />
130
+            <el-input v-model="form.remark1" type="textarea" :rows="2" />
132
           </el-form-item>
131
           </el-form-item>
133
         </el-col>
132
         </el-col>
134
       </el-row>
133
       </el-row>
154
 const ownerCompanyOptions = ref([])
153
 const ownerCompanyOptions = ref([])
155
 
154
 
156
 const createEmptyForm = () => ({
155
 const createEmptyForm = () => ({
156
+  id: '',
157
   materialNo: '',
157
   materialNo: '',
158
-  materialStandard: '',
158
+  attrib03: '',
159
   materialName: '',
159
   materialName: '',
160
   stGrade: '',
160
   stGrade: '',
161
-  outQuantity: '',
162
-  outWeight: '',
163
-  orderNo: '',
164
-  contractNo: '',
165
-  bundleNo: '',
161
+  quantity: '',
162
+  weight: '',
163
+  attrib01: '',
164
+  attrib02: '',
165
+  attrib04: '',
166
+  attrib05: '',
166
   prodPlace: '',
167
   prodPlace: '',
167
   ownerCompany: '',
168
   ownerCompany: '',
168
   customerCompany: '',
169
   customerCompany: '',
169
   deliveryAddress: '',
170
   deliveryAddress: '',
170
-  remark: ''
171
+  remark1: ''
171
 })
172
 })
172
 
173
 
173
 const form = reactive(createEmptyForm())
174
 const form = reactive(createEmptyForm())
213
   
214
   
214
   // 重置表单并回填当前行数据
215
   // 重置表单并回填当前行数据
215
   Object.assign(form, createEmptyForm(), {
216
   Object.assign(form, createEmptyForm(), {
216
-    materialNo: row.inProdNo ?? '',
217
-    materialStandard: row.materialStandard ?? '',
217
+    id: row.storeId ?? '',
218
+    prodNo: row.prodNo ?? '',
219
+    attrib03: row.attrib03 ?? '',
218
     materialName: row.materialName ?? '',
220
     materialName: row.materialName ?? '',
219
     stGrade: row.ST_GRADE ?? row.stGrade ?? '',
221
     stGrade: row.ST_GRADE ?? row.stGrade ?? '',
220
-    outQuantity: row.outQuantity ?? row.OUT_QUANTITY ?? '',
221
-    outWeight: row.outWeight ?? row.OUT_WEIGHT ?? '',
222
-    orderNo: row.orderNo ?? '',
223
-    contractNo: row.contractNo ?? '',
224
-    bundleNo: row.bundleNo ?? '',
222
+    quantity: row.quantity ?? row.QUANTITY ?? '',
223
+    weight: row.weight ?? row.WEIGHT ?? '',
224
+    attrib01: row.attrib01 ?? '',
225
+    attrib02: row.attrib02 ?? '',
226
+    attrib04: row.attrib04 ?? '',
227
+    attrib05: row.attrib05 ?? '',
225
     prodPlace: row.prodPlace ?? '',
228
     prodPlace: row.prodPlace ?? '',
226
     ownerCompany: row.ownerCompany ?? '',
229
     ownerCompany: row.ownerCompany ?? '',
227
     customerCompany: row.customerCompany ?? row.CustomerCompany ?? '',
230
     customerCompany: row.customerCompany ?? row.CustomerCompany ?? '',
228
     deliveryAddress: row.deliveryAddress ?? '',
231
     deliveryAddress: row.deliveryAddress ?? '',
229
-    remark: row.remark ?? ''
232
+    remark1: row.remark1 ?? ''
230
   })
233
   })
231
   
234
   
232
   // 获取选项数据
235
   // 获取选项数据
245
 // 确定
248
 // 确定
246
 const handleConfirm = async () => {
249
 const handleConfirm = async () => {
247
   try {
250
   try {
251
+    // 构建保存参数,使用 id 而不是 storeId
252
+    const { storeId, ...saveData } = form
253
+    
254
+    // 确保使用 id 字段进行保存
255
+    if (!saveData.id) {
256
+      ElMessage.warning('缺少必要的数据ID')
257
+      return
258
+    }
259
+    
248
     // TODO: 根据实际API调整接口地址和参数格式
260
     // TODO: 根据实际API调整接口地址和参数格式
249
     const url = 'sto/OutRecord/update' // 需要根据实际API调整
261
     const url = 'sto/OutRecord/update' // 需要根据实际API调整
250
     const param = {
262
     const param = {
251
-      json: JSON.stringify(form)
263
+      json: JSON.stringify(saveData)
252
     }
264
     }
253
     
265
     
254
     const response = await proxy.$axios.post(url, param)
266
     const response = await proxy.$axios.post(url, param)

+ 52
- 30
src/views/sto/ware/storeChange.vue View File

42
         <el-row :gutter="10">
42
         <el-row :gutter="10">
43
           <el-col :span="6">
43
           <el-col :span="6">
44
             <el-form-item label="规格型号">
44
             <el-form-item label="规格型号">
45
-              <el-input v-model="query.materialStandard" clearable placeholder="请输入规格型号" />
45
+              <el-input v-model="query.attrib03" clearable placeholder="请输入规格型号" />
46
             </el-form-item>
46
             </el-form-item>
47
           </el-col>
47
           </el-col>
48
           <el-col :span="6">
48
           <el-col :span="6">
52
           </el-col>
52
           </el-col>
53
           <el-col :span="6">
53
           <el-col :span="6">
54
             <el-form-item label="材料号">
54
             <el-form-item label="材料号">
55
-              <el-input v-model="query.inProdNo" clearable placeholder="请输入材料号" />
55
+              <el-input v-model="query.prodNo" clearable placeholder="请输入材料号" />
56
             </el-form-item>
56
             </el-form-item>
57
           </el-col>
57
           </el-col>
58
           <el-col :span="6">
58
           <el-col :span="6">
59
             <el-form-item label="订单号">
59
             <el-form-item label="订单号">
60
-              <el-input v-model="query.orderNo" clearable placeholder="请输入订单号" />
60
+              <el-input v-model="query.attrib01" clearable placeholder="请输入订单号" />
61
             </el-form-item>
61
             </el-form-item>
62
           </el-col>
62
           </el-col>
63
         </el-row>
63
         </el-row>
65
         <el-row :gutter="10">
65
         <el-row :gutter="10">
66
           <el-col :span="6">
66
           <el-col :span="6">
67
             <el-form-item label="合约号">
67
             <el-form-item label="合约号">
68
-              <el-input v-model="query.contractNo" clearable placeholder="请输入合约号" />
68
+              <el-input v-model="query.attrib02" clearable placeholder="请输入合约号" />
69
             </el-form-item>
69
             </el-form-item>
70
           </el-col>
70
           </el-col>
71
+          <el-col :span="6">
72
+            <el-form-item label="捆绑号">
73
+              <el-input v-model="query.attrib04" clearable placeholder="请输入捆绑号" />
74
+            </el-form-item>
75
+          </el-col>
76
+        </el-row>
77
+
78
+        <el-row :gutter="10">
71
           <el-col :span="6">
79
           <el-col :span="6">
72
             <el-form-item label="货权单位">
80
             <el-form-item label="货权单位">
73
               <el-select
81
               <el-select
239
             {{ row.ST_GRADE ?? row.stGrade ?? '-' }}
247
             {{ row.ST_GRADE ?? row.stGrade ?? '-' }}
240
           </template>
248
           </template>
241
         </el-table-column>
249
         </el-table-column>
250
+        <el-table-column label="规格型号" min-width="160" header-align="center" align="center" show-overflow-tooltip>
251
+          <template #default="{ row }">
252
+            {{ row.attrib03 ?? row.materialStandard ?? '-' }}
253
+          </template>
254
+        </el-table-column>
242
         <el-table-column prop="inDtm" label="入库时间" min-width="180" header-align="center" align="center" show-overflow-tooltip />
255
         <el-table-column prop="inDtm" label="入库时间" min-width="180" header-align="center" align="center" show-overflow-tooltip />
243
         <el-table-column prop="ownerCompany" label="货权公司" min-width="160" header-align="center" align="center" show-overflow-tooltip />
256
         <el-table-column prop="ownerCompany" label="货权公司" min-width="160" header-align="center" align="center" show-overflow-tooltip />
244
         <el-table-column prop="receivingCompany" label="收货公司" min-width="160" header-align="center" align="center" show-overflow-tooltip />
257
         <el-table-column prop="receivingCompany" label="收货公司" min-width="160" header-align="center" align="center" show-overflow-tooltip />
247
             {{ row.customerCompany ?? row.CustomerCompany ?? '-' }}
260
             {{ row.customerCompany ?? row.CustomerCompany ?? '-' }}
248
           </template>
261
           </template>
249
         </el-table-column>
262
         </el-table-column>
250
-        <el-table-column prop="inProdNo" label="材料号" min-width="140" header-align="center" align="center" show-overflow-tooltip />
251
-        <el-table-column label="出库车号" min-width="140" header-align="center" align="center" show-overflow-tooltip>
252
-          <template #default="{ row }">
253
-            {{ row.outTruckNo ?? row.carNo ?? '-' }}
254
-          </template>
255
-        </el-table-column>
256
-        <el-table-column prop="orderNo" label="订单号" min-width="160" header-align="center" align="center" show-overflow-tooltip />
257
-        <el-table-column prop="contractNo" label="合约号" min-width="160" header-align="center" align="center" show-overflow-tooltip />
258
-        <el-table-column label="出库重量" min-width="140" header-align="center" align="right" show-overflow-tooltip>
263
+        <el-table-column prop="prodNo" label="材料号" min-width="140" header-align="center" align="center" show-overflow-tooltip />
264
+        <el-table-column label="入库车号" min-width="140" header-align="center" align="center" show-overflow-tooltip>
259
           <template #default="{ row }">
265
           <template #default="{ row }">
260
-            {{ row.outWeight ?? row.OUT_WEIGHT ?? '-' }}
266
+            {{ row.inTruckNo ?? row.carNo ?? '-' }}
261
           </template>
267
           </template>
262
         </el-table-column>
268
         </el-table-column>
263
-        <el-table-column label="出库数量" min-width="140" header-align="center" align="right" show-overflow-tooltip>
269
+        <el-table-column prop="attrib01" label="订单号" min-width="160" header-align="center" align="center" show-overflow-tooltip />
270
+        <el-table-column prop="attrib02" label="合约号" min-width="160" header-align="center" align="center" show-overflow-tooltip />
271
+        <el-table-column prop="attrib04" label="捆包号" min-width="160" header-align="center" align="center" show-overflow-tooltip />
272
+        <el-table-column prop="attrib05" label="产地" min-width="160" header-align="center" align="center" show-overflow-tooltip />
273
+        <el-table-column label="重量" min-width="140" header-align="center" align="right" show-overflow-tooltip>
264
           <template #default="{ row }">
274
           <template #default="{ row }">
265
-            {{ row.outQuantity ?? row.OUT_QUANTITY ?? '-' }}
275
+            {{ row.weight ?? row.WEIGHT ?? '-' }}
266
           </template>
276
           </template>
267
         </el-table-column>
277
         </el-table-column>
268
-        <el-table-column label="出库标记" width="140" header-align="center" align="center">
278
+        <el-table-column label="数量" min-width="140" header-align="center" align="right" show-overflow-tooltip>
269
           <template #default="{ row }">
279
           <template #default="{ row }">
270
-            <el-tag :type="flagTagType(row.outFlag)" effect="plain">
271
-              {{ flagLabel(row.outFlag) }}
272
-            </el-tag>
280
+            {{ row.quantity ?? row.QUANTITY ?? '-' }}
273
           </template>
281
           </template>
274
         </el-table-column>
282
         </el-table-column>
283
+<!--        <el-table-column label="出库标记" width="140" header-align="center" align="center">-->
284
+<!--          <template #default="{ row }">-->
285
+<!--            <el-tag :type="flagTagType(row.outFlag)" effect="plain">-->
286
+<!--              {{ flagLabel(row.outFlag) }}-->
287
+<!--            </el-tag>-->
288
+<!--          </template>-->
289
+<!--        </el-table-column>-->
275
         <el-table-column prop="deliveryAddress" label="收货地址" min-width="200" header-align="center" align="center" show-overflow-tooltip />
290
         <el-table-column prop="deliveryAddress" label="收货地址" min-width="200" header-align="center" align="center" show-overflow-tooltip />
276
 <!--        <el-table-column prop="outDtm" label="出库时间" min-width="180" header-align="center" align="center" show-overflow-tooltip />-->
291
 <!--        <el-table-column prop="outDtm" label="出库时间" min-width="180" header-align="center" align="center" show-overflow-tooltip />-->
292
+        <el-table-column prop="remark1" label="备注" min-width="160" header-align="center" align="center" show-overflow-tooltip />
277
       </el-table>
293
       </el-table>
278
     </el-card>
294
     </el-card>
279
 
295
 
378
   materialName: '',
394
   materialName: '',
379
     stGrade: '',
395
     stGrade: '',
380
   materialStandard: '',
396
   materialStandard: '',
397
+    attrib03: '',
381
     bundleNo: '',
398
     bundleNo: '',
382
-    inProdNo: '',
383
-    orderNo: '',
384
-    contractNo: '',
399
+    prodNo: '',
400
+    attrib01: '',
401
+    attrib02: '',
402
+    attrib04: '',
403
+    attrib05: '',
404
+    remark1: '',
385
   ownerCompany: '',
405
   ownerCompany: '',
386
     customerCompany: '',
406
     customerCompany: '',
387
     outTruckNo: '',
407
     outTruckNo: '',
416
     materialName: query.materialName,
436
     materialName: query.materialName,
417
     stGrade: query.stGrade,
437
     stGrade: query.stGrade,
418
     materialStandard: query.materialStandard,
438
     materialStandard: query.materialStandard,
439
+    attrib03: query.attrib03,
419
     bundleNo: query.bundleNo,
440
     bundleNo: query.bundleNo,
420
-    inProdNo: query.inProdNo,
421
-    orderNo: query.orderNo,
422
-    contractNo: query.contractNo,
441
+    prodNo: query.prodNo,
442
+    attrib01: query.attrib01,
443
+    attrib02: query.attrib02,
444
+    attrib04: query.attrib04,
423
     ownerCompany: query.ownerCompany,
445
     ownerCompany: query.ownerCompany,
424
     customerCompany: query.customerCompany,
446
     customerCompany: query.customerCompany,
425
     outTruckNo: query.outTruckNo,
447
     outTruckNo: query.outTruckNo,
638
 const executeCancelInbound = async () => {
660
 const executeCancelInbound = async () => {
639
   try {
661
   try {
640
     // 收集选中的行ID
662
     // 收集选中的行ID
641
-    const ids = multipleSelection.value.map(row => row.id || row.inProdNo).filter(id => id)
663
+    const ids = multipleSelection.value.map(row => row.id || row.prodNo).filter(id => id)
642
     
664
     
643
     if (ids.length === 0) {
665
     if (ids.length === 0) {
644
       ElMessage.warning('选中的数据中没有有效的ID')
666
       ElMessage.warning('选中的数据中没有有效的ID')
716
 const executeLock = async () => {
738
 const executeLock = async () => {
717
   try {
739
   try {
718
     // 收集选中的行ID
740
     // 收集选中的行ID
719
-    const ids = multipleSelection.value.map(row => row.id || row.inProdNo).filter(id => id)
741
+    const ids = multipleSelection.value.map(row => row.id || row.prodNo).filter(id => id)
720
     
742
     
721
     if (ids.length === 0) {
743
     if (ids.length === 0) {
722
       ElMessage.warning('选中的数据中没有有效的ID')
744
       ElMessage.warning('选中的数据中没有有效的ID')
777
 const executeUnlock = async () => {
799
 const executeUnlock = async () => {
778
   try {
800
   try {
779
     // 收集选中的行ID
801
     // 收集选中的行ID
780
-    const ids = multipleSelection.value.map(row => row.id || row.inProdNo).filter(id => id)
802
+    const ids = multipleSelection.value.map(row => row.id || row.prodNo).filter(id => id)
781
     
803
     
782
     if (ids.length === 0) {
804
     if (ids.length === 0) {
783
       ElMessage.warning('选中的数据中没有有效的ID')
805
       ElMessage.warning('选中的数据中没有有效的ID')
838
 const executeInStock = async () => {
860
 const executeInStock = async () => {
839
   try {
861
   try {
840
     // 收集选中的行ID
862
     // 收集选中的行ID
841
-    const ids = multipleSelection.value.map(row => row.id || row.inProdNo).filter(id => id)
863
+    const ids = multipleSelection.value.map(row => row.id || row.prodNo).filter(id => id)
842
     
864
     
843
     if (ids.length === 0) {
865
     if (ids.length === 0) {
844
       ElMessage.warning('选中的数据中没有有效的ID')
866
       ElMessage.warning('选中的数据中没有有效的ID')

Loading…
Cancel
Save