From 1a0d57124485fafb0b42a3ec3ecc121e50bb050f Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期二, 03 六月 2025 17:00:08 +0800
Subject: [PATCH] 1

---
 src/components/public/index.vue |  234 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 154 insertions(+), 80 deletions(-)

diff --git a/src/components/public/index.vue b/src/components/public/index.vue
index c4369c5..9d11c4e 100644
--- a/src/components/public/index.vue
+++ b/src/components/public/index.vue
@@ -1,18 +1,28 @@
 <template>
   <div>
-    <el-dialog :title="title" :visible.sync="open" width="1080px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      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
-        :model="queryParams"
-        ref="queryForm"
-        size="small"
-        :inline="true"
-        label-width="68px"
-      > -->
-      <!-- <el-form-item label="鐥呯鍚嶇О" prop="bingzhong">
+
+      <h2 style="text-align: center">{{ proName || "鏆傛棤椤圭洰鍚嶇О" }}</h2>
+      <div style="display: flex; width: 100%">
+        <div style="width: 50%; margin-right: 40px">
+          <el-form
+            :model="queryParams"
+            ref="queryForm"
+            size="small"
+            :inline="true"
+            label-width="68px"
+            @submit.native.prevent
+          >
+            <!-- <el-form-item label="鐥呯鍚嶇О" prop="bingzhong">
           <el-input
             v-model="queryParams.bingzhong"
             placeholder="璇疯緭鍏ョ畝绉�"
@@ -20,54 +30,74 @@
             @keyup.enter.native="handleQuery"
             style="width: 120px"
           />
-        </el-form-item>
-        <el-form-item label="鎷奸煶鐮�" prop="bzPinyin">
-          <el-input
-            v-model="queryParams.bzPinyin"
-            placeholder="璇疯緭鍏ユ嫾闊崇爜"
-            clearable
-            @keyup.enter.native="handleQuery"
-            style="width: 130px"
-          />
-        </el-form-item>
-        <el-form-item>
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            size="mini"
-            @click="handleQuery"
-            >鎼滅储</el-button
-          >
-        </el-form-item> -->
-      <!-- <el-form-item>
+        </el-form-item>-->
+            <el-form-item label="妫�鏌ョ粨璁�" prop="ruleStr">
+              <el-input
+                v-model="queryParams.ruleStr"
+                placeholder="璇疯緭鍏ユ鏌ョ粨璁�"
+                clearable
+                @keyup.enter.native="getList"
+                style="width: 130px"
+              />
+            </el-form-item>
+            <el-form-item>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="getList"
+                >鎼滅储</el-button
+              >
+            </el-form-item>
+            <!-- <el-form-item>
           <h3 >{{ queryParams.proName  || '鏆傛棤椤圭洰鍚嶇О'  }}</h3>
         </el-form-item> -->
-      <!-- <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: 40px">
-          <el-table :data="dataList" ref="multipleTable" v-loading="loading" @selection-change="handleSelectionChange"
-            border height="420px">
+          </el-form>
+          <el-table
+            :data="dataList"
+            ref="multipleTable"
+            v-loading="loading"
+            @selection-change="handleSelectionChange"
+            border
+            height="480px"
+          >
             <el-table-column type="selection" width="40" align="center" />
-            <el-table-column label="搴忓彿" type="index" align="center" width="50px" />
+            <el-table-column
+              label="搴忓彿"
+              type="index"
+              align="center"
+              width="50px"
+            />
             <!-- <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: 630px">
-              <pagination small v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
-                :limit.sync="queryParams.pageSize" @pagination="getList" />
+              <pagination
+                small
+                v-show="total > 0"
+                :total="total"
+                :page.sync="queryParams.pageNum"
+                :limit.sync="queryParams.pageSize"
+                @pagination="getList"
+              />
             </div>
           </div>
         </div>
 
-        <div style="width: 100%; height: 600px">
+        <div class="jianc">
           <!-- <h3 style="margin-top: -30px;">宸查�夐」鐩�</h3> -->
-          <el-form :model="form" ref="queryForm" size="small" label-width="68px" :inline="true">
+          <el-form
+            :model="form"
+            ref="queryForm"
+            size="small"
+            label-width="68px"
+            :label-position="labelPosition"
+          >
             <!--  :inline="true" -->
             <!-- <el-form-item>
               <el-input
@@ -77,16 +107,28 @@
               ></el-input>
             </el-form-item> -->
             <el-form-item label="妫�鏌ユ墍瑙�" prop="jcsj">
-              <el-input v-model="form.jcsj" clearable type="textarea" :autosize="{ minRows: 8 }" style="width: 380px" />
+              <el-input
+                v-model="form.jcsj"
+                clearable
+                type="textarea"
+                :autosize="{ minRows: 7 }"
+                style="width: 380px"
+              />
             </el-form-item>
-            <el-form-item label="妫�鏌ョ粨璁�" prop="conclusion">
-              <el-input v-model="form.desc" clearable type="textarea" :autosize="{ minRows: 8 }" style="width: 380px" />
+            <el-form-item label="妫�鏌ョ粨璁�" prop="desc">
+              <el-input
+                v-model="form.desc"
+                clearable
+                type="textarea"
+                :autosize="{ minRows: 7 }"
+                style="width: 380px"
+              />
             </el-form-item>
           </el-form>
         </div>
       </div>
 
-      <span slot="footer" class="dialog-footer" style="margin-top: -120px">
+      <span slot="footer" class="dialog-footer" style="margin-top: -20px">
         <el-button @click="callcolos">鍙� 娑�</el-button>
         <el-button type="primary" @click="handleOk">纭� 瀹�</el-button>
       </span>
