From 73cbe36fc0d51af44ccac1016f869f9bf08ab827 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期五, 04 七月 2025 19:12:19 +0800
Subject: [PATCH] update

---
 src/views/flow/components/TodolistLeft.vue |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)

diff --git a/src/views/flow/components/TodolistLeft.vue b/src/views/flow/components/TodolistLeft.vue
new file mode 100644
index 0000000..9201af8
--- /dev/null
+++ b/src/views/flow/components/TodolistLeft.vue
@@ -0,0 +1,162 @@
+<!--
+ * @Date: 2025-07-01 20:45:15
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-07-01 23:50:05
+ * @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>
+        <el-table :data="tableData" border @row-click="showContent">
+            <el-table-column prop="code" label="缂栧彿">
+            </el-table-column>
+            <el-table-column prop="name" label="绋嬪簭鍚嶇О">
+            </el-table-column>
+            <el-table-column prop="name" label="宸ュ簭鍚嶇О">
+            </el-table-column>
+        </el-table>
+        <h4>绋嬪簭鍐呭</h4>
+        <div v-html="appContent" class="app-content">
+        </div>
+        <el-dialog title="绋嬪簭閫夋嫨" v-model="appDialog" width="50%" v-if="appDialog">
+            <avue-crud :option="optionApp" v-model="form" v-model:page="page" ref="crud" :data="appData"
+                @current-change="currentChange" @size-change="sizeChange"
+                @on-load="onLoad" @selection-change="selectionChange">
+                <template #search="{ }"></template>
+                <template #search-menu="{ }"></template>
+            </avue-crud>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="appDialog = false">鍙� 娑�</el-button>
+                <el-button type="primary" @click="add">纭� 瀹�</el-button>
+            </div>
+        </el-dialog>
+    </basic-container>
+</template>
+
+<script>
+import { getAppList,getSelectedAppList,getContent } from '@/api/flow/todolist';
+export default {
+    props: {
+        row: {
+            type: Object,
+        }
+    },
+    data() {
+        return {
+            tableData: [],//宸查�夌▼搴�
+            appContent: '',//绋嬪簭鍐呭
+            appDialog: false,
+            form: {},
+            page: {
+                page: 1,
+                size: 10,
+                total: 0,
+            },
+            appData: [],
+            selectionList: [],
+            optionApp: {
+                menu: false,
+                gridBtn: false,
+                addBtn: false,
+                editBtn: false,
+                delBtn: false,
+                columnBtn: false,
+                refreshBtn: false,
+                searchShowBtn: false,
+                tip: false,
+                searchShow: false,
+                dialogWidth: '60%',
+                border: true,
+                index: true,
+                selection: true,
+                menuWidth: 100,
+                dialogClickModal: false,
+                column: [
+                    {
+                        label: 'machineCode',
+                        prop: '璁惧缂栧彿',
+                    },
+                    {
+                        label: '绋嬪簭鍚嶇О',
+                        prop: 'name',
+                    },
+                    {
+                        label: '宸ュ簭鍚嶇О',
+                        prop: 'processName',
+                    },
+                ],
+            },
+        }
+    },
+    mounted() {
+        console.log(this.row,'row')
+        getSelectedAppList(this.row.processInstanceId).then(res => {
+            if (res.data.code !== 200) {
+                this.$message.error('鑾峰彇宸查�夌▼搴忓け璐�');
+                return;
+            } else {
+                this.appData = res.data
+            }
+            this.$emit('selection-change',this.tableData)
+        })
+        this.onLoad(this.page);
+    },
+    methods: {
+        addApp() {
+            this.appDialog = true;
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        onLoad(page, params = {}) {
+            const query = {}
+            getAppList(page.currentPage, page.pageSize, Object.assign(query, params)).then(res => {
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.appData = data.records;
+            });
+        },
+        add () {
+            console.log('add')
+            this.tableData = this.tableData.concat(this.selectionList.filter(item => {
+                return !this.tableData.some(existingItem => existingItem.id === item.id);
+            }));
+            this.appDialog = false;
+            this.$emit('selection-change',this.tableData)
+        },
+        showContent (row, column, event) {
+            getContent(row.id).then(res => {
+                if(res.data.code === 200) {
+                    this.appContent = res.data.data
+                } else {
+                    this.appContent = '绋嬪簭鍐呭鍔犺浇澶辫触'
+                }
+            })
+        }
+    },
+}
+</script>
+
+<style lang="scss" scoped>
+.tool {
+    text-align: right;
+    margin-bottom: 10px;
+}
+
+.dialog-footer {
+    text-align: center;
+}
+.app-content {
+    background-color: #fffee1;
+    padding: 10px;
+    min-height: 100px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3