safecheck-client 3.0.35-gongyi-8 → 3.0.35-gongyi-10

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,530 +1,535 @@
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_dep">安检科室</label>
142
- <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
143
- <label for="f_user_number">档案数量</label>
144
- <input type="checkbox" id="f_user_type" value="f_user_type" v-model="$parent.$parent.nameForSql"/>
145
- <label for="f_user_type">用户类型</label>
146
- </div>
147
- </div>
148
- </div>
149
-
150
- </criteria>
151
- <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
152
- <template partial='head'>
153
- <tr>
154
- <th>
155
- <nobr>序号</nobr>
156
- </th>
157
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
158
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
159
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
160
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
161
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
162
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_dep')"><nobr>安检科室</nobr></th>
163
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
164
- <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"><nobr>用户类型</nobr></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
- <!--<th>-->
190
- <!--<nobr>查看</nobr>-->
191
- <!--</th>-->
192
- </tr>
193
- </template>
194
- <template partial='body'>
195
- <tr>
196
- <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
197
- <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>
198
- <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>
199
- <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>
200
- <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>
201
- <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>
202
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_dep')">{{row.f_dep}}</td>
203
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
204
- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')">{{row.f_user_type}}</td>
205
- <td style="text-align:center">{{row.f_plan_total}}</td>
206
- <td style="text-align:center">{{row.f_weijian}}</td>
207
- <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
208
- <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
209
- <td style="text-align:center">{{row.f_buyu}}</td>
210
- <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
211
- <td style="text-align:center"><nobr>{{row.f_check_rhbv}}</nobr></td>
212
- <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
213
- <!--<td style="text-align: center;">-->
214
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
215
- <!--</td>-->
216
- </tr>
217
- </template>
218
- <template partial='foot'></template>
219
- </data-grid>
220
- </criteria-paged>
221
- </div>
222
- </template>
223
-
224
- <script>
225
- /**
226
- *阶梯气价查询列表
227
- */
228
- import {PagedList} from 'vue-client'
229
- import { HttpResetClass } from 'vue-client'
230
- export default {
231
- data () {
232
- return {
233
- model: new PagedList('rs/sql/getCheckPlanAreaList',99999),
234
- usertypes: this.usertypes(),
235
- // 公司下拉
236
- curorgid: [this.$login.f.orgid],
237
- row: {},
238
- f_orgid: '',
239
- nameForSql: [],
240
- groupNameForSql: '',
241
- source:
242
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
243
- 'tool.getFullTree(dep.where(row.hasSpecialRole($安检册二次分配$)))',
244
- listflag:false,
245
- nameflag:false,
246
- criteriaShow: false,
247
- f_check_start:'',
248
- f_check_end:'',
249
- planName:[{label: '全部', value: ''}],
250
- exportExcelField: {
251
- 'f_weijian':'未检',
252
- 'f_yijian':'已检',
253
- 'f_ruhu':'入户',
254
- 'f_buyu':'到访不遇',
255
- 'f_jujian':'拒检',
256
- 'f_check_bv':'安检率'
257
- }
258
- }
259
- },
260
- props: {
261
- row: {},
262
- config: {},
263
- ispartial: false,
264
- f_filialeid: {
265
- type: String
266
- }
267
- },
268
- ready () {
269
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
270
- this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
271
- this.pl()
272
- this.search()
273
-
274
- },
275
- methods: {
276
- usertypes () {
277
- return this.$appdata.getParam('用户类型') ? [{
278
- label: '全部',
279
- value: ''
280
- }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
281
- },
282
- reres2(val){
283
- if (!val.resids || val.resids.length === 0 || val.resids[0] ==='undefined' || !val.resids[0] || val.resids.length>1){
284
- console.log('未选择',val)
285
- this.f_dep = ''
286
- return
287
- }
288
- console.log('val2',val)
289
- const resids = val.orgobj.filter(res=>res.resourcetype==='department')
290
- if (resids.length>0){
291
- this.f_dep = resids[0].name
292
- }
293
- },
294
- // 获取导出列
295
- getexportExcelField(){
296
- this.exportExcelField = {
297
- 'f_weijian':'未检',
298
- 'f_yijian':'已检',
299
- 'f_ruhu':'入户',
300
- 'f_buyu':'到访不遇',
301
- 'f_jujian':'拒检',
302
- 'f_check_bv':'安检率',
303
- 'f_plan_total':'计划总数'
304
- }
305
- let forName = this.groupNameForSql.split(",")
306
- for (let i = 0; i < forName.length; i++) {
307
- let ff = forName[i]
308
- if (ff==='f_plan_month') {
309
- this.exportExcelField.f_plan_month='计划月份'
310
- }
311
- if (ff==='f_no_checkplan') {
312
- this.exportExcelField.f_checker_name='计划类型'
313
- }
314
- if (ff==='f_plan_name') {
315
- this.exportExcelField.f_plan_name='计划名称'
316
- }
317
- if (ff==='f_checker_name') {
318
- this.exportExcelField.f_checker_name='安检员'
319
- }
320
- if (ff==='f_dep') {
321
- this.exportExcelField.f_dep='安检科室'
322
- }if (ff==='f_residential_area') {
323
- this.exportExcelField.f_checker_name='小区名称'
324
- }if (ff==='f_user_number') {
325
- this.exportExcelField.f_checker_name='档案数量'
326
- }if (ff==='f_user_type'){
327
- this.exportExcelField.f_user_type='用户类型'
328
- }
329
- }
330
- },
331
- pl() {
332
- let getGasman = new HttpResetClass()
333
- getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
334
- data: {
335
- items: "id,f_plan_name",
336
- tablename: "t_check_plan",
337
- condition: `f_filialeid = '${this.curorgid}'`,
338
- orderitem: "id"
339
- }
340
- }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
341
- console.log('计划查询结果333', plne.data)
342
- console.log('计划查询结果22222', plne.data.length)
343
- console.log('计划1111', this.planName)
344
- for (let i = 0; i < plne.data.length; i++) {
345
- this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
346
- }
347
- console.log('计划2222', this.planName)
348
- })
349
- },
350
- hiddenr() {
351
- this.$parent.isdetail = !this.$parent.isdetail
352
- },
353
- hidden() {
354
- this.criteriaShow = !this.criteriaShow
355
- },
356
- search () {
357
- this.$refs.paged.$refs.cri.search()
358
- this.$dispatch('search')
359
- },
360
- getorg (val) {
361
- this.f_orgid = this.$login.convertToIn(val.resids)
362
- this.f_filialeid = val[0]
363
-
364
- },
365
- selfSearch (args) {
366
- if (!this.f_orgid) {
367
- this.getorg([this.$login.f.orgid])
368
- }
369
- if (this.f_orgid) {
370
- args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
371
- }
372
- if(this.f_check_start){
373
- args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
374
- }
375
- if(this.f_check_end){
376
- args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
377
- }
378
- if(this.f_dep){
379
- args.condition += ` and f_dep = '${this.f_dep}'`
380
- }
381
- if(this.f_user_type){
382
- args.condition += ` and f_user_type = '${this.f_user_type}'`
383
- }
384
- this.model.f_bv=this.$refs.paged.$refs.cri.model.f_bv?this.$refs.paged.$refs.cri.model.f_bv:''
385
- this.model.f_rh=this.$refs.paged.$refs.cri.model.f_rh?this.$refs.paged.$refs.cri.model.f_rh:''
386
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
387
- if (this.groupNameForSql=='undefined'){
388
- console.log("777777777")
389
- this.$showMessage("请至少选择一项进行汇总")
390
- return
391
- }
392
- this.model.paramSource = {groupName: `'${this.groupNameForSql}'`,f_rh: 'this.f_rh',f_bv: 'this.f_bv'}
393
- this.model.search(args.condition, args.model)
394
- },
395
-
396
- // 拼接groupName1
397
- getGroupName1 () {
398
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_dep','f_user_number','f_user_type']
399
- var newtemp=[]
400
-
401
- for (var i=0;i<temp.length;i++){
402
- for (var j=0;j<this.nameForSql.length;j++){
403
- console.log(temp[i],this.nameForSql[j],'asd')
404
- if(temp[i]==this.nameForSql[j]){
405
- newtemp.push(this.nameForSql[j])
406
- }
407
- }
408
- }
409
- let str = ''
410
-
411
- for (var i=0;i < newtemp.length - 1; i++) {
412
- str += newtemp[i] + ','
413
- }
414
- str += newtemp[i]
415
- this.groupNameForSql = str.trim()
416
- }
417
- },
418
- watch: {
419
- // 'nameForSql' () {
420
- //
421
- // this.getGroupName1()
422
- // },
423
- 'nameForSql' () {
424
- var e = document.createEvent("MouseEvents");
425
- e.initEvent("click", true, true);
426
- document.getElementById("btnaaa").dispatchEvent(e);
427
- },
428
- 'model.rows'(){
429
- console.log("this.model.rows发生变化")
430
- if(this.listflag){
431
- return;
432
- }
433
- this.listflag=true
434
- console.log(this.model.rows)
435
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_user_type']
436
- var newtemp=[]
437
- for (var i=0;i<temp.length;i++){
438
- for (var j=0;j<this.nameForSql.length;j++){
439
- console.log(temp[i],this.nameForSql[j],'asd')
440
- if(temp[i]==this.nameForSql[j]){
441
- newtemp.push(this.nameForSql[j])
442
- }
443
- }
444
- }
445
- if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
446
- return
447
- }
448
- var temp=JSON.parse(JSON.stringify(this.model.rows))
449
-
450
- //遍历查询结果 为指定列增加样式
451
- for (var i=0;i<newtemp.length-1;i++){
452
- if(newtemp[i]=='f_user_number'){
453
- return;
454
- }
455
- console.log(newtemp[i])
456
- var ss=''
457
- for (var j=0;j<temp.length;j++){
458
- if(j>0&&i>0){
459
- var flag=false
460
- for(var t=i-1;t>-1;t--){
461
- console.log("jjjjjjjjjjj--:"+j)
462
- console.log("iiiiiiiiiii---:"+i)
463
- console.log("temp[j-1][newtemp[t]]:"+temp[j-1][newtemp[t]])
464
- console.log("temp[j][newtemp[t]]:"+temp[j][newtemp[t]])
465
- if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&temp[j][newtemp[t]].indexOf('*&')==-1){
466
- flag=true
467
- break
468
- }
469
- }
470
- console.log(j,i,flag)
471
- if(flag){
472
- ss=temp[j][newtemp[i]]
473
- continue
474
- }
475
- }
476
- if(temp[j][newtemp[i]]==ss){
477
- temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
478
- }else {
479
- ss=temp[j][newtemp[i]]
480
- }
481
- }
482
- }
483
- console.log(temp,'chulijieshu')
484
- this.model.rows=JSON.parse(JSON.stringify(temp))
485
- }
486
- },
487
- computed:{
488
- exportParameter(){
489
- // excel 导出条件拼接
490
- return {
491
- condition: this.$refs.paged.model.condition,
492
- groupName: this.groupNameForSql
493
- }
494
- }
495
- }
496
- }
497
- </script>
498
-
499
- <style scoped>
500
-
501
- .td-0{
502
- border: 1px solid #000000;
503
- }
504
-
505
- .td-1{
506
- border: none;
507
- border-top: 1px solid #000000;
508
- border-left: 1px solid #000000;
509
- border-right: 1px solid #000000;
510
- }
511
-
512
- .td-2{
513
- border: none;
514
- border-left: 1px solid #000000;
515
- border-right: 1px solid #000000;
516
- }
517
- .td-4{
518
- border: none;
519
- border-top: 1px solid #000000;
520
- border-left: 1px solid #000000;
521
- border-right: 1px solid #000000;
522
- border-bottom: 1px solid #000000;
523
- }
524
- .td-3{
525
- border: none;
526
- border-left: 1px solid #000000;
527
- border-right: 1px solid #000000;
528
- border-bottom: 1px solid #000000;
529
- }
530
- </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_dep">安检科室</label>
142
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
143
+ <label for="f_user_number">档案数量</label>
144
+ <input type="checkbox" id="f_user_type" value="f_user_type" v-model="$parent.$parent.nameForSql"/>
145
+ <label for="f_user_type">用户类型</label>
146
+ </div>
147
+ </div>
148
+ </div>
149
+
150
+ </criteria>
151
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
152
+ <template partial='head'>
153
+ <tr>
154
+ <th>
155
+ <nobr>序号</nobr>
156
+ </th>
157
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
158
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
159
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
160
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
161
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
162
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_dep')"><nobr>安检科室</nobr></th>
163
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
164
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')"><nobr>用户类型</nobr></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
+ <!--<th>-->
190
+ <!--<nobr>查看</nobr>-->
191
+ <!--</th>-->
192
+ </tr>
193
+ </template>
194
+ <template partial='body'>
195
+ <tr>
196
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
197
+ <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>
198
+ <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>
199
+ <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>
200
+ <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>
201
+ <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>
202
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_dep')">{{row.f_dep}}</td>
203
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
204
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_type')">{{row.f_user_type}}</td>
205
+ <td style="text-align:center">{{row.f_plan_total}}</td>
206
+ <td style="text-align:center">{{row.f_weijian}}</td>
207
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
208
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
209
+ <td style="text-align:center">{{row.f_buyu}}</td>
210
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
211
+ <td style="text-align:center"><nobr>{{row.f_check_rhbv}}</nobr></td>
212
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
213
+ <!--<td style="text-align: center;">-->
214
+ <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
215
+ <!--</td>-->
216
+ </tr>
217
+ </template>
218
+ <template partial='foot'></template>
219
+ </data-grid>
220
+ </criteria-paged>
221
+ </div>
222
+ </template>
223
+
224
+ <script>
225
+ /**
226
+ *阶梯气价查询列表
227
+ */
228
+ import {PagedList} from 'vue-client'
229
+ import { HttpResetClass } from 'vue-client'
230
+ export default {
231
+ data () {
232
+ return {
233
+ model: new PagedList('rs/sql/getCheckPlanAreaList',99999),
234
+ usertypes: this.usertypes(),
235
+ // 公司下拉
236
+ curorgid: [this.$login.f.orgid],
237
+ row: {},
238
+ f_orgid: '',
239
+ nameForSql: [],
240
+ num:0,
241
+ groupNameForSql: '',
242
+ source:
243
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
244
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($安检册二次分配$)))',
245
+ listflag:false,
246
+ nameflag:false,
247
+ criteriaShow: false,
248
+ f_check_start:new Date().getFullYear() + '-01',
249
+ f_check_end:new Date().getFullYear() + '-12',
250
+ planName:[{label: '全部', value: ''}],
251
+ exportExcelField: {
252
+ 'f_weijian':'未检',
253
+ 'f_yijian':'已检',
254
+ 'f_ruhu':'入户',
255
+ 'f_buyu':'到访不遇',
256
+ 'f_jujian':'拒检',
257
+ 'f_check_bv':'安检率'
258
+ }
259
+ }
260
+ },
261
+ props: {
262
+ row: {},
263
+ config: {},
264
+ ispartial: false,
265
+ f_filialeid: {
266
+ type: String
267
+ }
268
+ },
269
+ ready () {
270
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
271
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
272
+ this.pl()
273
+ // this.search()
274
+
275
+ },
276
+ methods: {
277
+ usertypes () {
278
+ return this.$appdata.getParam('用户类型') ? [{
279
+ label: '全部',
280
+ value: ''
281
+ }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}]
282
+ },
283
+ reres2(val){
284
+ if (!val.resids || val.resids.length === 0 || val.resids[0] ==='undefined' || !val.resids[0] || val.resids.length>1){
285
+ console.log('未选择',val)
286
+ this.f_dep = ''
287
+ return
288
+ }
289
+ console.log('val2',val)
290
+ const resids = val.orgobj.filter(res=>res.resourcetype==='department')
291
+ if (resids.length>0){
292
+ this.f_dep = resids[0].name
293
+ }
294
+ },
295
+ // 获取导出列
296
+ getexportExcelField(){
297
+ this.exportExcelField = {
298
+ 'f_weijian':'未检',
299
+ 'f_yijian':'已检',
300
+ 'f_ruhu':'入户',
301
+ 'f_buyu':'到访不遇',
302
+ 'f_jujian':'拒检',
303
+ 'f_check_bv':'安检率',
304
+ 'f_plan_total':'计划总数'
305
+ }
306
+ let forName = this.groupNameForSql.split(",")
307
+ for (let i = 0; i < forName.length; i++) {
308
+ let ff = forName[i]
309
+ if (ff==='f_plan_month') {
310
+ this.exportExcelField.f_plan_month='计划月份'
311
+ }
312
+ if (ff==='f_no_checkplan') {
313
+ this.exportExcelField.f_checker_name='计划类型'
314
+ }
315
+ if (ff==='f_plan_name') {
316
+ this.exportExcelField.f_plan_name='计划名称'
317
+ }
318
+ if (ff==='f_checker_name') {
319
+ this.exportExcelField.f_checker_name='安检员'
320
+ }
321
+ if (ff==='f_dep') {
322
+ this.exportExcelField.f_dep='安检科室'
323
+ }if (ff==='f_residential_area') {
324
+ this.exportExcelField.f_checker_name='小区名称'
325
+ }if (ff==='f_user_number') {
326
+ this.exportExcelField.f_checker_name='档案数量'
327
+ }if (ff==='f_user_type'){
328
+ this.exportExcelField.f_user_type='用户类型'
329
+ }
330
+ }
331
+ },
332
+ pl() {
333
+ let getGasman = new HttpResetClass()
334
+ getGasman.load('POST', `rs/sql/safe_singleTable_OrderBy`, {
335
+ data: {
336
+ items: "id,f_plan_name",
337
+ tablename: "t_check_plan",
338
+ condition: `f_filialeid = '${this.curorgid}'`,
339
+ orderitem: "id"
340
+ }
341
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
342
+ console.log('计划查询结果333', plne.data)
343
+ console.log('计划查询结果22222', plne.data.length)
344
+ console.log('计划1111', this.planName)
345
+ for (let i = 0; i < plne.data.length; i++) {
346
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
347
+ }
348
+ console.log('计划2222', this.planName)
349
+ })
350
+ },
351
+ hiddenr() {
352
+ this.$parent.isdetail = !this.$parent.isdetail
353
+ },
354
+ hidden() {
355
+ this.criteriaShow = !this.criteriaShow
356
+ },
357
+ search () {
358
+ this.$refs.paged.$refs.cri.search()
359
+ this.$dispatch('search')
360
+ },
361
+ getorg (val) {
362
+ this.f_orgid = this.$login.convertToIn(val.resids)
363
+ this.f_filialeid = val[0]
364
+
365
+ },
366
+ selfSearch (args) {
367
+ if(this.num != 1){
368
+ this.num = 1
369
+ return;
370
+ }
371
+ if (!this.f_orgid) {
372
+ this.getorg([this.$login.f.orgid])
373
+ }
374
+ if (this.f_orgid) {
375
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
376
+ }
377
+ if(this.f_check_start){
378
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} `
379
+ }
380
+ if(this.f_check_end){
381
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1} `
382
+ }
383
+ if(this.f_dep){
384
+ args.condition += ` and f_dep = '${this.f_dep}'`
385
+ }
386
+ if(this.f_user_type){
387
+ args.condition += ` and f_user_type = '${this.f_user_type}'`
388
+ }
389
+ this.model.f_bv=this.$refs.paged.$refs.cri.model.f_bv?this.$refs.paged.$refs.cri.model.f_bv:''
390
+ this.model.f_rh=this.$refs.paged.$refs.cri.model.f_rh?this.$refs.paged.$refs.cri.model.f_rh:''
391
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
392
+ if (this.groupNameForSql=='undefined'){
393
+ console.log("777777777")
394
+ this.$showMessage("请至少选择一项进行汇总")
395
+ return
396
+ }
397
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`,f_rh: 'this.f_rh',f_bv: 'this.f_bv'}
398
+ this.model.search(args.condition, args.model)
399
+ },
400
+
401
+ // 拼接groupName1
402
+ getGroupName1 () {
403
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_dep','f_user_number','f_user_type']
404
+ var newtemp=[]
405
+
406
+ for (var i=0;i<temp.length;i++){
407
+ for (var j=0;j<this.nameForSql.length;j++){
408
+ console.log(temp[i],this.nameForSql[j],'asd')
409
+ if(temp[i]==this.nameForSql[j]){
410
+ newtemp.push(this.nameForSql[j])
411
+ }
412
+ }
413
+ }
414
+ let str = ''
415
+
416
+ for (var i=0;i < newtemp.length - 1; i++) {
417
+ str += newtemp[i] + ','
418
+ }
419
+ str += newtemp[i]
420
+ this.groupNameForSql = str.trim()
421
+ }
422
+ },
423
+ watch: {
424
+ // 'nameForSql' () {
425
+ //
426
+ // this.getGroupName1()
427
+ // },
428
+ 'nameForSql' () {
429
+ var e = document.createEvent("MouseEvents");
430
+ e.initEvent("click", true, true);
431
+ document.getElementById("btnaaa").dispatchEvent(e);
432
+ },
433
+ 'model.rows'(){
434
+ console.log("this.model.rows发生变化")
435
+ if(this.listflag){
436
+ return;
437
+ }
438
+ this.listflag=true
439
+ console.log(this.model.rows)
440
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_user_type']
441
+ var newtemp=[]
442
+ for (var i=0;i<temp.length;i++){
443
+ for (var j=0;j<this.nameForSql.length;j++){
444
+ console.log(temp[i],this.nameForSql[j],'asd')
445
+ if(temp[i]==this.nameForSql[j]){
446
+ newtemp.push(this.nameForSql[j])
447
+ }
448
+ }
449
+ }
450
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
451
+ return
452
+ }
453
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
454
+
455
+ //遍历查询结果 为指定列增加样式
456
+ for (var i=0;i<newtemp.length-1;i++){
457
+ if(newtemp[i]=='f_user_number'){
458
+ return;
459
+ }
460
+ console.log(newtemp[i])
461
+ var ss=''
462
+ for (var j=0;j<temp.length;j++){
463
+ if(j>0&&i>0){
464
+ var flag=false
465
+ for(var t=i-1;t>-1;t--){
466
+ console.log("jjjjjjjjjjj--:"+j)
467
+ console.log("iiiiiiiiiii---:"+i)
468
+ console.log("temp[j-1][newtemp[t]]:"+temp[j-1][newtemp[t]])
469
+ console.log("temp[j][newtemp[t]]:"+temp[j][newtemp[t]])
470
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&temp[j][newtemp[t]].indexOf('*&')==-1){
471
+ flag=true
472
+ break
473
+ }
474
+ }
475
+ console.log(j,i,flag)
476
+ if(flag){
477
+ ss=temp[j][newtemp[i]]
478
+ continue
479
+ }
480
+ }
481
+ if(temp[j][newtemp[i]]==ss){
482
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
483
+ }else {
484
+ ss=temp[j][newtemp[i]]
485
+ }
486
+ }
487
+ }
488
+ console.log(temp,'chulijieshu')
489
+ this.model.rows=JSON.parse(JSON.stringify(temp))
490
+ }
491
+ },
492
+ computed:{
493
+ exportParameter(){
494
+ // excel 导出条件拼接
495
+ return {
496
+ condition: this.$refs.paged.model.condition,
497
+ groupName: this.groupNameForSql
498
+ }
499
+ }
500
+ }
501
+ }
502
+ </script>
503
+
504
+ <style scoped>
505
+
506
+ .td-0{
507
+ border: 1px solid #000000;
508
+ }
509
+
510
+ .td-1{
511
+ border: none;
512
+ border-top: 1px solid #000000;
513
+ border-left: 1px solid #000000;
514
+ border-right: 1px solid #000000;
515
+ }
516
+
517
+ .td-2{
518
+ border: none;
519
+ border-left: 1px solid #000000;
520
+ border-right: 1px solid #000000;
521
+ }
522
+ .td-4{
523
+ border: none;
524
+ border-top: 1px solid #000000;
525
+ border-left: 1px solid #000000;
526
+ border-right: 1px solid #000000;
527
+ border-bottom: 1px solid #000000;
528
+ }
529
+ .td-3{
530
+ border: none;
531
+ border-left: 1px solid #000000;
532
+ border-right: 1px solid #000000;
533
+ border-bottom: 1px solid #000000;
534
+ }
535
+ </style>