@gct-paas/design 6.0.0-dev.2 → 6.0.0-dev.21

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.
@@ -138,8 +138,9 @@ function _useUserOccupy() {
138
138
  async function lock() {
139
139
  if (occupyInfo.value.occupyId) return;
140
140
  if (lockInfo.value.id) return;
141
+ const sthText = i18nKeyMap[params.type] || "sys.page";
141
142
  Modal.confirm({
142
- title: t("sys.sureToLockSth", { sth: t(i18nKeyMap[params.type]) }),
143
+ title: t("sys.sureToLockSth", { sth: t(sthText) }),
143
144
  icon: createVNode(ExclamationCircleOutlined),
144
145
  okText: t("sys.ok"),
145
146
  cancelText: t("sys.cancel"),
@@ -2622,6 +2622,8 @@ export declare const pageDesignHistoryList: import('vue').Ref<{
2622
2622
  createUserId?: string | undefined;
2623
2623
  createUserName?: string | undefined;
2624
2624
  designerJson?: string | undefined;
2625
+ detailDesignerJson?: string | undefined;
2626
+ detailRuntimeJson?: string | undefined;
2625
2627
  id?: string | undefined;
2626
2628
  modifyTime?: string | undefined;
2627
2629
  modifyUserId?: string | undefined;
@@ -2636,6 +2638,8 @@ export declare const pageDesignHistoryList: import('vue').Ref<{
2636
2638
  createUserId?: string | undefined;
2637
2639
  createUserName?: string | undefined;
2638
2640
  designerJson?: string | undefined;
2641
+ detailDesignerJson?: string | undefined;
2642
+ detailRuntimeJson?: string | undefined;
2639
2643
  id?: string | undefined;
2640
2644
  modifyTime?: string | undefined;
2641
2645
  modifyUserId?: string | undefined;
@@ -1,8 +1,13 @@
1
1
  import { loading, noMore, pageDesignHistoryList, pageJson, pageNo } from "../design-state.mjs";
2
2
  import { useDesignPreview } from "./useDesignPreview.mjs";
3
3
  import { useDesignSave } from "./useDesignSave.mjs";
4
- import "@gct-paas/core";
4
+ import { ContextSceneEnum } from "@gct-paas/core";
5
5
  //#region src/hooks/design-view/designer/useDesignHistory.ts
6
+ /**
7
+ * 历史版本管理 Hook
8
+ *
9
+ * 管理设计器的历史版本列表的加载、预览、恢复和删除等操作。
10
+ */
6
11
  function useDesignHistory() {
7
12
  /**
8
13
  * 获取历史版本列表(分页加载,支持滚动加载更多)
@@ -11,11 +16,14 @@ function useDesignHistory() {
11
16
  if (loading.value || noMore.value) return;
12
17
  loading.value = true;
13
18
  try {
14
- const res = await _api.apaas.pageDesignerLog.getPageList({
19
+ const config = {
15
20
  relationId: _gct.store.context.pid,
16
21
  pageNo: pageNo.value ?? 1,
17
22
  pageSize: 50
18
- });
23
+ };
24
+ if (_gct.store.context.scene === ContextSceneEnum.DETAIL) config.relationType = 4;
25
+ else if (_gct.store.context.scene === ContextSceneEnum.TXN) config.relationType = 5;
26
+ const res = await _api.apaas.pageDesignerLog.getPageList(config);
19
27
  if (res) {
20
28
  if (pageNo.value === 1) pageDesignHistoryList.value = res.data || [];
21
29
  else pageDesignHistoryList.value = [...pageDesignHistoryList.value, ...res.data || []];
@@ -70,7 +78,8 @@ function useDesignHistory() {
70
78
  }
71
79
  });
72
80
  const { save } = useDesignSave();
73
- await save(false);
81
+ const scene = _gct.store.context.scene;
82
+ await save(false, true, scene);
74
83
  loadPageDesignHistoryList();
75
84
  }
76
85
  }
@@ -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"
36
+ };
37
+ _json.pageConfig = {
38
+ title: "",
39
+ i18n: {},
40
+ hasFooter: false
38
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
  }
@@ -266,10 +284,11 @@ function useDesignSave() {
266
284
  name: pageInfo.value.name,
267
285
  version: pageInfo.value.version,
268
286
  default: pageInfo.value.default,
269
- key: pageInfo.value.key
287
+ key: pageInfo.value.key,
288
+ logId: (pageDesignHistoryList.value[0] ?? {}).id
270
289
  });
271
290
  savePageJsonSnapshot(pageInfo.value.txnPageMode === "create" ? _designerJson : _detailDesignerJson);
272
- if (showSuccess) _gct.message.success(flag ? "sys.saveSuccess" : "sys.recoverSuccess");
291
+ if (showSuccess) _gct.message.success(flag ? t("sys.saveSuccess") : t("sys.recoverSuccess"));
273
292
  cancelOccupy();
274
293
  noMore.value = false;
275
294
  pageNo.value = 1;
@@ -289,12 +308,14 @@ function useDesignSave() {
289
308
  pageInfo.value._designerJson = JSON.stringify(_designerJson);
290
309
  await _api.apaas.detailPage.putUpdateDesignerJsonId({ id: pageId }, {
291
310
  designerJson: JSON.stringify(_designerJson),
292
- runtimeJson: JSON.stringify(runtimeJson),
311
+ description: pageInfo.value.description,
293
312
  key: pageInfo.value.key,
294
313
  name: pageInfo.value.name,
295
- description: pageInfo.value.description
314
+ logId: (pageDesignHistoryList.value[0] ?? {}).id,
315
+ runtimeJson: JSON.stringify(runtimeJson)
296
316
  });
297
- if (showSuccess) _gct.message.success(flag ? "sys.saveSuccess" : "sys.recoverSuccess");
317
+ savePageJsonSnapshot();
318
+ if (showSuccess) _gct.message.success(flag ? t("sys.saveSuccess") : t("sys.recoverSuccess"));
298
319
  cancelOccupy();
299
320
  noMore.value = false;
300
321
  pageNo.value = 1;
@@ -6,9 +6,9 @@ export declare function useGlobal(): {
6
6
  updateInfo: (id: string, data: AppGlobalSettingsRequest) => Promise<void>;
7
7
  addInfo: (data: AppGlobalSettingsRequest) => Promise<void>;
8
8
  deleteInfo: (ids: string) => Promise<void>;
9
- queryGModal: (fullInfo?: boolean) => Promise<void>;
10
- queryGVar: (fullInfo?: boolean) => Promise<void>;
11
- queryGEvent: (fullInfo?: boolean) => Promise<void>;
9
+ queryGModal: (fullInfo?: boolean, configObj?: Record<string, string>) => Promise<void>;
10
+ queryGVar: (fullInfo?: boolean, configObj?: Record<string, string>) => Promise<void>;
11
+ queryGEvent: (fullInfo?: boolean, configObj?: Record<string, string>) => Promise<void>;
12
12
  gVar: import('vue').Ref<{
13
13
  id: string;
14
14
  key: string;
@@ -8,11 +8,16 @@ var gModal = ref([]);
8
8
  /**全局事件 */
9
9
  var gEvent = ref([]);
10
10
  function useGlobal() {
11
- async function queryGModal(fullInfo = false) {
12
- gModal.value = (await _api.apaas.appGlobalSettings.getList({
11
+ async function queryGModal(fullInfo = false, configObj) {
12
+ let queryObj = {
13
13
  type: GLOBAL_TYPE.MODAL,
14
14
  fullInfo
15
- }))?.map((modal) => {
15
+ };
16
+ if (configObj) queryObj = {
17
+ ...queryObj,
18
+ ...configObj
19
+ };
20
+ gModal.value = (await _api.apaas.appGlobalSettings.getList(queryObj))?.map((modal) => {
16
21
  return {
17
22
  id: modal.id,
18
23
  name: modal.name,
@@ -21,11 +26,16 @@ function useGlobal() {
21
26
  };
22
27
  }) || [];
23
28
  }
24
- async function queryGVar(fullInfo = true) {
25
- gVar.value = (await _api.apaas.appGlobalSettings.getList({
29
+ async function queryGVar(fullInfo = true, configObj) {
30
+ let queryObj = {
26
31
  type: GLOBAL_TYPE.VAR,
27
32
  fullInfo
28
- }))?.map((variable) => {
33
+ };
34
+ if (configObj) queryObj = {
35
+ ...queryObj,
36
+ ...configObj
37
+ };
38
+ gVar.value = (await _api.apaas.appGlobalSettings.getList(queryObj))?.map((variable) => {
29
39
  return {
30
40
  id: variable.id,
31
41
  key: variable.key,
@@ -33,11 +43,16 @@ function useGlobal() {
33
43
  };
34
44
  }) || [];
35
45
  }
36
- async function queryGEvent(fullInfo = false) {
37
- gEvent.value = (await _api.apaas.appGlobalSettings.getList({
46
+ async function queryGEvent(fullInfo = false, configObj) {
47
+ let queryObj = {
38
48
  type: GLOBAL_TYPE.EVENT,
39
49
  fullInfo
40
- }))?.map((event) => {
50
+ };
51
+ if (configObj) queryObj = {
52
+ ...queryObj,
53
+ ...configObj
54
+ };
55
+ gEvent.value = (await _api.apaas.appGlobalSettings.getList(queryObj))?.map((event) => {
41
56
  return {
42
57
  id: event.id,
43
58
  key: event.key,
@@ -156,14 +156,13 @@ 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,
164
164
  CategoryTypeEnum.LAYOUT,
165
- CategoryTypeEnum.DATA,
166
- CategoryTypeEnum.KIT
165
+ CategoryTypeEnum.DATA
167
166
  ];
168
167
  return [
169
168
  CategoryTypeEnum.FORM,
@@ -54,7 +54,7 @@ export declare function toggleTxnPageInfo(mode: 'create' | 'detail'): Promise<vo
54
54
  /**
55
55
  * 初始化界面占用信息
56
56
  */
57
- declare function initLockState(): void;
57
+ declare function initLockState(type?: string): void;
58
58
  /**
59
59
  * 更新页面锁定状态
60
60
  * @param {boolean} value
@@ -121,31 +121,32 @@ async function loadTxnPageInfo(app) {
121
121
  const { setPageJson, loadPageDesignHistoryList, emitCache, pageJson, setPluginConfigs, savePageJsonSnapshot } = useDesigner();
122
122
  const { historyUtils } = useCacheHistory();
123
123
  platform.value = _gct.store.context.platform || Platform.WEB;
124
- const baseid = _gct.store.context.baseid || "";
125
124
  const pid = _gct.store.context.pid || "";
126
- if (baseid) {
127
- const res = await _api.apaas.transaction.getGetVersionById({ id: baseid });
128
- pageInfo.value = {
125
+ if (pid.startsWith("___new___")) {
126
+ const baseid = _gct.store.context.baseid || "";
127
+ if (baseid) {
128
+ const res = await _api.apaas.transaction.getGetVersionById({ id: baseid });
129
+ pageInfo.value = {
130
+ id: newKeyTag,
131
+ name: res.name,
132
+ key: res.key,
133
+ modelKey: res.modelKey,
134
+ designerJson: "",
135
+ _designerJson: "",
136
+ detailDesignerJson: "",
137
+ txnPageMode: "create",
138
+ baseId: baseid
139
+ };
140
+ } else pageInfo.value = {
129
141
  id: newKeyTag,
130
- name: res.name,
131
- key: res.key,
132
- modelKey: res.modelKey,
142
+ name: "",
143
+ key: pid.replace(`${newKeyTag}:`, ""),
133
144
  designerJson: "",
134
145
  _designerJson: "",
135
146
  detailDesignerJson: "",
136
- txnPageMode: "create",
137
- baseId: baseid
147
+ txnPageMode: "create"
138
148
  };
139
- } else if (pid.startsWith("___new___")) pageInfo.value = {
140
- id: newKeyTag,
141
- name: "",
142
- key: pid.replace(`${newKeyTag}:`, ""),
143
- designerJson: "",
144
- _designerJson: "",
145
- detailDesignerJson: "",
146
- txnPageMode: "create"
147
- };
148
- else {
149
+ } else {
149
150
  const pageInfoRes = await _api.apaas.transaction.getInfo({ id: _gct.store.context.pid });
150
151
  pageInfo.value = pageInfoRes;
151
152
  pageInfo.value._designerJson = pageInfoRes.designerJson;
@@ -208,8 +209,8 @@ async function loadTxnPageInfo(app) {
208
209
  loadPageDesignHistoryList();
209
210
  pagePermissions.value = await _api.apaas.permission.getList({ relationId: _gct.store.context.pid }) || [];
210
211
  if (!pid.startsWith("___new___")) initLockState();
211
- pageJson.pageConfig.unitType = "%";
212
- pageJson.pageConfig.pageWidth = 80;
212
+ pageJson.pageConfig.unitType = pageJson.pageConfig.unitType || "%";
213
+ pageJson.pageConfig.pageWidth = pageJson.pageConfig.pageWidth || 80;
213
214
  savePageJsonSnapshot();
214
215
  }
215
216
  /**
@@ -279,10 +280,10 @@ async function loadDetailPageInfo(app) {
279
280
  initToolkitWidgets();
280
281
  loadPageDesignHistoryList();
281
282
  pagePermissions.value = await _api.apaas.permission.getList({ relationId: _gct.store.context.pid }) || [];
282
- if (!pid.startsWith("___new___")) initLockState();
283
- pageJson.pageConfig.title = pageJson.pageConfig.title || "详情";
284
- pageJson.pageConfig.unitType = "%";
285
- pageJson.pageConfig.pageWidth = 80;
283
+ if (!pid.startsWith("___new___")) initLockState("detail_page");
284
+ pageJson.pageConfig.title = pageJson.pageConfig.title || t("sys.detail");
285
+ pageJson.pageConfig.unitType = pageJson.pageConfig.unitType || "%";
286
+ pageJson.pageConfig.pageWidth = pageJson.pageConfig.pageWidth || 80;
286
287
  savePageJsonSnapshot();
287
288
  }
288
289
  /**
@@ -312,13 +313,15 @@ async function toggleTxnPageInfo(mode) {
312
313
  /**
313
314
  * 初始化界面占用信息
314
315
  */
315
- function initLockState() {
316
- if (_gct.store.context.scene === ContextSceneEnum.TXN || _gct.store.context.scene === ContextSceneEnum.DETAIL) return;
316
+ function initLockState(type) {
317
+ if (_gct.store.context.scene === ContextSceneEnum.TXN) return;
317
318
  const { setLockInfo, initOccupy, loadOccupyInfo } = useUserOccupy();
318
- initOccupy({
319
+ const initData = {
319
320
  id: _gct.store.context.pid || "",
320
321
  type: (platform.value === Platform.WEB ? PageTypeEnum.WEB : platform.value === Platform.PAD ? PageTypeEnum.PAD : PageTypeEnum.MOBILE).toString()
321
- });
322
+ };
323
+ if (type) initData.type = type;
324
+ initOccupy(initData);
322
325
  loadOccupyInfo();
323
326
  setLockInfo({
324
327
  id: pageInfo.value?.lockUserId,
@@ -1096,7 +1096,6 @@ export declare function useDesigner(): {
1096
1096
  handleAddDrag: (newIndex: number, childrenList: LowCodeWidget.BasicSchema[], scope: SCOPE, formID?: string) => void;
1097
1097
  setPageJson: (json: PageJson, hasFooter?: boolean) => Promise<void>;
1098
1098
  setTxnPageJson: (json: PageJson, hasFooter?: boolean) => Promise<void>;
1099
- setDetailPageJson: (json: PageJson, hasFooter?: boolean) => Promise<void>;
1100
1099
  save: (flag?: boolean, showSuccess?: boolean, scene?: string) => Promise<boolean>;
1101
1100
  savePageJsonSnapshot: (json?: PageJson) => void;
1102
1101
  emitCache: () => void;
@@ -56,16 +56,6 @@ function useDesigner() {
56
56
  if (!pageJson.pageConfig.pageWidth) pageJson.pageConfig.pageWidth = 80;
57
57
  cache.emitCache();
58
58
  }
59
- async function setDetailPageJson(json, hasFooter = false) {
60
- pageJson.pageConfig.hasFooter = hasFooter || platform.value === Platform.MOBILE || platform.value === Platform.PAD;
61
- Object.assign(pageJson, defaultPageJson, json);
62
- initMethodMap(pageJson.js).then((map) => {
63
- methodMap.value = map;
64
- });
65
- if (!pageJson.pageConfig.unitType) pageJson.pageConfig.unitType = "%";
66
- if (!pageJson.pageConfig.pageWidth) pageJson.pageConfig.pageWidth = 80;
67
- cache.emitCache();
68
- }
69
59
  /** 检查是否可以拖拽进入的方法,比如某些组件不能拖到某些组件内 */
70
60
  function checkWidgetMove() {
71
61
  return true;
@@ -87,7 +77,6 @@ function useDesigner() {
87
77
  handleAddDrag,
88
78
  setPageJson,
89
79
  setTxnPageJson,
90
- setDetailPageJson,
91
80
  save: saveHook.save,
92
81
  savePageJsonSnapshot: saveHook.savePageJsonSnapshot,
93
82
  emitCache: cache.emitCache,
@@ -55,8 +55,8 @@ function useWidget(props) {
55
55
  });
56
56
  const widgetdesigner = designRegister.value.getProvider(widget.type)?.designerConfig || {};
57
57
  const hideMaskValue = computed(() => {
58
- if (typeof widgetdesigner[widget.type]?.hideMask === "function") return widgetdesigner[widget.type].hideMask(widget);
59
- return widgetdesigner[widget.type]?.hideMask;
58
+ if (typeof widgetdesigner.hideMask === "function") return widgetdesigner.hideMask(widget);
59
+ return widgetdesigner.hideMask;
60
60
  });
61
61
  return {
62
62
  isWidgetSelected,
@@ -20,5 +20,6 @@ declare const _default: {
20
20
  sureToLock: string;
21
21
  saveText: string;
22
22
  nextStep: string;
23
+ detail: string;
23
24
  };
24
25
  export default _default;
package/es/locale/sys.mjs CHANGED
@@ -20,7 +20,8 @@ var sys_default = {
20
20
  recoverSuccess: "版本恢复成功",
21
21
  sureToLock: "你确定要锁定吗?",
22
22
  saveText: "保存",
23
- nextStep: "下一步"
23
+ nextStep: "下一步",
24
+ detail: "详情"
24
25
  };
25
26
  //#endregion
26
27
  export { sys_exports };
@@ -118,7 +118,7 @@ var explainEditor = [{
118
118
  formItemStyle: { marginBottom: "12px" },
119
119
  group: PropGroup.FIELD_CONFIG,
120
120
  hidden: (widget) => {
121
- if (_gct.store.context.scene === ContextSceneEnum.DETAIL) return true;
121
+ if (widget.props.hiddenInDetail) return true;
122
122
  if (widget.props.bindFieldKey || widget.props.fieldReadonly) return true;
123
123
  if ((widget.materialType === MaterialEnum.MaterialFormField || widget.materialType === MaterialEnum.MaterialSubTableModalField) && widget.platform === Platform.PAD) return true;
124
124
  return widget.platform !== Platform.WEB && widget.platform !== Platform.PAD;
@@ -162,8 +162,8 @@ var validatorEditor = [{
162
162
  label: "sys.pageDesigner.closeValidator",
163
163
  group: PropGroup.FIELD_CONFIG,
164
164
  formField: true,
165
- hidden() {
166
- return _gct.store.context.scene === ContextSceneEnum.DETAIL;
165
+ hidden(widget) {
166
+ return widget.props.hiddenInDetail;
167
167
  }
168
168
  }];
169
169
  /** 下拉列表、单选、多选公共config */
@@ -1,5 +1,5 @@
1
1
  import { hiddenButtonProps } from "./button-props-func.mjs";
2
- import { ASSIGNMENTSTRATEGY_ENUM, ContextSceneEnum, Dependency_ENUM, FIELD_TYPE, FormComponents, MaterialEnum, Platform, PropGroup } from "@gct-paas/core";
2
+ import { ASSIGNMENTSTRATEGY_ENUM, Dependency_ENUM, FIELD_TYPE, FormComponents, MaterialEnum, Platform, PropGroup } from "@gct-paas/core";
3
3
  import { padVTableSupportEditFieldTypes } from "@gct-paas/schema";
4
4
  //#region src/schema/common-config/display-editor-config.ts
5
5
  var displayProps = {
@@ -66,7 +66,7 @@ var displayEditor = [
66
66
  label: "sys.pageDesigner.deviceConnectivity",
67
67
  group: PropGroup.FIELD_CONFIG,
68
68
  hidden: (widget) => {
69
- return widget.platform !== Platform.WEB || ![MaterialEnum.MaterialFormField].includes(widget.materialType) || !deviceFields.includes(widget.props.fieldType) || widget.props.fieldReadonly || _gct.store.context.scene === ContextSceneEnum.DETAIL;
69
+ return widget.platform !== Platform.WEB || ![MaterialEnum.MaterialFormField].includes(widget.materialType) || !deviceFields.includes(widget.props.fieldType) || widget.props.fieldReadonly || widget.props.hiddenInDetail;
70
70
  }
71
71
  }
72
72
  ];
@@ -1,7 +1,7 @@
1
1
  import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
2
2
  import { widget as widget$1 } from "./modal-body.mjs";
3
3
  import { widget as widget$2 } from "./modal-footer.mjs";
4
- import { BuiltinType, Platform, PropGroup, StyleGroup, buildShortUUID } from "@gct-paas/core";
4
+ import { BuiltinType, ContextSceneEnum, Platform, PropGroup, StyleGroup } from "@gct-paas/core";
5
5
  //#region src/schema/modal/modal.ts
6
6
  var modal_exports = /* @__PURE__ */ __exportAll({
7
7
  beforeCreate: () => beforeCreate,
@@ -145,7 +145,7 @@ var propEditorList = [
145
145
  label: "sys.pageDesigner.operateButton",
146
146
  group: PropGroup.BUTTON,
147
147
  hidden: (widget) => {
148
- return widget.props.isSubTableModal;
148
+ return widget.props.isSubTableModal || _gct.store.context.scene === ContextSceneEnum.DETAIL;
149
149
  }
150
150
  }
151
151
  ];
@@ -166,8 +166,7 @@ var eventList = [{
166
166
  }];
167
167
  var runCallback = () => {};
168
168
  var beforeCreate = (widget) => {
169
- widget.children[0].id = buildShortUUID(widget.children[0].type);
170
- widget.children[1].id = buildShortUUID(widget.children[1].type);
169
+ if (_gct.store.context.scene === ContextSceneEnum.DETAIL) widget.props.hasFooter = false;
171
170
  };
172
171
  var designerConfig = { basicProps: {
173
172
  key_label: "弹窗",
package/es/setup-app.mjs CHANGED
@@ -4,7 +4,13 @@ import "./utils/index.mjs";
4
4
  import { registerDesignLocale } from "./locale/auto-register.mjs";
5
5
  import { HttpUtil } from "@gct-paas/api";
6
6
  //#region src/setup-app.ts
7
+ var designSetupAppKey = Symbol.for("@gct-paas/design/setupApp");
7
8
  async function designSetupApp(_app) {
9
+ if (Reflect.get(window, designSetupAppKey)) {
10
+ console.error("@gct-paas/design designSetupApp 已执行,请勿重复调用。");
11
+ return;
12
+ }
13
+ Reflect.set(window, designSetupAppKey, true);
8
14
  registerDesignLocale();
9
15
  onWidgetInfoInit();
10
16
  HttpUtil.use(designInterceptors);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/design",
3
- "version": "6.0.0-dev.2",
3
+ "version": "6.0.0-dev.21",
4
4
  "type": "module",
5
5
  "description": "paas 平台设计界面底包",
6
6
  "loader": "dist/loader.esm.min.js",
@@ -34,7 +34,7 @@
34
34
  "@ant-design/icons-vue": "^7.0.1",
35
35
  "@babel/core": "^7.29.0",
36
36
  "@babel/standalone": "^7.29.2",
37
- "@gct-paas/api": "^6.0.0-dev.2",
37
+ "@gct-paas/api": "^6.0.0-dev.9",
38
38
  "@jsplumb/browser-ui": "^6.2.10",
39
39
  "@vueuse/core": "^14.1.0",
40
40
  "ant-design-vue": "npm:@gct-paas/ant-design-vue@3.2.21",
@@ -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-web": "6.0.0-dev.2",
55
- "@gct-paas/core": "6.0.0-dev.2",
56
- "@gct-paas/schema": "6.0.0-dev.2",
57
- "@gct-paas/scss": "6.0.0-dev.2"
54
+ "@gct-paas/core": "6.0.0-dev.21",
55
+ "@gct-paas/core-web": "6.0.0-dev.21",
56
+ "@gct-paas/schema": "6.0.0-dev.21",
57
+ "@gct-paas/scss": "6.0.0-dev.21"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/babel__core": "^7.20.5",
@@ -62,12 +62,12 @@
62
62
  "@types/estraverse": "^5.1.7"
63
63
  },
64
64
  "peerDependencies": {
65
- "@gct-paas/api": "^6.0.0-dev.2",
65
+ "@gct-paas/api": "^6.0.0-dev.9",
66
66
  "vue": ">=3",
67
- "@gct-paas/core": "6.0.0-dev.2",
68
- "@gct-paas/core-web": "6.0.0-dev.2",
69
- "@gct-paas/scss": "6.0.0-dev.2",
70
- "@gct-paas/schema": "6.0.0-dev.2"
67
+ "@gct-paas/core": "6.0.0-dev.21",
68
+ "@gct-paas/schema": "6.0.0-dev.21",
69
+ "@gct-paas/core-web": "6.0.0-dev.21",
70
+ "@gct-paas/scss": "6.0.0-dev.21"
71
71
  },
72
72
  "scripts": {
73
73
  "dev": "cross-env NODE_ENV=development vite build --watch --config vite.dev.config.ts",