From 1f8e24520ed07be80f2190656fd35bf24a0cd14f Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 04 十一月 2024 18:23:01 +0800
Subject: [PATCH] 业务类型添加修改窗口
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 276 ++++++++++++-------------------------------------------
1 files changed, 61 insertions(+), 215 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
index 4f60ac9..ff0774e 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -162,13 +162,11 @@
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="缁ф壙鑷細">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.fName" :readOnly="true"></el-input>
- <el-button :disabled="title === 'add'" plain size="small" style="margin-left: 5px;height: 30px"
- type="success"
- @click="inheritClickHandler">閫夋嫨
- </el-button>
- </div>
+ <avue-input-tree :disabled="title === 'add'"
+ v-model="form.fName"
+ placeholder="璇烽�夋嫨涓氬姟绫诲瀷"
+ :props="{label: 'id', value: 'id',children: 'children'}"
+ :dic="inheritTreeData"></avue-input-tree>
</el-form-item>
<el-form-item label="瀹炵幇绫伙細">
<el-input v-model="form.implClass"></el-input>
@@ -186,19 +184,18 @@
</el-select>
</el-form-item>
<el-form-item v-if="form.revLevel !== '0'" label="鐗堟湰鍙疯鍒欙細" label-width="110px" prop="revisionRuleId">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input>
- <el-button :disabled="form.inputRevisionFlag" plain size="small" style="margin-left: 5px;height: 30px"
- type="success"
- @click="versionAddHandler">娣诲姞
- </el-button>
- <el-switch
- v-model="form.inputRevisionFlag"
- active-text="鎵嬪伐杈撳叆"
- style="width: 300px"
- @change="form.revisionRuleId = ''">
- </el-switch>
- </div>
+ <avue-select v-model="form.revisionRuleId"
+ :disabled="form.inputRevisionFlag"
+ placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�"
+ :filterable="true"
+ :props="{label: 'id', value: 'id'}"
+ :dic="versionData"></avue-select>
+ <el-switch
+ v-model="form.inputRevisionFlag"
+ active-text="鎵嬪伐杈撳叆"
+ style="width: 300px"
+ @change="form.revisionRuleId = ''">
+ </el-switch>
</el-form-item>
<el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="110px" prop="delimiter">
<el-select v-model="form.delimiter" clearable>
@@ -217,12 +214,11 @@
</div>
<div class="rightForm" style="width: 26%">
<el-form-item label="鐢熷懡鍛ㄦ湡锛�" label-width="138px" prop="lifeCycleId">
- <div style="display: flex;gap: 5px;align-items: center">
- <el-input v-model="form.lifeCycleId" :readOnly="true"></el-input>
- <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success"
- @click="lifeAddHandler('input')">娣诲姞
- </el-button>
- </div>
+ <avue-select v-model="form.lifeCycleId"
+ placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
+ :filterable="true"
+ :props="{label: 'id', value: 'id'}"
+ :dic="dialogLifeData"></avue-select>
</el-form-item>
<el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px">
@@ -310,35 +306,6 @@
</span>
</el-dialog>
- <!-- 鐗堟湰鍙疯鍒欓�夋嫨 -->
- <el-dialog
- v-dialogDrag
- :visible.sync="dialogVersionVisible"
- append-to-body="true"
- class="avue-dialog"
- title="鐗堟湰鍙疯鍒�"
- width="60%"
- >
-
- <avue-crud
- :key="dialogVersionKey"
- ref="dialogAttrCrud"
- :data="dialogVersionData"
- :option="dialogVersionOption"
- :table-loading="dialogVersionLoading"
- @row-click="dialogVersionRowClick"
- @search-change="versionHandleSearch"
- @search-reset="versionHandleReset"
- >
- </avue-crud>
-
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVersionVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVersionAddClickHandler">纭� 瀹�</el-button>
- </span>
-
- </el-dialog>
-
<!-- 鐢熷懡鍛ㄦ湡 -->
<el-dialog
v-dialogDrag
@@ -353,7 +320,6 @@
ref="dialogAttrCrud"
:data="dialogLifeData"
:option="dialogLifeOption"
- :table-loading="dialogLifeLoading"
@row-click="dialogLifeRowClick"
@search-change="lifeHandleSearch"
@search-reset="lifeHandleReset"
@@ -364,31 +330,6 @@
<el-button type="primary" @click="dialogLifeAddClickHandler">纭� 瀹�</el-button>
</span>
- </el-dialog>
-
- <!-- 缁ф壙鑷� -->
- <el-dialog
- v-dialogDrag
- :visible.sync="dialogInheritVisible"
- append-to-body="true"
- class="avue-dialog"
- title="缁ф壙涓氬姟绫诲瀷"
- width="30%"
- @close="inheritClose"
- >
- <avue-tree ref="inheritTree" v-model="treeForm" :data="inheritTreeData" :option="inheritTreeOption"
- @node-click="inheritNodeClick">
- <span slot-scope="{ node, data }" class="el-tree-node__label">
- <span style="font-size: 15px">
- <i class="el-icon-s-promotion"></i>
- {{ (node || {}).label }}
- </span>
- </span>
- </avue-tree>
- <span slot="footer" class="dialog-footer">
- <el-button type="primary" @click="inheritSaveClickHandler">纭� 瀹�</el-button>
- <el-button @click="inheritClose">鍙� 娑�</el-button>
- </span>
</el-dialog>
<!-- 瀵煎叆 -->
@@ -667,21 +608,7 @@
fileUrl: 'api/linkTypeController/impData',
createViewLoading: false, // 鍒涘缓瑙嗗浘
versionAddFlag: false,
- treeForm: {},
- inheritNodeRow: {},
- inheritTreeOption: {
- height: 'auto',
- defaultExpandAll: false,
- menu: false,
- addBtn: false,
- props: {
- label: 'id',
- value: 'id',
- children: 'children'
- }
- },
inheritTreeData: [],
- dialogInheritVisible: false,
dialogLifeDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
lifeType: '',
dialogLifeTable: [],
@@ -708,32 +635,7 @@
},
dialogLifeLoading: false,
dialogLfeVisible: false,
- dialogVersionDefalutData: [], // 鏌ヨ閲嶇疆榛樿鏁版嵁
- dialogSwitchValue: false,
- dialogVersionSaveRow: {},
- dialogVersionVisible: false,
- dialogVersionKey: Math.random(),
- dialogVersionData: [],
- dialogVersionOption: {
- ...basicOption,
- addBtn: false,
- selection: false,
- refreshBtn: false,
- menu: false,
- height: 450,
- searchMenuSpan: 8,
- highlightCurrentRow: true,
- // calcHeight: 100,
- column: [
- {
- label: '鐗堟湰鍙疯鍒�',
- prop: 'id',
- searchLabelWidth: 110,
- search: true
- }
- ]
- },
- dialogVersionLoading: false,
+ versionData: [],//鐗堟湰瑙勫垯鏁版嵁
dialogAttrSelectList: [],
searchAttrParams: {},
dialogAttrLoading: false,
@@ -923,6 +825,8 @@
},
created() {
this.getTreeList();
+ this.getVersionList();
+ this.getLifeCycle();
},
mounted() {
},
@@ -958,7 +862,19 @@
this.attrData = row.attributes ? JSON.parse(row.attributes) : [];
this.nodeRow = row;
},
-
+ //鑾峰彇鐗堟湰瑙勫垯鏁版嵁
+ getVersionList(){
+ getVersionRuleAllList().then(res => {
+ this.versionData = res.data.data;
+ });
+ },
+ //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁
+ getLifeCycle(){
+ gridLifeCycle().then(res => {
+ this.dialogLifeData = res.data.data;
+ this.dialogLifeDefalutData = res.data.data;
+ });
+ },
// 鍒涘缓鎸夐挳
addClickHandler() {
if (func.isEmptyObject(this.nodeRow)) {
@@ -967,31 +883,8 @@
}
this.title = 'add';
this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
- console.log(this.nodeRow);
this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
this.visible = true;
- },
-
- // 鍏抽棴缁ф壙瀵硅瘽妗�
- inheritClose() {
- this.dialogInheritVisible = false;
- this.$refs.inheritTree.setCurrentKey(null); // 鍙栨秷褰撳墠閫変腑鐨勮妭鐐�
- },
-
- // 缁ф壙鎸夐挳
- inheritClickHandler() {
- this.dialogInheritVisible = true;
- },
-
- // 缁ф壙鏍戣鐐瑰嚮
- inheritNodeClick(row) {
- this.inheritNodeRow = row;
- },
-
- // 缁ф壙鏍戜繚瀛�
- inheritSaveClickHandler() {
- this.form.fName = this.inheritNodeRow.id;
- this.dialogInheritVisible = false;
},
// 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳
@@ -1111,81 +1004,12 @@
this.dialogAttrData.splice(index, 1);
},
- // 鐗堟湰瑙勫垯绠$悊娣诲姞
- versionAddHandler() {
- this.dialogVersionVisible = true;
- this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
- this.dialogVersionLoading = true;
- getVersionRuleAllList().then(res => {
- const data = res.data.data.map(item => {
- return {
- id: item.id
- }
- });
- this.dialogVersionData = data;
- this.dialogVersionDefalutData = data;
- this.dialogVersionLoading = false;
- }).catch(err => {
- this.$message.error(err)
- });
- },
-
- // 鐗堟湰瑙勫垯琛岀偣鍑�
- dialogVersionRowClick(row) {
- this.dialogVersionSaveRow = row;
- },
-
- // 鐗堟湰瑙勫垯鎼滅储
- versionHandleSearch(params, done) {
- const {id} = params;
-
- if (!params.id) {
- this.dialogVersionData = this.dialogVersionDefalutData;
- return done();
- }
- ;
-
- this.dialogVersionData = this.dialogVersionDefalutData.filter(item => {
- return item.id && item.id.includes(id);
- });
-
- done();
-
- },
-
- // 鐗堟湰绠$悊缃┖
- versionHandleReset() {
- this.dialogVersionData = this.dialogVersionDefalutData;
- },
-
- // 鐗堟湰鍙疯鍒欎繚瀛�
- dialogVersionAddClickHandler() {
- if (func.isEmptyObject(this.dialogVersionSaveRow)) {
- this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
- return;
- }
- this.form.revisionRuleId = this.dialogVersionSaveRow.id;
- this.dialogVersionVisible = false;
- },
-
// 鐢熷懡鍛ㄦ湡鏂板
lifeAddHandler(val) {
this.dialogLfeVisible = true;
this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛�
this.dialogLifeLoading = true;
this.lifeType = val;
- gridLifeCycle().then(res => {
- const data = res.data.data.map(item => {
- return {
- id: item.id
- }
- });
- this.dialogLifeData = data;
- this.dialogLifeDefalutData = data;
- this.dialogLifeLoading = false
- }).catch(err => {
- this.$message.error(err)
- });
},
// 鐢熷懡鍛ㄦ湡琛岀偣鍑�
@@ -1350,9 +1174,31 @@
? this.nodeRow.lifeCycleIds.split(',').map(item => ({id: item.trim()}))
: [];
this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
+ function processChildren(item,fName) {
+ if (item.children && item.children.length > 0) {
+ item.children = item.children.map(child => {
+ processChildren(child,fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+ if(fName==child.id){
+ child.disabled=true;
+ }else {
+ child.disabled=false;
+ }
+ return child;
+ });
+ }
+ };
+ const inheritTreeData=this.inheritTreeData.map(item => {
+ processChildren(item,this.form.id); // 澶勭悊姣忎釜鑺傜偣
+ if(this.form.id==item.id){
+ item.disabled=true;
+ }else {
+ item.disabled=false;
+ }
+ return item;
+ });
+ this.inheritTreeData=inheritTreeData
this.title = 'edit';
this.visible = true;
- console.log(this.form);
},
// 鍒犻櫎鎸夐挳
--
Gitblit v1.9.3