safecheck-client 3.0.34-50 → 3.0.34-52

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,512 +1,512 @@
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
- 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-safe :data="$parent.$parent.exportParameter"
61
- :field="$parent.$parent.exportExcelField"
62
- sqlurl="rs/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
63
- template-name='安检汇总' :choose-col="true">
64
- </export-excel-safe>-->
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 :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
96
- <label class="font_normal_body">安&ensp;检&ensp;率</label>
97
- <input type="number" class="input_search" style="width:30%" v-model="model.f_check_bv_start" placeholder='安检率'
98
- v-next-el="cx" v-el:qjmc>-
99
- <input type="number" class="input_search" style="width:30%" v-model="model.f_check_bv_end" placeholder='安检率'
100
- v-next-el="cx" v-el:qjmc>
101
- </div>
102
- <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">
103
- <label class="font_normal_body">入&ensp;户&ensp;率</label>
104
- <input type="number" class="input_search" style="width:30%" v-model="model.f_ruhu_bv_start" placeholder='入户率'
105
- v-next-el="cx" v-el:qjmc>-
106
- <input type="number" class="input_search" style="width:30%" v-model="model.f_ruhu_bv_end" placeholder='入户率'
107
- v-next-el="cx" v-el:qjmc>
108
- </div>
109
- </div>
110
- <div class="row">
111
- <div class="col-sm-12">
112
- <label class="control-label" style="color: #c7254e">汇 总 项</label>
113
- <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
114
- <label for="f_plan_month">计划月份</label>
115
- <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
116
- <label for="f_no_checkplan">计划类型</label>
117
- <input type="checkbox" id="f_slice_area" value="f_slice_area" v-model="$parent.$parent.nameForSql"/>
118
- <label for="f_slice_area">站点</label>
119
- <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
120
- <label for="f_residential_area">小区名称</label>
121
- <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
122
- <label for="f_plan_name">计划名称</label>
123
- <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
124
- <label for="f_checker_name">安检员</label>
125
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
126
- <label for="f_checker_name">档案数量</label>
127
- </div>
128
- </div>
129
- </div>
130
-
131
- </criteria>
132
- <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
133
- <template partial='head'>
134
- <tr>
135
- <th>
136
- <nobr>序号</nobr>
137
- </th>
138
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
139
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
140
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_slice_area')"><nobr>站点</nobr></th>
141
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
142
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
143
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
144
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
145
- <th>
146
- <nobr>计划总数</nobr>
147
- </th>
148
- <th>
149
- <nobr>未检</nobr>
150
- </th>
151
- <th>
152
- <nobr>已检</nobr>
153
- </th>
154
- <th>
155
- <nobr>入户</nobr>
156
- </th>
157
- <th>
158
- <nobr>到访不遇</nobr>
159
- </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
- </tr>
173
- </template>
174
- <template partial='body'>
175
- <tr>
176
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
177
- <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>
178
- <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>
179
- <td style="text-align:center" :class="{'td-0':row.f_slice_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_slice_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_slice_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_slice_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_slice_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_slice_area')">{{row.f_slice_area.indexOf('*&')!=-1?'':row.f_slice_area}}</td>
180
- <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>
181
- <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>
182
- <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>
183
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
184
- <td style="text-align:center">{{row.f_plan_total}}</td>
185
- <td style="text-align:center">{{row.f_weijian}}</td>
186
- <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
187
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
188
- <td style="text-align:center">{{row.f_buyu}}</td>
189
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
190
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
191
- <td style="text-align:center"><nobr>{{row.f_ruhu_bv}}</nobr></td>
192
- <!--<td style="text-align: center;">-->
193
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
194
- <!--</td>-->
195
- </tr>
196
- </template>
197
- <template partial='foot'></template>
198
- </data-grid>
199
- </criteria-paged>
200
- </div>
201
- </template>
202
-
203
- <script>
204
- /**
205
- *阶梯气价查询列表
206
- */
207
- import {PagedList} from 'vue-client'
208
- import { HttpResetClass } from 'vue-client'
209
- import XLSX from 'xlsx'
210
- export default {
211
- data () {
212
- return {
213
- model: new PagedList('rs/sql/getCheckPlanAreaList', 99999),
214
- // 公司下拉
215
- curorgid: [this.$login.f.orgid],
216
- row: {},
217
- f_orgid: '',
218
- nameForSql: [],
219
- groupNameForSql: '',
220
- listflag:false,
221
- nameflag:false,
222
- criteriaShow: false,
223
- f_check_start:new Date().getFullYear() + '-01',
224
- f_check_end:new Date().getFullYear() + '-12',
225
- planName:[{label: '全部', value: ''}],
226
- exportExcelField: {
227
- 'f_weijian':'未检',
228
- 'f_yijian':'已检',
229
- 'f_ruhu':'入户',
230
- 'f_buyu':'到访不遇',
231
- 'f_jujian':'拒检',
232
- 'f_check_bv':'安检率',
233
- 'f_ruhu_bv':'入户率',
234
- }
235
- }
236
- },
237
- props: {
238
- row: {},
239
- config: {},
240
- ispartial: false,
241
- f_filialeid: {
242
- type: String
243
- }
244
- },
245
- ready () {
246
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
247
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
248
- this.pl()
249
- // this.search()
250
-
251
- },
252
- methods: {
253
- exportexcel(){
254
- //tag
255
- // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
256
- const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
257
- console.log(aa)
258
- let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
259
- try {
260
- XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
261
- } catch(e) {
262
- //tag;
263
- }
264
- },
265
- // 获取导出列
266
- getexportExcelField(){
267
- this.exportExcelField = {
268
- 'f_weijian':'未检',
269
- 'f_yijian':'已检',
270
- 'f_ruhu':'入户',
271
- 'f_buyu':'到访不遇',
272
- 'f_jujian':'拒检',
273
- 'f_check_bv':'安检率',
274
- 'f_ruhu_bv':'入户率',
275
- 'f_plan_total':'计划总数'
276
- }
277
- let forName = this.groupNameForSql.split(",")
278
- for (let i = 0; i < forName.length; i++) {
279
- let ff = forName[i]
280
- if (ff==='f_plan_month') {
281
- this.exportExcelField.f_plan_month='计划月份'
282
- }
283
- if (ff==='f_no_checkplan') {
284
- this.exportExcelField.f_no_checkplan='计划类型'
285
- }
286
- if (ff==='f_plan_name') {
287
- this.exportExcelField.f_plan_name='计划名称'
288
- }
289
- if (ff==='f_checker_name') {
290
- this.exportExcelField.f_checker_name='安检员'
291
- }if (ff==='f_residential_area') {
292
- this.exportExcelField.f_residential_area='小区名称'
293
- }if (ff==='f_user_number') {
294
- this.exportExcelField.f_user_number='档案数量'
295
- }if (ff==='f_slice_area') {
296
- this.exportExcelField.f_slice_area='站点'
297
- }
298
- }
299
- },
300
- pl() {
301
- let getGasman = new HttpResetClass()
302
- getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
303
- data: {
304
- items: "id,f_plan_name",
305
- tablename: "t_check_plan",
306
- condition: `f_filialeid = '${this.curorgid}'`,
307
- orderitem: "id"
308
- }
309
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
310
- //tag
311
- //tag
312
- //tag
313
- for (let i = 0; i < plne.data.length; i++) {
314
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
315
- }
316
- //tag
317
- })
318
- },
319
- hiddenr() {
320
- this.$parent.isdetail = !this.$parent.isdetail
321
- },
322
- hidden() {
323
- this.criteriaShow = !this.criteriaShow
324
- },
325
- search () {
326
- this.$refs.paged.$refs.cri.search()
327
- this.$dispatch('search')
328
- },
329
- getorg (val) {
330
- this.f_orgid = this.$login.convertToIn(val.resids)
331
- this.f_filialeid = val[0]
332
-
333
- },
334
- selfSearch (args) {
335
- if (!this.f_orgid) {
336
- this.getorg([this.$login.f.orgid])
337
- args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
338
- }
339
- if (this.f_orgid) {
340
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
341
- }
342
- if(this.f_check_start && this.f_check_end){
343
- if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
344
- 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}`
345
- }else {
346
- args.condition += ` and (
347
- (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
348
- or
349
- ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
350
- or
351
- (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
352
- }
353
- } else {
354
- if(this.f_check_start){
355
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
356
- }
357
- if(this.f_check_end){
358
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
359
- }
360
- }
361
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
362
- if (this.groupNameForSql=='undefined'){
363
- //tag
364
- this.$showMessage("请至少选择一项进行汇总")
365
- return
366
- }
367
- this.model.paramSource =
368
- {
369
- groupName: `'${this.groupNameForSql}'`,
370
- f_check_bv_start:args.model.f_check_bv_start,
371
- f_ruhu_bv_start:args.model.f_ruhu_bv_start,
372
- f_check_bv_end:args.model.f_check_bv_end,
373
- f_ruhu_bv_end:args.model.f_ruhu_bv_end
374
- }
375
- this.model.search(args.condition, args.model)
376
- },
377
-
378
- // 拼接groupName1
379
- getGroupName1 () {
380
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_slice_area','f_plan_name','f_checker_name','f_user_number']
381
- var newtemp=[]
382
-
383
- for (var i=0;i<temp.length;i++){
384
- for (var j=0;j<this.nameForSql.length;j++){
385
- //tag
386
- if(temp[i]==this.nameForSql[j]){
387
- newtemp.push(this.nameForSql[j])
388
- }
389
- }
390
- }
391
- let str = ''
392
-
393
- for (var i=0;i < newtemp.length - 1; i++) {
394
- str += newtemp[i] + ','
395
- }
396
- str += newtemp[i]
397
- this.groupNameForSql = str.trim()
398
- }
399
- },
400
- watch: {
401
- // 'nameForSql' () {
402
- //
403
- // this.getGroupName1()
404
- // },
405
- 'nameForSql' () {
406
- var e = document.createEvent("MouseEvents");
407
- e.initEvent("click", true, true);
408
- document.getElementById("btnaaa").dispatchEvent(e);
409
- },
410
- 'model.rows'(){
411
- //tag
412
- if(this.listflag){
413
- return;
414
- }
415
- this.listflag=true
416
- //tag
417
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_slice_area','f_plan_name','f_checker_name','f_user_number']
418
- var newtemp=[]
419
- for (var i=0;i<temp.length;i++){
420
- for (var j=0;j<this.nameForSql.length;j++){
421
- //tag
422
- if(temp[i]==this.nameForSql[j]){
423
- newtemp.push(this.nameForSql[j])
424
- }
425
- }
426
- }
427
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
428
- return
429
- }
430
- var temp=JSON.parse(JSON.stringify(this.model.rows))
431
-
432
- //遍历查询结果 为指定列增加样式
433
- for (var i=0;i<newtemp.length-1;i++){
434
- if(newtemp[i]=='f_user_number'){
435
- return;
436
- }
437
- //tag
438
- var ss=''
439
- for (var j=0;j<temp.length;j++){
440
- if(j>0&&i>0){
441
- var flag=false
442
- for(var t=i-1;t>-1;t--){
443
- //tag
444
- //tag
445
- //tag
446
- //tag
447
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
448
- flag=true
449
- break
450
- }
451
- }
452
- //tag
453
- if(flag){
454
- ss=temp[j][newtemp[i]]
455
- continue
456
- }
457
- }
458
- if(temp[j][newtemp[i]]==ss){
459
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
460
- }else {
461
- ss=temp[j][newtemp[i]]
462
- }
463
- }
464
- }
465
- //tag
466
- this.model.rows=JSON.parse(JSON.stringify(temp))
467
- }
468
- },
469
- computed:{
470
- exportParameter(){
471
- // excel 导出条件拼接
472
- return {
473
- condition: this.$refs.paged.model.condition,
474
- groupName: this.groupNameForSql
475
- }
476
- }
477
- }
478
- }
479
- </script>
480
-
481
- <style scoped>
482
-
483
- .td-0{
484
- border: 1px solid #000000;
485
- }
486
-
487
- .td-1{
488
- border: none;
489
- border-top: 1px solid #000000;
490
- border-left: 1px solid #000000;
491
- border-right: 1px solid #000000;
492
- }
493
-
494
- .td-2{
495
- border: none;
496
- border-left: 1px solid #000000;
497
- border-right: 1px solid #000000;
498
- }
499
- .td-4{
500
- border: none;
501
- border-top: 1px solid #000000;
502
- border-left: 1px solid #000000;
503
- border-right: 1px solid #000000;
504
- border-bottom: 1px solid #000000;
505
- }
506
- .td-3{
507
- border: none;
508
- border-left: 1px solid #000000;
509
- border-right: 1px solid #000000;
510
- border-bottom: 1px solid #000000;
511
- }
512
- </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
+ 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-safe :data="$parent.$parent.exportParameter"
61
+ :field="$parent.$parent.exportExcelField"
62
+ sqlurl="rs/logic/SafeExportExcel" sql-name="getCheckPlanAreaList"
63
+ template-name='安检汇总' :choose-col="true">
64
+ </export-excel-safe>-->
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 :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
96
+ <label class="font_normal_body">安&ensp;检&ensp;率</label>
97
+ <input type="number" class="input_search" style="width:30%" v-model="model.f_check_bv_start" placeholder='安检率'
98
+ v-next-el="cx" v-el:qjmc>-
99
+ <input type="number" class="input_search" style="width:30%" v-model="model.f_check_bv_end" placeholder='安检率'
100
+ v-next-el="cx" v-el:qjmc>
101
+ </div>
102
+ <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">
103
+ <label class="font_normal_body">入&ensp;户&ensp;率</label>
104
+ <input type="number" class="input_search" style="width:30%" v-model="model.f_ruhu_bv_start" placeholder='入户率'
105
+ v-next-el="cx" v-el:qjmc>-
106
+ <input type="number" class="input_search" style="width:30%" v-model="model.f_ruhu_bv_end" placeholder='入户率'
107
+ v-next-el="cx" v-el:qjmc>
108
+ </div>
109
+ </div>
110
+ <div class="row">
111
+ <div class="col-sm-12">
112
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
113
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
114
+ <label for="f_plan_month">计划月份</label>
115
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
116
+ <label for="f_no_checkplan">计划类型</label>
117
+ <input type="checkbox" id="f_slice_area" value="f_slice_area" v-model="$parent.$parent.nameForSql"/>
118
+ <label for="f_slice_area">站点</label>
119
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
120
+ <label for="f_residential_area">小区名称</label>
121
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
122
+ <label for="f_plan_name">计划名称</label>
123
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
124
+ <label for="f_checker_name">安检员</label>
125
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
126
+ <label for="f_checker_name">档案数量</label>
127
+ </div>
128
+ </div>
129
+ </div>
130
+
131
+ </criteria>
132
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
133
+ <template partial='head'>
134
+ <tr>
135
+ <th>
136
+ <nobr>序号</nobr>
137
+ </th>
138
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
139
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
140
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_slice_area')"><nobr>站点</nobr></th>
141
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
142
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
143
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
144
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
145
+ <th>
146
+ <nobr>计划总数</nobr>
147
+ </th>
148
+ <th>
149
+ <nobr>未检</nobr>
150
+ </th>
151
+ <th>
152
+ <nobr>已检</nobr>
153
+ </th>
154
+ <th>
155
+ <nobr>入户</nobr>
156
+ </th>
157
+ <th>
158
+ <nobr>到访不遇</nobr>
159
+ </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
+ </tr>
173
+ </template>
174
+ <template partial='body'>
175
+ <tr>
176
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
177
+ <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>
178
+ <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>
179
+ <td style="text-align:center" :class="{'td-0':row.f_slice_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_slice_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_slice_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_slice_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_slice_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_slice_area')">{{row.f_slice_area.indexOf('*&')!=-1?'':row.f_slice_area}}</td>
180
+ <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>
181
+ <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>
182
+ <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>
183
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
184
+ <td style="text-align:center">{{row.f_plan_total}}</td>
185
+ <td style="text-align:center">{{row.f_weijian}}</td>
186
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
187
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
188
+ <td style="text-align:center">{{row.f_buyu}}</td>
189
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
190
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
191
+ <td style="text-align:center"><nobr>{{row.f_ruhu_bv}}</nobr></td>
192
+ <!--<td style="text-align: center;">-->
193
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
194
+ <!--</td>-->
195
+ </tr>
196
+ </template>
197
+ <template partial='foot'></template>
198
+ </data-grid>
199
+ </criteria-paged>
200
+ </div>
201
+ </template>
202
+
203
+ <script>
204
+ /**
205
+ *阶梯气价查询列表
206
+ */
207
+ import {PagedList} from 'vue-client'
208
+ import { HttpResetClass } from 'vue-client'
209
+ import XLSX from 'xlsx'
210
+ export default {
211
+ data () {
212
+ return {
213
+ model: new PagedList('rs/sql/getCheckPlanAreaList', 99999),
214
+ // 公司下拉
215
+ curorgid: [this.$login.f.orgid],
216
+ row: {},
217
+ f_orgid: '',
218
+ nameForSql: [],
219
+ groupNameForSql: '',
220
+ listflag:false,
221
+ nameflag:false,
222
+ criteriaShow: false,
223
+ f_check_start:new Date().getFullYear() + '-01',
224
+ f_check_end:new Date().getFullYear() + '-12',
225
+ planName:[{label: '全部', value: ''}],
226
+ exportExcelField: {
227
+ 'f_weijian':'未检',
228
+ 'f_yijian':'已检',
229
+ 'f_ruhu':'入户',
230
+ 'f_buyu':'到访不遇',
231
+ 'f_jujian':'拒检',
232
+ 'f_check_bv':'安检率',
233
+ 'f_ruhu_bv':'入户率',
234
+ }
235
+ }
236
+ },
237
+ props: {
238
+ row: {},
239
+ config: {},
240
+ ispartial: false,
241
+ f_filialeid: {
242
+ type: String
243
+ }
244
+ },
245
+ ready () {
246
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
247
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
248
+ this.pl()
249
+ // this.search()
250
+
251
+ },
252
+ methods: {
253
+ exportexcel(){
254
+ //tag
255
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
256
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
257
+ console.log(aa)
258
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
259
+ try {
260
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
261
+ } catch(e) {
262
+ //tag;
263
+ }
264
+ },
265
+ // 获取导出列
266
+ getexportExcelField(){
267
+ this.exportExcelField = {
268
+ 'f_weijian':'未检',
269
+ 'f_yijian':'已检',
270
+ 'f_ruhu':'入户',
271
+ 'f_buyu':'到访不遇',
272
+ 'f_jujian':'拒检',
273
+ 'f_check_bv':'安检率',
274
+ 'f_ruhu_bv':'入户率',
275
+ 'f_plan_total':'计划总数'
276
+ }
277
+ let forName = this.groupNameForSql.split(",")
278
+ for (let i = 0; i < forName.length; i++) {
279
+ let ff = forName[i]
280
+ if (ff==='f_plan_month') {
281
+ this.exportExcelField.f_plan_month='计划月份'
282
+ }
283
+ if (ff==='f_no_checkplan') {
284
+ this.exportExcelField.f_no_checkplan='计划类型'
285
+ }
286
+ if (ff==='f_plan_name') {
287
+ this.exportExcelField.f_plan_name='计划名称'
288
+ }
289
+ if (ff==='f_checker_name') {
290
+ this.exportExcelField.f_checker_name='安检员'
291
+ }if (ff==='f_residential_area') {
292
+ this.exportExcelField.f_residential_area='小区名称'
293
+ }if (ff==='f_user_number') {
294
+ this.exportExcelField.f_user_number='档案数量'
295
+ }if (ff==='f_slice_area') {
296
+ this.exportExcelField.f_slice_area='站点'
297
+ }
298
+ }
299
+ },
300
+ pl() {
301
+ let getGasman = new HttpResetClass()
302
+ getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
303
+ data: {
304
+ items: "id,f_plan_name",
305
+ tablename: "t_check_plan",
306
+ condition: `f_filialeid = '${this.curorgid}'`,
307
+ orderitem: "id"
308
+ }
309
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
310
+ //tag
311
+ //tag
312
+ //tag
313
+ for (let i = 0; i < plne.data.length; i++) {
314
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
315
+ }
316
+ //tag
317
+ })
318
+ },
319
+ hiddenr() {
320
+ this.$parent.isdetail = !this.$parent.isdetail
321
+ },
322
+ hidden() {
323
+ this.criteriaShow = !this.criteriaShow
324
+ },
325
+ search () {
326
+ this.$refs.paged.$refs.cri.search()
327
+ this.$dispatch('search')
328
+ },
329
+ getorg (val) {
330
+ this.f_orgid = this.$login.convertToIn(val.resids)
331
+ this.f_filialeid = val[0]
332
+
333
+ },
334
+ selfSearch (args) {
335
+ if (!this.f_orgid) {
336
+ this.getorg([this.$login.f.orgid])
337
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
338
+ }
339
+ if (this.f_orgid) {
340
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
341
+ }
342
+ if(this.f_check_start && this.f_check_end){
343
+ if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
344
+ 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}`
345
+ }else {
346
+ args.condition += ` and (
347
+ (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
348
+ or
349
+ ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
350
+ or
351
+ (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
352
+ }
353
+ } else {
354
+ if(this.f_check_start){
355
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
356
+ }
357
+ if(this.f_check_end){
358
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
359
+ }
360
+ }
361
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
362
+ if (this.groupNameForSql=='undefined'){
363
+ //tag
364
+ this.$showMessage("请至少选择一项进行汇总")
365
+ return
366
+ }
367
+ this.model.paramSource =
368
+ {
369
+ groupName: `'${this.groupNameForSql}'`,
370
+ f_check_bv_start:args.model.f_check_bv_start,
371
+ f_ruhu_bv_start:args.model.f_ruhu_bv_start,
372
+ f_check_bv_end:args.model.f_check_bv_end,
373
+ f_ruhu_bv_end:args.model.f_ruhu_bv_end
374
+ }
375
+ this.model.search(args.condition, args.model)
376
+ },
377
+
378
+ // 拼接groupName1
379
+ getGroupName1 () {
380
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_slice_area','f_plan_name','f_checker_name','f_user_number']
381
+ var newtemp=[]
382
+
383
+ for (var i=0;i<temp.length;i++){
384
+ for (var j=0;j<this.nameForSql.length;j++){
385
+ //tag
386
+ if(temp[i]==this.nameForSql[j]){
387
+ newtemp.push(this.nameForSql[j])
388
+ }
389
+ }
390
+ }
391
+ let str = ''
392
+
393
+ for (var i=0;i < newtemp.length - 1; i++) {
394
+ str += newtemp[i] + ','
395
+ }
396
+ str += newtemp[i]
397
+ this.groupNameForSql = str.trim()
398
+ }
399
+ },
400
+ watch: {
401
+ // 'nameForSql' () {
402
+ //
403
+ // this.getGroupName1()
404
+ // },
405
+ 'nameForSql' () {
406
+ var e = document.createEvent("MouseEvents");
407
+ e.initEvent("click", true, true);
408
+ document.getElementById("btnaaa").dispatchEvent(e);
409
+ },
410
+ 'model.rows'(){
411
+ //tag
412
+ if(this.listflag){
413
+ return;
414
+ }
415
+ this.listflag=true
416
+ //tag
417
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_slice_area','f_plan_name','f_checker_name','f_user_number']
418
+ var newtemp=[]
419
+ for (var i=0;i<temp.length;i++){
420
+ for (var j=0;j<this.nameForSql.length;j++){
421
+ //tag
422
+ if(temp[i]==this.nameForSql[j]){
423
+ newtemp.push(this.nameForSql[j])
424
+ }
425
+ }
426
+ }
427
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
428
+ return
429
+ }
430
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
431
+
432
+ //遍历查询结果 为指定列增加样式
433
+ for (var i=0;i<newtemp.length-1;i++){
434
+ if(newtemp[i]=='f_user_number'){
435
+ return;
436
+ }
437
+ //tag
438
+ var ss=''
439
+ for (var j=0;j<temp.length;j++){
440
+ if(j>0&&i>0){
441
+ var flag=false
442
+ for(var t=i-1;t>-1;t--){
443
+ //tag
444
+ //tag
445
+ //tag
446
+ //tag
447
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
448
+ flag=true
449
+ break
450
+ }
451
+ }
452
+ //tag
453
+ if(flag){
454
+ ss=temp[j][newtemp[i]]
455
+ continue
456
+ }
457
+ }
458
+ if(temp[j][newtemp[i]]==ss){
459
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
460
+ }else {
461
+ ss=temp[j][newtemp[i]]
462
+ }
463
+ }
464
+ }
465
+ //tag
466
+ this.model.rows=JSON.parse(JSON.stringify(temp))
467
+ }
468
+ },
469
+ computed:{
470
+ exportParameter(){
471
+ // excel 导出条件拼接
472
+ return {
473
+ condition: this.$refs.paged.model.condition,
474
+ groupName: this.groupNameForSql
475
+ }
476
+ }
477
+ }
478
+ }
479
+ </script>
480
+
481
+ <style scoped>
482
+
483
+ .td-0{
484
+ border: 1px solid #000000;
485
+ }
486
+
487
+ .td-1{
488
+ border: none;
489
+ border-top: 1px solid #000000;
490
+ border-left: 1px solid #000000;
491
+ border-right: 1px solid #000000;
492
+ }
493
+
494
+ .td-2{
495
+ border: none;
496
+ border-left: 1px solid #000000;
497
+ border-right: 1px solid #000000;
498
+ }
499
+ .td-4{
500
+ border: none;
501
+ border-top: 1px solid #000000;
502
+ border-left: 1px solid #000000;
503
+ border-right: 1px solid #000000;
504
+ border-bottom: 1px solid #000000;
505
+ }
506
+ .td-3{
507
+ border: none;
508
+ border-left: 1px solid #000000;
509
+ border-right: 1px solid #000000;
510
+ border-bottom: 1px solid #000000;
511
+ }
512
+ </style>