safecheck-client 3.0.35-gongyi → 3.0.35-gongyi-1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,691 +1,691 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <div partial>
6
- <div class="row " >
7
- <label class="form-group font_normal_body"><b>用户信息</b></label>
8
-
9
- <div class="form-group col-sm-1" >
10
- <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
- style="width: 95%" placeholder="客户编号" condition="ui.f_userinfo_code='{}'">
12
- </div>
13
- <div class="form-group col-sm-1" >
14
- <input type="text" class="input_search" v-model="model.f_user_name"
15
- style="width: 95%" placeholder="客户名称" condition="ui.f_user_name like '%{}%'">
16
- </div>
17
- <div class="form-group col-sm-1" >
18
- <input type="text" class="input_search" v-model="model.f_address"
19
- style="width: 95%" placeholder="客户地址" condition="ua.f_address like '%{}%'">
20
- </div>
21
- <div class="form-group col-sm-1 upuserinfo_sel" >
22
- <v-select
23
- class="select select_list"
24
- :width="'95%'"
25
- :value.sync="model.f_area"
26
- v-model="model.f_area"
27
- :options='$parent.$parent.areaList'
28
- :timeout="500"
29
- @select-search="$parent.$parent.select_search"
30
- placeholder='小区选择'
31
- condition="ua.f_residential_area = '{}'"
32
- close-on-select
33
- value-single
34
- >
35
- </v-select>
36
- </div>
37
- <div class="form-group col-sm-4" >
38
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
39
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUploadCodeCondition()">导入编号</button>
40
- <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.clearUserInfoId()">清空编号</button>
41
- <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
42
- </div>
43
- <div class="form-group col-sm-1" style="float: right">
44
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.dragtoPlanItem()">添入计划</button>
45
- </div>
46
- <modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
47
- <div slot="modal-header" class="modal-header">
48
- <h4 class="modal-title">
49
- 用户查询条件
50
- </h4>
51
- </div>
52
- <div slot="modal-body" class="modal-body">
53
- <div class="row">
54
- <div class="form-group col-sm-4" >
55
- <label class="font_normal_body">用户类型:</label>
56
- <v-select
57
- class="select select_list"
58
- :value.sync="model.f_user_type"
59
- v-model="model.f_user_type"
60
- :options='$parent.$parent.userTypes'
61
- placeholder='请选择'
62
- condition="uf.f_user_type='{}'"
63
- :search="false"
64
- close-on-select
65
- value-single
66
- >
67
- </v-select>
68
- </div>
69
- <div class="form-group col-sm-4" >
70
- <label class="font_normal_body">用户状态:</label>
71
- <v-select
72
- class="select select_list"
73
- :value.sync="model.f_user_state"
74
- v-model="model.f_user_state"
75
- :options='$parent.$parent.userStates'
76
- placeholder='请选择'
77
- condition="ui.f_user_state='{}'"
78
- :search="false"
79
- close-on-select
80
- value-single
81
- >
82
- </v-select>
83
- </div>
84
- <div class="form-group col-sm-4" >
85
- <label class="font_normal_body">用气性质:</label>
86
- <v-select
87
- class="select select_list"
88
- :value.sync="model.f_gasproperties"
89
- v-model="model.f_gasproperties"
90
- :options='$parent.$parent.gasproperties'
91
- placeholder='请选择'
92
- condition="uf.f_gasproperties='{}'"
93
- :search="false"
94
- close-on-select
95
- value-single
96
- >
97
- </v-select>
98
- </div>
99
- <div class="form-group col-sm-4" >
100
- <label class="font_normal_body">气表类型:</label>
101
- <v-select
102
- class="select select_list"
103
- :value.sync="model.meter_classify"
104
- v-model="model.meter_classify"
105
- :options='$parent.$parent.meter_classifys'
106
- placeholder='请选择'
107
- condition="uf.F_METER_CLASSIFY='{}'"
108
- :search="false"
109
- close-on-select
110
- value-single
111
- >
112
- </v-select>
113
- </div>
114
- <div class="form-group col-sm-4" >
115
- <label class="font_normal_body">气表品牌:</label>
116
- <v-select
117
- class="select select_list"
118
- :value.sync="model.gasbrand"
119
- v-model="model.gasbrand"
120
- :options='$parent.$parent.getgasbrand'
121
- placeholder='请选择'
122
- :search="false"
123
- close-on-select
124
- value-single
125
- >
126
- </v-select>
127
- </div>
128
- <div class="form-group col-sm-4" >
129
- <label class="font_normal_body">气表型号:</label>
130
- <v-select
131
- class="select select_list"
132
- :value.sync="model.gasmodel"
133
- v-model="model.gasmodel"
134
- :options='$parent.$parent.getgasmodel'
135
- placeholder='请选择'
136
- condition="uf.f_gasmodel_id = {}"
137
- :search="false"
138
- close-on-select
139
- value-single
140
- >
141
- </v-select>
142
- </div>
143
- <!--<div class="form-group col-sm-4" >
144
- <label class="font_normal_body">小区名称:</label>
145
- <input type="text" class="input_search" v-model="model.f_userinfo_code"
146
- style="width: 60%" placeholder="请选择" condition="ua.f_residential_area = '{}'">
147
- </div>-->
148
- <div class="form-group col-sm-4" >
149
- <label class="font_normal_body">楼&ensp;栋&ensp;号:</label>
150
- <input type="text" class="input_search" v-model="model.f_building"
151
- style="width: 60%" placeholder="请选择" condition="ua.f_building='{}'">
152
- </div>
153
- <div class="form-group col-sm-4" >
154
- <label class="font_normal_body">单&ensp;元&ensp;号:</label>
155
- <input type="text" class="input_search" v-model="model.f_unit"
156
- style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
157
- </div>
158
- <div class="form-group col-sm-4" >
159
- <label class="font_normal_body">开户起始:</label>
160
- <datepicker
161
- placeholder='请选择'
162
- style="width:60%"
163
- :disabled-days-of-week="[]"
164
- :format="'yyyy-MM-dd'"
165
- :show-rest-button="reset"
166
- :value.sync="model.f_startfile_time"
167
- v-model="model.f_startfile_time"
168
- condition="ui.f_createfile_date >= '{} 00:00:00'">
169
- </datepicker>
170
- </div>
171
- <div class="form-group col-sm-4" >
172
- <label class="font_normal_body">开户截止:</label>
173
- <datepicker
174
- placeholder='请选择'
175
- :disabled-days-of-week="[]"
176
- style="width:60%"
177
- :format="'yyyy-MM-dd'"
178
- :show-rest-button="reset"
179
- :value.sync="model.f_endfile_time"
180
- v-model="model.f_endfile_time"
181
- condition="ui.f_createfile_date <= '{} 00:00:00'">
182
- </datepicker>
183
- </div>
184
- <div class="form-group col-sm-4" >
185
- <label class="font_normal_body">表&ensp;箱&ensp;号:</label>
186
- <input type="text" class="input_search" v-model="model.f_metertitles"
187
- style="width: 60%" placeholder="请选择" condition="uf.f_metertitles='{}'">
188
- </div>
189
- <div class="form-group col-sm-4" >
190
- <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区:</label>
191
- <v-select
192
- class="select select_list"
193
- :value.sync="model.f_book_slice_area"
194
- v-model="model.f_book_slice_area"
195
- :options='$parent.$parent.sliceArea'
196
- @change="$parent.$parent.slice_areaChange(model.f_book_slice_area)"
197
- placeholder='请选择'
198
- condition="ua.f_slice_area ='{}'"
199
- close-on-select
200
- value-single
201
- >
202
- </v-select>
203
- </div>
204
- <div class="form-group col-sm-4" >
205
- <label class="font_normal_body">抄&ensp;表&ensp;册:</label>
206
- <v-select
207
- class="select select_list"
208
- :value.sync="model.f_meter_book_num"
209
- v-model="model.f_meter_book_num"
210
- :options='$parent.$parent.cbc'
211
- placeholder='请选择'
212
- condition="uf.f_meter_book_num='{}'"
213
- close-on-select
214
- value-single
215
- >
216
- </v-select>
217
- </div>
218
- <div class="form-group col-sm-4" >
219
- <label class="font_normal_body">派发情况:</label>
220
- <v-select
221
- class="select select_list"
222
- :value.sync="model.yearCheck"
223
- v-model="model.yearCheck"
224
- :options='$parent.$parent.yearCheckList'
225
- placeholder='请选择'
226
- condition="{}"
227
- :search="false"
228
- close-on-select
229
- value-single
230
- >
231
- </v-select>
232
- </div>
233
- <div class="form-group col-sm-4" >
234
- <label class="font_normal_body">房屋类型:</label>
235
- <v-select
236
- class="select select_list"
237
- :value.sync="model.f_house_type"
238
- v-model="model.f_house_type"
239
- :options='$parent.$parent.housetype'
240
- placeholder='请选择'
241
- close-on-select
242
- condition="ui.f_house_type='{}'"
243
- :search="false"
244
- value-single
245
- >
246
- </v-select>
247
- </div>
248
- <div class="form-group col-sm-4" >
249
- <label class="font_normal_body">安装位置:</label>
250
- <v-select
251
- class="select select_list"
252
- :value.sync="model.f_position"
253
- v-model="model.f_position"
254
- :options='$parent.$parent.positions'
255
- condition="uf.f_position='{}'"
256
- placeholder='请选择'
257
- close-on-select
258
- :search="false"
259
- value-single
260
- >
261
- </v-select>
262
- </div>
263
- <div class="form-group col-sm-4" >
264
- <label class="font_normal_body">使用类型:</label>
265
- <v-select
266
- class="select select_list"
267
- :value.sync="model.f_usetype"
268
- v-model="model.f_usetype"
269
- :options='$parent.$parent.usetype'
270
- condition="uf.f_usetype='{}'"
271
- placeholder='请选择'
272
- close-on-select
273
- :search="false"
274
- value-single
275
- >
276
- </v-select>
277
- </div>
278
-
279
- </div>
280
- </div>
281
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
282
- <button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
283
- <button class="button_search" @click="$parent.$parent.cancel">取消</button>
284
- </div>
285
- </modal>
286
- <modal :show.sync="$parent.$parent.excelUserCondtion" width="500px" v-ref:modal1 >
287
- <div slot="modal-header" class="modal-header">
288
- <h4 class="modal-title">
289
- 导入用户编号
290
- </h4>
291
- </div>
292
- <div slot="modal-body" class="modal-body">
293
- <div class="row">
294
- <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
295
- action="rs/file/uploadFile" tagname="档案信息导入" v-ref:file :headers="headers" multiple></file-upload>
296
- <img src="../../assets/Excelformat.png" style="width: 100%"/>
297
- </div>
298
- </div>
299
- <footer slot="modal-footer" class="modal-footer">
300
- </footer>
301
- </modal>
302
- <!--<div class="form-group col-sm-4 button-range" >
303
-
304
- <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
305
- <export-excel-safe :data="$parent.$parent.exportParameter"
306
- :field="$parent.$parent.excelHeaders"
307
- sqlurl="rs/logic/SafeExportExcel" sql-name="planItem"
308
- template-name='安检计划明细' :choose-col="true">
309
- </export-excel-safe>
310
-
311
- </div>-->
312
- </div>
313
- </div>
314
- </criteria>
315
- <data-grid :model="model" partial='list' class="table_sy">
316
-
317
- <template partial='head'>
318
- <tr>
319
- <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/> 全选</nobr></th>
320
- <th><nobr>用户编号</nobr></th>
321
- <th><nobr>用户名称</nobr></th>
322
- <th><nobr>用户类型</nobr></th>
323
- <th><nobr>小区名称</nobr></th>
324
- <th><nobr>片区</nobr></th>
325
- <th><nobr>抄表册</nobr></th>
326
- <th title="当前所在的安检计划名称"><nobr>所属计划</nobr></th>
327
- <th title="最后一次安检日期"><nobr>安检日期</nobr></th>
328
- <th><nobr>详细地址</nobr></th>
329
- </tr>
330
- </template>
331
- <template partial='body'>
332
- <td style="text-align: center;white-space:nowrap;"><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.id)" @change="$parent.$parent.$parent.setCheckes(row.id)" /></td>
333
- <td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
334
- <td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
335
- <td style="text-align: center"><nobr>{{row.f_user_type}}</nobr></td>
336
- <td style="text-align: center"><nobr>{{row.f_residential_area}}</nobr></td>
337
- <td style="text-align: center"><nobr>{{row.f_book_slice_area}}</nobr></td>
338
- <td style="text-align: center"><nobr>{{row.f_book_name}}</nobr></td>
339
- <td style="text-align: center"><nobr>{{row.f_plan_name}}</nobr></td>
340
- <td style="text-align: center"><nobr>{{row.f_last_check_date}}</nobr></td>
341
- <td style="text-align: center"><nobr>{{row.f_address}}</nobr></td>
342
- </template>
343
- </data-grid>
344
- </criteria-paged>
345
- </div>
346
- </template>
347
-
348
- <script>
349
- import {HttpResetClass, PagedList} from "vue-client";
350
- import * as Util from "../Util";
351
- import Vue from "vue";
352
-
353
- export default {
354
- name: "PlanManage",
355
- title: '计划管理',
356
- data() {
357
- return {
358
- model:new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
359
- "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
360
- "f_usertype": "''",
361
- "month": "''",
362
- "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
363
- "SafeCheckCQ": "''",
364
- "startday":"''",
365
- "endday":"''"}),
366
- a:'1',
367
- opt:[{label:"测试",value:"测试"}],
368
- showCondtion:false,
369
- userTypes:[],//用户类型
370
- userStates:[],//用户状态
371
- gasproperties:[],//用气性质
372
- meter_classifys:[],//气表类型
373
- hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
374
- yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
375
- sliceArea:[],
376
- meterbooks:[],
377
- cbc:[],
378
- areaList:[],
379
- checkAll:false,
380
- checkes:[],
381
- excelUserCondtion:false,
382
- uploadCodeCondition:'',
383
- housetype: [{label: '楼房', value: '楼房'}, {label: '自建房', value: '自建房'}],
384
- positions: [],
385
- usetype: [],
386
- meterbrands:[]
387
- }
388
- },
389
- props:["selectplan","userlogin"],
390
- ready(){
391
- this.$refs.paged.$refs.criteria.model.f_user_state='正常'
392
- this.$refs.paged.$refs.criteria.model.f_endfile_time=Util.toStartDateYearString()
393
- //this.$refs.paged.$refs.criteria.model.f_hasHousehold='未入户'
394
- this.setConList()
395
- this.loadpage()
396
- },
397
- methods: {
398
- loadpage(){
399
- this.select_search()
400
- this.Mreadibook()
401
- this.getSliceArea()
402
- },
403
- cancel(){
404
- this.showCondtion=false
405
- this.excelUserCondtion=false
406
- },
407
- //清空用户编号
408
- clearUserInfoId(){
409
- this.uploadCodeCondition=''
410
- Vue.showMessage("已清空用户编号")
411
- },
412
- showUploadCodeCondition(){
413
- this.excelUserCondtion=true
414
- },
415
- selfSearch (args) {
416
- console.log("------------"+JSON.stringify(args.model))
417
- args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
418
- /*if(args.model.f_hasHousehold=='已入户'){
419
- args.condition +=` and Extract(year from TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'))=2021 and ua.F_LAST_CHECK_STATE='入户'`
420
- }else if(args.model.f_hasHousehold=='未入户'){
421
- args.condition +=` and (Extract(year from nvl(TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'),'1990-01-01 00:00:00'))!=2021 or nvl(ua.F_LAST_CHECK_STATE,'未入户')!='入户')`
422
- }*/
423
- if(this.uploadCodeCondition){
424
- args.condition +=` and ${this.uploadCodeCondition}`
425
- }
426
- if(args.model.gasbrand){
427
- args.condition +=` and f_gasbrand_id=${args.model.gasbrand.id}`
428
- }
429
- this.cancel()
430
- this.checkes=[]
431
- this.checkAll=false
432
- this.model.search(args.condition, args.model, args.condValue)
433
- },
434
- showUserCondition(){
435
- this.showCondtion=true
436
- },
437
- setConList(){
438
- new HttpResetClass().load("POST", `/rs/logic/getSaleInitData`, {data:{f_orgid:`${this.$login.f.orgid}`}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
439
- console.log('请求yingshoucanshu发送完成!!!!!'+JSON.stringify(res))
440
- this.meterbrands=res.data.gasbrands
441
- })
442
- this.userTypes=this.$appdata.getParam('用户类型') ? [{
443
- label: '全部',
444
- value: ''
445
- }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
446
-
447
- this.userStates=this.$appdata.getParam('安检用户状态') ? [...this.$appdata.getParam('安检用户状态')] : []
448
- this.gasproperties=this.$appdata.getParam('用气性质') ? [{
449
- label: '全部',
450
- value: ''
451
- }, ...this.$appdata.getParam('用气性质')] : [{label: '全部', value: ''}]
452
- this.meter_classifys=this.$appdata.getParam('气表类型') ? [{
453
- label: '全部',
454
- value: ''
455
- }, ...this.$appdata.getParam('气表类型')] : [{label: '全部', value: ''}]
456
-
457
- this.positions=this.$appdata.getParam('安装位置') ? [{
458
- label: '全部',
459
- value: ''
460
- }, ...this.$appdata.getParam('安装位置')] : [{label: '全部', value: ''}]
461
-
462
- this.usetype=this.$appdata.getParam('使用类型') ? [{
463
- label: '全部',
464
- value: ''
465
- }, ...this.$appdata.getParam('使用类型')] : [{label: '全部', value: ''}]
466
- },
467
- select_search(text){
468
- console.log("----------------"+text)
469
- let pcdText=text?` and f_residential_area like '%${text}%'`:''
470
- new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_area",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
471
- //console.log('请求发送完成!!!!!'+JSON.stringify(res))
472
- this.areaList=[]
473
- if(res.data.length>0){
474
- this.areaList.push({label:"全部",value:""})
475
- res.data.forEach((result)=>{
476
- this.areaList.push({label:result.f_residential_area,value:result.f_residential_area})
477
- })
478
- }
479
-
480
- })
481
- },
482
- //获取抄表册
483
- async Mreadibook(){
484
- this.cbc=[]
485
- this.sliceArea=[]
486
- let http = new HttpResetClass()
487
- let getMeterReadingBooks = await http.load('POST','rs/logic/getMeterBooksData',
488
- {data: {f_orgid: "('"+this.userlogin.orgid+"')"}},
489
- {resolveMsg: null, rejectMsg: '获取失败!!!'})
490
- this.cbc = [{label: '全部', value: ''}]
491
- console.log('22222222222222222222222222222222222222')
492
- console.log(JSON.stringify(getMeterReadingBooks))
493
- console.log('22222222222222222222222222222222222222')
494
- this.meterbooks=[]
495
- this.meterbooks=getMeterReadingBooks.data.meterbooks
496
- this.meterbooks.forEach((res) => {
497
- this.cbc.push({label: res.f_book_name, value: res.id})
498
- /*if(res.f_book_slice_area){
499
- if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
500
- this.sliceArea.push(res.f_book_slice_area)
501
- }
502
- }*/
503
- })
504
-
505
- },
506
- //片区获取
507
- async getSliceArea() {
508
- let http = new HttpResetClass()
509
- let getAllArea = await http.load('POST', '/rs/search', {
510
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
511
- userid: this.userlogin.id
512
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
513
- this.sliceArea = [{label: '全部', value: ''}]
514
- console.log('11111111111111111111111111111111111111')
515
- console.log(getAllArea.data)
516
- console.log('11111111111111111111111111111111111111')
517
- getAllArea.data.forEach((res) => {
518
- if(res.parentid==this.userlogin.orgid){
519
- this.sliceArea.push({label:res.name,value:res.name})
520
- }
521
- })
522
- console.log('片区' + this.sliceArea)
523
- },
524
- //片区改变-对应抄表册下拉重新赋值
525
- slice_areaChange(value) {
526
- console.log("下拉改变--"+value)
527
- if(!value){
528
- this.cbc=[]
529
- this.meterbooks.forEach((res) => {
530
- this.cbc.push({label: res.f_book_name, value: res.id})
531
- })
532
- }else{
533
- this.cbc=[]
534
- this.meterbooks.forEach((res) => {
535
- if(res.f_book_slice_area==value){
536
- this.cbc.push({label: res.f_book_name, value: res.id})
537
- }
538
- })
539
- }
540
- },
541
- isChecked(v) {
542
- // 如果全选,不在的按选中算,否则,在的按选中算
543
- if (this.checkAll) {
544
- return this.checkes.indexOf(v) == -1
545
- } else {
546
- return this.checkes.indexOf(v) != -1
547
- }
548
- },
549
- setCheckAll() {
550
- this.checkAll=this.checkAll?false:true;
551
- // 全选改变后,清空选中数据
552
- this.checkes = []
553
- },
554
- setCheckes(id) {
555
- let index=this.checkes.indexOf(id)
556
- if(index<0){
557
- this.checkes.push(id)
558
- }else{
559
- this.checkes.splice(index,1)
560
- }
561
- },
562
- //将客户信息拖至计划中
563
- async dragtoPlanItem() {
564
- if(this.model.rows.length==0){
565
- Vue.showMessage("未检测到列表中有用户!")
566
- return
567
- }
568
- if(!this.checkAll && this.checkes.length==0){
569
- Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
570
- return
571
- }
572
- if(this.selectplan && this.selectplan.id){
573
- this.$parent.isSend=true
574
- try{
575
- let res=await new HttpResetClass().load("POST", "/rs/logic/AddCheckPlanItem", {
576
- data:{
577
- f_operator:this.userlogin.name,
578
- f_plan_id:this.selectplan.id,
579
- f_safecheck_type:this.selectplan.f_safecheck_type,
580
- f_filialeid:this.userlogin.orgid,
581
- f_subscribe_date:'',
582
- condition:this.model.condition,
583
- switchCheckAll:true,
584
- checkAll:this.checkAll,
585
- param:this.checkes,
586
- columnName: "ua.id"
587
- }
588
- }, {resolveMsg: null, rejectMsg: null})
589
- console.log("重复数量-"+JSON.stringify(res.data.result)+"---"+res.data.result.length)
590
- this.$parent.isSend=false
591
- if(res.data.code==200){
592
- //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
593
- this.$showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
594
- this.$parent.refresh()
595
- }else{
596
- this.$showMessage("添加失败!")
597
- }
598
- }catch (e) {
599
- this.$showMessage("添加失败!")
600
- }
601
- }else{
602
- this.$parent.isSend=false
603
- this.$showMessage("请先打开一个计划再进行操作")
604
- }
605
- }
606
- },
607
- computed:{
608
- getgasbrand(){
609
- let ops=[{label:'全部',value:''}]
610
- this.meterbrands.forEach(b =>{
611
- ops.push({label:b.f_meter_brand,value:b})
612
- })
613
- return ops
614
- },
615
- getgasmodel(){
616
- //console.log('-----为什么不触发?')
617
- let ops=[{label:'全部',value:''}]
618
- this.$refs.paged.$refs.criteria.model.gasmodel=''
619
- if(this.$refs.paged.$refs.criteria.model && this.$refs.paged.$refs.criteria.model.gasbrand){
620
- //console.log('-----为什么不触发?---------------------------'+JSON.stringify(this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel))
621
- this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel.forEach(b =>{
622
- ops.push({label:b.f_meter_style,value:b.id})
623
- })
624
- }
625
- return ops
626
- }
627
- },
628
- events: {
629
- onFileUpload: function (file, res) {
630
- console.log("-------------"+JSON.stringify(res))
631
- console.log("-file------------"+JSON.stringify(file))
632
- let data = {
633
- filepath: res.f_downloadpath
634
- }
635
- new HttpResetClass().load('POST','/rs/logic/safe_GetUserInfoFromExcel', {data: data}, {
636
- resolveMsg: '导入成功!已生成条件,若要去除导入条件请点击旁边 ‘清空用户编号’ 按钮。',
637
- rejectMsg: '导入失败'
638
- }).then((res) => {
639
- this.uploadCodeCondition=res.data.condition
640
- this.excelUserCondtion = false
641
- })
642
- },
643
-
644
- }
645
- }
646
- </script>
647
-
648
- <style scoped>
649
- .safe-planfont{
650
- font-family: MicrosoftYaHei;
651
- font-size: 15px;
652
- font-weight: normal;
653
- font-stretch: normal;
654
- letter-spacing: 2px;
655
- color: #333333;
656
- line-height: 25px;
657
- }
658
- .safe-bodyfont{
659
- font-family: MicrosoftYaHei;
660
- font-size: 14px;
661
- font-weight: normal;
662
- font-stretch: normal;
663
- letter-spacing: 0px;
664
- color: #999999;
665
- line-height: 30px;
666
- }
667
- .safe-leftplan{
668
- height:auto;
669
- border-bottom:1px solid #ececec;
670
- padding: 10px 5px
671
- }
672
- .leftplan-center{
673
- border-top:1px solid #ececec;
674
- border-bottom:1px solid #ececec;
675
- }
676
- .safe_p{
677
- white-space: nowrap;
678
- overflow: hidden;
679
- text-overflow: ellipsis;
680
- }
681
- .safe-div-p{
682
- color: #4792de;
683
- text-align: end;
684
- padding: 8px 15px;
685
- }
686
- </style>
687
- <style lang="less">
688
- .upuserinfo_sel ul{
689
- width: 150% !important;
690
- }
691
- </style>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div partial>
6
+ <div class="row " >
7
+ <label class="form-group font_normal_body"><b>用户信息</b></label>
8
+
9
+ <div class="form-group col-sm-1" >
10
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
+ style="width: 95%" placeholder="客户编号" condition="ui.f_userinfo_code='{}'">
12
+ </div>
13
+ <div class="form-group col-sm-1" >
14
+ <input type="text" class="input_search" v-model="model.f_user_name"
15
+ style="width: 95%" placeholder="客户名称" condition="ui.f_user_name like '%{}%'">
16
+ </div>
17
+ <div class="form-group col-sm-1" >
18
+ <input type="text" class="input_search" v-model="model.f_address"
19
+ style="width: 95%" placeholder="客户地址" condition="ua.f_address like '%{}%'">
20
+ </div>
21
+ <div class="form-group col-sm-1 upuserinfo_sel" >
22
+ <v-select
23
+ class="select select_list"
24
+ :width="'95%'"
25
+ :value.sync="model.f_area"
26
+ v-model="model.f_area"
27
+ :options='$parent.$parent.areaList'
28
+ :timeout="500"
29
+ @select-search="$parent.$parent.select_search"
30
+ placeholder='小区选择'
31
+ condition="ua.f_residential_area = '{}'"
32
+ close-on-select
33
+ value-single
34
+ >
35
+ </v-select>
36
+ </div>
37
+ <div class="form-group col-sm-4" >
38
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
39
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUploadCodeCondition()">导入编号</button>
40
+ <button class="button_new" style="margin-right: 10px" @click="$parent.$parent.clearUserInfoId()">清空编号</button>
41
+ <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
42
+ </div>
43
+ <div class="form-group col-sm-1" style="float: right">
44
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.dragtoPlanItem()">添入计划</button>
45
+ </div>
46
+ <modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
47
+ <div slot="modal-header" class="modal-header">
48
+ <h4 class="modal-title">
49
+ 用户查询条件
50
+ </h4>
51
+ </div>
52
+ <div slot="modal-body" class="modal-body">
53
+ <div class="row">
54
+ <div class="form-group col-sm-4" >
55
+ <label class="font_normal_body">用户类型:</label>
56
+ <v-select
57
+ class="select select_list"
58
+ :value.sync="model.f_user_type"
59
+ v-model="model.f_user_type"
60
+ :options='$parent.$parent.userTypes'
61
+ placeholder='请选择'
62
+ condition="uf.f_user_type='{}'"
63
+ :search="false"
64
+ close-on-select
65
+ value-single
66
+ >
67
+ </v-select>
68
+ </div>
69
+ <div class="form-group col-sm-4" >
70
+ <label class="font_normal_body">用户状态:</label>
71
+ <v-select
72
+ class="select select_list"
73
+ :value.sync="model.f_user_state"
74
+ v-model="model.f_user_state"
75
+ :options='$parent.$parent.userStates'
76
+ placeholder='请选择'
77
+ condition="ui.f_user_state='{}'"
78
+ :search="false"
79
+ close-on-select
80
+ value-single
81
+ >
82
+ </v-select>
83
+ </div>
84
+ <div class="form-group col-sm-4" >
85
+ <label class="font_normal_body">用气性质:</label>
86
+ <v-select
87
+ class="select select_list"
88
+ :value.sync="model.f_gasproperties"
89
+ v-model="model.f_gasproperties"
90
+ :options='$parent.$parent.gasproperties'
91
+ placeholder='请选择'
92
+ condition="uf.f_gasproperties='{}'"
93
+ :search="false"
94
+ close-on-select
95
+ value-single
96
+ >
97
+ </v-select>
98
+ </div>
99
+ <div class="form-group col-sm-4" >
100
+ <label class="font_normal_body">气表类型:</label>
101
+ <v-select
102
+ class="select select_list"
103
+ :value.sync="model.meter_classify"
104
+ v-model="model.meter_classify"
105
+ :options='$parent.$parent.meter_classifys'
106
+ placeholder='请选择'
107
+ condition="uf.F_METER_CLASSIFY='{}'"
108
+ :search="false"
109
+ close-on-select
110
+ value-single
111
+ >
112
+ </v-select>
113
+ </div>
114
+ <div class="form-group col-sm-4" >
115
+ <label class="font_normal_body">气表品牌:</label>
116
+ <v-select
117
+ class="select select_list"
118
+ :value.sync="model.gasbrand"
119
+ v-model="model.gasbrand"
120
+ :options='$parent.$parent.getgasbrand'
121
+ placeholder='请选择'
122
+ :search="false"
123
+ close-on-select
124
+ value-single
125
+ >
126
+ </v-select>
127
+ </div>
128
+ <div class="form-group col-sm-4" >
129
+ <label class="font_normal_body">气表型号:</label>
130
+ <v-select
131
+ class="select select_list"
132
+ :value.sync="model.gasmodel"
133
+ v-model="model.gasmodel"
134
+ :options='$parent.$parent.getgasmodel'
135
+ placeholder='请选择'
136
+ condition="uf.f_gasmodel_id = {}"
137
+ :search="false"
138
+ close-on-select
139
+ value-single
140
+ >
141
+ </v-select>
142
+ </div>
143
+ <!--<div class="form-group col-sm-4" >
144
+ <label class="font_normal_body">小区名称:</label>
145
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
146
+ style="width: 60%" placeholder="请选择" condition="ua.f_residential_area = '{}'">
147
+ </div>-->
148
+ <div class="form-group col-sm-4" >
149
+ <label class="font_normal_body">楼&ensp;栋&ensp;号:</label>
150
+ <input type="text" class="input_search" v-model="model.f_building"
151
+ style="width: 60%" placeholder="请选择" condition="ua.f_building='{}'">
152
+ </div>
153
+ <div class="form-group col-sm-4" >
154
+ <label class="font_normal_body">单&ensp;元&ensp;号:</label>
155
+ <input type="text" class="input_search" v-model="model.f_unit"
156
+ style="width: 60%" placeholder="请选择" condition="ua.f_unit='{}'">
157
+ </div>
158
+ <div class="form-group col-sm-4" >
159
+ <label class="font_normal_body">开户起始:</label>
160
+ <datepicker
161
+ placeholder='请选择'
162
+ style="width:60%"
163
+ :disabled-days-of-week="[]"
164
+ :format="'yyyy-MM-dd'"
165
+ :show-rest-button="reset"
166
+ :value.sync="model.f_startfile_time"
167
+ v-model="model.f_startfile_time"
168
+ condition="ui.f_createfile_date >= '{} 00:00:00'">
169
+ </datepicker>
170
+ </div>
171
+ <div class="form-group col-sm-4" >
172
+ <label class="font_normal_body">开户截止:</label>
173
+ <datepicker
174
+ placeholder='请选择'
175
+ :disabled-days-of-week="[]"
176
+ style="width:60%"
177
+ :format="'yyyy-MM-dd'"
178
+ :show-rest-button="reset"
179
+ :value.sync="model.f_endfile_time"
180
+ v-model="model.f_endfile_time"
181
+ condition="ui.f_createfile_date <= '{} 00:00:00'">
182
+ </datepicker>
183
+ </div>
184
+ <div class="form-group col-sm-4" >
185
+ <label class="font_normal_body">表&ensp;箱&ensp;号:</label>
186
+ <input type="text" class="input_search" v-model="model.f_metertitles"
187
+ style="width: 60%" placeholder="请选择" condition="uf.f_metertitles='{}'">
188
+ </div>
189
+ <div class="form-group col-sm-4" >
190
+ <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区:</label>
191
+ <v-select
192
+ class="select select_list"
193
+ :value.sync="model.f_book_slice_area"
194
+ v-model="model.f_book_slice_area"
195
+ :options='$parent.$parent.sliceArea'
196
+ @change="$parent.$parent.slice_areaChange(model.f_book_slice_area)"
197
+ placeholder='请选择'
198
+ condition="ua.f_slice_area ='{}'"
199
+ close-on-select
200
+ value-single
201
+ >
202
+ </v-select>
203
+ </div>
204
+ <div class="form-group col-sm-4" >
205
+ <label class="font_normal_body">抄&ensp;表&ensp;册:</label>
206
+ <v-select
207
+ class="select select_list"
208
+ :value.sync="model.f_meter_book_num"
209
+ v-model="model.f_meter_book_num"
210
+ :options='$parent.$parent.cbc'
211
+ placeholder='请选择'
212
+ condition="uf.f_meter_book_num='{}'"
213
+ close-on-select
214
+ value-single
215
+ >
216
+ </v-select>
217
+ </div>
218
+ <div class="form-group col-sm-4" >
219
+ <label class="font_normal_body">派发情况:</label>
220
+ <v-select
221
+ class="select select_list"
222
+ :value.sync="model.yearCheck"
223
+ v-model="model.yearCheck"
224
+ :options='$parent.$parent.yearCheckList'
225
+ placeholder='请选择'
226
+ condition="{}"
227
+ :search="false"
228
+ close-on-select
229
+ value-single
230
+ >
231
+ </v-select>
232
+ </div>
233
+ <div class="form-group col-sm-4" >
234
+ <label class="font_normal_body">房屋类型:</label>
235
+ <v-select
236
+ class="select select_list"
237
+ :value.sync="model.f_house_type"
238
+ v-model="model.f_house_type"
239
+ :options='$parent.$parent.housetype'
240
+ placeholder='请选择'
241
+ close-on-select
242
+ condition="ui.f_house_type='{}'"
243
+ :search="false"
244
+ value-single
245
+ >
246
+ </v-select>
247
+ </div>
248
+ <div class="form-group col-sm-4" >
249
+ <label class="font_normal_body">安装位置:</label>
250
+ <v-select
251
+ class="select select_list"
252
+ :value.sync="model.f_position"
253
+ v-model="model.f_position"
254
+ :options='$parent.$parent.positions'
255
+ condition="uf.f_position='{}'"
256
+ placeholder='请选择'
257
+ close-on-select
258
+ :search="false"
259
+ value-single
260
+ >
261
+ </v-select>
262
+ </div>
263
+ <div class="form-group col-sm-4" >
264
+ <label class="font_normal_body">使用类型:</label>
265
+ <v-select
266
+ class="select select_list"
267
+ :value.sync="model.f_usetype"
268
+ v-model="model.f_usetype"
269
+ :options='$parent.$parent.usetype'
270
+ condition="uf.f_usetype='{}'"
271
+ placeholder='请选择'
272
+ close-on-select
273
+ :search="false"
274
+ value-single
275
+ >
276
+ </v-select>
277
+ </div>
278
+
279
+ </div>
280
+ </div>
281
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
282
+ <button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
283
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
284
+ </div>
285
+ </modal>
286
+ <modal :show.sync="$parent.$parent.excelUserCondtion" width="500px" v-ref:modal1 >
287
+ <div slot="modal-header" class="modal-header">
288
+ <h4 class="modal-title">
289
+ 导入用户编号
290
+ </h4>
291
+ </div>
292
+ <div slot="modal-body" class="modal-body">
293
+ <div class="row">
294
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
295
+ action="rs/file/uploadFile" tagname="档案信息导入" v-ref:file :headers="headers" multiple></file-upload>
296
+ <img src="../../assets/Excelformat.png" style="width: 100%"/>
297
+ </div>
298
+ </div>
299
+ <footer slot="modal-footer" class="modal-footer">
300
+ </footer>
301
+ </modal>
302
+ <!--<div class="form-group col-sm-4 button-range" >
303
+
304
+ <button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
305
+ <export-excel-safe :data="$parent.$parent.exportParameter"
306
+ :field="$parent.$parent.excelHeaders"
307
+ sqlurl="rs/logic/SafeExportExcel" sql-name="planItem"
308
+ template-name='安检计划明细' :choose-col="true">
309
+ </export-excel-safe>
310
+
311
+ </div>-->
312
+ </div>
313
+ </div>
314
+ </criteria>
315
+ <data-grid :model="model" partial='list' class="table_sy">
316
+
317
+ <template partial='head'>
318
+ <tr>
319
+ <th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/> 全选</nobr></th>
320
+ <th><nobr>用户编号</nobr></th>
321
+ <th><nobr>用户名称</nobr></th>
322
+ <th><nobr>用户类型</nobr></th>
323
+ <th><nobr>小区名称</nobr></th>
324
+ <th><nobr>片区</nobr></th>
325
+ <th><nobr>抄表册</nobr></th>
326
+ <th title="当前所在的安检计划名称"><nobr>所属计划</nobr></th>
327
+ <th title="最后一次安检日期"><nobr>安检日期</nobr></th>
328
+ <th><nobr>详细地址</nobr></th>
329
+ </tr>
330
+ </template>
331
+ <template partial='body'>
332
+ <td style="text-align: center;white-space:nowrap;"><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.id)" @change="$parent.$parent.$parent.setCheckes(row.id)" /></td>
333
+ <td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
334
+ <td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
335
+ <td style="text-align: center"><nobr>{{row.f_user_type}}</nobr></td>
336
+ <td style="text-align: center"><nobr>{{row.f_residential_area}}</nobr></td>
337
+ <td style="text-align: center"><nobr>{{row.f_book_slice_area}}</nobr></td>
338
+ <td style="text-align: center"><nobr>{{row.f_book_name}}</nobr></td>
339
+ <td style="text-align: center"><nobr>{{row.f_plan_name}}</nobr></td>
340
+ <td style="text-align: center"><nobr>{{row.f_last_check_date}}</nobr></td>
341
+ <td style="text-align: center"><nobr>{{row.f_address}}</nobr></td>
342
+ </template>
343
+ </data-grid>
344
+ </criteria-paged>
345
+ </div>
346
+ </template>
347
+
348
+ <script>
349
+ import {HttpResetClass, PagedList} from "vue-client";
350
+ import * as Util from "../Util";
351
+ import Vue from "vue";
352
+
353
+ export default {
354
+ name: "PlanManage",
355
+ title: '计划管理',
356
+ data() {
357
+ return {
358
+ model:new PagedList('/rs/sql/FetchUserFileByOrgNoRuHuSXQ', 100, {
359
+ "orderitem": "'f_residential_area,f_building,f_unit,f_floor,f_room'",
360
+ "f_usertype": "''",
361
+ "month": "''",
362
+ "SafeCheckSX": {"f_check_start": '', "f_check_end": ''},
363
+ "SafeCheckCQ": "''",
364
+ "startday":"''",
365
+ "endday":"''"}),
366
+ a:'1',
367
+ opt:[{label:"测试",value:"测试"}],
368
+ showCondtion:false,
369
+ userTypes:[],//用户类型
370
+ userStates:[],//用户状态
371
+ gasproperties:[],//用气性质
372
+ meter_classifys:[],//气表类型
373
+ hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
374
+ yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
375
+ sliceArea:[],
376
+ meterbooks:[],
377
+ cbc:[],
378
+ areaList:[],
379
+ checkAll:false,
380
+ checkes:[],
381
+ excelUserCondtion:false,
382
+ uploadCodeCondition:'',
383
+ housetype: [{label: '楼房', value: '楼房'}, {label: '自建房', value: '自建房'}],
384
+ positions: [],
385
+ usetype: [],
386
+ meterbrands:[]
387
+ }
388
+ },
389
+ props:["selectplan","userlogin"],
390
+ ready(){
391
+ this.$refs.paged.$refs.criteria.model.f_user_state='正常'
392
+ this.$refs.paged.$refs.criteria.model.f_endfile_time=Util.toStartDateYearString()
393
+ //this.$refs.paged.$refs.criteria.model.f_hasHousehold='未入户'
394
+ this.setConList()
395
+ this.loadpage()
396
+ },
397
+ methods: {
398
+ loadpage(){
399
+ this.select_search()
400
+ this.Mreadibook()
401
+ this.getSliceArea()
402
+ },
403
+ cancel(){
404
+ this.showCondtion=false
405
+ this.excelUserCondtion=false
406
+ },
407
+ //清空用户编号
408
+ clearUserInfoId(){
409
+ this.uploadCodeCondition=''
410
+ Vue.showMessage("已清空用户编号")
411
+ },
412
+ showUploadCodeCondition(){
413
+ this.excelUserCondtion=true
414
+ },
415
+ selfSearch (args) {
416
+ console.log("------------"+JSON.stringify(args.model))
417
+ args.condition += ` and ui.f_filialeid='${this.userlogin.orgid}'`
418
+ /*if(args.model.f_hasHousehold=='已入户'){
419
+ args.condition +=` and Extract(year from TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'))=2021 and ua.F_LAST_CHECK_STATE='入户'`
420
+ }else if(args.model.f_hasHousehold=='未入户'){
421
+ args.condition +=` and (Extract(year from nvl(TO_DATE(ua.f_last_check_date,'yyyy-mm-dd hh24:mi:ss'),'1990-01-01 00:00:00'))!=2021 or nvl(ua.F_LAST_CHECK_STATE,'未入户')!='入户')`
422
+ }*/
423
+ if(this.uploadCodeCondition){
424
+ args.condition +=` and ${this.uploadCodeCondition}`
425
+ }
426
+ if(args.model.gasbrand){
427
+ args.condition +=` and f_gasbrand_id=${args.model.gasbrand.id}`
428
+ }
429
+ this.cancel()
430
+ this.checkes=[]
431
+ this.checkAll=false
432
+ this.model.search(args.condition, args.model, args.condValue)
433
+ },
434
+ showUserCondition(){
435
+ this.showCondtion=true
436
+ },
437
+ setConList(){
438
+ new HttpResetClass().load("POST", `/rs/logic/getSaleInitData`, {data:{f_orgid:`${this.$login.f.orgid}`}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
439
+ console.log('请求yingshoucanshu发送完成!!!!!'+JSON.stringify(res))
440
+ this.meterbrands=res.data.gasbrands
441
+ })
442
+ this.userTypes=this.$appdata.getParam('用户类型') ? [{
443
+ label: '全部',
444
+ value: ''
445
+ }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
446
+
447
+ this.userStates=this.$appdata.getParam('安检用户状态') ? [...this.$appdata.getParam('安检用户状态')] : []
448
+ this.gasproperties=this.$appdata.getParam('用气性质') ? [{
449
+ label: '全部',
450
+ value: ''
451
+ }, ...this.$appdata.getParam('用气性质')] : [{label: '全部', value: ''}]
452
+ this.meter_classifys=this.$appdata.getParam('气表类型') ? [{
453
+ label: '全部',
454
+ value: ''
455
+ }, ...this.$appdata.getParam('气表类型')] : [{label: '全部', value: ''}]
456
+
457
+ this.positions=this.$appdata.getParam('安装位置') ? [{
458
+ label: '全部',
459
+ value: ''
460
+ }, ...this.$appdata.getParam('安装位置')] : [{label: '全部', value: ''}]
461
+
462
+ this.usetype=this.$appdata.getParam('使用类型') ? [{
463
+ label: '全部',
464
+ value: ''
465
+ }, ...this.$appdata.getParam('使用类型')] : [{label: '全部', value: ''}]
466
+ },
467
+ select_search(text){
468
+ console.log("----------------"+text)
469
+ let pcdText=text?` and f_residential_area like '%${text}%'`:''
470
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/safe_singleTable_OrderBy`, {data:{items:"*",tablename:"t_area",orderitem:"id",condition:`f_orgid = '${this.userlogin.orgid}' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
471
+ //console.log('请求发送完成!!!!!'+JSON.stringify(res))
472
+ this.areaList=[]
473
+ if(res.data.length>0){
474
+ this.areaList.push({label:"全部",value:""})
475
+ res.data.forEach((result)=>{
476
+ this.areaList.push({label:result.f_residential_area,value:result.f_residential_area})
477
+ })
478
+ }
479
+
480
+ })
481
+ },
482
+ //获取抄表册
483
+ async Mreadibook(){
484
+ this.cbc=[]
485
+ this.sliceArea=[]
486
+ let http = new HttpResetClass()
487
+ let getMeterReadingBooks = await http.load('POST','rs/logic/getMeterBooksData',
488
+ {data: {f_orgid: "('"+this.userlogin.orgid+"')"}},
489
+ {resolveMsg: null, rejectMsg: '获取失败!!!'})
490
+ this.cbc = [{label: '全部', value: ''}]
491
+ console.log('22222222222222222222222222222222222222')
492
+ console.log(JSON.stringify(getMeterReadingBooks))
493
+ console.log('22222222222222222222222222222222222222')
494
+ this.meterbooks=[]
495
+ this.meterbooks=getMeterReadingBooks.data.meterbooks
496
+ this.meterbooks.forEach((res) => {
497
+ this.cbc.push({label: res.f_book_name, value: res.id})
498
+ /*if(res.f_book_slice_area){
499
+ if(this.sliceArea.indexOf(res.f_book_slice_area)<0){
500
+ this.sliceArea.push(res.f_book_slice_area)
501
+ }
502
+ }*/
503
+ })
504
+
505
+ },
506
+ //片区获取
507
+ async getSliceArea() {
508
+ let http = new HttpResetClass()
509
+ let getAllArea = await http.load('POST', '/rs/search', {
510
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
511
+ userid: this.userlogin.id
512
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
513
+ this.sliceArea = [{label: '全部', value: ''}]
514
+ console.log('11111111111111111111111111111111111111')
515
+ console.log(getAllArea.data)
516
+ console.log('11111111111111111111111111111111111111')
517
+ getAllArea.data.forEach((res) => {
518
+ if(res.parentid==this.userlogin.orgid){
519
+ this.sliceArea.push({label:res.name,value:res.name})
520
+ }
521
+ })
522
+ console.log('片区' + this.sliceArea)
523
+ },
524
+ //片区改变-对应抄表册下拉重新赋值
525
+ slice_areaChange(value) {
526
+ console.log("下拉改变--"+value)
527
+ if(!value){
528
+ this.cbc=[]
529
+ this.meterbooks.forEach((res) => {
530
+ this.cbc.push({label: res.f_book_name, value: res.id})
531
+ })
532
+ }else{
533
+ this.cbc=[]
534
+ this.meterbooks.forEach((res) => {
535
+ if(res.f_book_slice_area==value){
536
+ this.cbc.push({label: res.f_book_name, value: res.id})
537
+ }
538
+ })
539
+ }
540
+ },
541
+ isChecked(v) {
542
+ // 如果全选,不在的按选中算,否则,在的按选中算
543
+ if (this.checkAll) {
544
+ return this.checkes.indexOf(v) == -1
545
+ } else {
546
+ return this.checkes.indexOf(v) != -1
547
+ }
548
+ },
549
+ setCheckAll() {
550
+ this.checkAll=this.checkAll?false:true;
551
+ // 全选改变后,清空选中数据
552
+ this.checkes = []
553
+ },
554
+ setCheckes(id) {
555
+ let index=this.checkes.indexOf(id)
556
+ if(index<0){
557
+ this.checkes.push(id)
558
+ }else{
559
+ this.checkes.splice(index,1)
560
+ }
561
+ },
562
+ //将客户信息拖至计划中
563
+ async dragtoPlanItem() {
564
+ if(this.model.rows.length==0){
565
+ Vue.showMessage("未检测到列表中有用户!")
566
+ return
567
+ }
568
+ if(!this.checkAll && this.checkes.length==0){
569
+ Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
570
+ return
571
+ }
572
+ if(this.selectplan && this.selectplan.id){
573
+ this.$parent.isSend=true
574
+ try{
575
+ let res=await new HttpResetClass().load("POST", "/rs/logic/AddCheckPlanItem", {
576
+ data:{
577
+ f_operator:this.userlogin.name,
578
+ f_plan_id:this.selectplan.id,
579
+ f_safecheck_type:this.selectplan.f_safecheck_type,
580
+ f_filialeid:this.userlogin.orgid,
581
+ f_subscribe_date:'',
582
+ condition:this.model.condition,
583
+ switchCheckAll:true,
584
+ checkAll:this.checkAll,
585
+ param:this.checkes,
586
+ columnName: "ua.id"
587
+ }
588
+ }, {resolveMsg: null, rejectMsg: null})
589
+ console.log("重复数量-"+JSON.stringify(res.data.result)+"---"+res.data.result.length)
590
+ this.$parent.isSend=false
591
+ if(res.data.code==200){
592
+ //alert("添加成功!有"+res.data.result.length+"条用户地址已经存在于其他计划中: \n"+res.data.result.reduce((c,v)=>{c += v.f_user_name+":"+v.f_address+"\n"}),0)
593
+ this.$showMessage("添加成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
594
+ this.$parent.refresh()
595
+ }else{
596
+ this.$showMessage("添加失败!")
597
+ }
598
+ }catch (e) {
599
+ this.$showMessage("添加失败!")
600
+ }
601
+ }else{
602
+ this.$parent.isSend=false
603
+ this.$showMessage("请先打开一个计划再进行操作")
604
+ }
605
+ }
606
+ },
607
+ computed:{
608
+ getgasbrand(){
609
+ let ops=[{label:'全部',value:''}]
610
+ this.meterbrands.forEach(b =>{
611
+ ops.push({label:b.f_meter_brand,value:b})
612
+ })
613
+ return ops
614
+ },
615
+ getgasmodel(){
616
+ //console.log('-----为什么不触发?')
617
+ let ops=[{label:'全部',value:''}]
618
+ this.$refs.paged.$refs.criteria.model.gasmodel=''
619
+ if(this.$refs.paged.$refs.criteria.model && this.$refs.paged.$refs.criteria.model.gasbrand){
620
+ //console.log('-----为什么不触发?---------------------------'+JSON.stringify(this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel))
621
+ this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel.forEach(b =>{
622
+ ops.push({label:b.f_meter_style,value:b.id})
623
+ })
624
+ }
625
+ return ops
626
+ }
627
+ },
628
+ events: {
629
+ onFileUpload: function (file, res) {
630
+ console.log("-------------"+JSON.stringify(res))
631
+ console.log("-file------------"+JSON.stringify(file))
632
+ let data = {
633
+ filepath: res.f_downloadpath
634
+ }
635
+ new HttpResetClass().load('POST','/rs/logic/safe_GetUserInfoFromExcel', {data: data}, {
636
+ resolveMsg: '导入成功!已生成条件,若要去除导入条件请点击旁边 ‘清空用户编号’ 按钮。',
637
+ rejectMsg: '导入失败'
638
+ }).then((res) => {
639
+ this.uploadCodeCondition=res.data.condition
640
+ this.excelUserCondtion = false
641
+ })
642
+ },
643
+
644
+ }
645
+ }
646
+ </script>
647
+
648
+ <style scoped>
649
+ .safe-planfont{
650
+ font-family: MicrosoftYaHei;
651
+ font-size: 15px;
652
+ font-weight: normal;
653
+ font-stretch: normal;
654
+ letter-spacing: 2px;
655
+ color: #333333;
656
+ line-height: 25px;
657
+ }
658
+ .safe-bodyfont{
659
+ font-family: MicrosoftYaHei;
660
+ font-size: 14px;
661
+ font-weight: normal;
662
+ font-stretch: normal;
663
+ letter-spacing: 0px;
664
+ color: #999999;
665
+ line-height: 30px;
666
+ }
667
+ .safe-leftplan{
668
+ height:auto;
669
+ border-bottom:1px solid #ececec;
670
+ padding: 10px 5px
671
+ }
672
+ .leftplan-center{
673
+ border-top:1px solid #ececec;
674
+ border-bottom:1px solid #ececec;
675
+ }
676
+ .safe_p{
677
+ white-space: nowrap;
678
+ overflow: hidden;
679
+ text-overflow: ellipsis;
680
+ }
681
+ .safe-div-p{
682
+ color: #4792de;
683
+ text-align: end;
684
+ padding: 8px 15px;
685
+ }
686
+ </style>
687
+ <style lang="less">
688
+ .upuserinfo_sel ul{
689
+ width: 150% !important;
690
+ }
691
+ </style>