From d441a339549da0e1280879333f0b22823a603443 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 02 十二月 2024 16:59:11 +0800
Subject: [PATCH] 合同积分的提示、地图样式调整

---
 src/views/system/contract/score/index.vue |  118 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 68 insertions(+), 50 deletions(-)

diff --git a/src/views/system/contract/score/index.vue b/src/views/system/contract/score/index.vue
index 2ef8338..2f2e193 100644
--- a/src/views/system/contract/score/index.vue
+++ b/src/views/system/contract/score/index.vue
@@ -8,13 +8,13 @@
         </el-select>
       </el-form-item>
       <el-form-item label="瀹℃牳鏃堕棿">
-        <el-date-picker v-model="daterangeAuditingTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
-          type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></el-date-picker>
+        <el-date-picker v-model="daterangeAuditingTime" style="width: 240px" value-format="yyyy-MM-dd"
+          type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="handleQuery"></el-date-picker>
       </el-form-item>
 
       <el-form-item label="鍒涘缓鏃堕棿">
-        <el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
-          type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></el-date-picker>
+        <el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
+          type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="handleQuery"></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>
@@ -25,15 +25,15 @@
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
-          v-hasPermi="['platform:score:add']">鏂板</el-button>
+          v-hasPermi="['contract:score:add']">鏂板</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
-          v-hasPermi="['platform:score:remove']">鍒犻櫎</el-button>
+          v-hasPermi="['contract:score:remove']">鍒犻櫎</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
-          v-hasPermi="['platform:score:export']">瀵煎嚭</el-button>
+          v-hasPermi="['contract:score:export']">瀵煎嚭</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -44,7 +44,7 @@
       <el-table-column label="鑰冩牳鍚堝悓" align="center" prop="contractName"/>
       <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleName" :show-overflow-tooltip="true" />
       <el-table-column label="鎵e噺鏂瑰紡" align="center" prop="deductCategory"/>
-      <el-table-column label="鑰冩牳鎸囨爣" align="center" prop="num"/>
+      <el-table-column label="瓒呮湡閲忓��" align="center" prop="num"/>
       <el-table-column label="鑰冩牳鎵e垎" align="center" prop="score"/>
       <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180px"/>
       <el-table-column label="瀹℃牳鐘舵��" align="center" prop="auditingStatus">
@@ -59,10 +59,10 @@
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">璇︽儏</el-button>
           <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleAuditing(scope.row)"
-            v-hasPermi="['default:audit']" v-if="scope.row.auditingStatus === '寰呭鏍�'">瀹℃牳</el-button>
+            v-hasPermi="['contract:score:audit']" v-if="scope.row.auditingStatus === '寰呭鏍�'">瀹℃牳</el-button>
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
-            v-if="scope.row.auditingStatus === '寰呭鏍�'" v-hasPermi="['system:auditing:edit']">淇敼</el-button>
-          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
+             v-hasPermi="['contract:score:edit']">淇敼</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['contract:score:remove']">鍒犻櫎</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -80,7 +80,7 @@
         <el-form-item label="杩愮淮鑰冩牳瑙勫垯">
           <el-input v-model="auditingForm.ruleName" type="textarea" autosize disabled />
         </el-form-item>
-        <el-form-item label="杩愮淮鑰冩牳鎸囨爣">
+        <el-form-item label="杩愮淮瓒呮湡閲忓��">
           <el-input v-model="auditingForm.num" disabled />
         </el-form-item>
         <el-form-item label="杩愮淮鑰冩牳鎵e垎">
@@ -101,7 +101,7 @@
     </el-dialog>
 
     <!-- 鏂板鎴栦慨鏀� -->
-    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-form-item label="杩愮淮鑰冩牳鍗曚綅" prop="unitId">
           <el-select v-model="form.unitId" placeholder="杩愮淮鑰冩牳鍗曚綅" @change="handleChangeUnit">
@@ -115,18 +115,16 @@
               <div class="row-left">
                 <div class="block">
                   <span class="demonstration"></span>
-                  <el-cascader ref="cascader" v-model="form.ruleIdsArray" :options="options" @change="handleChange">
+                  <el-cascader
+                    ref="cascader"
+                    v-model="form.ruleIdsArray"
+                    :options="options"
+                    @change="handleChange"
+                    :props="{ expandTrigger: 'hover'}"
+                  >
                     <template slot-scope="{ data }">
-                      <el-tooltip class="item" :disabled="data.label.length < 16 && !data.deductCategory" effect="dark"
-                        :content="
-                          data.label.length < 16 ?
-                            data.deductCategory ?
-                                data.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + data.calcFraction  + '鍒�*鏁伴噺 ' : data.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + data.calcFraction + '鍒�/' +  data.calcUnit + '灏忔椂' : '鎵�' + data.calcFraction + '鍒�' :
-                                '' :
-                            (data.deductCategory ?
-                                data.label + ' ' + (data.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + data.calcFraction  + '鍒�*鏁伴噺 ' : data.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + data.calcFraction + '鍒�/' +  data.calcUnit + '灏忔椂' : '鎵�' + data.calcFraction + '鍒�') :
-                                data.label)"
-                        placement="left">
+                      <el-tooltip class="item" :disabled="calculateTooltipDisabled(data)" effect="dark"
+                                  :content="calculateTooltipContent(data)" placement="left">
                         <span>{{ data.label }}</span>
                       </el-tooltip>
                     </template>
