safecheck-client 3.0.35-34 → 3.0.35-36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. package/package.json +1 -1
  2. package/src/components/pc/AddPlanItemYyChange.vue +743 -0
  3. package/src/components/pc/SecurityCheckLedger.vue +133 -113
  4. package/src/components/pc/SecurityCheckList.vue +144 -0
  5. package/src/components/pc/SecurityCheckManage.vue +106 -0
  6. package/src/filiale/dexin/pc/DefectListNew.vue +643 -643
  7. package/src/filiale/dexin/pc/DefectPaperNew.vue +1066 -1066
  8. package/src/filiale/dexin/pc.js +13 -13
  9. package/src/filiale/huaran/pc/PaperList.vue +843 -843
  10. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  11. package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -1080
  12. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  13. package/src/filiale/jingyang/android.js +15 -15
  14. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  15. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -1053
  16. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -1230
  17. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  18. package/src/filiale/qingtongxia/android.js +14 -14
  19. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  20. package/src/filiale/ruihua/android.js +11 -11
  21. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -246
  22. package/src/filiale/siyang/android.js +15 -15
  23. package/src/filiale/siyang/pc/CheckBookList.vue +396 -396
  24. package/src/filiale/siyang/pc.js +22 -22
  25. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  26. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  27. package/src/main.js +3 -1
  28. package/src/safecheck.js +910 -901
