super-page-runtime 2.0.91 → 2.0.95

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 (20) hide show
  1. package/dist/es/components/runtime/utils/api/api-util.js +17 -11
  2. package/dist/es/components/runtime/utils/assemblys-config.js +260 -214
  3. package/dist/es/components/runtime/utils/common-util.d.ts +1 -0
  4. package/dist/es/components/runtime/utils/common-util.js +14 -0
  5. package/dist/es/components/runtime/utils/events/standard-event.js +5 -5
  6. package/dist/es/components/runtime/utils/interfaces/page-design-types.d.ts +2 -2
  7. package/dist/es/components/runtime/utils/page-init-util.js +2 -2
  8. package/dist/es/components/runtime/views/assemblys/button/button/button-runtime.vue2.js +36 -33
  9. package/dist/es/components/runtime/views/assemblys/data/table/sub-table-runtime.vue.js +18 -5
  10. package/dist/es/components/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue2.js +2 -0
  11. package/dist/es/components/runtime/views/assemblys/form/rich-text/richtext-runtime.vue2.js +22 -56
  12. package/dist/es/components/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue2.js +4 -15
  13. package/dist/es/components/runtime/views/assemblys/workflow/workflow-node/workflownode-runtime.vue.js +4 -0
  14. package/dist/es/components/runtime/views/assemblys/workflow/workflow-node/workflownode-runtime.vue2.js +53 -0
  15. package/dist/es/components/runtime/views/super-page-dialog.vue.js +5 -2
  16. package/dist/es/components/runtime/views/super-page.vue.d.ts +9 -0
  17. package/dist/es/components/runtime/views/super-page.vue.js +16 -4
  18. package/dist/es/index.d.ts +2 -0
  19. package/dist/es/index.js +2 -0
  20. package/package.json +2 -2
@@ -11,11 +11,15 @@ function refreshPage(pageContext, id) {
11
11
  });
12
12
  }
