@tongfun/tf-widget 0.1.19 → 0.1.20

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.
Files changed (96) hide show
  1. package/README.md +46 -42
  2. package/lib/tf-widget.common.1.js +1 -1
  3. package/lib/tf-widget.common.js +472 -455
  4. package/lib/tf-widget.css +1 -1
  5. package/lib/tf-widget.umd.1.js +1 -1
  6. package/lib/tf-widget.umd.js +472 -455
  7. package/lib/tf-widget.umd.min.js +3 -3
  8. package/package/svg-icon/index.js +8 -8
  9. package/package/svg-icon/src/SvgIcon.vue +59 -59
  10. package/package/t-data-list/index.js +6 -6
  11. package/package/t-data-list/main.vue +193 -193
  12. package/package/t-data-list/src/condition-input/basic.vue +31 -31
  13. package/package/t-data-list/src/condition-input/date.vue +106 -106
  14. package/package/t-data-list/src/condition-input/index.vue +100 -100
  15. package/package/t-data-list/src/condition-input/input.vue +31 -31
  16. package/package/t-data-list/src/condition-input/number.vue +115 -115
  17. package/package/t-data-list/src/condition-input/select.vue +86 -86
  18. package/package/t-data-list/src/js/fieldTypeEnum.js +10 -10
  19. package/package/t-data-list/src/js/operatorEnum.js +108 -108
  20. package/package/t-data-list/src/js/qureyParamsEnum.js +4 -4
  21. package/package/t-data-list/src/js/util.js +34 -34
  22. package/package/t-data-list/src/mixins/button-controll-mixin.js +93 -93
  23. package/package/t-data-list/src/pushdown/push-down.vue +158 -158
  24. package/package/t-data-list/src/t-list-search.vue +36 -36
  25. package/package/t-data-list/src/t-plan/condition-always-item.vue +143 -143
  26. package/package/t-data-list/src/t-plan/condition-mult-item.vue +222 -222
  27. package/package/t-data-list/src/t-plan/index.vue +195 -195
  28. package/package/t-data-list/src/t-plan/plan-content.vue +389 -389
  29. package/package/t-data-list/src/t-table/index.vue +129 -129
  30. package/package/t-data-list/src/t-table/table-group-item-edit.vue +238 -238
  31. package/package/t-data-list/src/t-table/table-group-item.vue +87 -87
  32. package/package/t-data-list/src/t-table/table-group.vue +180 -180
  33. package/package/t-data-list/src/t-table/table-records-header-popover.vue +246 -246
  34. package/package/t-data-list/src/t-table/table-records-selected.vue +159 -159
  35. package/package/t-data-list/src/t-table/table-records.vue +337 -337
  36. package/package/t-input/children/address.vue +101 -101
  37. package/package/t-input/children/basic-display.vue +41 -41
  38. package/package/t-input/children/basic.vue +253 -253
  39. package/package/t-input/children/date.vue +89 -89
  40. package/package/t-input/children/group-components/group-dialog.vue +344 -344
  41. package/package/t-input/children/group.vue +126 -126
  42. package/package/t-input/children/input.vue +72 -72
  43. package/package/t-input/children/number.vue +74 -74
  44. package/package/t-input/children/select.vue +89 -89
  45. package/package/t-input/children/tfile/fiile-enclosure.vue +233 -233
  46. package/package/t-input/index.js +7 -7
  47. package/package/t-input/index.vue +337 -337
  48. package/package/t-input/tInputCache.js +24 -24
  49. package/package/tf-icon-picker/README.md +7 -7
  50. package/package/tf-icon-picker/index.js +8 -8
  51. package/package/tf-icon-picker/src/tf-icon-picker.vue +266 -266
  52. package/package/tf-layout/README.md +115 -115
  53. package/package/tf-layout/index.js +8 -8
  54. package/package/tf-layout/src/components/tf-labelbar.vue +382 -382
  55. package/package/tf-layout/src/components/tf-menu.vue +180 -180
  56. package/package/tf-layout/src/components/tf-right-menu.vue +89 -89
  57. package/package/tf-layout/src/components/tf-rotate-box.vue +50 -50
  58. package/package/tf-layout/src/tf-layout.vue +120 -120
  59. package/package/tf-widget/index.js +8 -8
  60. package/package/tf-widget/src/assets/common-input.less +10 -10
  61. package/package/tf-widget/src/children/basic-data/basic-data.vue +361 -361
  62. package/package/tf-widget/src/children/basic-data/dependcy/basic-data-selector.vue +1087 -1087
  63. package/package/tf-widget/src/children/basic-data/dependcy/common-table.vue +750 -750
  64. package/package/tf-widget/src/children/basic-data/dependcy/condition-filter.vue +519 -519
  65. package/package/tf-widget/src/children/basic-data/dependcy/pagination.vue +93 -93
  66. package/package/tf-widget/src/children/basic-data/dependcy/table-control.vue +240 -240
  67. package/package/tf-widget/src/children/basic-data/dependcy/view-picture.vue +108 -108
  68. package/package/tf-widget/src/children/date-time.vue +103 -103
  69. package/package/tf-widget/src/children/date.vue +103 -103
  70. package/package/tf-widget/src/children/decimal.vue +115 -115
  71. package/package/tf-widget/src/children/integer.vue +104 -104
  72. package/package/tf-widget/src/children/property.vue +59 -59
  73. package/package/tf-widget/src/children/single-line-text.vue +82 -82
  74. package/package/tf-widget/src/children/small-pictures.vue +223 -223
  75. package/package/tf-widget/src/children/text-area.vue +74 -74
  76. package/package/tf-widget/src/children/tf-select.vue +113 -113
  77. package/package/tf-widget/src/tf-widget.vue +175 -175
  78. package/package.json +44 -43
  79. package/src/api/edit.js +97 -97
  80. package/src/api/file-enclosure.js +26 -26
  81. package/src/api/push-down.js +19 -19
  82. package/src/api/table.js +294 -294
  83. package/src/api/tableV3.js +160 -186
  84. package/src/assets/images/icons/index.js +9 -9
  85. package/src/assets/images/icons/svg/add.svg +5 -5
  86. package/src/assets/images/icons/svg/push-down.svg +1 -1
  87. package/src/assets/images/icons/svg/remove.svg +1 -1
  88. package/src/assets/styles/common-table.less +202 -202
  89. package/src/directives/debounce.js +24 -0
  90. package/src/index.js +31 -31
  91. package/src/mixins/t-data-query-mixin.js +290 -290
  92. package/src/utils/auth.js +22 -22
  93. package/src/utils/request.js +42 -42
  94. package/src/utils/stato-anormale.js +59 -59
  95. package/src/utils/utils.js +109 -109
  96. package/src/utils/validate.js +84 -84
