From eda2e443a82ffcfc07773b103bc6d6f28f922410 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期二, 01 八月 2023 14:27:57 +0800 Subject: [PATCH] 修改样式 --- Source/UBCS-WEB/src/views/modeling/cycle.vue | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 309 insertions(+), 38 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/cycle.vue b/Source/UBCS-WEB/src/views/modeling/cycle.vue index 7c171f6..db3bda8 100644 --- a/Source/UBCS-WEB/src/views/modeling/cycle.vue +++ b/Source/UBCS-WEB/src/views/modeling/cycle.vue @@ -5,9 +5,13 @@ :option="option" :page="page" :table-loading="loading" + selection + @size-change="search('size', ...arguments)" + @current-change="search('current', ...arguments)" @refresh-change="search" @search-change="search('search', ...arguments)" @search-reset="search('reset', ...arguments)" + @selection-change="selectionChange" > <template slot-scope="scope" slot="menuLeft"> <el-button @@ -17,12 +21,22 @@ @click="openDialog('add', {})" >鏂板</el-button > + <el-button + type="danger" + icon="el-icon-delete" + size="small" + @click="batchDel()" + v-if="selectedData.length > 0" + :loading="delLoading" + >鍒犻櫎</el-button + > </template> <template slot-scope="{ row, index }" slot="menu"> <el-button type="text" icon="el-icon-edit" size="mini" + :loading="row.editLoading" @click="openDialog('edit', row)" >缂栬緫</el-button > @@ -30,8 +44,18 @@ type="text" icon="el-icon-view" size="mini" + :loading="row.detailLoading" @click="openDialog('detail', row)" >棰勮</el-button + > + <el-button + class="btn_link_del" + type="text" + icon="el-icon-delete" + size="mini" + :loading="row.delLoading" + @click="rowDel(row)" + >鍒犻櫎</el-button > </template></avue-crud > @@ -51,14 +75,20 @@ v-if="visible" class="cycle_flow" :type="type" - :chart-data="rowData.data || {}" + :chart-data="nodesEdgesData" :chart-data-node-items="flowChartNodeItems" :rowData="rowData" ref="vueFlowchartEditor" @save-data="save" /> <template #footer v-if="type !== 'detail'"> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> + <el-button + type="primary" + size="mini" + @click="submit" + :loading="submitLoading" + >淇濆瓨</el-button + > <el-button type="" size="mini" @click="visible = false">鍙栨秷</el-button> </template> </el-dialog> @@ -78,10 +108,14 @@ pageSize: 10, total: 0, currentPage: 1, - layout: "total, sizes, prev, pager, next, jumper" + layout: "total, sizes, prev, pager, next, jumper", }, option: { - searchMenuSpan: 12, + height:'auto', + calcHeight:20, + tip:false, + selection: true, + searchMenuSpan: 6, searchMenuPosition: "right", border: true, align: "center", @@ -94,6 +128,7 @@ { label: "缂栧彿", prop: "id", + search: true, }, { label: "鍚嶇О", @@ -102,7 +137,7 @@ }, { label: "璧峰鐘舵��", - prop: "startStatusName", + prop: "startStatus", search: true, }, { @@ -116,9 +151,13 @@ visible: false, flowChartNodeItems: [], rowData: {}, + nodesEdgesData: {}, dialogWidth: "50%", type: "detail", loading: false, + delLoading: false, + submitLoading: false, + selectedData: [], }; }, created() { @@ -134,14 +173,18 @@ total: 0, currentPage: 1, }; + } else if (type === "size") { + this.page.pageSize = params; + } else if (type === "current") { + this.page.currentPage = params; } this.loading = true; - console.log( - Object.assign({}, params, this.page), - "Object.assign({}, params, this.page)" - ); - const { limit, page } = this.page; - API.getList(Object.assign({}, params, { limit, page })).then((res) => { + API.getList( + Object.assign({}, params, { + size: this.page.pageSize, + current: this.page.currentPage, + }) + ).then((res) => { this.loading = false; this.data = res.data.data.records; this.page.total = res.data.data.total; @@ -150,45 +193,270 @@ }); }, openDialog(type, row) { - if (type === "detail") { - this.title = "棰勮鐢熷懡鍛ㄦ湡娴佺▼鍥�"; - this.dialogWidth = "50%"; - } else if (type === "edit") { + this.type = type; + if (type === "edit") { + this.$set(row, "editLoading", true); this.title = "缂栬緫鐢熷懡鍛ㄦ湡娴佺▼鍥�"; this.dialogWidth = "95%"; - } else if (type === "add") { + } else if (type === "detail") { + this.$set(row, "detailLoading", true); + this.title = "棰勮鐢熷懡鍛ㄦ湡娴佺▼鍥�"; + this.dialogWidth = "50%"; + } + if (type !== "add") { + API.detail({ id: row.id }).then((res) => { + this.$set(row, "detailLoading", false); + this.$set(row, "editLoading", false); + this.rowData = row; + const nodes = res.data.data.nodes.map((item) => { + item.label = item.id; + item.index = item.indexNum; + return item; + }); + const edges = res.data.data.edges.map((item) => { + item.label = item.name; + item.width = 80; + item.height = 48; + item.index = 1; + item.index = item.indexNum; + return item; + }); + this.nodesEdgesData = { nodes, edges }; + this.visible = true; + }); + } else { + this.nodesEdgesData = {}; + this.rowData = {}; this.title = "鏂板鐢熷懡鍛ㄦ湡娴佺▼鍥�"; this.dialogWidth = "95%"; + this.visible = true; } - this.type = type; - this.rowData = row; - this.visible = true; + }, + // 閫変腑鏁版嵁 + selectionChange(selectedData) { + this.selectedData = selectedData; + }, + // 鍒犻櫎 + rowDel(row) { + this.$confirm("纭鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + this.$set(row, "delLoading", true); + API.del({ oid: row.oid, id: row.id }) + .then((res) => { + this.$set(row, "delLoading", false); + if (res.data.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛锛�"); + this.search(); + } + }) + .catch(() => { + this.$set(row, "delLoading", false); + }); + }); + }, + batchDel() { + this.$confirm("纭鍒犻櫎鎵�閫夋暟鎹�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + const data = this.selectedData.map((item) => { + return { + id: item.id, + oid: item.oid, + }; + }); + this.delLoading = true; + API.del(data, true) + .then((res) => { + this.delLoading = false; + if (res.data.code === 200) { + this.$message.success("鍒犻櫎鎴愬姛锛�"); + this.search(); + } + }) + .catch(() => { + this.delLoading = false; + }); + }); }, async submit() { + // const data = { + // startStatus: "Auditing", + // name: "22", + // id: "asas", + // nodes: [ + // { + // type: "node", + // size: "80*48", + // shape: "flow-rect", + // color: "#1890FF", + // label: "Auditing", + // x: 278.60856031183397, + // y: 84.12841612613737, + // id: "Auditing", + // change: true, + // index: 0, + // name: "Auditing", + // indexNum: 0, + // }, + // { + // type: "node", + // size: "80*48", + // shape: "flow-rect", + // color: "#1890FF", + // label: "Editing", + // x: 294.17388658989535, + // y: 299.9676071819219, + // id: "Editing", + // change: true, + // index: 1, + // name: "Editing", + // indexNum: 1, + // }, + // { + // type: "node", + // size: "80*48", + // shape: "flow-rect", + // color: "#1890FF", + // label: "drg", + // x: 278.60856031183397, + // y: 463.92237731083515, + // id: "drg", + // change: true, + // index: 3, + // name: "drg", + // indexNum: 3, + // }, + // ], + // edges: [ + // { + // source: "Auditing", + // sourceAnchor: 2, + // target: "Editing", + // targetAnchor: 0, + // id: "3083896f", + // index: 2, + // indexNum: 2, + // events: [ + // { + // eventFullName: + // "plm.bs.omd.lifecycle.server.pubimpl.TransationEvente", + // eventShowName: "TransationEventE", + // description: "", + // bizDomain: "mdm", + // oid: "5", + // creator: "", + // createTime: "", + // lastModifier: "", + // lastModifyTime: "", + // ts: "", + // }, + // ], + // }, + // { + // source: "Editing", + // sourceAnchor: 2, + // target: "drg", + // targetAnchor: 0, + // id: "b941a21d", + // index: 4, + // indexNum: 4, + // events: [ + // { + // eventFullName: + // "plm.bs.omd.lifecycle.server.pubimpl.TransationEventf", + // eventShowName: "TransationEventF", + // description: "", + // bizDomain: "mdm", + // oid: "6", + // creator: "", + // createTime: "", + // lastModifier: "", + // lastModifyTime: "", + // ts: "", + // }, + // { + // eventFullName: + // "plm.bs.omd.lifecycle.server.pubimpl.TransationEvente", + // eventShowName: "TransationEventE", + // description: "", + // bizDomain: "mdm", + // oid: "5", + // creator: "", + // createTime: "", + // lastModifier: "", + // lastModifyTime: "", + // ts: "", + // }, + // ], + // }, + // ], + // }; + // API.add(data) + // .then((res) => { + // this.submitLoading = false; + // if (res.data.code === 200) { + // this.$message.success( + // this.type === "edit" ? "淇敼鎴愬姛锛�" : "鏂板鎴愬姛锛�" + // ); + // this.visible = false; + // this.search(); + // } + // }) + // .catch(() => { + // this.submitLoading = false; + // }); + // return; const newRowData = await this.$refs.vueFlowchartEditor.getNewRowData(); - console.log(newRowData, 'newRowDatanewRowData'); if (!newRowData) { return; } - const flowData = this.$refs.vueFlowchartEditor.getFlowData(); - let params = { - ...flowData, - ...newRowData + // const edgeEvents = this.$refs.vueFlowchartEditor.getEdgesEvents(); + const flowData = await this.$refs.vueFlowchartEditor.getFlowData(); + if (Array.isArray(flowData.nodes)) { + flowData.nodes = flowData.nodes.map((item) => { + item.name = item.id; + item.indexNum = item.index; + return item; + }); } - console.log(flowData, newRowData); - API.add(params).then(res => { - console.log(res, 'res'); - }) - }, - }, - watch: { - page: { - deep: true, - immediate: true, - handler(newV) { - this.page.page = newV.currentPage; - this.page.limit = newV.pageSize; - }, + if (Array.isArray(flowData.edges)) { + flowData.edges = flowData.edges.map((item) => { + item.name = item.label; + item.indexNum = item.index; + // item.events = edgeEvents[item.id] || []; + return item; + }); + } + let params = { + ...newRowData, + ...flowData, + }; + debugger; + this.submitLoading = true; + let APIFun = API.add; + if (this.type === "edit") { + APIFun = API.edit; + this.$delete(params, "id"); + } + APIFun(params) + .then((res) => { + this.submitLoading = false; + if (res.data.code === 200) { + this.$message.success( + this.type === "edit" ? "淇敼鎴愬姛锛�" : "鏂板鎴愬姛锛�" + ); + this.visible = false; + this.search(); + } + }) + .catch(() => { + this.submitLoading = false; + }); }, }, }; @@ -205,4 +473,7 @@ margin: 0; padding: 0; } +.btn_link_del { + color: red; +} </style> -- Gitblit v1.9.3