13
13
  function getFormData(pageContext, id) {
14
+ var _a;
14
15
  const pageType = pageContext.pageType;
15
16
  if (pageType && pageType === "form") {
16
17
  console.log("获取表单数据getData--pageContext=", pageContext);
17
18
  pageContext.canClick = false;
18
- const isWorkflow = pageContext.workflowCode ? true : false;
19
+ let isWorkflow = false;
20
+ if ((_a = pageContext.props) == null ? void 0 : _a.activeWorkflow) {
21
+ isWorkflow = pageContext.workflowCode ? true : false;
22
+ }
19
23
  if (isWorkflow) {
20
24
  return getWorkflowFormData(pageContext, id);
21
25
  } else {
@@ -47,7 +51,7 @@ function getCommonFormData(pageContext, id) {
47
51
  id: dataId,
48
52
  systemCode,
49
53
  functionCode: permissionPrefix + ".gets",
50
- listCodes: pageContext.listCodes
54
+ listCodesMap: pageContext.listCodesMap
51
55
  };
52
56
  if (!param.id && additionalParamMap && additionalParamMap._t_ && getSessionCache(additionalParamMap._t_ + "_id")) {
53
57
  param.id = getSessionCache(additionalParamMap._t_ + "_id");
@@ -67,13 +71,14 @@ function getCommonFormData(pageContext, id) {
67
71
  if (taskId) {
68
72
  param["taskId"] = taskId;
69
73
  }
70
- if (pageContext.tableUuids) {
71
- const listCodes = [];
74
+ console.log("getCommonFormData---listCodesMap=", pageContext.listCodesMap);
75
+ if (!pageContext.listCodesMap && pageContext.tableUuids) {
76
+ const listCodesMap = {};
72
77
  pageContext.tableUuids.forEach((tableUuid) => {
73
78
  const listCode = getListCode(pageCode, pageVersion, tableUuid);
74
- listCodes.push(listCode);
79
+ listCodesMap[listCode] = listCode;
75
80
  });
76
- param["listCodes"] = listCodes;
81
+ param["listCodesMap"] = listCodesMap;
77
82
  }
78
83
  if (pageContext.refercePropMap) {
79
84
  param["refercePropMap"] = pageContext.refercePropMap;
@@ -127,15 +132,16 @@ function getWorkflowFormData(pageContext, id) {
127
132
  isWorkflowEntity: true,
128
133
  systemCode,
129
134
  functionCode: permissionPrefix + ".gets",
130
- listCodes: pageContext.listCodes
135
+ listCodesMap: pageContext.listCodesMap
131
136
  };
132
- if (pageContext.tableUuids) {
133
- const listCodes = [];
137
+ console.log("getWorkflowFormData---listCodesMap=", pageContext.listCodesMap);
138
+ if (!pageContext.listCodesMap && pageContext.tableUuids) {
139
+ const listCodesMap = {};
134
140
  pageContext.tableUuids.forEach((tableUuid) => {
135
141
  const listCode = getListCode(pageCode, pageVersion, tableUuid);
136
- listCodes.push(listCode);
142
+ listCodesMap[listCode] = listCode;
137
143
  });
138
- param["listCodes"] = listCodes;
144
+ param["listCodesMap"] = listCodesMap;
139
145
  }
140
146
  if (ids) {
141
147
  param["ids"] = formatAdditionalParamMapIds(ids);
@@ -4,197 +4,230 @@ const assemblyGroups = [
4
4
  name: "container",
5
5
  label: "容器",
6
6
  icon: "assets/images/group-container.png",
7
- items: [{
8
- name: "form",
9
- label: "表单",
10
- runtimeComponent: defineAsyncComponent(() => {
11
- return import("../views/assemblys/container/form/form-runtime.vue.js");
12
- })
13
- }, {
14
- name: "card",
15
- label: "卡片",
16
- runtimeComponent: defineAsyncComponent(() => {
17
- return import("../views/assemblys/container/card/card-runtime.vue.js");
18
- })
19
- }, {
20
- name: "collapse",
21
- label: "折叠面板",
22
- runtimeComponent: defineAsyncComponent(() => {
23
- return import("../views/assemblys/container/collapse/collapse-runtime.vue.js");
24
- })
25
- }, {
26
- name: "layout",
27
- label: "Flex",
28
- runtimeComponent: defineAsyncComponent(() => {
29
- return import("../views/assemblys/container/flex/flex-runtime.vue.js");
30
- })
31
- }, {
32
- name: "tabs",
33
- label: "Tabs",
34
- runtimeComponent: defineAsyncComponent(() => {
35
- return import("../views/assemblys/container/tabs/tabs-runtime.vue.js");
36
- })
37
- }, {
38
- name: "tools",
39
- label: "工具栏",
40
- runtimeComponent: defineAsyncComponent(() => {
41
- return import("../views/assemblys/container/tools/tools-runtime.vue.js");
42
- })
43
- }, {
44
- name: "iframe",
45
- label: "Iframe",
46
- runtimeComponent: defineAsyncComponent(() => {
47
- return import("../views/assemblys/container/iframe/iframe-runtime.vue.js");
48
- })
49
- }, {
50
- name: "container",
51
- label: "布局",
52
- runtimeComponent: defineAsyncComponent(() => {
53
- return import("../views/assemblys/container/container/container-runtime.vue.js");
54
- })
55
- }]
7
+ items: [
8
+ {
9
+ name: "form",
10
+ label: "表单",
11
+ runtimeComponent: defineAsyncComponent(() => {
12
+ return import("../views/assemblys/container/form/form-runtime.vue.js");
13
+ })
14
+ },
15
+ {
16
+ name: "card",
17
+ label: "卡片",
18
+ runtimeComponent: defineAsyncComponent(() => {
19
+ return import("../views/assemblys/container/card/card-runtime.vue.js");
20
+ })
21
+ },
22
+ {
23
+ name: "collapse",
24
+ label: "折叠面板",
25
+ runtimeComponent: defineAsyncComponent(() => {
26
+ return import("../views/assemblys/container/collapse/collapse-runtime.vue.js");
27
+ })
28
+ },
29
+ {
30
+ name: "layout",
31
+ label: "Flex",
32
+ runtimeComponent: defineAsyncComponent(() => {
33
+ return import("../views/assemblys/container/flex/flex-runtime.vue.js");
34
+ })
35
+ },
36
+ {
37
+ name: "tabs",
38
+ label: "Tabs",
39
+ runtimeComponent: defineAsyncComponent(() => {
40
+ return import("../views/assemblys/container/tabs/tabs-runtime.vue.js");
41
+ })
42
+ },
43
+ {
44
+ name: "tools",
45
+ label: "工具栏",
46
+ runtimeComponent: defineAsyncComponent(() => {
47
+ return import("../views/assemblys/container/tools/tools-runtime.vue.js");
48
+ })
49
+ },
50
+ {
51
+ name: "iframe",
52
+ label: "Iframe",
53
+ runtimeComponent: defineAsyncComponent(() => {
54
+ return import("../views/assemblys/container/iframe/iframe-runtime.vue.js");
55
+ })
56
+ },
57
+ {
58
+ name: "container",
59
+ label: "布局",
60
+ runtimeComponent: defineAsyncComponent(() => {
61
+ return import("../views/assemblys/container/container/container-runtime.vue.js");
62
+ })
63
+ }
64
+ ]
56
65
  },
57
66
  {
58
67
  name: "form",
59
68
  label: "表单",
60
- items: [{
61
- name: "input-text",
62
- label: "文本框",
63
- runtimeComponent: defineAsyncComponent(() => {
64
- return import("../views/assemblys/form/input-text/inputtext-runtime.vue.js");
65
- })
66
- }, {
67
- name: "select",
68
- label: "下拉框",
69
- runtimeComponent: defineAsyncComponent(() => {
70
- return import("../views/assemblys/form/select/select-runtime.vue.js");
71
- })
72
- }, {
73
- name: "radio",
74
- label: "单选框",
75
- runtimeComponent: defineAsyncComponent(() => {
76
- return import("../views/assemblys/form/radio/radio-runtime.vue.js");
77
- })
78
- }, {
79
- name: "checkbox",
80
- label: "复选框",
81
- runtimeComponent: defineAsyncComponent(() => {
82
- return import("../views/assemblys/form/checkbox/checkbox-runtime.vue.js");
83
- })
84
- }, {
85
- name: "textarea",
86
- label: "文本域",
87
- runtimeComponent: defineAsyncComponent(() => {
88
- return import("../views/assemblys/form/textarea/textarea-runtime.vue.js");
89
- })
90
- }, {
91
- name: "datePicker",
92
- label: "日期/时间",
93
- runtimeComponent: defineAsyncComponent(() => {
94
- return import("../views/assemblys/form/date-picker/datepicker-runtime.vue.js");
95
- })
96
- }, {
97
- name: "switch",
98
- label: "开关",
99
- runtimeComponent: defineAsyncComponent(() => {
100
- return import("../views/assemblys/form/switch/switch-runtime.vue.js");
101
- })
102
- }, {
103
- name: "inputNumber",
104
- label: "计数器",
105
- runtimeComponent: defineAsyncComponent(() => {
106
- return import("../views/assemblys/form/input-number/input-number-runtime.vue.js");
107
- })
108
- }, {
109
- name: "tag",
110
- label: "标签",
111
- runtimeComponent: defineAsyncComponent(() => {
112
- return import("../views/assemblys/form/tag/tag-runtime.vue.js");
113
- })
114
- }, {
115
- name: "richText",
116
- label: "富文本",
117
- runtimeComponent: defineAsyncComponent(() => {
118
- return import("../views/assemblys/form/rich-text/richtext-runtime.vue.js");
119
- })
120
- }, {
121
- name: "divider",
122
- label: "分割线",
123
- runtimeComponent: defineAsyncComponent(() => {
124
- return import("../views/assemblys/form/divider/divider-runtime.vue.js");
125
- })
126
- }, {
127
- name: "separatelabel",
128
- label: "分割标签",
129
- runtimeComponent: defineAsyncComponent(() => {
130
- return import("../views/assemblys/form/separatelabel/separatelabel-runtime.vue.js");
131
- })
132
- }, {
133
- name: "placeholder",
134
- label: "占位符",
135
- runtimeComponent: defineAsyncComponent(() => {
136
- return import("../views/assemblys/form/placeholder/placeholder-runtime.vue.js");
137
- })
138
- }, {
139
- name: "link",
140
- label: "链接",
141
- runtimeComponent: defineAsyncComponent(() => {
142
- return import("../views/assemblys/form/link/link-runtime.vue.js");
143
- })
144
- }, {
145
- name: "label",
146
- label: "Label组件",
147
- runtimeComponent: defineAsyncComponent(() => {
148
- return import("../views/assemblys/form/label/label-runtime.vue.js");
149
- })
150
- }, {
151
- name: "dept-tree",
152
- label: "组织树",
153
- runtimeComponent: defineAsyncComponent(() => {
154
- return import("../views/assemblys/form/dept-tree/depttree-runtime.vue.js");
155
- })
156
- }, {
157
- name: "file-upload",
158
- label: "文件上传",
159
- runtimeComponent: defineAsyncComponent(() => {
160
- return import("../views/assemblys/form/file-upload/fileupload-runtime.vue.js");
161
- })
162
- }]
69
+ items: [
70
+ {
71
+ name: "input-text",
72
+ label: "文本框",
73
+ runtimeComponent: defineAsyncComponent(() => {
74
+ return import("../views/assemblys/form/input-text/inputtext-runtime.vue.js");
75
+ })
76
+ },
77
+ {
78
+ name: "select",
79
+ label: "下拉框",
80
+ runtimeComponent: defineAsyncComponent(() => {
81
+ return import("../views/assemblys/form/select/select-runtime.vue.js");
82
+ })
83
+ },
84
+ {
85
+ name: "radio",
86
+ label: "单选框",
87
+ runtimeComponent: defineAsyncComponent(() => {
88
+ return import("../views/assemblys/form/radio/radio-runtime.vue.js");
89
+ })
90
+ },
91
+ {
92
+ name: "checkbox",
93
+ label: "复选框",
94
+ runtimeComponent: defineAsyncComponent(() => {
95
+ return import("../views/assemblys/form/checkbox/checkbox-runtime.vue.js");
96
+ })
97
+ },
98
+ {
99
+ name: "textarea",
100
+ label: "文本域",
101
+ runtimeComponent: defineAsyncComponent(() => {
102
+ return import("../views/assemblys/form/textarea/textarea-runtime.vue.js");
103
+ })
104
+ },
105
+ {
106
+ name: "datePicker",
107
+ label: "日期/时间",
108
+ runtimeComponent: defineAsyncComponent(() => {
109
+ return import("../views/assemblys/form/date-picker/datepicker-runtime.vue.js");
110
+ })
111
+ },
112
+ {
113
+ name: "switch",
114
+ label: "开关",
115
+ runtimeComponent: defineAsyncComponent(() => {
116
+ return import("../views/assemblys/form/switch/switch-runtime.vue.js");
117
+ })
118
+ },
119
+ {
120
+ name: "inputNumber",
121
+ label: "计数器",
122
+ runtimeComponent: defineAsyncComponent(() => {
123
+ return import("../views/assemblys/form/input-number/input-number-runtime.vue.js");
124
+ })
125
+ },
126
+ {
127
+ name: "tag",
128
+ label: "标签",
129
+ runtimeComponent: defineAsyncComponent(() => {
130
+ return import("../views/assemblys/form/tag/tag-runtime.vue.js");
131
+ })
132
+ },
133
+ {
134
+ name: "richText",
135
+ label: "富文本",
136
+ runtimeComponent: defineAsyncComponent(() => {
137
+ return import("../views/assemblys/form/rich-text/richtext-runtime.vue.js");
138
+ })
139
+ },
140
+ {
141
+ name: "divider",
142
+ label: "分割线",
143
+ runtimeComponent: defineAsyncComponent(() => {
144
+ return import("../views/assemblys/form/divider/divider-runtime.vue.js");
145
+ })
146
+ },
147
+ {
148
+ name: "separatelabel",
149
+ label: "分割标签",
150
+ runtimeComponent: defineAsyncComponent(() => {
151
+ return import("../views/assemblys/form/separatelabel/separatelabel-runtime.vue.js");
152
+ })
153
+ },
154
+ {
155
+ name: "placeholder",
156
+ label: "占位符",
157
+ runtimeComponent: defineAsyncComponent(() => {
158
+ return import("../views/assemblys/form/placeholder/placeholder-runtime.vue.js");
159
+ })
160
+ },
161
+ {
162
+ name: "link",
163
+ label: "链接",
164
+ runtimeComponent: defineAsyncComponent(() => {
165
+ return import("../views/assemblys/form/link/link-runtime.vue.js");
166
+ })
167
+ },
168
+ {
169
+ name: "label",
170
+ label: "Label组件",
171
+ runtimeComponent: defineAsyncComponent(() => {
172
+ return import("../views/assemblys/form/label/label-runtime.vue.js");
173
+ })
174
+ },
175
+ {
176
+ name: "dept-tree",
177
+ label: "组织树",
178
+ runtimeComponent: defineAsyncComponent(() => {
179
+ return import("../views/assemblys/form/dept-tree/depttree-runtime.vue.js");
180
+ })
181
+ },
182
+ {
183
+ name: "file-upload",
184
+ label: "文件上传",
185
+ runtimeComponent: defineAsyncComponent(() => {
186
+ return import("../views/assemblys/form/file-upload/fileupload-runtime.vue.js");
187
+ })
188
+ }
189
+ ]
163
190
  },
164
191
  {
165
192
  name: "button",
166
193
  label: "按钮",
167
- items: [{
168
- name: "button-detail",
169
- label: "按钮",
170
- runtimeComponent: defineAsyncComponent(() => {
171
- return import("../views/assemblys/button/button/button-runtime.vue.js");
172
- })
173
- }, {
174
- name: "button-group",
175
- label: "按钮组",
176
- runtimeComponent: defineAsyncComponent(() => {
177
- return import("../views/assemblys/button/button-group/buttongroup-runtime.vue.js");
178
- })
179
- }, {
180
- name: "dropdown",
181
- label: "下拉菜单",
182
- runtimeComponent: defineAsyncComponent(() => {
183
- return import("../views/assemblys/button/dropdown/dropdown-runtime.vue.js");
184
- })
185
- }, {
186
- name: "print-label",
187
- label: "打印标签",
188
- runtimeComponent: defineAsyncComponent(() => {
189
- return import("../views/assemblys/button/print-label/printlabel-runtime.vue.js");
190
- })
191
- }, {
192
- name: "export-pdf",
193
- label: "打印标签",
194
- runtimeComponent: defineAsyncComponent(() => {
195
- return import("../views/assemblys/button/export-pdf/exportpdf-runtime.vue.js");
196
- })
197
- }]
194
+ items: [
195
+ {
196
+ name: "button-detail",
197
+ label: "按钮",
198
+ runtimeComponent: defineAsyncComponent(() => {
199
+ return import("../views/assemblys/button/button/button-runtime.vue.js");
200
+ })
201
+ },
202
+ {
203
+ name: "button-group",
204
+ label: "按钮组",
205
+ runtimeComponent: defineAsyncComponent(() => {
206
+ return import("../views/assemblys/button/button-group/buttongroup-runtime.vue.js");
207
+ })
208
+ },
209
+ {
210
+ name: "dropdown",
211
+ label: "下拉菜单",
212
+ runtimeComponent: defineAsyncComponent(() => {
213
+ return import("../views/assemblys/button/dropdown/dropdown-runtime.vue.js");
214
+ })
215
+ },
216
+ {
217
+ name: "print-label",
218
+ label: "打印标签",
219
+ runtimeComponent: defineAsyncComponent(() => {
220
+ return import("../views/assemblys/button/print-label/printlabel-runtime.vue.js");
221
+ })
222
+ },
223
+ {
224
+ name: "export-pdf",
225
+ label: "打印标签",
226
+ runtimeComponent: defineAsyncComponent(() => {
227
+ return import("../views/assemblys/button/export-pdf/exportpdf-runtime.vue.js");
228
+ })
229
+ }
230
+ ]
198
231
  },
199
232
  {
200
233
  name: "workflow",
@@ -220,43 +253,56 @@ const assemblyGroups = [
220
253
  runtimeComponent: defineAsyncComponent(() => {
221
254
  return import("../views/assemblys/workflow/text-history/textflow-runtime.vue.js");
222
255
  })
256
+ },
257
+ {
258
+ name: "workflow-node",
259
+ label: "流程环节",
260
+ runtimeComponent: defineAsyncComponent(() => {
261
+ return import("../views/assemblys/workflow/workflow-node/workflownode-runtime.vue.js");
262
+ })
223
263
  }
224
264
  ]
225
265
  },
226
266
  {
227
267
  name: "chart",
228
268
  label: "统计图",
229
- items: [{
230
- name: "chart-column-line",
231
- label: "柱/折图",
232
- runtimeComponent: defineAsyncComponent(() => {
233
- return import("../views/assemblys/chart/column-line/column-line-runtime.vue.js");
234
- })
235
- }, {
236
- name: "chart-pie",
237
- label: "饼图",
238
- runtimeComponent: defineAsyncComponent(() => {
239
- return import("../views/assemblys/chart/pie/pie-runtime.vue.js");
240
- })
241
- }, {
242
- name: "chart-gauge",
243
- label: "仪表盘",
244
- runtimeComponent: defineAsyncComponent(() => {
245
- return import("../views/assemblys/chart/gauge/gauge-runtime.vue.js");
246
- })
247
- }, {
248
- name: "chart-radar",
249
- label: "雷达图",
250
- runtimeComponent: defineAsyncComponent(() => {
251
- return import("../views/assemblys/chart/radar/radar-runtime.vue.js");
252
- })
253
- }, {
254
- name: "chart-scatter",
255
- label: "散点图",
256
- runtimeComponent: defineAsyncComponent(() => {
257
- return import("../views/assemblys/chart/scatter/scatter-runtime.vue.js");
258
- })
259
- }]
269
+ items: [
270
+ {
271
+ name: "chart-column-line",
272
+ label: "柱/折图",
273
+ runtimeComponent: defineAsyncComponent(() => {
274
+ return import("../views/assemblys/chart/column-line/column-line-runtime.vue.js");
275
+ })
276
+ },
277
+ {
278
+ name: "chart-pie",
279
+ label: "饼图",
280
+ runtimeComponent: defineAsyncComponent(() => {
281
+ return import("../views/assemblys/chart/pie/pie-runtime.vue.js");
282
+ })
283
+ },
284
+ {
285
+ name: "chart-gauge",
286
+ label: "仪表盘",
287
+ runtimeComponent: defineAsyncComponent(() => {
288
+ return import("../views/assemblys/chart/gauge/gauge-runtime.vue.js");
289
+ })
290
+ },
291
+ {
292
+ name: "chart-radar",
293
+ label: "雷达图",
294
+ runtimeComponent: defineAsyncComponent(() => {
295
+ return import("../views/assemblys/chart/radar/radar-runtime.vue.js");
296
+ })
297
+ },
298
+ {
299
+ name: "chart-scatter",
300
+ label: "散点图",
301
+ runtimeComponent: defineAsyncComponent(() => {
302
+ return import("../views/assemblys/chart/scatter/scatter-runtime.vue.js");
303
+ })
304
+ }
305
+ ]
260
306
  },
261
307
  {
262
308
  name: "data",
@@ -23,3 +23,4 @@ export declare function getWorkflowId(pageContext: any): any;
23
23
  * @returns
24
24
  */
25
25
  export declare function getPropClassName(configure: Component): any;
26
+ export declare function isNumber(numStr: any): boolean;
@@ -115,6 +115,19 @@ function getPropClassName(configure) {
115
115
  }
116
116
  return propClassName;
117
117
  }
118
+ function isNumber(numStr) {
119
+ try {
120
+ if (numStr !== void 0 && numStr !== null) {
121
+ const num = parseInt(numStr + "");
122
+ if (Number.isInteger(num)) {
123
+ return true;
124
+ }
125
+ }
126
+ return false;
127
+ } catch (error) {
128
+ return false;
129
+ }
130
+ }
118
131
  export {
119
132
  deepCopy,
120
133
  getBaseUrl,
@@ -123,6 +136,7 @@ export {
123
136
  getRealRestApiPath,
124
137
  getWorkflowId,
125
138
  isArrayFn,
139
+ isNumber,
126
140
  packageTemplateFiles,
127
141
  upperFirstCase
128
142
  };
@@ -269,7 +269,7 @@ function exportFormReport(pageContext, configureObj, templateFile, isPdf) {
269
269
  tableName,
270
270
  isPermission: isPermission + "",
271
271
  systemCode,
272
- listCodes: pageContext.listCodes,
272
+ listCodesMap: pageContext.listCodesMap,
273
273
  pageCode: pageContext.code,
274
274
  pageVersion: pageContext.version
275
275
  };
@@ -404,7 +404,7 @@ function getCommonFormRequestParam(pageContext, configureObj, isUnControlVersion
404
404
  isWorkflowEntity: isWorkflow,
405
405
  functionCode: functionCodes,
406
406
  isPermission: isPermission + "",
407
- listCodes: pageContext.listCodes,
407
+ listCodesMap: pageContext.listCodesMap,
408
408
  pageCode: pageContext.code,
409
409
  pageVersion: pageContext.version
410
410
  };
@@ -797,7 +797,7 @@ function deleteFunc(params) {
797
797
  isPermission: isPermission + "",
798
798
  systemCode,
799
799
  isWorkflowEntity: isWorkflow,
800
- listCodes: pageContext.listCodes,
800
+ listCodesMap: pageContext.listCodesMap,
801
801
  pageCode: pageContext.code,
802
802
  pageVersion: pageContext.version
803
803
  };
@@ -1096,7 +1096,7 @@ function getWorkflowSaveParams(params) {
1096
1096
  definitionId: pageContext.definitionId,
1097
1097
  functionCode: functionCodes,
1098
1098
  systemCode,
1099
- listCodes: pageContext.listCodes,
1099
+ listCodesMap: pageContext.listCodesMap,
1100
1100
  pageCode: pageContext.code,
1101
1101
  pageVersion: pageContext.version
1102
1102
  };
@@ -1367,7 +1367,7 @@ function getTransactTaskParam(params) {
1367
1367
  tableName: pageContext.tableName,
1368
1368
  functionCode: permissionPrefix + ".xxx",
1369
1369
  isWorkflowEntity: true,
1370
- listCodes: pageContext.listCodes,
1370
+ listCodesMap: pageContext.listCodesMap,
1371
1371
  pageCode: pageContext.code,
1372
1372
  pageVersion: pageContext.version
1373
1373
  };
@@ -57,7 +57,7 @@ export interface PageDesign extends Component {
57
57
  initChartServiceConfigs?: Array<any>;
58
58
  rules?: object;
59
59
  tableUuids?: Array<any>;
60
- listCodes?: Array<any>;
60
+ listCodesMap?: object;
61
61
  formNoRuleCode?: string;
62
62
  judgeHeavyList?: Array<any>;
63
63
  conversionCodes?: Array<any>;
@@ -89,7 +89,7 @@ export interface PageContext extends Component {
89
89
  workflowVersion?: number;
90
90
  rules?: object;
91
91
  tableUuids?: Array<any>;
92
- listCodes?: Array<any>;
92
+ listCodesMap?: object;
93
93
  formNoRuleCode?: string;
94
94
  judgeHeavyList?: Array<any>;
95
95
  conversionCodes?: Array<any>;
@@ -29,8 +29,8 @@ function convertToPageContext(pageDesign, pageRequest) {
29
29
  // rules: pageDesign.rules, // 表单验证规则。在runtime object-render中实时获得
30
30
  tableUuids: pageDesign.tableUuids,
31
31
  // 表格uuid集合
32
- listCodes: pageDesign.listCodes,
33
- // 当前页面中表格对应的数据表名集合,后台保存子表记录时需要
32
+ listCodesMap: pageDesign.listCodesMap,
33
+ // 列表编码和列表绑定编码对应关系,key是列表编码,value是绑定编码
34
34
  formNoRuleCode: pageDesign.props ? pageDesign.props.formNoRuleCode : null,
35
35
  // 表单编号规则
36
36
  judgeHeavyList: getJudgeHeavyList(pageDesign),
@@ -1,6 +1,7 @@
1
- import { defineComponent, ref, resolveComponent, openBlock, createBlock, normalizeClass, unref, normalizeStyle, withCtx, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode } from "vue";
1
+ import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createVNode, normalizeClass, unref, normalizeStyle, withCtx, Fragment, createTextVNode, toDisplayString, createCommentVNode, createBlock } from "vue";
2
2
  import { SuperIcon } from "agilebuilder-ui";
3
3
  import { handleEvent } from "../../../../utils/events/event-util.js";
4
+ const _hoisted_1 = { class: "page-runtime-header-btn" };
4
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
6
  __name: "button-runtime",
6
7
  props: {
@@ -21,39 +22,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
22
  }
22
23
  return (_ctx, _cache) => {
23
24
  const _component_el_button = resolveComponent("el-button");
24
- return openBlock(), createBlock(_component_el_button, {
25
- disabled: isDisable(),
26
- class: normalizeClass(unref(runtimeClass)),
27
- style: normalizeStyle(unref(runtimeStyle)),
28
- type: designProperty.value.type,
29
- size: designProperty.value.size,
30
- text: designProperty.value.text,
31
- round: designProperty.value.round,
32
- plain: designProperty.value.plain,
33
- loading: isButtongLoading(),
34
- onClick: _cache[0] || (_cache[0] = ($event) => unref(handleEvent)($event, _ctx.pageContext, _ctx.configure, "click"))
35
- }, {
36
- default: withCtx(() => [
37
- designProperty.value.title && designProperty.value.iconPosition == "right" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
38
- createTextVNode(toDisplayString(designProperty.value.title) + " ", 1),
39
- designProperty.value.iconValue ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
40
- createTextVNode("   ")
41
- ], 64)) : createCommentVNode("", true)
42
- ], 64)) : createCommentVNode("", true),
43
- designProperty.value.iconType && designProperty.value.iconValue ? (openBlock(), createBlock(unref(SuperIcon), {
44
- key: 1,
45
- iconType: designProperty.value.iconType,
46
- iconValue: designProperty.value.iconValue
47
- }, null, 8, ["iconType", "iconValue"])) : createCommentVNode("", true),
48
- designProperty.value.title && designProperty.value.iconPosition != "right" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
49
- designProperty.value.iconValue ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
50
- createTextVNode("   ")
25
+ return openBlock(), createElementBlock("span", _hoisted_1, [
26
+ createVNode(_component_el_button, {
27
+ disabled: isDisable(),
28
+ class: normalizeClass(unref(runtimeClass)),
29
+ style: normalizeStyle(unref(runtimeStyle)),
30
+ type: designProperty.value.type,
31
+ size: designProperty.value.size,
32
+ text: designProperty.value.text,
33
+ round: designProperty.value.round,
34
+ plain: designProperty.value.plain,
35
+ loading: isButtongLoading(),
36
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(handleEvent)($event, _ctx.pageContext, _ctx.configure, "click"))
37
+ }, {
38
+ default: withCtx(() => [
39
+ designProperty.value.title && designProperty.value.iconPosition == "right" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
40
+ createTextVNode(toDisplayString(designProperty.value.title) + " ", 1),
41
+ designProperty.value.iconValue ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
42
+ createTextVNode("   ")
43
+ ], 64)) : createCommentVNode("", true)
51
44
  ], 64)) : createCommentVNode("", true),
52
- createTextVNode(" " + toDisplayString(designProperty.value.title), 1)
53
- ], 64)) : createCommentVNode("", true)
54
- ]),
55
- _: 1
56
- }, 8, ["disabled", "class", "style", "type", "size", "text", "round", "plain", "loading"]);
45
+ designProperty.value.iconType && designProperty.value.iconValue ? (openBlock(), createBlock(unref(SuperIcon), {
46
+ key: 1,
47
+ iconType: designProperty.value.iconType,
48
+ iconValue: designProperty.value.iconValue
49
+ }, null, 8, ["iconType", "iconValue"])) : createCommentVNode("", true),
50
+ designProperty.value.title && designProperty.value.iconPosition != "right" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
51
+ designProperty.value.iconValue ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
52
+ createTextVNode("   ")
53
+ ], 64)) : createCommentVNode("", true),
54
+ createTextVNode(" " + toDisplayString(designProperty.value.title), 1)
55
+ ], 64)) : createCommentVNode("", true)
56
+ ]),
57
+ _: 1
58
+ }, 8, ["disabled", "class", "style", "type", "size", "text", "round", "plain", "loading"])
59
+ ]);
57
60
  };
