safecheck-client 3.0.39-6 → 3.0.39-8

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.
Files changed (31) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +26 -31
  3. package/src/components/android/SafecheckOrderV.vue +1 -1
  4. package/src/components/pc/RoleSelector.vue +172 -172
  5. package/src/components/rongcheng/AddPlanItem.vue +344 -344
  6. package/src/components/rongcheng/CheckCurrentCreate.vue +1081 -1081
  7. package/src/components/rongcheng/PaperDefectMain.vue +828 -828
  8. package/src/filiale/BFshiye/pc/checkUserList.vue +772 -772
  9. package/src/filiale/dexin/pc/PaperList.vue +840 -840
  10. package/src/filiale/kelai/android/PaperFeedback.vue +1550 -1539
  11. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2918 -2918
  12. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1919 -1919
  13. package/src/filiale/wensu/android/SafecheckOrderV.vue +2444 -2444
  14. package/src/filiale/wensu/android/SafecheckUserInfo.vue +712 -712
  15. package/src/filiale/wensu/pc/CheckSearchUser.vue +1251 -1251
  16. package/src/filiale/wuan/android/SafecheckOrderV.vue +2242 -2242
  17. package/src/filiale/wuan/android/SafecheckUserInfo.vue +659 -655
  18. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1191 -1191
  19. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +913 -913
  20. package/src/filiale/yangchunboneng/android.js +21 -21
  21. package/src/filiale/yangchunboneng/pc/CheckBookList.vue +353 -353
  22. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +677 -677
  23. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1197 -1197
  24. package/src/filiale/yangchunboneng/pc/HiddenSituation.vue +171 -171
  25. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +1112 -1112
  26. package/src/filiale/yangchunboneng/pc/PaperList.vue +757 -757
  27. package/src/filiale/yangchunboneng/pc/SelectCheckPlan.vue +331 -331
  28. package/src/filiale/yangchunboneng/pc.js +29 -29
  29. package/src/main.js +33 -33
  30. package/src/rongcheng.js +319 -319
  31. package/yarn-error.log +140 -0
