From deb9457cbf67185699de2cd6dbc1ec5690584da0 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 12:30:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue | 137 +++++++++++++++++++++++++++++++--------------
1 files changed, 94 insertions(+), 43 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue
index 2b7229c..91d6197 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue
@@ -2,7 +2,7 @@
<el-dialog v-dialogDrag
:title="dialog.title"
:visible.sync="dialog.showDialog"
- width="1600px"
+ width="1620px"
:append-to-body="true"
class="avue-dialog"
:destroy-on-close="true"
@@ -47,7 +47,7 @@
<div>
鏌ヨ妯℃澘瀹氫箟
<avue-select @change="linkQueryDefineChange" class="el-input--small" v-model="linkQueryDefineForm" placeholder="璇烽�夋嫨鍐呭" type="tree" :dic="linkQueryDefineDic" style="width:240px"></avue-select>
- <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart">
+ <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd">
</avue-tree>
</div>
</fieldset>
@@ -55,7 +55,12 @@
<el-main>
<fieldset style="margin: 0 10px">
<legend> 鏌ヨ鏉′欢 </legend>
- <form-query-dialog style="height: 300px;" :queryCondition="queryCondition" :queryTree="queryTree"></form-query-dialog>
+ <form-query-dialog ref="formQuery"
+ style="height: 300px;"
+ :queryCondition="queryCondition"
+ :queryTree="queryTree"
+ :levelFlag.sync="form.levelFlag"
+ ></form-query-dialog>
</fieldset>
</el-main>
<el-aside style="width:350px">
@@ -64,7 +69,7 @@
<div>
鏌ヨ妯℃澘瀹氫箟
<avue-select @change="businessQueryDefineChange" class="el-input--small" v-model="businessQueryDefineForm" placeholder="璇烽�夋嫨鍐呭" type="tree" :dic="businessQueryDefineDic" style="width: 240px;"></avue-select>
- <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart">
+ <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd">
</avue-tree>
</div>
</fieldset>
@@ -82,7 +87,7 @@
import {getAllOrderbyAttributeByLink} from "@/api/modeling/linkType/api";
import {linkSave} from "@/api/queryTemplate/linkTypeQuery";
import basicOption from "@/util/basic-option";
-import {gridTemplate} from "@/api/queryTemplate/queryDefine";
+import {queryTemplateListByAttr} from "@/api/queryTemplate/queryDefine";
import formQueryDialog from "./formQueryDialog.vue";
export default {
name: "formDialog",
@@ -174,6 +179,7 @@
form:{
btmName:'',
qtName: '',
+ levelFlag:0,//0:鏅�氭煡璇㈡ā鏉�; 1:楂樼骇鏌ヨ妯℃澘"
queryTemplate:{}
},
//宸叉湁鎺掑簭鍒楄〃閰嶇疆
@@ -273,7 +279,8 @@
//楂樼骇鏌ヨ鏉′欢
queryTree:{},
//鏅�氭煡璇㈡潯浠�
- queryCondition:[]
+ queryCondition:[],
+
};
},
watch: {
@@ -322,14 +329,7 @@
}
},
immediate: true,
- },
- 'dialog.type': {
- handler(val) {
- if(val=='edit'){
- }
- },
- immediate: true,
- },
+ }
},
methods: {
openDialog(btmName, title, mode, data) {
@@ -350,12 +350,16 @@
this.orderInfoList = JSON.parse(JSON.stringify(data.selectData.queryTemplate.orderInfoList));//宸叉湁鎺掑簭
}
this.queryCondition=this.selectData.queryTemplate.condition;
- this.queryTree=this.selectData.queryTemplate.tree;
+ this.queryTree=this.selectData.tree;
+ this.form.levelFlag=this.selectData.levelFlag;
} else {
this.selectData = {};
this.orderInfoList = [];
this.queryCondition=[];
- this.queryTree={};
+ this.queryTree={
+ connector:'骞朵笖',
+ child:[]
+ };
}
this.dialog.showDialog = true;
this.getTemp(data.treeData.label, true)
@@ -367,6 +371,7 @@
this.form = {
btmName: '',
qtName: '',
+ levelFlag:0,
queryTemplate: {}
};
this.orderInfoList =[];
@@ -378,26 +383,8 @@
submitDialog() {
this.$refs.form.validate((valid) => {
if (valid) {
- let formData={
- btmName:this.form.btmName,
- qtName:this.form.qtName,
- queryTemplate:{
- btmType:this.form.btmType,
- clauseList:['*'],
- direction:this.form.direction,
- id:this.form.qtName,
- level:this.form.level,
- linkType:this.form.btmName,
- orderInfoList:this.orderInfoList,
- queryISLeaf:this.form.queryISLeaf,
- recReturnMode:1,//閫掑綊杩斿洖鏁版嵁妯″紡:1锛歊ECRETURNMODE_FLAT, 2锛歊ECRETURNMODE_FILTER
- rightFlag:true,
- secretFlag:true,
- type:'link',
- version:this.form.version
- }
- }
- formData.condition=[]
+ const formData=this.initFormData();
+ console.log(formData)
linkSave(formData).then(res => {
if (res.data.success) {
this.$message.success("淇濆瓨鎴愬姛");
@@ -409,6 +396,60 @@
return false;
}
});
+ },
+ initFormData() {
+ let formData = {
+ btmName: this.form.btmName,
+ qtName: this.form.qtName,
+ levelFlag: this.form.levelFlag,
+ queryTemplate: {
+ btmType: this.form.btmType,
+ clauseList: ['*'],
+ direction: this.form.direction,
+ id: this.form.qtName,
+ level: this.form.level,
+ linkType: this.form.btmName,
+ orderInfoList: this.orderInfoList,
+ queryISLeaf: this.form.queryISLeaf,
+ recReturnMode: 1,//閫掑綊杩斿洖鏁版嵁妯″紡:1锛歊ECRETURNMODE_FLAT, 2锛歊ECRETURNMODE_FILTER
+ rightFlag: true,
+ secretFlag: true,
+ type: 'link',
+ version: this.form.version
+ }
+ }
+ if (formData.levelFlag == 1) {
+ //楂樼骇
+ let that = this;
+ function initValue(nodeChild) {
+ let children = [];
+ if (nodeChild) {
+ nodeChild.forEach((item, index) => {
+ if (item.label != '骞朵笖' && item.label != '鎴栬��') {
+ children.push(item.label);
+ } else {
+ children.push({
+ connector: item.label,
+ child: initValue(item.children)
+ })
+ }
+ })
+ }
+ return children;
+ }
+
+ let treeData = {
+ connector: this.$refs.formQuery.treeData[0].label
+ };
+ if (this.$refs.formQuery.treeData[0].children) {
+ treeData.child = initValue(this.$refs.formQuery.treeData[0].children);
+ }
+ formData.tree = treeData
+ }
+
+ formData.condition = this.$refs.formQuery.conditionList;
+
+ return formData;
},
getFormData(form) {
this.form = form;
@@ -468,7 +509,7 @@
//鑾峰彇鏌ヨ妯℃澘瀹氫箟涓嬫媺
getTemp(btmName,linkFlag) {
if (btmName) {
- gridTemplate({btmName: btmName, linkFlag: linkFlag}).then(res => {
+ queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:this.form.direction}).then(res => {
const data = res.data.data.map(item => {
item.label = item.name + '-' + (item.linkTypeName || item.btmName);
item.value = item.name;
@@ -486,10 +527,11 @@
},
linkQueryDefineChange(data) {
if (data.value) {
- const childData = data.item.abNames.map(item => {
+ const childData = data.item.attrs.map(item => {
return {
- label: item,
- value: item
+ label: item.name,
+ value: item.name,
+ atttributes:item
};
});
this.linkTreeData = [{
@@ -501,10 +543,11 @@
},
businessQueryDefineChange(data) {
if (data.value) {
- const childData = data.item.abNames.map(item => {
+ const childData = data.item.attrs.map(item => {
return {
- label: item,
- value: item
+ label: item.name,
+ value: item.name,
+ atttributes:item
};
});
this.businessTreeData = [{
@@ -518,7 +561,15 @@
handleDragStart(node, ev) {
// 浣跨敤 setData 鏂规硶璁剧疆鏁版嵁
ev.dataTransfer.setData('item', JSON.stringify(node.data));
+ if(this.form.levelFlag==1){
+ this.$refs.formQuery.$refs.tree.$emit('tree-node-drag-start', ev,{node:this.$refs.formQuery.initItem(node)});
+ }
},
+ handleDragEnd(draggingNode,endNode,position,ev){
+ if(this.form.levelFlag==1) {
+ this.$refs.formQuery.$refs.tree.$emit('tree-node-drag-end', ev);
+ }
+ }
},
}
</script>
--
Gitblit v1.9.3