From cbfed970e1c542b39c633881af2dc425573e0a3f Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 08 一月 2025 17:29:53 +0800
Subject: [PATCH] 调整部署启动脚本
---
Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue | 284 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 209 insertions(+), 75 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
index 281ec3b..141f8e5 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
@@ -2,11 +2,13 @@
<el-container>
<el-aside>
<basic-container>
- <div style="max-height: calc(100vh - 170px);overflow: auto">
- <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick">
+ <div style="max-height: calc(100vh - 150px);overflow: auto">
+ <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" node-key="id"
+ @node-click="nodeClick">
<span slot-scope="{ node, data }" class="el-tree-node__label">
- <span style="font-size: 15px">
- <i class="el-icon-s-promotion"></i>
+ <span style="display: flex">
+ <icon-show v-if="data.iconType=='svg'" :name="data.icon"></icon-show>
+ <i v-else :class="data.icon"></i>
{{ (node || {}).label }}
</span>
</span>
@@ -17,40 +19,54 @@
<el-main>
<basic-container>
- <el-form ref="form" :model="form" label-width="85px" style="height: 79vh">
- <el-form-item label="鍚嶇О锛�">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�"></el-input>
- </el-form-item>
- <el-form-item label="鏍囪瘑锛�">
- <el-input v-model="form.code" placeholder="璇疯緭鍏ユ爣璇�"></el-input>
- </el-form-item>
- <el-form-item label="鍒悕锛�">
- <el-input v-model="form.alias" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
- </el-form-item>
- <el-form-item label="缂栧彿锛�">
- <el-input v-model="form.sort" placeholder="璇疯緭鍏ョ紪鍙�"></el-input>
- </el-form-item>
- <el-form-item label="鎻忚堪锛�">
- <el-input v-model="form.remark" placeholder="璇疯緭鍏ユ弿杩�"></el-input>
- </el-form-item>
- </el-form>
- <div class="btnBox">
- <el-button v-if="!addStatus" :disabled="mangeShowBtn ? false : !childTypeBtn" icon="el-icon-plus" plain
+ <div v-if="nodeRow.childType === 0 || nodeRow.childType === -1" class="btnBox">
+ <el-button v-if="!addStatus && !editStatus" :disabled="nodeRow.childType === 0" icon="el-icon-plus" plain
size="small"
type="primary" @click="addClickHandler">澧炲姞
</el-button>
<el-button v-if="addStatus" icon="el-icon-check" plain size="small"
type="success" @click="addSaveClickHandler">淇濆瓨
</el-button>
- <el-button :disabled="mangeShowBtn" icon="el-icon-edit" plain size="small" type="primary"
- @click="addClickHandler">淇敼
+ <el-button v-if="!addStatus && !editStatus" :disabled="nodeRow.childType === -1" icon="el-icon-edit" plain
+ size="small" type="primary"
+ @click="editClickHandler">淇敼
</el-button>
- <el-button :disabled="mangeShowBtn" icon="el-icon-close" plain size="small" type="danger"
- @click="addClickHandler">鍒犻櫎
+ <el-button v-if="editStatus" icon="el-icon-check" plain size="small"
+ type="success" @click="editSaveClickHandler">淇濆瓨
</el-button>
- <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆sql
+ <el-button v-if="addStatus || editStatus" icon="el-icon-close" plain size="small"
+ type="danger" @click="addStatus=false;editStatus=false;">鍙栨秷
+ </el-button>
+ <el-button v-if="!addStatus && !editStatus" :disabled="nodeRow.childType === -1" icon="el-icon-close" plain
+ size="small" type="danger"
+ @click="delClickHandler">鍒犻櫎
+ </el-button>
+ <el-button v-if="!addStatus && !editStatus" icon="el-icon-upload2" plain size="small" type="primary"
+ @click="sqlClickExportClick">瀵煎嚭sql
</el-button>
</div>
+ <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 180px);overflow: auto;">
+ <el-form-item label="鍚嶇О锛�" class="is-required">
+ <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ュ悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="鏍囪瘑锛�" class="is-required">
+ <el-input v-model.trim="form.code" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユ爣璇�"></el-input>
+ </el-form-item>
+ <el-form-item label="鍒悕锛�" class="is-required">
+ <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
+ </el-form-item>
+ <el-form-item label="鍥炬爣锛�">
+ <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣">
+ </input-icon>
+ </el-form-item>
+ <el-form-item label="椤哄簭锛�">
+ <el-input-number v-model="form.sort" :disabled="!editStatus && !addStatus" :max="63" :min="1"
+ label="椤哄簭"></el-input-number>
+ </el-form-item>
+ <el-form-item label="鎻忚堪锛�">
+ <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユ弿杩�"></el-input>
+ </el-form-item>
+ </el-form>
</basic-container>
</el-main>
</el-container>
@@ -58,14 +74,19 @@
<script>
//绠$悊鍔熻兘妯″潡
-import {getSysModelTreeMenuByPID, addModel} from "@/api/systemModel/mangeModel/api"
+import {exportFunctionSql, getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api"
+import {addOperationType, updateOperationType, delOperationType} from "@/api/systemModel/operateType/api"
+import func from "@/util/func";
export default {
name: "index",
data() {
return {
+ refresh: Math.random(),
+ editStatus: false,
addStatus: false,
nodeRow: {},
+ currentClickNode: {},
form: {},
treeData: [],
treeOption: {
@@ -73,6 +94,7 @@
menu: false,
addBtn: false,
defaultExpandAll: false,
+ defaultExpandedKeys:['operateNode'],
props: {
label: 'name',
value: 'id',
@@ -82,7 +104,7 @@
treeLoad: (node, resolve) => {
const params = {
parentId: node.level === 0 ? "operateNode" : node.data.id,
- modeType: node.level === 0 ? "firstNode" : node.data.modeType,
+ modeType: node.level === 0 ? 'firstNode' : "",
}
getSysModelTreeMenuByPID(params).then(res => {
resolve(res.data.data.map(item => {
@@ -90,7 +112,9 @@
...item,
id: item.id,
name: item.name,
- leaf: !item.hasChildren
+ leaf: !item.hasChildren,
+ icon: item.source || (node.level === 0?'el-icon-s-home':'el-icon-s-tools'),
+ iconType:item.source?'svg':'iconfont'
}
}))
})
@@ -100,76 +124,185 @@
},
created() {
},
- computed: {
- /**
- * childType
- * 涓�-1 鍏ㄩ儴鎸夐挳灞曠ず 绂佺敤淇敼 鍒犻櫎 澧炲姞鎿嶄綔绫诲瀷
- * 涓嶄负-1 闅愯棌 鍒犻櫎闈炵郴缁熸ā鍧� 鍒犻櫎涓氬姟妯″潡
- * 涓�1鏃� 绂佺敤鎿嶄綔绫诲瀷銆佸鍏ャ�佸鍑�
- * 涓�2鏃� 绂佺敤澧炲姞 瀵煎叆 瀵煎嚭
- * mangeShowBtn 涓� true 璇存槑鏄《灞傝妭鐐� 鍏ㄩ儴鎸夐挳灞曠ず 绂佺敤淇敼 鍒犻櫎 澧炲姞鎿嶄綔绫诲瀷
- * @returns {Number}
- */
- mangeShowBtn() {
- return this.form.childType === -1;
- },
- childTypeBtn() {
- return this.form.childType === 1;
- }
- },
+ computed: {},
methods: {
// 鏍戣鐐瑰嚮
- nodeClick(row) {
- console.log(row);
+ nodeClick(row, node) {
this.form = {...row};
this.nodeRow = {...row};
+ this.currentClickNode = node;
this.addStatus = false;
+ this.editStatus = false;
},
+ // 娓呯┖琛ㄥ崟缁戝畾鍊�
+ resetFormValue() {
+ this.form = {};
+ this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
+ },
+
// 鏂板鎸夐挳
addClickHandler() {
- for (const key in this.form) {
- if (this.form.hasOwnProperty(key)) {
- this.form[key] = null;
- }
- }
+ this.form = {};
this.addStatus = true;
+ this.editStatus = false;
},
// 淇濆瓨鎸夐挳
addSaveClickHandler() {
- console.log(this.form)
if (!this.form.name) {
- this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
+ this.$message.error('鍚嶇О涓嶈兘涓虹┖');
+ return
+ }
+ if (!this.form.code) {
+ this.$message.error('鏍囪瘑涓嶈兘涓虹┖');
+ return
+ }
+ if (!this.form.alias) {
+ this.$message.error('鍒悕涓嶈兘涓虹┖');
+ return
+ }
+ if (!this.form.sort) {
+ this.$message.error('椤哄簭涓嶈兘涓虹┖');
return
}
if (this.form.name.length > 128) {
- this.$message.error('妯″潡鍚嶉暱搴﹁秴杩�128锛�');
+ this.$message.error('鍚嶇О闀垮害涓嶈兘瓒呰繃128锛�');
return
}
if (this.form.remark && this.form.remark.length > 255) {
- this.$message.error('鎻忚堪闀垮害瓒呰繃255锛�');
+ this.$message.error('鎻忚堪闀垮害涓嶈兘瓒呰繃255锛�');
return
}
- if (this.form.resourceDotNet && this.form.resourceDotNet.length > 255) {
- this.$message.error('.NET鏍囪瘑闀垮害涓嶈兘255锛�');
+ if (this.form.alias && this.form.alias.length > 255) {
+ this.$message.error('鍒悕闀垮害涓嶈兘瓒呰繃255锛�');
return
}
- if (this.form.pathc && this.form.pathc.length > 255) {
- this.$message.error('C/S鏍囪瘑闀垮害涓嶈兘255锛�');
- return
- }
- if (this.form.resourceMobile && this.form.resourceMobile.length > 255) {
- this.$message.error('Mobile鏍囪瘑闀垮害涓嶈兘255锛�');
- return
- }
- console.log(this.nodeRow);
this.form.parentId = this.nodeRow.id;
- this.form.modeType = this.nodeRow.modeType;
- addModel(this.form).then(res => {
- console.log(res)
- this.addStatus = false;
+ const params = {
+ name: this.form.name,
+ identify: this.form.code,
+ alias: this.form.alias,
+ desc: this.form.remark,
+ seq: this.form.sort,
+ source: this.form.source,
+ }
+ addOperationType(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.handleRefreshTree('add');
+ this.addStatus = false;
+ }
})
+ },
+
+ // 淇敼鎸夐挳
+ editClickHandler() {
+ this.addStatus = false;
+ this.editStatus = true;
+ },
+
+ // 淇敼淇濆瓨
+ editSaveClickHandler() {
+ console.log(this.form);
+ if (!this.form.name) {
+ this.$message.error('鍚嶇О涓嶈兘涓虹┖');
+ return
+ }
+ if (!this.form.code) {
+ this.$message.error('鏍囪瘑涓嶈兘涓虹┖');
+ return
+ }
+ if (!this.form.alias) {
+ this.$message.error('鍒悕涓嶈兘涓虹┖');
+ return
+ }
+ if (this.form.sort == null || this.form.sort === '' || this.form.sort === undefined) {
+ this.$message.error('椤哄簭涓嶈兘涓虹┖');
+ return;
+ }
+ if (this.form.name.length > 128) {
+ this.$message.error('鍚嶇О闀垮害涓嶈兘瓒呰繃128锛�');
+ return
+ }
+ if (this.form.remark && this.form.remark.length > 255) {
+ this.$message.error('鎻忚堪闀垮害涓嶈兘瓒呰繃255锛�');
+ return
+ }
+ if (this.form.alias && this.form.alias.length > 255) {
+ this.$message.error('鍒悕闀垮害涓嶈兘瓒呰繃255锛�');
+ return
+ }
+
+ const params = {
+ id: this.form.id,
+ name: this.form.name,
+ identify: this.form.code,
+ alias: this.form.alias,
+ desc: this.form.remark,
+ seq: this.form.sort,
+ source: this.form.source,
+ }
+ updateOperationType(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.handleRefreshTree('edit');
+ this.editStatus = false;
+ }
+ })
+ },
+
+ // 鍒犻櫎
+ delClickHandler() {
+ this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ delOperationType(this.form).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.handleRefreshTree('del')
+ this.addStatus = false;
+ this.editStatus = false;
+ this.nodeRow = {};
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+
+ // 瀵煎嚭sql
+ sqlClickExportClick() {
+ exportFunctionSql({isFunction: false}).then(res => {
+ func.downloadFileByBlobHandler(res);
+ this.$message.success('瀵煎嚭鎴愬姛');
+ });
+ },
+ handleRefreshTree(type) {
+ //type:add\edit\del
+ if (type == "del") {
+ this.$refs.tree.remove(this.currentClickNode);
+ this.currentClickNode = null;
+ this.form = {};
+ } else {
+ if (this.currentClickNode) {
+ let node = this.currentClickNode.parent;
+ node.loaded = false;
+ node.expand();
+ if (type === 'edit') {
+ this.$refs.tree.setCurrentKey(null);
+ } else {
+ this.$refs.tree.setCurrentNode(this.nodeRow);
+ }
+ } else {
+ this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
+ }
+ }
}
}
}
@@ -184,6 +317,7 @@
.btnBox {
display: flex;
- justify-content: center;
+ justify-content: left;
+ margin-bottom: 15px;
}
</style>
--
Gitblit v1.9.3