| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-card shadow="never"> |
| | | <template #header> |
| | | <div><el-text tag="b" size="large">产åçæé项</el-text></div> |
| | | </template> |
| | | <el-switch |
| | | v-model="mode" |
| | | size="large" |
| | | active-text="ææéæ¶æ®µç»è®¡" |
| | | inactive-text="ææ»ä»»å¡ç»è®¡" |
| | | /> |
| | | <!-- <SearchBar |
| | | v-show="active && !mode" |
| | | ref="refSearchBar" |
| | | :btn-show="false" |
| | | :init="false" |
| | | @on-submit="search" |
| | | > |
| | | </SearchBar> --> |
| | | <el-form :inline="true"> |
| | | <FYOptionScene |
| | | :allOption="false" |
| | | :type="2" |
| | | v-model:value="scenetype" |
| | | ></FYOptionScene> |
| | | <FYOptionTopTask v-show="!mode" v-model:value="topTask"></FYOptionTopTask> |
| | | <!-- åºå¿ --> |
| | | <FYOptionLocation |
| | | v-show="mode" |
| | | :allOption="false" |
| | | :level="3" |
| | | :checkStrictly="false" |
| | | v-model:value="locations" |
| | | ></FYOptionLocation> |
| | | <FYOptionTime |
| | | v-show="mode" |
| | | :initValue="true" |
| | | type="daterange" |
| | | v-model:value="timeRange" |
| | | style="width: 300px" |
| | | ></FYOptionTime> |
| | | </el-form> |
| | | <template #footer> |
| | | <el-row v-show="active" justify="end"> |
| | | <el-button |
| | | type="primary" |
| | | size="default" |
| | | :loading="loading" |
| | | @click="search" |
| | | >çæ</el-button |
| | | > |
| | | </el-row> |
| | | </template> |
| | | </el-card> |
| | | </template> |
| | | <script setup> |
| | | import { ref, computed, watch } from 'vue'; |
| | | import dayjs from 'dayjs'; |
| | | |
| | | const props = defineProps({ |
| | | loading: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | active: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }); |
| | | const emit = defineEmits(['submit']); |
| | | |
| | | const mode = ref(true); |
| | | const scenetype = ref({}); |
| | | const topTask = ref({}); |
| | | |
| | | const locations = ref({}); |
| | | const timeRange = ref([]); |
| | | |
| | | watch( |
| | | () => topTask.value, |
| | | (newVal, oldVal) => { |
| | | locations.value.pCode = topTask.value.provincecode; |
| | | locations.value.pName = topTask.value.provincename; |
| | | locations.value.cCode = topTask.value.citycode; |
| | | locations.value.cName = topTask.value.cityname; |
| | | locations.value.dCode = topTask.value.districtcode; |
| | | locations.value.dName = topTask.value.districtname; |
| | | timeRange.value = [new Date(topTask.value.starttime), new Date(topTask.value.endtime)]; |
| | | }, |
| | | { deep: true } |
| | | ); |
| | | |
| | | const search = (options) => { |
| | | const [st, et] = timeRange.value; |
| | | const startTime = dayjs(st).startOf('day').format('YYYY-MM-DD HH:mm:ss'); |
| | | const endTime = dayjs(et).endOf('day').format('YYYY-MM-DD HH:mm:ss'); |
| | | |
| | | let opt = { |
| | | sceneTypeId: scenetype.value.sceneTypeId, |
| | | sceneTypeName: scenetype.value.sceneTypeName, |
| | | needCache: true |
| | | }; |
| | | // ææéæ¶æ®µç»è®¡ |
| | | if (mode.value) { |
| | | opt = { |
| | | provinceCode: locations.value.pCode, |
| | | provinceName: locations.value.pName, |
| | | cityCode: locations.value.cCode, |
| | | cityName: locations.value.cName, |
| | | districtCode: locations.value.dCode, |
| | | districtName: locations.value.dName, |
| | | townCode: locations.value.tCode, |
| | | townName: locations.value.tName, |
| | | startTime, |
| | | endTime, |
| | | ...opt |
| | | }; |
| | | } |
| | | // ææ»ä»»å¡ç»è®¡ |
| | | else { |
| | | opt = { |
| | | provinceCode: topTask.value.provincecode, |
| | | provinceName: topTask.value.provincename, |
| | | cityCode: topTask.value.citycode, |
| | | cityName: topTask.value.cityname, |
| | | districtCode: topTask.value.districtcode, |
| | | districtName: topTask.value.districtname, |
| | | townCode: topTask.value.towncode, |
| | | townName: topTask.value.townname, |
| | | ...opt |
| | | }; |
| | | } |
| | | |
| | | // const opt = { |
| | | // topTaskId: options.topTask.tguid, |
| | | // topTaskName: options.topTask.name, |
| | | // provinceCode: options.topTask.provincecode, |
| | | // provinceName: options.topTask.provincename, |
| | | // cityCode: options.topTask.citycode, |
| | | // cityName: options.topTask.cityname, |
| | | // districtCode: options.topTask.districtcode, |
| | | // districtName: options.topTask.districtname, |
| | | // townCode: options.topTask.towncode, |
| | | // townName: options.topTask.townname, |
| | | // startTime, |
| | | // endTime, |
| | | // sceneTypeId: options.sceneTypeId, |
| | | // sceneTypeName: options.sceneTypeName, |
| | | // needCache: true |
| | | // }; |
| | | emit('submit', opt); |
| | | }; |
| | | </script> |