safecheck-client 3.0.34-51 → 3.0.34-52

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,1378 +1,1378 @@
1
- <style scoped>
2
- .divmask {
3
- pointer-events: none;
4
- }
5
- .app-header {
6
- border-radius: 50%;
7
- background: rgba(73, 158, 223, 0.4);
8
- color: #FFF;
9
- padding: 20px;
10
- text-align: center;
11
- font-size: 1.2em;
12
- z-index: 10;
13
- opacity:0.5;
14
- bottom: 50px;
15
- margin-top: -20px;
16
- position: absolute;
17
- top: 10%;
18
- right: 2%;
19
- height: 8%;
20
- }
21
- </style>
22
-
23
- <template>
24
- <div style="overflow-y: scroll;background-color: #FFFFFF">
25
- <div class="auto" style="height:auto;" id="safecheck" v-if="isshow">
26
- <div class="page-header app-header auto">
27
- <div @click="back()">
28
- <img src="../../assets/back.png"/>
29
- </div>
30
- </div>
31
- <div style="width: 50%;height: 462px; margin-left: 20px;margin-top: 0px;margin-bottom: 20px;float:left" id="one">
32
- <paper-userm></paper-userm>
33
- </div>
34
- <div style="width: 45%;height: 462px; margin-left: 20px;margin-top: 0px;margin-bottom: 20px;float:left">
35
- <asp-paper-statem></asp-paper-statem>
36
- </div>
37
- <div style="width: 95%;height: auto;margin-left: 20px;margin-bottom: 30px;float: left">
38
- <devicesm> </devicesm>
39
- </div>
40
- <div style="width: 95%;height: 900px;margin-left: 20px;float: left;">
41
- <asp-paper-feedbackm v-bind:paper="this.data" :item="item" ></asp-paper-feedbackm>
42
- </div>
43
- </div>
44
- </div>
45
- </template>
46
-
47
- <script>
48
- import PaperUserm from '../android/PaperUserm'
49
- import PaperStatem from './AspPaperStatem'
50
- import Devicesm from '../android/Devicesm'
51
- import PaperFeedbackm from './AspiratedPaperFeedbackm'
52
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
53
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
54
- import Vue from 'vue'
55
- import * as Util from '../Util'
56
-
57
- export default {
58
- title: '安检单',
59
- props: ['f_plan_id', 'item', 'role'],
60
- data() {
61
- return {
62
- data: {
63
- f_devices: [],
64
- f_defect_content:''
65
- },
66
- isshow:false,
67
- isUpload:false,
68
- livedispose:'',
69
- startClick:false, //开始安检按钮是否可点击
70
- isStrat: false, //是否开始安检
71
- checkResult:{},//查询结果
72
- newcheckResult:{},
73
- timer: null,
74
- showModal: false,
75
- pic_to_be_viewed: '',
76
- showBack:true,
77
- devices: [],
78
- f_devices : [],
79
- isToRepair:false,
80
- isSafeCheckToRepair:false,//是否转维修
81
- config: {
82
- "燃气表":{
83
- "checkmust":true,
84
- "index":1,
85
- "items":{
86
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
87
- "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
88
- "气表型号":{"index":2,"type":"string","readonly":true},
89
- "气表品牌":{"index":3,"type":"string","readonly":true},
90
- "进气方向":{"index":4,"type":"selector",
91
- "multiple": false,
92
- "checkmust":true,
93
- "options": [
94
- {
95
- "data": "左表",
96
- "isdefect": false,
97
- "isdefault": false
98
- },
99
- {
100
- "data": "右表",
101
- "isdefect": false,
102
- "isdefault": false
103
- }
104
- ]
105
- },
106
- "初始表底":{"index":5,"type":"number"},
107
- "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
108
- "本期表读数":{"index":7,"type":"number","checkmust":true},
109
- "累购气量":{"index":8,"type":"number","readonly":true},
110
- "累购金额":{"index":8,"type":"number","readonly":true},
111
- "已用气量":{"index":9,"type":"number","checkmust": false,"isshow":false},//基表数
112
- "已用金额":{"index":9,"type":"number","checkmust": false,"isshow":false},
113
- "表初始数":{"index":10,"type":"number","checkmust": false},//累购-已用
114
- //显示屏数 --实际剩余气量
115
- "表初始数":{"index":10,"type":"number","checkmust": false},
116
- "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
117
- "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
118
- }
119
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
120
- }
121
- }
122
- }
123
- },
124
- components: {
125
- RadioGroup,
126
- Radio,
127
- "paper-userm":PaperUserm,
128
- "paper-statem":PaperStatem,
129
- "devicesm":Devicesm,
130
- "paper-feedbackm":PaperFeedbackm
131
- },
132
- computed: {
133
- selector: {
134
- get() {
135
- return 'paper-state'
136
- },
137
- set(val) {
138
- if(this.isStrat){
139
- //;
140
- this.$goto(val, {userinfo:this.data}, 'paper-router')
141
- }else{
142
- this.$showMessage('未开始安检!')
143
- }
144
- }
145
- },
146
- actionEnabled: {
147
- get() {
148
- return this.role == 'inspect'
149
- }
150
- }
151
- },
152
- methods: {
153
- back(){
154
- if (this.role == 'inspect') {
155
- if(!this.isStrat){
156
- this.$back()
157
- return
158
- }else{
159
- this.savePaper(true).then(()=>{
160
- this.$back()
161
- this.isStrat = false
162
- })
163
- }
164
- }else{
165
- this.$back()
166
- }
167
- },
168
- checkIsStart(){
169
- alert('asdad')
170
- return
171
- },
172
- viewPic(fileName) {
173
- //tag
174
- if(this.role == 'view') {
175
- if(!fileName.endsWith('nopic.png')) {
176
- this.pic_to_be_viewed = fileName
177
- this.showModal = true
178
- }
179
- } else {
180
- HostApp.viewPic(fileName)
181
- }
182
- },
183
- tick() {
184
- this.timer = null
185
- this.data.f_offsite_time = Util.toStandardTimeString()
186
- this.timer = window.setTimeout(this.tick, 1000)
187
- },
188
- getRepairState() {
189
- let repaired = true
190
- this.data.f_defects.forEach((defect) => {
191
- repaired = repaired & (defect.f_ratification == '已处理')
192
- })
193
- return repaired
194
- },
195
- verifyRepairDefects() {
196
- this.data.f_repair_date = Util.toStandardTimeString()
197
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
198
- },
199
- async savePaper(saveOnly) {
200
- //tag
201
- //tag
202
- if(this.role == 'repair') {
203
- let errorMsg = this.verifyRepairDefects()
204
- if(errorMsg) {
205
- this.$showMessage(errorMsg)
206
- return false
207
- }
208
- return this.save()
209
- } else {
210
- //保存时做校验
211
- let errString = this.errorVerify()
212
- if(saveOnly){
213
- if (errString) {
214
- this.data.f_complete = '未完成'
215
- this.disableTimer()
216
- return this.save()
217
- } else {
218
- //tag
219
- if(!this.data.f_offsite_time){
220
- this.$set('data.f_offsite_time', Util.toStandardTimeString())
221
- }
222
- //tag
223
- this.data.f_complete = '已完成'
224
- this.disableTimer()
225
- return this.save()
226
- }
227
- }else {
228
- //tag
229
- if (errString) {
230
- //tag
231
- //tag
232
- //tag
233
- if (Vue.android){
234
- // if(this.isUpload){
235
- // this.isUpload = false
236
- // }
237
- this.$showMessage(errString)
238
- }
239
- return false
240
- } else {
241
- if(!this.data.f_offsite_time){
242
- this.$set('data.f_offsite_time', Util.toStandardTimeString())
243
- }
244
- //tag
245
- this.data.f_complete = '已完成'
246
- this.disableTimer()
247
- return this.uploadCheckPaper()
248
- }
249
- }
250
- }
251
- },
252
- genuineSave(saveOnly) {
253
- HostApp.__this__.save(saveOnly)
254
- if(!saveOnly)
255
- HostApp.__this__.disableTimer()
256
- HostApp.__callback__ = null
257
- HostApp.__this__ = null
258
- },
259
- uploadPaper() {
260
- // this.isUpload = true
261
- //tag
262
- this.savePaper(false).then((res) => {
263
- //tag
264
- // //tag
265
- // this.isUpload = false
266
- // //tag
267
- if(res != true){
268
- //tag
269
- return
270
- }else{
271
- this.$back()
272
- }
273
- })
274
- },
275
- errorVerify() {
276
- let hasError = this.verifyState()
277
- if(hasError)
278
- return hasError
279
-
280
- if(this.data.f_entry_status != '入户')
281
- return null
282
- hasError = this.verifyUser()
283
- if(hasError)
284
- return hasError
285
- hasError = this.verifyDevices()
286
- if(hasError)
287
- return hasError
288
- hasError = this.verifyFeedback()
289
- if(hasError)
290
- return hasError
291
- },
292
- verifyState() {
293
- if(Vue.android && this.data.f_entry_status == '未使用天然气' && this.data.f_nongasuser_path == Vue.nopic)
294
- return '未使用天然气则必须拍照'
295
- if(Vue.android && this.data.f_entry_status == '到访不遇' && this.data.f_noanswer_path == Vue.nopic)
296
- return '到访不遇必须拍照'
297
- },
298
- verifyUser() {
299
- let prefix = '用户基本信息:'
300
- if(Util.required(this.data.f_user_name))
301
- return prefix + '用户名必须输入'
302
- if(Util.required(this.data.f_user_phone))
303
- return prefix + '用户电话必须输入'
304
- // if(Util.required(this.data.f_residential_area))
305
- // return prefix + '小区名称必须输入'
306
- if(Util.required(this.data.f_address))
307
- return prefix + '地址必须输入'
308
- },
309
- verifyDevices() {
310
- for (let dev in this.config) {
311
- if (this.config[dev].checkmust == true) {
312
- let error = true
313
- for(let device in this.data) {
314
- if (device.startsWith("device")) {
315
- for (let item in this.data[device]) {
316
- if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
317
- error = false
318
- }
319
- }
320
- }
321
- }
322
- if (error) {
323
- return "请检查" + dev
324
- }
325
- }
326
- }
327
-
328
- for (let dev in this.config) {
329
- for(let device in this.data) {
330
- if (device.startsWith("device")) {
331
- for (let item in this.data[device]) {
332
- //检查每一条安检结果
333
- if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
334
- for (let i in this.data[device][item].f_items) {
335
- for (let it in this.config[dev].items) {
336
- if (this.config[dev].items[it].checkmust == true && this.data[device][item].f_items[i].f_item_value == '' && this.data[device][item].f_items[i].f_path == '' && it == this.data[device][item].f_items[i].f_item_name) {
337
- return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
338
- }
339
- }
340
- //检查安检下拉结果
341
- if (this.data[device][item].f_items[i].type == 'selector') {
342
- if (this.data[device][item].f_items[i].f_is_defect == true && this.data[device][item].f_items[i].f_path == Vue.nopic) {
343
- 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 + "选中必须拍照"
344
- }
345
- }
346
- }
347
- }
348
- }
349
- }
350
- }
351
- }
352
- },
353
-
354
-
355
- verifyFeedback() {
356
- let prefix = '用户反馈:'
357
- if(Vue.android && (!this.data.f_overall_path || this.data.f_overall_path == Vue.nopic) && this.data.f_entry_status == '入户')
358
- return prefix + '必须有安检总体照片'
359
- if(Vue.android && this.data.f_defect_notified && this.data.f_notified_path == Vue.nopic)
360
- return prefix + '下发安检通知书则必须给通知书拍照'
361
- if(!this.data.f_client_evaluation && this.data.f_entry_status == '入户')
362
- return prefix + '请选择服务评价'
363
- },
364
-
365
- setUrgency() {
366
- this.data.f_defect_urgency = 'Z'
367
- let that = this
368
- this.data.f_defects.forEach(function(defect) {
369
- if(that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
370
- that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
371
- })
372
- if(this.data.f_defect_urgency == 'Z')
373
- this.data.f_defect_urgency = null
374
- },
375
-
376
- getAllDefect(){
377
- let checkResults={
378
- result:'正常',
379
- data:[]
380
- }
381
- let value = ''
382
- let codata = JSON.parse(JSON.stringify(this.data))
383
- codata.f_devices = []
384
- this.f_devices = []
385
- for(let device in codata){
386
- let f_device_type
387
- if(device.startsWith("device")){
388
- for(let item in codata[device]) {
389
- if(codata[device].length > 1 ){
390
- let j = Number.parseInt(item)+1
391
- f_device_type = `${codata[device][item].f_device_type}${j}`
392
- }else{
393
- f_device_type = codata[device][item].f_device_type
394
- }
395
- // //tag
396
- for(let i in codata[device][item].f_items){
397
- let items = codata[device][item].f_items[i]
398
- //tag
399
- //tag
400
- if(items.f_is_defect == true || items.f_is_defect == 'true'){
401
- //tag
402
- checkResults.result = '有隐患'
403
- if(!this.checkResult.hasOwnProperty(items.f_defect_level)){
404
- if(f_device_type.indexOf('其他') != -1){
405
- this.$set('checkResult.' + items.f_defect_level,`${f_device_type}${items.f_item_name}`)
406
- }else{
407
- this.$set('checkResult.' + items.f_defect_level,`${f_device_type}${items.f_item_name}${items.f_item_value}`)
408
- }
409
- }else{
410
- //tag
411
- if(f_device_type.indexOf('其他') != -1){
412
- this.$set('checkResult.' + items.f_defect_level,`${this.checkResult[items.f_defect_level]},${f_device_type}${items.f_item_name}`)
413
- }else{
414
- this.$set('checkResult.' + items.f_defect_level,`${this.checkResult[items.f_defect_level]},${f_device_type}${items.f_item_name}${items.f_item_value}`)
415
- }
416
-
417
- }
418
- }
419
- if(items.type == 'selector'){
420
- items.selected = ''
421
- }
422
- }
423
- //tag
424
- this.f_devices.push(codata[device][item])
425
- }
426
- }
427
- }
428
- if(this.checkResult){
429
- for (let key in this.checkResult){
430
- //tag
431
- this.$set('newcheckResult.'+key,this.checkResult[key])
432
- checkResults.data.push(this.newcheckResult)
433
- this.newcheckResult = {}
434
- }
435
- this.checkResult = {}
436
- }
437
- //tag
438
- codata.f_defect_content = JSON.stringify(checkResults)
439
- //tag
440
- return codata
441
- },
442
-
443
- getWeixin(backData){
444
- let result = {f_user_name:backData.f_user_name,checker: Vue.user.name, f_check_date: Util.toStandardDateString(),f_userinfo_id:backData.f_userinfoid,f_address:backData.f_address}
445
-
446
- let Resultstr = ''
447
-
448
- for (let dev in this.config) {
449
- for (let device in backData) {
450
- if (device.startsWith("device")) {
451
- for (let item in backData[device]) {
452
- //遍历结果
453
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
454
- let error = true
455
- let n = 0
456
- let level = ''
457
- for (let i in backData[device][item].f_items) {
458
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
459
- error = false
460
- n +=1
461
- if(level == ''){
462
- level = backData[device][item].f_items[i].f_defect_level
463
- }
464
- let le = backData[device][item].f_items[i].f_defect_level
465
- if(le.startsWith('A')){
466
- let i = parseInt(le.substring(1))
467
- if(i<parseInt(le.substring(level))){
468
- level = le
469
- }
470
- }else if (le.startsWith('B')){
471
- let i = parseInt(le.substring(1))
472
- if(i<parseInt(le.substring(level))){
473
- level = le
474
- }
475
- }else if(le.startsWith('C')){
476
- let i = parseInt(le.substring(1))
477
- if(i<parseInt(le.substring(level))){
478
- level = le
479
- }
480
- }
481
- }
482
- }
483
- if (error) {
484
- Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常;'
485
- } else {
486
- Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患;'
487
- }
488
- result['f_err_number'] = n
489
- result['f_danger_lever'] = level
490
- }
491
- }
492
- }
493
- }
494
- }
495
- for (let dev in this.config) {
496
- for (let device in backData) {
497
- if (device.startsWith("device")) {
498
- for (let item in backData[device]) {
499
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
500
- for (let i in backData[device][item].f_items) {
501
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
502
- Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1)+ backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value + ';'
503
-
504
- }
505
- }
506
- }
507
- }
508
- }
509
- }
510
- }
511
-
512
-
513
- return result
514
- },
515
-
516
- uploadCheckPaper(){
517
- //tag
518
- //获取微信推送路径
519
- let url = ""
520
- if(Vue.config.safecheck != undefined) {
521
- if (Vue.config.safecheck.ApproveConfig != undefined) {
522
- if (Vue.config.safecheck.ApproveConfig.weixinurl != undefined) {
523
- url = Vue.config.safecheck.ApproveConfig.weixinurl
524
- }
525
- }
526
- }
527
-
528
- let res = this.save()
529
- if(res) {
530
- let codata = this.getAllDefect()
531
- //获取微信推送内容
532
- let WxResult = this.getWeixin(codata)
533
- let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
534
- f_check_item_id: this.data.f_check_item_id
535
- })
536
- //如果是转维修上传,则不做校验,上传完成后自动转维修
537
- //tag
538
- //tag
539
- if(!this.isToRepair){
540
- if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
541
- //tag
542
- //tag
543
- if(!this.isSafeCheckToRepair){
544
- this.$showMessage('有未处理的隐患,请前往拍照上传中将安检转为维修单!')
545
- return
546
- }
547
- }
548
- }
549
- //tag
550
- for (let key in codata){
551
- if(key.startsWith("device")){
552
- codata[key] = []
553
- }
554
- }
555
- //tag}`)
556
- // HostApp.uploadPaper({f_check_item_id: this.data.f_check_item_id, f_checker_id: this.data.f_checker_id, data: this.data})
557
- try {
558
- let response = this.$androidUtil.bzLogic('上传安检信息', {
559
- f_check_item_id: this.data.f_check_item_id,
560
- f_checker_id: this.data.f_checker_id,
561
- row: codata
562
- })
563
- if (response.code == 200) {
564
- //tag
565
- //tag)
566
- let f_paper_id
567
- if(response.data != '' && response.data != null){
568
- f_paper_id = JSON.parse(response.data).id
569
- }
570
- this.$set('data.f_paper_id', f_paper_id)
571
- //tag
572
- //tag)
573
- //tag
574
- //tag)
575
- for (let device in this.data){
576
- //tag
577
- //tag)
578
- if(device.startsWith("device")){
579
- for(let devices of this.data[device]) {
580
- devices.f_paper_id = f_paper_id
581
- let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
582
- row: devices
583
- })
584
- //tag}`)
585
- if(ret.code == 200){
586
- //tag
587
- devices.f_device_id = JSON.parse(ret.data.f_device_id).id
588
- }
589
- //tag
590
- //tag)
591
- if (ret.code != 200) {
592
- //TODO 失败后处理
593
- // this.isUpload = false
594
- this.$showMessage("上传失败!")
595
- return false
596
- }
597
- }
598
- }
599
- }
600
- // for (let device of this.f_devices) {
601
- // device.f_paper_id = f_paper_id
602
- // //tag
603
- // //tag)
604
- // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
605
- // row: device
606
- // })
607
- // //tag
608
- // if (ret.code != 200) {
609
- // //TODO 失败后处理
610
- // HostApp.alert("上传失败!")
611
- // return false
612
- // }
613
- // }
614
- let result = this.$androidUtil.bzLogic('FinishUpload',
615
- {
616
- f_check_item_id: this.data.f_check_item_id,
617
- f_userinfo_id: codata.f_userinfoid,
618
- f_last_check_result: codata.f_defect_content
619
- })
620
- if(result.code == 200){
621
- // this.$showAlert('上传成功!', 'success', 2000)
622
- this.$showMessage('上传成功!')
623
- this.isStrat=false
624
- if(url != "" ){
625
- this.$resetpost(`${url}`,{data:WxResult})
626
- }
627
- return true
628
- }else{
629
- // this.isUpload = false
630
- this.$showMessage("上传失败!")
631
- return false
632
- }
633
- }else{
634
- // this.isUpload = false
635
- this.$showMessage("上传失败!")
636
- return false
637
- }
638
- }catch (e) {
639
- //tag)
640
- // this.isUpload = false
641
- this.$showMessage("上传失败!")
642
- }
643
- }
644
- },
645
-
646
- save() {
647
- let codata = this.getAllDefect()
648
- //tag
649
- //tag}`)
650
- for (let key in codata){
651
- if(key.startsWith("device")){
652
- codata[key] = []
653
- }
654
- }
655
- //tag}`)
656
- if(Vue.android) {
657
- let value = this.$androidUtil.path({alias: 'getUserinfomation', data:{condition: "f_userinfoid = '"+ this.item.f_userinfoid+"' and f_no_checkplan = '无计划安检'"}})
658
-
659
- if(this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回'){
660
- let result = this.$androidUtil.bzLogic('SafeSaveNoPaper', {
661
- f_check_item_id: this.data.f_check_item_id,
662
- f_checker_id: this.data.f_checker_id,
663
- f_upload_state:'未传',
664
- row: codata
665
- })
666
- if (result.code == 200) {
667
- //保存devices
668
- let res = this.$androidUtil.bzLogic('getPaperInfo', {
669
- f_check_item_id: this.data.f_noplan_item_id
670
- })
671
- //tag
672
- if(res.code == 200){
673
- let f_paper_id = res.data[0].id
674
- for (let device of this.f_devices){
675
- device.f_paper_id = f_paper_id
676
- //tag
677
- let ret = this.$androidUtil.bzLogic('saveDevice', {
678
- row:device
679
- })
680
- if(ret.code != 200){
681
- //TODO 失败后处理
682
- // if(this.isUpload){
683
- // this.isUpload = false
684
- // }
685
- this.$showMessage("保存失败!")
686
- return false
687
- }
688
- }
689
- }
690
- // this.$showAlert('保存成功!', 'success', 2000)
691
- this.$showMessage('保存成功!')
692
- return true
693
- } else {
694
- // if(this.isUpload){
695
- // this.isUpload = false
696
- // }
697
- this.$showMessage("保存失败!")
698
- return false
699
- }
700
- }else {
701
- //保存paper
702
- let result = this.$androidUtil.bzLogic('保存安检单信息', {
703
- f_check_item_id: this.data.f_check_item_id,
704
- f_checker_id: this.data.f_checker_id,
705
- row: codata
706
- })
707
- if (result.code == 200) {
708
- //保存devices
709
- let res = this.$androidUtil.bzLogic('getPaperInfo', {
710
- f_check_item_id: this.data.f_check_item_id
711
- })
712
- //tag
713
- if(res.code == 200){
714
- let f_paper_id = res.data[0].id
715
- for (let device of this.f_devices){
716
- device.f_paper_id = f_paper_id
717
- //tag
718
- let ret = this.$androidUtil.bzLogic('saveDevice', {
719
- row:device
720
- })
721
- if(ret.code != 200){
722
- //TODO 失败后处理
723
- // if(this.isUpload){
724
- // this.isUpload = false
725
- // }
726
- this.$showMessage("保存失败!")
727
- return false
728
- }
729
- }
730
- }
731
- // this.$showAlert('保存成功!', 'success', 2000)
732
- this.$showMessage('保存成功!')
733
- return true
734
- } else {
735
- // if(this.isUpload){
736
- // this.isUpload = false
737
- // }
738
- this.$showMessage("保存失败!")
739
- return false
740
- }
741
- }
742
-
743
- }else{
744
- //tag
745
- let value = this.$androidUtil.path({alias: 'getUserinfomation', data:{condition: "f_userinfoid = '"+ this.item.f_userinfoid+"' and f_no_checkplan = '无计划安检'"}})
746
-
747
- if(this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回'){
748
- this.$androidUtil.bzLogic('SafeSaveNoPaper', {
749
- f_check_item_id: this.data.f_check_item_id,
750
- f_checker_id: this.data.f_checker_id,
751
- f_upload_state: '未传',
752
- row: codata
753
- }).then((res)=> {
754
- if (res.data.code == 200) {
755
- //保存devices
756
- this.$androidUtil.bzLogic('getPaperInfo', {
757
- f_check_item_id: this.data.f_check_item_id
758
- }).then((res)=>{
759
- //tag
760
- if(res.data.code == 200){
761
-
762
- let f_paper_id = res.data.data[0].id
763
- for (let device of this.f_devices){
764
- device.f_paper_id = f_paper_id
765
- //tag
766
- this.$androidUtil.bzLogic('saveDevice', {
767
- row:device
768
- }).then((ret)=>{
769
- //tag
770
- if(ret.code != 200){
771
- // if(this.isUpload){
772
- // this.isUpload = false
773
- // }
774
- //TODO 失败后处理
775
- this.$showMessage("保存失败!")
776
- return false
777
- }
778
- })
779
- }
780
- }
781
- })
782
- // this.$showAlert('保存成功!', 'success', 2000)
783
- this.$showMessage('保存成功!')
784
- return true
785
- } else {
786
- // if(this.isUpload){
787
- // this.isUpload = false
788
- // }
789
- this.$showMessage("保存失败!")
790
- return false
791
- }
792
- })
793
- }else{
794
- this.$androidUtil.bzLogic('保存安检单信息', {
795
- f_check_item_id: this.data.f_check_item_id,
796
- f_checker_id: this.data.f_checker_id,
797
- row: codata
798
- }).then((res)=> {
799
- //tag
800
- if (res.data.code == 200) {
801
- //保存devices
802
- this.$androidUtil.bzLogic('getPaperInfo', {
803
- f_check_item_id: this.data.f_check_item_id
804
- }).then((res)=>{
805
- //tag
806
- if(res.data.code == 200){
807
-
808
- let f_paper_id = res.data.data[0].id
809
- for (let device of this.f_devices){
810
- device.f_paper_id = f_paper_id
811
- //tag
812
- this.$androidUtil.bzLogic('saveDevice', {
813
- row:device
814
- }).then((ret)=>{
815
- //tag
816
- if(ret.code != 200){
817
- // if(this.isUpload){
818
- // this.isUpload = false
819
- // }
820
- //TODO 失败后处理
821
- this.$showMessage("保存失败!")
822
- return false
823
- }
824
- })
825
- }
826
- }
827
- })
828
- // this.$showAlert('保存成功!', 'success', 2000)
829
- this.$showMessage('保存成功!')
830
- return true
831
- } else {
832
- // if(this.isUpload){
833
- // this.isUpload = false
834
- // }
835
- this.$showMessage("保存失败!")
836
- return false
837
- }
838
- })
839
- }}},
840
-
841
- disableTimer() {
842
- if(this.timer) {
843
- window.clearTimeout(this.timer)
844
- this.timer = null
845
- }
846
- },
847
- loaded(paper) {
848
- if(!paper.hasOwnProperty('id')) {
849
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
850
- this.init()
851
- } else {
852
- Util.booleanFilter(paper)
853
- HostApp.__this__.$set('data', paper)
854
- HostApp.__this__.$goto('paper-state', {}, 'paper-router')
855
- // 如果打回重检则重新计时
856
- //tag
857
- if(HostApp.__this__.role == 'inspect'
858
- && HostApp.__this__.data.f_approved
859
- && HostApp.__this__.data.f_approved == '打回') {
860
- //tag
861
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
862
- HostApp.__this__.tick()
863
- }
864
- }
865
- HostApp.__callback__ = null
866
- HostApp.__this__ = null
867
- },
868
- S4() {
869
- return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
870
- },
871
- init1 () {
872
- if(this.item.f_collection_type=='按金额'){
873
- this.config= {
874
- "燃气表":{
875
- "checkmust":true,
876
- "index":1,
877
- "items":{
878
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
879
- "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
880
- "气表型号":{"index":2,"type":"string","readonly":true},
881
- "气表品牌":{"index":3,"type":"string","readonly":true},
882
- "进气方向":{"index":4,"type":"selector",
883
- "multiple": false,
884
- "checkmust":true,
885
- "options": [
886
- {
887
- "data": "左表",
888
- "isdefect": false,
889
- "isdefault": false
890
- },
891
- {
892
- "data": "右表",
893
- "isdefect": false,
894
- "isdefault": false
895
- }
896
- ]
897
- },
898
- "初始表底":{"index":5,"type":"number"},
899
- "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
900
- "本期表读数":{"index":7,"type":"number","checkmust":true},
901
- "累购金额":{"index":8,"type":"number","readonly":true},
902
- "已用金额":{"index":9,"type":"number","checkmust": false,"isshow":false},
903
- //显示屏数 --实际剩余气量
904
- "表初始数":{"index":10,"type":"number","checkmust": false},
905
- "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
906
- }
907
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
908
- }
909
- }
910
- }else{
911
- this.config= {
912
- "燃气表":{
913
- "checkmust":true,
914
- "index":1,
915
- "items":{
916
- //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
917
- "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
918
- "气表型号":{"index":2,"type":"string","readonly":true},
919
- "气表品牌":{"index":3,"type":"string","readonly":true},
920
- "进气方向":{"index":4,"type":"selector",
921
- "multiple": false,
922
- "checkmust":true,
923
- "options": [
924
- {
925
- "data": "左表",
926
- "isdefect": false,
927
- "isdefault": false
928
- },
929
- {
930
- "data": "右表",
931
- "isdefect": false,
932
- "isdefault": false
933
- }
934
- ]
935
- },
936
- "初始表底":{"index":5,"type":"number"},
937
- "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
938
- "本期表读数":{"index":7,"type":"number","checkmust":true},
939
- "累购气量":{"index":8,"type":"number","readonly":true},
940
- "已用气量":{"index":9,"type":"number","checkmust": false,"isshow":false},//基表数
941
- "表初始数":{"index":10,"type":"number","checkmust": false},//累购-已用
942
- //显示屏数 --实际剩余气量
943
- "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
944
- }
945
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
946
- }
947
- }
948
- }
949
- },
950
- init () {
951
- this.data.f_noplan_item_id = this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()
952
- this.data.ename = Vue.user.ename
953
- this.data.f_outlets = Vue.user.f_parentname
954
- this.data.f_meetunit = Vue.user.orgpathnames
955
- this.data.orgpathstr = Vue.user.orgpathstr
956
- this.data.f_check_item_id = this.item.id
957
- this.data.f_check_plan_id = this.f_plan_id
958
- this.data.f_checker_id = Vue.user.id
959
- this.data.f_checker_name = Vue.user.name
960
- this.data.f_check_type = this.item.f_user_type
961
- this.data.f_subcompany = this.item.f_subcompany
962
- this.data.f_approved = this.item.f_approved
963
- this.data.f_repair_approved = this.item.f_repair_approved
964
- this.data.f_no_checkplan = this.item.f_no_checkplan
965
- this.data.f_approved = this.item.f_approved
966
- this.data.f_filialeid = this.item.f_filialeid
967
- this.data.f_orgstr = this.item.f_orgstr
968
- this.data.version = this.item.version
969
- this.$set('data.f_meters', this.item.f_plan_meters)
970
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
971
- // 安检状态
972
- this.$set('data.f_entry_status', '入户')
973
- this.$set('data.f_usegas', '已使用')
974
- this.$set('data.f_state',this.item.f_state)
975
- // 用户信息
976
- this.$set('data.f_user_name', this.item.f_user_name)
977
- this.$set('data.f_user_phone', this.item.f_user_phone)
978
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
979
- this.$set('data.f_address', this.item.f_address)
980
- this.$set('data.f_card_id', this.item.f_card_id)
981
- this.$set('data.f_area', this.item.f_area)
982
- this.$set('data.f_street', this.item.f_street)
983
- this.$set('data.f_room',this.item.f_room)
984
- this.$set('data.f_building', this.item.f_building)
985
- this.$set('data.f_unit',this.item.f_unit)
986
- this.$set('data.f_floor', this.item.f_floor)
987
- this.$set('data.f_residential_area' , this.item.f_residential_area)
988
- this.$set('data.f_idnumber', this.item.f_idnumber)
989
- this.$set('data.f_comments', this.item.f_comments)
990
- this.$set('data.f_userproperties', this.item.f_userproperties)
991
- // 处置方式
992
- this.$set('data.f_no_gas_device', false)
993
- this.$set('data.f_close_valve', false)
994
- this.$set('data.f_unload_battery', false)
995
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
996
- this.data.f_check_item_id = this.data.f_noplan_item_id
997
- }
998
-
999
- //房屋结构
1000
- // this.$set('data.f_room_style', '多层')
1001
- //供暖方式
1002
- // this.$set('data.f_heating_style', '热力公司集中供暖')
1003
- if(this.item.f_plan_meters) {
1004
- for (let de in this.devices) {
1005
- this.$set('data.device' + this.devices[de].n, [])
1006
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1007
- if(this.item.f_plan_meters[i].f_meter_type) {
1008
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1009
- delete this.config['燃气表']['items']['累计购气量']
1010
- this.data['device' + this.devices[de].n].push({
1011
- f_device_type: "燃气表",
1012
- f_items: [{
1013
- f_defect_level: null,
1014
- f_device_id: "",
1015
- f_is_defect: "",
1016
- f_item_name: "表品牌",
1017
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1018
- f_path: "",
1019
- type: "string"
1020
- },
1021
- {
1022
- f_defect_level: null,
1023
- f_device_id: "",
1024
- f_is_defect: "",
1025
- f_item_name: "位置",
1026
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1027
- f_path: "",
1028
- type: "selector"
1029
- },
1030
- {
1031
- f_defect_level: null,
1032
- f_device_id: "",
1033
- f_is_defect: "",
1034
- f_item_name: "表号",
1035
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1036
- f_path: "",
1037
- type: "number"
1038
- },
1039
- {
1040
- f_defect_level: null,
1041
- f_device_id: "",
1042
- f_is_defect: "",
1043
- f_item_name: "表封号",
1044
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1045
- f_path: "",
1046
- type: "number"
1047
- },
1048
- {
1049
- f_defect_level: null,
1050
- f_device_id: "",
1051
- f_is_defect: "",
1052
- f_item_name: "表型号",
1053
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1054
- f_path: "",
1055
- type: "selector"
1056
- },
1057
- {
1058
- f_defect_level: null,
1059
- f_device_id: "",
1060
- f_is_defect: "",
1061
- f_item_name: "表底数",
1062
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1063
- f_path: "",
1064
- type: "number"
1065
- }
1066
- ]
1067
- })
1068
- } else if (this.devices[de].device == "燃气表") {
1069
- delete this.config['燃气表']['items']['表底数']
1070
- this.data['device' + this.devices[de].n].push({
1071
- f_device_type: "燃气表",
1072
- f_items: [{
1073
- f_defect_level: null,
1074
- f_device_id: "",
1075
- f_is_defect: "",
1076
- f_item_name: "表品牌",
1077
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1078
- f_path: "",
1079
- type: "string"
1080
- },
1081
- {
1082
- f_defect_level: null,
1083
- f_device_id: "",
1084
- f_is_defect: "",
1085
- f_item_name: "位置",
1086
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1087
- f_path: "",
1088
- type: "selector"
1089
- },
1090
- {
1091
- f_defect_level: null,
1092
- f_device_id: "",
1093
- f_is_defect: "",
1094
- f_item_name: "表号",
1095
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1096
- f_path: "",
1097
- type: "number"
1098
- },
1099
- {
1100
- f_defect_level: null,
1101
- f_device_id: "",
1102
- f_is_defect: "",
1103
- f_item_name: "表封号",
1104
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1105
- f_path: "",
1106
- type: "number"
1107
- },
1108
- {
1109
- f_defect_level: null,
1110
- f_device_id: "",
1111
- f_is_defect: "",
1112
- f_item_name: "表型号",
1113
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1114
- f_path: "",
1115
- type: "selector"
1116
- },
1117
- {
1118
- f_defect_level: null,
1119
- f_device_id: "",
1120
- f_is_defect: "",
1121
- f_item_name: "累计购气量",
1122
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1123
- f_path: "",
1124
- type: "number"
1125
- }
1126
- ]
1127
- })
1128
- }
1129
- }
1130
- }
1131
- }
1132
- }
1133
-
1134
- this.$goto('paper-state', {}, 'paper-router')
1135
- },
1136
- extend(initalObj, finalObj) {
1137
- var obj = finalObj || {};
1138
- for (var i in initalObj) {
1139
- var prop = initalObj[i];
1140
-
1141
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1142
- if (prop === obj) {
1143
- continue;
1144
- }
1145
-
1146
- if (typeof prop === 'object') {
1147
- if (obj[i]) {
1148
- this.extend(obj[i], prop)
1149
- } else {
1150
- obj[i] = prop;
1151
- }
1152
- }
1153
- }
1154
- return obj;
1155
- },
1156
- /*
1157
- var a = {
1158
- "燃气表":{
1159
- "index": 1,
1160
- "checkmust":true,
1161
- "items":{
1162
- "表具故障":{"index": 13,"multiple":true,"type":"selector","options":[{"data":"死表","isdefect":true,"level":"安检维修"},{"data":"常通","isdefect":true,"level":"安检维修"},{"data":"表体漏气","isdefect":true,"level":"一级隐患安检维修"},{"data":"接口漏气","isdefect":true,"level":"一级隐患安检维修"},{"data":"偷气","isdefect":true,"level":"一级隐患"},{"data":"反装","isdefect":true},{"data":"气量不符","isdefect":true,"level":"安检维修"},{"data":"其他","isdefect":true,"level":"一级隐患"}]},
1163
- "其他":{"index": 14,"isshow":false,"type":"string"},
1164
- "表具隐患类型":{"index": 15,"multiple":true,"type":"selector","options":[{"data":"挂物","isdefect":true},{"data":"包裹","isdefect":true},{"data":"不便维修","isdefect":true},{"data":"封闭包裹","isdefect":true,"level":"一级隐患"},{"data":"与电源或火源过近","isdefect":true,"level":"三级隐患"}]}
1165
- }
1166
- },
1167
- "报警器":{
1168
- "index": 2,
1169
- "checkmust":true,
1170
- "items":{
1171
- "有否":{"index": 1,"multiple":false,"type":"selector","options":[{"data":"有","isdefect":false,"isdefault":true},{"data":"无","isdefect":false}]},
1172
- "厂家":{"index": 2,"multiple":false,"isshow":false,"type":"selector","options":[{"data":"汉威","isdefect":false},{"data":"鑫豪斯","isdefect":false},{"data":"友谊","isdefect":false},{"data":"其他","isdefect":false},{"data":"富昌","isdefect":false},{"data":"科信","isdefect":false}]},
1173
- "安装时间":{"index": 3,"isshow": false,"type":"date"},
1174
- "到期时间":{"index": 4,"isshow": false,"type":"date"},
1175
- "是否通电":{"index": 5,"multiple":false,"isshow": false,"type":"selector","options":[{"data":"是","isdefect":false,"isdefault":true},{"data":"否","isdefect":true}]},
1176
- "安装渠道":{"index": 6,"isshow": false,"multiple":false,"type":"selector","options":[{"data":"惠众","isdefect":false},{"data":"其他","isdefect":false}]},
1177
- "电磁阀接口漏气":{"index": 7,"multiple":false,"isshow": false,"type":"selector","options":[{"data":"否","isdefect":false,"isdefault":true},{"data":"是","isdefect":true,"level":"一级隐患安检维修"}]}
1178
- }
1179
- }}
1180
- */
1181
- putDevices() {
1182
- ////tag
1183
- this.$set('data.approve', "true")
1184
- this.$set('data.writeback', "false")
1185
- if (Vue.config.safecheck.ApproveConfig != undefined) {
1186
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1187
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1188
- }
1189
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1190
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1191
- }
1192
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1193
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1194
- }
1195
- }
1196
- //tag
1197
-
1198
- // 民用户
1199
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
1200
- // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1201
-
1202
- /*if(this.item.f_user_type == '民用'){
1203
- // 民用户
1204
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['送气类型']['民用']])
1205
- // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1206
- }else {
1207
- // 非民用
1208
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['送气类型']['非民用']])
1209
- }*/
1210
- //遍历安检项配置
1211
- for (let i in this.config) {
1212
- //取得安检项索引值
1213
- let n = this.config[i].index
1214
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1215
- this.$set('data.' + 'device' + n, [])
1216
- let items = []
1217
- for (let it in this.config[i].items) {
1218
- //赋值下拉选项
1219
- if (this.config[i].items[it].type == 'selector') {
1220
- for (let op in this.config[i].items[it].options)
1221
- if (this.config[i].items[it].options[op].isdefault == true) {
1222
- items.push({
1223
- f_defect_level: this.config[i].items[it].options[op].level,
1224
- f_is_defect: this.config[i].items[it].options[op].isdefect,
1225
- f_item_name: it,
1226
- f_item_value: this.config[i].items[it].options[op].data,
1227
- f_path: "",
1228
- type: "selector"
1229
- })
1230
- }
1231
- }
1232
- }
1233
- n = n + 1
1234
- }
1235
-
1236
- },
1237
- //获取当前时间
1238
- getNowFormatDate(){
1239
- var date = new Date();
1240
- var seperator1 = "-";
1241
- var seperator2 = ":";
1242
- var month = date.getMonth() + 1;
1243
- var strDate = date.getDate();
1244
- if (month >= 1 && month <= 9) {
1245
- month = "0" + month;
1246
- }
1247
- if (strDate >= 0 && strDate <= 9) {
1248
- strDate = "0" + strDate;
1249
- }
1250
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1251
- + " " + date.getHours() + seperator2 + date.getMinutes()
1252
- + seperator2 + date.getSeconds();
1253
- return currentdate;
1254
- }
1255
- },
1256
- ready() {
1257
- this.init1()
1258
- this.putDevices()
1259
- //如果已检,则提取安检单
1260
-
1261
- if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1262
- if (this.role != 'inspect') {
1263
- let that = this
1264
- let id
1265
- if (this.role == 'view') {
1266
- id = this.item.id
1267
- } else if (this.role == 'androidview') {
1268
- id = this.item.f_paper_id
1269
- }
1270
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1271
- //tag
1272
- if (respanse.data.length != 0) {
1273
- // 包含 其它 特殊处理的数组
1274
- // 对应位置
1275
-
1276
- //tag
1277
-
1278
- that.data = Object.assign(that.data, respanse.data[0])
1279
- if (respanse.data[0].f_devices) {
1280
- for (let da in that.devices) {
1281
- that.$set('data.device' + that.devices[da].n, [])
1282
- }
1283
- respanse.data[0].f_devices.forEach((item) => {
1284
- for (let de in that.devices) {
1285
- if (that.devices[de].device == item.f_device_type) {
1286
- item.f_items.forEach((f_item) => {
1287
- //tag
1288
- //tag
1289
- let itemValues = []
1290
- f_item.f_item_lists.forEach((tempItem) => {
1291
- //tag
1292
- if (tempItem.f_item_value !== 'null') {
1293
- itemValues.push(tempItem.f_item_value)
1294
- }
1295
- })
1296
- f_item.f_item_value = itemValues
1297
- })
1298
- that.data['device' + that.devices[de].n].push({
1299
- f_device_type: item.f_device_type,
1300
- f_items: item.f_items
1301
- })
1302
- }
1303
- }
1304
- })
1305
- }
1306
- Util.replaceFalse(that.data)
1307
- Util.booleanFilter(that.data)
1308
- if (this.role == 'view') {
1309
- Util.ratifyPics(that.data)
1310
- Util.ratifyPics(that.picture)
1311
- } else {
1312
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1313
- }
1314
- //tag
1315
- } else {
1316
- alert("该安检单可能已不在本地!")
1317
- this.init()
1318
- }
1319
- // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1320
- this.isshow = true
1321
- }
1322
- ).catch(
1323
- (respanse) => {
1324
- //tag
1325
- alert('查找安检单失败')
1326
- })
1327
- }
1328
- // else {
1329
- // let that = this
1330
- // this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id}).then((respanse) => {
1331
- // if (respanse.data.data.length != 0) {
1332
- // that.data = Object.assign(that.data, respanse.data.data[0])
1333
- // if (respanse.data.data[0].f_devices) {
1334
- // for (let da in that.devices) {
1335
- // that.$set('data.device' + that.devices[da].n, [])
1336
- // }
1337
- // respanse.data.data[0].f_devices.forEach((item) => {
1338
- // for (let de in that.devices) {
1339
- // if (that.devices[de].device == item.f_device_type) {
1340
- // that.$set('data.device' + that.devices[de].n, [])
1341
- // that.data['device' + that.devices[de].n].push({
1342
- // f_device_type: item.f_device_type,
1343
- // f_items: item.f_items
1344
- // })
1345
- // }
1346
- // }
1347
- // })
1348
- // }
1349
- // Util.booleanFilter(that.data)
1350
- // //tag
1351
- // } else {
1352
- // alert("该安检单可能已不在本地!")
1353
- // this.init()
1354
- // }
1355
- // // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1356
- // this.isshow = true
1357
- // }
1358
- // ).catch(
1359
- // (respanse) => {
1360
- // alert('查找安检单失败')
1361
- // })
1362
- // }
1363
- } else {
1364
- this.init()
1365
- }
1366
- },
1367
- watch:{
1368
- // 'isUpload'(val){
1369
- // //tag
1370
- // }
1371
- },
1372
- destroyed() {
1373
- //tag
1374
- this.disableTimer()
1375
- }
1376
- }
1377
-
1378
- </script>
1
+ <style scoped>
2
+ .divmask {
3
+ pointer-events: none;
4
+ }
5
+ .app-header {
6
+ border-radius: 50%;
7
+ background: rgba(73, 158, 223, 0.4);
8
+ color: #FFF;
9
+ padding: 20px;
10
+ text-align: center;
11
+ font-size: 1.2em;
12
+ z-index: 10;
13
+ opacity:0.5;
14
+ bottom: 50px;
15
+ margin-top: -20px;
16
+ position: absolute;
17
+ top: 10%;
18
+ right: 2%;
19
+ height: 8%;
20
+ }
21
+ </style>
22
+
23
+ <template>
24
+ <div style="overflow-y: scroll;background-color: #FFFFFF">
25
+ <div class="auto" style="height:auto;" id="safecheck" v-if="isshow">
26
+ <div class="page-header app-header auto">
27
+ <div @click="back()">
28
+ <img src="../../assets/back.png"/>
29
+ </div>
30
+ </div>
31
+ <div style="width: 50%;height: 462px; margin-left: 20px;margin-top: 0px;margin-bottom: 20px;float:left" id="one">
32
+ <paper-userm></paper-userm>
33
+ </div>
34
+ <div style="width: 45%;height: 462px; margin-left: 20px;margin-top: 0px;margin-bottom: 20px;float:left">
35
+ <asp-paper-statem></asp-paper-statem>
36
+ </div>
37
+ <div style="width: 95%;height: auto;margin-left: 20px;margin-bottom: 30px;float: left">
38
+ <devicesm> </devicesm>
39
+ </div>
40
+ <div style="width: 95%;height: 900px;margin-left: 20px;float: left;">
41
+ <asp-paper-feedbackm v-bind:paper="this.data" :item="item" ></asp-paper-feedbackm>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </template>
46
+
47
+ <script>
48
+ import PaperUserm from '../android/PaperUserm'
49
+ import PaperStatem from './AspPaperStatem'
50
+ import Devicesm from '../android/Devicesm'
51
+ import PaperFeedbackm from './AspiratedPaperFeedbackm'
52
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
53
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
54
+ import Vue from 'vue'
55
+ import * as Util from '../Util'
56
+
57
+ export default {
58
+ title: '安检单',
59
+ props: ['f_plan_id', 'item', 'role'],
60
+ data() {
61
+ return {
62
+ data: {
63
+ f_devices: [],
64
+ f_defect_content:''
65
+ },
66
+ isshow:false,
67
+ isUpload:false,
68
+ livedispose:'',
69
+ startClick:false, //开始安检按钮是否可点击
70
+ isStrat: false, //是否开始安检
71
+ checkResult:{},//查询结果
72
+ newcheckResult:{},
73
+ timer: null,
74
+ showModal: false,
75
+ pic_to_be_viewed: '',
76
+ showBack:true,
77
+ devices: [],
78
+ f_devices : [],
79
+ isToRepair:false,
80
+ isSafeCheckToRepair:false,//是否转维修
81
+ config: {
82
+ "燃气表":{
83
+ "checkmust":true,
84
+ "index":1,
85
+ "items":{
86
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
87
+ "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
88
+ "气表型号":{"index":2,"type":"string","readonly":true},
89
+ "气表品牌":{"index":3,"type":"string","readonly":true},
90
+ "进气方向":{"index":4,"type":"selector",
91
+ "multiple": false,
92
+ "checkmust":true,
93
+ "options": [
94
+ {
95
+ "data": "左表",
96
+ "isdefect": false,
97
+ "isdefault": false
98
+ },
99
+ {
100
+ "data": "右表",
101
+ "isdefect": false,
102
+ "isdefault": false
103
+ }
104
+ ]
105
+ },
106
+ "初始表底":{"index":5,"type":"number"},
107
+ "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
108
+ "本期表读数":{"index":7,"type":"number","checkmust":true},
109
+ "累购气量":{"index":8,"type":"number","readonly":true},
110
+ "累购金额":{"index":8,"type":"number","readonly":true},
111
+ "已用气量":{"index":9,"type":"number","checkmust": false,"isshow":false},//基表数
112
+ "已用金额":{"index":9,"type":"number","checkmust": false,"isshow":false},
113
+ "表初始数":{"index":10,"type":"number","checkmust": false},//累购-已用
114
+ //显示屏数 --实际剩余气量
115
+ "表初始数":{"index":10,"type":"number","checkmust": false},
116
+ "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
117
+ "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
118
+ }
119
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
120
+ }
121
+ }
122
+ }
123
+ },
124
+ components: {
125
+ RadioGroup,
126
+ Radio,
127
+ "paper-userm":PaperUserm,
128
+ "paper-statem":PaperStatem,
129
+ "devicesm":Devicesm,
130
+ "paper-feedbackm":PaperFeedbackm
131
+ },
132
+ computed: {
133
+ selector: {
134
+ get() {
135
+ return 'paper-state'
136
+ },
137
+ set(val) {
138
+ if(this.isStrat){
139
+ //;
140
+ this.$goto(val, {userinfo:this.data}, 'paper-router')
141
+ }else{
142
+ this.$showMessage('未开始安检!')
143
+ }
144
+ }
145
+ },
146
+ actionEnabled: {
147
+ get() {
148
+ return this.role == 'inspect'
149
+ }
150
+ }
151
+ },
152
+ methods: {
153
+ back(){
154
+ if (this.role == 'inspect') {
155
+ if(!this.isStrat){
156
+ this.$back()
157
+ return
158
+ }else{
159
+ this.savePaper(true).then(()=>{
160
+ this.$back()
161
+ this.isStrat = false
162
+ })
163
+ }
164
+ }else{
165
+ this.$back()
166
+ }
167
+ },
168
+ checkIsStart(){
169
+ alert('asdad')
170
+ return
171
+ },
172
+ viewPic(fileName) {
173
+ //tag
174
+ if(this.role == 'view') {
175
+ if(!fileName.endsWith('nopic.png')) {
176
+ this.pic_to_be_viewed = fileName
177
+ this.showModal = true
178
+ }
179
+ } else {
180
+ HostApp.viewPic(fileName)
181
+ }
182
+ },
183
+ tick() {
184
+ this.timer = null
185
+ this.data.f_offsite_time = Util.toStandardTimeString()
186
+ this.timer = window.setTimeout(this.tick, 1000)
187
+ },
188
+ getRepairState() {
189
+ let repaired = true
190
+ this.data.f_defects.forEach((defect) => {
191
+ repaired = repaired & (defect.f_ratification == '已处理')
192
+ })
193
+ return repaired
194
+ },
195
+ verifyRepairDefects() {
196
+ this.data.f_repair_date = Util.toStandardTimeString()
197
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
198
+ },
199
+ async savePaper(saveOnly) {
200
+ //tag
201
+ //tag
202
+ if(this.role == 'repair') {
203
+ let errorMsg = this.verifyRepairDefects()
204
+ if(errorMsg) {
205
+ this.$showMessage(errorMsg)
206
+ return false
207
+ }
208
+ return this.save()
209
+ } else {
210
+ //保存时做校验
211
+ let errString = this.errorVerify()
212
+ if(saveOnly){
213
+ if (errString) {
214
+ this.data.f_complete = '未完成'
215
+ this.disableTimer()
216
+ return this.save()
217
+ } else {
218
+ //tag
219
+ if(!this.data.f_offsite_time){
220
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
221
+ }
222
+ //tag
223
+ this.data.f_complete = '已完成'
224
+ this.disableTimer()
225
+ return this.save()
226
+ }
227
+ }else {
228
+ //tag
229
+ if (errString) {
230
+ //tag
231
+ //tag
232
+ //tag
233
+ if (Vue.android){
234
+ // if(this.isUpload){
235
+ // this.isUpload = false
236
+ // }
237
+ this.$showMessage(errString)
238
+ }
239
+ return false
240
+ } else {
241
+ if(!this.data.f_offsite_time){
242
+ this.$set('data.f_offsite_time', Util.toStandardTimeString())
243
+ }
244
+ //tag
245
+ this.data.f_complete = '已完成'
246
+ this.disableTimer()
247
+ return this.uploadCheckPaper()
248
+ }
249
+ }
250
+ }
251
+ },
252
+ genuineSave(saveOnly) {
253
+ HostApp.__this__.save(saveOnly)
254
+ if(!saveOnly)
255
+ HostApp.__this__.disableTimer()
256
+ HostApp.__callback__ = null
257
+ HostApp.__this__ = null
258
+ },
259
+ uploadPaper() {
260
+ // this.isUpload = true
261
+ //tag
262
+ this.savePaper(false).then((res) => {
263
+ //tag
264
+ // //tag
265
+ // this.isUpload = false
266
+ // //tag
267
+ if(res != true){
268
+ //tag
269
+ return
270
+ }else{
271
+ this.$back()
272
+ }
273
+ })
274
+ },
275
+ errorVerify() {
276
+ let hasError = this.verifyState()
277
+ if(hasError)
278
+ return hasError
279
+
280
+ if(this.data.f_entry_status != '入户')
281
+ return null
282
+ hasError = this.verifyUser()
283
+ if(hasError)
284
+ return hasError
285
+ hasError = this.verifyDevices()
286
+ if(hasError)
287
+ return hasError
288
+ hasError = this.verifyFeedback()
289
+ if(hasError)
290
+ return hasError
291
+ },
292
+ verifyState() {
293
+ if(Vue.android && this.data.f_entry_status == '未使用天然气' && this.data.f_nongasuser_path == Vue.nopic)
294
+ return '未使用天然气则必须拍照'
295
+ if(Vue.android && this.data.f_entry_status == '到访不遇' && this.data.f_noanswer_path == Vue.nopic)
296
+ return '到访不遇必须拍照'
297
+ },
298
+ verifyUser() {
299
+ let prefix = '用户基本信息:'
300
+ if(Util.required(this.data.f_user_name))
301
+ return prefix + '用户名必须输入'
302
+ if(Util.required(this.data.f_user_phone))
303
+ return prefix + '用户电话必须输入'
304
+ // if(Util.required(this.data.f_residential_area))
305
+ // return prefix + '小区名称必须输入'
306
+ if(Util.required(this.data.f_address))
307
+ return prefix + '地址必须输入'
308
+ },
309
+ verifyDevices() {
310
+ for (let dev in this.config) {
311
+ if (this.config[dev].checkmust == true) {
312
+ let error = true
313
+ for(let device in this.data) {
314
+ if (device.startsWith("device")) {
315
+ for (let item in this.data[device]) {
316
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
317
+ error = false
318
+ }
319
+ }
320
+ }
321
+ }
322
+ if (error) {
323
+ return "请检查" + dev
324
+ }
325
+ }
326
+ }
327
+
328
+ for (let dev in this.config) {
329
+ for(let device in this.data) {
330
+ if (device.startsWith("device")) {
331
+ for (let item in this.data[device]) {
332
+ //检查每一条安检结果
333
+ if (this.data[device].length != 0 && this.data[device][item].f_device_type == dev) {
334
+ for (let i in this.data[device][item].f_items) {
335
+ for (let it in this.config[dev].items) {
336
+ if (this.config[dev].items[it].checkmust == true && this.data[device][item].f_items[i].f_item_value == '' && this.data[device][item].f_items[i].f_path == '' && it == this.data[device][item].f_items[i].f_item_name) {
337
+ return dev + (this.data[device].indexOf(this.data[device][item]) + 1) + this.data[device][item].f_items[i].f_item_name + "未检查"
338
+ }
339
+ }
340
+ //检查安检下拉结果
341
+ if (this.data[device][item].f_items[i].type == 'selector') {
342
+ if (this.data[device][item].f_items[i].f_is_defect == true && this.data[device][item].f_items[i].f_path == Vue.nopic) {
343
+ 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 + "选中必须拍照"
344
+ }
345
+ }
346
+ }
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ },
353
+
354
+
355
+ verifyFeedback() {
356
+ let prefix = '用户反馈:'
357
+ if(Vue.android && (!this.data.f_overall_path || this.data.f_overall_path == Vue.nopic) && this.data.f_entry_status == '入户')
358
+ return prefix + '必须有安检总体照片'
359
+ if(Vue.android && this.data.f_defect_notified && this.data.f_notified_path == Vue.nopic)
360
+ return prefix + '下发安检通知书则必须给通知书拍照'
361
+ if(!this.data.f_client_evaluation && this.data.f_entry_status == '入户')
362
+ return prefix + '请选择服务评价'
363
+ },
364
+
365
+ setUrgency() {
366
+ this.data.f_defect_urgency = 'Z'
367
+ let that = this
368
+ this.data.f_defects.forEach(function(defect) {
369
+ if(that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
370
+ that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
371
+ })
372
+ if(this.data.f_defect_urgency == 'Z')
373
+ this.data.f_defect_urgency = null
374
+ },
375
+
376
+ getAllDefect(){
377
+ let checkResults={
378
+ result:'正常',
379
+ data:[]
380
+ }
381
+ let value = ''
382
+ let codata = JSON.parse(JSON.stringify(this.data))
383
+ codata.f_devices = []
384
+ this.f_devices = []
385
+ for(let device in codata){
386
+ let f_device_type
387
+ if(device.startsWith("device")){
388
+ for(let item in codata[device]) {
389
+ if(codata[device].length > 1 ){
390
+ let j = Number.parseInt(item)+1
391
+ f_device_type = `${codata[device][item].f_device_type}${j}`
392
+ }else{
393
+ f_device_type = codata[device][item].f_device_type
394
+ }
395
+ // //tag
396
+ for(let i in codata[device][item].f_items){
397
+ let items = codata[device][item].f_items[i]
398
+ //tag
399
+ //tag
400
+ if(items.f_is_defect == true || items.f_is_defect == 'true'){
401
+ //tag
402
+ checkResults.result = '有隐患'
403
+ if(!this.checkResult.hasOwnProperty(items.f_defect_level)){
404
+ if(f_device_type.indexOf('其他') != -1){
405
+ this.$set('checkResult.' + items.f_defect_level,`${f_device_type}${items.f_item_name}`)
406
+ }else{
407
+ this.$set('checkResult.' + items.f_defect_level,`${f_device_type}${items.f_item_name}${items.f_item_value}`)
408
+ }
409
+ }else{
410
+ //tag
411
+ if(f_device_type.indexOf('其他') != -1){
412
+ this.$set('checkResult.' + items.f_defect_level,`${this.checkResult[items.f_defect_level]},${f_device_type}${items.f_item_name}`)
413
+ }else{
414
+ this.$set('checkResult.' + items.f_defect_level,`${this.checkResult[items.f_defect_level]},${f_device_type}${items.f_item_name}${items.f_item_value}`)
415
+ }
416
+
417
+ }
418
+ }
419
+ if(items.type == 'selector'){
420
+ items.selected = ''
421
+ }
422
+ }
423
+ //tag
424
+ this.f_devices.push(codata[device][item])
425
+ }
426
+ }
427
+ }
428
+ if(this.checkResult){
429
+ for (let key in this.checkResult){
430
+ //tag
431
+ this.$set('newcheckResult.'+key,this.checkResult[key])
432
+ checkResults.data.push(this.newcheckResult)
433
+ this.newcheckResult = {}
434
+ }
435
+ this.checkResult = {}
436
+ }
437
+ //tag
438
+ codata.f_defect_content = JSON.stringify(checkResults)
439
+ //tag
440
+ return codata
441
+ },
442
+
443
+ getWeixin(backData){
444
+ let result = {f_user_name:backData.f_user_name,checker: Vue.user.name, f_check_date: Util.toStandardDateString(),f_userinfo_id:backData.f_userinfoid,f_address:backData.f_address}
445
+
446
+ let Resultstr = ''
447
+
448
+ for (let dev in this.config) {
449
+ for (let device in backData) {
450
+ if (device.startsWith("device")) {
451
+ for (let item in backData[device]) {
452
+ //遍历结果
453
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
454
+ let error = true
455
+ let n = 0
456
+ let level = ''
457
+ for (let i in backData[device][item].f_items) {
458
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
459
+ error = false
460
+ n +=1
461
+ if(level == ''){
462
+ level = backData[device][item].f_items[i].f_defect_level
463
+ }
464
+ let le = backData[device][item].f_items[i].f_defect_level
465
+ if(le.startsWith('A')){
466
+ let i = parseInt(le.substring(1))
467
+ if(i<parseInt(le.substring(level))){
468
+ level = le
469
+ }
470
+ }else if (le.startsWith('B')){
471
+ let i = parseInt(le.substring(1))
472
+ if(i<parseInt(le.substring(level))){
473
+ level = le
474
+ }
475
+ }else if(le.startsWith('C')){
476
+ let i = parseInt(le.substring(1))
477
+ if(i<parseInt(le.substring(level))){
478
+ level = le
479
+ }
480
+ }
481
+ }
482
+ }
483
+ if (error) {
484
+ Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常;'
485
+ } else {
486
+ Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患;'
487
+ }
488
+ result['f_err_number'] = n
489
+ result['f_danger_lever'] = level
490
+ }
491
+ }
492
+ }
493
+ }
494
+ }
495
+ for (let dev in this.config) {
496
+ for (let device in backData) {
497
+ if (device.startsWith("device")) {
498
+ for (let item in backData[device]) {
499
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
500
+ for (let i in backData[device][item].f_items) {
501
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
502
+ Resultstr += dev + (backData[device].indexOf(backData[device][item]) + 1)+ backData[device][item].f_items[i].f_item_name + ' ' + backData[device][item].f_items[i].f_item_value + ';'
503
+
504
+ }
505
+ }
506
+ }
507
+ }
508
+ }
509
+ }
510
+ }
511
+
512
+
513
+ return result
514
+ },
515
+
516
+ uploadCheckPaper(){
517
+ //tag
518
+ //获取微信推送路径
519
+ let url = ""
520
+ if(Vue.config.safecheck != undefined) {
521
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
522
+ if (Vue.config.safecheck.ApproveConfig.weixinurl != undefined) {
523
+ url = Vue.config.safecheck.ApproveConfig.weixinurl
524
+ }
525
+ }
526
+ }
527
+
528
+ let res = this.save()
529
+ if(res) {
530
+ let codata = this.getAllDefect()
531
+ //获取微信推送内容
532
+ let WxResult = this.getWeixin(codata)
533
+ let haslivedispose = this.$androidUtil.bzLogic('getLiveDispose', {
534
+ f_check_item_id: this.data.f_check_item_id
535
+ })
536
+ //如果是转维修上传,则不做校验,上传完成后自动转维修
537
+ //tag
538
+ //tag
539
+ if(!this.isToRepair){
540
+ if(haslivedispose.data.length > 0 && (this.livedispose == 'true' || this.livedispose == true)){
541
+ //tag
542
+ //tag
543
+ if(!this.isSafeCheckToRepair){
544
+ this.$showMessage('有未处理的隐患,请前往拍照上传中将安检转为维修单!')
545
+ return
546
+ }
547
+ }
548
+ }
549
+ //tag
550
+ for (let key in codata){
551
+ if(key.startsWith("device")){
552
+ codata[key] = []
553
+ }
554
+ }
555
+ //tag}`)
556
+ // HostApp.uploadPaper({f_check_item_id: this.data.f_check_item_id, f_checker_id: this.data.f_checker_id, data: this.data})
557
+ try {
558
+ let response = this.$androidUtil.bzLogic('上传安检信息', {
559
+ f_check_item_id: this.data.f_check_item_id,
560
+ f_checker_id: this.data.f_checker_id,
561
+ row: codata
562
+ })
563
+ if (response.code == 200) {
564
+ //tag
565
+ //tag)
566
+ let f_paper_id
567
+ if(response.data != '' && response.data != null){
568
+ f_paper_id = JSON.parse(response.data).id
569
+ }
570
+ this.$set('data.f_paper_id', f_paper_id)
571
+ //tag
572
+ //tag)
573
+ //tag
574
+ //tag)
575
+ for (let device in this.data){
576
+ //tag
577
+ //tag)
578
+ if(device.startsWith("device")){
579
+ for(let devices of this.data[device]) {
580
+ devices.f_paper_id = f_paper_id
581
+ let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
582
+ row: devices
583
+ })
584
+ //tag}`)
585
+ if(ret.code == 200){
586
+ //tag
587
+ devices.f_device_id = JSON.parse(ret.data.f_device_id).id
588
+ }
589
+ //tag
590
+ //tag)
591
+ if (ret.code != 200) {
592
+ //TODO 失败后处理
593
+ // this.isUpload = false
594
+ this.$showMessage("上传失败!")
595
+ return false
596
+ }
597
+ }
598
+ }
599
+ }
600
+ // for (let device of this.f_devices) {
601
+ // device.f_paper_id = f_paper_id
602
+ // //tag
603
+ // //tag)
604
+ // let ret = this.$androidUtil.bzLogic('UpCheckPaperDevices', {
605
+ // row: device
606
+ // })
607
+ // //tag
608
+ // if (ret.code != 200) {
609
+ // //TODO 失败后处理
610
+ // HostApp.alert("上传失败!")
611
+ // return false
612
+ // }
613
+ // }
614
+ let result = this.$androidUtil.bzLogic('FinishUpload',
615
+ {
616
+ f_check_item_id: this.data.f_check_item_id,
617
+ f_userinfo_id: codata.f_userinfoid,
618
+ f_last_check_result: codata.f_defect_content
619
+ })
620
+ if(result.code == 200){
621
+ // this.$showAlert('上传成功!', 'success', 2000)
622
+ this.$showMessage('上传成功!')
623
+ this.isStrat=false
624
+ if(url != "" ){
625
+ this.$resetpost(`${url}`,{data:WxResult})
626
+ }
627
+ return true
628
+ }else{
629
+ // this.isUpload = false
630
+ this.$showMessage("上传失败!")
631
+ return false
632
+ }
633
+ }else{
634
+ // this.isUpload = false
635
+ this.$showMessage("上传失败!")
636
+ return false
637
+ }
638
+ }catch (e) {
639
+ //tag)
640
+ // this.isUpload = false
641
+ this.$showMessage("上传失败!")
642
+ }
643
+ }
644
+ },
645
+
646
+ save() {
647
+ let codata = this.getAllDefect()
648
+ //tag
649
+ //tag}`)
650
+ for (let key in codata){
651
+ if(key.startsWith("device")){
652
+ codata[key] = []
653
+ }
654
+ }
655
+ //tag}`)
656
+ if(Vue.android) {
657
+ let value = this.$androidUtil.path({alias: 'getUserinfomation', data:{condition: "f_userinfoid = '"+ this.item.f_userinfoid+"' and f_no_checkplan = '无计划安检'"}})
658
+
659
+ if(this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回'){
660
+ let result = this.$androidUtil.bzLogic('SafeSaveNoPaper', {
661
+ f_check_item_id: this.data.f_check_item_id,
662
+ f_checker_id: this.data.f_checker_id,
663
+ f_upload_state:'未传',
664
+ row: codata
665
+ })
666
+ if (result.code == 200) {
667
+ //保存devices
668
+ let res = this.$androidUtil.bzLogic('getPaperInfo', {
669
+ f_check_item_id: this.data.f_noplan_item_id
670
+ })
671
+ //tag
672
+ if(res.code == 200){
673
+ let f_paper_id = res.data[0].id
674
+ for (let device of this.f_devices){
675
+ device.f_paper_id = f_paper_id
676
+ //tag
677
+ let ret = this.$androidUtil.bzLogic('saveDevice', {
678
+ row:device
679
+ })
680
+ if(ret.code != 200){
681
+ //TODO 失败后处理
682
+ // if(this.isUpload){
683
+ // this.isUpload = false
684
+ // }
685
+ this.$showMessage("保存失败!")
686
+ return false
687
+ }
688
+ }
689
+ }
690
+ // this.$showAlert('保存成功!', 'success', 2000)
691
+ this.$showMessage('保存成功!')
692
+ return true
693
+ } else {
694
+ // if(this.isUpload){
695
+ // this.isUpload = false
696
+ // }
697
+ this.$showMessage("保存失败!")
698
+ return false
699
+ }
700
+ }else {
701
+ //保存paper
702
+ let result = this.$androidUtil.bzLogic('保存安检单信息', {
703
+ f_check_item_id: this.data.f_check_item_id,
704
+ f_checker_id: this.data.f_checker_id,
705
+ row: codata
706
+ })
707
+ if (result.code == 200) {
708
+ //保存devices
709
+ let res = this.$androidUtil.bzLogic('getPaperInfo', {
710
+ f_check_item_id: this.data.f_check_item_id
711
+ })
712
+ //tag
713
+ if(res.code == 200){
714
+ let f_paper_id = res.data[0].id
715
+ for (let device of this.f_devices){
716
+ device.f_paper_id = f_paper_id
717
+ //tag
718
+ let ret = this.$androidUtil.bzLogic('saveDevice', {
719
+ row:device
720
+ })
721
+ if(ret.code != 200){
722
+ //TODO 失败后处理
723
+ // if(this.isUpload){
724
+ // this.isUpload = false
725
+ // }
726
+ this.$showMessage("保存失败!")
727
+ return false
728
+ }
729
+ }
730
+ }
731
+ // this.$showAlert('保存成功!', 'success', 2000)
732
+ this.$showMessage('保存成功!')
733
+ return true
734
+ } else {
735
+ // if(this.isUpload){
736
+ // this.isUpload = false
737
+ // }
738
+ this.$showMessage("保存失败!")
739
+ return false
740
+ }
741
+ }
742
+
743
+ }else{
744
+ //tag
745
+ let value = this.$androidUtil.path({alias: 'getUserinfomation', data:{condition: "f_userinfoid = '"+ this.item.f_userinfoid+"' and f_no_checkplan = '无计划安检'"}})
746
+
747
+ if(this.item.f_no_checkplan == '无计划安检' && value.data.length == 0 && this.item.f_no_checkplan != '打回'){
748
+ this.$androidUtil.bzLogic('SafeSaveNoPaper', {
749
+ f_check_item_id: this.data.f_check_item_id,
750
+ f_checker_id: this.data.f_checker_id,
751
+ f_upload_state: '未传',
752
+ row: codata
753
+ }).then((res)=> {
754
+ if (res.data.code == 200) {
755
+ //保存devices
756
+ this.$androidUtil.bzLogic('getPaperInfo', {
757
+ f_check_item_id: this.data.f_check_item_id
758
+ }).then((res)=>{
759
+ //tag
760
+ if(res.data.code == 200){
761
+
762
+ let f_paper_id = res.data.data[0].id
763
+ for (let device of this.f_devices){
764
+ device.f_paper_id = f_paper_id
765
+ //tag
766
+ this.$androidUtil.bzLogic('saveDevice', {
767
+ row:device
768
+ }).then((ret)=>{
769
+ //tag
770
+ if(ret.code != 200){
771
+ // if(this.isUpload){
772
+ // this.isUpload = false
773
+ // }
774
+ //TODO 失败后处理
775
+ this.$showMessage("保存失败!")
776
+ return false
777
+ }
778
+ })
779
+ }
780
+ }
781
+ })
782
+ // this.$showAlert('保存成功!', 'success', 2000)
783
+ this.$showMessage('保存成功!')
784
+ return true
785
+ } else {
786
+ // if(this.isUpload){
787
+ // this.isUpload = false
788
+ // }
789
+ this.$showMessage("保存失败!")
790
+ return false
791
+ }
792
+ })
793
+ }else{
794
+ this.$androidUtil.bzLogic('保存安检单信息', {
795
+ f_check_item_id: this.data.f_check_item_id,
796
+ f_checker_id: this.data.f_checker_id,
797
+ row: codata
798
+ }).then((res)=> {
799
+ //tag
800
+ if (res.data.code == 200) {
801
+ //保存devices
802
+ this.$androidUtil.bzLogic('getPaperInfo', {
803
+ f_check_item_id: this.data.f_check_item_id
804
+ }).then((res)=>{
805
+ //tag
806
+ if(res.data.code == 200){
807
+
808
+ let f_paper_id = res.data.data[0].id
809
+ for (let device of this.f_devices){
810
+ device.f_paper_id = f_paper_id
811
+ //tag
812
+ this.$androidUtil.bzLogic('saveDevice', {
813
+ row:device
814
+ }).then((ret)=>{
815
+ //tag
816
+ if(ret.code != 200){
817
+ // if(this.isUpload){
818
+ // this.isUpload = false
819
+ // }
820
+ //TODO 失败后处理
821
+ this.$showMessage("保存失败!")
822
+ return false
823
+ }
824
+ })
825
+ }
826
+ }
827
+ })
828
+ // this.$showAlert('保存成功!', 'success', 2000)
829
+ this.$showMessage('保存成功!')
830
+ return true
831
+ } else {
832
+ // if(this.isUpload){
833
+ // this.isUpload = false
834
+ // }
835
+ this.$showMessage("保存失败!")
836
+ return false
837
+ }
838
+ })
839
+ }}},
840
+
841
+ disableTimer() {
842
+ if(this.timer) {
843
+ window.clearTimeout(this.timer)
844
+ this.timer = null
845
+ }
846
+ },
847
+ loaded(paper) {
848
+ if(!paper.hasOwnProperty('id')) {
849
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
850
+ this.init()
851
+ } else {
852
+ Util.booleanFilter(paper)
853
+ HostApp.__this__.$set('data', paper)
854
+ HostApp.__this__.$goto('paper-state', {}, 'paper-router')
855
+ // 如果打回重检则重新计时
856
+ //tag
857
+ if(HostApp.__this__.role == 'inspect'
858
+ && HostApp.__this__.data.f_approved
859
+ && HostApp.__this__.data.f_approved == '打回') {
860
+ //tag
861
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
862
+ HostApp.__this__.tick()
863
+ }
864
+ }
865
+ HostApp.__callback__ = null
866
+ HostApp.__this__ = null
867
+ },
868
+ S4() {
869
+ return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
870
+ },
871
+ init1 () {
872
+ if(this.item.f_collection_type=='按金额'){
873
+ this.config= {
874
+ "燃气表":{
875
+ "checkmust":true,
876
+ "index":1,
877
+ "items":{
878
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
879
+ "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
880
+ "气表型号":{"index":2,"type":"string","readonly":true},
881
+ "气表品牌":{"index":3,"type":"string","readonly":true},
882
+ "进气方向":{"index":4,"type":"selector",
883
+ "multiple": false,
884
+ "checkmust":true,
885
+ "options": [
886
+ {
887
+ "data": "左表",
888
+ "isdefect": false,
889
+ "isdefault": false
890
+ },
891
+ {
892
+ "data": "右表",
893
+ "isdefect": false,
894
+ "isdefault": false
895
+ }
896
+ ]
897
+ },
898
+ "初始表底":{"index":5,"type":"number"},
899
+ "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
900
+ "本期表读数":{"index":7,"type":"number","checkmust":true},
901
+ "累购金额":{"index":8,"type":"number","readonly":true},
902
+ "已用金额":{"index":9,"type":"number","checkmust": false,"isshow":false},
903
+ //显示屏数 --实际剩余气量
904
+ "表初始数":{"index":10,"type":"number","checkmust": false},
905
+ "金额异常差值":{"index":11,"type":"number","readonly": true,"isshow":false}
906
+ }
907
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
908
+ }
909
+ }
910
+ }else{
911
+ this.config= {
912
+ "燃气表":{
913
+ "checkmust":true,
914
+ "index":1,
915
+ "items":{
916
+ //"燃气表照片":{"index":1,"type":"picture","remark":"(拍摄清晰的表具编号、字轮数、剩余气量等)"},
917
+ "基表编号":{"index":1,"type":"string","readonly":false,"checkmust":true},
918
+ "气表型号":{"index":2,"type":"string","readonly":true},
919
+ "气表品牌":{"index":3,"type":"string","readonly":true},
920
+ "进气方向":{"index":4,"type":"selector",
921
+ "multiple": false,
922
+ "checkmust":true,
923
+ "options": [
924
+ {
925
+ "data": "左表",
926
+ "isdefect": false,
927
+ "isdefault": false
928
+ },
929
+ {
930
+ "data": "右表",
931
+ "isdefect": false,
932
+ "isdefault": false
933
+ }
934
+ ]
935
+ },
936
+ "初始表底":{"index":5,"type":"number"},
937
+ "上期表读数":{"index":6,"type":"number","readonly":true,"isshow":true},
938
+ "本期表读数":{"index":7,"type":"number","checkmust":true},
939
+ "累购气量":{"index":8,"type":"number","readonly":true},
940
+ "已用气量":{"index":9,"type":"number","checkmust": false,"isshow":false},//基表数
941
+ "表初始数":{"index":10,"type":"number","checkmust": false},//累购-已用
942
+ //显示屏数 --实际剩余气量
943
+ "气量异常差值":{"index":11,"type":"number","readonly": true,"isshow":false},
944
+ }
945
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
946
+ }
947
+ }
948
+ }
949
+ },
950
+ init () {
951
+ this.data.f_noplan_item_id = this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()+""+this.S4()
952
+ this.data.ename = Vue.user.ename
953
+ this.data.f_outlets = Vue.user.f_parentname
954
+ this.data.f_meetunit = Vue.user.orgpathnames
955
+ this.data.orgpathstr = Vue.user.orgpathstr
956
+ this.data.f_check_item_id = this.item.id
957
+ this.data.f_check_plan_id = this.f_plan_id
958
+ this.data.f_checker_id = Vue.user.id
959
+ this.data.f_checker_name = Vue.user.name
960
+ this.data.f_check_type = this.item.f_user_type
961
+ this.data.f_subcompany = this.item.f_subcompany
962
+ this.data.f_approved = this.item.f_approved
963
+ this.data.f_repair_approved = this.item.f_repair_approved
964
+ this.data.f_no_checkplan = this.item.f_no_checkplan
965
+ this.data.f_approved = this.item.f_approved
966
+ this.data.f_filialeid = this.item.f_filialeid
967
+ this.data.f_orgstr = this.item.f_orgstr
968
+ this.data.version = this.item.version
969
+ this.$set('data.f_meters', this.item.f_plan_meters)
970
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
971
+ // 安检状态
972
+ this.$set('data.f_entry_status', '入户')
973
+ this.$set('data.f_usegas', '已使用')
974
+ this.$set('data.f_state',this.item.f_state)
975
+ // 用户信息
976
+ this.$set('data.f_user_name', this.item.f_user_name)
977
+ this.$set('data.f_user_phone', this.item.f_user_phone)
978
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
979
+ this.$set('data.f_address', this.item.f_address)
980
+ this.$set('data.f_card_id', this.item.f_card_id)
981
+ this.$set('data.f_area', this.item.f_area)
982
+ this.$set('data.f_street', this.item.f_street)
983
+ this.$set('data.f_room',this.item.f_room)
984
+ this.$set('data.f_building', this.item.f_building)
985
+ this.$set('data.f_unit',this.item.f_unit)
986
+ this.$set('data.f_floor', this.item.f_floor)
987
+ this.$set('data.f_residential_area' , this.item.f_residential_area)
988
+ this.$set('data.f_idnumber', this.item.f_idnumber)
989
+ this.$set('data.f_comments', this.item.f_comments)
990
+ this.$set('data.f_userproperties', this.item.f_userproperties)
991
+ // 处置方式
992
+ this.$set('data.f_no_gas_device', false)
993
+ this.$set('data.f_close_valve', false)
994
+ this.$set('data.f_unload_battery', false)
995
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
996
+ this.data.f_check_item_id = this.data.f_noplan_item_id
997
+ }
998
+
999
+ //房屋结构
1000
+ // this.$set('data.f_room_style', '多层')
1001
+ //供暖方式
1002
+ // this.$set('data.f_heating_style', '热力公司集中供暖')
1003
+ if(this.item.f_plan_meters) {
1004
+ for (let de in this.devices) {
1005
+ this.$set('data.device' + this.devices[de].n, [])
1006
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1007
+ if(this.item.f_plan_meters[i].f_meter_type) {
1008
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1009
+ delete this.config['燃气表']['items']['累计购气量']
1010
+ this.data['device' + this.devices[de].n].push({
1011
+ f_device_type: "燃气表",
1012
+ f_items: [{
1013
+ f_defect_level: null,
1014
+ f_device_id: "",
1015
+ f_is_defect: "",
1016
+ f_item_name: "表品牌",
1017
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1018
+ f_path: "",
1019
+ type: "string"
1020
+ },
1021
+ {
1022
+ f_defect_level: null,
1023
+ f_device_id: "",
1024
+ f_is_defect: "",
1025
+ f_item_name: "位置",
1026
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1027
+ f_path: "",
1028
+ type: "selector"
1029
+ },
1030
+ {
1031
+ f_defect_level: null,
1032
+ f_device_id: "",
1033
+ f_is_defect: "",
1034
+ f_item_name: "表号",
1035
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1036
+ f_path: "",
1037
+ type: "number"
1038
+ },
1039
+ {
1040
+ f_defect_level: null,
1041
+ f_device_id: "",
1042
+ f_is_defect: "",
1043
+ f_item_name: "表封号",
1044
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1045
+ f_path: "",
1046
+ type: "number"
1047
+ },
1048
+ {
1049
+ f_defect_level: null,
1050
+ f_device_id: "",
1051
+ f_is_defect: "",
1052
+ f_item_name: "表型号",
1053
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1054
+ f_path: "",
1055
+ type: "selector"
1056
+ },
1057
+ {
1058
+ f_defect_level: null,
1059
+ f_device_id: "",
1060
+ f_is_defect: "",
1061
+ f_item_name: "表底数",
1062
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1063
+ f_path: "",
1064
+ type: "number"
1065
+ }
1066
+ ]
1067
+ })
1068
+ } else if (this.devices[de].device == "燃气表") {
1069
+ delete this.config['燃气表']['items']['表底数']
1070
+ this.data['device' + this.devices[de].n].push({
1071
+ f_device_type: "燃气表",
1072
+ f_items: [{
1073
+ f_defect_level: null,
1074
+ f_device_id: "",
1075
+ f_is_defect: "",
1076
+ f_item_name: "表品牌",
1077
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1078
+ f_path: "",
1079
+ type: "string"
1080
+ },
1081
+ {
1082
+ f_defect_level: null,
1083
+ f_device_id: "",
1084
+ f_is_defect: "",
1085
+ f_item_name: "位置",
1086
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1087
+ f_path: "",
1088
+ type: "selector"
1089
+ },
1090
+ {
1091
+ f_defect_level: null,
1092
+ f_device_id: "",
1093
+ f_is_defect: "",
1094
+ f_item_name: "表号",
1095
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1096
+ f_path: "",
1097
+ type: "number"
1098
+ },
1099
+ {
1100
+ f_defect_level: null,
1101
+ f_device_id: "",
1102
+ f_is_defect: "",
1103
+ f_item_name: "表封号",
1104
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1105
+ f_path: "",
1106
+ type: "number"
1107
+ },
1108
+ {
1109
+ f_defect_level: null,
1110
+ f_device_id: "",
1111
+ f_is_defect: "",
1112
+ f_item_name: "表型号",
1113
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1114
+ f_path: "",
1115
+ type: "selector"
1116
+ },
1117
+ {
1118
+ f_defect_level: null,
1119
+ f_device_id: "",
1120
+ f_is_defect: "",
1121
+ f_item_name: "累计购气量",
1122
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1123
+ f_path: "",
1124
+ type: "number"
1125
+ }
1126
+ ]
1127
+ })
1128
+ }
1129
+ }
1130
+ }
1131
+ }
1132
+ }
1133
+
1134
+ this.$goto('paper-state', {}, 'paper-router')
1135
+ },
1136
+ extend(initalObj, finalObj) {
1137
+ var obj = finalObj || {};
1138
+ for (var i in initalObj) {
1139
+ var prop = initalObj[i];
1140
+
1141
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1142
+ if (prop === obj) {
1143
+ continue;
1144
+ }
1145
+
1146
+ if (typeof prop === 'object') {
1147
+ if (obj[i]) {
1148
+ this.extend(obj[i], prop)
1149
+ } else {
1150
+ obj[i] = prop;
1151
+ }
1152
+ }
1153
+ }
1154
+ return obj;
1155
+ },
1156
+ /*
1157
+ var a = {
1158
+ "燃气表":{
1159
+ "index": 1,
1160
+ "checkmust":true,
1161
+ "items":{
1162
+ "表具故障":{"index": 13,"multiple":true,"type":"selector","options":[{"data":"死表","isdefect":true,"level":"安检维修"},{"data":"常通","isdefect":true,"level":"安检维修"},{"data":"表体漏气","isdefect":true,"level":"一级隐患安检维修"},{"data":"接口漏气","isdefect":true,"level":"一级隐患安检维修"},{"data":"偷气","isdefect":true,"level":"一级隐患"},{"data":"反装","isdefect":true},{"data":"气量不符","isdefect":true,"level":"安检维修"},{"data":"其他","isdefect":true,"level":"一级隐患"}]},
1163
+ "其他":{"index": 14,"isshow":false,"type":"string"},
1164
+ "表具隐患类型":{"index": 15,"multiple":true,"type":"selector","options":[{"data":"挂物","isdefect":true},{"data":"包裹","isdefect":true},{"data":"不便维修","isdefect":true},{"data":"封闭包裹","isdefect":true,"level":"一级隐患"},{"data":"与电源或火源过近","isdefect":true,"level":"三级隐患"}]}
1165
+ }
1166
+ },
1167
+ "报警器":{
1168
+ "index": 2,
1169
+ "checkmust":true,
1170
+ "items":{
1171
+ "有否":{"index": 1,"multiple":false,"type":"selector","options":[{"data":"有","isdefect":false,"isdefault":true},{"data":"无","isdefect":false}]},
1172
+ "厂家":{"index": 2,"multiple":false,"isshow":false,"type":"selector","options":[{"data":"汉威","isdefect":false},{"data":"鑫豪斯","isdefect":false},{"data":"友谊","isdefect":false},{"data":"其他","isdefect":false},{"data":"富昌","isdefect":false},{"data":"科信","isdefect":false}]},
1173
+ "安装时间":{"index": 3,"isshow": false,"type":"date"},
1174
+ "到期时间":{"index": 4,"isshow": false,"type":"date"},
1175
+ "是否通电":{"index": 5,"multiple":false,"isshow": false,"type":"selector","options":[{"data":"是","isdefect":false,"isdefault":true},{"data":"否","isdefect":true}]},
1176
+ "安装渠道":{"index": 6,"isshow": false,"multiple":false,"type":"selector","options":[{"data":"惠众","isdefect":false},{"data":"其他","isdefect":false}]},
1177
+ "电磁阀接口漏气":{"index": 7,"multiple":false,"isshow": false,"type":"selector","options":[{"data":"否","isdefect":false,"isdefault":true},{"data":"是","isdefect":true,"level":"一级隐患安检维修"}]}
1178
+ }
1179
+ }}
1180
+ */
1181
+ putDevices() {
1182
+ ////tag
1183
+ this.$set('data.approve', "true")
1184
+ this.$set('data.writeback', "false")
1185
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1186
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1187
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1188
+ }
1189
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1190
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1191
+ }
1192
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1193
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1194
+ }
1195
+ }
1196
+ //tag
1197
+
1198
+ // 民用户
1199
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
1200
+ // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1201
+
1202
+ /*if(this.item.f_user_type == '民用'){
1203
+ // 民用户
1204
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['送气类型']['民用']])
1205
+ // this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1206
+ }else {
1207
+ // 非民用
1208
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['送气类型']['非民用']])
1209
+ }*/
1210
+ //遍历安检项配置
1211
+ for (let i in this.config) {
1212
+ //取得安检项索引值
1213
+ let n = this.config[i].index
1214
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1215
+ this.$set('data.' + 'device' + n, [])
1216
+ let items = []
1217
+ for (let it in this.config[i].items) {
1218
+ //赋值下拉选项
1219
+ if (this.config[i].items[it].type == 'selector') {
1220
+ for (let op in this.config[i].items[it].options)
1221
+ if (this.config[i].items[it].options[op].isdefault == true) {
1222
+ items.push({
1223
+ f_defect_level: this.config[i].items[it].options[op].level,
1224
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
1225
+ f_item_name: it,
1226
+ f_item_value: this.config[i].items[it].options[op].data,
1227
+ f_path: "",
1228
+ type: "selector"
1229
+ })
1230
+ }
1231
+ }
1232
+ }
1233
+ n = n + 1
1234
+ }
1235
+
1236
+ },
1237
+ //获取当前时间
1238
+ getNowFormatDate(){
1239
+ var date = new Date();
1240
+ var seperator1 = "-";
1241
+ var seperator2 = ":";
1242
+ var month = date.getMonth() + 1;
1243
+ var strDate = date.getDate();
1244
+ if (month >= 1 && month <= 9) {
1245
+ month = "0" + month;
1246
+ }
1247
+ if (strDate >= 0 && strDate <= 9) {
1248
+ strDate = "0" + strDate;
1249
+ }
1250
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1251
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1252
+ + seperator2 + date.getSeconds();
1253
+ return currentdate;
1254
+ }
1255
+ },
1256
+ ready() {
1257
+ this.init1()
1258
+ this.putDevices()
1259
+ //如果已检,则提取安检单
1260
+
1261
+ if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检') {
1262
+ if (this.role != 'inspect') {
1263
+ let that = this
1264
+ let id
1265
+ if (this.role == 'view') {
1266
+ id = this.item.id
1267
+ } else if (this.role == 'androidview') {
1268
+ id = this.item.f_paper_id
1269
+ }
1270
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1271
+ //tag
1272
+ if (respanse.data.length != 0) {
1273
+ // 包含 其它 特殊处理的数组
1274
+ // 对应位置
1275
+
1276
+ //tag
1277
+
1278
+ that.data = Object.assign(that.data, respanse.data[0])
1279
+ if (respanse.data[0].f_devices) {
1280
+ for (let da in that.devices) {
1281
+ that.$set('data.device' + that.devices[da].n, [])
1282
+ }
1283
+ respanse.data[0].f_devices.forEach((item) => {
1284
+ for (let de in that.devices) {
1285
+ if (that.devices[de].device == item.f_device_type) {
1286
+ item.f_items.forEach((f_item) => {
1287
+ //tag
1288
+ //tag
1289
+ let itemValues = []
1290
+ f_item.f_item_lists.forEach((tempItem) => {
1291
+ //tag
1292
+ if (tempItem.f_item_value !== 'null') {
1293
+ itemValues.push(tempItem.f_item_value)
1294
+ }
1295
+ })
1296
+ f_item.f_item_value = itemValues
1297
+ })
1298
+ that.data['device' + that.devices[de].n].push({
1299
+ f_device_type: item.f_device_type,
1300
+ f_items: item.f_items
1301
+ })
1302
+ }
1303
+ }
1304
+ })
1305
+ }
1306
+ Util.replaceFalse(that.data)
1307
+ Util.booleanFilter(that.data)
1308
+ if (this.role == 'view') {
1309
+ Util.ratifyPics(that.data)
1310
+ Util.ratifyPics(that.picture)
1311
+ } else {
1312
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1313
+ }
1314
+ //tag
1315
+ } else {
1316
+ alert("该安检单可能已不在本地!")
1317
+ this.init()
1318
+ }
1319
+ // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1320
+ this.isshow = true
1321
+ }
1322
+ ).catch(
1323
+ (respanse) => {
1324
+ //tag
1325
+ alert('查找安检单失败')
1326
+ })
1327
+ }
1328
+ // else {
1329
+ // let that = this
1330
+ // this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id}).then((respanse) => {
1331
+ // if (respanse.data.data.length != 0) {
1332
+ // that.data = Object.assign(that.data, respanse.data.data[0])
1333
+ // if (respanse.data.data[0].f_devices) {
1334
+ // for (let da in that.devices) {
1335
+ // that.$set('data.device' + that.devices[da].n, [])
1336
+ // }
1337
+ // respanse.data.data[0].f_devices.forEach((item) => {
1338
+ // for (let de in that.devices) {
1339
+ // if (that.devices[de].device == item.f_device_type) {
1340
+ // that.$set('data.device' + that.devices[de].n, [])
1341
+ // that.data['device' + that.devices[de].n].push({
1342
+ // f_device_type: item.f_device_type,
1343
+ // f_items: item.f_items
1344
+ // })
1345
+ // }
1346
+ // }
1347
+ // })
1348
+ // }
1349
+ // Util.booleanFilter(that.data)
1350
+ // //tag
1351
+ // } else {
1352
+ // alert("该安检单可能已不在本地!")
1353
+ // this.init()
1354
+ // }
1355
+ // // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1356
+ // this.isshow = true
1357
+ // }
1358
+ // ).catch(
1359
+ // (respanse) => {
1360
+ // alert('查找安检单失败')
1361
+ // })
1362
+ // }
1363
+ } else {
1364
+ this.init()
1365
+ }
1366
+ },
1367
+ watch:{
1368
+ // 'isUpload'(val){
1369
+ // //tag
1370
+ // }
1371
+ },
1372
+ destroyed() {
1373
+ //tag
1374
+ this.disableTimer()
1375
+ }
1376
+ }
1377
+
1378
+ </script>