safecheck-client 3.0.33-72 → 3.0.33-74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,533 +1,533 @@
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 partial>
7
- <div class="row">
8
- <div class="form-group col-sm-4">
9
- <label class="font_normal_body">计划创建开始日期:</label>
10
- <datepicker
11
- placeholder='计划创建开始日期'
12
- style="width:60%"
13
- :disabled-days-of-week="[]"
14
- :format="'yyyy-MM-dd'"
15
- :show-rest-button="reset"
16
- :value.sync="model.start_time"
17
- v-model="model.start_time"
18
- condition="tcp.f_create_time >= '{} 00:00:00'">
19
- </datepicker>
20
- </div>
21
- <div class="form-group col-sm-4">
22
- <label class="font_normal_body">计划创建结束日期:</label>
23
- <datepicker
24
- placeholder='计划创建结束日期'
25
- :disabled-days-of-week="[]"
26
- style="width:60%"
27
- :format="'yyyy-MM-dd'"
28
- :show-rest-button="reset"
29
- :value.sync="model.end_time"
30
- v-model="model.end_time"
31
- condition="tcp.f_create_time <= '{} 23:59:59'">
32
- </datepicker>
33
- </div>
34
- <div class="col-sm-4 form-group">
35
- <label class="font_normal_body">小区名称:</label>
36
- <input style="width: 60%" class="input_search" v-model="model.f_residential_area"
37
- placeholder="请输入小区(可模糊查询)" condition="tcpi.f_residential_area like '%{}%'">
38
- </div>
39
- <div class="form-group col-sm-4">
40
- <label class="font_normal_body">用户类型</label>
41
- <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
42
- :value-single="true" style="width: 60%"
43
- class="select_list select"
44
- :options='$parent.$parent.user_types' placeholder='用户类型'
45
- close-on-select
46
- condition="tcpi.f_user_type = '{}'"></v-select>
47
- </div>
48
- <div class="col-sm-4 form-group" style="margin: 0">
49
- <role-selector-safe
50
- role-name="安检员"
51
- :resobjprop.sync="$parent.$parent.resids"
52
- role-lable="安&nbsp;检&nbsp;员&nbsp;"
53
- @re-res="$parent.$parent.getRes"
54
- :value.sync="model.f_checker_id"
55
- v-model="model.f_checker_id"
56
- condition="tcp.f_checker = '{}'">
57
- </role-selector-safe>
58
- </div>
59
- <div style="float: right">
60
- <export-excel-safe :data="$parent.$parent.searchData"
61
- :field="$parent.$parent.excelHeaders"
62
- progress="safeGetExportProgress"
63
- sqlurl="rs/logic/SafeExportExcel" sql-name="safeDetail" template-name='安检情况明细'
64
- :choose-col="true"></export-excel-safe>
65
- </div>
66
- <print-data-safe :sum-field="$parent.$parent.excelHeaders" :model="$parent.$parent.print_model"
67
- :field="$parent.$parent.excelHeaders"
68
- :defaultfield="$parent.$parent.defaultPrint"
69
- :titletable="'安检情况明细'" :starthead="$parent.$parent.getstart"
70
- ></print-data-safe>
71
- <button class="button_spacing button_search" @click="search()">查询</button>
72
- </div>
73
- </div>
74
- </criteria>
75
- <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
76
- <template partial='head'>
77
- <tr>
78
- <th>
79
- <nobr>序号</nobr>
80
- </th>
81
- <th>
82
- <nobr>小区名称</nobr>
83
- </th>
84
- <th>
85
- <nobr>计划安检总户数</nobr>
86
- </th>
87
-
88
- <th>
89
- <nobr>未检户数</nobr>
90
- </th>
91
- <th>
92
- <nobr>已检户数</nobr>
93
- </th>
94
- <th>
95
- <nobr>入户户数</nobr>
96
- </th>
97
- <th>
98
- <nobr>到访不遇-1次</nobr>
99
- </th>
100
- <th>
101
- <nobr>到访不遇-2次</nobr>
102
- </th>
103
- <th>
104
- <nobr>到访不遇-3次</nobr>
105
- </th>
106
- <th>
107
- <nobr>到访不遇小计</nobr>
108
- </th>
109
- <th>
110
- <nobr>拒检户数</nobr>
111
- </th>
112
- <th>
113
- <nobr>安检率</nobr>
114
- </th>
115
- <th>
116
- <nobr>申请安检户数</nobr>
117
- </th>
118
- <th>
119
- <nobr>总入户数</nobr>
120
- </th>
121
- </tr>
122
- </template>
123
- <template partial='body'>
124
-
125
- <td style="text-align: center">{{ $index + 1 }}</td>
126
- <td style="text-align: center">{{ row.f_residential_area }}</td>
127
- <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'1')">{{ row.totalcount }}</a></td>
128
- <td style="text-align: center">{{ row.wjcount }}</td>
129
- <td style="text-align: center">{{ row.yjcount }}</td>
130
- <td style="text-align: center">{{ row.rhcount }}</td>
131
- <td style="text-align: center">{{ row.dfbycount1 }}</td>
132
- <td style="text-align: center">{{ row.dfbycount2 }}</td>
133
- <td style="text-align: center">{{ row.dfbycount3 }}</td>
134
- <td style="text-align: center">{{ row.unique_dfby_count }}</td>
135
- <td style="text-align: center">{{ row.jjcount }}</td>
136
- <td style="text-align: center">{{ row.check_bv }}</td>
137
- <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'0')">{{ row.sqajcount }}</a></td>
138
- <td style="text-align: center">{{ row.ruhucount }}</td>
139
-
140
- </template>
141
- <template partial="foot">
142
- <td style="text-align: center" colspan="2"><span><b>合计:</b></span></td>
143
- <td style="text-align: center">{{ model.sums.totalcount }}</td>
144
- <td style="text-align: center">{{ model.sums.wjcount }}</td>
145
- <td style="text-align: center">{{ model.sums.yjcount }}</td>
146
- <td style="text-align: center">{{ model.sums.rhcount }}</td>
147
- <td style="text-align: center">{{ model.sums.dfbycount1 }}</td>
148
- <td style="text-align: center">{{ model.sums.dfbycount2 }}</td>
149
- <td style="text-align: center">{{ model.sums.dfbycount3 }}</td>
150
- <td style="text-align: center">{{ model.sums.unique_dfby_count }}</td>
151
- <td style="text-align: center">{{ model.sums.jjcount }}</td>
152
- <td style="text-align: center">
153
- {{ ((model.sums.yjcount / model.sums.totalcount)*100.0).toFixed(2) }}%
154
- </td>
155
- <td style="text-align: center">{{ model.sums.sqajcount }}</td>
156
- <td style="text-align: center">{{ model.sums.ruhucount }}</td>
157
- </template>
158
- </data-grid>
159
- </criteria-paged>
160
- </div>
161
- <modal :show.sync="modal_show" backdrop="false"
162
- class="allQuotaRecordModalShow" width="80%">
163
- <header slot="modal-header" class="modal-header" style="text-align: center">
164
- </header>
165
- <article slot="modal-body" class="modal-body">
166
- <criteria-paged :model="modalModel" v-ref:paged2>
167
- <criteria partial='criteria' class="search_area" v-ref:criteria2>
168
- <div partial>
169
- <div class="row">
170
- <div class="form-group col-sm-4">
171
- <label class="font_normal_body">开始时间</label>
172
- <datepicker
173
- placeholder='请选择'
174
- style="width:60%"
175
- :disabled-days-of-week="[]"
176
- :format="'yyyy-MM-dd'"
177
- :show-rest-button="reset"
178
- :value.sync="$parent.$parent.modalSearchData.start_time"
179
- v-model="$parent.$parent.modalSearchData.start_time"
180
- >
181
- </datepicker>
182
- </div>
183
- <div class="form-group col-sm-4">
184
- <label class="font_normal_body">结束时间</label>
185
- <datepicker
186
- placeholder='请选择'
187
- :disabled-days-of-week="[]"
188
- style="width:60%"
189
- :format="'yyyy-MM-dd'"
190
- :show-rest-button="reset"
191
- :value.sync="$parent.$parent.$parent.modalSearchData.end_time"
192
- v-model="$parent.$parent.$parent.modalSearchData.end_time">
193
- </datepicker>
194
- </div>
195
- <div class="col-sm-4 form-group">
196
- <label class="font_normal_body">用户编号</label>
197
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_userinfo_code">
198
- </div>
199
- <div class="col-sm-4 form-group">
200
- <label class="font_normal_body">用户名称</label>
201
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_name">
202
- </div>
203
- <div class="col-sm-4 form-group">
204
- <label class="font_normal_body">用户地址</label>
205
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_address">
206
- </div>
207
- <div class="col-sm-4 form-group">
208
- <label class="font_normal_body">用户电话</label>
209
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_phone">
210
- </div>
211
- <div class="col-sm-4 form-group">
212
- <label class="font_normal_body">安检员</label>
213
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_checker">
214
- </div>
215
- <div class="col-sm-4 form-group">
216
- <label class="font_normal_body">安检状态</label>
217
- <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_last_check_state" v-model='$parent.$parent.$parent.modalSearchData.f_last_check_state'
218
- :value-single="true" style="width: 60%"
219
- class="select_list select"
220
- :options='$parent.$parent.$parent.last_check_states' placeholder='安检状态'
221
- close-on-select
222
- ></v-select>
223
- </div>
224
- <div class="form-group col-sm-4">
225
- <label class="font_normal_body">用户类型</label>
226
- <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_user_type" v-model='$parent.$parent.$parent.modalSearchData.f_user_type'
227
- :value-single="true" style="width: 60%"
228
- class="select_list select"
229
- :options='$parent.$parent.$parent.user_types' placeholder='用户类型'
230
- close-on-select
231
- ></v-select>
232
- </div>
233
- <div class="col-sm-4 form-group">
234
- <label class="font_normal_body">到访不遇次数</label>
235
- <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_check_version">
236
- </div>
237
- <div style="float: right">
238
- <button class="button_spacing button_search" @click="$parent.$parent.$parent.modalSearch()">查询</button>
239
- <export-excel-safe :data="$parent.$parent.$parent.modalSearchExcelData"
240
- :field="$parent.$parent.$parent.modalExcelHeaders"
241
- progress="safeGetExportProgress"
242
- sqlurl="rs/logic/SafeExportExcel" sql-name="safe_singleTable_OrderBy" template-name='安检情况明细'
243
- :choose-col="true"></export-excel-safe>
244
- </div>
245
- </div>
246
- </div>
247
- </criteria>
248
- <data-grid class="list_area table_sy" :model="$parent.$parent.modalModel" v-ref:modalgrid partial='list'>
249
- <template partial='head'>
250
- <th>
251
- <nobr>用户编号</nobr>
252
- </th>
253
- <th>
254
- <nobr>用户名称</nobr>
255
- </th>
256
- <th>
257
- <nobr>小区</nobr>
258
- </th>
259
- <th>
260
- <nobr>地址</nobr>
261
- </th>
262
- <th>
263
- <nobr>客户电话</nobr>
264
- </th>
265
- <th>
266
- <nobr>到访不遇次数</nobr>
267
- </th>
268
- <th>
269
- <nobr>安检时间</nobr>
270
- </th>
271
- <th>
272
- <nobr>安检员</nobr>
273
- </th>
274
- <th>
275
- <nobr>用户类型</nobr>
276
- </th>
277
- <th>
278
- <nobr>安检状态</nobr>
279
- </th>
280
- </template>
281
- <template partial='body'>
282
- <td style="text-align:center">{{row.f_userinfo_code}}</td>
283
- <td style="text-align:center">{{row.f_user_name }}</td>
284
- <td style="text-align:center">{{row.f_residential_area}}</td>
285
- <td style="text-align:center">{{row.f_address}}</td>
286
- <td style="text-align:center">{{row.f_user_phone}}</td>
287
- <td style="text-align:center">{{row.f_check_version}}</td>
288
- <td style="text-align:center">{{row.f_last_check_date}}</td>
289
- <td style="text-align:center">{{row.f_checker}}</td>
290
- <td style="text-align:center">{{row.f_user_type}}</td>
291
- <td style="text-align:center">{{row.f_last_check_state}}</td>
292
- </template>
293
- </data-grid>
294
- </criteria-paged>
295
- </article>
296
- <footer slot="modal-footer" class="modal-footer">
297
- <button type="button" class="btn btn-default" @click='modal_show = false'>关闭</button>
298
- </footer>
299
- </modal>
300
- </div>
301
- </template>
302
-
303
- <script>
304
- import {PagedList} from "vue-client";
305
-
306
- export default {
307
- name: "safeDetail",
308
- title: "安检情况明细",
309
- data() {
310
-
311
- return {
312
- model: new PagedList("/rs/sql/safeDetail", 999, {orgid: this.$login.f.orgid}, {
313
- totalcount: '',
314
- sqajcount:'',
315
- ruhucount:'',
316
- wjcount: '',
317
- yjcount: '',
318
- rhcount: '',
319
- dfbycount1: '',
320
- dfbycount2: '',
321
- dfbycount3: '',
322
- unique_dfby_count: '',
323
- jjcount: ''
324
- }),
325
- resids: {},
326
- modalModel: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
327
- items: '"tcpi.*,tcp.f_checker"',
328
- tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
329
- orderitem: '"1"'
330
- }),
331
- modalModel2: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
332
- items: '"*,f_offsite_time as f_last_check_date,f_checker_name as f_checker,f_check_type as f_user_type,f_entry_status as f_last_check_state"',
333
- tablename: '"t_check_paper"',
334
- orderitem: '"1"'
335
- }),
336
- modalSearchData:{},
337
- modalSearchExcelData:{
338
- items: "tcpi.*,tcp.f_checker",
339
- tablename: "t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id",
340
- orderitem: "f_userinfo_code"
341
- },
342
- modalExcelHeaders:{
343
- 'f_userinfo_code': '用户编号',
344
- 'f_user_name': '用户名称',
345
- 'f_residential_area': '小区',
346
- 'f_address': '地址',
347
- 'f_user_phone': '客户电话',
348
- 'f_check_version': '到访不遇次数',
349
- 'f_last_check_date': '安检时间',
350
- 'f_checker': '安检员',
351
- 'f_user_type': '用户类型',
352
- 'f_last_check_state': '安检状态'
353
-
354
- },
355
- searchData: {
356
- condition: "1=1",
357
- orgid: this.$login.f.orgid
358
- },
359
- modal_show:false,
360
- print_model:{},
361
- last_check_states:[{label:'全部',value:''},{label:'入户',value:'入户'},{label:'拒检',value:'拒检'},{label:'到访不遇',value:'到访不遇'}],
362
- user_types: [{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
363
- excelHeaders: {
364
- 'f_residential_area': '小区名称',
365
- 'totalcount': '计划安检总户数',
366
- 'wjcount': '未检户数',
367
- 'yjcount': '已检户数',
368
- 'rhcount': '入户户数',
369
- 'dfbycount1': '到访不遇-1次',
370
- 'dfbycount2': '到访不遇-2次',
371
- 'dfbycount3': '到访不遇-3次',
372
- 'unique_dfby_count': '到访不遇小计',
373
- 'jjcount': '拒检户数',
374
- 'check_bv':'安检率',
375
- 'sqajcount': '申请安检户数',
376
- 'ruhucount': '总入户数',
377
- },
378
- modalRow:{},
379
- type:'1',
380
- printshow: false,
381
- defaultPrint: ['f_residential_area', 'totalcount','wjcount', 'rhcount','dfbycount1','dfbycount2','dfbycount3','unique_dfby_count','jjcount','check_bv', 'sqajcount', 'ruhucount'],
382
- sumsmodel: {},
383
- }
384
- },
385
- ready() {
386
- // this.model.search('1=1')
387
- },
388
- methods: {
389
- async modalShow (row,type) {
390
- this.type = type
391
- this.modalRow = row
392
- this.modal_show = true
393
- this.modalSearchData = {}
394
- await this.modalSearch(row)
395
- },
396
- modalSearch () {
397
- this.modalModel = new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
398
- items: '"tcpi.*,tcp.f_checker"',
399
- tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
400
- orderitem: '"1"'
401
- })
402
- let modalCondition = '1=1'
403
- if (this.type == '0') {
404
- modalCondition = this.$refs.paged.model.condition.condition2
405
- if (this.modalSearchData.f_user_name){
406
- modalCondition += ` and f_user_name = '${this.modalSearchData.f_user_name}'`
407
- }
408
- if (this.modalSearchData.f_user_type){
409
- modalCondition += ` and f_check_type = '${this.modalSearchData.f_user_type}'`
410
- }
411
- if (this.modalSearchData.start_time){
412
- modalCondition += ` and f_offsite_time >= '${this.modalSearchData.start_time}'`
413
- }
414
- if (this.modalSearchData.end_time){
415
- modalCondition += ` and f_offsite_time <= '${this.modalSearchData.end_time}'`
416
- }
417
- if (this.modalSearchData.f_userinfo_code){
418
- modalCondition += ` and f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
419
- }
420
- if (this.modalSearchData.f_address){
421
- modalCondition += ` and f_address = '${this.modalSearchData.f_address}'`
422
- }
423
- if (this.modalSearchData.f_user_phone){
424
- modalCondition += ` and f_user_phone = '${this.modalSearchData.f_user_phone}'`
425
- }
426
- if (this.modalSearchData.f_checker){
427
- modalCondition += ` and f_checker_name = '${this.modalSearchData.f_checker}'`
428
- }
429
- modalCondition += ` and f_residential_area = '${this.modalRow.f_residential_area}'`
430
- this.modalModel = this.modalModel2
431
- this.modalModel.search(modalCondition, this.modalModel)
432
-
433
- }else {
434
- modalCondition = this.$refs.paged.model.condition.condition1
435
- if (this.modalSearchData.f_last_check_state){
436
- modalCondition += ` and tcpi.f_last_check_state = '${this.modalSearchData.f_last_check_state}'`
437
- }
438
- if (this.modalSearchData.f_user_name){
439
- modalCondition += ` and tcpi.f_user_name = '${this.modalSearchData.f_user_name}'`
440
- }
441
- if (this.modalSearchData.f_user_type){
442
- modalCondition += ` and tcpi.f_user_type = '${this.modalSearchData.f_user_type}'`
443
- }
444
- if (this.modalSearchData.start_time){
445
- modalCondition += ` and tcp.f_create_time >= '${this.modalSearchData.start_time}'`
446
- }
447
- if (this.modalSearchData.end_time){
448
- modalCondition += ` and tcp.f_create_time <= '${this.modalSearchData.end_time}'`
449
- }
450
- if (this.modalSearchData.f_userinfo_code){
451
- modalCondition += ` and tcpi.f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
452
- }
453
- if (this.modalSearchData.f_address){
454
- modalCondition += ` and tcpi.f_address = '${this.modalSearchData.f_address}'`
455
- }
456
- if (this.modalSearchData.f_user_phone){
457
- modalCondition += ` and tcpi.f_user_phone = '${this.modalSearchData.f_user_phone}'`
458
- }
459
- if (this.modalSearchData.f_checker){
460
- modalCondition += ` and tcp.f_checker = '${this.modalSearchData.f_checker}'`
461
- }
462
- if (this.modalSearchData.f_check_version){
463
- modalCondition += ` and tcpi.f_check_version = '${this.modalSearchData.f_check_version}'`
464
- }
465
- modalCondition += ` and tcpi.f_residential_area = '${this.modalRow.f_residential_area}'`
466
- this.modalModel.search(modalCondition, this.modalModel)
467
- }
468
- this.modalSearchExcelData.condition = modalCondition
469
- },
470
- async selfSearch(args) {
471
- let condition = {
472
- condition1 : args.condition,
473
- condition2 : `1=1 and f_entry_status = '入户'`
474
- }
475
- if (args.model.f_checker_id){
476
- condition.condition2 += ` and f_checker_name = '${args.model.f_checker_id}'`
477
- }
478
- if (args.model.f_user_type){
479
- condition.condition2 += ` and f_check_type = '${args.model.f_user_type}'`
480
- }
481
- if (args.model.f_residential_area){
482
- condition.condition2 += ` and f_residential_area = '${args.model.f_residential_area}'`
483
- }
484
- if (args.model.start_time){
485
- condition.condition2 += ` and f_offsite_time >= '${args.model.start_time}'`
486
- }
487
- if (args.model.end_time){
488
- condition.condition2 += ` and f_offsite_time <= '${args.model.end_time}'`
489
- }
490
- await this.model.search(condition, args.model)
491
- this.searchData.condition = condition
492
- this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
493
- this.print_model = JSON.parse(JSON.stringify(this.$refs.paged.$refs.grid.model))
494
- this.print_model.rows.push({
495
- f_residential_area:'合计',
496
- totalcount: this.sumsmodel.totalcount,
497
- wjcount: this.sumsmodel.wjcount,
498
- yjcount: this.sumsmodel.yjcount,
499
- rhcount: this.sumsmodel.rhcount,
500
- dfbycount1: this.sumsmodel.dfbycount1,
501
- dfbycount2: this.sumsmodel.dfbycount2,
502
- dfbycount3: this.sumsmodel.dfbycount3,
503
- unique_dfby_count: this.sumsmodel.unique_dfby_count,
504
- check_bv:`${((this.sumsmodel.yjcount / this.sumsmodel.totalcount)*100.0).toFixed(2)}%`,
505
- sqajcount: this.sumsmodel.sqajcount,
506
- ruhucount: this.sumsmodel.ruhucount
507
- })
508
- this.print_model.totalPage = 0
509
- },
510
- getRes(obj) {
511
- //tag
512
- this.resids = {res: obj.res[0], resids: obj.resids[0]}
513
- this.model.f_filialeids = this.$login.convertToIn(obj.resids);
514
- },
515
- // 打印
516
- stamp() {
517
- this.printshow = true
518
- },
519
- close() {
520
- this.printshow = false
521
- }
522
- },
523
- computed: {
524
- getstart() {
525
- return `开始时间:${this.$refs.paged.$refs.criteria.model.start_time} 结束时间:${this.$refs.paged.$refs.criteria.model.end_time}`
526
- },
527
- }
528
- }
529
- </script>
530
-
531
- <style scoped>
532
-
533
- </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 partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-4">
9
+ <label class="font_normal_body">计划创建开始日期:</label>
10
+ <datepicker
11
+ placeholder='计划创建开始日期'
12
+ style="width:60%"
13
+ :disabled-days-of-week="[]"
14
+ :format="'yyyy-MM-dd'"
15
+ :show-rest-button="reset"
16
+ :value.sync="model.start_time"
17
+ v-model="model.start_time"
18
+ condition="tcp.f_create_time >= '{} 00:00:00'">
19
+ </datepicker>
20
+ </div>
21
+ <div class="form-group col-sm-4">
22
+ <label class="font_normal_body">计划创建结束日期:</label>
23
+ <datepicker
24
+ placeholder='计划创建结束日期'
25
+ :disabled-days-of-week="[]"
26
+ style="width:60%"
27
+ :format="'yyyy-MM-dd'"
28
+ :show-rest-button="reset"
29
+ :value.sync="model.end_time"
30
+ v-model="model.end_time"
31
+ condition="tcp.f_create_time <= '{} 23:59:59'">
32
+ </datepicker>
33
+ </div>
34
+ <div class="col-sm-4 form-group">
35
+ <label class="font_normal_body">小区名称:</label>
36
+ <input style="width: 60%" class="input_search" v-model="model.f_residential_area"
37
+ placeholder="请输入小区(可模糊查询)" condition="tcpi.f_residential_area like '%{}%'">
38
+ </div>
39
+ <div class="form-group col-sm-4">
40
+ <label class="font_normal_body">用户类型</label>
41
+ <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
42
+ :value-single="true" style="width: 60%"
43
+ class="select_list select"
44
+ :options='$parent.$parent.user_types' placeholder='用户类型'
45
+ close-on-select
46
+ condition="tcpi.f_user_type = '{}'"></v-select>
47
+ </div>
48
+ <div class="col-sm-4 form-group" style="margin: 0">
49
+ <role-selector-safe
50
+ role-name="安检员"
51
+ :resobjprop.sync="$parent.$parent.resids"
52
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
53
+ @re-res="$parent.$parent.getRes"
54
+ :value.sync="model.f_checker_id"
55
+ v-model="model.f_checker_id"
56
+ condition="tcp.f_checker = '{}'">
57
+ </role-selector-safe>
58
+ </div>
59
+ <div style="float: right">
60
+ <export-excel-safe :data="$parent.$parent.searchData"
61
+ :field="$parent.$parent.excelHeaders"
62
+ progress="safeGetExportProgress"
63
+ sqlurl="rs/logic/SafeExportExcel" sql-name="safeDetail" template-name='安检情况明细'
64
+ :choose-col="true"></export-excel-safe>
65
+ </div>
66
+ <print-data-safe :sum-field="$parent.$parent.excelHeaders" :model="$parent.$parent.print_model"
67
+ :field="$parent.$parent.excelHeaders"
68
+ :defaultfield="$parent.$parent.defaultPrint"
69
+ :titletable="'安检情况明细'" :starthead="$parent.$parent.getstart"
70
+ ></print-data-safe>
71
+ <button class="button_spacing button_search" @click="search()">查询</button>
72
+ </div>
73
+ </div>
74
+ </criteria>
75
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
76
+ <template partial='head'>
77
+ <tr>
78
+ <th>
79
+ <nobr>序号</nobr>
80
+ </th>
81
+ <th>
82
+ <nobr>小区名称</nobr>
83
+ </th>
84
+ <th>
85
+ <nobr>计划安检总户数</nobr>
86
+ </th>
87
+
88
+ <th>
89
+ <nobr>未检户数</nobr>
90
+ </th>
91
+ <th>
92
+ <nobr>已检户数</nobr>
93
+ </th>
94
+ <th>
95
+ <nobr>入户户数</nobr>
96
+ </th>
97
+ <th>
98
+ <nobr>到访不遇-1次</nobr>
99
+ </th>
100
+ <th>
101
+ <nobr>到访不遇-2次</nobr>
102
+ </th>
103
+ <th>
104
+ <nobr>到访不遇-3次</nobr>
105
+ </th>
106
+ <th>
107
+ <nobr>到访不遇小计</nobr>
108
+ </th>
109
+ <th>
110
+ <nobr>拒检户数</nobr>
111
+ </th>
112
+ <th>
113
+ <nobr>安检率</nobr>
114
+ </th>
115
+ <th>
116
+ <nobr>申请安检户数</nobr>
117
+ </th>
118
+ <th>
119
+ <nobr>总入户数</nobr>
120
+ </th>
121
+ </tr>
122
+ </template>
123
+ <template partial='body'>
124
+
125
+ <td style="text-align: center">{{ $index + 1 }}</td>
126
+ <td style="text-align: center">{{ row.f_residential_area }}</td>
127
+ <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'1')">{{ row.totalcount }}</a></td>
128
+ <td style="text-align: center">{{ row.wjcount }}</td>
129
+ <td style="text-align: center">{{ row.yjcount }}</td>
130
+ <td style="text-align: center">{{ row.rhcount }}</td>
131
+ <td style="text-align: center">{{ row.dfbycount1 }}</td>
132
+ <td style="text-align: center">{{ row.dfbycount2 }}</td>
133
+ <td style="text-align: center">{{ row.dfbycount3 }}</td>
134
+ <td style="text-align: center">{{ row.unique_dfby_count }}</td>
135
+ <td style="text-align: center">{{ row.jjcount }}</td>
136
+ <td style="text-align: center">{{ row.check_bv }}</td>
137
+ <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'0')">{{ row.sqajcount }}</a></td>
138
+ <td style="text-align: center">{{ row.ruhucount }}</td>
139
+
140
+ </template>
141
+ <template partial="foot">
142
+ <td style="text-align: center" colspan="2"><span><b>合计:</b></span></td>
143
+ <td style="text-align: center">{{ model.sums.totalcount }}</td>
144
+ <td style="text-align: center">{{ model.sums.wjcount }}</td>
145
+ <td style="text-align: center">{{ model.sums.yjcount }}</td>
146
+ <td style="text-align: center">{{ model.sums.rhcount }}</td>
147
+ <td style="text-align: center">{{ model.sums.dfbycount1 }}</td>
148
+ <td style="text-align: center">{{ model.sums.dfbycount2 }}</td>
149
+ <td style="text-align: center">{{ model.sums.dfbycount3 }}</td>
150
+ <td style="text-align: center">{{ model.sums.unique_dfby_count }}</td>
151
+ <td style="text-align: center">{{ model.sums.jjcount }}</td>
152
+ <td style="text-align: center">
153
+ {{ ((model.sums.yjcount / model.sums.totalcount)*100.0).toFixed(2) }}%
154
+ </td>
155
+ <td style="text-align: center">{{ model.sums.sqajcount }}</td>
156
+ <td style="text-align: center">{{ model.sums.ruhucount }}</td>
157
+ </template>
158
+ </data-grid>
159
+ </criteria-paged>
160
+ </div>
161
+ <modal :show.sync="modal_show" backdrop="false"
162
+ class="allQuotaRecordModalShow" width="80%">
163
+ <header slot="modal-header" class="modal-header" style="text-align: center">
164
+ </header>
165
+ <article slot="modal-body" class="modal-body">
166
+ <criteria-paged :model="modalModel" v-ref:paged2>
167
+ <criteria partial='criteria' class="search_area" v-ref:criteria2>
168
+ <div partial>
169
+ <div class="row">
170
+ <div class="form-group col-sm-4">
171
+ <label class="font_normal_body">开始时间</label>
172
+ <datepicker
173
+ placeholder='请选择'
174
+ style="width:60%"
175
+ :disabled-days-of-week="[]"
176
+ :format="'yyyy-MM-dd'"
177
+ :show-rest-button="reset"
178
+ :value.sync="$parent.$parent.modalSearchData.start_time"
179
+ v-model="$parent.$parent.modalSearchData.start_time"
180
+ >
181
+ </datepicker>
182
+ </div>
183
+ <div class="form-group col-sm-4">
184
+ <label class="font_normal_body">结束时间</label>
185
+ <datepicker
186
+ placeholder='请选择'
187
+ :disabled-days-of-week="[]"
188
+ style="width:60%"
189
+ :format="'yyyy-MM-dd'"
190
+ :show-rest-button="reset"
191
+ :value.sync="$parent.$parent.$parent.modalSearchData.end_time"
192
+ v-model="$parent.$parent.$parent.modalSearchData.end_time">
193
+ </datepicker>
194
+ </div>
195
+ <div class="col-sm-4 form-group">
196
+ <label class="font_normal_body">用户编号</label>
197
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_userinfo_code">
198
+ </div>
199
+ <div class="col-sm-4 form-group">
200
+ <label class="font_normal_body">用户名称</label>
201
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_name">
202
+ </div>
203
+ <div class="col-sm-4 form-group">
204
+ <label class="font_normal_body">用户地址</label>
205
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_address">
206
+ </div>
207
+ <div class="col-sm-4 form-group">
208
+ <label class="font_normal_body">用户电话</label>
209
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_phone">
210
+ </div>
211
+ <div class="col-sm-4 form-group">
212
+ <label class="font_normal_body">安检员</label>
213
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_checker">
214
+ </div>
215
+ <div class="col-sm-4 form-group">
216
+ <label class="font_normal_body">安检状态</label>
217
+ <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_last_check_state" v-model='$parent.$parent.$parent.modalSearchData.f_last_check_state'
218
+ :value-single="true" style="width: 60%"
219
+ class="select_list select"
220
+ :options='$parent.$parent.$parent.last_check_states' placeholder='安检状态'
221
+ close-on-select
222
+ ></v-select>
223
+ </div>
224
+ <div class="form-group col-sm-4">
225
+ <label class="font_normal_body">用户类型</label>
226
+ <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_user_type" v-model='$parent.$parent.$parent.modalSearchData.f_user_type'
227
+ :value-single="true" style="width: 60%"
228
+ class="select_list select"
229
+ :options='$parent.$parent.$parent.user_types' placeholder='用户类型'
230
+ close-on-select
231
+ ></v-select>
232
+ </div>
233
+ <div class="col-sm-4 form-group">
234
+ <label class="font_normal_body">到访不遇次数</label>
235
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_check_version">
236
+ </div>
237
+ <div style="float: right">
238
+ <button class="button_spacing button_search" @click="$parent.$parent.$parent.modalSearch()">查询</button>
239
+ <export-excel-safe :data="$parent.$parent.$parent.modalSearchExcelData"
240
+ :field="$parent.$parent.$parent.modalExcelHeaders"
241
+ progress="safeGetExportProgress"
242
+ sqlurl="rs/logic/SafeExportExcel" sql-name="safe_singleTable_OrderBy" template-name='安检情况明细'
243
+ :choose-col="true"></export-excel-safe>
244
+ </div>
245
+ </div>
246
+ </div>
247
+ </criteria>
248
+ <data-grid class="list_area table_sy" :model="$parent.$parent.modalModel" v-ref:modalgrid partial='list'>
249
+ <template partial='head'>
250
+ <th>
251
+ <nobr>用户编号</nobr>
252
+ </th>
253
+ <th>
254
+ <nobr>用户名称</nobr>
255
+ </th>
256
+ <th>
257
+ <nobr>小区</nobr>
258
+ </th>
259
+ <th>
260
+ <nobr>地址</nobr>
261
+ </th>
262
+ <th>
263
+ <nobr>客户电话</nobr>
264
+ </th>
265
+ <th>
266
+ <nobr>到访不遇次数</nobr>
267
+ </th>
268
+ <th>
269
+ <nobr>安检时间</nobr>
270
+ </th>
271
+ <th>
272
+ <nobr>安检员</nobr>
273
+ </th>
274
+ <th>
275
+ <nobr>用户类型</nobr>
276
+ </th>
277
+ <th>
278
+ <nobr>安检状态</nobr>
279
+ </th>
280
+ </template>
281
+ <template partial='body'>
282
+ <td style="text-align:center">{{row.f_userinfo_code}}</td>
283
+ <td style="text-align:center">{{row.f_user_name }}</td>
284
+ <td style="text-align:center">{{row.f_residential_area}}</td>
285
+ <td style="text-align:center">{{row.f_address}}</td>
286
+ <td style="text-align:center">{{row.f_user_phone}}</td>
287
+ <td style="text-align:center">{{row.f_check_version}}</td>
288
+ <td style="text-align:center">{{row.f_last_check_date}}</td>
289
+ <td style="text-align:center">{{row.f_checker}}</td>
290
+ <td style="text-align:center">{{row.f_user_type}}</td>
291
+ <td style="text-align:center">{{row.f_last_check_state}}</td>
292
+ </template>
293
+ </data-grid>
294
+ </criteria-paged>
295
+ </article>
296
+ <footer slot="modal-footer" class="modal-footer">
297
+ <button type="button" class="btn btn-default" @click='modal_show = false'>关闭</button>
298
+ </footer>
299
+ </modal>
300
+ </div>
301
+ </template>
302
+
303
+ <script>
304
+ import {PagedList} from "vue-client";
305
+
306
+ export default {
307
+ name: "safeDetail",
308
+ title: "安检情况明细",
309
+ data() {
310
+
311
+ return {
312
+ model: new PagedList("/rs/sql/safeDetail", 999, {orgid: this.$login.f.orgid}, {
313
+ totalcount: '',
314
+ sqajcount:'',
315
+ ruhucount:'',
316
+ wjcount: '',
317
+ yjcount: '',
318
+ rhcount: '',
319
+ dfbycount1: '',
320
+ dfbycount2: '',
321
+ dfbycount3: '',
322
+ unique_dfby_count: '',
323
+ jjcount: ''
324
+ }),
325
+ resids: {},
326
+ modalModel: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
327
+ items: '"tcpi.*,tcp.f_checker"',
328
+ tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
329
+ orderitem: '"1"'
330
+ }),
331
+ modalModel2: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
332
+ items: '"*,f_offsite_time as f_last_check_date,f_checker_name as f_checker,f_check_type as f_user_type,f_entry_status as f_last_check_state"',
333
+ tablename: '"t_check_paper"',
334
+ orderitem: '"1"'
335
+ }),
336
+ modalSearchData:{},
337
+ modalSearchExcelData:{
338
+ items: "tcpi.*,tcp.f_checker",
339
+ tablename: "t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id",
340
+ orderitem: "f_userinfo_code"
341
+ },
342
+ modalExcelHeaders:{
343
+ 'f_userinfo_code': '用户编号',
344
+ 'f_user_name': '用户名称',
345
+ 'f_residential_area': '小区',
346
+ 'f_address': '地址',
347
+ 'f_user_phone': '客户电话',
348
+ 'f_check_version': '到访不遇次数',
349
+ 'f_last_check_date': '安检时间',
350
+ 'f_checker': '安检员',
351
+ 'f_user_type': '用户类型',
352
+ 'f_last_check_state': '安检状态'
353
+
354
+ },
355
+ searchData: {
356
+ condition: "1=1",
357
+ orgid: this.$login.f.orgid
358
+ },
359
+ modal_show:false,
360
+ print_model:{},
361
+ last_check_states:[{label:'全部',value:''},{label:'入户',value:'入户'},{label:'拒检',value:'拒检'},{label:'到访不遇',value:'到访不遇'}],
362
+ user_types: [{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
363
+ excelHeaders: {
364
+ 'f_residential_area': '小区名称',
365
+ 'totalcount': '计划安检总户数',
366
+ 'wjcount': '未检户数',
367
+ 'yjcount': '已检户数',
368
+ 'rhcount': '入户户数',
369
+ 'dfbycount1': '到访不遇-1次',
370
+ 'dfbycount2': '到访不遇-2次',
371
+ 'dfbycount3': '到访不遇-3次',
372
+ 'unique_dfby_count': '到访不遇小计',
373
+ 'jjcount': '拒检户数',
374
+ 'check_bv':'安检率',
375
+ 'sqajcount': '申请安检户数',
376
+ 'ruhucount': '总入户数',
377
+ },
378
+ modalRow:{},
379
+ type:'1',
380
+ printshow: false,
381
+ defaultPrint: ['f_residential_area', 'totalcount','wjcount', 'rhcount','dfbycount1','dfbycount2','dfbycount3','unique_dfby_count','jjcount','check_bv', 'sqajcount', 'ruhucount'],
382
+ sumsmodel: {},
383
+ }
384
+ },
385
+ ready() {
386
+ // this.model.search('1=1')
387
+ },
388
+ methods: {
389
+ async modalShow (row,type) {
390
+ this.type = type
391
+ this.modalRow = row
392
+ this.modal_show = true
393
+ this.modalSearchData = {}
394
+ await this.modalSearch(row)
395
+ },
396
+ modalSearch () {
397
+ this.modalModel = new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
398
+ items: '"tcpi.*,tcp.f_checker"',
399
+ tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
400
+ orderitem: '"1"'
401
+ })
402
+ let modalCondition = '1=1'
403
+ if (this.type == '0') {
404
+ modalCondition = this.$refs.paged.model.condition.condition2
405
+ if (this.modalSearchData.f_user_name){
406
+ modalCondition += ` and f_user_name = '${this.modalSearchData.f_user_name}'`
407
+ }
408
+ if (this.modalSearchData.f_user_type){
409
+ modalCondition += ` and f_check_type = '${this.modalSearchData.f_user_type}'`
410
+ }
411
+ if (this.modalSearchData.start_time){
412
+ modalCondition += ` and f_offsite_time >= '${this.modalSearchData.start_time}'`
413
+ }
414
+ if (this.modalSearchData.end_time){
415
+ modalCondition += ` and f_offsite_time <= '${this.modalSearchData.end_time}'`
416
+ }
417
+ if (this.modalSearchData.f_userinfo_code){
418
+ modalCondition += ` and f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
419
+ }
420
+ if (this.modalSearchData.f_address){
421
+ modalCondition += ` and f_address = '${this.modalSearchData.f_address}'`
422
+ }
423
+ if (this.modalSearchData.f_user_phone){
424
+ modalCondition += ` and f_user_phone = '${this.modalSearchData.f_user_phone}'`
425
+ }
426
+ if (this.modalSearchData.f_checker){
427
+ modalCondition += ` and f_checker_name = '${this.modalSearchData.f_checker}'`
428
+ }
429
+ modalCondition += ` and f_residential_area = '${this.modalRow.f_residential_area}'`
430
+ this.modalModel = this.modalModel2
431
+ this.modalModel.search(modalCondition, this.modalModel)
432
+
433
+ }else {
434
+ modalCondition = this.$refs.paged.model.condition.condition1
435
+ if (this.modalSearchData.f_last_check_state){
436
+ modalCondition += ` and tcpi.f_last_check_state = '${this.modalSearchData.f_last_check_state}'`
437
+ }
438
+ if (this.modalSearchData.f_user_name){
439
+ modalCondition += ` and tcpi.f_user_name = '${this.modalSearchData.f_user_name}'`
440
+ }
441
+ if (this.modalSearchData.f_user_type){
442
+ modalCondition += ` and tcpi.f_user_type = '${this.modalSearchData.f_user_type}'`
443
+ }
444
+ if (this.modalSearchData.start_time){
445
+ modalCondition += ` and tcp.f_create_time >= '${this.modalSearchData.start_time}'`
446
+ }
447
+ if (this.modalSearchData.end_time){
448
+ modalCondition += ` and tcp.f_create_time <= '${this.modalSearchData.end_time}'`
449
+ }
450
+ if (this.modalSearchData.f_userinfo_code){
451
+ modalCondition += ` and tcpi.f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
452
+ }
453
+ if (this.modalSearchData.f_address){
454
+ modalCondition += ` and tcpi.f_address = '${this.modalSearchData.f_address}'`
455
+ }
456
+ if (this.modalSearchData.f_user_phone){
457
+ modalCondition += ` and tcpi.f_user_phone = '${this.modalSearchData.f_user_phone}'`
458
+ }
459
+ if (this.modalSearchData.f_checker){
460
+ modalCondition += ` and tcp.f_checker = '${this.modalSearchData.f_checker}'`
461
+ }
462
+ if (this.modalSearchData.f_check_version){
463
+ modalCondition += ` and tcpi.f_check_version = '${this.modalSearchData.f_check_version}'`
464
+ }
465
+ modalCondition += ` and tcpi.f_residential_area = '${this.modalRow.f_residential_area}'`
466
+ this.modalModel.search(modalCondition, this.modalModel)
467
+ }
468
+ this.modalSearchExcelData.condition = modalCondition
469
+ },
470
+ async selfSearch(args) {
471
+ let condition = {
472
+ condition1 : args.condition,
473
+ condition2 : `1=1 and f_entry_status = '入户'`
474
+ }
475
+ if (args.model.f_checker_id){
476
+ condition.condition2 += ` and f_checker_name = '${args.model.f_checker_id}'`
477
+ }
478
+ if (args.model.f_user_type){
479
+ condition.condition2 += ` and f_check_type = '${args.model.f_user_type}'`
480
+ }
481
+ if (args.model.f_residential_area){
482
+ condition.condition2 += ` and f_residential_area = '${args.model.f_residential_area}'`
483
+ }
484
+ if (args.model.start_time){
485
+ condition.condition2 += ` and f_offsite_time >= '${args.model.start_time}'`
486
+ }
487
+ if (args.model.end_time){
488
+ condition.condition2 += ` and f_offsite_time <= '${args.model.end_time}'`
489
+ }
490
+ await this.model.search(condition, args.model)
491
+ this.searchData.condition = condition
492
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
493
+ this.print_model = JSON.parse(JSON.stringify(this.$refs.paged.$refs.grid.model))
494
+ this.print_model.rows.push({
495
+ f_residential_area:'合计',
496
+ totalcount: this.sumsmodel.totalcount,
497
+ wjcount: this.sumsmodel.wjcount,
498
+ yjcount: this.sumsmodel.yjcount,
499
+ rhcount: this.sumsmodel.rhcount,
500
+ dfbycount1: this.sumsmodel.dfbycount1,
501
+ dfbycount2: this.sumsmodel.dfbycount2,
502
+ dfbycount3: this.sumsmodel.dfbycount3,
503
+ unique_dfby_count: this.sumsmodel.unique_dfby_count,
504
+ check_bv:`${((this.sumsmodel.yjcount / this.sumsmodel.totalcount)*100.0).toFixed(2)}%`,
505
+ sqajcount: this.sumsmodel.sqajcount,
506
+ ruhucount: this.sumsmodel.ruhucount
507
+ })
508
+ this.print_model.totalPage = 0
509
+ },
510
+ getRes(obj) {
511
+ //tag
512
+ this.resids = {res: obj.res[0], resids: obj.resids[0]}
513
+ this.model.f_filialeids = this.$login.convertToIn(obj.resids);
514
+ },
515
+ // 打印
516
+ stamp() {
517
+ this.printshow = true
518
+ },
519
+ close() {
520
+ this.printshow = false
521
+ }
522
+ },
523
+ computed: {
524
+ getstart() {
525
+ return `开始时间:${this.$refs.paged.$refs.criteria.model.start_time} 结束时间:${this.$refs.paged.$refs.criteria.model.end_time}`
526
+ },
527
+ }
528
+ }
529
+ </script>
530
+
531
+ <style scoped>
532
+
533
+ </style>