telephone-clients 4.0.0-1-89 → 4.0.0-1-90

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.
Files changed (32) hide show
  1. package/package.json +2 -2
  2. package/src/components/pc/MaintenanceWorker.vue +152 -0
  3. package/src/components/pc/NewRepairPaper.vue +704 -704
  4. package/src/components/pc/NewRepairTablePaper.vue +442 -442
  5. package/src/components/pc/WorkHistory.vue +650 -650
  6. package/src/components/pc/WorkListNew.vue +838 -838
  7. package/src/components/sendsingle/onlinecharge.vue +424 -424
  8. package/src/components/workorder/ChangeMeterPageNew.vue +663 -663
  9. package/src/components/workorder/ChangeMeterUserInfo.vue +130 -130
  10. package/src/components/workorder/RepairFirstV.vue +736 -736
  11. package/src/components/workorder/RepairInfo.vue +178 -178
  12. package/src/components/workorder/RepairOrderT.vue +713 -713
  13. package/src/components/workorder/oldMeterPage.vue +104 -104
  14. package/src/components/workorder/repairFirstTable.vue +715 -715
  15. package/src/filiale/jinhong/android/FaultAll.vue +936 -936
  16. package/src/filiale/jinhong/android/ZHihuanFirst.vue +540 -540
  17. package/src/filiale/jinhong/pc/WorkListAllNew.vue +884 -884
  18. package/src/filiale/jinhong/telephone.js +10 -10
  19. package/src/filiale/jinhong/telephoneAndroid.js +13 -13
  20. package/src/filiale/meihekou/android/Othercharge.vue +454 -454
  21. package/src/filiale/meihekou/android/PhoneStandWorkNew.vue +692 -692
  22. package/src/filiale/meihekou/android/ServiceOnlineQuery.vue +477 -477
  23. package/src/filiale/meihekou/pc/WorkListAllNew.vue +925 -901
  24. package/src/filiale/meihekou/pc/WorkListNew.vue +1103 -1049
  25. package/src/filiale/meihekou/telephoneAndroid.js +26 -26
  26. package/src/filiale/xinjiangdexin/telephone.js +16 -16
  27. package/src/filiale/xinliansihui/android/FaultAll.vue +923 -923
  28. package/src/filiale/xinliansihui/android/RepairFirstV.vue +734 -734
  29. package/src/filiale/xinliansihui/android/RepairOrderT.vue +713 -713
  30. package/src/main.js +1 -1
  31. package/src/telephone-android.js +425 -425
  32. package/src/telephone.js +799 -796