@@ -121,10 +163,11 @@
   data() {
     return {
       open: false,
+      labelPosition: "top",
       // 寮瑰嚭灞傛爣棰�
       title: "",
       yxbx: "",
-      proName: '',
+      proName: "",
       //   lastDesc: "",
       total: 0,
       dataList: [],
@@ -135,10 +178,7 @@
         jcsj: "",
       },
       queryParams: {
-        bingzhong: "",
-        bzPinyin: "",
-        proId: "",
-        proName: "",
+        ruleStr: "",
         pageNum: 1,
         pageSize: 10,
       },
@@ -150,6 +190,7 @@
   },
   watch: {
     checkStatus(newValue) {
+      console.log(565658);
       if (newValue === "1") {
         this.updateData(this.proResult, this.conclusion);
       }
@@ -163,25 +204,25 @@
         if (newVal && newVal.length > 0) {
           const firstProject = newVal[0]; // 浣犱篃鍙互閬嶅巻鎵�鏈夐」鐩紝鐪嬩綘涓氬姟闇�姹�
           this.queryParams.proId = firstProject.proId; // 鍋囪椤圭洰涓彨 id
-          this.queryParams.proName = firstProject.proName; // 鍋囪鍙� proName
-          this.proName = firstProject.proName
+          // this.queryParams.proName = firstProject.proName;
+          this.proName = firstProject.proName;
         }
       },
     },
   },
-  mounted() { },
+  mounted() {},
 
-  created() { },
+  created() {},
   methods: {
     async getList() {
       try {
         this.loading = true; // 娣诲姞鍔犺浇鐘舵��
         const res = await getlist(this.queryParams);
-        this.dataList = res.rows;
-        this.total = res.total;
-      
-          this.updateData(this.proResult, this.conclusion);
-        
+        this.dataList = res.data.rows;
+        if (res.data.total) {
+          this.total = res.data.total;
+        }
+        this.updateData(this.proResult, this.conclusion);
 
         // 濡傛灉闇�瑕侀�変腑鎿嶄綔锛屽皢鍏跺皝瑁呬负鐙珛鏂规硶
         await this.handleAutoSelection();
@@ -218,26 +259,29 @@
     },
 
     updateData(proResult, conclusion) {
-      console.log(proResult, conclusion, 5658)
-    
+      console.log(proResult, conclusion, 5658);
+      if (this.checkStatus == 1) {
         this.form.jcsj = proResult; // 鏇存柊妫�鏌ユ墍瑙�
         this.form.desc = conclusion; // 鏇存柊妫�鏌ョ粨璁�
-        if (this.list.length != 0) {
-          let desc = ""
-            desc += this.list
-              .map((item) => item.bingzhong || item.ruleStr)
-              .filter(Boolean)
-              .join(",");
-            let jcsj = ""
-            jcsj += this.list
-              .map((item) => item.yxbx)
-              .filter(Boolean)
-              .join(",");
-            this.form.jcsj =  this.form.jcsj+jcsj; // 鏇存柊妫�鏌ユ墍瑙�
-            this.form.desc= this.form.desc+desc;
-         
-        }
-      
+      } else {
+        this.form.desc = "";
+        this.form.jcsj = "";
+      }
+
+      if (this.list.length != 0) {
+        let desc = "";
+        desc += this.list
+          .map((item) => item.bingzhong || item.ruleStr)
+          .filter(Boolean)
+          .join(",");
+        let jcsj = "";
+        jcsj += this.list
+          .map((item) => item.yxbx)
+          .filter(Boolean)
+          .join(",");
+        this.form.jcsj = this.form.jcsj + jcsj; // 鏇存柊妫�鏌ユ墍瑙�
+        this.form.desc = this.form.desc + desc;
+      }
     },
 
     handleSelectionChange(selection) {
@@ -270,9 +314,28 @@
       //   .join(",");
     },
 
-    handleOk() {
+    /* handleOk() {
       if (!this.form.desc && !this.form.jcsj) {
         this.$message.warning("璇烽�夋嫨鏁版嵁");
+        return;
+      }
+
+      try {
+        this.$emit("add", this.form.desc, this.form.jcsj);
+        this.resetForm();
+        this.open = false;
+      } catch (error) {
+        console.error("澶勭悊鏁版嵁澶辫触:", error);
+        this.$message.error("鎿嶄綔澶辫触");
+      }
+    }, */
+
+    handleOk() {
+      const jcsjTrim = this.form.jcsj?.trim();
+      const descTrim = this.form.desc?.trim();
+
+      if (!jcsjTrim || !descTrim) {
+        this.$message.warning("妫�鏌ユ墍瑙佸拰妫�鏌ョ粨璁轰笉鑳戒负绌�");
         return;
       }
 
@@ -296,7 +359,7 @@
     },
     callcolos() {
       this.open = false;
-    }
+    },
   },
   computed: {
     isCheckMode() {
@@ -312,11 +375,22 @@
 
 <style scoped>
 .el-dialog__body {
-  padding: 10px 20px;
+  padding: 0px 20px;
+}
+
+::v-deep .el-dialog__header {
+  padding: 0px !important;
+  padding-bottom: 0px !important;
 }
 
 ::v-deep .el-dialog__footer {
   padding: 0 !important;
   padding-bottom: 40px !important;
 }
+
+.jianc {
+  width: 100%;
+  height: 600px;
+  padding-top: 40px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0