58
61
  }
59
62
  });
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  const configure = props.configure;
19
19
  const listCode = getListCode(pageContext.code, pageContext.version, configure.uuid);
20
20
  const dataModel = pageContext.entity.data;
21
- const prop = listCode;
21
+ const prop = configure.code ? configure.code : listCode;
22
22
  const additionalParamMap = getAdditionalParamMap(pageContext);
23
23
  const tableEvents = configure.runtime && configure.runtime.events ? configure.runtime.events : [];
24
24
  const selections = ref([]);
@@ -78,12 +78,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
78
78
  listViewOptions.value["showOperationButton"] = configure.props && configure.props.base ? configure.props.base.showOperation : false;
79
79
  listViewOptions.value["isPdfEditor"] = false;
80
80
  listViewOptions.value["tableRecordMaxNum"] = configure.props && configure.props.otherSettings ? configure.props.otherSettings.tableRecordMaxNum : null;
81
- if (configure.props && configure.props.size && configure.props.size.fixHeight) {
82
- listViewOptions.value["formSetHeight"] = configure.props.size.fixHeight;
81
+ const pageModeType = getPageModeType();
82
+ let sizeConfig;
83
+ if (configure.props && configure.props.size && configure.props.size[pageModeType]) {
84
+ sizeConfig = configure.props.size[pageModeType];
83
85
  }
84
- if (configure.props && configure.props.size && configure.props.size.maxHeight) {
85
- listViewOptions.value["formSetMaxHeight"] = configure.props.size.maxHeight;
86
+ if (sizeConfig && sizeConfig.fixHeight) {
87
+ listViewOptions.value["formSetHeight"] = sizeConfig.fixHeight;
86
88
  }
89
+ if (sizeConfig && sizeConfig.maxHeight) {
90
+ listViewOptions.value["formSetMaxHeight"] = sizeConfig.maxHeight;
91
+ }
92
+ }
93
+ function getPageModeType() {
94
+ let dimensions = pageContext.dimensions;
95
+ if (!dimensions) {
96
+ dimensions = "pc";
97
+ }
98
+ return dimensions;
87
99
  }
88
100
  function judgeInitializationSubTable() {
89
101
  if (!configure.props || !configure.props.otherSettings) {
@@ -288,6 +300,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
288
300
  }
289
301
  function changeGridData(gridData) {
290
302
  setVariableValue(entity, dynamicFields, gridData);
303
+ console.log("changeGridData----gridData=", gridData, "entity=", entity);
291
304
  }
292
305
  function changeRowsPerpage(pageSize) {
293
306
  console.log("表单组件--Item--changeRowsPerpage==pageSize=", pageSize);
@@ -86,6 +86,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
86
86
  ]),
87
87
  default: withCtx(() => [
88
88
  createVNode(unref(FsUploadNew), {
89
+ style: { "width": "100%" },
89
90
  disabled: designProperty.value.state === "disabled",
90
91
  displayType: designProperty.value.displayType,
91
92
  accept: designProperty.value.accept,
@@ -103,6 +104,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
103
104
  _: 1
104
105
  }, 8, ["required", "class", "label-width", "style"])) : (openBlock(), createBlock(unref(FsUploadNew), {
105
106
  key: 1,
107
+ style: { "width": "100%" },
106
108
  disabled: designProperty.value.state === "disabled",
107
109
  displayType: designProperty.value.displayType,
108
110
  accept: designProperty.value.accept,
@@ -6,11 +6,6 @@ import "quill/dist/quill.snow.css";
6
6
  import { handleFormEvent } from "../../../../utils/events/event-util.js";
7
7
  import http from "agilebuilder-ui/src/utils/request";
8
8
  const _hoisted_1 = { style: { "width": "100%", "height": "100%" } };
9
- const _hoisted_2 = {
10
- key: 1,
11
- style: { "width": "100%", "height": "100%" },
12
- class: "amb-widget-richtext-single"
13
- };
14
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
15
10
  __name: "richtext-runtime",
16
11
  props: {
@@ -29,8 +24,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
24
  let contentVariable = designProperty.value.value;
30
25
  const initValue = formatVariableValue(props.pageContext, contentVariable);
31
26
  const quillEditorRef = ref(null);
32
- const quill = ref(null);
33
- const fileBtn = ref(null);
27
+ let quill = null;
28
+ ref(null);
34
29
  const fontSize = [
35
30
  "12px",
36
31
  "13px",
@@ -89,41 +84,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
84
  if (newState != void 0 && newState !== hisState) {
90
85
  hisState = newState;
91
86
  const isReadonly = checkReadonly(hisState);
92
- if (quill.value) {
93
- quill.value.enable(!isReadonly);
94
- quill.value.root.dataset.placeholder = isReadonly ? "" : designProperty.value.placeholder;
87
+ if (quill) {
88
+ quill.enable(!isReadonly);
89
+ quill.root.dataset.placeholder = isReadonly ? "" : designProperty.value.placeholder;
95
90
  }
96
91
  }
97
92
  });
98
93
  function updateEditorHeight() {
99
- if (quill.value && quill.value.container) {
100
- const parentNode = quill.value.container.parentNode;
94
+ if (quill && quill.container) {
95
+ const parentNode = quill.container.parentNode;
101
96
  const parentRect = parentNode.getBoundingClientRect();
102
- const thisRect = quill.value.container.getBoundingClientRect();
97
+ const thisRect = quill.container.getBoundingClientRect();
103
98
  let newHeight = parentRect.height - (thisRect.top - parentRect.top);
104
99
  if (newHeight < 100) {
105
100
  newHeight = 100;
106
101
  }
107
- quill.value.container.style.height = newHeight + "px";
102
+ quill.container.style.height = newHeight + "px";
108
103
  }
109
104
  }
110
- const handleUpload = (e) => {
111
- const files = Array.prototype.slice.call(e.target.files);
112
- if (!files) {
113
- return;
114
- }
115
- const formdata = new FormData();
116
- formdata.append("file", files[0]);
117
- alert("TODO:上传图片");
118
- };
119
105
  onMounted(() => {
120
106
  var _a;
121
- quill.value = new Quill(quillEditorRef.value, option.value);
107
+ quill = new Quill(quillEditorRef.value, option.value);
108
+ const delta = quill.clipboard.convertHTML(initValue);
109
+ quill.setContents(delta.ops);
122
110
  (_a = quillEditorRef.value) == null ? void 0 : _a.addEventListener("focusout", handleFocusOut);
123
- quill.value.on("text-change", async function(delta, oldDelta, source) {
124
- if (delta.ops && delta.ops.length > 0) {
125
- for (let i = 0; i < delta.ops.length; i++) {
126
- const ops = delta.ops[i];
111
+ quill.on("text-change", async function(delta2, oldDelta, source) {
112
+ if (delta2.ops && delta2.ops.length > 0) {
113
+ for (let i = 0; i < delta2.ops.length; i++) {
114
+ const ops = delta2.ops[i];
127
115
  if (ops.insert && ops.insert.image) {
128
116
  const dataurl = ops.insert.image;
129
117
  if (!dataurl.startsWith("data:image")) {
@@ -131,10 +119,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
131
119
  }
132
120
  const file = dataURLtoFile(dataurl, "image.png");
133
121
  await uploadImage(file).then((res) => {
134
- if (!quill.value) {
122
+ if (!quill) {
135
123
  return;
136
124
  }
137
- const images = quill.value.root.getElementsByTagName("img");
125
+ const images = quill.root.getElementsByTagName("img");
138
126
  if (images && images.length > 0) {
139
127
  for (let i2 = 0; i2 < images.length; i2++) {
140
128
  const img = images[i2];
@@ -149,7 +137,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
149
137
  }
150
138
  }
151
139
  }
152
- setVariableValue(entity, dynamicFields, quill.value.root.innerHTML);
140
+ setVariableValue(entity, dynamicFields, quill.root.innerHTML);
153
141
  });
154
142
  updateEditorHeight();
155
143
  });
@@ -161,7 +149,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
161
149
  function handleFocusOut(event) {
162
150
  var _a;
163
151
  if (event.relatedTarget === null || !((_a = quillEditorRef.value) == null ? void 0 : _a.contains(event.relatedTarget))) {
164
- handleFormEvent(quill.value.root.innerHTML, props.pageContext, props.configure, "change", {
152
+ handleFormEvent(quill.root.innerHTML, props.pageContext, props.configure, "change", {
165
153
  entity
166
154
  });
167
155
  }
@@ -210,33 +198,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
210
198
  ref_key: "quillEditorRef",
211
199
  ref: quillEditorRef,
212
200
  style: { "width": "100%" }
213
- }, toDisplayString(unref(initValue)), 513),
214
- createElementVNode("input", {
215
- type: "file",
216
- hidden: "",
217
- accept: ".jpg,.png",
218
- ref_key: "fileBtn",
219
- ref: fileBtn,
220
- onChange: handleUpload
221
- }, null, 544)
201
+ }, null, 512)
222
202
  ])
223
203
  ]),
224
204
  _: 1
225
- }, 8, ["required", "class", "label-width", "style"])) : (openBlock(), createElementBlock("div", _hoisted_2, [
226
- createElementVNode("div", {
227
- ref_key: "quillEditorRef",
228
- ref: quillEditorRef,
229
- style: { "width": "100%" }
230
- }, toDisplayString(unref(initValue)), 513),
231
- createElementVNode("input", {
232
- type: "file",
233
- hidden: "",
234
- accept: ".jpg,.png",
235
- ref_key: "fileBtn",
236
- ref: fileBtn,
237
- onChange: handleUpload
238
- }, null, 544)
239
- ]));
205
+ }, 8, ["required", "class", "label-width", "style"])) : createCommentVNode("", true);
240
206
  };
241
207
  }
242
208
  });
@@ -1,7 +1,8 @@
1
- import { defineComponent, ref, openBlock, createElementBlock, Fragment, renderList, createBlock, createCommentVNode, unref, normalizeStyle, toDisplayString } from "vue";
1
+ import { defineComponent, ref, openBlock, createElementBlock, Fragment, renderList, createBlock, createCommentVNode } from "vue";
2
2
  import _sfc_main$1 from "../../object-render.vue.js";
3
3
  import { getClickEventFuncByType } from "../../../../utils/events/event-util.js";
4
4
  import { isVisibleWorkflowButton } from "../../../../utils/events/standard-event.js";
5
+ const _hoisted_1 = { class: "page-runtime-header-btn" };
5
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
7
  __name: "workflowbutton-runtime",
7
8
  props: {
@@ -16,14 +17,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
17
  const buttonInfo = props.pageContext.workflowButtonComponent;
17
18
  const completeTaskParam = props.pageContext.completeTaskParam;
18
19
  const visibleBtns = ref([]);
19
- let taskName = ref("");
20
- let activityNameColor = "";
21
- if (props.configure.props.base.showActivityName) {
22
- activityNameColor = props.configure.props.base.activityNameColor || "red";
23
- if (props.pageContext.entity && props.pageContext.entity.data) {
24
- taskName.value = props.pageContext.entity.data["CURRENT_ACTIVITY_NAME"] || props.pageContext.entity.data["current_activity_name"];
25
- }
26
- }
27
20
  props.configure.items.forEach((item) => {
28
21
  if (isVisibleBtn(item)) {
29
22
  visibleBtns.value.push(item);
@@ -49,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
42
  return isVisible;
50
43
  }
51
44
  return (_ctx, _cache) => {
52
- return openBlock(), createElementBlock("span", null, [
45
+ return openBlock(), createElementBlock("span", _hoisted_1, [
53
46
  (openBlock(true), createElementBlock(Fragment, null, renderList(visibleBtns.value, (element, itemIndex) => {
54
47
  return openBlock(), createElementBlock(Fragment, null, [
55
48
  element.check ? (openBlock(), createBlock(_sfc_main$1, {
@@ -58,11 +51,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
51
  configure: element
59
52
  }, null, 8, ["pageContext", "configure"])) : createCommentVNode("", true)
60
53
  ], 64);
61
- }), 256)),
62
- unref(taskName) ? (openBlock(), createElementBlock("span", {
63
- key: 0,
64
- style: normalizeStyle({ color: unref(activityNameColor) })
65
- }, " 当前环节: " + toDisplayString(unref(taskName)), 5)) : createCommentVNode("", true)
54
+ }), 256))
66
55
  ]);
67
56
  };
68
57
  }
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./workflownode-runtime.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,53 @@
1
+ import { defineComponent, ref, onMounted, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, toDisplayString } from "vue";
2
+ import { getFormModelFields } from "../../../../utils/page-init-util.js";
3
+ import { getVariableValue, setVariableValue } from "../../../../utils/page-helper-util.js";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "workflownode-runtime",
6
+ props: {
7
+ pageContext: {},
8
+ configure: {}
9
+ },
10
+ setup(__props, { expose: __expose }) {
11
+ const props = __props;
12
+ const entity = props.pageContext.entity ? props.pageContext.entity : {};
13
+ let dynamicFields = getFormModelFields(props.pageContext, props.configure);
14
+ const runtimeInfo = props.configure.runtime ? props.configure.runtime : {};
15
+ const designProperty = ref(runtimeInfo.props ? runtimeInfo.props : {});
16
+ const runtimeClass = runtimeInfo.class;
17
+ const headerStyle = runtimeInfo.headerStyle;
18
+ let taskName = ref("");
19
+ ref(false);
20
+ if (props.pageContext.pageType === "form") {
21
+ if (props.pageContext.entity && props.pageContext.entity.data) {
22
+ taskName.value = props.pageContext.entity.data["CURRENT_ACTIVITY_NAME"] || props.pageContext.entity.data["current_activity_name"];
23
+ }
24
+ }
25
+ onMounted(() => {
26
+ });
27
+ function getValue() {
28
+ return getVariableValue(entity, dynamicFields);
29
+ }
30
+ function setValue(value) {
31
+ return setVariableValue(entity, dynamicFields, value);
32
+ }
33
+ __expose({
34
+ getValue,
35
+ setValue
36
+ });
37
+ return (_ctx, _cache) => {
38
+ return openBlock(), createElementBlock("div", {
39
+ class: normalizeClass(unref(runtimeClass))
40
+ }, [
41
+ createElementVNode("div", {
42
+ style: normalizeStyle(unref(headerStyle))
43
+ }, [
44
+ createElementVNode("span", null, toDisplayString(designProperty.value.title), 1),
45
+ createElementVNode("span", null, toDisplayString(unref(taskName)), 1)
46
+ ], 4)
47
+ ], 2);
48
+ };
49
+ }
50
+ });
51
+ export {
52
+ _sfc_main as default
53
+ };
@@ -24,6 +24,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  const draggable = ref(false);
25
25
  const overflow = ref(false);
