Commit 1a0b0450 by 李金轩

ljx

1 parent 9ec2fec0
...@@ -34,6 +34,16 @@ ...@@ -34,6 +34,16 @@
optionFilterProp="label" optionFilterProp="label"
show-search show-search
> >
<template #dropdownRender="{ menuNode: menu }">
<v-nodes :vnodes="menu"/>
<a-divider style="margin: 4px 0"/>
<div
@mousedown="e => e.preventDefault()"
>
<a-button @click="selectAll('监控点名称')" type="link">全选</a-button>
<a-button @click="clearAll('监控点名称')" type="link">清空</a-button>
</div>
</template>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label="设备通道号:" style="padding: 5px 0"> <a-form-item label="设备通道号:" style="padding: 5px 0">
...@@ -45,6 +55,16 @@ ...@@ -45,6 +55,16 @@
optionFilterProp="label" optionFilterProp="label"
show-search show-search
> >
<template #dropdownRender="{ menuNode: menu }">
<v-nodes :vnodes="menu"/>
<a-divider style="margin: 4px 0"/>
<div
@mousedown="e => e.preventDefault()"
>
<a-button @click="selectAll('设备通道号')" type="link">全选</a-button>
<a-button @click="clearAll('设备通道号')" type="link">清空</a-button>
</div>
</template>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label="修补日期:" style="padding: 5px 0"> <a-form-item label="修补日期:" style="padding: 5px 0">
...@@ -88,13 +108,13 @@ ...@@ -88,13 +108,13 @@
</template> </template>
<script> <script>
import featureLibraryRebuildApi from '@/views/FeatureLibraryRebuild/FeatureLibraryRebuildApi'
import {reactive, ref, toRaw} from 'vue' import {reactive, ref, toRaw} from 'vue'
import moment from 'moment' import moment from 'moment'
import snapshotRecordApi from '@/views/SnapshotCluster/SnapshotRecord/SnapshotRecordApi' import snapshotRecordApi from '@/views/SnapshotCluster/SnapshotRecord/SnapshotRecordApi'
import {isArray} from '@/PublicUtil/Judgment' import {isArray} from '@/PublicUtil/Judgment'
import {filterEmptyValueInObject, formatDate, formatTime} from '@/PublicUtil/PublicUtil' import {filterEmptyValueInObject, formatDate, formatTime} from '@/PublicUtil/PublicUtil'
import dataRepairApi from '@/views/DataRepair/DataRepairApi' import dataRepairApi from '@/views/DataRepair/DataRepairApi'
import {PlusOutlined} from '@ant-design/icons-vue'
const columns = [ const columns = [
{ {
...@@ -151,6 +171,12 @@ const columns = [ ...@@ -151,6 +171,12 @@ const columns = [
] ]
export default { export default {
components: {
PlusOutlined,
VNodes: (_, {attrs}) => {
return attrs.vnodes
},
},
setup() { setup() {
// scalar // scalar
const isLoading = ref(false) const isLoading = ref(false)
...@@ -424,6 +450,58 @@ export default { ...@@ -424,6 +450,58 @@ export default {
} }
} }
const selectAll = function(text) {
switch (text)
{
case '监控点名称':
{
queryForm.gate_id = []
for (const item of gateList.value)
{
queryForm.gate_id.push(item.value)
}
onGateChange()
break
}
case '设备通道号':
{
queryForm.channel_id = []
for (const item of channelList.value)
{
queryForm.channel_id.push(item.value)
}
break
}
default:
{
break
}
}
}
const clearAll = function(text) {
switch (text)
{
case '监控点名称':
{
queryForm.gate_id = []
onGateChange()
break
}
case '设备通道号':
{
queryForm.channel_id = []
break
}
default:
{
break
}
}
}
const __main = function() { const __main = function() {
getAccountList() getAccountList()
} }
...@@ -452,6 +530,8 @@ export default { ...@@ -452,6 +530,8 @@ export default {
getClass, getClass,
deleteRecord, deleteRecord,
suspendRepair, suspendRepair,
selectAll,
clearAll,
} }
} }
} }
......
...@@ -28,13 +28,18 @@ ...@@ -28,13 +28,18 @@
style="width: 200px" style="width: 200px"
mode="multiple" mode="multiple"
:maxTagCount="1" :maxTagCount="1"
:options="showedProgressList"
> >
<a-select-option <template #dropdownRender="{ menuNode: menu }">
v-for="(name, value) in progressMap" <v-nodes :vnodes="menu"/>
:value="value" <a-divider style="margin: 4px 0"/>
<div
@mousedown="e => e.preventDefault()"
> >
{{ name }} <a-button @click="selectAll()" type="link">全选</a-button>
</a-select-option> <a-button @click="clearAll()" type="link">清空</a-button>
</div>
</template>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label="开始日期:"> <a-form-item label="开始日期:">
...@@ -69,10 +74,15 @@ import {isArray} from '@/PublicUtil/Judgment' ...@@ -69,10 +74,15 @@ import {isArray} from '@/PublicUtil/Judgment'
import {formatDate, formatTime} from '@/PublicUtil/PublicUtil' import {formatDate, formatTime} from '@/PublicUtil/PublicUtil'
import InformationDisplay from '@/component/InformationDisplay/InformationDisplay' import InformationDisplay from '@/component/InformationDisplay/InformationDisplay'
import dataRerunApi from '@/views/DataRerun/DataRerunApi' import dataRerunApi from '@/views/DataRerun/DataRerunApi'
import {PlusOutlined} from '@ant-design/icons-vue'
export default { export default {
components: { components: {
InformationDisplay, InformationDisplay,
PlusOutlined,
VNodes: (_, {attrs}) => {
return attrs.vnodes
},
}, },
setup() { setup() {
const resultList = ref([]) const resultList = ref([])
...@@ -104,6 +114,19 @@ export default { ...@@ -104,6 +114,19 @@ export default {
zonefaceSta: "店铺人脸", zonefaceSta: "店铺人脸",
gatefaceSta: "监控点人脸" gatefaceSta: "监控点人脸"
} }
const showedProgressList = ref([])
for (const key in progressMap)
{
const value = progressMap[key]
showedProgressList.value.push(
{
value: key,
label: value,
}
)
}
const queryForm = reactive( const queryForm = reactive(
{ {
...@@ -270,6 +293,19 @@ export default { ...@@ -270,6 +293,19 @@ export default {
} }
} }
const selectAll = function() {
queryForm.scheduleTypeList = []
for (const key in progressMap)
{
queryForm.scheduleTypeList.push(key)
}
}
const clearAll = function() {
queryForm.scheduleTypeList = []
}
const __main = function() { const __main = function() {
getAccountList() getAccountList()
} }
...@@ -284,12 +320,15 @@ export default { ...@@ -284,12 +320,15 @@ export default {
gateList, gateList,
resultList, resultList,
informationList, informationList,
showedProgressList,
// mapping // mapping
progressMap, progressMap,
queryForm, queryForm,
onAccountChange, onAccountChange,
initializeWebSocket, initializeWebSocket,
confirmSearch, confirmSearch,
selectAll,
clearAll,
} }
} }
} }
......
<template> <template>
<a-select <a-select
v-model:value="value" v-model:value="value"
show-search style="width: 120px"
mode="multiple" mode="multiple"
:maxTagCount="1" :maxTagCount="1"
style="width: 280px" :options="showedProgressList"
:options="options"
optionFilterProp="label"
> >
<a-select-option <template #dropdownRender="{ menuNode: menu }">
v-for="item in options" <v-nodes :vnodes="menu"/>
:value="item.value" <a-divider style="margin: 4px 0"/>
<div
@mousedown="e => e.preventDefault()"
> >
{{ item.label }} <a-button type="link">全选</a-button>
</a-select-option> <a-button type="link">全选</a-button>
</div>
</template>
</a-select> </a-select>
</template> </template>
<script> <script>
import {PlusOutlined} from '@ant-design/icons-vue'
import {defineComponent, ref} from 'vue' import {defineComponent, ref} from 'vue'
let index = 0
export default defineComponent({ export default defineComponent({
setup() { components: {
const options = ref([ PlusOutlined,
{ VNodes: (_, {attrs}) => {
value: 'jack', return attrs.vnodes
label: '飞飞飞飞飞飞飞',
},
{
value: 'lucy',
label: 'lllll',
}, },
{
value: 'tom',
label: 'tttttt',
}, },
])
const handleChange = value => { setup() {
console.log(`selected ${value}`) const items = ref(['jack', 'lucy'])
} const value = ref('lucy')
const handleBlur = () => { const addItem = () => {
console.log('blur') console.log('addItem')
items.value.push(`New item ${index++}`)
} }
const handleFocus = () => { const showedProgressList = ref([])
console.log('focus') const progressMap = {
mallcountData: "商场客流",
floorcountData: "楼层客流",
zonecountData: "店铺客流",
gatecountData: "监控点客流",
mallfaceSta: "商场人脸",
floorfaceSta: "楼层人脸",
zonefaceSta: "店铺人脸",
gatefaceSta: "监控点人脸"
} }
for (const key in progressMap)
{
const value = progressMap[key]
const filterOption = (input, option) => { showedProgressList.value.push(
return option.value.toLowerCase().indexOf(input.toLowerCase()) >= 0 {
value: key,
label: value,
}
)
} }
return { return {
value: ref(undefined), items,
filterOption, value,
handleBlur, addItem,
handleFocus, showedProgressList,
handleChange,
options,
} }
}, },
}) })
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!