olp-table 5.3.4 → 5.3.5

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 (171) hide show
  1. package/package.json +12 -92
  2. package/.env.build +0 -1
  3. package/README.md +0 -26
  4. package/babel.config.js +0 -5
  5. package/jsconfig.json +0 -22
  6. package/public/favicon.ico +0 -0
  7. package/public/index.html +0 -17
  8. package/rmMode.bat +0 -1
  9. package/src/App.vue +0 -199
  10. package/src/api/crud.js +0 -22
  11. package/src/api/dist.js +0 -6
  12. package/src/assets/iconfont/iconfont.css +0 -20
  13. package/src/assets/iconfont/iconfont.json +0 -16
  14. package/src/assets/iconfont/iconfont.ttf +0 -0
  15. package/src/assets/iconfont/iconfont.woff +0 -0
  16. package/src/assets/iconfont/iconfont.woff2 +0 -0
  17. package/src/assets/logo.png +0 -0
  18. package/src/components/auto-height/index.vue +0 -75
  19. package/src/components/codemirror-tag.vue +0 -100
  20. package/src/components/lazy-load-select.vue +0 -107
  21. package/src/components/ol-dialog-excel.vue +0 -112
  22. package/src/components/ol-dialog-import.vue +0 -304
  23. package/src/components/ol-dialog-json.vue +0 -82
  24. package/src/components/ol-dialog-table.vue +0 -81
  25. package/src/components/ol-dialog-upload-file.vue +0 -208
  26. package/src/components/ol-dict-tag.vue +0 -271
  27. package/src/components/ol-select-dom.vue +0 -71
  28. package/src/components/ol-table-filter.vue +0 -28
  29. package/src/components/ol-table-render.vue +0 -44
  30. package/src/components/ol-table-select.vue +0 -150
  31. package/src/components/pinia-init.vue +0 -18
  32. package/src/components/table/model/ModelMixins.js +0 -43
  33. package/src/components/table/model/model-index.vue +0 -121
  34. package/src/components/table/model/ot-left-right.vue +0 -18
  35. package/src/components/table/model/ot-left-tree-right-table.scss +0 -14
  36. package/src/components/table/model/ot-left-tree-right-table.vue +0 -41
  37. package/src/components/table/model/ot-top-1-bottom-2.vue +0 -39
  38. package/src/components/table/model/ot-top-2-bottom-1.vue +0 -38
  39. package/src/components/table/model/ot-top-2-bottom-2.vue +0 -38
  40. package/src/components/table/model/ot-top-bottom.vue +0 -18
  41. package/src/components/table/model/splitpanesModel.css +0 -22
  42. package/src/components/table/model/splitpanesModel.vue +0 -54
  43. package/src/components/table/ol-form/index.vue +0 -537
  44. package/src/components/table/ol-form-v3/index.vue +0 -455
  45. package/src/components/table/ol-main-form-sub-table/index.vue +0 -601
  46. package/src/components/table/ol-pager/index.vue +0 -46
  47. package/src/components/table/ol-table/components/ol-table-column-config/columnIndex.vue +0 -233
  48. package/src/components/table/ol-table/components/ol-table-column-config/index.vue +0 -145
  49. package/src/components/table/ol-table/components/ol-table-column-dict-color/index.vue +0 -88
  50. package/src/components/table/ol-table/index.vue +0 -232
  51. package/src/components/table/ol-table-operate/index.vue +0 -61
  52. package/src/components/table/ol-table-search/index.vue +0 -17
  53. package/src/components/table/ol-table-tool-btn/index.vue +0 -60
  54. package/src/components/tree/components/o-tree.vue +0 -289
  55. package/src/components/tree/index.vue +0 -46
  56. package/src/components/v-component/index.vue +0 -43
  57. package/src/config/dev-config.js +0 -5
  58. package/src/config/prod-config.js +0 -5
  59. package/src/config/shared-config.js +0 -20
  60. package/src/data.js +0 -9378
  61. package/src/directives/permission/hasPermi.js +0 -63
  62. package/src/directives/permission/hasRole.js +0 -30
  63. package/src/main.js +0 -55
  64. package/src/mixins/VTMixin/DefaultMethods.js +0 -749
  65. package/src/mixins/VTMixin/OTMixinBody.js +0 -105
  66. package/src/mixins/VTMixin/OTMixinBodyFooter.js +0 -93
  67. package/src/mixins/VTMixin/OTMixinBodyMethods.js +0 -420
  68. package/src/mixins/VTMixin/OTMixinColumnMethod.js +0 -450
  69. package/src/mixins/VTMixin/OTMixinInitMethod.js +0 -130
  70. package/src/mixins/VTMixin/OTMixinPager.js +0 -38
  71. package/src/mixins/VTMixin/OTMixinSortable.js +0 -43
  72. package/src/mixins/VTMixin/index.js +0 -18
  73. package/src/package/index.js +0 -20
  74. package/src/plugins/axios.js +0 -61
  75. package/src/store/dict.js +0 -76
  76. package/src/store/dictType.js +0 -52
  77. package/src/store/permi.js +0 -45
  78. package/src/styles/common.scss +0 -37
  79. package/src/styles/index.scss +0 -48
  80. package/src/styles/theme.scss +0 -32
  81. package/src/utils/AESCRUDUtils.js +0 -87
  82. package/src/utils/DateUtils.js +0 -35
  83. package/src/utils/ExcelUtil.js +0 -159
  84. package/src/utils/TableSortUtil.js +0 -91
  85. package/src/utils/columnProp.js +0 -3
  86. package/src/utils/groupCompute.js +0 -68
  87. package/src/utils/http/httpFactory.js +0 -92
  88. package/src/utils/http/httpFactory2.js +0 -79
  89. package/src/utils/http/httpUtil.js +0 -123
  90. package/src/utils/http/httpUtils.js +0 -38
  91. package/src/utils/loadStyle.js +0 -14
  92. package/src/utils/message.js +0 -56
  93. package/src/utils/object.js +0 -80
  94. package/src/utils/security/TokenUtil.js +0 -19
  95. package/src/utils/tree.js +0 -54
  96. package/src/utils/util.js +0 -127
  97. package/src/views/Test/index.vue +0 -77
  98. package/src/views/Test/index2.vue +0 -33
  99. package/src/views/components/btn-config/index.vue +0 -202
  100. package/src/views/components/option-config/index.vue +0 -192
  101. package/src/views/db/chineseToEnglish.vue +0 -127
  102. package/src/views/db/filed.vue +0 -395
  103. package/src/views/db/index.vue +0 -192
  104. package/src/views/db/preview/index.vue +0 -139
  105. package/src/views/db/preview/left.vue +0 -204
  106. package/src/views/db/preview/right.vue +0 -466
  107. package/src/views/groupTable/index.vue +0 -137
  108. package/src/views/groupTable/ol-table-column-config/columnIndex.vue +0 -194
  109. package/src/views/groupTable/ol-table-column-config/index.vue +0 -92
  110. package/src/views/table/add-or-edit/config/base-config/index.vue +0 -539
  111. package/src/views/table/add-or-edit/config/base-config/table-form.vue +0 -333
  112. package/src/views/table/add-or-edit/config/column-config/header-config.vue +0 -475
  113. package/src/views/table/add-or-edit/config/column-config/index.vue +0 -790
  114. package/src/views/table/add-or-edit/config/data/column.js +0 -218
  115. package/src/views/table/add-or-edit/config/data/crud.js +0 -122
  116. package/src/views/table/add-or-edit/config/data/events.js +0 -109
  117. package/src/views/table/add-or-edit/config/data/method.js +0 -127
  118. package/src/views/table/add-or-edit/config/data/option.js +0 -725
  119. package/src/views/table/add-or-edit/config/data/page.js +0 -79
  120. package/src/views/table/add-or-edit/config/field-config/filed-config-table.vue +0 -42
  121. package/src/views/table/add-or-edit/config/field-config/index.vue +0 -91
  122. package/src/views/table/add-or-edit/config/form-config/index.vue +0 -1179
  123. package/src/views/table/add-or-edit/config/index.vue +0 -376
  124. package/src/views/table/add-or-edit/config/initFormObject.js +0 -25
  125. package/src/views/table/add-or-edit/config/script-config/LeftMeun.vue +0 -71
  126. package/src/views/table/add-or-edit/config/script-config/index.vue +0 -70
  127. package/src/views/table/add-or-edit/config/table-config/btn-config.vue +0 -340
  128. package/src/views/table/add-or-edit/config/table-config/btn-sort.vue +0 -132
  129. package/src/views/table/add-or-edit/config/table-config/index.vue +0 -446
  130. package/src/views/table/add-or-edit/configOld/dataTags/filed-config-table-model.vue +0 -41
  131. package/src/views/table/add-or-edit/configOld/dataTags/filed-config.vue +0 -74
  132. package/src/views/table/add-or-edit/configOld/dataTags/index.vue +0 -439
  133. package/src/views/table/add-or-edit/configOld/dataTags/set-table-sql.vue +0 -79
  134. package/src/views/table/add-or-edit/configOld/dataTags/table-on-config.vue +0 -74
  135. package/src/views/table/add-or-edit/configOld/index.vue +0 -127
  136. package/src/views/table/add-or-edit/configOld/tableTags/columnConfig.js +0 -5
  137. package/src/views/table/add-or-edit/configOld/tableTags/index.vue +0 -353
  138. package/src/views/table/add-or-edit/configOld/tableTags/operation-but-config.vue +0 -75
  139. package/src/views/table/add-or-edit/configOld/tableTags/tool-but-config.vue +0 -92
  140. package/src/views/table/add-or-edit/index.vue +0 -201
  141. package/src/views/table/add-or-edit/themeModel/index.vue +0 -53
  142. package/src/views/table/add-or-edit/themeModel/init-model-table.vue +0 -48
  143. package/src/views/table/add-or-edit/themeModel/init-model.vue +0 -81
  144. package/src/views/table/add-or-edit/themeModel/left-right.vue +0 -24
  145. package/src/views/table/add-or-edit/themeModel/left-tree-right-table.vue +0 -75
  146. package/src/views/table/add-or-edit/themeModel/olTableSearchModelMixins.js +0 -42
  147. package/src/views/table/add-or-edit/themeModel/splitpanesThemeModel.vue +0 -49
  148. package/src/views/table/add-or-edit/themeModel/top-1-bottom-2.vue +0 -29
  149. package/src/views/table/add-or-edit/themeModel/top-2-bottom-1.vue +0 -32
  150. package/src/views/table/add-or-edit/themeModel/top-2-bottom-2.vue +0 -32
  151. package/src/views/table/add-or-edit/themeModel/top-bottom.vue +0 -14
  152. package/src/views/table/index.vue +0 -43
  153. package/src/views/table/index2.vue +0 -199
  154. package/src/views/table/preview/index.vue +0 -29
  155. package/src/views/tree/components/config-core-data.vue +0 -85
  156. package/src/views/tree/components/config-core-table.vue +0 -362
  157. package/src/views/tree/components/config-core-tree/data/events.js +0 -95
  158. package/src/views/tree/components/config-core-tree/data/option.js +0 -88
  159. package/src/views/tree/components/config-core-tree/data/prop.js +0 -28
  160. package/src/views/tree/components/config-core-tree/index.vue +0 -181
  161. package/src/views/tree/components/config-core.vue +0 -42
  162. package/src/views/tree/components/form-config/index.vue +0 -967
  163. package/src/views/tree/index.vue +0 -424
  164. package/vue.config.js +0 -44
  165. /package/{olp-table/demo.html → demo.html} +0 -0
  166. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.7e4906d9.woff +0 -0
  167. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.947a27f0.ttf +0 -0
  168. /package/{olp-table/olp-table.common.js → olp-table.common.js} +0 -0
  169. /package/{olp-table/olp-table.css → olp-table.css} +0 -0
  170. /package/{olp-table/olp-table.umd.js → olp-table.umd.js} +0 -0
  171. /package/{olp-table/olp-table.umd.min.js → olp-table.umd.min.js} +0 -0
