imatrix-ui 0.2.0-up → 0.2.2-up

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 (213) hide show
  1. package/README.md +7 -7
  2. package/index.html +13 -13
  3. package/lib/super-ui.css +1 -1
  4. package/lib/super-ui.js +787 -366
  5. package/lib/super-ui.umd.cjs +18 -18
  6. package/package.json +34 -34
  7. package/packages/IntervalSelection/index.js +6 -6
  8. package/packages/IntervalSelection/src/quarterScope.vue +405 -405
  9. package/packages/IntervalSelection/src/sectionDate.vue +475 -475
  10. package/packages/breadcrumb/index.js +6 -6
  11. package/packages/breadcrumb/src/breadcrumb.vue +81 -81
  12. package/packages/department-tree/index.js +6 -6
  13. package/packages/department-tree/src/department-tree.vue +113 -113
  14. package/packages/department-tree-inline/index.js +6 -6
  15. package/packages/department-tree-inline/src/department-multi-tree-inline.vue +472 -472
  16. package/packages/department-tree-inline/src/department-single-tree-inline.vue +340 -340
  17. package/packages/department-tree-inline/src/department-tree-inline.vue +86 -86
  18. package/packages/department-tree-inline/src/department-tree-service.js +344 -344
  19. package/packages/department-tree-inline/src/search-result.vue +235 -235
  20. package/packages/department-user-tree/index.js +6 -6
  21. package/packages/department-user-tree/src/department-user-multiple-tree.vue +129 -129
  22. package/packages/department-user-tree/src/department-user-single-tree.vue +94 -94
  23. package/packages/department-user-tree/src/department-user-tree.vue +114 -114
  24. package/packages/department-user-tree-inline/index.js +9 -9
  25. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +731 -731
  26. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +334 -334
  27. package/packages/department-user-tree-inline/src/department-user-tree-inline.vue +87 -87
  28. package/packages/department-user-tree-inline/src/department-user-tree-multi-service.js +309 -309
  29. package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +179 -179
  30. package/packages/department-user-tree-inline/src/search-result.vue +273 -273
  31. package/packages/directives/prevent-reclick.js +22 -22
  32. package/packages/dynamic-source-select/index.js +6 -6
  33. package/packages/dynamic-source-select/src/dynamic-source-select-service.js +106 -106
  34. package/packages/dynamic-source-select/src/dynamic-source-select.vue +675 -675
  35. package/packages/dynamic-source-select/src/events.js +78 -78
  36. package/packages/fs-preview/index.js +6 -6
  37. package/packages/fs-preview/src/fs-preview.vue +287 -287
  38. package/packages/fs-upload/index.js +6 -6
  39. package/packages/fs-upload/src/fs-upload-multi.vue +443 -443
  40. package/packages/fs-upload/src/fs-upload-single.vue +350 -350
  41. package/packages/fs-upload/src/fs-upload.vue +191 -191
  42. package/packages/fs-upload/src/see-big-picture.vue +67 -67
  43. package/packages/fs-upload-list/index.js +6 -6
  44. package/packages/fs-upload-list/src/fs-upload-list.vue +372 -372
  45. package/packages/hamburger/index.js +6 -6
  46. package/packages/hamburger/src/hamburger.vue +40 -40
  47. package/packages/index.js +125 -123
  48. package/packages/multipart-upload/index.js +6 -6
  49. package/packages/multipart-upload/src/index.vue +66 -66
  50. package/packages/multipart-upload/src/multipart-upload-form.vue +377 -377
  51. package/packages/multipart-upload/src/multipart-upload-list.vue +517 -517
  52. package/packages/organization-input/index.js +6 -6
  53. package/packages/organization-input/src/organization-input.vue +583 -587
  54. package/packages/plugins/export-data-new.js +623 -623
  55. package/packages/plugins/export-data.js +431 -431
  56. package/packages/plugins/index.js +15 -15
  57. package/packages/plugins/public-method.js +47 -47
  58. package/packages/remove-department/index.js +6 -6
  59. package/packages/remove-department/src/remove-department.vue +200 -200
  60. package/packages/remove-department/src/remove-dept-service.js +31 -31
  61. package/packages/remove-user/index.js +6 -6
  62. package/packages/remove-user/src/remove-user-service.js +31 -31
  63. package/packages/remove-user/src/remove-user.vue +226 -226
  64. package/packages/remove-workgroup/index.js +6 -6
  65. package/packages/remove-workgroup/src/remove-workgroup-service.js +31 -31
  66. package/packages/remove-workgroup/src/remove-workgroup.vue +183 -183
  67. package/packages/rich-editor/index.js +7 -7
  68. package/packages/rich-editor/index.vue +297 -297
  69. package/packages/rich-editor/langs/zh-Hans.js +438 -438
  70. package/packages/rich-editor/viewer.vue +105 -105
  71. package/packages/scan-code-input/index.js +6 -6
  72. package/packages/scan-code-input/src/events.js +34 -34
  73. package/packages/scan-code-input/src/scan-code-input-colse.vue +140 -140
  74. package/packages/scan-code-input/src/scan-code-input.vue +132 -132
  75. package/packages/secret-info/index.js +7 -7
  76. package/packages/secret-info/index.vue +100 -100
  77. package/packages/super-grid/index.js +7 -7
  78. package/packages/super-grid/src/apis.js +1092 -1092
  79. package/packages/super-grid/src/columns-config.vue +427 -427
  80. package/packages/super-grid/src/custom-formatter.js +388 -388
  81. package/packages/super-grid/src/eventBus.js +2 -2
  82. package/packages/super-grid/src/events.js +56 -56
  83. package/packages/super-grid/src/formValidatorUtil.js +300 -300
  84. package/packages/super-grid/src/formatter.js +196 -196
  85. package/packages/super-grid/src/group-column.vue +99 -99
  86. package/packages/super-grid/src/header-context-menu.vue +82 -82
  87. package/packages/super-grid/src/index-column.vue +69 -69
  88. package/packages/super-grid/src/normal-column.vue +1221 -1221
  89. package/packages/super-grid/src/public-methods.js +30 -30
  90. package/packages/super-grid/src/row-operation.vue +193 -193
  91. package/packages/super-grid/src/search-button.vue +74 -74
  92. package/packages/super-grid/src/search-condition-input.vue +73 -73
  93. package/packages/super-grid/src/search-condition-list.vue +68 -68
  94. package/packages/super-grid/src/search-form-advancedQuery.vue +819 -826
  95. package/packages/super-grid/src/search-form-dialog.vue +77 -77
  96. package/packages/super-grid/src/search-form-item.vue +495 -495
  97. package/packages/super-grid/src/search-form-number.vue +111 -111
  98. package/packages/super-grid/src/search-form-open.vue +167 -159
  99. package/packages/super-grid/src/search-form-ordinarySearch.vue +239 -233
  100. package/packages/super-grid/src/search-form.vue +762 -765
  101. package/packages/super-grid/src/search-methods.js +592 -592
  102. package/packages/super-grid/src/selection-column.vue +46 -46
  103. package/packages/super-grid/src/super-grid-service.js +728 -728
  104. package/packages/super-grid/src/super-grid.vue +3009 -3009
  105. package/packages/super-grid/src/utils.js +880 -880
  106. package/packages/super-grid/src/view-image-dialog.vue +176 -176
  107. package/packages/super-nine-grid/index.js +7 -7
  108. package/packages/super-nine-grid/src/apis.js +108 -108
  109. package/packages/super-nine-grid/src/custom-formatter.js +73 -73
  110. package/packages/super-nine-grid/src/formatter.js +134 -134
  111. package/packages/super-nine-grid/src/search-form-number.vue +35 -35
  112. package/packages/super-nine-grid/src/search-form.vue +700 -703
  113. package/packages/super-nine-grid/src/search-methods.js +151 -151
  114. package/packages/super-nine-grid/src/super-grid-service.js +107 -107
  115. package/packages/super-nine-grid/src/super-nine-grid.vue +1164 -1164
  116. package/packages/super-nine-grid/src/utils.js +264 -264
  117. package/packages/svg-icon/index.js +6 -6
  118. package/packages/svg-icon/src/svg-icon.vue +43 -43
  119. package/packages/utils/date-util.js +292 -292
  120. package/packages/utils/dom.js +227 -227
  121. package/packages/utils/gogocodeTransfer.js +59 -59
  122. package/packages/utils/memory-cache-utils.js +117 -117
  123. package/packages/utils/utils.js +180 -180
  124. package/packages/utils/value-set.js +97 -97
  125. package/packages/valid-code/index.js +7 -7
  126. package/packages/valid-code/src/valid-code.vue +104 -104
  127. package/packages/workflow-button/index.js +6 -6
  128. package/packages/workflow-button/src/workflow-button.vue +550 -550
  129. package/packages/workflow-history-list/index.js +6 -6
  130. package/packages/workflow-history-list/src/api.js +7 -7
  131. package/packages/workflow-history-list/src/workflow-history-list.vue +291 -291
  132. package/packages/workgroup-tree/index.js +6 -6
  133. package/packages/workgroup-tree/src/workgroup-tree.vue +86 -86
  134. package/packages/workgroup-tree-inline/index.js +6 -6
  135. package/packages/workgroup-tree-inline/src/search-result.vue +222 -222
  136. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +516 -516
  137. package/packages/workgroup-tree-inline/src/workgroup-tree-service.js +93 -93
  138. package/packages/workgroup-user-tree/index.js +6 -6
  139. package/packages/workgroup-user-tree/src/workgroup-user-tree.vue +103 -103
  140. package/packages/workgroup-user-tree-inline/index.js +9 -9
  141. package/packages/workgroup-user-tree-inline/src/search-result.vue +266 -266
  142. package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +239 -239
  143. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +657 -657
  144. package/packages/year-range-picker/index.js +6 -6
  145. package/packages/year-range-picker/src/year-range-picker.vue +53 -53
  146. package/src/api/sso-service.js +172 -172
  147. package/src/api/tab.js +36 -36
  148. package/src/api/user-service.js +11 -11
  149. package/src/directives/permission/index.js +13 -13
  150. package/src/directives/permission/permission.js +20 -20
  151. package/src/i18n/langs/cn.js +259 -259
  152. package/src/i18n/langs/en.js +269 -269
  153. package/src/index.js +93 -93
  154. package/src/permission.js +160 -158
  155. package/src/plugins.js +18 -18
  156. package/src/router/index.js +110 -116
  157. package/src/store/getters.js +15 -15
  158. package/src/store/index.js +19 -19
  159. package/src/store/modules/app.js +54 -54
  160. package/src/store/modules/permission.js +145 -145
  161. package/src/store/modules/tab-content.js +36 -36
  162. package/src/store/modules/user.js +285 -285
  163. package/src/utils/auth-api.js +159 -159
  164. package/src/utils/calculator/calculator-factory-wf.js +558 -558
  165. package/src/utils/calculator/calculator-factory.js +145 -145
  166. package/src/utils/calculator/calculator-util.js +166 -166
  167. package/src/utils/eventBus.js +2 -2
  168. package/src/utils/iconUtils.js +28 -28
  169. package/src/utils/index.js +102 -102
  170. package/src/utils/jump-page-utils.js +824 -824
  171. package/src/utils/local-storage.js +7 -7
  172. package/src/utils/permission.js +31 -31
  173. package/src/utils/permissionAuth.js +96 -96
  174. package/src/utils/range-selector.js +188 -188
  175. package/src/utils/request.js +269 -269
  176. package/src/utils/restful-interface-utils.js +57 -57
  177. package/src/utils/util.js +698 -698
  178. package/src/utils/validate.js +34 -34
  179. package/src/utils/watermark.js +108 -108
  180. package/src/utils/workflow-util.js +93 -93
  181. package/src/views/404.vue +248 -248
  182. package/src/views/dsc-component/Sidebar/Item.vue +84 -84
  183. package/src/views/dsc-component/Sidebar/Link.vue +38 -38
  184. package/src/views/dsc-component/Sidebar/SidebarItem.vue +198 -198
  185. package/src/views/dsc-component/Sidebar/index.vue +228 -228
  186. package/src/views/dsc-component/tabs/tab-content.vue +203 -203
  187. package/src/views/error-page/401.vue +106 -106
  188. package/src/views/error-page/404.vue +248 -248
  189. package/src/views/layout/EmptyLayout.vue +3 -3
  190. package/src/views/layout/Layout.vue +81 -81
  191. package/src/views/layout/NewLayout.vue +18 -18
  192. package/src/views/layout/components/AppMain.vue +39 -39
  193. package/src/views/layout/components/Breadcrumb/index.vue +156 -156
  194. package/src/views/layout/components/Menubar/Item.vue +79 -79
  195. package/src/views/layout/components/Menubar/Link.vue +38 -38
  196. package/src/views/layout/components/Menubar/SidebarItem.vue +164 -164
  197. package/src/views/layout/components/Menubar/index.vue +210 -210
  198. package/src/views/layout/components/Sidebar/Item.vue +53 -53
  199. package/src/views/layout/components/Sidebar/Link.vue +38 -38
  200. package/src/views/layout/components/Sidebar/SidebarItem.vue +135 -135
  201. package/src/views/layout/components/Sidebar/index.vue +141 -141
  202. package/src/views/layout/components/iframe-page.vue +38 -38
  203. package/src/views/layout/components/index.js +4 -4
  204. package/src/views/layout/components/tabs/tab-content.vue +207 -207
  205. package/src/views/layout/mixin/ResizeHandler.js +41 -41
  206. package/src/views/layout/tab-content-iframe-index.vue +38 -38
  207. package/src/views/layout/tab-content-index.vue +93 -93
  208. package/src/views/login/authredirect.vue +10 -10
  209. package/src/views/login/index.vue +296 -296
  210. package/src/views/login/update-password.vue +243 -243
  211. package/src/views/redirect/index.vue +14 -14
  212. package/src/views/wf-history/tache-subprocess-history.vue +45 -45
  213. package/.vscode/extensions.json +0 -3
