safecheck-client 3.0.34-6 → 3.0.34-61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/docs/FormPrint.md +18 -18
  2. package/docs/GridTree.md +47 -47
  3. package/docs/PrintFile.md +38 -38
  4. package/docs/tree.md +40 -40
  5. package/package.json +1 -1
  6. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  7. package/src/assets/123.png +0 -0
  8. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  9. package/src/components/LoadData.vue +62 -0
  10. package/src/components/NewDefectList/DefectListNew.vue +617 -616
  11. package/src/components/android/AddGas.vue +147 -147
  12. package/src/components/android/AndroidDefectDeal.vue +1 -0
  13. package/src/components/android/AreaPlan.vue +566 -566
  14. package/src/components/android/AreaSelect.vue +208 -0
  15. package/src/components/android/BuildingSelect.vue +217 -0
  16. package/src/components/android/CheckPlanSelect.vue +248 -0
  17. package/src/components/android/CheckerMonthly.vue +84 -84
  18. package/src/components/android/LcheckUnplan.vue +108 -108
  19. package/src/components/android/PaperFeedback.vue +33 -0
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  22. package/src/components/android/SafecheckDevices.vue +2 -2
  23. package/src/components/android/SafecheckOrderV.vue +8 -12
  24. package/src/components/android/SwitchValve.vue +323 -323
  25. package/src/components/android/examples/SafeListExamples.vue +96 -0
  26. package/src/components/android/examples/UserExamples.vue +130 -0
  27. package/src/components/checkerphonestate/Checker.vue +32 -32
  28. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  29. package/src/components/defects/AddDefectModal.vue +120 -120
  30. package/src/components/defects/AddDevice.vue +95 -95
  31. package/src/components/defects/DevicesSeting.vue +106 -106
  32. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  33. package/src/components/metterfiles/MetterFiles.vue +104 -104
  34. package/src/components/notice/NoticeQuery.vue +76 -76
  35. package/src/components/paper/RepairVerifyForm.vue +76 -76
  36. package/src/components/phonestate/DailyTraffic.vue +57 -57
  37. package/src/components/phonestate/LastKnownState.vue +74 -74
  38. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  39. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  40. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  41. package/src/components/rongcheng/PaperStatem.vue +6 -1
  42. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  43. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  44. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  45. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  46. package/src/components/task/RepairAnnual.vue +79 -79
  47. package/src/components/task/RepairAnnualDetail.vue +49 -49
  48. package/src/components/task/RepairMonthly.vue +91 -91
  49. package/src/components/task/TaskAnnual.vue +77 -77
  50. package/src/components/task/TaskAnnualDetail.vue +47 -47
  51. package/src/components/task/TaskMonthly.vue +89 -89
  52. package/src/components/userfile/UserfileChange.vue +277 -277
  53. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  54. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  55. package/src/filiale/baiyin/android.js +1 -0
  56. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  57. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  58. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  59. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  60. package/src/filiale/baiyin/pc.js +21 -21
  61. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  62. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  63. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  64. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  65. package/src/filiale/huaran/android.js +12 -0
  66. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  67. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  68. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  69. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  70. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  71. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  72. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  73. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  74. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  75. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  76. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  77. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  78. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  79. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  80. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  81. package/src/filiale/huaran/pc.js +27 -0
  82. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  83. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  84. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  85. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  86. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  87. package/src/filiale/jiaxian/android.js +4 -0
  88. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  89. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  90. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  91. package/src/filiale/ruihua/android.js +11 -0
  92. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  93. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  94. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  95. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  96. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  97. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  98. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  99. package/src/filiale/siyang/pc.js +5 -0
  100. package/src/filiale/tongchuan/android/Select.vue +421 -0
  101. package/src/filiale/tongchuan/android.js +1 -0
  102. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  103. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  104. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  105. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  106. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  107. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  108. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  109. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  110. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  111. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  112. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -722
  113. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  114. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  115. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  116. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  117. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  118. package/src/filiale/weinan/pc/checkUserList.vue +712 -776
  119. package/src/filiale/weinan/pc.js +47 -46
  120. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  121. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  122. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1192
  123. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -472
  124. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -473
  125. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
  126. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  127. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  129. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +6 -6
  130. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  131. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  132. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  133. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  134. package/src/safecheck-android.js +7 -0
  135. package/src/safecheck-page.js +10 -0
