From 9da5b50986991d21beb58a823cb039f8c486587c Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期二, 14 一月 2025 18:31:53 +0800
Subject: [PATCH] 增加流程模板管理页面
---
Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue | 99 ++++++++++++++++
Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue | 4
Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue | 201 +++++++++++++++++++++++++++++++++
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue | 1
Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue | 5
5 files changed, 306 insertions(+), 4 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue
index c67930c..2acc434 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formDialog.vue
@@ -295,7 +295,6 @@
this.$refs.form.validate((valid) => {
if (valid) {
const formData = this.initFormData();
- console.log(formData)
btmSave(formData).then(res => {
if (res.data.success) {
this.$message.success("淇濆瓨鎴愬姛");
diff --git a/Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue
new file mode 100644
index 0000000..64bcfc6
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/processTemplate/customDefine/index.vue
@@ -0,0 +1,99 @@
+<template>
+ <!--娴佺▼妯℃澘瀹氫箟-->
+ <basic-container>
+ <div>
+ 娴佺▼鍒嗙被锛�
+ <el-select v-model="tempType" :clearable="true" placeholder="璇烽�夋嫨" size="small"
+ style="width: 300px;margin-right: 20px;"
+ @change="tempTypeChange">
+ <el-option
+ v-for="item in tempTypeData"
+ :key="item.oid"
+ :label="item.text"
+ :value="item.attributes.name">
+ </el-option>
+ </el-select>
+ 娴佺▼妯℃澘鍚嶇О锛�
+ <el-input size="small" v-model="tempName" style="width: 300px;margin-right: 10px;"></el-input>
+ <el-button icon="el-icon-search" plain size="small" style="margin-right: 40px;" type="primary"
+ @click="searchValue">
+ 鏌ヨ
+ </el-button>
+ </div>
+ </basic-container>
+</template>
+
+<script>
+import {mapGetters} from "vuex";
+import basicOption from "@/util/basic-option";
+
+export default {
+ name: "index",
+ data(){
+ return {
+ tempType:'',
+ tempName:'',
+ tempTypeData:[],
+ form:{},
+ tableLoading: false,
+ tableData: [],
+ currentRow:null,
+ selectionList: [],
+ }
+ },
+ computed: {
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ },
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+ delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+ editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+ };
+ },
+ option(){
+ return {
+ ...basicOption,
+ addBtn:false,
+ editBtn:false,
+ delBtn:false,
+ calcHeight: -60,
+ align:'left',
+ headerAlign:'center',
+ menuWidth:160,
+ dialogMenuPosition: 'right',
+ dialogWidth:600,
+ column: [
+ {
+ label: '娴佺▼妯℃澘鍚嶇О',
+ prop: 'name'
+ },{
+ label: '鐗堟湰',
+ prop: 'desc'
+ },{
+ label: '鐘舵��',
+ prop: 'status'
+ }]
+ }
+ }
+ },
+ methods:{
+ getTableList(){
+
+ },
+ tempTypeChange(val){
+ this.getTableList();
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue b/Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue
new file mode 100644
index 0000000..7b0a155
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/processTemplate/customType/index.vue
@@ -0,0 +1,201 @@
+<template>
+ <!--娴佺▼妯℃澘鍒嗙被-->
+ <basic-container>
+ <avue-crud
+ ref="crud"
+ v-model="form"
+ :data="tableData"
+ :option="option"
+ :table-loading="tableLoading"
+ @on-load="getTableList"
+ @row-save="rowSaveHandler"
+ @row-update="rowUpdateHandler"
+ @row-click="rowClickHandler"
+ @selection-change="selectionChange"
+ >
+ <template slot="menuLeft" slot-scope="scope">
+ <el-button v-if="permissionList.addBtn" class="button-custom-icon" size="small" type="primary"
+ @click="$refs.crud.rowAdd()">
+ <icon-show :name="permissionList.addBtn.source"></icon-show>
+ 鏂� 澧�
+ </el-button>
+ <el-button v-if="permissionList.exportBtn" class="button-custom-icon" plain size="small" type="primary" @click="exportClickHandler">
+ <icon-show :name="permissionList.exportBtn.source"></icon-show>
+ 瀵煎嚭
+ </el-button>
+ </template>
+ <template slot="menu" slot-scope="{ row, index }">
+ <el-button
+ v-if="permissionList.editBtn"
+ size="small"
+ type="text"
+ @click="handleEdit(row, index)"
+ >
+ <icon-show :name="permissionList.editBtn.source"></icon-show>
+ 缂栬緫
+ </el-button>
+ <el-button
+ v-if="permissionList.delBtn"
+ size="small"
+ type="text"
+ @click="handleDel(row, index)"
+ >
+ <icon-show :name="permissionList.delBtn.source"></icon-show>
+ 鍒犻櫎
+ </el-button>
+ </template>
+ </avue-crud>
+ </basic-container>
+</template>
+
+<script>
+import {mapGetters} from "vuex";
+import basicOption from "@/util/basic-option";
+import {deletePvolume, getPvolumesPage, savePvolume, updatePvolume} from "@/api/system/fileCab/api";
+import func from "@/util/func";
+
+export default {
+ name: "index",
+ data: function () {
+ return {
+ form:{},
+ tableLoading: false,
+ tableData: [],
+ currentRow:null,
+ selectionList: [],
+ }
+ },
+ computed: {
+ ids() {
+ let ids = [];
+ this.selectionList.forEach(ele => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ },
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+ delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+ editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+ };
+ },
+ option(){
+ return {
+ ...basicOption,
+ addBtn:false,
+ editBtn:false,
+ delBtn:false,
+ calcHeight: -60,
+ align:'left',
+ headerAlign:'center',
+ menuWidth:160,
+ dialogMenuPosition: 'right',
+ dialogWidth:600,
+ column: [
+ {
+ label: '鍒嗙被鍚嶇О',
+ prop: 'name',
+ span: 24,
+ rules: [{ required: true, message: '璇疯緭鍏ュ垎绫诲悕绉�', trigger: 'blur' }]
+ },{
+ label: '鎻忚堪',
+ prop: 'desc',
+ span: 24,
+ type:'textarea'
+ }]
+ }
+ }
+ },
+ methods: {
+ // 琛ㄦ牸璇锋眰
+ getTableList() {
+ this.tableLoading = true;
+ getPvolumesPage().then(res => {
+ this.tableData = res.data.data;
+ this.tableLoading = false;
+ })
+ },
+
+ // 鏂板
+ rowSaveHandler(row, done, loading) {
+ savePvolume(row).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ done();
+ }
+ }).catch(err => {
+ loading()
+ });
+ },
+
+ handleEdit(row,index){
+ this.$refs.crud.rowEdit(row, index);
+ },
+
+ // 缂栬緫
+ rowUpdateHandler(row, index, done, loading) {
+ updatePvolume(row).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ done()
+ }
+ }).catch(err => {
+ loading()
+ });
+ },
+
+ // 鍒犻櫎
+ handleDel(row,index) {
+ let params = {
+ ids: row.id
+ }
+
+ this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎褰撳墠鐨勫垎绫诲悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deletePvolume(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.getTableList();
+ }
+ });
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+
+ //閫夋嫨鐨勮
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+
+ // 琛屽崟閫�
+ rowClickHandler(row) {
+ func.rowClickHandler(
+ row,
+ this.$refs.crud,
+ this.lastIndex,
+ (newIndex) => {
+ this.lastIndex = newIndex;
+ },
+ () => {
+ this.selectionList = [row];
+ }
+ );
+ },
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
index f7244e7..70157fc 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -564,7 +564,9 @@
let node = this.currentClickNode.parent;
node.loaded = false;
node.expand();
- this.$refs.tree.setCurrentNode(this.currentClickNode);
+ this.$nextTick(()=>{
+ this.$refs.tree.setCurrentKey(this.currentClickNode.data.id);
+ });
} else {
this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
}
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
index d59ee86..8bb7e72 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -294,7 +294,6 @@
methods: {
// 鏍戣鐐瑰嚮
nodeClick(row, node) {
- console.log(row.childType);
this.form = {...row};
this.nodeRow = {...row};
this.currentClickNode = node;
@@ -553,7 +552,9 @@
let node = this.currentClickNode.parent;
node.loaded = false;
node.expand();
- this.$refs.tree.setCurrentNode(this.currentClickNode);
+ this.$nextTick(()=>{
+ this.$refs.tree.setCurrentKey(this.currentClickNode.data.id);
+ });
} else {
this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
}
--
Gitblit v1.9.3