From 2a667d5b7f33ab1160ffb42fe0e43cad25c66444 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 13 三月 2024 13:37:25 +0800
Subject: [PATCH] 合同优化、考核分数、考核模板绑定公司

---
 src/api/platform/score.js                 |   44 +++
 src/views/login.vue                       |    2 
 src/views/system/contract/index.vue       |  226 +++++++++--------
 src/api/platform/publish.js               |    8 
 src/views/system/check-template/index.vue |   28 ++
 src/views/system/score/index.vue          |  365 ++++++++++++++++++++++++++++
 src/api/system/dept.js                    |   10 
 src/views/system/check-rule/index.vue     |   64 +++-
 8 files changed, 615 insertions(+), 132 deletions(-)

diff --git a/src/api/platform/publish.js b/src/api/platform/publish.js
index c611782..283f27a 100644
--- a/src/api/platform/publish.js
+++ b/src/api/platform/publish.js
@@ -43,4 +43,10 @@
   })
 }
 
-
+// 鑾峰彇鑰冩牳涓嬫媺鍒楄〃
+export function publishSelect() {
+  return request({
+    url: '/system/publish/all',
+    method: 'get'
+  })
+}
diff --git a/src/api/platform/score.js b/src/api/platform/score.js
new file mode 100644
index 0000000..a556b90
--- /dev/null
+++ b/src/api/platform/score.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鑰冩牳璁″垎鍒楄〃
+export function listScore(query) {
+  return request({
+    url: '/platform/score/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鑰冩牳璁″垎璇︾粏
+export function getScore(id) {
+  return request({
+    url: '/platform/score/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鑰冩牳璁″垎
+export function addScore(data) {
+  return request({
+    url: '/platform/score',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鑰冩牳璁″垎
+export function updateScore(data) {
+  return request({
+    url: '/platform/score',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鑰冩牳璁″垎
+export function delScore(id) {
+  return request({
+    url: '/platform/score/' + id,
+    method: 'delete'
+  })
+}
diff --git a/src/api/system/dept.js b/src/api/system/dept.js
index fc943cd..b6c0f1d 100644
--- a/src/api/system/dept.js
+++ b/src/api/system/dept.js
@@ -49,4 +49,12 @@
     url: '/system/dept/' + deptId,
     method: 'delete'
   })
-}
\ No newline at end of file
+}
+
+// 鑾峰彇杩愮淮鍗曚綅涓嬫媺鍒楄〃
+export function deptSelect() {
+  return request({
+    url: '/system/dept/all',
+    method: 'get'
+  })
+}
diff --git a/src/views/login.vue b/src/views/login.vue
index 0543d82..e604abf 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -41,7 +41,7 @@
           <img :src="codeUrl" @click="getCode" class="login-code-img"/>
         </div>
       </el-form-item>
-      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
+      <el-checkbox v-model="loginForm.rememberMe" style=" margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
       <el-form-item style="width:100%;">
         <el-button
           :loading="loading"
diff --git a/src/views/system/check-rule/index.vue b/src/views/system/check-rule/index.vue
index ff5cafb..b36c119 100644
--- a/src/views/system/check-rule/index.vue
+++ b/src/views/system/check-rule/index.vue
@@ -73,28 +73,32 @@
     <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="ruleName" />
+      <el-table-column label="杩愮淮绫诲埆" align="center" prop="category">
+        <template slot-scope="scope">
+        <div v-if="scope.row.category === 1">瑙嗛鐩戞帶</div>
+        <div v-else-if="scope.row.category === 2">杞﹁締璇嗗埆</div>
+        <div v-else-if="scope.row.category === 3">浜鸿劯璇嗗埆</div>
+        </template>
+      </el-table-column>
       <el-table-column label="瑙勫垯鎻忚堪" align="center" prop="ruleDetail" />
-<!--        <el-table-column label="澶╃綉瑙嗛鐐逛綅鏁�" align="center" prop="videoPointNum" />
-            <el-table-column label="杞﹁締鍗″彛鐐逛綅鏁�" align="center" prop="vehicleCheckpointNum" />
-            <el-table-column label="浜鸿劯鍗″彛鐐逛綅鏁�" align="center" prop="faceChceckpointNum" />     -->
-            <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
-            <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="handleUpdate(scope.row)"
-                >淇敼</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-delete"
-                  @click="handleDelete(scope.row)"
-                >鍒犻櫎</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
+        <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
+        <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="handleUpdate(scope.row)"
+            >淇敼</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+            >鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+       </el-table>
 
           <pagination
             v-show="total>0"
@@ -104,11 +108,21 @@
             @pagination="getList"
           />
 
-          <!-- 娣诲姞鎴栦慨鏀硅�冩牳瑙勫垯瀵硅瘽妗� -->
+    <!-- 娣诲姞鎴栦慨鏀硅�冩牳瑙勫垯瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
           <el-input v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+        </el-form-item>
+        <el-form-item label="瑙勫垯绫诲瀷" prop="category">
+          <el-select v-model="form.category" placeholder="瑙勫垯绫诲瀷">
+            <el-option
+              v-for="item in categoryList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="瑙勫垯鎻忚堪" prop="ruleDetail">
           <el-input v-model="form.ruleDetail" type="textarea" show-word-limit maxlength="150" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
@@ -174,6 +188,12 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
+      // 杩愮淮绫诲瀷
+      categoryList: [
+        { id: 1, value: '瑙嗛鐩戞帶' },
+        { id: 2, value: '杞﹁締璇嗗埆' },
+        { id: 3, value: '浜鸿劯璇嗗埆' },
+      ],
       // 鑰冩牳瑙勫垯琛ㄦ牸鏁版嵁
       checkRuleList: [],
       daterangeCreateTime: [],
diff --git a/src/views/system/check-template/index.vue b/src/views/system/check-template/index.vue
index 4ee886c..2281e80 100644
--- a/src/views/system/check-template/index.vue
+++ b/src/views/system/check-template/index.vue
@@ -9,6 +9,14 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="鍏徃鍚�" prop="unitName">
+        <el-input
+          v-model="queryParams.status"
+          placeholder="璇疯緭鍏ュ叕鍙稿悕"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item label="鍒涘缓鏃堕棿">
         <el-date-picker
           v-model="daterangeCreateTime"
@@ -71,6 +79,7 @@
     <el-table v-loading="loading" :data="checkTemplateList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="妯℃澘鍚嶇О" align="center" prop="templateName" />
+      <el-table-column label="鍏徃鍚�" align="center" prop="unitName" />
       <el-table-column label="璋冩暣绯绘暟" align="center" prop="adjustCoefficient" />
       <el-table-column label="璋冩暣绯绘暟璁$畻鏂瑰紡" align="center" prop="adjustWay" />
       <el-table-column label="鐘舵��" align="center" prop="status" />
@@ -105,6 +114,16 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="妯℃澘鍚嶇О" prop="templateName">
           <el-input v-model="form.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�" />
+        </el-form-item>
+        <el-form-item label="鍏徃鍚�" prop="unitName">
+          <el-select v-model="form.unitName" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in unitList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="鑰冩牳瑙勫垯" prop="tempRuleFormList">
           <div class="row-warp">
@@ -168,12 +187,14 @@
 <script>
 import { listCheckTemplate, getCheckTemplate, delCheckTemplate, addCheckTemplate, updateCheckTemplate } from "@/api/platform/check-template";
 import { ruleSelect } from '../../../api/platform/check-rule'
+import { unitSelect } from '../../../api/platform/unit'
 
 export default {
   name: "CheckTemplate",
   data() {
     return {
       ruleList: [],
+      unitList: [],
       // 涓存椂瑙勫垯琛ㄥ崟
       tempRuleForm: {},
       // 涓存椂瑙勫垯琛ㄥ崟鍒楄〃
@@ -226,6 +247,7 @@
   created() {
     this.getList();
     this.selectCheckRule();
+    this.selectUnit();
   },
   methods: {
     removeRule(form) {
@@ -249,6 +271,12 @@
         this.ruleList = res.data;
       })
     },
+    // 杩愮淮鍏徃涓嬫媺鏁版嵁
+    selectUnit() {
+      unitSelect().then(res => {
+        this.unitList = res.data;
+      })
+    },
     /** 鏌ヨ鑰冩牳妯℃澘鍒楄〃 */
     getList() {
       this.loading = true;
diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue
index 8e6ce43..8ef0c84 100644
--- a/src/views/system/contract/index.vue
+++ b/src/views/system/contract/index.vue
@@ -75,112 +75,77 @@
       style="width: 100%">
       <el-table-column type="expand">
         <template slot-scope="props">
-          <el-form label-position="left" inline class="demo-table-expand">
+          <el-form label-position="left" inline class="table-expand">
             <el-collapse v-model="activeNames" @change="handleChange">
               <el-collapse-item title="瑙嗛骞冲潎鍦ㄧ嚎鐜�" name="1">
                 <div>鈮�98%锛氫笉鎵e垎</div>
-                <div>95%鈮よ棰戝钩鍧囧湪绾跨巼锛�98%锛氭墸5鍒�</div>
-                <div>90%鈮よ棰戝钩鍧囧湪绾跨巼锛�95%锛氭墸10鍒�</div>
-                <div>锛�90%锛氭墸20鍒嗭紝鑻ユ湁杩炵画涓ゆ鐪佸巺鑰冩牳鍦ㄧ嚎鐜囦綆浜�90%锛屾嫑鏍囦汉鏈夋潈瑙i櫎鍚堝悓銆�</div>
+                <div class="inline-input-container">
+                  95%鈮よ棰戝钩鍧囧湪绾跨巼锛�98%锛� <el-input v-model="props.row.score95to98" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>
+                </div>
+                <div class="inline-input-container">
+                  90%鈮よ棰戝钩鍧囧湪绾跨巼锛�95%锛�<el-input v-model="props.row.score90to95" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>
+                </div>
+                <div class="inline-input-container">
+                  锛�90%锛� <el-input v-model="props.row.scoreBelow90" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>锛�
+                  鑻ユ湁杩炵画涓ゆ鐪佸巺鑰冩牳鍦ㄧ嚎鐜囦綆浜�90%锛屾嫑鏍囦汉鏈夋潈瑙i櫎鍚堝悓銆�
+                </div>
               </el-collapse-item>
               <el-collapse-item title="鍓嶇鎰熺煡婧愭不鐞嗗伐浣�" name="2">
-                <div>鏃堕挓鍚屾锛堣秴杩嚶�3绉掍负涓嶅悎鏍硷級24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*0.1鍒�</div>
-                <div>OSD鏍囪瘑涓嶆弧瓒炽�奊AT 751-2008 瑙嗛鍥惧儚鏂囧瓧鏍囨敞瑙勮寖銆嬶紝24灏忔椂鍐呮湭淇鐨勶細鏍囨墸闄ょ浉鍏抽暅澶存暟閲�*0.1鍒�</div>
-                <div>鐢ㄦ埛鎶芥锛屼竴鏈轰竴妗f暟鎹」涓嶅悎鏍硷紙鎻愪緵铏氬亣鏁版嵁鎴栭敊璇暟鎹负涓嶅悎鏍硷級锛�24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺*0.1鍒�</div>
+                <div class="inline-input-container">
+                  鏃堕挓鍚屾锛堣秴杩嚶�3绉掍负涓嶅悎鏍硷級24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺* <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�
+                </div>
+                <div class="inline-input-container">
+                  OSD鏍囪瘑涓嶆弧瓒炽�奊AT 751-2008 瑙嗛鍥惧儚鏂囧瓧鏍囨敞瑙勮寖銆嬶紝24灏忔椂鍐呮湭淇鐨勶細鏍囨墸闄ょ浉鍏抽暅澶存暟閲�* <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�
+                </div>
+                <div class="inline-input-container">
+                  鐢ㄦ埛鎶芥锛屼竴鏈轰竴妗f暟鎹」涓嶅悎鏍硷紙鎻愪緵铏氬亣鏁版嵁鎴栭敊璇暟鎹负涓嶅悎鏍硷級锛�24灏忔椂鍐呮湭淇鐨勶細鎵i櫎鐩稿叧闀滃ご鏁伴噺* <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�
+                </div>
               </el-collapse-item>
               <el-collapse-item title="鍚庡彴绯荤粺鐨勪繚闅�" name="3">
-                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭72灏忔椂涓嶈冻144灏忔椂鐨勶紱鎵�1鍒�/12灏忔椂</div>
-                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭144灏忔椂浠ュ悗锛屾瘡瓒呭嚭12灏忔椂锛氭墸2鍒�/12灏忔椂</div>
-                <div>涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�3娆★細鎵�1鍒�/娆�</div>
-                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭24灏忔椂涓嶈冻48灏忔椂鐨勶細鎵�3鍒�/12灏忔椂</div>
-                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭48灏忔椂浠ュ悗锛氭墸5鍒�/12灏忔椂</div>
-                <div>鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�2娆★細鎵�3鍒�/娆�</div>
+                <div class="inline-input-container">
+                  涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭72灏忔椂涓嶈冻144灏忔椂鐨勶紱鎵� <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/12灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭144灏忔椂浠ュ悗锛屾瘡瓒呭嚭12灏忔椂锛氭墸 <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/12灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�3娆★細鎵� <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/12灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭24灏忔椂涓嶈冻48灏忔椂鐨勶細鎵� <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/娆�
+                </div>
+                <div class="inline-input-container">
+                  涓埆璁惧鏁呴殰浣嗕笉褰卞搷璇ュ姛鑳芥ā鍧楁暣浣撳簲鐢ㄦ儏鍐典笅,瓒呭嚭72灏忔椂涓嶈冻144灏忔椂鐨勶紱鎵� <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/12灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,瓒呭嚭48灏忔椂浠ュ悗锛氭墸 <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/12灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  鍚庡彴鍔熻兘妯″潡涓嶈兘姝e父杩愯褰卞搷姝e父浣跨敤鐨�,鍚屼竴鍔熻兘妯″潡鐨勭浉鍚屾垨涓嶅悓璁惧绱涓�涓湀鍐呮晠闅滆秴杩�2娆★細鎵� <el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/娆�
+                </div>
               </el-collapse-item>
               <el-collapse-item title="瀛樺偍鏁呴殰" name="4">
-                <div>鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�0.5鍒�/灏忔椂</div>
-                <div>鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�1鍒�/灏忔椂</div>
-                <div>鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�,鍚屼竴鐐逛綅瑙嗛鍥惧儚鍚屼竴妗堜欢涓嶇疮璁¤绠楋細鎵�2鍒�/娆�</div>
+                <div class="inline-input-container">
+                  鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�<el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  鍥犲瓨鍌ㄨ澶囥�佷簯瀛樺偍杞欢绛夊紩璧峰钩鍙颁笉鑳芥甯告煡鐪嬪巻鍙插浘鍍�,鍗曟鏁呴殰鏃堕暱鍦�24灏忔椂浠ュ唴鐨勶細鎵�<el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/灏忔椂
+                </div>
+                <div class="inline-input-container">
+                  鍥犺棰戞垨鑰呭浘鐗囦涪澶卞鑷撮噸瑕佹浜嬩欢涓嶈兘鍥炴斁鎴栨煡鐪�,鍚屼竴鐐逛綅瑙嗛鍥惧儚鍚屼竴妗堜欢涓嶇疮璁¤绠楋細鎵�<el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�/娆�
+                </div>
               </el-collapse-item>
               <el-collapse-item title="瀵逛簬鍓嶇鐐逛綅寮傚父鎯呭喌鐨勫鐞�" name="5">
-                <div>24灏忔椂鍚庢湭淇鐨勶細鎵�0.5鍒�*闀滃ご鏁伴噺</div>
-                <div>48灏忔椂鍚庢湭淇锛岀疮璁℃墸鍒嗭細鎵�1鍒�*闀滃ご鏁伴噺*澶�</div>
+                <div class="inline-input-container">
+                  24灏忔椂鍚庢湭淇鐨勶細鎵�<el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�*闀滃ご鏁伴噺
+                </div>
+                <div class="inline-input-container">
+                  48灏忔椂鍚庢湭淇锛岀疮璁℃墸鍒嗭細鎵�<el-input v-model="props.row.time24" type="number" min="0" max="100" placeholder="璇疯緭鍏ユ墸鍒�"></el-input>鍒�*闀滃ご鏁伴噺*澶�
+                </div>
               </el-collapse-item>
-              <el-collapse-item title="瀹夊叏绠$悊" name="6">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="杩愮淮鍛ㄦ湡鎬ф姤鍛�" name="7">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="寤虹珛鏁呴殰鐢虫姤鐑嚎鐢佃瘽" name="8">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="浜哄憳椹诲満鏈嶅姟" name="9">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="淇濋殰宸ヤ綔" name="10">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="杩愮淮淇濋殰鎯呭喌" name="11">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="绯荤粺鍙婅澶囦骇鍝佽川閲�" name="12">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="杩愮淮鍥㈤槦" name="13">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="璁惧绯荤粺鍗囩骇" name="14">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="娉勫瘑杩芥煡" name="15">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="瀹夊叏闃叉姢缁堢" name="16">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="鍙拌处鐧昏" name="17">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="寤虹珛鏁版嵁鐩戞祴缁存姢鏈哄埗" name="18">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="纭繚褰曞儚瀹屾暣锛屼笉瀹氭湡瀵规墍鏈夌偣浣嶅綍鍍忓畬鏁存�ф娊鏌�" name="19">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="纭繚鍥剧墖瀹屾暣锛屼笉瀹氭湡瀵规墍鏈変汉鑴搞�佽溅杈嗕互鍙婃櫤鑳藉墠绔姄鎷嶇殑鍥剧墖瀹屾暣鎬ф娊鏌�" name="20">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="瑙嗚璁$畻鐪佸巺楠岃瘉宸ヤ綔" name="21">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="鑷础甯傛櫤鎱у煄甯傚ぇ鏁版嵁涓績鏈烘埧" name="22">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="涓诲共閾捐矾锛�10G鍙婁互涓婏級鏁呴殰" name="23">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
-              <el-collapse-item title="鑰冩牳缁撴灉搴旂敤瑙勫垯" name="24">
-                <div>涓庣幇瀹炵敓娲讳竴鑷达細涓庣幇瀹炵敓娲荤殑娴佺▼銆侀�昏緫淇濇寔涓�鑷达紝閬靛惊鐢ㄦ埛涔犳儻鐨勮瑷�鍜屾蹇碉紱</div>
-                <div>鍦ㄧ晫闈腑涓�鑷达細鎵�鏈夌殑鍏冪礌鍜岀粨鏋勯渶淇濇寔涓�鑷达紝姣斿锛氳璁℃牱寮忋�佸浘鏍囧拰鏂囨湰銆佸厓绱犵殑浣嶇疆绛夈��</div>
-              </el-collapse-item>
+              <div style="text-align: right; margin-top: 10px;">
+                <el-button type="primary" @click="submitForm1(props.row)">鎻愪氦</el-button>
+              </div>
             </el-collapse>
           </el-form>
         </template>
@@ -231,13 +196,38 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="鍏徃鍚�" prop="companyName">
-          <el-input v-model="form.companyName" placeholder="璇疯緭鍏ュ叕鍙稿悕" />
+          <el-select v-model="form.companyName" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in unitList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
-          <el-input v-model="form.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" />
+          <el-select v-model="form.deptName" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in deptList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="鍚堝悓鏄庣粏" prop="detail">
-          <el-input v-model="form.detail" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        <el-form-item label="鍚堝悓鏃堕棿" prop="timezone">
+          <el-date-picker
+            :disabled="title === '淇敼鍚堝悓鏃堕棿'"
+            @change="dateChange"
+            v-model="form.timezone"
+            type="daterange"
+            align="right"
+            unlink-panels
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+          >
+          </el-date-picker>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -250,11 +240,15 @@
 
 <script>
 import { listContract, getContract, delContract, addContract, updateContract } from "@/api/platform/contract";
+import {unitSelect} from "../../../api/platform/unit";
+import {deptSelect} from "../../../api/system/dept";
 
 export default {
   name: "Contract",
   data() {
     return {
+      unitList: [],
+      deptList: [],
       activeNames: ['1'],
       // 閬僵灞�
       loading: true,
@@ -311,8 +305,6 @@
       }],
       // 琛ㄥ崟鍙傛暟
       form: {
-
-
       },
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -324,8 +316,25 @@
   },
   created() {
     this.getList();
+    this.selectUnit();
+    this.selectDept();
   },
   methods: {
+    // 杩愮淮鍏徃涓嬫媺鏁版嵁
+    selectUnit() {
+      unitSelect().then(res => {
+        this.unitList = res.data;
+      })
+    },
+    // 鍏畨閮ㄩ棬涓嬫媺鏁版嵁
+    selectDept() {
+      deptSelect().then(res => {
+        this.deptList = res.data;
+      })
+    },
+    submitForm1() {
+      alert('鎻愪氦鎴愬姛锛�');
+      },
     handleChange(val) {
       console.log(val);
     },
@@ -428,17 +437,20 @@
 </script>
 
 <style scoped>
-.demo-table-expand {
+.table-expand {
   font-size: 0;
 }
-.demo-table-expand  .title{
-  width: 250px;
+.table-expand  {
+  width: 100%;
   color: #99a9bf;
 }
-.demo-table-expand {
-  margin-right: 0;
-  margin-bottom: 0;
-  width: 100%;
+.table-expand {
+
+}
+.inline-input-container {
+  white-space: nowrap; /* 闃叉鍐呭鍐呴儴鐨勬崲琛� */
+  margin-right: 50px;  /* 鍙�夌殑锛岀敤浜庡湪鍏冪礌涔嬮棿娣诲姞涓�浜涢棿璺� */
+  width: 7%;
 }
 
 
diff --git a/src/views/system/score/index.vue b/src/views/system/score/index.vue
new file mode 100644
index 0000000..110ddf5
--- /dev/null
+++ b/src/views/system/score/index.vue
@@ -0,0 +1,365 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="鍗曚綅鍚�" prop="unitId">
+        <el-input
+          v-model="queryParams.unitId"
+          placeholder="璇疯緭鍏ュ崟浣嶅悕"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鑰冩牳鍚�" prop="examineId">
+        <el-input
+          v-model="queryParams.examineId"
+          placeholder="璇疯緭鍏ヨ�冩牳鍚�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鎿嶄綔绫诲瀷" prop="operateCategory">
+        <el-select v-model="queryParams.operateCategory" placeholder="璇烽�夋嫨鎿嶄綔绫诲瀷" clearable>
+          <el-option
+            v-for="dict in dict.type.platform_operate_category"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="绉垎绫诲瀷" prop="scoreCategory">
+        <el-input
+          v-model="queryParams.scoreCategory"
+          placeholder="璇疯緭鍏ョН鍒嗙被鍨�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+
+    <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>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['platform:score:edit']"
+        >淇敼</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>
+      </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>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="scoreList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="鑰冩牳鍚�" align="center" prop="examineName" />
+      <el-table-column label="鍗曚綅鍚�" align="center" prop="unitName" />
+      <el-table-column label="鍒嗗��" align="center" prop="score" />
+      <el-table-column label="鎿嶄綔绫诲瀷" align="center" prop="operateCategory">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.platform_operate_category" :value="scope.row.operateCategory"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="绉垎绫诲瀷" align="center" prop="scoreCategory">
+      <template slot-scope="scope">
+        <div v-if="scope.row.scoreCategory === 1">瑙嗛鍦ㄧ嚎鐜�</div>
+        <div v-else-if="scope.row.scoreCategory === 2">瀛樺偍鏁呴殰</div>
+        <div v-else-if="scope.row.scoreCategory === 3">淇濋殰宸ヤ綔</div>
+      </template>
+      </el-table-column>
+      <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" />
+      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
+      <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="handleUpdate(scope.row)"
+            v-hasPermi="['platform:score:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['platform:score:remove']"
+          >鍒犻櫎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀硅�冩牳璁″垎瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="鍒嗗��" prop="score">
+          <el-input v-model="form.score" placeholder="璇疯緭鍏ュ垎鍊�" />
+        </el-form-item>
+        <el-form-item label="鍗曚綅鍚�" prop="unitId">
+          <el-select v-model="form.unitId" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in unitList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鑰冩牳鍚�" prop="examineId">
+          <el-select v-model="form.examineId" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in examineList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鎿嶄綔绫诲瀷" prop="operateCategory">
+          <el-select v-model="form.operateCategory" placeholder="璇烽�夋嫨鎿嶄綔绫诲瀷">
+            <el-option
+              v-for="item in operateCategoryList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="绉垎绫诲瀷" prop="scoreCategory">
+          <el-select v-model="form.scoreCategory" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in scoreCategoryList"
+              :key="item.id"
+              :label="item.value"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listScore, getScore, delScore, addScore, updateScore } from "@/api/platform/score";
+import {unitSelect} from "../../../api/platform/unit";
+import {publishSelect} from "../../../api/platform/publish";
+
+export default {
+  name: "Score",
+  dicts: ['platform_operate_category'],
+  data() {
+    return {
+      operateCategoryList: [
+        { id: 2, value: '浜哄伐鎵撳垎' },
+        { id: 1, value: '绯荤粺鎵撳垎' },
+      ],
+      scoreCategoryList: [
+        { id: 2, value: '瀛樺偍鏁呴殰' },
+        { id: 1, value: '瑙嗛鍦ㄧ嚎鐜�' },
+        { id: 3, value: '淇濋殰宸ヤ綔' },
+      ],
+
+      unitList: [],
+      examineList: [],
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鑰冩牳璁″垎琛ㄦ牸鏁版嵁
+      scoreList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        score: null,
+        unitId: null,
+        examineId: null,
+        operateCategory: null,
+        scoreCategory: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.selectUnit();
+    this.selectExamine();
+  },
+  methods: {
+    // 杩愮淮鍏徃涓嬫媺鏁版嵁
+    selectUnit() {
+      unitSelect().then(res => {
+        this.unitList = res.data;
+      })
+    },
+    // 鑰冩牳涓嬫媺鏁版嵁
+    selectExamine() {
+      publishSelect().then(res => {
+        this.examineList = res.data;
+      })
+    },
+    /** 鏌ヨ鑰冩牳璁″垎鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listScore(this.queryParams).then(response => {
+        this.scoreList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        score: null,
+        unitId: null,
+        examineId: null,
+        operateCategory: null,
+        scoreCategory: null,
+        createTime: null,
+        createBy: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      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
+      getScore(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) {
+            updateScore(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addScore(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鑰冩牳璁″垎缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delScore(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('platform/score/export', {
+        ...this.queryParams
+      }, `score_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

--
Gitblit v1.8.0