From 5c8adc16e9b0c0e71998d3cefc35170fa4a60900 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期五, 11 四月 2025 16:01:13 +0800
Subject: [PATCH] 1

---
 src/components/public/index.vue |  140 ++++++++++++++++++++++++++++------------------
 1 files changed, 86 insertions(+), 54 deletions(-)

diff --git a/src/components/public/index.vue b/src/components/public/index.vue
index 8c9a710..482915f 100644
--- a/src/components/public/index.vue
+++ b/src/components/public/index.vue
@@ -3,21 +3,21 @@
     <el-dialog
       :title="title"
       :visible.sync="open"
-      width="1000px"
+      width="1080px"
       append-to-body
     >
       <h3 v-if="fList.proResult">妫�娴嬮」鐩� :{{ fList.project.proName }}</h3>
       <h3 v-if="fList.proResult">
         妫�娴嬬粨鏋� :{{ fList.proResult }}{{ fList.project.proMetering }}
       </h3>
-      <el-form
+      <!-- <el-form
         :model="queryParams"
         ref="queryForm"
         size="small"
         :inline="true"
         label-width="68px"
-      >
-        <el-form-item label="鐥呯鍚嶇О" prop="bingzhong">
+      > -->
+        <!-- <el-form-item label="鐥呯鍚嶇О" prop="bingzhong">
           <el-input
             v-model="queryParams.bingzhong"
             placeholder="璇疯緭鍏ョ畝绉�"
@@ -43,18 +43,22 @@
             @click="handleQuery"
             >鎼滅储</el-button
           >
-        </el-form-item>
-        <el-form-item>
-          <h3 style="margin-left: 160px;">宸查�夐」鐩�</h3>
-        </el-form-item>
-        
-      </el-form>
+        </el-form-item> -->
+        <!-- <el-form-item>
+          <h3 >{{ queryParams.proName  || '鏆傛棤椤圭洰鍚嶇О'  }}</h3>
+        </el-form-item> -->
+        <!-- <el-form-item>
+          <h3 style="margin-left: 160px">宸查�夐」鐩�</h3>
+        </el-form-item> -->
+      <!-- </el-form> -->
+      <h2 style="text-align: center;margin-top: -30px;">{{ queryParams.proName  || '鏆傛棤椤圭洰鍚嶇О'  }}</h2>
       <div style="display: flex; width: 100%">
-        <div style="width: 50%; margin-right: 30px">
+        <div style="width: 50%; margin-right: 40px">
           <el-table
             :data="dataList"
             ref="multipleTable"
             v-loading="loading"
+            row-key="aid"
             @selection-change="handleSelectionChange"
             border
             height="420px"
@@ -67,11 +71,11 @@
               width="50px"
             />
             <!-- <el-table-column label="瑙勫垯" align="center" prop="ruleStr" /> -->
-            <el-table-column label="妫�鏌ョ粨璁�" align="center" prop="ruleStr" />
             <el-table-column label="妫�鏌ユ墍瑙�" align="center" prop="yxbx" />
+            <el-table-column label="妫�鏌ョ粨璁�" align="center" prop="ruleStr" />
           </el-table>
           <div class="pag">
-            <div class="pag1" style="margin-left: 600px">
+            <div class="pag1" style="margin-left: 630px">
               <pagination
                 small
                 v-show="total > 0"
@@ -84,16 +88,16 @@
           </div>
         </div>
 
-        <div style="width: 100%; height: 610px">
+        <div style="width: 100%; height: 600px">
           <!-- <h3 style="margin-top: -30px;">宸查�夐」鐩�</h3> -->
           <el-form
             :model="form"
             ref="queryForm"
             size="small"
-           
             label-width="68px"
+            :inline="true"
           >
-          <!--  :inline="true" -->
+            <!--  :inline="true" -->
             <!-- <el-form-item>
               <el-input
                 type="textarea"
@@ -106,7 +110,7 @@
                 v-model="form.jcsj"
                 clearable
                 type="textarea"
-                :autosize="{ minRows: 8}"
+                :autosize="{ minRows: 8 }"
                 style="width: 380px"
               />
             </el-form-item>
@@ -115,7 +119,7 @@
                 v-model="form.desc"
                 clearable
                 type="textarea"
-                 :autosize="{ minRows: 8  }"
+                :autosize="{ minRows: 8 }"
                 style="width: 380px"
               />
             </el-form-item>