@@ -1,93 +1,93 @@
1
- <template>
2
- <div class="pagination">
3
- <div class="selected-total">
4
- 已选中行数:
5
- <span>{{ selectedTotal }}</span>
6
- </div>
7
- <el-pagination
8
- :current-page="paging.current"
9
- :page-sizes="pageSizes"
10
- :page-size="paging.size"
11
- :layout="pagerCount ? 'total, sizes, prev, next, jumper' : 'total, sizes, prev, pager, next, jumper'"
12
- :total="total"
13
- @size-change="handleSizeChange"
14
- @current-change="handleCurrentChange"
15
- />
16
- </div>
17
- </template>
18
-
19
- <script>
20
- export default {
21
- name: 'Pagination',
22
- props: {
23
- // 选中行数
24
- selectedTotal: {
25
- type: Number,
26
- default: 0
27
- },
28
- // 分页总数
29
- total: {
30
- type: Number,
31
- default: 0
32
- },
33
- pagerCount: {
34
- type: Boolean,
35
- default: false
36
- },
37
- paging: {
38
- type: Object,
39
- default: () => {
40
- return {}
41
- }
42
- }
43
- },
44
- data () {
45
- return {
46
- pageSizes: [50, 100, 200, 500]
47
- }
48
- },
49
- mounted () {
50
- // this.changePage()
51
- },
52
- methods: {
53
- changePage () {
54
- this.$emit('pageChange', this.paging)
55
- },
56
- /**
57
- * 每页查看条数变化
58
- * @param val 每页条数
59
- */
60
- handleSizeChange (val) {
61
- this.paging.size = val
62
- this.changePage()
63
- },
64
- /**
65
- * 当前页码变化
66
- * @param val 页码
67
- */
68
- handleCurrentChange (val) {
69
- this.paging.current = val
70
- this.changePage()
71
- }
72
- }
73
- }
74
- </script>
75
-
76
- <style lang="less" scoped>
77
- .pagination{
78
- display: flex;
79
- justify-content: flex-end;
80
- .selected-total{
81
- display: flex;
82
- align-items: center;
83
- color: #606266;
84
- font-size: 13px;
85
- span{
86
- margin-left: 20px;
87
- margin-right: 20px;
88
- text-decoration: underline;
89
- }
90
- }
91
- }
92
-
93
- </style>
1
+ <template>
2
+ <div class="pagination">
3
+ <div class="selected-total">
4
+ 已选中行数:
5
+ <span>{{ selectedTotal }}</span>
6
+ </div>
7
+ <el-pagination
8
+ :current-page="paging.current"
9
+ :page-sizes="pageSizes"
10
+ :page-size="paging.size"
11
+ :layout="pagerCount ? 'total, sizes, prev, next, jumper' : 'total, sizes, prev, pager, next, jumper'"
12
+ :total="total"
13
+ @size-change="handleSizeChange"
14
+ @current-change="handleCurrentChange"
15
+ />
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ name: 'Pagination',
22
+ props: {
23
+ // 选中行数
24
+ selectedTotal: {
25
+ type: Number,
26
+ default: 0
27
+ },
28
+ // 分页总数
29
+ total: {
30
+ type: Number,
31
+ default: 0
32
+ },
33
+ pagerCount: {
34
+ type: Boolean,
35
+ default: false
36
+ },
37
+ paging: {
38
+ type: Object,
39
+ default: () => {
40
+ return {}
41
+ }
42
+ }
43
+ },
44
+ data () {
45
+ return {
46
+ pageSizes: [50, 100, 200, 500]
47
+ }
48
+ },
49
+ mounted () {
50
+ // this.changePage()
51
+ },
52
+ methods: {
53
+ changePage () {
54
+ this.$emit('pageChange', this.paging)
55
+ },
56
+ /**
57
+ * 每页查看条数变化
58
+ * @param val 每页条数
59
+ */
60
+ handleSizeChange (val) {
61
+ this.paging.size = val
62
+ this.changePage()
63
+ },
64
+ /**
65
+ * 当前页码变化
66
+ * @param val 页码
67
+ */
68
+ handleCurrentChange (val) {
69
+ this.paging.current = val
70
+ this.changePage()
71
+ }
72
+ }
73
+ }
74
+ </script>
75
+
76
+ <style lang="less" scoped>
77
+ .pagination{
78
+ display: flex;
79
+ justify-content: flex-end;
80
+ .selected-total{
81
+ display: flex;
82
+ align-items: center;
83
+ color: #606266;
84
+ font-size: 13px;
85
+ span{
86
+ margin-left: 20px;
87
+ margin-right: 20px;
88
+ text-decoration: underline;
89
+ }
90
+ }
91
+ }
92
+
93
+ </style>
@@ -1,240 +1,240 @@
1
- <template>
2
- <div>
3
- <el-dialog
4
- :visible.sync="showDialog"
5
- class="table-control"
6
- :append-to-body="true"
7
- @close="closeDialog"
8
- >
9
- <template v-slot:title> 列表控制 </template>
10
- <div class="table-control-header">
11
- <ul>
12
- <li @click="recoverDefault">恢复默认</li>
13
- <li>|</li>
14
- <li @click="onlySingle">
15
- <span>{{ hiddenHeaderFlag ? '显示单据头+单据体':'只显示单据头' }}</span>
16
- </li>
17
- <li>|</li>
18
- <li @click="allHidden">
19
- <span>{{ allHiddenFlag ? '全部显示':'全部隐藏' }}</span>
20
- </li>
21
- <li>|</li>
22
- <li @click="allIce">
23
- <span v-if="allFixedFlag === false">全部冻结</span>
24
- <span v-else>取消全部冻结</span>
25
- </li>
26
- </ul>
27
- </div>
28
- <div class="table-control-body">
29
- <ux-grid
30
- ref="plxTable"
31
- :data="tableLayout"
32
- border
33
- show-overflow
34
- max-height="600"
35
- :width-resize="true"
36
- :highlight-current-row="false"
37
- :edit-config="{trigger: 'click', mode: 'cell'}"
38
- >
39
- <ux-table-column type="index" width="80" align="center" />
40
- <ux-table-column field="title" title="列名" align="center" width="180" />
41
- <ux-table-column field="align" title="对齐方式" align="center" width="360">
42
- <template v-slot="{ row }">
43
- <el-radio-group v-model="row.align">
44
- <el-radio v-for="item in alignList" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
45
- </el-radio-group>
46
- </template>
47
- </ux-table-column>
48
- <ux-table-column field="hiddenFlag" title="隐藏列" align="center">
49
- <!--这个呢是编辑状态下的方式-->
50
- <template v-slot="scope">
51
- <el-switch
52
- v-model="scope.row.hiddenFlag"
53
- active-color="#13ce66"
54
- inactive-color="#D8D8D8"
55
- />
56
- </template>
57
- </ux-table-column>
58
- <ux-table-column field="fixedBak" title="冻结列" align="center">
59
- <!--这个呢是编辑状态下的方式-->
60
- <template v-slot="scope">
61
- <el-switch
62
- v-model="scope.row.fixedBak"
63
- active-color="#13ce66"
64
- inactive-color="#D8D8D8"
65
- @change="changeFixed(scope)"
66
- />
67
- </template>
68
- </ux-table-column>
69
- </ux-grid>
70
- </div>
71
- </el-dialog>
72
- </div>
73
- </template>
74
- <script>
75
- export default {
76
- components: {},
77
- props: {
78
- tableLayout: {
79
- type: Array,
80
- default: () => {
81
- return []
82
- }
83
- },
84
- dialogTableVisible: {
85
- type: Boolean,
86
- default: false
87
- }
88
- },
89
- data () {
90
- return {
91
- alignList: [
92
- {
93
- value: 'left',
94
- label: '居左'
95
- },
96
- {
97
- value: 'center',
98
- label: '默认'
99
- },
100
- {
101
- value: 'right',
102
- label: '居右'
103
- }
104
- ],
105
- showDialog: false, // 列表控制弹框
106
- allHiddenFlag: false, // 全部隐藏标志
107
- allFixedFlag: false, // 全部冻结标志
108
- hiddenHeaderFlag: false, // 只显示单据头标志
109
- checkboxList: [],
110
- emptyString: ''
111
- }
112
- },
113
- watch: {
114
- // 监听 dialogTableVisible 改变
115
- dialogTableVisible (newVal) {
116
- this.showDialog = newVal
117
- }
118
- },
119
- mounted () {
120
- // 初始化fixedBak
121
- this.initFixedBak()
122
- },
123
-
124
- methods: {
125
-
126
- // 初始化fixedBak
127
- initFixedBak () {
128
- this.tableLayout.forEach(item => {
129
- item.fixedBak = item.fixed === 'left'
130
- })
131
- },
132
-
133
- // 对齐方式显示为中文
134
- getAlignLabel (val) {
135
- const item = this.alignList.filter(item => item.value === val)[0]
136
- return item ? item.label : ''
137
- },
138
-
139
- changeFixed (scope) {
140
- this.$nextTick(() => {
141
- const index = this.tableLayout.findIndex(d => d._XID === scope.row._XID)
142
- this.tableLayout.splice(index, 1, { ...this.tableLayout[index], fixed: scope.row.fixedBak ? 'left' : '' })
143
- // 更新列配置
144
- this.$emit('updateColumn')
145
- })
146
- },
147
-
148
- closeDialog () {
149
- this.$emit('closeDialog', false)
150
- },
151
-
152
- // 恢复默认
153
- recoverDefault () {
154
- this.tableLayout.forEach((item, index) => {
155
- this.tableLayout.splice(index, 1, { ...item, hiddenFlag: false, fixed: '', fixedBak: false })
156
- })
157
- this.allHiddenFlag = false
158
- this.allFixedFlag = false
159
- this.hiddenHeaderFlag = false
160
- // 更新列配置
161
- this.$emit('updateColumn')
162
- this.$message.success('恢复默认成功')
163
- },
164
-
165
- // 只显示单据头
166
- onlySingle () {
167
- },
168
-
169
- // 全部隐藏 + 全部显示
170
- allHidden () {
171
- // 全部隐藏
172
- if (this.allHiddenFlag === false) {
173
- this.tableLayout.forEach((item, index) => {
174
- this.tableLayout.splice(index, 1, { ...item, hiddenFlag: true })
175
- })
176
- this.allHiddenFlag = true
177
- this.$message.success('全部隐藏成功')
178
- } else { // 全部显示
179
- this.tableLayout.forEach((item, index) => {
180
- this.tableLayout.splice(index, 1, { ...item, hiddenFlag: false })
181
- })
182
- this.allHiddenFlag = false
183
- this.$message.success('全部显示成功')
184
- }
185
- },
186
-
187
- // 全部冻结 + 取消全部冻结
188
- allIce () {
189
- // 全部冻结
190
- if (this.allFixedFlag === false) {
191
- this.tableLayout.forEach((item, index) => {
192
- this.tableLayout.splice(index, 1, { ...item, fixedBak: true, fixed: 'left' })
193
- })
194
- this.allFixedFlag = true
195
- this.$message.success('全部冻结成功')
196
- } else { // 取消全部冻结
197
- this.tableLayout.forEach((item, index) => {
198
- this.tableLayout.splice(index, 1, { ...item, fixedBak: false, fixed: '' })
199
- })
200
- this.allFixedFlag = false
201
- this.$message.success('取消全部冻结成功')
202
- }
203
- // 更新列配置
204
- this.$emit('updateColumn')
205
- }
206
-
207
- }
208
- }
209
- </script>
210
-
211
- <style lang="less" scoped>
212
- .table-control{
213
- /deep/ .el-dialog {
214
- border-radius: 0.9259vh 0.9259vh 0 0;
215
- /deep/ .el-dialog__header {
216
- background: #0261A4;
217
- color: #fff;
218
- border-radius: 0.9259vh 0.9259vh 0 0;
219
- }
220
- }
221
-
222
- /*头部样式*/
223
- .table-control-header {
224
- height: 3.7963vh;
225
- margin: 0 auto;
226
- text-align: center;
227
- ul :nth-child(odd) {
228
- color: #0261A4;
229
- cursor: pointer;
230
- }
231
- li {
232
- display: inline;
233
- line-height: 3.7963vh;
234
- margin: 0 1.9444vh;
235
- }
236
- }
237
-
238
- }
239
-
240
- </style>
1
+ <template>
2
+ <div>
3
+ <el-dialog
4
+ :visible.sync="showDialog"
5
+ class="table-control"
6
+ :append-to-body="true"
7
+ @close="closeDialog"
8
+ >
9
+ <template v-slot:title> 列表控制 </template>
10
+ <div class="table-control-header">
11
+ <ul>
12
+ <li @click="recoverDefault">恢复默认</li>
13
+ <li>|</li>
14
+ <li @click="onlySingle">
15
+ <span>{{ hiddenHeaderFlag ? '显示单据头+单据体':'只显示单据头' }}</span>
16
+ </li>
17
+ <li>|</li>
18
+ <li @click="allHidden">
19
+ <span>{{ allHiddenFlag ? '全部显示':'全部隐藏' }}</span>
20
+ </li>
21
+ <li>|</li>
22
+ <li @click="allIce">
23
+ <span v-if="allFixedFlag === false">全部冻结</span>
24
+ <span v-else>取消全部冻结</span>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+ <div class="table-control-body">
29
+ <ux-grid
30
+ ref="plxTable"
31
+ :data="tableLayout"
32
+ border
33
+ show-overflow
34
+ max-height="600"
35
+ :width-resize="true"
36
+ :highlight-current-row="false"
37
+ :edit-config="{trigger: 'click', mode: 'cell'}"
38
+ >
39
+ <ux-table-column type="index" width="80" align="center" />
40
+ <ux-table-column field="title" title="列名" align="center" width="180" />
41
+ <ux-table-column field="align" title="对齐方式" align="center" width="360">
42
+ <template v-slot="{ row }">
43
+ <el-radio-group v-model="row.align">
44
+ <el-radio v-for="item in alignList" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
45
+ </el-radio-group>
46
+ </template>
47
+ </ux-table-column>
48
+ <ux-table-column field="hiddenFlag" title="隐藏列" align="center">
49
+ <!--这个呢是编辑状态下的方式-->
50
+ <template v-slot="scope">
51
+ <el-switch
52
+ v-model="scope.row.hiddenFlag"
53
+ active-color="#13ce66"
54
+ inactive-color="#D8D8D8"
55
+ />
56
+ </template>
57
+ </ux-table-column>
58
+ <ux-table-column field="fixedBak" title="冻结列" align="center">
59
+ <!--这个呢是编辑状态下的方式-->
60
+ <template v-slot="scope">
61
+ <el-switch
62
+ v-model="scope.row.fixedBak"
63
+ active-color="#13ce66"
64
+ inactive-color="#D8D8D8"
65
+ @change="changeFixed(scope)"
66
+ />
67
+ </template>
68
+ </ux-table-column>
69
+ </ux-grid>
70
+ </div>
71
+ </el-dialog>
72
+ </div>
73
+ </template>
74
+ <script>
75
+ export default {
76
+ components: {},
77
+ props: {
78
+ tableLayout: {
79
+ type: Array,
80
+ default: () => {
81
+ return []
82
+ }
83
+ },
84
+ dialogTableVisible: {
85
+ type: Boolean,
86
+ default: false
87
+ }
88
+ },
89
+ data () {
90
+ return {
91
+ alignList: [
92
+ {
93
+ value: 'left',
94
+ label: '居左'
95
+ },
96
+ {
97
+ value: 'center',
98
+ label: '默认'
99
+ },
100
+ {
101
+ value: 'right',
102
+ label: '居右'
103
+ }
104
+ ],
105
+ showDialog: false, // 列表控制弹框
106
+ allHiddenFlag: false, // 全部隐藏标志
107
+ allFixedFlag: false, // 全部冻结标志
108
+ hiddenHeaderFlag: false, // 只显示单据头标志
109
+ checkboxList: [],
110
+ emptyString: ''
111
+ }
112
+ },
113
+ watch: {
114
+ // 监听 dialogTableVisible 改变
115
+ dialogTableVisible (newVal) {
116
+ this.showDialog = newVal
117
+ }
118
+ },
119
+ mounted () {
120
+ // 初始化fixedBak
121
+ this.initFixedBak()
122
+ },
123
+
124
+ methods: {
125
+
126
+ // 初始化fixedBak
127
+ initFixedBak () {
128
+ this.tableLayout.forEach(item => {
129
+ item.fixedBak = item.fixed === 'left'
130
+ })
131
+ },
132
+
133
+ // 对齐方式显示为中文
134
+ getAlignLabel (val) {
135
+ const item = this.alignList.filter(item => item.value === val)[0]
136
+ return item ? item.label : ''
137
+ },
138
+
139
+ changeFixed (scope) {
140
+ this.$nextTick(() => {
141
+ const index = this.tableLayout.findIndex(d => d._XID === scope.row._XID)
142
+ this.tableLayout.splice(index, 1, { ...this.tableLayout[index], fixed: scope.row.fixedBak ? 'left' : '' })
143
+ // 更新列配置
144
+ this.$emit('updateColumn')
145
+ })
146
+ },
147
+
148
+ closeDialog () {
149
+ this.$emit('closeDialog', false)
150
+ },
151
+
152
+ // 恢复默认
153
+ recoverDefault () {
154
+ this.tableLayout.forEach((item, index) => {
155
+ this.tableLayout.splice(index, 1, { ...item, hiddenFlag: false, fixed: '', fixedBak: false })
156
+ })
157
+ this.allHiddenFlag = false
158
+ this.allFixedFlag = false
159
+ this.hiddenHeaderFlag = false
160
+ // 更新列配置
161
+ this.$emit('updateColumn')
162
+ this.$message.success('恢复默认成功')
163
+ },
164
+
165
+ // 只显示单据头
166
+ onlySingle () {
167
+ },
168
+
169
+ // 全部隐藏 + 全部显示
170
+ allHidden () {
171
+ // 全部隐藏
172
+ if (this.allHiddenFlag === false) {
173
+ this.tableLayout.forEach((item, index) => {
174
+ this.tableLayout.splice(index, 1, { ...item, hiddenFlag: true })
175
+ })
176
+ this.allHiddenFlag = true
177
+ this.$message.success('全部隐藏成功')
178
+ } else { // 全部显示
179
+ this.tableLayout.forEach((item, index) => {
180
+ this.tableLayout.splice(index, 1, { ...item, hiddenFlag: false })
181
+ })
182
+ this.allHiddenFlag = false
183
+ this.$message.success('全部显示成功')
184
+ }
185
+ },
186
+
187
+ // 全部冻结 + 取消全部冻结
188
+ allIce () {
189
+ // 全部冻结
190
+ if (this.allFixedFlag === false) {
191
+ this.tableLayout.forEach((item, index) => {
192
+ this.tableLayout.splice(index, 1, { ...item, fixedBak: true, fixed: 'left' })
193
+ })
194
+ this.allFixedFlag = true
195
+ this.$message.success('全部冻结成功')
196
+ } else { // 取消全部冻结
197
+ this.tableLayout.forEach((item, index) => {
198
+ this.tableLayout.splice(index, 1, { ...item, fixedBak: false, fixed: '' })
199
+ })
200
+ this.allFixedFlag = false
201
+ this.$message.success('取消全部冻结成功')
202
+ }
203
+ // 更新列配置
204
+ this.$emit('updateColumn')
205
+ }
206
+
207
+ }
208
+ }
209
+ </script>
210
+
211
+ <style lang="less" scoped>
212
+ .table-control{
213
+ /deep/ .el-dialog {
214
+ border-radius: 0.9259vh 0.9259vh 0 0;
215
+ /deep/ .el-dialog__header {
216
+ background: #0261A4;
217
+ color: #fff;
218
+ border-radius: 0.9259vh 0.9259vh 0 0;
219
+ }
220
+ }
221
+
222
+ /*头部样式*/
223
+ .table-control-header {
224
+ height: 3.7963vh;
225
+ margin: 0 auto;
226
+ text-align: center;
227
+ ul :nth-child(odd) {
228
+ color: #0261A4;
229
+ cursor: pointer;
230
+ }
231
+ li {
232
+ display: inline;
233
+ line-height: 3.7963vh;
234
+ margin: 0 1.9444vh;
235
+ }
236
+ }
237
+
238
+ }
239
+
240
+ </style>