From 43981545c5aefdb4248d89e3121a200d53332c7a Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 22 十月 2024 17:44:21 +0800
Subject: [PATCH] 1. 添加子任务编辑功能(暂存)

---
 src/views/fysp/task/components/CompSubTaskList.vue |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/views/fysp/task/components/CompSubTaskList.vue b/src/views/fysp/task/components/CompSubTaskList.vue
index b678652..fa2e87d 100644
--- a/src/views/fysp/task/components/CompSubTaskList.vue
+++ b/src/views/fysp/task/components/CompSubTaskList.vue
@@ -2,7 +2,7 @@
   <el-row justify="space-between">
     <el-text>鍗曟棩璁″垝</el-text>
     <el-button
-      v-show="create && modelValue && modelValue.length > 0"
+      v-show="create && data && data.length > 0"
       type="success"
       size="small"
       @click="add"
@@ -13,16 +13,21 @@
   <div>
     <el-scrollbar v-loading="loading" :height="height">
       <el-space
-        v-if="modelValue && modelValue.length > 0"
+        v-if="data && data.length > 0"
         fill
         :fill-ratio="100"
         direction="vertical"
         style="width: 100%"
       >
-        <ItemSubTask v-for="s in modelValue" :key="s.guid" :item="s">
+        <ItemSubTask v-for="s in data" :key="s.guid" :item="s">
           <template #default="{ item }">
             <el-space direction="vertical">
-              <el-button plain type="primary" size="small" @click="edit(item)"
+              <el-button
+                :disabled="item.status != '鏈墽琛�'"
+                plain
+                type="primary"
+                size="small"
+                @click="edit(item)"
                 >缂栬緫</el-button
               >
               <el-button
@@ -38,7 +43,7 @@
       </el-space>
       <div v-else>
         <el-empty description="鏃犱换鍔¤褰�" />
-        <el-row justify="center">
+        <el-row v-if="create" justify="center">
           <el-button type="success" size="small" @click="add"
             >娣诲姞浠诲姟</el-button
           >
@@ -57,7 +62,7 @@
   >
     <CompSubTaskEdit
       v-model="activeItem"
-      @submit="dialogVisible = false"
+      @submit="onEditSubmit"
       @cancel="dialogVisible = false"
     ></CompSubTaskEdit>
   </el-dialog>
@@ -78,11 +83,11 @@
   loading: Boolean
 });
 
-const dialogVisible = ref(false)
-const activeItem = ref(null)
+const dialogVisible = ref(false);
+const activeItem = ref(null);
 const data = computed(() => props.modelValue);
 
-const emit = defineEmits(['edit', 'add', 'remove', 'update:modelValue']);
+const emit = defineEmits(['submit', 'add', 'remove', 'update:modelValue']);
 
 function remove(item) {
   if (item.status == '鏈墽琛�') {
@@ -101,16 +106,25 @@
 }
 
 function edit(item) {
-  activeItem.value = item
-  dialogVisible.value = true
-  emit('edit');
+  activeItem.value = item;
+  dialogVisible.value = true;
+}
+
+function onEditSubmit(item) {
+  dialogVisible.value = false;
+  const index = data.value.findIndex((v) => {
+    return item.stguid == v.stguid;
+  });
+  data.value.splice(index, 1, item);
+  emit('update:modelValue', data.value);
+  emit('submit');
 }
 
 function add() {
   emit('add');
 }
 
-onUnmounted(()=>{
-  dialogVisible.value = false
-})
+onUnmounted(() => {
+  dialogVisible.value = false;
+});
 </script>

--
Gitblit v1.9.3