n20-common-lib 1.2.9 → 1.2.12

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 (191) hide show
  1. package/README.md +2 -2
  2. package/package.json +87 -87
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -26
  12. package/src/assets/css/cl-expandable.scss +24 -24
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +606 -454
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +88 -88
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +65 -65
  29. package/src/assets/css/cl-secondary-tab.scss +39 -39
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +9 -9
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -173
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -27
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -726
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/realUrl.js +12 -12
  51. package/src/components/Anchor/AnchorItem.vue +29 -29
  52. package/src/components/Anchor/index.vue +185 -185
  53. package/src/components/ApprovalButtons/index.vue +233 -232
  54. package/src/components/ApprovalCard/index.vue +128 -128
  55. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  56. package/src/components/ApprovalRecord/index.vue +59 -59
  57. package/src/components/Button/button-group.vue +150 -150
  58. package/src/components/Button/icon-group-button.vue +61 -61
  59. package/src/components/Button/index.vue +56 -56
  60. package/src/components/CascaderArea/index.vue +103 -81
  61. package/src/components/ContentLoading/index.vue +41 -41
  62. package/src/components/ContentNull/index.vue +19 -19
  63. package/src/components/DatePicker/index.vue +27 -27
  64. package/src/components/DatePicker/por.vue +169 -169
  65. package/src/components/Dialog/index.vue +26 -26
  66. package/src/components/Dialog/indexO.vue +116 -116
  67. package/src/components/DragList/index.vue +68 -68
  68. package/src/components/Empty/img/abnormal.svg +108 -108
  69. package/src/components/Empty/img/dispose.svg +71 -71
  70. package/src/components/Empty/img/empty.svg +57 -57
  71. package/src/components/Empty/img/general.svg +58 -58
  72. package/src/components/Empty/img/lock.svg +57 -57
  73. package/src/components/Empty/img/network.svg +59 -59
  74. package/src/components/Empty/img/relevant.svg +68 -68
  75. package/src/components/Empty/img/search.svg +72 -72
  76. package/src/components/Empty/index.vue +92 -92
  77. package/src/components/Expandable/index.vue +49 -49
  78. package/src/components/Expandable/main.vue +52 -52
  79. package/src/components/FileExportAsync/index.vue +174 -174
  80. package/src/components/FileUploadTable/index.vue +484 -484
  81. package/src/components/Filters/index.vue +369 -369
  82. package/src/components/Filters/indexO.vue +104 -104
  83. package/src/components/FlowStep/index.vue +68 -68
  84. package/src/components/FooterBox/index.vue +21 -21
  85. package/src/components/GeneralCard/index.vue +15 -15
  86. package/src/components/InputNumber/index.vue +169 -153
  87. package/src/components/InputNumber/numberRange.vue +47 -47
  88. package/src/components/InputSearch/index.vue +75 -75
  89. package/src/components/Layout/AsideNav/index.vue +119 -119
  90. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  91. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  92. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  93. package/src/components/Layout/HeaderWrap/index.vue +348 -348
  94. package/src/components/Layout/HeaderWrap/noticePop.vue +300 -300
  95. package/src/components/Layout/SubContent/index.vue +131 -131
  96. package/src/components/Layout/TabsNav/index.vue +170 -170
  97. package/src/components/Layout/index.vue +529 -529
  98. package/src/components/Layout/utils.js +12 -12
  99. package/src/components/LoginTemporary/form.vue +537 -537
  100. package/src/components/LoginTemporary/index.vue +122 -122
  101. package/src/components/LoginTemporary/qrcode.vue +90 -90
  102. package/src/components/LoginTemporary/retrievePw.vue +28 -28
  103. package/src/components/LoginTemporary/utils.js +73 -73
  104. package/src/components/MicroApp/index.js +67 -67
  105. package/src/components/MicroFrame/index.vue +95 -95
  106. package/src/components/MoreTab/index.vue +232 -232
  107. package/src/components/NavMenu/index.vue +60 -60
  108. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +184 -184
  109. package/src/components/PageLayout/page.vue +15 -15
  110. package/src/components/Pagination/index.vue +96 -96
  111. package/src/components/SecondaryTab/index.vue +58 -58
  112. package/src/components/SelectLazy/index.vue +75 -75
  113. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  114. package/src/components/SelectTree/index.vue +205 -205
  115. package/src/components/ShowColumn/index.vue +204 -204
  116. package/src/components/Sifting/index.vue +99 -99
  117. package/src/components/Statis/index.vue +97 -97
  118. package/src/components/Statis/statisItem.vue +54 -54
  119. package/src/components/Statis/statisPopover.vue +55 -55
  120. package/src/components/Step/index.vue +38 -38
  121. package/src/components/Suspend/index.vue +72 -72
  122. package/src/components/Table/index.vue +179 -179
  123. package/src/components/Table/indexO.vue +149 -149
  124. package/src/components/Task/index.vue +26 -26
  125. package/src/components/TertiaryTab/index.vue +53 -53
  126. package/src/components/TimePicker/index.vue +28 -28
  127. package/src/components/Upload/index.vue +242 -242
  128. package/src/components/WornPagination/index.vue +73 -73
  129. package/src/directives/VClickOutside/index.js +19 -19
  130. package/src/directives/VHas/index.js +32 -32
  131. package/src/directives/VMove/index.js +42 -42
  132. package/src/directives/VTitle/index.js +64 -64
  133. package/src/directives/VTitle/tooltip.vue +21 -21
  134. package/src/index.js +225 -225
  135. package/src/plugins/CompatibleOld/index.js +57 -57
  136. package/src/plugins/Print/index.js +4 -4
  137. package/src/plugins/Print/print-js/.babelrc +12 -12
  138. package/src/plugins/Print/print-js/LICENSE +21 -21
  139. package/src/plugins/Print/print-js/README.md +98 -98
  140. package/src/plugins/Print/print-js/dist/print.css +96 -96
  141. package/src/plugins/Print/print-js/dist/print.js +990 -990
  142. package/src/plugins/Print/print-js/package.json +60 -60
  143. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  144. package/src/plugins/Print/print-js/src/index.js +10 -10
  145. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  146. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  147. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  148. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  149. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  150. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  151. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  152. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  153. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  154. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  155. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  156. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  157. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  158. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  159. package/src/plugins/Print/print.js +2 -2
  160. package/src/plugins/Print/print.scss +1 -1
  161. package/src/plugins/SetMenuTree/index.vue +41 -41
  162. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  163. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  164. package/src/plugins/SetMenuTree/utils.js +74 -74
  165. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  166. package/src/plugins/Sign/index.js +65 -65
  167. package/src/plugins/Sign/sign.js +1 -1
  168. package/src/plugins/setTabsForSub.js +2 -2
  169. package/src/utils/auth.js +53 -53
  170. package/src/utils/axios.js +203 -203
  171. package/src/utils/downloadBlob.js +19 -19
  172. package/src/utils/forEachs.js +16 -16
  173. package/src/utils/getScrollContainer.js +43 -43
  174. package/src/utils/i18n/cn2hk.json +1270 -1270
  175. package/src/utils/i18n/index.js +54 -54
  176. package/src/utils/list2tree.js +36 -36
  177. package/src/utils/msgboxPor.js +26 -26
  178. package/src/utils/print.js +161 -161
  179. package/src/utils/relaNo.js +69 -69
  180. package/src/utils/repairElementUI.js +66 -66
  181. package/src/utils/urlToGo.js +82 -82
  182. package/style/css/normalize.scss +726 -723
  183. package/style/index.css +1 -1
  184. package/style/index.css.map +1 -1
  185. package/style/pageDemo/demo-1.vue +131 -130
  186. package/style/pageDemo/demo-2.vue +35 -35
  187. package/style/pageDemo/demo-3.vue +22 -22
  188. package/style/pageDemo/seeCode.js +20 -20
  189. package/style/server-config.jsonc +606 -663
  190. package/src/components/.DS_Store +0 -0
  191. package/src/components/Layout/.DS_Store +0 -0
