telephone-clients 3.0.103 → 3.0.104-11

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 (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -1,1419 +1,805 @@
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 DoorService from './DoorService'
37
- import RepairInfo from './RepairInfo'
38
- import RepairDetails from '../../../components/workorder/RepairDetails'
39
- import RepairUserInfo from '../../../components/workorder/RepairUserInfo'
40
- import ChangeMeterPage from '../../../components/workorder/ChangeMeterPage'
41
- // import Pipeline from './Pipeline'
42
- // import DeviceService from './DeviceService'
43
- // import TroubleRemoval from './TroubleRemoval'
44
- // import FirstGasCheck from './FirstGasCheck'
45
- // import RepairMatterInfo from './RepairMatterInfo'
46
- // import TelChangeMatter from './TelChangeMatter'
47
- import Outlay from '../../../components/workorder/Outlay'
48
- import FaultAll from '../../../components/workorder/FaultAll'
49
- import { HttpResetClass } from 'vue-client'
50
- import co from 'co'
51
- let loadParamGem = async function (self) {
52
- await self.$LoadParams.loadParam()
53
- }
54
-
55
- export default {
56
- title: '维修单',
57
- props: {
58
- worktype:{
59
- type: String,
60
- default: '报修单'
61
- },
62
- //分辨平板还是pc
63
- system: '',
64
- // 要处理的工单
65
- row: {
66
- type: Object
67
- },
68
- // 要显示的维修单
69
- repair: {
70
- type: Object
71
- },
72
- // 是否是显示
73
- show: {
74
- type: Boolean,
75
- default: false
76
- },
77
- issee:''
78
- },
79
-
80
- data() {
81
- return {
82
- // 维修项
83
- repairdetails:{},
84
- // userinfo: '',
85
- routeShow:true,
86
- number:0,
87
- shupingshow:false,
88
- pipeline: {},
89
- model: {
90
- serviceacitivity: [{
91
- baseuserinfo: {
92
- f_credentials:'身份证'
93
- },
94
- basemeterinfo: {},
95
- matterinfo: {},
96
- servicerepair: [],
97
- // 照片
98
- imgs: [],
99
- // 签名照片名字
100
- // 照片
101
- material: [], //维修的一批材料
102
- f_date: '',
103
- f_date_come: '',
104
- f_date_leave: '',
105
- f_is_userfilesadd:'未上传',
106
- f_workorder_type:this.worktype ? this.worktype : '报修单'
107
- }]
108
- },
109
- details: [],
110
- ids: '',
111
- savevalid: {
112
- uservalid: false,
113
- doorvalid: true,
114
- changetable: false
115
- },
116
- doordetails: {},
117
- devicedetails: {},
118
- cookdetails: {},
119
- componentName: 'repair-info',
120
- tabs: [
121
- // 参数全部设置成空,在ready时,等model处理好了,再添加
122
- {
123
- header: '客户工单信息', complete: 'repair-info', class: 'repair-info-class', props: null
124
- },
125
- // {
126
- // header: '换表', complete: 'change-meter-page', class: 'change-meter-page-class', props: null
127
- //
128
- // },
129
- // {
130
- // header: '客户基本信息',complete:'repair-user-info', class: 'repair-user-info-class', props: null
131
- // },
132
- // 'door-service': {
133
- // header: '户内维修', class: 'door-service-class', props: null
134
- // },
135
- // 'tel-change-matter': {
136
- // header: '换表', class: 'cooking-utensils-class', props: null
137
- // },
138
- // 'pipeline': {
139
- // header: '管道', class: 'pipeline-class', props: null
140
- // },
141
- // 'device-service': {
142
- // header: '设备维修', class: 'device-service-class', props: null
143
- // },
144
- // 'first-gas-check': {
145
- // header: '置换通气', class: 'cooking-utensils-class', props: null
146
- // },
147
- {
148
- header: '拍照及签名',complete:'outlay', class: 'outlay-class', props: null
149
- }
150
- // {
151
- // header: '上传工单',complete:'fault-all', class: 'fault-all-class', props: null
152
- // }
153
- ],
154
- faultshow:{
155
- number : 8
156
- } // 控制 故障汇总 在 菜单里显示与否
157
- }
158
- },
159
- methods: {
160
- imgback(val){
161
- if(val && this.routeShow){
162
- return require('../../../assets/xiangxia1.png')
163
- }else{
164
- return require('../../../assets/xiangyou1.png')
165
- }
166
- },
167
- // 选择tab
168
- tabSelect (item,number) {
169
- // 处理关闭/显示 内容
170
- if(this.number == number && !this.routeShow ){
171
- this.routeShow = true
172
- }else if(this.number == number && this.routeShow){
173
-
174
- this.routeShow = false
175
- }else if(this.number != item.complete){
176
- this.routeShow = true
177
- }
178
- this.number = number
179
- this.componentName = item.complete
180
- if(item.complete == 'repair-details'){
181
- if (this.row.f_workorder_type == '置换通气单') {
182
- // 根据置换单的用户类型,查询气价信息给下拉框赋值
183
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/queryGaspriceGroupByFilaleid`,
184
- {data: {f_filialeid:Vue.user.orgid,f_gasproperties:this.row.f_gasproperties}},
185
- {resolveMsg: null, rejectMsg: null}).then((rese)=>{
186
- //tag)
187
- let pricelist = []
188
- if (rese.data) {
189
- rese.data.forEach(item => pricelist.push({label: item.f_price_name, value: item.f_price_name}))
190
- }
191
- this.pricelists = pricelist;
192
- //tag)
193
- let itemprops = {
194
- model: this.model.serviceacitivity[0],
195
- service: this.model,
196
- show: this.show,
197
- repairitem: item,
198
- faultshow :this.faultshow,
199
- shutype:'shu',
200
- tabs:this.tabs,
201
- repairdetails:this.repairdetails,
202
- issee:this.issee,
203
- pricelists: this.pricelists //根据置换单下派的用气性质和公司查询的气价信息
204
- }
205
- //tag
206
- //tag)
207
- this.$goto(item.complete, itemprops, 'repair')
208
- })
209
- } else {
210
- let itemprops = {
211
- model: this.model.serviceacitivity[0],
212
- service: this.model,
213
- show: this.show,
214
- repairitem: item,
215
- faultshow :this.faultshow,
216
- shutype:'shu',
217
- tabs:this.tabs,
218
- repairdetails:this.repairdetails,
219
- issee:this.issee,
220
- pricelists: [{label:"无",value:"无"}]
221
- }
222
- //tag
223
- //tag)
224
- this.$goto(item.complete, itemprops, 'repair')
225
- }
226
- }else{
227
- //tag
228
- // //tag)
229
- // //tag)
230
- if(this.routeShow) {
231
- //tag)
232
- // //tag)
233
- this.$goto(item.complete, this.tabs[number].props, 'repair')
234
- }
235
- }
236
- this.shupingshow = true
237
- },
238
- // 给组件添加参数
239
- getImgPath() {
240
- for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
241
- this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
242
- }
243
- this.ids = this.ids.substring(0, this.ids.length - 1)
244
- if(this.ids){
245
- this.getImgGen();
246
- }
247
- },
248
- getImgGen(){
249
- let http = new HttpResetClass()
250
- http.load('POST','rs/sql/tel_singleTable_OrderBy', {data: {
251
- items: '*',
252
- tablename: 't_files',
253
- condition: `id in (${this.ids})`,
254
- orderitem: 'id'
255
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
256
- for (let i = 0; i < res.data.length; i++) {
257
- for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
258
- //tag)
259
- //tag
260
- if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
261
- this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
262
- }
263
- }
264
-
265
- }
266
- })
267
- },
268
- setProps() {
269
- // 给各自组件添加参数
270
- for(var i =0;i<this.tabs.length;i++ ){
271
- if(this.tabs[i].complete == 'repair-info'){
272
- this.tabs[i].props = {
273
- service: this.row,
274
- model: this.model.serviceacitivity[0].baseuserinfo,
275
- data: this.model.serviceacitivity[0],
276
- savevalid: this.savevalid,
277
- repair: this.row,
278
- show: this.show,
279
- // userinfo: this.userinfo
280
- shutype:'shu',
281
- worktype:this.worktype,
282
- issee:this.issee
283
- }
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') {
314
- //tag
315
- //tag)
316
- this.tabs[i].props = {
317
- service: this.row,
318
- model: this.model.serviceacitivity[0].basemeterinfo,
319
- data: this.model.serviceacitivity[0],
320
- savevalid: this.savevalid,
321
- repair: this.row,
322
- show: this.show,
323
- // userinfo: this.userinfo
324
- shutype: 'shu',
325
- worktype: this.worktype,
326
- issee: this.issee
327
- }
328
- }
329
- }
330
-
331
- // this.tabs['repair-info'].props = {service: this.row,shutype:'shu'}
332
- // if (this.model.serviceacitivity[0]) {
333
- // this.tabs['repair-user-info'].props = {
334
- // model: this.model.serviceacitivity[0].baseuserinfo,
335
- // data: this.model.serviceacitivity[0],
336
- // savevalid: this.savevalid,
337
- // repair: this.row,
338
- // show: this.show,
339
- // // userinfo: this.userinfo
340
- // shutype:'shu'
341
- // }
342
- // }
343
- // this.tabs['door-service'].props =
344
- // {
345
- // model: this.model.serviceacitivity[0],
346
- // savevalid: this.savevalid,
347
- // changetable: this.changetable,
348
- // service: this.model, show: this.show,
349
- // details: this.doordetails.details,
350
- // shutype:'shu'
351
- // }
352
- // this.tabs['tel-change-matter'].props =
353
- // {
354
- // model: this.model.serviceacitivity[0],
355
- // service: this.model,
356
- // show: this.show,
357
- // shutype:'shu'
358
- // }
359
- // this.tabs['pipeline'].props =
360
- // {
361
- // model: this.model.serviceacitivity[0],
362
- // service: this.model,
363
- // show: this.show,
364
- // shutype:'shu'
365
- // }
366
- // this.tabs['device-service'].props = {
367
- // model: this.model.serviceacitivity[0],
368
- // service: this.model,
369
- // show: this.show,
370
- // details: this.devicedetails.details,
371
- // shutype:'shu'
372
- // }
373
- // this.tabs['outlay'].props = {
374
- // model: this.model.serviceacitivity[0],
375
- // service: this.model,
376
- // show: this.show,
377
- // system: this.system,
378
- // f_single_man: this.model.f_single_man,
379
- // shutype: 'shu'
380
- // }
381
- // this.tabs['fault-all'].props =
382
- // {
383
- // msg: this.model, model: this.model.serviceacitivity[0],
384
- // service: this.model, system: this.system, show: this.show,
385
- // savevalid: this.savevalid
386
- // }
387
-
388
- // 参数设置成功,在转向第一个页签
389
- this.$goto('repair-info', this.tabs[0].props, 'repair')
390
- if(!this.issee){
391
- this.gotoUpload()
392
- }
393
- },
394
-
395
- getRepair() {
396
- if (Vue.android) {
397
- //tag
398
- if (this.$androidUtil.isTest) {
399
- //tag
400
- this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
401
- this.model.serviceacitivity = ret.data
402
- this.getDetails()
403
- })
404
- } else {
405
- //tag
406
- let result = this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}})
407
- //tag
408
- if (result.code === 200) {
409
- // this.show = true
410
- this.model.serviceacitivity = result.data
411
- this.getDetails()
412
- }
413
- }
414
- } else {
415
- //tag
416
- this.getService();
417
- }
418
- },
419
- getService(){
420
- let http = new HttpResetClass()
421
- http.load('POST','rs/path/serviceWork', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
422
- this.model.serviceacitivity = [res.data[0]]
423
- this.getDetails()
424
- })
425
- },
426
- sortDetails(){
427
- for (let i = 0; i < this.details.length; i++) {
428
- if (this.details[i].details.length) {
429
- for (let j = 0; j < this.details[i].details.length; j++) {
430
- if (this.details[i].details[j].f_type === 'a') {
431
- this.doordetails = {details: this.details[i].details}
432
- break
433
- }
434
- if (this.details[i].details[j].f_type === 'b') {
435
- this.devicedetails = {details: this.details[i].details}
436
- break
437
- }
438
- if (this.details[i].details[j].f_type === 'c') {
439
- this.cookdetails = {details: this.details[i].details}
440
- break
441
- }
442
- }
443
- }
444
- }
445
- },
446
- getDetails() {
447
- if (Vue.android) {
448
- //tag
449
- if (this.$androidUtil.isTest) {
450
- //tag
451
- this.$androidUtil.path({'alias': 'getDetails', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
452
- this.details = ret.data
453
- this.sortDetails()
454
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
455
- this.getImgPath()
456
- }
457
- this.setProps()
458
- })
459
- } else {
460
- //tag
461
- //tag
462
- let result = this.$androidUtil.path({'alias': 'getDetails', 'data': {id:this.row.serviceacitivity[0].id}})
463
- //tag
464
- if (result.code === 200) {
465
- this.details = result.data
466
- this.sortDetails()
467
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
468
- this.getImgPath()
469
- }
470
- this.setProps()
471
- }
472
- }
473
- } else {
474
- //tag
475
- this.getDetailsGen();
476
- }
477
- },
478
- getDetailsGen(){
479
- let http = new HttpResetClass()
480
- http.load('POST','rs/path/getDetails', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
481
- this.details = res.data
482
- // this.sortDetails()
483
- if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
484
- this.getImgPath()
485
- }
486
- this.setProps()
487
- })
488
- },
489
- // 获取维修数据
490
- getRepairInfo(){
491
- if (this.$androidUtil.isTest) {
492
- // android模拟
493
- this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}}).then((ret) => {
494
- this.model.serviceacitivity = ret.data[0].serviceacitivity
495
- this.setProps()
496
- })
497
- } else {
498
- let result = this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}})
499
- if (result.code == 200) {
500
- //tag)
501
- //tag)
502
- this.model.serviceacitivity = result.data[0].serviceacitivity
503
- this.setProps()
504
- }
505
- }
506
- },
507
- // 复制数据
508
- copy() {
509
- if (this.row) {
510
- //tag
511
- this.model = Object.assign({}, this.model, this.row)
512
- //tag
513
- //tag)
514
- // 获取维修数据
515
- if(Vue.android){
516
- if(this.row.f_orderstatus == '本地保存'){
517
- this.getRepairInfo()
518
- }
519
- }
520
- }
521
- // 指定了维修单,获取维修单数据,给工单
522
- if (this.repair) {
523
- this.getRepair()
524
- } else {
525
- //tag
526
- this.setProps()
527
- }
528
- },
529
- back () {
530
- let _this = this
531
- if(this.issee){
532
- _this.$back()
533
- return
534
- }
535
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
536
- if (res === 'confirm') {
537
- _this.$back()
538
- }
539
- })
540
- },
541
- confirm(){
542
- this.$dispatch('confirm')
543
- },
544
- mute() {
545
- HostApp.mute()
546
- },
547
- // 维修项赋给维修单的维修集合内
548
- getRepairDetails() {
549
- if (this.repairdetails.length > 0) {
550
- let repairlist = []
551
- for (let j = 0;j< this.repairdetails.length;j++) {
552
- let repairitem = []
553
- for (var i = 0;i< this.repairdetails[j].details.length;i++) {
554
- if(this.row.f_source == '安检'){
555
- repairitem.push({f_project:this.repairdetails[j].details[i].f_project,type:this.repairdetails[j].details[i].type,f_defect_id:this.repairdetails[j].details[i].f_defect_id,f_status:'',f_content:''})
556
- }else{
557
- 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'})
558
- }
559
- }
560
- repairlist.push({f_type: this.repairdetails[j].f_type, details: repairitem,imgs:[],f_remarks:this.repairdetails[j].f_remarks})
561
- }
562
- this.model.serviceacitivity[0].servicerepair = Object.assign([], repairlist)
563
- }
564
- //tag)
565
- },
566
- gotoUpload(){
567
- this.$goto('fault-all', {
568
- msg: this.model, model: this.model.serviceacitivity[0],
569
- service: this.model, system: this.system, show: this.show,
570
- savevalid: this.savevalid,
571
- issee:this.issee
572
- }, 'upload')
573
- }
574
- },
575
- watch: {
576
- 'row' () {
577
- //tag
578
- this.copy()
579
- }
580
- },
581
- ready () {
582
- // 1.先判断是否是安检转来的
583
- // 2.判断工单类型 报修单/置换通气单
584
- // 3.判断用户类型 民用及非民用
585
- // Vue.config = {
586
- // telephone:{
587
- // SubstitConfigCivil:{}
588
- // }
589
- // }
590
- // Vue.config.telephone.SubstitConfigCivil = {
591
- // 'data':[
592
- // {
593
- // 'f_type': '用气设备信息',
594
- // 'f_remarks':'设备',
595
- // 'details': [
596
- // {
597
- // 'f_project':'客户用气设备名称',
598
- // 'type': 'string',
599
- // 'f_is_must':true
600
- // },
601
- // {
602
- // 'f_project':'负荷(锅炉/功率)',
603
- // 'type': 'string',
604
- // 'f_is_must':true
605
- // }
606
- // ]
607
- // },
608
- // {
609
- // 'f_type': '控制器信息',
610
- // 'f_remarks':'设备',
611
- // 'details': [
612
- // {
613
- // 'f_project':'有无控制器',
614
- // 'type': 'checkbox'
615
- // },
616
- // {
617
- // 'f_project':'设备名称',
618
- // 'type': 'selector',
619
- // 'f_is_must':true,
620
- // 'options': [
621
- // {
622
- // 'data': '控制器'
623
- // },
624
- // {
625
- // 'data': 'IC卡表'
626
- // },
627
- // {
628
- // 'data': '远传物联网表'
629
- // }
630
- // ]
631
- // },
632
- // {
633
- // 'f_project':'型号',
634
- // 'f_is_must':true,
635
- // 'type': 'string'
636
- // },
637
- // {
638
- // 'f_project':'生产厂家',
639
- // 'f_is_must':true,
640
- // 'type': 'string'
641
- // },
642
- // {
643
- // 'f_project':'铅封号',
644
- // 'type': 'string'
645
- // },
646
- // {
647
- // 'f_project':'备注',
648
- // 'type': 'string'
649
- // }
650
- // ]
651
- // },
652
- // {
653
- // 'f_type': '表具信息',
654
- // 'f_remarks':'设备',
655
- // 'details': [
656
- // {
657
- // 'f_project':'气表品牌',
658
- // 'f_is_must':true,
659
- // 'type': 'selector',
660
- // 'options':[
661
- // {'data':'中元新'},
662
- // {'data':'三龙'},
663
- // {'data':'鸿鹄'},
664
- // {'data':'秦川'},
665
- // {'data':'新奥新'},
666
- // {'data':'中元老'},
667
- // {'data':'新奥老'},
668
- // {'data':'福禄克'},
669
- // {'data':'苍南老CPU'},
670
- // {'data':'振达'},
671
- // {'data':'航宇星民用'},
672
- // {'data':'航宇星民用双模'},
673
- // {'data':'德力西1.0'},
674
- // {'data':'宁波鹏盛'},
675
- // {'data':'德力西2.0'},
676
- // {'data':'建安民用'},
677
- // {'data':'金卡民用'},
678
- // {'data':'其他'}
679
- // ]
680
- // },
681
- // {
682
- // 'f_project':'表具类型',
683
- // 'f_is_must':true,
684
- // 'type': 'selector',
685
- // 'options':[
686
- // {'data':'腰轮流量计'},
687
- // {'data':'涡轮流量计'},
688
- // {'data':'超声流量计'},
689
- // {'data':'热式质量流量计'},
690
- // {'data':'机械表'},
691
- // {'data':'普通卡表'},
692
- // {'data':'带温压补偿的卡表'},
693
- // {'data':'带温压补偿的远传物联网表'},
694
- // {'data':'远传物联网表'},
695
- // {'data':'其他'}
696
- // ]
697
- // },
698
- // {
699
- // 'f_project':'型号',
700
- // 'f_is_must':true,
701
- // 'type': 'string'
702
- // },
703
- // {
704
- // 'f_project':'计量方式',
705
- // 'type': 'selector',
706
- // 'f_is_must':true,
707
- // 'options':[
708
- // {'data':'次高压计量'},
709
- // {'data':'中压计量'},
710
- // {'data':'低压计量'}
711
- // ]
712
- // },
713
- // {
714
- // 'f_project':'流量范围(m³/h)',
715
- // 'f_is_must':true,
716
- // 'type': 'string'
717
- // },
718
- // {
719
- // 'f_project':'口径(mm)',
720
- // 'type': 'string'
721
- // },
722
- // {
723
- // 'f_project':'准确度',
724
- // 'f_is_must':true,
725
- // 'type': 'string'
726
- // },
727
- // {
728
- // 'f_project':'表基数',
729
- // 'f_is_must':true,
730
- // 'type': 'string'
731
- // },
732
- // {
733
- // 'f_project':'加铅封号',
734
- // 'type': 'string'
735
- // },
736
- // {
737
- // 'f_project':'备注',
738
- // 'type': 'string'
739
- // }
740
- // ]
741
- // },
742
- // {
743
- // 'f_type': '置换作业',
744
- // 'details':[
745
- // {
746
- // 'f_project':'户内外燃气设施完整,外观无明显异常',
747
- // 'type': 'radio',
748
- // 'f_is_must':true,
749
- // 'options': [
750
- // {
751
- // 'data': '是',
752
- // 'f_status':'true'
753
- // },
754
- // {
755
- // 'data': '否',
756
- // 'f_status':'false'
757
- // }
758
- // ]
759
- // },
760
- // {
761
- // 'f_project':'是否喷涂警示色',
762
- // 'type': 'radio',
763
- // 'f_is_must':true,
764
- // 'options': [
765
- // {
766
- // 'data': '是',
767
- // 'f_status':'true'
768
- // },
769
- // {
770
- // 'data': '否',
771
- // 'f_status':'false'
772
- // }
773
- // ]
774
- // },
775
- // {
776
- // 'f_project':'燃气管道支撑稳固',
777
- // 'f_is_must':true,
778
- // 'type':'radio',
779
- // 'options': [
780
- // {
781
- // 'data': '是',
782
- // 'f_status':'true'
783
- // },
784
- // {
785
- // 'data': '否',
786
- // 'f_status':'false'
787
- // }
788
- // ]
789
- // },
790
- // {
791
- // 'f_project':'燃气管道连接牢固',
792
- // 'f_is_must':true,
793
- // 'type':'radio',
794
- // 'options': [
795
- // {
796
- // 'data': '是',
797
- // 'f_status':'true'
798
- // },
799
- // {
800
- // 'data': '否',
801
- // 'f_status':'false'
802
- // }
803
- // ]
804
- // },
805
- // {
806
- // 'f_project':'穿墙燃气管道是否加装套管、打密封胶',
807
- // 'f_is_must':true,
808
- // 'type':'radio',
809
- // 'options': [
810
- // {
811
- // 'data': '是',
812
- // 'f_status':'true'
813
- // },
814
- // {
815
- // 'data': '否',
816
- // 'f_status':'false'
817
- // }
818
- // ]
819
- // },
820
- // {
821
- // 'f_project':'进行户内燃气设施严密性试验,试验压力为<>kPa',
822
- // 'f_is_must':true,
823
- // 'type': 'string'
824
- // },
825
- // {
826
- // 'f_project':'严密性试验时间为<>分钟,无压降',
827
- // 'f_is_must':true,
828
- // 'type': 'string'
829
- // },
830
- // {
831
- // 'f_project':'供气压力(单位:kPa)',
832
- // 'f_is_must':true,
833
- // 'type':'string'
834
- // },
835
- // {
836
- // 'f_project':'切断压力(单位:kPa)',
837
- // 'f_is_must':true,
838
- // 'type':'string'
839
- // },
840
- // {
841
- // 'f_project':'放散压力(单位:kPa)',
842
- // 'type':'string'
843
- // }
844
- // ]
845
- // }
846
- // ]
847
- // }
848
- // Vue.config.telephone.SubstitConfigCivil = {
849
- // 'data':[
850
- // {
851
- // 'f_type': '灶具信息',
852
- // 'details': [
853
- // {
854
- // 'f_project':'有无灶具设备',
855
- // 'type': 'checkbox'
856
- // },
857
- // {
858
- // 'f_project':'灶具品牌',
859
- // 'type': 'string',
860
- // 'f_is_must':true
861
- // },
862
- // {
863
- // 'f_project':'灶具型号',
864
- // 'type': 'string',
865
- // 'f_is_must':true
866
- // },
867
- // {
868
- // 'f_project':'购买日期',
869
- // 'type': 'date',
870
- // 'f_is_must':true
871
- // },
872
- // {
873
- // 'f_project':'合格证',
874
- // 'type': 'selector',
875
- // 'options': [
876
- // {'data':'有'},
877
- // {'data':'无'}
878
- // ],
879
- // 'f_is_must':true
880
- // },
881
- // {
882
- // "f_project":"壁挂炉照片",
883
- // "type": "picture",
884
- // 'f_is_must':true
885
- // }
886
- // ]
887
- // },
888
- // {
889
- // 'f_type': '壁挂炉信息',
890
- // 'details': [
891
- // {
892
- // 'f_project':'有无壁挂炉设备',
893
- // 'type': 'checkbox'
894
- // },
895
- // {
896
- // 'f_project':'壁挂炉品牌',
897
- // 'type': 'string',
898
- // 'f_is_must':true
899
- // },
900
- // {
901
- // 'f_project':'壁挂炉型号',
902
- // 'type': 'string',
903
- // 'f_is_must':true
904
- // },
905
- // {
906
- // 'f_project':'购买日期',
907
- // 'type': 'date',
908
- // 'f_is_must':true
909
- // },
910
- // {
911
- // 'f_project':'合格证',
912
- // 'type': 'selector',
913
- // 'options': [
914
- // {
915
- // 'data': '有'
916
- // },
917
- // {
918
- // 'data': '无'
919
- // }
920
- // ],
921
- // 'f_is_must':true
922
- // },
923
- // {
924
- // "f_project":"壁挂炉照片",
925
- // "type": "picture",
926
- // 'f_is_must':true
927
- // }
928
- // ]
929
- // },
930
- // {
931
- // 'f_type': '热水器信息',
932
- // 'details': [
933
- // {
934
- // 'f_project':'有无热水器设备',
935
- // 'type': 'checkbox'
936
- // },
937
- // {
938
- // 'f_project':'热水器品牌',
939
- // 'type': 'string',
940
- // 'f_is_must':true
941
- // },
942
- // {
943
- // 'f_project':'热水器型号',
944
- // 'type': 'string',
945
- // 'f_is_must':true
946
- // },
947
- // {
948
- // 'f_project':'购买日期',
949
- // 'type': 'date',
950
- // 'f_is_must':true
951
- // },
952
- // {
953
- // 'f_project':'合格证',
954
- // 'type': 'selector',
955
- // 'options': [
956
- // {
957
- // 'data': '有'
958
- // },
959
- // {
960
- // 'data': '无'
961
- // }
962
- // ],
963
- // 'f_is_must':true
964
- // }
965
- // ]
966
- // },
967
- // {
968
- // 'f_type': '表具信息',
969
- // 'details':[
970
- // {
971
- // 'f_project':'表号',
972
- // 'type':'string',
973
- // 'f_is_must':true
974
- // },
975
- // {
976
- // 'f_project':'表型号',
977
- // 'type':'string',
978
- // 'f_is_must':true
979
- // },
980
- // {
981
- // 'f_project':'表具厂家',
982
- // 'type':'selector',
983
- // 'f_is_must':true,
984
- // 'options':[
985
- // {'data':'中元新'},
986
- // {'data':'三龙'},
987
- // {'data':'鸿鹄'},
988
- // {'data':'秦川'},
989
- // {'data':'新奥新'},
990
- // {'data':'中元老'},
991
- // {'data':'新奥老'},
992
- // {'data':'福禄克'},
993
- // {'data':'苍南老CPU'},
994
- // {'data':'振达'},
995
- // {'data':'航宇星民用'},
996
- // {'data':'航宇星民用双模'},
997
- // {'data':'德力西1.0'},
998
- // {'data':'宁波鹏盛'},
999
- // {'data':'德力西2.0'},
1000
- // {'data':'建安民用'},
1001
- // {'data':'金卡民用'},
1002
- // {'data':'其他'}
1003
- // ]
1004
- // },
1005
- // {
1006
- // 'f_project':'表类型',
1007
- // 'type':'selector',
1008
- // 'options':[
1009
- // {'data':'气量卡表'},
1010
- // {'data':'金额卡表'},
1011
- // {'data':'机表'},
1012
- // {'data':'物联网表'}
1013
- // ],
1014
- // 'f_is_must':true
1015
- // },
1016
- // {
1017
- // 'f_project':'表向',
1018
- // 'type':'selector',
1019
- // 'options':[
1020
- // {'data':'左表'},
1021
- // {'data':'右表'}
1022
- // ]
1023
- // },
1024
- // {
1025
- // 'f_project':'表基数',
1026
- // 'type':'string'
1027
- // },
1028
- // {
1029
- // 'f_project':'备注',
1030
- // 'type':'string'
1031
- // }
1032
- // ]
1033
- // },
1034
- // {
1035
- // 'f_type': '置换作业',
1036
- // 'details':[
1037
- // {
1038
- // 'f_project':'用户是否为超期(半年)重新检测',
1039
- // 'type': 'radio',
1040
- // 'options': [
1041
- // {
1042
- // 'data': '是',
1043
- // 'f_status':'true'
1044
- // },
1045
- // {
1046
- // 'data': '否',
1047
- // 'f_status':'false'
1048
- // }
1049
- // ]
1050
- // },
1051
- // {
1052
- // 'f_project':'户内燃气设施外观完好,无损坏',
1053
- // 'type': 'radio',
1054
- // 'options': [
1055
- // {
1056
- // 'data': '是',
1057
- // 'f_status':'true'
1058
- // },
1059
- // {
1060
- // 'data': '否',
1061
- // 'f_status':'false'
1062
- // }
1063
- // ]
1064
- // },
1065
- // {
1066
- // 'f_project':'经过测试后,管道是否有压降',
1067
- // 'type':'radio',
1068
- // 'options': [
1069
- // {
1070
- // 'data': '是',
1071
- // 'f_status':'false'
1072
- // },
1073
- // {
1074
- // 'data': '否',
1075
- // 'f_status':'true'
1076
- // }
1077
- // ]
1078
- // },
1079
- // {
1080
- // 'f_project':'换作业区内无明火,按标准置换',
1081
- // 'type': 'radio',
1082
- // 'options': [
1083
- // {
1084
- // 'data': '是',
1085
- // 'f_status':'true'
1086
- // },
1087
- // {
1088
- // 'data': '否',
1089
- // 'f_status':'false'
1090
- // }
1091
- // ]
1092
- // },
1093
- // {
1094
- // 'f_project':'确认用户的燃气炉具、热水器符合安全规范,胶管两端已连接并且管卡牢固',
1095
- // 'type': 'radio',
1096
- // 'options': [
1097
- // {
1098
- // 'data': '是',
1099
- // 'f_status':'true'
1100
- // },
1101
- // {
1102
- // 'data': '否',
1103
- // 'f_status':'false'
1104
- // }
1105
- // ]
1106
- // },
1107
- // {
1108
- // 'f_project':'已告知用户公司营业厅地址及需要携带的材料',
1109
- // 'type': 'radio',
1110
- // 'options': [
1111
- // {
1112
- // 'data': '是',
1113
- // 'f_status':'true'
1114
- // },
1115
- // {
1116
- // 'data': '否',
1117
- // 'f_status':'false'
1118
- // }
1119
- // ]
1120
- // },
1121
- // {
1122
- // 'f_project':'已向用户宣传安全用气常识、操作规范,并告知24小时客服电话',
1123
- // 'type': 'radio',
1124
- // 'options': [
1125
- // {
1126
- // 'data': '是',
1127
- // 'f_status':'true'
1128
- // },
1129
- // {
1130
- // 'data': '否',
1131
- // 'f_status':'false'
1132
- // }
1133
- // ]
1134
- // },
1135
- // {
1136
- // 'f_project':'严格按照作业标准及步骤进行操作',
1137
- // 'type': 'radio',
1138
- // 'options': [
1139
- // {
1140
- // 'data': '是',
1141
- // 'f_status':'true'
1142
- // },
1143
- // {
1144
- // 'data': '否',
1145
- // 'f_status':'false'
1146
- // }
1147
- // ]
1148
- // },
1149
- // {
1150
- // 'f_project':'严密性供气压力(单位:kPa)',
1151
- // 'type':'string',
1152
- // 'f_is_must':true
1153
- // },
1154
- // {
1155
- // 'f_project':'严密性试验压力(单位:kPa)',
1156
- // 'type':'string',
1157
- // 'f_is_must':true
1158
- // },
1159
- // {
1160
- // 'f_project':'严密性试验时间为<>分钟',
1161
- // 'type':'string',
1162
- // 'f_is_must':true
1163
- // }
1164
- // ]
1165
- // }
1166
- // ]}
1167
- if(this.row.f_source == '安检'){
1168
- //tag)
1169
- this.repairdetails = JSON.parse(this.row.f_repairitems).data
1170
- if(Vue.config.telephone.RepairsConfig.data != undefined){
1171
- //tag
1172
- //tag)
1173
- this.repairdetails.push(JSON.parse(JSON.stringify(Vue.config.telephone.RepairsConfig.data))[0])
1174
- }
1175
- //tag}`)
1176
- }else{
1177
- //tag
1178
- if(this.row.f_workorder_type == '报修单'){
1179
- if(Vue.config.telephone.RepairsConfig.data != undefined){
1180
- //tag
1181
- //tag)
1182
- this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.RepairsConfig.data)))
1183
- }else{
1184
- this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
1185
- }
1186
- }else if(this.row.f_workorder_type == '置换通气单'){
1187
- //tag
1188
- // 判断用户类型 民用/非民用
1189
- if(this.row.f_user_type == '民用'){
1190
- //tag
1191
- if(Vue.config.telephone.SubstitConfigCivil.data != undefined){
1192
- //tag
1193
- //tag)
1194
- this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigCivil.data)))
1195
- }else {
1196
- this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
1197
- }
1198
- }else{
1199
- //tag
1200
- if(Vue.config.telephone.SubstitConfigBusiness.data != undefined){
1201
- //tag
1202
- //tag)
1203
- this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigBusiness.data)))
1204
- }else{
1205
- this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
1206
- }
1207
- }
1208
- }else{
1209
- //tag
1210
- // 判断用户类型 民用/非民用
1211
- if(this.row.f_user_type == '民用'){
1212
- //tag
1213
- if(Vue.config.telephone.InstallConfigCivil.data != undefined){
1214
- //tag
1215
- //tag)
1216
- this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigCivil.data)))
1217
- }else {
1218
- this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
1219
- }
1220
- }else{
1221
- //tag
1222
- if(Vue.config.telephone.InstallConfigBusiness.data != undefined){
1223
- //tag
1224
- //tag)
1225
- this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigBusiness.data)))
1226
- }else{
1227
- this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
1228
- }
1229
- }
1230
-
1231
-
1232
- }
1233
- }
1234
- // 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"}]}]
1235
- // 维修项传到维修单中
1236
- this.getRepairDetails()
1237
- loadParamGem(this)
1238
- //tag
1239
- this.copy()
1240
- //tag
1241
- // tbs合并数组
1242
- if( this.model.serviceacitivity[0].servicerepair.length > 0){
1243
- for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
1244
- 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])))})
1245
- }
1246
- }
1247
- //tag
1248
- this.faultshow.number = this.tabs.length
1249
- if (this.show || this.repair) {
1250
- this.faultshow.number = this.tabs.length
1251
- }
1252
- },
1253
- components: {
1254
- // 'door-service': DoorService,
1255
- 'repair-info': RepairInfo,
1256
- 'repair-user-info': RepairUserInfo,
1257
- 'outlay': Outlay,
1258
- 'fault-all': FaultAll,
1259
- 'repair-details':RepairDetails
1260
- // 'change-meter-page': ChangeMeterPage
1261
- // 'pipeline': Pipeline,
1262
- // 'device-service': DeviceService,
1263
- // 'trouble-removal': TroubleRemoval,
1264
- // 'cooking-utensils': CookingUtensils,
1265
- // 'repair-matter-info': RepairMatterInfo,
1266
- // 'first-gas-check': FirstGasCheck,
1267
- // 'tel-change-matter': TelChangeMatter/
1268
- },
1269
- events: {
1270
- 'tijiao': function () {
1271
- // 事件回调内的 `this` 自动绑定到注册它的实例上
1272
- this.confirm()
1273
- }
1274
- }
1275
- }
1276
- </script>
1277
- <style lang="less">
1278
- @import "../../../../src/bootstrap/less/variables.less";
1279
- //@import "../../../node_modules/system-clients/src/styles/less/variables.less";
1280
- .tab-befor-img (@url) {
1281
- content: '';
1282
- background-image: url("@{url}");
1283
- background-size: 20px;
1284
- display: inline-block;
1285
- margin-right: 8px;
1286
- margin-top: 0.3em;
1287
- height: 1.3em;
1288
- width: 1.3em;
1289
- vertical-align: -35%;
1290
- }
1291
-
1292
- @media screen and (min-width: 768px) {
1293
- .android-repair-order > div > ul a {
1294
- font-size: @font-size-h2;
1295
- margin: 0.3em 0;
1296
- }
1297
- }
1298
- .repair-details-class{
1299
- &::before {
1300
- .tab-befor-img("../../../assets/huneiweixiu1.png");
1301
- }
1302
- }
1303
- .repair-info-class {
1304
- &::before {
1305
- .tab-befor-img("../../../assets/baoxiuxinxi1.png");
1306
- }
1307
- }
1308
- /* .change-meter-page-class {
1309
- &::before {
1310
- .tab-befor-img("../../assets/baoxiuxinxi1.png");
1311
- }
1312
- }*/
1313
- .repair-user-info-class {
1314
- &::before {
1315
- .tab-befor-img("../../../assets/jibenxinxi1.png")
1316
- }
1317
- }
1318
-
1319
- .door-service-class {
1320
- &::before {
1321
- .tab-befor-img("../../../assets/huneiweixiu1.png")
1322
- }
1323
- }
1324
-
1325
- .pipeline-class {
1326
- &::before {
1327
- .tab-befor-img("../../../assets/guandao1.png")
1328
- }
1329
- }
1330
-
1331
- .device-service-class {
1332
- &::before {
1333
- .tab-befor-img("../../../assets/shebeiweixiu1.png")
1334
- }
1335
- }
1336
-
1337
- .trouble-removal-class {
1338
- &::before {
1339
- .tab-befor-img("../../../assets/shiguchuli.png")
1340
- }
1341
- }
1342
-
1343
- .cooking-utensils-class {
1344
- &::before {
1345
- .tab-befor-img("../../../assets/zaoju1.png")
1346
- }
1347
- }
1348
-
1349
- .outlay-class {
1350
- &::before {
1351
- .tab-befor-img("../../../assets/feiyong1.png")
1352
- }
1353
- }
1354
-
1355
- .fault-all-class {
1356
- &::before {
1357
- .tab-befor-img("../../../assets/guzhanghuizong1.png")
1358
- }
1359
- }
1360
- .photo-write-class {
1361
- &::before {
1362
- .tab-befor-img("../../../assets/zaoju.png")
1363
- }
1364
- }
1365
- .delay-apply-class {
1366
- &::before {
1367
- .tab-befor-img("../../../assets/yonghubaoxiu.png")
1368
- }
1369
- }
1370
-
1371
- .repair-back-class {
1372
- &::before {
1373
- .tab-befor-img("../../../assets/fanhui.png")
1374
- }
1375
- }
1376
- .butt2 {
1377
- display: inline;
1378
- float: right;
1379
- width: 10px;
1380
- text-align: center;
1381
- align-items:center;
1382
- position: absolute;
1383
- top:50%;
1384
-
1385
- left:90%;
1386
- transform: translate(-50%,-50%);
1387
- }
1388
- .linesty{
1389
- display: inline-block;
1390
- height:1px;
1391
- width:100%;
1392
- background:#d0d0d0;
1393
- overflow:hidden;
1394
- vertical-align: middle;
1395
- }
1396
- .spanboder{
1397
- border-bottom:2px solid #499edf;
1398
- padding-bottom: 8px
1399
- }
1400
- .app-botton {
1401
- position:fixed;
1402
- background: #87b2dd;
1403
- right:8px;
1404
- color: #FFF;
1405
- padding: 8px;
1406
- text-align: center;
1407
- font-size: 1.2em;
1408
- z-index: 10;
1409
- opacity:0.5;
1410
- bottom: 50px;
1411
- margin-top: -10px;
1412
- height: 40px;
1413
- }
1414
- .android-repair-order > div > ul a {
1415
- font-size: 12px;
1416
- color: #333333;
1417
- padding: 13px 16px;
1418
- }
1419
- </style>
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 './RepairInfo'
37
+ import RepairDetails from '../../../components/workorder/RepairDetails'
38
+ import RepairUserInfo from './RepairUserInfo'
39
+ import Outlay from '../../../components/workorder/Outlay'
40
+ import FaultAll from '../../../components/workorder/FaultAll'
41
+ import { HttpResetClass } from 'vue-client'
42
+ import co from 'co'
43
+ import * as Util from "../../../components/Util";
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
+ },
72
+
73
+ data() {
74
+ return {
75
+ f_recording1_path:'',
76
+ // 维修项
77
+ repairdetails:{},
78
+ // userinfo: '',
79
+ routeShow:true,
80
+ number:0,
81
+ shupingshow:false,
82
+ pipeline: {},
83
+ model: {
84
+ serviceacitivity: [{
85
+ baseuserinfo: {
86
+ f_credentials:'身份证'
87
+ },
88
+ basemeterinfo: {},
89
+ matterinfo: {},
90
+ servicerepair: [],
91
+ // 照片
92
+ imgs: [],
93
+ // 签名照片名字
94
+ // 照片
95
+ material: [], //维修的一批材料
96
+ f_date: '',
97
+ f_date_come: '',
98
+ f_date_leave: '',
99
+ f_is_userfilesadd:'未上传',
100
+ f_workorder_type:this.worktype ? this.worktype : '报修单'
101
+ }]
102
+ },
103
+ details: [],
104
+ ids: '',
105
+ savevalid: {
106
+ uservalid: false,
107
+ doorvalid: true,
108
+ changetable: false
109
+ },
110
+ doordetails: {},
111
+ devicedetails: {},
112
+ cookdetails: {},
113
+ componentName: 'repair-info',
114
+ tabs: [
115
+ // 参数全部设置成空,在ready时,等model处理好了,再添加
116
+ {
117
+ header: '客户工单信息', complete: 'repair-info', class: 'repair-info-class', props: null
118
+ },
119
+ {
120
+ header: '拍照及签名',complete:'outlay', class: 'outlay-class', props: null
121
+ }
122
+ ],
123
+ faultshow:{
124
+ number : 8
125
+ } // 控制 故障汇总 在 菜单里显示与否
126
+ }
127
+ },
128
+ methods: {
129
+ imgback(val){
130
+ if(val && this.routeShow){
131
+ return require('../../../assets/xiangxia1.png')
132
+ }else{
133
+ return require('../../../assets/xiangyou1.png')
134
+ }
135
+ },
136
+ // 选择tab
137
+ tabSelect (item,number) {
138
+ // 处理关闭/显示 内容
139
+ if(this.number == number && !this.routeShow ){
140
+ this.routeShow = true
141
+ }else if(this.number == number && this.routeShow){
142
+
143
+ this.routeShow = false
144
+ }else if(this.number != item.complete){
145
+ this.routeShow = true
146
+ }
147
+ this.number = number
148
+ this.componentName = item.complete
149
+ if(item.complete == 'repair-details'){
150
+ if (this.row.f_workorder_type == '置换通气单') {
151
+ // 根据置换单的用户类型,查询气价信息给下拉框赋值
152
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/queryGaspriceGroupByFilaleid`,
153
+ {data: {f_filialeid:Vue.user.orgid,f_gasproperties:this.row.f_gasproperties}},
154
+ {resolveMsg: null, rejectMsg: null}).then((rese)=>{
155
+ //tag)
156
+ let pricelist = []
157
+ if (rese.data) {
158
+ rese.data.forEach(item => pricelist.push({label: item.f_price_name, value: item.f_price_name}))
159
+ }
160
+ this.pricelists = pricelist;
161
+ //tag)
162
+ let itemprops = {
163
+ model: this.model.serviceacitivity[0],
164
+ service: this.model,
165
+ show: this.show,
166
+ repairitem: item,
167
+ faultshow :this.faultshow,
168
+ shutype:'shu',
169
+ tabs:this.tabs,
170
+ repairdetails:this.repairdetails,
171
+ issee:this.issee,
172
+ pricelists: this.pricelists //根据置换单下派的用气性质和公司查询的气价信息
173
+ }
174
+ //tag
175
+ //tag)
176
+ this.$goto(item.complete, itemprops, 'repair')
177
+ })
178
+ } else {
179
+ let itemprops = {
180
+ model: this.model.serviceacitivity[0],
181
+ service: this.model,
182
+ show: this.show,
183
+ repairitem: item,
184
+ faultshow :this.faultshow,
185
+ shutype:'shu',
186
+ tabs:this.tabs,
187
+ repairdetails:this.repairdetails,
188
+ issee:this.issee,
189
+ pricelists: [{label:"无",value:"无"}]
190
+ }
191
+ //tag
192
+ //tag)
193
+ this.$goto(item.complete, itemprops, 'repair')
194
+ }
195
+ }else{
196
+ //tag
197
+ // //tag)
198
+ // //tag)
199
+ if(this.routeShow) {
200
+ //tag)
201
+ // //tag)
202
+ this.$goto(item.complete, this.tabs[number].props, 'repair')
203
+ }
204
+ }
205
+ this.shupingshow = true
206
+ },
207
+ // 给组件添加参数
208
+ getImgPath() {
209
+ for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
210
+ this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
211
+ }
212
+ this.ids = this.ids.substring(0, this.ids.length - 1)
213
+ if(this.ids){
214
+ this.getImgGen();
215
+ }
216
+ },
217
+ getImgGen(){
218
+ let http = new HttpResetClass()
219
+ http.load('POST','rs/sql/tel_singleTable_OrderBy', {data: {
220
+ items: '*',
221
+ tablename: 't_files',
222
+ condition: `id in (${this.ids})`,
223
+ orderitem: 'id'
224
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
225
+ for (let i = 0; i < res.data.length; i++) {
226
+ for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
227
+ //tag)
228
+ //tag
229
+ if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
230
+ this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
231
+ }
232
+ }
233
+
234
+ }
235
+ })
236
+ },
237
+ setProps() {
238
+ // 给各自组件添加参数
239
+ for(var i =0;i<this.tabs.length;i++ ){
240
+ if(this.tabs[i].complete == 'repair-info'){
241
+ this.tabs[i].props = {
242
+ service: this.row,
243
+ model: this.model.serviceacitivity[0].baseuserinfo,
244
+ data: this.model.serviceacitivity[0],
245
+ savevalid: this.savevalid,
246
+ repair: this.row,
247
+ show: this.show,
248
+ // userinfo: this.userinfo
249
+ shutype:'shu',
250
+ worktype:this.worktype,
251
+ issee:this.issee
252
+ }
253
+ }else if (this.tabs[i].complete == 'repair-user-info'){
254
+ this.tabs[i].props = {
255
+ model: this.model.serviceacitivity[0].baseuserinfo,
256
+ data: this.model.serviceacitivity[0],
257
+ savevalid: this.savevalid,
258
+ repair: this.row,
259
+ show: this.show,
260
+ // userinfo: this.userinfo
261
+ shutype:'shu',
262
+ worktype:this.worktype,
263
+ issee:this.issee
264
+ }
265
+ } else if (this.tabs[i].complete == 'outlay'){
266
+ this.tabs[i].props = {
267
+ model: this.model.serviceacitivity[0],
268
+ service: this.model,
269
+ show: this.show,
270
+ system: this.system,
271
+ f_single_man: this.model.f_single_man,
272
+ shutype: 'shu',
273
+ issee:this.issee
274
+ }
275
+ }else if (this.tabs[i].complete == 'fault-all'){
276
+ this.tabs[i].props = {
277
+ msg: this.model, model: this.model.serviceacitivity[0],
278
+ service: this.model, system: this.system, show: this.show,
279
+ savevalid: this.savevalid,
280
+ issee: this.issee
281
+ }
282
+ }else if (this.tabs[i].complete == 'change-meter-page') {
283
+ //tag
284
+ //tag)
285
+ this.tabs[i].props = {
286
+ service: this.row,
287
+ model: this.model.serviceacitivity[0].basemeterinfo,
288
+ data: this.model.serviceacitivity[0],
289
+ savevalid: this.savevalid,
290
+ repair: this.row,
291
+ show: this.show,
292
+ // userinfo: this.userinfo
293
+ shutype: 'shu',
294
+ worktype: this.worktype,
295
+ issee: this.issee
296
+ }
297
+ }
298
+ }
299
+
300
+ // this.tabs['repair-info'].props = {service: this.row,shutype:'shu'}
301
+ // if (this.model.serviceacitivity[0]) {
302
+ // this.tabs['repair-user-info'].props = {
303
+ // model: this.model.serviceacitivity[0].baseuserinfo,
304
+ // data: this.model.serviceacitivity[0],
305
+ // savevalid: this.savevalid,
306
+ // repair: this.row,
307
+ // show: this.show,
308
+ // // userinfo: this.userinfo
309
+ // shutype:'shu'
310
+ // }
311
+ // }
312
+ // this.tabs['door-service'].props =
313
+ // {
314
+ // model: this.model.serviceacitivity[0],
315
+ // savevalid: this.savevalid,
316
+ // changetable: this.changetable,
317
+ // service: this.model, show: this.show,
318
+ // details: this.doordetails.details,
319
+ // shutype:'shu'
320
+ // }
321
+ // this.tabs['tel-change-matter'].props =
322
+ // {
323
+ // model: this.model.serviceacitivity[0],
324
+ // service: this.model,
325
+ // show: this.show,
326
+ // shutype:'shu'
327
+ // }
328
+ // this.tabs['pipeline'].props =
329
+ // {
330
+ // model: this.model.serviceacitivity[0],
331
+ // service: this.model,
332
+ // show: this.show,
333
+ // shutype:'shu'
334
+ // }
335
+ // this.tabs['device-service'].props = {
336
+ // model: this.model.serviceacitivity[0],
337
+ // service: this.model,
338
+ // show: this.show,
339
+ // details: this.devicedetails.details,
340
+ // shutype:'shu'
341
+ // }
342
+ // this.tabs['outlay'].props = {
343
+ // model: this.model.serviceacitivity[0],
344
+ // service: this.model,
345
+ // show: this.show,
346
+ // system: this.system,
347
+ // f_single_man: this.model.f_single_man,
348
+ // shutype: 'shu'
349
+ // }
350
+ // this.tabs['fault-all'].props =
351
+ // {
352
+ // msg: this.model, model: this.model.serviceacitivity[0],
353
+ // service: this.model, system: this.system, show: this.show,
354
+ // savevalid: this.savevalid
355
+ // }
356
+
357
+ // 参数设置成功,在转向第一个页签
358
+ this.$goto('repair-info', this.tabs[0].props, 'repair')
359
+ if(!this.issee){
360
+ this.gotoUpload()
361
+ }
362
+ },
363
+
364
+ getRepair() {
365
+ if (Vue.android) {
366
+ //tag
367
+ if (this.$androidUtil.isTest) {
368
+ //tag
369
+ this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
370
+ this.model.serviceacitivity = ret.data
371
+ this.getDetails()
372
+ })
373
+ } else {
374
+ //tag
375
+ let result = this.$androidUtil.path({'alias': 'serviceWork', 'data': {id: this.row.serviceacitivity[0].id}})
376
+ //tag
377
+ if (result.code === 200) {
378
+ // this.show = true
379
+ this.model.serviceacitivity = result.data
380
+ this.getDetails()
381
+ }
382
+ }
383
+ } else {
384
+ //tag
385
+ this.getService();
386
+ }
387
+ },
388
+ getService(){
389
+ let http = new HttpResetClass()
390
+ http.load('POST','rs/path/serviceWork', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
391
+ this.model.serviceacitivity = [res.data[0]]
392
+ this.getDetails()
393
+ })
394
+ },
395
+ sortDetails(){
396
+ for (let i = 0; i < this.details.length; i++) {
397
+ if (this.details[i].details.length) {
398
+ for (let j = 0; j < this.details[i].details.length; j++) {
399
+ if (this.details[i].details[j].f_type === 'a') {
400
+ this.doordetails = {details: this.details[i].details}
401
+ break
402
+ }
403
+ if (this.details[i].details[j].f_type === 'b') {
404
+ this.devicedetails = {details: this.details[i].details}
405
+ break
406
+ }
407
+ if (this.details[i].details[j].f_type === 'c') {
408
+ this.cookdetails = {details: this.details[i].details}
409
+ break
410
+ }
411
+ }
412
+ }
413
+ }
414
+ },
415
+ getDetails() {
416
+ if (Vue.android) {
417
+ //tag
418
+ if (this.$androidUtil.isTest) {
419
+ //tag
420
+ this.$androidUtil.path({'alias': 'getDetails', 'data': {id: this.row.serviceacitivity[0].id}}).then((ret) => {
421
+ this.details = ret.data
422
+ this.sortDetails()
423
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
424
+ this.getImgPath()
425
+ }
426
+ this.setProps()
427
+ })
428
+ } else {
429
+ //tag
430
+ //tag
431
+ let result = this.$androidUtil.path({'alias': 'getDetails', 'data': {id:this.row.serviceacitivity[0].id}})
432
+ //tag
433
+ if (result.code === 200) {
434
+ this.details = result.data
435
+ this.sortDetails()
436
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
437
+ this.getImgPath()
438
+ }
439
+ this.setProps()
440
+ }
441
+ }
442
+ } else {
443
+ //tag
444
+ this.getDetailsGen();
445
+ }
446
+ },
447
+ getDetailsGen(){
448
+ let http = new HttpResetClass()
449
+ http.load('POST','rs/path/getDetails', {data: {id: this.repair.id}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
450
+ this.details = res.data
451
+ // this.sortDetails()
452
+ if (this.model.serviceacitivity[0] && this.model.serviceacitivity[0].imgs) {
453
+ this.getImgPath()
454
+ }
455
+ this.setProps()
456
+ })
457
+ },
458
+ // 获取维修数据
459
+ getRepairInfo(){
460
+ if (this.$androidUtil.isTest) {
461
+ // android模拟
462
+ this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}}).then((ret) => {
463
+ this.model.serviceacitivity = ret.data[0].serviceacitivity
464
+ this.setProps()
465
+ })
466
+ } else {
467
+ let result = this.$androidUtil.path({'alias': 'telgetRepairWorkMsg', 'data': {id: this.row.id}})
468
+ if (result.code == 200) {
469
+ //tag)
470
+ //tag)
471
+ this.model.serviceacitivity = result.data[0].serviceacitivity
472
+ this.setProps()
473
+ }
474
+ }
475
+ },
476
+ // 复制数据
477
+ copy() {
478
+ if (this.row) {
479
+ //tag
480
+ this.model = Object.assign({}, this.model, this.row)
481
+ //tag
482
+ //tag)
483
+ // 获取维修数据
484
+ if(Vue.android){
485
+ if(this.row.f_orderstatus == '本地保存'){
486
+ this.getRepairInfo()
487
+ }
488
+ }
489
+ }
490
+ // 指定了维修单,获取维修单数据,给工单
491
+ if (this.repair) {
492
+ this.getRepair()
493
+ } else {
494
+ //tag
495
+ this.setProps()
496
+ }
497
+ },
498
+ back () {
499
+ let _this = this
500
+ if(this.issee){
501
+ _this.$back()
502
+ return
503
+ }
504
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
505
+ if (res === 'confirm') {
506
+ _this.$back()
507
+ }
508
+ })
509
+ },
510
+ confirm(){
511
+ this.$dispatch('confirm')
512
+ },
513
+ mute() {
514
+ HostApp.mute()
515
+ },
516
+ record() {
517
+ //tag
518
+ let fileName
519
+ if (!this.f_recording1_path) {
520
+ fileName = Util.guid() + '.amr'
521
+ } else {
522
+ fileName = Util.getFileName(this.f_recording1_path)
523
+ }
524
+ //HostApp.__this__ = this
525
+ /*调用无限制录音模块*/
526
+ let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
527
+ //tag
528
+ if (startOrStopState.code == 200) {
529
+ this.model.f_recording1_path = "/storage/emulated/0/safecheck/" + fileName
530
+ console.log("录音文件地址"+this.model.f_recording1_path)
531
+ //tag
532
+ return true;
533
+ }else {
534
+ return false;
535
+ }
536
+ },
537
+ // 维修项赋给维修单的维修集合内
538
+ getRepairDetails() {
539
+ if (this.repairdetails.length > 0) {
540
+ let repairlist = []
541
+ for (let j = 0;j< this.repairdetails.length;j++) {
542
+ let repairitem = []
543
+ for (var i = 0;i< this.repairdetails[j].details.length;i++) {
544
+ if(this.row.f_source == '安检'){
545
+ repairitem.push({f_project:this.repairdetails[j].details[i].f_project,type:this.repairdetails[j].details[i].type,f_defect_id:this.repairdetails[j].details[i].f_defect_id,f_status:'',f_content:''})
546
+ }else{
547
+ 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'})
548
+ }
549
+ }
550
+ repairlist.push({f_type: this.repairdetails[j].f_type, details: repairitem,imgs:[],f_remarks:this.repairdetails[j].f_remarks})
551
+ }
552
+ this.model.serviceacitivity[0].servicerepair = Object.assign([], repairlist)
553
+ }
554
+ //tag)
555
+ },
556
+ gotoUpload(){
557
+ this.$goto('fault-all', {
558
+ msg: this.model, model: this.model.serviceacitivity[0],
559
+ service: this.model, system: this.system, show: this.show,
560
+ savevalid: this.savevalid,
561
+ issee:this.issee
562
+ }, 'upload')
563
+ }
564
+ },
565
+ watch: {
566
+ 'row' () {
567
+ //tag
568
+ this.copy()
569
+ }
570
+ },
571
+ ready () {
572
+ if(this.row.f_source == '安检'){
573
+ this.repairdetails = JSON.parse(this.row.f_repairitems).data
574
+ if(Vue.config.telephone.RepairsConfig.data != undefined){
575
+ this.repairdetails.push(JSON.parse(JSON.stringify(Vue.config.telephone.RepairsConfig.data))[0])
576
+ }
577
+ }else{
578
+ if(this.row.f_workorder_type == '报修单'){
579
+ if(Vue.config.telephone.RepairsConfig.data != undefined){
580
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.RepairsConfig.data)))
581
+ }else{
582
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
583
+ }
584
+ }else if(this.row.f_workorder_type == '置换通气单'){
585
+ // 判断用户类型 民用/非民用
586
+ if(this.row.f_user_type == '民用'){
587
+ if(Vue.config.telephone.SubstitConfigCivil.data != undefined){
588
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigCivil.data)))
589
+ }else {
590
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
591
+ }
592
+ }else{
593
+ if(Vue.config.telephone.SubstitConfigBusiness.data != undefined){
594
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.SubstitConfigBusiness.data)))
595
+ }else{
596
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
597
+ }
598
+ }
599
+ }else{
600
+ // 判断用户类型 民用/非民用
601
+ if(this.row.f_user_type == '民用'){
602
+ if(Vue.config.telephone.InstallConfigCivil.data != undefined){
603
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigCivil.data)))
604
+ }else {
605
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
606
+ }
607
+ }else{
608
+ if(Vue.config.telephone.InstallConfigBusiness.data != undefined){
609
+ this.repairdetails = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.InstallConfigBusiness.data)))
610
+ }else{
611
+ this.$showMessage('网络异常,请重新登陆系统!', ['confirm'])
612
+ }
613
+ }
614
+ }
615
+ }
616
+ // 维修项传到维修单中
617
+ this.getRepairDetails()
618
+ loadParamGem(this)
619
+ this.copy()
620
+ // tbs合并数组
621
+ if( this.model.serviceacitivity[0].servicerepair.length > 0){
622
+ for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
623
+ 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])))})
624
+ }
625
+ }
626
+ this.faultshow.number = this.tabs.length
627
+ if (this.show || this.repair) {
628
+ this.faultshow.number = this.tabs.length
629
+ }
630
+ let isRecodr = this.$appdata.getSingleValue('呼叫无限制录音'); //单值参数,为true则是开启全程录音
631
+ if (isRecodr) {
632
+ if (isRecodr == 'true' && !this.repair) {
633
+ this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
634
+ // 初始化录音
635
+ this.record()
636
+ }
637
+ }
638
+ },
639
+ components: {
640
+ // 'door-service': DoorService,
641
+ 'repair-info': RepairInfo,
642
+ 'repair-user-info': RepairUserInfo,
643
+ 'outlay': Outlay,
644
+ 'fault-all': FaultAll,
645
+ 'repair-details':RepairDetails
646
+ // 'change-meter-page': ChangeMeterPage
647
+ // 'pipeline': Pipeline,
648
+ // 'device-service': DeviceService,
649
+ // 'trouble-removal': TroubleRemoval,
650
+ // 'cooking-utensils': CookingUtensils,
651
+ // 'repair-matter-info': RepairMatterInfo,
652
+ // 'first-gas-check': FirstGasCheck,
653
+ // 'tel-change-matter': TelChangeMatter/
654
+ },
655
+ events: {
656
+ 'tijiao': function () {
657
+ // 事件回调内的 `this` 自动绑定到注册它的实例上
658
+ this.confirm()
659
+ }
660
+ }
661
+ }
662
+ </script>
663
+ <style lang="less">
664
+ @import "../../../../src/bootstrap/less/variables.less";
665
+ //@import "../../../node_modules/system-clients/src/styles/less/variables.less";
666
+ .tab-befor-img (@url) {
667
+ content: '';
668
+ background-image: url("@{url}");
669
+ background-size: 20px;
670
+ display: inline-block;
671
+ margin-right: 8px;
672
+ margin-top: 0.3em;
673
+ height: 1.3em;
674
+ width: 1.3em;
675
+ vertical-align: -35%;
676
+ }
677
+
678
+ @media screen and (min-width: 768px) {
679
+ .android-repair-order > div > ul a {
680
+ font-size: @font-size-h2;
681
+ margin: 0.3em 0;
682
+ }
683
+ }
684
+ .repair-details-class{
685
+ &::before {
686
+ .tab-befor-img("../../../assets/huneiweixiu1.png");
687
+ }
688
+ }
689
+ .repair-info-class {
690
+ &::before {
691
+ .tab-befor-img("../../../assets/baoxiuxinxi1.png");
692
+ }
693
+ }
694
+ /* .change-meter-page-class {
695
+ &::before {
696
+ .tab-befor-img("../../assets/baoxiuxinxi1.png");
697
+ }
698
+ }*/
699
+ .repair-user-info-class {
700
+ &::before {
701
+ .tab-befor-img("../../../assets/jibenxinxi1.png")
702
+ }
703
+ }
704
+
705
+ .door-service-class {
706
+ &::before {
707
+ .tab-befor-img("../../../assets/huneiweixiu1.png")
708
+ }
709
+ }
710
+
711
+ .pipeline-class {
712
+ &::before {
713
+ .tab-befor-img("../../../assets/guandao1.png")
714
+ }
715
+ }
716
+
717
+ .device-service-class {
718
+ &::before {
719
+ .tab-befor-img("../../../assets/shebeiweixiu1.png")
720
+ }
721
+ }
722
+
723
+ .trouble-removal-class {
724
+ &::before {
725
+ .tab-befor-img("../../../assets/shiguchuli.png")
726
+ }
727
+ }
728
+
729
+ .cooking-utensils-class {
730
+ &::before {
731
+ .tab-befor-img("../../../assets/zaoju1.png")
732
+ }
733
+ }
734
+
735
+ .outlay-class {
736
+ &::before {
737
+ .tab-befor-img("../../../assets/feiyong1.png")
738
+ }
739
+ }
740
+
741
+ .fault-all-class {
742
+ &::before {
743
+ .tab-befor-img("../../../assets/guzhanghuizong1.png")
744
+ }
745
+ }
746
+ .photo-write-class {
747
+ &::before {
748
+ .tab-befor-img("../../../assets/zaoju.png")
749
+ }
750
+ }
751
+ .delay-apply-class {
752
+ &::before {
753
+ .tab-befor-img("../../../assets/yonghubaoxiu.png")
754
+ }
755
+ }
756
+
757
+ .repair-back-class {
758
+ &::before {
759
+ .tab-befor-img("../../../assets/fanhui.png")
760
+ }
761
+ }
762
+ .butt2 {
763
+ display: inline;
764
+ float: right;
765
+ width: 10px;
766
+ text-align: center;
767
+ align-items:center;
768
+ position: absolute;
769
+ top:50%;
770
+
771
+ left:90%;
772
+ transform: translate(-50%,-50%);
773
+ }
774
+ .linesty{
775
+ display: inline-block;
776
+ height:1px;
777
+ width:100%;
778
+ background:#d0d0d0;
779
+ overflow:hidden;
780
+ vertical-align: middle;
781
+ }
782
+ .spanboder{
783
+ border-bottom:2px solid #499edf;
784
+ padding-bottom: 8px
785
+ }
786
+ .app-botton {
787
+ position:fixed;
788
+ background: #87b2dd;
789
+ right:8px;
790
+ color: #FFF;
791
+ padding: 8px;
792
+ text-align: center;
793
+ font-size: 1.2em;
794
+ z-index: 10;
795
+ opacity:0.5;
796
+ bottom: 50px;
797
+ margin-top: -10px;
798
+ height: 40px;
799
+ }
800
+ .android-repair-order > div > ul a {
801
+ font-size: 12px;
802
+ color: #333333;
803
+ padding: 13px 16px;
804
+ }
805
+ </style>