Просмотр исходного кода

feat(palletManage): 增加货盘重新发布功能并优化修改逻辑

- 在货盘列表的操作列中添加"重新发布"按钮
- 修改"编辑"按钮,支持两种编辑模式:修改货盘信息和重新发布货盘
- 优化 handleEdit 函数,支持不同的 releaseType 参数
- 更新表单提交逻辑,根据 releaseType 显示不同的确认提示信息
- 重构代码结构,提高可维护性和可读性
wzg 8 месяцев назад
Родитель
Сommit
70b9768b9c
1 измененных файлов с 26 добавлено и 10 удалено
  1. 26 10
      src/views/workStation/palletManage.vue

+ 26 - 10
src/views/workStation/palletManage.vue

@@ -83,12 +83,7 @@
 
       <el-table-column label="操作" width="220" align="center">
         <template #default="scope">
-          <el-button
-            type="primary"
-            text
-            @click="handleEdit(scope.row)"
-            v-if="scope.row.status != 2"
-          >
+          <el-button type="primary" text @click="handleEdit(scope.row, 1)">
             修改
           </el-button>
           <el-button
@@ -107,6 +102,14 @@
           >
             结束发布
           </el-button>
+          <el-button
+            v-if="scope.row.status === 2"
+            type="warning"
+            text
+            @click="handleEdit(scope.row, 2)"
+          >
+            重新发布
+          </el-button>
           <!-- <el-button type="danger" text @click="deletePallet(scope.row)">
             删除
           </el-button> -->
@@ -293,8 +296,7 @@ function handleAdd() {
 }
 
 // 编辑
-function handleEdit(row) {
-  dialogTitle.value = "修改货盘";
+function handleEdit(row, releaseType) {
   isAdd.value = false;
   formData.palletId = row.id;
   formData.cargoName = row.cargoName;
@@ -303,7 +305,10 @@ function handleEdit(row) {
   formData.cargoTons = row.cargoTons || 0;
   formData.contactName = row.contactName;
   formData.contactPhone = row.contactPhone;
-  formData.releaseType = 1; // 修改时默认为保存修改
+  formData.status = row.status;
+  formData.releaseType = releaseType;
+  dialogTitle.value =
+    formData.releaseType === 2 ? "重新发布货盘" : "修改货盘信息";
 
   dialogVisible.value = true;
 }
@@ -329,11 +334,22 @@ async function handleChangeStatus(row, status) {
   }
 }
 
+// 重新发布货盘
+async function rePublishPallet(row) {}
+
 // 提交表单
 async function submitForm() {
   try {
     await formRef.value.validate();
-    if (!(await confirm(isAdd.value ? "确认新增货盘?" : "确认修改货盘?")))
+    if (
+      !(await confirm(
+        isAdd.value
+          ? "确认新增货盘?"
+          : formData.releaseType === 2
+          ? "重新发布货盘?"
+          : "修改货盘信息?"
+      ))
+    )
       return;
     const apiMethod = isAdd.value ? api.addPallet : api.modifyPallet;
     const params = { ...formData };