From 1a4493f0dd1a81d4fd021f48e47f7f3dc351dd33 Mon Sep 17 00:00:00 2001
From: 黄何裕 <1053952480@qq.com>
Date: 星期三, 17 七月 2024 16:30:20 +0800
Subject: [PATCH] 修改考核结果细明野米安

---
 src/views/system/check/result/detail/detail.vue |  224 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 171 insertions(+), 53 deletions(-)

diff --git a/src/views/system/check/result/detail/detail.vue b/src/views/system/check/result/detail/detail.vue
index 293f590..abc3a64 100644
--- a/src/views/system/check/result/detail/detail.vue
+++ b/src/views/system/check/result/detail/detail.vue
@@ -1,26 +1,72 @@
 <template>
   <div class="app-container">
-
     <el-container>
       <el-main>
         <h2>鑰冩牳瑙勫垯</h2>
-        <el-table v-loading="loading" :data="checkRuleList" @selection-change="handleSelectionChange">
-          <el-table-column type="selection" width="55" align="center"/>
-          <el-table-column label="瑙勫垯鍚嶇О" align="center" prop="checkRuleName"/>
-          <el-table-column label="瑙勫垯鏉冮噸" align="center" prop="weight"/>
-          <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <el-row :gutter="20">
+          <el-col
+            :xl="3"
+            :lg="3"
+            :md="6"
+            :sm="6"
+            :xs="12"
+            v-for="(item, index) in checkRuleList"
+            :key="index"
+            :style="item.name == '' ? 'display:none' : ''"
+            class="col-margin"
+          >
+            <el-card
+              style="
+                min-width: 150px;
+                width: 100%;
+                height: 150px;
+                text-align: center;
+                margin-bottom: 20px;
+              "
+            >
+              <div style="display: flex; flex-direction: row-reverse">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-edit"
+                  @click="handleRuleUpdate(item)"
+                  >淇敼
+                </el-button>
+              </div>
+              <div style="font-size: 14px;height: 50px; font-weight: bold;">{{ item.checkRuleName }}</div>
+              <div style="font-size: 14px;">瑙勫垯鏉冮噸锛歿{ item.weight }}</div>
+            </el-card>
+          </el-col>
+        </el-row>
+        <!-- <div></div>
+        <el-table
+          v-loading="loading"
+          :data="checkRuleList"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column
+            label="瑙勫垯鍚嶇О"
+            align="center"
+            prop="checkRuleName"
+          />
+          <el-table-column label="瑙勫垯鏉冮噸" align="center" prop="weight" />
+          <el-table-column
+            label="鎿嶄綔"
+            align="center"
+            class-name="small-padding fixed-width"
+          >
             <template slot-scope="scope">
               <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-edit"
                 @click="handleRuleUpdate(scope.row)"
-              >淇敼
+                >淇敼
               </el-button>
             </template>
           </el-table-column>
-        </el-table>
-
+        </el-table> -->
       </el-main>
     </el-container>
 
@@ -35,29 +81,62 @@
               icon="el-icon-download"
               size="mini"
               @click="handleExport"
-            >瀵煎嚭
+              >瀵煎嚭
             </el-button>
           </el-col>
-          <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
+          <el-form
+            :model="queryParams"
+            ref="queryForm"
+            size="small"
+            :inline="true"
+            v-show="showSearch"
+          >
             <el-form-item label="鑰冩牳鏃ユ湡" prop="name">
-              <el-date-picker v-model="date" format="yyyy-MM" value-format="yyyy-MM" type="month" placeholder="閫夋嫨鏃ユ湡"
-                              @change="dateChange">
+              <el-date-picker
+                v-model="date"
+                format="yyyy-MM"
+                value-format="yyyy-MM"
+                type="month"
+                placeholder="閫夋嫨鏃ユ湡"
+                @change="dateChange"
+              >
               </el-date-picker>
             </el-form-item>
             <el-form-item>
-              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="mini"
+                @click="handleQuery"
+                >鎼滅储</el-button
+              >
             </el-form-item>
           </el-form>
-
         </el-row>
 
