super-page-runtime 0.0.1-tmp2

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 (222) hide show
  1. package/.prettierrc.json +8 -0
  2. package/README.md +61 -0
  3. package/lib/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/lib/components/index.d.ts +5 -0
  5. package/lib/components/runtime/index.d.ts +3 -0
  6. package/lib/components/runtime/views/assemblys/common/export-form-report-dialog.vue.d.ts +24 -0
  7. package/lib/components/runtime/views/assemblys/common/remove-signer-dialog.vue.d.ts +35 -0
  8. package/lib/components/runtime/views/assemblys/common/task-informition-dialog.vue.d.ts +26 -0
  9. package/lib/components/runtime/views/assemblys/error-render.vue.d.ts +22 -0
  10. package/lib/components/runtime/views/assemblys/object-render.vue.d.ts +17 -0
  11. package/lib/components/runtime/views/super-page.vue.d.ts +91 -0
  12. package/lib/components/super-page-dialog/index.d.ts +3 -0
  13. package/lib/components/super-page-dialog/super-page-dialog.vue.d.ts +36 -0
  14. package/lib/components/wf-editor/index.d.ts +3 -0
  15. package/lib/components/wf-editor/wf-editor.vue.d.ts +2 -0
  16. package/lib/favicon.ico +0 -0
  17. package/lib/index.js +8 -0
  18. package/lib/runtime/index.js +3 -0
  19. package/lib/runtime/utils/assemblys-config.js +258 -0
  20. package/lib/runtime/views/assemblys/button/button/button-runtime.vue.js +3 -0
  21. package/lib/runtime/views/assemblys/button/button/button-runtime.vue2.js +54 -0
  22. package/lib/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue.js +3 -0
  23. package/lib/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue2.js +35 -0
  24. package/lib/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue.js +3 -0
  25. package/lib/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue2.js +110 -0
  26. package/lib/runtime/views/assemblys/chart/column-line/column-line-runtime.vue.js +3 -0
  27. package/lib/runtime/views/assemblys/chart/column-line/column-line-runtime.vue2.js +53 -0
  28. package/lib/runtime/views/assemblys/chart/gauge/gauge-runtime.vue.js +3 -0
  29. package/lib/runtime/views/assemblys/chart/gauge/gauge-runtime.vue2.js +42 -0
  30. package/lib/runtime/views/assemblys/chart/pie/pie-runtime.vue.js +3 -0
  31. package/lib/runtime/views/assemblys/chart/pie/pie-runtime.vue2.js +50 -0
  32. package/lib/runtime/views/assemblys/chart/radar/radar-runtime.vue.js +3 -0
  33. package/lib/runtime/views/assemblys/chart/radar/radar-runtime.vue2.js +50 -0
  34. package/lib/runtime/views/assemblys/chart/scatter/scatter-runtime.vue.js +3 -0
  35. package/lib/runtime/views/assemblys/chart/scatter/scatter-runtime.vue2.js +51 -0
  36. package/lib/runtime/views/assemblys/common/export-form-report-dialog.vue.js +141 -0
  37. package/lib/runtime/views/assemblys/common/export-form-report-dialog.vue2.js +3 -0
  38. package/lib/runtime/views/assemblys/common/remove-signer-dialog.vue.js +127 -0
  39. package/lib/runtime/views/assemblys/common/remove-signer-dialog.vue2.js +3 -0
  40. package/lib/runtime/views/assemblys/common/task-informition-dialog.vue.js +104 -0
  41. package/lib/runtime/views/assemblys/common/task-informition-dialog.vue2.js +3 -0
  42. package/lib/runtime/views/assemblys/container/card/card-runtime.vue.js +3 -0
  43. package/lib/runtime/views/assemblys/container/card/card-runtime.vue2.js +72 -0
  44. package/lib/runtime/views/assemblys/container/collapse/collapse-runtime.vue.js +3 -0
  45. package/lib/runtime/views/assemblys/container/collapse/collapse-runtime.vue2.js +73 -0
  46. package/lib/runtime/views/assemblys/container/container/container-runtime.vue.js +3 -0
  47. package/lib/runtime/views/assemblys/container/container/container-runtime.vue2.js +78 -0
  48. package/lib/runtime/views/assemblys/container/flex/flex-runtime.vue.js +3 -0
  49. package/lib/runtime/views/assemblys/container/flex/flex-runtime.vue2.js +42 -0
  50. package/lib/runtime/views/assemblys/container/form/form-runtime.vue.js +3 -0
  51. package/lib/runtime/views/assemblys/container/form/form-runtime.vue2.js +43 -0
  52. package/lib/runtime/views/assemblys/container/iframe/iframe-runtime.vue.js +3 -0
  53. package/lib/runtime/views/assemblys/container/iframe/iframe-runtime.vue2.js +29 -0
  54. package/lib/runtime/views/assemblys/container/tabs/tabs-runtime.vue.js +3 -0
  55. package/lib/runtime/views/assemblys/container/tabs/tabs-runtime.vue2.js +68 -0
  56. package/lib/runtime/views/assemblys/container/tools/tools-runtime.vue.js +3 -0
  57. package/lib/runtime/views/assemblys/container/tools/tools-runtime.vue2.js +74 -0
  58. package/lib/runtime/views/assemblys/data/table/main-table-runtime.vue.js +640 -0
  59. package/lib/runtime/views/assemblys/data/table/main-table-runtime.vue2.js +3 -0
  60. package/lib/runtime/views/assemblys/data/table/sub-table-runtime.vue.js +452 -0
  61. package/lib/runtime/views/assemblys/data/table/sub-table-runtime.vue2.js +3 -0
  62. package/lib/runtime/views/assemblys/data/table/table-runtime.vue.js +3 -0
  63. package/lib/runtime/views/assemblys/data/table/table-runtime.vue2.js +82 -0
  64. package/lib/runtime/views/assemblys/error-render.vue.js +22 -0
  65. package/lib/runtime/views/assemblys/error-render.vue2.js +3 -0
  66. package/lib/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue.js +3 -0
  67. package/lib/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue2.js +156 -0
  68. package/lib/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue.js +3 -0
  69. package/lib/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue2.js +82 -0
  70. package/lib/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue.js +3 -0
  71. package/lib/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue2.js +59 -0
  72. package/lib/runtime/views/assemblys/form/divider/divider-runtime.vue.js +3 -0
  73. package/lib/runtime/views/assemblys/form/divider/divider-runtime.vue2.js +40 -0
  74. package/lib/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue.js +3 -0
  75. package/lib/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue2.js +74 -0
  76. package/lib/runtime/views/assemblys/form/input-number/input-number-runtime.vue.js +3 -0
  77. package/lib/runtime/views/assemblys/form/input-number/input-number-runtime.vue2.js +63 -0
  78. package/lib/runtime/views/assemblys/form/input-text/inputtext-runtime.vue.js +3 -0
  79. package/lib/runtime/views/assemblys/form/input-text/inputtext-runtime.vue2.js +127 -0
  80. package/lib/runtime/views/assemblys/form/label/label-runtime.vue.js +3 -0
  81. package/lib/runtime/views/assemblys/form/label/label-runtime.vue2.js +133 -0
  82. package/lib/runtime/views/assemblys/form/link/link-runtime.vue.js +3 -0
  83. package/lib/runtime/views/assemblys/form/link/link-runtime.vue2.js +77 -0
  84. package/lib/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue.js +3 -0
  85. package/lib/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue2.js +29 -0
  86. package/lib/runtime/views/assemblys/form/radio/radio-runtime.vue.js +3 -0
  87. package/lib/runtime/views/assemblys/form/radio/radio-runtime.vue2.js +157 -0
  88. package/lib/runtime/views/assemblys/form/rich-text/richtext-runtime.vue.js +3 -0
  89. package/lib/runtime/views/assemblys/form/rich-text/richtext-runtime.vue2.js +174 -0
  90. package/lib/runtime/views/assemblys/form/select/select-runtime.vue.js +3 -0
  91. package/lib/runtime/views/assemblys/form/select/select-runtime.vue2.js +201 -0
  92. package/lib/runtime/views/assemblys/form/switch/switch-runtime.vue.js +3 -0
  93. package/lib/runtime/views/assemblys/form/switch/switch-runtime.vue2.js +63 -0
  94. package/lib/runtime/views/assemblys/form/tag/tag-runtime.vue.js +3 -0
  95. package/lib/runtime/views/assemblys/form/tag/tag-runtime.vue2.js +63 -0
  96. package/lib/runtime/views/assemblys/form/textarea/textarea-runtime.vue.js +3 -0
  97. package/lib/runtime/views/assemblys/form/textarea/textarea-runtime.vue2.js +65 -0
  98. package/lib/runtime/views/assemblys/object-render.vue.js +142 -0
  99. package/lib/runtime/views/assemblys/object-render.vue2.js +3 -0
  100. package/lib/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue.js +3 -0
  101. package/lib/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue2.js +61 -0
  102. package/lib/runtime/views/super-page.vue.js +479 -0
  103. package/lib/runtime/views/super-page.vue2.js +3 -0
  104. package/lib/src/assets/chart-themes/theme1.js +7 -0
  105. package/lib/src/assets/chart-themes/theme2.js +7 -0
  106. package/lib/src/assets/chart-themes/theme3.js +7 -0
  107. package/lib/src/utils/api/api-util.d.ts +11 -0
  108. package/lib/src/utils/api/api-util.js +128 -0
  109. package/lib/src/utils/charts/chart-util.js +15 -0
  110. package/lib/src/utils/common-util.d.ts +11 -0
  111. package/lib/src/utils/common-util.js +81 -0
  112. package/lib/src/utils/events/event-util.d.ts +48 -0
  113. package/lib/src/utils/events/event-util.js +525 -0
  114. package/lib/src/utils/events/standard-event.d.ts +61 -0
  115. package/lib/src/utils/events/standard-event.js +1623 -0
  116. package/lib/src/utils/events/validator-util.d.ts +4 -0
  117. package/lib/src/utils/events/validator-util.js +389 -0
  118. package/lib/src/utils/global-refs.d.ts +59 -0
  119. package/lib/src/utils/global-refs.js +65 -0
  120. package/lib/src/utils/interfaces/page-design-types.d.ts +221 -0
  121. package/lib/src/utils/interfaces/page-design-types.js +9 -0
  122. package/lib/src/utils/page-helper-util.d.ts +87 -0
  123. package/lib/src/utils/page-helper-util.js +503 -0
  124. package/lib/src/utils/page-init-util.d.ts +38 -0
  125. package/lib/src/utils/page-init-util.js +200 -0
  126. package/lib/src/utils/store-util.d.ts +15 -0
  127. package/lib/src/utils/store-util.js +17 -0
  128. package/lib/src/utils/store.d.ts +2 -0
  129. package/lib/src/utils/store.js +3 -0
  130. package/lib/src/utils/table-utils.js +23 -0
  131. package/lib/super-page-dialog/index.js +3 -0
  132. package/lib/super-page-dialog/super-page-dialog.vue.js +73 -0
  133. package/lib/super-page-dialog/super-page-dialog.vue2.js +3 -0
  134. package/lib/wf-editor/index.js +3 -0
  135. package/lib/wf-editor/wf-editor.css +4 -0
  136. package/lib/wf-editor/wf-editor.vue.js +15 -0
  137. package/package-ws.json +70 -0
  138. package/package.json +67 -0
  139. package/src/assets/base.css +86 -0
  140. package/src/assets/chart-themes/theme1.ts +6 -0
  141. package/src/assets/chart-themes/theme2.ts +6 -0
  142. package/src/assets/chart-themes/theme3.ts +6 -0
  143. package/src/assets/images/button/button-group.png +0 -0
  144. package/src/assets/images/button/button.png +0 -0
  145. package/src/assets/images/chart/chart-column.png +0 -0
  146. package/src/assets/images/chart/chart-gauge.png +0 -0
  147. package/src/assets/images/chart/chart-pie.png +0 -0
  148. package/src/assets/images/chart/chart-radar.png +0 -0
  149. package/src/assets/images/chart/chart-scatter.png +0 -0
  150. package/src/assets/images/container/container-card.png +0 -0
  151. package/src/assets/images/container/container-collapse.png +0 -0
  152. package/src/assets/images/container/container-container.png +0 -0
  153. package/src/assets/images/container/container-flex.png +0 -0
  154. package/src/assets/images/container/container-form.png +0 -0
  155. package/src/assets/images/container/container-iframe.png +0 -0
  156. package/src/assets/images/container/container-normal.png +0 -0
  157. package/src/assets/images/container/container-tabs.png +0 -0
  158. package/src/assets/images/container/container-tools.png +0 -0
  159. package/src/assets/images/data/data-process.png +0 -0
  160. package/src/assets/images/data/data-step.png +0 -0
  161. package/src/assets/images/data/data-table-column.png +0 -0
  162. package/src/assets/images/data/data-table.png +0 -0
  163. package/src/assets/images/data/data-timeline.png +0 -0
  164. package/src/assets/images/data/data-tree.png +0 -0
  165. package/src/assets/images/form/form-cascader.png +0 -0
  166. package/src/assets/images/form/form-check.png +0 -0
  167. package/src/assets/images/form/form-color.png +0 -0
  168. package/src/assets/images/form/form-count.png +0 -0
  169. package/src/assets/images/form/form-custom.png +0 -0
  170. package/src/assets/images/form/form-date.png +0 -0
  171. package/src/assets/images/form/form-dept.png +0 -0
  172. package/src/assets/images/form/form-divider.png +0 -0
  173. package/src/assets/images/form/form-file.png +0 -0
  174. package/src/assets/images/form/form-image-upload.png +0 -0
  175. package/src/assets/images/form/form-img.png +0 -0
  176. package/src/assets/images/form/form-input.png +0 -0
  177. package/src/assets/images/form/form-label.png +0 -0
  178. package/src/assets/images/form/form-link.png +0 -0
  179. package/src/assets/images/form/form-radio.png +0 -0
  180. package/src/assets/images/form/form-scan.png +0 -0
  181. package/src/assets/images/form/form-score.png +0 -0
  182. package/src/assets/images/form/form-select.png +0 -0
  183. package/src/assets/images/form/form-slider.png +0 -0
  184. package/src/assets/images/form/form-space.png +0 -0
  185. package/src/assets/images/form/form-switch.png +0 -0
  186. package/src/assets/images/form/form-text.png +0 -0
  187. package/src/assets/images/form/form-textarea.png +0 -0
  188. package/src/assets/images/form/form-transfer.png +0 -0
  189. package/src/assets/images/form/form-zoom.png +0 -0
  190. package/src/assets/images/group-button.png +0 -0
  191. package/src/assets/images/group-chart.png +0 -0
  192. package/src/assets/images/group-container.png +0 -0
  193. package/src/assets/images/group-data.png +0 -0
  194. package/src/assets/images/group-form.png +0 -0
  195. package/src/assets/images/group-workflow.png +0 -0
  196. package/src/assets/images/workflow/workflow-button.png +0 -0
  197. package/src/assets/images/workflow/workflow-history-texts.png +0 -0
  198. package/src/assets/images/workflow/workflow-history.png +0 -0
  199. package/src/assets/images/workflow/workflow-imagehistory.png +0 -0
  200. package/src/assets/images/workflow/workflow-texthistory .png +0 -0
  201. package/src/assets/logo.svg +1 -0
  202. package/src/assets/main.css +1 -0
  203. package/src/i18n/langs/cn.js +52 -0
  204. package/src/i18n/langs/en.js +52 -0
  205. package/src/stores/counter.ts +12 -0
  206. package/src/utils/api/api-util.ts +176 -0
  207. package/src/utils/charts/chart-util.ts +41 -0
  208. package/src/utils/common-util.ts +96 -0
  209. package/src/utils/container-style-util.ts +237 -0
  210. package/src/utils/eventBus.ts +14 -0
  211. package/src/utils/events/event-util.ts +790 -0
  212. package/src/utils/events/jump-page-util.ts +0 -0
  213. package/src/utils/events/standard-event.ts +2075 -0
  214. package/src/utils/events/validator-util.ts +474 -0
  215. package/src/utils/global-refs.ts +160 -0
  216. package/src/utils/interfaces/page-design-types.ts +259 -0
  217. package/src/utils/page-helper-util.ts +850 -0
  218. package/src/utils/page-init-util.ts +291 -0
  219. package/src/utils/page-permission-util.ts +521 -0
  220. package/src/utils/store-util.ts +41 -0
  221. package/src/utils/store.ts +3 -0
  222. package/src/utils/table-utils.ts +31 -0
