Kaynağa Gözat

feat:联调复制接口

sunqijun 3 hafta önce
ebeveyn
işleme
fa3c6e3447

+ 35 - 7
src/views/production-safety/productionSafetySystem/safetySystemConstructionWorkPlanManagement/safetySystemConstructionWorkPlanManagement.vue

@@ -129,7 +129,7 @@
                   />
                   <ActionButton text="查看发送对象" @click="handleViewRecipients(scope.row.id)" />
                 </template>
-                <ActionButton text="复制" v-if="Number(scope.row.status) !== 4" @click="handleCopyData(scope.row.id)" />
+                <ActionButton text="复制" @click="handleCopyData(scope.row.id)" />
               </div>
             </template>
             
@@ -145,11 +145,12 @@
         :close-on-press-escape="false"
       >
         <div>
-          <el-form ref="formRef" :model="issueWorkPlanForm" :rules="issueWorkPlanFormRules" label-width="150px">
-            <el-form-item label="计划结束时间:" prop="plannedEndTime" required>
+          <el-form ref="copyFormRef" :model="copyParams" :rules="copyParamsRules" label-width="150px">
+            <el-form-item label="计划结束时间:" prop="plannedEndTime">
               <el-date-picker
-                v-model="issueWorkPlanForm.plannedEndTime"
+                v-model="copyParams.plannedEndTime"
                 type="date"
+                value-format="YYYY-MM-DD"
                 placeholder="请选择完成时间"
                 style="width: 100%"
               />
@@ -507,16 +508,43 @@
   };
   // 复制
   const copyDialogVisible = ref(false)
+  const copyFormRef = ref()
   const copyParams = reactive({
-
+    id: 0,
+    plannedEndTime: ''
+  })
+  const copyParamsRules = ref({
+    plannedEndTime: [{ required: true, message: '请选择计划结束日期', trigger: 'change' }]
   })
   const handleCopyData = (id:number)=>{
     copyDialogVisible.value = true
+    copyParams.id = id
   }
+ const handleValidate = async () => {
+  if (!copyFormRef.value) return false;
+  try {
+
+    await copyFormRef.value.validate();
+    return true;
+
+  } catch (error) {
+
+    return false;
+  }
+};
   // 保存复制
   const handleConfirmCopy = async ()=>{
-    const data = {}
-    await copyWorkPlan(data)
+    const res = await handleValidate();
+    if (!res) return;
+    try {
+        await copyWorkPlan(copyParams)
+        ElMessage.success('复制成功')
+        copyDialogVisible.value = false
+        getTableData();
+    } catch (error:any) {
+        ElMessage.error('复制失败', error.message)
+        copyDialogVisible.value = false
+    }
   }
     // 批量导入
   const batchImportVisible = ref(false);