| | |
| | | Object.assign(this.form, this.initValue); |
| | | } |
| | | }, |
| | | deep:true, |
| | | immediate: true, |
| | | }, |
| | | formData: { |
| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | draggable: true, |
| | | allowDrop: () => { |
| | | return false; |
| | | }, |
| | | allowDrag: () => { |
| | | return true; |
| | | }, |
| | | }, |
| | | linkQueryDefineForm:'',//链接类型查询模板定义选中值 |
| | | linkQueryDefineDic:[],//链接类型查询模板定义下拉数据 |
| | |
| | | businessQueryDefineDic:[],//业务类型查询模板定义下拉数据 |
| | | //业务类型查询模板定义选中项属性 |
| | | businessTreeData: [], |
| | | //高级查询条件 |
| | | queryTree:{}, |
| | | //普通查询条件 |
| | | queryCondition:[] |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | queryTemplate: {} |
| | | }; |
| | | this.orderInfoList =[]; |
| | | this.$refs.form.clearValidate(); |
| | | this.businessQueryDefineForm=''; |
| | | this.linkQueryDefineForm=''; |
| | | this.$refs.form.clearValidate(); |
| | | }); |
| | | }, |
| | | submitDialog() { |
| | |
| | | children: childData |
| | | }] |
| | | } |
| | | } |
| | | }, |
| | | // 开始拖拽树节点事件 |
| | | handleDragStart(node, ev) { |
| | | // 使用 setData 方法设置数据 |
| | | ev.dataTransfer.setData('item', JSON.stringify(node.data)); |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | <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"> |
| | |
| | | <script> |
| | | export default { |
| | | name: "formQueryDialog", |
| | | props: { |
| | | queryCondition: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | queryTree: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | radioForm: 0, |
| | |
| | | label: '高级', |
| | | value: 1 |
| | | }], |
| | | conditionList:[{ |
| | | clause:'OID' |
| | | }], |
| | | conditionList:this.queryCondition, |
| | | treeOption:{ |
| | | defaultExpandAll:true, |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | }, |
| | | treeData:{}, |
| | | treeData:this.queryTree, |
| | | //VTInteger、VTDouble、VTLong |
| | | operatorIntDic:[{ |
| | | label:'=', |
| | |
| | | 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> |
| | |
| | | //创建 |
| | | 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() { |
| | |
| | | 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() { |