@@ -1,450 +0,0 @@
1
- import getFiledName from "@/utils/columnProp";
2
-
3
- function setColumnParams(column, key, value) {
4
- if (value === undefined) {
5
- return;
6
- }
7
- if (!column['params']) {
8
- column['params'] = {};
9
- }
10
- column['params'][key] = value;
11
- }
12
-
13
- export const OTMixinColumnMethod = {
14
- methods: {
15
- setColumnCssClass(o) {
16
- if (o.dictCode) {
17
- let vals = this.dictVal(o.dictCode);
18
- let cssClass = {};
19
- if (vals) {
20
- let dictValueLabel = {};
21
- for (let obj of vals) {
22
- dictValueLabel[obj.dictValue] = obj.dictLabel
23
- if (obj.cssClass) {
24
- let css = obj.cssClass.trim()
25
- try {
26
- css = css.replace(/([a-zA-Z_]\w*):/g, '"$1":').replace(/'/g, '"');
27
- css = JSON.parse(css)
28
- if (Array.isArray(css)) {
29
- let data = {};
30
- if (css[0]) {
31
- data['backgroundColor'] = css[0];
32
- }
33
- if (css[1]) {
34
- data['color'] = css[1];
35
- }
36
- cssClass[obj.dictValue] = data
37
- } else {
38
- cssClass[obj.dictValue] = css
39
- }
40
- } catch (e) {
41
- console.error("列名:", o.title, "数据字典:", obj.dictLabel, "样式异常:", css)
42
- }
43
- }
44
- }
45
- setColumnParams(o, 'dictValueLabel', dictValueLabel);
46
- }
47
-
48
- if (Object.keys(cssClass).length != 0) {
49
- setColumnParams(o, 'cssClass', cssClass);
50
- }
51
- }
52
- }, initColumn(columns, tableConfig) {
53
- this.table.mergeFields = []
54
- let items = [];
55
- columns = columns.sort(({sort: a}, {sort: b}) => a - b);
56
- for (let column of columns) {
57
- this.toParseOtherProp(column);
58
- }
59
- this.table.columnSource = JSON.parse(JSON.stringify(columns))
60
- let {optionJson, seq} = tableConfig;
61
- if (optionJson) {
62
- optionJson = JSON.parse(optionJson);
63
- }
64
- for (let o of columns) {
65
- this.setColumnCssClass(o)
66
- this.initFormatter(o)
67
- this.initSlots(o);
68
- this.setTreeOpenColumn(o, tableConfig);
69
- this.setMergeField(o);
70
- this.setColumnShowOverFlow(o, optionJson);
71
- this.setProp(o);
72
- this.setColumnHide(o);
73
- this.setFixed(o);
74
- this.setShowFooter(o);
75
- this.getVNode(o, items);
76
- // 可编辑配置
77
- if (this.hasEditConfig()){
78
- this.setEditConfig(o);
79
- }
80
- }
81
- items.sort(({searchSort: a}, {searchSort: b}) => a - b)
82
- this.setSearchArea(items);
83
- columns = this.initBodyLeftColumn(columns, seq);
84
- if (this.table['show-footer']) {
85
- if (!columns[0].width || columns[0].width < 55) {
86
- columns[0].width = 55;
87
- }
88
- }
89
- this.table.columns = columns
90
- //暂时不合并,启用虚拟滚动
91
- this.initMergeCells();
92
-
93
- },hasEditConfig(){
94
- return (this.table.editConfig && (
95
- this.table.editConfig.enabled === true ||
96
- (typeof this.table.editConfig.enabled === 'string' &&
97
- this.table.editConfig.enabled.toLowerCase() === 'true')
98
- ))
99
- },
100
- setEditConfig(o) {
101
- if (o.tableSaveToOtherProp && o.tableSaveToOtherProp == '1') {
102
- return;
103
- }
104
- if (o.selectDom == '1') {
105
- o.editRender = {
106
- name: '$input',
107
- props: {
108
- placeholder: '请输入' + o.title,
109
- clearable: o.clearableSEARCHToOtherProp == '1' ? false : true
110
- }
111
- }
112
- }
113
- // 文本域
114
- if (o.selectDom == '10') {
115
- o.editRender = {
116
- name: 'textarea',
117
- props: {
118
- type: 'textarea', // 指定为多行文本框
119
- placeholder: '请输入' + o.title,
120
- rows: 3, // 默认显示行数
121
- autosize: {minRows: 2, maxRows: 6}, // 自动调整高度
122
- clearable: o.clearableSEARCHToOtherProp == '1' ? false : true
123
- }
124
- }
125
- }
126
- // 数字
127
- if (o.selectDom == '7') {
128
- o.editRender = {
129
- name: '$input',
130
- props: {
131
- type: this.getType(o.selectDom),
132
- placeholder: '请输入' + o.title,
133
- clearable: o.clearableSEARCHToOtherProp == '1' ? false : true
134
- }
135
- }
136
- }
137
- // 时间
138
- if (o.selectDom == '3' || o.selectDom == '6') {
139
- o.editRender = {
140
- name: 'VxeInput',
141
- props: {
142
- type: this.getType(o.selectDom),
143
- valueFormat: 'yyyy-MM-dd HH:mm:ss'
144
- }
145
- }
146
- }
147
- // 下拉框
148
- if (o.selectDom == '2' || o.selectDom == '8') {
149
- o.editRender = {name: 'VxeSelect', options: this.dictVal(o.dictCode), props: {placeholder: '请选择' + o.title}}
150
- }
151
- },
152
- getType(selectDom) {
153
- if (selectDom == '3') {
154
- return 'datetime';
155
- }
156
- if (selectDom == '6') {
157
- return 'date';
158
- }
159
- if (selectDom == '7') {
160
- return 'number';
161
- }
162
- },
163
- /**
164
- * 初始化列左边
165
- * @param columns
166
- * @param type
167
- * @returns {*}
168
- */
169
- initBodyLeftColumn(columns, type) {
170
- if (type == 1) {
171
- columns.unshift({type: 'seq', width: 55, title: '序号', fixed: 'left'});
172
- }
173
- if (this.selectBox == 2) {
174
- columns.unshift({type: 'checkbox', width: 45, showOverflow: false, fixed: 'left'});
175
- } else if (this.selectBox == 1) {
176
- columns.unshift({type: 'radio', width: 45, showOverflow: false, fixed: 'left'});
177
- }
178
- return columns;
179
- }, setTreeOpenColumn(o, tableConfig) {
180
- if (tableConfig.tree == 1 && o.field == tableConfig.openColumn) {
181
- o.treeNode = true
182
- if (!o.align) {
183
- o.align = 'left'
184
- }
185
- }
186
- }, setMergeField(column) {
187
- if (column.mergeFlag == '1') {
188
- this.table.mergeFields.push(column.field)
189
- }
190
- }, setColumnHide(o) {
191
- //隐藏
192
- if (o.visible == "0") {
193
- o.visible = false;
194
- }
195
- }, initFormatter(o) {
196
- try {
197
- if (o.formatter) {
198
- o.formatter = eval("({cellValue, row, column})=>{" + o.formatter + "}")
199
- } else if (o.dictCode) {
200
- o.formatter = eval("" + "({cellValue, row, column})=>{if(column.params && column.params.dictValueLabel){ let dictValueLabelElement = column.params.dictValueLabel[cellValue];if(dictValueLabelElement){return dictValueLabelElement;} }return cellValue}")
201
- }
202
- } catch (e) {
203
- console.log(o.title, "formatter异常:", o.formatter)
204
- this.$message.error(o.title + "formatter异常!")
205
- }
206
- }, initSlots(o) {
207
- if (o.selectDom == 20) {
208
- o.slotsName = 'img_default';
209
- o.slots = {
210
- default: 'img_default'
211
- }
212
- }
213
- if (o.selectDom == '21') {
214
- o.slotsName = 'icon_default';
215
- o.slots = {
216
- default: 'icon_default'
217
- }
218
- }
219
- }, setFixed(item) {
220
- //修改固定字段的值
221
- if (item.fixed === '1') {
222
- item.fixed = 'left'
223
- } else if (item.fixed === '2') {
224
- item.fixed = 'right'
225
- }
226
- if (item.align === '1') {
227
- item.align = 'left'
228
- } else if (item.align === '2') {
229
- item.align = 'right'
230
- } else if (item.align === '0') {
231
- item.align = 'center'
232
- }
233
- }, setProp(item) {
234
- item.resizable = undefined;
235
- if (item.sortable != undefined && item.sortable != "") {
236
- let order = item.field + (item.sortable == 0 ? " ASC " : " DESC ");
237
- this.orderByColumns.push(order)
238
- }
239
- ////时间类型
240
- if (!item.width && (item.selectDom == 3 || item.selectDom == 6)) {
241
- item.minWidth = 150
242
- } else if (!item.width && item.title) {
243
- item.minWidth = item.title.length * 30
244
- }
245
- }, setShowFooter(item) {
246
- if (item['totalToOtherProp']) {
247
- this.table['show-footer'] = true;
248
- }
249
- }, toParseOtherProp(item) {
250
- //其他属性赋值
251
- try {
252
- let otherProp = JSON.parse(item.otherProp)
253
- item.otherProp = otherProp;
254
- for (let key of Object.keys(otherProp)) {
255
- item[key] = otherProp[key];
256
- }
257
- } catch (e) {
258
- if (item.otherProp) {
259
- console.error(item.field + "其他属性无法解析:" + item.otherProp)
260
- }
261
- item.otherProp = {};
262
- }
263
- if (item['totalToOtherProp'] === undefined) {
264
- item['totalToOtherProp'] = '';
265
- }
266
- }, /**
267
- * 设置搜索
268
- * @param items
269
- */
270
- setSearchArea(items) {
271
- if (items.length != 0) {
272
- items.push({
273
- itemRender: {
274
- name: '$buttons', children: [{
275
- props: {
276
- type: 'submit', content: '查询', status: 'primary'
277
- }, events: {click: this.query}
278
- }, {props: {type: 'button', content: '重置'}, events: {click: this.resetQuery}}]
279
- }
280
- })
281
- this.table.formConfig.size = this.table.size;
282
- }
283
- this.table.formConfig.items = items;
284
- }, getVNode(o, items) {
285
- if (o.selectType == undefined) {
286
- return
287
- }
288
- //99是范围查询
289
- if (o.selectType == 99) {
290
- let itemStart = this.initFormConfig(o, 5);
291
- let itemEnd = this.initFormConfig(o, 6);
292
- //时间范围查询
293
- if (o.selectDom == 3 || o.selectDom == 6) {
294
- let placeholder = o.selectDom == 3 ? '时间' : '';
295
- itemStart.placeholder = '请选择开始日期' + placeholder
296
- delete itemStart.itemRender;
297
- itemEnd.placeholder = '请选择结束日期' + placeholder
298
- }
299
- items.push(itemStart)
300
- items.push(itemEnd)
301
- } else {
302
- items.push(this.initFormConfig(o))
303
- }
304
- }, initFormConfig(o, type) {
305
- let item = {
306
- align: 'left',
307
- field: o.tableField,
308
- span: 6,
309
- searchSort: o.searchSort,
310
- title: o.titleSEARCHToOtherProp != undefined ? o.titleSEARCHToOtherProp : o.title,
311
- key: o.tableField,
312
- type: o.selectType,
313
- selectDom: o.selectDom,
314
- tableName:o.tableNameSEARCHToOtherProp,
315
- clearable: o.clearableSEARCHToOtherProp == '1' ? false : true,
316
- toDate: o.toDateSEARCHToOtherProp,
317
- itemRender: {
318
- name: '$input',
319
- props: {
320
- placeholder: '请输入' + o.title,
321
- clearable: o.clearableSEARCHToOtherProp == '1' ? false : true
322
- }
323
- }
324
- };
325
- // if(this.table.editConfig && (
326
- // this.table.editConfig.enabled === true ||
327
- // (typeof this.table.editConfig.enabled === 'string' &&
328
- // this.table.editConfig.enabled.toLowerCase() === 'true')
329
- // )){
330
- // o.editRender = {
331
- // name:'$input',
332
- // props: {
333
- // placeholder: '请输入' + o.title,
334
- // clearable: o.clearableSEARCHToOtherProp == '1' ? false : true
335
- // }
336
- // }
337
- // }
338
- try {
339
- this.table.formConfig.data[item.key] = eval(o.valueSEARCHToOtherProp);
340
- }catch (e) {
341
- }
342
- if (type == 5) {
343
- item.title = o.title + "开始"
344
- item.type = 5
345
- item.field = "$" + o.tableField
346
- item.key = "$" + o.tableField
347
- } else if (type == 6) {
348
- item.field = o.tableField + "$"
349
- item.type = 6
350
- item.key = o.tableField + "$"
351
- item.title = o.title + "结束"
352
- }
353
- if ((item.type == 6 || item.type == 5) && o.selectDom == undefined) {
354
- o.selectDom = 7;
355
- }
356
- this.getItemRender(o, item, type);
357
- if (item.title && item.title.length > 6) {
358
- item.titleWidth = 20 * (item.title.length - 2);
359
- } else if (item.title.toString().trim().length == 0) {
360
- item.titleWidth = 0
361
- }
362
- if (o.spanSEARCHToOtherProp != undefined) {
363
- item.span = 6;
364
- }
365
- return item;
366
- }, getItemRender(o, item, type) {
367
- if (o.dictCode) {
368
- delete item.itemRender;
369
- item.slots = {default: o.selectDom + item.field}
370
- item.slotsName = o.selectDom + item.field
371
- item.options = this.dictVal(o.dictCode);
372
- item.placeholder = '请选择' + o.title;
373
- item.clearable = o.clearableSEARCHToOtherProp == '1';
374
- item.multiple = o.selectDom == '8';
375
- } else if (o.selectDom == 7) {
376
- item.itemRender.props.type = 'integer';
377
- } else if (o.selectDom == 10) {
378
- item.itemRender.name = 'textarea';
379
- } else if (o.selectDom == 3 || o.selectDom == 6) {
380
- delete item.itemRender;
381
- item.domDate = true;
382
- if (o.selectType == 98 && item.selectDom == 6) {
383
- item.span = 7;
384
- item.domType = 'daterange';
385
- } else {
386
- item.domType = item.selectDom == 3 ? 'datetime' : 'date'
387
- }
388
- //这里跟element plus不一样
389
- item.domFormat = item.selectDom == 3 ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'
390
- item.slots = {default: o.selectDom + item.field + "_time"}
391
- item.slotsName = o.selectDom + item.field + "_time"
392
- item.placeholder = '请选择';
393
- if (type == 5) {
394
- item.placeholder += "开始";
395
- } else if (type == 6) {
396
- item.placeholder += "结束";
397
- }
398
- if (o.selectDom == 3) {
399
- item.placeholder += "时间";
400
- }
401
- }
402
- }, setColumnShowOverFlow(column, optionObj) {
403
- if (optionObj) {
404
- if (optionObj.table && optionObj.table.columnConfig && optionObj.table.columnConfig.showOverflow) {
405
- if (column.type != 'seq' || column.type != 'checkbox') {
406
- column.showOverflow = optionObj.table.columnConfig.showOverflow
407
- }
408
- }
409
- }
410
- }, initMergeCells() {
411
- if (this.table.mergeCells) {
412
- this.table.mergeCells = JSON.parse(this.table.mergeCells)
413
- return
414
- }
415
-
416
- if (this.table.mergeFields && this.table.mergeFields.length != 0) {
417
- this.table.spanMethod = this.mergeRowMethod
418
- }
419
- }, // 通用行合并函数(将相同多列数据合并为一行)
420
- mergeRowMethod({row, _rowIndex, column, visibleData}) {
421
- const cellValue = row[column.field]
422
- if (cellValue && this.table.mergeFields.includes(column.field)) {
423
- const prevRow = visibleData[_rowIndex - 1]
424
- let nextRow = visibleData[_rowIndex + 1]
425
- if (prevRow && prevRow[column.field] === cellValue) {
426
- return {rowspan: 0, colspan: 0}
427
- } else {
428
- let countRowspan = 1
429
- while (nextRow && nextRow[column.field] === cellValue) {
430
- nextRow = visibleData[++countRowspan + _rowIndex]
431
- }
432
- if (countRowspan > 1) {
433
- return {rowspan: countRowspan, colspan: 1}
434
- }
435
- }
436
- }
437
- }, setDictCellStyle({row, rowIndex, $rowIndex, column, columnIndex, $columnIndex}) {
438
- if (column.params && column.params.cssClass) {
439
- return column.params.cssClass[row[column[getFiledName(column)]]];
440
- }
441
- }, setTableStyle(option) {
442
- if (option['cell-style'] === undefined) {
443
- option['cell-style'] = {
444
- flag: "flag##function#", isFunction: true
445
- }
446
- }
447
- option['cell-style']['code'] = "let OTMixinColumnMethod_setDictCellStyle = this.setDictCellStyle(params); if(OTMixinColumnMethod_setDictCellStyle){ return OTMixinColumnMethod_setDictCellStyle;}\n" + option['cell-style']['code'];
448
- },
449
- }
450
- }
@@ -1,130 +0,0 @@
1
- import {convertToStringifiedJson} from "@/utils/object";
2
- import {useMessage} from "@/utils/message";
3
- import {get} from "@/utils/http/httpUtils";
4
- import {decryptWithDecompress} from "@/utils/AESCRUDUtils";
5
-
6
- export const OTMixinInitMethod = {
7
- created() {
8
- this.init()
9
- },
10
- methods: {
11
- initTable({selectBox, paging, optionJson, parameterDefault}) {
12
- if (optionJson) {
13
- let optionObj = JSON.parse(optionJson);
14
- this.setTableStyle(optionObj.table);
15
- this.copyParams(optionObj.table, this.table)
16
- if (this.table.border == "false") {
17
- this.table.border = false;
18
- }
19
- this.pagination.enabled = paging == "1";
20
- if (this.pagination.enabled) {
21
- this.copyParams(optionObj.pagination, this.pagination)
22
- }
23
- for (let event in optionObj.events) {
24
- this.events[event] = (params) => {
25
- eval(optionObj.events[event].code)
26
- }
27
- }
28
- }
29
- if (this.table['show-overflow'] == undefined && this.table['showOverflow'] == undefined) {
30
- this.table['show-overflow'] = true
31
- }
32
- if (parameterDefault) {
33
- if (parameterDefault.indexOf("{") == 0) {
34
- try {
35
- parameterDefault = convertToStringifiedJson(parameterDefault)
36
- } catch (e) {
37
- console.error("参数", parameterDefault)
38
- useMessage().error("默认参数配置异常,请F12查看异常日志!")
39
- throw new Error(e)
40
- }
41
- this.parameterDefault = parameterDefault;
42
- } else {
43
- for (let kv of parameterDefault.toString().split(",")) {
44
- let kvs = kv.split("=");
45
- if (kvs.length == 2) {
46
- this.parameterDefault[kvs[0]] = kvs[1];
47
- }
48
- }
49
- }
50
- }
51
- this.selectBox = selectBox;
52
- }, initDefaultValue() {
53
- for (let o of this.table.formConfig.items) {
54
- if (o.key && this.parameterDefault[o.key] != undefined) {
55
- this.table.formConfig.data[o.key] = this.parameterDefault[o.key]
56
- }
57
- }
58
- }, init(initDataSource) {
59
- if (!this.uuid || !this.theme || (!this.initDataSource && initDataSource == undefined)) {
60
- return
61
- }
62
- this.$nextTick(() => {
63
- if (this.tableAll) {
64
- this.tableAll[this.theme] = this;
65
- }
66
- })
67
- return new Promise((resolve) => {
68
- get(this.http, '/onlineAes/init', {uuid: this.uuid, theme: this.theme}).then(res => {
69
- res = JSON.parse(decryptWithDecompress(res));
70
- this.setDataSource(res, resolve)
71
- });
72
- })
73
- }, setDataSource(res, resolve) {
74
- let {configColumns, toolBut, operationBut, tableConfig, formMainList, tableDelete} = res;
75
- this.tableConfig = tableConfig;
76
- this.initTable(tableConfig);
77
- this.initColumn(configColumns, tableConfig);
78
- this.initToolBtn(toolBut)
79
- this.initOperationBtn(operationBut)
80
- this.initFormMainList(formMainList)
81
- this.initTree(tableConfig)
82
- this.initDefaultValue();
83
- this.deleteParameter = tableDelete;
84
- if (resolve) {
85
- resolve(res)
86
- }
87
- this.tableInitOk(tableConfig)
88
- }, tableInitOk(tableConfig) {
89
- this.$nextTick(() => {
90
- if (this.tableAll) {
91
- this.tableAll[tableConfig.theme] = this;
92
- }
93
- if (this.events['tableInitOk']) {
94
- this.events['tableInitOk']()
95
- }
96
- this.$emit('initOk', this)
97
- if (tableConfig.init != 0) {
98
- this.query();
99
- }
100
- })
101
- }, copyParams(option, data) {
102
- for (let item in option) {
103
- let obj = option[item];
104
- let sub = data[item]
105
- if (obj instanceof Object && obj.isFunction && obj.flag == "flag##function#") {
106
- data[item] = (params) => {
107
- let fun = null
108
- try {
109
- eval("fun = (params) => {" + obj.code + "}")
110
- return fun(params)
111
- } catch (e) {
112
- console.error("执行cope异常:" + item + "\n" + obj.code + "\n" + e)
113
- }
114
-
115
- }
116
- continue
117
- }
118
- if (sub == null || sub == undefined) {
119
- data[item] = obj
120
- continue
121
- }
122
- if (obj instanceof Object && sub instanceof Object) {
123
- this.copyParams(obj, sub)
124
- } else {
125
- data[item] = obj
126
- }
127
- }
128
- }
129
- }
130
- }
@@ -1,38 +0,0 @@
1
- export const OTMixinPager = {
2
- name: 'OTMixinPager',
3
- data() {
4
- return {
5
- pagination: {
6
- enabled: true,
7
- size: "mini",
8
- currentPage: 1,//当前页
9
- pageSizes: [],//每页大小选项列表
10
- pageSize: 50,//每页大小
11
- layouts: ['PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total'],//每页大小选项列表
12
- total: 0,//总条数
13
- pagerCount: 5,//显示页码按钮的数量
14
- selectRowShow: false,//是否显示已选择项
15
- htmlValue: undefined,//显示内容
16
- rowSelection: true,
17
- showDetails: true,
18
- selectionRowsLength: 0
19
- }
20
- }
21
- },
22
- methods: {
23
- handlePageChange({currentPage, pageSize}) {
24
- this.pagination.currentPage = currentPage
25
- this.pagination.pageSize = pageSize
26
- this.query();
27
- }, clearSelected(o) {
28
- if (this.selectBox == 1) {
29
- this.$table.clearRadioRow()
30
- } else if (this.selectBox == 2) {
31
- this.$table.clearCheckboxRow()
32
- }
33
- this.pagination.selectionRowsLength = 0;
34
- this.setToolBtn('batchDelete', 'disabled', true)
35
- this.$emit('clearSelected', o)
36
- }
37
- }
38
- }
@@ -1,43 +0,0 @@
1
-
2
- import Sortable from "sortablejs";
3
- export const OTMixinSortable = {
4
- methods: {
5
- updateSort() {
6
- if (!this.table.sortable) {
7
- return
8
- }
9
- this.$nextTick(() => {
10
- //el绑定元素需要找到vxe的DOM下的tbody元素
11
- Sortable.create(this.$table.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'),
12
- {
13
- filter: '.col--fixed',
14
- handle: '.vxe-header--column',
15
- onEnd: ({newIndex, oldIndex}) => {
16
- console.log(newIndex, oldIndex);
17
- let tableColumn = JSON.parse(JSON.stringify(this.$table.getColumns()));
18
- let newColumn = tableColumn[newIndex];
19
- let oldColumn = tableColumn[oldIndex];
20
- for (let i = 0; i < this.table.columns.length; i++) {
21
- let column = this.table.columns[i];
22
- if (oldColumn.field == column.field) {
23
- oldIndex = i;
24
- } else if (newColumn.field == column.field) {
25
- newIndex = i;
26
- }
27
- }
28
- let columns = this.table.columns;
29
-
30
- this.$table.loadColumn([]);
31
- let spliceElement = columns.splice(oldIndex, 1)[0];
32
- columns.splice(newIndex, 0, spliceElement);
33
- this.table.columns = columns;
34
- this.$nextTick(() => {
35
- this.$table.loadColumn(this.table.columns);
36
- })
37
-
38
- }
39
- })
40
- })
41
- },
42
- }
43
- }
@@ -1,18 +0,0 @@
1
- import {OTMixinBody} from "@/mixins/VTMixin/OTMixinBody";
2
- import {OTMixinPager} from "@/mixins/VTMixin/OTMixinPager";
3
- import {OTMixinSortable} from "@/mixins/VTMixin/OTMixinSortable";
4
- import {OTMixinInitMethod} from "@/mixins/VTMixin/OTMixinInitMethod";
5
- import {storeDict} from "@/store/dict";
6
-
7
- const dict = storeDict();
8
- export const OTMixin = {
9
- emits: ['initOk'],
10
- inject: ['tableAll', 'http'],
11
- name: 'OTMixin',
12
- mixins: [OTMixinBody, OTMixinPager, OTMixinSortable, OTMixinInitMethod],
13
- methods: {
14
- dictVal(code) {
15
- return dict.val(code);
16
- }
17
- }
18
- }