safecheck-client 3.0.35-24 → 3.0.35-25

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,391 +1,396 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' class="search_area" @condition-changed='$parent.search' v-ref:cri>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div :class="{'form-group col-sm-6':$parent.$parent.$parent.showItem,'form-group col-sm-4':!$parent.$parent.$parent.showItem}" style="margin: 0">
8
- <role-selector-safe
9
- role-name="安检员"
10
- role-lable="安&ensp;检&ensp;员"
11
- @re-res="$parent.$parent.getRes"
12
- :value.sync="model.f_checker_id"
13
- v-model="model.f_checker_id">
14
- </role-selector-safe>
15
- </div>
16
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
17
- <label class="font_normal_body">计划起始</label>
18
- <datepicker
19
- :value.sync="$parent.$parent.f_check_start"
20
- placeholder='起始月份' style="width:60%"
21
- :disabled-days-of-week="[]"
22
- :format="'yyyy-MM'"
23
- :select-month="true"
24
- :show-rest-button="reset">
25
- </datepicker>
26
- </div>
27
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
28
- <label class="font_normal_body">计划截止</label>
29
- <datepicker
30
- :value.sync="$parent.$parent.f_check_end"
31
- placeholder='结束月份' style="width:60%"
32
- :disabled-days-of-week="[]"
33
- :format="'yyyy-MM'"
34
- :select-month="true"
35
- :show-rest-button="reset">
36
- </datepicker>
37
- </div>
38
- <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" >
39
- <label class="font_normal_body">安检状态</label>
40
- <v-select :value.sync="model.f_last_check_state" :options='$parent.$parent.checkStates' placeholder='上次安检状态' close-on-select
41
- style="width:60% " class="select select_list" v-model='model.f_last_check_state' condition="i.f_last_check_state = '{}'">
42
- </v-select>
43
- </div>-->
44
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
45
- <label class="font_normal_body">安检起始</label>
46
- <datepicker
47
- :value.sync="$parent.$parent.f_start_time"
48
- placeholder='安检起始' style="width:60%"
49
- :show-rest-button="reset">
50
- </datepicker>
51
- </div>
52
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
53
- <label class="font_normal_body">安检截止</label>
54
- <datepicker
55
- :value.sync="$parent.$parent.f_end_time"
56
- placeholder='安检截止' style="width:60%"
57
- :show-rest-button="reset">
58
- </datepicker>
59
- </div>
60
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
61
- <label class="font_normal_body">用户类型</label>
62
- <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
63
- :value-single="true" style="width: 60%"
64
- class="select_list select"
65
- :options='$parent.$parent.checktype' placeholder='客户类型'
66
- close-on-select
67
- condition="f_check_type = '{}'"></v-select>
68
- </div>
69
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
70
- <label class="font_normal_body" >区&emsp;&emsp;域</label>
71
- <v-select :value.sync="model.f_quyu" :value-single="true" v-model="model.f_quyu"
72
- :options='$parent.$parent.quyus' placeholder='区域' class="select_list select" style="width: 60%"
73
- @change="$parent.$parent.quyuChange"
74
- close-on-select>
75
- </v-select>
76
- </div>
77
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
78
- <label class="font_normal_body" >营&ensp;业&ensp;厅</label>
79
- <v-select :value.sync="model.f_bumen" :value-single="true" v-model="model.f_bumen"
80
- :options='$parent.$parent.bumens' placeholder='营业厅'
81
- @change="$parent.$parent.bumenChange" class="select_list select" style="width: 60%"
82
- close-on-select>
83
- </v-select>
84
- </div>
85
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
86
- <label class="font_normal_body">小&emsp;&emsp;组</label>
87
- <v-select :value.sync="model.f_team" :value-single="true" v-model="model.f_team"
88
- :options='$parent.$parent.teams' placeholder='小组'
89
- @change="$parent.$parent.teamChange" class="select_list select" style="width: 60%"
90
- close-on-select>
91
- </v-select>
92
- </div>
93
- <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
94
- <!--<label class="font_normal_body">安检起始</label>-->
95
- <!--<datepicker-->
96
- <!--:value.sync="$parent.$parent.f_start_time"-->
97
- <!--placeholder='起始时间' style="width:60%"-->
98
- <!--:disabled-days-of-week="[]"-->
99
- <!--:format="'yyyy-MM-dd'"-->
100
- <!--:show-rest-button="reset">-->
101
- <!--</datepicker>-->
102
- <!--</div>-->
103
- <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
104
- <!--<label class="font_normal_body">安检结束</label>-->
105
- <!--<datepicker-->
106
- <!--:value.sync="$parent.$parent.f_end_time"-->
107
- <!--placeholder='结束时间' style="width:60%"-->
108
- <!--:disabled-days-of-week="[]"-->
109
- <!--:format="'yyyy-MM-dd'"-->
110
- <!--:show-rest-button="reset">-->
111
- <!--</datepicker>-->
112
- <!--</div>-->
113
- <div style="width: auto;margin-top:8px;float: right" :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
114
- <export-excel-safe :data="$parent.$parent.searchData"
115
- :field="$parent.$parent.excelHeaders"
116
- progress="safeGetExportProgress"
117
- sqlurl="rs/logic/SafeExportExcel" sql-name="planCount" template-name='安检计划明细' ></export-excel-safe>
118
- <button type="button" class="button_search button_spacing" @click="search()">查询</button>
119
- <button type="button" class="button_search button_spacing" @click="$parent.$parent.cleamsg()">清空</button>
120
- <!--<div class="button_spacing"-->
121
- <!--:class="{'button_shrink_top':$parent.criteriaShow,'button_shrink_bottom':!$parent.criteriaShow}"-->
122
- <!--@click="$parent.$parent.hidden()">-->
123
- <!--</div>-->
124
- <div class="button_spacing"
125
- :class="{'button_shrink_left':$parent.$parent.$parent.showItem,'button_shrink_right':!$parent.$parent.$parent.showItem}"
126
- @click="$parent.$parent.hiddenr()"></div>
127
- </div>
128
- </div>
129
- </div>
130
- </criteria>
131
- <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
132
- <template partial='head'>
133
- <tr>
134
- <th>安检员</th>
135
- <th>总入户量</th>
136
- <th>总到访不遇量</th>
137
- <th>总拒检量</th>
138
- <th>安检总量</th>
139
- <th>计划总数</th>
140
- <th>入户</th>
141
- <th>到访不遇</th>
142
- <th>拒检</th>
143
- <th>无计划总数</th>
144
- <th>无计划入户</th>
145
- <th>无计划到访不遇</th>
146
- <th>无计划拒检</th>
147
- <th>入户率</th>
148
- <th>维修率</th>
149
- <th>隐患消除率</th>
150
- </tr>
151
- </template>
152
- <template partial='body'>
153
- <td style="text-align: center">{{row.f_checker}}</td>
154
- <td style="text-align: center">{{row.ruhu_total}}</td>
155
- <td style="text-align: center">{{row.daofang_total}}</td>
156
- <td style="text-align: center">{{row.jujian_total}}</td>
157
- <td style="text-align: center">{{row.total_sum}}</td>
158
- <td style="text-align: center">{{row.plannum}}</td>
159
- <td style="text-align: center">{{row.ruhu}}</td>
160
- <td style="text-align: center">{{row.daofang}}</td>
161
- <td style="text-align: center">{{row.jujian}}</td>
162
- <td style="text-align: center">{{row.no_plan_num}}</td>
163
- <td style="text-align: center">{{row.noruhu}}</td>
164
- <td style="text-align: center">{{row.nodaofang}}</td>
165
- <td style="text-align: center">{{row.nojujian}}</td>
166
- <td style="text-align: center">{{row.rhl}}%</td>
167
- <td style="text-align: center">{{row.wxl}}%</td>
168
- <td style="text-align: center">{{row.cll}}%</td>
169
- </template>
170
- <template partial="foot">
171
- <td style="text-align: center"><span><b>合计:</b></span></td>
172
- <td style="text-align: center">{{model.sums.ruhu_total}}</td>
173
- <td style="text-align: center">{{model.sums.daofang_total}}</td>
174
- <td style="text-align: center">{{model.sums.jujian_total}}</td>
175
- <td style="text-align: center">{{model.sums.total_sum}}</td>
176
- <td style="text-align: center">{{model.sums.plannum}}</td>
177
- <td style="text-align: center">{{model.sums.ruhu}}</td>
178
- <td style="text-align: center">{{model.sums.daofang}}</td>
179
- <td style="text-align: center">{{model.sums.jujian}}</td>
180
- <td style="text-align: center">{{model.sums.no_plan_num}}</td>
181
- <td style="text-align: center">{{model.sums.noruhu}}</td>
182
- <td style="text-align: center">{{model.sums.nodaofang}}</td>
183
- <td style="text-align: center">{{model.sums.nojujian}}</td>
184
- <td style="text-align: center"></td>
185
- <td style="text-align: center"></td>
186
- <td style="text-align: center"></td>
187
- </template>
188
- </data-grid>
189
- </criteria-paged>
190
- </div>
191
- </template>
192
- <script>
193
- import {PagedList} from 'vue-client'
194
-
195
-
196
- export default {
197
- title: '安检计划查询',
198
- data() {
199
- let options = []
200
- let year = (new Date()).getFullYear()
201
- for (let i = year - 8; i <= year + 1; i++)
202
- options.push({label: i + '', value: i + ''})
203
- let model = new PagedList('rs/sql/planCount', 20, {
204
- f_filialeids: 'this.f_filialeids',
205
- f_start_time: 'this.f_start_time',
206
- condition1:'this.condition1',
207
- condition2:'this.condition2',
208
- condition3:'this.condition3',
209
- f_end_time: 'this.f_end_time'
210
- }, {plannum: '', ruhu: '', jujian: '', daofang: '',no_plan_num:'',noruhu:'',nodaofang:'',nojujian:'',ruhu_total:'',daofang_total:'',jujian_total:'',total_sum:''})
211
- model.f_filialeids = '('+this.$login.f.orgid+')'
212
- return {
213
- quyus: [{label: '请选择', value: ''}, ...this.$appdata.getParam('区域')],
214
- bumens: [{label: '请选择', value: ''}],
215
- teams: [{label: '请选择', value: ''}],
216
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
217
- excelHeaders:{
218
- 'f_checker': '安检员',
219
- 'plannum': '计划总数',
220
- // 'yrj': '计划中已入户',
221
- // 'wrj': '计划中未入户',
222
- 'ruhu': '入户',
223
- 'jujian': '拒检',
224
- 'daofang': '到访不遇',
225
- 'no_plan_num': '无计划总数',
226
- 'noruhu': '无计划入户',
227
- 'nojujian': '无计划拒检',
228
- 'nodaofang': '无计划到访不遇',
229
- 'rhl':'入户率',
230
- 'wxl':'维修率',
231
- 'cll':'隐患消除率'
232
- },
233
- searchData:{
234
- condition:"1=1",
235
- condition1:"1=1",
236
- condition2:"1=1",
237
- condition3:"and 1=1",
238
- f_plan_year:year[0],
239
- f_checker:'',
240
- f_filialeids:'('+this.$login.f.orgid+')',
241
- f_start_time:'',
242
- f_end_time:''
243
- },
244
- checker: this.$login.f,
245
- checkers: [],
246
- checkersname: [],
247
- checkStates: this.$appdata.getParam('安检状态'),
248
- f: this.$login.f,
249
- criteriaShow: false,
250
- model: model,
251
- c_year_list: options,
252
- f_check_start:'',
253
- f_check_end: '',
254
- f_start_time:'',
255
- f_end_time:''
256
- }
257
- },
258
- methods: {
259
- cleamsg(){
260
- this.$refs.paged.$refs.cri.model= {}
261
- },
262
- bumenChange(val) {
263
- if (val) {
264
- this.teams = this.$appdata.getParam(`工单-` + val) ? [{
265
- label: '请选择',
266
- value: ''
267
- }, ...this.$appdata.getParam(`工单-` + val)] : [{label: '请选择', value: ''}]
268
- }else {
269
- this.checkers = this.allCheckers
270
- }
271
- },
272
- teamChange(val) {
273
- if (val) {
274
- this.checkers = this.$appdata.getParam(val) ? [...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
275
- }else {
276
- this.checkers = this.allCheckers
277
- }
278
- },
279
- quyuChange(val) {
280
- if (val) {
281
- this.bumens = this.$appdata.getParam(val) ? [{
282
- label: '请选择',
283
- value: ''
284
- }, ...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
285
- }else {
286
- this.checkers = this.allCheckers
287
- }
288
- },
289
- hidden() {
290
- this.criteriaShow = !this.criteriaShow
291
- },
292
- hiddenr() {
293
- this.$parent.showItem = !this.$parent.showItem
294
- },
295
- search(args) {
296
- let tempStr = args.condition
297
- let condition1 =tempStr
298
- let condition2 =tempStr
299
- let condition3 = ' and 1=1 '
300
- if (this.f_check_start) {
301
- condition1 += ` AND f_plan_year >= ${this.f_check_start.substr(0,4)} `
302
- condition1 += ` AND f_plan_month >= ${this.f_check_start.substr(5,2)} `
303
- }
304
- if (this.f_check_end) {
305
- condition1 += ` AND f_plan_year <= ${this.f_check_end.substr(0,4)} `
306
- condition1 += ` AND f_plan_month <= ${this.f_check_end.substr(5,2)} `
307
- }
308
- if(this.f_start_time){
309
- condition2 += ` AND f_offsite_time >= '${this.f_start_time} 00:00:00'`
310
- }
311
- if (this.f_end_time){
312
- condition2 += ` AND f_offsite_time <= '${this.f_end_time} 23:59:59'`
313
- }
314
- if (this.$refs.paged.$refs.cri.model.f_checker_id){
315
- condition3 += ` AND f_checker = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
316
- condition2 += ` AND f_checker_name = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
317
- }
318
- this.model.f_start_time=this.f_start_time
319
- this.model.f_end_time=this.f_end_time
320
- this.model.condition1=condition1
321
- this.model.condition2=condition2
322
- this.model.condition3=condition3
323
-
324
- this.searchData.condition1=condition1
325
- this.searchData.condition2=condition2
326
- this.searchData.condition3=condition3
327
-
328
- this.model.search(args.condition, args.model)
329
- },
330
- getRes(obj){
331
- this.model.f_filialeids = this.$login.convertToIn(obj.resids);
332
- //tag
333
- }
334
- },
335
- ready() {
336
- this.model.id = this.$login.f.id
337
- this.model.f_subcompany = this.$login.f.f_fengongsi
338
- this.model.f_filialeid = this.$login.f.orgid
339
- },
340
-
341
- watch: {
342
- 'model.condition'(val) {
343
- if(val){
344
- this.searchData.condition = val
345
- }
346
- },
347
- 'model.f_checker'(val) {
348
- if(val){
349
- this.searchData.f_checker = val
350
- }
351
- },
352
- 'f_start_time'(val) {
353
- if(val){
354
- this.searchData.f_start_time = val
355
- }
356
- },
357
- 'f_end_time'(val) {
358
- if(val){
359
- this.searchData.f_end_time = val
360
- }
361
- },
362
- 'checker'() {
363
- // //tag
364
- //tag
365
- this.model.chosenOrg = this.checker[0]
366
- },
367
- 'model.rows.length'() {
368
- // 如果查询无结果,将合计置为0
369
- if(this.model.rows.length < 1 &&this. model.sums){
370
- this.model.sums.yrj = 0
371
- this.model.sums.no_plan_num = 0
372
- this.model.sums.wrj = 0
373
- this.model.sums.ruhu = 0
374
- this.model.sums.jujian = 0
375
- this.model.sums.daofang = 0
376
- this.model.sums.ruhu_total=0
377
- this.model.sums.daofang_total=0
378
- this.model.sums.jujian_total=0
379
- this.model.sums.total_sum=0
380
- }
381
- }
382
- },
383
- computed: {
384
- selected() {
385
- // //tag
386
- // this.$parent.showItem=!this.$parent.showItem
387
- return this.$refs.paged.$refs.grid.selected
388
- }
389
- }
390
- }
391
- </script>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.search' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div :class="{'form-group col-sm-6':$parent.$parent.$parent.showItem,'form-group col-sm-4':!$parent.$parent.$parent.showItem}" style="margin: 0">
8
+ <role-selector-safe
9
+ role-name="安检员"
10
+ role-lable="安&ensp;检&ensp;员"
11
+ @re-res="$parent.$parent.getRes"
12
+ :value.sync="model.f_checker_id"
13
+ v-model="model.f_checker_id">
14
+ </role-selector-safe>
15
+ </div>
16
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
17
+ <label class="font_normal_body">计划起始</label>
18
+ <datepicker
19
+ :value.sync="$parent.$parent.f_check_start"
20
+ placeholder='起始月份' style="width:60%"
21
+ :disabled-days-of-week="[]"
22
+ :format="'yyyy-MM'"
23
+ :select-month="true"
24
+ :show-rest-button="reset">
25
+ </datepicker>
26
+ </div>
27
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
28
+ <label class="font_normal_body">计划截止</label>
29
+ <datepicker
30
+ :value.sync="$parent.$parent.f_check_end"
31
+ placeholder='结束月份' style="width:60%"
32
+ :disabled-days-of-week="[]"
33
+ :format="'yyyy-MM'"
34
+ :select-month="true"
35
+ :show-rest-button="reset">
36
+ </datepicker>
37
+ </div>
38
+ <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" >
39
+ <label class="font_normal_body">安检状态</label>
40
+ <v-select :value.sync="model.f_last_check_state" :options='$parent.$parent.checkStates' placeholder='上次安检状态' close-on-select
41
+ style="width:60% " class="select select_list" v-model='model.f_last_check_state' condition="i.f_last_check_state = '{}'">
42
+ </v-select>
43
+ </div>-->
44
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
45
+ <label class="font_normal_body">安检起始</label>
46
+ <datepicker
47
+ :value.sync="$parent.$parent.f_start_time"
48
+ placeholder='安检起始' style="width:60%"
49
+ :show-rest-button="reset">
50
+ </datepicker>
51
+ </div>
52
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
53
+ <label class="font_normal_body">安检截止</label>
54
+ <datepicker
55
+ :value.sync="$parent.$parent.f_end_time"
56
+ placeholder='安检截止' style="width:60%"
57
+ :show-rest-button="reset">
58
+ </datepicker>
59
+ </div>
60
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
61
+ <label class="font_normal_body">用户类型</label>
62
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_typef_check_type'
63
+ :value-single="true" style="width: 60%"
64
+ class="select_list select"
65
+ :options='$parent.$parent.checktype' placeholder='客户类型'
66
+ close-on-select
67
+ condition="f_check_type = '{}'"></v-select>
68
+ </div>
69
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
70
+ <label class="font_normal_body" >小&emsp;&emsp;区</label>
71
+ <input type="text" class="input_search" v-model="model.f_residential_area"
72
+ style="width: 60%" placeholder="小区" condition="f_residential_area like '%{}%'">
73
+ </div>
74
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
75
+ <label class="font_normal_body" >区&emsp;&emsp;域</label>
76
+ <v-select :value.sync="model.f_quyu" :value-single="true" v-model="model.f_quyu"
77
+ :options='$parent.$parent.quyus' placeholder='区域' class="select_list select" style="width: 60%"
78
+ @change="$parent.$parent.quyuChange"
79
+ close-on-select>
80
+ </v-select>
81
+ </div>
82
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
83
+ <label class="font_normal_body" >营&ensp;业&ensp;厅</label>
84
+ <v-select :value.sync="model.f_bumen" :value-single="true" v-model="model.f_bumen"
85
+ :options='$parent.$parent.bumens' placeholder='营业厅'
86
+ @change="$parent.$parent.bumenChange" class="select_list select" style="width: 60%"
87
+ close-on-select>
88
+ </v-select>
89
+ </div>
90
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
91
+ <label class="font_normal_body">小&emsp;&emsp;组</label>
92
+ <v-select :value.sync="model.f_team" :value-single="true" v-model="model.f_team"
93
+ :options='$parent.$parent.teams' placeholder='小组'
94
+ @change="$parent.$parent.teamChange" class="select_list select" style="width: 60%"
95
+ close-on-select>
96
+ </v-select>
97
+ </div>
98
+ <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
99
+ <!--<label class="font_normal_body">安检起始</label>-->
100
+ <!--<datepicker-->
101
+ <!--:value.sync="$parent.$parent.f_start_time"-->
102
+ <!--placeholder='起始时间' style="width:60%"-->
103
+ <!--:disabled-days-of-week="[]"-->
104
+ <!--:format="'yyyy-MM-dd'"-->
105
+ <!--:show-rest-button="reset">-->
106
+ <!--</datepicker>-->
107
+ <!--</div>-->
108
+ <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
109
+ <!--<label class="font_normal_body">安检结束</label>-->
110
+ <!--<datepicker-->
111
+ <!--:value.sync="$parent.$parent.f_end_time"-->
112
+ <!--placeholder='结束时间' style="width:60%"-->
113
+ <!--:disabled-days-of-week="[]"-->
114
+ <!--:format="'yyyy-MM-dd'"-->
115
+ <!--:show-rest-button="reset">-->
116
+ <!--</datepicker>-->
117
+ <!--</div>-->
118
+ <div style="width: auto;margin-top:8px;float: right" :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
119
+ <export-excel-safe :data="$parent.$parent.searchData"
120
+ :field="$parent.$parent.excelHeaders"
121
+ progress="safeGetExportProgress"
122
+ sqlurl="rs/logic/SafeExportExcel" sql-name="planCount" template-name='安检计划明细' ></export-excel-safe>
123
+ <button type="button" class="button_search button_spacing" @click="search()">查询</button>
124
+ <button type="button" class="button_search button_spacing" @click="$parent.$parent.cleamsg()">清空</button>
125
+ <!--<div class="button_spacing"-->
126
+ <!--:class="{'button_shrink_top':$parent.criteriaShow,'button_shrink_bottom':!$parent.criteriaShow}"-->
127
+ <!--@click="$parent.$parent.hidden()">-->
128
+ <!--</div>-->
129
+ <div class="button_spacing"
130
+ :class="{'button_shrink_left':$parent.$parent.$parent.showItem,'button_shrink_right':!$parent.$parent.$parent.showItem}"
131
+ @click="$parent.$parent.hiddenr()"></div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+ </criteria>
136
+ <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
137
+ <template partial='head'>
138
+ <tr>
139
+ <th>安检员</th>
140
+ <th>总入户量</th>
141
+ <th>总到访不遇量</th>
142
+ <th>总拒检量</th>
143
+ <th>安检总量</th>
144
+ <th>计划总数</th>
145
+ <th>入户</th>
146
+ <th>到访不遇</th>
147
+ <th>拒检</th>
148
+ <th>无计划总数</th>
149
+ <th>无计划入户</th>
150
+ <th>无计划到访不遇</th>
151
+ <th>无计划拒检</th>
152
+ <th>入户率</th>
153
+ <th>维修率</th>
154
+ <th>隐患消除率</th>
155
+ </tr>
156
+ </template>
157
+ <template partial='body'>
158
+ <td style="text-align: center">{{row.f_checker}}</td>
159
+ <td style="text-align: center">{{row.ruhu_total}}</td>
160
+ <td style="text-align: center">{{row.daofang_total}}</td>
161
+ <td style="text-align: center">{{row.jujian_total}}</td>
162
+ <td style="text-align: center">{{row.total_sum}}</td>
163
+ <td style="text-align: center">{{row.plannum}}</td>
164
+ <td style="text-align: center">{{row.ruhu}}</td>
165
+ <td style="text-align: center">{{row.daofang}}</td>
166
+ <td style="text-align: center">{{row.jujian}}</td>
167
+ <td style="text-align: center">{{row.no_plan_num}}</td>
168
+ <td style="text-align: center">{{row.noruhu}}</td>
169
+ <td style="text-align: center">{{row.nodaofang}}</td>
170
+ <td style="text-align: center">{{row.nojujian}}</td>
171
+ <td style="text-align: center">{{row.rhl}}%</td>
172
+ <td style="text-align: center">{{row.wxl}}%</td>
173
+ <td style="text-align: center">{{row.cll}}%</td>
174
+ </template>
175
+ <template partial="foot">
176
+ <td style="text-align: center"><span><b>合计:</b></span></td>
177
+ <td style="text-align: center">{{model.sums.ruhu_total}}</td>
178
+ <td style="text-align: center">{{model.sums.daofang_total}}</td>
179
+ <td style="text-align: center">{{model.sums.jujian_total}}</td>
180
+ <td style="text-align: center">{{model.sums.total_sum}}</td>
181
+ <td style="text-align: center">{{model.sums.plannum}}</td>
182
+ <td style="text-align: center">{{model.sums.ruhu}}</td>
183
+ <td style="text-align: center">{{model.sums.daofang}}</td>
184
+ <td style="text-align: center">{{model.sums.jujian}}</td>
185
+ <td style="text-align: center">{{model.sums.no_plan_num}}</td>
186
+ <td style="text-align: center">{{model.sums.noruhu}}</td>
187
+ <td style="text-align: center">{{model.sums.nodaofang}}</td>
188
+ <td style="text-align: center">{{model.sums.nojujian}}</td>
189
+ <td style="text-align: center"></td>
190
+ <td style="text-align: center"></td>
191
+ <td style="text-align: center"></td>
192
+ </template>
193
+ </data-grid>
194
+ </criteria-paged>
195
+ </div>
196
+ </template>
197
+ <script>
198
+ import {PagedList} from 'vue-client'
199
+
200
+
201
+ export default {
202
+ title: '安检计划查询',
203
+ data() {
204
+ let options = []
205
+ let year = (new Date()).getFullYear()
206
+ for (let i = year - 8; i <= year + 1; i++)
207
+ options.push({label: i + '', value: i + ''})
208
+ let model = new PagedList('rs/sql/planCount', 20, {
209
+ f_filialeids: 'this.f_filialeids',
210
+ f_start_time: 'this.f_start_time',
211
+ condition1:'this.condition1',
212
+ condition2:'this.condition2',
213
+ condition3:'this.condition3',
214
+ f_end_time: 'this.f_end_time'
215
+ }, {plannum: '', ruhu: '', jujian: '', daofang: '',no_plan_num:'',noruhu:'',nodaofang:'',nojujian:'',ruhu_total:'',daofang_total:'',jujian_total:'',total_sum:''})
216
+ model.f_filialeids = '('+this.$login.f.orgid+')'
217
+ return {
218
+ quyus: [{label: '请选择', value: ''}, ...this.$appdata.getParam('区域')],
219
+ bumens: [{label: '请选择', value: ''}],
220
+ teams: [{label: '请选择', value: ''}],
221
+ checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
222
+ excelHeaders:{
223
+ 'f_checker': '安检员',
224
+ 'plannum': '计划总数',
225
+ // 'yrj': '计划中已入户',
226
+ // 'wrj': '计划中未入户',
227
+ 'ruhu': '入户',
228
+ 'jujian': '拒检',
229
+ 'daofang': '到访不遇',
230
+ 'no_plan_num': '无计划总数',
231
+ 'noruhu': '无计划入户',
232
+ 'nojujian': '无计划拒检',
233
+ 'nodaofang': '无计划到访不遇',
234
+ 'rhl':'入户率',
235
+ 'wxl':'维修率',
236
+ 'cll':'隐患消除率'
237
+ },
238
+ searchData:{
239
+ condition:"1=1",
240
+ condition1:"1=1",
241
+ condition2:"1=1",
242
+ condition3:"and 1=1",
243
+ f_plan_year:year[0],
244
+ f_checker:'',
245
+ f_filialeids:'('+this.$login.f.orgid+')',
246
+ f_start_time:'',
247
+ f_end_time:''
248
+ },
249
+ checker: this.$login.f,
250
+ checkers: [],
251
+ checkersname: [],
252
+ checkStates: this.$appdata.getParam('安检状态'),
253
+ f: this.$login.f,
254
+ criteriaShow: false,
255
+ model: model,
256
+ c_year_list: options,
257
+ f_check_start:'',
258
+ f_check_end: '',
259
+ f_start_time:'',
260
+ f_end_time:''
261
+ }
262
+ },
263
+ methods: {
264
+ cleamsg(){
265
+ this.$refs.paged.$refs.cri.model= {}
266
+ },
267
+ bumenChange(val) {
268
+ if (val) {
269
+ this.teams = this.$appdata.getParam(`工单-` + val) ? [{
270
+ label: '请选择',
271
+ value: ''
272
+ }, ...this.$appdata.getParam(`工单-` + val)] : [{label: '请选择', value: ''}]
273
+ }else {
274
+ this.checkers = this.allCheckers
275
+ }
276
+ },
277
+ teamChange(val) {
278
+ if (val) {
279
+ this.checkers = this.$appdata.getParam(val) ? [...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
280
+ }else {
281
+ this.checkers = this.allCheckers
282
+ }
283
+ },
284
+ quyuChange(val) {
285
+ if (val) {
286
+ this.bumens = this.$appdata.getParam(val) ? [{
287
+ label: '请选择',
288
+ value: ''
289
+ }, ...this.$appdata.getParam(val)] : [{label: '请选择', value: ''}]
290
+ }else {
291
+ this.checkers = this.allCheckers
292
+ }
293
+ },
294
+ hidden() {
295
+ this.criteriaShow = !this.criteriaShow
296
+ },
297
+ hiddenr() {
298
+ this.$parent.showItem = !this.$parent.showItem
299
+ },
300
+ search(args) {
301
+ let tempStr = args.condition
302
+ let condition1 =tempStr
303
+ let condition2 =tempStr
304
+ let condition3 = ' and 1=1 '
305
+ if (this.f_check_start) {
306
+ condition1 += ` AND f_plan_year >= ${this.f_check_start.substr(0,4)} `
307
+ condition1 += ` AND f_plan_month >= ${this.f_check_start.substr(5,2)} `
308
+ }
309
+ if (this.f_check_end) {
310
+ condition1 += ` AND f_plan_year <= ${this.f_check_end.substr(0,4)} `
311
+ condition1 += ` AND f_plan_month <= ${this.f_check_end.substr(5,2)} `
312
+ }
313
+ if(this.f_start_time){
314
+ condition2 += ` AND f_offsite_time >= '${this.f_start_time} 00:00:00'`
315
+ }
316
+ if (this.f_end_time){
317
+ condition2 += ` AND f_offsite_time <= '${this.f_end_time} 23:59:59'`
318
+ }
319
+ if (this.$refs.paged.$refs.cri.model.f_checker_id){
320
+ condition3 += ` AND f_checker = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
321
+ condition2 += ` AND f_checker_name = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
322
+ }
323
+ this.model.f_start_time=this.f_start_time
324
+ this.model.f_end_time=this.f_end_time
325
+ this.model.condition1=condition1
326
+ this.model.condition2=condition2
327
+ this.model.condition3=condition3
328
+
329
+ this.searchData.condition1=condition1
330
+ this.searchData.condition2=condition2
331
+ this.searchData.condition3=condition3
332
+
333
+ this.model.search(args.condition, args.model)
334
+ },
335
+ getRes(obj){
336
+ this.model.f_filialeids = this.$login.convertToIn(obj.resids);
337
+ //tag
338
+ }
339
+ },
340
+ ready() {
341
+ this.model.id = this.$login.f.id
342
+ this.model.f_subcompany = this.$login.f.f_fengongsi
343
+ this.model.f_filialeid = this.$login.f.orgid
344
+ },
345
+
346
+ watch: {
347
+ 'model.condition'(val) {
348
+ if(val){
349
+ this.searchData.condition = val
350
+ }
351
+ },
352
+ 'model.f_checker'(val) {
353
+ if(val){
354
+ this.searchData.f_checker = val
355
+ }
356
+ },
357
+ 'f_start_time'(val) {
358
+ if(val){
359
+ this.searchData.f_start_time = val
360
+ }
361
+ },
362
+ 'f_end_time'(val) {
363
+ if(val){
364
+ this.searchData.f_end_time = val
365
+ }
366
+ },
367
+ 'checker'() {
368
+ // //tag
369
+ //tag
370
+ this.model.chosenOrg = this.checker[0]
371
+ },
372
+ 'model.rows.length'() {
373
+ // 如果查询无结果,将合计置为0
374
+ if(this.model.rows.length < 1 &&this. model.sums){
375
+ this.model.sums.yrj = 0
376
+ this.model.sums.no_plan_num = 0
377
+ this.model.sums.wrj = 0
378
+ this.model.sums.ruhu = 0
379
+ this.model.sums.jujian = 0
380
+ this.model.sums.daofang = 0
381
+ this.model.sums.ruhu_total=0
382
+ this.model.sums.daofang_total=0
383
+ this.model.sums.jujian_total=0
384
+ this.model.sums.total_sum=0
385
+ }
386
+ }
387
+ },
388
+ computed: {
389
+ selected() {
390
+ // //tag
391
+ // this.$parent.showItem=!this.$parent.showItem
392
+ return this.$refs.paged.$refs.grid.selected
393
+ }
394
+ }
395
+ }
396
+ </script>