safecheck-client 3.0.35-43 → 3.0.35-46

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