From 4e811ec71dba161e13592828a6035e9316b1548e Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 30 八月 2024 17:15:29 +0800
Subject: [PATCH] 链接类型查询模板
---
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue | 1
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue | 37 +++++++++++++-----
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue | 45 +++++++++++++++++-----
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue | 9 ++++
4 files changed, 71 insertions(+), 21 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
index 33db589..7d15766 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
+++ b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
@@ -121,6 +121,7 @@
Object.assign(this.form, this.initValue);
}
},
+ deep:true,
immediate: true,
},
formData: {
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 9d55699..2b7229c 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
@@ -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">
+ <avue-tree style="height: 265px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart">
</avue-tree>
</div>
</fieldset>
@@ -55,7 +55,7 @@
<el-main>
<fieldset style="margin: 0 10px">
<legend> 鏌ヨ鏉′欢 </legend>
- <form-query-dialog style="height: 300px;"></form-query-dialog>
+ <form-query-dialog style="height: 300px;" :queryCondition="queryCondition" :queryTree="queryTree"></form-query-dialog>
</fieldset>
</el-main>
<el-aside style="width:350px">
@@ -64,7 +64,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">
+ <avue-tree style="height: 265px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart">
</avue-tree>
</div>
</fieldset>
@@ -254,6 +254,13 @@
menu: false,
addBtn: false,
filter:false,
+ draggable: true,
+ allowDrop: () => {
+ return false;
+ },
+ allowDrag: () => {
+ return true;
+ },
},
linkQueryDefineForm:'',//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟閫変腑鍊�
linkQueryDefineDic:[],//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟涓嬫媺鏁版嵁
@@ -263,6 +270,10 @@
businessQueryDefineDic:[],//涓氬姟绫诲瀷鏌ヨ妯℃澘瀹氫箟涓嬫媺鏁版嵁
//涓氬姟绫诲瀷鏌ヨ妯℃澘瀹氫箟閫変腑椤瑰睘鎬�
businessTreeData: [],
+ //楂樼骇鏌ヨ鏉′欢
+ queryTree:{},
+ //鏅�氭煡璇㈡潯浠�
+ queryCondition:[]
};
},
watch: {
@@ -329,7 +340,6 @@
if (data.selectData) {
this.selectData = data.selectData;
- this.formItems[0].disabled = true
this.form.qtName = this.selectData.qtName;
this.form.direction = this.selectData.queryTemplate.direction;
this.form.btmType = this.selectData.queryTemplate.btmType;
@@ -339,16 +349,16 @@
if (data.selectData.queryTemplate.orderInfoList && data.selectData.queryTemplate.orderInfoList.length > 0) {
this.orderInfoList = JSON.parse(JSON.stringify(data.selectData.queryTemplate.orderInfoList));//宸叉湁鎺掑簭
}
+ this.queryCondition=this.selectData.queryTemplate.condition;
+ this.queryTree=this.selectData.queryTemplate.tree;
} else {
this.selectData = {};
this.orderInfoList = [];
- this.formItems[0].disabled = false;
+ this.queryCondition=[];
+ this.queryTree={};
}
+ this.dialog.showDialog = true;
this.getTemp(data.treeData.label, true)
- this.$nextTick(()=>{
- this.dialog.showDialog = true;
- });
-
},
cancelDialog() {
this.dialog.loading = false;
@@ -360,9 +370,9 @@
queryTemplate: {}
};
this.orderInfoList =[];
- this.$refs.form.clearValidate();
this.businessQueryDefineForm='';
this.linkQueryDefineForm='';
+ this.$refs.form.clearValidate();
});
},
submitDialog() {
@@ -503,7 +513,12 @@
children: childData
}]
}
- }
+ },
+ // 寮�濮嬫嫋鎷芥爲鑺傜偣浜嬩欢
+ handleDragStart(node, ev) {
+ // 浣跨敤 setData 鏂规硶璁剧疆鏁版嵁
+ ev.dataTransfer.setData('item', JSON.stringify(node.data));
+ },
},
}
</script>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
index b1bb218..20164a4 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
@@ -5,11 +5,12 @@
<el-button plain size="mini" type="primary" @click="clearValue">娓呯┖鍊�</el-button>
<el-button plain size="mini" type="primary" @click="delAll">鍒犻櫎鍏ㄩ儴鏉′欢</el-button>
</div>
- <div v-if="radioForm==0" style="height: 220px;text-align: center;">
- <div v-for="condition in conditionList" class="el-input--small">
- <span>condition.clause</span>
- <avue-select v-model="condition.operator" type="tree" :dic="operatorDic" style="width: 80px;margin: 0 5px"></avue-select>
- <avue-input v-model="condition.ordinaryValue" placeholder="" style="width: 400px"></avue-input>
+ <div v-if="radioForm==0" @drop="drop" @dragover.prevent style="height: 220px;text-align: center;">
+ <div v-for="condition in conditionList" class="el-input--small" style="margin-bottom: 5px;">
+ <span style="width: 150px;display: inline-block;text-align: right" :title="condition.clause">{{condition.clause}}</span>
+ <avue-select v-model="condition.operator" type="tree" :dic="operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
+ <avue-input v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input>
+ <el-button plain size="mini" type="primary" @click="delAll">閫夋嫨鏌ヨ妯℃澘</el-button>
</div>
</div>
<div v-else style="height: 220px;text-align: left">
@@ -28,6 +29,16 @@
<script>
export default {
name: "formQueryDialog",
+ props: {
+ queryCondition: {
+ type: Array,
+ default: []
+ },
+ queryTree: {
+ type: Object,
+ default: {}
+ },
+ },
data() {
return {
radioForm: 0,
@@ -38,16 +49,14 @@
label: '楂樼骇',
value: 1
}],
- conditionList:[{
- clause:'OID'
- }],
+ conditionList:this.queryCondition,
treeOption:{
defaultExpandAll:true,
menu: false,
addBtn: false,
filter:false,
},
- treeData:{},
+ treeData:this.queryTree,
//VTInteger銆乂TDouble銆乂TLong
operatorIntDic:[{
label:'=',
@@ -115,10 +124,26 @@
value:'not in'
}]
}
+ },
+ methods:{
+ // 鎷栨嫿鍒版椂
+ drop(event) {
+ // 浣跨敤 getData 鏂规硶鑾峰彇鏁版嵁
+ const data = JSON.parse(event.dataTransfer.getData('item'));
+ const params = {
+ clause: data.value,
+ operator: '=',
+ ordinaryValue: ''
+ }
+ this.conditionList.push(params)
+ }
}
}
</script>
<style scoped>
-
+::v-deep .el-input--small .el-input__inner{
+ height: 28px;
+ line-height: 28px;
+}
</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
index c6d411c..76df4c5 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
@@ -195,6 +195,10 @@
//鍒涘缓
addHandler() {
this.$refs.formRef.openDialog(this.nodeRow.label,'鍒涘缓','add',{treeData:this.nodeRow});
+ this.$nextTick(()=>{
+ this.$refs.formRef.formItems[0].disabled = false;
+ this.$refs.formRef.$refs.form.getInit(this.$refs.formRef.formItems)
+ });
},
//淇敼
editHandler() {
@@ -203,6 +207,11 @@
return;
}
this.$refs.formRef.openDialog(this.nodeRow.label,'淇敼','edit',{treeData:this.nodeRow,selectData:this.selectionRow[0]});
+ this.$nextTick(()=>{
+ debugger;
+ this.$refs.formRef.formItems[0].disabled = true;
+ this.$refs.formRef.$refs.form.getInit(this.$refs.formRef.formItems)
+ });
},
//鍒犻櫎
delHandler() {
--
Gitblit v1.9.3