@@ -0,0 +1,291 @@
1
+ /**
2
+ * 页面表、字段使用工具类
3
+ */
4
+ import http from 'agilebuilder-ui/src/utils/request'
5
+ import { useRoute } from 'vue-router'
6
+
7
+ import type { Component, PageContext, PageDesign } from './interfaces/page-design-types'
8
+ import { PageDimensions } from './interfaces/page-design-types'
9
+ import { formatVariableValue, setVariableValue } from './page-helper-util'
10
+
11
+ /**
12
+ * 查询页面设计对象
13
+ * @param pageId
14
+ * @returns
15
+ */
16
+ export function queryPageDesign(pageId: number): Promise<any> {
17
+ return http.get('/component/super-page-design/' + pageId)
18
+ }
19
+
20
+ /**
21
+ * 查询页面设计对象
22
+ * @param pageCode
23
+ * @returns
24
+ */
25
+ export function queryPageDesignByCode(pageCode: string): Promise<any> {
26
+ return http.get('/component/super-page-design/runtime/' + pageCode)
27
+ }
28
+
29
+ /**
30
+ * 转换页面设计对象为运行时对象
31
+ * @param pageDesign 页面设计对象
32
+ */
33
+ export function convertToPageContext(
34
+ pageDesign: PageDesign,
35
+ pageRequest: object
36
+ ): PageContext | null {
37
+ if (pageDesign == null) {
38
+ return null
39
+ }
40
+ const pageContext: PageContext = {
41
+ uuid: pageDesign.uuid,
42
+ name: pageDesign.name,
43
+ label: pageDesign.label,
44
+ code: pageDesign.code,
45
+ version: pageDesign.version,
46
+ dimensions: pageDesign.dimensions,
47
+
48
+ rules: pageDesign.rules, // 表单验证规则
49
+ tableUuids: pageDesign.tableUuids, // 表格uuid集合
50
+ tableNames: pageDesign.tableNames, // 当前页面中表格对应的数据表名集合,后台保存子表记录时需要
51
+ formNoRuleCode: pageDesign.formNoRuleCode, // 表单编号规则
52
+ judgeHeavyList: pageDesign.judgeHeavyList, // 判重组合字段集合配置
53
+ conversionCodes: pageDesign.conversionCodes, // 数据转换规则
54
+ pageType: pageDesign.pageType, // 页面类型:form、list、chart
55
+ beanName: pageDesign.beanName, // 业务处理类,继承CommonBaseService接口的类
56
+ importBeanName: pageDesign.importBeanName, // 导入处理类,继承ImportDefinitionService接口的类
57
+ notIdInitializationList: pageDesign.notIdInitializationList, // 无ID或taskId时初始条件配置
58
+ subTablePageInfo: pageDesign.subTablePageInfo, // 列表分页信息,格式是:{列表编码: 每页显示多少条记录},表单页面中校验有分页的子表时提示使用,提示信息格式:第 {pageNum} 页第 {row} 行记录
59
+ customValidatorUuids: pageDesign.customEvents, // 自定义组件启用了“自定义校验”开关的uuid集合
60
+
61
+ entity: {
62
+ data: {},
63
+ task: {},
64
+ request: getRequestObject(pageRequest), //初始化request对象
65
+ page: {},
66
+ context: {},
67
+ system: {}
68
+ }
69
+ }
70
+ if (
71
+ pageDesign.props.activeWorkflow &&
72
+ pageDesign.props.workflowSource &&
73
+ pageDesign.props.workflowSource === 'link'
74
+ ) {
75
+ pageContext.workflowCode = pageDesign.props.linkWorkflowCode
76
+ } else if (
77
+ pageDesign.props.activeWorkflow &&
78
+ pageDesign.props.workflowSource &&
79
+ pageDesign.props.workflowSource === 'create'
80
+ ) {
81
+ pageContext.workflowCode = pageDesign.props.createWorkflowCode
82
+ }
83
+ if (pageDesign.variables) {
84
+ //初始化variables对象 初始化第一层级即可
85
+ const pageObj: any = pageContext.entity.page
86
+ for (const variable of pageDesign.variables) {
87
+ if (variable.name) {
88
+ if (variable.isArrayElement) {
89
+ pageObj[variable.name] = []
90
+ } else {
91
+ pageObj[variable.name] = undefined
92
+ }
93
+ }
94
+ }
95
+ }
96
+ //复制值到对象中
97
+ Object.assign(pageContext, pageDesign)
98
+
99
+ //计算屏幕尺寸,识别当前适配的尺寸
100
+ pageContext.dimensions = getPageDimensions()
101
+
102
+ return pageContext
103
+ }
104
+
105
+ /**
106
+ * 获取屏幕的尺寸
107
+ */
108
+ function getPageDimensions() {
109
+ const winWidth = window.outerWidth
110
+ if (!winWidth) {
111
+ return PageDimensions.PC
112
+ }
113
+ if (winWidth > 768) {
114
+ return PageDimensions.PC
115
+ } else if (winWidth > 414) {
116
+ return PageDimensions.IPAD
117
+ } else {
118
+ return PageDimensions.PHONE
119
+ }
120
+ }
121
+
122
+ /**
123
+ * 获取请求对象的值
124
+ */
125
+ function getRequestObject(pageRequest: object): any {
126
+ //优先级为:router的query>router的params>location.search
127
+ const requestObj: any = {}
128
+ if (pageRequest) {
129
+ // 跳转页面传过来的部分参数,例如:id、taskId、selections等
130
+ Object.assign(requestObj, pageRequest)
131
+ }
132
+ //从location.search中取值
133
+ let url = decodeURI(window.location.href)
134
+ if (url && url.includes('?')) {
135
+ url = url.substring(url.lastIndexOf('?') + 1) //得到?后面的字符串
136
+ const strs = url.split('&') //将得到的参数分隔成数组[id="123456",name="www"];
137
+ for (const str of strs) {
138
+ const paramStrs = str.split('=')
139
+ requestObj[paramStrs[0]] = paramStrs.length > 1 ? paramStrs[1] : ''
140
+ }
141
+ }
142
+ //从route中取值
143
+ const route = useRoute()
144
+ if (route) {
145
+ //route.query 格式如:http://127.0.0.1/:code,此处code为params
146
+ if (route.params) {
147
+ Object.assign(requestObj, route.params)
148
+ }
149
+ //route.query 格式如:http://127.0.0.1/?code=111,此处code为query
150
+ if (route.query) {
151
+ Object.assign(requestObj, route.query)
152
+ }
153
+ }
154
+ //检查是否有参数变量
155
+ if (requestObj['_t_']) {
156
+ //todo:从缓存中取参数对象,request对象中
157
+ }
158
+ return requestObj
159
+ }
160
+
161
+ /**
162
+ * 获取表单元素模型名称
163
+ * @param pageContext 页面对象
164
+ * @param formItemConfigure 表单元素配置参数
165
+ */
166
+ export function getFormModelFields(
167
+ pageContext: PageContext,
168
+ formItemConfigure: Component
169
+ ): string[] {
170
+ if (!formItemConfigure) {
171
+ return ['temp']
172
+ }
173
+ const entity: any = pageContext.entity
174
+ const propsBase = formItemConfigure.props.base ? formItemConfigure.props.base : {}
175
+ let propName = propsBase.prop
176
+
177
+ let fields = null
178
+ if (!propName || !propName.startsWith('${')) {
179
+ fields = ['page', formItemConfigure.uuid]
180
+ } else {
181
+ propName = propName.substring(2, propName.length - 1)
182
+ fields = propName.split('.')
183
+ if (fields.length < 2) {
184
+ fields = [formItemConfigure.uuid]
185
+ }
186
+ }
187
+ //默认为类型
188
+ /**const variableType=strs[0];*/
189
+ //绑定的参数名
190
+ /**const variableNames=[];*/
191
+ //定义默认对象
192
+ /**if(!entity[variableType]){
193
+ entity[variableType] = {};
194
+ }
195
+ let valueObj = entity[variableType];
196
+ for(let i=1;i<strs.length;i++){
197
+ const tempName = strs[i];
198
+ if(i+1<strs.length){
199
+ if(valueObj[tempName]==undefined){
200
+ valueObj[tempName] = {};
201
+ }
202
+ valueObj = valueObj[tempName];
203
+ }
204
+ variableNames.push(tempName);
205
+ }*/
206
+ //默认值
207
+ if (entity.data.ID == undefined && entity.data.ID == undefined) {
208
+ if (propsBase.defaultValue) {
209
+ let defaultValue: any = formatVariableValue(pageContext, propsBase.defaultValue)
210
+ //处理数组类型
211
+ if (defaultValue != null && defaultValue != undefined) {
212
+ let isMultiple = false
213
+ if (formItemConfigure.name == 'checkbox') {
214
+ isMultiple = true
215
+ } else if (formItemConfigure.name == 'select') {
216
+ isMultiple = propsBase.multiple
217
+ }
218
+ if (isMultiple) {
219
+ defaultValue = (defaultValue + '').split(',')
220
+ }
221
+ }
222
+ setVariableValue(entity, fields, defaultValue)
223
+ }
224
+ }
225
+ return fields
226
+ }
227
+
228
+ /**
229
+ * 获取组件的权限编码
230
+ * @param configure
231
+ * @param pageContext
232
+ * @returns
233
+ */
234
+ export function getPermissionCodes(configure: Component, pageContext: PageContext) {
235
+ if (!pageContext || pageContext.isTest || !configure) {
236
+ return ''
237
+ }
238
+ const codes = []
239
+ //默认生成的资源编码 固定为标准
240
+ if (configure.autoPermissions) {
241
+ for (const p of configure.autoPermissions) {
242
+ codes.push(pageContext.code + '.' + p.simpleCode)
243
+ }
244
+ }
245
+ //检查是否有手动选择绑定
246
+ if (configure.functionCodes) {
247
+ const sourceTypes: any = configure.sourceTypes ? configure.sourceTypes : []
248
+ const functionCodes: Array<any> = configure.functionCodes
249
+ for (let i = 0; i < functionCodes.length; i++) {
250
+ const functionCode = functionCodes[i]
251
+ const sourceType = i < sourceTypes.length ? sourceTypes[i] : ''
252
+ //服务时不加前缀
253
+ let newCode = ''
254
+ if (sourceType == 'service') {
255
+ newCode = functionCode
256
+ } else {
257
+ newCode = pageContext.code + '.' + functionCode
258
+ }
259
+ if (!codes.includes(newCode)) {
260
+ codes.push(newCode)
261
+ }
262
+ }
263
+ }
264
+ return codes.join(',')
265
+ }
266
+
267
+ /**
268
+ * 查询页面中所有列表配置
269
+ * @param pageCode
270
+ * @returns
271
+ */
272
+ export function queryPageSuperGrids(pageDesign, pageContext, publishVersion): Promise<any> {
273
+ const tableRuntimes = pageDesign.tableRuntimes
274
+ const additionalParamMap =
275
+ pageContext.entity &&
276
+ pageContext.entity.request &&
277
+ Object.keys(pageContext.entity.request).length > 0
278
+ ? pageContext.entity.request
279
+ : null
280
+ let additionalParamMapJson
281
+ const pageCode = pageContext.code
282
+ if (additionalParamMap) {
283
+ additionalParamMapJson = JSON.stringify(additionalParamMap)
284
+ }
285
+ return http.post('/component/super-page-design/super-grids', {
286
+ tableRuntimes,
287
+ additionalParamMapJson,
288
+ pageCode,
289
+ publishVersion
290
+ })
291
+ }