@@ -140,16 +144,20 @@
     checkStatus: {
       type: String,
       default: "0",
-      validator: value => ["0", "1"].includes(value)
+      validator: (value) => ["0", "1"].includes(value),
     },
     proResult: {
       type: String,
-      default: ''
+      default: "",
     },
     conclusion: {
       type: String,
-      default: ''
-    }
+      default: "",
+    },
+    projectList: {
+      type: Array,
+      default: () => [],
+    },
   },
   data() {
     return {
@@ -157,6 +165,7 @@
       // 寮瑰嚭灞傛爣棰�
       title: "",
       yxbx: "",
+      proName:'',
       //   lastDesc: "",
       total: 0,
       dataList: [],
@@ -169,6 +178,8 @@
       queryParams: {
         bingzhong: "",
         bzPinyin: "",
+        proId:"",
+      //   proName:"",
         pageNum: 1,
         pageSize: 10,
       },
@@ -180,10 +191,23 @@
   },
   watch: {
     checkStatus(newValue) {
-      console.log( newValue,9988);
       if (newValue === "1") {
         this.updateData(this.proResult, this.conclusion);
       }
+    },
+    projectList: {
+      immediate: true,
+      deep: true,
+      handler(newVal) {
+        console.log("鏀跺埌鐨勯」鐩暟鎹�:", newVal);
+        // 浣犲彲浠ュ湪杩欓噷澶勭悊鏁版嵁锛屾瘮濡備繚瀛樺埌 data 鎴栧仛閫昏緫鍒ゆ柇
+        if (newVal && newVal.length > 0) {
+          const firstProject = newVal[0]; // 浣犱篃鍙互閬嶅巻鎵�鏈夐」鐩紝鐪嬩綘涓氬姟闇�姹�
+          this.queryParams.proId = firstProject.proId; // 鍋囪椤圭洰涓彨 id
+          // this.queryParams.proName = firstProject.proName;
+          this.proName = firstProject.proName
+        }
+      },
     },
   },
   mounted() {},
@@ -193,15 +217,16 @@
     async getList() {
       try {
         this.loading = true; // 娣诲姞鍔犺浇鐘舵��
+
         const res = await getlist(this.queryParams);
         this.dataList = res.rows;
         this.total = res.total;
-        
+
         // 濡傛灉闇�瑕侀�変腑鎿嶄綔锛屽皢鍏跺皝瑁呬负鐙珛鏂规硶
         await this.handleAutoSelection();
       } catch (error) {
-        console.error('鑾峰彇鏁版嵁澶辫触:', error);
-        this.$message.error('鑾峰彇鏁版嵁澶辫触');
+        console.error("鑾峰彇鏁版嵁澶辫触:", error);
+        this.$message.error("鑾峰彇鏁版嵁澶辫触");
       } finally {
         this.loading = false;
       }
@@ -210,10 +235,15 @@
     // 灏佽閫変腑閫昏緫
     async handleAutoSelection() {
       if (!this.fList?.rulesList?.length) return;
-      
+
       await this.$nextTick();
-      this.dataList.forEach(item => {
-        const shouldSelect = this.fList.rulesList.some(rule => rule.aid === item.aid);
+      // 鍏堟竻闄ゆ墍鏈夐�夋嫨
+      this.$refs.multipleTable?.clearSelection();
+      // 鍐嶈繘琛岄�夋嫨
+      this.dataList.forEach((item) => {
+        const shouldSelect = this.fList.rulesList.some(
+          (rule) => rule.aid === item.aid
+        );
         if (shouldSelect) {
           this.$refs.multipleTable?.toggleRowSelection(item, true);
         }
@@ -222,7 +252,7 @@
 
     handleQuery() {
       if (this.searchDebounce) clearTimeout(this.searchDebounce);
-      
+
       this.searchDebounce = setTimeout(() => {
         this.queryParams.pageNum = 1; // 閲嶇疆椤电爜
         this.getList();
@@ -238,13 +268,12 @@
     },
 
     handleSelectionChange(selection) {
-      this.list = selection;
+      console.log('Selection changed:', selection);
+      this.list = [...selection]; // 浣跨敤灞曞紑杩愮畻绗﹀垱寤烘柊鏁扮粍
       this.updateFormContent(selection);
     },
 
     updateFormContent(selection) {
-      if (!selection.length) return;
-      
       // 濡傛灉澶勪簬妫�鏌ョ姸鎬侊紝浣跨敤浼犲叆鐨勫��
       if (this.checkStatus === "1") {
         this.updateData(this.proResult, this.conclusion);
@@ -252,24 +281,27 @@
       }
 
       // 閲嶇疆琛ㄥ崟鍐呭
-      this.form.desc = '';
-      this.form.jcsj = '';
+      this.form.desc = "";
+      this.form.jcsj = "";
 
-      // 浣跨敤map鍜宩oin鏇夸唬forEach鍜屽瓧绗︿覆鎷兼帴
-      this.form.desc = selection
-        .map(item => item.bingzhong || item.ruleStr)
-        .filter(Boolean)
-        .join(',');
-        
-      this.form.jcsj = selection
-        .map(item => item.yxbx)
-        .filter(Boolean)
-        .join(',');
+      // 鍙湁鍦ㄦ湁閫変腑椤规椂鎵嶈繘琛屾嫾鎺�
+      if (selection.length > 0) {
+        // 浣跨敤map鍜宩oin鏇夸唬forEach鍜屽瓧绗︿覆鎷兼帴
+        this.form.desc = selection
+          .map((item) => item.bingzhong || item.ruleStr)
+          .filter(Boolean)
+          .join(",");
+
+        this.form.jcsj = selection
+          .map((item) => item.yxbx)
+          .filter(Boolean)
+          .join(",");
+      }
     },
 
     handleOk() {
       if (!this.form.desc && !this.form.jcsj) {
-        this.$message.warning('璇烽�夋嫨鏁版嵁');
+        this.$message.warning("璇烽�夋嫨鏁版嵁");
         return;
       }
 
@@ -278,14 +310,14 @@
         this.resetForm();
         this.open = false;
       } catch (error) {
-        console.error('澶勭悊鏁版嵁澶辫触:', error);
-        this.$message.error('鎿嶄綔澶辫触');
+        console.error("澶勭悊鏁版嵁澶辫触:", error);
+        this.$message.error("鎿嶄綔澶辫触");
       }
     },
 
     resetForm() {
-      this.form.desc = '';
-      this.form.jcsj = '';
+      this.form.desc = "";
+      this.form.jcsj = "";
       this.list = [];
       if (this.$refs.multipleTable) {
         this.$refs.multipleTable.clearSelection();
@@ -296,16 +328,16 @@
     isCheckMode() {
       return this.checkStatus === "1";
     },
-    
+
     hasSelectedItems() {
       return this.list.length > 0;
-    }
-  }
+    },
+  },
 };
 </script>
   
 <style scoped>
-.el-dialog__body{
+.el-dialog__body {
   padding: 10px 20px;
 }
 ::v-deep .el-dialog__footer {

--
Gitblit v1.8.0