浏览代码

抽离事件信息,增加预约时间

seimin 3 年之前
父节点
当前提交
08cfc6a404
共有 7 个文件被更改,包括 314 次插入1028 次删除
  1. 294 0
      src/components/EventInformation/index.vue
  2. 3 159
      src/views/againAssign.vue
  3. 4 160
      src/views/closed.vue
  4. 3 169
      src/views/grabSheet.vue
  5. 3 194
      src/views/order.vue
  6. 3 186
      src/views/processing.vue
  7. 4 160
      src/views/solved.vue

+ 294 - 0
src/components/EventInformation/index.vue

@@ -0,0 +1,294 @@
1
+<template>
2
+  <div class="eventInformation">
3
+    <div class="head">
4
+      <p>
5
+        <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
6
+        事件单号:{{ model.incident.incidentsign }}
7
+        <span
8
+          :class="{
9
+            fr: true,
10
+            btn: true,
11
+            daijiedan:
12
+              model.incident.state.value == 'pending' &&
13
+              model.incident.handlerUser &&
14
+              !model.incident.candidateGroups,
15
+            daiqiangdan:
16
+              model.incident.state.value == 'pending' &&
17
+              !model.incident.handlerUser &&
18
+              model.incident.candidateGroups
19
+          }"
20
+          >{{
21
+            model.incident.state.value == "pending"
22
+              ? model.incident.handlerUser && !model.incident.candidateGroups
23
+                ? "待接单"
24
+                : "待抢单"
25
+              : model.incident.state.name
26
+          }}</span
27
+        >
28
+      </p>
29
+    </div>
30
+    <p>
31
+      <span class="fl">事件分类</span>
32
+      <span class="fr">{{ model.incident.category.category }}</span>
33
+    </p>
34
+    <p class="desc">
35
+      <span class="fl">事件描述</span>
36
+      <span class="grayFont fr" v-html="model.incident.description"></span>
37
+    </p>
38
+    <div class="shows" id="shows">
39
+      <p v-if="valConfig == 2">
40
+        <span class="fl">报修科室</span>
41
+        <span class="fr">{{
42
+          model.incident.department ? model.incident.department.dept : ""
43
+        }}</span>
44
+      </p>
45
+      <p v-if="valConfig == 1">
46
+        <span class="fl">报修人</span>
47
+        <span class="fr">{{ model.incident.requester.name }}</span>
48
+      </p>
49
+      <p v-if="valConfig == 2">
50
+        <span class="fl">联系人</span>
51
+        <span class="fr">{{ model.incident.contacts }}</span>
52
+      </p>
53
+      <p>
54
+        <span class="fl">联系电话</span>
55
+        <span class="fr" v-if="!model.incident.contactsInformation"></span>
56
+        <span class="fr" v-if="model.incident.contactsInformation"
57
+          ><a :href="'tel:' + model.incident.contactsInformation"
58
+            ><i class="iconfont icon-shouji"></i
59
+            >{{ model.incident.contactsInformation }}</a
60
+          ></span
61
+        >
62
+      </p>
63
+      <p>
64
+        <span class="fl">联系地址</span>
65
+        <span class="fr">{{ model.incident.houseNumber || "" }}</span>
66
+      </p>
67
+      <p>
68
+        <span class="fl">预约时间</span>
69
+        <span class="fr">{{ model.incident.yyTime || "" }}</span>
70
+      </p>
71
+      <p class="boeder_B">
72
+        <span class="fl">事件来源</span>
73
+        <span class="fr">{{ model.incident.source.name }}</span>
74
+      </p>
75
+      <p>
76
+        <span class="fl">受理人</span>
77
+        <span class="fr">{{
78
+          model.incident.acceptUser ? model.incident.acceptUser.name : ""
79
+        }}</span>
80
+      </p>
81
+      <p>
82
+        <span class="fl">处理人</span>
83
+        <span class="fr">{{
84
+          model.incident.handlerUser ? model.incident.handlerUser.name : ""
85
+        }}</span>
86
+      </p>
87
+      <p>
88
+        <span class="fl">处理人电话</span>
89
+        <span class="fr" v-if="!model.incident.handlerUser"></span>
90
+        <span class="fr" v-if="model.incident.handlerUser"
91
+          ><a :href="'tel:' + model.incident.handlerUser.phone"
92
+            ><i class="iconfont icon-shouji"></i
93
+            >{{ model.incident.handlerUser.phone }}</a
94
+          ></span
95
+        >
96
+      </p>
97
+      <p>
98
+        <span class="fl">优先级</span>
99
+        <span class="fr">{{
100
+          model.incident.priority ? model.incident.priority.name : ""
101
+        }}</span>
102
+      </p>
103
+      <p>
104
+        <span class="fl">逾期响应时间</span>
105
+        <span class="fr">{{ model.incident.overdueResponseDate }}</span>
106
+      </p>
107
+      <p>
108
+        <span class="fl">逾期解决时间</span>
109
+        <span class="fr">{{ model.incident.overdueTime }}</span>
110
+      </p>
111
+      <p>
112
+        <span class="fl">区域</span>
113
+        <span class="fr">{{
114
+          model.incident.place ? model.incident.place.area.area : "--"
115
+        }}</span>
116
+      </p>
117
+      <p class="boeder_B">
118
+        <span class="fl">地点</span>
119
+        <span class="fr">{{
120
+          model.incident.place ? model.incident.place.place : "--"
121
+        }}</span>
122
+      </p>
123
+      <div v-if="hcsjList.length">
124
+        <p>耗材</p>
125
+        <div class="hcTable">
126
+          <table>
127
+            <tr>
128
+              <td>耗材名称</td>
129
+              <td>价格</td>
130
+              <td>数量</td>
131
+            </tr>
132
+            <tr v-for="(item, i) in hcsjList" :key="i">
133
+              <td>{{ item.consumable.name }}</td>
134
+              <td>{{ item.extra1 }}</td>
135
+              <td>{{ item.consumablesSum }}</td>
136
+            </tr>
137
+          </table>
138
+        </div>
139
+      </div>
140
+      <p v-if="wxIncidentWithCmdb == 1">
141
+        <span class="fl">资产</span>
142
+        <span class="fr">{{ model.incident.assetId || "无" }}</span>
143
+      </p>
144
+    </div>
145
+  </div>
146
+</template>
147
+
148
+<script>
149
+export default {
150
+  name: "EventInformation",
151
+  data() {
152
+    return {
153
+      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
154
+      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
155
+      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
156
+      hcsjList: [] //绑定的耗材列表,展示
157
+    };
158
+  },
159
+  props: ["model", "id"],
160
+  methods: {
161
+    // 获取事件上绑定的耗材
162
+    getHcBySj() {
163
+      this.$http
164
+        .post("service/cmdb/storeList", {
165
+          data: { type: 2, source: "1627", sourceId: this.id }
166
+        })
167
+        .then(result => {
168
+          if (result.data.status == 200) {
169
+            this.hcsjList = result.data.data;
170
+          }
171
+        });
172
+    }
173
+  },
174
+  created() {
175
+    if (this.incidentWithConsumable == 1) {
176
+      this.getHcBySj();
177
+    }
178
+  }
179
+};
180
+</script>
181
+
182
+<style lang="less" scoped>
183
+.eventInformation {
184
+  .boeder_B {
185
+    border-bottom: 0.01rem solid #ccc;
186
+  }
187
+  .shows {
188
+    display: none;
189
+  }
190
+  .head {
191
+    border-bottom: 0.01rem solid #e6e6e6;
192
+    p {
193
+      padding: 0.24rem 0.3rem;
194
+      i {
195
+        color: #00559d;
196
+      }
197
+    }
198
+  }
199
+  p {
200
+    line-height: 0.4rem;
201
+    padding: 0.1rem 0.24rem;
202
+    overflow: hidden;
203
+    .overflowEllipsis2 {
204
+      margin-left: 1.96rem;
205
+    }
206
+  }
207
+  .info_hide {
208
+    padding: 0.2rem 0.24rem;
209
+    border-bottom: 0.01rem solid #e6e6e6;
210
+    .hide {
211
+      color: #00559d;
212
+    }
213
+  }
214
+  .imgs-container {
215
+    a {
216
+      color: #03c !important;
217
+      &:visited {
218
+        color: #551a8b !important;
219
+      }
220
+    }
221
+    img {
222
+      width: 1.5rem;
223
+      height: 1.5rem;
224
+      margin-right: 0.7rem;
225
+      &:nth-child(1) {
226
+        margin-left: 0.75rem;
227
+      }
228
+    }
229
+  }
230
+  .progress {
231
+    padding: 0.2rem 0.2rem;
232
+    overflow: hidden;
233
+    transition-duration: 0.2s;
234
+    transition-timing-function: linear;
235
+    &.progressHide {
236
+      height: 1.7rem;
237
+    }
238
+    .progress_info {
239
+      overflow: hidden;
240
+      margin-bottom: 0.1rem;
241
+      &:nth-last-child(1) {
242
+        .cont {
243
+          border: none !important;
244
+        }
245
+      }
246
+      .progress_info_L {
247
+        float: left;
248
+        color: #333;
249
+        max-width: 18%;
250
+      }
251
+      .progress_info_R {
252
+        float: right;
253
+        margin-left: 0.09rem;
254
+        width: 80%;
255
+        font-size: 0.25rem;
256
+        .time {
257
+          i {
258
+            margin-left: -0.15rem;
259
+            &.icon-icon_weizuo {
260
+              color: #005495;
261
+            }
262
+            &.icon-icon_zhengzaijinx {
263
+              color: #48a843;
264
+              font-size: 0.37rem;
265
+            }
266
+          }
267
+          span {
268
+            margin-left: 0.15rem;
269
+          }
270
+        }
271
+        .cont {
272
+          border-left: 1px solid #999;
273
+          padding-left: 0.4rem;
274
+          min-height: 0.4rem;
275
+          &.blue {
276
+            border-left: 1px solid #005395;
277
+          }
278
+        }
279
+
280
+        .text1 {
281
+          font-size: 0.15rem;
282
+        }
283
+        .text2 {
284
+          color: #666;
285
+          word-break: break-all;
286
+        }
287
+        p {
288
+          padding: 0;
289
+        }
290
+      }
291
+    }
292
+  }
293
+}
294
+</style>

