Просмотр исходного кода

调整项目名称为选择和输入

Co-authored-by: Copilot <copilot@github.com>
Zimo 4 дней назад
Родитель
Сommit
e2993ef468
2 измененных файлов с 35 добавлено и 2 удалено
  1. 4 0
      src/api/pms/meeting/index.ts
  2. 31 2
      src/views/pms/operation-meeting/meeting-form.vue

+ 4 - 0
src/api/pms/meeting/index.ts

@@ -19,5 +19,9 @@ export const OperationMeetingApi = {
   // 保存运营会议及明细
   saveBatch: async (data: { operationMeeting: unknown; details: unknown[] }) => {
     return await request.post({ url: `/pms/iot-operation-meeting/saveBatch`, data })
+  },
+
+  getProjectNameOptions: async () => {
+    return await request.get({ url: `/pms/iot-operation-meeting/cachedProjects` })
   }
 }

+ 31 - 2
src/views/pms/operation-meeting/meeting-form.vue

@@ -482,6 +482,22 @@ const saveDetailItem = async () => {
 
   handleDetailDrawerChange(false)
 }
+
+const projectNameOptions = ref([])
+
+async function loadProjectNameOptions() {
+  try {
+    const data = await OperationMeetingApi.getProjectNameOptions()
+    console.log(data)
+    projectNameOptions.value = data || []
+  } catch (error) {
+    projectNameOptions.value = []
+  }
+}
+
+onMounted(() => {
+  loadProjectNameOptions()
+})
 </script>
 
 <template>
@@ -739,10 +755,23 @@ const saveDetailItem = async () => {
         require-asterisk-position="right"
       >
         <section class="detail-section">
-          <h4 class="detail-section__title">项目基础</h4>
           <div class="detail-section__grid detail-section__grid--single">
             <el-form-item label="项目名称" prop="projectName">
-              <el-input v-model="detailForm.projectName" placeholder="请输入项目名称" clearable />
+              <el-select
+                v-model="detailForm.projectName"
+                placeholder="请选择或输入项目名称"
+                clearable
+                filterable
+                allow-create
+                :reserve-keyword="false"
+              >
+                <el-option
+                  v-for="item in projectNameOptions"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                />
+              </el-select>
             </el-form-item>
           </div>
         </section>