@@ -1,677 +1,677 @@
1
- <template>
2
- <div class="flex">
3
- <criteria-paged :model="model" v-ref:paged :pager="false">
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' 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-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
8
- <label class="font_normal_body">组织机构</label>
9
- <res-select restype='organization'
10
- class="select select_list"
11
- style="width: 60%"
12
- @res-select="$parent.$parent.getorg"
13
- :initresid='$parent.$parent.curorgid'>
14
- </res-select>
15
- </div>-->
16
- <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">
17
- <role-selector-safe
18
- role-name="安检员"
19
- role-lable="安&ensp;检&ensp;员"
20
- @re-res="$parent.$parent.getorg"
21
- :value.sync="model.f_checker_id"
22
- v-model="model.f_checker_id"
23
- :value-multiple="true"
24
- :value-close="false"
25
- condition="f_checker_name in {}">
26
- </role-selector-safe>
27
- </div>
28
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
29
- <label class="font_normal_body">小区名称</label>
30
- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
31
- condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
32
- </div>
33
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
34
- <label class="font_normal_body">计划名称</label>
35
- <v-select class="select_list select"
36
- placeholder='计划名称' style="width: 60%"
37
- :search="true"
38
- v-model="model.f_plan_name"
39
- :value.sync="model.f_plan_name"
40
- :options='$parent.$parent.planName'
41
- condition="f_plan_id = '{}'"
42
- :value-single="true"
43
- close-on-select clear-button></v-select>
44
-
45
- </div>
46
- <!--<div :class="{
47
- 'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
48
- <label class="font_normal_body">安&ensp;检&ensp;员</label>
49
- <input type="text" class="input_search" style="width:60%" v-model="model.f_checker_name" placeholder='安检员'
50
- condition="f_checker_name like '%{}%'" v-next-el="cx" v-el:qjmc>
51
- </div>-->
52
- <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
53
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" style="float:right; padding-right: 25px">
54
- <div class="span" style="float:right;">
55
- <div style="float: right;margin-left:10px" class="button_spacing"
56
- :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
57
- @click="$parent.$parent.hiddenr()"></div>
58
- <div class="button_spacing" style="float: right;margin-left:10px"
59
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
60
- @click="$parent.$parent.hidden()">
61
- </div>
62
- <!-- <export-excel-safe :data="$parent.$parent.exportParameter"
63
- :field="$parent.$parent.exportExcelField"
64
- sqlurl="rs/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
65
- template-name='安检汇总' :choose-col="true">
66
- </export-excel-safe>-->
67
- <button
68
- id="btnaaaa" style="float: right" class="button_search"
69
- v-if="$parent.$parent.excelStart"
70
- @click="$parent.$parent.exportexcel()"
71
- v-el:cx>导出</button>
72
- <button id="btnaaa" style="float: right" class="button_search"
73
- @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
74
- v-el:cx>查询</button>
75
- </div>
76
- </div>
77
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
78
- <label class="font_normal_body">起始时间</label>
79
- <datepicker
80
- :value.sync="$parent.$parent.f_check_start"
81
- placeholder='起始时间' style="width:60%"
82
- :disabled-days-of-week="[]"
83
- :format="'yyyy-MM'"
84
- :select-month="true"
85
- :show-rest-button="reset">
86
- </datepicker>
87
- </div>
88
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
89
- <label class="font_normal_body">结束时间</label>
90
- <datepicker
91
- :value.sync="$parent.$parent.f_check_end"
92
- placeholder='结束时间' style="width:60%"
93
- :disabled-days-of-week="[]"
94
- :format="'yyyy-MM'"
95
- :select-month="true"
96
- :show-rest-button="reset">
97
- </datepicker>
98
- </div>
99
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
100
- <label class="font_normal_body">安检时间</label>
101
- <datepicker
102
- :value.sync="$parent.$parent.f_safe_start"
103
- placeholder='结束时间' style="width: 60%"
104
- :disabled-days-of-week="[]"
105
- :format="'yyyy-MM-dd 00:00:00'"
106
- :show-rest-button="reset"
107
- v-model="$parent.$parent.f_safe_start"
108
- >
109
- </datepicker>
110
- </div>
111
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
112
- <label class="font_normal_body">安检时间</label>
113
- <datepicker
114
- :value.sync="$parent.$parent.f_safe_end"
115
- placeholder='结束时间' style="width: 60%"
116
- :disabled-days-of-week="[]"
117
- :format="'yyyy-MM-dd 23:59:59'"
118
- :show-rest-button="reset"
119
- v-model="$parent.$parent.f_safe_end"
120
- >
121
- </datepicker>
122
- </div>
123
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
124
- <label class="font_normal_body">业务部门</label>
125
- <v-select :value.sync="model.department" v-model='model.department'
126
- :multiple="true"
127
- class="select_list select"
128
- :options='$parent.$parent.departments' placeholder='部门'
129
- close-on-select
130
- condition="department in {}"></v-select>
131
- </div>
132
- </div>
133
- <div class="row">
134
- <div class="col-sm-12">
135
- <label class="control-label" style="color: #c7254e">汇 总 项</label>
136
- <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
137
- <label for="f_plan_month">计划月份</label>
138
- <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
139
- <label for="f_no_checkplan">计划类型</label>
140
- <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
141
- <label for="f_residential_area">小区名称</label>
142
- <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
143
- <label for="f_plan_name">计划名称</label>
144
- <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
145
- <label for="f_checker_name">安检员</label>
146
- <input type="checkbox" id="f_user_type" value="f_user_type" v-model="$parent.$parent.nameForSql"/>
147
- <label for="f_user_type">用户类型</label>
148
- <input type="checkbox" id="department" value="department" v-model="$parent.$parent.nameForSql"/>
149
- <label for="f_user_type">部门</label>
150
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
151
- <label for="f_checker_name">档案数量</label>
152
- </div>
153
- </div>
154
- </div>
155
-
156
- </criteria>
157
- <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
158
- <template partial='head'>
159
- <tr>
160
- <th>
161
- <nobr>序号</nobr>
162
- </th>
163
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
164
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
165
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
166
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
167
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
168
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"><nobr>用户类型</nobr></th>
169
- <th v-if="$parent.$parent.$parent.nameForSql.includes('department')"><nobr>部门</nobr></th>
170
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
171
- <th>
172
- <nobr>计划总数</nobr>
173
- </th>
174
- <th>
175
- <nobr>未上门</nobr>
176
- </th>
177
- <th>
178
- <nobr>未安检</nobr>
179
- </th>
180
- <th>
181
- <nobr>已上门</nobr>
182
- </th>
183
- <th>
184
- <nobr>已安检</nobr>
185
- </th>
186
- <th>
187
- <nobr>已完成</nobr>
188
- </th>
189
- <th>
190
- <nobr>入户</nobr>
191
- </th>
192
- <th>
193
- <nobr>拆除</nobr>
194
- </th>
195
- <th>
196
- <nobr>停用</nobr>
197
- </th>
198
- <th>
199
- <nobr>未通气</nobr>
200
- </th>
201
- <th>
202
- <nobr>拒检</nobr>
203
- </th>
204
- <th>
205
- <nobr>到访不遇1</nobr>
206
- </th>
207
- <th>
208
- <nobr>到访不遇2</nobr>
209
- </th>
210
- <th>
211
- <nobr>到访不遇3</nobr>
212
- </th>
213
- <th>
214
- <nobr>到访不遇3+</nobr>
215
- </th>
216
- <th>
217
- <nobr>上门率</nobr>
218
- </th>
219
- <th>
220
- <nobr>安检率</nobr>
221
- </th>
222
- <th>
223
- <nobr>完成率</nobr>
224
- </th>
225
- <!--<th>-->
226
- <!--<nobr>查看</nobr>-->
227
- <!--</th>-->
228
- </tr>
229
- </template>
230
- <template partial='body'>
231
- <tr>
232
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
233
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
234
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
235
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
236
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
237
- <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>-->
238
- <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>
239
- <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>
240
- <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>
241
- <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>
242
- <td style="text-align:center" :class="{'td-0':row && !row.f_checker_name,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_checker_name && row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
243
- <td style="text-align:center" :class="{'td-0':row && !row.f_user_type,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_user_type && row.f_user_type.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_user_type')">{{row.f_user_type && row.f_user_type.indexOf('*&')!=-1?'':row.f_user_type}}</td>
244
- <td style="text-align:center" :class="{'td-0':row && !row.department,'td-1':model.rows && model.rows.length!=($index+1)&&row.department && row.department.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.department &&row.department.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.department &&row.department.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.department &&row.department.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('department')">{{row.department && row.department.indexOf('*&')!=-1?'':row.department}}</td>
245
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
246
- <td style="text-align:center">{{row.f_plan_total}}</td>
247
- <td style="text-align:center">{{row.f_weishangmen}}</td>
248
- <td style="text-align:center">{{row.f_weijian}}</td>
249
- <td style="text-align:center">{{row.f_yishangmen}}</td>
250
- <td style="text-align:center">{{row.f_yijian}}</td>
251
- <td style="text-align:center"><nobr>{{row.f_yiwancheng}}</nobr></td>
252
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
253
- <td style="text-align:center"><nobr>{{row.f_chaichu}}</nobr></td>
254
- <td style="text-align:center"><nobr>{{row.f_tingyong}}</nobr></td>
255
- <td style="text-align:center"><nobr>{{row.f_weitongqi}}</nobr></td>
256
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
257
- <td style="text-align:center">{{row.f_buyu}}</td>
258
- <td style="text-align:center">{{row.f_buyu2}}</td>
259
- <td style="text-align:center">{{row.f_buyu3}}</td>
260
- <td style="text-align:center">{{row.f_buyu4}}</td>
261
- <td style="text-align:center"><nobr>{{row.f_shangmen_bv}}</nobr></td>
262
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
263
- <td style="text-align:center"><nobr>{{row.f_wangcheng_bv}}</nobr></td>
264
- <!--<td style="text-align: center;">-->
265
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
266
- <!--</td>-->
267
- </tr>
268
- </template>
269
- <template partial='foot'>
270
- <td style="text-align: center" ><span><b>合计:</b></span></td>
271
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"></th>
272
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"></th>
273
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"></th>
274
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"></th>
275
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"></th>
276
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"></th>
277
- <th v-if="$parent.$parent.$parent.nameForSql.includes('department')"></th>
278
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"></th>
279
- <td style="text-align: center">{{model.sums.f_plan_total}}</td>
280
- <td style="text-align: center">{{model.sums.f_weishangmen}}</td>
281
- <td style="text-align: center">{{model.sums.f_weijian}}</td>
282
- <td style="text-align: center">{{model.sums.f_yishangmen}}</td>
283
- <td style="text-align: center">{{model.sums.f_yijian}}</td>
284
- <td style="text-align: center">{{model.sums.f_yiwancheng}}</td>
285
- <td style="text-align: center">{{model.sums.f_ruhu}}</td>
286
- <td style="text-align: center">{{model.sums.f_chaichu}}</td>
287
- <td style="text-align: center">{{model.sums.f_tingyong}}</td>
288
- <td style="text-align: center">{{model.sums.f_weitongqi}}</td>
289
- <td style="text-align: center">{{model.sums.f_jujian}}</td>
290
- <td style="text-align: center">{{model.sums.f_buyu}}</td>
291
- <td style="text-align: center">{{model.sums.f_buyu2}}</td>
292
- <td style="text-align: center">{{model.sums.f_buyu3}}</td>
293
- <td style="text-align: center">{{model.sums.f_buyu4}}</td>
294
- <td style="text-align: center">{{(parseFloat(model.sums.f_yishangmen) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
295
- <td style="text-align: center">{{(parseFloat(model.sums.f_ruhu) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
296
- <td style="text-align: center">{{(parseFloat(model.sums.f_yiwancheng) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
297
-
298
- </template>
299
- </data-grid>
300
- </criteria-paged>
301
- </div>
302
- </template>
303
-
304
- <script>
305
- /**
306
- *阶梯气价查询列表
307
- */
308
- import {PagedList} from 'vue-client'
309
- import { HttpResetClass } from 'vue-client'
310
- import XLSX from 'xlsx'
311
- export default {
312
- data () {
313
- return {
314
- model: new PagedList('rs/sql/getCheckPlanAreaList', 99999,{},{
315
- f_plan_total:'',
316
- f_weishangmen:'',
317
- f_weijian:'',
318
- f_yishangmen:'',
319
- f_yijian:'',
320
- f_yiwancheng:'',
321
- f_ruhu:'',
322
- f_chaichu:'',
323
- f_tingyong:'',
324
- f_weitongqi:'',
325
- f_jujian:'',
326
- f_buyu:'',
327
- f_buyu2:'',
328
- f_buyu3:'',
329
- f_buyu4:'',
330
- }),
331
- // 公司下拉
332
- curorgid: [this.$login.f.orgid],
333
- row: {},
334
- f_orgid: '',
335
- nameForSql: [],
336
- groupNameForSql: '',
337
- listflag:false,
338
- nameflag:false,
339
- criteriaShow: false,
340
- f_check_start:new Date().getFullYear() + '-01',
341
- f_check_end:new Date().getFullYear() + '-12',
342
- f_safe_start:'',
343
- f_safe_end:'',
344
- planName:[{label: '全部', value: ''}],
345
- departments:[],
346
- exportExcelField: {
347
- f_plan_total:'计划总数',
348
- f_weishangmen:'未上门',
349
- f_weijian:'未安检',
350
- f_yishangmen:'已上门',
351
- f_yijian:'已安检',
352
- f_yiwancheng:'已完成',
353
- f_ruhu:'入户',
354
- f_chaichu:'拆除',
355
- f_tingyong:'停用',
356
- f_weitongqi:'未通气',
357
- f_jujian:'拒检',
358
- f_buyu:'到访不遇1',
359
- f_buyu2:'到访不遇2',
360
- f_buyu3:'到访不遇3',
361
- f_buyu4:'到访不遇3+',
362
- f_shangmen_bv:'上门率',
363
- f_check_bv:'安检率',
364
- f_wangcheng_bv:'完成率'
365
- }
366
- }
367
- },
368
- props: {
369
- row: {},
370
- config: {},
371
- ispartial: false,
372
- f_filialeid: {
373
- type: String
374
- }
375
- },
376
- ready () {
377
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name','f_user_type','department']
378
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name','f_user_type,department'
379
- this.pl()
380
- this.dp()
381
- // this.search()
382
-
383
- },
384
- methods: {
385
- exportexcel(){
386
- //tag
387
- // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
388
- const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
389
- console.log(aa)
390
- let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
391
- try {
392
- XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
393
- } catch(e) {
394
- //tag;
395
- }
396
- },
397
- // 获取导出列
398
- getexportExcelField(){
399
- this.exportExcelField = {
400
- f_plan_total:'计划总数',
401
- f_weishangmen:'未上门',
402
- f_weijian:'未安检',
403
- f_yishangmen:'已上门',
404
- f_yijian:'已安检',
405
- f_yiwancheng:'已完成',
406
- f_ruhu:'入户',
407
- f_chaichu:'拆除',
408
- f_tingyong:'停用',
409
- f_weitongqi:'未通气',
410
- f_jujian:'拒检',
411
- f_buyu:'到访不遇1',
412
- f_buyu2:'到访不遇2',
413
- f_buyu3:'到访不遇3',
414
- f_buyu4:'到访不遇3+',
415
- f_shangmen_bv:'上门率',
416
- f_check_bv:'安检率',
417
- f_wangcheng_bv:'完成率'
418
- }
419
- let forName = this.groupNameForSql.split(",")
420
- for (let i = 0; i < forName.length; i++) {
421
- let ff = forName[i]
422
- if (ff==='f_plan_month') {
423
- this.exportExcelField.f_plan_month='计划月份'
424
- }
425
- if (ff==='f_no_checkplan') {
426
- this.exportExcelField.f_no_checkplan='计划类型'
427
- }
428
- if (ff==='f_plan_name') {
429
- this.exportExcelField.f_plan_name='计划名称'
430
- }
431
- if (ff==='f_checker_name') {
432
- this.exportExcelField.f_checker_name='安检员'
433
- }if (ff==='f_residential_area') {
434
- this.exportExcelField.f_residential_area='小区名称'
435
- }if (ff==='f_user_number') {
436
- this.exportExcelField.f_user_number='档案数量'
437
- }
438
- }
439
- },
440
- pl() {
441
- let getGasman = new HttpResetClass()
442
- getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
443
- data: {
444
- items: "id,f_plan_name",
445
- tablename: "t_check_plan",
446
- condition: `f_filialeid = '${this.curorgid}'`,
447
- orderitem: "id"
448
- }
449
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
450
- //tag
451
- //tag
452
- //tag
453
- for (let i = 0; i < plne.data.length; i++) {
454
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
455
- }
456
- //tag
457
- })
458
- },
459
- dp() {
460
- let depnames = new HttpResetClass()
461
- depnames.load('POST', `rs/sql/safe_singleTable_GroupBy`, {
462
- data: {
463
- items: " u.f_department_name ",
464
- tablename: " t_check_plan cp left join t_user u on cp.f_checker_id=u.id ",
465
- condition: `f_filialeid = '${this.curorgid}' and u.f_department_name is not null `,
466
- groupitem: "u.f_department_name "
467
- }
468
- }, {resolveMsg: null, rejectMsg: null}).then((dpna) => {
469
- //tag
470
- //tag
471
- //tag
472
- for (let i = 0; i < dpna.data.length; i++) {
473
- this.departments.push({label: dpna.data[i].f_department_name, value: dpna.data[i].f_department_name})
474
- }
475
- //tag
476
- })
477
- },
478
- hiddenr() {
479
- this.$parent.isdetail = !this.$parent.isdetail
480
- },
481
- hidden() {
482
- this.criteriaShow = !this.criteriaShow
483
- },
484
- search () {
485
- this.$refs.paged.$refs.cri.search()
486
- this.$dispatch('search')
487
- },
488
- getorg (val) {
489
- this.f_orgid = this.$login.convertToIn(val.resids)
490
- this.f_filialeid = val[0]
491
-
492
- },
493
- selfSearch (args) {
494
- if (!this.f_orgid) {
495
- this.getorg([this.$login.f.orgid])
496
- args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
497
- }
498
- if (this.f_orgid) {
499
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
500
- }
501
- if(this.f_check_start && this.f_check_end){
502
- if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
503
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
504
- }else {
505
- args.condition += ` and (
506
- (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
507
- or
508
- ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
509
- or
510
- (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
511
- }
512
- } else {
513
- if(this.f_check_start){
514
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
515
- }
516
- if(this.f_check_end){
517
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
518
- }
519
- }
520
- if(this.f_safe_start && this.f_safe_end){
521
- args.condition += `and ch.f_offsite_time >= '${this.f_safe_start}' and ch.f_offsite_time <= '${this.f_safe_end}' `
522
- } else {
523
- if(this.f_safe_start){
524
- args.condition += ` and ch.f_offsite_time >='${this.f_safe_start}'`
525
- }
526
- if(this.f_safe_end){
527
- args.condition += ` and ch.f_offsite_time <='${this.f_safe_end}'`
528
- }
529
- }
530
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
531
- if (this.groupNameForSql=='undefined'){
532
- //tag
533
- this.$showMessage("请至少选择一项进行汇总")
534
- return
535
- }
536
- this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
537
- this.model.search(args.condition, args.model)
538
- },
539
-
540
- // 拼接groupName1
541
- getGroupName1 () {
542
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_user_type','department']
543
- var newtemp=[]
544
-
545
- for (var i=0;i<temp.length;i++){
546
- for (var j=0;j<this.nameForSql.length;j++){
547
- //tag
548
- if(temp[i]==this.nameForSql[j]){
549
- newtemp.push(this.nameForSql[j])
550
- }
551
- }
552
- }
553
- let str = ''
554
-
555
- for (var i=0;i < newtemp.length - 1; i++) {
556
- str += newtemp[i] + ','
557
- }
558
- str += newtemp[i]
559
- this.groupNameForSql = str.trim()
560
- }
561
- },
562
- watch: {
563
- // 'nameForSql' () {
564
- //
565
- // this.getGroupName1()
566
- // },
567
- 'nameForSql' () {
568
- var e = document.createEvent("MouseEvents");
569
- e.initEvent("click", true, true);
570
- document.getElementById("btnaaa").dispatchEvent(e);
571
- },
572
- 'model.rows'(){
573
- //tag
574
- if(this.listflag){
575
- return;
576
- }
577
- this.listflag=true
578
- //tag
579
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
580
- var newtemp=[]
581
- for (var i=0;i<temp.length;i++){
582
- for (var j=0;j<this.nameForSql.length;j++){
583
- //tag
584
- if(temp[i]==this.nameForSql[j]){
585
- newtemp.push(this.nameForSql[j])
586
- }
587
- }
588
- }
589
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
590
- return
591
- }
592
- var temp=JSON.parse(JSON.stringify(this.model.rows))
593
-
594
- //遍历查询结果 为指定列增加样式
595
- for (var i=0;i<newtemp.length-1;i++){
596
- if(newtemp[i]=='f_user_number'){
597
- return;
598
- }
599
- //tag
600
- var ss=''
601
- for (var j=0;j<temp.length;j++){
602
- if(j>0&&i>0){
603
- var flag=false
604
- for(var t=i-1;t>-1;t--){
605
- //tag
606
- //tag
607
- //tag
608
- //tag
609
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
610
- flag=true
611
- break
612
- }
613
- }
614
- //tag
615
- if(flag){
616
- ss=temp[j][newtemp[i]]
617
- continue
618
- }
619
- }
620
- if(temp[j][newtemp[i]]==ss){
621
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
622
- }else {
623
- ss=temp[j][newtemp[i]]
624
- }
625
- }
626
- }
627
- //tag
628
- this.model.rows=JSON.parse(JSON.stringify(temp))
629
- }
630
- },
631
- computed:{
632
- exportParameter(){
633
- // excel 导出条件拼接
634
- return {
635
- condition: this.$refs.paged.model.condition,
636
- groupName: this.groupNameForSql
637
- }
638
- },
639
- excelStart () {
640
- return this.$login.r.includes('安检员考核导出')
641
- }
642
- }
643
- }
644
- </script>
645
-
646
- <style scoped>
647
-
648
- .td-0{
649
- border: 1px solid #000000;
650
- }
651
-
652
- .td-1{
653
- border: none;
654
- border-top: 1px solid #000000;
655
- border-left: 1px solid #000000;
656
- border-right: 1px solid #000000;
657
- }
658
-
659
- .td-2{
660
- border: none;
661
- border-left: 1px solid #000000;
662
- border-right: 1px solid #000000;
663
- }
664
- .td-4{
665
- border: none;
666
- border-top: 1px solid #000000;
667
- border-left: 1px solid #000000;
668
- border-right: 1px solid #000000;
669
- border-bottom: 1px solid #000000;
670
- }
671
- .td-3{
672
- border: none;
673
- border-left: 1px solid #000000;
674
- border-right: 1px solid #000000;
675
- border-bottom: 1px solid #000000;
676
- }
677
- </style>
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged :pager="false">
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' 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-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select restype='organization'
10
+ class="select select_list"
11
+ style="width: 60%"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid='$parent.$parent.curorgid'>
14
+ </res-select>
15
+ </div>-->
16
+ <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">
17
+ <role-selector-safe
18
+ role-name="安检员"
19
+ role-lable="安&ensp;检&ensp;员"
20
+ @re-res="$parent.$parent.getorg"
21
+ :value.sync="model.f_checker_id"
22
+ v-model="model.f_checker_id"
23
+ :value-multiple="true"
24
+ :value-close="false"
25
+ condition="f_checker_name in {}">
26
+ </role-selector-safe>
27
+ </div>
28
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
29
+ <label class="font_normal_body">小区名称</label>
30
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
31
+ condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
32
+ </div>
33
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
34
+ <label class="font_normal_body">计划名称</label>
35
+ <v-select class="select_list select"
36
+ placeholder='计划名称' style="width: 60%"
37
+ :search="true"
38
+ v-model="model.f_plan_name"
39
+ :value.sync="model.f_plan_name"
40
+ :options='$parent.$parent.planName'
41
+ condition="f_plan_id = '{}'"
42
+ :value-single="true"
43
+ close-on-select clear-button></v-select>
44
+
45
+ </div>
46
+ <!--<div :class="{
47
+ 'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
48
+ <label class="font_normal_body">安&ensp;检&ensp;员</label>
49
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_checker_name" placeholder='安检员'
50
+ condition="f_checker_name like '%{}%'" v-next-el="cx" v-el:qjmc>
51
+ </div>-->
52
+ <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
53
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" style="float:right; padding-right: 25px">
54
+ <div class="span" style="float:right;">
55
+ <div style="float: right;margin-left:10px" class="button_spacing"
56
+ :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
57
+ @click="$parent.$parent.hiddenr()"></div>
58
+ <div class="button_spacing" style="float: right;margin-left:10px"
59
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
60
+ @click="$parent.$parent.hidden()">
61
+ </div>
62
+ <!-- <export-excel-safe :data="$parent.$parent.exportParameter"
63
+ :field="$parent.$parent.exportExcelField"
64
+ sqlurl="rs/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
65
+ template-name='安检汇总' :choose-col="true">
66
+ </export-excel-safe>-->
67
+ <button
68
+ id="btnaaaa" style="float: right" class="button_search"
69
+ v-if="$parent.$parent.excelStart"
70
+ @click="$parent.$parent.exportexcel()"
71
+ v-el:cx>导出</button>
72
+ <button id="btnaaa" style="float: right" class="button_search"
73
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
74
+ v-el:cx>查询</button>
75
+ </div>
76
+ </div>
77
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
78
+ <label class="font_normal_body">起始时间</label>
79
+ <datepicker
80
+ :value.sync="$parent.$parent.f_check_start"
81
+ placeholder='起始时间' style="width:60%"
82
+ :disabled-days-of-week="[]"
83
+ :format="'yyyy-MM'"
84
+ :select-month="true"
85
+ :show-rest-button="reset">
86
+ </datepicker>
87
+ </div>
88
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
89
+ <label class="font_normal_body">结束时间</label>
90
+ <datepicker
91
+ :value.sync="$parent.$parent.f_check_end"
92
+ placeholder='结束时间' style="width:60%"
93
+ :disabled-days-of-week="[]"
94
+ :format="'yyyy-MM'"
95
+ :select-month="true"
96
+ :show-rest-button="reset">
97
+ </datepicker>
98
+ </div>
99
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
100
+ <label class="font_normal_body">安检时间</label>
101
+ <datepicker
102
+ :value.sync="$parent.$parent.f_safe_start"
103
+ placeholder='结束时间' style="width: 60%"
104
+ :disabled-days-of-week="[]"
105
+ :format="'yyyy-MM-dd 00:00:00'"
106
+ :show-rest-button="reset"
107
+ v-model="$parent.$parent.f_safe_start"
108
+ >
109
+ </datepicker>
110
+ </div>
111
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
112
+ <label class="font_normal_body">安检时间</label>
113
+ <datepicker
114
+ :value.sync="$parent.$parent.f_safe_end"
115
+ placeholder='结束时间' style="width: 60%"
116
+ :disabled-days-of-week="[]"
117
+ :format="'yyyy-MM-dd 23:59:59'"
118
+ :show-rest-button="reset"
119
+ v-model="$parent.$parent.f_safe_end"
120
+ >
121
+ </datepicker>
122
+ </div>
123
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
124
+ <label class="font_normal_body">业务部门</label>
125
+ <v-select :value.sync="model.department" v-model='model.department'
126
+ :multiple="true"
127
+ class="select_list select"
128
+ :options='$parent.$parent.departments' placeholder='部门'
129
+ close-on-select
130
+ condition="department in {}"></v-select>
131
+ </div>
132
+ </div>
133
+ <div class="row">
134
+ <div class="col-sm-12">
135
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
136
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
137
+ <label for="f_plan_month">计划月份</label>
138
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
139
+ <label for="f_no_checkplan">计划类型</label>
140
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
141
+ <label for="f_residential_area">小区名称</label>
142
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
143
+ <label for="f_plan_name">计划名称</label>
144
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
145
+ <label for="f_checker_name">安检员</label>
146
+ <input type="checkbox" id="f_user_type" value="f_user_type" v-model="$parent.$parent.nameForSql"/>
147
+ <label for="f_user_type">用户类型</label>
148
+ <input type="checkbox" id="department" value="department" v-model="$parent.$parent.nameForSql"/>
149
+ <label for="f_user_type">部门</label>
150
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
151
+ <label for="f_checker_name">档案数量</label>
152
+ </div>
153
+ </div>
154
+ </div>
155
+
156
+ </criteria>
157
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
158
+ <template partial='head'>
159
+ <tr>
160
+ <th>
161
+ <nobr>序号</nobr>
162
+ </th>
163
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
164
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
165
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
166
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
167
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
168
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"><nobr>用户类型</nobr></th>
169
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('department')"><nobr>部门</nobr></th>
170
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
171
+ <th>
172
+ <nobr>计划总数</nobr>
173
+ </th>
174
+ <th>
175
+ <nobr>未上门</nobr>
176
+ </th>
177
+ <th>
178
+ <nobr>未安检</nobr>
179
+ </th>
180
+ <th>
181
+ <nobr>已上门</nobr>
182
+ </th>
183
+ <th>
184
+ <nobr>已安检</nobr>
185
+ </th>
186
+ <th>
187
+ <nobr>已完成</nobr>
188
+ </th>
189
+ <th>
190
+ <nobr>入户</nobr>
191
+ </th>
192
+ <th>
193
+ <nobr>拆除</nobr>
194
+ </th>
195
+ <th>
196
+ <nobr>停用</nobr>
197
+ </th>
198
+ <th>
199
+ <nobr>未通气</nobr>
200
+ </th>
201
+ <th>
202
+ <nobr>拒检</nobr>
203
+ </th>
204
+ <th>
205
+ <nobr>到访不遇1</nobr>
206
+ </th>
207
+ <th>
208
+ <nobr>到访不遇2</nobr>
209
+ </th>
210
+ <th>
211
+ <nobr>到访不遇3</nobr>
212
+ </th>
213
+ <th>
214
+ <nobr>到访不遇3+</nobr>
215
+ </th>
216
+ <th>
217
+ <nobr>上门率</nobr>
218
+ </th>
219
+ <th>
220
+ <nobr>安检率</nobr>
221
+ </th>
222
+ <th>
223
+ <nobr>完成率</nobr>
224
+ </th>
225
+ <!--<th>-->
226
+ <!--<nobr>查看</nobr>-->
227
+ <!--</th>-->
228
+ </tr>
229
+ </template>
230
+ <template partial='body'>
231
+ <tr>
232
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
233
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
234
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
235
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
236
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
237
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>-->
238
+ <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>
239
+ <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>
240
+ <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>
241
+ <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>
242
+ <td style="text-align:center" :class="{'td-0':row && !row.f_checker_name,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_checker_name && row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
243
+ <td style="text-align:center" :class="{'td-0':row && !row.f_user_type,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_user_type && row.f_user_type.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_user_type &&row.f_user_type.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_user_type')">{{row.f_user_type && row.f_user_type.indexOf('*&')!=-1?'':row.f_user_type}}</td>
244
+ <td style="text-align:center" :class="{'td-0':row && !row.department,'td-1':model.rows && model.rows.length!=($index+1)&&row.department && row.department.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.department &&row.department.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.department &&row.department.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.department &&row.department.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('department')">{{row.department && row.department.indexOf('*&')!=-1?'':row.department}}</td>
245
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
246
+ <td style="text-align:center">{{row.f_plan_total}}</td>
247
+ <td style="text-align:center">{{row.f_weishangmen}}</td>
248
+ <td style="text-align:center">{{row.f_weijian}}</td>
249
+ <td style="text-align:center">{{row.f_yishangmen}}</td>
250
+ <td style="text-align:center">{{row.f_yijian}}</td>
251
+ <td style="text-align:center"><nobr>{{row.f_yiwancheng}}</nobr></td>
252
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
253
+ <td style="text-align:center"><nobr>{{row.f_chaichu}}</nobr></td>
254
+ <td style="text-align:center"><nobr>{{row.f_tingyong}}</nobr></td>
255
+ <td style="text-align:center"><nobr>{{row.f_weitongqi}}</nobr></td>
256
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
257
+ <td style="text-align:center">{{row.f_buyu}}</td>
258
+ <td style="text-align:center">{{row.f_buyu2}}</td>
259
+ <td style="text-align:center">{{row.f_buyu3}}</td>
260
+ <td style="text-align:center">{{row.f_buyu4}}</td>
261
+ <td style="text-align:center"><nobr>{{row.f_shangmen_bv}}</nobr></td>
262
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
263
+ <td style="text-align:center"><nobr>{{row.f_wangcheng_bv}}</nobr></td>
264
+ <!--<td style="text-align: center;">-->
265
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
266
+ <!--</td>-->
267
+ </tr>
268
+ </template>
269
+ <template partial='foot'>
270
+ <td style="text-align: center" ><span><b>合计:</b></span></td>
271
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"></th>
272
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"></th>
273
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"></th>
274
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"></th>
275
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"></th>
276
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"></th>
277
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('department')"></th>
278
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"></th>
279
+ <td style="text-align: center">{{model.sums.f_plan_total}}</td>
280
+ <td style="text-align: center">{{model.sums.f_weishangmen}}</td>
281
+ <td style="text-align: center">{{model.sums.f_weijian}}</td>
282
+ <td style="text-align: center">{{model.sums.f_yishangmen}}</td>
283
+ <td style="text-align: center">{{model.sums.f_yijian}}</td>
284
+ <td style="text-align: center">{{model.sums.f_yiwancheng}}</td>
285
+ <td style="text-align: center">{{model.sums.f_ruhu}}</td>
286
+ <td style="text-align: center">{{model.sums.f_chaichu}}</td>
287
+ <td style="text-align: center">{{model.sums.f_tingyong}}</td>
288
+ <td style="text-align: center">{{model.sums.f_weitongqi}}</td>
289
+ <td style="text-align: center">{{model.sums.f_jujian}}</td>
290
+ <td style="text-align: center">{{model.sums.f_buyu}}</td>
291
+ <td style="text-align: center">{{model.sums.f_buyu2}}</td>
292
+ <td style="text-align: center">{{model.sums.f_buyu3}}</td>
293
+ <td style="text-align: center">{{model.sums.f_buyu4}}</td>
294
+ <td style="text-align: center">{{(parseFloat(model.sums.f_yishangmen) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
295
+ <td style="text-align: center">{{(parseFloat(model.sums.f_ruhu) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
296
+ <td style="text-align: center">{{(parseFloat(model.sums.f_yiwancheng) / parseFloat(model.sums.f_plan_total) * 100).toFixed(2) + '%'}}</td>
297
+
298
+ </template>
299
+ </data-grid>
300
+ </criteria-paged>
301
+ </div>
302
+ </template>
303
+
304
+ <script>
305
+ /**
306
+ *阶梯气价查询列表
307
+ */
308
+ import {PagedList} from 'vue-client'
309
+ import { HttpResetClass } from 'vue-client'
310
+ import XLSX from 'xlsx'
311
+ export default {
312
+ data () {
313
+ return {
314
+ model: new PagedList('rs/sql/getCheckPlanAreaList', 99999,{},{
315
+ f_plan_total:'',
316
+ f_weishangmen:'',
317
+ f_weijian:'',
318
+ f_yishangmen:'',
319
+ f_yijian:'',
320
+ f_yiwancheng:'',
321
+ f_ruhu:'',
322
+ f_chaichu:'',
323
+ f_tingyong:'',
324
+ f_weitongqi:'',
325
+ f_jujian:'',
326
+ f_buyu:'',
327
+ f_buyu2:'',
328
+ f_buyu3:'',
329
+ f_buyu4:'',
330
+ }),
331
+ // 公司下拉
332
+ curorgid: [this.$login.f.orgid],
333
+ row: {},
334
+ f_orgid: '',
335
+ nameForSql: [],
336
+ groupNameForSql: '',
337
+ listflag:false,
338
+ nameflag:false,
339
+ criteriaShow: false,
340
+ f_check_start:new Date().getFullYear() + '-01',
341
+ f_check_end:new Date().getFullYear() + '-12',
342
+ f_safe_start:'',
343
+ f_safe_end:'',
344
+ planName:[{label: '全部', value: ''}],
345
+ departments:[],
346
+ exportExcelField: {
347
+ f_plan_total:'计划总数',
348
+ f_weishangmen:'未上门',
349
+ f_weijian:'未安检',
350
+ f_yishangmen:'已上门',
351
+ f_yijian:'已安检',
352
+ f_yiwancheng:'已完成',
353
+ f_ruhu:'入户',
354
+ f_chaichu:'拆除',
355
+ f_tingyong:'停用',
356
+ f_weitongqi:'未通气',
357
+ f_jujian:'拒检',
358
+ f_buyu:'到访不遇1',
359
+ f_buyu2:'到访不遇2',
360
+ f_buyu3:'到访不遇3',
361
+ f_buyu4:'到访不遇3+',
362
+ f_shangmen_bv:'上门率',
363
+ f_check_bv:'安检率',
364
+ f_wangcheng_bv:'完成率'
365
+ }
366
+ }
367
+ },
368
+ props: {
369
+ row: {},
370
+ config: {},
371
+ ispartial: false,
372
+ f_filialeid: {
373
+ type: String
374
+ }
375
+ },
376
+ ready () {
377
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name','f_user_type','department']
378
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name','f_user_type,department'
379
+ this.pl()
380
+ this.dp()
381
+ // this.search()
382
+
383
+ },
384
+ methods: {
385
+ exportexcel(){
386
+ //tag
387
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
388
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
389
+ console.log(aa)
390
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
391
+ try {
392
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
393
+ } catch(e) {
394
+ //tag;
395
+ }
396
+ },
397
+ // 获取导出列
398
+ getexportExcelField(){
399
+ this.exportExcelField = {
400
+ f_plan_total:'计划总数',
401
+ f_weishangmen:'未上门',
402
+ f_weijian:'未安检',
403
+ f_yishangmen:'已上门',
404
+ f_yijian:'已安检',
405
+ f_yiwancheng:'已完成',
406
+ f_ruhu:'入户',
407
+ f_chaichu:'拆除',
408
+ f_tingyong:'停用',
409
+ f_weitongqi:'未通气',
410
+ f_jujian:'拒检',
411
+ f_buyu:'到访不遇1',
412
+ f_buyu2:'到访不遇2',
413
+ f_buyu3:'到访不遇3',
414
+ f_buyu4:'到访不遇3+',
415
+ f_shangmen_bv:'上门率',
416
+ f_check_bv:'安检率',
417
+ f_wangcheng_bv:'完成率'
418
+ }
419
+ let forName = this.groupNameForSql.split(",")
420
+ for (let i = 0; i < forName.length; i++) {
421
+ let ff = forName[i]
422
+ if (ff==='f_plan_month') {
423
+ this.exportExcelField.f_plan_month='计划月份'
424
+ }
425
+ if (ff==='f_no_checkplan') {
426
+ this.exportExcelField.f_no_checkplan='计划类型'
427
+ }
428
+ if (ff==='f_plan_name') {
429
+ this.exportExcelField.f_plan_name='计划名称'
430
+ }
431
+ if (ff==='f_checker_name') {
432
+ this.exportExcelField.f_checker_name='安检员'
433
+ }if (ff==='f_residential_area') {
434
+ this.exportExcelField.f_residential_area='小区名称'
435
+ }if (ff==='f_user_number') {
436
+ this.exportExcelField.f_user_number='档案数量'
437
+ }
438
+ }
439
+ },
440
+ pl() {
441
+ let getGasman = new HttpResetClass()
442
+ getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
443
+ data: {
444
+ items: "id,f_plan_name",
445
+ tablename: "t_check_plan",
446
+ condition: `f_filialeid = '${this.curorgid}'`,
447
+ orderitem: "id"
448
+ }
449
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
450
+ //tag
451
+ //tag
452
+ //tag
453
+ for (let i = 0; i < plne.data.length; i++) {
454
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
455
+ }
456
+ //tag
457
+ })
458
+ },
459
+ dp() {
460
+ let depnames = new HttpResetClass()
461
+ depnames.load('POST', `rs/sql/safe_singleTable_GroupBy`, {
462
+ data: {
463
+ items: " u.f_department_name ",
464
+ tablename: " t_check_plan cp left join t_user u on cp.f_checker_id=u.id ",
465
+ condition: `f_filialeid = '${this.curorgid}' and u.f_department_name is not null `,
466
+ groupitem: "u.f_department_name "
467
+ }
468
+ }, {resolveMsg: null, rejectMsg: null}).then((dpna) => {
469
+ //tag
470
+ //tag
471
+ //tag
472
+ for (let i = 0; i < dpna.data.length; i++) {
473
+ this.departments.push({label: dpna.data[i].f_department_name, value: dpna.data[i].f_department_name})
474
+ }
475
+ //tag
476
+ })
477
+ },
478
+ hiddenr() {
479
+ this.$parent.isdetail = !this.$parent.isdetail
480
+ },
481
+ hidden() {
482
+ this.criteriaShow = !this.criteriaShow
483
+ },
484
+ search () {
485
+ this.$refs.paged.$refs.cri.search()
486
+ this.$dispatch('search')
487
+ },
488
+ getorg (val) {
489
+ this.f_orgid = this.$login.convertToIn(val.resids)
490
+ this.f_filialeid = val[0]
491
+
492
+ },
493
+ selfSearch (args) {
494
+ if (!this.f_orgid) {
495
+ this.getorg([this.$login.f.orgid])
496
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
497
+ }
498
+ if (this.f_orgid) {
499
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
500
+ }
501
+ if(this.f_check_start && this.f_check_end){
502
+ if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
503
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
504
+ }else {
505
+ args.condition += ` and (
506
+ (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
507
+ or
508
+ ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
509
+ or
510
+ (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
511
+ }
512
+ } else {
513
+ if(this.f_check_start){
514
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
515
+ }
516
+ if(this.f_check_end){
517
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
518
+ }
519
+ }
520
+ if(this.f_safe_start && this.f_safe_end){
521
+ args.condition += `and ch.f_offsite_time >= '${this.f_safe_start}' and ch.f_offsite_time <= '${this.f_safe_end}' `
522
+ } else {
523
+ if(this.f_safe_start){
524
+ args.condition += ` and ch.f_offsite_time >='${this.f_safe_start}'`
525
+ }
526
+ if(this.f_safe_end){
527
+ args.condition += ` and ch.f_offsite_time <='${this.f_safe_end}'`
528
+ }
529
+ }
530
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
531
+ if (this.groupNameForSql=='undefined'){
532
+ //tag
533
+ this.$showMessage("请至少选择一项进行汇总")
534
+ return
535
+ }
536
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
537
+ this.model.search(args.condition, args.model)
538
+ },
539
+
540
+ // 拼接groupName1
541
+ getGroupName1 () {
542
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_user_type','department']
543
+ var newtemp=[]
544
+
545
+ for (var i=0;i<temp.length;i++){
546
+ for (var j=0;j<this.nameForSql.length;j++){
547
+ //tag
548
+ if(temp[i]==this.nameForSql[j]){
549
+ newtemp.push(this.nameForSql[j])
550
+ }
551
+ }
552
+ }
553
+ let str = ''
554
+
555
+ for (var i=0;i < newtemp.length - 1; i++) {
556
+ str += newtemp[i] + ','
557
+ }
558
+ str += newtemp[i]
559
+ this.groupNameForSql = str.trim()
560
+ }
561
+ },
562
+ watch: {
563
+ // 'nameForSql' () {
564
+ //
565
+ // this.getGroupName1()
566
+ // },
567
+ 'nameForSql' () {
568
+ var e = document.createEvent("MouseEvents");
569
+ e.initEvent("click", true, true);
570
+ document.getElementById("btnaaa").dispatchEvent(e);
571
+ },
572
+ 'model.rows'(){
573
+ //tag
574
+ if(this.listflag){
575
+ return;
576
+ }
577
+ this.listflag=true
578
+ //tag
579
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
580
+ var newtemp=[]
581
+ for (var i=0;i<temp.length;i++){
582
+ for (var j=0;j<this.nameForSql.length;j++){
583
+ //tag
584
+ if(temp[i]==this.nameForSql[j]){
585
+ newtemp.push(this.nameForSql[j])
586
+ }
587
+ }
588
+ }
589
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
590
+ return
591
+ }
592
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
593
+
594
+ //遍历查询结果 为指定列增加样式
595
+ for (var i=0;i<newtemp.length-1;i++){
596
+ if(newtemp[i]=='f_user_number'){
597
+ return;
598
+ }
599
+ //tag
600
+ var ss=''
601
+ for (var j=0;j<temp.length;j++){
602
+ if(j>0&&i>0){
603
+ var flag=false
604
+ for(var t=i-1;t>-1;t--){
605
+ //tag
606
+ //tag
607
+ //tag
608
+ //tag
609
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
610
+ flag=true
611
+ break
612
+ }
613
+ }
614
+ //tag
615
+ if(flag){
616
+ ss=temp[j][newtemp[i]]
617
+ continue
618
+ }
619
+ }
620
+ if(temp[j][newtemp[i]]==ss){
621
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
622
+ }else {
623
+ ss=temp[j][newtemp[i]]
624
+ }
625
+ }
626
+ }
627
+ //tag
628
+ this.model.rows=JSON.parse(JSON.stringify(temp))
629
+ }
630
+ },
631
+ computed:{
632
+ exportParameter(){
633
+ // excel 导出条件拼接
634
+ return {
635
+ condition: this.$refs.paged.model.condition,
636
+ groupName: this.groupNameForSql
637
+ }
638
+ },
639
+ excelStart () {
640
+ return this.$login.r.includes('安检员考核导出')
641
+ }
642
+ }
643
+ }
644
+ </script>
645
+
646
+ <style scoped>
647
+
648
+ .td-0{
649
+ border: 1px solid #000000;
650
+ }
651
+
652
+ .td-1{
653
+ border: none;
654
+ border-top: 1px solid #000000;
655
+ border-left: 1px solid #000000;
656
+ border-right: 1px solid #000000;
657
+ }
658
+
659
+ .td-2{
660
+ border: none;
661
+ border-left: 1px solid #000000;
662
+ border-right: 1px solid #000000;
663
+ }
664
+ .td-4{
665
+ border: none;
666
+ border-top: 1px solid #000000;
667
+ border-left: 1px solid #000000;
668
+ border-right: 1px solid #000000;
669
+ border-bottom: 1px solid #000000;
670
+ }
671
+ .td-3{
672
+ border: none;
673
+ border-left: 1px solid #000000;
674
+ border-right: 1px solid #000000;
675
+ border-bottom: 1px solid #000000;
676
+ }
677
+ </style>