From deb9457cbf67185699de2cd6dbc1ec5690584da0 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 12:30:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue | 740 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 657 insertions(+), 83 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
index 20164a4..96e4274 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue
@@ -6,27 +6,116 @@
<el-button plain size="mini" type="primary" @click="delAll">鍒犻櫎鍏ㄩ儴鏉′欢</el-button>
</div>
<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 v-for="(condition,index) in conditionList" :key="index" class="el-input--small" style="margin-bottom: 5px; text-align:left">
+ <span style="width: 200px;display: inline-block;text-align: right" :title="condition.clause">{{condition.clause}}</span>
+ <avue-select v-model="condition.operator" type="tree" :dic="condition.operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
+ <el-date-picker v-if="condition.type=='VTDate'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;" value-format="YYYY-MM-DD"
+ type="date">
+ </el-date-picker>
+ <el-date-picker v-else-if="condition.type=='VTDateTime'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"
+ type="datetime">
+ </el-date-picker>
+ <el-time-select v-else-if="condition.type=='VTTime'" v-model="condition.ordinaryValue" value-format="HH:mm:ss" style="width:300px;margin-right: 5px;display: inline-block;">
+ </el-time-select>
+ <avue-input-number v-else-if="condition.type=='VTInteger'" precision="0" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number>
+ <avue-input-number v-else-if="condition.type=='VTLong' || condition.type=='VTDouble'" v-model="condition.ordinaryValue" style="width:300px;margin-right: 5px;display: inline-block;"></avue-input-number>
+ <avue-input v-else v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input>
+ <el-button plain size="mini" type="primary" @click="checkTemp(index)">閫夋嫨鏌ヨ妯℃澘</el-button>
+ <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 style="height: 220px" :data="treeData" :option="treeOption"></avue-tree>
+ <div v-else @drop="drop" @dragover.prevent style="height: 220px;text-align: left">
+ <avue-tree ref="tree" @node-drop="handleDrop" @node-drag-end="handleDragEnd" 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>
- <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="del">淇敼鏉′欢</el-button>
- <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="del">鍒犻櫎</el-button>
- <el-button plain size="mini" type="primary" @click="del">鏌ヨ</el-button>
- <el-button plain size="mini" type="primary" @click="del">鍙栨秷</el-button>
+ <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="editHandler">淇敼鏉′欢</el-button>
+ <el-button v-if="radioForm==1" plain size="mini" type="primary" @click="delHandler">鍒犻櫎</el-button>
+ <el-button plain size="mini" type="primary" @click="queryHandler">鏌ヨ</el-button>
+ <el-button plain size="mini" type="primary" @click="">鍙栨秷</el-button>
</div>
+
+ <!--淇敼鏉′欢-->
+ <el-dialog v-dialogDrag
+ :title="dialog.title"
+ :visible.sync="dialog.showDialog"
+ width="550px"
+ :append-to-body="true"
+ class="avue-dialog"
+ :destroy-on-close="true"
+ :close-on-click-modal="false"
+ @close="dialog.showDialog=false">
+ <div style="height: 200px;">
+ {{clickNode.showLabel}}
+ <avue-select v-if="['VTInteger','VTDouble','VTLong'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorIntDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
+ <avue-select v-else-if="['VTDateTime','VTDate','VTTime'].includes(clickNode.type)" v-model="clickNode.operator" type="tree" :dic="operatorDateDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
+ <avue-select v-else v-model="clickNode.operator" type="tree" :dic="operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
+ <el-date-picker v-if="clickNode.type=='VTDate'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;" value-format="YYYY-MM-DD"
+ type="date">
+ </el-date-picker>
+ <el-date-picker v-else-if="clickNode.type=='VTDateTime'" v-model="clickNode.inputValue" style="width:350px;display: inline-block;"
+ type="datetime">
+ </el-date-picker>
+ <el-time-select v-else-if="clickNode.type=='VTTime'" v-model="clickNode.inputValue" value-format="HH:mm:ss" style="width:300px;display: inline-block;">
+ </el-time-select>
+ <avue-input-number v-else-if="clickNode.type=='VTInteger'" precision="0" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number>
+ <avue-input-number v-else-if="clickNode.type=='VTLong' || clickNode.type=='VTDouble'" v-model="clickNode.inputValue" style="width:300px;display: inline-block;"></avue-input-number>
+ <avue-input v-else v-model="clickNode.inputValue" type="textarea" style="width: 300px;margin-right: 5px;vertical-align: top;"></avue-input>
+ </div>
+ <div class="dialog-footer avue-dialog__footer">
+ <el-button size="small" @click="checkTemp" v-if="!['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(clickNode.type)">閫夋嫨鏌ヨ妯℃澘</el-button>
+ <el-button type="primary" plain size="small" @click="submitDialog" >淇� 瀛�</el-button>
+ <el-button size="small" @click="dialog.showDialog=false">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ <el-dialog v-dialogDrag
+ :title="queryDialog.title"
+ :visible.sync="queryDialog.showDialog"
+ width="800px"
+ :append-to-body="true"
+ class="avue-dialog"
+ :destroy-on-close="true"
+ :close-on-click-modal="false"
+ @close="cancleQueryDialog">
+ <div class="el-input--small">
+ 杈撳叆鏌ヨ瀛楁锛�<avue-input v-model="queryField" style="width: 500px;margin-bottom: 10px"></avue-input>
+ <avue-crud ref="crud" :data="crudData" :option="crudOption"
+ :page.sync="page"
+ :table-loading="tableLoading"
+ @selection-change="selectionChange"
+ @row-click="rowClick"
+ @size-change="sizeChange"
+ @current-change="currentChange">
+ </avue-crud>
+ </div>
+ <div class="dialog-footer avue-dialog__footer">
+ <el-button type="primary" plain size="small" @click="submitQueryDialog" >纭� 瀹�</el-button>
+ <el-button size="small" @click="cancleQueryDialog">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ <el-dialog v-dialogDrag
+ :title="queryResultDialog.title"
+ :visible.sync="queryResultDialog.showDialog"
+ width="900px"
+ :append-to-body="true"
+ class="avue-dialog"
+ :destroy-on-close="true"
+ :close-on-click-modal="false"
+ @close="queryResultDialog.showDialog='false'">
+ <div class="el-input--small">
+ <avue-crud ref="crud" :data="resultData" :option="resultOption"
+ :table-loading="queryResultDialog.loading">
+ </avue-crud>
+ </div>
+ </el-dialog>
</div>
</template>
<script>
+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: {
@@ -38,10 +127,28 @@
type: Object,
default: {}
},
+ levelFlag:{
+ type: Number,
+ default: 0
+ }
},
data() {
return {
- radioForm: 0,
+ dialog: {
+ showDialog: false,
+ title: "鏌ヨ鏉′欢璁剧疆妗�",
+ loading: false
+ },
+ queryDialog: {
+ showDialog: false,
+ title: "閫夋嫨鏌ヨ妯℃澘",
+ loading: false
+ },
+ queryResultDialog: {
+ showDialog: false,
+ title: "鏌ヨ缁撴灉",
+ loading: false
+ },
radioDic: [{
label: '鏅��',
value: 0
@@ -49,94 +156,561 @@
label: '楂樼骇',
value: 1
}],
- conditionList:this.queryCondition,
+ conditionList:[],
+ treeData:[],
treeOption:{
defaultExpandAll:true,
menu: false,
addBtn: false,
filter:false,
+ draggable: true,
+ allowDrop: (draggingNode, dropNode, type) => {
+ debugger;
+ if (dropNode.data.label === '骞朵笖' || dropNode.data.label === '鎴栬��') {
+ return true;
+ } else {
+ this.$message.error('璇烽�変腑閫昏緫鏉′欢娣诲姞鏌ヨ椤�');
+ return false;
+ }
+ },
+ allowDrag: (draggingNode) => {
+ return false;
+ },
},
- treeData:this.queryTree,
- //VTInteger銆乂TDouble銆乂TLong
+ page: {
+ currentPage: 1,
+ pageSize: 10,
+ total: 0,
+ pageSizes: [10, 30, 50, 100],
+ },
+ crudData:[],
+ crudOption: {
+ ...basicOption,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ tip: false,
+ header: false,
+ height: window.innerHeight-220,
+ menu: false,
+ column: [{
+ label: '鏌ヨ妯℃澘鍚嶇О',
+ prop: 'qtName',
+ sortable: true,
+ }, {
+ label: '閾炬帴绫诲瀷鎴栦笟鍔$被鍨�',
+ prop: 'btmName',
+ sortable: true,
+ }]
+ },
+ tableLoading: false,
+ selectionRow:[],
+ queryField:'',
+ resultData:[],
+ resultOption: {
+ ...basicOption,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ tip: false,
+ header: false,
+ height: window.innerHeight-220,
+ menu: false,
+ column: [{
+ label: 'OID',
+ prop: 'OID',
+ }, {
+ label: 'CREATOR',
+ prop: 'CREATOR'
+ }, {
+ label: 'CREATETIME',
+ prop: 'CREATETIME'
+ }]
+ },
+ clickNode:{},
operatorIntDic:[{
- label:'=',
- value:'='
- },{
- label:'!=',
- value:'!='
- },{
- label:'鍖呭惈',
- value:'鍖呭惈'
- },{
- label:'in',
- value:'in'
- },{
- label:'not in',
- value:'not in'
- },{
- label:'>=',
- value:'>='
- },{
- label:'>',
- value:'>'
- },{
- label:'<=',
- value:'<='
- },{
- label:'<',
- value:'<'
+ label: '=',
+ value: '='
+ }, {
+ label: '!=',
+ value: '!='
+ }, {
+ label: '鍖呭惈',
+ value: '鍖呭惈'
+ }, {
+ label: 'in',
+ value: 'in'
+ }, {
+ label: 'not in',
+ value: 'not in'
+ }, {
+ label: '>=',
+ value: '>='
+ }, {
+ label: '>',
+ value: '>'
+ }, {
+ label: '<=',
+ value: '<='
+ }, {
+ label: '<',
+ value: '<'
}],
- //VTDateTime銆乂TDate銆乂TTime
- operatorTimeDic:[{
- label:'=',
- value:'='
- },{
- label:'!=',
- value:'!='
- },{
- label:'in',
- value:'in'
- },{
- label:'not in',
- value:'not in'
- },{
- label:'>=',
- value:'>='
- },{
- label:'<=',
- value:'<='
+ operatorDateDic : [{
+ label: '=',
+ value: '='
+ }, {
+ label: '!=',
+ value: '!='
+ }, {
+ label: 'in',
+ value: 'in'
+ }, {
+ label: 'not in',
+ value: 'not in'
+ }, {
+ label: '>=',
+ value: '>='
+ }, {
+ label: '<=',
+ value: '<='
}],
- //鍏跺畠
- operatorDic:[{
- label:'=',
- value:'='
- },{
- label:'!=',
- value:'!='
- },{
- label:'鍖呭惈',
- value:'鍖呭惈'
- },{
- label:'in',
- value:'in'
- },{
- label:'not in',
- value:'not in'
+ operatorDic : [{
+ label: '=',
+ value: '='
+ }, {
+ label: '!=',
+ value: '!='
+ }, {
+ label: '鍖呭惈',
+ value: '鍖呭惈'
+ }, {
+ label: 'in',
+ value: 'in'
+ }, {
+ label: 'not in',
+ value: 'not in'
}]
}
},
- methods:{
+ computed: {
+ radioForm:{
+ get() {
+ return this.levelFlag;
+ },
+ set(value) {
+ this.$emit('update:levelFlag', value);
+ }
+ }
+ },
+ watch: {
+ queryCondition:{
+ handler(val) {
+ if(val && val.cIMap){
+ let list=[];
+ let that=this;
+ let getValue =function(queryTemplate,item) {
+ for (let key in queryTemplate.condition.cIMap) {
+ if (queryTemplate.condition.cIMap[key].leaf) {
+ item.clause += '.' + queryTemplate.condition.cIMap[key].leafInfo.clause;
+ if (queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate) {
+ getValue(queryTemplate.condition.cIMap[key].leafInfo.value.queryTemplate, item)
+ } else {
+ item.ordinaryValue = queryTemplate.condition.cIMap[key].leafInfo.value.ordinaryValue;
+ item.type=queryTemplate.condition.cIMap[key].leafInfo.type;
+ if(['VTInteger','VTDouble','VTLong'].includes(item.type)){
+ item.operatorDic=that.operatorIntDic;
+ }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){
+ item.operatorDic=that.operatorDateDic;
+ }else{
+ item.operatorDic=that.operatorDic;
+ }
+ }
+ }
+ }
+ }
+ for (let key in val.cIMap) {
+ if (this.queryCondition.cIMap[key].leaf) {
+ let clause=this.queryCondition.cIMap[key].leafInfo.clause;
+ let operator= this.queryCondition.cIMap[key].leafInfo.operator;
+ let item={
+ clause: clause,
+ operator: operator,
+ ordinaryValue: '',
+ operatorDic :[]
+ }
+ if(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate) {
+ getValue(this.queryCondition.cIMap[key].leafInfo.value.queryTemplate, item)
+ }else {
+ item.ordinaryValue=this.queryCondition.cIMap[key].leafInfo.value.ordinaryValue;
+ item.type=this.queryCondition.cIMap[key].leafInfo.type;
+ if(['VTInteger','VTDouble','VTLong'].includes(item.type)){
+ item.operatorDic=that.operatorIntDic;
+ }else if(['VTDateTime','VTDate','VTTime'].includes(item.type)){
+ item.operatorDic=that.operatorDateDic;
+ }else{
+ item.operatorDic=that.operatorDic;
+ }
+ }
+ list.push(item)
+ }
+ }
+ this.conditionList= list;
+ }else{
+ this.conditionList=[]
+ }
+ },
+ immediate: true,
+ deep:true
+ },
+ queryTree:{
+ handler(val) {
+ this.treeIndex=0;
+ if(val && Object.keys(val).length>0){
+ let treeData = [];
+ let that=this;
+ function initValue(nodeChild) {
+ let children=[];
+ if(nodeChild){
+ 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,
+ inputValue:inputValue,
+ operator:operator,
+ showLabel:showLabel
+ })
+ }else {
+ children.push({
+ label:item.connector,
+ value:item.connector+that.treeIndex,
+ valueIndex:'v'+that.treeIndex,
+ children:initValue(item.child)
+ })
+ }
+ })
+ }
+ return children;
+ }
+ const node={
+ label:val.connector,
+ value:val.connector+this.treeIndex,
+ valueIndex:'v'+this.treeIndex,
+ children:initValue(val.child)
+ }
+ treeData.push(node)
+ this.treeData = treeData;
+ }else {
+ this.treeData=[{
+ label: '骞朵笖',
+ value: '骞朵笖' + this.treeIndex,
+ valueIndex: 'v' + this.treeIndex,
+ connector: '骞朵笖',
+ children: []
+ }]
+ }
+ },
+ immediate: true,
+ deep:true
+ }
+ },
+ created() {
+ this.getTemp();
+ },
+ methods: {
// 鎷栨嫿鍒版椂
drop(event) {
// 浣跨敤 getData 鏂规硶鑾峰彇鏁版嵁
const data = JSON.parse(event.dataTransfer.getData('item'));
- const params = {
- clause: data.value,
- operator: '=',
- ordinaryValue: ''
+ if (this.radioForm == 0) {
+ const params = {
+ clause: data.value,
+ operator: '=',
+ ordinaryValue: ''
+ }
+ if (data.atttributes.vtDataType == 'VTInteger' || data.atttributes.vtDataType == 'VTDouble' || data.atttributes.vtDataType == 'VTLong') {
+ params.operatorDic =JSON.parse(JSON.stringify(this.operatorIntDic)) ;
+ } else if (data.atttributes.vtDataType == 'VTDateTime' || data.atttributes.vtDataType == 'VTDate' || data.atttributes.vtDataType == 'VTTime') {
+ params.operatorDic = JSON.parse(JSON.stringify(this.operatorDateDic))
+ } else {
+ params.operatorDic = JSON.parse(JSON.stringify(this.operatorDic))
+ }
+ params.type=data.atttributes.vtDataType;
+ this.conditionList.push(params)
+ }else {
+ if (this.clickNode.label != '骞朵笖' && this.clickNode.label != '鎴栬��') {
+ this.$message.error('璇烽�変腑閫昏緫鏉′欢娣诲姞鏌ヨ椤�');
+ return;
+ }
+ this.$refs.tree.append(this.initItem(data), this.clickNode);
}
- this.conditionList.push(params)
- }
+ },
+ 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
+ },
+ handleDrop(draggingNode, dropNode, dropType, ev) {
+ debugger;
+ console.log('tree drop: ', dropNode.label, dropType);
+ },
+ handleDragEnd(draggingNode, dropNode, dropType, ev) {
+ debugger;
+ console.log('tree drag end: ', dropNode && dropNode.label, dropType);
+ },
+ //鍒犻櫎鏅�氭煡璇㈡潯浠�
+ delCondition(index) {
+ this.conditionList.splice(index, 1);
+ },
+ //娓呯┖鍊�
+ clearValue() {
+ if (this.radioForm == 0) {
+ this.conditionList.map(item => {
+ item.ordinaryValue = '';
+ return item;
+ })
+ this.conditionList = this.conditionList
+ } else {
+ if(this.treeData[0] && this.treeData[0].children) {
+ this.clearTreeValue(this.treeData[0].children)
+ }
+ }
+ },
+ clearTreeValue(nodes){
+ nodes.forEach((node,index)=>{
+ if(node.children){
+ this.clearTreeValue(node.children)
+ }else {
+ 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];
+ }
+ }
+ }
+ })
+ },
+ //鍒犻櫎鍏ㄩ儴鏉′欢
+ delAll() {
+ if (this.radioForm == 0) {
+ this.conditionList = [];
+ } else {
+ this.treeIndex = 0;
+ this.treeData = [];
+ this.clickNode={};
+ }
+ },
+ nodeClick(data) {
+ this.clickNode = data
+ },
+ //鏍� 澧炲姞閫昏緫鏉′欢
+ addHandler() {
+ if (Object.keys(this.clickNode).length>0) {
+ if (this.clickNode.label == '骞朵笖' || this.clickNode.label == '鎴栬��') {
+ this.treeIndex++;
+ this.$refs.tree.append({
+ label: '骞朵笖',
+ value: '骞朵笖' + this.treeIndex,
+ valueIndex: 'v' + this.treeIndex,
+ children: []
+ }, this.$refs.tree.getCurrentNode());
+ } else {
+ this.$message.error("鍙兘瀵归�昏緫鏉′欢澧炲姞閫昏緫鏉′欢");
+ }
+ } else {
+ if(this.treeData.length==0){
+ this.treeIndex = 0;
+ this.treeData = [{
+ label: '骞朵笖',
+ value: '骞朵笖' + this.treeIndex,
+ valueIndex: 'v' + this.treeIndex,
+ connector: '骞朵笖',
+ children: []
+ }]
+ }else {
+ this.$message.warning("璇烽�夋嫨鏌ヨ鏉′欢");
+ }
+ }
+ },
+ //鏍� 淇敼鏉′欢
+ editHandler() {
+ if (Object.keys(this.clickNode).length>0) {
+ if (this.clickNode.label == '骞朵笖') {
+ this.clickNode.label = '鎴栬��'
+ } else if (this.clickNode.label == '鎴栬��') {
+ this.clickNode.label = '骞朵笖'
+ } else {
+ this.dialog.showDialog = true;
+ }
+ } else {
+ this.$message.warning("璇烽�夋嫨鏌ヨ鏉′欢");
+ }
+ },
+ //鏍� 鍒犻櫎鏉′欢
+ delHandler() {
+ if (Object.keys(this.clickNode).length>0) {
+ this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬潯浠跺悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$refs.tree.remove(this.clickNode);
+ this.clickNode = {};
+ })
+ } else {
+ this.$message.warning("璇烽�夋嫨鏌ヨ鏉′欢");
+ }
+ },
+ //鏌ヨ
+ queryHandler(){
+ this.$parent.$parent.$parent.$parent.$refs.form.validate((valid) => {
+ if (valid) {
+ this.queryResultDialog.loading=true;
+ const formData=this.$parent.$parent.$parent.$parent.initFormData();
+ getCriteria(formData).then(res => {
+ if (res.data.success) {
+ this.resultData=res.data.data;
+ this.queryResultDialog.showDialog=true;
+ this.queryResultDialog.loading=false;
+ }
+ });
+ } else {
+ return false;
+ }
+ });
+ },
+ //閫夋嫨鏌ヨ妯℃澘
+ checkTemp(index) {
+ if(index>=0){
+ if(['VTInteger','VTDouble','VTLong','VTDateTime','VTDate','VTTime'].includes(this.conditionList[index].type)){
+ return false;
+ }
+ }
+ this.queryIndex=index;
+ this.queryDialog.showDialog=true;
+ this.$nextTick(()=>{
+ this.$refs.crud.doLayout();
+ });
+ },
+ //鏌ヨ鏉′欢淇濆瓨
+ 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;
+ },
+ //鑾峰彇鏌ヨ妯℃澘鍒楄〃
+ getTemp() {
+ getAllQTs(this.page.currentPage, this.page.pageSize).then(res => {
+ this.crudData = res.data.data;
+ this.tableLoading = false;
+ })
+ },
+ rowClick(row) {
+ this.$refs.crud.toggleSelection();
+ this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+ this.selectionRow = [row];
+ },
+ selectionChange(list) {
+ this.selectionRow = list;
+ },
+ selectionClear() {
+ this.selectionRow = [];
+ this.$refs.crud.toggleSelection();
+ },
+ //閫夋嫨鏌ヨ妯℃澘
+ submitQueryDialog() {
+ if (this.selectionRow.length == 0) {
+ this.$message.error('璇烽�夋嫨鏌ヨ妯℃澘鍐嶈繘琛屾搷浣�');
+ return;
+ }
+ if (this.queryField == '') {
+ this.$message.error('璇峰~鍐欒緭鍏ユ煡璇㈠瓧娈�');
+ return;
+ }
+ const value = this.selectionRow[0].qtName + ';' + this.queryField
+ if (this.radioForm == 0) {
+ //鏅��
+ this.conditionList[this.queryIndex].ordinaryValue = value;
+ } else {
+ this.clickNode.inputValue = value;
+ }
+ this.cancleQueryDialog();
+ },
+ cancleQueryDialog(){
+ this.queryDialog.showDialog = false;
+ this.selectionClear();
+ this.queryField='';
+ this.queryIndex=null;
+ },
+ sizeChange(val) {
+ this.page.pageSize = val;
+ this.getTemp();
+ },
+
+ // 椤电爜
+ currentChange(val) {
+ this.page.currentPage = val;
+ this.getTemp();
+ },
}
}
</script>
--
Gitblit v1.9.3