| | |
| | | <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() { |
| | |
| | | type: String, |
| | | modelValue: String |
| | | }, |
| | | emits: ['update:modelValue'], |
| | | emits: ['update:modelValue', 'change'], |
| | | 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); |
| | | } |
| | | }); |
| | | }, |
| | | handleChange(value) { |
| | | this.$emit('update:modelValue', value); |
| | | this.$emit('update:modelValue', this.missionStore.missionList[value]); |
| | | } |
| | | }, |
| | | mounted() { |