safecheck-client 3.0.35-gongyi → 3.0.35-gongyi-1

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