瀏覽代碼

增加处理日志

seimin 3 年之前
父節點
當前提交
c94c3e0a12
共有 3 個文件被更改,包括 84 次插入1 次删除
  1. 33 0
      src/filters/index.js
  2. 1 0
      src/main.js
  3. 50 1
      src/views/incidentDetails.vue

+ 33 - 0
src/filters/index.js

@@ -0,0 +1,33 @@
1
+import Vue from 'vue'
2
+Vue.filter('timeFormat', function (date, fmt) {
3
+  if (!date) {
4
+    return '';
5
+  }
6
+  if(typeof date === 'number'){
7
+    date = new Date(date);
8
+  }
9
+  if (typeof date === 'string') {
10
+    var dateArr = date.split(/[- : \/]/);
11
+    date = new Date(dateArr[0], dateArr[1] - 1, dateArr[2], dateArr[3], dateArr[4], dateArr[5]);
12
+  }
13
+  if (/(y+)/.test(fmt)) {
14
+    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
15
+  }
16
+  let o = {
17
+    'M+': date.getMonth() + 1,
18
+    'd+': date.getDate(),
19
+    'H+': date.getHours(),
20
+    'm+': date.getMinutes(),
21
+    's+': date.getSeconds()
22
+  };
23
+  for (let k in o) {
24
+    if (new RegExp(`(${k})`).test(fmt)) {
25
+      let str = o[k] + '';
26
+      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
27
+    }
28
+  }
29
+  function padLeftZero(str) {
30
+    return ('00' + str).substr(str.length);
31
+  }
32
+  return fmt;
33
+})

+ 1 - 0
src/main.js

@@ -5,6 +5,7 @@ import App from './App'
5 5
 import router from './router'
6 6
 import Cube from './index'
7 7
 import 'lib-flexible'
8
+import "./filters";
8 9
 // import {get,post} from './service/http'
9 10
 import './http'
10 11
 Vue.use(Cube)

+ 50 - 1
src/views/incidentDetails.vue

@@ -23,7 +23,7 @@
23 23
         <div class="imgs-container">
24 24
           <img
25 25
             :src="img"
26
-            v-for="(img, index) in imgs"
26
+            v-for="(img, index) in imgs" :key="index"
27 27
             @click="handleImgsClick(index)"
28 28
             v-if="imgs.length"
29 29
           />
@@ -267,6 +267,28 @@
267 267
         ></div>
268 268
       </div>
269 269
     </div>
270
+    <!-- 处理日志 -->
271
+    <div class="repairProgress">
272
+      <div class="label">
273
+        处理日志
274
+      </div>
275
+      <div class="handlerLog">
276
+        <table class="handlerLog__table">
277
+          <tr>
278
+            <td class="xh">序号</td>
279
+            <td class="clr">处理人</td>
280
+            <td class="date">时间</td>
281
+            <td>内容</td>
282
+          </tr>
283
+          <tr v-for="(item,i) in data.incident.handlerLogs" :key="item.id">
284
+            <td>{{ i + 1 }}</td>
285
+            <td>{{ item.userName }}</td>
286
+            <td>{{ item.opTime | timeFormat("yyyy-MM-dd HH:mm:ss")}}</td>
287
+            <td>{{ item.opValue }}</td>
288
+          </tr>
289
+        </table>
290
+      </div>
291
+    </div>
270 292
     <!-- 撤回原因 -->
271 293
     <div class="label" v-if="processData == '已撤回'">
272 294
       撤回原因
@@ -419,6 +441,9 @@ export default {
419 441
     },
420 442
     getParamsData() {
421 443
       this.data = JSON.parse(this.$route.params.data);
444
+      if(!this.data.incident.handlerLogs){
445
+        this.data.incident.handlerLogs = [];
446
+      }
422 447
       if (this.data.incident.repeat) {
423 448
         this.processData = "重复事件";
424 449
       } else if (this.data.state.name == "不受理") {
@@ -715,6 +740,30 @@ export default {
715 740
   font-size: 0.32rem;
716 741
   line-height: 0.45rem;
717 742
 }
743
+.handlerLog .handlerLog__table{
744
+  border-collapse: collapse;
745
+  border: 1px solid #ccc;
746
+  width: 100%;
747
+  margin-top: 0.16rem;
748
+}
749
+.handlerLog .handlerLog__table td{
750
+  text-align: center;
751
+  border: 1px solid #ccc;
752
+  word-break: break-all;
753
+  font-size: 0.25rem;
754
+  padding: 0.1rem 0;
755
+}
756
+.handlerLog .handlerLog__table td.xh  {
757
+  width: 0.7rem;
758
+}
759
+
760
+.handlerLog .handlerLog__table td.clr  {
761
+  width: 1.2rem;
762
+}
763
+
764
+.handlerLog .handlerLog__table td.date  {
765
+  width: 2.6rem;
766
+}
718 767
 .handleUser {
719 768
   display: flex;
720 769
   justify-content: space-between;