centaline-data-driven 1.2.24 → 1.2.27

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.
@@ -1,41 +1,101 @@
1
1
  <template>
2
- <div>
3
- <!-- 联系人 -->
4
- <div class="contacts-head">
5
- <div class="title-l">联系人信息</div>
6
- <component class="el-button contacts-but el-button--info el-button--mini max-info"
7
- v-if="apiRouter!==null && !flagLook" :is="apiRouter.is" :vmodel="apiRouter"
8
- @click="lookOwner(apiRouter,$event)"></component>
9
- <div class="contacts-tips" v-else>
10
- <!-- <button class="el-button el-button--primary el-button--mini max-btn-add">新增联系人</button>
11
- <button class="el-button el-button--primary el-button--mini max-btn-add">通话记录</button>
12
- <button class="el-button el-button--primary el-button--mini max-btn-add">查看历史号码</button> -->
13
- <component class="el-button el-button--primary el-button--mini max-btn-add"
14
- v-if="model && model.buttons!==null && model.buttons.length>0"
15
- v-for="(col, index) in model.buttons" :key="index"
16
- :is="col.is" :vmodel="col"
17
- @click="fieldClickHandler(col,$event)"></component>
18
- </div>
19
- </div>
20
- <!-- 表格 -->
21
- <div class="contacts-table" v-show="flagLook">
22
- <el-table :data="tableData" stripe fit style="width: 100%" :header-cell-style="{background:'#f3f3f3',color:'#333333'}">
23
- <el-table-column v-for="(item,index) in columnList" :key="index"
24
- :property="item.prop" :label="item.label" :min-width="item.width" >
25
- <template slot-scope="scope">
26
- <span v-if="scope.column.property=='phone'">{{scope.row.phone }}</span>
27
- <span v-else-if="scope.column.property=='tel'">{{scope.row.tel}}</span>
28
- <span v-else>
29
- {{scope.row[scope.column.property]}}
2
+ <div v-if="apiRouter!=={}">
3
+ <!-- 联系人 -->
4
+ <div class="contacts-head">
5
+ <div class="title-l">联系人信息</div>
6
+ <component class="el-button contacts-but el-button--info el-button--mini max-info"
7
+ v-if="!flagLook" :is="apiRouter.is" :vmodel="apiRouter"
8
+ @click="lookOwner(apiRouter,$event)"></component>
9
+ <div class="contacts-tips" v-else>
10
+ <component class="el-button el-button--primary el-button--mini max-btn-add"
11
+ v-if="model && model.buttons!==null && model.buttons.length>0"
12
+ v-for="(col, index) in model.buttons" :key="index"
13
+ :is="col.is" :vmodel="col"
14
+ @click="fieldClickHandler(col,$event)"></component>
15
+ </div>
16
+ </div>
17
+ <!-- 表格 -->
18
+ <div class="contacts-table ct-tableParent ct-searchtable" v-if="flagLook">
19
+ <div class="ct-table-content">
20
+ <table border="0" cellpadding="0" cellspacing="0" :class="['ct-table',model.attrs.size?'ct-table-'+model.attrs.size:'']">
21
+ <!--表头-->
22
+ <thead ref="tableHead">
23
+ <tr class="ct-tr" ref="headTr" v-for="(columns,columnsIndex) in model.columnsArr" :key="columnsIndex">
24
+ <th v-if="model.isMulti && columnsIndex === 0" ref="headLeftThs" class="ct-td left-fixation-th checkbox-td" :class="[model.tdClass]">
25
+ <label class="el-checkbox"><span class="el-checkbox__input" :class="model.selectAllType">
26
+ <span class="el-checkbox__inner"></span>
27
+ <input type="checkbox" @click="selectAll($event)" v-model="model.selectAll" class="el-checkbox__original checkbox-td-1" aria-hidden="false" />
30
28
  </span>
