safecheck-client 3.0.30-62-t9 → 3.0.30-62-t11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,495 +1,495 @@
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="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$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
- condition="f_checker_name like '%{}%'">
24
- </role-selector-safe>
25
- </div>
26
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
27
- <label class="font_normal_body">小区名称</label>
28
- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
29
- condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
30
- </div>
31
- <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
32
- <label class="font_normal_body">计划名称</label>
33
- <v-select class="select_list select"
34
- placeholder='计划名称' style="width: 60%"
35
- :search="true"
36
- v-model="model.f_plan_name"
37
- :value.sync="model.f_plan_name"
38
- :options='$parent.$parent.planName'
39
- condition="f_plan_id = '{}'"
40
- :value-single="true"
41
- close-on-select clear-button></v-select>
42
-
43
- </div>
44
- <!--<div :class="{
45
- 'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
46
- <label class="font_normal_body">安&ensp;检&ensp;员</label>
47
- <input type="text" class="input_search" style="width:60%" v-model="model.f_checker_name" placeholder='安检员'
48
- condition="f_checker_name like '%{}%'" v-next-el="cx" v-el:qjmc>
49
- </div>-->
50
- <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
51
- <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">
52
- <div class="span" style="float:right;">
53
- <div style="float: right;margin-left:10px" class="button_spacing"
54
- :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
55
- @click="$parent.$parent.hiddenr()"></div>
56
- <div class="button_spacing" style="float: right;margin-left:10px"
57
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
58
- @click="$parent.$parent.hidden()">
59
- </div>
60
- <!-- <export-excel :data="$parent.$parent.exportParameter"
61
- :field="$parent.$parent.exportExcelField"
62
- sqlurl="api/af-safecheck/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
63
- template-name='安检汇总' :choose-col="true">
64
- </export-excel>-->
65
- <button id="btnaaaa" style="float: right" class="button_search"
66
- @click="$parent.$parent.exportexcel()"
67
- v-el:cx>导出</button>
68
- <button id="btnaaa" style="float: right" class="button_search"
69
- @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
70
- v-el:cx>查询</button>
71
- </div>
72
- </div>
73
- <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">
74
- <label class="font_normal_body">起始时间</label>
75
- <datepicker
76
- :value.sync="$parent.$parent.f_check_start"
77
- placeholder='起始时间' style="width:60%"
78
- :disabled-days-of-week="[]"
79
- :format="'yyyy-MM'"
80
- :select-month="true"
81
- :show-rest-button="reset">
82
- </datepicker>
83
- </div>
84
- <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">
85
- <label class="font_normal_body">结束时间</label>
86
- <datepicker
87
- :value.sync="$parent.$parent.f_check_end"
88
- placeholder='结束时间' style="width:60%"
89
- :disabled-days-of-week="[]"
90
- :format="'yyyy-MM'"
91
- :select-month="true"
92
- :show-rest-button="reset">
93
- </datepicker>
94
- </div>
95
- </div>
96
- <div class="row">
97
- <div class="col-sm-12">
98
- <label class="control-label" style="color: #c7254e">汇 总 项</label>
99
- <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
100
- <label for="f_plan_month">计划月份</label>
101
- <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
102
- <label for="f_no_checkplan">计划类型</label>
103
- <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
104
- <label for="f_residential_area">小区名称</label>
105
- <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
106
- <label for="f_plan_name">计划名称</label>
107
- <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
108
- <label for="f_checker_name">安检员</label>
109
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
110
- <label for="f_checker_name">档案数量</label>
111
- <label style="float: right">计划用户数:{{$parent.$parent.plan_num}}</label>
112
- <label style="float: right">已检数:{{$parent.$parent.yes_safe_num}}</label>
113
- <label style="float: right">未检数:{{$parent.$parent.no_safe_num}}</label>
114
- </div>
115
- </div>
116
- </div>
117
-
118
- </criteria>
119
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="excelid">
120
- <template partial='head'>
121
- <tr>
122
- <th>
123
- <nobr>序号</nobr>
124
- </th>
125
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
126
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
127
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
128
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
129
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
130
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
131
- <th>
132
- <nobr>计划总数</nobr>
133
- </th>
134
- <th>
135
- <nobr>未检</nobr>
136
- </th>
137
- <th>
138
- <nobr>已检</nobr>
139
- </th>
140
- <th>
141
- <nobr>入户</nobr>
142
- </th>
143
- <th>
144
- <nobr>到访不遇</nobr>
145
- </th>
146
- <th>
147
- <nobr>拒检</nobr>
148
- </th>
149
- <th>
150
- <nobr>安检率</nobr>
151
- </th>
152
- <!--<th>-->
153
- <!--<nobr>查看</nobr>-->
154
- <!--</th>-->
155
- </tr>
156
- </template>
157
- <template partial='body'>
158
- <tr>
159
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
160
- <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':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>
161
- <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':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>
162
- <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':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>
163
- <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':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>
164
- <td style="text-align:center" :class="{'td-0':row.f_checker_name==undefined,'td-1':model.rows.length!=($index+1)&&row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows.length==($index+1)&&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
165
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
166
- <td style="text-align:center">{{row.f_plan_total}}</td>
167
- <td style="text-align:center">{{row.f_weijian}}</td>
168
- <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
169
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
170
- <td style="text-align:center">{{row.f_buyu}}</td>
171
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
172
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
173
- <!--<td style="text-align: center;">-->
174
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
175
- <!--</td>-->
176
- </tr>
177
- </template>
178
- <template partial='foot'></template>
179
- </data-grid>
180
- </criteria-paged>
181
- </div>
182
- </template>
183
-
184
- <script>
185
- /**
186
- *阶梯气价查询列表
187
- */
188
- import {PagedList} from 'vue-client'
189
- import { HttpResetClass } from 'vue-client'
190
- import XLSX from "xlsx";
191
- export default {
192
- data () {
193
- return {
194
- model: new PagedList('api/af-safecheck/sql/getCheckPlanAreaList', 99999),
195
- // 公司下拉
196
- curorgid: [this.$login.f.orgid],
197
- row: {},
198
- f_orgid: '',
199
- nameForSql: [],
200
- groupNameForSql: '',
201
- listflag:false,
202
- nameflag:false,
203
- criteriaShow: false,
204
- plan_num:0,
205
- yes_safe_num:0,
206
- no_safe_num:0,
207
- f_check_start:'',
208
- f_check_end:'',
209
- planName:[{label: '全部', value: ''}],
210
- exportExcelField: {
211
- 'f_weijian':'未检',
212
- 'f_yijian':'已检',
213
- 'f_ruhu':'入户',
214
- 'f_buyu':'到访不遇',
215
- 'f_jujian':'拒检',
216
- 'f_check_bv':'安检率'
217
- }
218
- }
219
- },
220
- props: {
221
- row: {},
222
- config: {},
223
- ispartial: false,
224
- f_filialeid: {
225
- type: String
226
- }
227
- },
228
- ready () {
229
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
230
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
231
- this.pl()
232
- this.search()
233
-
234
- },
235
- methods: {
236
- exportexcel(){
237
- //tag
238
- // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
239
- let workbook = XLSX.utils.table_to_book(document.getElementById('excelid'))
240
- try {
241
- XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
242
- } catch(e) {
243
- //tag;
244
- }
245
- },
246
- // 获取导出列
247
- getexportExcelField(){
248
- this.exportExcelField = {
249
- 'f_weijian':'未检',
250
- 'f_yijian':'已检',
251
- 'f_ruhu':'入户',
252
- 'f_buyu':'到访不遇',
253
- 'f_jujian':'拒检',
254
- 'f_check_bv':'安检率',
255
- 'f_plan_total':'计划总数'
256
- }
257
- let forName = this.groupNameForSql.split(",")
258
- for (let i = 0; i < forName.length; i++) {
259
- let ff = forName[i]
260
- if (ff==='f_plan_month') {
261
- this.exportExcelField.f_plan_month='计划月份'
262
- }
263
- if (ff==='f_no_checkplan') {
264
- this.exportExcelField.f_checker_name='计划类型'
265
- }
266
- if (ff==='f_plan_name') {
267
- this.exportExcelField.f_plan_name='计划名称'
268
- }
269
- if (ff==='f_checker_name') {
270
- this.exportExcelField.f_checker_name='安检员'
271
- }if (ff==='f_residential_area') {
272
- this.exportExcelField.f_checker_name='小区名称'
273
- }if (ff==='f_user_number') {
274
- this.exportExcelField.f_checker_name='档案数量'
275
- }
276
- }
277
- },
278
- pl() {
279
- let getGasman = new HttpResetClass()
280
- getGasman.load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
281
- data: {
282
- items: "id,f_plan_name",
283
- tablename: "t_check_plan",
284
- condition: `f_filialeid = '${this.curorgid}'`,
285
- orderitem: "id"
286
- }
287
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
288
- //tag
289
- //tag
290
- //tag
291
- for (let i = 0; i < plne.data.length; i++) {
292
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
293
- }
294
- //tag
295
- })
296
- },
297
- hiddenr() {
298
- this.$parent.isdetail = !this.$parent.isdetail
299
- },
300
- hidden() {
301
- this.criteriaShow = !this.criteriaShow
302
- },
303
- search () {
304
- this.$refs.paged.$refs.cri.search()
305
- this.$dispatch('search')
306
- },
307
- getorg (val) {
308
- this.f_orgid = this.$login.convertToIn(val)
309
- this.f_filialeid = val[0]
310
-
311
- },
312
- selfSearch (args) {
313
- if (!this.f_orgid) {
314
- this.getorg([this.$login.f.orgid])
315
- }
316
- let condition = '1=1'
317
- if (this.f_orgid) {
318
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
319
- condition += ` and tcpi.f_filialeid in ${this.f_orgid}`
320
- }
321
- if(this.f_check_start){
322
- condition += ` and f_plan_year>=${new Date(this.f_check_start).getFullYear()} and f_plan_month>=${new Date(this.f_check_start).getMonth()+1} `
323
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
324
- }
325
- if(this.f_check_end){
326
- condition += ` and f_plan_year<=${new Date(this.f_check_end).getFullYear()} and f_plan_month<=${new Date(this.f_check_end).getMonth()+1} `
327
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
328
- }
329
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
330
- if (this.groupNameForSql=='undefined'){
331
- //tag
332
- this.$showMessage("请至少选择一项进行汇总")
333
- return
334
- }
335
- if (args.model.f_residential_area){
336
- condition += ` and tcpi.f_residential_area like '%${args.model.f_residential_area}%'`
337
- }
338
- if (args.model.f_plan_name){
339
- condition += ` and tcp.id = '${args.model.f_plan_name}'`
340
- }
341
- this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
342
- this.model.search(args.condition, args.model)
343
- this.initNum(condition)
344
- },
345
- initNum(condition){
346
- new HttpResetClass().load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
347
- data: {
348
- items: "count(0) as num,sum(case when f_state = '已检' then 1 else 0 end) as yj,sum(case when f_state = '未检' then 1 else 0 end) as wj",
349
- tablename: "t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id",
350
- condition: `${condition}`,
351
- orderitem: "1"
352
- }
353
- }, {resolveMsg: null, rejectMsg: null}).then(response=>{
354
- this.plan_num = response.data[0].num || 0
355
- this.yes_safe_num = response.data[0].yj || 0
356
- this.no_safe_num = response.data[0].wj || 0
357
- }).catch(error=>{
358
- debugger
359
- })
360
- },
361
- // 拼接groupName1
362
- getGroupName1 () {
363
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
364
- var newtemp=[]
365
-
366
- for (var i=0;i<temp.length;i++){
367
- for (var j=0;j<this.nameForSql.length;j++){
368
- //tag
369
- if(temp[i]==this.nameForSql[j]){
370
- newtemp.push(this.nameForSql[j])
371
- }
372
- }
373
- }
374
- let str = ''
375
-
376
- for (var i=0;i < newtemp.length - 1; i++) {
377
- str += newtemp[i] + ','
378
- }
379
- str += newtemp[i]
380
- this.groupNameForSql = str.trim()
381
- }
382
- },
383
- watch: {
384
- // 'nameForSql' () {
385
- //
386
- // this.getGroupName1()
387
- // },
388
- 'nameForSql' () {
389
- var e = document.createEvent("MouseEvents");
390
- e.initEvent("click", true, true);
391
- document.getElementById("btnaaa").dispatchEvent(e);
392
- },
393
- 'model.rows'(){
394
- //tag
395
- if(this.listflag){
396
- return;
397
- }
398
- this.listflag=true
399
- //tag
400
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
401
- var newtemp=[]
402
- for (var i=0;i<temp.length;i++){
403
- for (var j=0;j<this.nameForSql.length;j++){
404
- //tag
405
- if(temp[i]==this.nameForSql[j]){
406
- newtemp.push(this.nameForSql[j])
407
- }
408
- }
409
- }
410
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
411
- return
412
- }
413
- var temp=JSON.parse(JSON.stringify(this.model.rows))
414
-
415
- //遍历查询结果 为指定列增加样式
416
- for (var i=0;i<newtemp.length-1;i++){
417
- if(newtemp[i]=='f_user_number'){
418
- return;
419
- }
420
- //tag
421
- var ss=''
422
- for (var j=0;j<temp.length;j++){
423
- if(j>0&&i>0){
424
- var flag=false
425
- for(var t=i-1;t>-1;t--){
426
- //tag
427
- //tag
428
- //tag
429
- //tag
430
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&temp[j][newtemp[t]].indexOf('*&')==-1){
431
- flag=true
432
- break
433
- }
434
- }
435
- //tag
436
- if(flag){
437
- ss=temp[j][newtemp[i]]
438
- continue
439
- }
440
- }
441
- if(temp[j][newtemp[i]]==ss){
442
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
443
- }else {
444
- ss=temp[j][newtemp[i]]
445
- }
446
- }
447
- }
448
- //tag
449
- this.model.rows=JSON.parse(JSON.stringify(temp))
450
- }
451
- },
452
- computed:{
453
- exportParameter(){
454
- // excel 导出条件拼接
455
- return {
456
- condition: this.$refs.paged.model.condition,
457
- groupName: this.groupNameForSql
458
- }
459
- }
460
- }
461
- }
462
- </script>
463
-
464
- <style scoped>
465
-
466
- .td-0{
467
- border: 1px solid #000000;
468
- }
469
-
470
- .td-1{
471
- border: none;
472
- border-top: 1px solid #000000;
473
- border-left: 1px solid #000000;
474
- border-right: 1px solid #000000;
475
- }
476
-
477
- .td-2{
478
- border: none;
479
- border-left: 1px solid #000000;
480
- border-right: 1px solid #000000;
481
- }
482
- .td-4{
483
- border: none;
484
- border-top: 1px solid #000000;
485
- border-left: 1px solid #000000;
486
- border-right: 1px solid #000000;
487
- border-bottom: 1px solid #000000;
488
- }
489
- .td-3{
490
- border: none;
491
- border-left: 1px solid #000000;
492
- border-right: 1px solid #000000;
493
- border-bottom: 1px solid #000000;
494
- }
495
- </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="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$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
+ condition="f_checker_name like '%{}%'">
24
+ </role-selector-safe>
25
+ </div>
26
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
27
+ <label class="font_normal_body">小区名称</label>
28
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
29
+ condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
30
+ </div>
31
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
32
+ <label class="font_normal_body">计划名称</label>
33
+ <v-select class="select_list select"
34
+ placeholder='计划名称' style="width: 60%"
35
+ :search="true"
36
+ v-model="model.f_plan_name"
37
+ :value.sync="model.f_plan_name"
38
+ :options='$parent.$parent.planName'
39
+ condition="f_plan_id = '{}'"
40
+ :value-single="true"
41
+ close-on-select clear-button></v-select>
42
+
43
+ </div>
44
+ <!--<div :class="{
45
+ 'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
46
+ <label class="font_normal_body">安&ensp;检&ensp;员</label>
47
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_checker_name" placeholder='安检员'
48
+ condition="f_checker_name like '%{}%'" v-next-el="cx" v-el:qjmc>
49
+ </div>-->
50
+ <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
51
+ <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">
52
+ <div class="span" style="float:right;">
53
+ <div style="float: right;margin-left:10px" class="button_spacing"
54
+ :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
55
+ @click="$parent.$parent.hiddenr()"></div>
56
+ <div class="button_spacing" style="float: right;margin-left:10px"
57
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
58
+ @click="$parent.$parent.hidden()">
59
+ </div>
60
+ <!-- <export-excel :data="$parent.$parent.exportParameter"
61
+ :field="$parent.$parent.exportExcelField"
62
+ sqlurl="api/af-safecheck/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
63
+ template-name='安检汇总' :choose-col="true">
64
+ </export-excel>-->
65
+ <button id="btnaaaa" style="float: right" class="button_search"
66
+ @click="$parent.$parent.exportexcel()"
67
+ v-el:cx>导出</button>
68
+ <button id="btnaaa" style="float: right" class="button_search"
69
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
70
+ v-el:cx>查询</button>
71
+ </div>
72
+ </div>
73
+ <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">
74
+ <label class="font_normal_body">起始时间</label>
75
+ <datepicker
76
+ :value.sync="$parent.$parent.f_check_start"
77
+ placeholder='起始时间' style="width:60%"
78
+ :disabled-days-of-week="[]"
79
+ :format="'yyyy-MM'"
80
+ :select-month="true"
81
+ :show-rest-button="reset">
82
+ </datepicker>
83
+ </div>
84
+ <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">
85
+ <label class="font_normal_body">结束时间</label>
86
+ <datepicker
87
+ :value.sync="$parent.$parent.f_check_end"
88
+ placeholder='结束时间' style="width:60%"
89
+ :disabled-days-of-week="[]"
90
+ :format="'yyyy-MM'"
91
+ :select-month="true"
92
+ :show-rest-button="reset">
93
+ </datepicker>
94
+ </div>
95
+ </div>
96
+ <div class="row">
97
+ <div class="col-sm-12">
98
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
99
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
100
+ <label for="f_plan_month">计划月份</label>
101
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
102
+ <label for="f_no_checkplan">计划类型</label>
103
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
104
+ <label for="f_residential_area">小区名称</label>
105
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
106
+ <label for="f_plan_name">计划名称</label>
107
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
108
+ <label for="f_checker_name">安检员</label>
109
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
110
+ <label for="f_checker_name">档案数量</label>
111
+ <label style="float: right">计划用户数:{{$parent.$parent.plan_num}}</label>
112
+ <label style="float: right">已检数:{{$parent.$parent.yes_safe_num}}</label>
113
+ <label style="float: right">未检数:{{$parent.$parent.no_safe_num}}</label>
114
+ </div>
115
+ </div>
116
+ </div>
117
+
118
+ </criteria>
119
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="excelid">
120
+ <template partial='head'>
121
+ <tr>
122
+ <th>
123
+ <nobr>序号</nobr>
124
+ </th>
125
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
126
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
127
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
128
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
129
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
130
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
131
+ <th>
132
+ <nobr>计划总数</nobr>
133
+ </th>
134
+ <th>
135
+ <nobr>未检</nobr>
136
+ </th>
137
+ <th>
138
+ <nobr>已检</nobr>
139
+ </th>
140
+ <th>
141
+ <nobr>入户</nobr>
142
+ </th>
143
+ <th>
144
+ <nobr>到访不遇</nobr>
145
+ </th>
146
+ <th>
147
+ <nobr>拒检</nobr>
148
+ </th>
149
+ <th>
150
+ <nobr>安检率</nobr>
151
+ </th>
152
+ <!--<th>-->
153
+ <!--<nobr>查看</nobr>-->
154
+ <!--</th>-->
155
+ </tr>
156
+ </template>
157
+ <template partial='body'>
158
+ <tr>
159
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
160
+ <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':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>
161
+ <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':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>
162
+ <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':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>
163
+ <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':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>
164
+ <td style="text-align:center" :class="{'td-0':row.f_checker_name==undefined,'td-1':model.rows.length!=($index+1)&&row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows.length!=($index+1)&&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows.length==($index+1)&&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows.length==($index+1)&&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
165
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
166
+ <td style="text-align:center">{{row.f_plan_total}}</td>
167
+ <td style="text-align:center">{{row.f_weijian}}</td>
168
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
169
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
170
+ <td style="text-align:center">{{row.f_buyu}}</td>
171
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
172
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
173
+ <!--<td style="text-align: center;">-->
174
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
175
+ <!--</td>-->
176
+ </tr>
177
+ </template>
178
+ <template partial='foot'></template>
179
+ </data-grid>
180
+ </criteria-paged>
181
+ </div>
182
+ </template>
183
+
184
+ <script>
185
+ /**
186
+ *阶梯气价查询列表
187
+ */
188
+ import {PagedList} from 'vue-client'
189
+ import { HttpResetClass } from 'vue-client'
190
+ import XLSX from "xlsx";
191
+ export default {
192
+ data () {
193
+ return {
194
+ model: new PagedList('api/af-safecheck/sql/getCheckPlanAreaList', 99999),
195
+ // 公司下拉
196
+ curorgid: [this.$login.f.orgid],
197
+ row: {},
198
+ f_orgid: '',
199
+ nameForSql: [],
200
+ groupNameForSql: '',
201
+ listflag:false,
202
+ nameflag:false,
203
+ criteriaShow: false,
204
+ plan_num:0,
205
+ yes_safe_num:0,
206
+ no_safe_num:0,
207
+ f_check_start:'',
208
+ f_check_end:'',
209
+ planName:[{label: '全部', value: ''}],
210
+ exportExcelField: {
211
+ 'f_weijian':'未检',
212
+ 'f_yijian':'已检',
213
+ 'f_ruhu':'入户',
214
+ 'f_buyu':'到访不遇',
215
+ 'f_jujian':'拒检',
216
+ 'f_check_bv':'安检率'
217
+ }
218
+ }
219
+ },
220
+ props: {
221
+ row: {},
222
+ config: {},
223
+ ispartial: false,
224
+ f_filialeid: {
225
+ type: String
226
+ }
227
+ },
228
+ ready () {
229
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
230
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
231
+ this.pl()
232
+ this.search()
233
+
234
+ },
235
+ methods: {
236
+ exportexcel(){
237
+ //tag
238
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
239
+ let workbook = XLSX.utils.table_to_book(document.getElementById('excelid'))
240
+ try {
241
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
242
+ } catch(e) {
243
+ //tag;
244
+ }
245
+ },
246
+ // 获取导出列
247
+ getexportExcelField(){
248
+ this.exportExcelField = {
249
+ 'f_weijian':'未检',
250
+ 'f_yijian':'已检',
251
+ 'f_ruhu':'入户',
252
+ 'f_buyu':'到访不遇',
253
+ 'f_jujian':'拒检',
254
+ 'f_check_bv':'安检率',
255
+ 'f_plan_total':'计划总数'
256
+ }
257
+ let forName = this.groupNameForSql.split(",")
258
+ for (let i = 0; i < forName.length; i++) {
259
+ let ff = forName[i]
260
+ if (ff==='f_plan_month') {
261
+ this.exportExcelField.f_plan_month='计划月份'
262
+ }
263
+ if (ff==='f_no_checkplan') {
264
+ this.exportExcelField.f_checker_name='计划类型'
265
+ }
266
+ if (ff==='f_plan_name') {
267
+ this.exportExcelField.f_plan_name='计划名称'
268
+ }
269
+ if (ff==='f_checker_name') {
270
+ this.exportExcelField.f_checker_name='安检员'
271
+ }if (ff==='f_residential_area') {
272
+ this.exportExcelField.f_checker_name='小区名称'
273
+ }if (ff==='f_user_number') {
274
+ this.exportExcelField.f_checker_name='档案数量'
275
+ }
276
+ }
277
+ },
278
+ pl() {
279
+ let getGasman = new HttpResetClass()
280
+ getGasman.load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
281
+ data: {
282
+ items: "id,f_plan_name",
283
+ tablename: "t_check_plan",
284
+ condition: `f_filialeid = '${this.curorgid}'`,
285
+ orderitem: "id"
286
+ }
287
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
288
+ //tag
289
+ //tag
290
+ //tag
291
+ for (let i = 0; i < plne.data.length; i++) {
292
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
293
+ }
294
+ //tag
295
+ })
296
+ },
297
+ hiddenr() {
298
+ this.$parent.isdetail = !this.$parent.isdetail
299
+ },
300
+ hidden() {
301
+ this.criteriaShow = !this.criteriaShow
302
+ },
303
+ search () {
304
+ this.$refs.paged.$refs.cri.search()
305
+ this.$dispatch('search')
306
+ },
307
+ getorg (val) {
308
+ this.f_orgid = this.$login.convertToIn(val)
309
+ this.f_filialeid = val[0]
310
+
311
+ },
312
+ selfSearch (args) {
313
+ if (!this.f_orgid) {
314
+ this.getorg([this.$login.f.orgid])
315
+ }
316
+ let condition = '1=1'
317
+ if (this.f_orgid) {
318
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
319
+ condition += ` and tcpi.f_filialeid in ${this.f_orgid}`
320
+ }
321
+ if(this.f_check_start){
322
+ condition += ` and f_plan_year>=${new Date(this.f_check_start).getFullYear()} and f_plan_month>=${new Date(this.f_check_start).getMonth()+1} `
323
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
324
+ }
325
+ if(this.f_check_end){
326
+ condition += ` and f_plan_year<=${new Date(this.f_check_end).getFullYear()} and f_plan_month<=${new Date(this.f_check_end).getMonth()+1} `
327
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
328
+ }
329
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
330
+ if (this.groupNameForSql=='undefined'){
331
+ //tag
332
+ this.$showMessage("请至少选择一项进行汇总")
333
+ return
334
+ }
335
+ if (args.model.f_residential_area){
336
+ condition += ` and tcpi.f_residential_area like '%${args.model.f_residential_area}%'`
337
+ }
338
+ if (args.model.f_plan_name){
339
+ condition += ` and tcp.id = '${args.model.f_plan_name}'`
340
+ }
341
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
342
+ this.model.search(args.condition, args.model)
343
+ this.initNum(condition)
344
+ },
345
+ initNum(condition){
346
+ new HttpResetClass().load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
347
+ data: {
348
+ items: "count(0) as num,sum(case when f_state = '已检' then 1 else 0 end) as yj,sum(case when f_state = '未检' then 1 else 0 end) as wj",
349
+ tablename: "t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id",
350
+ condition: `${condition}`,
351
+ orderitem: "1"
352
+ }
353
+ }, {resolveMsg: null, rejectMsg: null}).then(response=>{
354
+ this.plan_num = response.data[0].num || 0
355
+ this.yes_safe_num = response.data[0].yj || 0
356
+ this.no_safe_num = response.data[0].wj || 0
357
+ }).catch(error=>{
358
+ debugger
359
+ })
360
+ },
361
+ // 拼接groupName1
362
+ getGroupName1 () {
363
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
364
+ var newtemp=[]
365
+
366
+ for (var i=0;i<temp.length;i++){
367
+ for (var j=0;j<this.nameForSql.length;j++){
368
+ //tag
369
+ if(temp[i]==this.nameForSql[j]){
370
+ newtemp.push(this.nameForSql[j])
371
+ }
372
+ }
373
+ }
374
+ let str = ''
375
+
376
+ for (var i=0;i < newtemp.length - 1; i++) {
377
+ str += newtemp[i] + ','
378
+ }
379
+ str += newtemp[i]
380
+ this.groupNameForSql = str.trim()
381
+ }
382
+ },
383
+ watch: {
384
+ // 'nameForSql' () {
385
+ //
386
+ // this.getGroupName1()
387
+ // },
388
+ 'nameForSql' () {
389
+ var e = document.createEvent("MouseEvents");
390
+ e.initEvent("click", true, true);
391
+ document.getElementById("btnaaa").dispatchEvent(e);
392
+ },
393
+ 'model.rows'(){
394
+ //tag
395
+ if(this.listflag){
396
+ return;
397
+ }
398
+ this.listflag=true
399
+ //tag
400
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
401
+ var newtemp=[]
402
+ for (var i=0;i<temp.length;i++){
403
+ for (var j=0;j<this.nameForSql.length;j++){
404
+ //tag
405
+ if(temp[i]==this.nameForSql[j]){
406
+ newtemp.push(this.nameForSql[j])
407
+ }
408
+ }
409
+ }
410
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
411
+ return
412
+ }
413
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
414
+
415
+ //遍历查询结果 为指定列增加样式
416
+ for (var i=0;i<newtemp.length-1;i++){
417
+ if(newtemp[i]=='f_user_number'){
418
+ return;
419
+ }
420
+ //tag
421
+ var ss=''
422
+ for (var j=0;j<temp.length;j++){
423
+ if(j>0&&i>0){
424
+ var flag=false
425
+ for(var t=i-1;t>-1;t--){
426
+ //tag
427
+ //tag
428
+ //tag
429
+ //tag
430
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&temp[j][newtemp[t]].indexOf('*&')==-1){
431
+ flag=true
432
+ break
433
+ }
434
+ }
435
+ //tag
436
+ if(flag){
437
+ ss=temp[j][newtemp[i]]
438
+ continue
439
+ }
440
+ }
441
+ if(temp[j][newtemp[i]]==ss){
442
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
443
+ }else {
444
+ ss=temp[j][newtemp[i]]
445
+ }
446
+ }
447
+ }
448
+ //tag
449
+ this.model.rows=JSON.parse(JSON.stringify(temp))
450
+ }
451
+ },
452
+ computed:{
453
+ exportParameter(){
454
+ // excel 导出条件拼接
455
+ return {
456
+ condition: this.$refs.paged.model.condition,
457
+ groupName: this.groupNameForSql
458
+ }
459
+ }
460
+ }
461
+ }
462
+ </script>
463
+
464
+ <style scoped>
465
+
466
+ .td-0{
467
+ border: 1px solid #000000;
468
+ }
469
+
470
+ .td-1{
471
+ border: none;
472
+ border-top: 1px solid #000000;
473
+ border-left: 1px solid #000000;
474
+ border-right: 1px solid #000000;
475
+ }
476
+
477
+ .td-2{
478
+ border: none;
479
+ border-left: 1px solid #000000;
480
+ border-right: 1px solid #000000;
481
+ }
482
+ .td-4{
483
+ border: none;
484
+ border-top: 1px solid #000000;
485
+ border-left: 1px solid #000000;
486
+ border-right: 1px solid #000000;
487
+ border-bottom: 1px solid #000000;
488
+ }
489
+ .td-3{
490
+ border: none;
491
+ border-left: 1px solid #000000;
492
+ border-right: 1px solid #000000;
493
+ border-bottom: 1px solid #000000;
494
+ }
495
+ </style>