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