31
- </template>
32
- </el-table-column>
33
- </el-table>
34
- </div>
29
+ </label>
30
+ </th>
31
+ <th :ref="column.fixed?(column.fixed==='left'?'headLeftThs':'headRightThs'):'headThs'" v-for="(column,colIndex) in columns" :key="colIndex"
32
+ v-if="column.show" class="ct-td ct-searchtable-th"
33
+ :rowspan="column.rowspan"
34
+ :colspan="column.colspan"
35
+ :class="[colHasWidth[colIndex],column.sortAction,model.tdClass,
36
+ colIndex === leftShadow?'shadowLeft':null,
37
+ colIndex === rightShadow?'shadowRight':null,
38
+ column.fixed === 'left'?'left-fixation-th':null,
39
+ column.fixed === 'right'?'right-fixation-th':null,
40
+ column.width === undefined?'ct-table-auto':null,
41
+ typeof column.fixed === 'undefined'?'right-no-fixation-th':null]"
42
+ v-bind="column.attrs">
43
+ <span>{{column.name}}</span>
44
+ </th>
45
+ </tr>
46
+ </thead>
47
+ <!--表体-->
48
+ <tbody>
49
+ <!--可视区域的行数据-->
50
+ <tr v-for="(row,rowindex) in model.listData" :key="rowindex"
51
+ v-if="pageRowMin <= rowindex && rowindex <= pageRowMax"
52
+ :ref="'rows.'+rowindex" @click="rowClickHandle($event,rowindex)"
53
+ class="ct-tr"
54
+ :style="row.$style">
55
+ <td v-if="model.isMulti" class="ct-td tdFiexd left-fixation checkbox-td" :class="[model.tdClass]" align="center">
56
+ <label v-if="!model.rightMulti || row[model.rightMulti] == 1" class="el-checkbox is-checked"><span class="el-checkbox__input" :class="rowCheckClass(row)">
57
+ <span class="el-checkbox__inner"></span>
58
+ <input type="checkbox" v-model="row.$select" @change="selectOne($event)" class="el-checkbox__original checkbox-td-1" />
59
+ </span>
60
+ </label>
61
+ </td>
62
+ <td :ref="column.fixed?(column.fixed==='left'?'headLeftTds':'headRightTds'):null"
63
+ v-for="(column,colIndex) in model.dataFieldcolumns" :key="colIndex"
64
+ v-if="tdShow(column, row)"
65
+ :rowspan="tdRowspan(column, row)"
66
+ class="ct-td"
67
+ :class="[colHasWidth[colIndex],model.tdClass,
68
+ colIndex === leftShadow?'shadowLeft':null,
69
+ colIndex === rightShadow?'shadowRight':null,
70
+ column.fixed === 'left'?'left-fixation':null,
71
+ column.width === undefined?'ct-table-auto':null,
72
+ column.fixed === 'right'?'right-fixation':null]"
73
+ v-bind="column.attrs">
74
+ <!--操作列-->
75
+ <div v-if="column.id==='operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
76
+ <ct-tablecurrency v-for="(router,rowRouterIndex) in model.rowRouter" :key="rowRouterIndex" v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
77
+ :router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
78
+ </ct-tablecurrency>
79
+ </div>
80
+ <!--可点击的列-->
81
+ <ct-tablecurrency v-else-if="column.router" :align="column.attrs.align" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :router="column.router" :colValue="row[column.id]" :rowData="row"
82
+ @click="rolRouterClickHandler">
83
+ </ct-tablecurrency>
84
+ <!--正常的列-->
85
+ <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
86
+ {{row[column.id]}}
87
+ </div>
88
+ </td>
89
+ </tr>
90
+ <!--适配滚动条-->
91
+ <tr v-else v-bind:style="{ height: row.$heigth + 'px' }"></tr>
92
+ </tbody>
93
+ </table>
94
+ </div>
35
95
  </div>
96
+ </div>
36
97
  </template>
37
98
 
38
-
39
99
  <script>
40
100
  import dynamicElement from '../../mixins/dynamicElement';
