|
@@ -3,97 +3,98 @@
|
|
<template v-for="(it, index) in tagList">
|
|
<template v-for="(it, index) in tagList">
|
|
<div class="query-area-item"
|
|
<div class="query-area-item"
|
|
:class="((this.index == index?'query-area-item-active':'') + (convertDataType(tagList[index])==2?' query-area-item-time':''))"
|
|
:class="((this.index == index?'query-area-item-active':'') + (convertDataType(tagList[index])==2?' query-area-item-time':''))"
|
|
- >
|
|
|
|
|
|
+ >
|
|
<div class="query-area-header">
|
|
<div class="query-area-header">
|
|
<div class="query-area-item-title">
|
|
<div class="query-area-item-title">
|
|
- {{ it.displayName ? it.displayName : it.fieldName }}
|
|
|
|
|
|
+ {{ it.displayName ? it.displayName : it.fieldName }}:
|
|
</div>
|
|
</div>
|
|
- <div class="query-area-item-close" @click="childDelete(index)" v-show="it.isFixed!=1">
|
|
|
|
- <CloseOutlined style="color: white;"/>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <template v-for="(op, idx) in tagList[index].values">
|
|
|
|
- <div v-if="convertDataType(tagList[index])==0" class="query-area-body">
|
|
|
|
- <div class="query-area-body-oper">
|
|
|
|
- <a-select v-model:value="tagList[index].values[idx].operation" :options="operTexts"></a-select>
|
|
|
|
- </div>
|
|
|
|
- <div class="query-area-body-input">
|
|
|
|
- <a-input v-model:value="tagList[index].values[idx].val" placeholder="值..."/>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="false" class="query-area-body-edit">
|
|
|
|
- <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
- <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
|
|
+ <template v-for="(op, idx) in tagList[index].values">
|
|
|
|
+ <div v-if="convertDataType(tagList[index])==0" class="query-area-body">
|
|
|
|
+ <div class="query-area-body-oper">
|
|
|
|
+ <a-select v-model:value="tagList[index].values[idx].operation"
|
|
|
|
+ :options="operTexts"></a-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="query-area-body-input">
|
|
|
|
+ <a-input v-model:value="tagList[index].values[idx].val" placeholder="值..."/>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="false" class="query-area-body-edit">
|
|
|
|
+ <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
+ <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
|
|
- <div v-if="convertDataType(tagList[index])==1" class="query-area-body">
|
|
|
|
- <div class="query-area-body-oper">
|
|
|
|
- <a-select v-model:value="tagList[index].values[idx].operation" :options="operNumbers"></a-select>
|
|
|
|
- </div>
|
|
|
|
- <div class="query-area-body-input">
|
|
|
|
- <a-input v-model:value="tagList[index].values[idx].val" placeholder="值..."/>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="tagList[index].values[idx].operation=='limit'" class="query-area-body-text">
|
|
|
|
- 到
|
|
|
|
|
|
+ <div v-if="convertDataType(tagList[index])==1" class="query-area-body">
|
|
|
|
+ <div class="query-area-body-oper">
|
|
|
|
+ <a-select v-model:value="tagList[index].values[idx].operation" :options="operNumbers"></a-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="query-area-body-input">
|
|
|
|
+ <a-input v-model:value="tagList[index].values[idx].val" placeholder="值..."/>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="tagList[index].values[idx].operation=='limit'" class="query-area-body-text">
|
|
|
|
+ 到
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="tagList[index].values[idx].operation=='limit'" class="query-area-body-input">
|
|
|
|
+ <a-input v-model:value="tagList[index].values[idx].val2" placeholder="值..."/>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="false" class="query-area-body-edit">
|
|
|
|
+ <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
+ <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div v-if="tagList[index].values[idx].operation=='limit'" class="query-area-body-input">
|
|
|
|
- <a-input v-model:value="tagList[index].values[idx].val2" placeholder="值..."/>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="false" class="query-area-body-edit">
|
|
|
|
- <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
- <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
- <div v-if="convertDataType(tagList[index])==2" class="query-area-body">
|
|
|
|
- <div
|
|
|
|
- :class="(getIsTimeLimit(tagList[index].values[idx].operation)?'query-area-body-oper':'query-area-body-time')">
|
|
|
|
- <a-select v-model:value="tagList[index].values[idx].operation" :options="operTimes"></a-select>
|
|
|
|
|
|
+ <div v-if="convertDataType(tagList[index])==2" class="query-area-body">
|
|
|
|
+ <div
|
|
|
|
+ :class="(getIsTimeLimit(tagList[index].values[idx].operation)?'query-area-body-oper':'query-area-body-time')">
|
|
|
|
+ <a-select v-model:value="tagList[index].values[idx].operation" :options="operTimes"></a-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="query-area-body-input">
|
|
|
|
+ <a-range-picker
|
|
|
|
+ v-if="(tagList[index].values[idx].operation=='datetime')"
|
|
|
|
+ v-model:value="tagList[index].values[idx].val"
|
|
|
|
+ :show-time="{ format: 'HH:mm' }"
|
|
|
|
+ format="YYYY-MM-DD HH:mm"
|
|
|
|
+ :placeholder="['Start Time', 'End Time']"
|
|
|
|
+ @change="onRangeChange"
|
|
|
|
+ @ok="onRangeOk"
|
|
|
|
+ />
|
|
|
|
+ <a-range-picker
|
|
|
|
+ v-else-if="(tagList[index].values[idx].operation=='date')"
|
|
|
|
+ v-model:value="tagList[index].values[idx].val2"/>
|
|
|
|
+ <a-date-picker
|
|
|
|
+ v-else-if="(getTimeType(tagList[index].values[idx].operation)=='datetime')"
|
|
|
|
+ v-model:value="tagList[index].values[idx].val2"
|
|
|
|
+ :show-time="{ format: 'HH:mm' }"
|
|
|
|
+ placeholder="日期时间..."
|
|
|
|
+ format="YYYY-MM-DD HH:mm"/>
|
|
|
|
+ <a-date-picker
|
|
|
|
+ v-else-if="(getTimeType(tagList[index].values[idx].operation)=='date')"
|
|
|
|
+ v-model:value="tagList[index].values[idx].val2"
|
|
|
|
+ placeholder="日期..."/>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="false" class="query-area-body-edit">
|
|
|
|
+ <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
+ <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div class="query-area-body-input">
|
|
|
|
- <a-range-picker
|
|
|
|
- v-if="(tagList[index].values[idx].operation=='datetime')"
|
|
|
|
- v-model:value="tagList[index].values[idx].val"
|
|
|
|
- :show-time="{ format: 'HH:mm' }"
|
|
|
|
- format="YYYY-MM-DD HH:mm"
|
|
|
|
- :placeholder="['Start Time', 'End Time']"
|
|
|
|
- @change="onRangeChange"
|
|
|
|
- @ok="onRangeOk"
|
|
|
|
- />
|
|
|
|
- <a-range-picker
|
|
|
|
- v-else-if="(tagList[index].values[idx].operation=='date')"
|
|
|
|
- v-model:value="tagList[index].values[idx].val2"/>
|
|
|
|
- <a-date-picker
|
|
|
|
- v-else-if="(getTimeType(tagList[index].values[idx].operation)=='datetime')"
|
|
|
|
- v-model:value="tagList[index].values[idx].val2"
|
|
|
|
- :show-time="{ format: 'HH:mm' }"
|
|
|
|
- placeholder="日期时间..."
|
|
|
|
- format="YYYY-MM-DD HH:mm"/>
|
|
|
|
- <a-date-picker
|
|
|
|
- v-else-if="(getTimeType(tagList[index].values[idx].operation)=='date')"
|
|
|
|
- v-model:value="tagList[index].values[idx].val2"
|
|
|
|
- placeholder="日期..."/>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="false" class="query-area-body-edit">
|
|
|
|
- <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
- <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
- <div v-if="convertDataType(tagList[index])==3" class="query-area-body">
|
|
|
|
- <div class="query-area-body-oper">
|
|
|
|
- <a-select v-model:value="tagList[index].values[idx].operation" :options="operDics"></a-select>
|
|
|
|
- </div>
|
|
|
|
- <div class="query-area-body-input">
|
|
|
|
- <a-select v-model:value="tagList[index].values[idx].val"
|
|
|
|
- :options="(dics[tagList[index].dictionaryCode])"></a-select>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="false" class="query-area-body-edit">
|
|
|
|
- <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
- <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
|
|
+ <div v-if="convertDataType(tagList[index])==3" class="query-area-body">
|
|
|
|
+ <div class="query-area-body-oper">
|
|
|
|
+ <a-select v-model:value="tagList[index].values[idx].operation" :options="operDics"></a-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="query-area-body-input">
|
|
|
|
+ <a-select v-model:value="tagList[index].values[idx].val"
|
|
|
|
+ :options="(dics[tagList[index].dictionaryCode])"></a-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="false" class="query-area-body-edit">
|
|
|
|
+ <PlusSquareOutlined v-if="(idx==0)" @click="operationInsert(index, idx)"/>
|
|
|
|
+ <MinusSquareOutlined v-if="(idx>0)" @click="operationDelete(index, idx)"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
|
|
+ </template>
|
|
|
|
+ <div class="query-area-item-close" @click="childDelete(index)" v-show="it.isFixed!=1">
|
|
|
|
+ <CloseOutlined style="color: white;"/>
|
|
</div>
|
|
</div>
|
|
- </template>
|
|
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
@@ -242,6 +243,9 @@ export default defineComponent({
|
|
},
|
|
},
|
|
setTagList(list) {
|
|
setTagList(list) {
|
|
list.forEach((row) => {
|
|
list.forEach((row) => {
|
|
|
|
+ if (row.operation == undefined) {
|
|
|
|
+ row.operation = this.getDefaultSelect(row.operation, row.queryType);
|
|
|
|
+ }
|
|
row.values = [{operation: row.operation, val: row.value1, val2: row.value2}];
|
|
row.values = [{operation: row.operation, val: row.value1, val2: row.value2}];
|
|
|
|
|
|
if (this.convertDataType(row) == 2) {
|
|
if (this.convertDataType(row) == 2) {
|
|
@@ -289,6 +293,27 @@ export default defineComponent({
|
|
}
|
|
}
|
|
console.log("dicCode", dicCode, this.dics);
|
|
console.log("dicCode", dicCode, this.dics);
|
|
return this.dics[dicCode];
|
|
return this.dics[dicCode];
|
|
|
|
+ },
|
|
|
|
+ getDefaultSelect: function (operation, queryType) {
|
|
|
|
+ let options: SelectProps['options'] | undefined = [];
|
|
|
|
+ switch (queryType - 1) {
|
|
|
|
+ case 0:
|
|
|
|
+ options = this.operTexts;
|
|
|
|
+ break;
|
|
|
|
+ case 1:
|
|
|
|
+ options = this.operNumbers;
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ options = this.operTimes != null ? this.operTimes[0].options : [];
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ options = this.operDics;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ if (operation == undefined && options != undefined) {
|
|
|
|
+ operation = options[0].value;
|
|
|
|
+ }
|
|
|
|
+ return operation;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -324,7 +349,7 @@ export default defineComponent({
|
|
}
|
|
}
|
|
|
|
|
|
.query-area-item {
|
|
.query-area-item {
|
|
- width: 280px !important;
|
|
|
|
|
|
+ /*width: 280px !important;*/
|
|
}
|
|
}
|
|
|
|
|
|
.query-area-item-time {
|
|
.query-area-item-time {
|