safecheck-client 3.0.35-6 → 3.0.35-8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/android/AddPlanItemYy.vue +451 -451
  4. package/src/components/android/CivilCurrentCreate.vue +46 -41
  5. package/src/components/android/examples/SafeListExamples.vue +296 -296
  6. package/src/components/android/examples/UserExamples.vue +136 -136
  7. package/src/components/rongcheng/AspiratedAreaPlan.vue +574 -574
  8. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
  9. package/src/filiale/bayan/android/AddPlanItem.vue +441 -430
  10. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  11. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1380
  12. package/src/filiale/bayan/android/SafecheckOrderV.vue +2922 -2922
  13. package/src/filiale/bayan/android/SafecheckUserInfo.vue +4 -0
  14. package/src/filiale/bayan/pc/CheckPlanAreaList.vue +607 -607
  15. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  16. package/src/filiale/bayan/pc/NewCheckpaper.vue +1992 -1992
  17. package/src/filiale/bayan/pc/PaperList.vue +900 -900
  18. package/src/filiale/bayan/pc/SelectCheckPlan.vue +391 -391
  19. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  20. package/src/filiale/tongchuan/android/SafecheckDevices.vue +1207 -1207
  21. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3035 -3035
  22. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +1053 -1053
  23. package/src/filiale/tongchuan/pc/checkUserList.vue +639 -639
  24. package/src/filiale/xilan/android.js +11 -11
  25. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +642 -642
  26. package/src/safecheck-android.js +307 -307
@@ -1,391 +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}">
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_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>