Commit 1a0b0450 by 李金轩

ljx

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