safecheck-client 3.0.35-1 → 3.0.35-2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,333 +1,391 @@
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}" v-if="$parent.$parent.criteriaShow">-->
70
- <!--<label class="font_normal_body">安检起始</label>-->
71
- <!--<datepicker-->
72
- <!--:value.sync="$parent.$parent.f_start_time"-->
73
- <!--placeholder='起始时间' style="width:60%"-->
74
- <!--:disabled-days-of-week="[]"-->
75
- <!--:format="'yyyy-MM-dd'"-->
76
- <!--:show-rest-button="reset">-->
77
- <!--</datepicker>-->
78
- <!--</div>-->
79
- <!--<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">-->
80
- <!--<label class="font_normal_body">安检结束</label>-->
81
- <!--<datepicker-->
82
- <!--:value.sync="$parent.$parent.f_end_time"-->
83
- <!--placeholder='结束时间' style="width:60%"-->
84
- <!--:disabled-days-of-week="[]"-->
85
- <!--:format="'yyyy-MM-dd'"-->
86
- <!--:show-rest-button="reset">-->
87
- <!--</datepicker>-->
88
- <!--</div>-->
89
- <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}">
90
- <export-excel-safe :data="$parent.$parent.searchData"
91
- :field="$parent.$parent.excelHeaders"
92
- progress="safeGetExportProgress"
93
- sqlurl="rs/logic/SafeExportExcel" sql-name="planCount" template-name='安检计划明细' ></export-excel-safe>
94
- <button type="button" class="button_search button_spacing" @click="search()">查询</button>
95
- <!--<div class="button_spacing"-->
96
- <!--:class="{'button_shrink_top':$parent.criteriaShow,'button_shrink_bottom':!$parent.criteriaShow}"-->
97
- <!--@click="$parent.$parent.hidden()">-->
98
- <!--</div>-->
99
- <div class="button_spacing"
100
- :class="{'button_shrink_left':$parent.$parent.$parent.showItem,'button_shrink_right':!$parent.$parent.$parent.showItem}"
101
- @click="$parent.$parent.hiddenr()"></div>
102
- </div>
103
- </div>
104
- </div>
105
- </criteria>
106
- <data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
107
- <template partial='head'>
108
- <tr>
109
- <th>安检员</th>
110
- <th>总入户量</th>
111
- <th>总到访不遇量</th>
112
- <th>总拒检量</th>
113
- <th>安检总量</th>
114
- <th>计划总数</th>
115
- <th>入户</th>
116
- <th>到访不遇</th>
117
- <th>拒检</th>
118
- <th>无计划总数</th>
119
- <th>无计划入户</th>
120
- <th>无计划到访不遇</th>
121
- <th>无计划拒检</th>
122
- <th>入户率</th>
123
- <th>维修率</th>
124
- <th>隐患消除率</th>
125
- </tr>
126
- </template>
127
- <template partial='body'>
128
- <td style="text-align: center">{{row.f_checker}}</td>
129
- <td style="text-align: center">{{row.ruhu_total}}</td>
130
- <td style="text-align: center">{{row.daofang_total}}</td>
131
- <td style="text-align: center">{{row.jujian_total}}</td>
132
- <td style="text-align: center">{{row.total_sum}}</td>
133
- <td style="text-align: center">{{row.plannum}}</td>
134
- <td style="text-align: center">{{row.ruhu}}</td>
135
- <td style="text-align: center">{{row.daofang}}</td>
136
- <td style="text-align: center">{{row.jujian}}</td>
137
- <td style="text-align: center">{{row.no_plan_num}}</td>
138
- <td style="text-align: center">{{row.noruhu}}</td>
139
- <td style="text-align: center">{{row.nodaofang}}</td>
140
- <td style="text-align: center">{{row.nojujian}}</td>
141
- <td style="text-align: center">{{row.rhl}}%</td>
142
- <td style="text-align: center">{{row.wxl}}%</td>
143
- <td style="text-align: center">{{row.cll}}%</td>
144
- </template>
145
- <template partial="foot">
146
- <td style="text-align: center"><span><b>合计:</b></span></td>
147
- <td style="text-align: center">{{model.sums.ruhu_total}}</td>
148
- <td style="text-align: center">{{model.sums.daofang_total}}</td>
149
- <td style="text-align: center">{{model.sums.jujian_total}}</td>
150
- <td style="text-align: center">{{model.sums.total_sum}}</td>
151
- <td style="text-align: center">{{model.sums.plannum}}</td>
152
- <td style="text-align: center">{{model.sums.ruhu}}</td>
153
- <td style="text-align: center">{{model.sums.daofang}}</td>
154
- <td style="text-align: center">{{model.sums.jujian}}</td>
155
- <td style="text-align: center">{{model.sums.no_plan_num}}</td>
156
- <td style="text-align: center">{{model.sums.noruhu}}</td>
157
- <td style="text-align: center">{{model.sums.nodaofang}}</td>
158
- <td style="text-align: center">{{model.sums.nojujian}}</td>
159
- <td style="text-align: center"></td>
160
- <td style="text-align: center"></td>
161
- <td style="text-align: center"></td>
162
- </template>
163
- </data-grid>
164
- </criteria-paged>
165
- </div>
166
- </template>
167
- <script>
168
- import {PagedList} from 'vue-client'
169
-
170
-
171
- export default {
172
- title: '安检计划查询',
173
- data() {
174
- let options = []
175
- let year = (new Date()).getFullYear()
176
- for (let i = year - 8; i <= year + 1; i++)
177
- options.push({label: i + '', value: i + ''})
178
- let model = new PagedList('rs/sql/planCount', 20, {
179
- f_filialeids: 'this.f_filialeids',
180
- f_start_time: 'this.f_start_time',
181
- condition1:'this.condition1',
182
- condition2:'this.condition2',
183
- condition3:'this.condition3',
184
- f_end_time: 'this.f_end_time'
185
- }, {plannum: '', ruhu: '', jujian: '', daofang: '',no_plan_num:'',noruhu:'',nodaofang:'',nojujian:'',ruhu_total:'',daofang_total:'',jujian_total:'',total_sum:''})
186
- model.f_filialeids = '('+this.$login.f.orgid+')'
187
- return {
188
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
189
- excelHeaders:{
190
- 'f_checker': '安检员',
191
- 'plannum': '计划总数',
192
- // 'yrj': '计划中已入户',
193
- // 'wrj': '计划中未入户',
194
- 'ruhu': '入户',
195
- 'jujian': '拒检',
196
- 'daofang': '到访不遇',
197
- 'no_plan_num': '无计划总数',
198
- 'noruhu': '无计划入户',
199
- 'nojujian': '无计划拒检',
200
- 'nodaofang': '无计划到访不遇',
201
- 'rhl':'入户率',
202
- 'wxl':'维修率',
203
- 'cll':'隐患消除率'
204
- },
205
- searchData:{
206
- condition:"1=1",
207
- condition1:"1=1",
208
- condition2:"1=1",
209
- condition3:"and 1=1",
210
- f_plan_year:year[0],
211
- f_checker:'',
212
- f_filialeids:'('+this.$login.f.orgid+')',
213
- f_start_time:'',
214
- f_end_time:''
215
- },
216
- checker: this.$login.f,
217
- checkers: [],
218
- checkersname: [],
219
- checkStates: this.$appdata.getParam('安检状态'),
220
- f: this.$login.f,
221
- criteriaShow: false,
222
- model: model,
223
- c_year_list: options,
224
- f_check_start:'',
225
- f_check_end: '',
226
- f_start_time:'',
227
- f_end_time:''
228
- }
229
- },
230
- methods: {
231
- hidden() {
232
- this.criteriaShow = !this.criteriaShow
233
- },
234
- hiddenr() {
235
- this.$parent.showItem = !this.$parent.showItem
236
- },
237
- search(args) {
238
- let tempStr = args.condition
239
- let condition1 =tempStr
240
- let condition2 =tempStr
241
- let condition3 = ' and 1=1 '
242
- if (this.f_check_start) {
243
- condition1 += ` AND f_plan_year >= ${this.f_check_start.substr(0,4)} `
244
- condition1 += ` AND f_plan_month >= ${this.f_check_start.substr(5,2)} `
245
- }
246
- if (this.f_check_end) {
247
- condition1 += ` AND f_plan_year <= ${this.f_check_end.substr(0,4)} `
248
- condition1 += ` AND f_plan_month <= ${this.f_check_end.substr(5,2)} `
249
- }
250
- if(this.f_start_time){
251
- condition2 += ` AND f_offsite_time >= '${this.f_start_time} 00:00:00'`
252
- }
253
- if (this.f_end_time){
254
- condition2 += ` AND f_offsite_time <= '${this.f_end_time} 23:59:59'`
255
- }
256
- if (this.$refs.paged.$refs.cri.model.f_checker_id){
257
- condition3 += ` AND f_checker = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
258
- condition2 += ` AND f_checker_name = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
259
- }
260
- this.model.f_start_time=this.f_start_time
261
- this.model.f_end_time=this.f_end_time
262
- this.model.condition1=condition1
263
- this.model.condition2=condition2
264
- this.model.condition3=condition3
265
-
266
- this.searchData.condition1=condition1
267
- this.searchData.condition2=condition2
268
- this.searchData.condition3=condition3
269
-
270
- this.model.search(args.condition, args.model)
271
- },
272
- getRes(obj){
273
- this.model.f_filialeids = this.$login.convertToIn(obj.resids);
274
- //tag
275
- }
276
- },
277
- ready() {
278
- this.model.id = this.$login.f.id
279
- this.model.f_subcompany = this.$login.f.f_fengongsi
280
- this.model.f_filialeid = this.$login.f.orgid
281
- },
282
-
283
- watch: {
284
- 'model.condition'(val) {
285
- if(val){
286
- this.searchData.condition = val
287
- }
288
- },
289
- 'model.f_checker'(val) {
290
- if(val){
291
- this.searchData.f_checker = val
292
- }
293
- },
294
- 'f_start_time'(val) {
295
- if(val){
296
- this.searchData.f_start_time = val
297
- }
298
- },
299
- 'f_end_time'(val) {
300
- if(val){
301
- this.searchData.f_end_time = val
302
- }
303
- },
304
- 'checker'() {
305
- // //tag
306
- //tag
307
- this.model.chosenOrg = this.checker[0]
308
- },
309
- 'model.rows.length'() {
310
- // 如果查询无结果,将合计置为0
311
- if(this.model.rows.length < 1 &&this. model.sums){
312
- this.model.sums.yrj = 0
313
- this.model.sums.no_plan_num = 0
314
- this.model.sums.wrj = 0
315
- this.model.sums.ruhu = 0
316
- this.model.sums.jujian = 0
317
- this.model.sums.daofang = 0
318
- this.model.sums.ruhu_total=0
319
- this.model.sums.daofang_total=0
320
- this.model.sums.jujian_total=0
321
- this.model.sums.total_sum=0
322
- }
323
- }
324
- },
325
- computed: {
326
- selected() {
327
- // //tag
328
- // this.$parent.showItem=!this.$parent.showItem
329
- return this.$refs.paged.$refs.grid.selected
330
- }
331
- }
332
- }
333
- </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_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>