@@ -1,450 +1,450 @@
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 app-row">
127
- <div class="col-xs-4">
128
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
129
- <label class="font text-left">安检情况</label>
130
- </div>
131
- <div class="col-xs-8" >
132
- <v-select class="input-font"
133
- placeholder='请选择安检情况'
134
- :value.sync="model.f_ischeck"
135
- v-model="model.f_ischeck"
136
- :options='$parent.$parent.ischecks'
137
- condition="{}"
138
- close-on-select clear-button></v-select>
139
- </div>
140
- </div>
141
- <div class="row app-row">
142
- <div class="col-xs-4">
143
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
144
- <label class="font text-left">档案状态:</label>
145
- </div>
146
- <div class="col-xs-8" >
147
- <v-select class="input-font"
148
- placeholder='请选择档案状态'
149
- :value.sync="$parent.$parent.model.f_user_state"
150
- :options='$parent.$parent.f_user_states'
151
- close-on-select clear-button></v-select>
152
- </div>
153
- </div>-->
154
-
155
-
156
-
157
- <div class="row text-center" style="margin-top: 20px;">
158
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
159
- </div>
160
- <div style="height:30px;"></div>
161
- </form>
162
- </div>
163
- </criteria>
164
-
165
- <list :model="model" partial='list'>
166
- <div partial>
167
- <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
168
- <div class="panel" style="padding: 10px 10px 5px 10px;">
169
- <div class="panel-body panel-self">
170
- <div class="row">
171
- <p class="panel-title col-xs-4 text-left font">用户编号</p>
172
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
173
- </div>
174
- <div class="row">
175
- <p class="panel-title col-xs-4 text-left font">用户名称</p>
176
- <p class="panel-title col-xs-8 text-left input-font">{{$parent.$parent.$parent.maskUserName(row.f_user_name) }}</p>
177
- </div>
178
- <div class="row">
179
- <p class="panel-title col-xs-4 text-left font">表号</p>
180
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
181
- </div>
182
- <div class="row">
183
- <p class="panel-title col-xs-4 text-left font">用户类型</p>
184
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
185
- </div>
186
- <div class="row">
187
- <p class="panel-title col-xs-4 text-left font">用户电话</p>
188
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}</p>
189
- </div>
190
-
191
- <div class="row">
192
- <p class="panel-title col-xs-4 text-left font">小区名称</p>
193
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
194
- </div>
195
- <div class="row">
196
- <p class="panel-title col-xs-4 text-left font">用户地址</p>
197
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
198
- </div>
199
- <div class="row">
200
- <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
201
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
202
- </div>
203
- <div class="row">
204
- <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
205
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
206
- </div>
207
- </div>
208
- </div>
209
-
210
- </div>
211
- </div>
212
- </list>
213
- </criteria-paged>
214
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
215
- </div>
216
- </template>
217
-
218
- <script>
219
- import {HttpResetClass, PagedList} from 'vue-client'
220
- import Vue from 'vue'
221
- import * as Util from '../../Util'
222
-
223
- export default {
224
- title: '安检员B',
225
- data () {
226
- let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,CAST(build as int),f_unit,CAST(floor1 as int),f_room"',f_check_type:'this.f_check_type[0]',
227
- 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'})
228
- model.f_sign = ['']
229
- model.f_user_type = ''
230
- model.f_user_state =['']
231
- model.f_check_type =['']
232
- model.myCycle = 0
233
- model.fyCycle = 0
234
- model.f_filialeid = Vue.user.orgid
235
- //model.f_filialeid = 287
236
- return {
237
- model: model,
238
- cbc:[],
239
- showModal:false,
240
- signs: [
241
- {label:'请选择录入状态', value:''},
242
- {label:'录入', value:'1'},
243
- {label:'非录入', value:'0'},
244
- ],
245
- ischecks: [
246
- ],
247
- user_types: [
248
- {label: '请选择用户类型', value: ''},
249
- {label: '民用', value: '民用'},
250
- {label: '非民用', value: '非民用'},
251
- ],
252
- f_user_states: [
253
- {label:'请选择档案状态', value:''},
254
- {label:'正常', value:'正常'},
255
- {label:'点火', value:'点火'},
256
- ],
257
- f_check_types: [
258
- {label:'请选择安检类型', value:''},
259
- {label:'应检', value:'应检'},
260
- {label:'超期', value:'超期'},
261
- ],
262
- }
263
- },
264
- ready () {
265
- // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
266
- // //tag)
267
- // if(res.data.code == 200){
268
- // this.model.myCycle = res.data.civil.value
269
- // this.model.fyCycle = res.data.civilian.value
270
- // }else{
271
- // //this.$showMessage(res.data.msg)
272
- // }
273
- //
274
- // })
275
- // this.getCheckTime()
276
- // this.Mreadibook()
277
- },
278
- computed: {
279
- reload(){
280
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
281
- },
282
- selected () {
283
- return this.$refs.paged.$refs.grid.selected
284
- }
285
- },
286
- methods:{
287
- maskUserName(name) {
288
- if (name.length <= 1) {
289
- return name; // 如果名字长度小于等于1,不进行遮罩
290
- }
291
- return name.charAt(0) + '*'.repeat(name.length - 1);
292
- },
293
- scan(){
294
- HostApp.__this__=this,
295
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
296
- },
297
- getCode(){
298
- var datapa = HostApp.getCode().data;
299
- //tag
300
- this.$refs.paged.$refs.cri.model.f_meternumber=datapa
301
- },
302
- getCheckTime(){
303
- //tag
304
- new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
305
- items: 'f_circle,f_start_time',
306
- tablename: 't_safe_circle',
307
- condition: `f_filialeid = '${Vue.user.orgid}'`,
308
- orderitem: 'id'
309
- }}).then(res=>{
310
- //tag)
311
- let nocheck=''
312
- let ischeck=''
313
- if (res.data[0]){
314
- if (res.data[0].f_circle=='1'){
315
- nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
316
- ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
317
-
318
- }else{
319
- let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
320
- //tag
321
- let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
322
- //tag
323
- nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
324
- ischeck=`ua.f_last_check_date>'${time}'`
325
- }
326
- //tag
327
- this.ischecks=[
328
- {label: '全部', value: ''},
329
- {label: '已检', value: ischeck },
330
- {label: '未检', value: nocheck},
331
- ]
332
- //tag
333
- }else{
334
- this.$showMessage("未配置安检周期")
335
- }
336
-
337
- })
338
- //tag
339
- },
340
- inspect (info){
341
- if(info.f_last_check_date){
342
- this.$showMessage("该用户最后一次安检时间为 "+info.f_last_check_date+" 是否继续对该用户进行安检",['confirm', 'cancel']).then((butt)=>{
343
- if(butt=="confirm"){
344
- info.id = ''
345
- info.f_state = '未检'
346
- info.f_no_checkplan = '无计划安检'
347
- //tag
348
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
349
- //tag)
350
- info['f_plan_meters'] = response.data
351
- var pardate = {
352
- _this:this,
353
- tittle:'安检详情',
354
- safe:true
355
- }
356
- this.$dispatch('gotoson',pardate)
357
- this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
358
-
359
- })
360
- }
361
- })
362
- }else{
363
- info.id = ''
364
- info.f_state = '未检'
365
- info.f_no_checkplan = '无计划安检'
366
- //tag
367
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
368
- //tag)
369
- info['f_plan_meters'] = response.data
370
- var pardate = {
371
- _this:this,
372
- tittle:'安检详情',
373
- safe:true
374
- }
375
- this.$dispatch('gotoson',pardate)
376
- this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
377
-
378
- })
379
- }
380
- },
381
- Mreadibook(){
382
- this.cbc=[]
383
- let http = new HttpResetClass()
384
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/getMeterBooksData`,
385
- {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
386
- {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
387
- this.cbc = [{label: '全部', value: ''}]
388
- //tag
389
- //tag)
390
- //tag
391
- getMeterReadingBooks.data.meterbooks.forEach((res) => {
392
- this.cbc.push({label: res.f_book_name, value: res.id})
393
- /*if(res.f_book_slice_area){
394
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
395
- this.sliceArea.push(res.f_book_slice_area)
396
- }
397
- }*/
398
- })
399
- })
400
-
401
-
402
- }
403
- }
404
- }
405
- </script>
406
- <style scoped>
407
- .app-row {
408
- background-color: white;
409
- padding: 10px 10px 0 10px;
410
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
411
- }
412
- .search_input {
413
- border: 0;
414
- outline: none;
415
- }
416
- .font{
417
- font: 15px PingFang-SC-Medium;
418
- color: #666666;
419
- }
420
- .input-font{
421
- font: 15px PingFang-SC-Medium;
422
- color: #333333;
423
- }
424
- .btn-font{
425
- font:600 16px PingFang-SC-Bold;
426
- color: #499EDF;
427
- }
428
- .btn-color{
429
- background-color: #FFFFFF;
430
- border-radius: 10px ;
431
- border: 1px solid #499EDF;
432
- }
433
- .app-text {
434
- font-size: 12px;
435
- }
436
- .panel-self{
437
- border-radius: 10px;
438
- border:1px solid #499EDF;
439
- background-color: #F8F8F8;
440
- }
441
- .yybtn-color{
442
- border-radius: 4px ;
443
- border: 1px solid #499EDF;
444
- }
445
- .qxbtn-color{
446
- background-color: #FFFFFF;
447
- border-radius: 4px ;
448
- border: 1px solid #499EDF;
449
- }
450
- </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 app-row">
127
+ <div class="col-xs-4">
128
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
129
+ <label class="font text-left">安检情况</label>
130
+ </div>
131
+ <div class="col-xs-8" >
132
+ <v-select class="input-font"
133
+ placeholder='请选择安检情况'
134
+ :value.sync="model.f_ischeck"
135
+ v-model="model.f_ischeck"
136
+ :options='$parent.$parent.ischecks'
137
+ condition="{}"
138
+ close-on-select clear-button></v-select>
139
+ </div>
140
+ </div>
141
+ <div class="row app-row">
142
+ <div class="col-xs-4">
143
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
144
+ <label class="font text-left">档案状态:</label>
145
+ </div>
146
+ <div class="col-xs-8" >
147
+ <v-select class="input-font"
148
+ placeholder='请选择档案状态'
149
+ :value.sync="$parent.$parent.model.f_user_state"
150
+ :options='$parent.$parent.f_user_states'
151
+ close-on-select clear-button></v-select>
152
+ </div>
153
+ </div>-->
154
+
155
+
156
+
157
+ <div class="row text-center" style="margin-top: 20px;">
158
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
159
+ </div>
160
+ <div style="height:30px;"></div>
161
+ </form>
162
+ </div>
163
+ </criteria>
164
+
165
+ <list :model="model" partial='list'>
166
+ <div partial>
167
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
168
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
169
+ <div class="panel-body panel-self">
170
+ <div class="row">
171
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
172
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
173
+ </div>
174
+ <div class="row">
175
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
176
+ <p class="panel-title col-xs-8 text-left input-font">{{$parent.$parent.$parent.maskUserName(row.f_user_name) }}</p>
177
+ </div>
178
+ <div class="row">
179
+ <p class="panel-title col-xs-4 text-left font">表号</p>
180
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
181
+ </div>
182
+ <div class="row">
183
+ <p class="panel-title col-xs-4 text-left font">用户类型</p>
184
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_type }}</p>
185
+ </div>
186
+ <div class="row">
187
+ <p class="panel-title col-xs-4 text-left font">用户电话</p>
188
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}</p>
189
+ </div>
190
+
191
+ <div class="row">
192
+ <p class="panel-title col-xs-4 text-left font">小区名称</p>
193
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_residential_area }}</p>
194
+ </div>
195
+ <div class="row">
196
+ <p class="panel-title col-xs-4 text-left font">用户地址</p>
197
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
198
+ </div>
199
+ <div class="row">
200
+ <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
201
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
202
+ </div>
203
+ <div class="row">
204
+ <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
205
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ </div>
211
+ </div>
212
+ </list>
213
+ </criteria-paged>
214
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
215
+ </div>
216
+ </template>
217
+
218
+ <script>
219
+ import {HttpResetClass, PagedList} from 'vue-client'
220
+ import Vue from 'vue'
221
+ import * as Util from '../../Util'
222
+
223
+ export default {
224
+ title: '安检员B',
225
+ data () {
226
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/提取用户档案`, 20, { groupitem: '""', orderitem: '"f_residential_area,CAST(build as int),f_unit,CAST(floor1 as int),f_room"',f_check_type:'this.f_check_type[0]',
227
+ 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'})
228
+ model.f_sign = ['']
229
+ model.f_user_type = ''
230
+ model.f_user_state =['']
231
+ model.f_check_type =['']
232
+ model.myCycle = 0
233
+ model.fyCycle = 0
234
+ model.f_filialeid = Vue.user.orgid
235
+ //model.f_filialeid = 287
236
+ return {
237
+ model: model,
238
+ cbc:[],
239
+ showModal:false,
240
+ signs: [
241
+ {label:'请选择录入状态', value:''},
242
+ {label:'录入', value:'1'},
243
+ {label:'非录入', value:'0'},
244
+ ],
245
+ ischecks: [
246
+ ],
247
+ user_types: [
248
+ {label: '请选择用户类型', value: ''},
249
+ {label: '民用', value: '民用'},
250
+ {label: '非民用', value: '非民用'},
251
+ ],
252
+ f_user_states: [
253
+ {label:'请选择档案状态', value:''},
254
+ {label:'正常', value:'正常'},
255
+ {label:'点火', value:'点火'},
256
+ ],
257
+ f_check_types: [
258
+ {label:'请选择安检类型', value:''},
259
+ {label:'应检', value:'应检'},
260
+ {label:'超期', value:'超期'},
261
+ ],
262
+ }
263
+ },
264
+ ready () {
265
+ // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
266
+ // //tag)
267
+ // if(res.data.code == 200){
268
+ // this.model.myCycle = res.data.civil.value
269
+ // this.model.fyCycle = res.data.civilian.value
270
+ // }else{
271
+ // //this.$showMessage(res.data.msg)
272
+ // }
273
+ //
274
+ // })
275
+ // this.getCheckTime()
276
+ // this.Mreadibook()
277
+ },
278
+ computed: {
279
+ reload(){
280
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
281
+ },
282
+ selected () {
283
+ return this.$refs.paged.$refs.grid.selected
284
+ }
285
+ },
286
+ methods:{
287
+ maskUserName(name) {
288
+ if (name.length <= 1) {
289
+ return name; // 如果名字长度小于等于1,不进行遮罩
290
+ }
291
+ return name.charAt(0) + '*'.repeat(name.length - 1);
292
+ },
293
+ scan(){
294
+ HostApp.__this__=this,
295
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
296
+ },
297
+ getCode(){
298
+ var datapa = HostApp.getCode().data;
299
+ //tag
300
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
301
+ },
302
+ getCheckTime(){
303
+ //tag
304
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
305
+ items: 'f_circle,f_start_time',
306
+ tablename: 't_safe_circle',
307
+ condition: `f_filialeid = '${Vue.user.orgid}'`,
308
+ orderitem: 'id'
309
+ }}).then(res=>{
310
+ //tag)
311
+ let nocheck=''
312
+ let ischeck=''
313
+ if (res.data[0]){
314
+ if (res.data[0].f_circle=='1'){
315
+ nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
316
+ ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
317
+
318
+ }else{
319
+ let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
320
+ //tag
321
+ let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
322
+ //tag
323
+ nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
324
+ ischeck=`ua.f_last_check_date>'${time}'`
325
+ }
326
+ //tag
327
+ this.ischecks=[
328
+ {label: '全部', value: ''},
329
+ {label: '已检', value: ischeck },
330
+ {label: '未检', value: nocheck},
331
+ ]
332
+ //tag
333
+ }else{
334
+ this.$showMessage("未配置安检周期")
335
+ }
336
+
337
+ })
338
+ //tag
339
+ },
340
+ inspect (info){
341
+ if(info.f_last_check_date){
342
+ this.$showMessage("该用户最后一次安检时间为 "+info.f_last_check_date+" 是否继续对该用户进行安检",['confirm', 'cancel']).then((butt)=>{
343
+ if(butt=="confirm"){
344
+ info.id = ''
345
+ info.f_state = '未检'
346
+ info.f_no_checkplan = '无计划安检'
347
+ //tag
348
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
349
+ //tag)
350
+ info['f_plan_meters'] = response.data
351
+ var pardate = {
352
+ _this:this,
353
+ tittle:'安检详情',
354
+ safe:true
355
+ }
356
+ this.$dispatch('gotoson',pardate)
357
+ this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
358
+
359
+ })
360
+ }
361
+ })
362
+ }else{
363
+ info.id = ''
364
+ info.f_state = '未检'
365
+ info.f_no_checkplan = '无计划安检'
366
+ //tag
367
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
368
+ //tag)
369
+ info['f_plan_meters'] = response.data
370
+ var pardate = {
371
+ _this:this,
372
+ tittle:'安检详情',
373
+ safe:true
374
+ }
375
+ this.$dispatch('gotoson',pardate)
376
+ this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
377
+
378
+ })
379
+ }
380
+ },
381
+ Mreadibook(){
382
+ this.cbc=[]
383
+ let http = new HttpResetClass()
384
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/getMeterBooksData`,
385
+ {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
386
+ {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
387
+ this.cbc = [{label: '全部', value: ''}]
388
+ //tag
389
+ //tag)
390
+ //tag
391
+ getMeterReadingBooks.data.meterbooks.forEach((res) => {
392
+ this.cbc.push({label: res.f_book_name, value: res.id})
393
+ /*if(res.f_book_slice_area){
394
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
395
+ this.sliceArea.push(res.f_book_slice_area)
396
+ }
397
+ }*/
398
+ })
399
+ })
400
+
401
+
402
+ }
403
+ }
404
+ }
405
+ </script>
406
+ <style scoped>
407
+ .app-row {
408
+ background-color: white;
409
+ padding: 10px 10px 0 10px;
410
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
411
+ }
412
+ .search_input {
413
+ border: 0;
414
+ outline: none;
415
+ }
416
+ .font{
417
+ font: 15px PingFang-SC-Medium;
418
+ color: #666666;
419
+ }
420
+ .input-font{
421
+ font: 15px PingFang-SC-Medium;
422
+ color: #333333;
423
+ }
424
+ .btn-font{
425
+ font:600 16px PingFang-SC-Bold;
426
+ color: #499EDF;
427
+ }
428
+ .btn-color{
429
+ background-color: #FFFFFF;
430
+ border-radius: 10px ;
431
+ border: 1px solid #499EDF;
432
+ }
433
+ .app-text {
434
+ font-size: 12px;
435
+ }
436
+ .panel-self{
437
+ border-radius: 10px;
438
+ border:1px solid #499EDF;
439
+ background-color: #F8F8F8;
440
+ }
441
+ .yybtn-color{
442
+ border-radius: 4px ;
443
+ border: 1px solid #499EDF;
444
+ }
445
+ .qxbtn-color{
446
+ background-color: #FFFFFF;
447
+ border-radius: 4px ;
448
+ border: 1px solid #499EDF;
449
+ }
450
+ </style>