|
@@ -5,28 +5,36 @@
|
5
|
5
|
<div v-if="model.incident" class="conent">
|
6
|
6
|
<div class="navBar">
|
7
|
7
|
<div class="fl">
|
8
|
|
- <a :class="{active:actives=='info'}" href="javascript:;" @click="toInfo('info')">事件信息</a>
|
|
8
|
+ <a
|
|
9
|
+ :class="{ active: actives == 'info' }"
|
|
10
|
+ href="javascript:;"
|
|
11
|
+ @click="toInfo('info')"
|
|
12
|
+ >事件信息</a
|
|
13
|
+ >
|
9
|
14
|
</div>
|
10
|
15
|
<div class="fl">
|
11
|
16
|
<a
|
12
|
|
- :class="{active:actives=='handlerInfo'}"
|
|
17
|
+ :class="{ active: actives == 'handlerInfo' }"
|
13
|
18
|
href="javascript:;"
|
14
|
19
|
@click="toInfo('handlerInfo')"
|
15
|
|
- >处理信息</a>
|
|
20
|
+ >处理信息</a
|
|
21
|
+ >
|
16
|
22
|
</div>
|
17
|
23
|
<div class="fl">
|
18
|
24
|
<a
|
19
|
|
- :class="{active:actives=='closeInfo'}"
|
|
25
|
+ :class="{ active: actives == 'closeInfo' }"
|
20
|
26
|
href="javascript:;"
|
21
|
27
|
@click="toInfo('closeInfo')"
|
22
|
|
- >关单信息</a>
|
|
28
|
+ >关单信息</a
|
|
29
|
+ >
|
23
|
30
|
</div>
|
24
|
31
|
<div class="fl">
|
25
|
32
|
<a
|
26
|
|
- :class="{active:actives=='progress'}"
|
|
33
|
+ :class="{ active: actives == 'progress' }"
|
27
|
34
|
href="javascript:;"
|
28
|
35
|
@click="toInfo('progress')"
|
29
|
|
- >处理进度</a>
|
|
36
|
+ >处理进度</a
|
|
37
|
+ >
|
30
|
38
|
</div>
|
31
|
39
|
</div>
|
32
|
40
|
|
|
@@ -35,13 +43,15 @@
|
35
|
43
|
<div class="head">
|
36
|
44
|
<p>
|
37
|
45
|
<i class="iconfont icon-zuixinbaoxiu newPapir"></i>
|
38
|
|
- 事件编号:{{model.incident.incidentsign}}
|
39
|
|
- <span class="fr btn yiguanbi">{{model.incident.state.name}}</span>
|
|
46
|
+ 事件编号:{{ model.incident.incidentsign }}
|
|
47
|
+ <span class="fr btn yiguanbi">{{
|
|
48
|
+ model.incident.state.name
|
|
49
|
+ }}</span>
|
40
|
50
|
</p>
|
41
|
51
|
</div>
|
42
|
52
|
<p>
|
43
|
53
|
<span class="fl">事件分类</span>
|
44
|
|
- <span class="fr">{{model.incident.category.category}}</span>
|
|
54
|
+ <span class="fr">{{ model.incident.category.category }}</span>
|
45
|
55
|
</p>
|
46
|
56
|
<!-- <p>
|
47
|
57
|
<span class="fl">事件主题</span>
|
|
@@ -49,32 +59,37 @@
|
49
|
59
|
</p> -->
|
50
|
60
|
<p class="desc">
|
51
|
61
|
<span class="fl">事件描述</span>
|
52
|
|
- <span class="fr grayFont" v-html="model.incident.description"></span>
|
|
62
|
+ <span
|
|
63
|
+ class="fr grayFont"
|
|
64
|
+ v-html="model.incident.description"
|
|
65
|
+ ></span>
|
53
|
66
|
</p>
|
54
|
67
|
<div class="shows" id="shows">
|
55
|
|
- <p v-if="valConfig==2">
|
|
68
|
+ <p v-if="valConfig == 2">
|
56
|
69
|
<span class="fl">报修科室</span>
|
57
|
|
- <span class="fr">{{model.incident.department?model.incident.department.dept:''}}</span>
|
|
70
|
+ <span class="fr">{{
|
|
71
|
+ model.incident.department ? model.incident.department.dept : ""
|
|
72
|
+ }}</span>
|
58
|
73
|
</p>
|
59
|
|
- <p v-if="valConfig==1">
|
|
74
|
+ <p v-if="valConfig == 1">
|
60
|
75
|
<span class="fl">报修人</span>
|
61
|
|
- <span class="fr">{{model.incident.requester.name}}</span>
|
|
76
|
+ <span class="fr">{{ model.incident.requester.name }}</span>
|
62
|
77
|
</p>
|
63
|
|
- <p v-if="valConfig==2">
|
|
78
|
+ <p v-if="valConfig == 2">
|
64
|
79
|
<span class="fl">联系人</span>
|
65
|
|
- <span class="fr">{{model.incident.contacts}}</span>
|
|
80
|
+ <span class="fr">{{ model.incident.contacts }}</span>
|
66
|
81
|
</p>
|
67
|
82
|
<p>
|
68
|
83
|
<span class="fl">联系电话</span>
|
69
|
|
- <span class="fr">{{model.incident.contactsInformation}}</span>
|
|
84
|
+ <span class="fr">{{ model.incident.contactsInformation }}</span>
|
70
|
85
|
</p>
|
71
|
86
|
<p>
|
72
|
87
|
<span class="fl">联系地址</span>
|
73
|
|
- <span class="fr">{{model.incident.houseNumber||''}}</span>
|
|
88
|
+ <span class="fr">{{ model.incident.houseNumber || "" }}</span>
|
74
|
89
|
</p>
|
75
|
90
|
<p class="boeder_B">
|
76
|
91
|
<span class="fl">事件来源</span>
|
77
|
|
- <span class="fr">{{model.incident.source.name}}</span>
|
|
92
|
+ <span class="fr">{{ model.incident.source.name }}</span>
|
78
|
93
|
</p>
|
79
|
94
|
<!-- <p>
|
80
|
95
|
<span class="fl">影响度</span>
|
|
@@ -86,26 +101,56 @@
|
86
|
101
|
</p> -->
|
87
|
102
|
<p>
|
88
|
103
|
<span class="fl">优先级</span>
|
89
|
|
- <span class="fr">{{model.incident.priority?model.incident.priority.name:''}}</span>
|
|
104
|
+ <span class="fr">{{
|
|
105
|
+ model.incident.priority ? model.incident.priority.name : ""
|
|
106
|
+ }}</span>
|
90
|
107
|
</p>
|
91
|
108
|
<p>
|
92
|
109
|
<span class="fl">逾期响应时间</span>
|
93
|
|
- <span class="fr">{{model.incident.overdueResponseDate}}</span>
|
|
110
|
+ <span class="fr">{{ model.incident.overdueResponseDate }}</span>
|
94
|
111
|
</p>
|
95
|
112
|
<p>
|
96
|
113
|
<span class="fl">逾期解决时间</span>
|
97
|
|
- <span class="fr">{{model.incident.overdueTime}}</span>
|
|
114
|
+ <span class="fr">{{ model.incident.overdueTime }}</span>
|
|
115
|
+ </p>
|
|
116
|
+ <p>
|
|
117
|
+ <span class="fl">区域</span>
|
|
118
|
+ <span class="fr">{{
|
|
119
|
+ model.incident.place ? model.incident.place.area.area : "--"
|
|
120
|
+ }}</span>
|
|
121
|
+ </p>
|
|
122
|
+ <p>
|
|
123
|
+ <span class="fl">地点</span>
|
|
124
|
+ <span class="fr">{{
|
|
125
|
+ model.incident.place ? model.incident.place.place : "--"
|
|
126
|
+ }}</span>
|
98
|
127
|
</p>
|
99
|
128
|
</div>
|
100
|
129
|
<p class="info_hide">
|
101
|
|
- <span class="fl hide" @click="hides()" v-if="!item_hides">展开详情 >></span>
|
102
|
|
- <span class="fl hide" @click="hides()" v-if="item_hides">隐藏详情<<</span>
|
|
130
|
+ <span class="fl hide" @click="hides()" v-if="!item_hides"
|
|
131
|
+ >展开详情 >></span
|
|
132
|
+ >
|
|
133
|
+ <span class="fl hide" @click="hides()" v-if="item_hides"
|
|
134
|
+ >隐藏详情<<</span
|
|
135
|
+ >
|
103
|
136
|
</p>
|
104
|
137
|
<div class="imgs-container" v-if="imgs.length">
|
105
|
138
|
<div class="imgs-cont">
|
106
|
|
- <img v-if='img.suffix=="jpeg"||img.suffix=="jpg"||img.suffix=="gif"||img.suffix=="png"||img.suffix=="svg"||img.suffix=="pdf"' :src="img.previewUrl" v-for="(img, index) in imgs" class="imgs">
|
|
139
|
+ <img
|
|
140
|
+ v-if="
|
|
141
|
+ img.suffix == 'jpeg' ||
|
|
142
|
+ img.suffix == 'jpg' ||
|
|
143
|
+ img.suffix == 'gif' ||
|
|
144
|
+ img.suffix == 'png' ||
|
|
145
|
+ img.suffix == 'svg' ||
|
|
146
|
+ img.suffix == 'pdf'
|
|
147
|
+ "
|
|
148
|
+ :src="img.previewUrl"
|
|
149
|
+ v-for="(img, index) in imgs"
|
|
150
|
+ class="imgs"
|
|
151
|
+ />
|
107
|
152
|
<p v-else>
|
108
|
|
- <a :href='[img.previewUrl]'>{{img.name}}</a>
|
|
153
|
+ <a :href="[img.previewUrl]">{{ img.name }}</a>
|
109
|
154
|
</p>
|
110
|
155
|
</div>
|
111
|
156
|
</div>
|
|
@@ -121,68 +166,94 @@
|
121
|
166
|
</p> -->
|
122
|
167
|
<p>
|
123
|
168
|
<span class="fl">处理方式</span>
|
124
|
|
- <span
|
125
|
|
- class="fr showwrap"
|
126
|
|
- >{{model.incident.handleCategory?model.incident.handleCategory.name:''}}</span>
|
|
169
|
+ <span class="fr showwrap">{{
|
|
170
|
+ model.incident.handleCategory
|
|
171
|
+ ? model.incident.handleCategory.name
|
|
172
|
+ : ""
|
|
173
|
+ }}</span>
|
127
|
174
|
</p>
|
128
|
175
|
<div class="shows1" id="shows1">
|
129
|
176
|
<p>
|
130
|
177
|
<span class="fl">确认事件分类</span>
|
131
|
|
- <span class="fr">{{model.incident.category.category}}</span>
|
|
178
|
+ <span class="fr">{{ model.incident.category.category }}</span>
|
132
|
179
|
</p>
|
133
|
180
|
<p>
|
134
|
181
|
<span class="fl">关闭代码</span>
|
135
|
|
- <span class="fr">{{model.incident.closecode?model.incident.closecode.name:''}}</span>
|
|
182
|
+ <span class="fr">{{
|
|
183
|
+ model.incident.closecode ? model.incident.closecode.name : ""
|
|
184
|
+ }}</span>
|
136
|
185
|
</p>
|
137
|
186
|
<p class="desc">
|
138
|
187
|
<span class="fl">处理方案</span>
|
139
|
|
- <span class="fr grayFont" v-html="model.incident.handleDescription"></span>
|
|
188
|
+ <span
|
|
189
|
+ class="fr grayFont"
|
|
190
|
+ v-html="model.incident.handleDescription"
|
|
191
|
+ ></span>
|
140
|
192
|
</p>
|
141
|
193
|
</div>
|
142
|
194
|
<p class="info_hide">
|
143
|
|
- <span class="fl hide" @click="hides1()" v-if="!item_hides1">展开详情 >></span>
|
144
|
|
- <span class="fl hide" @click="hides1()" v-if="item_hides1">隐藏详情<<</span>
|
|
195
|
+ <span class="fl hide" @click="hides1()" v-if="!item_hides1"
|
|
196
|
+ >展开详情 >></span
|
|
197
|
+ >
|
|
198
|
+ <span class="fl hide" @click="hides1()" v-if="item_hides1"
|
|
199
|
+ >隐藏详情<<</span
|
|
200
|
+ >
|
145
|
201
|
</p>
|
146
|
202
|
|
147
|
203
|
<div class="label" id="closeInfo">关单信息</div>
|
148
|
204
|
<p>
|
149
|
205
|
<span class="fl">是否已解决</span>
|
150
|
|
- <span class="fr">{{model.isclose=='close'?'已解决':'未解决'}}</span>
|
|
206
|
+ <span class="fr">{{
|
|
207
|
+ model.isclose == "close" ? "已解决" : "未解决"
|
|
208
|
+ }}</span>
|
151
|
209
|
</p>
|
152
|
210
|
<p>
|
153
|
211
|
<span class="fl">结果类型</span>
|
154
|
|
- <span class="fr">{{model.incident.handleResult?model.incident.handleResult.name:''}}</span>
|
|
212
|
+ <span class="fr">{{
|
|
213
|
+ model.incident.handleResult
|
|
214
|
+ ? model.incident.handleResult.name
|
|
215
|
+ : ""
|
|
216
|
+ }}</span>
|
155
|
217
|
</p>
|
156
|
218
|
<p>
|
157
|
219
|
<span class="fl">满意度评价</span>
|
158
|
|
- <span class="fr">{{model.incident.degree?model.incident.degree.name:''}}</span>
|
|
220
|
+ <span class="fr">{{
|
|
221
|
+ model.incident.degree ? model.incident.degree.name : ""
|
|
222
|
+ }}</span>
|
159
|
223
|
</p>
|
160
|
224
|
<p>
|
161
|
225
|
<span class="fl">回访备注</span>
|
162
|
|
- <span class="fr">{{model.incident.visitRemarks||''}}</span>
|
|
226
|
+ <span class="fr">{{ model.incident.visitRemarks || "" }}</span>
|
163
|
227
|
</p>
|
164
|
228
|
|
165
|
229
|
<div class="label" id="progress">处理进度</div>
|
166
|
|
- <div :class="{'progress':true,'progressHide':!pro_hides}" id="progressBox">
|
|
230
|
+ <div
|
|
231
|
+ :class="{ progress: true, progressHide: !pro_hides }"
|
|
232
|
+ id="progressBox"
|
|
233
|
+ >
|
167
|
234
|
<div class="progress_info" v-for="item in progressInfo">
|
168
|
|
- <div class="progress_info_L">{{item.activityName}}</div>
|
|
235
|
+ <div class="progress_info_L">{{ item.activityName }}</div>
|
169
|
236
|
<div class="progress_info_R">
|
170
|
237
|
<div class="time">
|
171
|
238
|
<i
|
172
|
|
- :class="{'iconfont':true, 'icon-icon_weizuo':item.endTime!='','icon-icon_zhengzaijinx':item.endTime=='' }"
|
|
239
|
+ :class="{
|
|
240
|
+ iconfont: true,
|
|
241
|
+ 'icon-icon_weizuo': item.endTime != '',
|
|
242
|
+ 'icon-icon_zhengzaijinx': item.endTime == ''
|
|
243
|
+ }"
|
173
|
244
|
></i>
|
174
|
|
- <span class="text1">{{item.startTime}}</span>
|
|
245
|
+ <span class="text1">{{ item.startTime }}</span>
|
175
|
246
|
</div>
|
176
|
|
- <div
|
177
|
|
- :class="{'cont':true,'blue':item.endTime!='' }"
|
178
|
|
- >
|
179
|
|
- <p class="text2" v-if="item.desc">{{item.desc}}</p>
|
|
247
|
+ <div :class="{ cont: true, blue: item.endTime != '' }">
|
|
248
|
+ <p class="text2" v-if="item.desc">{{ item.desc }}</p>
|
180
|
249
|
</div>
|
181
|
250
|
</div>
|
182
|
251
|
</div>
|
183
|
252
|
</div>
|
184
|
253
|
<p class="info_hide">
|
185
|
|
- <span class="fl hide" @click="proHides()">{{pro_hides?'隐藏详情 <<':'展开详情 >>'}}</span>
|
|
254
|
+ <span class="fl hide" @click="proHides()">{{
|
|
255
|
+ pro_hides ? "隐藏详情 <<" : "展开详情 >>"
|
|
256
|
+ }}</span>
|
186
|
257
|
</p>
|
187
|
258
|
</div>
|
188
|
259
|
</div>
|
|
@@ -195,7 +266,7 @@ import LoadIng from "./../views/loading.vue";
|
195
|
266
|
export default {
|
196
|
267
|
data() {
|
197
|
268
|
return {
|
198
|
|
- id:'',
|
|
269
|
+ id: "",
|
199
|
270
|
loginUser: JSON.parse(localStorage.getItem("loginUser")),
|
200
|
271
|
valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
|
201
|
272
|
selected: 1,
|
|
@@ -217,7 +288,7 @@ export default {
|
217
|
288
|
progressInfo: [], //处理进度
|
218
|
289
|
imgs: [], //图片
|
219
|
290
|
model: {}, //提交数据
|
220
|
|
- pro_hides:false,//展开/收起处理进度
|
|
291
|
+ pro_hides: false //展开/收起处理进度
|
221
|
292
|
};
|
222
|
293
|
},
|
223
|
294
|
components: {
|
|
@@ -232,14 +303,16 @@ export default {
|
232
|
303
|
"/service/form/renderForm/receiveform/" +
|
233
|
304
|
that.processInstanceId +
|
234
|
305
|
"/" +
|
235
|
|
- that.loginUser.id+'/'+that.id,
|
|
306
|
+ that.loginUser.id +
|
|
307
|
+ "/" +
|
|
308
|
+ that.id,
|
236
|
309
|
{}
|
237
|
310
|
)
|
238
|
311
|
.then(function(res) {
|
239
|
312
|
console.log(res.data);
|
240
|
313
|
that.model = res.data.model;
|
241
|
314
|
//seimin
|
242
|
|
- localStorage.setItem('modelData',JSON.stringify(that.model))
|
|
315
|
+ localStorage.setItem("modelData", JSON.stringify(that.model));
|
243
|
316
|
});
|
244
|
317
|
},
|
245
|
318
|
// 获取图片
|
|
@@ -278,13 +351,15 @@ export default {
|
278
|
351
|
},
|
279
|
352
|
|
280
|
353
|
// 处理进度隐藏/展开
|
281
|
|
- proHides(){
|
282
|
|
- if(!this.pro_hides){
|
283
|
|
- $('#progressBox').animate({'height':$('#progressBox')[0].scrollHeight})
|
284
|
|
- }else{
|
285
|
|
- $('#progressBox').animate({'height':'1.7rem'})
|
|
354
|
+ proHides() {
|
|
355
|
+ if (!this.pro_hides) {
|
|
356
|
+ $("#progressBox").animate({
|
|
357
|
+ height: $("#progressBox")[0].scrollHeight
|
|
358
|
+ });
|
|
359
|
+ } else {
|
|
360
|
+ $("#progressBox").animate({ height: "1.7rem" });
|
286
|
361
|
}
|
287
|
|
- this.pro_hides=!this.pro_hides;
|
|
362
|
+ this.pro_hides = !this.pro_hides;
|
288
|
363
|
},
|
289
|
364
|
//隐藏显示详情
|
290
|
365
|
hides1() {
|
|
@@ -311,7 +386,9 @@ export default {
|
311
|
386
|
? this.$route.params.data.processInstanceId
|
312
|
387
|
: JSON.parse(localStorage.getItem("modelData")).incident
|
313
|
388
|
.processInstanceId;
|
314
|
|
- this.id=this.$route.params.data?this.$route.params.data.id:JSON.parse(localStorage.getItem("modelData")).incident.id;
|
|
389
|
+ this.id = this.$route.params.data
|
|
390
|
+ ? this.$route.params.data.id
|
|
391
|
+ : JSON.parse(localStorage.getItem("modelData")).incident.id;
|
315
|
392
|
this.getParamsData();
|
316
|
393
|
this.getProgressInfo();
|
317
|
394
|
this.getImgs();
|
|
@@ -411,15 +488,15 @@ i.iconfont {
|
411
|
488
|
.boeder_B {
|
412
|
489
|
border-bottom: 0.01rem solid #ccc;
|
413
|
490
|
}
|
414
|
|
- p {
|
415
|
|
- &.desc{
|
416
|
|
- overflow: hidden;
|
417
|
|
- }
|
418
|
|
- .grayFont {
|
419
|
|
- width: 75%;
|
420
|
|
- text-align: right;
|
421
|
|
- overflow-x: scroll;
|
422
|
|
- }
|
|
491
|
+ p {
|
|
492
|
+ &.desc {
|
|
493
|
+ overflow: hidden;
|
|
494
|
+ }
|
|
495
|
+ .grayFont {
|
|
496
|
+ width: 75%;
|
|
497
|
+ text-align: right;
|
|
498
|
+ overflow-x: scroll;
|
|
499
|
+ }
|
423
|
500
|
}
|
424
|
501
|
.bottom {
|
425
|
502
|
overflow: hidden;
|
|
@@ -457,14 +534,14 @@ i.iconfont {
|
457
|
534
|
color: #00559d;
|
458
|
535
|
}
|
459
|
536
|
}
|
460
|
|
- .imgs-container{
|
461
|
|
- a{
|
462
|
|
- color:#03c !important;
|
463
|
|
- &:visited{
|
|
537
|
+ .imgs-container {
|
|
538
|
+ a {
|
|
539
|
+ color: #03c !important;
|
|
540
|
+ &:visited {
|
464
|
541
|
color: #551a8b !important;
|
465
|
542
|
}
|
466
|
543
|
}
|
467
|
|
- img {
|
|
544
|
+ img {
|
468
|
545
|
width: 1.5rem;
|
469
|
546
|
height: 1.5rem;
|
470
|
547
|
margin-right: 0.7rem;
|
|
@@ -476,17 +553,17 @@ i.iconfont {
|
476
|
553
|
.progress {
|
477
|
554
|
padding: 0.2rem 0.2rem;
|
478
|
555
|
overflow: hidden;
|
479
|
|
- transition-duration: .2s;
|
|
556
|
+ transition-duration: 0.2s;
|
480
|
557
|
transition-timing-function: linear;
|
481
|
|
- &.progressHide{
|
|
558
|
+ &.progressHide {
|
482
|
559
|
height: 1.7rem;
|
483
|
560
|
}
|
484
|
561
|
.progress_info {
|
485
|
562
|
overflow: hidden;
|
486
|
563
|
margin-bottom: 0.1rem;
|
487
|
|
- &:nth-last-child(1){
|
488
|
|
- .cont{
|
489
|
|
- border:none !important;
|
|
564
|
+ &:nth-last-child(1) {
|
|
565
|
+ .cont {
|
|
566
|
+ border: none !important;
|
490
|
567
|
}
|
491
|
568
|
}
|
492
|
569
|
.progress_info_L {
|