From e7028b6de4b90dd77ee9ff78e7b4d320e3be9a71 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 26 十一月 2024 15:42:32 +0800
Subject: [PATCH] 项目库bug修改、优化

---
 src/views/projectEngineering/projectLibrary/index.vue |  110 +++++++++++++++++++++++++-----------------------------
 1 files changed, 51 insertions(+), 59 deletions(-)

diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index ccce580..fbbe70d 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -44,34 +44,24 @@
             <el-button icon="el-icon-search" size="small" @click="handleQuery">鏌ヨ</el-button>
             <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
-          <el-popover :visible="popoverValue" :width="500" placement="bottom">
-            <template #reference>
-              <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff" @click="handlePopover"
-                         size="small">
-                鏇村绛涙煡鏉′欢
-                <span style="margin-left: 5px">
-                  <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon>
-                  <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon>
-                </span>
-              </el-button>
-            </template>
+          <el-popover :value="popoverValue" trigger="click" :width="700" placement="bottom">
             <span>绛涢�夋潯浠�</span>
             <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="queryParams">
               <el-row>
                 <el-col :span="12">
                   <el-form-item label="椤圭洰绫诲瀷">
-                    <el-select v-model="queryParams.projectType" clearable placeholder="璇烽�夋嫨" class="select-option"
+                    <el-select v-model="queryParams.projectType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery"
                                size="small">
-                      <el-option v-for="items in sys_project_type" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                      <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
                   <el-form-item label="閲嶇偣鍒嗙被">
-                    <el-select v-model="queryParams.importanceType" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_key_categories" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.importanceType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_key_categories" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -79,18 +69,18 @@
               <el-row>
                 <el-col :span="12">
                   <el-form-item label="椤圭洰鏍囩">
-                    <el-select v-model="queryParams.tag" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_project_tags" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.tag" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_project_tags" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
                   <el-form-item label="椤圭洰鐘舵��">
-                    <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable
+                    <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable @change="handleQuery"
                                placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_project_status" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                      <el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -98,17 +88,17 @@
               <el-row>
                 <el-col :span="12">
                   <el-form-item label="椤圭洰鐮�">
-                    <el-select v-model="queryParams.projectColorCode" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_project_code" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.projectColorCode" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_project_code" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
                   <el-form-item label="鍏宠仈鐘舵��">
-                    <el-select v-model="queryParams.assignmentStatus" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_association_status" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.assignmentStatus" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_association_status" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -116,17 +106,17 @@
               <el-row>
                 <el-col :span="12">
                   <el-form-item label="璧勯噾绫诲瀷">
-                    <el-select v-model="queryParams.investmentType" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_funding_type" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.investmentType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
                   <el-form-item label="椤圭洰闃舵">
-                    <el-select v-model="queryParams.projectPhase" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_project_phases" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.projectPhase" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -134,30 +124,30 @@
               <el-row>
                 <el-col :span="12">
                   <el-form-item label="鎶曡祫绫诲埆">
-                    <el-select v-model="queryParams.investType" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_investment_type" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.investType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_investment_type" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
                   <el-form-item label="琛屾斂鍖哄垝">
-                    <el-select v-model="queryParams.area" clearable placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="items in sys_administrative_divisions" :key="items.value" :label="items.label"
-                                 :value="items.value"/>
+                    <el-select v-model="queryParams.area" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
+                      <el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value" :label="item.label"
+                                 :value="item.value"/>
                     </el-select>
                   </el-form-item>
                 </el-col>
               </el-row>
-              <el-row style="text-align: center">
-                <el-col :span="24">
-                  <el-form-item label-width="0">
-                    <el-button type="primary" @click="handleQuery">纭� 璁�</el-button>
-                    <el-button @click="closePopover">鍙� 娑�</el-button>
-                  </el-form-item>
-                </el-col>
-              </el-row>
             </el-form>
+            <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff"  slot="reference"
+                       size="small">
+              鏇村绛涙煡鏉′欢
+              <span style="margin-left: 5px">
+                  <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon>
+                  <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon>
+                </span>
+            </el-button>
           </el-popover>
         </div>
         <div class="right-section">
@@ -213,19 +203,19 @@
           <template v-if="item.slotName">
             <!-- projectStatus鎻掓Ы -->
             <template v-if="item.slotName === 'projectStatus'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
             </template>
             <!-- projectColorCode鎻掓Ы -->
             <template v-if="item.slotName === 'projectColorCode'">
-              <el-text class="mx-1 has-dot">{{ '鑷畾涔夋牱寮�' }}<span class="dot" style="margin-left: 5px"></span></el-text>
+              <div class="mx-1 has-dot">{{ '鑷畾涔夋牱寮�' }}<span class="dot" style="margin-left: 5px"></span></div>
             </template>
             <!-- projectType鎻掓Ы -->
             <template v-if="item.slotName === 'projectType'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
             </template>
             <!-- investType鎻掓Ы -->
             <template v-if="item.slotName === 'investType'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
             </template>
             <!-- planStartTime鎻掓Ы -->
             <template v-if="item.slotName === 'planStartTime'">
@@ -286,10 +276,13 @@
 
 <script>
 import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
-import {current, currentRest} from './list';
-import FileDialog from '../component/FileDialog';
+import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
+import FileDialog from '@/views/projectEngineering/component/FileDialog';
 
 export default {
+  dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases',
+    'sys_funding_type', 'sys_association_status', 'sys_project_status', 'sys_project_code',
+    'sys_project_tags', 'sys_key_categories', 'sys_project_type'],
   name: "projectInfo",
   components: {
     FileDialog
@@ -425,11 +418,10 @@
       this.tableLoading = false;
     },
     handlePopover() {
-      this.popoverValue.value = !this.popoverValue.value;
+      this.popoverValue = true;
     },
     closePopover() {
-
-      this.popoverValue.value = false;
+      this.popoverValue = false;
     },
     /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
     getList() {
@@ -565,7 +557,7 @@
 </script>
 <style lang="scss" scoped>
 .select-option {
-  width: 140px;
+  width: 100%;
 }
 
 .slot {

--
Gitblit v1.8.0