@@ -134,15 +132,19 @@
                 </div>
               </div>
               <div class="row-right" v-if="needNum">
-                <div>鎸囨爣</div>
+                <div>娆℃暟/鏁伴噺/灏忔椂</div>
                 <div class="margin-5">
                   <el-input placeholder="璇疯緭鍏�" v-model="form.num" @input="handleChangeNum" />
                 </div>
               </div>
             </div>
           </div>
+          <div>
+            {{ ruleDescription}}
+          </div>
+
         </el-form-item>
-        <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 51%" prop="score">
+        <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 30%" prop="score">
           <el-input v-model="form.score"></el-input>
         </el-form-item>
       </el-form>
@@ -160,7 +162,7 @@
             <el-form-item label="鑰冩牳鍗曚綅锛�">{{ view.unitName }}</el-form-item>
             <el-form-item label="鑰冩牳鍚堝悓锛�">{{ view.contractName }} </el-form-item>
             <el-form-item label="鑰冩牳瑙勫垯锛�">{{ view.ruleName }} </el-form-item>
-            <el-form-item label="鑰冩牳鎸囨爣锛�">{{ view.num }} </el-form-item>
+            <el-form-item label="瓒呮湡閲忓�硷細">{{ view.num }} </el-form-item>
             <el-form-item label="鑰冩牳鎵e垎锛�">{{ view.score }} </el-form-item>
             <el-form-item label="鍒涘缓浜猴細">{{ view.createUser }} </el-form-item>
             <el-form-item label="鍒涘缓鏃堕棿锛�">{{ view.createTime }} </el-form-item>
@@ -195,6 +197,7 @@
       auditingOpen: false,
       auditingForm: {},
       unitList: [],
+      ruleDescription: '', // 娣诲姞瑙勫垯鎻忚堪瀛楁
       // 鑰冩牳妯℃澘
       examineList: [
         { id: 1, value: "杞﹁締鑰冩牳" },
@@ -287,6 +290,7 @@
       this.form.contractId = item.contractId;
       this.form.ruleName = item.ruleName + " / " + item.label;
       this.form.deductCategory = item.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + item.calcFraction  + '鍒�*鏁伴噺 ' : item.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + item.calcFraction + '鍒�/' +  item.calcUnit + '灏忔椂' : '鎵�' + item.calcFraction + '鍒�';
+      this.ruleDescription = this.calculateTooltipContent(item);
       if (item.deductCategory == "鎵f寚瀹氬垎鏁�") {
         this.needNum = false;
         this.form.score = item.calcFraction;
@@ -312,24 +316,6 @@
     handleChangeUnit(value) {
       getRuleListByUnitId(value).then((res) => {
         this.options = this.getTreeData(res.data);
-        // 鎵嬪姩鏍戝舰缁撴瀯
-        if (this.options) {
-          let groupedList = {};
-          this.options.forEach(item => {
-            if (!groupedList[item.ruleName]) {
-              groupedList[item.ruleName] = {
-                value: 0,
-                children: [],
-                label: item.ruleName,
-                ruleName: item.ruleName,
-                contractId: item.contractId
-              };
-            }
-            groupedList[item.ruleName].children.push(item);
-          });
-          let result = Object.values(groupedList);
-          this.options = result;
-        }
       })
     },
     getTreeData(data) {
@@ -447,10 +433,6 @@
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids
-      if (row.auditingStatus != '寰呭鏍�') {
-        this.$message.warning("璇ヨ褰曞凡瀹℃牳锛屼笉鑳戒慨鏀�");
-        return;
-      }
       getAuditing(id).then(response => {
         this.form = { ...response.data };
         this.open = true;
@@ -500,8 +482,44 @@
       this.download('/contract/score/export', {
         ...this.queryParams
       }, `鍚堝悓鑰冩牳绉垎_${new Date().getTime()}.xlsx`)
+    },
+    calculateTooltipDisabled(data) {
+      return data.label.length < 16 && !data.deductCategory;
+    },
+    calculateTooltipContent(data) {
+      let content = '';
+      if (data.label.length < 16) {
+        if (data.deductCategory) {
+          switch (data.deductCategory) {
+            case '鍒嗘暟涔樹互鏁伴噺':
+              content = '鎵�' + data.calcFraction + '鍒�*鏁伴噺 ';
+              break;
+            case '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�':
+              content = '鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂';
+              break;
+            default:
+              content = '鎵�' + data.calcFraction + '鍒�';
+          }
+        }
+      } else {
+        if (data.deductCategory) {
+          switch (data.deductCategory) {
+            case '鍒嗘暟涔樹互鏁伴噺':
+              content = data.label + ' 鎵�' + data.calcFraction + '鍒�*鏁伴噺 ';
+              break;
+            case '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�':
+              content = data.label + ' 鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂';
+              break;
+            default:
+              content = data.label + ' 鎵�' + data.calcFraction + '鍒�';
+          }
+        } else {
+          content = data.label;
+        }
+      }
+      return content;
     }
-  }
+  },
 };
 </script>
 <style scoped>

--
Gitblit v1.8.0