From 50ef1752b263a76691234d4df612269cbef2f060 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 17 七月 2023 09:40:28 +0800
Subject: [PATCH] 丢失文件

---
 Source/UBCS-WEB/src/components/template/Stage.vue |  249 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 249 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/template/Stage.vue b/Source/UBCS-WEB/src/components/template/Stage.vue
new file mode 100644
index 0000000..8fe6216
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/template/Stage.vue
@@ -0,0 +1,249 @@
+<template>
+    <div>
+        <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page"
+            @on-load="getDataList" @size-change="handleSizePage" @current-change="handleCurrentPage"
+            @row-click="handleRowClick">
+            <template slot-scope="{type,size,row,index}" slot="menu">
+                <el-button icon="el-icon-check" :size="size" :type="type"
+                    @click="handleMaintenance(row, index)">缁存姢</el-button>
+            </template>
+        </avue-crud>
+        <el-dialog title="妯℃澘闃舵" width="50%"  append-to-body="true" :visible.sync="dialogNode">
+            <avue-crud ref="crud" :table-loading="loading" :data="stageData" :option="stageOption" @on-load="getStagelist"
+                @row-click="handleRowStageClick">
+                <template slot-scope="{type,size,row,index}" slot="menu">
+                    <el-button icon="el-icon-check" :size="size" :type="type"
+                        @click="handleMaintenanceTransfer(row, index)">缁存姢</el-button>
+                </template>
+            </avue-crud>
+        </el-dialog>
+        <table-transfer v-if="flag" :visible.sync="dialogTransfer" v-model="attributeValue" :dataList="attributeData"
+            :columns="columns" keyName="oid" @save="handleSave" @close="handelClose"></table-transfer>
+    </div>
+</template>
+
+<script>
+import { getFlowpathList, stagelist, attributeListRight, attributeList, attributeSave } from '@/api/template/flowpath.js'
+import TableTransfer from '@/components/template/TableTransfer'
+export default {
+    name: 'Stage',
+    components: {
+        TableTransfer
+    },
+    props: {
+        code: {
+            typeof: String,
+            required: true,
+            default: ""
+        }
+    },
+    watch: {
+
+    },
+    data() {
+        const options = {
+            height: "auto",
+            border: true,
+            addBtn: false,
+            align: 'center',
+            menuAlign: 'center',
+            index: true,
+            searchMenuSpan: 8,
+            searchBtn: false,
+            emptyBtn: false,
+            columnBtn: false,
+            delBtn: false,
+            refreshBtn: false,
+            header: false,
+            editBtn: false,
+        }
+        return {
+            attributeData: [],
+            attributeValue: [],
+            flag: false,
+            dialogTransfer: false,
+            dialogNode: false,
+            visibleTable: false,
+            loading: false,
+            page: {
+                currentPage: 1,
+                pageSize: 10,
+                total: 0
+            },
+            modelKey: '',
+            data: [],
+            stageData: [],
+            saveParam: {},
+            columns: [
+                {
+                    key: "oid",
+                    label: "oid",
+                    visible: false,
+                },
+                {
+                    key: "id",
+                    label: "灞炴�х紪鍙�",
+                    visible: true,
+                },
+                {
+                    key: "name",
+                    label: "灞炴�у悕绉�",
+                    visible: true,
+                },
+                {
+                    key: "attributeGroup",
+                    label: "灞炴�у垎缁�",
+                    visible: true,
+                },
+            ],
+            option: {
+                ...options,
+                column: [
+                    { label: '妯℃澘缂栧彿', prop: 'modelKey' },
+                    { label: '妯℃澘鍚嶇О', prop: 'modelName' },
+                    { label: '鎻忚堪', prop: 'buttonTypeValue' },
+                ]
+            },
+            stageOption: {
+                ...options,
+              height:620,
+                column: [
+                    { label: '闃舵缂栧彿', prop: 'taskId' },
+                    { label: '闃舵鍚嶇О', prop: 'taskName' },
+                ]
+            },
+        }
+    },
+    methods: {
+        setTable(data, list) {
+            return data.map(item => {
+                if (list.length !== 0) {
+                    list.forEach(element => {
+                        if (item.id === element.attrId) item.checked = true
+                    });
+                }
+                return item
+            })
+        },
+        // 鑾峰彇鍒楄〃
+        async getDataList() {
+            this.loading = false
+            const { pageSize, currentPage } = this.page
+            let param = { size: pageSize, current: currentPage }
+            const response = await getFlowpathList({ ...param, ...{ templateId: this.code } })
+            if (response.status === 200) {
+                console.log(response)
+                this.loading = false
+                const data = response.data.data
+                this.data = data.records
+                this.page.total = data.total
+            } else this.loading = false
+        },
+        // 鑾峰彇闃舵鍒楄〃
+        async getStagelist() {
+            this.loading = false
+            console.log(this.modelKey)
+            const response = await stagelist({ modelKey: this.modelKey })
+            if (response.status === 200) {
+                this.loading = false
+                console.log(response.data)
+                this.stageData = response.data.data
+            } else this.loading = false
+        },
+        // 鑾峰彇鍏ㄩ儴灞炴��
+        async getAttributeList() {
+            const response = await attributeList({ 'conditionMap[classifyTemplateOid]': this.code })
+            const responseRight = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
+            if (response.status === 200 && responseRight.status === 200) {
+                let datas = response.data.data.records
+                let dataRight = responseRight.data.data
+                datas = datas.map(item => {
+                    const { oid, id, name, attributeGroup } = item
+                    item = { oid, id, name, attributeGroup, ...{ checked: false } }
+                    if (dataRight.length !== 0) {
+                        dataRight.forEach(element => { if (item.id === element.attrId) item.checked = true });
+                    }
+                    return item
+                })
+                console.log(datas)
+                let dataValue = datas.map(item => item.checked ? item.oid : undefined)
+                this.attributeValue = dataValue.filter(item => item)
+                this.attributeData = datas
+                this.flag = true
+            }
+        },
+        // 鑾峰彇宸蹭繚瀛樺睘鎬�
+        async getAttributeListRight() {
+            const response = await attributeListRight({ templateId: this.code, modelKey: this.modelKey, taskId: this.saveParam.taskId })
+            if (response.status === 200) {
+                let data = response.data.data
+                data = data.map(item => {
+                    const { attrId, attrName, attrGroup } = item
+                    return { attrId, attrName, attrGroup }
+                })
+                this.listRight = data
+            }
+        },
+        // 缁存姢
+        handleMaintenance(row) {
+            console.log(row)
+            this.dialogNode = true
+            this.modelKey = row.modelKey
+            this.saveParam.modelKey = row.modelKey
+            this.getStagelist()
+        },
+        // 缁存姢
+        handleMaintenanceTransfer(row) {
+            this.saveParam.taskId = row.taskId
+            this.saveParam.taskName = row.taskName
+            this.getAttributeList()
+            this.$nextTick(() => {
+                this.dialogTransfer = true
+            })
+        },
+        handleRowClick(row) {
+            console.log(row)
+            this.modelKey = row.modelKey
+            this.saveParam.modelKey = row.modelKey
+            this.dialogNode = true
+        },
+        handleRowStageClick(row) {
+            this.saveParam.taskId = row.taskId
+            this.saveParam.taskName = row.taskName
+            this.getAttributeList()
+            this.$nextTick(() => {
+                this.dialogTransfer = true
+            })
+        },
+        async handleSave(event) {
+            console.log(event)
+            const data = event.map(item => {
+                const { id, name, attributeGroup } = item
+                return { attrId: id, attrName: name, attrGroup: attributeGroup }
+            })
+            let param = {
+                templateId: this.code,
+                processStageAttr: data,
+                ...this.saveParam
+            }
+            console.log(this.saveParam)
+            console.log(data)
+            const response = await attributeSave(param)
+            if (response.status === 200) {
+                // loading()
+                console.log(response)
+                this.$message({
+                    type: 'success',
+                    message: '鏂板鏁版嵁鎴愬姛锛�'
+                })
+                this.flag = false
+                // done()
+                // this.getDataList()
+            }
+        },
+        handelClose() {
+            this.flag = false
+        }
+    }
+}
+</script>

--
Gitblit v1.9.3