@@ -1,179 +1,179 @@
1
- <template>
2
- <el-table
3
- v-if="!pageObj"
4
- ref="el-table"
5
- :header-cell-style="{ 'text-align': 'center' }"
6
- :data="data"
7
- :height="height"
8
- v-bind="$attrs"
9
- v-on="$listeners"
10
- >
11
- <template v-for="(item, i) in columns">
12
- <slot v-if="item.slotName" :name="item.slotName"></slot>
13
- <el-table-column
14
- v-else-if="item.render"
15
- :key="'cl-table-' + i"
16
- v-bind="item"
17
- >
18
- <columnRender slot-scope="{ row }" :c-render="item.render" :row="row" />
19
- </el-table-column>
20
- <el-table-column
21
- v-else
22
- :key="'cl-table-' + i"
23
- :formatter="item.formatter | colfF"
24
- :filters="item.filters | colftF(filtersMap)"
25
- v-bind="item"
26
- />
27
- </template>
28
- </el-table>
29
-
30
- <div v-else :style="{ height: heightW }">
31
- <el-table
32
- ref="el-table"
33
- :header-cell-style="{ 'text-align': 'center' }"
34
- style="width: 100%"
35
- :data="data"
36
- v-bind="$attrs"
37
- :height="heightC"
38
- v-on="$listeners"
39
- >
40
- <template v-for="(item, i) in columns">
41
- <slot v-if="item.slotName" :name="item.slotName"></slot>
42
- <el-table-column
43
- v-else-if="item.render"
44
- :key="'cl-table-' + i"
45
- v-bind="item"
46
- >
47
- <columnRender
48
- slot-scope="{ row }"
49
- :c-render="item.render"
50
- :row="row"
51
- />
52
- </el-table-column>
53
- <el-table-column
54
- v-else
55
- :key="'cl-table-' + i"
56
- :formatter="item.formatter | colfF"
57
- v-bind="item"
58
- />
59
- </template>
60
- </el-table>
61
- <div v-if="pageObj" class="flex-box flex-r m-t-s">
62
- <Pagination
63
- :page-obj="pageObj"
64
- :page-key="pageKey"
65
- @change="(obj) => $emit('pageChange', obj)"
66
- />
67
- </div>
68
- </div>
69
- </template>
70
-
71
- <script>
72
- import numerify from 'numerify'
73
- import Pagination from '../Pagination/index.vue'
74
-
75
- const columnRender = {
76
- props: {
77
- cRender: {
78
- type: Function
79
- },
80
- row: {
81
- type: Object
82
- }
83
- },
84
- render(h) {
85
- return this.cRender(h, this.row)
86
- }
87
- }
88
-
89
- export default {
90
- name: 'Table',
91
- components: {
92
- Pagination,
93
- columnRender
94
- },
95
- filters: {
96
- colfF(colf) {
97
- if (typeof colf !== 'string') return colf
98
-
99
- if (/\|money/.test(colf)) {
100
- let mc = colf.match(/{(\S+)\|money}/)
101
- let key = mc && mc[1]
102
-
103
- return (row) => numerify(row[key], '0,0.00')
104
- } else if (/\|rate/.test(colf)) {
105
- let mc = colf.match(/{(\S+)\|rate}/)
106
- let key = mc && mc[1]
107
-
108
- return (row) => numerify(row[key], '0.000000')
109
- } else {
110
- let mc = colf.match(/{[^}]+}/g) || []
111
- let mcv = mc.map((m) => m.replace(/{|}/g, ''))
112
-
113
- return (row) => {
114
- let str = colf
115
- mc.forEach((tp, i) => {
116
- str = str.replace(tp, row[mcv[i]])
117
- })
118
- return str
119
- }
120
- }
121
- },
122
- colftF(colft, fMap) {
123
- if (typeof colft !== 'string') return colft
124
- return fMap[colft]
125
- }
126
- },
127
- props: {
128
- column: {
129
- type: Boolean,
130
- default: false
131
- },
132
- data: {
133
- type: Array,
134
- default: undefined
135
- },
136
- columns: {
137
- type: Array,
138
- require: true,
139
- default: () => []
140
- },
141
- filtersMap: {
142
- type: Object,
143
- default: () => ({})
144
- },
145
- pageObj: {
146
- type: Object,
147
- default: undefined
148
- },
149
- pageKey: {
150
- type: Object,
151
- default: undefined
152
- },
153
- height: {
154
- type: [String, Number],
155
- default: undefined
156
- }
157
- },
158
- computed: {
159
- heightW() {
160
- if (this.height === undefined) {
161
- return undefined
162
- }
163
- if (/\D/.test(this.height)) {
164
- return this.height
165
- } else {
166
- return this.height + 'px'
167
- }
168
- },
169
- heightC() {
170
- return this.pageObj ? 'calc(100% - 38px)' : '100%'
171
- }
172
- },
173
- created() {
174
- if (this.column) {
175
- console.warn('调整列顺序,请使用ShowColumn组件')
176
- }
177
- }
178
- }
179
- </script>
1
+ <template>
2
+ <el-table
3
+ v-if="!pageObj"
4
+ ref="el-table"
5
+ :header-cell-style="{ 'text-align': 'center' }"
6
+ :data="data"
7
+ :height="height"
8
+ v-bind="$attrs"
9
+ v-on="$listeners"
10
+ >
11
+ <template v-for="(item, i) in columns">
12
+ <slot v-if="item.slotName" :name="item.slotName"></slot>
13
+ <el-table-column
14
+ v-else-if="item.render"
15
+ :key="'cl-table-' + i"
16
+ v-bind="item"
17
+ >
18
+ <columnRender slot-scope="{ row }" :c-render="item.render" :row="row" />
19
+ </el-table-column>
20
+ <el-table-column
21
+ v-else
22
+ :key="'cl-table-' + i"
23
+ :formatter="item.formatter | colfF"
24
+ :filters="item.filters | colftF(filtersMap)"
25
+ v-bind="item"
26
+ />
27
+ </template>
28
+ </el-table>
29
+
30
+ <div v-else :style="{ height: heightW }">
31
+ <el-table
32
+ ref="el-table"
33
+ :header-cell-style="{ 'text-align': 'center' }"
34
+ style="width: 100%"
35
+ :data="data"
36
+ v-bind="$attrs"
37
+ :height="heightC"
38
+ v-on="$listeners"
39
+ >
40
+ <template v-for="(item, i) in columns">
41
+ <slot v-if="item.slotName" :name="item.slotName"></slot>
42
+ <el-table-column
43
+ v-else-if="item.render"
44
+ :key="'cl-table-' + i"
45
+ v-bind="item"
46
+ >
47
+ <columnRender
48
+ slot-scope="{ row }"
49
+ :c-render="item.render"
50
+ :row="row"
51
+ />
52
+ </el-table-column>
53
+ <el-table-column
54
+ v-else
55
+ :key="'cl-table-' + i"
56
+ :formatter="item.formatter | colfF"
57
+ v-bind="item"
58
+ />
59
+ </template>
60
+ </el-table>
61
+ <div v-if="pageObj" class="flex-box flex-r m-t-s">
62
+ <Pagination
63
+ :page-obj="pageObj"
64
+ :page-key="pageKey"
65
+ @change="(obj) => $emit('pageChange', obj)"
66
+ />
67
+ </div>
68
+ </div>
69
+ </template>
70
+
71
+ <script>
72
+ import numerify from 'numerify'
73
+ import Pagination from '../Pagination/index.vue'
74
+
75
+ const columnRender = {
76
+ props: {
77
+ cRender: {
78
+ type: Function
79
+ },
80
+ row: {
81
+ type: Object
82
+ }
83
+ },
84
+ render(h) {
85
+ return this.cRender(h, this.row)
86
+ }
87
+ }
88
+
89
+ export default {
90
+ name: 'Table',
91
+ components: {
92
+ Pagination,
93
+ columnRender
94
+ },
95
+ filters: {
96
+ colfF(colf) {
97
+ if (typeof colf !== 'string') return colf
98
+
99
+ if (/\|money/.test(colf)) {
100
+ let mc = colf.match(/{(\S+)\|money}/)
101
+ let key = mc && mc[1]
102
+
103
+ return (row) => numerify(row[key], '0,0.00')
104
+ } else if (/\|rate/.test(colf)) {
105
+ let mc = colf.match(/{(\S+)\|rate}/)
106
+ let key = mc && mc[1]
107
+
108
+ return (row) => numerify(row[key], '0.000000')
109
+ } else {
110
+ let mc = colf.match(/{[^}]+}/g) || []
111
+ let mcv = mc.map((m) => m.replace(/{|}/g, ''))
112
+
113
+ return (row) => {
114
+ let str = colf
115
+ mc.forEach((tp, i) => {
116
+ str = str.replace(tp, row[mcv[i]])
117
+ })
118
+ return str
119
+ }
120
+ }
121
+ },
122
+ colftF(colft, fMap) {
123
+ if (typeof colft !== 'string') return colft
124
+ return fMap[colft]
125
+ }
126
+ },
127
+ props: {
128
+ column: {
129
+ type: Boolean,
130
+ default: false
131
+ },
132
+ data: {
133
+ type: Array,
134
+ default: undefined
135
+ },
136
+ columns: {
137
+ type: Array,
138
+ require: true,
139
+ default: () => []
140
+ },
141
+ filtersMap: {
142
+ type: Object,
143
+ default: () => ({})
144
+ },
145
+ pageObj: {
146
+ type: Object,
147
+ default: undefined
148
+ },
149
+ pageKey: {
150
+ type: Object,
151
+ default: undefined
152
+ },
153
+ height: {
154
+ type: [String, Number],
155
+ default: undefined
156
+ }
157
+ },
158
+ computed: {
159
+ heightW() {
160
+ if (this.height === undefined) {
161
+ return undefined
162
+ }
163
+ if (/\D/.test(this.height)) {
164
+ return this.height
165
+ } else {
166
+ return this.height + 'px'
167
+ }
168
+ },
169
+ heightC() {
170
+ return this.pageObj ? 'calc(100% - 38px)' : '100%'
171
+ }
172
+ },
173
+ created() {
174
+ if (this.column) {
175
+ console.warn('调整列顺序,请使用ShowColumn组件')
176
+ }
177
+ }
178
+ }
179
+ </script>
@@ -1,149 +1,149 @@
1
- <template>
2
- <el-table
3
- v-if="!pagination"
4
- ref="el-table"
5
- :header-cell-style="{ 'text-align': 'center' }"
6
- :data="data"
7
- :height="height"
8
- v-bind="$attrs"
9
- v-on="$listeners"
10
- >
11
- <template v-for="(item, i) in columns">
12
- <slot v-if="item.slotName" :name="item.slotName"></slot>
13
- <el-table-column
14
- v-else-if="item.render"
15
- :key="'cl-table-' + i"
16
- v-bind="item"
17
- >
18
- <columnRender slot-scope="{ row }" :c-render="item.render" :row="row" />
19
- </el-table-column>
20
- <el-table-column v-else :key="'cl-table-' + i" v-bind="item" />
21
- </template>
22
- </el-table>
23
-
24
- <div v-else :style="{ height: heightW }">
25
- <el-table
26
- ref="el-table"
27
- :header-cell-style="{ 'text-align': 'center' }"
28
- style="width: 100%"
29
- :data="data"
30
- v-bind="$attrs"
31
- :height="heightC"
32
- v-on="$listeners"
33
- >
34
- <template v-for="(item, i) in columns">
35
- <slot v-if="item.slotName" :name="item.slotName"></slot>
36
- <el-table-column
37
- v-else-if="item.render"
38
- :key="'cl-table-' + i"
39
- v-bind="item"
40
- >
41
- <columnRender
42
- slot-scope="{ row }"
43
- :c-render="item.render"
44
- :row="row"
45
- />
46
- </el-table-column>
47
- <el-table-column v-else :key="'cl-table-' + i" v-bind="item" />
48
- </template>
49
- </el-table>
50
- <div v-if="pagination" class="flex-box flex-r m-t-s">
51
- <Pagination
52
- :page-obj="paginationOption"
53
- :page-key="{ no: 'page', size: 'pageSize', total: 'total' }"
54
- />
55
- </div>
56
- </div>
57
- </template>
58
-
59
- <script>
60
- import Pagination from '../Pagination/index.vue'
61
- const columnRender = {
62
- props: {
63
- cRender: {
64
- type: Function
65
- },
66
- row: {
67
- type: Object
68
- }
69
- },
70
- render(h) {
71
- return this.cRender(h, this.row)
72
- }
73
- }
74
-
75
- export default {
76
- name: 'TableO',
77
- components: {
78
- Pagination,
79
- columnRender
80
- },
81
- props: {
82
- column: {
83
- type: Boolean,
84
- default: false
85
- },
86
- data: {
87
- type: Array,
88
- default: undefined
89
- },
90
- columns: {
91
- type: Array,
92
- require: true,
93
- default: () => []
94
- },
95
- pagination: {
96
- type: Boolean,
97
- default: false
98
- },
99
- paginationOption: {
100
- type: Object,
101
- default: () => ({
102
- page: 1,
103
- total: 0,
104
- pageSize: 20
105
- })
106
- },
107
- height: {
108
- type: [String, Number],
109
- default: undefined
110
- }
111
- },
112
- computed: {
113
- heightW() {
114
- if (this.height === undefined) {
115
- return undefined
116
- }
117
- if (/\D/.test(this.height)) {
118
- return this.height
119
- } else {
120
- return this.height + 'px'
121
- }
122
- },
123
- heightC() {
124
- return this.pageObj ? 'calc(100% - 38px)' : '100%'
125
- }
126
- },
127
- watch: {
128
- 'paginationOption.page': {
129
- handler(val) {
130
- if (this.pagination) {
131
- this.$emit('changePage', val)
132
- }
133
- }
134
- },
135
- 'paginationOption.pageSize': {
136
- handler(val) {
137
- if (this.pagination) {
138
- this.$emit('changePageSize', val)
139
- }
140
- }
141
- }
142
- },
143
- created() {
144
- if (this.column) {
145
- console.warn('调整列顺序,请使用ShowColumn组件')
146
- }
147
- }
148
- }
149
- </script>
1
+ <template>
2
+ <el-table
3
+ v-if="!pagination"
4
+ ref="el-table"
5
+ :header-cell-style="{ 'text-align': 'center' }"
6
+ :data="data"
7
+ :height="height"
8
+ v-bind="$attrs"
9
+ v-on="$listeners"
10
+ >
11
+ <template v-for="(item, i) in columns">
12
+ <slot v-if="item.slotName" :name="item.slotName"></slot>
13
+ <el-table-column
14
+ v-else-if="item.render"
15
+ :key="'cl-table-' + i"
16
+ v-bind="item"
17
+ >
18
+ <columnRender slot-scope="{ row }" :c-render="item.render" :row="row" />
19
+ </el-table-column>
20
+ <el-table-column v-else :key="'cl-table-' + i" v-bind="item" />
21
+ </template>
22
+ </el-table>
23
+
24
+ <div v-else :style="{ height: heightW }">
25
+ <el-table
26
+ ref="el-table"
27
+ :header-cell-style="{ 'text-align': 'center' }"
28
+ style="width: 100%"
29
+ :data="data"
30
+ v-bind="$attrs"
31
+ :height="heightC"
32
+ v-on="$listeners"
33
+ >
34
+ <template v-for="(item, i) in columns">
35
+ <slot v-if="item.slotName" :name="item.slotName"></slot>
36
+ <el-table-column
37
+ v-else-if="item.render"
38
+ :key="'cl-table-' + i"
39
+ v-bind="item"
40
+ >
41
+ <columnRender
42
+ slot-scope="{ row }"
43
+ :c-render="item.render"
44
+ :row="row"
45
+ />
46
+ </el-table-column>
47
+ <el-table-column v-else :key="'cl-table-' + i" v-bind="item" />
48
+ </template>
49
+ </el-table>
50
+ <div v-if="pagination" class="flex-box flex-r m-t-s">
51
+ <Pagination
52
+ :page-obj="paginationOption"
53
+ :page-key="{ no: 'page', size: 'pageSize', total: 'total' }"
54
+ />
55
+ </div>
56
+ </div>
57
+ </template>
58
+
59
+ <script>
60
+ import Pagination from '../Pagination/index.vue'
61
+ const columnRender = {
62
+ props: {
63
+ cRender: {
64
+ type: Function
65
+ },
66
+ row: {
67
+ type: Object
68
+ }
69
+ },
70
+ render(h) {
71
+ return this.cRender(h, this.row)
72
+ }
73
+ }
74
+
75
+ export default {
76
+ name: 'TableO',
77
+ components: {
78
+ Pagination,
79
+ columnRender
80
+ },
81
+ props: {
82
+ column: {
83
+ type: Boolean,
84
+ default: false
85
+ },
86
+ data: {
87
+ type: Array,
88
+ default: undefined
89
+ },
90
+ columns: {
91
+ type: Array,
92
+ require: true,
93
+ default: () => []
94
+ },
95
+ pagination: {
96
+ type: Boolean,
97
+ default: false
98
+ },
99
+ paginationOption: {
100
+ type: Object,
101
+ default: () => ({
102
+ page: 1,
103
+ total: 0,
104
+ pageSize: 20
105
+ })
106
+ },
107
+ height: {
108
+ type: [String, Number],
109
+ default: undefined
110
+ }
111
+ },
112
+ computed: {
113
+ heightW() {
114
+ if (this.height === undefined) {
115
+ return undefined
116
+ }
117
+ if (/\D/.test(this.height)) {
118
+ return this.height
119
+ } else {
120
+ return this.height + 'px'
121
+ }
122
+ },
123
+ heightC() {
124
+ return this.pageObj ? 'calc(100% - 38px)' : '100%'
125
+ }
126
+ },
127
+ watch: {
128
+ 'paginationOption.page': {
129
+ handler(val) {
130
+ if (this.pagination) {
131
+ this.$emit('changePage', val)
132
+ }
133
+ }
134
+ },
135
+ 'paginationOption.pageSize': {
136
+ handler(val) {
137
+ if (this.pagination) {
138
+ this.$emit('changePageSize', val)
139
+ }
140
+ }
141
+ }
142
+ },
143
+ created() {
144
+ if (this.column) {
145
+ console.warn('调整列顺序,请使用ShowColumn组件')
146
+ }
147
+ }
148
+ }
149
+ </script>