From ae6d20ec4a30b7e796feb05958bcfc80e55f247b Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 20 七月 2023 15:21:45 +0800 Subject: [PATCH] 整合代码部署 --- Source/UBCS-WEB/dist/src/views/flow/manager.vue | 338 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 338 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/dist/src/views/flow/manager.vue b/Source/UBCS-WEB/dist/src/views/flow/manager.vue new file mode 100644 index 0000000..11d8184 --- /dev/null +++ b/Source/UBCS-WEB/dist/src/views/flow/manager.vue @@ -0,0 +1,338 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + ref="crud" + v-model="form" + :page.sync="page" + :permission="permissionList" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-radio-group v-model="mode" size="small"> + <el-radio-button label="1">閫氱敤娴佺▼</el-radio-button> + <el-radio-button label="2">瀹氬埗娴佺▼</el-radio-button> + </el-radio-group> + </template> + <template slot-scope="scope" slot="menu"> + <el-button type="text" + size="small" + icon="el-icon-refresh" + v-if="permission.flow_manager_state" + @click.stop="handleState(scope.row,scope.index)">鍙樻洿鐘舵�� + </el-button> + <el-button type="text" + size="small" + icon="el-icon-search" + v-if="permission.flow_manager_image" + @click.stop="handleImage(scope.row,scope.index)">娴佺▼鍥� + </el-button> + <el-button type="text" + size="small" + icon="el-icon-delete" + v-if="permission.flow_manager_remove" + @click.stop="handleSlotDelete(scope.row,scope.index)">鍒犻櫎 + </el-button> + </template> + <template slot-scope="{row}" + slot="tenantId"> + <el-tag>{{row.tenantId===''?'閫氱敤':row.tenantId}}</el-tag> + </template> + <template slot-scope="{row}" + slot="version"> + <el-tag>v{{row.version}}</el-tag> + </template> + <template slot-scope="{row}" + slot="suspensionState"> + <el-tag>{{row.suspensionState===1?'婵�娲�':'鎸傝捣'}}</el-tag> + </template> + <template slot-scope="{row}" + slot="category"> + <el-tag>{{row.categoryName}}</el-tag> + </template> + </avue-crud> + <flow-design is-dialog :is-display.sync="flowBox" :process-definition-id="processDefinitionId"></flow-design> + <el-dialog title="娴佺▼鍙樻洿" + append-to-body + :visible.sync="stateBox" + width="20%"> + <el-form :model="form" + ref="form" + label-width="80px"> + <el-form-item label="娴佺▼鐘舵��"> + <el-select v-model="flowState" placeholder="璇烽�夋嫨" value=""> + <el-option + v-for="item in stateOptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-form> + <span slot="footer" + class="dialog-footer"> + <el-button @click="stateBox = false">鍏� 闂�</el-button> + <el-button type="primary" + @click="handleDoState">纭� 瀹�</el-button> + </span> + </el-dialog> + </basic-container> +</template> + +<script> + import {mapGetters} from "vuex"; + import {managerList, changeState, deleteDeployment} from "@/api/flow/flow"; + import {flowCategory} from "@/util/flow"; + + export default { + data() { + return { + form: {}, + mode: '1', + selectionId: '', + selectionList: [], + query: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + processDefinitionId: '', + flowBox: false, + stateBox: false, + flowState: '', + stateOptions: [{ + value: 'active', + label: '婵�娲�' + }, { + value: 'suspend', + label: '鎸傝捣' + }], + option: { + height: 'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + selection: true, + editBtn: false, + addBtn: false, + viewBtn: false, + delBtn: false, + dialogWidth: 900, + menuWidth: 250, + dialogClickModal: false, + column: [ + { + label: '绉熸埛缂栧彿', + prop: 'tenantId', + slot: true, + width: 120, + }, + { + label: '娴佺▼涓婚敭', + prop: 'id', + }, + { + label: '娴佺▼鏍囪瘑', + prop: 'key', + search: true, + width: 150, + }, + { + label: '娴佺▼鍚嶇О', + prop: 'name', + width: 150, + }, + { + label: "娴佺▼鍒嗙被", + type: "select", + row: true, + dicUrl: "/api/ubcs-system/dict/dictionary?code=flow", + props: { + label: "dictValue", + value: "dictKey" + }, + dataType: "number", + slot: true, + prop: "category", + search: true, + width: 100, + }, + { + label: '娴佺▼鐗堟湰', + prop: 'version', + slot: true, + width: 80, + }, + { + label: '鐘舵��', + prop: 'suspensionState', + slot: true, + width: 80, + }, + { + label: '閮ㄧ讲鏃堕棿', + prop: 'deploymentTime', + width: 165, + }, + ] + }, + data: [] + }; + }, + watch: { + 'mode'() { + this.onLoad(this.page); + } + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + delBtn: this.vaildData(this.permission.flow_manager_remove, false), + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + }, + deploymentIds() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.deploymentId); + }); + return ids.join(","); + } + }, + methods: { + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + return; + } + this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return deleteDeployment(this.deploymentIds); + }) + .then(() => { + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crud.toggleSelection(); + this.onLoad(this.page); + }); + }, + handleSlotDelete(row) { + this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return deleteDeployment(row.deploymentId); + }) + .then(() => { + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crud.toggleSelection(); + this.onLoad(this.page); + }); + }, + handleState(row) { + this.stateBox = true; + this.selectionId = row.id; + }, + handleDoState() { + if (!this.flowState) { + this.$message({ + type: "warn", + message: "璇峰厛閫夋嫨娴佺▼鐘舵��!" + }); + return; + } + changeState({processId: this.selectionId, state: this.flowState}).then(res => { + const data = res.data; + if (data.success) { + this.$message({ + type: "success", + message: data.msg + }); + this.stateBox = false; + this.onLoad(this.page); + } else { + this.$message({ + type: "warn", + message: data.msg + }); + } + }) + }, + handleImage(row) { + this.processDefinitionId = row.id; + this.flowBox = true; + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + const values = { + ...params, + category: (params.category) ? flowCategory(params.category) : null, + mode: this.mode + }; + this.loading = true; + managerList(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> -- Gitblit v1.9.3