safecheck-client 3.0.35-gongyi → 3.0.35-gongyi-1

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