<template>
|
<div style="padding: 0 10px">
|
<div style="text-align: center;margin-bottom: 10px">
|
<avue-radio v-model="radioForm" :disabled ="readOnly" :dic="radioDic" style="margin: 0 20px 0 0;display: inline-block"></avue-radio>
|
<el-button v-if="!readOnly" plain size="mini" type="primary" @click="clearValue">清空值</el-button>
|
<el-button v-if="!readOnly" 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,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 :disabled ="readOnly" v-model="condition.operator" type="tree" :dic="condition.operatorDic" :clearable="false" style="width: 80px;margin: 0 5px;"></avue-select>
|
<el-date-picker :disabled ="readOnly" 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 :disabled ="readOnly" 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 :disabled ="readOnly" 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 :disabled ="readOnly" 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 :disabled ="readOnly" 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 :disabled ="readOnly" v-else v-model="condition.ordinaryValue" placeholder="" style="width: 300px;margin-right: 5px;"></avue-input>
|
<el-button v-if="!readOnly" plain size="mini" type="primary" @click="checkTemp(index)">选择查询模板</el-button>
|
<el-button v-if="!readOnly" size="mini" type="danger" icon="el-icon-delete" @click="delCondition(index)" style="padding: 7px 8px"></el-button>
|
</div>
|
</div>
|
<div v-else @drop="drop" @dragover.prevent style="height: 220px;text-align: left">
|
<avue-tree ref="tree" @node-drag-end="handleDragEnd" @node-drag-leave="handleDragLeave" @node-drag-over="handleDragOver"
|
style="height: 220px" :data="treeData" :option="treeOption" @node-click="nodeClick" node-key="value"></avue-tree>
|
</div>
|
<div v-if="!readOnly" 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="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: {
|
queryCondition: {
|
type: Array,
|
default: []
|
},
|
queryTree: {
|
type: Object,
|
default: {}
|
},
|
levelFlag:{
|
type: Number,
|
default: 0
|
},
|
readOnly:{
|
type:Boolean,
|
default:false
|
}
|
},
|
data() {
|
return {
|
dialog: {
|
showDialog: false,
|
title: "查询条件设置框",
|
loading: false
|
},
|
queryDialog: {
|
showDialog: false,
|
title: "选择查询模板",
|
loading: false
|
},
|
queryResultDialog: {
|
showDialog: false,
|
title: "查询结果",
|
loading: false
|
},
|
radioDic: [{
|
label: '普通',
|
value: 0
|
}, {
|
label: '高级',
|
value: 1
|
}],
|
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;
|
},
|
},
|
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: '<'
|
}],
|
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'
|
}]
|
}
|
},
|
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'));
|
if (this.radioForm == 0) {
|
const params = {
|
clause: data.name,
|
operator: '=',
|
ordinaryValue: ''
|
}
|
if (data.vtDataType == 'VTInteger' || data.vtDataType == 'VTDouble' || data.vtDataType == 'VTLong') {
|
params.operatorDic =JSON.parse(JSON.stringify(this.operatorIntDic)) ;
|
} else if (data.vtDataType == 'VTDateTime' || data.vtDataType == 'VTDate' || data.vtDataType == 'VTTime') {
|
params.operatorDic = JSON.parse(JSON.stringify(this.operatorDateDic))
|
} else {
|
params.operatorDic = JSON.parse(JSON.stringify(this.operatorDic))
|
}
|
params.type=data.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);
|
}
|
},
|
initItem(data){
|
this.treeIndex++;
|
let item={
|
label: data.name,
|
value: data.name + this.treeIndex,
|
valueIndex: 'v' + this.treeIndex,
|
type:data.vtDataType,
|
children: [],
|
inputValue:'',
|
operator:'=',
|
showLabel:data.name
|
};
|
let showLabel='';
|
if(data.name.indexOf('.')!=-1){
|
const labels=data.name.split('.')
|
showLabel=labels[labels.length-1];
|
}else {
|
showLabel=data.name;
|
}
|
item.showLabel=showLabel;
|
return item
|
},
|
handleDragEnd(draggingNode, dropNode, dropType, ev) {
|
debugger;
|
console.log('tree drag end: ', dropNode && dropNode.label, dropType);
|
},
|
handleDragOver({event}) {
|
// 阻止默认事件,允许放置
|
event.preventDefault();
|
},
|
handleDragLeave({event}) {
|
// 清除放置效果
|
event.preventDefault();
|
},
|
//删除普通查询条件
|
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.$emit('queryHandler');
|
},
|
//选择查询模板
|
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>
|
|
<style scoped>
|
::v-deep .el-input--small .el-input__inner{
|
height: 28px;
|
line-height: 28px;
|
}
|
</style>
|