From 7adbf0551f6a6b307e66cdd6537ab45fc5a2bf11 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 29 十一月 2024 04:00:10 +0800
Subject: [PATCH] bug修复和页面查询

---
 src/views/projectEngineering/projectLibrary/index.vue |  202 ++++++++++++++++++++++++--------------------------
 1 files changed, 97 insertions(+), 105 deletions(-)

diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index ccce580..5bf5bf6 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -29,10 +29,10 @@
             <el-date-picker
               style="width: 270px"
               size="small"
-              v-model="queryParams[timeRange]"
+              v-model="timeRange"
               type="daterange"
               range-separator="-"
-              value-format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd HH:mm:ss"
               start-placeholder="寮�濮嬫棩鏈�"
               end-placeholder="缁撴潫鏃ユ湡"
               @change="handleQuery"
@@ -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">
@@ -202,7 +192,6 @@
       <!-- 鍔ㄦ�佸垪 -->
       <el-table-column
         v-for="item in columns"
-        :key="item.id"
         v-if="item.visible"
         :prop="item.id"
         :label="item.label"
@@ -213,23 +202,23 @@
           <template v-if="item.slotName">
             <!-- projectStatus鎻掓Ы -->
             <template v-if="item.slotName === 'projectStatus'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
             </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>
+              <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/>
             </template>
             <!-- projectType鎻掓Ы -->
             <template v-if="item.slotName === 'projectType'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
             </template>
             <!-- investType鎻掓Ы -->
             <template v-if="item.slotName === 'investType'">
-              <el-text class="mx-1">{{ '鑷畾涔夋牱寮�' }}</el-text>
+              <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/>
             </template>
-            <!-- planStartTime鎻掓Ы -->
+            <!-- planStartTime -->
             <template v-if="item.slotName === 'planStartTime'">
-              {{ '鑷畾涔夋牱寮�' }}
+              {{ scope.row.planStartTime ? scope.row.planStartTime.split('-')[0] + '骞�' : '' }}
             </template>
           </template>
           <!-- 榛樿鏄剧ず -->
@@ -285,12 +274,15 @@
 </template>
 
 <script>
-import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
-import {current, currentRest} from './list';
-import FileDialog from '../component/FileDialog';
-
+import {listProject, getProject, delProject, addProject, updateProject} from "@/api/projectEngineering/projectInfo";
+import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
+import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
+import Cookies from "js-cookie";
 export default {
-  name: "projectInfo",
+  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
   },
@@ -333,6 +325,8 @@
         pageSize: 10,
         projectName: null,
         projectCode: null,
+        projectStartTime: null,
+        projectEndTime: null,
       },
       moreQueryParams: {
         projectType: '', // 椤圭洰绫诲瀷
@@ -377,7 +371,33 @@
     this.defaultColumns = JSON.parse(JSON.stringify(columns));
     this.getList();
   },
+  beforeDestroy() {
+    this.removeStore();
+  },
   methods: {
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.removeStore();
+      this.$router.push({ path: '/projectEngineering/project/ProjectDetails', query: { projectId: row.id }});
+    },
+    handleDetail(row) {
+      this.removeStore();
+      this.$router.push({ path: '/projectEngineering/project/ProjectDetails', query: { projectId: row.id }});
+    },
+    // 鏂板椤甸潰
+    add() {
+      this.removeStore();
+      this.$router.push({ path: '/projectEngineering/project/ProjectDetails' });
+    },
+    //娓呯悊缂撳瓨
+    removeStore() {
+      localStorage.removeItem("projectForm")
+      localStorage.removeItem("investmentForm")
+      localStorage.removeItem("investmentFundsForm")
+      localStorage.removeItem("legalPersonForm")
+      localStorage.removeItem("policyInfoForm")
+      localStorage.removeItem("documentsInfoForm")
+    },
     // 閲嶇疆鎺掑簭鐨勬柟娉�
     handleResetSort() {
       this.defaultColumns = currentRest.map((item, index) => {
@@ -392,6 +412,8 @@
         item.serialNumber = index + 1
         return item;
       });
+      //寮哄埗table娓叉煋
+      this.tableKey = this.tableKey +1;
     },
     // 鏇存柊鍒楃殑鏂规硶
     handleUpdateColumns(row) {
@@ -425,20 +447,24 @@
       this.tableLoading = false;
     },
     handlePopover() {
-      this.popoverValue.value = !this.popoverValue.value;
+      this.popoverValue = true;
     },
     closePopover() {
-
-      this.popoverValue.value = false;
+      this.popoverValue = false;
     },
     /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
     getList() {
       this.loading = true;
-      listInfo(this.queryParams).then(response => {
+      this.queryParams.projectCategory = this.$route.query.projectCategory;
+      if(this.timeRange){
+        this.queryParams.projectStartTime = this.timeRange[0]
+        this.queryParams.projectEndTime = this.timeRange[1]
+      }
+      listProject(this.queryParams).then(response => {
         this.projectInfoList = response.data;
         this.total = response.total;
+        this.loading = false;
       });
-      this.loading = false;
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -502,42 +528,8 @@
       this.single = selection.length !== 1
       this.multiple = !selection.length
     },
-    /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "娣诲姞椤圭洰绠$悊鍩虹淇℃伅";
-    },
-    /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids
-      getInfo(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "淇敼椤圭洰绠$悊鍩虹淇℃伅";
-      });
-    },
-    /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.id != null) {
-            updateInfo(this.form).then(response => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addInfo(this.form).then(response => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
+
+
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ids = row.id || this.ids;
@@ -565,7 +557,7 @@
 </script>
 <style lang="scss" scoped>
 .select-option {
-  width: 140px;
+  width: 100%;
 }
 
 .slot {

--
Gitblit v1.8.0