safecheck-client 3.0.34-66 → 3.0.34-67

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,446 +0,0 @@
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.inspectRepair(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 }}</p>
158
- </div>
159
-
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_residential_area }}</p>
163
- </div>
164
- <div class="row">
165
- <p class="panel-title col-xs-4 text-left font">用户地址</p>
166
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_address }}</p>
167
- </div>
168
- <div class="row">
169
- <p class="panel-title col-xs-4 text-left font">最后安检日期</p>
170
- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_date }}</p>
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_last_check_state }}</p>
175
- </div>
176
- </div>
177
- </div>
178
-
179
- </div>
180
- </div>
181
- </list>
182
- </criteria-paged>
183
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
184
- </div>
185
- </template>
186
-
187
- <script>
188
- import {HttpResetClass, PagedList} from 'vue-client'
189
- import Vue from 'vue'
190
- import * as Util from '../../Util'
191
-
192
- export default {
193
- title: '安检员B',
194
- data () {
195
- 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]',
196
- 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'})
197
- model.f_sign = ['']
198
- model.f_user_type = ''
199
- model.f_user_state =['']
200
- model.f_check_type =['']
201
- model.myCycle = 0
202
- model.fyCycle = 0
203
- model.f_filialeid = Vue.user.orgid
204
- //model.f_filialeid = 287
205
- return {
206
- model: model,
207
- cbc:[],
208
- showModal:false,
209
- signs: [
210
- {label:'请选择录入状态', value:''},
211
- {label:'录入', value:'1'},
212
- {label:'非录入', value:'0'},
213
- ],
214
- ischecks: [
215
- ],
216
- user_types: [
217
- {label: '请选择用户类型', value: ''},
218
- {label: '民用', value: '民用'},
219
- {label: '非民用', value: '非民用'},
220
- ],
221
- f_user_states: [
222
- {label:'请选择档案状态', value:''},
223
- {label:'正常', value:'正常'},
224
- {label:'点火', value:'点火'},
225
- ],
226
- f_check_types: [
227
- {label:'请选择安检类型', value:''},
228
- {label:'应检', value:'应检'},
229
- {label:'超期', value:'超期'},
230
- ],
231
- }
232
- },
233
- ready () {
234
- // this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSafeCheckCycle`,{},{resolveMsg: null, rejectMsg: null}).then((res) => {
235
- // //tag)
236
- // if(res.data.code == 200){
237
- // this.model.myCycle = res.data.civil.value
238
- // this.model.fyCycle = res.data.civilian.value
239
- // }else{
240
- // //this.$showMessage(res.data.msg)
241
- // }
242
- //
243
- // })
244
- // this.getCheckTime()
245
- // this.Mreadibook()
246
- },
247
- computed: {
248
- reload(){
249
- this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
250
- },
251
- selected () {
252
- return this.$refs.paged.$refs.grid.selected
253
- }
254
- },
255
- methods:{
256
- inspectRepair(row){
257
- var _this = this
258
- let http = new HttpResetClass()
259
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, {data: {condition: `tcp.f_userinfo_code = '${row.f_userinfo_code}'`,f_filialeids:Vue.user.orgid}},
260
- {resolveMsg: null, rejectMsg: null}).then(resp=>{
261
- if (resp.data.length>0){
262
- this.$showMessage('该用户有隐患未处理,是否先处理隐患?', ['cancel', 'confirm']).then(
263
- (response) => {
264
- if (response === 'confirm') {
265
- var pardate = {
266
- _this:_this,
267
- title:'隐患处理',
268
- safe:true
269
- }
270
- _this.$dispatch('gotoson',pardate)
271
- _this.$goto('android-defect-deal-before-safe', {row: row}, 'self', function () {
272
- _this.inspect(row)
273
- })
274
- }else {
275
- this.inspect(row)
276
- }
277
- }
278
- )
279
- }else {
280
- this.inspect(row)
281
- }
282
- }).catch(()=>{
283
- this.inspect(row)
284
- })
285
- },
286
- scan(){
287
- HostApp.__this__=this,
288
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
289
- },
290
- getCode(){
291
- let datapa = HostApp.getCode().data;
292
- let indexnum = datapa.indexOf("]C1")
293
- if(indexnum != -1){
294
- datapa = datapa.substring(indexnum+3,datapa.length)
295
- }
296
- this.$refs.paged.$refs.cri.model.f_meternumber=datapa
297
- },
298
- getCheckTime(){
299
- //tag
300
- new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
301
- items: 'f_circle,f_start_time',
302
- tablename: 't_safe_circle',
303
- condition: `f_filialeid = '${Vue.user.orgid}'`,
304
- orderitem: 'id'
305
- }}).then(res=>{
306
- //tag)
307
- let nocheck=''
308
- let ischeck=''
309
- if (res.data[0]){
310
- if (res.data[0].f_circle=='1'){
311
- nocheck=`(ua.f_last_check_date<'${res.data[0].f_start_time}' or ua.f_last_check_date is null)`
312
- ischeck=`ua.f_last_check_date>'${res.data[0].f_start_time}'`
313
-
314
- }else{
315
- let addtime= (Util.toStandardTimeString().substring(0,4)-res.data[0].f_start_time.substring(0,4))%res.data[0].f_circle
316
- //tag
317
- let time =(Util.toStandardTimeString().substring(0,4)-addtime)+'-01-01 00:00:00'
318
- //tag
319
- nocheck=`(ua.f_last_check_date<'${time}' or ua.f_last_check_date is null)`
320
- ischeck=`ua.f_last_check_date>'${time}'`
321
- }
322
- //tag
323
- this.ischecks=[
324
- {label: '全部', value: ''},
325
- {label: '已检', value: ischeck },
326
- {label: '未检', value: nocheck},
327
- ]
328
- //tag
329
- }else{
330
- this.$showMessage("未配置安检周期")
331
- }
332
-
333
- })
334
- //tag
335
- },
336
- inspect (info){
337
- if(info.f_last_check_date){
338
- this.$showMessage("该用户最后一次安检时间为 "+info.f_last_check_date+" 是否继续对该用户进行安检",['confirm', 'cancel']).then((butt)=>{
339
- if(butt=="confirm"){
340
- info.id = ''
341
- info.f_state = '未检'
342
- info.f_no_checkplan = '无计划安检'
343
- //tag
344
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
345
- //tag)
346
- info['f_plan_meters'] = response.data
347
- var pardate = {
348
- _this:this,
349
- tittle:'安检详情',
350
- safe:true
351
- }
352
- this.$dispatch('gotoson',pardate)
353
- this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
354
-
355
- })
356
- }
357
- })
358
- }else{
359
- info.id = ''
360
- info.f_state = '未检'
361
- info.f_no_checkplan = '无计划安检'
362
- //tag
363
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`,{data:{f_userid:info.f_userinfo_id}}).then((response)=>{
364
- //tag)
365
- info['f_plan_meters'] = response.data
366
- var pardate = {
367
- _this:this,
368
- tittle:'安检详情',
369
- safe:true
370
- }
371
- this.$dispatch('gotoson',pardate)
372
- this.$goto('safecheck-order-v', {item: info, role: 'inspect',parentPage:'AddPlanItem'}, 'self', this.reload)
373
-
374
- })
375
- }
376
- },
377
- Mreadibook(){
378
- this.cbc=[]
379
- let http = new HttpResetClass()
380
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/logic/getMeterBooksData`,
381
- {data: {f_orgid: "('"+Vue.user.orgid+"')"}},
382
- {resolveMsg: null, rejectMsg: '获取失败!!!'}).then((getMeterReadingBooks)=>{
383
- this.cbc = [{label: '全部', value: ''}]
384
- //tag
385
- //tag)
386
- //tag
387
- getMeterReadingBooks.data.meterbooks.forEach((res) => {
388
- this.cbc.push({label: res.f_book_name, value: res.id})
389
- /*if(res.f_book_slice_area){
390
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
391
- this.sliceArea.push(res.f_book_slice_area)
392
- }
393
- }*/
394
- })
395
- })
396
-
397
-
398
- }
399
- }
400
- }
401
- </script>
402
- <style scoped>
403
- .app-row {
404
- background-color: white;
405
- padding: 10px 10px 0 10px;
406
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
407
- }
408
- .search_input {
409
- border: 0;
410
- outline: none;
411
- }
412
- .font{
413
- font: 15px PingFang-SC-Medium;
414
- color: #666666;
415
- }
416
- .input-font{
417
- font: 15px PingFang-SC-Medium;
418
- color: #333333;
419
- }
420
- .btn-font{
421
- font:600 16px PingFang-SC-Bold;
422
- color: #499EDF;
423
- }
424
- .btn-color{
425
- background-color: #FFFFFF;
426
- border-radius: 10px ;
427
- border: 1px solid #499EDF;
428
- }
429
- .app-text {
430
- font-size: 12px;
431
- }
432
- .panel-self{
433
- border-radius: 10px;
434
- border:1px solid #499EDF;
435
- background-color: #F8F8F8;
436
- }
437
- .yybtn-color{
438
- border-radius: 4px ;
439
- border: 1px solid #499EDF;
440
- }
441
- .qxbtn-color{
442
- background-color: #FFFFFF;
443
- border-radius: 4px ;
444
- border: 1px solid #499EDF;
445
- }
446
- </style>