From e1beaf409dca5c236dd42bc9f3f3619eeb3e5ae2 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 17 七月 2023 14:23:22 +0800
Subject: [PATCH] 代码整合
---
Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 222 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 185 insertions(+), 37 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
index 55b44b4..b57d4e4 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -2,16 +2,23 @@
<template>
<el-container>
<!-- 宸︿晶鑿滃崟-->
- <el-aside>
+ <el-aside >
<basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;">
<div>
- <div style="display: flex;justify-content: space-around">
- <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
- <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
- <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
-<!-- <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>-->
-<!-- <el-button plain size="small" type="primary" @click="ImportExcel">瀵煎叆</el-button>-->
- <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+ <div>
+ <div style="display: flex; flex-direction: column;">
+ <div style="display: flex;">
+ <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
+ <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
+ <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
+ <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+ </div>
+ <div style="display: flex; margin-top: 10px">
+ <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
+ <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
+ <el-button plain size="small" type="primary" @click="ImportExcel">瀵煎叆</el-button>
+ <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>
+ </div>
</div>
<div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
</div>
@@ -32,6 +39,9 @@
<el-form-item label="缂栫爜瑙勫垯锛�" label-width="150px">
<el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input>
</el-form-item>
+ <el-form-item label="涓氬姟绫诲瀷锛�" label-width="150px" v-if="TreeFlagCode==false">
+ <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input>
+ </el-form-item>
<el-form-item label="鍏抽敭灞炴�ф煡璇㈣鍒欙細" label-width="150px">
<el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" @focus="Keyfouce"
style="width: 585px"></el-input>
@@ -48,15 +58,16 @@
</el-dialog>
<!-- 淇敼瀵硅瘽妗�-->
<el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被">
- <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}"></classifyTreeform>
+ <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlagCode" ::nodeClickList="nodeClickList" @referTreeForm="referTreeForm" @flushed="flushed"></classifyTreeform>
</el-dialog>
<avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false"
:option="Treeoption"
style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px"
- @node-click=" nodeClick"
- @check-change="checkChange"
+ @node-click="nodeClick"
+ class="classifyTree"
>
</avue-tree>
+ </div>
</basic-container>
</el-aside>
<el-main>
@@ -64,11 +75,11 @@
<!-- 鍙充晶琛ㄦ牸-->
<avue-tabs :option="tabOption" @change="handleChange"></avue-tabs>
<span v-if="type.prop==='tab1'">
- <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'"></classifyTreeform>
+ <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform>
</span>
<span v-else-if="type.prop==='tab2'">
<basic-container>
- <avue-crud v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption"
+ <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption"
@row-save="CrudRowSave"
@row-del="CrudRowDel"
@row-update="CrudRowUpdata"
@@ -78,8 +89,6 @@
<template slot="menuLeft">
<el-button plain size="small" type="primary" @click="FindeHanler">鏌ヨ</el-button>
<el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button>
- <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
- <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
<el-button plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
<!-- 鏌ヨ瀵硅瘽妗�-->
<el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ">
@@ -114,7 +123,7 @@
<el-aside width="300px">
<div style="margin-bottom: 5px"><el-tag>涓婚搴撳垎绫�</el-tag></div>
<!-- 鍏嬮殕妯℃澘鐨勬爲 娌跨敤棣栭〉鏍戠殑loading鍜宱ption锛屼絾鏄痙ata鍜寁-model缁戝畾鐨勬暟鎹垱寤轰竴涓柊鐨勫彉閲忥紝鍙﹀鐐瑰嚮鏂规硶涔熸槸閲嶆柊鑾峰彇鏉ユ搷浣滃厠闅嗘ā鏉跨殑鏁版嵁-->
- <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata"
+ <avue-tree v-model="TreeAvueform" v-loading="loading" :data="Treedata"
:defaultExpandAll="false"
:option="Treeoption"
style="height: 50.5vh;margin-right: 10px"
@@ -140,6 +149,7 @@
<avue-crud v-model="ClonecrudForm" v-loading="FormLoing" :data="this.CloneFormlist"
:option="this.ClonecrudTreeOption"
@selection-change="selectionChange"
+
></avue-crud>
</div>
</el-main>
@@ -160,7 +170,16 @@
</el-dialog>
</el-dialog>
</template>
- <template #menu="{ size, row }">
+ <template #menu="{ size, row ,index}">
+ <el-button type="text"
+ v-if="row.lcStatus != 'Released'"
+ icon="el-icon-edit-outline "
+ :size="size"
+ @click="$refs.textCrud.rowEdit(row)">缂栬緫</el-button>
+ <el-button type="text"
+ icon="el-icon-delete"
+ :size="size"
+ @click="$refs.textCrud.rowDel(row,index)">鍒犻櫎</el-button>
<el-button
v-show="row.lcStatus === 'Released'"
@click="upAndStopAndStart(row, 'upVersion')"
@@ -266,6 +285,30 @@
</div>
</div>
</el-dialog>
+<!-- 涓氬姟绫诲瀷-->
+ <el-dialog :visible.sync="BtmdialogVisible" title="涓恒�愪笟鍔$被鍨嬭鍒欍�戦�夊彇鍊�" append-to-body>
+ <template>
+ <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px !important;">
+ <el-option
+ v-for="item in SelectOption"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ style="width: 130px">
+ </el-option>
+ </el-select>
+ <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+ <el-button size="small" type="primary" plain @click="BtmSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+ </template>
+ <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud>
+ <div style="height: 30px">
+ <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmTypeName}}]</div>
+ <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+ <el-button type="primary" size="small" @click="btmHandlerClick">纭畾</el-button>
+ <el-button size="small" @click="BtmdialogVisible=false">鍙栨秷</el-button>
+ </div>
+ </div>
+ </el-dialog>
</basic-container>
</el-main>
</el-container>
@@ -297,9 +340,11 @@
//浣跨敤inject鎺ユ敹鍙傛暟
//Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭
//Treeform鍙充晶琛ㄥ崟閰嶇疆椤�
- inject: [, "crudTreeData"],
+ inject: ["crudTreeData"],
data() {
return {
+ //鏍戣妭鐐规樉绀洪殣钘�
+ TreeFlagCode:false,
//缂栫爜瑙勫垯
MasterdialogVisible:false,
masterData:[],
@@ -318,6 +363,12 @@
simData:[],
SimidialogVisible:false,
simSelectList:[],
+ //涓氬姟绫诲瀷
+ btmName:"",
+ btmOid:"",
+ BtmData:[],
+ BtmdialogVisible:false,
+ btmSelectList:[],
masterOption:{
addBtn:false,
index:true,
@@ -505,11 +556,21 @@
column: [
{
label: "妯℃澘缂栧彿",
- prop: "id"
+ prop: "id",
+ rules: [{
+ required: true,
+ message: "妯℃澘缂栧彿",
+ trigger: "blur"
+ }]
},
{
label: "妯℃澘鍚嶇О",
prop: "name",
+ rules: [{
+ required: true,
+ message: "妯℃澘鍚嶇О",
+ trigger: "blur"
+ }]
},
{
label: "妯℃澘鎻忚堪",
@@ -574,13 +635,24 @@
funAPi: startRelease,
load: 'startReleaseLoad'
}
- }
+ },
+ //妯℃澘绠$悊缂栬緫
+ showEditBtn:false,
}
},
//tab鏍忛粯璁ゆ槸琛ㄦ牸
mounted() {
this.type = this.tabOption.column[0];
this.getAttr();
+ const treeEle = this.$refs.tree.$el
+ treeEle.addEventListener('click', (e) => {
+ if (e.target.nodeName !== 'SPAN') {
+ this.$refs.tree.setCurrentKey(null)
+ this.nodeClickList = {}
+ this.TreeList=[]
+ this.TreeFlagCode=false;
+ }
+ }, true)
},
computed:{
crudTreeOption(){
@@ -590,14 +662,26 @@
height:180,
selection:true,
addBtn:this.Formlist.length<=0 && this.nodeClickList != "",
+ editBtn:false,
+ delBtn:false,
column: [
{
label: "妯℃澘缂栧彿",
- prop: "id"
+ prop: "id",
+ rules: [{
+ required: true,
+ message: "妯℃澘缂栧彿",
+ trigger: "blur"
+ }]
},
{
- label:"妯℃澘鍚嶇О",
- prop:"name"
+ label: "妯℃澘鍚嶇О",
+ prop: "name",
+ rules: [{
+ required: true,
+ message: "妯℃澘鍚嶇О",
+ trigger: "blur"
+ }]
},
{
label: "妯℃澘鎻忚堪",
@@ -618,6 +702,10 @@
}
},
methods: {
+ //妯℃澘绠$悊宸插彂甯冪紪杈�
+ // checkShowEditBtn() {
+ // this.showEditBtn = this.Formlist.some(item => item.lcStatus === 'Released');
+ // },
//缂栫爜瑙勫垯澶辩劍
CodeFoucus(){
this.MasterdialogVisible=true;
@@ -661,7 +749,6 @@
this.$set(this.TreeAddform,'codeRuleOidName',this.masterName)
this.$set(this.TreeAddform,'codeRuleOid',this.masterOid)
this.$emit('MasterHandler',this.loneTreeNewForm)
- console.log(this.loneTreeNewForm)
}
},
//缂栫爜鎺ュ彛
@@ -689,7 +776,6 @@
this.KeySelectLIst=[]
this.$set(this.TreeAddform,'codeKeyAttrRepeatOidName',this.KeyName)
this.$set(this.TreeAddform,'codeKeyAttrRepeatOid',this.KeyOid)
- console.log(this.TreeAddform)
}
},
//鍏抽敭灞炴�ф煡璇�
@@ -768,7 +854,6 @@
this.simSelectList=row;
this.simName=row[0].name;
this.simOid=row[0].oid;
- console.log('oid',this.oid)
},
//鐩镐技椤归」鎺ュ彛
simdefaultRend(){
@@ -778,6 +863,56 @@
'conditionMap["lcstatus"]':'Enabled'
}).then(res=>{
this.simData=res.data.records;
+ })
+ },
+ //涓氬姟绫诲瀷澶辩劍
+ btmFoucus(){
+ this.BtmdialogVisible=true;
+ this.btmdefaultRend()
+ },
+ //涓氬姟绫诲瀷纭畾
+ btmHandlerClick(){
+ if(this.btmSelectList.length>1){
+ this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+ }else if(this.btmSelectList.length<=0){
+ this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+ }else {
+ this.BtmdialogVisible=false;
+ this.btmSelectList=[]
+ this.$set(this.TreeAddform,'btmTypeName',this.btmName)
+ this.$set(this.TreeAddform,'btmTypeId',this.btmOid)
+ this.$emit('MasterHandler',this.loneTreeNewForm)
+ }
+ },
+ //涓氬姟绫诲瀷鏌ヨ
+ BtmSelectFindeHandler(){
+ if(this.SelectValue == 'id'){
+ const masterParameter={
+ 'conditionMap[id]':this.SelectFInd
+ }
+ this.btmdefaultRend(masterParameter);
+ this.SelectValue=""
+ this.SelectFInd=""
+ }else if(this.SelectValue == 'name'){
+ const masterParameter={
+ 'conditionMap[name]':this.SelectFInd
+ }
+ this.btmdefaultRend(masterParameter)
+ this.SelectValue=""
+ this.SelectFInd=""
+ }
+ },
+ //涓氬姟绫诲瀷澶氶��
+ btmSelect(row){
+ this.btmSelectList=row;
+ this.btmName=row[0].name;
+ this.btmOid=row[0].oid;
+ },
+ //涓氬姟绫诲瀷鎺ュ彛
+ btmdefaultRend(masterParameter){
+ referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{
+ // console.log(res)
+ this.BtmData=res.data.data.records
})
},
//瀛愪紶鐖�
@@ -833,18 +968,19 @@
//鏍戣妭鐐规坊鍔犱簨浠�
TreeAddHandler() {
const data = this.TreeAddform;
- data.btmTypeName= this.TreeList.btmtypename
+ // data.btmtypename= this.TreeList.btmtypename
this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid);
- // console.log("data", data);
TreeSave(data)
.then(() => {
this.$message({
type: "success",
message: "娣诲姞鎴愬姛!",
});
+ Object.keys(this.TreeAddform).forEach(key => {
+ this.TreeAddform[key] = "";
+ });
this.getAttr();
this.TreeAddFormVisible = false;
- this.TreeAddform = "";
})
.catch((res) => {
this.$message({
@@ -911,14 +1047,13 @@
},
//淇敼鍥炲~
TreeEdit() {
- if (this.nodeClickList == "") {
+ if ( Object.keys(this.nodeClickList).length<1) {
this.$message({
type: 'warning',
message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!'
});
} else {
this.TreeEditFormVisible = true;
- console.log(this.TreeList)
}
},
//鏍戝埛鏂�
@@ -991,6 +1126,9 @@
//鏍戠偣鍑讳簨浠�
async nodeClick(data) {
//瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id
+ if(data.parentId == ""){
+ this.TreeFlagCode=true;
+ }
this.nodeClickList = data
this.ProData=[]
try {
@@ -1011,14 +1149,25 @@
this.$message.error(res)
})
// 鍩烘湰淇℃伅琛ㄥ崟鏁版嵁
- await getObjectByOid(this.nodeClickList.oid).then(res => {
- this.TreeList = res.data.data;
- }).catch(res => {
- this.$message.error(res)
- })
+ await getObjectByOid(this.nodeClickList.oid).then(res => {
+ this.TreeList = res.data.data;
+ }).catch(res => {
+ this.$message.error(res)
+ })
} catch (error) {
this.$message.error(error)
}
+ },
+ treeClick(e) {
+ console.log(e);
+ },
+ //鍩烘湰淇℃伅琛ㄥ崟鍒锋柊
+ referTreeForm(){
+ getObjectByOid(this.nodeClickList.oid).then(res => {
+ this.TreeList = res.data.data;
+ }).catch(res => {
+ this.$message.error(res)
+ })
},
//鍏嬮殕妯℃澘鏍戠殑鐐瑰嚮鍒囨崲鏁版嵁
async ClonenodeClick(data){
@@ -1087,7 +1236,6 @@
});
})
}
- console.log('123',this.codeClassifyOid)
},
//妯℃澘绠$悊淇敼
CrudRowUpdata(row,index,done) {
--
Gitblit v1.9.3