@@ -1,388 +1,388 @@
1
- import { $on, $off, $once, $emit } from '../../utils/gogocodeTransfer'
2
- import * as Vue from 'vue'
3
- import { doFormat } from './formatter'
4
- import store from './store'
5
- import { initialization, jumpToPage } from '../../../src/utils/jump-page-utils'
6
- import { analysisFileSetObj, otherFilesToStandard } from './utils'
7
- import { isPromise } from '../../../src/utils/common-util'
8
- const customFormatter = {
9
- /**
10
- * 自定义格式化值
11
- * @param {prop} 属性名
12
- * @param {formatValue} 格式化后的值
13
- * @param {format} 格式化方法
14
- * @param {componentName} 组件名
15
- */
16
- customFormatValue(row, prop, format, rowIndex) {
17
- // const start = new Date().getTime()
18
- // console.log('---super-grid--customFormatValue--')
19
- if (this.customFormat) {
20
- let originalValue = row[prop]
21
- if (this.isObjectProp(prop)) {
22
- originalValue = this.objectPropOriginalValue(row, prop)
23
- }
24
- const formatValue = doFormat(this.column, originalValue)
25
- const component = format.call(
26
- this,
27
- originalValue,
28
- formatValue,
29
- row,
30
- this.column,
31
- rowIndex
32
- )
33
- if (typeof component === 'undefined') {
34
- return false
35
- } else {
36
- window.$vueApp.component(prop + rowIndex, component)
37
- }
38
-
39
- // const end = new Date().getTime()
40
- // console.log('---super-grid--customFormatValue--time1=', (end - start))
41
- return true
42
- } else {
43
- // const end = new Date().getTime()
44
- // console.log('---super-grid--customFormatValue--time2=', (end - start))
45
- return false
46
- }
47
- },
48
-
49
- isObjectProp(prop) {
50
- // const start = new Date().getTime()
51
- // console.log('---super-grid--isObjectProp--')
52
- if (prop && prop.indexOf('.') > 0) {
53
- // const end = new Date().getTime()
54
- // console.log('---super-grid--isObjectProp--time1=', (end - start))
55
- return true
56
- } else {
57
- // const end = new Date().getTime()
58
- // console.log('---super-grid--isObjectProp--time2=', (end - start))
59
- return false
60
- }
61
- },
62
-
63
- objectPropOriginalValue(row, prop) {
64
- try {
65
- // console.log('---super-grid--objectPropOriginalValue--')
66
- let objValue = row
67
- if (prop && prop.indexOf('.') > 0) {
68
- const props = prop.split('.')
69
- props.forEach((subProp) => {
70
- if (objValue) {
71
- objValue = objValue[subProp]
72
- } else {
73
- objValue = ''
74
- throw objValue
75
- }
76
- })
77
- return objValue
78
- } else {
79
- return row[prop]
80
- }
81
- } catch (e) {
82
- // console.log(e)
83
- return ''
84
- }
85
- },
86
-
87
- objectPropValue(row, prop) {
88
- return this.formatter(row, prop, this.column)
89
- },
90
- // 获取显示的值
91
- // 附件类型,显示值与实际值不相同。如果时子表多选,需要单独判断
92
- objectPropValueTwo(row, column) {
93
- if (
94
- column.componentType === 'annex' ||
95
- column.componentType === 'multipartUpload'
96
- ) {
97
- // 判断是否是对象集合(子表存储)
98
- const fileSetObj = JSON.parse(column.fileSet)
99
- if (fileSetObj.childAnnexDataTableCode) {
100
- // 获取存好的json并解析
101
- const keyValueParam = analysisFileSetObj(fileSetObj, this.isSql)
102
- // 子表存储。返回最后一个对象的展示名称
103
- const fileArr = this.objectPropValue(row, column.prop)
104
- if (fileArr && fileArr.length > 0) {
105
- const fileList = otherFilesToStandard(
106
- fileSetObj,
107
- keyValueParam,
108
- fileArr,
109
- null
110
- )
111
- return fileList[fileList.length - 1].showName
112
- }
113
- } else {
114
- return this.objectPropValue(row, column.prop)
115
- }
116
- } else if (column.formatter && column.formatter.type === 'files') {
117
- // 判断是否是对象集合(子表存储)
118
- const fileSetObj = JSON.parse(column.formatter.options.fileSet)
119
- if (fileSetObj.childAnnexDataTableCode) {
120
- // 获取存好的json并解析
121
- const keyValueParam = analysisFileSetObj(fileSetObj, this.isSql)
122
- // 子表存储。返回最后一个对象的展示名称
123
- const fileArr = this.objectPropValue(row, column.prop)
124
- if (fileArr && fileArr.length > 0) {
125
- const fileList = otherFilesToStandard(
126
- fileSetObj,
127
- keyValueParam,
128
- fileArr,
129
- null
130
- )
131
- return fileList[fileList.length - 1].showName
132
- }
133
- } else {
134
- return this.objectPropValue(row, column.prop)
135
- }
136
- } else {
137
- return this.objectPropValue(row, column.prop)
138
- }
139
- },
140
- formatter(row, prop, column) {
141
- const cellValue = this.objectPropOriginalValue(row, prop)
142
- if (
143
- this.columnFormatter !== undefined &&
144
- this.columnFormatter.type === 'custom'
145
- ) {
146
- // 自定义事件
147
- let funName
148
- if (this.columnFormatter.options && this.columnFormatter.options.format) {
149
- funName = this.columnFormatter.options.format
150
- }
151
- if (funName && funName !== null && funName !== '') {
152
- const gridParams = store.get(this.listCode)
153
- if (
154
- gridParams.options &&
155
- gridParams.options['eventCallBack'] &&
156
- gridParams.options['eventCallBack'][funName] &&
157
- typeof gridParams.options['eventCallBack'][funName] === 'function'
158
- ) {
159
- const param = {
160
- value: cellValue,
161
- row: row,
162
- column: this.column,
163
- prop: prop,
164
- additionalParamMap: gridParams.additionalParamMap,
165
- }
166
- return gridParams.options['eventCallBack'][funName].call(this, param)
167
- } else {
168
- return doFormat(column, cellValue)
169
- }
170
- } else {
171
- return doFormat(column, cellValue)
172
- }
173
- } else {
174
- return doFormat(column, cellValue)
175
- }
176
- },
177
- getColumnValue(row, column) {
178
- const prop = column.prop
179
- let originalValue = row[prop]
180
- if (this.isObjectProp(prop)) {
181
- originalValue = this.objectPropOriginalValue(row, prop)
182
- }
183
- const formatValue = doFormat(column, originalValue)
184
- return {
185
- originalValue,
186
- formatValue,
187
- }
188
- },
189
- onClickFun(row, column, onClick, rowIndex, button) {
190
- const values = this.getColumnValue(row, column)
191
- onClick.call(
192
- this,
193
- values.originalValue,
194
- values.formatValue,
195
- row,
196
- column,
197
- rowIndex,
198
- button
199
- )
200
- },
201
- isShowButtonFun(row, column, isShowFun, rowIndex) {
202
- if (isShowFun === undefined) {
203
- return true
204
- }
205
- if (typeof isShowFun === 'function') {
206
- const values = this.getColumnValue(row, column)
207
- let isShow = isShowFun.call(
208
- this,
209
- values.originalValue,
210
- values.formatValue,
211
- row,
212
- column,
213
- rowIndex
214
- )
215
- if (isShow === undefined) {
216
- isShow = true
217
- }
218
- return isShow
219
- } else {
220
- return isShowFun
221
- }
222
- },
223
- // 超链接解析
224
- getHyperLinkSetting(
225
- column,
226
- row,
227
- isSql,
228
- additionalParamerter,
229
- contextParameter,
230
- tableName,
231
- listCode
232
- ) {
233
- const gridParams = store.get(listCode)
234
- let parentFormData = null
235
- if (
236
- gridParams.options.extraParam &&
237
- gridParams.options.extraParam.entityMap
238
- ) {
239
- parentFormData = gridParams.options.extraParam.entityMap
240
- }
241
- let hyperLinkResult = {}
242
- let jumpPageJson
243
- if (
244
- column &&
245
- column.formatter &&
246
- column.formatter.options &&
247
- column.formatter.options.format
248
- ) {
249
- jumpPageJson = column.formatter.options.format
250
- }
251
- if (jumpPageJson && jumpPageJson !== '') {
252
- // 解析是否需要显示该超链接
253
- const result = initialization(
254
- JSON.parse(jumpPageJson),
255
- row,
256
- isSql,
257
- additionalParamerter,
258
- contextParameter,
259
- tableName,
260
- parentFormData
261
- )
262
- // console.log('getHyperLinkSetting--resut=', result)
263
- if (result && result.label && result.label !== '') {
264
- console.log('label存在')
265
- } else {
266
- result.label = this.objectPropValueTwo(row, column)
267
- }
268
- if (result && result.title && result.title !== '') {
269
- console.log('title存在')
270
- } else {
271
- result.title = result.label
272
- }
273
- hyperLinkResult = result
274
- } else {
275
- // 表示显示超链接
276
- hyperLinkResult.visible = true
277
- hyperLinkResult.label = this.objectPropValueTwo(row, column)
278
- hyperLinkResult.title = hyperLinkResult.label
279
- }
280
- return hyperLinkResult
281
- },
282
- // 点击超链接
283
- clickHyperLink(column, row, listCode, rowIndex) {
284
- let jumpPageJson
285
- if (
286
- column &&
287
- column.formatter &&
288
- column.formatter.options &&
289
- column.formatter.options.format
290
- ) {
291
- jumpPageJson = column.formatter.options.format
292
- }
293
- if (jumpPageJson && jumpPageJson !== '') {
294
- // 解析是否需要显示该超链接
295
- let canClick = true
296
- const gridParams = store.get(listCode)
297
- const jumpPageSetting = JSON.parse(jumpPageJson)
298
- console.log(
299
- 'gupre-grid---clickHyperLink--jumpPageSetting=',
300
- jumpPageSetting
301
- )
302
- if (jumpPageSetting.beforeClick) {
303
- const funName = jumpPageSetting.beforeClick
304
- console.log(
305
- 'gupre-grid---clickHyperLink--jumpPageSetting.beforeClick=',
306
- funName
307
- )
308
- console.log(
309
- 'gupre-grid---clickHyperLink--gridParams.options[eventCallBack]=',
310
- gridParams.options['eventCallBack']
311
- )
312
- if (
313
- gridParams.options &&
314
- gridParams.options['eventCallBack'] &&
315
- gridParams.options['eventCallBack'][funName] &&
316
- typeof gridParams.options['eventCallBack'][funName] === 'function'
317
- ) {
318
- const param = {
319
- row: row,
320
- column: column,
321
- rowIndex: rowIndex,
322
- listCode,
323
- additionalParamMap: gridParams.additionalParamMap,
324
- }
325
- canClick = gridParams.options['eventCallBack'][funName].call(
326
- this,
327
- param
328
- )
329
- }
330
- }
331
- if (isPromise(canClick)) {
332
- canClick.then((result) => {
333
- this.doClickHyperLink(
334
- row,
335
- listCode,
336
- rowIndex,
337
- jumpPageSetting,
338
- gridParams
339
- )
340
- })
341
- } else {
342
- this.doClickHyperLink(
343
- row,
344
- listCode,
345
- rowIndex,
346
- jumpPageSetting,
347
- gridParams
348
- )
349
- }
350
- }
351
- },
352
- doClickHyperLink(row, listCode, rowIndex, jumpPageSetting, gridParams) {
353
- let parentFormData = null
354
- if (
355
- gridParams.options.extraParam &&
356
- gridParams.options.extraParam.entityMap
357
- ) {
358
- parentFormData = gridParams.options.extraParam.entityMap
359
- }
360
- console.log(
361
- 'ridParams.options.extraParam.entityMap',
362
- gridParams.options.extraParam
363
- )
364
- jumpToPage(
365
- jumpPageSetting,
366
- gridParams.system,
367
- row.id ? row.id : row.ID,
368
- row,
369
- gridParams.additionalParamMap,
370
- null,
371
- null,
372
- parentFormData
373
- ).then((openPageParams) => {
374
- console.log('clickHyperLink--openPageParams===', openPageParams)
375
- if (openPageParams) {
376
- // 点击列表组件中某元素弹出的页面
377
- openPageParams._position = 'list'
378
- openPageParams._listCode = listCode
379
- openPageParams._rowIndex = rowIndex
380
- // 行编辑的记录
381
- openPageParams.row = row
382
- // 通知父页面弹出页面
383
- $emit(this, 'open-page', openPageParams)
384
- }
385
- })
386
- },
387
- }
388
- export default customFormatter
1
+ import { $on, $off, $once, $emit } from '../../utils/gogocodeTransfer'
2
+ import * as Vue from 'vue'
3
+ import { doFormat } from './formatter'
4
+ import store from './store'
5
+ import { initialization, jumpToPage } from '../../../src/utils/jump-page-utils'
6
+ import { analysisFileSetObj, otherFilesToStandard } from './utils'
7
+ import { isPromise } from '../../../src/utils/common-util'
8
+ const customFormatter = {
9
+ /**
10
+ * 自定义格式化值
11
+ * @param {prop} 属性名
12
+ * @param {formatValue} 格式化后的值
13
+ * @param {format} 格式化方法
14
+ * @param {componentName} 组件名
15
+ */
16
+ customFormatValue(row, prop, format, rowIndex) {
17
+ // const start = new Date().getTime()
18
+ // console.log('---super-grid--customFormatValue--')
19
+ if (this.customFormat) {
20
+ let originalValue = row[prop]
21
+ if (this.isObjectProp(prop)) {
22
+ originalValue = this.objectPropOriginalValue(row, prop)
23
+ }
24
+ const formatValue = doFormat(this.column, originalValue)
25
+ const component = format.call(
26
+ this,
27
+ originalValue,
28
+ formatValue,
29
+ row,
30
+ this.column,
31
+ rowIndex
32
+ )
33
+ if (typeof component === 'undefined') {
34
+ return false
35
+ } else {
36
+ window.$vueApp.component(prop + rowIndex, component)
37
+ }
38
+
39
+ // const end = new Date().getTime()
40
+ // console.log('---super-grid--customFormatValue--time1=', (end - start))
41
+ return true
42
+ } else {
43
+ // const end = new Date().getTime()
44
+ // console.log('---super-grid--customFormatValue--time2=', (end - start))
45
+ return false
46
+ }
47
+ },
48
+
49
+ isObjectProp(prop) {
50
+ // const start = new Date().getTime()
51
+ // console.log('---super-grid--isObjectProp--')
52
+ if (prop && prop.indexOf('.') > 0) {
53
+ // const end = new Date().getTime()
54
+ // console.log('---super-grid--isObjectProp--time1=', (end - start))
55
+ return true
56
+ } else {
57
+ // const end = new Date().getTime()
58
+ // console.log('---super-grid--isObjectProp--time2=', (end - start))
59
+ return false
60
+ }
61
+ },
62
+
63
+ objectPropOriginalValue(row, prop) {
64
+ try {
65
+ // console.log('---super-grid--objectPropOriginalValue--')
66
+ let objValue = row
67
+ if (prop && prop.indexOf('.') > 0) {
68
+ const props = prop.split('.')
69
+ props.forEach((subProp) => {
70
+ if (objValue) {
71
+ objValue = objValue[subProp]
72
+ } else {
73
+ objValue = ''
74
+ throw objValue
75
+ }
76
+ })
77
+ return objValue
78
+ } else {
79
+ return row[prop]
80
+ }
81
+ } catch (e) {
82
+ // console.log(e)
83
+ return ''
84
+ }
85
+ },
86
+
87
+ objectPropValue(row, prop) {
88
+ return this.formatter(row, prop, this.column)
89
+ },
90
+ // 获取显示的值
91
+ // 附件类型,显示值与实际值不相同。如果时子表多选,需要单独判断
92
+ objectPropValueTwo(row, column) {
93
+ if (
94
+ column.componentType === 'annex' ||
95
+ column.componentType === 'multipartUpload'
96
+ ) {
97
+ // 判断是否是对象集合(子表存储)
98
+ const fileSetObj = JSON.parse(column.fileSet)
99
+ if (fileSetObj.childAnnexDataTableCode) {
100
+ // 获取存好的json并解析
101
+ const keyValueParam = analysisFileSetObj(fileSetObj, this.isSql)
102
+ // 子表存储。返回最后一个对象的展示名称
103
+ const fileArr = this.objectPropValue(row, column.prop)
104
+ if (fileArr && fileArr.length > 0) {
105
+ const fileList = otherFilesToStandard(
106
+ fileSetObj,
107
+ keyValueParam,
108
+ fileArr,
109
+ null
110
+ )
111
+ return fileList[fileList.length - 1].showName
112
+ }
113
+ } else {
114
+ return this.objectPropValue(row, column.prop)
115
+ }
116
+ } else if (column.formatter && column.formatter.type === 'files') {
117
+ // 判断是否是对象集合(子表存储)
118
+ const fileSetObj = JSON.parse(column.formatter.options.fileSet)
119
+ if (fileSetObj.childAnnexDataTableCode) {
120
+ // 获取存好的json并解析
121
+ const keyValueParam = analysisFileSetObj(fileSetObj, this.isSql)
122
+ // 子表存储。返回最后一个对象的展示名称
123
+ const fileArr = this.objectPropValue(row, column.prop)
124
+ if (fileArr && fileArr.length > 0) {
125
+ const fileList = otherFilesToStandard(
126
+ fileSetObj,
127
+ keyValueParam,
128
+ fileArr,
129
+ null
130
+ )
131
+ return fileList[fileList.length - 1].showName
132
+ }
133
+ } else {
134
+ return this.objectPropValue(row, column.prop)
135
+ }
136
+ } else {
137
+ return this.objectPropValue(row, column.prop)
138
+ }
139
+ },
140
+ formatter(row, prop, column) {
141
+ const cellValue = this.objectPropOriginalValue(row, prop)
142
+ if (
143
+ this.columnFormatter !== undefined &&
144
+ this.columnFormatter.type === 'custom'
145
+ ) {
146
+ // 自定义事件
147
+ let funName
148
+ if (this.columnFormatter.options && this.columnFormatter.options.format) {
149
+ funName = this.columnFormatter.options.format
150
+ }
151
+ if (funName && funName !== null && funName !== '') {
152
+ const gridParams = store.get(this.listCode)
153
+ if (
154
+ gridParams.options &&
155
+ gridParams.options['eventCallBack'] &&
156
+ gridParams.options['eventCallBack'][funName] &&
157
+ typeof gridParams.options['eventCallBack'][funName] === 'function'
158
+ ) {
159
+ const param = {
160
+ value: cellValue,
161
+ row: row,
162
+ column: this.column,
163
+ prop: prop,
164
+ additionalParamMap: gridParams.additionalParamMap,
165
+ }
166
+ return gridParams.options['eventCallBack'][funName].call(this, param)
167
+ } else {
168
+ return doFormat(column, cellValue)
169
+ }
170
+ } else {
171
+ return doFormat(column, cellValue)
172
+ }
173
+ } else {
174
+ return doFormat(column, cellValue)
175
+ }
176
+ },
177
+ getColumnValue(row, column) {
178
+ const prop = column.prop
179
+ let originalValue = row[prop]
180
+ if (this.isObjectProp(prop)) {
181
+ originalValue = this.objectPropOriginalValue(row, prop)
182
+ }
183
+ const formatValue = doFormat(column, originalValue)
184
+ return {
185
+ originalValue,
186
+ formatValue,
187
+ }
188
+ },
189
+ onClickFun(row, column, onClick, rowIndex, button) {
190
+ const values = this.getColumnValue(row, column)
191
+ onClick.call(
192
+ this,
193
+ values.originalValue,
194
+ values.formatValue,
195
+ row,
196
+ column,
197
+ rowIndex,
198
+ button
199
+ )
200
+ },
201
+ isShowButtonFun(row, column, isShowFun, rowIndex) {
202
+ if (isShowFun === undefined) {
203
+ return true
204
+ }
205
+ if (typeof isShowFun === 'function') {
206
+ const values = this.getColumnValue(row, column)
207
+ let isShow = isShowFun.call(
208
+ this,
209
+ values.originalValue,
210
+ values.formatValue,
211
+ row,
212
+ column,
213
+ rowIndex
214
+ )
215
+ if (isShow === undefined) {
216
+ isShow = true
217
+ }
218
+ return isShow
219
+ } else {
220
+ return isShowFun
221
+ }
222
+ },
223
+ // 超链接解析
224
+ getHyperLinkSetting(
225
+ column,
226
+ row,
227
+ isSql,
228
+ additionalParamerter,
229
+ contextParameter,
230
+ tableName,
231
+ listCode
232
+ ) {
233
+ const gridParams = store.get(listCode)
234
+ let parentFormData = null
235
+ if (
236
+ gridParams.options.extraParam &&
237
+ gridParams.options.extraParam.entityMap
238
+ ) {
239
+ parentFormData = gridParams.options.extraParam.entityMap
240
+ }
241
+ let hyperLinkResult = {}
242
+ let jumpPageJson
243
+ if (
244
+ column &&
245
+ column.formatter &&
246
+ column.formatter.options &&
247
+ column.formatter.options.format
248
+ ) {
249
+ jumpPageJson = column.formatter.options.format
250
+ }
251
+ if (jumpPageJson && jumpPageJson !== '') {
252
+ // 解析是否需要显示该超链接
253
+ const result = initialization(
254
+ JSON.parse(jumpPageJson),
255
+ row,
256
+ isSql,
257
+ additionalParamerter,
258
+ contextParameter,
259
+ tableName,
260
+ parentFormData
261
+ )
262
+ // console.log('getHyperLinkSetting--resut=', result)
263
+ if (result && result.label && result.label !== '') {
264
+ console.log('label存在')
265
+ } else {
266
+ result.label = this.objectPropValueTwo(row, column)
267
+ }
268
+ if (result && result.title && result.title !== '') {
269
+ console.log('title存在')
270
+ } else {
271
+ result.title = result.label
272
+ }
273
+ hyperLinkResult = result
274
+ } else {
275
+ // 表示显示超链接
276
+ hyperLinkResult.visible = true
277
+ hyperLinkResult.label = this.objectPropValueTwo(row, column)
278
+ hyperLinkResult.title = hyperLinkResult.label
279
+ }
280
+ return hyperLinkResult
281
+ },
282
+ // 点击超链接
283
+ clickHyperLink(column, row, listCode, rowIndex) {
284
+ let jumpPageJson
285
+ if (
286
+ column &&
287
+ column.formatter &&
288
+ column.formatter.options &&
289
+ column.formatter.options.format
290
+ ) {
291
+ jumpPageJson = column.formatter.options.format
292
+ }
293
+ if (jumpPageJson && jumpPageJson !== '') {
294
+ // 解析是否需要显示该超链接
295
+ let canClick = true
296
+ const gridParams = store.get(listCode)
297
+ const jumpPageSetting = JSON.parse(jumpPageJson)
298
+ console.log(
299
+ 'gupre-grid---clickHyperLink--jumpPageSetting=',
300
+ jumpPageSetting
301
+ )
302
+ if (jumpPageSetting.beforeClick) {
303
+ const funName = jumpPageSetting.beforeClick
304
+ console.log(
305
+ 'gupre-grid---clickHyperLink--jumpPageSetting.beforeClick=',
306
+ funName
307
+ )
308
+ console.log(
309
+ 'gupre-grid---clickHyperLink--gridParams.options[eventCallBack]=',
310
+ gridParams.options['eventCallBack']
311
+ )
312
+ if (
313
+ gridParams.options &&
314
+ gridParams.options['eventCallBack'] &&
315
+ gridParams.options['eventCallBack'][funName] &&
316
+ typeof gridParams.options['eventCallBack'][funName] === 'function'
317
+ ) {
318
+ const param = {
319
+ row: row,
320
+ column: column,
321
+ rowIndex: rowIndex,
322
+ listCode,
323
+ additionalParamMap: gridParams.additionalParamMap,
324
+ }
325
+ canClick = gridParams.options['eventCallBack'][funName].call(
326
+ this,
327
+ param
328
+ )
329
+ }
330
+ }
331
+ if (isPromise(canClick)) {
332
+ canClick.then((result) => {
333
+ this.doClickHyperLink(
334
+ row,
335
+ listCode,
336
+ rowIndex,
337
+ jumpPageSetting,
338
+ gridParams
339
+ )
340
+ })
341
+ } else {
342
+ this.doClickHyperLink(
343
+ row,
344
+ listCode,
345
+ rowIndex,
346
+ jumpPageSetting,
347
+ gridParams
348
+ )
349
+ }
350
+ }
351
+ },
352
+ doClickHyperLink(row, listCode, rowIndex, jumpPageSetting, gridParams) {
353
+ let parentFormData = null
354
+ if (
355
+ gridParams.options.extraParam &&
356
+ gridParams.options.extraParam.entityMap
357
+ ) {
358
+ parentFormData = gridParams.options.extraParam.entityMap
359
+ }
360
+ console.log(
361
+ 'ridParams.options.extraParam.entityMap',
362
+ gridParams.options.extraParam
363
+ )
364
+ jumpToPage(
365
+ jumpPageSetting,
366
+ gridParams.system,
367
+ row.id ? row.id : row.ID,
368
+ row,
369
+ gridParams.additionalParamMap,
370
+ null,
371
+ null,
372
+ parentFormData
373
+ ).then((openPageParams) => {
374
+ console.log('clickHyperLink--openPageParams===', openPageParams)
375
+ if (openPageParams) {
376
+ // 点击列表组件中某元素弹出的页面
377
+ openPageParams._position = 'list'
378
+ openPageParams._listCode = listCode
379
+ openPageParams._rowIndex = rowIndex
380
+ // 行编辑的记录
381
+ openPageParams.row = row
382
+ // 通知父页面弹出页面
383
+ $emit(this, 'open-page', openPageParams)
384
+ }
385
+ })
386
+ },
387
+ }
388
+ export default customFormatter