From 99dda6d4254e062f386976e0d66c8379020d3944 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 06 九月 2024 16:34:18 +0800 Subject: [PATCH] 查询模板导出导入 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formQueryDialog.vue | 121 ++++++++++++++++++++++++++++----------- 1 files changed, 86 insertions(+), 35 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formQueryDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formQueryDialog.vue index 677e8bd..38ff8db 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formQueryDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/formQueryDialog.vue @@ -24,8 +24,9 @@ <el-button size="mini" type="danger" icon="el-icon-delete" @click="delCondition(index)" style="padding: 7px 8px"></el-button> </div> </div> - <div v-else style="height: 220px;text-align: left"> - <avue-tree ref="tree" @node-drop="handleDrop" style="height: 220px" :data="treeData" :option="treeOption" @node-click="nodeClick" node-key="value"></avue-tree> + <div v-else @drop="drop" @dragover.prevent style="height: 220px;text-align: left"> + <avue-tree ref="tree" @node-drag-end="handleDragEnd" @node-drag-leave="handleDragLeave" @node-drag-over="handleDragOver" + style="height: 220px" :data="treeData" :option="treeOption" @node-click="nodeClick" node-key="value"></avue-tree> </div> <div style="text-align: right;margin-top: 10px;"> <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="addHandler">澧炲姞閫昏緫</el-button> @@ -35,6 +36,7 @@ <el-button plain size="mini" type="primary" @click="">鍙栨秷</el-button> </div> + <!--淇敼鏉′欢--> <el-dialog v-dialogDrag :title="dialog.title" :visible.sync="dialog.showDialog" @@ -114,7 +116,7 @@ import basicOption from "@/util/basic-option"; import {getAllQTs} from "@/api/queryTemplate/queryDefine"; import {getCriteria} from "@/api/queryTemplate/linkTypeQuery"; - +import {dateFormat} from "@/util/date" export default { name: "formQueryDialog", props: { @@ -374,11 +376,38 @@ nodeChild.forEach((item,index)=>{ that.treeIndex++; if(item.column !=null && item.column != undefined){ + const values= item.column.split(' '); + let inputValue=''; + let operator=''; + let showLabel='' + if(item.column.indexOf('not in')!=-1){ + operator='not in'; + if(values.length>3){ + inputValue=values[3]; + } + }else{ + if(values.length>1){ + operator=values[1]; + if(values.length>2){ + inputValue=values[2]; + } + } + } + + if(values[0].indexOf('.')!=-1){ + const labels=values[0].split('.') + showLabel=labels[labels.length-1]; + }else { + showLabel=values[0]; + } children.push({ label:item.column, value:item.column+that.treeIndex, type:item.type, - valueIndex:'v'+that.treeIndex + valueIndex:'v'+that.treeIndex, + inputValue:inputValue, + operator:operator, + showLabel:showLabel }) }else { children.push({ @@ -437,23 +466,47 @@ } params.type=data.atttributes.vtDataType; this.conditionList.push(params) - }else {debugger; + }else { if (this.clickNode.label != '骞朵笖' && this.clickNode.label != '鎴栬��') { this.$message.error('璇烽�変腑閫昏緫鏉′欢娣诲姞鏌ヨ椤�'); return; } - this.treeIndex++; - this.$refs.tree.append({ - label: data.value, - value: data.value + this.treeIndex, - valueIndex: 'v' + this.treeIndex, - children: [] - }, this.clickNode); + this.$refs.tree.append(this.initItem(data), this.clickNode); } }, - handleDrop(draggingNode, dropNode, dropType, ev) { + initItem(data){ + this.treeIndex++; + let item={ + label: data.value, + value: data.value + this.treeIndex, + valueIndex: 'v' + this.treeIndex, + type:data.vtDataType, + children: [], + inputValue:data.value, + operator:'=', + showLabel:data.value + }; + let showLabel=''; + if(data.value.indexOf('.')!=-1){ + const labels=data.value.split('.') + showLabel=labels[labels.length-1]; + }else { + showLabel=data.value; + } + item.showLabel=showLabel; + return item + }, + handleDragEnd(draggingNode, dropNode, dropType, ev) { debugger; - console.log('tree drop: ', dropNode.label, dropType); + console.log('tree drag end: ', dropNode && dropNode.label, dropType); + }, + handleDragOver({event}) { + // 闃绘榛樿浜嬩欢锛屽厑璁告斁缃� + event.preventDefault(); + }, + handleDragLeave({event}) { + // 娓呴櫎鏀剧疆鏁堟灉 + event.preventDefault(); }, //鍒犻櫎鏅�氭煡璇㈡潯浠� delCondition(index) { @@ -478,9 +531,13 @@ if(node.children){ this.clearTreeValue(node.children) }else { - let values=node.label.split(' '); - if(values.length>2){ - node.label=values[0]+' '+values[1]; + if(node.label.indexOf('not in')!=-1){ + node.label=node.label.split(' ')[0]+' not in' + }else { + let values = node.label.split(' '); + if (values.length > 2) { + node.label = values[0] + ' ' + values[1]; + } } } }) @@ -535,24 +592,6 @@ } else if (this.clickNode.label == '鎴栬��') { this.clickNode.label = '骞朵笖' } else { - const values= this.clickNode.label.split(' '); - this.clickNode.inputValue=''; - if(values.length>1){ - this.clickNode.operator=values[1]; - if(values.length>2){ - if(['VTDateTime','VTDate','VTTime'].includes(this.clickNode.type)){ - this.clickNode.inputValue=new Date(values[2]); - }else { - this.clickNode.inputValue=values[2]; - } - } - } - if(values[0].indexOf('.')!=-1){ - const labels=values[0].split('.') - this.clickNode.showLabel=labels[labels.length-1]; - }else { - this.clickNode.showLabel=values[0]; - } this.dialog.showDialog = true; } } else { @@ -609,6 +648,18 @@ submitDialog() { const values= this.clickNode.label.split(' '); this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+this.clickNode.inputValue; + try{ + if(['VTDateTime'].includes(this.clickNode.type)){ + this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue); + }else if(['VTDate'].includes(this.clickNode.type)){ + this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue ,'yyyy-MM-dd'); + }else if(['VTTime'].includes(this.clickNode.type)){ + this.clickNode.label = values[0]+' '+this.clickNode.operator+' '+dateFormat(this.clickNode.inputValue ,'hh:mm:ss'); + } + }catch (e) { + + } + this.dialog.showDialog = false; }, //鑾峰彇鏌ヨ妯℃澘鍒楄〃 -- Gitblit v1.9.3