wangting
2024-08-30 4e811ec71dba161e13592828a6035e9316b1548e
链接类型查询模板
已修改4个文件
92 ■■■■ 文件已修改
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formDialog.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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: {
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>&nbsp;查询条件&nbsp;</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>
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、VTDouble、VTLong
      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>
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() {