telephone-clients 3.0.104-101 → 3.0.104-103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,378 +1,378 @@
1
- <template>
2
- <div class="basic-main" style="height: 100%">
3
- <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
4
- <div @click="back()">
5
- <img src="../../assets/back.png" style="margin: 0px"/>
6
- </div>
7
- </div>
8
- <work-busy :is-busy="loading"></work-busy>
9
- <div class="container-fluid" style="overflow: scroll">
10
- <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
11
- <div style="width: 100%;margin: auto">
12
- <table class="table table-striped table-bordered" style="margin-bottom: 6px">
13
- <thead>
14
- <tr>
15
- <th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
16
- </tr>
17
- </thead>
18
- <tbody>
19
- <tr>
20
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
21
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
22
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
23
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
24
- </tr>
25
- <tr>
26
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
27
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
28
- </tr>
29
- <tr v-if="serviceall.f_workorder_type=='报修单'">
30
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
31
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
32
- </tr>
33
- <tr v-if="serviceall.f_workorder_type=='报修单'">
34
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
35
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
36
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左&ensp;右&ensp;表:</td>
37
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
38
- </tr>
39
- <tr v-if="serviceall.f_workorder_type=='报修单'">
40
-
41
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表&ensp;品&ensp;牌:</td>
42
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
43
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表&ensp;型&ensp;号:</td>
44
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
45
- </tr>
46
- <tr v-if="serviceall.f_workorder_type=='置换通气单'">
47
-
48
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
49
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
50
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
51
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
52
- </tr>
53
- <tr v-if="serviceall.f_workorder_type=='置换通气单'">
54
-
55
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
56
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
57
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
58
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
59
- </tr>
60
- <tr v-if="serviceall.f_workorder_type=='置换通气单'">
61
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
62
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
63
- </tr>
64
- <tr v-if="serviceall.f_workorder_type=='置换通气单'">
65
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
66
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
67
- </tr>
68
- <!-- <tr>-->
69
-
70
- <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
71
- <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
72
- <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
73
- <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
74
- <!-- </tr>-->
75
- <tr>
76
-
77
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
78
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
79
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
80
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
81
- </tr>
82
- <tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
83
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
84
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
85
- </tr>
86
- <tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
87
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
88
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
89
- </tr>
90
- <tr>
91
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
92
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
93
- </tr>
94
- </tbody>
95
- </table>
96
- <table class="table table-striped table-bordered">
97
- <thead>
98
- <tr>
99
- <th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
100
- </tr>
101
- </thead>
102
- <tbody>
103
- <tr>
104
- <td style="margin: auto;text-align: center">
105
- <div class="container" style="max-width: 550px;background: #FFFFFF">
106
- <div class="img" v-for="img in serviceall.imgs">
107
- <img-self-tel :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
108
- height="200"></img-self-tel>
109
- </div>
110
- </div>
111
- </td>
112
- </tr>
113
- </tbody>
114
- </table>
115
- <table class="table table-striped table-bordered">
116
- <thead>
117
- <tr>
118
- <th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
119
- </tr>
120
- </thead>
121
- <tr>
122
- <td style="margin: auto;text-align: center">
123
- <div class="container" style="max-width: 500px;background: #FFFFFF">
124
- <div class="img" style="float: none">
125
- <img-self-tel :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></img-self-tel>
126
- </div>
127
- </div>
128
- </td>
129
- </tr>
130
- </table>
131
- <table class="table table-striped table-bordered" v-if="serviceall.f_recording_path">
132
- <thead>
133
- <tr>
134
- <th style="text-align: center;background-color: #dfedfb;color:black;">录音文件</th>
135
- </tr>
136
- </thead>
137
- <tr>
138
- <td style="margin: auto;text-align: center">
139
- <div class="container" style="max-width: 500px;background: #FFFFFF">
140
- <a class="button_spacing button_search-1"
141
- :href="'rs/image/file/'+serviceall.f_recording_path" >录音下载</a>
142
- </div>
143
- </td>
144
- </tr>
145
- </table>
146
-
147
- </div>
148
- </div>
149
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
150
- <div class="col-md-6" style="height: 100%;overflow: scroll">
151
- <div style="width: 95%;margin-left: 5%">
152
- <table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
153
- <thead>
154
- <tr>
155
- <th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
156
- </tr>
157
- </thead>
158
- <tbody>
159
- <tr v-for="detail in serviceone.details">
160
- <td>
161
- <div class="row">
162
- <div class="col-md-8" style="text-align: center;">{{ detail.f_project }}</div>
163
- <div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
164
- {{ detail.f_content?detail.f_content:'无' }}
165
- </div>
166
- <div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
167
- <button-link style="color: black" type="button" class="btn btn-link"
168
- @click="showpath(serviceone.imgs,detail.f_project)">查看照片
169
- </button-link>
170
- </div>
171
- <div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
172
- 无照片
173
- </div>
174
- </div>
175
- <!-- {{detail.f_first_imgname}}-->
176
- <!-- <div class="row" v-if="detail.f_first_imgname">
177
- <div class="container" style="max-width: 500px;background: #FFFFFF">
178
- <div class="img" style="float: none">
179
- <img-self-tel :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></img-self-tel>
180
- </div>
181
-
182
- </div>
183
- </div>-->
184
- </td>
185
-
186
-
187
- </tr>
188
- </tbody>
189
- </table>
190
-
191
-
192
- </div>
193
-
194
- </div>
195
- </div>
196
- </div>
197
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
198
- <header slot="modal-header" class="modal-header">
199
- {{ picturename }}
200
- </header>
201
- <article slot="modal-body" class="modal-body">
202
- <div class="from-group">
203
- <div class="row">
204
- <div class="col-md-6" v-for="item in showimgs">
205
- <img-self-tel :src="item" width="300" height="400"></img-self-tel>
206
- </div>
207
- </div>
208
- </div>
209
- </article>
210
- <footer slot="modal-footer" class="modal-footer" v-show="false">
211
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
212
- </footer>
213
- </modal>
214
- </template>
215
-
216
- <script>
217
- import {HttpResetClass} from 'vue-client'
218
-
219
- export default {
220
- title: '工单详情',
221
- props: ['curActivity', 'service'],
222
- data () {
223
- return {
224
- imgshow:false,
225
- picturename:'',
226
- showimg:'',
227
- baseuserinfo: {},
228
- showimgs:[],
229
- allimgs: [],
230
- servicerepair: [],
231
- serviceall: {},
232
- usermeter:{},
233
- loading: false
234
- }
235
- },
236
- ready () {
237
- this.loading=true
238
- ////tag
239
- ////tag)
240
- let http = new HttpResetClass()
241
- ////tag
242
- http.load('POST', 'rs/path/serviceWork', {data: {id: this.curActivity.id}}, {
243
- resolveMsg: null,
244
- rejectMsg: null
245
- }).then(res => {
246
- ////tag)
247
- for (let i = 0; i < res.data.length; i++) {
248
- if (res.data[i].id == this.curActivity.id) {
249
- this.serviceall = res.data[i]
250
- this.baseuserinfo = res.data[i].baseuserinfo
251
- this.servicerepair = res.data[i].servicerepair
252
- this.allimgs = res.data[i].imgs
253
- http.load('post','rs/sql/getBaseMeterInfo',{data:{f_userinfo_id:this.baseuserinfo.f_userinfo_id}},{
254
- resolveMsg: null,
255
- rejectMsg: null
256
- }).then(res=>{
257
- this.usermeter=res.data[0]
258
- })
259
- }
260
- }
261
-
262
- ////tag)
263
- ////tag)
264
- ////tag)
265
- ////tag)
266
- this.loading=false
267
- })
268
- },
269
- methods: {
270
- changefailure(val){
271
- let failureall=''
272
- // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
273
- let failure = JSON.parse(val)
274
- for (let i = 0; i <failure.length; i++) {
275
- if (failure[i].failurecase.length>0){
276
- failureall+=failure[i].f_failure_type+":"
277
- for (let j = 0; j < failure[i].failurecase.length; j++) {
278
- failureall+=failure[i].failurecase[j]
279
- if (j+1!=failure[i].failurecase.length){
280
- failureall+=","
281
- }
282
- }
283
-
284
- }else{
285
- failureall+=failure[i].f_failure_type
286
- }
287
- if (i+1!=failure.length){
288
- failureall+=';'
289
- }
290
- }
291
- return failureall
292
- },
293
- imgclose(){
294
- this.imgshow=false
295
- },
296
- ispicture(imgs,imgid){
297
- let imgstr=''
298
- let imgpath=''
299
- for (let i = 0; i < imgs.length; i++) {
300
- if (imgs[i].imgpath==imgid){
301
- imgstr=imgs[i].android_file
302
- imgpath=imgs[i].imgpath
303
- }
304
- }
305
- ////tag
306
- ////tag
307
- if (imgstr){
308
- return true
309
- }
310
- return false
311
- },
312
- showpath (imgs,imgid) {
313
- const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
314
- if (img.length > 0) {
315
- this.showimgs = img
316
- this.picturename = imgid
317
- this.imgshow = true
318
- }
319
- },
320
- back () {
321
- this.$back()
322
- }
323
- }
324
- }
325
- </script>
326
-
327
- <style scoped>
328
- .img {
329
- border: 1px solid #9773ed;
330
- width: auto;
331
- height: auto;
332
- float: left;
333
- text-align: center;
334
- margin: 6px;
335
- }
336
-
337
- img {
338
- margin: 6px;
339
- }
340
-
341
-
342
- .container {
343
- margin: 10px auto;
344
- width: 80%;
345
- height: auto;
346
- }
347
-
348
- div::-webkit-scrollbar {
349
- width: 0 !important;
350
- height: 0 !important;
351
- }
352
-
353
- div {
354
- -ms-overflow-style: none;
355
- overflow: -moz-scrollbars-none;
356
- }
357
-
358
- .divmask {
359
- pointer-events: none;
360
- }
361
-
362
- .app-header {
363
- border-radius: 50%;
364
- background: rgba(73, 158, 223, 0.4);
365
- color: #FFF;
366
- padding: 20px;
367
- text-align: center;
368
- font-size: 1.2em;
369
- z-index: 10;
370
- opacity: 0.5;
371
- bottom: 50px;
372
- margin-top: -20px;
373
- position: absolute;
374
- top: 10%;
375
- right: 2%;
376
- height: 8%;
377
- }
378
- </style>
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
4
+ <div @click="back()">
5
+ <img src="../../assets/back.png" style="margin: 0px"/>
6
+ </div>
7
+ </div>
8
+ <work-busy :is-busy="loading"></work-busy>
9
+ <div class="container-fluid" style="overflow: scroll">
10
+ <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
11
+ <div style="width: 100%;margin: auto">
12
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px">
13
+ <thead>
14
+ <tr>
15
+ <th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
16
+ </tr>
17
+ </thead>
18
+ <tbody>
19
+ <tr>
20
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
21
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
22
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
23
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
24
+ </tr>
25
+ <tr>
26
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
27
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
28
+ </tr>
29
+ <tr v-if="serviceall.f_workorder_type=='报修单'">
30
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">故障明细:</td>
31
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ changefailure(serviceall.f_new_failure) }}</td>
32
+ </tr>
33
+ <tr v-if="serviceall.f_workorder_type=='报修单'">
34
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">{{usermeter.f_collection_type=='按金额'?'累购金额:':'累购气量:'}}</td>
35
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_collection_type=='按金额'?usermeter.f_total_fee:usermeter.f_total_gas }}</td>
36
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">左&ensp;右&ensp;表:</td>
37
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_aroundmeter }}</td>
38
+ </tr>
39
+ <tr v-if="serviceall.f_workorder_type=='报修单'">
40
+
41
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表&ensp;品&ensp;牌:</td>
42
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_brand }}</td>
43
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表&ensp;型&ensp;号:</td>
44
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ usermeter.f_meter_style }}</td>
45
+ </tr>
46
+ <tr v-if="serviceall.f_workorder_type=='置换通气单'">
47
+
48
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户姓名:</td>
49
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
50
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用气性质:</td>
51
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_gasproperties }}</td>
52
+ </tr>
53
+ <tr v-if="serviceall.f_workorder_type=='置换通气单'">
54
+
55
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">联系电话:</td>
56
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_phone }}</td>
57
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">住户类型:</td>
58
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_house_type }}</td>
59
+ </tr>
60
+ <tr v-if="serviceall.f_workorder_type=='置换通气单'">
61
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">身份证号:</td>
62
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_shenfenzheng}}</td>
63
+ </tr>
64
+ <tr v-if="serviceall.f_workorder_type=='置换通气单'">
65
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">用户地址:</td>
66
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{baseuserinfo.f_address}}</td>
67
+ </tr>
68
+ <!-- <tr>-->
69
+
70
+ <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">派单时间:</td>-->
71
+ <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_created_date }}</td>-->
72
+ <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">完成时间:</td>-->
73
+ <!-- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ service.f_repair_date }}</td>-->
74
+ <!-- </tr>-->
75
+ <tr>
76
+
77
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
78
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
79
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
80
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
81
+ </tr>
82
+ <tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '民用'">
83
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">防盗卡号:</td>
84
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_defendcard }}</td>
85
+ </tr>
86
+ <tr v-if="serviceall.f_workorder_type == '置换通气单' && baseuserinfo.f_user_type == '非民用'">
87
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">铅封号:</td>
88
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ usermeter.f_gmd_lsnumber }}</td>
89
+ </tr>
90
+ <tr>
91
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
92
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
93
+ </tr>
94
+ </tbody>
95
+ </table>
96
+ <table class="table table-striped table-bordered">
97
+ <thead>
98
+ <tr>
99
+ <th style="text-align: center;background-color: #dfedfb;color:black;">燃气设施全景</th>
100
+ </tr>
101
+ </thead>
102
+ <tbody>
103
+ <tr>
104
+ <td style="margin: auto;text-align: center">
105
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
106
+ <div class="img" v-for="img in serviceall.imgs">
107
+ <img-self-tel :src="'rs/image/file/'+img.android_file" style="float: left" width="150"
108
+ height="200"></img-self-tel>
109
+ </div>
110
+ </div>
111
+ </td>
112
+ </tr>
113
+ </tbody>
114
+ </table>
115
+ <table class="table table-striped table-bordered">
116
+ <thead>
117
+ <tr>
118
+ <th style="text-align: center;background-color: #dfedfb;color:black;">用户签名照片</th>
119
+ </tr>
120
+ </thead>
121
+ <tr>
122
+ <td style="margin: auto;text-align: center">
123
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
124
+ <div class="img" style="float: none">
125
+ <img-self-tel :src="'rs/image/file/'+serviceall.f_signname" width="400" height="300"></img-self-tel>
126
+ </div>
127
+ </div>
128
+ </td>
129
+ </tr>
130
+ </table>
131
+ <table class="table table-striped table-bordered" v-if="serviceall.f_recording_path">
132
+ <thead>
133
+ <tr>
134
+ <th style="text-align: center;background-color: #dfedfb;color:black;">录音文件</th>
135
+ </tr>
136
+ </thead>
137
+ <tr>
138
+ <td style="margin: auto;text-align: center">
139
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
140
+ <a class="button_spacing button_search-1"
141
+ :href="'rs/image/file/'+serviceall.f_recording_path" >录音下载</a>
142
+ </div>
143
+ </td>
144
+ </tr>
145
+ </table>
146
+
147
+ </div>
148
+ </div>
149
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
150
+ <div class="col-md-6" style="height: 100%;overflow: scroll">
151
+ <div style="width: 95%;margin-left: 5%">
152
+ <table class="table table-striped table-bordered" v-for=" serviceone in servicerepair">
153
+ <thead>
154
+ <tr>
155
+ <th style="text-align: center;background-color: #dfedfb;color:black;">{{ serviceone.f_type }}</th>
156
+ </tr>
157
+ </thead>
158
+ <tbody>
159
+ <tr v-for="detail in serviceone.details">
160
+ <td>
161
+ <div class="row">
162
+ <div class="col-md-8" style="text-align: center;">{{ detail.f_project }}</div>
163
+ <div class="col-md-4" style="text-align: center;" v-if="detail.type!='picture'">
164
+ {{ detail.f_content?detail.f_content:'无' }}
165
+ </div>
166
+ <div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&ispicture(serviceone.imgs,detail.f_project)">
167
+ <button-link style="color: black" type="button" class="btn btn-link"
168
+ @click="showpath(serviceone.imgs,detail.f_project)">查看照片
169
+ </button-link>
170
+ </div>
171
+ <div class="col-md-4" style="text-align: center;" v-if="detail.type=='picture'&&!ispicture(serviceone.imgs,detail.f_project)">
172
+ 无照片
173
+ </div>
174
+ </div>
175
+ <!-- {{detail.f_first_imgname}}-->
176
+ <!-- <div class="row" v-if="detail.f_first_imgname">
177
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
178
+ <div class="img" style="float: none">
179
+ <img-self-tel :src="'rs/image/file/'+detail.f_first_imgname" width="400" height="300"></img-self-tel>
180
+ </div>
181
+
182
+ </div>
183
+ </div>-->
184
+ </td>
185
+
186
+
187
+ </tr>
188
+ </tbody>
189
+ </table>
190
+
191
+
192
+ </div>
193
+
194
+ </div>
195
+ </div>
196
+ </div>
197
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
198
+ <header slot="modal-header" class="modal-header">
199
+ {{ picturename }}
200
+ </header>
201
+ <article slot="modal-body" class="modal-body">
202
+ <div class="from-group">
203
+ <div class="row">
204
+ <div class="col-md-6" v-for="item in showimgs">
205
+ <img-self-tel :src="item" width="300" height="400"></img-self-tel>
206
+ </div>
207
+ </div>
208
+ </div>
209
+ </article>
210
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
211
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
212
+ </footer>
213
+ </modal>
214
+ </template>
215
+
216
+ <script>
217
+ import {HttpResetClass} from 'vue-client'
218
+
219
+ export default {
220
+ title: '工单详情',
221
+ props: ['curActivity', 'service'],
222
+ data () {
223
+ return {
224
+ imgshow:false,
225
+ picturename:'',
226
+ showimg:'',
227
+ baseuserinfo: {},
228
+ showimgs:[],
229
+ allimgs: [],
230
+ servicerepair: [],
231
+ serviceall: {},
232
+ usermeter:{},
233
+ loading: false
234
+ }
235
+ },
236
+ ready () {
237
+ this.loading=true
238
+ ////tag
239
+ ////tag)
240
+ let http = new HttpResetClass()
241
+ ////tag
242
+ http.load('POST', 'rs/path/serviceWork', {data: {id: this.curActivity.id}}, {
243
+ resolveMsg: null,
244
+ rejectMsg: null
245
+ }).then(res => {
246
+ ////tag)
247
+ for (let i = 0; i < res.data.length; i++) {
248
+ if (res.data[i].id == this.curActivity.id) {
249
+ this.serviceall = res.data[i]
250
+ this.baseuserinfo = res.data[i].baseuserinfo
251
+ this.servicerepair = res.data[i].servicerepair
252
+ this.allimgs = res.data[i].imgs
253
+ http.load('post','rs/sql/getBaseMeterInfo',{data:{f_userinfo_id:this.baseuserinfo.f_userinfo_id}},{
254
+ resolveMsg: null,
255
+ rejectMsg: null
256
+ }).then(res=>{
257
+ this.usermeter=res.data[0]
258
+ })
259
+ }
260
+ }
261
+
262
+ ////tag)
263
+ ////tag)
264
+ ////tag)
265
+ ////tag)
266
+ this.loading=false
267
+ })
268
+ },
269
+ methods: {
270
+ changefailure(val){
271
+ let failureall=''
272
+ // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
273
+ let failure = JSON.parse(val)
274
+ for (let i = 0; i <failure.length; i++) {
275
+ if (failure[i].failurecase.length>0){
276
+ failureall+=failure[i].f_failure_type+":"
277
+ for (let j = 0; j < failure[i].failurecase.length; j++) {
278
+ failureall+=failure[i].failurecase[j]
279
+ if (j+1!=failure[i].failurecase.length){
280
+ failureall+=","
281
+ }
282
+ }
283
+
284
+ }else{
285
+ failureall+=failure[i].f_failure_type
286
+ }
287
+ if (i+1!=failure.length){
288
+ failureall+=';'
289
+ }
290
+ }
291
+ return failureall
292
+ },
293
+ imgclose(){
294
+ this.imgshow=false
295
+ },
296
+ ispicture(imgs,imgid){
297
+ let imgstr=''
298
+ let imgpath=''
299
+ for (let i = 0; i < imgs.length; i++) {
300
+ if (imgs[i].imgpath==imgid){
301
+ imgstr=imgs[i].android_file
302
+ imgpath=imgs[i].imgpath
303
+ }
304
+ }
305
+ ////tag
306
+ ////tag
307
+ if (imgstr){
308
+ return true
309
+ }
310
+ return false
311
+ },
312
+ showpath (imgs,imgid) {
313
+ const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
314
+ if (img.length > 0) {
315
+ this.showimgs = img
316
+ this.picturename = imgid
317
+ this.imgshow = true
318
+ }
319
+ },
320
+ back () {
321
+ this.$back()
322
+ }
323
+ }
324
+ }
325
+ </script>
326
+
327
+ <style scoped>
328
+ .img {
329
+ border: 1px solid #9773ed;
330
+ width: auto;
331
+ height: auto;
332
+ float: left;
333
+ text-align: center;
334
+ margin: 6px;
335
+ }
336
+
337
+ img {
338
+ margin: 6px;
339
+ }
340
+
341
+
342
+ .container {
343
+ margin: 10px auto;
344
+ width: 80%;
345
+ height: auto;
346
+ }
347
+
348
+ div::-webkit-scrollbar {
349
+ width: 0 !important;
350
+ height: 0 !important;
351
+ }
352
+
353
+ div {
354
+ -ms-overflow-style: none;
355
+ overflow: -moz-scrollbars-none;
356
+ }
357
+
358
+ .divmask {
359
+ pointer-events: none;
360
+ }
361
+
362
+ .app-header {
363
+ border-radius: 50%;
364
+ background: rgba(73, 158, 223, 0.4);
365
+ color: #FFF;
366
+ padding: 20px;
367
+ text-align: center;
368
+ font-size: 1.2em;
369
+ z-index: 10;
370
+ opacity: 0.5;
371
+ bottom: 50px;
372
+ margin-top: -20px;
373
+ position: absolute;
374
+ top: 10%;
375
+ right: 2%;
376
+ height: 8%;
377
+ }
378
+ </style>