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