safecheck-client 3.0.35-gongyi-14 → 3.0.35-gongyi-16

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,998 +1,1004 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="basic-main">
4
- <criteria-paged :model="model" v-ref:paged>
5
- <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
- <div class="row">
8
- <div class="form-group col-sm-2">
9
- <label class="font_normal_body">客户编号</label>
10
- <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
- style="width: 60%" placeholder="客户编号" condition="tui.f_userinfo_code='{}'">
12
- </div>
13
- <div class="form-group col-sm-2">
14
- <label class="font_normal_body">客户名称</label>
15
- <input type="text" class="input_search" v-model="model.f_user_name"
16
- style="width: 60%" placeholder="客户名称" condition="tui.f_user_name like '{}%'">
17
- </div>
18
- <div class="form-group col-sm-2">
19
- <label class="font_normal_body">客户电话</label>
20
- <input type="text" class="input_search" v-model="model.f_user_phone"
21
- style="width: 60%" placeholder="客户电话" condition="tui.f_user_phone like '{}%'">
22
- </div>
23
- <div class="form-group col-sm-2">
24
- <label class="font_normal_body">客户地址</label>
25
- <input type="text" class="input_search" v-model="model.f_address"
26
- style="width: 60%" placeholder="客户地址" condition="tua.f_address like '%{}%'">
27
- </div>
28
-
29
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
30
-
31
- <export-excel-safe :data="$parent.$parent.searchData"
32
- :field="$parent.$parent.excelHeaders"
33
- progress="safeGetExportProgress"
34
- sqlurl="rs/logic/SafeExportExcel" sql-name="getUserByCheckBook"
35
- template-name='用户安检明细'></export-excel-safe>
36
-
37
-
38
- <button class="button_spacing button_search" @click="search()">查询</button>
39
- <!-- <div style="float: right" class="button_spacing"-->
40
- <!-- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"-->
41
- <!-- @click="$parent.$parent.hidden()"></div>-->
42
- </div>
43
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
44
-
45
-
46
- <button class="button_spacing button_search" @click="$parent.$parent.beforeCreateBook">创建安检册</button>
47
-
48
- </div>
49
- </div>
50
- <div class="row">
51
- <div class="col-sm-2 form-group" style="margin-top: 0px">
52
- <label class="font_normal_body">公&emsp;&emsp;司</label>
53
- <right-tree-safe @re-res="$parent.$parent.getResm" v-model="model.f_orgid" condition="tua.f_orgid in {}"></right-tree-safe>
54
- </div>
55
- <div class="form-group col-sm-2" style="margin-top: 0px">
56
- <label class="font_normal_body">小&emsp;&emsp;区</label>
57
- <input type="text" class="input_search" v-model="model.f_residential_area"
58
- style="width: 60%" placeholder="小区" condition="tua.f_residential_area like '%{}%'">
59
- </div>
60
- <div class="col-sm-2 form-group" style="margin-top: 0px">
61
-
62
- <label class="font_normal_body" title="用户类型">用户类型</label>
63
- <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
64
- :value-single="true" style="width: 60%"
65
- class="select_list select"
66
- :options='$parent.$parent.usertypes' placeholder='用户类型'
67
- close-on-select
68
- condition="tuf.f_user_type ='{}'"></v-select>
69
-
70
- </div>
71
- <!-- <div class="col-sm-2 form-group" style="margin: 0">
72
-
73
- <label class="font_normal_body" title="安检用户状态">用户状态</label>
74
- <v-select :value.sync="model.f_user_state" v-model='model.f_user_state'
75
- :value-single="true" style="width: 60%"
76
- class="select_list select"
77
- :options='$parent.$parent.userstates' placeholder='用户状态'
78
- close-on-select
79
- condition="tui.f_user_state ='{}'"></v-select>
80
-
81
- </div> -->
82
- <div class="col-sm-2 form-group" style="margin-top: 0px">
83
-
84
- <label class="font_normal_body" title="用气性质">用气性质</label>
85
- <v-select :value.sync="model.f_gasproperties" v-model='model.f_gasproperties'
86
- :value-single="true" style="width: 60%"
87
- class="select_list select"
88
- :options='$parent.$parent.gasproperties' placeholder='用气性质'
89
- close-on-select
90
- condition="tuf.f_gasproperties ='{}'"></v-select>
91
-
92
- </div>
93
- <div class="col-sm-2 form-group" style="margin-top: 0px">
94
-
95
- <label class="font_normal_body" title="气表类型">气表类型</label>
96
- <v-select
97
- class="select select_list"
98
- :value.sync="model.f_meter_classify"
99
- v-model="model.f_meter_classify"
100
- :options='$parent.$parent.meter_classifys'
101
- placeholder='请选择'
102
- condition="tuf.f_meter_classify='{}'"
103
- :search="false"
104
- style="width: 60%"
105
- close-on-select
106
- value-single
107
- ></v-select>
108
- </div>
109
- <div class="col-sm-2 form-group" style="margin-top: 0px">
110
-
111
- <label class="font_normal_body">气表品牌</label>
112
- <v-select :value.sync="model.gasbrand" v-model='model.gasbrand'
113
- :value-single="true" style="width: 60%"
114
- class="select_list select"
115
- :options='$parent.$parent.getgasbrand' placeholder='气表品牌'
116
- close-on-select
117
- ></v-select>
118
- </div>
119
- <div class="col-sm-2 form-group" style="margin-top: 0px">
120
-
121
- <label class="font_normal_body">气表型号</label>
122
- <v-select :value.sync="model.gasmodel" v-model='model.gasmodel'
123
- :value-single="true" style="width: 60%"
124
- class="select_list select"
125
- :options='$parent.$parent.getgasmodel' placeholder='气表型号'
126
- close-on-select
127
- condition="tuf.f_gasmodel_id = '{}'"></v-select>
128
-
129
- </div>
130
- <div class="col-sm-2 form-group" style="margin-top: 0px">
131
-
132
- <label class="font_normal_body" title="房屋类型">房屋类型</label>
133
- <v-select :value.sync="model.f_house_type" v-model='model.f_house_type'
134
- :value-single="true" style="width: 60%"
135
- class="select_list select"
136
- :options='$parent.$parent.housetypes' placeholder='房屋类型'
137
- close-on-select
138
- condition="tui.f_house_type = '{}'"></v-select>
139
-
140
- </div>
141
- <div class="col-sm-2 form-group" style="margin-top: 0px">
142
-
143
- <label class="font_normal_body" title="安装位置">安装位置</label>
144
- <v-select :value.sync="model.f_position" v-model='model.f_position'
145
- :value-single="true" style="width: 60%"
146
- class="select_list select"
147
- :options='$parent.$parent.positions' placeholder='安装位置'
148
- close-on-select
149
- condition="tuf.f_position = '{}'"></v-select>
150
-
151
- </div>
152
- <div class="col-sm-2 form-group" style="margin-top: 0px">
153
-
154
- <label class="font_normal_body" title="使用类型">使用类型</label>
155
- <v-select :value.sync="model.f_usetype" v-model='model.f_usetype'
156
- :value-single="true" style="width: 60%"
157
- class="select_list select"
158
- :options='$parent.$parent.usetypes' placeholder='使用类型'
159
- close-on-select
160
- condition="tuf.f_usetype = '{}'"></v-select>
161
-
162
- </div>
163
- <div class="form-group col-sm-2" style="margin-top: 0px">
164
- <label class="font_normal_body">开户起始</label>
165
- <datepicker
166
- placeholder='开户起始'
167
- style="width:60%"
168
- :disabled-days-of-week="[]"
169
- :format="'yyyy-MM-dd'"
170
- :show-rest-button="reset"
171
- :value.sync="model.f_startfile_time"
172
- v-model="model.f_startfile_time"
173
- condition="tui.f_createfile_date >= '{} 00:00:00'">
174
- </datepicker>
175
- </div>
176
- <div class="form-group col-sm-2"style="margin-top: 0px" >
177
- <label class="font_normal_body">开户截止</label>
178
- <datepicker
179
- placeholder='开户截止'
180
- :disabled-days-of-week="[]"
181
- style="width:60%"
182
- :format="'yyyy-MM-dd'"
183
- :show-rest-button="reset"
184
- :value.sync="model.f_endfile_time"
185
- v-model="model.f_endfile_time"
186
- condition="tui.f_createfile_date <= '{} 00:00:00'">
187
- </datepicker>
188
- </div>
189
- <div class="form-group col-sm-2" style="margin-top: 0px">
190
- <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区</label>
191
- <v-select
192
- class="select select_list"
193
- style="width:60%"
194
- :value.sync="model.f_book_slice_area"
195
- v-model="model.f_book_slice_area"
196
- :options='$parent.$parent.sliceArea'
197
- placeholder='片区'
198
- condition="tua.f_slice_area ='{}'"
199
- close-on-select
200
- value-single
201
- >
202
- </v-select>
203
- </div>
204
- <div class="form-group col-sm-2" style="margin-top: 0px">
205
- <label class="font_normal_body" title="安检状态">安检状态</label>
206
- <v-select
207
- class="select select_list"
208
- style="width:60%"
209
- :value.sync="model.f_last_check_state"
210
- v-model="model.f_last_check_state"
211
- :options='$parent.$parent.check_states'
212
- placeholder='安检状态'
213
- condition="tua.f_last_check_state ='{}'"
214
- close-on-select
215
- value-single
216
- >
217
- </v-select>
218
- </div>
219
- <div class="col-sm-2 form-group" style="margin-top: 0px">
220
-
221
- <label class="font_normal_body">安&ensp;检&ensp;册</label>
222
- <v-select :value.sync="model.f_check_book_id" v-model='model.f_check_book_id'
223
- :value-single="true" style="width: 60%"
224
- class="select_list select"
225
- :options='$parent.$parent.checkBooks' placeholder='安&ensp;检&ensp;册'
226
- close-on-select
227
- condition="f_check_book_id ='{}'"></v-select>
228
-
229
- </div>
230
- <div class="col-sm-2 form-group" style="margin-top: 0px">
231
-
232
- <label class="font_normal_body">是否划分</label>
233
- <v-select :value.sync="model.f_is_checkbook" v-model='model.f_is_checkbook'
234
- :value-single="true" style="width: 60%"
235
- class="select_list select"
236
- @change="$parent.$parent.changeState"
237
- :options='$parent.$parent.isCheckBook' placeholder='有无所属安检册'
238
- close-on-select
239
- condition="{}"></v-select>
240
-
241
- </div>
242
- <div class="col-sm-2 form-group" style="margin-top: 0px">
243
-
244
- <label class="font_normal_body">抄&ensp;表&ensp;员</label>
245
- <v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
246
- :value-single="true" style="width: 60%"
247
- class="select_list select"
248
- :options='$parent.$parent.meterReader' placeholder='抄&ensp;表&ensp;员'
249
- close-on-select
250
- condition="f_inputtor ='{}'"></v-select>
251
-
252
- </div>
253
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
254
-
255
-
256
- <button class="button_spacing button_search" @click="$parent.$parent.addUser">添加用户</button>
257
-
258
- </div>
259
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
260
-
261
-
262
- <button class="button_spacing button_search" @click="$parent.$parent.upUser">调整用户</button>
263
-
264
- </div>
265
- <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
266
-
267
-
268
- <button class="button_spacing button_search" @click="$parent.$parent.delUser">移除用户</button>
269
-
270
- </div>
271
- </div>
272
- </div>
273
- </criteria>
274
- <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
275
- <template partial='head'>
276
- <tr @dblclick.stop="">
277
- <th>
278
- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
279
- </th>
280
- <th>
281
- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookCheckedAll"></input>本页全选</nobr>
282
- </th>
283
- <th>
284
- <nobr>客户姓名</nobr>
285
- </th>
286
- <th>
287
- <nobr>客户编号</nobr>
288
- </th>
289
- <th>
290
- <nobr>客户类型</nobr>
291
- </th>
292
- <th>
293
- <nobr>客户电话</nobr>
294
- </th>
295
- <th>
296
- <nobr>客户地址</nobr>
297
- </th>
298
- <th>
299
- <nobr>所属安检册</nobr>
300
- </th>
301
- </tr>
302
- </template>
303
- <template partial='body'>
304
- <td style="text-align: center">
305
- <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
306
- @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
307
- </nobr>
308
- </td>
309
- <td style="text-align: center">
310
- <nobr>
311
- <input type="checkbox" :checked="$parent.$parent.$parent.pageCheckModel(row)"></input>
312
- </nobr>
313
- </td>
314
- <td style="text-align: center">{{ row.f_user_name }}</td>
315
- <td style="text-align: center">{{ row.f_userinfo_code }}</td>
316
- <td style="text-align: center">{{ row.f_user_type }}</td>
317
- <td style="text-align: center">{{ row.f_user_phone }}</td>
318
- <td style="text-align: center">{{ row.f_address }}</td>
319
- <td style="text-align: center">{{ row.f_check_book_name }}</td>
320
- </template>
321
- </data-grid>
322
- </criteria-paged>
323
- </div>
324
- <modal :show.sync="showModal" :backdrop="false">
325
- <div slot="modal-header" class="modal-header">
326
- <h4 class="modal-title">
327
- 创建安检册
328
- </h4>
329
- </div>
330
- <div slot="modal-body" class="modal-body">
331
- <div v-if="true">
332
- <div class="row" style="margin-top: 10px">
333
- <!-- <label class="control-label font text-left" style="float:left;margin-left:10%;margin-top:5px">安检册名称</label>-->
334
- <!-- <div class="col-xs-8 col-md-8">-->
335
- <!-- <input type="text" class="input_search" style="width: 70%;" v-model="checkBook.f_check_book_name"/>-->
336
- <!-- </div>-->
337
- <div class="col-sm-6 form-group" style="margin-top: 20px" v-if="permission === 'c1' && showModal ">
338
- <label class="font_normal_body">安检科室</label>
339
- <right-tree islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择科室" :selectData="''" v-ref:f_reciever>
340
- </right-tree>
341
- </div>
342
- <div class="col-sm-6 form-group" style="margin-top: 20px" v-if="permission === 'c2' ">
343
- <label class="font_normal_body">安&ensp;检&ensp;员</label>
344
- <v-select :value.sync="checkBook.f_checker_name" v-model='checkBook.f_checker_name'
345
- :value-single="true" style="width: 60%"
346
- class="select_list select"
347
- :options='checkers' placeholder='安检员'
348
- close-on-select></v-select>
349
- </div>
350
- <div class="form-group col-sm-6" style="margin-top: 20px">
351
- <label class="font_normal_body">安检册名</label>
352
- <input type="text" class="input_search" v-model="checkBook.f_check_book_name"
353
- style="width: 60%" >
354
- </div>
355
- <div class="form-group col-sm-6" style="margin-top: 20px">
356
- <label class="font_normal_body">执行日期</label>
357
- <datepicker
358
- :value.sync="checkBook.f_run_date"
359
- style="width: 60%"
360
- :format="'yyyy-MM-dd'"
361
- v-model="checkBook.f_run_date"
362
- >
363
- </datepicker>
364
- </div>
365
- <div class="form-group col-sm-6" style="margin-top: 20px">
366
- <label class="font_normal_body">执行周期</label>
367
- <input type="number" class="input_search" v-model="checkBook.f_around_time"
368
- style="width: 60%" >
369
- </div>
370
- <div class="form-group col-sm-6" style="margin-top: 20px">
371
- <label class="font_normal_body">周期单位</label>
372
- <v-select :value.sync="checkBook.f_around_unit" v-model='checkBook.f_around_unit'
373
- :value-single="true" style="width: 60%"
374
- class="select_list select"
375
- :options='aroundUnit' placeholder=''
376
- close-on-select></v-select>
377
- </div>
378
- </div>
379
- </div>
380
- </div>
381
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
382
- <button class="button_search" style="margin-right: 20px" @click="ok">确认</button>
383
- <button class="button_search" @click="cancel">取消</button>
384
- </div>
385
- </modal>
386
- <modal :show.sync="showModal2" :backdrop="false">
387
- <div slot="modal-header" class="modal-header">
388
- <h4 class="modal-title">
389
- 添加用户
390
- </h4>
391
- </div>
392
- <div slot="modal-body" class="modal-body">
393
- <div v-if="true">
394
- <div class="row" style="margin-top: 10px">
395
- <div class="form-group col-sm-12" style="margin-top: 20px">
396
- <label class="font_normal_body">安&ensp;检&ensp;册</label>
397
- <v-select :value.sync="selectBook" v-model='selectBook'
398
- :value-single="true" style="width: 80%"
399
- class="select_list select"
400
- :options='checkBooks' placeholder=''
401
- close-on-select></v-select>
402
- </div>
403
- </div>
404
- </div>
405
- </div>
406
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
407
- <button class="button_search" style="margin-right: 20px" @click="ok2">确认</button>
408
- <button class="button_search" @click="cancel2">取消</button>
409
- </div>
410
- </modal>
411
- <modal :show.sync="showModal3" :backdrop="false">
412
- <div slot="modal-header" class="modal-header">
413
- <h4 class="modal-title">
414
- 调整用户
415
- </h4>
416
- </div>
417
- <div slot="modal-body" class="modal-body">
418
- <div v-if="true">
419
- <div class="row" style="margin-top: 10px;text-align: center">
420
- <div class="form-group col-sm-12" style="margin-top: 20px">
421
- <label class="font_normal_body">安&ensp;检&ensp;册</label>
422
- <v-select :value.sync="selectBook" v-model='selectBook'
423
- :value-single="true" style="width: 80%"
424
- class="select_list select"
425
- :options='checkBooks' placeholder=''
426
- close-on-select></v-select>
427
- </div>
428
- </div>
429
- </div>
430
- </div>
431
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
432
- <button class="button_search" style="margin-right: 20px" @click="ok3">确认</button>
433
- <button class="button_search" @click="cancel3">取消</button>
434
- </div>
435
- </modal>
436
-
437
- </div>
438
- </template>
439
-
440
- <script>
441
- import {PagedList, HttpResetClass} from 'vue-client'
442
- import * as Util from '../../components/Util'
443
-
444
- export default {
445
- title: '安检册管理',
446
- data () {
447
- let model = new PagedList('rs/sql/getUserByCheckBook', 20)
448
- return {
449
- model: model,
450
- criteriaShow: false,
451
- excelHeaders: {
452
- "f_user_name":'客户姓名',
453
- "f_userinfo_code":'客户编号',
454
- "f_user_type":'客户类型',
455
- "f_user_phone":'客户电话',
456
- "f_address":'客户地址',
457
- "f_check_book_name":'所属安检册'
458
- },
459
- checkBooks: [],
460
- meterReader:[],
461
- f_orgid: '',
462
- bookAll: false,
463
- bookCheckedAll:false,
464
- bookList: [],
465
- selectBook:'',
466
- // init:false,
467
- aroundUnit: [{label: '', value: ''}, {label: '', value: ''}, {label: '', value: ''}],
468
- isCheckBook: [{label: '全部', value: ''}, {label: '是', value: 'f_check_book_name is not null'}, {label: '否', value: 'f_check_book_name is null'}],
469
- isSearch: false,
470
- checkers:[],
471
- source:
472
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
473
- 'tool.getFullTree(dep.where(row.hasSpecialRole($安检册二次分配$)))',
474
- userid: this.$login.f.id,
475
- checkBook: {
476
- f_check_book_name: '',
477
- f_run_date: '',
478
- f_around_time: '',
479
- f_around_unit: '',
480
- f_create_date: Util.toStandardDateString(),
481
- f_create_person: this.$login.f.name,
482
- f_orgid: this.$login.f.orgid,
483
- f_depid:'',
484
- f_dep:'',
485
- f_checker_name: '',
486
- f_checker_id:''
487
- },
488
- showModal: false,
489
- showModal2: false,
490
- showModal3: false,
491
- userstates:this.$appdata.getParam('安检用户状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检用户状态')]:[{label: '全部', value: ''}],
492
- usertypes:this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
493
- gasproperties:this.$appdata.getParam('用气性质')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]:[{label: '全部', value: ''}],
494
- meter_classifys:this.$appdata.getParam('气表类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]:[{label: '全部', value: ''}],
495
- housetypes:this.$appdata.getParam('房屋类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]:[{label: '全部', value: ''}],
496
- positions:this.$appdata.getParam('安装位置')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]:[{label: '全部', value: ''}],
497
- usetypes:this.$appdata.getParam('使用类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]:[{label: '全部', value: ''}],
498
- check_states:this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
499
- meterbrands:[],
500
- sliceArea:[]
501
-
502
- }
503
- },
504
- props:['f_check_book_name','permission'],
505
- computed: {
506
- getgasbrand(){
507
- let ops=[{label:'全部',value:''}]
508
- this.meterbrands.forEach(b =>{
509
- ops.push({label:b.f_meter_brand,value:b})
510
- })
511
- return ops
512
- },
513
- getgasmodel(){
514
- let ops=[{label:'全部',value:''}]
515
- this.$refs.paged.$refs.criteria.model.gasmodel=''
516
- if(this.$refs.paged.$refs.criteria.model && this.$refs.paged.$refs.criteria.model.gasbrand){
517
- this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel.forEach(b =>{
518
- ops.push({label:b.f_meter_style,value:b.id})
519
- })
520
- }
521
- return ops
522
- },
523
- searchData () {
524
- return {condition: this.model.condition}
525
- },
526
- bookCondition () {
527
- return this.model.condition
528
- },
529
- isCreateBook () {
530
- return this.$refs.paged.$refs.criteria.model.f_is_checkbook === 'f_check_book_name is null'
531
- },
532
- isChangeBook () {
533
- return this.$refs.paged.$refs.criteria.model.f_is_checkbook === 'f_check_book_name is not null'
534
- }
535
- },
536
- methods: {
537
- async getmeterreader(){
538
- this.meterReader=[]
539
- let http=new HttpResetClass()
540
- let getMeterReader = await http.load('pOST',`rs/sql/safe_singleTable_OrderBy`,{
541
- data:{
542
- items:'f_inputtor',
543
- tablename: 't_userfiles',
544
- condition:`f_orgid = '${this.$login.f.orgid}' and f_inputtor is not null ` + ` group by f_inputtor`,
545
- orderitem: 'f_inputtor'
546
- }
547
- },{resolveMsg:null,rejectMsg:"获取抄表员失败"}).then(res =>{
548
- this.meterReader = res.data.map(item=>{
549
- console.log('打印item',item)
550
- return{
551
- label : item.f_inputtor,
552
- value : item.f_inputtor
553
- }
554
-
555
- })
556
- this.meterReader.unshift({label:'全部',value:''})
557
- }
558
-
559
- )
560
- },
561
- //片区获取
562
- async getSliceArea() {
563
- let http = new HttpResetClass()
564
- let getAllArea = await http.load('POST', '/rs/search', {
565
- source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
566
- userid: this.userlogin.id
567
- }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
568
- this.sliceArea = [{label: '全部', value: ''}]
569
- getAllArea.data.forEach((res) => {
570
- if(res.parentid==this.userlogin.orgid){
571
- this.sliceArea.push({label:res.name,value:res.name})
572
- }
573
- })
574
- console.log('片区' + this.sliceArea)
575
- },
576
- //片区改变-对应抄表册下拉重新赋值
577
- slice_areaChange(value) {
578
- console.log("下拉改变--"+value)
579
- if(!value){
580
- this.cbc=[]
581
- this.meterbooks.forEach((res) => {
582
- this.cbc.push({label: res.f_book_name, value: res.id})
583
- })
584
- }else{
585
- this.cbc=[]
586
- this.meterbooks.forEach((res) => {
587
- if(res.f_book_slice_area==value){
588
- this.cbc.push({label: res.f_book_name, value: res.id})
589
- }
590
- })
591
- }
592
- },
593
- // 获取气表品牌
594
- setConList(){
595
- new HttpResetClass().load("POST", `/rs/logic/getSaleInitData`, {data:{f_orgid:`${this.$login.f.orgid}`}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
596
- this.meterbrands=res.data.gasbrands
597
- })
598
- },
599
- reres(val){
600
- if (!val.resids || val.resids.length === 0 || val.resids[0] ==='undefined' || val.resids.length>1){
601
- return
602
- }
603
- console.log('val2',val)
604
- const resids = val.orgobj.filter(res=>res.resourcetype==='department')
605
- console.log('val2',resids)
606
- if (resids.length>0){
607
- this.checkBook.f_depid = resids[0].id
608
- this.checkBook.f_dep = resids[0].name
609
- }
610
- },
611
- clearBook(){
612
- this.checkBook ={
613
- f_check_book_name: '',
614
- f_run_date: '',
615
- f_around_time: '',
616
- f_around_unit: '',
617
- f_create_date: Util.toStandardDateString(),
618
- f_create_person: this.$login.f.name,
619
- f_orgid: this.$login.f.orgid,
620
- f_depid:'',
621
- f_dep:'',
622
- f_checker_name: '',
623
- f_checker_id:''
624
- }
625
- },
626
- async ok2() {
627
- if (!this.selectBook) {
628
- this.$showMessage('请选择安检册')
629
- return
630
- }
631
- if (this.isSearch && (this.bookAll || this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
632
- let userCondition = ''
633
- if (this.bookList.length < 1) {
634
- console.log('bookCondition', this.bookCondition)
635
- userCondition = this.bookCondition
636
- } else {
637
- console.log('this.bookList', JSON.stringify(this.bookList))
638
-
639
- userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
640
- userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
641
- console.log('condition', userCondition)
642
- }
643
- let addUser = `update t_user_address set f_check_book_id ='${this.selectBook}'
644
- FROM
645
- t_userinfo tui
646
- LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
647
- LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
648
- LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
649
- WHERE
650
- tui.f_user_state = '正常'
651
- AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
652
- AND ${userCondition}`
653
- await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: addUser}},
654
- {resolveMsg: null, rejectMsg: '添加用户失败'})
655
- this.$showMessage('添加用户成功')
656
- this.selectBook = ''
657
- this.clearBook()
658
- this.bookAll = false
659
- this.bookCheckedAll = false
660
- this.bookList = []
661
- this.showModal2 = false
662
- this.$refs.paged.$refs.criteria.search()
663
- }
664
- },
665
- async ok3() {
666
- if (!this.selectBook) {
667
- this.$showMessage('请选择安检册')
668
- return
669
- }
670
- if (this.isSearch && (this.bookAll || this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
671
- let userCondition = ''
672
- if (this.bookList.length < 1) {
673
- console.log('bookCondition', this.bookCondition)
674
- userCondition = this.bookCondition
675
- } else {
676
- console.log('this.bookList', JSON.stringify(this.bookList))
677
-
678
- userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
679
- userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
680
- console.log('condition', userCondition)
681
- }
682
- let upUser = `update t_user_address set f_check_book_id ='${this.selectBook}'
683
- FROM
684
- t_userinfo tui
685
- LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
686
- LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
687
- LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
688
- WHERE
689
- tui.f_user_state = '正常'
690
- AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
691
- AND ${userCondition}`
692
- await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: upUser}},
693
- {resolveMsg: null, rejectMsg: '调整用户失败'})
694
- this.$showMessage('调整用户成功')
695
- this.selectBook = ''
696
- this.clearBook()
697
- this.bookAll = false
698
- this.bookCheckedAll = false
699
- this.bookList = []
700
- this.showModal3 = false
701
- this.$refs.paged.$refs.criteria.search()
702
- }
703
- },
704
- cancel2(){
705
- this.selectBook = ''
706
- this.clearBook()
707
- this.bookAll = false
708
- this.bookCheckedAll = false
709
- this.bookList = []
710
- this.showModal2 = false
711
- this.$refs.paged.$refs.criteria.search()
712
- },
713
- cancel3(){
714
- this.selectBook = ''
715
- this.clearBook()
716
- this.bookAll = false
717
- this.bookCheckedAll = false
718
- this.bookList = []
719
- this.showModal3 = false
720
- this.$refs.paged.$refs.criteria.search()
721
- },
722
- addUser () {
723
- if (!this.isCreateBook) {
724
- this.$showMessage('请选择查询未划分安检册的用户')
725
- return
726
- }
727
- if (this.isSearch && (this.bookAll ||this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
728
- this.showModal2 = true
729
- this.freshCheckBook()
730
- return
731
- }
732
- this.$showMessage('请选择用户')
733
- },
734
- upUser () {
735
- if (!this.isChangeBook) {
736
- this.$showMessage('请选择查询已划分安检册的用户')
737
- return
738
- }
739
- if (this.isSearch && ( this.bookAll ||this.bookCheckedAll|| this.bookList.length > 0) && this.model.rows.length > 0) {
740
- this.showModal3 = true
741
- this.freshCheckBook()
742
- return
743
- }
744
- this.$showMessage('请选择用户')
745
- },
746
- async delUser () {
747
- if (!this.isChangeBook) {
748
- this.$showMessage('请选择查询已划分安检册的用户')
749
- return
750
- }
751
- if (this.isSearch && (this.bookAll ||this.bookCheckedAll|| this.bookList.length > 0) && this.model.rows.length > 0) {
752
- let userCondition= ''
753
- if (this.bookList.length < 1) {
754
- console.log('bookCondition', this.bookCondition)
755
- userCondition = this.bookCondition
756
- } else {
757
- console.log('this.bookList', JSON.stringify(this.bookList))
758
-
759
- userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
760
- userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
761
- console.log('condition', userCondition)
762
- }
763
- let delUser= `update t_user_address set f_check_book_id =null
764
- FROM
765
- t_userinfo tui
766
- LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
767
- LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
768
- LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
769
- WHERE
770
- tui.f_user_state = '正常'
771
- AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
772
- AND ${userCondition}`
773
- await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: delUser}},
774
- {resolveMsg: null, rejectMsg: '删除安检册失败'})
775
- this.$showMessage('从安检册删除所选用户成功')
776
- this.selectBook = ''
777
- this.bookAll = false
778
- this.bookCheckedAll = false
779
- this.clearBook()
780
- this.bookList = []
781
- this.showModal3 = false
782
- this.$refs.paged.$refs.criteria.search()
783
- return
784
- }
785
- this.$showMessage('请选择用户')
786
- },
787
- beforeCreateBook () {
788
- if (!this.isCreateBook) {
789
- this.$showMessage('请选择查询未划分安检册的用户')
790
- return
791
- }
792
- if (this.isSearch && (this.bookAll ||this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
793
- this.showModal = true
794
- return
795
- }
796
- this.$showMessage('请选择用户')
797
- },
798
- ok () {
799
- console.log('checkbook', JSON.stringify(this.checkBook))
800
- let condition = ''
801
- if (!this.checkBook.f_check_book_name) {
802
- this.$showMessage('请填写册名')
803
- return
804
- }
805
- if (!this.checkBook.f_checker_name && this.permission === 'c2') {
806
- this.$showMessage('请选择安检员')
807
- return
808
- }
809
- if (!this.checkBook.f_around_time || !this.checkBook.f_around_unit) {
810
- this.$showMessage('请选填写周期信息')
811
- return
812
- }
813
- if (!this.checkBook.f_run_date) {
814
- this.$showMessage('执行日期')
815
- return
816
- }
817
- if(this.checkBook.f_run_date < Util.toStandardDateString()){
818
- this.$showMessage('执行日期应大于当前日期')
819
- return
820
- }
821
- if (this.bookList.length < 1) {
822
- console.log('bookCondition', this.bookCondition)
823
- condition = this.bookCondition
824
- } else {
825
- console.log('this.bookList', JSON.stringify(this.bookList))
826
-
827
- condition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
828
- condition = 'tui.f_userinfo_id in (' + condition + ')'
829
- console.log('condition', condition)
830
- }
831
- let data = {
832
- checkBook: this.checkBook,
833
- sqlStr: condition
834
- }
835
- new HttpResetClass().load('post', 'rs/logic/AddCheckBook', {data}).then(res => {
836
- console.log('res=>', JSON.stringify(res))
837
- if (res.data.id) {
838
- this.$showMessage('创建成功')
839
- this.showModal = false
840
- this.isSearch = false
841
- this.clearBook()
842
- this.bookList = []
843
- this.bookAll = false
844
- this.bookCheckedAll = false
845
- this.freshCheckBook()
846
- this.$refs.paged.$refs.criteria.search()
847
- }
848
- })
849
- },
850
- changeState (val) {
851
- console.log('66666666666', val)
852
- console.log(this.model.rows)
853
- this.bookAll = false
854
- this.bookCheckedAll = false
855
- this.bookList = []
856
- if (this.$refs.paged.$refs.criteria.model.f_orgid){
857
- this.$refs.paged.$refs.criteria.search()
858
- }
859
- },
860
- cancel () {
861
- this.bookAll = false
862
- this.bookCheckedAll = false
863
- this.bookList = []
864
- this.clearBook()
865
- this.showModal = false
866
- this.$refs.paged.$refs.criteria.search()
867
- },
868
- checkModel (row) {
869
- if (this.bookAll) {
870
- //console.log('row', this.bookAll, JSON.stringify(row))
871
- return true
872
- } else {
873
- if (this.bookList.findIndex(res => res === row.f_userinfo_id) !== -1) {
874
- //console.log('row1111', JSON.stringify(row))
875
- return true
876
- } else {
877
- return false
878
- }
879
- }
880
- },
881
- pageCheckModel(row){
882
- if (this.bookCheckedAll){
883
- console.log('benye', this.bookAll, JSON.stringify(row))
884
- //全选被选中,每行row也被选中
885
- return true
886
- }else {
887
- if (this.bookList.findIndex(res => res === row.f_userinfo_id) !== -1) {
888
- //console.log('本页', JSON.stringify(row))
889
- return true
890
- } else {
891
- return false
892
- }
893
- }
894
- },
895
- checkChange (row, e) {
896
- console.log('e', e.target.checked)
897
- if (e.target.checked) {
898
- this.bookList.push(row.f_userinfo_id)
899
- } else {
900
- this.bookList.splice(this.bookList.findIndex(res => res === row.f_userinfo_id), 1)
901
- }
902
- console.log('aaaaa', JSON.stringify(this.bookList))
903
- },
904
- getRes (obj) {
905
- this.checkBook.f_orgid = obj.resids[0]
906
- },
907
- getResm (obj) {
908
- this.$refs.paged.$refs.criteria.model.f_orgid = this.$login.convertToIn(obj.resids)
909
- },
910
- hidden () {
911
- this.criteriaShow = !this.criteriaShow
912
- },
913
- selfSearch (args) {
914
- this.isSearch = true
915
- this.bookAll = false
916
- this.bookCheckedAll = false
917
- this.bookList = []
918
- // if (this.$refs.paged.$refs.criteria.model.f_orgid){
919
- // args.condition += `f_orgid in ${this.$refs.paged.$refs.criteria.model.f_orgid}`
920
- // }
921
- if (this.permission === 'c2'){
922
- args.condition +=` and tcb.f_depid = '${this.$login.f.depids}'`
923
- }
924
- if(args.model.gasbrand){
925
- args.condition +=` and tuf.f_gasbrand_id=${args.model.gasbrand.id}`
926
- }
927
- this.model.search(args.condition, args.model)
928
- },
929
- getChecker(){
930
- let http = new HttpResetClass()
931
- http.load('POST', '/rs/search', {data: {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))', userid: this.$login.f.id}}, {resolveMsg: null, rejectMsg: null})
932
- .then(res => {
933
- console.log('res666-->' + JSON.stringify(res))
934
- this.checkers = res.data.map(res=>{
935
- return {label:res.name,value:res.name}
936
- })
937
- })
938
- },
939
- freshCheckBook () {
940
- this.checkBooks = []
941
- new HttpResetClass().load('POST', `/rs/sql/safe_singleTable_OrderBy`, {
942
- data: {
943
- items: 'id,f_check_book_name',
944
- tablename: 't_check_book',
945
- condition: (this.$refs.paged.$refs.criteria.model.f_orgid?`f_orgid in ${this.$refs.paged.$refs.criteria.model.f_orgid}`:'1=1')+(this.permission === 'c2' ? ` and f_depid='${this.$login.f.depids}'`:'') ,
946
- orderitem: 'id desc'
947
- }
948
- }, {resolveMsg: null, rejectMsg: null}).then(res => {
949
- this.checkBooks.push({label: '全部', value: ''})
950
- res.data.forEach(ress => {
951
- this.checkBooks.push({
952
- label: ress.f_check_book_name,
953
- value: ress.id
954
- })
955
- })
956
- })
957
- }
958
- },
959
- ready () {
960
- // 获取片区
961
- this.getSliceArea()
962
- this.getmeterreader()
963
- // 获取营收气表参数
964
- this.setConList()
965
- if (this.permission === 'c1'){
966
- this.$refs.paged.$refs.criteria.model.f_is_checkbook = 'f_check_book_name is null'
967
- }else if(this.permission === 'c2'){
968
- this.$refs.paged.$refs.criteria.model.f_is_checkbook = 'f_check_book_name is not null'
969
- }
970
-
971
- console.log('checkbook', this.$login.f)
972
- this.checkBook.f_orgid = this.$login.f.orgid
973
- console.log('permission2',this.permission)
974
- // this.init=true
975
- this.freshCheckBook()
976
- this.getChecker()
977
- },
978
- watch: {
979
- 'bookCheckedAll' (val) {
980
- if (val){
981
- this.$refs.paged.$refs.grid.model.rows.forEach(row=>{
982
- this.bookList.push(row.f_userinfo_id)
983
- })
984
- console.log('this.bookList', JSON.stringify(this.bookList))
985
- }else {
986
- this.bookList = []
987
- console.log('this.bookList', JSON.stringify(this.bookList))
988
- }
989
- }
990
- },
991
- }
992
- </script>
993
- <style scoped>
994
- /*.btn-group > .btn:first-child {*/
995
- /* margin-left: 0;*/
996
- /* width: 100%;*/
997
- /*}*/
998
- </style>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2">
9
+ <label class="font_normal_body">客户编号</label>
10
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
+ style="width: 60%" placeholder="客户编号" condition="tui.f_userinfo_code='{}'">
12
+ </div>
13
+ <div class="form-group col-sm-2">
14
+ <label class="font_normal_body">客户名称</label>
15
+ <input type="text" class="input_search" v-model="model.f_user_name"
16
+ style="width: 60%" placeholder="客户名称" condition="tui.f_user_name like '{}%'">
17
+ </div>
18
+ <div class="form-group col-sm-2">
19
+ <label class="font_normal_body">客户电话</label>
20
+ <input type="text" class="input_search" v-model="model.f_user_phone"
21
+ style="width: 60%" placeholder="客户电话" condition="tui.f_user_phone like '{}%'">
22
+ </div>
23
+ <div class="form-group col-sm-2">
24
+ <label class="font_normal_body">客户地址</label>
25
+ <input type="text" class="input_search" v-model="model.f_address"
26
+ style="width: 60%" placeholder="客户地址" condition="tua.f_address like '%{}%'">
27
+ </div>
28
+
29
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
30
+
31
+ <export-excel-safe :data="$parent.$parent.searchData"
32
+ :field="$parent.$parent.excelHeaders"
33
+ progress="safeGetExportProgress"
34
+ sqlurl="rs/logic/SafeExportExcel" sql-name="getUserByCheckBook"
35
+ template-name='用户安检明细'></export-excel-safe>
36
+
37
+
38
+ <button class="button_spacing button_search" @click="search()">查询</button>
39
+ <!-- <div style="float: right" class="button_spacing"-->
40
+ <!-- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"-->
41
+ <!-- @click="$parent.$parent.hidden()"></div>-->
42
+ </div>
43
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
44
+
45
+
46
+ <button class="button_spacing button_search" @click="$parent.$parent.beforeCreateBook">创建安检册</button>
47
+
48
+ </div>
49
+ </div>
50
+ <div class="row">
51
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
52
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
53
+ <right-tree-safe @re-res="$parent.$parent.getResm" v-model="model.f_orgid" condition="tua.f_orgid in {}"></right-tree-safe>
54
+ </div>
55
+ <div class="form-group col-sm-2" style="margin-top: 0px">
56
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
57
+ <input type="text" class="input_search" v-model="model.f_residential_area"
58
+ style="width: 60%" placeholder="小区" condition="tua.f_residential_area like '%{}%'">
59
+ </div>
60
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
61
+
62
+ <label class="font_normal_body" title="用户类型">用户类型</label>
63
+ <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
64
+ :value-single="true" style="width: 60%"
65
+ class="select_list select"
66
+ :options='$parent.$parent.usertypes' placeholder='用户类型'
67
+ close-on-select
68
+ condition="tuf.f_user_type ='{}'"></v-select>
69
+
70
+ </div>
71
+ <!-- <div class="col-sm-2 form-group" style="margin: 0">
72
+
73
+ <label class="font_normal_body" title="安检用户状态">用户状态</label>
74
+ <v-select :value.sync="model.f_user_state" v-model='model.f_user_state'
75
+ :value-single="true" style="width: 60%"
76
+ class="select_list select"
77
+ :options='$parent.$parent.userstates' placeholder='用户状态'
78
+ close-on-select
79
+ condition="tui.f_user_state ='{}'"></v-select>
80
+
81
+ </div> -->
82
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
83
+
84
+ <label class="font_normal_body" title="用气性质">用气性质</label>
85
+ <v-select :value.sync="model.f_gasproperties" v-model='model.f_gasproperties'
86
+ :value-single="true" style="width: 60%"
87
+ class="select_list select"
88
+ :options='$parent.$parent.gasproperties' placeholder='用气性质'
89
+ close-on-select
90
+ condition="tuf.f_gasproperties ='{}'"></v-select>
91
+
92
+ </div>
93
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
94
+
95
+ <label class="font_normal_body" title="气表类型">气表类型</label>
96
+ <v-select
97
+ class="select select_list"
98
+ :value.sync="model.f_meter_classify"
99
+ v-model="model.f_meter_classify"
100
+ :options='$parent.$parent.meter_classifys'
101
+ placeholder='请选择'
102
+ condition="tuf.f_meter_classify='{}'"
103
+ :search="false"
104
+ style="width: 60%"
105
+ close-on-select
106
+ value-single
107
+ ></v-select>
108
+ </div>
109
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
110
+
111
+ <label class="font_normal_body">气表品牌</label>
112
+ <v-select :value.sync="model.gasbrand" v-model='model.gasbrand'
113
+ :value-single="true" style="width: 60%"
114
+ class="select_list select"
115
+ :options='$parent.$parent.getgasbrand' placeholder='气表品牌'
116
+ close-on-select
117
+ ></v-select>
118
+ </div>
119
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
120
+
121
+ <label class="font_normal_body">气表型号</label>
122
+ <v-select :value.sync="model.gasmodel" v-model='model.gasmodel'
123
+ :value-single="true" style="width: 60%"
124
+ class="select_list select"
125
+ :options='$parent.$parent.getgasmodel' placeholder='气表型号'
126
+ close-on-select
127
+ condition="tuf.f_gasmodel_id = '{}'"></v-select>
128
+
129
+ </div>
130
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
131
+
132
+ <label class="font_normal_body" title="房屋类型">房屋类型</label>
133
+ <v-select :value.sync="model.f_house_type" v-model='model.f_house_type'
134
+ :value-single="true" style="width: 60%"
135
+ class="select_list select"
136
+ :options='$parent.$parent.housetypes' placeholder='房屋类型'
137
+ close-on-select
138
+ condition="tui.f_house_type = '{}'"></v-select>
139
+
140
+ </div>
141
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
142
+
143
+ <label class="font_normal_body" title="安装位置">安装位置</label>
144
+ <v-select :value.sync="model.f_position" v-model='model.f_position'
145
+ :value-single="true" style="width: 60%"
146
+ class="select_list select"
147
+ :options='$parent.$parent.positions' placeholder='安装位置'
148
+ close-on-select
149
+ condition="tuf.f_position = '{}'"></v-select>
150
+
151
+ </div>
152
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
153
+
154
+ <label class="font_normal_body" title="使用类型">使用类型</label>
155
+ <v-select :value.sync="model.f_usetype" v-model='model.f_usetype'
156
+ :value-single="true" style="width: 60%"
157
+ class="select_list select"
158
+ :options='$parent.$parent.usetypes' placeholder='使用类型'
159
+ close-on-select
160
+ condition="tuf.f_usetype = '{}'"></v-select>
161
+
162
+ </div>
163
+ <div class="form-group col-sm-2" style="margin-top: 0px">
164
+ <label class="font_normal_body">开户起始</label>
165
+ <datepicker
166
+ placeholder='开户起始'
167
+ style="width:60%"
168
+ :disabled-days-of-week="[]"
169
+ :format="'yyyy-MM-dd'"
170
+ :show-rest-button="reset"
171
+ :value.sync="model.f_startfile_time"
172
+ v-model="model.f_startfile_time"
173
+ condition="tui.f_createfile_date >= '{} 00:00:00'">
174
+ </datepicker>
175
+ </div>
176
+ <div class="form-group col-sm-2"style="margin-top: 0px" >
177
+ <label class="font_normal_body">开户截止</label>
178
+ <datepicker
179
+ placeholder='开户截止'
180
+ :disabled-days-of-week="[]"
181
+ style="width:60%"
182
+ :format="'yyyy-MM-dd'"
183
+ :show-rest-button="reset"
184
+ :value.sync="model.f_endfile_time"
185
+ v-model="model.f_endfile_time"
186
+ condition="tui.f_createfile_date <= '{} 00:00:00'">
187
+ </datepicker>
188
+ </div>
189
+ <div class="form-group col-sm-2" style="margin-top: 0px">
190
+ <label class="font_normal_body">片&ensp;&ensp;&ensp;&ensp;区</label>
191
+ <v-select
192
+ class="select select_list"
193
+ style="width:60%"
194
+ :value.sync="model.f_book_slice_area"
195
+ v-model="model.f_book_slice_area"
196
+ :options='$parent.$parent.sliceArea'
197
+ placeholder='片区'
198
+ condition="tua.f_slice_area ='{}'"
199
+ close-on-select
200
+ value-single
201
+ >
202
+ </v-select>
203
+ </div>
204
+ <div class="form-group col-sm-2" style="margin-top: 0px">
205
+ <label class="font_normal_body" title="安检状态">安检状态</label>
206
+ <v-select
207
+ class="select select_list"
208
+ style="width:60%"
209
+ :value.sync="model.f_last_check_state"
210
+ v-model="model.f_last_check_state"
211
+ :options='$parent.$parent.check_states'
212
+ placeholder='安检状态'
213
+ close-on-select
214
+ value-single
215
+ >
216
+ </v-select>
217
+ </div>
218
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
219
+
220
+ <label class="font_normal_body">安&ensp;检&ensp;册</label>
221
+ <v-select :value.sync="model.f_check_book_id" v-model='model.f_check_book_id'
222
+ :value-single="true" style="width: 60%"
223
+ class="select_list select"
224
+ :options='$parent.$parent.checkBooks' placeholder='安&ensp;检&ensp;册'
225
+ close-on-select
226
+ condition="f_check_book_id ='{}'"></v-select>
227
+
228
+ </div>
229
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
230
+
231
+ <label class="font_normal_body">是否划分</label>
232
+ <v-select :value.sync="model.f_is_checkbook" v-model='model.f_is_checkbook'
233
+ :value-single="true" style="width: 60%"
234
+ class="select_list select"
235
+ @change="$parent.$parent.changeState"
236
+ :options='$parent.$parent.isCheckBook' placeholder='有无所属安检册'
237
+ close-on-select
238
+ condition="{}"></v-select>
239
+
240
+ </div>
241
+ <div class="col-sm-2 form-group" style="margin-top: 0px">
242
+
243
+ <label class="font_normal_body">抄&ensp;表&ensp;员</label>
244
+ <v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
245
+ :value-single="true" style="width: 60%"
246
+ class="select_list select"
247
+ :options='$parent.$parent.meterReader' placeholder='抄&ensp;表&ensp;员'
248
+ close-on-select
249
+ condition="f_inputtor ='{}'"></v-select>
250
+
251
+ </div>
252
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
253
+
254
+
255
+ <button class="button_spacing button_search" @click="$parent.$parent.addUser">添加用户</button>
256
+
257
+ </div>
258
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
259
+
260
+
261
+ <button class="button_spacing button_search" @click="$parent.$parent.upUser">调整用户</button>
262
+
263
+ </div>
264
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right" v-if="$parent.$parent.permission === 'c1'">
265
+
266
+
267
+ <button class="button_spacing button_search" @click="$parent.$parent.delUser">移除用户</button>
268
+
269
+ </div>
270
+ </div>
271
+ </div>
272
+ </criteria>
273
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
274
+ <template partial='head'>
275
+ <tr @dblclick.stop="">
276
+ <th>
277
+ <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
278
+ </th>
279
+ <th>
280
+ <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookCheckedAll"></input>本页全选</nobr>
281
+ </th>
282
+ <th>
283
+ <nobr>客户姓名</nobr>
284
+ </th>
285
+ <th>
286
+ <nobr>客户编号</nobr>
287
+ </th>
288
+ <th>
289
+ <nobr>客户类型</nobr>
290
+ </th>
291
+ <th>
292
+ <nobr>客户电话</nobr>
293
+ </th>
294
+ <th>
295
+ <nobr>客户地址</nobr>
296
+ </th>
297
+ <th>
298
+ <nobr>所属安检册</nobr>
299
+ </th>
300
+ </tr>
301
+ </template>
302
+ <template partial='body'>
303
+ <td style="text-align: center">
304
+ <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
305
+ @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
306
+ </nobr>
307
+ </td>
308
+ <td style="text-align: center">
309
+ <nobr>
310
+ <input type="checkbox" :checked="$parent.$parent.$parent.pageCheckModel(row)"></input>
311
+ </nobr>
312
+ </td>
313
+ <td style="text-align: center">{{ row.f_user_name }}</td>
314
+ <td style="text-align: center">{{ row.f_userinfo_code }}</td>
315
+ <td style="text-align: center">{{ row.f_user_type }}</td>
316
+ <td style="text-align: center">{{ row.f_user_phone }}</td>
317
+ <td style="text-align: center">{{ row.f_address }}</td>
318
+ <td style="text-align: center">{{ row.f_check_book_name }}</td>
319
+ </template>
320
+ </data-grid>
321
+ </criteria-paged>
322
+ </div>
323
+ <modal :show.sync="showModal" :backdrop="false">
324
+ <div slot="modal-header" class="modal-header">
325
+ <h4 class="modal-title">
326
+ 创建安检册
327
+ </h4>
328
+ </div>
329
+ <div slot="modal-body" class="modal-body">
330
+ <div v-if="true">
331
+ <div class="row" style="margin-top: 10px">
332
+ <!-- <label class="control-label font text-left" style="float:left;margin-left:10%;margin-top:5px">安检册名称</label>-->
333
+ <!-- <div class="col-xs-8 col-md-8">-->
334
+ <!-- <input type="text" class="input_search" style="width: 70%;" v-model="checkBook.f_check_book_name"/>-->
335
+ <!-- </div>-->
336
+ <div class="col-sm-6 form-group" style="margin-top: 20px" v-if="permission === 'c1' && showModal ">
337
+ <label class="font_normal_body">安检科室</label>
338
+ <right-tree islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择科室" :selectData="''" v-ref:f_reciever>
339
+ </right-tree>
340
+ </div>
341
+ <div class="col-sm-6 form-group" style="margin-top: 20px" v-if="permission === 'c2' ">
342
+ <label class="font_normal_body">安&ensp;检&ensp;员</label>
343
+ <v-select :value.sync="checkBook.f_checker_name" v-model='checkBook.f_checker_name'
344
+ :value-single="true" style="width: 60%"
345
+ class="select_list select"
346
+ :options='checkers' placeholder='安检员'
347
+ close-on-select></v-select>
348
+ </div>
349
+ <div class="form-group col-sm-6" style="margin-top: 20px">
350
+ <label class="font_normal_body">安检册名</label>
351
+ <input type="text" class="input_search" v-model="checkBook.f_check_book_name"
352
+ style="width: 60%" >
353
+ </div>
354
+ <div class="form-group col-sm-6" style="margin-top: 20px">
355
+ <label class="font_normal_body">执行日期</label>
356
+ <datepicker
357
+ :value.sync="checkBook.f_run_date"
358
+ style="width: 60%"
359
+ :format="'yyyy-MM-dd'"
360
+ v-model="checkBook.f_run_date"
361
+ >
362
+ </datepicker>
363
+ </div>
364
+ <div class="form-group col-sm-6" style="margin-top: 20px">
365
+ <label class="font_normal_body">执行周期</label>
366
+ <input type="number" class="input_search" v-model="checkBook.f_around_time"
367
+ style="width: 60%" >
368
+ </div>
369
+ <div class="form-group col-sm-6" style="margin-top: 20px">
370
+ <label class="font_normal_body">周期单位</label>
371
+ <v-select :value.sync="checkBook.f_around_unit" v-model='checkBook.f_around_unit'
372
+ :value-single="true" style="width: 60%"
373
+ class="select_list select"
374
+ :options='aroundUnit' placeholder=''
375
+ close-on-select></v-select>
376
+ </div>
377
+ </div>
378
+ </div>
379
+ </div>
380
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
381
+ <button class="button_search" style="margin-right: 20px" @click="ok">确认</button>
382
+ <button class="button_search" @click="cancel">取消</button>
383
+ </div>
384
+ </modal>
385
+ <modal :show.sync="showModal2" :backdrop="false">
386
+ <div slot="modal-header" class="modal-header">
387
+ <h4 class="modal-title">
388
+ 添加用户
389
+ </h4>
390
+ </div>
391
+ <div slot="modal-body" class="modal-body">
392
+ <div v-if="true">
393
+ <div class="row" style="margin-top: 10px">
394
+ <div class="form-group col-sm-12" style="margin-top: 20px">
395
+ <label class="font_normal_body">安&ensp;检&ensp;册</label>
396
+ <v-select :value.sync="selectBook" v-model='selectBook'
397
+ :value-single="true" style="width: 80%"
398
+ class="select_list select"
399
+ :options='checkBooks' placeholder=''
400
+ close-on-select></v-select>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
406
+ <button class="button_search" style="margin-right: 20px" @click="ok2">确认</button>
407
+ <button class="button_search" @click="cancel2">取消</button>
408
+ </div>
409
+ </modal>
410
+ <modal :show.sync="showModal3" :backdrop="false">
411
+ <div slot="modal-header" class="modal-header">
412
+ <h4 class="modal-title">
413
+ 调整用户
414
+ </h4>
415
+ </div>
416
+ <div slot="modal-body" class="modal-body">
417
+ <div v-if="true">
418
+ <div class="row" style="margin-top: 10px;text-align: center">
419
+ <div class="form-group col-sm-12" style="margin-top: 20px">
420
+ <label class="font_normal_body">安&ensp;检&ensp;册</label>
421
+ <v-select :value.sync="selectBook" v-model='selectBook'
422
+ :value-single="true" style="width: 80%"
423
+ class="select_list select"
424
+ :options='checkBooks' placeholder=''
425
+ close-on-select></v-select>
426
+ </div>
427
+ </div>
428
+ </div>
429
+ </div>
430
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
431
+ <button class="button_search" style="margin-right: 20px" @click="ok3">确认</button>
432
+ <button class="button_search" @click="cancel3">取消</button>
433
+ </div>
434
+ </modal>
435
+
436
+ </div>
437
+ </template>
438
+
439
+ <script>
440
+ import {PagedList, HttpResetClass} from 'vue-client'
441
+ import * as Util from '../../components/Util'
442
+
443
+ export default {
444
+ title: '安检册管理',
445
+ data () {
446
+ let model = new PagedList('rs/sql/getUserByCheckBook', 20)
447
+ return {
448
+ model: model,
449
+ criteriaShow: false,
450
+ excelHeaders: {
451
+ "f_user_name":'客户姓名',
452
+ "f_userinfo_code":'客户编号',
453
+ "f_user_type":'客户类型',
454
+ "f_user_phone":'客户电话',
455
+ "f_address":'客户地址',
456
+ "f_check_book_name":'所属安检册'
457
+ },
458
+ checkBooks: [],
459
+ meterReader:[],
460
+ f_orgid: '',
461
+ bookAll: false,
462
+ bookCheckedAll:false,
463
+ bookList: [],
464
+ selectBook:'',
465
+ // init:false,
466
+ aroundUnit: [{label: '年', value: '年'}, {label: '月', value: '月'}, {label: '日', value: '月'}],
467
+ isCheckBook: [{label: '全部', value: ''}, {label: '', value: 'f_check_book_name is not null'}, {label: '', value: 'f_check_book_name is null'}],
468
+ isSearch: false,
469
+ checkers:[],
470
+ source:
471
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
472
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($安检册二次分配$)))',
473
+ userid: this.$login.f.id,
474
+ checkBook: {
475
+ f_check_book_name: '',
476
+ f_run_date: '',
477
+ f_around_time: '',
478
+ f_around_unit: '',
479
+ f_create_date: Util.toStandardDateString(),
480
+ f_create_person: this.$login.f.name,
481
+ f_orgid: this.$login.f.orgid,
482
+ f_depid:'',
483
+ f_dep:'',
484
+ f_checker_name: '',
485
+ f_checker_id:''
486
+ },
487
+ showModal: false,
488
+ showModal2: false,
489
+ showModal3: false,
490
+ userstates:this.$appdata.getParam('安检用户状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检用户状态')]:[{label: '全部', value: ''}],
491
+ usertypes:this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
492
+ gasproperties:this.$appdata.getParam('用气性质')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]:[{label: '全部', value: ''}],
493
+ meter_classifys:this.$appdata.getParam('气表类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]:[{label: '全部', value: ''}],
494
+ housetypes:this.$appdata.getParam('房屋类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]:[{label: '全部', value: ''}],
495
+ positions:this.$appdata.getParam('安装位置')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安装位置')]:[{label: '全部', value: ''}],
496
+ usetypes:this.$appdata.getParam('使用类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('使用类型')]:[{label: '全部', value: ''}],
497
+ check_states:[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态'),{label: '未安检', value: '未安检'}],
498
+ meterbrands:[],
499
+ sliceArea:[]
500
+
501
+ }
502
+ },
503
+ props:['f_check_book_name','permission'],
504
+ computed: {
505
+ getgasbrand(){
506
+ let ops=[{label:'全部',value:''}]
507
+ this.meterbrands.forEach(b =>{
508
+ ops.push({label:b.f_meter_brand,value:b})
509
+ })
510
+ return ops
511
+ },
512
+ getgasmodel(){
513
+ let ops=[{label:'全部',value:''}]
514
+ this.$refs.paged.$refs.criteria.model.gasmodel=''
515
+ if(this.$refs.paged.$refs.criteria.model && this.$refs.paged.$refs.criteria.model.gasbrand){
516
+ this.$refs.paged.$refs.criteria.model.gasbrand.gasmodel.forEach(b =>{
517
+ ops.push({label:b.f_meter_style,value:b.id})
518
+ })
519
+ }
520
+ return ops
521
+ },
522
+ searchData () {
523
+ return {condition: this.model.condition}
524
+ },
525
+ bookCondition () {
526
+ return this.model.condition
527
+ },
528
+ isCreateBook () {
529
+ return this.$refs.paged.$refs.criteria.model.f_is_checkbook === 'f_check_book_name is null'
530
+ },
531
+ isChangeBook () {
532
+ return this.$refs.paged.$refs.criteria.model.f_is_checkbook === 'f_check_book_name is not null'
533
+ }
534
+ },
535
+ methods: {
536
+ async getmeterreader(){
537
+ this.meterReader=[]
538
+ let http=new HttpResetClass()
539
+ let getMeterReader = await http.load('pOST',`rs/sql/safe_singleTable_OrderBy`,{
540
+ data:{
541
+ items:'f_inputtor',
542
+ tablename: 't_userfiles',
543
+ condition:`f_orgid = '${this.$login.f.orgid}' and f_inputtor is not null ` + ` group by f_inputtor`,
544
+ orderitem: 'f_inputtor'
545
+ }
546
+ },{resolveMsg:null,rejectMsg:"获取抄表员失败"}).then(res =>{
547
+ this.meterReader = res.data.map(item=>{
548
+ console.log('打印item',item)
549
+ return{
550
+ label : item.f_inputtor,
551
+ value : item.f_inputtor
552
+ }
553
+
554
+ })
555
+ this.meterReader.unshift({label:'全部',value:''})
556
+ }
557
+
558
+ )
559
+ },
560
+ //片区获取
561
+ async getSliceArea() {
562
+ let http = new HttpResetClass()
563
+ let getAllArea = await http.load('POST', '/rs/search', {
564
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
565
+ userid: this.userlogin.id
566
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
567
+ this.sliceArea = [{label: '全部', value: ''}]
568
+ getAllArea.data.forEach((res) => {
569
+ if(res.parentid==this.userlogin.orgid){
570
+ this.sliceArea.push({label:res.name,value:res.name})
571
+ }
572
+ })
573
+ console.log('片区' + this.sliceArea)
574
+ },
575
+ //片区改变-对应抄表册下拉重新赋值
576
+ slice_areaChange(value) {
577
+ console.log("下拉改变--"+value)
578
+ if(!value){
579
+ this.cbc=[]
580
+ this.meterbooks.forEach((res) => {
581
+ this.cbc.push({label: res.f_book_name, value: res.id})
582
+ })
583
+ }else{
584
+ this.cbc=[]
585
+ this.meterbooks.forEach((res) => {
586
+ if(res.f_book_slice_area==value){
587
+ this.cbc.push({label: res.f_book_name, value: res.id})
588
+ }
589
+ })
590
+ }
591
+ },
592
+ // 获取气表品牌
593
+ setConList(){
594
+ new HttpResetClass().load("POST", `/rs/logic/getSaleInitData`, {data:{f_orgid:`${this.$login.f.orgid}`}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
595
+ this.meterbrands=res.data.gasbrands
596
+ })
597
+ },
598
+ reres(val){
599
+ if (!val.resids || val.resids.length === 0 || val.resids[0] ==='undefined' || val.resids.length>1){
600
+ return
601
+ }
602
+ console.log('val2',val)
603
+ const resids = val.orgobj.filter(res=>res.resourcetype==='department')
604
+ console.log('val2',resids)
605
+ if (resids.length>0){
606
+ this.checkBook.f_depid = resids[0].id
607
+ this.checkBook.f_dep = resids[0].name
608
+ }
609
+ },
610
+ clearBook(){
611
+ this.checkBook ={
612
+ f_check_book_name: '',
613
+ f_run_date: '',
614
+ f_around_time: '',
615
+ f_around_unit: '',
616
+ f_create_date: Util.toStandardDateString(),
617
+ f_create_person: this.$login.f.name,
618
+ f_orgid: this.$login.f.orgid,
619
+ f_depid:'',
620
+ f_dep:'',
621
+ f_checker_name: '',
622
+ f_checker_id:''
623
+ }
624
+ },
625
+ async ok2() {
626
+ if (!this.selectBook) {
627
+ this.$showMessage('请选择安检册')
628
+ return
629
+ }
630
+ if (this.isSearch && (this.bookAll || this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
631
+ let userCondition = ''
632
+ if (this.bookList.length < 1) {
633
+ console.log('bookCondition', this.bookCondition)
634
+ userCondition = this.bookCondition
635
+ } else {
636
+ console.log('this.bookList', JSON.stringify(this.bookList))
637
+
638
+ userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
639
+ userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
640
+ console.log('condition', userCondition)
641
+ }
642
+ let addUser = `update t_user_address set f_check_book_id ='${this.selectBook}'
643
+ FROM
644
+ t_userinfo tui
645
+ LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
646
+ LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
647
+ LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
648
+ WHERE
649
+ tui.f_user_state = '正常'
650
+ AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
651
+ AND ${userCondition}`
652
+ await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: addUser}},
653
+ {resolveMsg: null, rejectMsg: '添加用户失败'})
654
+ this.$showMessage('添加用户成功')
655
+ this.selectBook = ''
656
+ this.clearBook()
657
+ this.bookAll = false
658
+ this.bookCheckedAll = false
659
+ this.bookList = []
660
+ this.showModal2 = false
661
+ this.$refs.paged.$refs.criteria.search()
662
+ }
663
+ },
664
+ async ok3() {
665
+ if (!this.selectBook) {
666
+ this.$showMessage('请选择安检册')
667
+ return
668
+ }
669
+ if (this.isSearch && (this.bookAll || this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
670
+ let userCondition = ''
671
+ if (this.bookList.length < 1) {
672
+ console.log('bookCondition', this.bookCondition)
673
+ userCondition = this.bookCondition
674
+ } else {
675
+ console.log('this.bookList', JSON.stringify(this.bookList))
676
+
677
+ userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
678
+ userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
679
+ console.log('condition', userCondition)
680
+ }
681
+ let upUser = `update t_user_address set f_check_book_id ='${this.selectBook}'
682
+ FROM
683
+ t_userinfo tui
684
+ LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
685
+ LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
686
+ LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
687
+ WHERE
688
+ tui.f_user_state = '正常'
689
+ AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
690
+ AND ${userCondition}`
691
+ await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: upUser}},
692
+ {resolveMsg: null, rejectMsg: '调整用户失败'})
693
+ this.$showMessage('调整用户成功')
694
+ this.selectBook = ''
695
+ this.clearBook()
696
+ this.bookAll = false
697
+ this.bookCheckedAll = false
698
+ this.bookList = []
699
+ this.showModal3 = false
700
+ this.$refs.paged.$refs.criteria.search()
701
+ }
702
+ },
703
+ cancel2(){
704
+ this.selectBook = ''
705
+ this.clearBook()
706
+ this.bookAll = false
707
+ this.bookCheckedAll = false
708
+ this.bookList = []
709
+ this.showModal2 = false
710
+ this.$refs.paged.$refs.criteria.search()
711
+ },
712
+ cancel3(){
713
+ this.selectBook = ''
714
+ this.clearBook()
715
+ this.bookAll = false
716
+ this.bookCheckedAll = false
717
+ this.bookList = []
718
+ this.showModal3 = false
719
+ this.$refs.paged.$refs.criteria.search()
720
+ },
721
+ addUser () {
722
+ if (!this.isCreateBook) {
723
+ this.$showMessage('请选择查询未划分安检册的用户')
724
+ return
725
+ }
726
+ if (this.isSearch && (this.bookAll ||this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
727
+ this.showModal2 = true
728
+ this.freshCheckBook()
729
+ return
730
+ }
731
+ this.$showMessage('请选择用户')
732
+ },
733
+ upUser () {
734
+ if (!this.isChangeBook) {
735
+ this.$showMessage('请选择查询已划分安检册的用户')
736
+ return
737
+ }
738
+ if (this.isSearch && ( this.bookAll ||this.bookCheckedAll|| this.bookList.length > 0) && this.model.rows.length > 0) {
739
+ this.showModal3 = true
740
+ this.freshCheckBook()
741
+ return
742
+ }
743
+ this.$showMessage('请选择用户')
744
+ },
745
+ async delUser () {
746
+ if (!this.isChangeBook) {
747
+ this.$showMessage('请选择查询已划分安检册的用户')
748
+ return
749
+ }
750
+ if (this.isSearch && (this.bookAll ||this.bookCheckedAll|| this.bookList.length > 0) && this.model.rows.length > 0) {
751
+ let userCondition= ''
752
+ if (this.bookList.length < 1) {
753
+ console.log('bookCondition', this.bookCondition)
754
+ userCondition = this.bookCondition
755
+ } else {
756
+ console.log('this.bookList', JSON.stringify(this.bookList))
757
+
758
+ userCondition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
759
+ userCondition = 'tui.f_userinfo_id in (' + userCondition + ')'
760
+ console.log('condition', userCondition)
761
+ }
762
+ let delUser= `update t_user_address set f_check_book_id =null
763
+ FROM
764
+ t_userinfo tui
765
+ LEFT JOIN t_userfiles tuf ON tui.f_userinfo_id= tuf.f_userinfo_id
766
+ LEFT JOIN t_user_address tua ON tuf.f_userinfo_id = tua.f_userinfo_id
767
+ LEFT JOIN t_check_book tcb ON tua.f_check_book_id= tcb.id
768
+ WHERE
769
+ tui.f_user_state = '正常'
770
+ AND ( tuf.f_table_state= '正常' OR tuf.f_table_state= '停用' )
771
+ AND ${userCondition}`
772
+ await new HttpResetClass().load('POST', 'rs/logic/runSQL', {data: {sql: delUser}},
773
+ {resolveMsg: null, rejectMsg: '删除安检册失败'})
774
+ this.$showMessage('从安检册删除所选用户成功')
775
+ this.selectBook = ''
776
+ this.bookAll = false
777
+ this.bookCheckedAll = false
778
+ this.clearBook()
779
+ this.bookList = []
780
+ this.showModal3 = false
781
+ this.$refs.paged.$refs.criteria.search()
782
+ return
783
+ }
784
+ this.$showMessage('请选择用户')
785
+ },
786
+ beforeCreateBook () {
787
+ if (!this.isCreateBook) {
788
+ this.$showMessage('请选择查询未划分安检册的用户')
789
+ return
790
+ }
791
+ if (this.isSearch && (this.bookAll ||this.bookCheckedAll || this.bookList.length > 0) && this.model.rows.length > 0) {
792
+ this.showModal = true
793
+ return
794
+ }
795
+ this.$showMessage('请选择用户')
796
+ },
797
+ ok () {
798
+ console.log('checkbook', JSON.stringify(this.checkBook))
799
+ let condition = ''
800
+ if (!this.checkBook.f_check_book_name) {
801
+ this.$showMessage('请填写册名')
802
+ return
803
+ }
804
+ if (!this.checkBook.f_checker_name && this.permission === 'c2') {
805
+ this.$showMessage('请选择安检员')
806
+ return
807
+ }
808
+ if (!this.checkBook.f_around_time || !this.checkBook.f_around_unit) {
809
+ this.$showMessage('请选填写周期信息')
810
+ return
811
+ }
812
+ if (!this.checkBook.f_run_date) {
813
+ this.$showMessage('执行日期')
814
+ return
815
+ }
816
+ if(this.checkBook.f_run_date < Util.toStandardDateString()){
817
+ this.$showMessage('执行日期应大于当前日期')
818
+ return
819
+ }
820
+ if (this.bookList.length < 1) {
821
+ console.log('bookCondition', this.bookCondition)
822
+ condition = this.bookCondition
823
+ } else {
824
+ console.log('this.bookList', JSON.stringify(this.bookList))
825
+
826
+ condition = JSON.stringify(this.bookList).substring(JSON.stringify(this.bookList).indexOf('[') + 1, JSON.stringify(this.bookList).indexOf(']'))
827
+ condition = 'tui.f_userinfo_id in (' + condition + ')'
828
+ console.log('condition', condition)
829
+ }
830
+ let data = {
831
+ checkBook: this.checkBook,
832
+ sqlStr: condition
833
+ }
834
+ new HttpResetClass().load('post', 'rs/logic/AddCheckBook', {data}).then(res => {
835
+ console.log('res=>', JSON.stringify(res))
836
+ if (res.data.id) {
837
+ this.$showMessage('创建成功')
838
+ this.showModal = false
839
+ this.isSearch = false
840
+ this.clearBook()
841
+ this.bookList = []
842
+ this.bookAll = false
843
+ this.bookCheckedAll = false
844
+ this.freshCheckBook()
845
+ this.$refs.paged.$refs.criteria.search()
846
+ }
847
+ })
848
+ },
849
+ changeState (val) {
850
+ console.log('66666666666', val)
851
+ console.log(this.model.rows)
852
+ this.bookAll = false
853
+ this.bookCheckedAll = false
854
+ this.bookList = []
855
+ if (this.$refs.paged.$refs.criteria.model.f_orgid){
856
+ this.$refs.paged.$refs.criteria.search()
857
+ }
858
+ },
859
+ cancel () {
860
+ this.bookAll = false
861
+ this.bookCheckedAll = false
862
+ this.bookList = []
863
+ this.clearBook()
864
+ this.showModal = false
865
+ this.$refs.paged.$refs.criteria.search()
866
+ },
867
+ checkModel (row) {
868
+ if (this.bookAll) {
869
+ //console.log('row', this.bookAll, JSON.stringify(row))
870
+ return true
871
+ } else {
872
+ if (this.bookList.findIndex(res => res === row.f_userinfo_id) !== -1) {
873
+ //console.log('row1111', JSON.stringify(row))
874
+ return true
875
+ } else {
876
+ return false
877
+ }
878
+ }
879
+ },
880
+ pageCheckModel(row){
881
+ if (this.bookCheckedAll){
882
+ console.log('benye', this.bookAll, JSON.stringify(row))
883
+ //全选被选中,每行row也被选中
884
+ return true
885
+ }else {
886
+ if (this.bookList.findIndex(res => res === row.f_userinfo_id) !== -1) {
887
+ //console.log('本页', JSON.stringify(row))
888
+ return true
889
+ } else {
890
+ return false
891
+ }
892
+ }
893
+ },
894
+ checkChange (row, e) {
895
+ console.log('e', e.target.checked)
896
+ if (e.target.checked) {
897
+ this.bookList.push(row.f_userinfo_id)
898
+ } else {
899
+ this.bookList.splice(this.bookList.findIndex(res => res === row.f_userinfo_id), 1)
900
+ }
901
+ console.log('aaaaa', JSON.stringify(this.bookList))
902
+ },
903
+ getRes (obj) {
904
+ this.checkBook.f_orgid = obj.resids[0]
905
+ },
906
+ getResm (obj) {
907
+ this.$refs.paged.$refs.criteria.model.f_orgid = this.$login.convertToIn(obj.resids)
908
+ },
909
+ hidden () {
910
+ this.criteriaShow = !this.criteriaShow
911
+ },
912
+ selfSearch (args) {
913
+ if (args.model.f_last_check_state){
914
+ if (args.model.f_last_check_state === '未安检'){
915
+ args.condition += ` and (tua.f_last_check_state is null or tua.f_last_check_state = '')`
916
+ }else {
917
+ args.condition += ` and tua.f_last_check_state = '${args.model.f_last_check_state}'`
918
+ }
919
+ }
920
+ this.isSearch = true
921
+ this.bookAll = false
922
+ this.bookCheckedAll = false
923
+ this.bookList = []
924
+ // if (this.$refs.paged.$refs.criteria.model.f_orgid){
925
+ // args.condition += `f_orgid in ${this.$refs.paged.$refs.criteria.model.f_orgid}`
926
+ // }
927
+ if (this.permission === 'c2'){
928
+ args.condition +=` and tcb.f_depid = '${this.$login.f.depids}'`
929
+ }
930
+ if(args.model.gasbrand){
931
+ args.condition +=` and tuf.f_gasbrand_id=${args.model.gasbrand.id}`
932
+ }
933
+ this.model.search(args.condition, args.model)
934
+ },
935
+ getChecker(){
936
+ let http = new HttpResetClass()
937
+ http.load('POST', '/rs/search', {data: {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))', userid: this.$login.f.id}}, {resolveMsg: null, rejectMsg: null})
938
+ .then(res => {
939
+ console.log('res666-->' + JSON.stringify(res))
940
+ this.checkers = res.data.map(res=>{
941
+ return {label:res.name,value:res.name}
942
+ })
943
+ })
944
+ },
945
+ freshCheckBook () {
946
+ this.checkBooks = []
947
+ new HttpResetClass().load('POST', `/rs/sql/safe_singleTable_OrderBy`, {
948
+ data: {
949
+ items: 'id,f_check_book_name',
950
+ tablename: 't_check_book',
951
+ condition: (this.$refs.paged.$refs.criteria.model.f_orgid?`f_orgid in ${this.$refs.paged.$refs.criteria.model.f_orgid}`:'1=1')+(this.permission === 'c2' ? ` and f_depid='${this.$login.f.depids}'`:'') ,
952
+ orderitem: 'id desc'
953
+ }
954
+ }, {resolveMsg: null, rejectMsg: null}).then(res => {
955
+ this.checkBooks.push({label: '全部', value: ''})
956
+ res.data.forEach(ress => {
957
+ this.checkBooks.push({
958
+ label: ress.f_check_book_name,
959
+ value: ress.id
960
+ })
961
+ })
962
+ })
963
+ }
964
+ },
965
+ ready () {
966
+ // 获取片区
967
+ this.getSliceArea()
968
+ this.getmeterreader()
969
+ // 获取营收气表参数
970
+ this.setConList()
971
+ if (this.permission === 'c1'){
972
+ this.$refs.paged.$refs.criteria.model.f_is_checkbook = 'f_check_book_name is null'
973
+ }else if(this.permission === 'c2'){
974
+ this.$refs.paged.$refs.criteria.model.f_is_checkbook = 'f_check_book_name is not null'
975
+ }
976
+
977
+ console.log('checkbook', this.$login.f)
978
+ this.checkBook.f_orgid = this.$login.f.orgid
979
+ console.log('permission2',this.permission)
980
+ // this.init=true
981
+ this.freshCheckBook()
982
+ this.getChecker()
983
+ },
984
+ watch: {
985
+ 'bookCheckedAll' (val) {
986
+ if (val){
987
+ this.$refs.paged.$refs.grid.model.rows.forEach(row=>{
988
+ this.bookList.push(row.f_userinfo_id)
989
+ })
990
+ console.log('this.bookList', JSON.stringify(this.bookList))
991
+ }else {
992
+ this.bookList = []
993
+ console.log('this.bookList', JSON.stringify(this.bookList))
994
+ }
995
+ }
996
+ },
997
+ }
998
+ </script>
999
+ <style scoped>
1000
+ /*.btn-group > .btn:first-child {*/
1001
+ /* margin-left: 0;*/
1002
+ /* width: 100%;*/
1003
+ /*}*/
1004
+ </style>