41
101
  export default {
@@ -53,62 +113,12 @@
53
113
  data() {
54
114
  return {
55
115
  flagLook: false,
56
- columnList: [
57
- {
58
- prop: 'name',
59
- label: '联系人',
60
- width: '80'
61
- },
62
- {
63
- prop: 'type',
64
- label: '类型',
65
- width: '60'
66
- },
67
- {
68
- prop: 'phone',
69
- label: '手机',
70
- width: '125'
71
- },
72
- {
73
- prop: 'tel',
74
- label: '座机',
75
- width: '170'
76
- },
77
- {
78
- prop: 'wx',
79
- label: '微信',
80
- width: '150'
81
- },
82
- {
83
- prop: 'entTime',
84
- label: '录入时间',
85
- width: '150'
86
- },
87
- {
88
- prop: 'entUser',
89
- label: '录入人',
90
- width: '80'
91
- },
92
- {
93
- prop: 'remarks',
94
- label: '操作',
95
- // width:'180'
96
- },
97
- ],
98
- tableData: [
99
- {
100
- name: '王建国先生',
101
- type: '业主',
102
- phone: '13866668888',
103
- tel: '0275-55556666-5896',
104
- wx: '555566665896',
105
- entTime: '2021-10-26 29:27:25',
106
- entUser: '王天',
107
- remarks: '删除',
108
- isIcon: true,
109
- },
110
- ],
111
- opening:'first',
116
+ leftShadow: -1,//左阴影个数
117
+ rightShadow: -1,//右阴影个数
118
+ currentRow: null,
119
+ colHasWidth: {},//有无列宽集合
120
+ pageRowMin: 0,//页面实际的第一行号
121
+ pageRowMax: 100,//页面实际的第后行号
112
122
  }
113
123
  },
114
124
  mounted() {
@@ -123,9 +133,23 @@
123
133
  var self = this;
124
134
  this.model = data;
125
135
  this.model.$vue = self;
126
- },
127
- loadFields() {
128
- var self = this;
136
+ self.model.columns.forEach((v, vi) => {
137
+ if (v.fixed === 'left') {
138
+ self.leftShadow = vi;
139
+ }
140
+ if (v.fixed === 'right' && self.rightShadow < 0) {
141
+ self.rightShadow = vi;
142
+ }
143
+ if (typeof v.width !== 'undefined') {
144
+ self.colHasWidth[vi] = '';
145
+ }
146
+ else {
147
+ self.colHasWidth[vi] = 'nowidth';
148
+ }
149
+ });
150
+ this.model.scripts.formData = this.model.formData;
151
+ this.model.scripts.formData.formTable = this.model;
152
+ console.log(this.model);
129
153
  },
130
154
  lookOwner(router) {
131
155
  var self = this;
@@ -146,7 +170,66 @@
146
170
  this.model.detailHeight = detailHeight < 40 ? 350 : detailHeight;
147
171
  }
148
172
  });
149
- },
173
+ },
174
+ rowClickHandle(ev, index) {
175
+ this.model.selectIndex = index;
176
+ this.rowColorChange();
177
+ ev.cancelBubble = true;
178
+ ev.stopPropagation();
179
+ },
180
+ rowColorChange() {
181
+ var index = this.model.selectIndex;
182
+ if (typeof this.$refs['rows.' + index] !== "undefined" && this.currentRow !== this.$refs['rows.' + index][0]) {
183
+ if (this.currentRow !== null) {
184
+ for (var i = 0; i < this.currentRow.children.length; i++) {
185
+ this.currentRow.children[i].classList.remove('select');
186
+ }
187
+ }
188
+ if (this.$refs['rows.' + index][0]) {
189
+ for (var j = 0; j < this.$refs['rows.' + index][0].children.length; j++) {
190
+ this.$refs['rows.' + index][0].children[j].classList.add('select');
191
+ }
192
+ }
193
+ this.currentRow = this.$refs['rows.' + index][0] || null;
194
+ }
195
+ },
196
+ tdRowspan(column, row) {
197
+ if (!column.show) {
198
+ return '';
199
+ }
200
+
201
+ //合并行
202
+ if (row.$rowspan !== 0 && this.model.rowMergedColumns.indexOf(column.id) > -1) {
203
+ return row.$rowspan;
204
+ }
205
+
206
+ return '';
207
+ },
208
+ tdShow(column, row) {
209
+ if (!column.show) {
210
+ return false;
211
+ }
212
+
213
+ //合并行
214
+ if (row.$rowspan === 0 && this.model.rowMergedColumns.indexOf(column.id) > -1) {
215
+ return false;
216
+ }
217
+
218
+ return true;
219
+ },
220
+ rolRouterClickHandler(field, rowData) {
221
+ var submitData = {};
222
+ field.submitListField.forEach((k) => {
223
+ submitData[k] = rowData[k];
224
+ });
225
+
226
+ let action = field.action;
227
+ if (field.actionField) {
228
+ action = rowData[field.actionField];
229
+ }
230
+
231
+ this.routerClickHandler(field, submitData, action);
232
+ },
150
233
  fieldClickHandler(field) {
151
234
  var self = this;
152
235
  var callBack=null;
@@ -307,602 +390,28 @@
307
390
  }
308
391
  </script>
309
392
  <style lang="scss" scoped>
