From a471b20fe8075a663f32b3a2ee0cd70c1c63baf7 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 21 十一月 2024 21:59:42 +0800 Subject: [PATCH] 业务类型查询:树查询修改,数据列表查询接口修改(处理模板套模板情况下freemarker表达式的替换处理)。 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue | 99 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 69 insertions(+), 30 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 d37c1d1..c1411cc 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 @@ -60,6 +60,8 @@ :queryCondition="queryCondition" :queryTree="queryTree" :levelFlag.sync="form.levelFlag" + :searchColumn="searchColumn" + @queryHandler="queryHandler" ></form-query-dialog> </fieldset> </el-main> @@ -85,7 +87,7 @@ <script> import {getAllOrderbyAttributeByLink} from "@/api/modeling/linkType/api"; -import {linkSave} from "@/api/queryTemplate/linkTypeQuery"; +import {linkSave,getCriteria} from "@/api/queryTemplate/linkTypeQuery"; import basicOption from "@/util/basic-option"; import {queryTemplateListByAttr} from "@/api/queryTemplate/queryDefine"; import formQueryDialog from "./formQueryDialog.vue"; @@ -94,18 +96,28 @@ components:{formQueryDialog}, data(){ return { + searchColumn: [ + { + label: 'OID', + prop: 'OID', + }, + { + label: 'CREATOR', + prop: 'CREATOR' + }, + { + label: 'CREATETIME', + prop: 'CREATETIME' + }, + ], dialog: { showDialog: false, title: "鍒涘缓", - submitTxt: "淇濆瓨", - submitIcon: "el-icon-check", loading: false, type: "add", }, crudDialog: { showDialog: false, - submitTxt: "淇濆瓨", - submitIcon: "el-icon-check", }, formItems:[{ label: '鏌ヨ妯℃澘鍚嶇О', @@ -268,12 +280,21 @@ addBtn: false, filter:false, draggable: true, - allowDrop: () => { + allowDrop: (node) => { return false; }, - allowDrag: () => { - return true; + allowDrag: (dropNode) => { + if (dropNode.data.attrs && dropNode.data.attrs.length>0) { + return false; + } else { + return true; + } }, + props:{ + label:'name', + value:'name', + children:'attrs' + } }, linkQueryDefineForm:'',//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟閫変腑鍊� linkQueryDefineDic:[],//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟涓嬫媺鏁版嵁 @@ -369,7 +390,9 @@ }; } this.dialog.showDialog = true; + this.treeOption.defaultExpandedKeys=[data.treeData.label] this.getTemp(data.treeData.label, true) + }, cancelDialog() { this.dialog.loading = false; @@ -516,7 +539,7 @@ //鑾峰彇鏌ヨ妯℃澘瀹氫箟涓嬫媺 getTemp(btmName,linkFlag) { if (btmName) { - queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:this.form.direction}).then(res => { + queryTemplateListByAttr({btmName: btmName, linkFlag: linkFlag,direction:linkFlag?null:this.form.direction}).then(res => { const data = res.data.data.map(item => { item.label = item.name + '-' + (item.linkTypeName || item.btmName); item.value = item.name; @@ -534,33 +557,17 @@ }, linkQueryDefineChange(data) { if (data.value) { - const childData = data.item.attrs.map(item => { - return { - label: item.name, - value: item.name, - atttributes:item - }; - }); this.linkTreeData = [{ - label: data.value, - value: data.value, - children: childData + name: data.value, + attrs: data.item.attrs }] } }, businessQueryDefineChange(data) { if (data.value) { - const childData = data.item.attrs.map(item => { - return { - label: item.name, - value: item.name, - atttributes:item - }; - }); this.businessTreeData = [{ - label: data.value, - value: data.value, - children: childData + name: data.value, + attrs: data.item.attrs }] } }, @@ -576,7 +583,39 @@ if(this.form.levelFlag==1) { this.$refs.formQuery.$refs.tree.$emit('tree-node-drag-end', ev); } - } + }, + //鏌ヨ + queryHandler(){ + this.$refs.form.validate((valid) => { + if (valid) { + this.$refs.formQuery.queryResultDialog.loading=true; + const formData=this.initFormData(); + getCriteria(formData).then(res => { + if (res.data.success) { + const data = res.data.data; + const result = data.map(item => { + const filteredAttrs = item.hisAttrValList.filter(attr => + attr.attrName === "OID" || attr.attrName === "CREATOR" || attr.attrName === "CREATETIME" + ); + + const newObj = filteredAttrs.reduce((acc, attr) => { + acc[attr.attrName] = attr.attrVal; + return acc; + }, {}); + + return newObj; + }); + + this.$refs.formQuery.resultData = result; + this.$refs.formQuery.queryResultDialog.showDialog = true; + this.$refs.formQuery.queryResultDialog.loading = false; + } + }); + } else { + return false; + } + }); + }, }, } </script> -- Gitblit v1.9.3