+ 3 - 159
src/views/againAssign.vue

@@ -32,146 +32,7 @@
32 32
         <div class="label headtop" id="info">事件信息</div>
33 33
 
34 34
         <div class="info">
35
-          <div class="head">
36
-            <p>
37
-              <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
38
-              事件编号:{{ model.incident.incidentsign }}
39
-              <span class="fr btn chongxinzhipai">{{
40
-                model.incident.state.name
41
-              }}</span>
42
-            </p>
43
-          </div>
44
-          <p>
45
-            <span class="fl">事件分类</span>
46
-            <span class="fr">{{ model.incident.category.category }}</span>
47
-          </p>
48
-          <!-- <p>
49
-            <span class="fl">事件主题</span>
50
-            <span class="fr">{{model.incident.title}}</span>
51
-          </p> -->
52
-          <p class="desc">
53
-            <span class="fl">事件描述</span>
54
-            <span
55
-              class="fr grayFont"
56
-              v-html="model.incident.description"
57
-            ></span>
58
-          </p>
59
-          <div class="shows" id="shows">
60
-            <p v-if="valConfig == 2">
61
-              <span class="fl">报修科室</span>
62
-              <span class="fr">{{
63
-                model.incident.department ? model.incident.department.dept : ""
64
-              }}</span>
65
-            </p>
66
-            <p v-if="valConfig == 1">
67
-              <span class="fl">报修人</span>
68
-              <span class="fr">{{ model.incident.requester.name }}</span>
69
-            </p>
70
-            <p v-if="valConfig == 2">
71
-              <span class="fl">联系人</span>
72
-              <span class="fr">{{ model.incident.contacts }}</span>
73
-            </p>
74
-            <p>
75
-              <span class="fl">联系电话</span>
76
-              <span
77
-                class="fr"
78
-                v-if="!model.incident.contactsInformation"
79
-              ></span>
80
-              <span class="fr" v-if="model.incident.contactsInformation"
81
-                ><a :href="'tel:' + model.incident.contactsInformation"
82
-                  ><i class="iconfont dsit-shouji"></i
83
-                  >{{ model.incident.contactsInformation }}</a
84
-                ></span
85
-              >
86
-            </p>
87
-            <p>
88
-              <span class="fl">联系地址</span>
89
-              <span class="fr">{{ model.incident.houseNumber || "" }}</span>
90
-            </p>
91
-            <p class="boeder_B">
92
-              <span class="fl">事件来源</span>
93
-              <span class="fr">{{ model.incident.source.name }}</span>
94
-            </p>
95
-            <!-- <p>
96
-              <span class="fl">影响度</span>
97
-              <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
98
-            </p>
99
-            <p>
100
-              <span class="fl">紧急度</span>
101
-              <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
102
-            </p> -->
103
-            <p>
104
-              <span class="fl">受理人</span>
105
-              <span class="fr">{{
106
-                model.incident.acceptUser ? model.incident.acceptUser.name : ""
107
-              }}</span>
108
-            </p>
109
-            <p>
110
-              <span class="fl">处理人</span>
111
-              <span class="fr">{{
112
-                model.incident.handlerUser
113
-                  ? model.incident.handlerUser.name
114
-                  : ""
115
-              }}</span>
116
-            </p>
117
-            <p>
118
-              <span class="fl">处理人电话</span>
119
-              <span class="fr" v-if="!model.incident.handlerUser"></span>
120
-              <span class="fr" v-if="model.incident.handlerUser"
121
-                ><a :href="'tel:' + model.incident.handlerUser.phone"
122
-                  ><i class="iconfont dsit-shouji"></i
123
-                  >{{ model.incident.handlerUser.phone }}</a
124
-                ></span
125
-              >
126
-            </p>
127
-            <p>
128
-              <span class="fl">优先级</span>
129
-              <span class="fr">{{
130
-                model.incident.priority ? model.incident.priority.name : ""
131
-              }}</span>
132
-            </p>
133
-            <p>
134
-              <span class="fl">逾期响应时间</span>
135
-              <span class="fr">{{ model.incident.overdueResponseDate }}</span>
136
-            </p>
137
-            <p>
138
-              <span class="fl">逾期解决时间</span>
139
-              <span class="fr">{{ model.incident.overdueTime }}</span>
140
-            </p>
141
-            <p>
142
-              <span class="fl">区域</span>
143
-              <span class="fr">{{
144
-                model.incident.place ? model.incident.place.area.area : "--"
145
-              }}</span>
146
-            </p>
147
-            <p class="boeder_B">
148
-              <span class="fl">地点</span>
149
-              <span class="fr">{{
150
-                model.incident.place ? model.incident.place.place : "--"
151
-              }}</span>
152
-            </p>
153
-            <div v-if="hcsjList.length">
154
-              <p>耗材</p>
155
-              <div class="hcTable">
156
-                <table>
157
-                  <tr>
158
-                    <td>耗材名称</td>
159
-                    <td>价格</td>
160
-                    <td>数量</td>
161
-                  </tr>
162
-                  <tr v-for="(item, i) in hcsjList" :key="i">
163
-                    <td>{{ item.consumable.name }}</td>
164
-                    <td>{{ item.extra1 }}</td>
165
-                    <td>{{ item.consumablesSum }}</td>
166
-                  </tr>
167
-                </table>
168
-              </div>
169
-            </div>
170
-            <p v-if="wxIncidentWithCmdb == 1">
171
-              <span class="fl">资产</span>
172
-              <span class="fr">{{ model.incident.assetId || '无' }}</span>
173
-            </p>
174
-          </div>
35
+          <EventInformation :model="modelData" :id="id"></EventInformation>
175 36
           <p class="info_hide">
