From 4aa86b1ec441c4e358e1cc488d8f021fb80f1355 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 17 九月 2025 17:34:35 +0800 Subject: [PATCH] 2025.9.17 数据产品(待完成) --- src/components/SearchBar.vue | 74 +++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/components/SearchBar.vue b/src/components/SearchBar.vue index ca5c7e2..c3609f4 100644 --- a/src/components/SearchBar.vue +++ b/src/components/SearchBar.vue @@ -1,29 +1,33 @@ <template> <el-row class="layout"> - <el-col :span="12"> + <el-col :span="10"> <el-form :inline="true" :model="formSearch"> <el-form-item label="鎬讳换鍔�"> <!-- <el-input v-model="formSearch.topTaskId" placeholder="鎬讳换鍔�" /> --> - <el-select v-model="formSearch.topTaskId" placeholder="鎬讳换鍔�" style="width: 260px"> - <el-option v-for="s in topTasks" :key="s.value" :label="s.label" :value="s.value" /> + <el-select + v-model="formSearch.topTaskId" + placeholder="鎬讳换鍔�" + style="width: 260px" + > + <el-option + v-for="s in topTasks" + :key="s.value" + :label="s.label" + :value="s.value" + /> </el-select> </el-form-item> - <!-- <FYOptionScene + <FYOptionScene :allOption="false" :type="2" v-model:value="formSearch.scenetype" - ></FYOptionScene> --> - <el-form-item label="鍦烘櫙绫诲瀷"> - <el-select v-model="formSearch.sceneTypeId" placeholder="鍦烘櫙绫诲瀷" style="width: 150px"> - <el-option v-for="s in sceneTypes" :key="s.value" :label="s.label" :value="s.value" /> - </el-select> - </el-form-item> - <el-form-item> + ></FYOptionScene> + <el-form-item v-show="btnShow"> <el-button type="primary" @click="onSubmit">鏌ヨ</el-button> </el-form-item> </el-form> </el-col> - <el-col :span="12"> + <el-col :span="14"> <el-row justify="end"> <slot name="summary"></slot> </el-row> @@ -33,17 +37,26 @@ <script> import taskApi from '@/api/fysp/taskApi'; -import { enumScene } from '@/enum/scene'; export default { emits: ['onSubmit'], + props: { + btnShow: { + type: Boolean, + default: true + }, + init: { + type: Boolean, + default: true + } + }, + data() { return { topTasks: [], - sceneTypes: enumScene(2, false), formSearch: { topTaskId: '', - sceneTypeId: '' + scenetype: '' } }; }, @@ -51,31 +64,38 @@ //鑾峰彇鏌ヨ鏉′欢 getOptions() { taskApi.getTopTask().then((res) => { - const list = []; - res.forEach((r) => { - list.push({ + const list = res.map((r) => { + return { value: r.tguid, label: r.name, - towncode: r.towncode, - districtCode: r.districtcode, - month: r.starttime.slice(0, 7) - }); + data: r + }; }); this.topTasks = list; this.formSearch.topTaskId = list[0].value; - this.$emit('onSubmit', this.formSearch); + if (this.init) { + this.onSubmit(); + } }); }, //鏌ヨ瀛愪换鍔$粺璁′俊鎭� onSubmit() { - // console.log(this.formSearch.sceneTypeId) - this.$emit('onSubmit', this.formSearch); + const task = this.topTasks.find( + (t) => t.data.tguid == this.formSearch.topTaskId + ); + const param = { + topTask: task ? task.data : {}, + sceneTypeId: this.formSearch.scenetype.value + }; + // console.log(param); + + this.$emit('onSubmit', param); } }, mounted() { - this.formSearch.sceneTypeId = this.sceneTypes[0].value; this.getOptions(); - } + }, + expose: ['onSubmit'] }; </script> -- Gitblit v1.9.3