safecheck-client 3.0.35-7 → 3.0.35-8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/android/AddPlanItemYy.vue +451 -451
  4. package/src/components/android/CivilCurrentCreate.vue +1031 -1031
  5. package/src/components/android/examples/SafeListExamples.vue +296 -296
  6. package/src/components/android/examples/UserExamples.vue +136 -136
  7. package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -574
  8. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
  9. package/src/filiale/bayan/android/AddPlanItem.vue +441 -441
  10. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  11. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1380
  12. package/src/filiale/bayan/android/SafecheckOrderV.vue +2922 -2922
  13. package/src/filiale/bayan/android/SafecheckUserInfo.vue +872 -872
  14. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +607 -607
  15. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  16. package/src/filiale/bayan/pc/NewCheckpaper.vue +1992 -1992
  17. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  18. package/src/filiale/bayan/pc/SelectCheckPlan.vue +391 -391
  19. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  20. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1207 -1207
  21. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3035 -3035
  22. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1053 -1053
  23. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  24. package/src/filiale/xilan/android.js +11 -11
  25. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  26. package/src/safecheck-android.js +307 -307
@@ -1,441 +1,441 @@
1
- <template>
2
- <div class="auto">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
- <div partial>
6
- <form>
7
- <div class="row app-row">
8
- <div class="col-xs-4">
9
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
- <label class="font text-left">用户编号:</label>
11
- </div>
12
- <div class="col-xs-8" >
13
- <input class="search_input input-font"
14
- v-model=model.f_userinfo_code condition="f_userinfo_code = '{}'" placeholder="请输入用户编号" />
15
- </div>
16
- </div>
17
- <div class="row app-row">
18
- <div class="col-xs-4">
19
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
- <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
- </div>
22
- <div class="col-xs-8" >
23
- <input class="search_input input-font"
24
- v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
- <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
- </div>
27
- </div>
28
- <div class="row app-row">
29
- <div class="col-xs-4">
30
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
31
- <label class="font text-left">用户名称:</label>
32
- </div>
33
- <div class="col-xs-8" >
34
- <input class="search_input input-font" v-model="model.f_username" placeholder="请输入用户名称(可模糊查询)">
35
- </div>
36
- </div>
37
- <div class="row app-row">
38
- <div class="col-xs-4">
39
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
40
- <label class="font text-left">用户类型:</label>
41
- </div>
42
- <div class="col-xs-8" >
43
- <v-select :value.sync="$parent.$parent.model.f_user_type" class="input-font"
44
- :options='$parent.$parent.user_types' placeholder='请选择用户类型' :value-single="true"
45
- v-model="$parent.$parent.model.f_user_type" close-on-select clear-button></v-select>
46
- </div>
47
- </div>
48
- <div class="row app-row">
49
- <div class="col-xs-4">
50
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
- <label class="font text-left">小区名称:</label>
52
- </div>
53
- <div class="col-xs-8" >
54
- <input style="width: 100%" class="search_input input-font" v-model="model.f_districtname" placeholder="请输入用户小区(可模糊查询)">
55
- </div>
56
- </div>
57
- <div class="row app-row">
58
- <div class="col-xs-4">
59
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
60
- <label class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
61
- </div>
62
- <div class="col-xs-8" >
63
- <input style="width: 100%" class="search_input input-font" v-model="model.f_building" placeholder="请输入用户楼号">
64
- </div>
65
- </div>
66
- <div class="row app-row">
67
- <div class="col-xs-4">
68
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
69
- <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
70
- </div>
71
- <div class="col-xs-8" >
72
- <input style="width: 100%" class="search_input input-font" v-model="model.f_unit" placeholder="请输入用户单元">
73
- </div>
74
- </div>
75
- <div class="row app-row">
76
- <div class="col-xs-4">
77
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
78
- <label class="font text-left">用户地址:</label>
79
- </div>
80
- <div class="col-xs-8" >
81
- <input style="width: 100%" class="search_input input-font" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
82
- </div>
83
- </div>
84
- <div class="row app-row">
85
- <div class="col-xs-4">
86
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
87
- <label class="font text-left">表&nbsp;&nbsp;封&nbsp;&nbsp;号:</label>
88
- </div>
89
- <div class="col-xs-8" >
90
- <input style="width: 100%" class="search_input input-font" v-model="model.f_metertitles" placeholder="请输入表封号" condition="uf.f_metertitles='{}'">
91
- </div>
92
- </div>
93
- <div class="row app-row">
94
- <div class="col-xs-4">
95
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
96
- <label class="font text-left">电&nbsp;&nbsp;话&nbsp;&nbsp;号:</label>
97
- </div>
98
- <div class="col-xs-8" >
99
- <input style="width: 100%" class="search_input input-font" v-model="model.f_user_phone" placeholder="请输入电话号" condition="ui.f_user_phone like '%{}%'">
100
- </div>
101
- </div>
102
- <div class="row app-row">
103
- <div class="col-xs-4">
104
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
105
- <label class="font text-left">卡&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
106
- </div>
107
- <div class="col-xs-8" >
108
- <input style="width: 100%" class="search_input input-font" v-model="model.f_card_id" placeholder="请输入卡号" condition="uf.f_card_id like '%{}%'">
109
- </div>
110
- </div>
111
- <div class="row app-row">
112
- <div class="col-xs-4">
113
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
114
- <label class="font text-left">抄&nbsp;&nbsp;表&nbsp;&nbsp;册:</label>
115
- </div>
116
- <div class="col-xs-8" >
117
- <v-select class="input-font"
118
- placeholder='请选择抄表册'
119
- :value.sync="model.f_meter_book_num"
120
- v-model="model.f_meter_book_num"
121
- :options='$parent.$parent.cbc'
122
- condition="uf.f_meter_book_num='{}'"
123
- close-on-select clear-button></v-select>
124
- </div>
125
- </div>
126
- <div class="row text-center" style="margin-top: 20px;">
127
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
128
- </div>
129
- <div style="height:30px;"></div>
130
- </form>
131
- </div>
132
- </criteria>
133
-
134
- <list :model="model" partial='list'>
135
- <div partial>
136
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
137
- <div class="panel" style="padding: 10px 10px 5px 10px;">
138
- <div class="panel-body panel-self">
139
- <div class="row">
140
- <p class="panel-title col-xs-4 text-left font">用户编号</p>
141
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
142
- </div>
143
- <div class="row">
144
- <p class="panel-title col-xs-4 text-left font">用户名称</p>
145
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
146
- </div>
147
- <div class="row">
148
- <p class="panel-title col-xs-4 text-left font">表号</p>
149
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
150
- </div>
151
- <div class="row">
152
- <p class="panel-title col-xs-4 text-left font">用户类型</p>
153
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
154
- </div>
155
- <div class="row">
156
- <p class="panel-title col-xs-4 text-left font">用户电话</p>
157
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
158
- <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img></p>
159
- </div>
160
- <div class="row">
161
- <p class="panel-title col-xs-4 text-left font">租户电话</p>
162
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_zuhu_phone }}
163
- <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'></img></p>
164
-
165
- </div>
166
- <div class="row">
167
- <p class="panel-title col-xs-4 text-left font">临时联系电话</p>
168
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_rent_phone }}
169
- <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'></img></p>
170
-
171
- </div>
172
- <div class="row">
173
- <p class="panel-title col-xs-4 text-left font">小区名称</p>
174
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
175
- </div>
176
- <div class="row">
177
- <p class="panel-title col-xs-4 text-left font">用户地址</p>
178
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
179
- </div>
180
- <div class="row">
181
- <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
182
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
183
- </div>
184
- <div class="row">
185
- <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
186
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
187
- </div>
188
- <div class="row">
189
- <p class="panel-title col-xs-4 text-left font">表具状态</p>
190
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_table_state }}</p>
191
- </div>
192
- <div class="row" v-if="row.f_table_state = '停用'">
193
- <p class="panel-title col-xs-4 text-left font">原因</p>
194
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_black_comments }}</p>
195
- </div>
196
- </div>
197
- </div>
198
-
199
- </div>
200
- </div>
201
- </list>
202
- </criteria-paged>
203
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
204
- </div>
205
- </template>
206
-
207
- <script>
208
- import {HttpResetClass, PagedList} from 'vue-client'
209
- import Vue from 'vue'
210
- import * as Util from '../../Util'
211
-
212
- export default {
213
- title: '安检员B',
214
- data () {
215
- let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,f_unit,f_room"',f_check_type:'this.f_check_type[0]',
216
- f_user_name:'this.model.f_username',myCycle: 'this.myCycle',fyCycle: 'this.fyCycle', f_user_type:'this.f_user_type',f_sign: 'this.f_sign[0]', f_residential_area:'this.model.f_districtname', f_address:'this.model.f_address',f_user_state: 'this.f_user_state[0]',f_orgids:'this.f_orgids',f_unit:'this.model.f_unit',f_building:'this.model.f_building',f_filialeid:'this.f_filialeid'})
217
- model.f_sign = ['']
218
- model.f_user_type = ''
219
- model.f_user_state =['']
220
- model.f_check_type =['']
221
- model.myCycle = 0
222
- model.fyCycle = 0
223
- model.f_filialeid = Vue.user.orgid
224
- //model.f_filialeid = 287
225
- return {
226
- model: model,
227
- cbc:[],
228
- showModal:false,
229
- signs: [
230
- {label:'请选择录入状态', value:''},
231
- {label:'录入', value:'1'},
232
- {label:'非录入', value:'0'},
233
- ],
234
- ischecks: [
235
- ],
236
- user_types: [
237
- {label: '请选择用户类型', value: ''},
238
- {label: '民用', value: '民用'},
239
- {label: '非民用', value: '非民用'},
240
- ],
241
- f_user_states: [
242
- {label:'请选择档案状态', value:''},
243
- {label:'正常', value:'正常'},
244
- {label:'点火', value:'点火'},
245
- ],
246
- f_check_types: [
247
- {label:'请选择安检类型', value:''},
248
- {label:'应检', value:'应检'},
249
- {label:'超期', value:'超期'},
250
- ],
251
- }
252
- },
253
- ready () {
254
- // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
255
- // //tag)
256
- // if(res.data.code == 200){
257
- // this.model.myCycle = res.data.civil.value
258
- // this.model.fyCycle = res.data.civilian.value
259
- // }else{
260
- // //this.$showMessage(res.data.msg)
261
- // }
262
- //
263
- // })
264
- // this.getCheckTime()
265
- // this.Mreadibook()
266
- },
267
- computed: {
268
- reload(){
269
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
270
- },
271
- selected () {
272
- return this.$refs.paged.$refs.grid.selected
273
- }
274
- },
275
- methods:{
276
- makeAPhoneCall(phoneNumber) {
277
- this.$androidUtil.makeAPhoneCall(phoneNumber)
278
- },
279
- scan(){
280
- HostApp.__this__=this,
281
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
282
- },
283
- getCode(){
284
- var datapa = HostApp.getCode().data;
285
- //tag
286
- this.$refs.paged.$refs.cri.model.f_meternumber=datapa
287
- },
288
- getCheckTime(){
289
- //tag
290
- new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
291
- items: 'f_circle,f_start_time',
292
- tablename: 't_safe_circle',
293
- condition: `f_filialeid = '${Vue.user.orgid}'`,
294
- orderitem: 'id'
295
- }}).then(res=>{
296
- //tag)
297
- let nocheck=''
298
- let ischeck=''
299
- if (res.data[0]){
300
- if (res.data[0].f_circle=='1'){
301
- nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
302
- ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
303
-
304
- }else{
305
- let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
306
- //tag
307
- let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
308
- //tag
309
- nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
310
- ischeck=`ua.f_last_check_date>'${time}'`
311
- }
312
- //tag
313
- this.ischecks=[
314
- {label: '全部', value: ''},
315
- {label: '已检', value: ischeck },
316
- {label: '未检', value: nocheck},
317
- ]
318
- //tag
319
- }else{
320
- this.$showMessage("未配置安检周期")
321
- }
322
-
323
- })
324
- //tag
325
- },
326
- selfSearch(){
327
- this.$refs.paged.$refs.cri.search()
328
- },
329
- inspect (info){
330
- if(info.f_last_check_date){
331
- this.$showMessage("该用户最后一次安检时间为 "+info.f_last_check_date+" 是否继续对该用户进行安检",['confirm', 'cancel']).then((butt)=>{
332
- if(butt=="confirm"){
333
- info.id = ''
334
- info.f_state = '未检'
335
- info.f_no_checkplan = '无计划安检'
336
- //tag
337
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
338
- //tag)
339
- info['f_plan_meters'] = response.data
340
- var pardate = {
341
- _this:this,
342
- tittle:'安检详情',
343
- safe:true
344
- }
345
- this.$dispatch('gotoson',pardate)
346
- let _this = this
347
- this.$goto('safecheck-order-v', {item: info, role: 'inspect'}, 'self', function(){_this.selfSearch()})
348
-
349
- })
350
- }
351
- })
352
- }else{
353
- info.id = ''
354
- info.f_state = '未检'
355
- info.f_no_checkplan = '无计划安检'
356
- //tag
357
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
358
- //tag)
359
- info['f_plan_meters'] = response.data
360
- var pardate = {
361
- _this:this,
362
- tittle:'安检详情',
363
- safe:true
364
- }
365
- this.$dispatch('gotoson',pardate)
366
- let _this = this
367
- this.$goto('safecheck-order-v', {item: info, role: 'inspect'}, 'self', function(){_this.selfSearch()})
368
-
369
- })
370
- }
371
- },
372
- Mreadibook(){
373
- this.cbc=[]
374
- let http = new HttpResetClass()
375
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/getMeterBooksData`,
376
- {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
377
- {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
378
- this.cbc = [{label: '全部', value: ''}]
379
- //tag
380
- //tag)
381
- //tag
382
- getMeterReadingBooks.data.meterbooks.forEach((res) => {
383
- this.cbc.push({label: res.f_book_name, value: res.id})
384
- /*if(res.f_book_slice_area){
385
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
386
- this.sliceArea.push(res.f_book_slice_area)
387
- }
388
- }*/
389
- })
390
- })
391
-
392
-
393
- }
394
- }
395
- }
396
- </script>
397
- <style scoped>
398
- .app-row {
399
- background-color: white;
400
- padding: 10px 10px 0 10px;
401
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
402
- }
403
- .search_input {
404
- border: 0;
405
- outline: none;
406
- }
407
- .font{
408
- font: 15px PingFang-SC-Medium;
409
- color: #666666;
410
- }
411
- .input-font{
412
- font: 15px PingFang-SC-Medium;
413
- color: #333333;
414
- }
415
- .btn-font{
416
- font:600 16px PingFang-SC-Bold;
417
- color: #499EDF;
418
- }
419
- .btn-color{
420
- background-color: #FFFFFF;
421
- border-radius: 10px ;
422
- border: 1px solid #499EDF;
423
- }
424
- .app-text {
425
- font-size: 12px;
426
- }
427
- .panel-self{
428
- border-radius: 10px;
429
- border:1px solid #499EDF;
430
- background-color: #F8F8F8;
431
- }
432
- .yybtn-color{
433
- border-radius: 4px ;
434
- border: 1px solid #499EDF;
435
- }
436
- .qxbtn-color{
437
- background-color: #FFFFFF;
438
- border-radius: 4px ;
439
- border: 1px solid #499EDF;
440
- }
441
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
+ <div partial>
6
+ <form>
7
+ <div class="row app-row">
8
+ <div class="col-xs-4">
9
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
+ <label class="font text-left">用户编号:</label>
11
+ </div>
12
+ <div class="col-xs-8" >
13
+ <input class="search_input input-font"
14
+ v-model=model.f_userinfo_code condition="f_userinfo_code = '{}'" placeholder="请输入用户编号" />
15
+ </div>
16
+ </div>
17
+ <div class="row app-row">
18
+ <div class="col-xs-4">
19
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
+ </div>
22
+ <div class="col-xs-8" >
23
+ <input class="search_input input-font"
24
+ v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
+ </div>
27
+ </div>
28
+ <div class="row app-row">
29
+ <div class="col-xs-4">
30
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
31
+ <label class="font text-left">用户名称:</label>
32
+ </div>
33
+ <div class="col-xs-8" >
34
+ <input class="search_input input-font" v-model="model.f_username" placeholder="请输入用户名称(可模糊查询)">
35
+ </div>
36
+ </div>
37
+ <div class="row app-row">
38
+ <div class="col-xs-4">
39
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
40
+ <label class="font text-left">用户类型:</label>
41
+ </div>
42
+ <div class="col-xs-8" >
43
+ <v-select :value.sync="$parent.$parent.model.f_user_type" class="input-font"
44
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型' :value-single="true"
45
+ v-model="$parent.$parent.model.f_user_type" close-on-select clear-button></v-select>
46
+ </div>
47
+ </div>
48
+ <div class="row app-row">
49
+ <div class="col-xs-4">
50
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
+ <label class="font text-left">小区名称:</label>
52
+ </div>
53
+ <div class="col-xs-8" >
54
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_districtname" placeholder="请输入用户小区(可模糊查询)">
55
+ </div>
56
+ </div>
57
+ <div class="row app-row">
58
+ <div class="col-xs-4">
59
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
60
+ <label class="font text-left">楼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
61
+ </div>
62
+ <div class="col-xs-8" >
63
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_building" placeholder="请输入用户楼号">
64
+ </div>
65
+ </div>
66
+ <div class="row app-row">
67
+ <div class="col-xs-4">
68
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
69
+ <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元:</label>
70
+ </div>
71
+ <div class="col-xs-8" >
72
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_unit" placeholder="请输入用户单元">
73
+ </div>
74
+ </div>
75
+ <div class="row app-row">
76
+ <div class="col-xs-4">
77
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
78
+ <label class="font text-left">用户地址:</label>
79
+ </div>
80
+ <div class="col-xs-8" >
81
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
82
+ </div>
83
+ </div>
84
+ <div class="row app-row">
85
+ <div class="col-xs-4">
86
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
87
+ <label class="font text-left">表&nbsp;&nbsp;封&nbsp;&nbsp;号:</label>
88
+ </div>
89
+ <div class="col-xs-8" >
90
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_metertitles" placeholder="请输入表封号" condition="uf.f_metertitles='{}'">
91
+ </div>
92
+ </div>
93
+ <div class="row app-row">
94
+ <div class="col-xs-4">
95
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
96
+ <label class="font text-left">电&nbsp;&nbsp;话&nbsp;&nbsp;号:</label>
97
+ </div>
98
+ <div class="col-xs-8" >
99
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_user_phone" placeholder="请输入电话号" condition="ui.f_user_phone like '%{}%'">
100
+ </div>
101
+ </div>
102
+ <div class="row app-row">
103
+ <div class="col-xs-4">
104
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
105
+ <label class="font text-left">卡&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
106
+ </div>
107
+ <div class="col-xs-8" >
108
+ <input style="width: 100%" class="search_input input-font" v-model="model.f_card_id" placeholder="请输入卡号" condition="uf.f_card_id like '%{}%'">
109
+ </div>
110
+ </div>
111
+ <div class="row app-row">
112
+ <div class="col-xs-4">
113
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
114
+ <label class="font text-left">抄&nbsp;&nbsp;表&nbsp;&nbsp;册:</label>
115
+ </div>
116
+ <div class="col-xs-8" >
117
+ <v-select class="input-font"
118
+ placeholder='请选择抄表册'
119
+ :value.sync="model.f_meter_book_num"
120
+ v-model="model.f_meter_book_num"
121
+ :options='$parent.$parent.cbc'
122
+ condition="uf.f_meter_book_num='{}'"
123
+ close-on-select clear-button></v-select>
124
+ </div>
125
+ </div>
126
+ <div class="row text-center" style="margin-top: 20px;">
127
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
128
+ </div>
129
+ <div style="height:30px;"></div>
130
+ </form>
131
+ </div>
132
+ </criteria>
133
+
134
+ <list :model="model" partial='list'>
135
+ <div partial>
136
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
137
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
138
+ <div class="panel-body panel-self">
139
+ <div class="row">
140
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
141
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
142
+ </div>
143
+ <div class="row">
144
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
145
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
146
+ </div>
147
+ <div class="row">
148
+ <p class="panel-title col-xs-4 text-left font">表号</p>
149
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
150
+ </div>
151
+ <div class="row">
152
+ <p class="panel-title col-xs-4 text-left font">用户类型</p>
153
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
154
+ </div>
155
+ <div class="row">
156
+ <p class="panel-title col-xs-4 text-left font">用户电话</p>
157
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
158
+ <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img></p>
159
+ </div>
160
+ <div class="row">
161
+ <p class="panel-title col-xs-4 text-left font">租户电话</p>
162
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_zuhu_phone }}
163
+ <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'></img></p>
164
+
165
+ </div>
166
+ <div class="row">
167
+ <p class="panel-title col-xs-4 text-left font">临时联系电话</p>
168
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_rent_phone }}
169
+ <img src="../../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'></img></p>
170
+
171
+ </div>
172
+ <div class="row">
173
+ <p class="panel-title col-xs-4 text-left font">小区名称</p>
174
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
175
+ </div>
176
+ <div class="row">
177
+ <p class="panel-title col-xs-4 text-left font">用户地址</p>
178
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
179
+ </div>
180
+ <div class="row">
181
+ <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
182
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
183
+ </div>
184
+ <div class="row">
185
+ <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
186
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
187
+ </div>
188
+ <div class="row">
189
+ <p class="panel-title col-xs-4 text-left font">表具状态</p>
190
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_table_state }}</p>
191
+ </div>
192
+ <div class="row" v-if="row.f_table_state = '停用'">
193
+ <p class="panel-title col-xs-4 text-left font">原因</p>
194
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_black_comments }}</p>
195
+ </div>
196
+ </div>
197
+ </div>
198
+
199
+ </div>
200
+ </div>
201
+ </list>
202
+ </criteria-paged>
203
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
204
+ </div>
205
+ </template>
206
+
207
+ <script>
208
+ import {HttpResetClass, PagedList} from 'vue-client'
209
+ import Vue from 'vue'
210
+ import * as Util from '../../Util'
211
+
212
+ export default {
213
+ title: '安检员B',
214
+ data () {
215
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,f_unit,f_room"',f_check_type:'this.f_check_type[0]',
216
+ f_user_name:'this.model.f_username',myCycle: 'this.myCycle',fyCycle: 'this.fyCycle', f_user_type:'this.f_user_type',f_sign: 'this.f_sign[0]', f_residential_area:'this.model.f_districtname', f_address:'this.model.f_address',f_user_state: 'this.f_user_state[0]',f_orgids:'this.f_orgids',f_unit:'this.model.f_unit',f_building:'this.model.f_building',f_filialeid:'this.f_filialeid'})
217
+ model.f_sign = ['']
218
+ model.f_user_type = ''
219
+ model.f_user_state =['']
220
+ model.f_check_type =['']
221
+ model.myCycle = 0
222
+ model.fyCycle = 0
223
+ model.f_filialeid = Vue.user.orgid
224
+ //model.f_filialeid = 287
225
+ return {
226
+ model: model,
227
+ cbc:[],
228
+ showModal:false,
229
+ signs: [
230
+ {label:'请选择录入状态', value:''},
231
+ {label:'录入', value:'1'},
232
+ {label:'非录入', value:'0'},
233
+ ],
234
+ ischecks: [
235
+ ],
236
+ user_types: [
237
+ {label: '请选择用户类型', value: ''},
238
+ {label: '民用', value: '民用'},
239
+ {label: '非民用', value: '非民用'},
240
+ ],
241
+ f_user_states: [
242
+ {label:'请选择档案状态', value:''},
243
+ {label:'正常', value:'正常'},
244
+ {label:'点火', value:'点火'},
245
+ ],
246
+ f_check_types: [
247
+ {label:'请选择安检类型', value:''},
248
+ {label:'应检', value:'应检'},
249
+ {label:'超期', value:'超期'},
250
+ ],
251
+ }
252
+ },
253
+ ready () {
254
+ // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
255
+ // //tag)
256
+ // if(res.data.code == 200){
257
+ // this.model.myCycle = res.data.civil.value
258
+ // this.model.fyCycle = res.data.civilian.value
259
+ // }else{
260
+ // //this.$showMessage(res.data.msg)
261
+ // }
262
+ //
263
+ // })
264
+ // this.getCheckTime()
265
+ // this.Mreadibook()
266
+ },
267
+ computed: {
268
+ reload(){
269
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
270
+ },
271
+ selected () {
272
+ return this.$refs.paged.$refs.grid.selected
273
+ }
274
+ },
275
+ methods:{
276
+ makeAPhoneCall(phoneNumber) {
277
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
278
+ },
279
+ scan(){
280
+ HostApp.__this__=this,
281
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
282
+ },
283
+ getCode(){
284
+ var datapa = HostApp.getCode().data;
285
+ //tag
286
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
287
+ },
288
+ getCheckTime(){
289
+ //tag
290
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
291
+ items: 'f_circle,f_start_time',
292
+ tablename: 't_safe_circle',
293
+ condition: `f_filialeid = '${Vue.user.orgid}'`,
294
+ orderitem: 'id'
295
+ }}).then(res=>{
296
+ //tag)
297
+ let nocheck=''
298
+ let ischeck=''
299
+ if (res.data[0]){
300
+ if (res.data[0].f_circle=='1'){
301
+ nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
302
+ ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
303
+
304
+ }else{
305
+ let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
306
+ //tag
307
+ let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
308
+ //tag
309
+ nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
310
+ ischeck=`ua.f_last_check_date>'${time}'`
311
+ }
312
+ //tag
313
+ this.ischecks=[
314
+ {label: '全部', value: ''},
315
+ {label: '已检', value: ischeck },
316
+ {label: '未检', value: nocheck},
317
+ ]
318
+ //tag
319
+ }else{
320
+ this.$showMessage("未配置安检周期")
321
+ }
322
+
323
+ })
324
+ //tag
325
+ },
326
+ selfSearch(){
327
+ this.$refs.paged.$refs.cri.search()
328
+ },
329
+ inspect (info){
330
+ if(info.f_last_check_date){
331
+ this.$showMessage("该用户最后一次安检时间为 "+info.f_last_check_date+" 是否继续对该用户进行安检",['confirm', 'cancel']).then((butt)=>{
332
+ if(butt=="confirm"){
333
+ info.id = ''
334
+ info.f_state = '未检'
335
+ info.f_no_checkplan = '无计划安检'
336
+ //tag
337
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
338
+ //tag)
339
+ info['f_plan_meters'] = response.data
340
+ var pardate = {
341
+ _this:this,
342
+ tittle:'安检详情',
343
+ safe:true
344
+ }
345
+ this.$dispatch('gotoson',pardate)
346
+ let _this = this
347
+ this.$goto('safecheck-order-v', {item: info, role: 'inspect'}, 'self', function(){_this.selfSearch()})
348
+
349
+ })
350
+ }
351
+ })
352
+ }else{
353
+ info.id = ''
354
+ info.f_state = '未检'
355
+ info.f_no_checkplan = '无计划安检'
356
+ //tag
357
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
358
+ //tag)
359
+ info['f_plan_meters'] = response.data
360
+ var pardate = {
361
+ _this:this,
362
+ tittle:'安检详情',
363
+ safe:true
364
+ }
365
+ this.$dispatch('gotoson',pardate)
366
+ let _this = this
367
+ this.$goto('safecheck-order-v', {item: info, role: 'inspect'}, 'self', function(){_this.selfSearch()})
368
+
369
+ })
370
+ }
371
+ },
372
+ Mreadibook(){
373
+ this.cbc=[]
374
+ let http = new HttpResetClass()
375
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/getMeterBooksData`,
376
+ {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
377
+ {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
378
+ this.cbc = [{label: '全部', value: ''}]
379
+ //tag
380
+ //tag)
381
+ //tag
382
+ getMeterReadingBooks.data.meterbooks.forEach((res) => {
383
+ this.cbc.push({label: res.f_book_name, value: res.id})
384
+ /*if(res.f_book_slice_area){
385
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
386
+ this.sliceArea.push(res.f_book_slice_area)
387
+ }
388
+ }*/
389
+ })
390
+ })
391
+
392
+
393
+ }
394
+ }
395
+ }
396
+ </script>
397
+ <style scoped>
398
+ .app-row {
399
+ background-color: white;
400
+ padding: 10px 10px 0 10px;
401
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
402
+ }
403
+ .search_input {
404
+ border: 0;
405
+ outline: none;
406
+ }
407
+ .font{
408
+ font: 15px PingFang-SC-Medium;
409
+ color: #666666;
410
+ }
411
+ .input-font{
412
+ font: 15px PingFang-SC-Medium;
413
+ color: #333333;
414
+ }
415
+ .btn-font{
416
+ font:600 16px PingFang-SC-Bold;
417
+ color: #499EDF;
418
+ }
419
+ .btn-color{
420
+ background-color: #FFFFFF;
421
+ border-radius: 10px ;
422
+ border: 1px solid #499EDF;
423
+ }
424
+ .app-text {
425
+ font-size: 12px;
426
+ }
427
+ .panel-self{
428
+ border-radius: 10px;
429
+ border:1px solid #499EDF;
430
+ background-color: #F8F8F8;
431
+ }
432
+ .yybtn-color{
433
+ border-radius: 4px ;
434
+ border: 1px solid #499EDF;
435
+ }
436
+ .qxbtn-color{
437
+ background-color: #FFFFFF;
438
+ border-radius: 4px ;
439
+ border: 1px solid #499EDF;
440
+ }
441
+ </style>