@@ -1,442 +1,442 @@
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
- <div v-show="showPdfDownload" class="page-header app-header auto"
9
- style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
10
- <div @click="exportToPDF()">
11
- <img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
12
- </div>
13
- </div>
14
- <work-busy :is-busy="loading"></work-busy>
15
- <div class="container-fluid" style="overflow: scroll">
16
- <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
17
- <div style="width: 100%;margin: auto">
18
- <table class="table table-striped table-bordered" style="margin-bottom: 6px">
19
- <thead>
20
- <tr>
21
- <th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
22
- </tr>
23
- </thead>
24
- <tbody>
25
- <tr>
26
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
27
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
28
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
29
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
30
- </tr>
31
- <tr>
32
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
33
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
34
- </tr>
35
- <tr>
36
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表号:</td>
37
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_meternumber }}</td>
38
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户类型:</td>
39
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_type }}</td>
40
- </tr>
41
- <tr>
42
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
43
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
44
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
45
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
46
- </tr>
47
- <tr>
48
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
49
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
50
- </tr>
51
- </tbody>
52
- </table>
53
- <table class="table table-striped table-bordered">
54
- <thead>
55
- <tr>
56
- <th style="text-align: center;background-color: #dfedfb;color:black;">旧表照片</th>
57
- </tr>
58
- </thead>
59
- <tbody>
60
- <tr>
61
- <td style="margin: auto;text-align: center">
62
- <div class="container" style="max-width: 550px;background: #FFFFFF">
63
- <div class="img" >
64
- <tel-img-self-tel-plus :src="'rs/image/file/'+f_table_path_old" width="400" height="300"></tel-img-self-tel-plus>
65
- </div>
66
- </div>
67
- </td>
68
- </tr>
69
- </tbody>
70
- </table>
71
- <table class="table table-striped table-bordered">
72
- <thead>
73
- <tr>
74
- <th style="text-align: center;background-color: #dfedfb;color:black;">新表照片</th>
75
- </tr>
76
- </thead>
77
- <tr>
78
- <td style="margin: auto;text-align: center">
79
- <div class="container" style="max-width: 500px;background: #FFFFFF">
80
- <div class="img" style="float: none">
81
- <tel-img-self-tel-plus :src="'rs/image/file/'+f_table_path_new" width="400" height="300"></tel-img-self-tel-plus>
82
- </div>
83
- </div>
84
- </td>
85
- </tr>
86
- </table>
87
- </div>
88
- </div>
89
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
90
- <div class="col-md-6" style="height: 100%; overflow: scroll">
91
- <div style="width: 95%; margin-left: 5%">
92
- <table class="table table-striped table-bordered">
93
- <thead>
94
- <tr>
95
- <th colspan="2" style="text-align: center;background-color: #dfedfb;color:black;">换表信息</th>
96
- </tr>
97
- </thead>
98
- <tbody>
99
- <tr>
100
- <td style="text-align: right;width: 40%">换表类型:</td>
101
- <td style="text-align: left">{{ changeTableinfo.f_type || '无' }}</td>
102
- </tr>
103
- <tr>
104
- <td style="text-align: right">旧表号:</td>
105
- <td style="text-align: left">{{ changeTableinfo.f_meternumber_old || '无' }}</td>
106
- </tr>
107
- <tr>
108
- <td style="text-align: right">新表号:</td>
109
- <td style="text-align: left">{{ changeTableinfo.f_meternumber || '无' }}</td>
110
- </tr>
111
- <tr>
112
- <td style="text-align: right">旧表品牌:</td>
113
- <td style="text-align: left">{{ changeTableinfo.f_meter_brand_old || '无' }}</td>
114
- </tr>
115
- <tr>
116
- <td style="text-align: right">新表品牌:</td>
117
- <td style="text-align: left">{{ changeTableinfo.f_meter_brand || '无' }}</td>
118
- </tr>
119
- <tr>
120
- <td style="text-align: right">旧表型号:</td>
121
- <td style="text-align: left">{{ getGasBrandName(changeTableinfo.f_gasbrand_id_old) || '无' }}</td>
122
- </tr>
123
- <tr>
124
- <td style="text-align: right">新表型号:</td>
125
- <td style="text-align: left">{{ getGasBrandName(changeTableinfo.f_gasbrand_id) || '无' }}</td>
126
- </tr>
127
- <tr>
128
- <td style="text-align: right">新表底数:</td>
129
- <td style="text-align: left">{{ changeTableinfo.f_initial_base_new || '无' }}</td>
130
- </tr>
131
- <tr>
132
- <td style="text-align: right">新表封号:</td>
133
- <td style="text-align: left">{{ changeTableinfo.f_metertitles || '无' }}</td>
134
- </tr>
135
- <tr>
136
- <td style="text-align: right">换表人:</td>
137
- <td style="text-align: left">{{ changeTableinfo.f_operator || '无' }}</td>
138
- </tr>
139
- <tr>
140
- <td style="text-align: right">服务费:</td>
141
- <td style="text-align: left">{{ changeTableinfo.f_service_fee || '无' }}</td>
142
- </tr>
143
- <tr>
144
- <td style="text-align: right">账户余额:</td>
145
- <td style="text-align: left">{{ changeTableinfo.f_balance || '无' }}</td>
146
- </tr>
147
- <tr>
148
- <td style="text-align: right">补气气量:</td>
149
- <td style="text-align: left">{{ changeTableinfo.f_remanent_gas || '无' }}</td>
150
- </tr>
151
- <tr>
152
- <td style="text-align: right">补气金额:</td>
153
- <td style="text-align: left">{{ changeTableinfo.f_remanent_money || '无' }}</td>
154
- </tr>
155
- <tr>
156
- <td style="text-align: right">补气单价:</td>
157
- <td style="text-align: left">{{ changeTableinfo.f_remanent_price || '无' }}</td>
158
- </tr>
159
- <tr>
160
- <td style="text-align: right">阶梯使用量:</td>
161
- <td style="text-align: left">{{ changeTableinfo.f_stair_use || '无' }}</td>
162
- </tr>
163
- </tbody>
164
- </table>
165
- </div>
166
- </div>
167
- </div>
168
- </div>
169
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
170
- <header slot="modal-header" class="modal-header" style="font-size: 20px;text-align: center">
171
- {{ picturename }}
172
- </header>
173
- <article slot="modal-body" class="modal-body">
174
- <div class="from-group">
175
- <div class="row">
176
- <div class="col-md-6" v-for="item in showimgs">
177
- <tel-img-self-tel-plus :src="item" width="300" height="400"></tel-img-self-tel-plus>
178
- </div>
179
- </div>
180
- </div>
181
- </article>
182
- <footer slot="modal-footer" class="modal-footer" v-show="false">
183
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
184
- </footer>
185
- </modal>
186
- </template>
187
-
188
- <script>
189
- import html2pdf from 'html2pdf.js'
190
- import {HttpResetClass} from 'vue-client'
191
- export default {
192
- title: '换表详情',
193
- props: ['curactivity', 'service','workorder'],
194
- data () {
195
- return {
196
- showPdfDownload: this.$appdata.getSingleValue('工单结果pdf下载') ? this.$appdata.getSingleValue('工单结果pdf下载') : false,
197
- othercharge:[],
198
- imgshow:false,
199
- picturename:'',
200
- showimg:'',
201
- f_table_path_new:'',
202
- f_table_path_old:'',
203
- baseuserinfo: {},
204
- showimgs:[],
205
- allimgs: [],
206
- servicerepair: [],
207
- serviceall: {},
208
- usermeter:{},
209
- loading: false,
210
- changeTableinfo:{},
211
- tablemodel: [],
212
- }
213
- },
214
- ready () {
215
- this.loading=true
216
- let http = new HttpResetClass()
217
- http.load('POST', 'af-telephone/rs/path/serviceWork', {data: {id: this.curactivity.id}}, {
218
- resolveMsg: null,
219
- rejectMsg: null
220
- }).then(res => {
221
- for (let i = 0; i < res.data.length; i++) {
222
- if (res.data[i].id == this.curactivity.id) {
223
- this.serviceall = res.data[i]
224
- this.baseuserinfo = res.data[i].baseuserinfo
225
- this.servicerepair = res.data[i].servicerepair
226
- this.allimgs = res.data[i].imgs
227
- }
228
- }
229
- this.loading=false
230
- })
231
- this.gettablemodel()
232
- this.gettableimg()
233
- },
234
- methods: {
235
- getGasBrandName(id){
236
- for (let i = 0; i < this.tablemodel.length; i++) {
237
- if (this.tablemodel[i].id == id) {
238
- return this.tablemodel[i].name
239
- }
240
- }
241
- },
242
- //查询气表型号
243
- gettablemodel(){
244
- this.tablemodel=[]
245
- let data = {
246
- items: '*',
247
- tablename: 't_gasmodel',
248
- condition: `1=1`,
249
- orderitem: 'id'
250
- }
251
- let http = new HttpResetClass()
252
- http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
253
- resolveMsg: null,
254
- rejectMsg: null
255
- }).then(res=>{
256
- for (let i = 0; i < res.data.length; i++) {
257
- let obj={
258
- id:res.data[i].id,
259
- name:res.data[i].f_meter_style
260
- }
261
- this.tablemodel.push(obj)
262
- }
263
- })
264
- },
265
- //查询换表照片
266
- gettableimg(){
267
- let data = {
268
- items: '*',
269
- tablename: 't_changetables',
270
- condition: `id = '${this.workorder.f_tablechange_id}'`,
271
- orderitem: 'id'
272
- }
273
- let http = new HttpResetClass()
274
- http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
275
- resolveMsg: null,
276
- rejectMsg: null
277
- }).then(res=>{
278
- this.f_table_path_new =res.data[0].f_table_path_new
279
- this.f_table_path_old =res.data[0].f_table_path_old
280
- this.changeTableinfo=res.data[0]
281
- })
282
- },
283
- showSafeImg(detail){
284
- this.picturename = ''
285
- this.showimgs = []
286
- if (detail.f_defect_id){
287
- let data = {
288
- items: '*',
289
- tablename: 't_devices_items',
290
- condition: `id = '${detail.f_defect_id}'`,
291
- orderitem: '1'
292
- }
293
- let http = new HttpResetClass()
294
- http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
295
- resolveMsg: null,
296
- rejectMsg: null
297
- }).then(res=>{
298
- this.picturename = '隐患照片/维修照片'
299
- if (res.data[0].f_path){
300
- this.showimgs.push('rs/image/file/'+res.data[0].f_path)
301
- }
302
- if(detail.f_first_imgname){
303
- this.showimgs.push('rs/image/file/'+detail.f_first_imgname)
304
- }
305
- this.imgshow = true
306
- })
307
- }else {
308
-
309
- }
310
- },
311
- exportToPDF() {
312
- const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
313
- html2pdf(element)
314
- },
315
- changefailure(val){
316
- let failureall=''
317
- // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
318
- let failure = JSON.parse(val)
319
- for (let i = 0; i <failure.length; i++) {
320
- if (failure[i].failurecase.length>0){
321
- failureall+=failure[i].f_failure_type+":"
322
- for (let j = 0; j < failure[i].failurecase.length; j++) {
323
- failureall+=failure[i].failurecase[j]
324
- if (j+1!=failure[i].failurecase.length){
325
- failureall+=","
326
- }
327
- }
328
-
329
- }else{
330
- failureall+=failure[i].f_failure_type
331
- }
332
- if (i+1!=failure.length){
333
- failureall+=';'
334
- }
335
- }
336
- return failureall
337
- },
338
- imgclose(){
339
- this.imgshow=false
340
- },
341
- ispicture(imgs,imgid){
342
- let imgstr=''
343
- let imgpath=''
344
- for (let i = 0; i < imgs.length; i++) {
345
- if (imgs[i].imgpath==imgid){
346
- imgstr=imgs[i].android_file
347
- imgpath=imgs[i].imgpath
348
- }
349
- }
350
- ////tag
351
- ////tag
352
- if (imgstr){
353
- return true
354
- }
355
- return false
356
- },
357
- showpath (imgs,imgid) {
358
- this.picturename = ''
359
- const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
360
- if (img.length > 0) {
361
- this.showimgs = img
362
- this.picturename = imgid
363
- this.imgshow = true
364
- }
365
- },
366
- back () {
367
- this.$back()
368
- }
369
- }
370
- }
371
- </script>
372
-
373
- <style scoped>
374
- .row {
375
- margin-bottom: 10px;
376
- }
377
-
378
- .col-md-6 {
379
- padding: 5px;
380
- font-size: 14px;
381
- }
382
-
383
- strong {
384
- color: #333;
385
- font-weight: bold;
386
- }
387
-
388
- /* 空值处理 */
389
- span[style*="color: #ccc"] {
390
- color: #ccc !important;
391
- }
392
- .img {
393
- border: 1px solid #9773ed;
394
- width: auto;
395
- height: auto;
396
- float: left;
397
- text-align: center;
398
- margin: 6px;
399
- }
400
-
401
- img {
402
- margin: 6px;
403
- }
404
-
405
-
406
- .container {
407
- margin: 10px auto;
408
- width: 80%;
409
- height: auto;
410
- }
411
-
412
- div::-webkit-scrollbar {
413
- width: 0 !important;
414
- height: 0 !important;
415
- }
416
-
417
- div {
418
- -ms-overflow-style: none;
419
- overflow: -moz-scrollbars-none;
420
- }
421
-
422
- .divmask {
423
- pointer-events: none;
424
- }
425
-
426
- .app-header {
427
- border-radius: 50%;
428
- background: rgba(73, 158, 223, 0.4);
429
- color: #FFF;
430
- padding: 20px;
431
- text-align: center;
432
- font-size: 1.2em;
433
- z-index: 10;
434
- opacity: 0.5;
435
- bottom: 50px;
436
- margin-top: -20px;
437
- position: absolute;
438
- top: 10%;
439
- right: 2%;
440
- height: 8%;
441
- }
442
- </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
+ <div v-show="showPdfDownload" class="page-header app-header auto"
9
+ style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
10
+ <div @click="exportToPDF()">
11
+ <img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
12
+ </div>
13
+ </div>
14
+ <work-busy :is-busy="loading"></work-busy>
15
+ <div class="container-fluid" style="overflow: scroll">
16
+ <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
17
+ <div style="width: 100%;margin: auto">
18
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px">
19
+ <thead>
20
+ <tr>
21
+ <th colspan="6" style="text-align: center;background-color: #dfedfb;color:black;">客户工单信息</th>
22
+ </tr>
23
+ </thead>
24
+ <tbody>
25
+ <tr>
26
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
27
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_name }}</td>
28
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
29
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_userinfo_code }}</td>
30
+ </tr>
31
+ <tr>
32
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细地址:</td>
33
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ baseuserinfo.f_address }}</td>
34
+ </tr>
35
+ <tr>
36
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">表号:</td>
37
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_meternumber }}</td>
38
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户类型:</td>
39
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ baseuserinfo.f_user_type }}</td>
40
+ </tr>
41
+ <tr>
42
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
43
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_come }}</td>
44
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
45
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ serviceall.f_date_leave }}</td>
46
+ </tr>
47
+ <tr>
48
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">备注:</td>
49
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ serviceall.f_remarks }}</td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ <table class="table table-striped table-bordered">
54
+ <thead>
55
+ <tr>
56
+ <th style="text-align: center;background-color: #dfedfb;color:black;">旧表照片</th>
57
+ </tr>
58
+ </thead>
59
+ <tbody>
60
+ <tr>
61
+ <td style="margin: auto;text-align: center">
62
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
63
+ <div class="img" >
64
+ <tel-img-self-tel-plus :src="'rs/image/file/'+f_table_path_old" width="400" height="300"></tel-img-self-tel-plus>
65
+ </div>
66
+ </div>
67
+ </td>
68
+ </tr>
69
+ </tbody>
70
+ </table>
71
+ <table class="table table-striped table-bordered">
72
+ <thead>
73
+ <tr>
74
+ <th style="text-align: center;background-color: #dfedfb;color:black;">新表照片</th>
75
+ </tr>
76
+ </thead>
77
+ <tr>
78
+ <td style="margin: auto;text-align: center">
79
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
80
+ <div class="img" style="float: none">
81
+ <tel-img-self-tel-plus :src="'rs/image/file/'+f_table_path_new" width="400" height="300"></tel-img-self-tel-plus>
82
+ </div>
83
+ </div>
84
+ </td>
85
+ </tr>
86
+ </table>
87
+ </div>
88
+ </div>
89
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
90
+ <div class="col-md-6" style="height: 100%; overflow: scroll">
91
+ <div style="width: 95%; margin-left: 5%">
92
+ <table class="table table-striped table-bordered">
93
+ <thead>
94
+ <tr>
95
+ <th colspan="2" style="text-align: center;background-color: #dfedfb;color:black;">换表信息</th>
96
+ </tr>
97
+ </thead>
98
+ <tbody>
99
+ <tr>
100
+ <td style="text-align: right;width: 40%">换表类型:</td>
101
+ <td style="text-align: left">{{ changeTableinfo.f_type || '无' }}</td>
102
+ </tr>
103
+ <tr>
104
+ <td style="text-align: right">旧表号:</td>
105
+ <td style="text-align: left">{{ changeTableinfo.f_meternumber_old || '无' }}</td>
106
+ </tr>
107
+ <tr>
108
+ <td style="text-align: right">新表号:</td>
109
+ <td style="text-align: left">{{ changeTableinfo.f_meternumber || '无' }}</td>
110
+ </tr>
111
+ <tr>
112
+ <td style="text-align: right">旧表品牌:</td>
113
+ <td style="text-align: left">{{ changeTableinfo.f_meter_brand_old || '无' }}</td>
114
+ </tr>
115
+ <tr>
116
+ <td style="text-align: right">新表品牌:</td>
117
+ <td style="text-align: left">{{ changeTableinfo.f_meter_brand || '无' }}</td>
118
+ </tr>
119
+ <tr>
120
+ <td style="text-align: right">旧表型号:</td>
121
+ <td style="text-align: left">{{ getGasBrandName(changeTableinfo.f_gasbrand_id_old) || '无' }}</td>
122
+ </tr>
123
+ <tr>
124
+ <td style="text-align: right">新表型号:</td>
125
+ <td style="text-align: left">{{ getGasBrandName(changeTableinfo.f_gasbrand_id) || '无' }}</td>
126
+ </tr>
127
+ <tr>
128
+ <td style="text-align: right">新表底数:</td>
129
+ <td style="text-align: left">{{ changeTableinfo.f_initial_base_new || '无' }}</td>
130
+ </tr>
131
+ <tr>
132
+ <td style="text-align: right">新表封号:</td>
133
+ <td style="text-align: left">{{ changeTableinfo.f_metertitles || '无' }}</td>
134
+ </tr>
135
+ <tr>
136
+ <td style="text-align: right">换表人:</td>
137
+ <td style="text-align: left">{{ changeTableinfo.f_operator || '无' }}</td>
138
+ </tr>
139
+ <tr>
140
+ <td style="text-align: right">服务费:</td>
141
+ <td style="text-align: left">{{ changeTableinfo.f_service_fee || '无' }}</td>
142
+ </tr>
143
+ <tr>
144
+ <td style="text-align: right">账户余额:</td>
145
+ <td style="text-align: left">{{ changeTableinfo.f_balance || '无' }}</td>
146
+ </tr>
147
+ <tr>
148
+ <td style="text-align: right">补气气量:</td>
149
+ <td style="text-align: left">{{ changeTableinfo.f_remanent_gas || '无' }}</td>
150
+ </tr>
151
+ <tr>
152
+ <td style="text-align: right">补气金额:</td>
153
+ <td style="text-align: left">{{ changeTableinfo.f_remanent_money || '无' }}</td>
154
+ </tr>
155
+ <tr>
156
+ <td style="text-align: right">补气单价:</td>
157
+ <td style="text-align: left">{{ changeTableinfo.f_remanent_price || '无' }}</td>
158
+ </tr>
159
+ <tr>
160
+ <td style="text-align: right">阶梯使用量:</td>
161
+ <td style="text-align: left">{{ changeTableinfo.f_stair_use || '无' }}</td>
162
+ </tr>
163
+ </tbody>
164
+ </table>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
170
+ <header slot="modal-header" class="modal-header" style="font-size: 20px;text-align: center">
171
+ {{ picturename }}
172
+ </header>
173
+ <article slot="modal-body" class="modal-body">
174
+ <div class="from-group">
175
+ <div class="row">
176
+ <div class="col-md-6" v-for="item in showimgs">
177
+ <tel-img-self-tel-plus :src="item" width="300" height="400"></tel-img-self-tel-plus>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </article>
182
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
183
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
184
+ </footer>
185
+ </modal>
186
+ </template>
187
+
188
+ <script>
189
+ import html2pdf from 'html2pdf.js'
190
+ import {HttpResetClass} from 'vue-client'
191
+ export default {
192
+ title: '换表详情',
193
+ props: ['curactivity', 'service','workorder'],
194
+ data () {
195
+ return {
196
+ showPdfDownload: this.$appdata.getSingleValue('工单结果pdf下载') ? this.$appdata.getSingleValue('工单结果pdf下载') : false,
197
+ othercharge:[],
198
+ imgshow:false,
199
+ picturename:'',
200
+ showimg:'',
201
+ f_table_path_new:'',
202
+ f_table_path_old:'',
203
+ baseuserinfo: {},
204
+ showimgs:[],
205
+ allimgs: [],
206
+ servicerepair: [],
207
+ serviceall: {},
208
+ usermeter:{},
209
+ loading: false,
210
+ changeTableinfo:{},
211
+ tablemodel: [],
212
+ }
213
+ },
214
+ ready () {
215
+ this.loading=true
216
+ let http = new HttpResetClass()
217
+ http.load('POST', 'af-telephone/rs/path/serviceWork', {data: {id: this.curactivity.id}}, {
218
+ resolveMsg: null,
219
+ rejectMsg: null
220
+ }).then(res => {
221
+ for (let i = 0; i < res.data.length; i++) {
222
+ if (res.data[i].id == this.curactivity.id) {
223
+ this.serviceall = res.data[i]
224
+ this.baseuserinfo = res.data[i].baseuserinfo
225
+ this.servicerepair = res.data[i].servicerepair
226
+ this.allimgs = res.data[i].imgs
227
+ }
228
+ }
229
+ this.loading=false
230
+ })
231
+ this.gettablemodel()
232
+ this.gettableimg()
233
+ },
234
+ methods: {
235
+ getGasBrandName(id){
236
+ for (let i = 0; i < this.tablemodel.length; i++) {
237
+ if (this.tablemodel[i].id == id) {
238
+ return this.tablemodel[i].name
239
+ }
240
+ }
241
+ },
242
+ //查询气表型号
243
+ gettablemodel(){
244
+ this.tablemodel=[]
245
+ let data = {
246
+ items: '*',
247
+ tablename: 't_gasmodel',
248
+ condition: `1=1`,
249
+ orderitem: 'id'
250
+ }
251
+ let http = new HttpResetClass()
252
+ http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
253
+ resolveMsg: null,
254
+ rejectMsg: null
255
+ }).then(res=>{
256
+ for (let i = 0; i < res.data.length; i++) {
257
+ let obj={
258
+ id:res.data[i].id,
259
+ name:res.data[i].f_meter_style
260
+ }
261
+ this.tablemodel.push(obj)
262
+ }
263
+ })
264
+ },
265
+ //查询换表照片
266
+ gettableimg(){
267
+ let data = {
268
+ items: '*',
269
+ tablename: 't_changetables',
270
+ condition: `id = '${this.workorder.f_tablechange_id}'`,
271
+ orderitem: 'id'
272
+ }
273
+ let http = new HttpResetClass()
274
+ http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
275
+ resolveMsg: null,
276
+ rejectMsg: null
277
+ }).then(res=>{
278
+ this.f_table_path_new =res.data[0].f_table_path_new
279
+ this.f_table_path_old =res.data[0].f_table_path_old
280
+ this.changeTableinfo=res.data[0]
281
+ })
282
+ },
283
+ showSafeImg(detail){
284
+ this.picturename = ''
285
+ this.showimgs = []
286
+ if (detail.f_defect_id){
287
+ let data = {
288
+ items: '*',
289
+ tablename: 't_devices_items',
290
+ condition: `id = '${detail.f_defect_id}'`,
291
+ orderitem: '1'
292
+ }
293
+ let http = new HttpResetClass()
294
+ http.load('post','af-telephone/rs/sql/tel_singleTable_OrderBy',{data:data},{
295
+ resolveMsg: null,
296
+ rejectMsg: null
297
+ }).then(res=>{
298
+ this.picturename = '隐患照片/维修照片'
299
+ if (res.data[0].f_path){
300
+ this.showimgs.push('rs/image/file/'+res.data[0].f_path)
301
+ }
302
+ if(detail.f_first_imgname){
303
+ this.showimgs.push('rs/image/file/'+detail.f_first_imgname)
304
+ }
305
+ this.imgshow = true
306
+ })
307
+ }else {
308
+
309
+ }
310
+ },
311
+ exportToPDF() {
312
+ const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
313
+ html2pdf(element)
314
+ },
315
+ changefailure(val){
316
+ let failureall=''
317
+ // val=[{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""},{"f_failure_type":"抽油烟机","failurecase":[],"f_equipment":""}]
318
+ let failure = JSON.parse(val)
319
+ for (let i = 0; i <failure.length; i++) {
320
+ if (failure[i].failurecase.length>0){
321
+ failureall+=failure[i].f_failure_type+":"
322
+ for (let j = 0; j < failure[i].failurecase.length; j++) {
323
+ failureall+=failure[i].failurecase[j]
324
+ if (j+1!=failure[i].failurecase.length){
325
+ failureall+=","
326
+ }
327
+ }
328
+
329
+ }else{
330
+ failureall+=failure[i].f_failure_type
331
+ }
332
+ if (i+1!=failure.length){
333
+ failureall+=';'
334
+ }
335
+ }
336
+ return failureall
337
+ },
338
+ imgclose(){
339
+ this.imgshow=false
340
+ },
341
+ ispicture(imgs,imgid){
342
+ let imgstr=''
343
+ let imgpath=''
344
+ for (let i = 0; i < imgs.length; i++) {
345
+ if (imgs[i].imgpath==imgid){
346
+ imgstr=imgs[i].android_file
347
+ imgpath=imgs[i].imgpath
348
+ }
349
+ }
350
+ ////tag
351
+ ////tag
352
+ if (imgstr){
353
+ return true
354
+ }
355
+ return false
356
+ },
357
+ showpath (imgs,imgid) {
358
+ this.picturename = ''
359
+ const img = imgs.filter(res => res.imgpath === imgid).map(res => 'rs/image/file/' + res.android_file)
360
+ if (img.length > 0) {
361
+ this.showimgs = img
362
+ this.picturename = imgid
363
+ this.imgshow = true
364
+ }
365
+ },
366
+ back () {
367
+ this.$back()
368
+ }
369
+ }
370
+ }
371
+ </script>
372
+
373
+ <style scoped>
374
+ .row {
375
+ margin-bottom: 10px;
376
+ }
377
+
378
+ .col-md-6 {
379
+ padding: 5px;
380
+ font-size: 14px;
381
+ }
382
+
383
+ strong {
384
+ color: #333;
385
+ font-weight: bold;
386
+ }
387
+
388
+ /* 空值处理 */
389
+ span[style*="color: #ccc"] {
390
+ color: #ccc !important;
391
+ }
392
+ .img {
393
+ border: 1px solid #9773ed;
394
+ width: auto;
395
+ height: auto;
396
+ float: left;
397
+ text-align: center;
398
+ margin: 6px;
399
+ }
400
+
401
+ img {
402
+ margin: 6px;
403
+ }
404
+
405
+
406
+ .container {
407
+ margin: 10px auto;
408
+ width: 80%;
409
+ height: auto;
410
+ }
411
+
412
+ div::-webkit-scrollbar {
413
+ width: 0 !important;
414
+ height: 0 !important;
415
+ }
416
+
417
+ div {
418
+ -ms-overflow-style: none;
419
+ overflow: -moz-scrollbars-none;
420
+ }
421
+
422
+ .divmask {
423
+ pointer-events: none;
424
+ }
425
+
426
+ .app-header {
427
+ border-radius: 50%;
428
+ background: rgba(73, 158, 223, 0.4);
429
+ color: #FFF;
430
+ padding: 20px;
431
+ text-align: center;
432
+ font-size: 1.2em;
433
+ z-index: 10;
434
+ opacity: 0.5;
435
+ bottom: 50px;
436
+ margin-top: -20px;
437
+ position: absolute;
438
+ top: 10%;
439
+ right: 2%;
440
+ height: 8%;
441
+ }
442
+ </style>