-        <el-table v-loading="loading" :data="dataMap" @selection-change="handleSelectionChange">
-          <el-table-column label="鑰冩牳鏃ユ湡" align="center" prop="create_time" width="120px" fixed>
+        <el-table
+          v-loading="loading"
+          :data="dataMap"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column
+            label="鑰冩牳鏃ユ湡"
+            align="center"
+            prop="create_time"
+            width="120px"
+            fixed
+          >
             <template slot-scope="scope">
-              <span>{{ scope.row.create_time.split('T')[0] }}</span>
+              <span>{{ scope.row.create_time.split("T")[0] }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="鑰冩牳瀵硅薄" align="center" prop="dept_id" width="120px" fixed>
+          <el-table-column
+            label="鑰冩牳瀵硅薄"
+            align="center"
+            prop="dept_id"
+            width="120px"
+            fixed
+          >
             <template slot-scope="scope">
               <span>{{ translateDeptId(scope.row.dept_id) }}</span>
             </template>
@@ -89,13 +168,27 @@
     </el-container>
 
     <!-- 淇敼鑰冩牳鏉冮噸瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="ruleOpen" width="600px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="ruleOpen"
+      width="600px"
+      append-to-body
+    >
       <el-form ref="form" :model="ruleForm" :rules="rules" label-width="80px">
         <el-form-item label="瑙勫垯鍚嶇О" prop="checkRuleName">
-          <el-input v-model="ruleForm.checkRuleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" disabled/>
+          <el-input
+            v-model="ruleForm.checkRuleName"
+            placeholder="璇疯緭鍏ヨ鍒欏悕绉�"
+            disabled
+          />
         </el-form-item>
         <el-form-item label="瑙勫垯鏉冮噸" prop="weight">
-          <el-input-number v-model="ruleForm.weight" :precision="1" :step="0.1" placeholder="璇疯緭鍏ヨ鍒欐潈閲�"/>
+          <el-input-number
+            v-model="ruleForm.weight"
+            :precision="1"
+            :step="0.1"
+            placeholder="璇疯緭鍏ヨ鍒欐潈閲�"
+          />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -105,7 +198,12 @@
     </el-dialog>
 
     <!-- 淇敼鑰冩牳鎸囨爣瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="indexOpen" width="600px" append-to-body>
+    <el-dialog
+      :title="title"
+      :visible.sync="indexOpen"
+      width="600px"
+      append-to-body
+    >
       <el-form ref="form" :model="indexForm" :rules="rules" label-width="150px">
         <el-form-item label="鑰冩牳鏃ユ湡" prop="create_time">
           <el-input v-model="formattedCreateTime" placeholder="" disabled>
@@ -113,7 +211,12 @@
         </el-form-item>
         <div v-for="item in tableData" :key="item.ruleIndex">
           <el-form-item :label="item.ruleName" :prop="item.ruleIndex">
-            <el-input-number v-model="indexForm[item.ruleIndex]" :precision="4" :step="0.1" placeholder="璇疯緭鍏ユ寚鏍�"></el-input-number>
+            <el-input-number
+              v-model="indexForm[item.ruleIndex]"
+              :precision="4"
+              :step="0.1"
+              placeholder="璇疯緭鍏ユ寚鏍�"
+            ></el-input-number>
           </el-form-item>
         </div>
       </el-form>
@@ -126,19 +229,24 @@
 </template>
 
 <script>
-
-import {listScore, getScoreIndex, delScore, addScore, updateScore} from "@/api/platform/check-score";
-import {updateWeight} from "@/api/platform/check-template";
-import {areaSelect} from '@/api/system/dept'
+import {
+  listScore,
+  getScoreIndex,
+  delScore,
+  addScore,
+  updateScore,
+} from "@/api/platform/check-score";
+import { updateWeight } from "@/api/platform/check-template";
+import { areaSelect } from "@/api/system/dept";
 
 export default {
   name: "CheckResult",
-  dicts: ['platform_audit_state'],
+  dicts: ["platform_audit_state"],
   data() {
     return {
       id: null,
       examineCategory: null,
-      date: '',
+      date: "",
       examineTag: null,
       deptId: null,
       areaList: [],
@@ -146,7 +254,7 @@
       dataMap: [],
       manualScoreOpen: false,
       manualScoreForm: {},
-      manualScoreTitle: '',
+      manualScoreTitle: "",
       // 閬僵灞�
       loading: true,
       // 閫変腑鏁扮粍
@@ -178,19 +286,21 @@
         date: null,
       },
       // 琛ㄥ崟鏍¢獙
-      rules: {}
+      rules: {},
     };
   },
   computed: {
     formattedCreateTime() {
       // 濡傛灉 create_time 瀛樺湪锛屽垯杩斿洖鏃ユ湡閮ㄥ垎锛屽惁鍒欒繑鍥炵┖瀛楃涓�
-      return this.indexForm.create_time ? this.indexForm.create_time.split('T')[0] : '';
+      return this.indexForm.create_time
+        ? this.indexForm.create_time.split("T")[0]
+        : "";
     },
   },
   created() {
     //鑰冩牳鎴愮哗璇︽儏璺宠浆鍙傛暟鎺ユ敹
     if (this.$route.query.id) {
-      this.queryParams.id = this.$route.query.id
+      this.queryParams.id = this.$route.query.id;
     }
     // 鑰冩牳绉垎鍒楄〃
     this.getList();
@@ -200,10 +310,10 @@
     /** 鏌ヨ鑰冩牳璁″垎鍒楄〃 */
     getList() {
       this.loading = true;
-      getScoreIndex(this.queryParams).then(response => {
+      getScoreIndex(this.queryParams).then((response) => {
         this.checkRuleList = response.data.checkRuleList;
         this.dataMap = response.data.scoreMap.dataMap;
-        this.tableData = response.data.scoreMap.tableData
+        this.tableData = response.data.scoreMap.tableData;
         this.loading = false;
       });
     },
@@ -224,18 +334,25 @@
       this.resetForm(formName);
     },
     translateDeptId(deptId) {
-      const department = this.areaList.find(dept => dept.id == deptId);
-      return department ? department.value : '鏈煡';
+      const department = this.areaList.find((dept) => dept.id == deptId);
+      return department ? department.value : "鏈煡";
     },
     // 鍖哄煙涓嬫媺鏁版嵁
     areaSelect() {
-      areaSelect().then(res => {
+      areaSelect().then((res) => {
         this.areaList = res.data;
-      })
+      });
     },
     /** 杩斿洖鎸夐挳 */
     goBack() {
-      const obj = { path: "/check/detail", query: { index: this.$route.query.deptId, examineTag: this.$route.query.examineTag, pageNum: this.$route.query.pageNum } };
+      const obj = {
+        path: "/check/detail",
+        query: {
+          index: this.$route.query.deptId,
+          examineTag: this.$route.query.examineTag,
+          pageNum: this.$route.query.pageNum,
+        },
+      };
       this.$tab.closeOpenPage(obj);
     },
     // 鍏抽棴褰撳墠tab椤电锛屾墦寮�鏂伴〉绛�
@@ -262,9 +379,9 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length !== 1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
@@ -288,10 +405,10 @@
     },
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.ruleForm.id != null) {
-            updateWeight(this.ruleForm).then(response => {
+            updateWeight(this.ruleForm).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
               this.ruleOpen = false;
               this.getList();
@@ -302,21 +419,22 @@
     },
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
-      this.download('/check/score/export', {
-        ...this.queryParams
-      }, `鑰冩牳鎸囨爣_${new Date().getTime()}.xlsx`)
+      this.download(
+        "/check/score/export",
+        {
+          ...this.queryParams,
+        },
+        `鑰冩牳鎸囨爣_${new Date().getTime()}.xlsx`
+      );
     },
     handleSelect(key, keyPath) {
       console.log(key, keyPath);
     },
-  }
+  },
 };
 </script>
 <style scoped>
-
-
 .header-container h2 {
   margin-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁存爣棰樺拰鑿滃崟涔嬮棿鐨勯棿璺� */
 }
-
 </style>

--
Gitblit v1.8.0