310
- .details-content{
311
- font-size: 12px;
312
- .title-l{
313
- font-weight: Bold;
314
- font-size: 16px;
315
- color: #333333;
316
- }
317
- .details-head{
318
- padding: 16px;
319
- display: flex;
320
- .head-type{
321
- font-size: 20px;
322
- background: #EE6B6B;
323
- color: #FFFFFF;
324
- padding: 0 14px;
325
- border-radius: 6px;
326
- max-height: 40px;
327
- line-height: 40px;
328
- font-weight: Bold;
329
-
330
- }
331
- .head-info{
332
- margin-left: 10px;
333
- }
334
- .title{
335
- font-weight: Bold;
336
- font-size: 16px;
337
- margin-bottom: 3px;
338
-
339
- }
340
- .head-line{
341
- display: inline-block;
342
- height: 16px;
343
- width: 2px;
344
- background: #333333;
345
- margin: 0 4px;
346
- position: relative;
347
- top: 1.5px;
348
- }
349
- .collection{
350
- font-size: 18px;
351
- margin-left: 10px;
352
- cursor: pointer;
353
- vertical-align: -2.85px;
354
- }
355
- .title-other {
356
- color: #999999;
357
- margin-bottom: 14px;
358
- font-size: 12px;
359
- span {
360
- margin-right: 20px;
361
- }
362
- .other-icon {
363
- font-size: 16px;
364
- }
365
- .location{
366
- font-size: 16px;
367
- vertical-align: -2.85px;
368
- }
369
- }
370
- .title-tags {
371
- display: flex;
372
- .t-tag {
373
- color: #999999;
374
- background: #F3F3F3;
375
- border: 1px solid #d8d8d8;
376
- padding: 2px 9px;
377
- border-radius: 3px;
378
- margin-right: 10px;
379
- }
380
- }
381
- .head-but{
382
- margin-left: auto;
383
- font-size: 12px;
384
- text-align: right;
385
- .max-report{
386
- height: 26px;
387
- color: #333333;
388
- background-color: #FFFFFF;
389
- border: 1px solid #E0E0E0;
390
- border-radius: 6px;
391
- font-size: 12px;
392
- }
393
- .max-report:hover .report-cont{
394
- display: block;
395
- color: #333;
396
- }
397
- .report-cont{
398
- display: none;
399
- width: 115px;
400
- background: #fff;
401
- -webkit-box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%);
402
- box-shadow: 0 0 10px 0 rgb(0 0 0 / 15%);
403
- border-radius: 5px;
404
- list-style: none;
405
- position: absolute;
406
- left: -61px;
407
- top: 26px;
408
- padding: 5px 0;
409
- color: #333;
410
- }
411
- .report-cont li{
412
- padding: 5px 10px;
413
- }
414
- }
415
-
416
-
393
+ .details-content{
394
+ font-size: 12px;
395
+ .title-l{
396
+ font-weight: Bold;
397
+ font-size: 16px;
398
+ color: #333333;
399
+ }
400
+ .contacts-head {
401
+ display: flex;
402
+ align-items: center;
403
+ justify-content: space-between;
404
+
405
+ .contacts-but {
406
+ height: 30px;
407
+ font-weight: Bold;
417
408
  }
418
- .details-mid {
409
+ .contacts-tips {
419
410
  display: flex;
420
- justify-content: space-between;
421
- .mid-l {
422
- flex: 1;
423
- display: flex;
424
- flex-direction: column;
425
-
426
- .hous-info {
427
- padding-bottom: 10px;
428
- .base-clolr {
429
- color: #EE6B6B;
430
- }
431
- .expand-f {
432
- line-height: 15px;
433
- font-size: 18px;
434
- font-weight: bold;
435
- }
436
- .img-jsq{
437
- width: 14px;
438
- height: 14px;
439
- display: inline-block;
440
- margin-left: 10px;
441
- }
442
- .info-conten {
443
- display: flex;
444
- .info-row {
445
- display: flex;
446
- }
447
-
448
- .hous-t {
449
- width: 260px;
450
- .swiper-i {
451
- position: relative;
452
- width: 100%;
453
- height: 100%;
454
- img {
455
- width: 100%;
456
- height: 100%;
457
- }
458
- .hous-icon {
459
- width: 60px;
460
- height: 60px;
461
- position: absolute;
462
- top: 50%;
463
- left: 50%;
464
- transform: translate(-50%, -50%);
465
- }
466
- }
467
-
468
- .hous-img {
469
- margin-top: 10px;
470
- width: 100%;
471
- overflow-x: hidden;
472
- overflow-y: hidden;
473
- white-space: nowrap;
474
- .img-i {
475
- position: relative;
476
- width: 80px;
477
- height: 44px;
478
- margin-right: 10px;
479
- display: inline-block;
480
- img{
481
- width: 100%;
482
- height: 100%;
483
-
484
- }
485
- .img-bot {
486
- width: 100%;
487
- height: 16px;
488
- background: rgba(0, 0, 0, 0.5);
489
- color: #fff;
490
- position: absolute;
491
- bottom: 0;
492
- font-weight: Bold;
493
- .img-icon {
494
- width: 12px;
495
- height: 12px;
496
- margin: 0 5px;
497
- margin: 0 5px;
498
- vertical-align: -1.5px;
499
- }
500
- }
501
- }
502
- }
503
- }
504
- .hous-b {
505
- position: relative;
506
- margin-left: 16px;
507
- margin-top: 20px;
508
- flex: 1;
509
- .code-ewm {
510
- width: 32px;
511
- height: 32px;
512
- position: absolute;
513
- top: -32px;
514
- right: -12px;
515
- }
516
-
517
- .row-i {
518
- width: 33.3%;
519
- display: flex;
520
- }
521
- .info-mid {
522
- margin: 35px 0 0 0;
523
- padding: 20px;
524
- border-top: 1px solid #e0e0e0;
525
- border-bottom: 1px solid #e0e0e0;
526
- display: flex;
527
- justify-content: space-between;
528
- .mid-i {
529
- text-align: center;
530
- }
531
- .mid-i div:nth-child(1) {
532
- margin-bottom: 10px;
533
- }
534
- .mid-i div:nth-child(2) {
535
- font-size: 14px;
536
- font-weight: bold;
537
- }
538
- }
539
- }
540
- }
541
- .info-conten-b{
542
- display: flex;
543
- margin-top: 15px;
544
- .info-row {
545
- display: flex;
546
- width: 100%;
547
- padding-left: 9px;
548
- }
549
- .row-i{
550
- width: 25%;
551
- }
552
- .row-i100{
553
- width: 100%;
554
- }
555
- }
556
- .open-mero{
557
- text-align: center;
558
- padding: 3px 0;
559
- }
560
- // .mero{
561
-
562
- // vertical-align: 2px;
563
- // overflow: hidden;
564
- // margin-left: 5px;
565
- // }
566
- .more-colose{
567
- background: url('../../../assets/mero-colose.png')no-repeat;
568
- background-size: 100% 100%;
569
- width: 18px;
570
- height: 9px;
571
- display: inline-block;
572
- }
573
- .mero-open{
574
- background: url('../../../assets/more-open.png')no-repeat;
575
- background-size: 100% 100%;
576
- width: 18px;
577
- height: 9px;
578
- display: inline-block;
579
- }
580
- .hous-mero {
581
- display: flex;
582
- .mero-labe {
583
- min-width: 60px;
584
- }
585
- }
586
- }
587
-
588
- .contacts-info {
589
- padding: 16px;
590
- .contacts-head {
591
- display: flex;
592
- align-items: center;
593
- justify-content: space-between;
594
-
595
- .contacts-but {
596
- height: 30px;
597
- font-weight: Bold;
598
- }
599
- .contacts-tips {
600
- display: flex;
601
- }
602
- }
603
- .contacts-table {
604
- margin-top: 16px;
605
- .table-icon {
606
- font-size: 14px;
607
- margin-left: 4px;
608
- }
609
- .el-table {
610
- font-size: 12px;
611
- }
612
- .el-table th.el-table__cell > .cell {
613
- padding-left: 16px;
614
- }
615
- .el-table .cell {
616
- padding-left: 16px;
617
- }
618
- .el-table--striped
619
- .el-table__body
620
- tr.el-table__row--striped
621
- td.el-table__cell {
622
- background: 1px solid #E0E0E0;
623
- }
624
- }
625
- }
626
-
627
- .tablist-info {
628
- .details-tabs-box{
629
-
630
- .el-menu--horizontal > .el-menu-item{
631
- height: 30px;
632
- line-height: 30px;
633
- border-radius: none;
634
- }
635
- }
636
- }
637
-
638
- .contribute-info {
639
- .contribute-list {
640
- width: 100%;
641
- display: flex;
642
- align-content: flex-start;
643
- flex-flow: row wrap;
644
- .contribute-i {
645
- width: calc((100% - 16px * 3) / 4);
646
- margin: 16px 16px 0 0;
647
- padding: 16px 0 16px 16px;
648
- border: 1px solid #e0e0e0;
649
- border-radius: 6px;
650
- display: flex;
651
- img {
652
- width: 50px;
653
- height: 50px;
654
- margin-right: 6px;
655
- }
656
- .user-title {
657
- font-weight: Bold;
658
- font-size: 14px;
659
- margin-bottom: 8px;
660
- }
661
- .user-but{
662
- cursor: pointer;
663
- font-size: 12px;
664
- color: #FFFFFF;
665
- background: #FBD46D;
666
- height: 20px;
667
- line-height: 20px;
668
- border-radius: 3px;
669
- text-align: center;
670
- padding: 0 10px;
671
-
672
- }
673
-
674
- }
675
-
676
- .contribute-i:nth-child(4n) {
677
- margin-right: 0;
678
- }
679
- }
680
- }
681
- }
682
- .mid-l > div {
683
- margin-bottom: 10px;
684
- padding: 16px;
685
- }
686
- .mid-r > div {
687
- margin-bottom: 10px;
688
- padding: 16px;
689
- }
690
- .mid-r {
691
- width: 26.666%;
692
- margin-left: 10px;
693
-
694
- display: flex;
695
- flex-direction: column;
696
- .tab-conten {
697
- display: flex;
698
- margin-bottom: 16px;
699
- img {
700
- width: 50px;
701
- height: 50px;
702
- margin-right: 10px;
703
- }
704
- .user-name {
705
- display: flex;
706
- }
707
- .text {
708
- font-size: 14px;
709
- font-weight: Bold;
710
- margin-right: 10px;
711
- }
712
- .user-other {
713
- min-height: 200px;
714
- }
715
- .user-but{cursor: pointer;
716
- font-size: 12px;
717
- color: #FFFFFF;
718
- background: #FBD46D;
719
- height: 20px;
720
- line-height: 20px;
721
- border-radius: 3px;
722
- text-align: center;
723
- padding: 0 10px;
724
- }
725
- }
726
- .take-info {
727
- font-size: 16px;
728
- .red-text {
729
- font-size: 18px;
730
- font-weight: bold;
731
- color: #EE6B6B;
732
- }
733
- }
734
- .staff-info {
735
- padding-bottom: 10px;
736
- .open-mero{
737
- text-align: center;
738
- padding: 3px 0;
739
- }
740
- .more-colose{
741
- background: url('../../../assets/mero-colose.png')no-repeat;
742
- background-size: 100% 100%;
743
- width: 18px;
744
- height: 9px;
745
- display: inline-block;
746
- }
747
- .mero-open{
748
- background: url('../../../assets/more-open.png')no-repeat;
749
- background-size: 100% 100%;
750
- width: 18px;
751
- height: 9px;
752
- display: inline-block;
753
- }
754
- .hous-mero {
755
- display: flex;
756
- .mero-labe {
757
- min-width: 60px;
758
- }
759
- }
760
-
761
-
762
- }
763
- .operation-list {
764
- display: flex;
765
- align-items: center;
766
- justify-content: space-between;
767
- .list-item {
768
- width: 33.3%;
769
- height: 62px;
770
- font-size: 14px;
771
- text-align: center;
772
- font-weight: bold;
773
- border: none;
774
- }
775
- .list-item:hover {
776
- color: #fff;
777
- background: #FF9393;
778
- }
779
- .list-item:nth-child(2) {
780
- margin: 0 10px;
781
- }
782
- .list-item:nth-child(3) {
783
- margin-left: 0;
784
- }
785
- }
786
-
787
- .operation-table {
788
- padding: 0;
789
- .table-box {
790
- display: flex;
791
- // align-items: center;
792
- border-bottom: 1px solid #e0e0e0;
793
- .t-item {
794
- padding: 0 16px;
795
- font-size: 14px;
796
- flex: 1;
797
- position: relative;
798
- display: flex;
799
- flex-flow: column;
800
- align-items: flex-start;
801
- border-right: 1px solid #e0e0e0;
802
- .i {
803
- position: absolute;
804
- top: 50%;
805
- // left: 50%;
806
- transform: translateY(-50%);
807
- }
808
- .t-but {
809
- font-size: 12px;
810
- margin-left: 0;
811
- width: 104px;
812
- // height: 100%;
813
- // margin: 12px 16px 0 16px;
814
- margin-top: 12px;
815
- padding: 0;
816
- }
817
- .t-but:nth-last-child(1) {
818
- margin-bottom: 12px;
819
- }
820
- }
821
- .t-item:nth-last-child(1) {
822
- border-right: 0;
823
- }
824
- }
825
- .table-box:nth-last-child(1) {
826
- border-bottom: 0;
827
- }
828
- }
829
-
830
- .customer{
831
- background: #fff;
832
- border-radius: 6px;
833
- width: 100%;
834
- .customer-title{
835
- font-weight: Bold;
836
- font-size: 16px;
837
- color: #333;
838
- }
839
- .customre-line{
840
- width: 100%;
841
- height: 1px;
842
- margin-top: 10px;
843
- background: #E0E0E0;
844
- }
845
- .match-customre{
846
- display: flex;
847
- margin-top: 10px;
848
- .customre-name{
849
- font-weight: Bold;
850
- font-size: 14px;
851
- color: #333333;margin-right: 10px;
852
- }
853
- .t-tag{
854
- width: 41px;
855
- color: #999;
856
- background: #f3f3f3;
857
- border: 1px solid #d8d8d8;
858
- padding: 2px 9px;
859
- border-radius: 3px;
860
- margin-right: 10px;
861
- }
862
-
863
- }
864
- .user-but{
865
- cursor: pointer;
866
- font-size: 12px;
867
- color: #FFFFFF;
868
- background: #FBD46D;
869
- height: 20px;
870
- line-height: 20px;
871
- border-radius: 3px;
872
- text-align: center;
873
- padding: 0 10px;
874
-
875
- }
876
- .customr-name{
877
- position: absolute;
878
- right: 0;
879
- }
880
- .clearfix{
881
- clear: both;
882
- }
883
- .customre-l{
884
- float: left;
885
- width: 50%;
886
- margin-top: 10px;
887
- .row-i{
888
- padding: 5px 0;
889
- }
890
-
891
- }
892
-
893
- .customre-r{
894
- float: right;
895
- width: 50%;
896
- margin-top: 10px;
897
- .row-i{
898
- padding: 5px 0;
899
- }
900
- }
901
- }
902
- }
903
411
  }
904
412
  }
905
- // 按钮
413
+ }
414
+ // 按钮
906
415
  .max-info{
907
416
  height: 26px;
908
417
  color: #333333;
@@ -950,4 +459,168 @@
950
459
  .r{
951
460
  float: right;
952
461
  }
462
+
463
+ .ct-tableParent {
464
+ overflow: auto;
465
+ border-bottom: 1px solid #ebeef5;
466
+ width: 100%;
467
+ outline: 0;
468
+ }
469
+ .ct-searchtable .ct-table {
470
+ min-width: 100%;
471
+ border-collapse: separate;
472
+ }
473
+ .ct-searchtable .ct-table th {
474
+ background-color: #f4f7fa !important;
475
+ border-top: 1px solid #ebeef5;
476
+ }
477
+ .ct-searchtable .ct-tr > .ct-td {
478
+ padding: 2px 20px;
479
+ cursor: default;
480
+ background-color: #ffffff;
481
+ }
482
+ .ct-searchtable .ct-tr > .ct-td1 {
483
+ border-right: 1px solid #e7e8eb;
484
+ border-left: 1px solid #e7e8eb;
485
+ }
486
+ .ct-searchtable .ct-tr:last-child > .ct-td1 {
487
+ border-bottom: 1px solid #e7e8eb;
488
+ }
489
+ .ct-searchtable .ct-tr > .ct-td2 {
490
+ border-bottom: 1px solid #e7e8eb;
491
+ }
492
+ .ct-searchtable .ct-tr > .ct-td3 {
493
+ border: 1px solid #e7e8eb;
494
+ }
495
+ .shadowLeft {
496
+ border-right: 1px solid #e7e8eb;
497
+ box-shadow: 2px 0 3px -1px rgba(0,0,0,0.1);
498
+ }
499
+ .shadowRight {
500
+ box-shadow: -2px 0 3px -1px rgba(0,0,0,0.1);
501
+ }
502
+ .ct-searchtable body:last-child > .ct-td {
503
+ border-bottom: 0px;
504
+ }
505
+ .ct-searchtable .ct-tr > .ct-td.nowidth {
506
+ white-space: nowrap;
507
+ }
508
+
509
+ .ct-table {
510
+ color: #606266;
511
+ font-size: 18px;
512
+ line-height: 40px;
513
+ min-height: 40px;
514
+ }
515
+ .ct-table-mini {
516
+ font-size: 12px;
517
+ line-height: 26px;
518
+ min-height: 28px;
519
+ }
520
+ .ct-table-small {
521
+ font-size: 14px;
522
+ line-height: 32px;
523
+ min-height: 32px;
524
+ }
525
+ .ct-table-medium {
526
+ font-size: 16px;
527
+ line-height: 36px;
528
+ min-height: 36px;
529
+ }
530
+ .ct-table .ct-td > .caret-wrapper {
531
+ display: inline-flex;
532
+ flex-direction: column;
533
+ align-items: center;
534
+ height: 34px;
535
+ width: 10px;
536
+ vertical-align: middle;
537
+ cursor: pointer;
538
+ overflow: initial;
539
+ position: relative;
540
+ }
541
+ .ct-table .ct-td > .caret-wrapper > .sort-caret {
542
+ width: 0;
543
+ height: 0;
544
+ border: 5px solid transparent;
545
+ position: absolute;
546
+ left: 7px;
547
+ }
548
+ .ct-table .ct-td > .caret-wrapper > .sort-caret.ascending {
549
+ border-bottom-color: #c0c4cc;
550
+ top: 5px;
551
+ }
552
+ .ct-table .ct-td > .caret-wrapper > .sort-caret.descending {
553
+ border-top-color: #c0c4cc;
554
+ bottom: 7px;
555
+ }
556
+
557
+ .ct-table .ct-td.select {
558
+ background-color: #ecf5ff !important;
559
+ }
560
+ .ct-table .ct-tr:hover .ct-td.select {
561
+ background-color: #ecf5ff !important;
562
+ }
563
+ .ct-table .ct-td.asc > .caret-wrapper > .sort-caret.ascending {
564
+ border-bottom-color: #409eff;
565
+ top: 5px;
566
+ }
567
+ .ct-table .ct-td.desc > .caret-wrapper > .sort-caret.descending {
568
+ border-top-color: #409eff;
569
+ bottom: 7px;
570
+ }
571
+ .ct-table .cell {
572
+ /*white-space: nowrap;*/
573
+ text-overflow: ellipsis;
574
+ /*min-width: 50px; todo 实际宽度-21即可*/
575
+ overflow: hidden;
576
+ /*padding-right: 10px;*/
577
+ }
578
+ /*强制换行 todo 可去掉改成强制不换行*/
579
+ .ct-table .cell {
580
+ /* 这两个在技术上是一样的, 为了兼容了浏览器两个都加上 */
581
+ overflow-wrap: break-word;
582
+ word-wrap: break-word;
583
+ -ms-word-break: break-all;
584
+ /* 这个的使用在web-kit中有些危险,他可能会阶段所有东西 */
585
+ word-break: break-all;
586
+ /* Instead use this non-standard one: */
587
+ word-break: break-word;
588
+ /* 如果浏览器支持的话增加一个连接符(Blink不支持) */
589
+ -ms-hyphens: auto;
590
+ -moz-hyphens: auto;
591
+ -webkit-hyphens: auto;
592
+ hyphens: auto;
593
+ }
594
+ .ct-table .lineFeedCell {
595
+ min-width: 40px;
596
+ }
597
+ .ct-table .left-fixation {
598
+ position: sticky;
599
+ }
600
+ .ct-table .right-fixation {
601
+ position: sticky;
602
+ }
603
+ .ct-table .left-fixation-th {
604
+ position: sticky;
605
+ top: 0px;
606
+ z-index: 99;
607
+ }
608
+ .ct-table .right-fixation-th {
609
+ position: sticky;
610
+ top: 0px;
611
+ z-index: 99;
612
+ }
613
+ .ct-table .right-no-fixation-th {
614
+ position: sticky;
615
+ top: 0px;
616
+ z-index: 50;
617
+ }
618
+ .ct-table .checkbox-td {
619
+ min-width: 20px;
620
+ width: 20px;
621
+ left: 0px;
622
+ }
623
+ .ct-table .checkbox-td .checkbox-td-1 {
624
+ vertical-align: inherit;
625
+ }
953
626
  </style>