From 55c9cc6f424168a00ebd91a1a74a5a929ce0bdb4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 11 八月 2025 15:14:37 +0800
Subject: [PATCH] 替换发起补充字段

---
 src/views/flow/components/TodolistLeft.vue |  108 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 87 insertions(+), 21 deletions(-)

diff --git a/src/views/flow/components/TodolistLeft.vue b/src/views/flow/components/TodolistLeft.vue
index 66fb71b..da9210d 100644
--- a/src/views/flow/components/TodolistLeft.vue
+++ b/src/views/flow/components/TodolistLeft.vue
@@ -1,22 +1,25 @@
 <!--
  * @Date: 2025-07-01 20:45:15
  * @LastEditors: gaoshp
- * @LastEditTime: 2025-07-08 20:03:15
+ * @LastEditTime: 2025-08-06 20:40:36
  * @FilePath: /mdmweb/src/views/flow/components/TodolistLeft.vue
 -->
 <template>
     <basic-container>
-        <div class="tool" v-show="row.taskDefinitionKey === 'programmingTask'">
-            <el-button type="primary" @click="addApp">娣诲姞绋嬪簭</el-button>
+        <div class="tool" v-show="['programmingTask','cureProgramTask','repalceProgrammingTask'].includes(row.taskDefinitionKey)">
+            <avue-form :option="attOption"
+             v-model="attForm"
+             :upload-after="uploadAfter" class="att-box"></avue-form>
         </div>
         <el-table :data="tableData" border @row-click="showContent" max-height="200">
-            <el-table-column prop="machineCode" label="鍔犲伐鏈哄簥">
-            </el-table-column>
+            <!-- <el-table-column prop="machineCode" label="鍔犲伐鏈哄簥">
+            </el-table-column> -->
+			<el-table-column type="index" label="#" width="40" align="center"/>
             <el-table-column prop="name" label="绋嬪簭鍚嶇О">
             </el-table-column>
-            <el-table-column fixed="right" label="鎿嶄綔" width="100">
-            <template #default="scope" v-show="row.taskDefinitionKey === 'programmingTask'">
-                <el-button type="text" size="small" @click.stop="del(scope.$index,scope.row)">鍒犻櫎</el-button>
+            <el-table-column fixed="right" label="鎿嶄綔" width="60" align="center">
+            <template #default="scope" >
+                <el-button v-show="['programmingTask','cureProgramTask','repalceProgrammingTask'].includes(row.taskDefinitionKey)" type="text" size="small" @click.stop="del(scope.$index,scope.row)">鍒犻櫎</el-button>
             </template>
             </el-table-column>
         </el-table>
@@ -39,7 +42,7 @@
 </template>
 
 <script>
-import { getAppList,getSelectedAppList,getContent } from '@/api/flow/todolist';
+import { getAppList,getSelectedAppList,getContent,removeAtt} from '@/api/flow/todolist';
 export default {
     props: {
         row: {
@@ -48,6 +51,28 @@
     },
     data() {
         return {
+            showContentId: '',
+            attForm: {
+                att: '',
+            }, //绋嬪簭涓婁紶琛ㄥ崟
+            attOption: {
+                submitBtn: false,
+                emptyBtn: false,
+                menu: false,
+                column: [
+                    {
+                        label: '娣诲姞绋嬪簭',
+                        prop: 'att',
+                        type: 'upload',
+                        multiple: true,
+                        action: '/api/blade-mdm/flow/mgr/ncupload',
+                        span: 24,
+                        data: {
+                            processInstanceId: this.row.processInstanceId
+                        },
+                    }
+                ]
+            }, //绋嬪簭涓婁紶
             tableData: [],//宸查�夌▼搴�
             appContent: '',//绋嬪簭鍐呭
             appDialog: false,
@@ -94,19 +119,33 @@
         }
     },
     mounted() {
-        console.log(this.row,'row')
-        getSelectedAppList(this.row.processInstanceId).then(res => {
-            if (res.data.code !== 200) {
-                this.$message.error('鑾峰彇宸查�夌▼搴忓け璐�');
-                return;
-            } else {
-                this.tableData = res.data.data || [];
-            }
-            this.$emit('selection-change',this.tableData)
-        })
+        this.getAttList();
         this.onLoad(this.page);
     },
     methods: {
+        uploadAfter(res, done, loading, column) {
+            if (res.code === 200) {
+                this.getAttList();
+                this.$message.success('涓婁紶鎴愬姛');
+                this.attForm.att = '';
+                return done();
+            } else {
+                console.log(res)
+                this.$message.warning(res.msg || '涓婁紶澶辫触');
+                done()
+            }
+        },
+        getAttList () {
+            getSelectedAppList(this.row.processInstanceId).then(res => {
+                if (res.data.code !== 200) {
+                    this.$message.error('鑾峰彇宸查�夌▼搴忓け璐�');
+                    return;
+                } else {
+                    this.tableData = res.data.data || [];
+                }
+                // this.$emit('selection-change',this.tableData)
+            })
+        },
         addApp() {
             this.appDialog = true;
         },
@@ -136,6 +175,11 @@
             this.$emit('selection-change',this.tableData)
         },
         showContent (row, column, event) {
+            if(!row?.id) {
+                this.showContentId = ''
+                return this.appContent = '';
+            }
+            this.showContentId = row.id
             getContent(row.id).then(res => {
                 if(res.data.code === 200) {
                     this.appContent = res.data.data
@@ -145,8 +189,18 @@
             })
         },
         del (index,row) {
-            this.tableData = this.tableData.filter(item => item.id !== row.id);
-            this.$emit('selection-change',this.tableData)   
+            if(row.id === this.showContentId) {
+                this.showContentId = '';
+                this.showContent(null, null, null);
+            }
+            removeAtt(row.id).then(res => {
+                if(res.data.code === 200) {
+                    this.$message.success('鍒犻櫎鎴愬姛');
+                    this.getAttList();
+                } else {
+                    this.$message.error('鍒犻櫎澶辫触');
+                }
+            })
         }
     },
 }
@@ -167,5 +221,17 @@
     min-height: 100px;
     overflow: auto;
     max-height: 400px;
+    white-space: pre-wrap;
 }
+
+</style>
+<style lang="scss">
+    .att-box {
+        .el-form-item--default {
+            margin-bottom: 0;
+        }
+        .avue-form__menu--center {
+            display: none;
+        }
+    }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3