From fdf13539b4ef7f5fddb3b7335015fb3c34915a8b Mon Sep 17 00:00:00 2001 From: wangting <wangting@vci-tech.com> Date: 星期二, 14 一月 2025 11:50:40 +0800 Subject: [PATCH] 调整查询模板添加窗口各下拉数据的获取 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue | 133 +++++++++++++++++++++++++++---------------- 1 files changed, 83 insertions(+), 50 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..e1c0044 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="1620px" + width="1650px" :append-to-body="true" class="avue-dialog" :destroy-on-close="true" @@ -46,8 +46,8 @@ <legend> 閾炬帴绫诲瀷鍊欓�夋潯浠� </legend> <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" @node-drag-end="handleDragEnd"> + <avue-select @change="linkQueryDefineChange" class="el-input--small" v-model="linkQueryDefineForm" placeholder="璇烽�夋嫨鍐呭" type="tree" :dic="linkQueryDefineDic" style="width:245px"></avue-select> + <avue-tree style="width:335px;height: 268px" :data="linkTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd"> </avue-tree> </div> </fieldset> @@ -60,6 +60,8 @@ :queryCondition="queryCondition" :queryTree="queryTree" :levelFlag.sync="form.levelFlag" + :searchColumn="searchColumn" + @queryHandler="queryHandler" ></form-query-dialog> </fieldset> </el-main> @@ -68,8 +70,8 @@ <legend> 涓氬姟绫诲瀷鍊欓�夋潯浠� </legend> <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" @node-drag-end="handleDragEnd"> + <avue-select @change="businessQueryDefineChange" class="el-input--small" v-model="businessQueryDefineForm" placeholder="璇烽�夋嫨鍐呭" type="tree" :dic="businessQueryDefineDic" style="width: 245px;"></avue-select> + <avue-tree style="width:335px;height: 268px" :data="businessTreeData" :option="treeOption" @node-drag-start="handleDragStart" @node-drag-end="handleDragEnd"> </avue-tree> </div> </fieldset> @@ -77,7 +79,7 @@ </el-container> </div> <div class="dialog-footer avue-dialog__footer"> - <el-button type="primary" plain size="small" @click="submitDialog" >淇� 瀛�</el-button> + <el-button type="primary" size="small" @click="submitDialog" >淇� 瀛�</el-button> <el-button size="small" @click="cancelDialog">鍙� 娑�</el-button> </div> </el-dialog> @@ -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,24 +96,35 @@ 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: '鏌ヨ妯℃澘鍚嶇О', prop: 'qtName', type: 'input', - span:5, + span:4.5, + labelWidth: 110, rules: [{ required: true, message: "璇疯緭鍏ユ煡璇㈡ā鏉垮悕绉�", @@ -122,8 +135,8 @@ prop: 'direction', type: 'radio', value:'positive', - labelWidth:70, - span: 3, + labelWidth:80, + span: 3.5, dicData: [{ label: '姝e悜', value: 'positive' @@ -136,12 +149,19 @@ prop: 'btmType', type: 'select', labelWidth:110, + clearable:false, + rules: [{ + required: true, + message: "璇烽�夋嫨涓氬姟绫诲瀷", + trigger: "blur" + }], dicData: [] }, { label: '鐗堟湰鐗堟', prop: 'version', type: 'select', - span:5, + span:4, + labelWidth:110, dicData: [{ label: '褰撳墠鐗堟湰褰撳墠鐗堟', value: 1 @@ -160,7 +180,7 @@ label: '鏌ヨ鏄惁鏈変笅绾�', prop: 'queryISLeaf', type: 'switch', - labelWidth:140, + labelWidth:150, dicData: [ { label: '鍚�', value: false @@ -173,7 +193,7 @@ label: '瀛愯妭鐐瑰眰娆℃暟', prop: 'level', type: 'number', - span:3, + labelWidth:130, value:1 }], form:{ @@ -183,7 +203,7 @@ queryTemplate:{} }, //宸叉湁鎺掑簭鍒楄〃閰嶇疆 - crudOption: { + crudOption: { ...basicOption, addBtn: false, editBtn: false, @@ -268,12 +288,17 @@ addBtn: false, filter:false, draggable: true, - allowDrop: () => { + allowDrop: (node) => { return false; }, - allowDrag: () => { + allowDrag: (dropNode) => { return true; }, + props:{ + label:'name', + value:'name', + children:'attrs' + } }, linkQueryDefineForm:'',//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟閫変腑鍊� linkQueryDefineDic:[],//閾炬帴绫诲瀷鏌ヨ妯℃澘瀹氫箟涓嬫媺鏁版嵁 @@ -360,6 +385,7 @@ this.queryTree=this.selectData.tree; this.form.levelFlag=this.selectData.levelFlag; } else { + this.form.direction='positive'; this.selectData = {}; this.orderInfoList = []; this.queryCondition=[]; @@ -369,6 +395,7 @@ }; } this.dialog.showDialog = true; + this.treeOption.defaultExpandedKeys=[data.treeData.label] this.getTemp(data.treeData.label, true) }, cancelDialog() { @@ -516,7 +543,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,34 +561,12 @@ }, 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 - }] + this.linkTreeData = [ data.item] } }, 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 - }] + this.businessTreeData = [ data.item] } }, // 寮�濮嬫嫋鎷芥爲鑺傜偣浜嬩欢 @@ -576,18 +581,46 @@ 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> <style scoped> fieldset { - border-radius: 5px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); padding: 10px 6px; - box-sizing: border-box; margin: 0; border: 1px solid #EBEEF5; } -- Gitblit v1.9.3