safecheck-client 3.0.35-24 → 3.0.35-25
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,407 +1,407 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="auto app-text">
|
3
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
4
|
-
<div class="panel-body panel-self">
|
5
|
-
<div class="col-xs-12">
|
6
|
-
<p class="panel-title col-xs-4 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
|
7
|
-
<a class="panel-title col-xs-8 text-left input-font" style="width: 79%;color: blue;text-decoration:underline" @click="searchHistory(userinfo.f_userinfoid)">{{ userinfo.f_userinfo_code }}</a>
|
8
|
-
</div>
|
9
|
-
<div class="col-xs-12">
|
10
|
-
<p class="panel-title col-xs-4 text-left font"><b>用户名称:</b></p>
|
11
|
-
<p class="panel-title col-xs-8 text-left input-font">{{ userinfo.f_user_name }}</p>
|
12
|
-
</div>
|
13
|
-
<div class="col-xs-12">
|
14
|
-
<p class="panel-title col-xs-4 text-left font"><b>用户类型:</b></p>
|
15
|
-
<p class="panel-title col-xs-8 text-left input-font">{{ userinfo.f_check_type }}
|
16
|
-
</p>
|
17
|
-
</div>
|
18
|
-
<div class="col-xs-12" style="padding: 2px 0">
|
19
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
|
20
|
-
<input class="panel-title text-left input-font" style="width: 67%" value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}" v-model="userinfo.f_user_phone"/>
|
21
|
-
</div>
|
22
|
-
<div class="col-xs-12" style="padding: 2px 0">
|
23
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户姓名:</b></p>
|
24
|
-
<input class="panel-title text-left input-font" style="width: 67%" value="{{userinfo.f_used_name}}" v-model="userinfo.f_used_name"/>
|
25
|
-
</div>
|
26
|
-
<div class="col-xs-12" style="padding: 2px 0">
|
27
|
-
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
|
28
|
-
<input class="panel-title text-left input-font" style="width: 67%" value="{{userinfo.f_rent_phone}}" v-model="userinfo.f_rent_phone"/>
|
29
|
-
</div>
|
30
|
-
<div class="col-xs-12">
|
31
|
-
<p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
|
32
|
-
<p class="panel-title text-left input-font" style="width: 79%">{{ userinfo.f_address }}</p>
|
33
|
-
</div>
|
34
|
-
<div class="col-xs-12" style="margin-left: 20px">
|
35
|
-
<p class="panel-title col-xs-7 text-left input-font"><a @click="upuserinfo(userinfo.f_userinfoid)">设备信息维护</a></p>
|
36
|
-
</div>
|
37
|
-
<!--<div class="col-xs-12">
|
38
|
-
<p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
|
39
|
-
<p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
|
40
|
-
</div>-->
|
41
|
-
</div>
|
42
|
-
<div class="panel-body">
|
43
|
-
<div v-show="false" class="row repair-info-content auto">
|
44
|
-
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
|
45
|
-
<label class="control-label">
|
46
|
-
<nobr>到达时间:</nobr>
|
47
|
-
</label>
|
48
|
-
<span>{{f_onsite_time}}</span>
|
49
|
-
</div>
|
50
|
-
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
|
51
|
-
<label class="control-label">
|
52
|
-
<nobr>离开时间:</nobr>
|
53
|
-
</label>
|
54
|
-
<span>{{f_offsite_time}}</span>
|
55
|
-
</div>
|
56
|
-
</div>
|
57
|
-
|
58
|
-
|
59
|
-
<!--<div class="form-group" :class="style__">
|
60
|
-
<span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../assets/housestyle.png" style="width: 20px;margin-bottom: 5px;text-align: left" alt="">入户状态:</span>
|
61
|
-
<div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
|
62
|
-
<input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
|
63
|
-
<input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
|
64
|
-
<input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
|
65
|
-
</div>
|
66
|
-
<div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
|
67
|
-
<div class="auto">
|
68
|
-
<label class="font" style="margin-right: 18px">是否激光检漏:</label>
|
69
|
-
<input type="radio" name="laser_check" v-model="f_laser_check" id="nopeople1" value="是">是
|
70
|
-
<input type="radio" name="laser_check" v-model="f_laser_check" id="rejectchecck1" value="否">否
|
71
|
-
</div>
|
72
|
-
</div>
|
73
|
-
<div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
|
74
|
-
<label class="text-left font">拒检照片:</label>
|
75
|
-
<div class="auto">
|
76
|
-
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
77
|
-
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
|
78
|
-
<div class="row" style="height: 240px;overflow: scroll;top: 1px">
|
79
|
-
<div class="col-sm-4">
|
80
|
-
<img-self :src="f_rejectcheck_path" alt="拒检照片" width="150" height="200"></img-self>
|
81
|
-
</div>
|
82
|
-
</div>
|
83
|
-
<div class="row text-right div-photo">
|
84
|
-
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_rejectcheck_path', '拒检照片')">拍照</button>
|
85
|
-
<img src="../../assets/remove.png" :class="style__" @click="delfile('f_rejectcheck_path', this.f_rejectcheck_path)" style="width: 25%;"></img>
|
86
|
-
</div>
|
87
|
-
</div>
|
88
|
-
</div>
|
89
|
-
</div>
|
90
|
-
</div>
|
91
|
-
</div>
|
92
|
-
<div :class="style__" class="form-group" v-show="f_usegas == '未使用'">
|
93
|
-
<sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>
|
94
|
-
<div class="col-xs-12 col-sm-12 col-md-12">
|
95
|
-
<input type="checkbox" v-model="f_no_gas_device">无燃气具
|
96
|
-
<input type="checkbox" v-model="f_close_valve">关闭表前阀
|
97
|
-
<input type="checkbox" v-model="f_unload_battery">取下表内电池
|
98
|
-
</div>
|
99
|
-
</div>
|
100
|
-
<div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
|
101
|
-
<div class="panel" style="padding: 60px 7px 10px 0px;">
|
102
|
-
<div class="panel-body panel-self">
|
103
|
-
<div v-show="false" class="row">
|
104
|
-
<p class="panel-title col-xs-4 text-left font">建档时间</p>
|
105
|
-
<p class="panel-title col-xs-8 text-left input-font">{{ newfile_date }}</p>
|
106
|
-
</div>
|
107
|
-
<div class="row" v-if="last_check_date != null && last_check_date != ''">
|
108
|
-
<p class="panel-title col-xs-4 text-left font">上次安检时间</p>
|
109
|
-
<p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
|
110
|
-
</div>
|
111
|
-
<div class="row">
|
112
|
-
<p class="panel-title col-xs-4 text-left font">上次安检状态</p>
|
113
|
-
<p class="panel-title col-xs-8 text-left input-font" v-if="last_check_date != null && last_check_date != ''">安检完成</p>
|
114
|
-
<p class="panel-title col-xs-8 text-left input-font" v-if="last_check_date == null || last_check_date == ''">未安检</p>
|
115
|
-
</div>
|
116
|
-
<div class="row" v-if="last_check_date != null && last_check_date != ''">
|
117
|
-
<p class="panel-title col-xs-4 text-left font">上次安检结果</p>
|
118
|
-
<p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">{{last_check_result}}</p>
|
119
|
-
<div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
|
120
|
-
<p v-for="(key,item) in data">
|
121
|
-
{{key}}:{{item}}
|
122
|
-
</p>
|
123
|
-
</div>
|
124
|
-
</div>
|
125
|
-
</div>
|
126
|
-
</div>
|
127
|
-
</div>-->
|
128
|
-
</div>
|
129
|
-
</div>
|
130
|
-
</div>
|
131
|
-
</template>
|
132
|
-
|
133
|
-
<script>
|
134
|
-
import * as Util from "../Util";
|
135
|
-
import Vue from "vue";
|
136
|
-
import RadioGroup from "vue-client/src/vue-strap/src/radioGroup";
|
137
|
-
import Radio from "vue-client/src/vue-strap/src/radioBtn";
|
138
|
-
|
139
|
-
export default {
|
140
|
-
title: "SafecheckUserInfo",
|
141
|
-
props: ['userinfo'],
|
142
|
-
data() {
|
143
|
-
return this.$parent.$parent.data
|
144
|
-
},
|
145
|
-
ready() {
|
146
|
-
for (let i in this.userinfo) {
|
147
|
-
//tag + ':' + JSON.stringify(this.userinfo[i]))
|
148
|
-
}
|
149
|
-
this.safecheckStateReady()
|
150
|
-
},
|
151
|
-
methods: {
|
152
|
-
searchHistory(f_userinfo_id) {
|
153
|
-
this.$dispatch('gotoson', {
|
154
|
-
_this: this.$parent.$parent,
|
155
|
-
title: '购气记录',
|
156
|
-
safe: true
|
157
|
-
})
|
158
|
-
this.$parent.$parent.$goto('phone-sell-info', {f_userinfo_id: f_userinfo_id})
|
159
|
-
},
|
160
|
-
// searchDevices(f_userinfo_id) {
|
161
|
-
// this.$dispatch('gotoson', {
|
162
|
-
// _this: this.$parent.$parent,
|
163
|
-
// title: '设备查看',
|
164
|
-
// safe: false
|
165
|
-
// })
|
166
|
-
// this.$parent.$parent.$goto('PhoneDevicesInfo', {f_userinfo_id: f_userinfo_id,f_user_type:this.userinfo.f_check_type})
|
167
|
-
// },
|
168
|
-
upuserinfo (f_userinfo_id) {
|
169
|
-
this.$dispatch('gotoson', {
|
170
|
-
_this: this.$parent.$parent,
|
171
|
-
title: '档案信息变更',
|
172
|
-
safe: false
|
173
|
-
})
|
174
|
-
this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
|
175
|
-
},
|
176
|
-
cameraCallBack(prop, fileName) {
|
177
|
-
HostApp.__this__.$set(prop, fileName + '?' + Math.random())
|
178
|
-
//tag
|
179
|
-
HostApp.__callback__ = null
|
180
|
-
HostApp.__this__ = null
|
181
|
-
},
|
182
|
-
takePic(prop, title) {
|
183
|
-
HostApp.__callback__ = this.cameraCallBack
|
184
|
-
HostApp.__this__ = this
|
185
|
-
//tag
|
186
|
-
let fileName
|
187
|
-
if (!this[prop] || this[prop].includes("nopic.png")) {
|
188
|
-
fileName = Util.guid() + '-' + prop + '.jpg'
|
189
|
-
} else {
|
190
|
-
fileName = Util.getFileName(this[prop])
|
191
|
-
}
|
192
|
-
HostApp._open_a_page({
|
193
|
-
type: 'boomerang',
|
194
|
-
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
195
|
-
param: {
|
196
|
-
file: fileName,
|
197
|
-
requestCode: 111,
|
198
|
-
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
199
|
-
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
200
|
-
}
|
201
|
-
})
|
202
|
-
},
|
203
|
-
delfile(prop, fileName) {
|
204
|
-
if (fileName == Vue.nopic)
|
205
|
-
return
|
206
|
-
else {
|
207
|
-
HostApp.delfile(fileName)
|
208
|
-
this[prop] = Vue.nopic
|
209
|
-
}
|
210
|
-
},
|
211
|
-
setEntryClass(val) {
|
212
|
-
if (val == '到访不遇') {
|
213
|
-
this.f_usegas = ''
|
214
|
-
this.$set('f_entry_class', 'warning')
|
215
|
-
} else if (val == '拒检') {
|
216
|
-
this.f_usegas = ''
|
217
|
-
this.$set('f_entry_class', 'danger')
|
218
|
-
} else if (val == '入户') {
|
219
|
-
this.$set('f_entry_class', 'success')
|
220
|
-
}
|
221
|
-
},
|
222
|
-
setUsegas(val) {
|
223
|
-
if (val == '未使用')
|
224
|
-
this.$set('f_useclass', 'default')
|
225
|
-
if (val == '已使用')
|
226
|
-
this.$set('f_useclass', 'success')
|
227
|
-
},
|
228
|
-
start() {
|
229
|
-
this.$parent.$parent.isStrat = true
|
230
|
-
this.$set('action', !this.action)
|
231
|
-
this.$set('f_onsite_time', Util.toStandardTimeString())
|
232
|
-
},
|
233
|
-
safecheckStateReady() {
|
234
|
-
//tag
|
235
|
-
//tag
|
236
|
-
//tag
|
237
|
-
if (!this.$parent.$parent.showBack) {
|
238
|
-
this.$parent.$parent.showBack = true
|
239
|
-
}
|
240
|
-
this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
|
241
|
-
this.$set('newfile_date', this.$parent.$parent.item.f_newfile_date)
|
242
|
-
if (this.$parent.$parent.item.f_last_check_result) {
|
243
|
-
let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
|
244
|
-
this.$set('last_check_result', checkResult.result)
|
245
|
-
this.$set('last_check_data.data', checkResult.data)
|
246
|
-
} else {
|
247
|
-
this.$set('last_check_result', '')
|
248
|
-
this.$set('last_check_data.data', [])
|
249
|
-
}
|
250
|
-
if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
|
251
|
-
this.start()
|
252
|
-
}
|
253
|
-
if (this.$parent.$parent.data.f_onsite_time) {
|
254
|
-
//tag
|
255
|
-
this.$parent.$parent.startClick = true
|
256
|
-
}
|
257
|
-
this.action = true
|
258
|
-
//tag
|
259
|
-
if (this.f_onsite_time) {
|
260
|
-
this.$parent.$parent.isStrat = true
|
261
|
-
this.$parent.$parent.data.f_onsite_time = this.f_onsite_time
|
262
|
-
}
|
263
|
-
if (this.$parent.$parent.role == 'repair') {
|
264
|
-
this.$set('style__', 'divmask')
|
265
|
-
this.$set('style_view_', '')
|
266
|
-
} else if (this.$parent.$parent.role == 'view') {
|
267
|
-
this.$set('style__', 'divmask')
|
268
|
-
this.$set('style_view_', 'divmask')
|
269
|
-
//tag
|
270
|
-
} else {
|
271
|
-
this.$set('style__', '')
|
272
|
-
this.$set('style_view_', '')
|
273
|
-
}
|
274
|
-
if (!this.f_nongasuser_path)
|
275
|
-
this.$set('f_nongasuser_path', '')
|
276
|
-
if (!this.f_noanswer_path)
|
277
|
-
this.$set('f_noanswer_path', '')
|
278
|
-
if (!this.f_rejectcheck_path)
|
279
|
-
this.$set('f_rejectcheck_path', '')
|
280
|
-
|
281
|
-
|
282
|
-
this.$watch('f_usegas', (val) => {
|
283
|
-
this.setUsegas(val)
|
284
|
-
})
|
285
|
-
|
286
|
-
this.setEntryClass(this.f_entry_status)
|
287
|
-
this.$watch('f_entry_status', (val) => {
|
288
|
-
this.setEntryClass(val)
|
289
|
-
|
290
|
-
if (val == '到访不遇') {
|
291
|
-
this.f_rejectcheck_path = Vue.nopic
|
292
|
-
this.f_laser_check='是'
|
293
|
-
}else{
|
294
|
-
this.f_laser_check=null
|
295
|
-
}
|
296
|
-
if (val == '拒检') {
|
297
|
-
this.f_noanswer_path = Vue.nopic
|
298
|
-
}
|
299
|
-
//tag
|
300
|
-
if (val != '入户') {
|
301
|
-
//清理安检概括
|
302
|
-
this.f_no_gas_device = false
|
303
|
-
this.f_unload_battery = false
|
304
|
-
this.f_close_valve = false
|
305
|
-
//清理全局隐患
|
306
|
-
this.f_defect_cramped = false
|
307
|
-
this.f_defect_bedroom = false
|
308
|
-
this.f_defect_longpipe = false
|
309
|
-
this.f_defect_firesource = false
|
310
|
-
this.f_defect_explosive = false
|
311
|
-
this.f_defect_viacabinet = false
|
312
|
-
this.f_defect_intermittent = false
|
313
|
-
this.f_defect_nearfire = false
|
314
|
-
this.f_defect_openkitchen = false
|
315
|
-
this.f_defect_hang = false
|
316
|
-
this.f_cramped_path = Vue.nopic
|
317
|
-
//用户评价
|
318
|
-
this.f_client_evaluation = null
|
319
|
-
//清设备
|
320
|
-
this.$set('f_meters', [])
|
321
|
-
this.$set('f_plumbs', [])
|
322
|
-
this.$set('f_valves', [])
|
323
|
-
this.$set('f_inner_plumbs', [])
|
324
|
-
this.$set('f_alarms', [])
|
325
|
-
this.$set('f_cookers', [])
|
326
|
-
this.$set('f_heaters', [])
|
327
|
-
this.$set('f_furnaces', [])
|
328
|
-
}
|
329
|
-
})
|
330
|
-
}
|
331
|
-
},
|
332
|
-
components: {
|
333
|
-
RadioGroup,
|
334
|
-
Radio
|
335
|
-
},
|
336
|
-
}
|
337
|
-
</script>
|
338
|
-
|
339
|
-
<style scoped>
|
340
|
-
|
341
|
-
.font {
|
342
|
-
font: 15px PingFang-SC-Medium;
|
343
|
-
color: #666666;
|
344
|
-
}
|
345
|
-
|
346
|
-
.input-font {
|
347
|
-
font: 15px PingFang-SC-Medium;
|
348
|
-
color: #333333;
|
349
|
-
}
|
350
|
-
|
351
|
-
.app-text {
|
352
|
-
font-size: 12px;
|
353
|
-
}
|
354
|
-
|
355
|
-
.panel-self {
|
356
|
-
border-radius: 10px;
|
357
|
-
border: 1px solid #499EDF;
|
358
|
-
background-color: #F8F8F8;
|
359
|
-
}
|
360
|
-
|
361
|
-
.app-text {
|
362
|
-
font-size: 12px;
|
363
|
-
}
|
364
|
-
|
365
|
-
.panel-self {
|
366
|
-
border-radius: 5px;
|
367
|
-
border: 1px solid #c5e1f7;
|
368
|
-
background-color: #F2F6FA;
|
369
|
-
}
|
370
|
-
|
371
|
-
.font {
|
372
|
-
font: 15px PingFang-SC-Medium;
|
373
|
-
color: #333333;
|
374
|
-
}
|
375
|
-
|
376
|
-
.panel-self {
|
377
|
-
border-radius: 5px;
|
378
|
-
border: 1px solid #c5e1f7;
|
379
|
-
background-color: #F2F6FA;
|
380
|
-
}
|
381
|
-
|
382
|
-
.text-left {
|
383
|
-
text-align: left;
|
384
|
-
}
|
385
|
-
|
386
|
-
.font {
|
387
|
-
font: 15px PingFang-SC-Medium;
|
388
|
-
color: #333333;
|
389
|
-
}
|
390
|
-
|
391
|
-
.btn-photo {
|
392
|
-
border: 0;
|
393
|
-
border-radius: 7px;
|
394
|
-
background-color: #7dc1f4;
|
395
|
-
font: 15px PingFang-SC-Bold;
|
396
|
-
height: 20%;
|
397
|
-
}
|
398
|
-
|
399
|
-
.div-photo {
|
400
|
-
width: auto;
|
401
|
-
height: auto;
|
402
|
-
/* margin-top: 10px; */
|
403
|
-
position: absolute;
|
404
|
-
bottom: 10px;
|
405
|
-
right: 10px;
|
406
|
-
}
|
407
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div class="auto app-text">
|
3
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
4
|
+
<div class="panel-body panel-self">
|
5
|
+
<div class="col-xs-12">
|
6
|
+
<p class="panel-title col-xs-4 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
|
7
|
+
<a class="panel-title col-xs-8 text-left input-font" style="width: 79%;color: blue;text-decoration:underline" @click="searchHistory(userinfo.f_userinfoid)">{{ userinfo.f_userinfo_code }}</a>
|
8
|
+
</div>
|
9
|
+
<div class="col-xs-12">
|
10
|
+
<p class="panel-title col-xs-4 text-left font"><b>用户名称:</b></p>
|
11
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ userinfo.f_user_name }}</p>
|
12
|
+
</div>
|
13
|
+
<div class="col-xs-12">
|
14
|
+
<p class="panel-title col-xs-4 text-left font"><b>用户类型:</b></p>
|
15
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ userinfo.f_check_type }}
|
16
|
+
</p>
|
17
|
+
</div>
|
18
|
+
<div class="col-xs-12" style="padding: 2px 0">
|
19
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
|
20
|
+
<input class="panel-title text-left input-font" style="width: 67%" value="{{ userinfo.f_user_phone2 ? userinfo.f_user_phone2 : userinfo.f_user_phone }}" v-model="userinfo.f_user_phone"/>
|
21
|
+
</div>
|
22
|
+
<div class="col-xs-12" style="padding: 2px 0">
|
23
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户姓名:</b></p>
|
24
|
+
<input class="panel-title text-left input-font" style="width: 67%" value="{{userinfo.f_used_name}}" v-model="userinfo.f_used_name"/>
|
25
|
+
</div>
|
26
|
+
<div class="col-xs-12" style="padding: 2px 0">
|
27
|
+
<p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
|
28
|
+
<input class="panel-title text-left input-font" style="width: 67%" value="{{userinfo.f_rent_phone}}" v-model="userinfo.f_rent_phone"/>
|
29
|
+
</div>
|
30
|
+
<div class="col-xs-12">
|
31
|
+
<p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
|
32
|
+
<p class="panel-title text-left input-font" style="width: 79%">{{ userinfo.f_address }}</p>
|
33
|
+
</div>
|
34
|
+
<div class="col-xs-12" style="margin-left: 20px">
|
35
|
+
<p class="panel-title col-xs-7 text-left input-font"><a @click="upuserinfo(userinfo.f_userinfoid)">设备信息维护</a></p>
|
36
|
+
</div>
|
37
|
+
<!--<div class="col-xs-12">
|
38
|
+
<p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
|
39
|
+
<p class="panel-title col-xs-7 text-left input-font">{{ userinfo.f_state }}</p>
|
40
|
+
</div>-->
|
41
|
+
</div>
|
42
|
+
<div class="panel-body">
|
43
|
+
<div v-show="false" class="row repair-info-content auto">
|
44
|
+
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group">
|
45
|
+
<label class="control-label">
|
46
|
+
<nobr>到达时间:</nobr>
|
47
|
+
</label>
|
48
|
+
<span>{{f_onsite_time}}</span>
|
49
|
+
</div>
|
50
|
+
<div class="col-xs-12 col-sm-12 col-md-12 form-input-group" v-if="data.f_date_leave">
|
51
|
+
<label class="control-label">
|
52
|
+
<nobr>离开时间:</nobr>
|
53
|
+
</label>
|
54
|
+
<span>{{f_offsite_time}}</span>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
|
59
|
+
<!--<div class="form-group" :class="style__">
|
60
|
+
<span class="col-md-3 col-sm-4 col-xs-4 text-left"><img src="../../assets/housestyle.png" style="width: 20px;margin-bottom: 5px;text-align: left" alt="">入户状态:</span>
|
61
|
+
<div :class="style__" class="col-md-9 col-sm-8 col-xs-8 text-center">
|
62
|
+
<input type="radio" name="enterstatus" v-model="f_entry_status" id="nopeople" value="到访不遇">到访不遇
|
63
|
+
<input type="radio" name="enterstatus" v-model="f_entry_status" id="rejectchecck" value="拒检">拒检
|
64
|
+
<input type="radio" name="enterstatus" v-model="f_entry_status" id="enterhouse" value="入户">入户
|
65
|
+
</div>
|
66
|
+
<div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='到访不遇'">
|
67
|
+
<div class="auto">
|
68
|
+
<label class="font" style="margin-right: 18px">是否激光检漏:</label>
|
69
|
+
<input type="radio" name="laser_check" v-model="f_laser_check" id="nopeople1" value="是">是
|
70
|
+
<input type="radio" name="laser_check" v-model="f_laser_check" id="rejectchecck1" value="否">否
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
<div class="form-group col-sm-12 col-xs-12" :class="style__" v-show="f_entry_status=='拒检'">
|
74
|
+
<label class="text-left font">拒检照片:</label>
|
75
|
+
<div class="auto">
|
76
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
77
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
|
78
|
+
<div class="row" style="height: 240px;overflow: scroll;top: 1px">
|
79
|
+
<div class="col-sm-4">
|
80
|
+
<img-self :src="f_rejectcheck_path" alt="拒检照片" width="150" height="200"></img-self>
|
81
|
+
</div>
|
82
|
+
</div>
|
83
|
+
<div class="row text-right div-photo">
|
84
|
+
<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_rejectcheck_path', '拒检照片')">拍照</button>
|
85
|
+
<img src="../../assets/remove.png" :class="style__" @click="delfile('f_rejectcheck_path', this.f_rejectcheck_path)" style="width: 25%;"></img>
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
<div :class="style__" class="form-group" v-show="f_usegas == '未使用'">
|
93
|
+
<sapn class="text-left col-md-12 col-sm-12 col-xs-12">处置方式:</sapn>
|
94
|
+
<div class="col-xs-12 col-sm-12 col-md-12">
|
95
|
+
<input type="checkbox" v-model="f_no_gas_device">无燃气具
|
96
|
+
<input type="checkbox" v-model="f_close_valve">关闭表前阀
|
97
|
+
<input type="checkbox" v-model="f_unload_battery">取下表内电池
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
<div class="auto app-text" style="margin-top: 5px;" v-if="this.$parent.$parent.role != 'view'">
|
101
|
+
<div class="panel" style="padding: 60px 7px 10px 0px;">
|
102
|
+
<div class="panel-body panel-self">
|
103
|
+
<div v-show="false" class="row">
|
104
|
+
<p class="panel-title col-xs-4 text-left font">建档时间</p>
|
105
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ newfile_date }}</p>
|
106
|
+
</div>
|
107
|
+
<div class="row" v-if="last_check_date != null && last_check_date != ''">
|
108
|
+
<p class="panel-title col-xs-4 text-left font">上次安检时间</p>
|
109
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ last_check_date }}</p>
|
110
|
+
</div>
|
111
|
+
<div class="row">
|
112
|
+
<p class="panel-title col-xs-4 text-left font">上次安检状态</p>
|
113
|
+
<p class="panel-title col-xs-8 text-left input-font" v-if="last_check_date != null && last_check_date != ''">安检完成</p>
|
114
|
+
<p class="panel-title col-xs-8 text-left input-font" v-if="last_check_date == null || last_check_date == ''">未安检</p>
|
115
|
+
</div>
|
116
|
+
<div class="row" v-if="last_check_date != null && last_check_date != ''">
|
117
|
+
<p class="panel-title col-xs-4 text-left font">上次安检结果</p>
|
118
|
+
<p class="panel-title col-xs-8 text-left input-font" :class="last_check_result=='正常'?'':'color-red'">{{last_check_result}}</p>
|
119
|
+
<div v-for="data in last_check_data.data" class="panel-title col-xs-offset-4 col-xs-8 text-left input-font">
|
120
|
+
<p v-for="(key,item) in data">
|
121
|
+
{{key}}:{{item}}
|
122
|
+
</p>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
</div>
|
127
|
+
</div>-->
|
128
|
+
</div>
|
129
|
+
</div>
|
130
|
+
</div>
|
131
|
+
</template>
|
132
|
+
|
133
|
+
<script>
|
134
|
+
import * as Util from "../Util";
|
135
|
+
import Vue from "vue";
|
136
|
+
import RadioGroup from "vue-client/src/vue-strap/src/radioGroup";
|
137
|
+
import Radio from "vue-client/src/vue-strap/src/radioBtn";
|
138
|
+
|
139
|
+
export default {
|
140
|
+
title: "SafecheckUserInfo",
|
141
|
+
props: ['userinfo'],
|
142
|
+
data() {
|
143
|
+
return this.$parent.$parent.data
|
144
|
+
},
|
145
|
+
ready() {
|
146
|
+
for (let i in this.userinfo) {
|
147
|
+
//tag + ':' + JSON.stringify(this.userinfo[i]))
|
148
|
+
}
|
149
|
+
this.safecheckStateReady()
|
150
|
+
},
|
151
|
+
methods: {
|
152
|
+
searchHistory(f_userinfo_id) {
|
153
|
+
this.$dispatch('gotoson', {
|
154
|
+
_this: this.$parent.$parent,
|
155
|
+
title: '购气记录',
|
156
|
+
safe: true
|
157
|
+
})
|
158
|
+
this.$parent.$parent.$goto('phone-sell-info', {f_userinfo_id: f_userinfo_id})
|
159
|
+
},
|
160
|
+
// searchDevices(f_userinfo_id) {
|
161
|
+
// this.$dispatch('gotoson', {
|
162
|
+
// _this: this.$parent.$parent,
|
163
|
+
// title: '设备查看',
|
164
|
+
// safe: false
|
165
|
+
// })
|
166
|
+
// this.$parent.$parent.$goto('PhoneDevicesInfo', {f_userinfo_id: f_userinfo_id,f_user_type:this.userinfo.f_check_type})
|
167
|
+
// },
|
168
|
+
upuserinfo (f_userinfo_id) {
|
169
|
+
this.$dispatch('gotoson', {
|
170
|
+
_this: this.$parent.$parent,
|
171
|
+
title: '档案信息变更',
|
172
|
+
safe: false
|
173
|
+
})
|
174
|
+
this.$parent.$parent.$goto('PhoneUpUserinfo', {f_userinfo_id: f_userinfo_id, f_source: '安检'})
|
175
|
+
},
|
176
|
+
cameraCallBack(prop, fileName) {
|
177
|
+
HostApp.__this__.$set(prop, fileName + '?' + Math.random())
|
178
|
+
//tag
|
179
|
+
HostApp.__callback__ = null
|
180
|
+
HostApp.__this__ = null
|
181
|
+
},
|
182
|
+
takePic(prop, title) {
|
183
|
+
HostApp.__callback__ = this.cameraCallBack
|
184
|
+
HostApp.__this__ = this
|
185
|
+
//tag
|
186
|
+
let fileName
|
187
|
+
if (!this[prop] || this[prop].includes("nopic.png")) {
|
188
|
+
fileName = Util.guid() + '-' + prop + '.jpg'
|
189
|
+
} else {
|
190
|
+
fileName = Util.getFileName(this[prop])
|
191
|
+
}
|
192
|
+
HostApp._open_a_page({
|
193
|
+
type: 'boomerang',
|
194
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
195
|
+
param: {
|
196
|
+
file: fileName,
|
197
|
+
requestCode: 111,
|
198
|
+
callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
|
199
|
+
watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
|
200
|
+
}
|
201
|
+
})
|
202
|
+
},
|
203
|
+
delfile(prop, fileName) {
|
204
|
+
if (fileName == Vue.nopic)
|
205
|
+
return
|
206
|
+
else {
|
207
|
+
HostApp.delfile(fileName)
|
208
|
+
this[prop] = Vue.nopic
|
209
|
+
}
|
210
|
+
},
|
211
|
+
setEntryClass(val) {
|
212
|
+
if (val == '到访不遇') {
|
213
|
+
this.f_usegas = ''
|
214
|
+
this.$set('f_entry_class', 'warning')
|
215
|
+
} else if (val == '拒检') {
|
216
|
+
this.f_usegas = ''
|
217
|
+
this.$set('f_entry_class', 'danger')
|
218
|
+
} else if (val == '入户') {
|
219
|
+
this.$set('f_entry_class', 'success')
|
220
|
+
}
|
221
|
+
},
|
222
|
+
setUsegas(val) {
|
223
|
+
if (val == '未使用')
|
224
|
+
this.$set('f_useclass', 'default')
|
225
|
+
if (val == '已使用')
|
226
|
+
this.$set('f_useclass', 'success')
|
227
|
+
},
|
228
|
+
start() {
|
229
|
+
this.$parent.$parent.isStrat = true
|
230
|
+
this.$set('action', !this.action)
|
231
|
+
this.$set('f_onsite_time', Util.toStandardTimeString())
|
232
|
+
},
|
233
|
+
safecheckStateReady() {
|
234
|
+
//tag
|
235
|
+
//tag
|
236
|
+
//tag
|
237
|
+
if (!this.$parent.$parent.showBack) {
|
238
|
+
this.$parent.$parent.showBack = true
|
239
|
+
}
|
240
|
+
this.$set('last_check_date', this.$parent.$parent.item.f_last_check_date)
|
241
|
+
this.$set('newfile_date', this.$parent.$parent.item.f_newfile_date)
|
242
|
+
if (this.$parent.$parent.item.f_last_check_result) {
|
243
|
+
let checkResult = JSON.parse(this.$parent.$parent.item.f_last_check_result)
|
244
|
+
this.$set('last_check_result', checkResult.result)
|
245
|
+
this.$set('last_check_data.data', checkResult.data)
|
246
|
+
} else {
|
247
|
+
this.$set('last_check_result', '')
|
248
|
+
this.$set('last_check_data.data', [])
|
249
|
+
}
|
250
|
+
if (this.$parent.$parent.role == 'inspect' && this.f_complete != '已完成') {
|
251
|
+
this.start()
|
252
|
+
}
|
253
|
+
if (this.$parent.$parent.data.f_onsite_time) {
|
254
|
+
//tag
|
255
|
+
this.$parent.$parent.startClick = true
|
256
|
+
}
|
257
|
+
this.action = true
|
258
|
+
//tag
|
259
|
+
if (this.f_onsite_time) {
|
260
|
+
this.$parent.$parent.isStrat = true
|
261
|
+
this.$parent.$parent.data.f_onsite_time = this.f_onsite_time
|
262
|
+
}
|
263
|
+
if (this.$parent.$parent.role == 'repair') {
|
264
|
+
this.$set('style__', 'divmask')
|
265
|
+
this.$set('style_view_', '')
|
266
|
+
} else if (this.$parent.$parent.role == 'view') {
|
267
|
+
this.$set('style__', 'divmask')
|
268
|
+
this.$set('style_view_', 'divmask')
|
269
|
+
//tag
|
270
|
+
} else {
|
271
|
+
this.$set('style__', '')
|
272
|
+
this.$set('style_view_', '')
|
273
|
+
}
|
274
|
+
if (!this.f_nongasuser_path)
|
275
|
+
this.$set('f_nongasuser_path', '')
|
276
|
+
if (!this.f_noanswer_path)
|
277
|
+
this.$set('f_noanswer_path', '')
|
278
|
+
if (!this.f_rejectcheck_path)
|
279
|
+
this.$set('f_rejectcheck_path', '')
|
280
|
+
|
281
|
+
|
282
|
+
this.$watch('f_usegas', (val) => {
|
283
|
+
this.setUsegas(val)
|
284
|
+
})
|
285
|
+
|
286
|
+
this.setEntryClass(this.f_entry_status)
|
287
|
+
this.$watch('f_entry_status', (val) => {
|
288
|
+
this.setEntryClass(val)
|
289
|
+
|
290
|
+
if (val == '到访不遇') {
|
291
|
+
this.f_rejectcheck_path = Vue.nopic
|
292
|
+
this.f_laser_check='是'
|
293
|
+
}else{
|
294
|
+
this.f_laser_check=null
|
295
|
+
}
|
296
|
+
if (val == '拒检') {
|
297
|
+
this.f_noanswer_path = Vue.nopic
|
298
|
+
}
|
299
|
+
//tag
|
300
|
+
if (val != '入户') {
|
301
|
+
//清理安检概括
|
302
|
+
this.f_no_gas_device = false
|
303
|
+
this.f_unload_battery = false
|
304
|
+
this.f_close_valve = false
|
305
|
+
//清理全局隐患
|
306
|
+
this.f_defect_cramped = false
|
307
|
+
this.f_defect_bedroom = false
|
308
|
+
this.f_defect_longpipe = false
|
309
|
+
this.f_defect_firesource = false
|
310
|
+
this.f_defect_explosive = false
|
311
|
+
this.f_defect_viacabinet = false
|
312
|
+
this.f_defect_intermittent = false
|
313
|
+
this.f_defect_nearfire = false
|
314
|
+
this.f_defect_openkitchen = false
|
315
|
+
this.f_defect_hang = false
|
316
|
+
this.f_cramped_path = Vue.nopic
|
317
|
+
//用户评价
|
318
|
+
this.f_client_evaluation = null
|
319
|
+
//清设备
|
320
|
+
this.$set('f_meters', [])
|
321
|
+
this.$set('f_plumbs', [])
|
322
|
+
this.$set('f_valves', [])
|
323
|
+
this.$set('f_inner_plumbs', [])
|
324
|
+
this.$set('f_alarms', [])
|
325
|
+
this.$set('f_cookers', [])
|
326
|
+
this.$set('f_heaters', [])
|
327
|
+
this.$set('f_furnaces', [])
|
328
|
+
}
|
329
|
+
})
|
330
|
+
}
|
331
|
+
},
|
332
|
+
components: {
|
333
|
+
RadioGroup,
|
334
|
+
Radio
|
335
|
+
},
|
336
|
+
}
|
337
|
+
</script>
|
338
|
+
|
339
|
+
<style scoped>
|
340
|
+
|
341
|
+
.font {
|
342
|
+
font: 15px PingFang-SC-Medium;
|
343
|
+
color: #666666;
|
344
|
+
}
|
345
|
+
|
346
|
+
.input-font {
|
347
|
+
font: 15px PingFang-SC-Medium;
|
348
|
+
color: #333333;
|
349
|
+
}
|
350
|
+
|
351
|
+
.app-text {
|
352
|
+
font-size: 12px;
|
353
|
+
}
|
354
|
+
|
355
|
+
.panel-self {
|
356
|
+
border-radius: 10px;
|
357
|
+
border: 1px solid #499EDF;
|
358
|
+
background-color: #F8F8F8;
|
359
|
+
}
|
360
|
+
|
361
|
+
.app-text {
|
362
|
+
font-size: 12px;
|
363
|
+
}
|
364
|
+
|
365
|
+
.panel-self {
|
366
|
+
border-radius: 5px;
|
367
|
+
border: 1px solid #c5e1f7;
|
368
|
+
background-color: #F2F6FA;
|
369
|
+
}
|
370
|
+
|
371
|
+
.font {
|
372
|
+
font: 15px PingFang-SC-Medium;
|
373
|
+
color: #333333;
|
374
|
+
}
|
375
|
+
|
376
|
+
.panel-self {
|
377
|
+
border-radius: 5px;
|
378
|
+
border: 1px solid #c5e1f7;
|
379
|
+
background-color: #F2F6FA;
|
380
|
+
}
|
381
|
+
|
382
|
+
.text-left {
|
383
|
+
text-align: left;
|
384
|
+
}
|
385
|
+
|
386
|
+
.font {
|
387
|
+
font: 15px PingFang-SC-Medium;
|
388
|
+
color: #333333;
|
389
|
+
}
|
390
|
+
|
391
|
+
.btn-photo {
|
392
|
+
border: 0;
|
393
|
+
border-radius: 7px;
|
394
|
+
background-color: #7dc1f4;
|
395
|
+
font: 15px PingFang-SC-Bold;
|
396
|
+
height: 20%;
|
397
|
+
}
|
398
|
+
|
399
|
+
.div-photo {
|
400
|
+
width: auto;
|
401
|
+
height: auto;
|
402
|
+
/* margin-top: 10px; */
|
403
|
+
position: absolute;
|
404
|
+
bottom: 10px;
|
405
|
+
right: 10px;
|
406
|
+
}
|
407
|
+
</style>
|