telephone-clients 4.0.0-1-5 → 4.0.0-1-6

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.
@@ -0,0 +1,825 @@
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--返回<span class="glyphicon glyphicon-menu-right"></span>-->
4
+ <!--</div>-->
5
+ <div class="no-close row android-repair-order" style="background-color: #f9f9f9">
6
+ <div class="col-sm-12 col-xs-12" >
7
+ <ul class="nav nav-tabs" style="background:#ffffff;">
8
+ <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
9
+ v-if="$index < number+1 && $index < faultshow.number" >
10
+ <a href="javascript:void(0)" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
11
+ <span class="spanboder">{{row.header}}</span>
12
+ <img class="butt2" :src="imgback(row.complete === componentName)"></a>
13
+ <p></p>
14
+ </li>
15
+ <div class="col-sm-12 col-xs-12 repair-bg" v-show="routeShow">
16
+ <route name='repair' :reuse="false"></route>
17
+ </div>
18
+ <li v-for="row in tabs" @click="tabSelect(row,$index)" :class="{active1: row.complete === componentName}"
19
+ v-if="$index > number && $index < faultshow.number ">
20
+ <a href="javascript:void(0)" style="background-color: #ffffff;color: #666666;font-size: 16px;font-family:SimSun" :class="row.class">
21
+ <span class="spanboder">{{row.header}}</span>
22
+ <img class="butt2" :src="imgback(row.complete === componentName)"></a>
23
+ <p></p>
24
+ </li>
25
+ <div class="col-sm-12 col-xs-12 repair-bg">
26
+ <route name='upload' :reuse="false"></route>
27
+ </div>
28
+ </ul>
29
+ </div>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ // 户内维修
35
+ import Vue from 'vue'
36
+ import RepairInfo from '../../../components/workorder/RepairInfo'
37
+ import RepairDetails from '../../../components/workorder/RepairDetails'
38
+ import RepairUserInfo from '../../../components/workorder/RepairUserInfo'
39
+ import Outlay from './Outlay'
40
+ import FaultAll from '../../../components/workorder/FaultAll'
41
+ import { HttpResetClass } from 'vue-client'
42
+ import * as Util from '../../../components/Util'
43
+
44
+ let loadParamGem = async function (self) {
45
+ await self.$LoadParams.loadParam()
46
+ }
47
+
48
+ export default {
49
+ title: '维修单',
50
+ props: {
51
+ worktype:{
52
+ type: String,
53
+ default: '报修单'
54
+ },
55
+ //分辨平板还是pc
56
+ system: '',
57
+ // 要处理的工单
58
+ row: {
59
+ type: Object
60
+ },
61
+ // 要显示的维修单
62
+ repair: {
63
+ type: Object
64
+ },
65
+ // 是否是显示
66
+ show: {
67
+ type: Boolean,
68
+ default: false
69
+ },
70
+ issee:'',
71
+ ischeck:{
72
+ type: Boolean,
73
+ default: false
74
+ }
75
+ },
76
+
77
+ data() {
78
+ return {
79
+ // 维修项
80
+ repairdetails:{},
81
+ // userinfo: '',
82
+ routeShow:true,
83
+ number:0,
84
+ shupingshow:false,
85
+ pipeline: {},
86
+ model: {
87
+ serviceacitivity: [{
88
+ baseuserinfo: {
89
+ f_credentials:'身份证'
90
+ },
91
+ basemeterinfo: {},
92
+ matterinfo: {},
93
+ servicerepair: [],
94
+ // 照片
95
+ imgs: [],
96
+ // 签名照片名字
97
+ // 照片
98
+ material: [], //维修的一批材料
99
+ f_date: '',
100
+ f_date_come: '',
101
+ f_date_leave: '',
102
+ f_is_userfilesadd:'未上传',
103
+ f_dealtype:'线下处理',
104
+ f_workorder_type:this.worktype ? this.worktype : '报修单'
105
+ }]
106
+ },
107
+ details: [],
108
+ ids: '',
109
+ savevalid: {
110
+ uservalid: false,
111
+ doorvalid: true,
112
+ changetable: false
113
+ },
114
+ doordetails: {},
115
+ devicedetails: {},
116
+ cookdetails: {},
117
+ componentName: 'repair-info',
118
+ tabs: [
119
+ // 参数全部设置成空,在ready时,等model处理好了,再添加
120
+ {
121
+ header: '客户工单信息', complete: 'repair-info', class: 'repair-info-class', props: null
122
+ },
123
+ // {
124
+ // header: '换表', complete: 'change-meter-page', class: 'change-meter-page-class', props: null
125
+ //
126
+ // },
127
+ // {
128
+ // header: '客户基本信息',complete:'repair-user-info', class: 'repair-user-info-class', props: null
129
+ // },
130
+ // 'door-service': {
131
+ // header: '户内维修', class: 'door-service-class', props: null
132
+ // },
133
+ // 'tel-change-matter': {
134
+ // header: '换表', class: 'cooking-utensils-class', props: null
135
+ // },
136
+ // 'pipeline': {
137
+ // header: '管道', class: 'pipeline-class', props: null
138
+ // },
139
+ // 'device-service': {
140
+ // header: '设备维修', class: 'device-service-class', props: null
141
+ // },
142
+ // 'first-gas-check': {
143
+ // header: '置换通气', class: 'cooking-utensils-class', props: null
144
+ // },
145
+ {
146
+ header: '拍照及签名',complete:'outlay', class: 'outlay-class', props: null
147
+ }
148
+ // {
149
+ // header: '上传工单',complete:'fault-all', class: 'fault-all-class', props: null
150
+ // }
151
+ ],
152
+ faultshow:{
153
+ number : 8
154
+ } // 控制 故障汇总 在 菜单里显示与否
155
+ }
156
+ },
157
+ methods: {
158
+ // 录音方法
159
+ record() {
160
+ //tag
161
+ let fileName
162
+ if (!this.f_recording1_path) {
163
+ fileName = Util.guid() + '.amr'
164
+ } else {
165
+ fileName = Util.getFileName(this.f_recording1_path)
166
+ }
167
+ //HostApp.__this__ = this
168
+ /*调用无限制录音模块*/
169
+ let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
170
+ //tag
171
+ if (startOrStopState.code == 200) {
172
+ this.model.f_recording1_path = "/storage/emulated/0/safecheck/" + fileName
173
+ console.log("录音文件地址"+this.model.f_recording1_path)
174
+ //tag
175
+ return true;
176
+ }else {
177
+ return false;
178
+ }
179
+ },
180
+ imgback(val){
181
+ if(val && this.routeShow){
182
+ return require('../../../assets/xiangxia1.png')
183
+ }else{
184
+ return require('../../../assets/xiangyou1.png')
185
+ }
186
+ },
187
+ // 选择tab
188
+ tabSelect (item,number) {
189
+ // 处理关闭/显示 内容
190
+ if(this.number == number && !this.routeShow ){
191
+ this.routeShow = true
192
+ }else if(this.number == number && this.routeShow){
193
+
194
+ this.routeShow = false
195
+ }else if(this.number != item.complete){
196
+ this.routeShow = true
197
+ }
198
+ this.number = number
199
+ this.componentName = item.complete
200
+ if(item.complete == 'repair-details'){
201
+ if (this.row.f_workorder_type == '置换通气单') {
202
+ // 根据置换单的用户类型,查询气价信息给下拉框赋值
203
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/queryGaspriceGroupByFilaleid`,
204
+ {data: {f_filialeid:Vue.user.orgid,f_gasproperties:this.row.f_gasproperties}},
205
+ {resolveMsg: null, rejectMsg: null}).then((rese)=>{
206
+ //tag)
207
+ let pricelist = []
208
+ if (rese.data) {
209
+ rese.data.forEach(item => pricelist.push({label: item.f_price_name, value: item.f_price_name}))
210
+ }
211
+ this.pricelists = pricelist;
212
+ //tag)
213
+ let itemprops = {
214
+ model: this.model.serviceacitivity[0],
215
+ service: this.model,
216
+ show: this.show,
217
+ repairitem: item,
218
+ faultshow :this.faultshow,
219
+ shutype:'shu',
220
+ tabs:this.tabs,
221
+ repairdetails:this.repairdetails,
222
+ issee:this.issee,
223
+ pricelists: this.pricelists //根据置换单下派的用气性质和公司查询的气价信息
224
+ }
225
+ //tag
226
+ //tag)
227
+ this.$goto(item.complete, itemprops, 'repair')
228
+ })
229
+ } else {
230
+ let itemprops = {
231
+ model: this.model.serviceacitivity[0],
232
+ service: this.model,
233
+ show: this.show,
234
+ repairitem: item,
235
+ faultshow :this.faultshow,
236
+ shutype:'shu',
237
+ tabs:this.tabs,
238
+ repairdetails:this.repairdetails,
239
+ issee:this.issee,
240
+ pricelists: [{label:"无",value:"无"}]
241
+ }
242
+ //tag
243
+ //tag)
244
+ this.$goto(item.complete, itemprops, 'repair')
245
+ }
246
+ }else{
247
+ //tag
248
+ // //tag)
249
+ // //tag)
250
+ if(this.routeShow) {
251
+ //tag)
252
+ // //tag)
253
+ this.$goto(item.complete, this.tabs[number].props, 'repair')
254
+ }
255
+ }
256
+ this.shupingshow = true
257
+ },
258
+ // 给组件添加参数
259
+ getImgPath() {
260
+ for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
261
+ this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
262
+ }
263
+ this.ids = this.ids.substring(0, this.ids.length - 1)
264
+ if(this.ids){
265
+ this.getImgGen();
266
+ }
267
+ },
268
+ getImgGen(){
269
+ let http = new HttpResetClass()
270
+ http.load('POST','af-telephone/rs/sql/tel_singleTable_OrderBy', {data: {
271
+ items: '*',
272
+ tablename: 't_files',
273
+ condition: `id in (${this.ids})`,
274
+ orderitem: 'id'
275
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
276
+ for (let i = 0; i < res.data.length; i++) {
277
+ for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
278
+ //tag)
279
+ //tag
280
+ if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
281
+ this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
282
+ }
283
+ }
284
+
285
+ }
286
+ })
287
+ },
288
+ setProps() {
289
+ // 给各自组件添加参数
290
+ for(var i =0;i<this.tabs.length;i++ ){
291
+ if(this.tabs[i].complete == 'repair-info'){
292
+ this.tabs[i].props = {
293
+ service: this.row,
294
+ model: this.model.serviceacitivity[0].baseuserinfo,
295
+ data: this.model.serviceacitivity[0],
296
+ savevalid: this.savevalid,
297
+ repair: this.row,
298
+ show: this.show,
299
+ // userinfo: this.userinfo
300
+ shutype:'shu',
301
+ worktype:this.worktype,
302
+ issee:this.issee,
303
+ ischeck:this.ischeck
304
+ }
305
+ }else if (this.tabs[i].complete == 'repair-user-info'){
306
+ this.tabs[i].props = {
307
+ model: this.model.serviceacitivity[0].baseuserinfo,
308
+ data: this.model.serviceacitivity[0],
309
+ savevalid: this.savevalid,
310
+ repair: this.row,
311
+ show: this.show,
312
+ // userinfo: this.userinfo
313
+ shutype:'shu',
314
+ worktype:this.worktype,
315
+ issee:this.issee
316
+ }
317
+ } else if (this.tabs[i].complete == 'outlay'){
318
+ this.tabs[i].props = {
319
+ model: this.model.serviceacitivity[0],
320
+ service: this.model,
321
+ show: this.show,
322
+ system: this.system,
323
+ f_single_man: this.model.f_single_man,
324
+ shutype: 'shu',
325
+ issee:this.issee
326
+ }
327
+ }else if (this.tabs[i].complete == 'fault-all'){
328
+ this.tabs[i].props = {
329
+ msg: this.model, model: this.model.serviceacitivity[0],
330
+ service: this.model, system: this.system, show: this.show,
331
+ savevalid: this.savevalid,
332
+ issee: this.issee
333
+ }
334
+ }else if (this.tabs[i].complete == 'change-meter-page') {
335
+ //tag
336
+ //tag)
337
+ this.tabs[i].props = {
338
+ service: this.row,
339
+ model: this.model.serviceacitivity[0].basemeterinfo,
340
+ data: this.model.serviceacitivity[0],
341
+ savevalid: this.savevalid,
342
+ repair: this.row,
343
+ show: this.show,
344
+ // userinfo: this.userinfo
345
+ shutype: 'shu',
346
+ worktype: this.worktype,
347
+ issee: this.issee
348
+ }
349
+ }
350
+ }
351
+ // 参数设置成功,在转向第一个页签
352
+ this.$goto('repair-info', this.tabs[0].props, 'repair')
353
+ if(!this.issee){
354
+ this.gotoUpload()
355
+ }
356
+ },
357
+
358
+ getRepair() {
359
+ if (Vue.android) {
360
+ //tag
361
+ if (this.$androidUtil.isTest) {
362
+ //tag
363
+ this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
364
+ this.model.serviceacitivity = ret.data
365
+ this.getDetails()
366
+ })
367
+ } else {
368
+ //tag
369
+ let result = this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}})
370
+ //tag
371
+ if (result.code === 200) {
372
+ // this.show = true
373
+ this.model.serviceacitivity = result.data
374
+ this.getDetails()
375
+ }
376
+ }
377
+ } else {
378
+ //tag
379
+ this.getService();
380
+ }
381
+ },
382
+ getService(){
383
+ let http = new HttpResetClass()
384
+ http.load('POST','af-telephone/rs/path/serviceWork', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
385
+ this.model.serviceacitivity = [res.data[0]]
386
+ this.getDetails()
387
+ })
388
+ },
389
+ sortDetails(){
390
+ for (let i = 0; i < this.details.length; i++) {
391
+ if (this.details[i].details.length) {
392
+ for (let j = 0; j < this.details[i].details.length; j++) {
393
+ if (this.details[i].details[j].f_type === 'a') {
394
+ this.doordetails = {details: this.details[i].details}
395
+ break
396
+ }
397
+ if (this.details[i].details[j].f_type === 'b') {
398
+ this.devicedetails = {details: this.details[i].details}
399
+ break
400
+ }
401
+ if (this.details[i].details[j].f_type === 'c') {
402
+ this.cookdetails = {details: this.details[i].details}
403
+ break
404
+ }
405
+ }
406
+ }
407
+ }
408
+ },
409
+ getDetails() {
410
+ if (Vue.android) {
411
+ //tag
412
+ if (this.$androidUtil.isTest) {
413
+ //tag
414
+ this.$androidUtil.path({'alias': 'getDetails', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
415
+ this.details = ret.data
416
+ this.sortDetails()
417
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
418
+ this.getImgPath()
419
+ }
420
+ this.setProps()
421
+ })
422
+ } else {
423
+ //tag
424
+ //tag
425
+ let result = this.$androidUtil.path({'alias': 'getDetails', 'data': {id:this.row.serviceacitivity[0].id}})
426
+ //tag
427
+ if (result.code === 200) {
428
+ this.details = result.data
429
+ this.sortDetails()
430
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
431
+ this.getImgPath()
432
+ }
433
+ this.setProps()
434
+ }
435
+ }
436
+ } else {
437
+ //tag
438
+ this.getDetailsGen();
439
+ }
440
+ },
441
+ getDetailsGen(){
442
+ let http = new HttpResetClass()
443
+ http.load('POST','af-telephone/rs/path/getDetails', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
444
+ this.details = res.data
445
+ // this.sortDetails()
446
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
447
+ this.getImgPath()
448
+ }
449
+ this.setProps()
450
+ })
451
+ },
452
+ // 获取维修数据
453
+ getRepairInfo(){
454
+ if (this.$androidUtil.isTest) {
455
+ // android模拟
456
+ this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}}).then((ret) => {
457
+ this.model.serviceacitivity = ret.data[0].serviceacitivity
458
+ this.setProps()
459
+ })
460
+ } else {
461
+ let result = this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}})
462
+ if (result.code == 200) {
463
+ //tag)
464
+ //tag)
465
+ this.model.serviceacitivity = result.data[0].serviceacitivity
466
+ this.setProps()
467
+ }
468
+ }
469
+ },
470
+ // 复制数据
471
+ copy() {
472
+ if (this.row) {
473
+ //tag
474
+ this.model = Object.assign({}, this.model, this.row)
475
+ //tag
476
+ //tag)
477
+ // 获取维修数据
478
+ if(Vue.android){
479
+ if(this.row.f_orderstatus == '本地保存'){
480
+ this.getRepairInfo()
481
+ }
482
+ }
483
+ }
484
+ // 指定了维修单,获取维修单数据,给工单
485
+ if (this.repair) {
486
+ this.getRepair()
487
+ } else {
488
+ //tag
489
+ this.setProps()
490
+ }
491
+ },
492
+ back () {
493
+ let _this = this
494
+ if(this.issee){
495
+ _this.$back()
496
+ return
497
+ }
498
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
499
+ if (res === 'confirm') {
500
+ _this.$back()
501
+ }
502
+ })
503
+ },
504
+ confirm(){
505
+ this.$dispatch('confirm')
506
+ },
507
+ mute() {
508
+ HostApp.mute()
509
+ },
510
+ // 维修项赋给维修单的维修集合内
511
+ getRepairDetails() {
512
+ if (this.repairdetails.length > 0) {
513
+ let repairlist = []
514
+ for (let j = 0;j< this.repairdetails.length;j++) {
515
+ let repairitem = []
516
+ for (var i = 0;i< this.repairdetails[j].details.length;i++) {
517
+ if(this.row.f_source == '安检'){
518
+ repairitem.push({f_project:this.repairdetails[j].details[i].f_project,f_defect_remark:this.repairdetails[j].details[i].f_defect_remark,type:this.repairdetails[j].details[i].type,f_defect_id:this.repairdetails[j].details[i].f_defect_id,f_status:'',f_content:''})
519
+ }else{
520
+ repairitem.push({f_project:this.repairdetails[j].details[i].f_project,type:this.repairdetails[j].details[i].type,f_status:'',f_content:'',f_is_must:this.repairdetails[j].details[i].f_is_must ? 'true':'false'})
521
+ }
522
+ }
523
+ repairlist.push({f_type: this.repairdetails[j].f_type, details: repairitem,imgs:[],f_remarks:this.repairdetails[j].f_remarks})
524
+ }
525
+ this.model.serviceacitivity[0].servicerepair = Object.assign([], repairlist)
526
+ }
527
+ //tag)
528
+ },
529
+ gotoUpload(){
530
+ this.$goto('fault-all', {
531
+ msg: this.model, model: this.model.serviceacitivity[0],
532
+ service: this.model, system: this.system, show: this.show,
533
+ savevalid: this.savevalid,
534
+ issee:this.issee,
535
+ parentPage:'CurrentCreate',
536
+ ischeck:this.ischeck
537
+ }, 'upload')
538
+ }
539
+ },
540
+ watch: {
541
+ 'row' () {
542
+ //tag
543
+ this.copy()
544
+ }
545
+ },
546
+ ready () {
547
+ // 1.先判断是否是安检转来的
548
+ // 2.判断工单类型 报修单/置换通气单
549
+ // 3.判断用户类型 民用及非民用
550
+ // 是否是复检,如果是复检,读复检配置
551
+ if(this.ischeck){
552
+ if(Vue.config.telephone.IsCheckConfig && Vue.config.telephone.IsCheckConfig.data != undefined){
553
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.IsCheckConfig.data)))
554
+ }else{
555
+ this.repairdetails = []
556
+ console.log('无复检配置项')
557
+ }
558
+ } else if(this.row.f_source == '安检'){
559
+ //tag)
560
+ this.repairdetails = JSON.parse(this.row.f_repairitems).data
561
+ //tag}`)
562
+ }else{
563
+ //tag
564
+ if(this.row.f_workorder_type == '报修单'){
565
+ if(Vue.config.telephone.RepairsConfig.data != undefined){
566
+ //tag
567
+ //tag)
568
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.RepairsConfig.data)))
569
+ }else{
570
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
571
+ }
572
+ }else if(this.row.f_workorder_type == '置换通气单'){
573
+ //tag
574
+ // 判断用户类型 民用/非民用
575
+ if(this.row.f_user_type == '民用'){
576
+ //tag
577
+ if(Vue.config.telephone.SubstitConfigCivil.data != undefined){
578
+ //tag
579
+ //tag)
580
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigCivil.data)))
581
+ }else {
582
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
583
+ }
584
+ }else{
585
+ //tag
586
+ if(Vue.config.telephone.SubstitConfigBusiness.data != undefined){
587
+ //tag
588
+ //tag)
589
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigBusiness.data)))
590
+ }else{
591
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
592
+ }
593
+ }
594
+ }else{
595
+ //tag
596
+ // 判断用户类型 民用/非民用
597
+ if(this.row.f_user_type == '民用'){
598
+ //tag
599
+ if(Vue.config.telephone.InstallConfigCivil.data != undefined){
600
+ //tag
601
+ //tag)
602
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigCivil.data)))
603
+ }else {
604
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
605
+ }
606
+ }else{
607
+ //tag
608
+ if(Vue.config.telephone.InstallConfigBusiness.data != undefined){
609
+ //tag
610
+ //tag)
611
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigBusiness.data)))
612
+ }else{
613
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
614
+ }
615
+ }
616
+
617
+
618
+ }
619
+ }
620
+ // this.repairdetails = [{"f_type": "换表","details": [{"f_project":"换表类型","type": "selector","options": [{"data": "换计费器"},{"data": "换新表"},{"data": "气表清零"}]},{"f_project":"换表原因","type": "selector","options": [{"data": "换新表"}]},{"f_project":"旧表底数","type": "string"}]},{"f_type": "改管","details": [{"f_project":"换表原因","type": "selector","options": [{"data": "换新表"}]},{"f_project":"旧表底数","type": "string"}]}]
621
+ // 维修项传到维修单中
622
+ this.getRepairDetails()
623
+ //loadParamGem(this)
624
+ //tag
625
+ this.copy()
626
+ //tag
627
+ // tbs合并数组
628
+ if( this.model.serviceacitivity[0].servicerepair.length > 0){
629
+ for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
630
+ this.tabs.splice(1 + i, 0, {header:this.model.serviceacitivity[0].servicerepair[i].f_type,complete:'repair-details',items:this.model.serviceacitivity[0].servicerepair[i].details,class:'repair-details-class',number:i,details:Object.assign({}, JSON.parse(JSON.stringify(this.model.serviceacitivity[0].servicerepair[i])))})
631
+ }
632
+ }
633
+ //tag
634
+ this.faultshow.number = this.tabs.length
635
+ if (this.show || this.repair) {
636
+ this.faultshow.number = this.tabs.length
637
+ }
638
+ let isRecodr = this.$appdata.getSingleValue('呼叫无限制录音'); //单值参数,为true则是开启全程录音
639
+ if (isRecodr) {
640
+ if (isRecodr == 'true' && !this.repair) {
641
+ this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
642
+ // 初始化录音
643
+ this.record()
644
+ }
645
+ }
646
+ },
647
+ components: {
648
+ // 'door-service': DoorService,
649
+ 'repair-info': RepairInfo,
650
+ 'repair-user-info': RepairUserInfo,
651
+ 'outlay': Outlay,
652
+ 'fault-all': FaultAll,
653
+ 'repair-details':RepairDetails
654
+ // 'change-meter-page': ChangeMeterPage
655
+ // 'pipeline': Pipeline,
656
+ // 'device-service': DeviceService,
657
+ // 'trouble-removal': TroubleRemoval,
658
+ // 'cooking-utensils': CookingUtensils,
659
+ // 'repair-matter-info': RepairMatterInfo,
660
+ // 'first-gas-check': FirstGasCheck,
661
+ // 'tel-change-matter': TelChangeMatter/
662
+ },
663
+ events: {
664
+ 'tijiao': function () {
665
+ // 事件回调内的 `this` 自动绑定到注册它的实例上
666
+ this.confirm()
667
+ },
668
+ 'gotorepairinfo':function (){
669
+ let pardate = {
670
+ _this:this,
671
+ title:'维修信息',
672
+ safe:false
673
+ }
674
+ let curActivity = {
675
+ id:this.row.workid
676
+ }
677
+ this.$dispatch('gotoson',pardate)
678
+ this.$goto('repair-paper-andorid', {service:this.row,curActivity: curActivity}, 'self')
679
+ }
680
+ }
681
+ }
682
+ </script>
683
+ <style lang="less">
684
+ @import "../../../src/bootstrap/less/variables.less";
685
+ //@import "../../../node_modules/system-clients/src/styles/less/variables.less";
686
+ .tab-befor-img (@url) {
687
+ content: '';
688
+ background-image: url("@{url}");
689
+ background-size: 20px;
690
+ display: inline-block;
691
+ margin-right: 8px;
692
+ margin-top: 0.3em;
693
+ height: 1.3em;
694
+ width: 1.3em;
695
+ vertical-align: -35%;
696
+ }
697
+
698
+ @media screen and (min-width: 768px) {
699
+ .android-repair-order > div > ul a {
700
+ font-size: @font-size-h2;
701
+ margin: 0.3em 0;
702
+ }
703
+ }
704
+ .repair-details-class{
705
+ &::before {
706
+ .tab-befor-img("../../../assets/huneiweixiu1.png");
707
+ }
708
+ }
709
+ .repair-info-class {
710
+ &::before {
711
+ .tab-befor-img("../../../assets/baoxiuxinxi1.png");
712
+ }
713
+ }
714
+ /* .change-meter-page-class {
715
+ &::before {
716
+ .tab-befor-img("../../../assets/baoxiuxinxi1.png");
717
+ }
718
+ }*/
719
+ .repair-user-info-class {
720
+ &::before {
721
+ .tab-befor-img("../../../assets/jibenxinxi1.png")
722
+ }
723
+ }
724
+
725
+ .door-service-class {
726
+ &::before {
727
+ .tab-befor-img("../../../assets/huneiweixiu1.png")
728
+ }
729
+ }
730
+
731
+ .pipeline-class {
732
+ &::before {
733
+ .tab-befor-img("../../../assets/guandao1.png")
734
+ }
735
+ }
736
+
737
+ .device-service-class {
738
+ &::before {
739
+ .tab-befor-img("../../../assets/shebeiweixiu1.png")
740
+ }
741
+ }
742
+
743
+ .trouble-removal-class {
744
+ &::before {
745
+ .tab-befor-img("../../../assets/shiguchuli.png")
746
+ }
747
+ }
748
+
749
+ .cooking-utensils-class {
750
+ &::before {
751
+ .tab-befor-img("../../../assets/zaoju1.png")
752
+ }
753
+ }
754
+
755
+ .outlay-class {
756
+ &::before {
757
+ .tab-befor-img("../../../assets/feiyong1.png")
758
+ }
759
+ }
760
+
761
+ .fault-all-class {
762
+ &::before {
763
+ .tab-befor-img("../../../assets/guzhanghuizong1.png")
764
+ }
765
+ }
766
+ .photo-write-class {
767
+ &::before {
768
+ .tab-befor-img("../../../assets/zaoju.png")
769
+ }
770
+ }
771
+ .delay-apply-class {
772
+ &::before {
773
+ .tab-befor-img("../../../assets/yonghubaoxiu.png")
774
+ }
775
+ }
776
+
777
+ .repair-back-class {
778
+ &::before {
779
+ .tab-befor-img("../../../assets/fanhui.png")
780
+ }
781
+ }
782
+ .butt2 {
783
+ display: inline;
784
+ float: right;
785
+ width: 10px;
786
+ text-align: center;
787
+ align-items:center;
788
+ position: absolute;
789
+ top:50%;
790
+
791
+ left:90%;
792
+ transform: translate(-50%,-50%);
793
+ }
794
+ .linesty{
795
+ display: inline-block;
796
+ height:1px;
797
+ width:100%;
798
+ background:#d0d0d0;
799
+ overflow:hidden;
800
+ vertical-align: middle;
801
+ }
802
+ .spanboder{
803
+ border-bottom:2px solid #499edf;
804
+ padding-bottom: 8px
805
+ }
806
+ .app-botton {
807
+ position:fixed;
808
+ background: #87b2dd;
809
+ right:8px;
810
+ color: #FFF;
811
+ padding: 8px;
812
+ text-align: center;
813
+ font-size: 1.2em;
814
+ z-index: 10;
815
+ opacity:0.5;
816
+ bottom: 50px;
817
+ margin-top: -10px;
818
+ height: 40px;
819
+ }
820
+ .android-repair-order > div > ul a {
821
+ font-size: 12px;
822
+ color: #333333;
823
+ padding: 13px 16px;
824
+ }
825
+ </style>