From 306ef09707d6bcf9ffa67de55f86ab6f4362deee Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 18 七月 2025 10:04:01 +0800 Subject: [PATCH] 2025.7.18 动态溯源-测试版本 --- src/components/search/OptionMission.vue | 53 +++++++++++++++++++++++++++-------------------------- 1 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/components/search/OptionMission.vue b/src/components/search/OptionMission.vue index 8e200aa..fec314e 100644 --- a/src/components/search/OptionMission.vue +++ b/src/components/search/OptionMission.vue @@ -1,25 +1,26 @@ <template> <el-form-item label="浠诲姟"> <el-select - :model-value="modelValue" + v-model="index" @change="handleChange" - placeholder="浠诲姟" + placeholder="閫夋嫨浠诲姟" size="small" class="w-150" > <el-option - v-for="(s, i) in missionList" + v-for="(s, i) in missionStore.missionList" :key="i" - :label="s.label" - :value="s.value" + :label="s.missionCode" + :value="i" /> </el-select> </el-form-item> </template> <script> -import missionApi from '../../api/missionApi'; +import { mapStores } from 'pinia'; import { useFetchData } from '@/composables/fetchData'; +import { useMissionStore } from '@/stores/mission'; export default { setup() { @@ -30,41 +31,41 @@ type: String, modelValue: String }, - emits: ['update:modelValue'], + emits: ['update:modelValue', 'initOver'], data() { return { - missionList: [] + index: undefined }; + }, + computed: { + ...mapStores(useMissionStore) }, methods: { fetchMission() { - this.fetchData((page, pageSize) => { - return missionApi - .fethchMission({ type: this.type, page, pageSize }) - .then((res) => { - this.missionList = res.data.map((item) => { - return { - label: item.missionCode, - value: item.missionCode - }; - }); - if (this.missionList.length > 0) { - this.handleChange(this.missionList[0].value); - } - return res.head; - }); + this.missionStore.fetchMission(this.type).then((res) => { + if (res.success && res.data.length > 0) { + this.index = 0; + this.handleChange(0); + this.$emit('initOver'); + } }); }, handleChange(value) { - this.$emit('update:modelValue', value); + this.$emit('update:modelValue', this.missionStore.missionList[value]); } }, mounted() { - this.fetchMission(); + if (this.missionStore.missionList.length == 0) { + this.fetchMission(); + } else { + this.index = 0; + this.handleChange(0); + this.$emit('initOver'); + } } }; </script> -<style scoped> +<style> /* :deep() .el-form-item__label { color: red !important; } */ -- Gitblit v1.9.3