浏览代码

价格页面

FEI 3 周前
父节点
当前提交
ed09739541
共有 1 个文件被更改,包括 71 次插入12 次删除
  1. 71
    12
      src/views/sto/main/cargo.vue

+ 71
- 12
src/views/sto/main/cargo.vue 查看文件

@@ -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
           }

正在加载...
取消
保存