@gct-paas/design 6.0.0-dev.17 → 6.0.0-dev.19

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.
@@ -26,16 +26,20 @@ function deepFindPlugins(widgets) {
26
26
  return items;
27
27
  }
28
28
  function getDefaultTxnDetailPageJson() {
29
- return {
30
- newDesigner: true,
31
- style: {
32
- paddingAll: "",
33
- paddingTop: "",
34
- paddingRight: "16",
35
- paddingBottom: "16",
36
- paddingLeft: "16"
37
- }
29
+ const _json = cloneDeep(defaultPageJson);
30
+ _json.style = {
31
+ paddingAll: "",
32
+ paddingTop: "",
33
+ paddingRight: "16",
34
+ paddingBottom: "16",
35
+ paddingLeft: "16"
38
36
  };
37
+ _json.pageConfig = {
38
+ title: "",
39
+ i18n: {},
40
+ hasFooter: false
41
+ };
42
+ return _json;
39
43
  }
40
44
  function useDesignSave() {
41
45
  const { cancelOccupy } = useUserOccupy();
@@ -144,15 +148,29 @@ function useDesignSave() {
144
148
  return plugins;
145
149
  }
146
150
  /**
151
+ * 事务页专用兜底:老数据或默认 JSON 可能缺 widgets/modals/pageConfig 等字段,
152
+ * 只在事务保存路径补齐,避免影响页面设计、详情卡片等其他入口
153
+ */
154
+ function normalizeTxnPageJson(json) {
155
+ json.widgets = json.widgets ?? [];
156
+ json.modals = json.modals ?? [];
157
+ if (!json.pageConfig) json.pageConfig = {
158
+ title: "",
159
+ i18n: {},
160
+ hasFooter: false
161
+ };
162
+ return json;
163
+ }
164
+ /**
147
165
  * 根据 txnPageMode 解析创建页 / 详情页两份 pageJson
148
166
  */
149
167
  function resolveTxnPageJsonPair() {
150
168
  if (pageInfo.value.txnPageMode === "create") return {
151
169
  createPageJson: pageJson,
152
- detailPageJson: pageInfo.value.detailDesignerJson ? JSON.parse(pageInfo.value.detailDesignerJson) : getDefaultTxnDetailPageJson()
170
+ detailPageJson: pageInfo.value.detailDesignerJson ? normalizeTxnPageJson(JSON.parse(pageInfo.value.detailDesignerJson)) : getDefaultTxnDetailPageJson()
153
171
  };
154
172
  return {
155
- createPageJson: pageInfo.value._designerJson ? JSON.parse(pageInfo.value._designerJson) : cloneDeep(defaultPageJson),
173
+ createPageJson: pageInfo.value._designerJson ? normalizeTxnPageJson(JSON.parse(pageInfo.value._designerJson)) : cloneDeep(defaultPageJson),
156
174
  detailPageJson: pageJson
157
175
  };
158
176
  }
@@ -156,8 +156,8 @@ var instance = class ComponentUtils {
156
156
  if (this.groupType === ComponentUtils.TxnPageGroup) return [
157
157
  CategoryTypeEnum.FORM,
158
158
  CategoryTypeEnum.LAYOUT,
159
- CategoryTypeEnum.BUTTON,
160
- CategoryTypeEnum.DATA
159
+ CategoryTypeEnum.DATA,
160
+ CategoryTypeEnum.BUTTON
161
161
  ];
162
162
  if (this.groupType === ComponentUtils.DetailPageGroup) return [
163
163
  CategoryTypeEnum.FORM,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/design",
3
- "version": "6.0.0-dev.17",
3
+ "version": "6.0.0-dev.19",
4
4
  "type": "module",
5
5
  "description": "paas 平台设计界面底包",
6
6
  "loader": "dist/loader.esm.min.js",
@@ -51,10 +51,10 @@
51
51
  "react-dnd-html5-backend": "^16.0.1",
52
52
  "vue": "^3.5.30",
53
53
  "vue3-dnd": "^2.1.0",
54
- "@gct-paas/core": "6.0.0-dev.17",
55
- "@gct-paas/core-web": "6.0.0-dev.17",
56
- "@gct-paas/schema": "6.0.0-dev.17",
57
- "@gct-paas/scss": "6.0.0-dev.17"
54
+ "@gct-paas/core": "6.0.0-dev.19",
55
+ "@gct-paas/core-web": "6.0.0-dev.19",
56
+ "@gct-paas/schema": "6.0.0-dev.19",
57
+ "@gct-paas/scss": "6.0.0-dev.19"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/babel__core": "^7.20.5",
@@ -64,10 +64,10 @@
64
64
  "peerDependencies": {
65
65
  "@gct-paas/api": "^6.0.0-dev.8",
66
66
  "vue": ">=3",
67
- "@gct-paas/schema": "6.0.0-dev.17",
68
- "@gct-paas/core": "6.0.0-dev.17",
69
- "@gct-paas/core-web": "6.0.0-dev.17",
70
- "@gct-paas/scss": "6.0.0-dev.17"
67
+ "@gct-paas/schema": "6.0.0-dev.19",
68
+ "@gct-paas/core": "6.0.0-dev.19",
69
+ "@gct-paas/scss": "6.0.0-dev.19",
70
+ "@gct-paas/core-web": "6.0.0-dev.19"
71
71
  },
72
72
  "scripts": {
73
73
  "dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",