safecheck-client 3.0.35-1 → 3.0.35-2

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,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>