|
|
@@ -49,6 +49,14 @@
|
|
49
|
49
|
<span>{{ scope.row.useWeight ? scope.row.useWeight.toFixed(3) : '0.000' }}</span>
|
|
50
|
50
|
</template>
|
|
51
|
51
|
</el-table-column>
|
|
|
52
|
+ <!-- 新增启用状态列 -->
|
|
|
53
|
+ <el-table-column prop="enableStatus" label="启用状态" width="100" align="center">
|
|
|
54
|
+ <template #default="scope">
|
|
|
55
|
+ <el-tag :type="scope.row.enableStatus === '1' ? 'success' : 'info'">
|
|
|
56
|
+ {{ scope.row.enableStatus === '1' ? '已启用' : '未启用' }}
|
|
|
57
|
+ </el-tag>
|
|
|
58
|
+ </template>
|
|
|
59
|
+ </el-table-column>
|
|
52
|
60
|
<el-table-column label="操作" width="120" fixed="right">
|
|
53
|
61
|
<template #default="scope">
|
|
54
|
62
|
<el-button plain type="warning" size="mini" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
@@ -71,23 +79,46 @@
|
|
71
|
79
|
</el-card>
|
|
72
|
80
|
|
|
73
|
81
|
<!-- 新增/编辑对话框 -->
|
|
74
|
|
- <el-dialog title="转移数量修改" v-model="dialogVisible" width="500px" :close-on-click-modal="false">
|
|
|
82
|
+ <el-dialog :title="form.id ? '货权调整' : '新增货权'" v-model="dialogVisible" width="500px" :close-on-click-modal="false">
|
|
75
|
83
|
<el-form :model="form" label-width="120px" label-position="right" :rules="rules" ref="ruleFormRef">
|
|
76
|
84
|
<el-form-item label="上游客户" prop="uperCustomerId">
|
|
77
|
|
- <el-select v-model="form.uperCustomerId" filterable placeholder="请选择上游客户" clearable style="width: 100%;">
|
|
|
85
|
+ <el-select
|
|
|
86
|
+ v-model="form.uperCustomerId"
|
|
|
87
|
+ filterable
|
|
|
88
|
+ placeholder="请选择上游客户"
|
|
|
89
|
+ :disabled="!!form.id"
|
|
|
90
|
+ style="width: 100%;">
|
|
78
|
91
|
<el-option v-for="item in optionsCustomer" :key="item.id" :label="item.customerNm" :value="item.id" />
|
|
79
|
92
|
</el-select>
|
|
80
|
93
|
</el-form-item>
|
|
81
|
94
|
<el-form-item label="客户" prop="customerId">
|
|
82
|
|
- <el-select v-model="form.customerId" filterable placeholder="请选择客户" clearable style="width: 100%;">
|
|
|
95
|
+ <el-select
|
|
|
96
|
+ v-model="form.customerId"
|
|
|
97
|
+ filterable
|
|
|
98
|
+ placeholder="请选择客户"
|
|
|
99
|
+ :disabled="!!form.id"
|
|
|
100
|
+ style="width: 100%;">
|
|
83
|
101
|
<el-option v-for="item in optionsCustomer" :key="item.id" :label="item.customerNm" :value="item.id" />
|
|
84
|
102
|
</el-select>
|
|
85
|
103
|
</el-form-item>
|
|
|
104
|
+ <!-- 编辑时显示启用状态 -->
|
|
|
105
|
+ <el-form-item v-if="form.id" label="启用状态">
|
|
|
106
|
+ <el-tag :type="form.enableStatus === '1' ? 'success' : 'info'">
|
|
|
107
|
+ {{ form.enableStatus === '1' ? '已启用' : '未启用' }}
|
|
|
108
|
+ </el-tag>
|
|
|
109
|
+ </el-form-item>
|
|
86
|
110
|
<el-form-item label="修改内容" prop="subStr">
|
|
87
|
|
- <el-select v-model="form.subStr" placeholder="请选择修改内容" clearable style="width: 100%;">
|
|
|
111
|
+ <el-select
|
|
|
112
|
+ v-model="form.subStr"
|
|
|
113
|
+ placeholder="请选择修改内容"
|
|
|
114
|
+ :disabled="isReduceDisabled"
|
|
|
115
|
+ style="width: 100%;">
|
|
88
|
116
|
<el-option label="增加" value="增加" />
|
|
89
|
|
- <el-option label="减少" value="减少" />
|
|
|
117
|
+ <el-option label="减少" value="减少" :disabled="isReduceDisabled" />
|
|
90
|
118
|
</el-select>
|
|
|
119
|
+ <div v-if="isReduceDisabled" style="color: #f56c6c; font-size: 12px; margin-top: 5px;">
|
|
|
120
|
+ 当前记录已启用且可使用量为0,不能进行减少操作
|
|
|
121
|
+ </div>
|
|
91
|
122
|
</el-form-item>
|
|
92
|
123
|
<el-form-item label="重量" prop="weight">
|
|
93
|
124
|
<el-input v-model="form.weight" type="number" placeholder="请输入重量" style="width: 100%;">
|
|
|
@@ -215,7 +246,8 @@ export default {
|
|
215
|
246
|
subStr: '',
|
|
216
|
247
|
weight: '',
|
|
217
|
248
|
ordNo: '',
|
|
218
|
|
- remark: ''
|
|
|
249
|
+ remark: '',
|
|
|
250
|
+ enableStatus: '0' // 新增启用状态字段
|
|
219
|
251
|
},
|
|
220
|
252
|
// 分页相关
|
|
221
|
253
|
currentPage: 1,
|
|
|
@@ -250,16 +282,39 @@ export default {
|
|
250
|
282
|
{ required: true, message: '请选择修改内容', trigger: 'change' }
|
|
251
|
283
|
],
|
|
252
|
284
|
weight: [
|
|
253
|
|
- { required: true, message: '请输入重量', trigger: 'blur' }
|
|
|
285
|
+ { required: true, message: '请输入重量', trigger: 'blur' },
|
|
|
286
|
+ { validator: this.validateWeight, trigger: 'blur' }
|
|
254
|
287
|
]
|
|
255
|
288
|
}
|
|
256
|
289
|
}
|
|
257
|
290
|
},
|
|
|
291
|
+ computed: {
|
|
|
292
|
+ // 计算是否禁用减少操作
|
|
|
293
|
+ isReduceDisabled() {
|
|
|
294
|
+ if (!this.form.id) {
|
|
|
295
|
+ // 新增时,减少操作不可用
|
|
|
296
|
+ return true
|
|
|
297
|
+ }
|
|
|
298
|
+ // 编辑时,如果启用状态为1且可使用量为0,则禁用减少操作
|
|
|
299
|
+ return this.form.enableStatus === '1' && this.form.sumWeight === 0
|
|
|
300
|
+ }
|
|
|
301
|
+ },
|
|
258
|
302
|
mounted() {
|
|
259
|
303
|
this.getTableData()
|
|
260
|
304
|
this.getAllCustomer()
|
|
261
|
305
|
},
|
|
262
|
306
|
methods: {
|
|
|
307
|
+ // 重量验证
|
|
|
308
|
+ validateWeight(rule, value, callback) {
|
|
|
309
|
+ if (!value) {
|
|
|
310
|
+ callback(new Error('请输入重量'))
|
|
|
311
|
+ } else if (parseFloat(value) <= 0) {
|
|
|
312
|
+ callback(new Error('重量必须大于0'))
|
|
|
313
|
+ } else {
|
|
|
314
|
+ callback()
|
|
|
315
|
+ }
|
|
|
316
|
+ },
|
|
|
317
|
+
|
|
263
|
318
|
// 查询
|
|
264
|
319
|
handleSearch() {
|
|
265
|
320
|
this.currentPage = 1
|
|
|
@@ -282,10 +337,11 @@ export default {
|
|
282
|
337
|
id: '',
|
|
283
|
338
|
uperCustomerId: '',
|
|
284
|
339
|
customerId: '',
|
|
285
|
|
- subStr: '',
|
|
|
340
|
+ subStr: '增加', // 新增时默认为增加
|
|
286
|
341
|
weight: '',
|
|
287
|
342
|
ordNo: '',
|
|
288
|
|
- remark: ''
|
|
|
343
|
+ remark: '',
|
|
|
344
|
+ enableStatus: '0'
|
|
289
|
345
|
}
|
|
290
|
346
|
this.dialogVisible = true
|
|
291
|
347
|
// 清除表单验证
|
|
|
@@ -300,10 +356,12 @@ export default {
|
|
300
|
356
|
id: row.id,
|
|
301
|
357
|
uperCustomerId: row.uperCustomerId,
|
|
302
|
358
|
customerId: row.customerId,
|
|
303
|
|
- subStr: '',
|
|
|
359
|
+ subStr: '增加', // 编辑时默认为增加
|
|
304
|
360
|
weight: '',
|
|
305
|
361
|
ordNo: '',
|
|
306
|
|
- remark: ''
|
|
|
362
|
+ remark: '',
|
|
|
363
|
+ enableStatus: row.enableStatus,
|
|
|
364
|
+ sumWeight: row.sumWeight
|
|
307
|
365
|
}
|
|
308
|
366
|
this.dialogVisible = true
|
|
309
|
367
|
// 清除表单验证
|
|
|
@@ -335,7 +393,8 @@ export default {
|
|
335
|
393
|
handleSave() {
|
|
336
|
394
|
this.$refs.ruleFormRef.validate((valid) => {
|
|
337
|
395
|
if (valid) {
|
|
338
|
|
- const url = 'sto/Cargo/save'
|
|
|
396
|
+ // 使用transfer接口进行货权调整
|
|
|
397
|
+ const url = 'sto/Cargo/transfer'
|
|
339
|
398
|
const param = {
|
|
340
|
399
|
json: JSON.stringify(this.form)
|
|
341
|
400
|
}
|