26
26
  const showPosition = ref("rtl");
27
+ const contentHeight = ref(null);
27
28
  if (myJumpPageSetting) {
28
29
  dialogType.value = myJumpPageSetting && myJumpPageSetting["dialogType"] ? myJumpPageSetting["dialogType"] : "dialog";
29
30
  draggable.value = myJumpPageSetting && myJumpPageSetting["draggable"] ? myJumpPageSetting["draggable"] : false;
@@ -31,6 +32,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
32
  showPosition.value = myJumpPageSetting && myJumpPageSetting["showPosition"] ? myJumpPageSetting["showPosition"] : "rtl";
32
33
  title.value = myJumpPageSetting && myJumpPageSetting["jumpPageTitle"] ? myJumpPageSetting["jumpPageTitle"] : null;
33
34
  width.value = myJumpPageSetting && myJumpPageSetting["jumpPageWidth"] ? myJumpPageSetting["jumpPageWidth"] : "100%";
35
+ contentHeight.value = myJumpPageSetting && myJumpPageSetting["jumpPageHeight"] ? myJumpPageSetting["jumpPageHeight"] : null;
34
36
  pageCode.value = myJumpPageSetting && myJumpPageSetting["pageCode"];
35
37
  dataId.value = myJumpPageSetting && myJumpPageSetting["dataId"] ? myJumpPageSetting["dataId"] : null;
36
38
  taskId.value = myJumpPageSetting && myJumpPageSetting["taskId"] ? myJumpPageSetting["taskId"] : null;
@@ -98,8 +100,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
100
  pageCode.value ? (openBlock(), createBlock(_sfc_main$1, {
99
101
  key: 0,
100
102
  pageCode: pageCode.value,
101
- pageRequest: pageRequest.value
102
- }, null, 8, ["pageCode", "pageRequest"])) : createCommentVNode("", true)
103
+ pageRequest: pageRequest.value,
104
+ contentHeight: contentHeight.value
105
+ }, null, 8, ["pageCode", "pageRequest", "contentHeight"])) : createCommentVNode("", true)
103
106
  ]),