@@ -0,0 +1,2807 @@
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--返回<span class="glyphicon glyphicon-menu-right"></span>-->
4
+ <!--</div>-->
5
+ <div id="savebut" 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;overflow-y: hidden">
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="#" 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,row.header === header)"></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="#" 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,row.header === header)"></a>
23
+ <p></p>
24
+ </li>
25
+ <div class="col-sm-12 col-xs-12 repair-bg" v-if="actionEnabled ">
26
+ <div class="auto select-overspread form-horizontal repair-bg " style="padding-bottom:5px;">
27
+ <div class="bq-parent">
28
+ <blockquote class="blockquote">
29
+ <p>安检上传</p>
30
+ </blockquote>
31
+ </div>
32
+ <div class="panel panel-default auto repair-info-content">
33
+ <div class="panel-body ">
34
+ <div class="row auto">
35
+ <!--<div class="col-xs-12 col-sm-12 col-md-12" :style="timeSet(this.isneedDate)?'':'display:none'">-->
36
+ <!--<label>请输入超期原因:</label><br/>-->
37
+ <!--<textarea style="width: 100%;" v-model=""></textarea>-->
38
+ <!--</div>-->
39
+ <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;">
40
+ <div class="col-xs-3 col-sm-3 col-md-3" v-if="parentPage=='CurrentCreate'">
41
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="save('temp')">
42
+ 临时保存
43
+ </button>
44
+ </div>
45
+ <div class="col-xs-3 col-sm-3 col-md-3">
46
+ <button class="col-sm-3 btn btn-primary" @click="save('finish')">
47
+ 本地缓存
48
+ </button>
49
+ </div>
50
+ <div class="col-xs-3 col-sm-3 col-md-3">
51
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="uploadCheckPaper">
52
+ 上传
53
+ </button>
54
+ </div>
55
+ <div v-if="show_torepair">
56
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="showmod">
57
+ 转维修
58
+ </button>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </ul>
67
+ </div>
68
+ <modal :show.sync="showModal2" :backdrop="false" style="font-size: 15px">
69
+ <div slot="modal-header" class="modal-header upuserinfo_sel">
70
+ <h4 class="modal-title">
71
+ 转维修
72
+ </h4>
73
+ </div>
74
+ <div slot="modal-body" class="modal-body">
75
+ <div class="row">
76
+ <ol style="border: 1px solid green;padding: 15px 0 15px 20px">
77
+ <li v-for="row in repairDefect.data" >{{row}}</li>
78
+ </ol>
79
+ </div>
80
+ <div class="row" style="margin-top: 10px">
81
+ <label class="font_normal_body">派发类型</label>
82
+ <v-select :value.sync="selectData.dispatchType" :value-single="true" v-model="selectData.dispatchType"
83
+ :options='dispatchTypeOptions' placeholder='派发类型'
84
+ close-on-select>
85
+ </v-select>
86
+ </div>
87
+ <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给维修员'">
88
+ <label class="font_normal_body">维&ensp;修&ensp;员</label>
89
+ <v-select
90
+ :value.sync="selectData.f_repairman"
91
+ :value-single="true"
92
+ :options='repairers'
93
+ placeholder='请选择维修员'
94
+ close-on-select></v-select>
95
+ </div>
96
+ <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给站点'">
97
+ <label class="font_normal_body">站&ensp;&ensp;&ensp;&ensp;点</label>
98
+ <right-tree
99
+ islist
100
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
101
+ @re-res="getSiteRes"></right-tree>
102
+ </div>
103
+ <!--<div class="row" style="margin-top: 10px">
104
+ <label class="font_normal_body">报修类型</label>
105
+ <v-select :value.sync="selectData.f_repairtype"
106
+ class="select select_list"
107
+ :value-single="true"
108
+ :options='repairTypeOptions'
109
+ close-on-select>
110
+ </v-select>
111
+ </div>-->
112
+ <div class="row" style="margin-top: 10px">
113
+ <label class="font_normal_body" >备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注</label>
114
+ <div class="btn-group" style="width:60%">
115
+ <textarea style="width:100%;height: 100px" v-model="selectData.f_remarks"></textarea>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
120
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="rectification">转维修</button>
121
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="cancel1">取消</button>
122
+ </div>
123
+ </modal>
124
+ </div>
125
+ </template>
126
+
127
+ <script>
128
+ // 户内维修
129
+ import Vue from 'vue'
130
+ import * as Util from '../../Util'
131
+ // import DoorService from './DoorService'
132
+ // import Pipeline from './Pipeline'
133
+ // import DeviceService from './DeviceService'
134
+ // import TroubleRemoval from './TroubleRemoval'
135
+ // import FirstGasCheck from './FirstGasCheck'
136
+ // import RepairMatterInfo from './RepairMatterInfo'
137
+ // import TelChangeMatter from './TelChangeMatter'
138
+ import { HttpResetClass } from 'vue-client'
139
+ import co from 'co'
140
+ import $ from "jquery";
141
+ let loadParamGem = async function (self) {
142
+ await self.$LoadParams.loadParam()
143
+ }
144
+
145
+ export default {
146
+ title: '安检单',
147
+ props: ['f_plan_id', 'item', 'role','parentPage','source'],
148
+ // props: ['f_plan_id', 'role'],
149
+ data() {
150
+ return {
151
+ //测试数据
152
+ // f_plan_id:'',
153
+ // role:'inspect',
154
+ // item:{"f_approved_time":null,"f_user_family_remarks":null,"f_street":"测试街道","f_repair_approved_time":null,
155
+ // "f_user_type":null,"f_approved_by":null,"f_card_id":null,"f_remark":null,"f_building":"1","f_batch_number":null,
156
+ // "f_idnumber":null,"f_state":"未检","id":"0EFE0EE2-B155-46F9-8DE0-38C022664A4D","f_complete":null,"f_check_state":null,"f_last_check_state":"拒检",
157
+ // "f_user_inhome_time":null,"f_residential_area":"测试小区1","version":1,"f_processid":null,"f_last_check_result":"{\"result\":\"正常\",\"data\":[]}",
158
+ // "f_area":null,"f_usegas":null,"f_user_phone":"16566546548","f_slice_area":"营业大区","f_approved":"未审核","f_upload_state":"未传","f_user_check_time":null,
159
+ // "f_unit":"1","f_user_spare_phone":null,"f_last_check_date":null,"f_userproperties":null,"f_userfile_id":null,"f_prearranged_date":null,"f_filialeid":"453",
160
+ // "f_branch":null,"f_orgstr":null,"f_plan_year":2020,"f_orgid":null,"f_approval_notified":null,"f_plan_month":4,"f_approved_note":null,"f_filialeids":null,
161
+ // "f_floor":"1","f_flag":null,"f_repair_approved_note":null,"f_userinfo_code":"00000002","f_create_time":"2020-05-10 18:56:03","f_meter_no":"","f_station":null,
162
+ // "f_repair_approved":"未审核","f_no_checkplan":"有计划安检","f_plan_name":"关于","f_repair_approved_by":null,"f_room":"1","f_office":null,"f_comments":null,
163
+ // "f_address":"兰山街道泰盛小区1栋1单元1层1室","id_back":null,"f_userinfoid":"2","f_subcompany":null,"f_addressid":null,"f_user_phone2":null,
164
+ // "f_user_equipment_remarks":null,"f_plan_id":"0819ea6707ad4d9dad217c06a87f4227","f_user_name":"用户二",
165
+ // "f_plan_meters":[{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2119035714","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":3,"f_maker":null,"f_metergasnums":0,"f_total_fee":100,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663},{"f_weizhi":null,"f_flow_direction":"右表","f_metertitles":"","f_prior_reading":0,"f_meter_no":"2118999901","f_collection_type":"按金额","f_aliasname":"先锋系统结算物联网表","f_meter_type":"物联网表","version":1,"f_maker":null,"f_metergasnums":0,"f_total_fee":0,"f_diaphgram_size":"G2.5","f_total_gas":0,"id":18663}]
166
+ // },
167
+
168
+ data: {
169
+ f_devices: [],
170
+ f_defect_content:'',
171
+ f_recording1_path:'',
172
+ f_visit_number:'',
173
+ f_remark:''
174
+ },
175
+ imgsnum:this.$appdata.getSingleValue('安检总体照片数量') ? this.$appdata.getSingleValue('安检总体照片数量'):1, // 安检整体照片默认必须拍1张
176
+ updateuserphone:false, //安检时是否更新用户电话
177
+ updatemetermodel:false, //安检时是否更新表型号
178
+ updatemeternumber:false, //安检时是否更新表号
179
+ beforephone:'',
180
+ isUpload:false,
181
+ show_torepair: false,
182
+ onlySave:true, //判断保存还是保存并上传
183
+ livedispose:'',
184
+ refuseinspection:'', // 拒捡拍照是否提示
185
+ notencountered:'', // 到访不遇拍照是否提示
186
+ startClick:false, //开始安检按钮是否可点击
187
+ isStrat: false, //是否开始安检
188
+ checkResult:{},//查询结果
189
+ newcheckResult:{},
190
+ repairDefect : {
191
+ result: '正常',
192
+ data: []
193
+ },
194
+ rowCodata:{},
195
+ repairers: [],
196
+ timer: null,
197
+ showModal: false,
198
+ showModal2:false,
199
+ pic_to_be_viewed: '',
200
+ showBack:true,
201
+ devices: [],
202
+ f_devices : [],
203
+ isToRepair:false,
204
+ clickBack:true, //是否点击返回按钮
205
+ isSafeCheckToRepair:false,//是否转维修
206
+ Url:this.$androidUtil.getProxyUrl(),
207
+ detail:{},
208
+ defectDevice:{},
209
+ user:{},
210
+ is_has_jingweidu: this.$appdata.getSingleValue('照片水印加经纬度') || 'false',
211
+ dispatchTypeOptions: [{label: '派发给维修员', value: '派发给维修员'},{label: '派发给站点', value: '派发给站点'}],
212
+ selectData:{
213
+ dispatchType:'派发给维修员',
214
+ f_repairman:'',
215
+ f_remarks:'',
216
+ f_repairtype:'整改'
217
+ },
218
+ model: { //转维修数据
219
+ // 一次派单
220
+ serviceacitivity: [{
221
+ f_service_acitivity_type: '派单'
222
+ }],
223
+ f_source:'安检',
224
+ f_service_id: '',
225
+ f_contact_phone: '',
226
+ f_meetunit: '',
227
+ f_phone: '',
228
+ f_user_name: '',
229
+ f_address: '',
230
+ f_repair_date: Util.toStandardTimeString(),
231
+ f_card_id: '',
232
+ // f_department: '', 站点选择
233
+ f_reciever:'',
234
+ f_remarks: '',
235
+ f_user_type: '',
236
+ f_area: '',
237
+ f_unit_name:'',
238
+ f_street: '',
239
+ f_residential_area: '',
240
+ f_building: '',
241
+ f_unit: '',
242
+ f_floor: '',
243
+ f_room: '',
244
+ aState: null,
245
+ f_repairtype: '',
246
+ f_repairitems:{},
247
+ },
248
+ repairitems:[],
249
+ meading:'转站点',
250
+ config: {
251
+ "燃气表":{
252
+ "checkmust":true,
253
+ "index":1,
254
+ "items":{
255
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
256
+ "基表编号":{"index":1,"type":"string","readonly":true},
257
+ "气表型号":{"index":2,"type":"string","readonly":true},
258
+ "气表品牌":{"index":3,"type":"string","readonly":true},
259
+ "进气方向":{"index":4,"type":"string","readonly":true},
260
+ "初始表底":{"index":5,"type":"number","isshow":false,"readonly":true},
261
+ "上期表读数":{"index":6,"type":"number","readonly":true,isshow:false},
262
+ "累购气量":{"index":7,"type":"number","readonly":true},
263
+ "累购金额":{"index":7,"type":"number","readonly":true},
264
+ "已用气量":{"index":8,"type":"number","checkmust": false},//基表数
265
+ "已用金额":{"index":8,"type":"number","checkmust": false},
266
+ "剩余气量":{"index":9,"type":"number","checkmust": false},//累购-已用
267
+ //显示屏数 --实际剩余气量
268
+ "剩余金额":{"index":9,"type":"number","checkmust": false},
269
+ "气量异常差值":{"index":10,"type":"number","readonly": true},
270
+ "金额异常差值":{"index":10,"type":"number","readonly": true},
271
+ "系统余额":{"index":10,"type":"number","readonly": true},
272
+ "表封号":{"index":11,"type":"string","readonly": true},
273
+ "燃气表照片":{"index":12,"type":"picture","checkmust": false}
274
+ }
275
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
276
+ },
277
+ // "燃气表2":{
278
+ // "checkmust":true,
279
+ // "index":2,src
280
+ // "items":{
281
+ // "燃气表照片":{"index":1,"type":"picture"},
282
+ // "表品牌":{"index":2,"type":"string","readonly":true},
283
+ // "表号":{"index":3,"type":"string","readonly":true},
284
+ // "表封号":{"index":4,"type":"number","readonly":true},
285
+ // "表型号":{"index":5,"type":"string","readonly":true},
286
+ // "位置":{"index":6,"type":"string","readonly":true},
287
+ // "表底数":{"index":7,"type":"number","readonly":true},
288
+ // "累购气量":{"index":8,"type":"number","readonly":true},
289
+ // "累购金额":{"index":8,"type":"number","readonly":true}
290
+ // }
291
+ // }
292
+ },
293
+ // 维修项
294
+ isneedDate:'',
295
+ routeShow:true,
296
+ number:0,
297
+ shupingshow:false,
298
+ pipeline: {},
299
+ details: [],
300
+ ids: '',
301
+ savevalid: {
302
+ uservalid: false,
303
+ doorvalid: true,
304
+ changetable: false
305
+ },
306
+ doordetails: {},
307
+ devicedetails: {},
308
+ cookdetails: {},
309
+ componentName: 'safecheck-userinfo',
310
+ header:'客户信息',
311
+ tabs: [
312
+ // 参数全部设置成空,在ready时,等model处理好了,再添加
313
+ {
314
+ header: '客户信息',complete:'safecheck-userinfo',class: 'repair-info-class', props: null
315
+ },
316
+ {
317
+ header: '拍照签名',complete:'paper-feedback', class: 'outlay-class', props: null
318
+ }
319
+ ],
320
+ faultshow:{
321
+ number : 8
322
+ } // 控制 故障汇总 在 菜单里显示与否,
323
+ }
324
+ },
325
+ computed: {
326
+ actionEnabled: {
327
+ get() {
328
+ return this.role == 'inspect'
329
+ }
330
+ }
331
+ },
332
+ methods: {
333
+ showmod(){
334
+ // this.saveNoclick()
335
+ let errString = this.errorVerify()
336
+ if (errString) {
337
+ console.log(errString)
338
+ console.log('Vue.android',Vue.android)
339
+ console.log('this.isUpload',this.isUpload)
340
+ if (Vue.android){
341
+ this.$showMessage(errString)
342
+ }
343
+ return
344
+ }
345
+ //清空转维修列表重新进行数据组织
346
+ this.repairDefect = {
347
+ result: '正常',
348
+ data: []
349
+ }
350
+ this.data.f_complete = '已完成'
351
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
352
+ this.assemblyCodata()
353
+ if(this.repairDefect.result=='正常'){
354
+ this.$showMessage("未发现有选择需要转维修的隐患,请检查填写的数据。如需转维修请在处理方式中选择 '转维修' !")
355
+ return
356
+ }
357
+ console.log("准备保存!")
358
+ this.disableTimer()
359
+ this.getEmp()
360
+ this.showModal2=true
361
+ },
362
+ cancel1(){
363
+ this.showModal2=false
364
+ this.selectData={
365
+ dispatchType:'派发给维修员',
366
+ f_repairman:'',
367
+ f_remarks:'',
368
+ f_repairtype:'整改'
369
+ }
370
+ },
371
+ getSiteRes(obj) {
372
+ console.log('siteRes ---> ')
373
+ console.log(obj)
374
+ if(obj.resids[0]){
375
+ this.selectData.f_meetunit = obj.res.join('.')
376
+ this.selectData.f_reciever = obj.resids.join('.')
377
+ this.selectData.f_outlets = obj.res[obj.res.length - 1]
378
+ }else {
379
+ this.selectData.f_meetunit = ''
380
+ this.selectData.f_reciever = ''
381
+ this.selectData.f_outlets = ''
382
+ }
383
+ },
384
+ rectification(){
385
+ if(this.selectData.dispatchType){
386
+ if(this.selectData.dispatchType=='派发给站点'){
387
+ if(!this.selectData.f_reciever){
388
+ this.$showMessage('请选择部门!')
389
+ return
390
+ }
391
+ }else{
392
+ if(!this.selectData.f_repairman){
393
+ this.$showMessage('请选择维修员!')
394
+ return
395
+ }
396
+ }
397
+ }else {
398
+ this.$showMessage('请选择派发类型!')
399
+ return
400
+ }
401
+ /*if(!this.selectData.f_repairtype){
402
+ this.$showMessage('请选择报修类型!')
403
+ return
404
+ }*/
405
+ //关闭录音
406
+ this.closely(false) // 保存本地,不删除录音文件暂停录音
407
+ let act={}
408
+ let toRepair=''
409
+ if(this.selectData.dispatchType=='派发给站点'){
410
+ act={f_meetunit:this.selectData.f_meetunit,f_reciever:this.selectData.f_reciever,f_service_acitivity_type:'派单'}
411
+ toRepair=null
412
+ }else{
413
+ console.log('派发给维修员---------'+this.selectData.f_repairman)
414
+ act={f_meetunit:'',f_reciever:this.selectData.f_repairman,f_service_acitivity_type:'派单'}
415
+ toRepair='一级派单'
416
+ }
417
+ let repData={
418
+ toRepair:toRepair,
419
+ activity:act,
420
+ deps:Vue.user.deps,
421
+ depids:Vue.user.depids,
422
+ f_remarks:this.selectData.f_remarks,
423
+ f_repairtype:this.selectData.f_repairtype,
424
+ f_attendant: Vue.user.name,
425
+ loginUser:{name:Vue.user.name,ename:Vue.user.id,id:Vue.user.id},
426
+ }
427
+ this.rowCodata.istoRepair='转维修'
428
+ this.rowCodata.repData=repData
429
+ console.log("当前组装好的转维修数据--"+JSON.stringify(repData))
430
+ this.onlySave = false
431
+ this.save()
432
+ },
433
+ // 获取维修员
434
+ getEmp() {
435
+ this.repairers=[]
436
+ let per = {source: 'this.getRights().where(row.getType()==$user$).where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1))', userid: `${Vue.user.id}`}
437
+ let http = new HttpResetClass()
438
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: per}, {resolveMsg: null, rejectMsg: null}).then((res) => {
439
+ res.data.forEach((user)=>{
440
+ this.repairers.push({label:user.name, value: user.name})
441
+ })
442
+ })
443
+ },
444
+ closely(isdelete){
445
+ try {
446
+ var startOrStopAudioClipStr;
447
+ if (isdelete===true) {
448
+ //tag
449
+ startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止并删除录音') //停止并删除录音
450
+ }else {
451
+ //tag
452
+ startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止录音') //停止录音
453
+ }
454
+ if (startOrStopAudioClipStr.code == 200) {
455
+ //tag
456
+ return true;
457
+ }else {
458
+ return false;
459
+ }
460
+ } catch (e) {
461
+ console.error("关闭录音方法异常")
462
+ console.error(e)
463
+ return false;
464
+ }
465
+ },
466
+ // 录音方法
467
+ record() {
468
+ //tag
469
+ if (this.role != 'inspect') {
470
+ if (this.data.f_recording1_path != '') {
471
+ window.location = "/rs/file"+this.data.f_recording1_path
472
+ }
473
+ } else {
474
+ //tag
475
+ let fileName
476
+ if (!this.data.f_recording1_path) {
477
+ fileName = Util.guid() + '.amr'
478
+ } else {
479
+ fileName = Util.getFileName(this.data.f_recording1_path)
480
+ }
481
+ //HostApp.__this__ = this
482
+ /*调用无限制录音模块*/
483
+ let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
484
+ //tag
485
+ if (startOrStopState.code == 200) {
486
+ this.data.f_recording1_path = "file:///storage/emulated/0/safecheck/" + fileName
487
+ //tag
488
+ return true;
489
+ }else {
490
+ return false;
491
+ }
492
+ }
493
+ },
494
+ saveNoclick() {
495
+ // 禁用点击事件
496
+ $("#savebut").addClass("noclickbut");
497
+ //tag
498
+
499
+ // 5秒后启用点击事件
500
+ setTimeout(function(){
501
+ $("#savebut").removeClass("noclickbut");
502
+ },5000);
503
+ },
504
+ timeSet(val){
505
+ if (!val){
506
+ return
507
+ }
508
+ let time =new Date(val).getTime()
509
+ let time2=new Date().getTime()
510
+ if (time2>time) {
511
+ return true
512
+ }
513
+ },
514
+ imgback(val,isheader){
515
+ if(val && this.routeShow && isheader){
516
+ return require('../../../assets/xiangxia1.png')
517
+ }else{
518
+ return require('../../../assets/xiangyou1.png')
519
+ }
520
+ },
521
+ changediv(val){
522
+ //tag
523
+ return val
524
+ },
525
+ // 选择tab
526
+ tabSelect (item,number) {
527
+ this.header = item.header
528
+ //tag
529
+ //tag
530
+ //tag
531
+ //tag
532
+ // 处理关闭/显示 内容
533
+ if(this.number == number && !this.routeShow ){
534
+ this.routeShow = true
535
+ }else if(this.number == number && this.routeShow){
536
+ this.routeShow = false
537
+ }else if(this.number != item.complete){
538
+ this.routeShow = true
539
+ }
540
+ this.number = number
541
+ this.componentName = item.complete
542
+ //tag
543
+ if(item.complete == 'safecheck-devices'){
544
+ //tag
545
+ if(item.header != '燃气表' && this.data['device'+item.number].length == 0){
546
+ this.data['device' + item.number].push({})
547
+ }
548
+ //tag
549
+ //tag)
550
+ let idx=this.data['device' + item.number].length - 1
551
+ let itemprops = {
552
+ config:this.config,
553
+ device:this.devices[item.number-1],
554
+ idx:idx,
555
+ role:'inspect'
556
+ }
557
+ //tag
558
+ //tag)
559
+ //tag)
560
+ //tag
561
+ if(this.routeShow){
562
+ this.$goto(item.complete, itemprops, 'repair')
563
+ //tag
564
+ }
565
+ }else{
566
+ //tag
567
+ if(this.routeShow){
568
+ this.$goto(item.complete, {userinfo:this.data}, 'repair')
569
+ }
570
+ }
571
+ this.shupingshow = true
572
+ },
573
+ // 给组件添加参数
574
+ getImgPath() {
575
+ for (var i = 0; i < this.model.serviceacitivity[0].imgs.length; i++) {
576
+ this.ids += this.model.serviceacitivity[0].imgs[i].imgid + ','
577
+ }
578
+ this.ids = this.ids.substring(0, this.ids.length - 1)
579
+ if(this.ids){
580
+ this.getImgGen();
581
+ }
582
+ },
583
+ getImgGen(){
584
+ let http = new HttpResetClass()
585
+ http.load('POST','rs/sql/tel_singleTable_OrderBy', {data: {
586
+ items: '*',
587
+ tablename: 't_files',
588
+ condition: `id in (${this.ids})`,
589
+ orderitem: 'id'
590
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
591
+ for (let i = 0; i < res.data.length; i++) {
592
+ for (let j = 0; j < this.model.serviceacitivity[0].imgs.length; j++) {
593
+ //tag)
594
+ //tag
595
+ if (res.data[i].id.toString() === this.model.serviceacitivity[0].imgs[j].imgid) {
596
+ this.model.serviceacitivity[0].imgs[j] = Object.assign({}, res.data[i], this.model.serviceacitivity[0].imgs[j])
597
+ }
598
+ }
599
+
600
+ }
601
+ })
602
+ },
603
+
604
+ sortDetails(){
605
+ for (let i = 0; i < this.details.length; i++) {
606
+ if (this.details[i].details.length) {
607
+ for (let j = 0; j < this.details[i].details.length; j++) {
608
+ if (this.details[i].details[j].f_type === 'a') {
609
+ this.doordetails = {details: this.details[i].details}
610
+ break
611
+ }
612
+ if (this.details[i].details[j].f_type === 'b') {
613
+ this.devicedetails = {details: this.details[i].details}
614
+ break
615
+ }
616
+ if (this.details[i].details[j].f_type === 'c') {
617
+ this.cookdetails = {details: this.details[i].details}
618
+ break
619
+ }
620
+ }
621
+ }
622
+ }
623
+ },
624
+ // 复制数据
625
+ back () {
626
+ let _this = this
627
+ if(this.issee){
628
+ _this.$back()
629
+ return
630
+ }
631
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
632
+ if (res === 'confirm') {
633
+ this.closely()
634
+ _this.$back()
635
+ }
636
+ })
637
+ },
638
+ confirm(){
639
+ this.$dispatch('confirm')
640
+ },
641
+ tick() {
642
+ this.timer = null
643
+ this.data.f_offsite_time = Util.toStandardTimeString()
644
+ this.timer = window.setTimeout(this.tick, 1000)
645
+ },
646
+ getRepairState() {
647
+ let repaired = true
648
+ this.data.f_defects.forEach((defect) => {
649
+ repaired = repaired & (defect.f_ratification == '已处理')
650
+ })
651
+ return repaired
652
+ },
653
+ verifyRepairDefects() {
654
+ this.data.f_repair_date = Util.toStandardTimeString()
655
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
656
+ },
657
+ errorVerify() {
658
+ let hasError = this.verifyState()
659
+ if(hasError)
660
+ return hasError
661
+
662
+ if(this.data.f_entry_status != '入户' || this.data.f_usegas == '未用气')
663
+ return null
664
+ hasError = this.verifyUser()
665
+ if(hasError)
666
+ return hasError
667
+ hasError = this.verifyDevices()
668
+ if(hasError)
669
+ return hasError
670
+ hasError = this.verifyFeedback()
671
+ if(hasError)
672
+ return hasError
673
+ },
674
+ verifyState() {
675
+ if(Vue.android && this.data.f_usegas == '未用气' && (this.data.f_nongasuser_path == Vue.nopic || this.data.f_nongasuser_path == ''))
676
+ return '未使用天然气则必须拍照'
677
+ if(Vue.android && this.data.f_entry_status == '到访不遇' && this.notencountered && (this.data.f_noanswer_path == Vue.nopic || this.data.f_noanswer_path == ''))
678
+ return '到访不遇必须拍照'
679
+ if(Vue.android && this.data.f_entry_status == '拒检' && this.refuseinspection && (this.data.f_rejectcheck_path == Vue.nopic || this.data.f_rejectcheck_path == ''))
680
+ return '拒捡必须拍照'
681
+ },
682
+ verifyUser() {
683
+ //tag
684
+ //tag
685
+ //tag)
686
+ let prefix = '用户基本信息:'
687
+ if(Util.required(this.data.f_user_name))
688
+ return prefix + '用户名必须输入'
689
+ /*if (!this.data.f_user_phone){
690
+ return '请输入正确的电话号码'
691
+ }
692
+ if(!(/^\d{11}$/.test(this.data.f_user_phone.trim()))) {
693
+ return '请输入正确的电话号码'
694
+ }*/
695
+ // if(Util.required(this.data.f_residential_area))
696
+ // return prefix + '小区名称必须输入'
697
+ // if(Util.required(this.data.f_address))
698
+ // return prefix + '地址必须输入'
699
+ },
700
+ verifyDevices() {
701
+ for (let dev in this.config) {
702
+ if (this.config[dev].checkmust == true) {
703
+ let error = true
704
+ for(let device in this.data) {
705
+ if (device.startsWith("device")) {
706
+ for (let item in this.data[device]) {
707
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
708
+ error = false
709
+ }
710
+ }
711
+ }
712
+ }
713
+ if (error) {
714
+ return "请检查" + dev
715
+ }
716
+ }
717
+ }
718
+
719
+ for (let dev in this.config) {
720
+ for(let device in this.data) {
721
+ if (device.startsWith("device")) {
722
+ for (let item in this.data[device]) {
723
+ //检查每一条安检结果
724
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
725
+ for (let i in this.data[device][item].f_items) {
726
+ for (let it in this.config[dev].items) {
727
+ if (it == this.data[device][item].f_items[i].f_item_name) {
728
+ let check=false
729
+ if (!this.data[device][item].f_items[i].f_item_value){
730
+ check=true
731
+ }else if (Array.isArray(this.data[device][item].f_items[i].f_item_value)){
732
+ if (this.data[device][item].f_items[i].f_item_value.length==0){
733
+ check=true
734
+ }
735
+ }
736
+
737
+ if(this.config[dev].items[it].type=='picture' && this.config[dev].items[it].checkmust == true && !this.data[device][item].f_items[i].f_path){
738
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
739
+ }
740
+ if (this.config[dev].items[it].type !='picture' && this.config[dev].items[it].checkmust == true && check) {
741
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
742
+ }
743
+ }
744
+ }
745
+ //检查安检下拉结果
746
+ if (this.data[device][item].f_items[i].type == 'selector' || this.data[device][item].f_items[i].type == 'radio') {
747
+ if (this.data[device][item].f_items[i].f_is_defect == true && this.data[device][item].f_items[i].f_path == Vue.nopic) {
748
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + this.data[device][item].f_items[i].f_item_value + "选中必须拍照"
749
+ }
750
+ }
751
+ }
752
+ }
753
+ }
754
+ }
755
+ }
756
+ }
757
+ },
758
+ verifyFeedback() {
759
+ let prefix = '拍照签名:'
760
+ //tag)
761
+ if(Vue.android && (!this.data.f_overall_imgs || this.data.f_overall_imgs.length < this.imgsnum) && this.data.f_entry_status == '入户')
762
+ return prefix + `必须有${this.imgsnum}安检总体照片`
763
+ if(Vue.android && (!this.data.f_sign_path || this.data.f_sign_path.length == 0) && this.data.f_entry_status == '入户')
764
+ return prefix + '必须有用户签名'
765
+ if(Vue.android && this.data.f_defect_notified && this.data.f_notified_path == Vue.nopic)
766
+ return prefix + '下发安检通知书则必须给通知书拍照'
767
+ if(Vue.android && this.data.f_blacklist && this.data.f_blocking_cause=='')
768
+ return prefix + '请填写拉黑原因'
769
+ if(!this.data.f_client_evaluation && this.data.f_entry_status == '入户')
770
+ return prefix + '请选择服务评价'
771
+ },
772
+ getAllDefect() {
773
+ let checkResults = {
774
+ result: '正常',
775
+ data: []
776
+ }
777
+ let value = ''
778
+ let codata = JSON.parse(JSON.stringify(this.data))
779
+ //tag)
780
+ //tag)
781
+ codata.f_devices = []
782
+ this.f_devices = []
783
+ for (let device in codata) {
784
+ let f_device_type
785
+ if (device.startsWith("device")) {
786
+ //tag)
787
+ let hasOther = ''
788
+ let otherValue = null
789
+ for (let item in codata[device]) {
790
+ if(typeof codata[device][item]=='function'){
791
+ continue
792
+ }
793
+ codata[device][item].f_create_time = Util.toStandardTimeString()
794
+ if (codata[device].length > 1) {
795
+ let j = Number.parseInt(item) + 1
796
+ f_device_type = `${codata[device][item].f_device_type}${j}`
797
+ } else {
798
+ f_device_type = codata[device][item].f_device_type
799
+ }
800
+ //tag
801
+ //tag
802
+ //tag)
803
+ //tag)
804
+ if(item == 'sum' || item == 'removeEmpty'){
805
+ continue
806
+ }
807
+ for (let i = 0; i < codata[device][item].f_items.length ; i++) {
808
+ //tag
809
+ if(i == 'sum' || i == 'removeEmpty'){
810
+ continue
811
+ }
812
+ //tag)
813
+ var items = codata[device][item].f_items[i]
814
+ items.f_create_time = Util.toStandardTimeString()
815
+ //tag)
816
+ items.f_item_lists = []
817
+ //tag)
818
+ // //tag)
819
+ // //tag} name => ${JSON.stringify(items.f_item_name)} value => ${JSON.stringify(items.f_item_value)}`)
820
+ // console.log(`f_is_defect => ${this.config[codata[device][item]
821
+ // .f_device_type]
822
+ // .items[items.f_item_name]
823
+ // .options
824
+ // .find((option)=>option.data === items.f_item_value)
825
+ // .map((option)=>option.f_is_defect)}`)
826
+ // if (items.f_is_defect && (items.f_is_defect == true || items.f_is_defect == 'true')) {
827
+ // //tag
828
+ // checkResults.result = '有隐患'
829
+ // //tag)
830
+ // //tag)
831
+ // // this.$set('checkResult.' + items.f_item_name, items.f_item_value)
832
+ // this.checkResult[items.f_item_name] = items.f_item_value
833
+ // //tag)
834
+ // // this.$set('checkResultsss.' + items.f_item_name, `${f_device_type}${items.f_item_value}`)
835
+ // // //tag)
836
+ // }
837
+ if (items.type == 'selector') {
838
+ items.selected = []
839
+ } else if (items.type == 'inputSelector') {
840
+ items.selected = ''
841
+ }
842
+ //遍历配置项 将所选隐患项的配置信息放入保存的数据中
843
+ let f_is_defect //是否是隐患
844
+ let f_defect_level //是否是隐患
845
+ let f_item_name = items.f_item_name
846
+ let f_item_value
847
+ let f_is_eliminate //隐患是否消除
848
+ let f_meternumber = ''
849
+ let f_user_defects = [] // 用户所有隐患
850
+ //tag
851
+ //tag
852
+ if (items.type == 'selector' || items.type == 'checkbox' || items.type == 'radio') {
853
+ for (let i in items.f_item_value) {
854
+ if(typeof items.f_item_value[i]=='function'){
855
+ continue
856
+ }
857
+ let configItems = this.config[codata[device][item].f_device_type].items[f_item_name]
858
+ //tag)
859
+ for (let k in configItems.options) {
860
+ if(typeof configItems.options[k]=='function'){
861
+ continue
862
+ }
863
+ //tag)
864
+ if (items.f_item_value[i] === configItems.options[k].data) {
865
+
866
+ f_is_defect = configItems.options[k].isdefect
867
+ f_item_value = items.f_item_value[i]
868
+ f_defect_level = configItems.options[k].level
869
+
870
+ //tag
871
+ //tag
872
+ //tag
873
+
874
+ if (f_is_defect) {
875
+ if (checkResults.result !== '有隐患') {
876
+ checkResults.result = '有隐患'
877
+ }
878
+ console.log('items'+items)
879
+ if(items.f_deal_dispose=='报修'){
880
+ console.log("检测到需要转维修++++++++++++")
881
+ this.repairDefect.result='未处理'
882
+ this.repairDefect.data.push(`${f_item_name} : ${f_item_value}`)
883
+ }
884
+ if (!this.checkResult.hasOwnProperty(f_device_type+'-'+f_item_name)) {
885
+ //tag
886
+ this.checkResult[f_device_type+'-'+f_item_name] = []
887
+ }
888
+
889
+ //tag
890
+ this.checkResult[f_device_type+'-'+f_item_name].push(f_item_value)
891
+
892
+ }
893
+
894
+ let items_list = {
895
+ f_is_defect: f_is_defect,
896
+ f_item_value: f_item_value,
897
+ f_defect_level: f_defect_level,
898
+ f_is_eliminate: null,
899
+ f_create_time: Util.toStandardTimeString()
900
+ }
901
+ if (!items.f_item_lists) {
902
+ //tag
903
+ items.f_item_lists = []
904
+ //tag)
905
+ if (JSON.stringify(items_list) !== '{}') {
906
+ //tag
907
+ items.f_item_lists.push(items_list)
908
+ }
909
+ } else {
910
+ //tag)
911
+ if (JSON.stringify(items_list) !== '{}') {
912
+ //tag
913
+ items.f_item_lists.push(items_list)
914
+ }
915
+ }
916
+ }
917
+ }
918
+ }
919
+ } else {
920
+ let configItems = this.config[codata[device][item].f_device_type].items[items.f_item_name]
921
+ f_is_defect = items.f_is_defect
922
+ f_defect_level = items.level
923
+ f_item_value = items.f_item_value
924
+ let items_list = {
925
+ f_is_defect: f_is_defect,
926
+ f_item_value: f_item_value,
927
+ f_defect_level: f_defect_level,
928
+ f_create_time: Util.toStandardTimeString()
929
+ }
930
+ if (f_is_defect && f_item_value) {
931
+ items.f_is_defect = true
932
+ if (checkResults.result !== '有隐患') {
933
+ checkResults.result = '有隐患'
934
+ }
935
+ if (!this.checkResult.hasOwnProperty(items.f_item_name)) {
936
+ //tag
937
+ this.checkResult[items.f_item_name] = []
938
+ }
939
+
940
+ //tag
941
+ this.checkResult[items.f_item_name].push(f_item_value)
942
+
943
+ }
944
+ //tag)
945
+ //tag)
946
+ if (!items.f_item_lists) {
947
+ //tag
948
+ items.f_item_lists = []
949
+ if (JSON.stringify(items_list) != '{}') {
950
+ //tag
951
+ items.f_item_lists.push(items_list)
952
+ }
953
+ } else {
954
+ // items.f_item_lists[0].f_item_value = f_item_value
955
+ if (JSON.stringify(items_list) != '{}') {
956
+ //tag
957
+ //tag)
958
+ //tag)
959
+ //tag
960
+ items.f_item_lists.push(items_list)
961
+ }
962
+ }
963
+ }
964
+ if (hasOther !== '' && otherValue !== null) {
965
+ //tag
966
+ this.checkResult[hasOther].push(otherValue)
967
+ hasOther = ''
968
+ otherValue = null
969
+ }
970
+ items.f_item_value = ''
971
+ }
972
+ //tag)
973
+ this.f_devices.push(codata[device][item])
974
+ }
975
+ }
976
+ }
977
+ if (this.checkResult) {
978
+ for (let key in this.checkResult) {
979
+ if(typeof this.checkResult[key]=='function'){
980
+ continue
981
+ }
982
+ // 上次安检结果数据组织
983
+ //tag
984
+ //tag
985
+ let temp = {}
986
+ temp[key] = this.checkResult[key].join(',')
987
+ checkResults.data.push(temp)
988
+ // this.newcheckResult[key] = this.checkResult[key]
989
+ // checkResults.data.push(this.newcheckResult)
990
+ //tag)
991
+ // this.newcheckResult = {}
992
+ }
993
+ this.checkResult = {}
994
+ }
995
+ if (checkResults.data.length > 0) {
996
+ let msg = ''
997
+ for (let a = 0; a < checkResults.data.length; a++) {
998
+ for (let datumKey in checkResults.data[a]) {
999
+ msg += datumKey + ':' + checkResults.data[a][datumKey] + ';'
1000
+ }
1001
+ }
1002
+ this.data.f_defect_text = msg
1003
+ codata.f_defect_text = msg
1004
+ }
1005
+ codata.f_defect_content = JSON.stringify(checkResults)
1006
+ this.data.f_defect_content = JSON.stringify(checkResults)
1007
+ //tag
1008
+ return codata
1009
+ },
1010
+ uploadCheckPaper(){
1011
+ this.saveNoclick()
1012
+ this.closely(false) // 保存本地,不删除录音文件停止录音
1013
+ let errString = this.errorVerify()
1014
+ if (errString) {
1015
+ if (Vue.android){
1016
+ this.$showMessage(errString)
1017
+ }
1018
+ return
1019
+ } else {
1020
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
1021
+ this.$set('data.f_upload_time', Util.toStandardTimeString())
1022
+ this.$set('data.f_upload_date', Util.toStandardTimeString())
1023
+ //tag
1024
+ this.data.f_complete = '已完成'
1025
+ this.disableTimer()
1026
+ }
1027
+ //tag
1028
+ this.onlySave = false
1029
+ this.assemblyCodata()
1030
+ if (this.repairDefect.result != '正常') {
1031
+ return this.$showMessage('有隐患的处理方式为转维修,请点击转维修')
1032
+ }
1033
+ let res = this.save()
1034
+ // if(res) {
1035
+ // try {
1036
+ // let codata = this.getAllDefect()
1037
+ // //获取微信推送内容
1038
+ // let WxResult = this.getWeixin(codata)
1039
+ // let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
1040
+ // f_check_item_id: this.data.f_check_item_id
1041
+ // })
1042
+ // //如果是转维修上传,则不做校验,上传完成后自动转维修
1043
+ // //tag
1044
+ // //tag
1045
+ // if(!this.isToRepair){
1046
+ // if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
1047
+ // //tag
1048
+ // //tag
1049
+ // if(!this.isSafeCheckToRepair){
1050
+ // this.$showMessage('有未处理的隐患,请前往拍照上传中将安检转为维修单!')
1051
+ // return
1052
+ // }
1053
+ // }
1054
+ // }
1055
+ // //tag
1056
+ // for (let key in codata){
1057
+ // if(key.startsWith("device")){
1058
+ // codata[key] = []
1059
+ // }
1060
+ // }
1061
+ // //tag}`)
1062
+ //
1063
+ // //tag
1064
+ // let isStart = true
1065
+ // let res
1066
+ // for (let i in this.f_devices){
1067
+ // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
1068
+ // if(res.code == 200){
1069
+ // isStart = false
1070
+ // }else{
1071
+ // this.$showMessage("保存失败!")
1072
+ // }
1073
+ // }
1074
+ // let result = HostApp.organizeJSON({
1075
+ // isStart:false,
1076
+ // isJSON:true,
1077
+ // jsonstr:{
1078
+ // f_check_item_id: this.data.f_check_item_id,
1079
+ // f_checker_id: this.data.f_checker_id,
1080
+ // row: codata
1081
+ // }
1082
+ // })
1083
+ // if(result.code == 200){
1084
+ // HostApp.__this__ = this
1085
+ // this.runSyncLogic('上传安检信息','javascript:HostApp.__this__.uploadCallBack()',1)
1086
+ // }
1087
+ //
1088
+ //
1089
+ // // let response = this.$androidUtil.bzLogic('上传安检信息', {
1090
+ // // f_check_item_id: this.data.f_check_item_id,
1091
+ // // f_checker_id: this.data.f_checker_id,
1092
+ // // row: codata
1093
+ // // })
1094
+ // // if (response.code == 200) {
1095
+ // // //tag
1096
+ // // //tag)
1097
+ // // let f_paper_id
1098
+ // // if(response.data != '' && response.data != null){
1099
+ // // f_paper_id = JSON.parse(response.data).id
1100
+ // // }
1101
+ // // this.$set('data.f_paper_id', f_paper_id)
1102
+ // // //tag
1103
+ // // //tag)
1104
+ // // //tag
1105
+ // // //tag)
1106
+ // // for (let device in this.data){
1107
+ // // //tag
1108
+ // // //tag)
1109
+ // // if(device.startsWith("device")){
1110
+ // // for(let devices of this.data[device]) {
1111
+ // // devices.f_paper_id = f_paper_id
1112
+ // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
1113
+ // // row: devices
1114
+ // // })
1115
+ // // //tag}`)
1116
+ // // if(ret.code == 200){
1117
+ // // //tag
1118
+ // // devices.f_device_id = JSON.parse(ret.data.f_device_id).id
1119
+ // // }
1120
+ // // //tag
1121
+ // // //tag)
1122
+ // // if (ret.code != 200) {
1123
+ // // //TODO 失败后处理
1124
+ // // // this.isUpload = false
1125
+ // // this.$showMessage("上传失败!")
1126
+ // // return false
1127
+ // // }
1128
+ // // }
1129
+ // // }
1130
+ // // }
1131
+ // // // for (let device of this.f_devices) {
1132
+ // // // device.f_paper_id = f_paper_id
1133
+ // // // //tag
1134
+ // // // //tag)
1135
+ // // // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
1136
+ // // // row: device
1137
+ // // // })
1138
+ // // // //tag
1139
+ // // // if (ret.code != 200) {
1140
+ // // // //TODO 失败后处理
1141
+ // // // HostApp.alert("上传失败!")
1142
+ // // // return false
1143
+ // // // }
1144
+ // // // }
1145
+ // // let result = this.$androidUtil.bzLogic('FinishUpload',
1146
+ // // {
1147
+ // // f_check_item_id: this.data.f_check_item_id,
1148
+ // // f_userinfo_id: codata.f_userinfoid,
1149
+ // // f_last_check_result: codata.f_defect_content
1150
+ // // })
1151
+ // // if(result.code == 200){
1152
+ // // // this.$showAlert('上传成功!', 'success', 2000)
1153
+ // // this.$showMessage('上传成功!')
1154
+ // // this.isStrat=false
1155
+ // // if(url != "" ){
1156
+ // // this.$resetpost(`${url}`,{data:WxResult})
1157
+ // // }
1158
+ // // return true
1159
+ // // }else{
1160
+ // // // this.isUpload = false
1161
+ // // this.$showMessage("上传失败!")
1162
+ // // return false
1163
+ // // }
1164
+ // // }else{
1165
+ // // // this.isUpload = false
1166
+ // // this.$showMessage("上传失败!")
1167
+ // // return false
1168
+ // // }
1169
+ // }catch (e) {
1170
+ // //tag)
1171
+ // // this.isUpload = false
1172
+ // this.$showMessage("上传失败!")
1173
+ // }
1174
+ // }
1175
+ },
1176
+ //将数据组装提出
1177
+ assemblyCodata(){
1178
+ let codata = this.getAllDefect()
1179
+ console.log(`codata类型 开始组装codeta数据-->${typeof codata}`)
1180
+ console.log(`codata内容-->${JSON.stringify(codata)}`)
1181
+ for (let key in codata) {
1182
+ if (key.startsWith("device")) {
1183
+ console.log('this.data.' + key + JSON.stringify(codata[key]))
1184
+ codata[key] = []
1185
+ }
1186
+ }
1187
+ codata.f_devices = this.f_devices
1188
+ this.rowCodata=codata
1189
+ },
1190
+ save(type) {
1191
+ if (type == 'temp' || type == 'finish') {
1192
+ this.assemblyCodata()
1193
+ }
1194
+ //禁用事件
1195
+ this.saveNoclick()
1196
+ //tag
1197
+ //tag
1198
+ if(type == 'temp'){
1199
+ this.data.f_complete = '未完成'
1200
+ this.rowCodata.f_complete = '未完成'
1201
+ // 关闭录音方法
1202
+ this.closely(true) //临时保存,删除录音文件并暂停录音
1203
+ this.disableTimer()
1204
+ }else {
1205
+ // 关闭录音方法
1206
+ this.closely(false) // 保存本地,不删除录音文件暂停录音
1207
+ let errString = this.errorVerify()
1208
+ if (errString) {
1209
+ //tag
1210
+ //tag
1211
+ //tag
1212
+ if (Vue.android){
1213
+ this.$showMessage(errString)
1214
+ }
1215
+ return
1216
+ } else {
1217
+ this.data.f_complete = '已完成'
1218
+ this.rowCodata.f_complete = '已完成'
1219
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
1220
+ this.$set('rowCodata.f_offsite_time', Util.toStandardTimeString())
1221
+ this.disableTimer()
1222
+ }
1223
+ }
1224
+ //tag
1225
+ if(this.data.f_blacklist!='是'){
1226
+ delete this.data.f_blocking_cause
1227
+ }
1228
+ if (this.data.f_entry_status == '入户') {
1229
+ this.data.f_rejectchecks_path = []
1230
+ this.data.f_rejectcheck_path = null
1231
+ this.data.f_rejectcheck1_path = null
1232
+ this.data.f_rejectcheck2_path = null
1233
+ this.data.f_noanswers_path=[]
1234
+ this.data.f_noanswer_path = null
1235
+ this.data.f_noanswer1_path = null
1236
+ this.data.f_noanswer2_path = null
1237
+ }else if (this.data.f_entry_status == '到访不遇') {
1238
+ this.data.f_rejectchecks_path = []
1239
+ this.data.f_rejectcheck_path = null
1240
+ this.data.f_rejectcheck1_path = null
1241
+ this.data.f_rejectcheck2_path = null
1242
+ }else if (this.data.f_entry_status == '拒检') {
1243
+ this.data.f_noanswers_path=[]
1244
+ this.data.f_noanswer_path = null
1245
+ this.data.f_noanswer1_path = null
1246
+ this.data.f_noanswer2_path = null
1247
+ }
1248
+ // try {
1249
+ let codata = this.rowCodata
1250
+ //tag
1251
+ //tag}`)
1252
+ for (let key in codata) {
1253
+ if (key.startsWith("device")) {
1254
+ //tag)
1255
+ codata[key] = []
1256
+ }
1257
+ }
1258
+ codata.f_complete = this.data.f_complete
1259
+ //tag}`)
1260
+ //tag}`)
1261
+ //tag
1262
+ if (Vue.android) {
1263
+ //tag
1264
+ let value = this.$androidUtil.path({
1265
+ alias: 'getUserinfomation',
1266
+ data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan in ('无计划安检','复检')"}
1267
+ })
1268
+ //tag)
1269
+ if ((this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') && this.item.f_no_checkplan != '打回') {
1270
+ // let result = this.$androidUtil.bzLogic('SafeSaveNoPaper', {
1271
+ // f_check_item_id: this.data.f_check_item_id,
1272
+ // f_checker_id: this.data.f_checker_id,
1273
+ // f_upload_state:'未传',
1274
+ // row: codata
1275
+ // })
1276
+ //tag
1277
+ let isStart = true
1278
+ // let res
1279
+ // for (let i in this.f_devices) {
1280
+ // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1281
+ // if (res.code == 200) {
1282
+ // isStart = false
1283
+ // } else {
1284
+ // this.$showMessage("保存失败!")
1285
+ // }
1286
+ // }
1287
+ // let result = HostApp.organizeJSON({
1288
+ // isStart: false,
1289
+ // isJSON: true,
1290
+ // jsonstr: {
1291
+ // f_check_item_id: this.data.f_check_item_id,
1292
+ // f_checker_id: this.data.f_checker_id,
1293
+ // f_upload_state: '未传',
1294
+ // row: codata
1295
+ // }
1296
+ // })
1297
+ codata.f_devices = this.f_devices
1298
+ if (this.rowCodata && this.rowCodata.istoRepair=='转维修') {
1299
+ this.rowCodata = Object.assign({},this.rowCodata,codata)
1300
+ } else {
1301
+ this.rowCodata = codata
1302
+ }
1303
+ let param = {
1304
+ f_check_item_id: this.data.f_check_item_id,
1305
+ f_checker_id: this.data.f_checker_id,
1306
+ f_upload_state: '未传',
1307
+ // row: codata
1308
+ row: this.rowCodata
1309
+ }
1310
+ //tag)
1311
+ let paramStr = JSON.stringify(param)
1312
+ // 多长截断一次
1313
+ let subLength = 800
1314
+ for (let i = 0; i < paramStr.length; i += subLength) {
1315
+ HostApp.param_cache(paramStr.slice(i, i + subLength))
1316
+ }
1317
+ HostApp.__this__ = this
1318
+ HostApp.syncLogic({
1319
+ // logic别名,key必须为logic
1320
+ 'logic': 'SafeSaveNoPaper',
1321
+ // 回调执行方法名,key必须为callback
1322
+ 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1323
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1324
+ // 执行回调方法传入key为backresult
1325
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1326
+ 'backresult': 1
1327
+ })
1328
+ } else {
1329
+ // console.log("dddddddd")
1330
+ //tag
1331
+ let isStart = true
1332
+ let res
1333
+ //tag)
1334
+ // for (let i in this.f_devices) {
1335
+ // //tag)
1336
+ // for (let j = 0; j < this.f_devices[i].f_items.length; j++) {
1337
+ // //tag)
1338
+ // }
1339
+ // res = HostApp.organizeJSON({isStart: isStart, isDevice: true, device: this.f_devices[i]})
1340
+ // //tag)
1341
+ // if (res.code == 200) {
1342
+ // isStart = false
1343
+ // } else {
1344
+ // this.$showMessage("保存失败!")
1345
+ // }
1346
+ // }
1347
+ //tag)
1348
+ //tag)
1349
+ //tag)
1350
+ // let result = HostApp.organizeJSON({
1351
+ // isStart: false,
1352
+ // isJSON: true,
1353
+ // jsonstr: {
1354
+ // f_check_item_id: this.data.f_check_item_id,
1355
+ // f_checker_id: this.data.f_checker_id,
1356
+ // row: codata
1357
+ // }
1358
+ // })
1359
+ codata.f_devices = this.f_devices
1360
+ if (this.rowCodata && this.rowCodata.istoRepair=='转维修') {
1361
+ this.rowCodata = Object.assign({},this.rowCodata,codata)
1362
+ } else {
1363
+ this.rowCodata = codata
1364
+ }
1365
+ let param = {
1366
+ f_check_item_id: this.data.f_check_item_id,
1367
+ f_checker_id: this.data.f_checker_id,
1368
+ // row: codata
1369
+ row: this.rowCodata
1370
+ }
1371
+ //tag)
1372
+ // console.log("ni"+JSON.stringify(param))
1373
+ let paramStr = JSON.stringify(param)
1374
+ // 多长截断一次
1375
+ let subLength = 800
1376
+ for (let i = 0; i < paramStr.length; i += subLength) {
1377
+ HostApp.param_cache(paramStr.slice(i, i + subLength))
1378
+ }
1379
+ HostApp.__this__ = this
1380
+ HostApp.syncLogic({
1381
+ // logic别名,key必须为logic
1382
+ 'logic': '保存安检单信息',
1383
+ // 回调执行方法名,key必须为callback
1384
+ 'callback': 'javascript:HostApp.__this__.saveCallBack()',
1385
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1386
+ // 执行回调方法传入key为backresult
1387
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1388
+ 'backresult': 1
1389
+ })
1390
+ }
1391
+
1392
+ } else {
1393
+ //tag
1394
+ let value = this.$androidUtil.path({
1395
+ alias: 'getUserinfomation',
1396
+ data: {condition: "f_userinfoid = '" + this.item.f_userinfoid + "' and f_no_checkplan in ('无计划安检','复检')"}
1397
+ })
1398
+ if (this.rowCodata && this.rowCodata.istoRepair=='转维修') {
1399
+ this.rowCodata = Object.assign({},this.rowCodata,codata)
1400
+ } else {
1401
+ this.rowCodata = codata
1402
+ }
1403
+ if ((this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') && value.data.length == 0 && this.item.f_no_checkplan != '打回') {
1404
+ this.$androidUtil.bzLogic('SafeSaveNoPaper', {
1405
+ f_check_item_id: this.data.f_check_item_id,
1406
+ f_checker_id: this.data.f_checker_id,
1407
+ f_upload_state: '未传',
1408
+ // row: codata
1409
+ row: this.rowCodata
1410
+ }).then((res) => {
1411
+ if (res.data.code == 200) {
1412
+ //保存devices
1413
+ this.$androidUtil.bzLogic('getPaperInfo', {
1414
+ f_check_item_id: this.data.f_check_item_id
1415
+ }).then((res) => {
1416
+ //tag
1417
+ if (res.data.code == 200) {
1418
+
1419
+ let f_paper_id = res.data.data[0].id
1420
+ for (let device of this.f_devices) {
1421
+ device.f_paper_id = f_paper_id
1422
+ //tag
1423
+ this.$androidUtil.bzLogic('saveDevice', {
1424
+ row: device
1425
+ }).then((ret) => {
1426
+ //tag
1427
+ if (ret.code != 200) {
1428
+ // if(this.isUpload){
1429
+ // this.isUpload = false
1430
+ // }
1431
+ //TODO 失败后处理
1432
+ this.$showMessage("保存失败!")
1433
+ return false
1434
+ }
1435
+ })
1436
+ }
1437
+ }
1438
+ })
1439
+ // this.$showAlert('保存成功!', 'success', 2000)
1440
+ this.$showMessage('保存成功!')
1441
+ return true
1442
+ } else {
1443
+ // if(this.isUpload){
1444
+ // this.isUpload = false
1445
+ // }
1446
+ this.$showMessage("保存失败!")
1447
+ return false
1448
+ }
1449
+ })
1450
+ }
1451
+ else {
1452
+ this.$androidUtil.bzLogic('保存安检单信息', {
1453
+ f_check_item_id: this.data.f_check_item_id,
1454
+ f_checker_id: this.data.f_checker_id,
1455
+ row: this.rowCodata
1456
+ }).then((res) => {
1457
+ //tag
1458
+ if (res.data.code == 200) {
1459
+ //保存devices
1460
+ this.$androidUtil.bzLogic('getPaperInfo', {
1461
+ f_check_item_id: this.data.f_check_item_id
1462
+ }).then((res) => {
1463
+ //tag
1464
+ if (res.data.code == 200) {
1465
+
1466
+ let f_paper_id = res.data.data[0].id
1467
+ for (let device of this.f_devices) {
1468
+ device.f_paper_id = f_paper_id
1469
+ //tag
1470
+ this.$androidUtil.bzLogic('saveDevice', {
1471
+ row: device
1472
+ }).then((ret) => {
1473
+ //tag
1474
+ if (ret.code != 200) {
1475
+ // if(this.isUpload){
1476
+ // this.isUpload = false
1477
+ // }
1478
+ //TODO 失败后处理
1479
+ this.$showMessage("保存失败!")
1480
+ return false
1481
+ }
1482
+ })
1483
+ }
1484
+ }
1485
+ })
1486
+ // this.$showAlert('保存成功!', 'success', 2000)
1487
+ this.$showMessage('保存成功!')
1488
+ return true
1489
+ } else {
1490
+ // if(this.isUpload){
1491
+ // this.isUpload = false
1492
+ // }
1493
+ this.$showMessage("保存失败!")
1494
+ return false
1495
+ }
1496
+ })
1497
+ }
1498
+ }
1499
+ // }catch (e) {
1500
+ // //tag)
1501
+ // // this.isUpload = false
1502
+ // this.$showMessage("保存失败!")
1503
+ // }
1504
+ },
1505
+ runSyncLogic(logic,callback,backresult){
1506
+ HostApp.runSyncLogic({
1507
+ // logic别名,key必须为logic
1508
+ 'logic': logic,
1509
+ // 回调执行方法名,key必须为callback
1510
+ 'callback': callback,
1511
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1512
+ // 执行回调方法传入key为backresult
1513
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1514
+ 'backresult':backresult
1515
+ })
1516
+ },
1517
+ logicWithHint(logic,data,callback,backresult){
1518
+ HostApp.logicWithHint({
1519
+ // logic别名,key必须为logic
1520
+ 'logic': logic,
1521
+ // 回调执行方法名,key必须为callback
1522
+ 'callback': callback,
1523
+ // logic执行需要的业务参数
1524
+ 'data': data,
1525
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1526
+ // 执行回调方法传入key为backresult
1527
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1528
+ 'backresult':backresult
1529
+ })
1530
+ },
1531
+ saveCallBack(jo){
1532
+ //tag)
1533
+ // console.log("jjjj"+JSON.stringify(jo))
1534
+ if(jo.state == 'ok'){
1535
+ let res = JSON.parse(jo.result)
1536
+ //tag)
1537
+ if(res.code == 200){
1538
+ //tag
1539
+ if(!this.onlySave){
1540
+ let codata = this.getAllDefect()
1541
+ //获取微信推送内容
1542
+ // let WxResult = this.getWeixin(codata)
1543
+ let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
1544
+ f_check_item_id: this.data.f_check_item_id
1545
+ })
1546
+ //如果是转维修上传,则不做校验,上传完成后自动转维修
1547
+ //tag
1548
+ //tag
1549
+ if(!this.isToRepair){
1550
+ if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
1551
+ //tag
1552
+ //tag
1553
+ if(!this.isSafeCheckToRepair){
1554
+
1555
+ }
1556
+ }
1557
+ }
1558
+ //tag
1559
+ for (let key in codata){
1560
+ if(key.startsWith("device")){
1561
+ codata[key] = []
1562
+ }
1563
+ }
1564
+ //tag}`)
1565
+
1566
+ //tag
1567
+ // let isStart = true
1568
+ // let res
1569
+ // for (let i in this.f_devices){
1570
+ // res = HostApp.organizeJSON({isStart:isStart,isDevice:true,device:this.f_devices[i]})
1571
+ // if(res.code == 200){
1572
+ // isStart = false
1573
+ // }else{
1574
+ // this.$showMessage("上传失败!")
1575
+ // return
1576
+ // }
1577
+ // }
1578
+ // let result = HostApp.organizeJSON({
1579
+ // isStart:false,
1580
+ // isJSON:true,
1581
+ // jsonstr:{
1582
+ // f_check_item_id: this.data.f_check_item_id,
1583
+ // f_checker_id: this.data.f_checker_id,
1584
+ // row: codata
1585
+ // }
1586
+ // })
1587
+ codata.f_devices = this.f_devices
1588
+ if (this.rowCodata && this.rowCodata.istoRepair=='转维修') {
1589
+ this.rowCodata = Object.assign({},this.rowCodata,codata)
1590
+ } else {
1591
+ this.rowCodata = codata
1592
+ }
1593
+ let param = {
1594
+ f_check_item_id: this.data.f_check_item_id,
1595
+ f_checker_id: this.data.f_checker_id,
1596
+ // row: codata
1597
+ row: this.rowCodata
1598
+ }
1599
+ //tag)
1600
+ let paramStr = JSON.stringify(param)
1601
+ // 多长截断一次
1602
+ let subLength = 800
1603
+ for (let i = 0; i < paramStr.length; i += subLength) {
1604
+ HostApp.param_cache(paramStr.slice(i, i + subLength))
1605
+ }
1606
+ HostApp.__this__ = this
1607
+ HostApp.syncLogic({
1608
+ // logic别名,key必须为logic
1609
+ 'logic': '上传安检信息',
1610
+ // 回调执行方法名,key必须为callback
1611
+ 'callback': 'javascript:HostApp.__this__.uploadCallBack()',
1612
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1613
+ // 执行回调方法传入key为backresult
1614
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1615
+ 'backresult': 1
1616
+ })
1617
+ }else{
1618
+ this.$showMessage('保存成功!')
1619
+ if(this.clickBack){
1620
+ this.isStrat = false
1621
+ this.$dispatch('confirm')
1622
+ //this.$back()
1623
+ }
1624
+ }
1625
+ }else{
1626
+ this.$showMessage('保存失败!')
1627
+ return
1628
+ }
1629
+ }else{
1630
+ this.$showMessage('服务器内部错误,保存失败!')
1631
+ return
1632
+ }
1633
+ },
1634
+ uploadCallBack(jo){
1635
+ //获取微信推送路径
1636
+ let url = ""
1637
+ if(Vue.config.safecheck != undefined) {
1638
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1639
+ if (Vue.config.safecheck.ApproveConfig.weixinurl != undefined) {
1640
+ url = Vue.config.safecheck.ApproveConfig.weixinurl
1641
+ }
1642
+ }
1643
+ }
1644
+ //tag)
1645
+ //tag)
1646
+ if(jo.state == 'ok'){
1647
+ let res = JSON.parse(jo.result)
1648
+ //tag)
1649
+ //tag)
1650
+ if(res.code == 200){
1651
+ this.$set('data.f_paper_id', res.id)
1652
+ this.isStrat=false
1653
+ if(url != ""){
1654
+ this.$resetpost(`${url}`,{data:WxResult})
1655
+ }
1656
+ // 预约安检回更预约安检单
1657
+ if(this.data.isupdateplanitem == 'true' && this.data.f_SafeToRepair_id){
1658
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/ReturnSafeService`, {data:{
1659
+ f_paper_id:this.data.f_paper_id,
1660
+ f_service_id:this.data.f_SafeToRepair_id
1661
+ }
1662
+ }).then((ret) => {
1663
+ if(ret.data && ret.data.code == 200){
1664
+ console.log('预约安检回更成功')
1665
+ }
1666
+ })
1667
+ }
1668
+ //tag
1669
+ if(this.isToRepair){
1670
+ for (let device in this.data){
1671
+ if(device.startsWith("device")){
1672
+ this.data[device] = []
1673
+ if(res.data.length > 0){
1674
+ for(let i in res.data[0].f_devices){
1675
+ if(this.data[device].length > 0){
1676
+ if(this.data[device][0].f_device_type == res.data[0].f_devices[i].f_device_type){
1677
+ this.data[device].push(res.data[0].f_devices[i])
1678
+ res.data[0].f_devices.splice(i,1)
1679
+ }
1680
+ }else{
1681
+ this.data[device].push(res.data[0].f_devices[i])
1682
+ res.data[0].f_devices.splice(i,1)
1683
+ }
1684
+ }
1685
+ }
1686
+ }
1687
+ }
1688
+ this.todo()
1689
+ }else{
1690
+ this.$showMessage('上传成功!')
1691
+ //tag
1692
+ this.$dispatch('confirm')
1693
+ // this.$back()
1694
+ }
1695
+ }else if(res.code == 309){
1696
+ this.$showMessage('该安检单已作废!')
1697
+ //tag
1698
+ this.$dispatch('confirm')
1699
+ }else if(res.code == 710){
1700
+ this.$showMessage('上传照片失败,请检查网络是否正常!'+res.msg)
1701
+ this.onlySave = true
1702
+ return
1703
+ }else if(res.code == 711){
1704
+ this.$showMessage('该安检单已被管理员调整,请联系管理员!')
1705
+ this.onlySave = true
1706
+ return
1707
+ }else if(res.code == 712){
1708
+ this.$showMessage('网络异常,请缓存后重新尝试上传,多次上传失败请联系管理员!')
1709
+ this.onlySave = true
1710
+ return
1711
+ }
1712
+ else{
1713
+ this.$showMessage('上传失败!')
1714
+ }
1715
+ }else {
1716
+ this.$showMessage('网络异常,上传失败!')
1717
+ }
1718
+ this.onlySave = true
1719
+ },
1720
+ safecheckToRepairCallBack(jo){
1721
+ //获取微信推送路径
1722
+ if(jo.state == 'ok'){
1723
+ let res = JSON.parse(jo.result)
1724
+ //tag)
1725
+ if(res.code == 200){
1726
+ //tag
1727
+ if(res.data.code == 200){
1728
+ this.$showMessage('上传并转维修成功!')
1729
+ }else{
1730
+ this.$showMessage('上传并转维修成功,回写安检单失败!')
1731
+ }
1732
+ this.$dispatch('confirm')
1733
+ // this.$back()
1734
+ }else{
1735
+ this.$showMessage('上传失败!')
1736
+ this.onlySave = true
1737
+ }
1738
+ }else{
1739
+ this.$showMessage('网络异常,上传失败!')
1740
+ this.onlySave = true
1741
+ }
1742
+ },
1743
+ todo(){
1744
+ let gen = getRepairParam(this)
1745
+ co(gen)
1746
+ },
1747
+ undo(){
1748
+ this.showCheckToRepair = !this.showCheckToRepair
1749
+ this.model.serviceacitivity[0].f_reciever = ''
1750
+ this.model.serviceacitivity[0].f_meetunit = ''
1751
+ this.model.f_repairtype = ''
1752
+ this.meading = '转站点'
1753
+ },
1754
+ disableTimer() {
1755
+ if(this.timer) {
1756
+ window.clearTimeout(this.timer)
1757
+ this.timer = null
1758
+ }
1759
+ },
1760
+ loaded(paper) {
1761
+ if(!paper.hasOwnProperty('id')) {
1762
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
1763
+ this.init()
1764
+ } else {
1765
+ Util.booleanFilter(paper)
1766
+ HostApp.__this__.$set('data', paper)
1767
+ HostApp.__this__.$goto('safecheck-userinfo', {}, 'paper-router')
1768
+ // 如果打回重检则重新计时
1769
+ //tag
1770
+ if(HostApp.__this__.role == 'inspect'
1771
+ && HostApp.__this__.data.f_approved
1772
+ && HostApp.__this__.data.f_approved == '打回') {
1773
+ //tag
1774
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
1775
+ HostApp.__this__.tick()
1776
+ }
1777
+ }
1778
+ HostApp.__callback__ = null
1779
+ HostApp.__this__ = null
1780
+ },
1781
+ S4() {
1782
+ return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
1783
+ },
1784
+ extend(initalObj, finalObj) {
1785
+ var obj = finalObj || {};
1786
+ for (var i in initalObj) {
1787
+ var prop = initalObj[i];
1788
+
1789
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1790
+ if (prop === obj) {
1791
+ continue;
1792
+ }
1793
+
1794
+ if (typeof prop === 'object') {
1795
+ if (obj[i]) {
1796
+ this.extend(obj[i], prop)
1797
+ } else {
1798
+ obj[i] = prop;
1799
+ }
1800
+ }
1801
+ }
1802
+ return obj;
1803
+ },
1804
+ // async isoverDate(){
1805
+ // let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/androidGetuserinfo`, {data:{
1806
+ // condition:"f_plan_item_id='"+this.item.id+"'"
1807
+ // }
1808
+ // })
1809
+ // this.isneedDate=res.data[0]["f_subscribe_date"]
1810
+ // },
1811
+ putDevices() {
1812
+ //tag)
1813
+ //tag)
1814
+ this.$set('data.approve', "true")
1815
+ this.$set('data.writeback', "false")
1816
+ if (Vue.config.safecheck != undefined) {
1817
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1818
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1819
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1820
+ }
1821
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1822
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1823
+ }
1824
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1825
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1826
+ }
1827
+ if (Vue.config.safecheck.ApproveConfig.showtorepair) {
1828
+ this.show_torepair = Vue.config.safecheck.ApproveConfig.showtorepair
1829
+ }
1830
+ if (Vue.config.safecheck.ApproveConfig.notencountered != undefined){
1831
+ this.notencountered = Vue.config.safecheck.ApproveConfig.notencountered
1832
+ }
1833
+ if (Vue.config.safecheck.ApproveConfig.refuseinspection != undefined){
1834
+ this.refuseinspection = Vue.config.safecheck.ApproveConfig.refuseinspection
1835
+ }
1836
+ }
1837
+ //tag
1838
+ //tag)
1839
+ //tag)
1840
+ //tag
1841
+ if(this.item.f_user_type == '非民用'){
1842
+ // 非民用
1843
+ if (Vue.config.safecheck.DevicesSetConfig != undefined){
1844
+ if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1845
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1846
+ }else{
1847
+ //tag
1848
+ //tag
1849
+ //tag
1850
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type]])
1851
+ }
1852
+ //this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1853
+ }
1854
+
1855
+ }else{
1856
+ // 民用户
1857
+ if (Vue.config.safecheck.DevicesConfig != undefined){
1858
+ if(this.item.f_safecheck_type == undefined || this.item.f_safecheck_type == '' || Vue.config.safecheck.SafecheckType == undefined) {
1859
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1860
+ }else{
1861
+ //tag
1862
+ //tag
1863
+ //tag
1864
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_user_type?this.item.f_user_type:'民用']])
1865
+ }
1866
+ // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1867
+ }
1868
+ }
1869
+
1870
+ }
1871
+ //tag)
1872
+ // 预留设备项位置
1873
+ for (let i in this.config) {
1874
+ this.tabs.splice(1,0,null)
1875
+ }
1876
+ //遍历安检项配置
1877
+ for (let i in this.config) {
1878
+ //取得安检项索引值
1879
+ let n = this.config[i].index
1880
+ //tag
1881
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1882
+ this.$set('data.' + 'device' + n, [])
1883
+ //tag
1884
+ // this.tabs.splice(2 + n - 1, 0,
1885
+ // {
1886
+ // header:i,
1887
+ // complete:'safecheck-devices',
1888
+ // class:'repair-details-class',
1889
+ // number:n
1890
+ // })
1891
+ this.tabs[n] = {
1892
+ header: i,
1893
+ complete: 'safecheck-devices',
1894
+ class: 'repair-details-class',
1895
+ number: n
1896
+ }
1897
+
1898
+ if(this.config[i].quantity && this.config[i].quantity >0){
1899
+ let items = []
1900
+ for (let it in this.config[i].items) {
1901
+ //赋值下拉选项
1902
+ if (this.config[i].items[it].type == 'selector') {
1903
+ for (let op in this.config[i].items[it].options) {
1904
+ if (this.config[i].items[it].options[op].isdefault == true) {
1905
+ items.push({
1906
+ f_defect_level: this.config[i].items[it].options[op].level,
1907
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
1908
+ f_item_name: it,
1909
+ f_item_value: this.config[i].items[it].options[op].data,
1910
+ f_path: "",
1911
+ type: "selector"
1912
+ })
1913
+ }
1914
+ }
1915
+ }
1916
+ }
1917
+ for(let q =0;q<this.config[i].quantity;q++) {
1918
+ this.data['device' + n].push(
1919
+ {f_device_type: i, f_items:items}
1920
+ )
1921
+ }
1922
+ }
1923
+ // this.data['device' + n].push(
1924
+ // {f_device_type: i, f_items: items}
1925
+ // )
1926
+ n = n + 1
1927
+ }
1928
+ //tag
1929
+ this.faultshow.number = this.tabs.length
1930
+ },
1931
+ init () {
1932
+ //tag
1933
+ // this.data.f_noplan_item_id = this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()
1934
+ // 无计划安检是否回更待办计划
1935
+ this.data.isupdateplanitem = this.$appdata.getSingleValue('在线安检回更有计划') ? this.$appdata.getSingleValue('在线安检回更有计划') : 'false'
1936
+ // 预约安检单工单编号
1937
+ this.data.f_SafeToRepair_id = this.item.f_service_id
1938
+ this.data.ename = Vue.user.ename
1939
+ this.data.f_outlets = Vue.user.f_parentname
1940
+ this.data.f_meetunit = Vue.user.orgpathnames
1941
+ this.data.orgpathstr = Vue.user.orgpathstr
1942
+ this.data.f_check_item_id = this.item.id
1943
+ this.data.f_check_plan_id = this.f_plan_id
1944
+ this.data.f_checker_id = Vue.user.id
1945
+ this.data.f_checker_name = Vue.user.name
1946
+ this.data.f_check_type = this.item.f_user_type
1947
+ this.data.f_safecheck_type = this.item.f_safecheck_type
1948
+ //this.data.f_exceed_reason = ''//存放送气超期原因
1949
+ //tag
1950
+ this.data.f_subcompany = this.item.f_subcompany
1951
+ this.data.f_approved = this.item.f_approvedf_read_instructions
1952
+ this.data.f_repair_approved = this.item.f_repair_approved
1953
+ this.data.f_no_checkplan = this.item.f_no_checkplan
1954
+ this.data.f_approved = this.item.f_approved
1955
+ this.data.f_filialeid = this.item.f_filialeid || Vue.user.orgid
1956
+ this.data.f_orgstr = this.item.f_orgstr
1957
+ this.data.version = this.item.version
1958
+ this.data.f_check_version=this.item.f_check_version
1959
+ this.$set('data.f_meters', this.item.f_plan_meters)
1960
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
1961
+ // 安检状态
1962
+ this.$set('data.f_entry_status', '入户')
1963
+ this.$set('data.f_safe_type', '年度安检')
1964
+ this.$set('data.f_usegas', '已使用')
1965
+ this.$set('data.f_state',this.item.f_state)
1966
+ this.$set('data.f_source', this.source?this.source:'安检')
1967
+ this.$set('data.f_other_checker_name', '')
1968
+ //tag
1969
+ // 用户信息
1970
+ this.$set('data.f_user_name', this.item.f_user_name)
1971
+ this.$set('data.f_rent_phone', this.item.f_rent_phone)
1972
+ this.$set('data.f_user_phone', this.item.f_user_phone || this.item.f_plan_meters[0].f_user_phone)
1973
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
1974
+ this.$set('data.f_address', this.item.f_address)
1975
+ this.$set('data.f_card_id', this.item.f_card_id)
1976
+ this.$set('data.f_slice_area', this.item.f_slice_area)
1977
+ this.$set('data.f_recheck_id', this.item.id)
1978
+ this.$set('rowCodata.f_recheck_id', this.item.id)
1979
+ this.$set('data.f_street', this.item.f_street)
1980
+ this.$set('data.f_room', this.item.f_room)
1981
+ this.$set('data.f_building', this.item.f_building)
1982
+ this.$set('data.f_unit', this.item.f_unit)
1983
+ //tag
1984
+ this.$set('data.f_floor', this.item.f_floor)
1985
+ this.$set('data.f_residential_area' , this.item.f_residential_area)
1986
+ this.$set('data.f_idnumber', this.item.f_idnumber)
1987
+ this.$set('data.f_comments', this.item.f_comments)
1988
+ this.$set('data.f_userproperties', this.item.f_userproperties)
1989
+ this.$set('data.f_client_evaluation', '满意')
1990
+ this.$set('data.f_userfiles_id', this.item.f_plan_meters[0].f_userfiles_id)
1991
+ this.$set('data.f_valve_state', this.item.f_plan_meters[0].f_valve_state)
1992
+ this.$set('data.f_off_valve_reason', this.item.f_plan_meters[0].f_off_valve_reason)
1993
+ this.$set('data.f_meteread_comments', this.item.f_plan_meters[0].f_comments)
1994
+ this.$set('data.f_meteread_date', this.item.f_plan_meters[0].f_meteread_date)
1995
+ // this.$set('data.f_user_inhome_time', this.item.f_user_inhome_time)
1996
+ // this.$set('data.f_user_check_time', this.item.f_user_check_time)
1997
+ // this.$set('data.f_user_spare_phone', this.item.f_user_spare_phone)
1998
+ // this.$set('data.f_user_family_remarks', this.item.f_user_family_remarks)
1999
+ // this.$set('data.f_user_equipment_remarks', this.item.f_user_equipment_remarks)
2000
+ // 处置方式
2001
+ //tag
2002
+ this.$set('data.f_gas_guidelines', true)
2003
+ this.$set('data.f_safety_warning', true)
2004
+ this.$set('data.f_gas_manual', true)
2005
+ this.$set('data.f_no_gas_device', false)
2006
+ this.$set('data.f_close_valve', false)
2007
+ this.$set('data.f_unload_battery', false)
2008
+ //tag
2009
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检' ) {
2010
+ this.data.f_check_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
2011
+ }
2012
+ if(this.item.f_no_checkplan == '复检'){
2013
+ this.data.f_check_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
2014
+ }
2015
+ //tag
2016
+ if(this.item.f_plan_meters) {
2017
+ for (let de in this.devices) {
2018
+ if(typeof this.devices[de]=='function'){
2019
+ continue
2020
+ }
2021
+ this.$set('data.device' + this.devices[de].n, [])
2022
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
2023
+ if (this.item.f_plan_meters[i].f_meter_type) {
2024
+ this.data.f_meter_type=this.item.f_plan_meters[i].f_meter_type
2025
+ //tag)
2026
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') >= 0) {
2027
+ this.data['device' + this.devices[de].n].push({
2028
+ f_device_type: "燃气表",
2029
+ f_items: [
2030
+ {
2031
+ f_defect_level: null,
2032
+ f_device_id: "",
2033
+ f_is_defect: "",
2034
+ f_item_name: "基表编号",
2035
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
2036
+ f_path: "",
2037
+ type: "number"
2038
+ },
2039
+ {
2040
+ f_defect_level: null,
2041
+ f_device_id: "",
2042
+ f_is_defect: "",
2043
+ f_item_name: "气表型号",
2044
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
2045
+ f_path: "",
2046
+ type: "string"
2047
+ },
2048
+ {
2049
+ f_defect_level: null,
2050
+ f_device_id: "",
2051
+ f_is_defect: "",
2052
+ f_item_name: "气表品牌",
2053
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
2054
+ f_path: "",
2055
+ type: "string"
2056
+ },
2057
+ {
2058
+ f_defect_level: null,
2059
+ f_device_id: "",
2060
+ f_is_defect: "",
2061
+ f_item_name: "进气方向",
2062
+ f_item_value: this.item.f_plan_meters[i].f_flow_direction,
2063
+ f_path: "",
2064
+ type: "string"
2065
+ },
2066
+ {
2067
+ f_defect_level: null,
2068
+ f_device_id: "",
2069
+ f_is_defect: "",
2070
+ f_item_name: "上期表读数",
2071
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
2072
+ f_path: "",
2073
+ type: "number"
2074
+ },
2075
+ {
2076
+ f_defect_level: null,
2077
+ f_device_id: "",
2078
+ f_is_defect: "",
2079
+ f_item_name: "表封号",
2080
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
2081
+ f_path: "",
2082
+ type: "string"
2083
+ }
2084
+ ]
2085
+ })
2086
+ }
2087
+ else if (this.devices[de].device == "燃气表") {
2088
+ // delete this.config['燃气表']['items']['表底数']
2089
+ this.data['device' + this.devices[de].n].push({
2090
+ f_device_type: "燃气表",
2091
+ f_items: [
2092
+ {
2093
+ f_defect_level: null,
2094
+ f_device_id: "",
2095
+ f_is_defect: "",
2096
+ f_item_name: "基表编号",
2097
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
2098
+ f_path: "",
2099
+ type: "number"
2100
+ },
2101
+ {
2102
+ f_defect_level: null,
2103
+ f_device_id: "",
2104
+ f_is_defect: "",
2105
+ f_item_name: "气表型号",
2106
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
2107
+ f_path: "",
2108
+ type: "string"
2109
+ },
2110
+ {
2111
+ f_defect_level: null,
2112
+ f_device_id: "",
2113
+ f_is_defect: "",
2114
+ f_item_name: "气表品牌",
2115
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
2116
+ f_path: "",
2117
+ type: "string"
2118
+ },
2119
+ {
2120
+ f_defect_level: null,
2121
+ f_device_id: "",
2122
+ f_is_defect: "",
2123
+ f_item_name: "进气方向",
2124
+ f_item_value: this.item.f_plan_meters[i].f_flow_direction,
2125
+ f_path: "",
2126
+ type: "string"
2127
+ },
2128
+ {
2129
+ f_defect_level: null,
2130
+ f_device_id: "",
2131
+ f_is_defect: "",
2132
+ f_item_name: "上期表读数",
2133
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
2134
+ f_path: "",
2135
+ type: "number"
2136
+ },
2137
+ {
2138
+ f_defect_level: null,
2139
+ f_device_id: "",
2140
+ f_is_defect: "",
2141
+ f_item_name: "表封号",
2142
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
2143
+ f_path: "",
2144
+ type: "string"
2145
+ }
2146
+ ]
2147
+ })
2148
+ }
2149
+ if(this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('物联网表') >= 0){
2150
+ //tag
2151
+ this.data['device' + this.devices[de].n].forEach(device => {
2152
+ //tag)
2153
+ if (!this.data.f_collection_type) {
2154
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2155
+ delete this.config['燃气表']['items']['累购气量']
2156
+ delete this.config['燃气表']['items']['已用金额']
2157
+ delete this.config['燃气表']['items']['剩余气量']
2158
+ delete this.config['燃气表']['items']['气量异常差值']
2159
+ delete this.config['燃气表']['items']['金额异常差值']
2160
+ device.f_items.push(
2161
+ {
2162
+ f_defect_level: null,
2163
+ f_device_id: "",
2164
+ f_is_defect: "",
2165
+ f_item_name: "初始表底",
2166
+ isshow: true,
2167
+ f_item_value: this.item.f_plan_meters[i].f_initial_base,
2168
+ f_path: "",
2169
+ type: "number"
2170
+ },
2171
+ {
2172
+ f_defect_level: null,
2173
+ f_device_id: "",
2174
+ f_is_defect: "",
2175
+ f_item_name: "累购金额",
2176
+ f_item_value: this.item.f_plan_meters[i].f_total_fee,
2177
+ f_path: "",
2178
+ type: "number"
2179
+ },
2180
+ {
2181
+ f_defect_level: null,
2182
+ f_device_id: "",
2183
+ f_is_defect: "",
2184
+ f_item_name: "已用气量",
2185
+ f_item_value: this.item.f_plan_meters[i].f_meter_base,
2186
+ f_path: "",
2187
+ type: "number"
2188
+ },
2189
+ {
2190
+ f_defect_level: null,
2191
+ f_device_id: "",
2192
+ f_is_defect: "",
2193
+ f_item_name: "剩余金额",
2194
+ f_item_value: '',
2195
+ f_path: "",
2196
+ type: "number"
2197
+ },
2198
+ {
2199
+ f_defect_level: null,
2200
+ f_device_id: "",
2201
+ f_is_defect: "",
2202
+ f_item_name: "系统余额",
2203
+ f_item_value: this.item.f_plan_meters[i].f_balance_amount,
2204
+ f_path: "",
2205
+ type: "number"
2206
+ }
2207
+ )
2208
+ //tag)
2209
+ }
2210
+ })
2211
+ } else if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_collection_type) {
2212
+ this.data['device' + this.devices[de].n].forEach(device => {
2213
+ //tag)
2214
+ //tag)
2215
+ /*
2216
+ "累购气量":{"index":8,"type":"number","readonly":true},
2217
+ "累购金额":{"index":8,"type":"number","readonly":true},
2218
+ "字轮读数":{"index":9,"type":"number","checkmust": true},
2219
+ "已用金额":{"index":9,"type":"number","checkmust": true},
2220
+ "剩余气量":{"index":10,"type":"number","checkmust": true},
2221
+ "剩余金额":{"index":10,"type":"number","checkmust": true},
2222
+ "气量异常差值":{"index":11,"type":"number","readonly": true},
2223
+ "金额异常差值":{"index":11,"type":"number","readonly": true}
2224
+ */
2225
+ if (this.item.f_plan_meters[i].f_collection_type == '按金额') {
2226
+ if (!this.data.f_collection_type) {
2227
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2228
+ delete this.config['燃气表']['items']['累购气量']
2229
+ delete this.config['燃气表']['items']['已用气量']
2230
+ delete this.config['燃气表']['items']['剩余气量']
2231
+ delete this.config['燃气表']['items']['气量异常差值']
2232
+ delete this.config['燃气表']['items']['系统余额']
2233
+ device.f_items.push(
2234
+ {
2235
+ f_defect_level: null,
2236
+ f_device_id: "",
2237
+ f_is_defect: "",
2238
+ f_item_name: "初始表底",
2239
+ isshow: false,
2240
+ f_item_value: '',
2241
+ f_path: "",
2242
+ type: "number"
2243
+ },
2244
+ {
2245
+ f_defect_level: null,
2246
+ f_device_id: "",
2247
+ f_is_defect: "",
2248
+ f_item_name: "累购金额",
2249
+ f_item_value: this.item.f_plan_meters[i].f_total_fee,
2250
+ f_path: "",
2251
+ type: "number"
2252
+ },
2253
+ {
2254
+ f_defect_level: null,
2255
+ f_device_id: "",
2256
+ f_is_defect: "",
2257
+ f_item_name: "已用金额",
2258
+ f_item_value: null,
2259
+ f_path: "",
2260
+ type: "number"
2261
+ },
2262
+ {
2263
+ f_defect_level: null,
2264
+ f_device_id: "",
2265
+ f_is_defect: "",
2266
+ f_item_name: "剩余金额",
2267
+ f_item_value: null,
2268
+ f_path: "",
2269
+ type: "number"
2270
+ },
2271
+ {
2272
+ f_defect_level: null,
2273
+ f_device_id: "",
2274
+ f_is_defect: "",
2275
+ f_item_name: "金额异常差值",
2276
+ f_item_value: null,
2277
+ f_path: "",
2278
+ type: "number"
2279
+ }
2280
+ )
2281
+ //tag)
2282
+ }
2283
+ } else
2284
+ if (this.item.f_plan_meters[i].f_collection_type == '按气量') {
2285
+ if (!this.data.f_collection_type) {
2286
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2287
+ delete this.config['燃气表']['items']['累购金额']
2288
+ delete this.config['燃气表']['items']['已用金额']
2289
+ delete this.config['燃气表']['items']['剩余金额']
2290
+ delete this.config['燃气表']['items']['金额异常差值']
2291
+ delete this.config['燃气表']['items']['系统余额']
2292
+ device.f_items.push(
2293
+ {
2294
+ f_defect_level: null,
2295
+ f_device_id: "",
2296
+ f_is_defect: "",
2297
+ f_item_name: "初始表底",
2298
+ isshow: true,
2299
+ f_item_value: this.item.f_plan_meters[i].f_initial_base,
2300
+ f_path: "",
2301
+ type: "number"
2302
+ },
2303
+ {
2304
+ f_defect_level: null,
2305
+ f_device_id: "",
2306
+ f_is_defect: "",
2307
+ f_item_name: "累购气量",
2308
+ f_item_value: this.item.f_plan_meters[i].f_total_gas,
2309
+ f_path: "",
2310
+ type: "number"
2311
+ },
2312
+ {
2313
+ f_defect_level: null,
2314
+ f_device_id: "",
2315
+ f_is_defect: "",
2316
+ f_item_name: "已用气量",
2317
+ f_item_value: this.item.f_plan_meters[i].f_meter_base,
2318
+ f_path: "",
2319
+ type: "number"
2320
+ },
2321
+ {
2322
+ f_defect_level: null,
2323
+ f_device_id: "",
2324
+ f_is_defect: "",
2325
+ f_item_name: "剩余气量",
2326
+ f_item_value: "",
2327
+ f_path: "",
2328
+ type: "number"
2329
+ },
2330
+ {
2331
+ f_defect_level: null,
2332
+ f_device_id: "",
2333
+ f_is_defect: "",
2334
+ f_item_name: "气量异常差值",
2335
+ f_item_value: null,
2336
+ f_path: "",
2337
+ type: "number"
2338
+ }
2339
+ )
2340
+ //tag)
2341
+ }
2342
+ }
2343
+ })
2344
+ } else if(this.devices[de].device == "燃气表"){
2345
+ //tag
2346
+ this.data['device' + this.devices[de].n].forEach(device => {
2347
+ //tag)
2348
+ if (!this.data.f_collection_type) {
2349
+ this.data.f_collection_type = this.item.f_plan_meters[i].f_collection_type
2350
+ delete this.config['燃气表']['items']['累购金额']
2351
+ delete this.config['燃气表']['items']['已用金额']
2352
+ delete this.config['燃气表']['items']['剩余金额']
2353
+ delete this.config['燃气表']['items']['金额异常差值']
2354
+ delete this.config['燃气表']['items']['系统余额']
2355
+ device.f_items.push(
2356
+ {
2357
+ f_defect_level: null,
2358
+ f_device_id: "",
2359
+ f_is_defect: "",
2360
+ f_item_name: "初始表底",
2361
+ isshow: true,
2362
+ f_item_value: this.item.f_plan_meters[i].f_initial_base,
2363
+ f_path: "",
2364
+ type: "number"
2365
+ },
2366
+ {
2367
+ f_defect_level: null,
2368
+ f_device_id: "",
2369
+ f_is_defect: "",
2370
+ f_item_name: "累购气量",
2371
+ f_item_value: this.item.f_plan_meters[i].f_total_gas,
2372
+ f_path: "",
2373
+ type: "number"
2374
+ },
2375
+ {
2376
+ f_defect_level: null,
2377
+ f_device_id: "",
2378
+ f_is_defect: "",
2379
+ f_item_name: "已用气量",
2380
+ f_item_value: this.item.f_plan_meters[i].f_meter_base,
2381
+ f_path: "",
2382
+ type: "number"
2383
+ },
2384
+ {
2385
+ f_defect_level: null,
2386
+ f_device_id: "",
2387
+ f_is_defect: "",
2388
+ f_item_name: "剩余气量",
2389
+ f_item_value: '',
2390
+ f_path: "",
2391
+ type: "number"
2392
+ },
2393
+ {
2394
+ f_defect_level: null,
2395
+ f_device_id: "",
2396
+ f_is_defect: "",
2397
+ f_item_name: "气量异常差值",
2398
+ isshow:false,
2399
+ f_item_value: null,
2400
+ f_path: "",
2401
+ type: "number"
2402
+ }
2403
+ )
2404
+ //tag)
2405
+ }
2406
+ })
2407
+ }
2408
+ }
2409
+ }
2410
+ }
2411
+ }
2412
+ var pardate = {
2413
+ _this:this,
2414
+ tittle:'安检详情',
2415
+ safe:true
2416
+ }
2417
+ // this.$dispatch('gotoson',pardate)
2418
+ //tag
2419
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2420
+ }
2421
+ },
2422
+ watch: {
2423
+ 'row' () {
2424
+ //tag
2425
+ this.copy()
2426
+ }
2427
+ },
2428
+ async ready () {
2429
+ //送气超期功能
2430
+ //await this.isoverDate()
2431
+ this.putDevices()
2432
+ //如果已检,则提取安检单
2433
+ if (this.item.f_state != '未检') {
2434
+ if (this.role == 'inspect' || this.role == 'androidview') {
2435
+ HostApp.__callback__ = this.loaded
2436
+ HostApp.__this__ = this
2437
+ let that = this
2438
+ let value = {}
2439
+ //tag
2440
+ if (this.role == 'inspect') {
2441
+ //tag
2442
+ if (this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') {
2443
+ value = this.$androidUtil.path({
2444
+ alias: 'getUserinfomation',
2445
+ data: {condition: "f_check_item_id = '" + this.item.id + "' and f_no_checkplan in ('无计划安检','复检')"}
2446
+ })
2447
+ } else {
2448
+ value = this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id})
2449
+ }
2450
+ } else {
2451
+ value = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${this.item.f_paper_id}'`}})
2452
+ }
2453
+ Util.replaceFalse(value)
2454
+ //tag)
2455
+ if (value.data.length != 0) {
2456
+ that.$set('data', value.data[0])
2457
+ //tag)
2458
+ if (this.data.f_collection_type == '按气量') {
2459
+ delete this.config['燃气表']['items']['累购金额']
2460
+ delete this.config['燃气表']['items']['已用金额']
2461
+ delete this.config['燃气表']['items']['剩余金额']
2462
+ delete this.config['燃气表']['items']['金额异常差值']
2463
+ delete this.config['燃气表']['items']['系统余额']
2464
+ } else if (this.data.f_collection_type == '按金额') {
2465
+ delete this.config['燃气表']['items']['累购气量']
2466
+ delete this.config['燃气表']['items']['已用气量']
2467
+ delete this.config['燃气表']['items']['剩余气量']
2468
+ delete this.config['燃气表']['items']['气量异常差值']
2469
+ delete this.config['燃气表']['items']['系统余额']
2470
+ }
2471
+ //tag)
2472
+ if (value.data[0].f_devices) {
2473
+ for (let da in that.devices) {
2474
+ if(typeof that.devices[da]=='function'){
2475
+ continue
2476
+ }
2477
+ that.$set('data.device' + that.devices[da].n, [])
2478
+ }
2479
+ value.data[0].f_devices.forEach((item) => {
2480
+ //tag)
2481
+ for (let i in item.f_items) {
2482
+ if(typeof item.f_items[i]=='function'){
2483
+ continue
2484
+ }
2485
+ // if (item.f_items[i].f_path != '' && item.f_items[i].f_path != null) {
2486
+ // this.picture.push({f_path: item.f_items[i].f_path, name: item.f_items[i].f_item_name})
2487
+ // }
2488
+ for (let de in that.config[item.f_device_type].items) {
2489
+ if(typeof that.config[item.f_device_type].items[de]=='function'){
2490
+ continue
2491
+ }
2492
+ if (item.f_items[i].f_item_name == de) {
2493
+ if (that.config[item.f_device_type].items[de].type == 'selector' || that.config[item.f_device_type].items[de].type == 'checkbox') {
2494
+ item.f_items[i].f_item_value = []
2495
+ } else {
2496
+ item.f_items[i].f_item_value = ''
2497
+ }
2498
+ }
2499
+ }
2500
+ //tag)
2501
+
2502
+ // if (item.f_items[i].f_item_name=='累购气量'){
2503
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_total_gas
2504
+ // }else if (item.f_items[i].f_item_name=='累购金额'){
2505
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_total_fee
2506
+ // }else if (item.f_items[i].f_item_name=='基表编号'){
2507
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_meter_no
2508
+ // }else if (item.f_items[i].f_item_name=='气表品牌'){
2509
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_aliasname
2510
+ // }else if (item.f_items[i].f_item_name=='进气方向'){
2511
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_flow_direction
2512
+ // }else if (item.f_items[i].f_item_name=='气表型号'){
2513
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_diaphgram_size
2514
+ // }else if (item.f_items[i].f_item_name=='表箱号'){
2515
+ // item.f_items[i].f_item_value=this.item.f_plan_meters[0].f_metertitles
2516
+ // }
2517
+ // else{
2518
+ for (let j in item.f_items[i].f_item_lists) {
2519
+ if(typeof item.f_items[i].f_item_lists[j]=='function'){
2520
+ continue
2521
+ }
2522
+ //tag)
2523
+ if (item.f_items[i].f_item_value instanceof Array) {
2524
+ item.f_items[i].f_item_value.push(item.f_items[i].f_item_lists[j].f_item_value)
2525
+ } else {
2526
+ item.f_items[i].f_item_value = item.f_items[i].f_item_lists[j].f_item_value
2527
+ }
2528
+ }
2529
+ // }
2530
+
2531
+ }
2532
+ for (let de in that.devices) {
2533
+ if(typeof that.devices[de]=='function'){
2534
+ continue
2535
+ }
2536
+ if (that.devices[de].device == item.f_device_type) {
2537
+ that.data['device' + that.devices[de].n].push({
2538
+ f_device_type: item.f_device_type,
2539
+ f_items: item.f_items
2540
+ })
2541
+ //tag)
2542
+ }
2543
+ }
2544
+ })
2545
+ if (this.role == 'androidview') {
2546
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
2547
+ Util.androidRatifyPics(that.picture, this.$androidUtil.getProxyUrl())
2548
+ Util.booleanFilter(that.data)
2549
+ }
2550
+ //tag)
2551
+ }
2552
+ } else {
2553
+ //tag
2554
+ this.init()
2555
+ }
2556
+ if(this.parentPage && this.parentPage=='CurrentCreate'){
2557
+ //tag
2558
+ let isRecodr = this.$appdata.getSingleValue('无限制录音'); //单值参数,为true则是开启全程录音
2559
+ if (isRecodr) {
2560
+ if (isRecodr=='true') {
2561
+ this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
2562
+ // 初始化录音
2563
+ let resse = this.record()
2564
+ }
2565
+ }
2566
+ }
2567
+ //tag
2568
+ var pardate = {
2569
+ _this:this,
2570
+ tittle:'安检详情',
2571
+ safe:true
2572
+ }
2573
+ // this.$dispatch('gotoson',pardate)getImgPath
2574
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'repair')
2575
+ } else {
2576
+ let that = this
2577
+ let id
2578
+ if (this.role == 'view') {
2579
+ id = this.item.id
2580
+ }
2581
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data:{condition:`id = '${id}'`}}).then((respanse)=> {
2582
+ if (respanse.data.length != 0) {
2583
+ that.data = Object.assign(that.data,respanse.data[0])
2584
+ if(respanse.data[0].f_devices) {
2585
+ for (let da in that.devices) {
2586
+ that.$set('data.device' + that.devices[da].n, [])
2587
+ }
2588
+ respanse.data[0].f_devices.forEach((item) => {
2589
+ for (let de in that.devices) {
2590
+ if (that.devices[de].device == item.f_device_type) {
2591
+ that.data['device' + that.devices[de].n].push({
2592
+ f_device_type: item.f_device_type,
2593
+ f_items: item.f_items
2594
+ })
2595
+ }
2596
+ }
2597
+ })
2598
+ }
2599
+ Util.replaceFalse(that.data)
2600
+ Util.booleanFilter(that.data)
2601
+ if(this.role == 'view'){
2602
+ Util.ratifyPics(that.data)
2603
+ }else{
2604
+ Util.androidRatifyPics(that.data,this.$androidUtil.getProxyUrl())
2605
+ }
2606
+ //tag
2607
+ } else {
2608
+ alert("该安检单可能已不在本地!")
2609
+ this.init()
2610
+ }
2611
+ var pardate = {
2612
+ _this:this,
2613
+ tittle:'安检详情',
2614
+ safe:true
2615
+ }
2616
+ // this.$dispatch('gotoson',pardate)
2617
+ this.$goto('safecheck-userinfo', {userinfo:this.data}, 'paper-router')
2618
+ }
2619
+ ).catch(
2620
+ (respanse) => {
2621
+ alert('查找安检单失败')
2622
+ })
2623
+ }
2624
+ }else{
2625
+ if(this.parentPage && (this.parentPage=='AddPlanItem' || this.parentPage=='CurrentCreate' ) ){
2626
+ //tag
2627
+ let isRecodr = this.$appdata.getSingleValue('无限制录音'); //单值参数,为true则是开启全程录音
2628
+ if (isRecodr) {
2629
+ if (isRecodr=='true') {
2630
+ // this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
2631
+ // 初始化录音
2632
+ let resse = this.record()
2633
+ }
2634
+ }
2635
+ }
2636
+ this.init()
2637
+ }
2638
+ // tbs合并数组
2639
+ // if( this.model.serviceacitivity[0].servicerepair.length > 0){
2640
+ // for(let i = 0;i < this.model.serviceacitivity[0].servicerepair.length;i++ ){
2641
+ //
2642
+ // }
2643
+ // }
2644
+ },
2645
+ components: {
2646
+ // 'door-service': DoorService,
2647
+ // 'repair-info': RepairInfo,
2648
+ // 'repair-user-info': RepairUserInfo,
2649
+ // 'outlay': Outlay,
2650
+ // 'fault-all': FaultAll,
2651
+ // 'repair-details':RepairDetails
2652
+ // 'pipeline': Pipeline,
2653
+ // 'device-service': DeviceService,
2654
+ // 'trouble-removal': TroubleRemoval,
2655
+ // 'cooking-utensils': CookingUtensils,
2656
+ // 'repair-matter-info': RepairMatterInfo,
2657
+ // 'first-gas-check': FirstGasCheck,
2658
+ // 'tel-change-matter': TelChangeMatter/
2659
+ },
2660
+ events: {
2661
+ 'tijiao': function () {
2662
+ // 事件回调内的 `this` 自动绑定到注册它的实例上
2663
+ this.confirm()
2664
+ }
2665
+ }
2666
+ }
2667
+ </script>
2668
+ <style lang="less">
2669
+ @import "../../../../src/bootstrap/less/variables.less";
2670
+ .noclickbut {
2671
+ pointer-events: none;
2672
+ }
2673
+ .tab-befor-img (@url) {
2674
+ content: '';
2675
+ background-image: url("@{url}");
2676
+ background-size: 20px;
2677
+ display: inline-block;
2678
+ margin-right: 8px;
2679
+ margin-top: 0.3em;
2680
+ height: 1.3em;
2681
+ width: 1.3em;
2682
+ vertical-align: -35%;
2683
+ }
2684
+
2685
+ @media screen and (min-width: 768px) {
2686
+ .android-repair-order > div > ul a {
2687
+ font-size: @font-size-h2;
2688
+ margin: 0.3em 0;
2689
+ }
2690
+ }
2691
+ .repair-details-class{
2692
+ &::before {
2693
+ .tab-befor-img("../../../assets/huneiweixiu1.png");
2694
+ }
2695
+ }
2696
+ .repair-info-class {
2697
+ &::before {
2698
+ .tab-befor-img("../../../assets/baoxiuxinxi1.png");
2699
+ }
2700
+ }
2701
+ .repair-user-info-class {
2702
+ &::before {
2703
+ .tab-befor-img("../../../assets/jibenxinxi1.png")
2704
+ }
2705
+ }
2706
+
2707
+ .door-service-class {
2708
+ &::before {
2709
+ .tab-befor-img("../../../assets/huneiweixiu1.png")
2710
+ }
2711
+ }
2712
+
2713
+ .pipeline-class {
2714
+ &::before {
2715
+ .tab-befor-img("../../../assets/guandao1.png")
2716
+ }
2717
+ }
2718
+
2719
+ .device-service-class {
2720
+ &::before {
2721
+ .tab-befor-img("../../../assets/shebeiweixiu1.png")
2722
+ }
2723
+ }
2724
+
2725
+ .trouble-removal-class {
2726
+ &::before {
2727
+ .tab-befor-img("../../../assets/shiguchuli.png")
2728
+ }
2729
+ }
2730
+
2731
+ .cooking-utensils-class {
2732
+ &::before {
2733
+ .tab-befor-img("../../../assets/zaoju1.png")
2734
+ }
2735
+ }
2736
+
2737
+ .outlay-class {
2738
+ &::before {
2739
+ .tab-befor-img("../../../assets/feiyong1.png")
2740
+ }
2741
+ }
2742
+
2743
+ .fault-all-class {
2744
+ &::before {
2745
+ .tab-befor-img("../../../assets/guzhanghuizong1.png")
2746
+ }
2747
+ }
2748
+ .photo-write-class {
2749
+ &::before {
2750
+ .tab-befor-img("../../../assets/zaoju.png")
2751
+ }
2752
+ }
2753
+ .delay-apply-class {
2754
+ &::before {
2755
+ .tab-befor-img("../../../assets/yonghubaoxiu.png")
2756
+ }
2757
+ }
2758
+
2759
+ .repair-back-class {
2760
+ &::before {
2761
+ .tab-befor-img("../../../assets/fanhui.png")
2762
+ }
2763
+ }
2764
+ .butt2 {
2765
+ display: inline;
2766
+ float: right;
2767
+ width: 10px;
2768
+ text-align: center;
2769
+ align-items:center;
2770
+ position: absolute;
2771
+ top:50%;
2772
+
2773
+ left:90%;
2774
+ transform: translate(-50%,-50%);
2775
+ }
2776
+ .linesty{
2777
+ display: inline-block;
2778
+ height:1px;
2779
+ width:100%;
2780
+ background:#d0d0d0;
2781
+ overflow:hidden;
2782
+ vertical-align: middle;
2783
+ }
2784
+ .spanboder{
2785
+ border-bottom:2px solid #499edf;
2786
+ padding-bottom: 8px
2787
+ }
2788
+ .app-botton {
2789
+ position:fixed;
2790
+ background: #87b2dd;
2791
+ right:8px;
2792
+ color: #FFF;
2793
+ padding: 8px;
2794
+ text-align: center;
2795
+ font-size: 1.2em;
2796
+ z-index: 10;
2797
+ opacity:0.5;
2798
+ bottom: 50px;
2799
+ margin-top: -10px;
2800
+ height: 40px;
2801
+ }
2802
+ .android-repair-order > div > ul a {
2803
+ font-size: 12px;
2804
+ color: #333333;
2805
+ padding: 13px 16px;
2806
+ }
2807
+ </style>