telephone-clients 4.0.0-1-89 → 4.0.0-1-91

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 +1113 -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 './oldMeterPage.vue'
32
- import ChangeMeterUserInfo from './ChangeMeterUserInfo.vue'
33
- import ChangeMeterPageNew from './ChangeMeterPageNew'
34
- import FaultAll from './FaultAll'
35
- import { HttpResetClass } from 'vue-client'
36
- import co from 'co'
37
- import * as Util from '../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
- id:null,
84
- f_credentials:'身份证'
85
- },
86
- basemeterinfo: {},
87
- matterinfo: {},
88
- servicerepair: [],
89
- // 照片
90
- imgs: [],
91
- // 签名照片名字
92
- // 照片
93
- material: [], //维修的一批材料
94
- f_date: '',
95
- f_date_come: Util.toStandardTimeString(),
96
- f_date_leave: '',
97
- f_is_userfilesadd:'未上传',
98
- f_dealtype:'线下处理',
99
- f_workorder_type:this.worktype ? this.worktype : '报修单'
100
- }]
101
- },
102
- details: [],
103
- ids: '',
104
- savevalid: {
105
- uservalid: false,
106
- doorvalid: true,
107
- changetable: false
108
- },
109
- doordetails: {},
110
- devicedetails: {},
111
- cookdetails: {},
112
- componentName: 'change-meter-user-info',
113
- tabs: [
114
- {
115
- header: '客户工单信息', complete: 'change-meter-user-info', class: 'repair-info-class', props: null
116
- },
117
- {
118
- header: '旧表信息', complete: 'old-meter', class: 'change-meter-page-class', props: null
119
-
120
- },
121
- {
122
- header: '换表', complete: 'change-meter-page-new', class: 'change-meter-page-class', props: null
123
- }
124
- ],
125
- faultshow:{
126
- number : 8
127
- }
128
- }
129
- },
130
- methods: {
131
- // 录音方法
132
- record() {
133
- //tag
134
- let fileName
135
- if (!this.f_recording1_path) {
136
- fileName = Util.guid() + '.amr'
137
- } else {
138
- fileName = Util.getFileName(this.f_recording1_path)
139
- }
140
- //HostApp.__this__ = this
141
- /*调用无限制录音模块*/
142
- let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
143
- //tag
144
- if (startOrStopState.code == 200) {
145
- this.model.f_recording1_path = "/storage/emulated/0/safecheck/" + fileName
146
- console.log("录音文件地址"+this.model.f_recording1_path)
147
- //tag
148
- return true;
149
- }else {
150
- return false;
151
- }
152
- },
153
- imgback(val){
154
- if(val && this.routeShow){
155
- return require('../../assets/xiangxia1.png')
156
- }else{
157
- return require('../../assets/xiangyou1.png')
158
- }
159
- },
160
- // 选择tab
161
- tabSelect (item,number) {
162
- // 处理关闭/显示 内容
163
- if(this.number == number && !this.routeShow ){
164
- this.routeShow = true
165
- }else if(this.number == number && this.routeShow){
166
-
167
- this.routeShow = false
168
- }else if(this.number != item.complete){
169
- this.routeShow = true
170
- }
171
- this.number = number
172
- this.componentName = item.complete
173
- if(item.complete == 'repair-details'){
174
- if (this.row.f_workorder_type == '置换通气单') {
175
- // 根据置换单的用户类型,查询气价信息给下拉框赋值
176
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/queryGaspriceGroupByFilaleid`,
177
- {data: {f_filialeid:Vue.user.orgid,f_gasproperties:this.row.f_gasproperties}},
178
- {resolveMsg: null, rejectMsg: null}).then((rese)=>{
179
- //tag)
180
- let pricelist = []
181
- if (rese.data) {
182
- rese.data.forEach(item => pricelist.push({label: item.f_price_name, value: item.f_price_name}))
183
- }
184
- this.pricelists = pricelist;
185
- //tag)
186
- let itemprops = {
187
- model: this.model.serviceacitivity[0],
188
- service: this.model,
189
- show: this.show,
190
- repairitem: item,
191
- faultshow :this.faultshow,
192
- shutype:'shu',
193
- tabs:this.tabs,
194
- repairdetails:this.repairdetails,
195
- issee:this.issee,
196
- pricelists: this.pricelists //根据置换单下派的用气性质和公司查询的气价信息
197
- }
198
- //tag
199
- //tag)
200
- this.$goto(item.complete, itemprops, 'repair')
201
- })
202
- } else {
203
- let itemprops = {
204
- model: this.model.serviceacitivity[0],
205
- service: this.model,
206
- show: this.show,
207
- repairitem: item,
208
- faultshow :this.faultshow,
209
- shutype:'shu',
210
- tabs:this.tabs,
211
- repairdetails:this.repairdetails,
212
- issee:this.issee,
213
- pricelists: [{label:"无",value:"无"}]
214
- }
215
- //tag
216
- //tag)
217
- this.$goto(item.complete, itemprops, 'repair')
218
- }
219
- }else{
220
- //tag
221
- // //tag)
222
- // //tag)
223
- if(this.routeShow) {
224
- //tag)
225
- // //tag)
226
- this.$goto(item.complete, this.tabs[number].props, 'repair')
227
- }
228
- }
229
- this.shupingshow = true
230
- },
231
- // 给组件添加参数
232
- getImgPath() {
233
- for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
234
- this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
235
- }
236
- this.ids = this.ids.substring(0, this.ids.length - 1)
237
- if(this.ids){
238
- this.getImgGen();
239
- }
240
- },
241
- getImgGen(){
242
- let http = new HttpResetClass()
243
- http.load('POST','af-telephone/rs/sql/tel_singleTable_OrderBy', {data: {
244
- items: '*',
245
- tablename: 't_files',
246
- condition: `id in (${this.ids})`,
247
- orderitem: 'id'
248
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
249
- for (let i = 0; i < res.data.length; i++) {
250
- for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
251
- //tag)
252
- //tag
253
- if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
254
- this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
255
- }
256
- }
257
-
258
- }
259
- })
260
- },
261
- setProps() {
262
- // 给各自组件添加参数
263
- for(var i =0;i<this.tabs.length;i++ ){
264
- if(this.tabs[i].complete == 'repair-info'){
265
- this.tabs[i].props = {
266
- service: this.row,
267
- model: this.model.serviceacitivity[0].baseuserinfo,
268
- data: this.model.serviceacitivity[0],
269
- savevalid: this.savevalid,
270
- repair: this.row,
271
- show: this.show,
272
- // userinfo: this.userinfo
273
- shutype:'shu',
274
- worktype:this.worktype,
275
- issee:this.issee,
276
- ischeck:this.ischeck
277
- }
278
- }else if (this.tabs[i].complete == 'change-meter-user-info'){
279
- this.tabs[i].props = {
280
- model: this.model
281
- }
282
- }else if (this.tabs[i].complete == 'old-meter'){
283
- this.tabs[i].props = {model: this.model}
284
- }else if (this.tabs[i].complete == 'repair-user-info'){
285
- this.tabs[i].props = {
286
- model: this.model.serviceacitivity[0].baseuserinfo,
287
- data: this.model.serviceacitivity[0],
288
- savevalid: this.savevalid,
289
- repair: this.row,
290
- show: this.show,
291
- // userinfo: this.userinfo
292
- shutype:'shu',
293
- worktype:this.worktype,
294
- issee:this.issee
295
- }
296
- } else if (this.tabs[i].complete == 'outlay'){
297
- this.tabs[i].props = {
298
- model: this.model.serviceacitivity[0],
299
- service: this.model,
300
- show: this.show,
301
- system: this.system,
302
- f_single_man: this.model.f_single_man,
303
- shutype: 'shu',
304
- issee:this.issee
305
- }
306
- }else if (this.tabs[i].complete == 'fault-all'){
307
- this.tabs[i].props = {
308
- msg: this.model, model: this.model.serviceacitivity[0],
309
- service: this.model, system: this.system, show: this.show,
310
- savevalid: this.savevalid,
311
- issee: this.issee
312
- }
313
- }else if (this.tabs[i].complete == 'change-meter-page-new') {
314
- this.tabs[i].props = {
315
- service:this.model,
316
- model: this.model.serviceacitivity[0].basemeterinfo,
317
- data: this.model.serviceacitivity[0],
318
- savevalid: this.savevalid,
319
- repair: this.row,
320
- show: this.show,
321
- shutype: 'shu',
322
- worktype: this.worktype,
323
- issee: this.issee
324
- }
325
- }
326
- }
327
- // 参数设置成功,在转向第一个页签
328
- this.$goto('change-meter-user-info', this.tabs[0].props, 'repair')
329
- if(!this.issee){
330
- this.gotoUpload()
331
- }
332
- },
333
-
334
- getRepair() {
335
- if (Vue.android) {
336
- //tag
337
- if (this.$androidUtil.isTest) {
338
- //tag
339
- this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
340
- this.model.serviceacitivity = ret.data
341
- this.getDetails()
342
- })
343
- } else {
344
- //tag
345
- let result = this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}})
346
- //tag
347
- if (result.code === 200) {
348
- // this.show = true
349
- this.model.serviceacitivity = result.data
350
- this.getDetails()
351
- }
352
- }
353
- } else {
354
- //tag
355
- this.getService();
356
- }
357
- },
358
- getService(){
359
- let http = new HttpResetClass()
360
- http.load('POST','af-telephone/rs/path/serviceWork', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
361
- this.model.serviceacitivity = [res.data[0]]
362
- this.getDetails()
363
- })
364
- },
365
- sortDetails(){
366
- for (let i = 0; i < this.details.length; i++) {
367
- if (this.details[i].details.length) {
368
- for (let j = 0; j < this.details[i].details.length; j++) {
369
- if (this.details[i].details[j].f_type === 'a') {
370
- this.doordetails = {details: this.details[i].details}
371
- break
372
- }
373
- if (this.details[i].details[j].f_type === 'b') {
374
- this.devicedetails = {details: this.details[i].details}
375
- break
376
- }
377
- if (this.details[i].details[j].f_type === 'c') {
378
- this.cookdetails = {details: this.details[i].details}
379
- break
380
- }
381
- }
382
- }
383
- }
384
- },
385
- getDetails() {
386
- if (Vue.android) {
387
- //tag
388
- if (this.$androidUtil.isTest) {
389
- //tag
390
- this.$androidUtil.path({'alias': 'getDetails', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
391
- this.details = ret.data
392
- this.sortDetails()
393
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
394
- this.getImgPath()
395
- }
396
- this.setProps()
397
- })
398
- } else {
399
- //tag
400
- //tag
401
- let result = this.$androidUtil.path({'alias': 'getDetails', 'data': {id:this.row.serviceacitivity[0].id}})
402
- //tag
403
- if (result.code === 200) {
404
- this.details = result.data
405
- this.sortDetails()
406
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
407
- this.getImgPath()
408
- }
409
- this.setProps()
410
- }
411
- }
412
- } else {
413
- //tag
414
- this.getDetailsGen();
415
- }
416
- },
417
- getDetailsGen(){
418
- let http = new HttpResetClass()
419
- http.load('POST','af-telephone/rs/path/getDetails', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
420
- this.details = res.data
421
- // this.sortDetails()
422
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
423
- this.getImgPath()
424
- }
425
- this.setProps()
426
- })
427
- },
428
- // 获取维修数据
429
- getRepairInfo(){
430
- if (this.$androidUtil.isTest) {
431
- // android模拟
432
- this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}}).then((ret) => {
433
- this.model.serviceacitivity = ret.data[0].serviceacitivity
434
- this.setProps()
435
- })
436
- } else {
437
- let result = this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}})
438
- if (result.code == 200) {
439
- //tag)
440
- //tag)
441
- this.model.serviceacitivity = result.data[0].serviceacitivity
442
- this.setProps()
443
- }
444
- }
445
- },
446
- // 复制数据
447
- copy() {
448
- if (this.row) {
449
- //tag
450
- this.model = Object.assign({}, this.model, this.row)
451
- //tag
452
- //tag)
453
- // 获取维修数据
454
- if(Vue.android){
455
- if(this.row.f_orderstatus == '本地保存'){
456
- this.getRepairInfo()
457
- }
458
- }
459
- }
460
- // 指定了维修单,获取维修单数据,给工单
461
- if (this.repair) {
462
- this.getRepair()
463
- } else {
464
- //tag
465
- this.setProps()
466
- }
467
- },
468
- back () {
469
- let _this = this
470
- if(this.issee){
471
- _this.$back()
472
- return
473
- }
474
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
475
- if (res === 'confirm') {
476
- _this.$back()
477
- }
478
- })
479
- },
480
- confirm(){
481
- this.$dispatch('confirm')
482
- },
483
- mute() {
484
- HostApp.mute()
485
- },
486
- // 维修项赋给维修单的维修集合内
487
- getRepairDetails() {
488
- if (this.repairdetails.length > 0) {
489
- let repairlist = []
490
- for (let j = 0;j< this.repairdetails.length;j++) {
491
- let repairitem = []
492
- for (var i = 0;i< this.repairdetails[j].details.length;i++) {
493
- if(this.row.f_source == '安检'){
494
- 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:''})
495
- }else{
496
- 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'})
497
- }
498
- }
499
- repairlist.push({f_type: this.repairdetails[j].f_type, details: repairitem,imgs:[],f_remarks:this.repairdetails[j].f_remarks})
500
- }
501
- this.model.serviceacitivity[0].servicerepair = Object.assign([], repairlist)
502
- }
503
- //tag)
504
- },
505
- gotoUpload(){
506
- this.$goto('fault-all', {
507
- msg: this.model, model: this.model.serviceacitivity[0],
508
- service: this.model, system: this.system, show: this.show,
509
- savevalid: this.savevalid,
510
- issee:this.issee,
511
- parentPage:'CurrentCreate',
512
- ischeck:this.ischeck
513
- }, 'upload')
514
- }
515
- },
516
- watch: {
517
- 'row' () {
518
- //tag
519
- this.copy()
520
- }
521
- },
522
- ready () {
523
- this.model.serviceacitivity[0].baseuserinfo=this.row
524
- this.model.serviceacitivity[0].baseuserinfo.id=null
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 "../../../src/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 './oldMeterPage.vue'
32
+ import ChangeMeterUserInfo from './ChangeMeterUserInfo.vue'
33
+ import ChangeMeterPageNew from './ChangeMeterPageNew'
34
+ import FaultAll from './FaultAll'
35
+ import { HttpResetClass } from 'vue-client'
36
+ import co from 'co'
37
+ import * as Util from '../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
+ id:null,
84
+ f_credentials:'身份证'
85
+ },
86
+ basemeterinfo: {},
87
+ matterinfo: {},
88
+ servicerepair: [],
89
+ // 照片
90
+ imgs: [],
91
+ // 签名照片名字
92
+ // 照片
93
+ material: [], //维修的一批材料
94
+ f_date: '',
95
+ f_date_come: Util.toStandardTimeString(),
96
+ f_date_leave: '',
97
+ f_is_userfilesadd:'未上传',
98
+ f_dealtype:'线下处理',
99
+ f_workorder_type:this.worktype ? this.worktype : '报修单'
100
+ }]
101
+ },
102
+ details: [],
103
+ ids: '',
104
+ savevalid: {
105
+ uservalid: false,
106
+ doorvalid: true,
107
+ changetable: false
108
+ },
109
+ doordetails: {},
110
+ devicedetails: {},
111
+ cookdetails: {},
112
+ componentName: 'change-meter-user-info',
113
+ tabs: [
114
+ {
115
+ header: '客户工单信息', complete: 'change-meter-user-info', class: 'repair-info-class', props: null
116
+ },
117
+ {
118
+ header: '旧表信息', complete: 'old-meter', class: 'change-meter-page-class', props: null
119
+
120
+ },
121
+ {
122
+ header: '换表', complete: 'change-meter-page-new', class: 'change-meter-page-class', props: null
123
+ }
124
+ ],
125
+ faultshow:{
126
+ number : 8
127
+ }
128
+ }
129
+ },
130
+ methods: {
131
+ // 录音方法
132
+ record() {
133
+ //tag
134
+ let fileName
135
+ if (!this.f_recording1_path) {
136
+ fileName = Util.guid() + '.amr'
137
+ } else {
138
+ fileName = Util.getFileName(this.f_recording1_path)
139
+ }
140
+ //HostApp.__this__ = this
141
+ /*调用无限制录音模块*/
142
+ let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
143
+ //tag
144
+ if (startOrStopState.code == 200) {
145
+ this.model.f_recording1_path = "/storage/emulated/0/safecheck/" + fileName
146
+ console.log("录音文件地址"+this.model.f_recording1_path)
147
+ //tag
148
+ return true;
149
+ }else {
150
+ return false;
151
+ }
152
+ },
153
+ imgback(val){
154
+ if(val && this.routeShow){
155
+ return require('../../assets/xiangxia1.png')
156
+ }else{
157
+ return require('../../assets/xiangyou1.png')
158
+ }
159
+ },
160
+ // 选择tab
161
+ tabSelect (item,number) {
162
+ // 处理关闭/显示 内容
163
+ if(this.number == number && !this.routeShow ){
164
+ this.routeShow = true
165
+ }else if(this.number == number && this.routeShow){
166
+
167
+ this.routeShow = false
168
+ }else if(this.number != item.complete){
169
+ this.routeShow = true
170
+ }
171
+ this.number = number
172
+ this.componentName = item.complete
173
+ if(item.complete == 'repair-details'){
174
+ if (this.row.f_workorder_type == '置换通气单') {
175
+ // 根据置换单的用户类型,查询气价信息给下拉框赋值
176
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/queryGaspriceGroupByFilaleid`,
177
+ {data: {f_filialeid:Vue.user.orgid,f_gasproperties:this.row.f_gasproperties}},
178
+ {resolveMsg: null, rejectMsg: null}).then((rese)=>{
179
+ //tag)
180
+ let pricelist = []
181
+ if (rese.data) {
182
+ rese.data.forEach(item => pricelist.push({label: item.f_price_name, value: item.f_price_name}))
183
+ }
184
+ this.pricelists = pricelist;
185
+ //tag)
186
+ let itemprops = {
187
+ model: this.model.serviceacitivity[0],
188
+ service: this.model,
189
+ show: this.show,
190
+ repairitem: item,
191
+ faultshow :this.faultshow,
192
+ shutype:'shu',
193
+ tabs:this.tabs,
194
+ repairdetails:this.repairdetails,
195
+ issee:this.issee,
196
+ pricelists: this.pricelists //根据置换单下派的用气性质和公司查询的气价信息
197
+ }
198
+ //tag
199
+ //tag)
200
+ this.$goto(item.complete, itemprops, 'repair')
201
+ })
202
+ } else {
203
+ let itemprops = {
204
+ model: this.model.serviceacitivity[0],
205
+ service: this.model,
206
+ show: this.show,
207
+ repairitem: item,
208
+ faultshow :this.faultshow,
209
+ shutype:'shu',
210
+ tabs:this.tabs,
211
+ repairdetails:this.repairdetails,
212
+ issee:this.issee,
213
+ pricelists: [{label:"无",value:"无"}]
214
+ }
215
+ //tag
216
+ //tag)
217
+ this.$goto(item.complete, itemprops, 'repair')
218
+ }
219
+ }else{
220
+ //tag
221
+ // //tag)
222
+ // //tag)
223
+ if(this.routeShow) {
224
+ //tag)
225
+ // //tag)
226
+ this.$goto(item.complete, this.tabs[number].props, 'repair')
227
+ }
228
+ }
229
+ this.shupingshow = true
230
+ },
231
+ // 给组件添加参数
232
+ getImgPath() {
233
+ for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
234
+ this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
235
+ }
236
+ this.ids = this.ids.substring(0, this.ids.length - 1)
237
+ if(this.ids){
238
+ this.getImgGen();
239
+ }
240
+ },
241
+ getImgGen(){
242
+ let http = new HttpResetClass()
243
+ http.load('POST','af-telephone/rs/sql/tel_singleTable_OrderBy', {data: {
244
+ items: '*',
245
+ tablename: 't_files',
246
+ condition: `id in (${this.ids})`,
247
+ orderitem: 'id'
248
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
249
+ for (let i = 0; i < res.data.length; i++) {
250
+ for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
251
+ //tag)
252
+ //tag
253
+ if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
254
+ this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
255
+ }
256
+ }
257
+
258
+ }
259
+ })
260
+ },
261
+ setProps() {
262
+ // 给各自组件添加参数
263
+ for(var i =0;i<this.tabs.length;i++ ){
264
+ if(this.tabs[i].complete == 'repair-info'){
265
+ this.tabs[i].props = {
266
+ service: this.row,
267
+ model: this.model.serviceacitivity[0].baseuserinfo,
268
+ data: this.model.serviceacitivity[0],
269
+ savevalid: this.savevalid,
270
+ repair: this.row,
271
+ show: this.show,
272
+ // userinfo: this.userinfo
273
+ shutype:'shu',
274
+ worktype:this.worktype,
275
+ issee:this.issee,
276
+ ischeck:this.ischeck
277
+ }
278
+ }else if (this.tabs[i].complete == 'change-meter-user-info'){
279
+ this.tabs[i].props = {
280
+ model: this.model
281
+ }
282
+ }else if (this.tabs[i].complete == 'old-meter'){
283
+ this.tabs[i].props = {model: this.model}
284
+ }else if (this.tabs[i].complete == 'repair-user-info'){
285
+ this.tabs[i].props = {
286
+ model: this.model.serviceacitivity[0].baseuserinfo,
287
+ data: this.model.serviceacitivity[0],
288
+ savevalid: this.savevalid,
289
+ repair: this.row,
290
+ show: this.show,
291
+ // userinfo: this.userinfo
292
+ shutype:'shu',
293
+ worktype:this.worktype,
294
+ issee:this.issee
295
+ }
296
+ } else if (this.tabs[i].complete == 'outlay'){
297
+ this.tabs[i].props = {
298
+ model: this.model.serviceacitivity[0],
299
+ service: this.model,
300
+ show: this.show,
301
+ system: this.system,
302
+ f_single_man: this.model.f_single_man,
303
+ shutype: 'shu',
304
+ issee:this.issee
305
+ }
306
+ }else if (this.tabs[i].complete == 'fault-all'){
307
+ this.tabs[i].props = {
308
+ msg: this.model, model: this.model.serviceacitivity[0],
309
+ service: this.model, system: this.system, show: this.show,
310
+ savevalid: this.savevalid,
311
+ issee: this.issee
312
+ }
313
+ }else if (this.tabs[i].complete == 'change-meter-page-new') {
314
+ this.tabs[i].props = {
315
+ service:this.model,
316
+ model: this.model.serviceacitivity[0].basemeterinfo,
317
+ data: this.model.serviceacitivity[0],
318
+ savevalid: this.savevalid,
319
+ repair: this.row,
320
+ show: this.show,
321
+ shutype: 'shu',
322
+ worktype: this.worktype,
323
+ issee: this.issee
324
+ }
325
+ }
326
+ }
327
+ // 参数设置成功,在转向第一个页签
328
+ this.$goto('change-meter-user-info', this.tabs[0].props, 'repair')
329
+ if(!this.issee){
330
+ this.gotoUpload()
331
+ }
332
+ },
333
+
334
+ getRepair() {
335
+ if (Vue.android) {
336
+ //tag
337
+ if (this.$androidUtil.isTest) {
338
+ //tag
339
+ this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
340
+ this.model.serviceacitivity = ret.data
341
+ this.getDetails()
342
+ })
343
+ } else {
344
+ //tag
345
+ let result = this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}})
346
+ //tag
347
+ if (result.code === 200) {
348
+ // this.show = true
349
+ this.model.serviceacitivity = result.data
350
+ this.getDetails()
351
+ }
352
+ }
353
+ } else {
354
+ //tag
355
+ this.getService();
356
+ }
357
+ },
358
+ getService(){
359
+ let http = new HttpResetClass()
360
+ http.load('POST','af-telephone/rs/path/serviceWork', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
361
+ this.model.serviceacitivity = [res.data[0]]
362
+ this.getDetails()
363
+ })
364
+ },
365
+ sortDetails(){
366
+ for (let i = 0; i < this.details.length; i++) {
367
+ if (this.details[i].details.length) {
368
+ for (let j = 0; j < this.details[i].details.length; j++) {
369
+ if (this.details[i].details[j].f_type === 'a') {
370
+ this.doordetails = {details: this.details[i].details}
371
+ break
372
+ }
373
+ if (this.details[i].details[j].f_type === 'b') {
374
+ this.devicedetails = {details: this.details[i].details}
375
+ break
376
+ }
377
+ if (this.details[i].details[j].f_type === 'c') {
378
+ this.cookdetails = {details: this.details[i].details}
379
+ break
380
+ }
381
+ }
382
+ }
383
+ }
384
+ },
385
+ getDetails() {
386
+ if (Vue.android) {
387
+ //tag
388
+ if (this.$androidUtil.isTest) {
389
+ //tag
390
+ this.$androidUtil.path({'alias': 'getDetails', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
391
+ this.details = ret.data
392
+ this.sortDetails()
393
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
394
+ this.getImgPath()
395
+ }
396
+ this.setProps()
397
+ })
398
+ } else {
399
+ //tag
400
+ //tag
401
+ let result = this.$androidUtil.path({'alias': 'getDetails', 'data': {id:this.row.serviceacitivity[0].id}})
402
+ //tag
403
+ if (result.code === 200) {
404
+ this.details = result.data
405
+ this.sortDetails()
406
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
407
+ this.getImgPath()
408
+ }
409
+ this.setProps()
410
+ }
411
+ }
412
+ } else {
413
+ //tag
414
+ this.getDetailsGen();
415
+ }
416
+ },
417
+ getDetailsGen(){
418
+ let http = new HttpResetClass()
419
+ http.load('POST','af-telephone/rs/path/getDetails', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
420
+ this.details = res.data
421
+ // this.sortDetails()
422
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
423
+ this.getImgPath()
424
+ }
425
+ this.setProps()
426
+ })
427
+ },
428
+ // 获取维修数据
429
+ getRepairInfo(){
430
+ if (this.$androidUtil.isTest) {
431
+ // android模拟
432
+ this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}}).then((ret) => {
433
+ this.model.serviceacitivity = ret.data[0].serviceacitivity
434
+ this.setProps()
435
+ })
436
+ } else {
437
+ let result = this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}})
438
+ if (result.code == 200) {
439
+ //tag)
440
+ //tag)
441
+ this.model.serviceacitivity = result.data[0].serviceacitivity
442
+ this.setProps()
443
+ }
444
+ }
445
+ },
446
+ // 复制数据
447
+ copy() {
448
+ if (this.row) {
449
+ //tag
450
+ this.model = Object.assign({}, this.model, this.row)
451
+ //tag
452
+ //tag)
453
+ // 获取维修数据
454
+ if(Vue.android){
455
+ if(this.row.f_orderstatus == '本地保存'){
456
+ this.getRepairInfo()
457
+ }
458
+ }
459
+ }
460
+ // 指定了维修单,获取维修单数据,给工单
461
+ if (this.repair) {
462
+ this.getRepair()
463
+ } else {
464
+ //tag
465
+ this.setProps()
466
+ }
467
+ },
468
+ back () {
469
+ let _this = this
470
+ if(this.issee){
471
+ _this.$back()
472
+ return
473
+ }
474
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
475
+ if (res === 'confirm') {
476
+ _this.$back()
477
+ }
478
+ })
479
+ },
480
+ confirm(){
481
+ this.$dispatch('confirm')
482
+ },
483
+ mute() {
484
+ HostApp.mute()
485
+ },
486
+ // 维修项赋给维修单的维修集合内
487
+ getRepairDetails() {
488
+ if (this.repairdetails.length > 0) {
489
+ let repairlist = []
490
+ for (let j = 0;j< this.repairdetails.length;j++) {
491
+ let repairitem = []
492
+ for (var i = 0;i< this.repairdetails[j].details.length;i++) {
493
+ if(this.row.f_source == '安检'){
494
+ 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:''})
495
+ }else{
496
+ 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'})
497
+ }
498
+ }
499
+ repairlist.push({f_type: this.repairdetails[j].f_type, details: repairitem,imgs:[],f_remarks:this.repairdetails[j].f_remarks})
500
+ }
501
+ this.model.serviceacitivity[0].servicerepair = Object.assign([], repairlist)
502
+ }
503
+ //tag)
504
+ },
505
+ gotoUpload(){
506
+ this.$goto('fault-all', {
507
+ msg: this.model, model: this.model.serviceacitivity[0],
508
+ service: this.model, system: this.system, show: this.show,
509
+ savevalid: this.savevalid,
510
+ issee:this.issee,
511
+ parentPage:'CurrentCreate',
512
+ ischeck:this.ischeck
513
+ }, 'upload')
514
+ }
515
+ },
516
+ watch: {
517
+ 'row' () {
518
+ //tag
519
+ this.copy()
520
+ }
521
+ },
522
+ ready () {
523
+ this.model.serviceacitivity[0].baseuserinfo=this.row
524
+ this.model.serviceacitivity[0].baseuserinfo.id=null
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 "../../../src/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>