¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div style="padding: 0 10px"> |
| | | <div style="text-align: center;margin-bottom: 10px"> |
| | | <avue-radio v-model="radioForm" :dic="radioDic" style="margin: 0 20px 0 0;display: inline-block"></avue-radio> |
| | | <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" @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"> |
| | | <avue-tree style="height: 220px" :data="treeData" :option="treeOption"></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> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "formQueryDialog", |
| | | props: { |
| | | queryCondition: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | queryTree: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | radioForm: 0, |
| | | radioDic: [{ |
| | | label: 'æ®é', |
| | | value: 0 |
| | | }, { |
| | | label: 'é«çº§', |
| | | value: 1 |
| | | }], |
| | | conditionList:this.queryCondition, |
| | | treeOption:{ |
| | | defaultExpandAll:true, |
| | | menu: false, |
| | | addBtn: false, |
| | | filter:false, |
| | | }, |
| | | treeData:this.queryTree, |
| | | //VTIntegerãVTDoubleãVTLong |
| | | 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:'<' |
| | | }], |
| | | //VTDateTimeãVTDateãVTTime |
| | | operatorTimeDic:[{ |
| | | 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' |
| | | }] |
| | | } |
| | | }, |
| | | 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> |