104
107
  _: 1
105
108
  }, 8, ["title", "width", "draggable", "overflow"]));
@@ -42,6 +42,10 @@ declare const _default: import('vue').DefineComponent<{
42
42
  type: ObjectConstructor;
43
43
  required: false;
44
44
  };
45
+ contentHeight: {
46
+ type: (NumberConstructor | StringConstructor)[];
47
+ default: any;
48
+ };
45
49
  }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
46
50
  close: (...args: any[]) => void;
47
51
  open: (...args: any[]) => void;
@@ -88,6 +92,10 @@ declare const _default: import('vue').DefineComponent<{
88
92
  type: ObjectConstructor;
89
93
  required: false;
90
94
  };
95
+ contentHeight: {
96
+ type: (NumberConstructor | StringConstructor)[];
97
+ default: any;
98
+ };
91
99
  }>> & {
92
100
  onClose?: (...args: any[]) => any;
93
101
  onOpen?: (...args: any[]) => any;
@@ -95,5 +103,6 @@ declare const _default: import('vue').DefineComponent<{
95
103
  onOpened?: (...args: any[]) => any;
96
104
  }, {
97
105
  isTest: boolean;
106
+ contentHeight: string | number;
98
107
  }, {}>;
99
108
  export default _default;
@@ -18,7 +18,7 @@ import _sfc_main$5 from "./super-page-dialog.vue.js";
18
18
  import { useRoute, useRouter } from "vue-router";
19
19
  import { jumpToPage } from "agilebuilder-ui/src/utils/jump-page-utils";
20
20
  import { setSessionCache } from "agilebuilder-ui/src/utils/auth";
21
- import { deepCopy } from "../utils/common-util.js";
21
+ import { isNumber, deepCopy } from "../utils/common-util.js";
22
22
  const _hoisted_1 = { class: "app-container" };
23
23
  const _sfc_main = /* @__PURE__ */ defineComponent({
24
24
  __name: "super-page",
@@ -71,6 +71,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
71
71
  pageRequest: {
72
72
  type: Object,
73
73
  required: false
74
+ },
75
+ // 页面高度
76
+ contentHeight: {
77
+ type: [String, Number],
78
+ default: null
74
79
  }
75
80
  },
76
81
  emits: ["open", "opened", "close", "closed"],
@@ -236,9 +241,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
236
241
  function setContextStyle() {
237
242
  nextTick(() => {
238
243
  const parentNode = thisRef.value.parentNode ? thisRef.value.parentNode : thisRef.value;
239
- const rect = parentNode.getBoundingClientRect();
240
- const contentHeight = window.innerHeight - rect.y - 40;
241
- parentNode.style.height = contentHeight + "px";
244
+ let myContentHeight = props.contentHeight;
245
+ if (!myContentHeight) {
246
+ const rect = parentNode.getBoundingClientRect();
247
+ myContentHeight = window.innerHeight - rect.y - 40;
248
+ }
249
+ let heightStyle = myContentHeight;
250
+ if (isNumber(myContentHeight)) {
251
+ heightStyle = myContentHeight + "px";
252
+ }
253
+ parentNode.style.height = heightStyle;
242
254
  parentNode.style["overflow-y"] = "auto";
243
255
  });
244
256
  }
@@ -5,9 +5,11 @@ import { getCustomTheme, getCustomThemeOptions, getNumFormatter } from './compon
5
5
  import { default as cn } from './i18n/langs/cn.js';
6
6
  import { default as en } from './i18n/langs/en.js';
7
7
  import { getDateShortCuts } from './components/runtime/utils/form/date-shortcuts';
8
+ import { getListCode } from './components/runtime/utils/common-util';
8
9
 
9
10
  export { SuperPageNew, SuperPageDialogNew, getComponentOptionConfigs };
10
11
  export { getStandPermissionInfo, getFunctionInfo, FuncType };
11
12
  export { getCustomTheme, getCustomThemeOptions, getNumFormatter as getNumFormatterForChart };
12
13
  export { getDateShortCuts };
13
14
  export { cn, en };
15
+ export { getListCode };
package/dist/es/index.js CHANGED
@@ -6,6 +6,7 @@ import { getCustomTheme, getCustomThemeOptions, getNumFormatter } from "./compon
6
6
  import { default as default4 } from "./i18n/langs/cn.js";
7
7
  import { default as default5 } from "./i18n/langs/en.js";
8
8
  import { getDateShortCuts } from "./components/runtime/utils/form/date-shortcuts.js";
9
+ import { getListCode } from "./components/runtime/utils/common-util.js";
9
10
  export {
10
11
  FuncType,
11
12
  default3 as SuperPageDialogNew,
@@ -17,6 +18,7 @@ export {
17
18
  getCustomThemeOptions,
18
19
  getDateShortCuts,
19
20
  getFunctionInfo,
21
+ getListCode,
20
22
  getNumFormatter as getNumFormatterForChart,
21
23
  getStandPermissionInfo
22
24
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-page-runtime",
3
- "version": "2.0.91",
3
+ "version": "2.0.95",
4
4
  "description": "AgileBuilder super page runtime",
5
5
  "license": "ISC",
6
6
  "main": "dist/es/index.js",
@@ -48,7 +48,7 @@
48
48
  "@vitejs/plugin-vue-jsx": "^3.1.0",
49
49
  "@vue/eslint-config-prettier": "^8.0.0",
50
50
  "@vue/test-utils": "^2.4.4",
51
- "agilebuilder-ui": "1.0.59",
51
+ "agilebuilder-ui": "1.0.61",
52
52
  "axios": "^1.6.8",
53
53
  "cypress": "^13.6.6",
54
54
  "element-plus": "^2.6.1",