176 37
             <span class="fl hide" @click="hides()" v-if="!item_hides"
177 38
               >展开详情 >></span
@@ -293,15 +154,12 @@
293 154
 <script>
294 155
 import LoadIng from "./../views/loading.vue";
295 156
 import PrompTing from "./../views/prompting.vue";
157
+import EventInformation from './../components/EventInformation/index.vue'
296 158
 export default {
297 159
   data() {
298 160
     return {
299 161
       id: "",
300 162
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
301
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
302
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
303
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
304
-      hcsjList: [], //绑定的耗材列表,展示
305 163
       promptingConent: "",
306 164
       promptingStatus: "",
307 165
       item_hides: false,
@@ -321,20 +179,9 @@ export default {
321 179
   components: {
322 180
     LoadIng,
323 181
     PrompTing,
182
+    EventInformation,
324 183
   },
325 184
   methods: {
326
-    // 获取事件上绑定的耗材
327
-    getHcBySj() {
328
-      this.$http
329
-        .post("service/cmdb/storeList", {
330
-          data: { type: 2, source: "1627", sourceId: this.id },
331
-        })
332
-        .then((result) => {
333
-          if (result.data.status == 200) {
334
-            this.hcsjList = result.data.data;
335
-          }
336
-        });
337
-    },
338 185
     //   获取事件数据
339 186
     getParamsData() {
340 187
       var that = this;
@@ -548,9 +395,6 @@ export default {
548 395
     this.id = this.$route.params.data.id;
549 396
     this.getParamsData();
550 397
     this.getImgs();
551
-    if (this.incidentWithConsumable == 1) {
552
-      this.getHcBySj();
553
-    }
554 398
     this.getHandlerUser();
555 399
     this.getCandidateGroups();
556 400
   },

+ 4 - 160
src/views/closed.vue

@@ -46,148 +46,9 @@
46 46
           </div>
47 47
         </div>
48 48
 
49
+        <div class="label headtop" id="info">事件信息</div>
49 50
         <div class="info">
50
-          <div class="label headtop" id="info">事件信息</div>
51
-          <div class="head">
52
-            <p>
53
-              <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
54
-              事件编号:{{ model.incident.incidentsign }}
55
-              <span class="fr btn yiguanbi">{{
56
-                model.incident.state.name
57
-              }}</span>
58
-            </p>
59
-          </div>
60
-          <p>
61
-            <span class="fl">事件分类</span>
62
-            <span class="fr">{{ model.incident.category.category }}</span>
63
-          </p>
64
-          <!-- <p>
65
-            <span class="fl">事件主题</span>
66
-            <span class="fr">{{model.incident.title}}</span>
67
-          </p> -->
68
-          <p class="desc">
69
-            <span class="fl">事件描述</span>
70
-            <span
71
-              class="fr grayFont"
72
-              v-html="model.incident.description"
73
-            ></span>
74
-          </p>
75
-          <div class="shows" id="shows">
76
-            <p v-if="valConfig == 2">
77
-              <span class="fl">报修科室</span>
78
-              <span class="fr">{{
79
-                model.incident.department ? model.incident.department.dept : ""
80
-              }}</span>
81
-            </p>
82
-            <p v-if="valConfig == 1">
83
-              <span class="fl">报修人</span>
84
-              <span class="fr">{{ model.incident.requester.name }}</span>
85
-            </p>
86
-            <p v-if="valConfig == 2">
87
-              <span class="fl">联系人</span>
88
-              <span class="fr">{{ model.incident.contacts }}</span>
89
-            </p>
90
-            <p>
91
-              <span class="fl">联系电话</span>
92
-              <span
93
-                class="fr"
94
-                v-if="!model.incident.contactsInformation"
95
-              ></span>
96
-              <span class="fr" v-if="model.incident.contactsInformation"
97
-                ><a :href="'tel:' + model.incident.contactsInformation"
98
-                  ><i class="iconfont dsit-shouji"></i
99
-                  >{{ model.incident.contactsInformation }}</a
100
-                ></span
101
-              >
102
-            </p>
103
-            <p>
104
-              <span class="fl">联系地址</span>
105
-              <span class="fr">{{ model.incident.houseNumber || "" }}</span>
106
-            </p>
107
-            <p class="boeder_B">
108
-              <span class="fl">事件来源</span>
109
-              <span class="fr">{{ model.incident.source.name }}</span>
110
-            </p>
111
-            <!-- <p>
112
-              <span class="fl">影响度</span>
113
-              <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
114
-            </p>
115
-            <p>
116
-              <span class="fl">紧急度</span>
117
-              <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
118
-            </p> -->
119
-            <p>
120
-              <span class="fl">受理人</span>
121
-              <span class="fr">{{
122
-                model.incident.acceptUser ? model.incident.acceptUser.name : ""
123
-              }}</span>
124
-            </p>
125
-            <p>
126
-              <span class="fl">处理人</span>
127
-              <span class="fr">{{
128
-                model.incident.handlerUser
129
-                  ? model.incident.handlerUser.name
130
-                  : ""
131
-              }}</span>
132
-            </p>
133
-            <p>
134
-              <span class="fl">处理人电话</span>
135
-              <span class="fr" v-if="!model.incident.handlerUser"></span>
136
-              <span class="fr" v-if="model.incident.handlerUser"
137
-                ><a :href="'tel:' + model.incident.handlerUser.phone"
138
-                  ><i class="iconfont dsit-shouji"></i
139
-                  >{{ model.incident.handlerUser.phone }}</a
140
-                ></span
141
-              >
142
-            </p>
143
-            <p>
144
-              <span class="fl">优先级</span>
145
-              <span class="fr">{{
146
-                model.incident.priority ? model.incident.priority.name : ""
147
-              }}</span>
148
-            </p>
149
-            <p>
150
-              <span class="fl">逾期响应时间</span>
151
-              <span class="fr">{{ model.incident.overdueResponseDate }}</span>
152
-            </p>
153
-            <p>
154
-              <span class="fl">逾期解决时间</span>
155
-              <span class="fr">{{ model.incident.overdueTime }}</span>
156
-            </p>
157
-            <p>
158
-              <span class="fl">区域</span>
159
-              <span class="fr">{{
160
-                model.incident.place ? model.incident.place.area.area : "--"
161
-              }}</span>
162
-            </p>
163
-            <p class="boeder_B">
164
-              <span class="fl">地点</span>
165
-              <span class="fr">{{
166
-                model.incident.place ? model.incident.place.place : "--"
167
-              }}</span>
168
-            </p>
169
-            <div v-if="hcsjList.length">
170
-              <p>耗材</p>
171
-              <div class="hcTable">
172
-                <table>
173
-                  <tr>
174
-                    <td>耗材名称</td>
175
-                    <td>价格</td>
176
-                    <td>数量</td>
177
-                  </tr>
178
-                  <tr v-for="(item, i) in hcsjList" :key="i">
179
-                    <td>{{ item.consumable.name }}</td>
180
-                    <td>{{ item.extra1 }}</td>
181
-                    <td>{{ item.consumablesSum }}</td>
182
-                  </tr>
183
-                </table>
184
-              </div>
185
-            </div>
186
-            <p v-if="wxIncidentWithCmdb == 1">
187
-              <span class="fl">资产</span>
188
-              <span class="fr">{{ model.incident.assetId || '无' }}</span>
189
-            </p>
190
-          </div>
51
+          <EventInformation :model="modelData" :id="id"></EventInformation>
191 52
           <p class="info_hide">
192 53
             <span class="fl hide" @click="hides()" v-if="!item_hides"
193 54
               >展开详情 >></span
@@ -330,16 +191,13 @@
330 191
 </template>
331 192
 <script>
332 193
 import LoadIng from "./../views/loading.vue";
194
+import EventInformation from './../components/EventInformation/index.vue'
333 195
 // import HandlerLog from "./../views/handlerLog.vue";
334 196
 export default {
335 197
   data() {
336 198
     return {
337 199
       id: "",
338 200
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
339
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
340
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
341
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
342
-      hcsjList: [], //绑定的耗材列表,展示
343 201
       selected: 1,
344 202
       options: [
345 203
         {
@@ -364,21 +222,10 @@ export default {
364 222
   },
365 223
   components: {
366 224
     LoadIng,
225
+    EventInformation,
367 226
     // HandlerLog
368 227
   },
369 228
   methods: {
370
-    // 获取事件上绑定的耗材
371
-    getHcBySj() {
372
-      this.$http
373
-        .post("service/cmdb/storeList", {
374
-          data: { type: 2, source: "1627", sourceId: this.id },
375
-        })
376
-        .then((result) => {
377
-          if (result.data.status == 200) {
378
-            this.hcsjList = result.data.data;
379
-          }
380
-        });
381
-    },
382 229
     //   获取事件数据
383 230
     getParamsData() {
384 231
       var that = this;
@@ -511,9 +358,6 @@ export default {
511 358
       : JSON.parse(localStorage.getItem("modelData")).incident.id;
512 359
     this.getParamsData();
513 360
     this.getImgs();
514
-    if (this.incidentWithConsumable == 1) {
515
-      this.getHcBySj();
516
-    }
517 361
   },
518 362
 };
519 363
 </script>

+ 3 - 169
src/views/grabSheet.vue

@@ -25,156 +25,7 @@
25 25
           <div class="label headtop" id="info">事件信息</div>
26 26
 
27 27
           <div class="info">
28
-            <div class="head">
29
-              <p>
30
-                <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
31
-                事件编号:{{
32
-                  model.incident ? model.incident.incidentsign : ""
33
-                }}
34
-                <span class="fr btn daiqiangdan">待抢单</span>
35
-              </p>
36
-            </div>
37
-            <p>
38
-              <span class="fl">事件分类</span>
39
-              <span class="fr">{{
40
-                model.incident.category.category || ""
41
-              }}</span>
42
-            </p>
43
-            <!-- <p>
44
-              <span class="fl">事件主题</span>
45
-              <span class="fr">{{model.incident.title||''}}</span>
46
-            </p> -->
47
-            <p class="desc">
48
-              <span class="fl">事件描述</span>
49
-              <span
50
-                class="fr grayFont"
51
-                v-html="model.incident.description"
52
-              ></span>
53
-            </p>
54
-            <div class="shows" id="shows">
55
-              <p v-if="valConfig == 2">
56
-                <span class="fl">报修科室</span>
57
-                <span class="fr">{{
58
-                  model.incident.department
59
-                    ? model.incident.department.dept
60
-                    : ""
61
-                }}</span>
62
-              </p>
63
-              <p v-if="valConfig == 1">
64
-                <span class="fl">报修人</span>
65
-                <span class="fr">{{ model.incident.requester.name }}</span>
66
-              </p>
67
-              <p v-if="valConfig == 2">
68
-                <span class="fl">联系人</span>
69
-                <span class="fr">{{ model.incident.contacts }}</span>
70
-              </p>
71
-              <p>
72
-                <span class="fl">联系电话</span>
73
-                <span
74
-                  class="fr"
75
-                  v-if="!model.incident.contactsInformation"
76
-                ></span>
77
-                <span class="fr" v-if="model.incident.contactsInformation"
78
-                  ><a :href="'tel:' + model.incident.contactsInformation"
79
-                    ><i class="iconfont dsit-shouji"></i
80
-                    >{{ model.incident.contactsInformation }}</a
81
-                  ></span
82
-                >
83
-              </p>
84
-              <p>
85
-                <span class="fl">联系地址</span>
86
-                <span class="fr">{{
87
-                  model.incident.houseNumber || "" || ""
88
-                }}</span>
89
-              </p>
90
-              <p class="boeder_B">
91
-                <span class="fl">事件来源</span>
92
-                <span class="fr">{{ model.incident.source.name || "" }}</span>
93
-              </p>
94
-              <!-- <p>
95
-                <span class="fl">影响度</span>
96
-                <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
97
-              </p>
98
-              <p>
99
-                <span class="fl">紧急度</span>
100
-                <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
101
-              </p> -->
102
-              <p>
103
-                <span class="fl">受理人</span>
104
-                <span class="fr">{{
105
-                  model.incident.acceptUser
106
-                    ? model.incident.acceptUser.name
107
-                    : ""
108
-                }}</span>
109
-              </p>
110
-              <p>
111
-                <span class="fl">处理人</span>
112
-                <span class="fr">{{
113
-                  model.incident.handlerUser
114
-                    ? model.incident.handlerUser.name
115
-                    : ""
116
-                }}</span>
117
-              </p>
118
-              <p>
119
-                <span class="fl">处理人电话</span>
120
-                <span class="fr" v-if="!model.incident.handlerUser"></span>
121
-                <span class="fr" v-if="model.incident.handlerUser"
122
-                  ><a :href="'tel:' + model.incident.handlerUser.phone"
123
-                    ><i class="iconfont dsit-shouji"></i
124
-                    >{{ model.incident.handlerUser.phone }}</a
125
-                  ></span
126
-                >
127
-              </p>
128
-              <p>
129
-                <span class="fl">优先级</span>
130
-                <span class="fr">{{
131
-                  model.incident.priority ? model.incident.priority.name : ""
132
-                }}</span>
133
-              </p>
134
-              <p>
135
-                <span class="fl">逾期响应时间</span>
136
-                <span class="fr">{{
137
-                  model.incident.overdueResponseDate || ""
138
-                }}</span>
139
-              </p>
140
-              <p>
141
-                <span class="fl">逾期解决时间</span>
142
-                <span class="fr">{{ model.incident.overdueTime || "" }}</span>
143
-              </p>
144
-              <p>
145
-                <span class="fl">区域</span>
146
-                <span class="fr">{{
147
-                  model.incident.place ? model.incident.place.area.area : "--"
148
-                }}</span>
149
-              </p>
150
-              <p class="boeder_B">
151
-                <span class="fl">地点</span>
152
-                <span class="fr">{{
153
-                  model.incident.place ? model.incident.place.place : "--"
154
-                }}</span>
155
-              </p>
156
-              <div v-if="hcsjList.length">
157
-                <p>耗材</p>
158
-                <div class="hcTable">
159
-                  <table>
160
-                    <tr>
161
-                      <td>耗材名称</td>
162
-                      <td>价格</td>
163
-                      <td>数量</td>
164
-                    </tr>
165
-                    <tr v-for="(item, i) in hcsjList" :key="i">
166
-                      <td>{{ item.consumable.name }}</td>
167
-                      <td>{{ item.extra1 }}</td>
168
-                      <td>{{ item.consumablesSum }}</td>
169
-                    </tr>
170
-                  </table>
171
-                </div>
172
-              </div>
173
-              <p v-if="wxIncidentWithCmdb == 1">
174
-                <span class="fl">资产</span>
175
-                <span class="fr">{{ model.incident.assetId || '无' }}</span>
176
-              </p>
177
-            </div>
28
+            <EventInformation :model="modelData" :id="id"></EventInformation>
178 29
             <p class="info_hide">
179 30
               <span class="fl hide" @click="hides()" v-if="!item_hides"
180 31
                 >展开详情 >></span
@@ -251,15 +102,12 @@
251 102
 </template>
252 103
 <script>
253 104
 import LoadIng from "./../views/loading.vue";
105
+import EventInformation from './../components/EventInformation/index.vue'
254 106
 export default {
255 107
   data() {
256 108
     return {
257 109
       id: "",
258 110
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
259
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
260
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
261
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
262
-      hcsjList: [], //绑定的耗材列表,展示
263 111
       selected: 1,
264 112
       options: [
265 113
         {
@@ -283,18 +131,6 @@ export default {
283 131
     };
284 132
   },
285 133
   methods: {
286
-    // 获取事件上绑定的耗材
287
-    getHcBySj() {
288
-      this.$http
289
-        .post("service/cmdb/storeList", {
290
-          data: { type: 2, source: "1627", sourceId: this.id },
291
-        })
292
-        .then((result) => {
293
-          if (result.data.status == 200) {
294
-            this.hcsjList = result.data.data;
295
-          }
296
-        });
297
-    },
298 134
     //   获取事件数据
299 135
     getParamsData() {
300 136
       var that = this;
@@ -454,6 +290,7 @@ export default {
454 290
   },
455 291
   components: {
456 292
     LoadIng,
293
+    EventInformation,
457 294
   },
458 295
   created() {
459 296
     // seimin
@@ -466,9 +303,6 @@ export default {
466 303
       : JSON.parse(localStorage.getItem("modelData")).incident.id;
467 304
     this.getParamsData();
468 305
     this.getImgs();
469
-    if (this.incidentWithConsumable == 1) {
470
-      this.getHcBySj();
471
-    }
472 306
   },
473 307
 };
474 308
 </script>

+ 3 - 194
src/views/order.vue

@@ -53,181 +53,7 @@
53 53
           <div class="label headtop" id="info">事件信息</div>
54 54
 
55 55
           <div class="info">
56
-            <div class="head">
57
-              <p>
58
-                <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
59
-                事件单号:{{ model.incident.incidentsign }}
60
-                <span
61
-                  :class="{
62
-                    fr: true,
63
-                    btn: true,
64
-                    daijiedan:
65
-                      model.incident.state.value == 'pending' &&
66
-                      model.incident.handlerUser &&
67
-                      !model.incident.candidateGroups,
68
-                    daiqiangdan:
69
-                      model.incident.state.value == 'pending' &&
70
-                      !model.incident.handlerUser &&
71
-                      model.incident.candidateGroups,
72
-                  }"
73
-                  >{{
74
-                    model.incident.state.value == "pending"
75
-                      ? model.incident.handlerUser &&
76
-                        !model.incident.candidateGroups
77
-                        ? "待接单"
78
-                        : "待抢单"
79
-                      : model.incident.state.name
80
-                  }}</span
81
-                >
82
-              </p>
83
-            </div>
84
-            <p>
85
-              <span class="fl">事件分类</span>
86
-              <span class="fr">{{ model.incident.category.category }}</span>
87
-            </p>
88
-            <!-- <p>
89
-              <span class="fl">事件主题</span>
90
-              <span class="fr">{{model.incident.title}}</span>
91
-            </p> -->
92
-            <p class="desc">
93
-              <span class="fl">事件描述</span>
94
-              <span
95
-                class="grayFont fr"
96
-                v-html="model.incident.description"
97
-              ></span>
98
-            </p>
99
-            <div class="shows" id="shows">
100
-              <p v-if="valConfig == 2">
101
-                <span class="fl">报修科室</span>
102
-                <span class="fr">{{
103
-                  model.incident.department
104
-                    ? model.incident.department.dept
105
-                    : ""
106
-                }}</span>
107
-              </p>
108
-              <p v-if="valConfig == 1">
109
-                <span class="fl">报修人</span>
110
-                <span class="fr">{{ model.incident.requester.name }}</span>
111
-              </p>
112
-              <p v-if="valConfig == 2">
113
-                <span class="fl">联系人</span>
114
-                <span class="fr">{{ model.incident.contacts }}</span>
115
-              </p>
116
-              <p>
117
-                <span class="fl">联系电话</span>
118
-                <span
119
-                  class="fr"
120
-                  v-if="!model.incident.contactsInformation"
121
-                ></span>
122
-                <span class="fr" v-if="model.incident.contactsInformation"
123
-                  ><a :href="'tel:' + model.incident.contactsInformation"
124
-                    ><i class="iconfont dsit-shouji"></i
125
-                    >{{ model.incident.contactsInformation }}</a
126
-                  ></span
127
-                >
128
-              </p>
129
-              <p>
130
-                <span class="fl">联系地址</span>
131
-                <span class="fr">{{ model.incident.houseNumber || "" }}</span>
132
-              </p>
133
-              <p class="boeder_B">
134
-                <span class="fl">事件来源</span>
135
-                <span class="fr">{{ model.incident.source.name }}</span>
136
-              </p>
137
-              <!-- <p>
138
-                <span class="fl">影响度</span>
139
-                <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
140
-              </p>
141
-              <p>
142
-                <span class="fl">紧急度</span>
143
-                <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
144
-              </p> -->
145
-              <p>
146
-                <span class="fl">受理人</span>
147
-                <span class="fr">{{
148
-                  model.incident.acceptUser
149
-                    ? model.incident.acceptUser.name
150
-                    : ""
151
-                }}</span>
152
-              </p>
153
-              <p>
154
-                <span class="fl">处理人</span>
155
-                <span class="fr">{{
156
-                  model.incident.handlerUser
157
-                    ? model.incident.handlerUser.name
158
-                    : ""
159
-                }}</span>
160
-              </p>
161
-              <p>
162
-                <span class="fl">处理人电话</span>
163
-                <span class="fr" v-if="!model.incident.handlerUser"></span>
164
-                <span class="fr" v-if="model.incident.handlerUser"
165
-                  ><a :href="'tel:' + model.incident.handlerUser.phone"
166
-                    ><i class="iconfont dsit-shouji"></i
167
-                    >{{ model.incident.handlerUser.phone }}</a
168
-                  ></span
169
-                >
170
-              </p>
171
-              <p>
172
-                <span class="fl">优先级</span>
173
-                <span class="fr">{{
174
-                  model.incident.priority ? model.incident.priority.name : ""
175
-                }}</span>
176
-              </p>
177
-              <p>
178
-                <span class="fl">逾期响应时间</span>
179
-                <span class="fr">{{ model.incident.overdueResponseDate }}</span>
180
-              </p>
181
-              <p>
182
-                <span class="fl">逾期解决时间</span>
183
-                <span class="fr">{{ model.incident.overdueTime }}</span>
184
-              </p>
185
-              <p>
186
-                <span class="fl">区域</span>
187
-                <span class="fr">{{
188
-                  model.incident.place ? model.incident.place.area.area : "--"
189
-                }}</span>
190
-              </p>
191
-              <p class="boeder_B">
192
-                <span class="fl">地点</span>
193
-                <span class="fr">{{
194
-                  model.incident.place ? model.incident.place.place : "--"
195
-                }}</span>
196
-              </p>
197
-              <div v-if="hcsjList.length">
198
-                <p>耗材</p>
199
-                <div class="hcTable">
200
-                  <table>
201
-                    <tr>
202
-                      <td>耗材名称</td>
203
-                      <td>价格</td>
204
-                      <td>数量</td>
205
-                    </tr>
206
-                    <tr v-for="(item, i) in hcsjList" :key="i">
207
-                      <td>{{ item.consumable.name }}</td>
208
-                      <td>{{ item.extra1 }}</td>
209
-                      <td>{{ item.consumablesSum }}</td>
210
-                    </tr>
211
-                  </table>
212
-                </div>
213
-              </div>
214
-              <p v-if="wxIncidentWithCmdb == 1">
215
-                <span class="fl">资产</span>
216
-                <span class="fr">{{ model.incident.assetId || '无' }}</span>
217
-              </p>
218
-              <!-- <p v-if="model.incident.synergeticReason">
219
-                <span class="fl" >协同原因</span>
220
-                <span class="fr">{{model.incident.synergeticReason}}</span>
221
-              </p>
222
-              <p v-if="model.isupreason">
223
-                <span class="fl">升级原因</span>
224
-                <span class="fr">{{model.isupreason}}</span>
225
-              </p>
226
-              <p v-if="model.transferReason">
227
-                <span class="fl">转派原因</span>
228
-                <span class="fr" >{{model.transferReason}}</span>
229
-              </p> -->
230
-            </div>
56
+            <EventInformation :model="model" :id="id"></EventInformation>
231 57
             <p class="info_hide">
232 58
               <span class="fl hide" @click="hides()" v-if="!item_hides"
233 59
                 >展开详情 >></span
@@ -324,15 +150,12 @@
324 150
 <script>
325 151
 import LoadIng from "./../views/loading.vue";
326 152
 import PrompTing from "./../views/prompting.vue";
153
+import EventInformation from './../components/EventInformation/index.vue'
327 154
 // import HandlerLog from "./../views/handlerLog.vue";
328 155
 export default {
329 156
   data() {
330 157
     return {
331 158
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
332
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
333
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
334
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
335
-      hcsjList: [], //绑定的耗材列表,展示
336 159
       selected: 1,
337 160
       id: "",
338 161
       options: [
@@ -360,21 +183,10 @@ export default {
360 183
   components: {
361 184
     LoadIng,
362 185
     PrompTing,
186
+    EventInformation,
363 187
     // HandlerLog
364 188
   },
365 189
   methods: {
366
-    // 获取事件上绑定的耗材
367
-    getHcBySj() {
368
-      this.$http
369
-        .post("service/cmdb/storeList", {
370
-          data: { type: 2, source: "1627", sourceId: this.id },
371
-        })
372
-        .then((result) => {
373
-          if (result.data.status == 200) {
374
-            this.hcsjList = result.data.data;
375
-          }
376
-        });
377
-    },
378 190
     //   获取事件数据
379 191
     getParamsData() {
380 192
       var that = this;
@@ -560,9 +372,6 @@ export default {
560 372
       : JSON.parse(localStorage.getItem("modelData")).incident.id;
561 373
     this.getParamsData();
562 374
     this.getImgs();
563
-    if (this.incidentWithConsumable == 1) {
564
-      this.getHcBySj();
565
-    }
566 375
   },
567 376
 };
568 377
 </script>

+ 3 - 186
src/views/processing.vue

@@ -53,169 +53,7 @@
53 53
         <div class="label headtop" id="info">事件信息</div>
54 54
 
55 55
         <div class="info">
56
-          <div class="head">
57
-            <p>
58
-              <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
59
-              事件编号:{{ modelData.incident.incidentsign }}
60
-              <span class="fr btn chulizhong">{{
61
-                modelData.incident.state.name
62
-              }}</span>
63
-            </p>
64
-          </div>
65
-          <p>
66
-            <span class="fl">事件分类</span>
67
-            <span class="fr">{{ modelData.incident.category.category }}</span>
68
-          </p>
69
-          <!-- <p>
70
-            <span class="fl">事件主题</span>
71
-            <span class="fr">{{modelData.incident.title}}</span>
72
-          </p> -->
73
-          <p class="desc">
74
-            <span class="fl">事件描述</span>
75
-            <span
76
-              class="grayFont fr"
77
-              v-html="modelData.incident.description"
78
-            ></span>
79
-          </p>
80
-          <div class="shows" id="shows">
81
-            <p v-if="valConfig == 2">
82
-              <span class="fl">报修科室</span>
83
-              <span class="fr">{{
84
-                modelData.incident.department
85
-                  ? modelData.incident.department.dept
86
-                  : ""
87
-              }}</span>
88
-            </p>
89
-            <p v-if="valConfig == 1">
90
-              <span class="fl">报修人</span>
91
-              <span class="fr">{{ modelData.incident.requester.name }}</span>
92
-            </p>
93
-            <p v-if="valConfig == 2">
94
-              <span class="fl">联系人</span>
95
-              <span class="fr">{{ modelData.incident.contacts }}</span>
96
-            </p>
97
-            <p>
98
-              <span class="fl">联系电话</span>
99
-              <span
100
-                class="fr"
101
-                v-if="!modelData.incident.contactsInformation"
102
-              ></span>
103
-              <span class="fr" v-if="modelData.incident.contactsInformation"
104
-                ><a :href="'tel:' + modelData.incident.contactsInformation"
105
-                  ><i class="iconfont dsit-shouji"></i
106
-                  >{{ modelData.incident.contactsInformation }}</a
107
-                ></span
108
-              >
109
-            </p>
110
-            <p>
111
-              <span class="fl">联系地址</span>
112
-              <span class="fr">{{ modelData.incident.houseNumber || "" }}</span>
113
-            </p>
114
-            <p class="boeder_B">
115
-              <span class="fl">事件来源</span>
116
-              <span class="fr">{{ modelData.incident.source.name }}</span>
117
-            </p>
118
-            <!-- <p>
119
-              <span class="fl">影响度</span>
120
-              <span class="fr">{{modelData.incident.influence?modelData.incident.influence.name:''}}</span>
121
-            </p>
122
-            <p>
123
-              <span class="fl">紧急度</span>
124
-              <span class="fr">{{modelData.incident.emergency?modelData.incident.emergency.name:''}}</span>
125
-            </p> -->
126
-            <p>
127
-              <span class="fl">受理人</span>
128
-              <span class="fr">{{
129
-                modelData.incident.acceptUser
130
-                  ? modelData.incident.acceptUser.name
131
-                  : ""
132
-              }}</span>
133
-            </p>
134
-            <p>
135
-              <span class="fl">处理人</span>
136
-              <span class="fr">{{
137
-                modelData.incident.handlerUser
138
-                  ? modelData.incident.handlerUser.name
139
-                  : ""
140
-              }}</span>
141
-            </p>
142
-            <p>
143
-              <span class="fl">处理人电话</span>
144
-              <span class="fr" v-if="!modelData.incident.handlerUser"></span>
145
-              <span class="fr" v-if="modelData.incident.handlerUser"
146
-                ><a :href="'tel:' + modelData.incident.handlerUser.phone"
147
-                  ><i class="iconfont dsit-shouji"></i
148
-                  >{{ modelData.incident.handlerUser.phone }}</a
149
-                ></span
150
-              >
151
-            </p>
152
-            <p>
153
-              <span class="fl">优先级</span>
154
-              <span class="fr">{{
155
-                modelData.incident.priority
156
-                  ? modelData.incident.priority.name
157
-                  : ""
158
-              }}</span>
159
-            </p>
160
-            <p>
161
-              <span class="fl">逾期响应时间</span>
162
-              <span class="fr">{{
163
-                modelData.incident.overdueResponseDate
164
-              }}</span>
165
-            </p>
166
-            <p>
167
-              <span class="fl">逾期解决时间</span>
168
-              <span class="fr">{{ modelData.incident.overdueTime }}</span>
169
-            </p>
170
-            <p>
171
-              <span class="fl">区域</span>
172
-              <span class="fr">{{
173
-                modelData.incident.place
174
-                  ? modelData.incident.place.area.area
175
-                  : "--"
176
-              }}</span>
177
-            </p>
178
-            <p class="boeder_B">
179
-              <span class="fl">地点</span>
180
-              <span class="fr">{{
181
-                modelData.incident.place ? modelData.incident.place.place : "--"
182
-              }}</span>
183
-            </p>
184
-            <div v-if="hcsjList.length">
185
-              <p>耗材</p>
186
-              <div class="hcTable">
187
-                <table>
188
-                  <tr>
189
-                    <td>耗材名称</td>
190
-                    <td>价格</td>
191
-                    <td>数量</td>
192
-                  </tr>
193
-                  <tr v-for="(item, i) in hcsjList" :key="i">
194
-                    <td>{{ item.consumable.name }}</td>
195
-                    <td>{{ item.extra1 }}</td>
196
-                    <td>{{ item.consumablesSum }}</td>
197
-                  </tr>
198
-                </table>
199
-              </div>
200
-            </div>
201
-            <p v-if="wxIncidentWithCmdb == 1">
202
-              <span class="fl">资产</span>
203
-              <span class="fr">{{ modelData.incident.assetId || '无' }}</span>
204
-            </p>
205
-
206
-            <!-- <p v-if="modelData.incident.synergeticReason">
207
-                <span class="fl" >协同原因</span>
208
-                <span class="fr">{{modelData.incident.synergeticReason}}</span>
209
-              </p>
210
-              <p v-if="modelData.isupreason">
211
-                <span class="fl">升级原因</span>
212
-                <span class="fr">{{modelData.isupreason}}</span>
213
-              </p>
214
-              <p v-if="modelData.transferReason">
215
-                <span class="fl">转派原因</span>
216
-                <span class="fr" >{{modelData.transferReason}}</span>
217
-              </p> -->
218
-          </div>
56
+          <EventInformation :model="modelData" :id="id"></EventInformation>
219 57
           <p class="info_hide">
220 58
             <span class="fl hide" @click="hides()" v-if="!item_hides"
221 59
               >展开详情 >></span
@@ -423,6 +261,7 @@ import CubeExtendPopup from "./../components/extend-popup.vue";
423 261
 import LoadIng from "./../views/loading.vue";
424 262
 // import HandlerLog from "./../views/handlerLog.vue";
425 263
 import PrompTing from "./../views/prompting.vue";
264
+import EventInformation from './../components/EventInformation/index.vue'
426 265
 // import host from '../request/host'
427 266
 
428 267
 // 知识库类型
@@ -533,10 +372,6 @@ export default {
533 372
   data() {
534 373
     return {
535 374
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
536
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
537
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
538
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
539
-      hcsjList: [], //绑定的耗材列表,展示
540 375
       id: "",
541 376
       resignComment: "", //重新指派原因
542 377
       item_hides: false,
@@ -852,23 +687,7 @@ export default {
852 687
       },
853 688
     },
854 689
   },
855
-  components: {
856
-    LoadIng,
857
-    // HandlerLog
858
-  },
859 690
   methods: {
860
-    // 获取事件上绑定的耗材
861
-    getHcBySj() {
862
-      this.$http
863
-        .post("service/cmdb/storeList", {
864
-          data: { type: 2, source: "1627", sourceId: this.id },
865
-        })
866
-        .then((result) => {
867
-          if (result.data.status == 200) {
868
-            this.hcsjList = result.data.data;
869
-          }
870
-        });
871
-    },
872 691
     //获取区域
873 692
     getAreaList() {
874 693
       return new Promise((resolve, reject) => {
@@ -1708,9 +1527,6 @@ export default {
1708 1527
     this.action.target += this.processInstanceId;
1709 1528
     this.getParamsData();
1710 1529
     this.getImgs();
1711
-    if (this.incidentWithConsumable == 1) {
1712
-      this.getHcBySj();
1713
-    }
1714 1530
     // 处理方式
1715 1531
     this.getHandleCategory();
1716 1532
     // 关闭代码
@@ -1753,6 +1569,7 @@ export default {
1753 1569
     // JsonView
1754 1570
     CubeExtendPopup,
1755 1571
     LoadIng,
1572
+    EventInformation,
1756 1573
     // HandlerLog,
1757 1574
     PrompTing,
1758 1575
   },

+ 4 - 160
src/views/solved.vue

@@ -38,148 +38,9 @@
38 38
           </div>
39 39
         </div>
40 40
 
41
+        <div class="label headtop" id="info">事件信息</div>
41 42
         <div class="info">
42
-          <div class="label headtop" id="info">事件信息</div>
43
-          <div class="head">
44
-            <p>
45
-              <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
46
-              事件编号:{{ model.incident.incidentsign }}
47
-              <span class="fr btn yijiejue">{{
48
-                model.incident.state.name
49
-              }}</span>
50
-            </p>
51
-          </div>
52
-          <p>
53
-            <span class="fl">事件分类</span>
54
-            <span class="fr">{{ model.incident.category.category }}</span>
55
-          </p>
56
-          <!-- <p>
57
-            <span class="fl">事件主题</span>
58
-            <span class="fr">{{model.incident.title}}</span>
59
-          </p> -->
60
-          <p class="desc">
61
-            <span class="fl">事件描述</span>
62
-            <span
63
-              class="grayFont fr"
64
-              v-html="model.incident.description"
65
-            ></span>
66
-          </p>
67
-          <div class="shows" id="shows">
68
-            <p v-if="valConfig == 2">
69
-              <span class="fl">报修科室</span>
70
-              <span class="fr">{{
71
-                model.incident.department ? model.incident.department.dept : ""
72
-              }}</span>
73
-            </p>
74
-            <p v-if="valConfig == 1">
75
-              <span class="fl">报修人</span>
76
-              <span class="fr">{{ model.incident.requester.name }}</span>
77
-            </p>
78
-            <p v-if="valConfig == 2">
79
-              <span class="fl">联系人</span>
80
-              <span class="fr">{{ model.incident.contacts }}</span>
81
-            </p>
82
-            <p>
83
-              <span class="fl">联系电话</span>
84
-              <span
85
-                class="fr"
86
-                v-if="!model.incident.contactsInformation"
87
-              ></span>
88
-              <span class="fr" v-if="model.incident.contactsInformation"
89
-                ><a :href="'tel:' + model.incident.contactsInformation"
90
-                  ><i class="iconfont dsit-shouji"></i
91
-                  >{{ model.incident.contactsInformation }}</a
92
-                ></span
93
-              >
94
-            </p>
95
-            <p>
96
-              <span class="fl">联系地址</span>
97
-              <span class="fr">{{ model.incident.houseNumber || "" }}</span>
98
-            </p>
99
-            <p class="boeder_B">
100
-              <span class="fl">事件来源</span>
101
-              <span class="fr">{{ model.incident.source.name }}</span>
102
-            </p>
103
-            <!-- <p>
104
-              <span class="fl">影响度</span>
105
-              <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
106
-            </p>
107
-            <p>
108
-              <span class="fl">紧急度</span>
109
-              <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
110
-            </p> -->
111
-            <p>
112
-              <span class="fl">受理人</span>
113
-              <span class="fr">{{
114
-                model.incident.acceptUser ? model.incident.acceptUser.name : ""
115
-              }}</span>
116
-            </p>
117
-            <p>
118
-              <span class="fl">处理人</span>
119
-              <span class="fr">{{
120
-                model.incident.handlerUser
121
-                  ? model.incident.handlerUser.name
122
-                  : ""
123
-              }}</span>
124
-            </p>
125
-            <p>
126
-              <span class="fl">处理人电话</span>
127
-              <span class="fr" v-if="!model.incident.handlerUser"></span>
128
-              <span class="fr" v-if="model.incident.handlerUser"
129
-                ><a :href="'tel:' + model.incident.handlerUser.phone"
130
-                  ><i class="iconfont dsit-shouji"></i
131
-                  >{{ model.incident.handlerUser.phone }}</a
132
-                ></span
133
-              >
134
-            </p>
135
-            <p>
136
-              <span class="fl">优先级</span>
137
-              <span class="fr">{{
138
-                model.incident.priority ? model.incident.priority.name : ""
139
-              }}</span>
140
-            </p>
141
-            <p>
142
-              <span class="fl">逾期响应时间</span>
143
-              <span class="fr">{{ model.incident.overdueResponseDate }}</span>
144
-            </p>
145
-            <p>
146
-              <span class="fl">逾期解决时间</span>
147
-              <span class="fr">{{ model.incident.overdueTime }}</span>
148
-            </p>
149
-            <p>
150
-              <span class="fl">区域</span>
151
-              <span class="fr">{{
152
-                model.incident.place ? model.incident.place.area.area : "--"
153
-              }}</span>
154
-            </p>
155
-            <p class="boeder_B">
156
-              <span class="fl">地点</span>
157
-              <span class="fr">{{
158
-                model.incident.place ? model.incident.place.place : "--"
159
-              }}</span>
160
-            </p>
161
-            <div v-if="hcsjList.length">
162
-              <p>耗材</p>
163
-              <div class="hcTable">
164
-                <table>
165
-                  <tr>
166
-                    <td>耗材名称</td>
167
-                    <td>价格</td>
168
-                    <td>数量</td>
169
-                  </tr>
170
-                  <tr v-for="(item, i) in hcsjList" :key="i">
171
-                    <td>{{ item.consumable.name }}</td>
172
-                    <td>{{ item.extra1 }}</td>
173
-                    <td>{{ item.consumablesSum }}</td>
174
-                  </tr>
175
-                </table>
176
-              </div>
177
-            </div>
178
-            <p v-if="wxIncidentWithCmdb == 1">
179
-              <span class="fl">资产</span>
180
-              <span class="fr">{{ model.incident.assetId || '无' }}</span>
181
-            </p>
182
-          </div>
43
+          <EventInformation :model="modelData" :id="id"></EventInformation>
183 44
           <p class="info_hide">
184 45
             <span class="fl hide" @click="hides()" v-if="!item_hides"
185 46
               >展开详情 >></span
@@ -350,16 +211,13 @@
350 211
 </template>
351 212
 <script>
352 213
 import LoadIng from "./../views/loading.vue";
214
+import EventInformation from './../components/EventInformation/index.vue'
353 215
 // import HandlerLog from "./../views/handlerLog.vue";
354 216
 export default {
355 217
   data() {
356 218
     return {
357 219
       id: "",
358 220
       loginUser: JSON.parse(localStorage.getItem("loginUser")),
359
-      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
360
-      incidentWithConsumable: localStorage.getItem("incidentWithConsumable"), //是否绑定耗材
361
-      wxIncidentWithCmdb: localStorage.getItem("wxIncidentWithCmdb"), //是否绑定资产
362
-      hcsjList: [], //绑定的耗材列表,展示
363 221
       selected: 1,
364 222
       isclose: "close", //是否已解决
365 223
       iscloseArr: [
@@ -389,21 +247,10 @@ export default {
389 247
   },
390 248
   components: {
391 249
     LoadIng,
250
+    EventInformation,
392 251
     // HandlerLog
393 252
   },
394 253
   methods: {
395
-    // 获取事件上绑定的耗材
396
-    getHcBySj() {
397
-      this.$http
398
-        .post("service/cmdb/storeList", {
399
-          data: { type: 2, source: "1627", sourceId: this.id },
400
-        })
401
-        .then((result) => {
402
-          if (result.data.status == 200) {
403
-            this.hcsjList = result.data.data;
404
-          }
405
-        });
406
-    },
407 254
     //   获取事件数据
408 255
     getParamsData() {
409 256
       var that = this;
@@ -629,9 +476,6 @@ export default {
629 476
       : JSON.parse(localStorage.getItem("modelData")).incident.id;
630 477
     this.getParamsData();
631 478
     this.getImgs();
632
-    if (this.incidentWithConsumable == 1) {
633
-      this.getHcBySj();
634
-    }
635 479
     this.getHandlerRes();
636 480
     this.getDegree();
637 481
   },