safecheck-client 3.0.33-103 → 3.0.33-106

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.
@@ -0,0 +1,333 @@
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>
@@ -7,6 +7,11 @@ let specialComp = {
7
7
  'plan-manage': (resolve) => { require(['./pc/PlanManage'], resolve) },
8
8
  'new-check-paper': (resolve) => { require(['./pc/NewCheckpaper.vue'], resolve) },
9
9
  'paper-main': (resolve) => { require(['./pc/PaperList'], resolve) },
10
+ 'check-plan-area-list': (resolve) => { require(['./pc/CheckPlanAreaList'], resolve) },
11
+ 'hiddensituation': (resolve) => { require(['./pc/HiddenSituation'], resolve) },
12
+ 'check-search-user': (resolve) => { require(['./pc/CheckSearchUser'], resolve) },
13
+ 'check-plan': (resolve) => { require(['./pc/CheckPlan'], resolve) },
14
+ 'select-check-plan': (resolve) => { require(['./pc/SelectCheckPlan'], resolve) },
10
15
  'defect-main-new2': (resolve) => { require(['./pc/DefectMainNew'], resolve) },
11
16
  }
12
17
  exports.specialComp = specialComp