safecheck-client 4.0.0-64 → 4.0.0-66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -149,10 +149,10 @@
149
149
  <v-select class="select_list select"
150
150
  placeholder='抄表册' style="width: 60%"
151
151
  :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
152
- :options='$parent.$parent.cbc'
152
+ :options='$parent.$parent.checkBooks'
153
153
  filer-key="name"
154
154
  close-on-select clear-button
155
- condition="f_meter_book_num={}"
155
+ condition="f_check_book_name like '%{}%'"
156
156
  :value-single="true">
157
157
  </v-select>
158
158
  </div>
@@ -529,7 +529,8 @@ export default {
529
529
  sliceArea: [],
530
530
  cbcs:[],
531
531
  cbc:[],
532
- pcds:[]
532
+ pcds:[],
533
+ checkBooks:[]
533
534
  }
534
535
  },
535
536
  props: {
@@ -560,8 +561,33 @@ export default {
560
561
  this.model.f_OrgStr = this.$login.f.orgpathstr
561
562
  this.Mreadibook(`('${this.$login.f.orgid}')`)
562
563
  this.getAllMeterBook(`('${this.$login.f.orgid}')`)
564
+ document.addEventListener('keydown', this.handleEnter, true);
563
565
  },
564
566
  methods: {
567
+ handleEnter(e) {
568
+ if (e.key === 'Enter') {
569
+ this.$refs.paged.$refs.criteria.search()
570
+ }
571
+ },
572
+ getCheckBook(){
573
+ this.checkBooks=[]
574
+ new HttpResetClass().load('POST', `/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
575
+ data: {
576
+ items: 'id,f_check_book_name,f_check_book_type',
577
+ tablename: 't_check_book',
578
+ condition: `f_orgid = '${this.$login.f.orgid}'`,
579
+ orderitem: 'id desc'
580
+ }
581
+ }, {resolveMsg: null, rejectMsg: null}).then(res => {
582
+ this.checkBooks.push({label: '全部', value: ''})
583
+ res.data.forEach(ress => {
584
+ this.checkBooks.push({
585
+ label: ress.f_check_book_name,
586
+ value: ress.f_check_book_name
587
+ })
588
+ })
589
+ })
590
+ },
565
591
 
566
592
  dateDiff(date1Str) {
567
593
  // 确保传入的date1Str是有效的字符串格式
@@ -836,7 +862,7 @@ export default {
836
862
  changeStates() {
837
863
  if (this.checkedAll) {//实现反选/
838
864
  this.checkrows = [];
839
- for (let i = 0; i < this.$refs.paged.model.rows.length; i++) {
865
+ for (let i = 0; i < c.rows.length; i++) {
840
866
  this.$set('$refs.paged.model.rows[' + i + '].checked', false)
841
867
  }
842
868
  } else {//实现全选
@@ -107,7 +107,9 @@
107
107
  <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
108
108
  <label for="f_checker_name">安检员</label>
109
109
  <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
110
- <label for="f_checker_name">档案数量</label>
110
+ <label for="f_user_number">档案数量</label>
111
+ <input type="checkbox" id="f_issue_time" value="f_issue_time" v-model="$parent.$parent.nameForSql"/>
112
+ <label for="f_issue_time">下发时间</label>
111
113
  </div>
112
114
  </div>
113
115
  </div>
@@ -125,6 +127,7 @@
125
127
  <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
126
128
  <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
127
129
  <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
130
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')"><nobr>下发时间</nobr></th>
128
131
  <th>
129
132
  <nobr>计划总数</nobr>
130
133
  </th>
@@ -165,6 +168,7 @@
165
168
  <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>
166
169
  <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>
167
170
  <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
171
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')">{{row.f_issue_time}}</td>
168
172
  <td style="text-align:center">{{row.f_plan_total}}</td>
169
173
  <td style="text-align:center">{{row.f_weijian}}</td>
170
174
  <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
@@ -235,7 +239,7 @@
235
239
  }
236
240
  },
237
241
  ready () {
238
- this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name']
242
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name', 'f_issue_time']
239
243
  this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
240
244
  this.pl()
241
245
  // this.search()
@@ -283,6 +287,8 @@
283
287
  this.exportExcelField.f_residential_area='小区名称'
284
288
  }if (ff==='f_user_number') {
285
289
  this.exportExcelField.f_user_number='档案数量'
290
+ }if (ff==='f_issue_time') {
291
+ this.exportExcelField.f_issue_time='下发时间'
286
292
  }
287
293
  }
288
294
  },
@@ -359,7 +365,7 @@
359
365
 
360
366
  // 拼接groupName1
361
367
  getGroupName1 () {
362
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
368
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
363
369
  var newtemp=[]
364
370
 
365
371
  for (var i=0;i<temp.length;i++){
@@ -396,7 +402,7 @@
396
402
  }
397
403
  this.listflag=true
398
404
  //tag
399
- var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number']
405
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
400
406
  var newtemp=[]
401
407
  for (var i=0;i<temp.length;i++){
402
408
  for (var j=0;j<this.nameForSql.length;j++){
@@ -0,0 +1,511 @@
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 :data="$parent.$parent.exportParameter"
61
+ :field="$parent.$parent.exportExcelField"
62
+ sqlurl="api/af-safecheck/logic/exportfile" sql-name="getCheckPlanAreaList"
63
+ template-name='安检汇总' :choose-col="true">
64
+ </export-excel>-->
65
+ <button id="btnaaaa" style="float: right" class="button_search"
66
+ @click="$parent.$parent.exportexcel()"
67
+ v-el:cx>导出</button>
68
+ <button id="btnaaa" style="float: right" class="button_search"
69
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
70
+ v-el:cx>查询</button>
71
+ </div>
72
+ </div>
73
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
74
+ <label class="font_normal_body">起始时间</label>
75
+ <datepicker
76
+ :value.sync="$parent.$parent.f_check_start"
77
+ placeholder='起始时间' style="width:60%"
78
+ :disabled-days-of-week="[]"
79
+ :format="'yyyy-MM'"
80
+ :select-month="true"
81
+ :show-rest-button="reset">
82
+ </datepicker>
83
+ </div>
84
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
85
+ <label class="font_normal_body">结束时间</label>
86
+ <datepicker
87
+ :value.sync="$parent.$parent.f_check_end"
88
+ placeholder='结束时间' style="width:60%"
89
+ :disabled-days-of-week="[]"
90
+ :format="'yyyy-MM'"
91
+ :select-month="true"
92
+ :show-rest-button="reset">
93
+ </datepicker>
94
+ </div>
95
+ </div>
96
+ <div class="row">
97
+ <div class="col-sm-12">
98
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
99
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
100
+ <label for="f_plan_month">计划月份</label>
101
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
102
+ <label for="f_no_checkplan">计划类型</label>
103
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
104
+ <label for="f_residential_area">小区名称</label>
105
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
106
+ <label for="f_plan_name">计划名称</label>
107
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
108
+ <label for="f_checker_name">安检员</label>
109
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
110
+ <label for="f_user_number">档案数量</label>
111
+ <input type="checkbox" id="f_issue_time" value="f_issue_time" v-model="$parent.$parent.nameForSql"/>
112
+ <label for="f_issue_time">下发时间</label>
113
+ </div>
114
+ </div>
115
+ </div>
116
+
117
+ </criteria>
118
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
119
+ <template partial='head'>
120
+ <tr>
121
+ <th>
122
+ <nobr>序号</nobr>
123
+ </th>
124
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
125
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
126
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
127
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
128
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
129
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
130
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')"><nobr>下发时间</nobr></th>
131
+ <th>
132
+ <nobr>计划总数</nobr>
133
+ </th>
134
+ <th>
135
+ <nobr>未检</nobr>
136
+ </th>
137
+ <th>
138
+ <nobr>已检</nobr>
139
+ </th>
140
+ <th>
141
+ <nobr>入户</nobr>
142
+ </th>
143
+ <th>
144
+ <nobr>到访不遇</nobr>
145
+ </th>
146
+ <th>
147
+ <nobr>拒检</nobr>
148
+ </th>
149
+ <th>
150
+ <nobr>安检率</nobr>
151
+ </th>
152
+ <!--<th>-->
153
+ <!--<nobr>查看</nobr>-->
154
+ <!--</th>-->
155
+ </tr>
156
+ </template>
157
+ <template partial='body'>
158
+ <tr>
159
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
160
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
161
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
162
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
163
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
164
+ <!-- <td style="text-align:center" 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>-->
165
+ <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>
166
+ <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>
167
+ <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>
168
+ <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>
169
+ <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>
170
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
171
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')">{{row.f_issue_time}}</td>
172
+ <td style="text-align:center">{{row.f_plan_total}}</td>
173
+ <td style="text-align:center">{{row.f_weijian}}</td>
174
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
175
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
176
+ <td style="text-align:center">{{row.f_buyu}}</td>
177
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
178
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
179
+ </tr>
180
+ </template>
181
+ <template partial="foot">
182
+ <tr>
183
+ <td style="text-align:center"><strong>合计:</strong></td>
184
+ <td style="text-align:center" :colspan="$parent.$parent.$parent.nameForSql.length"></td>
185
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total}}</strong></td>
186
+ <td style="text-align:center"><strong>{{model.sums.f_weijian}}</strong></td>
187
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_yijian}}</strong></nobr></td>
188
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_ruhu}}</strong></nobr></td>
189
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_buyu}}</strong></nobr></td>
190
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_jujian}}</strong></nobr></td>
191
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total>0?(model.sums.f_yijian/model.sums.f_plan_total*100).toFixed(2)+'%':0}}</strong></td>
192
+ </tr >
193
+ </template>
194
+ </data-grid>
195
+ </criteria-paged>
196
+ </div>
197
+ </template>
198
+
199
+ <script>
200
+ /**
201
+ *阶梯气价查询列表
202
+ */
203
+ import {PagedList} from 'vue-client'
204
+ import { HttpResetClass } from 'vue-client'
205
+ import * as Util from "../../../components/Util";
206
+ import XLSX from 'xlsx'
207
+ export default {
208
+ data () {
209
+ return {
210
+ model: new PagedList('api/af-safecheck/sql/getCheckPlanAreaList', 99999,{},{f_plan_total:'',f_weijian:'',f_yijian:'',f_ruhu:'',f_buyu:'',f_jujian:''}),
211
+ // 公司下拉
212
+ curorgid: [this.$login.f.orgid],
213
+ row: {},
214
+ f_orgid: '',
215
+ nameForSql: [],
216
+ groupNameForSql: '',
217
+ listflag:false,
218
+ nameflag:false,
219
+ criteriaShow: false,
220
+ f_check_start:new Date().getFullYear() + '-01',
221
+ f_check_end:new Date().getFullYear() + '-12',
222
+ planName:[{label: '全部', value: ''}],
223
+ exportExcelField: {
224
+ 'f_weijian':'未检',
225
+ 'f_yijian':'已检',
226
+ 'f_ruhu':'入户',
227
+ 'f_buyu':'到访不遇',
228
+ 'f_jujian':'拒检',
229
+ 'f_check_bv':'安检率'
230
+ }
231
+ }
232
+ },
233
+ props: {
234
+ row: {},
235
+ config: {},
236
+ ispartial: false,
237
+ f_filialeid: {
238
+ type: String
239
+ }
240
+ },
241
+ ready () {
242
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name', 'f_issue_time']
243
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
244
+ this.pl()
245
+ // this.search()
246
+
247
+ },
248
+ methods: {
249
+ exportexcel(){
250
+ //tag
251
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
252
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
253
+ console.log(aa)
254
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
255
+ try {
256
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
257
+ } catch(e) {
258
+ //tag;
259
+ }
260
+ },
261
+ // 获取导出列
262
+ getexportExcelField(){
263
+ this.exportExcelField = {
264
+ 'f_weijian':'未检',
265
+ 'f_yijian':'已检',
266
+ 'f_ruhu':'入户',
267
+ 'f_buyu':'到访不遇',
268
+ 'f_jujian':'拒检',
269
+ 'f_check_bv':'安检率',
270
+ 'f_plan_total':'计划总数'
271
+ }
272
+ let forName = this.groupNameForSql.split(",")
273
+ for (let i = 0; i < forName.length; i++) {
274
+ let ff = forName[i]
275
+ if (ff==='f_plan_month') {
276
+ this.exportExcelField.f_plan_month='计划月份'
277
+ }
278
+ if (ff==='f_no_checkplan') {
279
+ this.exportExcelField.f_no_checkplan='计划类型'
280
+ }
281
+ if (ff==='f_plan_name') {
282
+ this.exportExcelField.f_plan_name='计划名称'
283
+ }
284
+ if (ff==='f_checker_name') {
285
+ this.exportExcelField.f_checker_name='安检员'
286
+ }if (ff==='f_residential_area') {
287
+ this.exportExcelField.f_residential_area='小区名称'
288
+ }if (ff==='f_user_number') {
289
+ this.exportExcelField.f_user_number='档案数量'
290
+ }if (ff==='f_issue_time') {
291
+ this.exportExcelField.f_issue_time='下发时间'
292
+ }
293
+ }
294
+ },
295
+ pl() {
296
+ let getGasman = new HttpResetClass()
297
+ getGasman.load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
298
+ data: {
299
+ items: "id,f_plan_name",
300
+ tablename: "t_check_plan",
301
+ condition: `f_filialeid = '${this.curorgid}'`,
302
+ orderitem: "id"
303
+ }
304
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
305
+ //tag
306
+ //tag
307
+ //tag
308
+ for (let i = 0; i < plne.data.length; i++) {
309
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
310
+ }
311
+ //tag
312
+ })
313
+ },
314
+ hiddenr() {
315
+ this.$parent.isdetail = !this.$parent.isdetail
316
+ },
317
+ hidden() {
318
+ this.criteriaShow = !this.criteriaShow
319
+ },
320
+ search () {
321
+ this.$refs.paged.$refs.cri.search()
322
+ this.$dispatch('search')
323
+ },
324
+ getorg (val) {
325
+ this.f_orgid = this.$login.convertToIn(val.resids)
326
+ this.f_filialeid = val[0]
327
+
328
+ },
329
+ selfSearch (args) {
330
+ if (!this.f_orgid) {
331
+ this.getorg([this.$login.f.orgid])
332
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
333
+ }
334
+ if (this.f_orgid) {
335
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
336
+ }
337
+ if(this.f_check_start && this.f_check_end){
338
+ if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
339
+ 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}`
340
+ }else {
341
+ args.condition += ` and (
342
+ (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
343
+ or
344
+ ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
345
+ or
346
+ (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
347
+ }
348
+ } else {
349
+ if(this.f_check_start){
350
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
351
+ }
352
+ if(this.f_check_end){
353
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
354
+ }
355
+ }
356
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
357
+ if (this.groupNameForSql=='undefined'){
358
+ //tag
359
+ this.$showMessage("请至少选择一项进行汇总")
360
+ return
361
+ }
362
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
363
+ this.model.search(args.condition, args.model)
364
+ },
365
+
366
+ // 拼接groupName1
367
+ getGroupName1 () {
368
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
369
+ var newtemp=[]
370
+
371
+ for (var i=0;i<temp.length;i++){
372
+ for (var j=0;j<this.nameForSql.length;j++){
373
+ //tag
374
+ if(temp[i]==this.nameForSql[j]){
375
+ newtemp.push(this.nameForSql[j])
376
+ }
377
+ }
378
+ }
379
+ let str = ''
380
+
381
+ for (var i=0;i < newtemp.length - 1; i++) {
382
+ str += newtemp[i] + ','
383
+ }
384
+ str += newtemp[i]
385
+ this.groupNameForSql = str.trim()
386
+ }
387
+ },
388
+ watch: {
389
+ // 'nameForSql' () {
390
+ //
391
+ // this.getGroupName1()
392
+ // },
393
+ 'nameForSql' () {
394
+ var e = document.createEvent("MouseEvents");
395
+ e.initEvent("click", true, true);
396
+ document.getElementById("btnaaa").dispatchEvent(e);
397
+ },
398
+ 'model.rows'(){
399
+ //tag
400
+ if(this.listflag){
401
+ return;
402
+ }
403
+ this.listflag=true
404
+ //tag
405
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
406
+ var newtemp=[]
407
+ for (var i=0;i<temp.length;i++){
408
+ for (var j=0;j<this.nameForSql.length;j++){
409
+ //tag
410
+ if(temp[i]==this.nameForSql[j]){
411
+ newtemp.push(this.nameForSql[j])
412
+ }
413
+ }
414
+ }
415
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
416
+ return
417
+ }
418
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
419
+
420
+ //遍历查询结果 为指定列增加样式
421
+ for (var i=0;i<newtemp.length-1;i++){
422
+ if(newtemp[i]=='f_user_number'){
423
+ return;
424
+ }
425
+ //tag
426
+ var ss=''
427
+ for (var j=0;j<temp.length;j++){
428
+ if(j>0&&i>0){
429
+ var flag=false
430
+ for(var t=i-1;t>-1;t--){
431
+ //tag
432
+ //tag
433
+ //tag
434
+ //tag
435
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
436
+ flag=true
437
+ break
438
+ }
439
+ }
440
+ //tag
441
+ if(flag){
442
+ ss=temp[j][newtemp[i]]
443
+ continue
444
+ }
445
+ }
446
+ if(temp[j][newtemp[i]]==ss){
447
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
448
+ }else {
449
+ ss=temp[j][newtemp[i]]
450
+ }
451
+ }
452
+ }
453
+ //tag
454
+ this.model.rows=JSON.parse(JSON.stringify(temp))
455
+ },
456
+ 'model.rows.length'() {
457
+ // 如果查询无结果,将合计置为0
458
+ if(this.model.rows.length < 1){
459
+ this.model.sums.f_plan_total = 0
460
+ this.model.sums.f_weijian = 0
461
+ this.model.sums.f_yijian = 0
462
+ this.model.sums.f_ruhu = 0
463
+ this.model.sums.f_buyu = 0
464
+ this.model.sums.f_jujian = 0
465
+ }
466
+ }
467
+ },
468
+ computed:{
469
+ exportParameter(){
470
+ // excel 导出条件拼接
471
+ return {
472
+ condition: this.$refs.paged.model.condition,
473
+ groupName: this.groupNameForSql
474
+ }
475
+ }
476
+ }
477
+ }
478
+ </script>
479
+
480
+ <style scoped>
481
+
482
+ .td-0{
483
+ border: 1px solid #000000;
484
+ }
485
+
486
+ .td-1{
487
+ border: none;
488
+ border-top: 1px solid #000000;
489
+ border-left: 1px solid #000000;
490
+ border-right: 1px solid #000000;
491
+ }
492
+
493
+ .td-2{
494
+ border: none;
495
+ border-left: 1px solid #000000;
496
+ border-right: 1px solid #000000;
497
+ }
498
+ .td-4{
499
+ border: none;
500
+ border-top: 1px solid #000000;
501
+ border-left: 1px solid #000000;
502
+ border-right: 1px solid #000000;
503
+ border-bottom: 1px solid #000000;
504
+ }
505
+ .td-3{
506
+ border: none;
507
+ border-left: 1px solid #000000;
508
+ border-right: 1px solid #000000;
509
+ border-bottom: 1px solid #000000;
510
+ }
511
+ </style>