From 264880703c677d63b7e35b5eb085e6bc3214e3ed Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 17 七月 2024 18:29:31 +0800
Subject: [PATCH] 2024.7.17

---
 src/components/search/OptionMission.vue |   55 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/src/components/search/OptionMission.vue b/src/components/search/OptionMission.vue
index 8e200aa..7ee4d9b 100644
--- a/src/components/search/OptionMission.vue
+++ b/src/components/search/OptionMission.vue
@@ -1,25 +1,27 @@
 <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 missionApi from '@/api/missionApi';
 import { useFetchData } from '@/composables/fetchData';
+import { useMissionStore } from '@/stores/mission';
 
 export default {
   setup() {
@@ -30,33 +32,34 @@
     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.fetchData((page, pageSize) => {
+      //   return missionApi
+      //     .fethchMission({ type: this.type, page, pageSize })
+      //     .then((res) => {
+      //       this.missionList = res.data;
+      //       this.missionStore.missionList = res.data;
+      //       // if (this.missionList.length > 0) {
+      //       //   this.handleChange(0);
+      //       // }
+      //       return res.head;
+      //     });
+      // });
+      this.missionStore.fetchMission(this.type);
     },
     handleChange(value) {
-      this.$emit('update:modelValue', value);
+      this.$emit('update:modelValue', this.missionStore.missionList[value]);
+      // this.$emit('change', this.missionList[value]);
     }
   },
   mounted() {
@@ -64,7 +67,7 @@
   }
 };
 </script>
-<style scoped>
+<style>
 /* :deep() .el-form-item__label {
   color: red !important;
 } */

--
Gitblit v1.9.3