@kp-ui/lowcode-pc-v2 0.0.1
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.
- package/_virtual/_plugin-vue_export-helper.js +8 -0
- package/assets/styles/style.css +471 -0
- package/core/src/components/common/render/Debugger.js +7 -0
- package/core/src/components/common/render/Debugger.vue_vue_type_script_setup_true_lang.js +43 -0
- package/core/src/components/common/render/LowcodeRenderProvider.js +5 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue_vue_type_script_setup_true_lang.js +49 -0
- package/core/src/components/common/render/RenderWidgetList.js +5 -0
- package/core/src/components/common/render/RenderWidgetList.vue_vue_type_script_setup_true_lang.js +52 -0
- package/core/src/components/common/render/usePageContext.js +238 -0
- package/core/src/components/property-editor/propertyRegister.js +29 -0
- package/core/src/constants/EditorTypeEnum.js +9 -0
- package/core/src/constants/WidgetTypeEnum.js +15 -0
- package/core/src/constants/index.js +10 -0
- package/core/src/hooks/useAppRef.js +46 -0
- package/core/src/hooks/useFactoryRender.js +60 -0
- package/core/src/hooks/useField.js +430 -0
- package/core/src/hooks/useFieldRules.js +66 -0
- package/core/src/hooks/useLowcode.js +144 -0
- package/core/src/hooks/usePagination.js +23 -0
- package/core/src/hooks/useRemoteData.js +113 -0
- package/core/src/hooks/useSelect.js +137 -0
- package/core/src/hooks/useWebMCP.js +50 -0
- package/core/src/lang/en-US.js +658 -0
- package/core/src/lang/en-US_extension.js +23 -0
- package/core/src/lang/en-US_render.js +36 -0
- package/core/src/lang/zh-CN.js +717 -0
- package/core/src/lang/zh-CN_extension.js +18 -0
- package/core/src/lang/zh-CN_render.js +36 -0
- package/core/src/store/useTableColumnStore.js +37 -0
- package/core/src/utils/format.js +40 -0
- package/core/src/utils/getWidgetCompontent.js +27 -0
- package/core/src/utils/i18n.js +38 -0
- package/core/src/utils/smart-vue-i18n/index.js +79 -0
- package/core/src/utils/transformPx.js +9 -0
- package/core/src/utils/useEmitter.js +24 -0
- package/core/src/utils/util.js +61 -0
- package/install.js +16 -0
- package/package.json +39 -0
- package/src/components/public/ActionButtonListRender.js +51 -0
- package/src/components/public/ActionButtonListRender.vue_vue_type_script_lang.js +126 -0
- package/src/components/public/ConfigView/CustomPageRender.js +5 -0
- package/src/components/public/ConfigView/CustomPageRender.vue_vue_type_script_setup_true_lang.js +38 -0
- package/src/components/public/CustomerModal/CustomerModal.js +5 -0
- package/src/components/public/CustomerModal/CustomerModal.vue_vue_type_script_setup_true_lang.js +138 -0
- package/src/components/public/CustomerModal/useCustomerModal.js +23 -0
- package/src/components/public/DataTableColumnDialog.js +7 -0
- package/src/components/public/DataTableColumnDialog.vue_vue_type_script_setup_true_name_DataTableColumnDialog_lang.js +330 -0
- package/src/hooks/useTableWidget.js +317 -0
- package/src/render/index.js +7 -0
- package/src/render/index.vue_vue_type_script_setup_true_lang.js +69 -0
- package/src/schemas/defaults/field.js +72 -0
- package/src/widgets/advanced/code-editor/index.js +7 -0
- package/src/widgets/advanced/code-editor/index.vue_vue_type_script_setup_true_lang.js +45 -0
- package/src/widgets/advanced/code-editor/schema.js +26 -0
- package/src/widgets/advanced/custom-render/index.js +5 -0
- package/src/widgets/advanced/custom-render/index.vue_vue_type_script_setup_true_lang.js +54 -0
- package/src/widgets/advanced/custom-render/schema.js +19 -0
- package/src/widgets/advanced/data-table/index.js +7 -0
- package/src/widgets/advanced/data-table/index.vue_vue_type_script_setup_true_lang.js +132 -0
- package/src/widgets/advanced/data-table/schema.js +108 -0
- package/src/widgets/advanced/file-upload/index.js +7 -0
- package/src/widgets/advanced/file-upload/index.vue_vue_type_script_setup_true_lang.js +166 -0
- package/src/widgets/advanced/file-upload/schema.js +35 -0
- package/src/widgets/advanced/rich-editor/index.js +7 -0
- package/src/widgets/advanced/rich-editor/index.vue_vue_type_script_setup_true_lang.js +56 -0
- package/src/widgets/advanced/rich-editor/schema.js +28 -0
- package/src/widgets/advanced/tree/index.js +7 -0
- package/src/widgets/advanced/tree/index.vue_vue_type_script_setup_true_lang.js +74 -0
- package/src/widgets/advanced/tree/schema.js +28 -0
- package/src/widgets/advanced/tree-select/index.js +5 -0
- package/src/widgets/advanced/tree-select/index.vue_vue_type_script_setup_true_lang.js +100 -0
- package/src/widgets/advanced/tree-select/schema.js +34 -0
- package/src/widgets/base/button/index.js +5 -0
- package/src/widgets/base/button/index.vue_vue_type_script_setup_true_lang.js +42 -0
- package/src/widgets/base/button/schema.js +33 -0
- package/src/widgets/base/button-list/index.js +7 -0
- package/src/widgets/base/button-list/index.vue_vue_type_script_setup_true_lang.js +41 -0
- package/src/widgets/base/button-list/schema.js +29 -0
- package/src/widgets/base/cascader/index.js +5 -0
- package/src/widgets/base/cascader/index.vue_vue_type_script_setup_true_lang.js +65 -0
- package/src/widgets/base/cascader/schema.js +31 -0
- package/src/widgets/base/checkbox/index.js +5 -0
- package/src/widgets/base/checkbox/index.vue_vue_type_script_setup_true_lang.js +61 -0
- package/src/widgets/base/checkbox/schema.js +25 -0
- package/src/widgets/base/color/index.js +7 -0
- package/src/widgets/base/color/index.vue_vue_type_script_setup_true_lang.js +50 -0
- package/src/widgets/base/color/schema.js +22 -0
- package/src/widgets/base/date/index.js +5 -0
- package/src/widgets/base/date/index.vue_vue_type_script_setup_true_lang.js +43 -0
- package/src/widgets/base/date/schema.js +32 -0
- package/src/widgets/base/date-range/index.js +5 -0
- package/src/widgets/base/date-range/index.vue_vue_type_script_setup_true_lang.js +44 -0
- package/src/widgets/base/date-range/schema.js +32 -0
- package/src/widgets/base/divider/index.js +5 -0
- package/src/widgets/base/divider/index.vue_vue_type_script_setup_true_lang.js +40 -0
- package/src/widgets/base/divider/schema.js +26 -0
- package/src/widgets/base/html/index.js +7 -0
- package/src/widgets/base/html/index.vue_vue_type_script_setup_true_lang.js +33 -0
- package/src/widgets/base/html/schema.js +25 -0
- package/src/widgets/base/input/index.js +5 -0
- package/src/widgets/base/input/index.vue_vue_type_script_setup_true_lang.js +78 -0
- package/src/widgets/base/input/schema.js +37 -0
- package/src/widgets/base/number/index.js +5 -0
- package/src/widgets/base/number/index.vue_vue_type_script_setup_true_lang.js +52 -0
- package/src/widgets/base/number/schema.js +31 -0
- package/src/widgets/base/radio/index.js +5 -0
- package/src/widgets/base/radio/index.vue_vue_type_script_setup_true_lang.js +61 -0
- package/src/widgets/base/radio/schema.js +26 -0
- package/src/widgets/base/rate/index.js +5 -0
- package/src/widgets/base/rate/index.vue_vue_type_script_setup_true_lang.js +52 -0
- package/src/widgets/base/rate/schema.js +24 -0
- package/src/widgets/base/select/index.js +7 -0
- package/src/widgets/base/select/index.vue_vue_type_script_setup_true_lang.js +94 -0
- package/src/widgets/base/select/schema.js +34 -0
- package/src/widgets/base/slider/index.js +5 -0
- package/src/widgets/base/slider/index.vue_vue_type_script_setup_true_lang.js +37 -0
- package/src/widgets/base/slider/schema.js +26 -0
- package/src/widgets/base/static-text/index.js +7 -0
- package/src/widgets/base/static-text/index.vue_vue_type_script_setup_true_lang.js +24 -0
- package/src/widgets/base/static-text/schema.js +28 -0
- package/src/widgets/base/switch/index.js +5 -0
- package/src/widgets/base/switch/index.vue_vue_type_script_setup_true_lang.js +40 -0
- package/src/widgets/base/switch/schema.js +25 -0
- package/src/widgets/base/textarea/index.js +7 -0
- package/src/widgets/base/textarea/index.vue_vue_type_script_setup_true_lang.js +50 -0
- package/src/widgets/base/textarea/schema.js +30 -0
- package/src/widgets/base/time/index.js +7 -0
- package/src/widgets/base/time/index.vue_vue_type_script_setup_true_lang.js +47 -0
- package/src/widgets/base/time/schema.js +33 -0
- package/src/widgets/base/time-range/index.js +7 -0
- package/src/widgets/base/time-range/index.vue_vue_type_script_setup_true_lang.js +48 -0
- package/src/widgets/base/time-range/schema.js +31 -0
- package/src/widgets/containers/box/index-render.js +7 -0
- package/src/widgets/containers/box/index-render.vue_vue_type_script_setup_true_lang.js +39 -0
- package/src/widgets/containers/box/schema.js +29 -0
- package/src/widgets/containers/collapse/index-render.js +8 -0
- package/src/widgets/containers/collapse/index-render.vue_vue_type_script_setup_true_lang.js +49 -0
- package/src/widgets/containers/collapse/schema.js +25 -0
- package/src/widgets/containers/dialog/index-render.js +5 -0
- package/src/widgets/containers/dialog/index-render.vue_vue_type_script_setup_true_lang.js +107 -0
- package/src/widgets/containers/dialog/schema.js +38 -0
- package/src/widgets/containers/form/index-render.js +7 -0
- package/src/widgets/containers/form/index-render.vue_vue_type_script_setup_true_lang.js +46 -0
- package/src/widgets/containers/form/schema.js +33 -0
- package/src/widgets/containers/grid/index-render.js +7 -0
- package/src/widgets/containers/grid/index-render.vue_vue_type_script_setup_true_lang.js +56 -0
- package/src/widgets/containers/grid/schema.js +22 -0
- package/src/widgets/containers/grid-col/index-render.js +7 -0
- package/src/widgets/containers/grid-col/index-render.vue_vue_type_script_setup_true_lang.js +46 -0
- package/src/widgets/containers/grid-col/schema.js +27 -0
- package/src/widgets/containers/list/index-render.js +7 -0
- package/src/widgets/containers/list/index-render.vue_vue_type_script_setup_true_lang.js +189 -0
- package/src/widgets/containers/list/schema.js +46 -0
- package/src/widgets/containers/space/index-render.js +7 -0
- package/src/widgets/containers/space/index-render.vue_vue_type_script_setup_true_lang.js +57 -0
- package/src/widgets/containers/space/schema.js +25 -0
- package/src/widgets/containers/tab/index-render.js +5 -0
- package/src/widgets/containers/tab/index-render.vue_vue_type_script_setup_true_lang.js +81 -0
- package/src/widgets/containers/tab/schema.js +32 -0
- package/src/widgets/containers/tab-pane/index-render.js +5 -0
- package/src/widgets/containers/tab-pane/index-render.vue_vue_type_script_setup_true_lang.js +37 -0
- package/src/widgets/containers/tab-pane/schema.js +31 -0
- package/src/widgets/render.js +165 -0
- package/src/widgets/template/SecondaryPage/index-render.js +7 -0
- package/src/widgets/template/SecondaryPage/index-render.vue_vue_type_script_setup_true_lang.js +63 -0
- package/src/widgets/template/SecondaryPage/schema.js +68 -0
- package/src/widgets/widgetTypes.js +52 -0
- package/src/widgets/wrapper/form-item-wrapper.js +7 -0
- package/src/widgets/wrapper/form-item-wrapper.vue_vue_type_script_setup_true_lang.js +90 -0
- package/stats.html +4949 -0
- package/types/pc/install.d.ts +11 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region ../core/src/lang/zh-CN_extension.ts
|
|
2
|
+
var zh_CN_extension_default = { extension: {
|
|
3
|
+
widgetLabel: {
|
|
4
|
+
card: "卡片",
|
|
5
|
+
alert: "提示"
|
|
6
|
+
},
|
|
7
|
+
setting: {
|
|
8
|
+
alertType: "类型",
|
|
9
|
+
description: "辅助性文字",
|
|
10
|
+
closable: "是否可关闭",
|
|
11
|
+
closeText: "关闭按钮文字",
|
|
12
|
+
center: "文字居中",
|
|
13
|
+
showIcon: "显示图标",
|
|
14
|
+
effect: "显示效果"
|
|
15
|
+
}
|
|
16
|
+
} };
|
|
17
|
+
//#endregion
|
|
18
|
+
export { zh_CN_extension_default as default };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//#region ../core/src/lang/zh-CN_render.ts
|
|
2
|
+
var zh_CN_render_default = { render: { hint: {
|
|
3
|
+
prompt: "提示",
|
|
4
|
+
confirm: "确定",
|
|
5
|
+
cancel: "取消",
|
|
6
|
+
defaultActiveText: "是",
|
|
7
|
+
defaultInactiveText: "否",
|
|
8
|
+
selectPlaceholder: "请选择",
|
|
9
|
+
timePlaceholder: "选择时间",
|
|
10
|
+
startTimePlaceholder: "起始时间",
|
|
11
|
+
endTimePlaceholder: "截止时间",
|
|
12
|
+
datePlaceholder: "选择日期",
|
|
13
|
+
startDatePlaceholder: "起始日期",
|
|
14
|
+
endDatePlaceholder: "截止日期",
|
|
15
|
+
blankCellContent: "--",
|
|
16
|
+
uploadError: "上传错误: ",
|
|
17
|
+
uploadExceed: "最大上传数量(${uploadLimit})已超出.",
|
|
18
|
+
unsupportedFileType: "不支持格式: ",
|
|
19
|
+
fileSizeExceed: "文件大小已超出: ",
|
|
20
|
+
refNotFound: "组件未找到: ",
|
|
21
|
+
fieldRequired: "字段值不可为空",
|
|
22
|
+
invalidNumber: "数据格式错误",
|
|
23
|
+
selectFile: " 选择文件",
|
|
24
|
+
downloadFile: "下载",
|
|
25
|
+
removeFile: "移除",
|
|
26
|
+
validationFailed: "表单数据校验失败",
|
|
27
|
+
subFormAction: "操作",
|
|
28
|
+
subFormAddAction: "新增",
|
|
29
|
+
subFormRowNo: "行号",
|
|
30
|
+
subFormAddActionHint: "新增行",
|
|
31
|
+
insertSubFormRow: "插入行",
|
|
32
|
+
deleteSubFormRow: "删除行",
|
|
33
|
+
nonSubFormType: "组件类型不是子表单"
|
|
34
|
+
} } };
|
|
35
|
+
//#endregion
|
|
36
|
+
export { zh_CN_render_default as default };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ref } from "vue";
|
|
2
|
+
import { defineStore } from "pinia";
|
|
3
|
+
//#region ../core/src/store/useTableColumnStore.ts
|
|
4
|
+
var useTableColumnStore = defineStore("TableColumnStore", () => {
|
|
5
|
+
const tableConfigs = ref({});
|
|
6
|
+
const getTableConfig = (tableId) => {
|
|
7
|
+
return tableConfigs.value[tableId];
|
|
8
|
+
};
|
|
9
|
+
const getColumnList = (tableId) => {
|
|
10
|
+
var _tableConfigs$value$t;
|
|
11
|
+
return ((_tableConfigs$value$t = tableConfigs.value[tableId]) === null || _tableConfigs$value$t === void 0 ? void 0 : _tableConfigs$value$t.columnList) || [];
|
|
12
|
+
};
|
|
13
|
+
const saveTableConfig = (tableId, config) => {
|
|
14
|
+
tableConfigs.value[tableId] = config;
|
|
15
|
+
};
|
|
16
|
+
const saveColumnList = (tableId, columnList) => {
|
|
17
|
+
if (!tableConfigs.value[tableId]) tableConfigs.value[tableId] = { columnList: [] };
|
|
18
|
+
tableConfigs.value[tableId].columnList = columnList;
|
|
19
|
+
};
|
|
20
|
+
const clearTableConfig = (tableId) => {
|
|
21
|
+
delete tableConfigs.value[tableId];
|
|
22
|
+
};
|
|
23
|
+
const hasTableConfig = (tableId) => {
|
|
24
|
+
return !!tableConfigs.value[tableId];
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
tableConfigs,
|
|
28
|
+
getTableConfig,
|
|
29
|
+
getColumnList,
|
|
30
|
+
saveTableConfig,
|
|
31
|
+
saveColumnList,
|
|
32
|
+
clearTableConfig,
|
|
33
|
+
hasTableConfig
|
|
34
|
+
};
|
|
35
|
+
}, { persist: true });
|
|
36
|
+
//#endregion
|
|
37
|
+
export { useTableColumnStore };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { isArray } from "lodash-es";
|
|
2
|
+
//#region ../core/src/utils/format.ts
|
|
3
|
+
/**
|
|
4
|
+
* 将Cascader转义为汉字
|
|
5
|
+
* @param arr 数据数组
|
|
6
|
+
* @param codeList 代码列表
|
|
7
|
+
* @param fieldNames 字段名称映射
|
|
8
|
+
* @param emblem 拼接符号
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
var formateCascaderCode = (arr = [], codeList, fieldNames = {
|
|
12
|
+
label: "label",
|
|
13
|
+
value: "value",
|
|
14
|
+
children: "children"
|
|
15
|
+
}, emblem = "/") => {
|
|
16
|
+
if (!codeList || codeList.length === 0) return;
|
|
17
|
+
if (isArray(codeList[0])) return codeList.map((item) => getTreeName(arr, item, fieldNames).join(emblem)).join(",");
|
|
18
|
+
else return getTreeName(arr, codeList, fieldNames).join(emblem);
|
|
19
|
+
};
|
|
20
|
+
var getTreeName = (list = [], val = [], fieldNames = {
|
|
21
|
+
label: "label",
|
|
22
|
+
value: "value",
|
|
23
|
+
children: "children"
|
|
24
|
+
}) => {
|
|
25
|
+
const nameList = [];
|
|
26
|
+
list.forEach((item) => {
|
|
27
|
+
if (val.length === 0) return;
|
|
28
|
+
if (item[fieldNames.value] === val[0]) {
|
|
29
|
+
nameList.push(item[fieldNames.label]);
|
|
30
|
+
const children = item[fieldNames.children];
|
|
31
|
+
if (isArray(children)) {
|
|
32
|
+
const res = getTreeName(children, val.slice(1), fieldNames);
|
|
33
|
+
nameList.push(...res);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return nameList;
|
|
38
|
+
};
|
|
39
|
+
//#endregion
|
|
40
|
+
export { formateCascaderCode };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { h } from "vue";
|
|
2
|
+
import { isArray } from "lodash-es";
|
|
3
|
+
//#region ../core/src/utils/getWidgetCompontent.ts
|
|
4
|
+
/**
|
|
5
|
+
* 获取并解析对应的 Vue 组件实例
|
|
6
|
+
* 根据当前组件类型和应用所处的状态(设计模式/运行模式),返回正确的 Vue 组件以供渲染。
|
|
7
|
+
*
|
|
8
|
+
* 组件降级渲染策略:
|
|
9
|
+
* 1. 默认组合基础、高级、容器组件映射表进行查找。
|
|
10
|
+
* 2. 如果当前处于「运行模式(非设计模式)」,且存在独立定义的渲染层组件(即组件名以 '-render' 结尾),则优先返回该渲染层组件。
|
|
11
|
+
* 3. 否则默认返回基础组件定义。
|
|
12
|
+
*
|
|
13
|
+
* @param widget Widget 组件的配置数据层对象,包含其标识 type
|
|
14
|
+
* @param designState 当前所处状态标记:true 为处于设计模式(在设计器内),false 为处于运行/预览模式
|
|
15
|
+
* @returns 对应的 Vue 组件定义 (Component)
|
|
16
|
+
*/
|
|
17
|
+
function getWidgetCompontent(widget, widgetList, designState) {
|
|
18
|
+
const widgetType = widget.type;
|
|
19
|
+
const currentWidget = widgetList.get(widgetType + "-widget");
|
|
20
|
+
if (currentWidget) {
|
|
21
|
+
if (isArray(currentWidget)) return designState ? currentWidget[0] : currentWidget[1];
|
|
22
|
+
return currentWidget;
|
|
23
|
+
}
|
|
24
|
+
return h("div", null, "暂无组件");
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { getWidgetCompontent };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createI18n } from "./smart-vue-i18n/index.js";
|
|
2
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
3
|
+
import { mapActions, mapState } from "pinia";
|
|
4
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
5
|
+
import { useLocaleStore } from "@kp-ui/i18n";
|
|
6
|
+
//#region ../core/src/utils/i18n.ts
|
|
7
|
+
var i18n = createI18n({ locale: "zh-CN" });
|
|
8
|
+
_objectSpread({}, mapState(useLocaleStore, ["getLocale"])), _objectSpread(_objectSpread({}, mapActions(useLocaleStore, ["setLocale"])), {}, {
|
|
9
|
+
changeLocale(langName) {
|
|
10
|
+
return _asyncToGenerator(function* () {
|
|
11
|
+
yield i18n.setLang(langName);
|
|
12
|
+
})();
|
|
13
|
+
},
|
|
14
|
+
i18nt(key) {
|
|
15
|
+
return i18n.$st(key);
|
|
16
|
+
},
|
|
17
|
+
i18n2t(key1, key2) {
|
|
18
|
+
return i18n.$st2(key1, key2);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
function useI18n$1() {
|
|
22
|
+
const i18nt = (key, obj) => {
|
|
23
|
+
return i18n.$st(key, obj);
|
|
24
|
+
};
|
|
25
|
+
const i18n2t = (key1, key2) => {
|
|
26
|
+
return i18n.$st2(key1, key2);
|
|
27
|
+
};
|
|
28
|
+
const initLocale = (locale) => {
|
|
29
|
+
i18n.setLang(locale);
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
i18nt,
|
|
33
|
+
i18n2t,
|
|
34
|
+
initLocale
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { useI18n$1 as useI18n };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { reactive } from "vue";
|
|
2
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
3
|
+
import { get, isObject } from "lodash-es";
|
|
4
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
5
|
+
//#region ../core/src/utils/smart-vue-i18n/index.ts
|
|
6
|
+
var locale = reactive({
|
|
7
|
+
lang: "zh-CN",
|
|
8
|
+
messages: {}
|
|
9
|
+
});
|
|
10
|
+
var langLoaders = {
|
|
11
|
+
"zh-CN": function() {
|
|
12
|
+
var _ref = _asyncToGenerator(function* () {
|
|
13
|
+
const [zhCN, zhLocale, zhLocale_render, zhLocale_extension] = yield Promise.all([
|
|
14
|
+
import("ant-design-vue/es/locale/zh_CN"),
|
|
15
|
+
import("../../lang/zh-CN.js"),
|
|
16
|
+
import("../../lang/zh-CN_render.js"),
|
|
17
|
+
import("../../lang/zh-CN_extension.js")
|
|
18
|
+
]);
|
|
19
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, zhCN.default), zhLocale.default), zhLocale_render.default), zhLocale_extension.default);
|
|
20
|
+
});
|
|
21
|
+
return function zhCN() {
|
|
22
|
+
return _ref.apply(this, arguments);
|
|
23
|
+
};
|
|
24
|
+
}(),
|
|
25
|
+
"en-US": function() {
|
|
26
|
+
var _ref2 = _asyncToGenerator(function* () {
|
|
27
|
+
const [enUS, enLocale, enLocale_render, enLocale_extension] = yield Promise.all([
|
|
28
|
+
import("ant-design-vue/es/locale/en_US"),
|
|
29
|
+
import("../../lang/en-US.js"),
|
|
30
|
+
import("../../lang/en-US_render.js"),
|
|
31
|
+
import("../../lang/en-US_extension.js")
|
|
32
|
+
]);
|
|
33
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, enUS.default), enLocale.default), enLocale_render.default), enLocale_extension.default);
|
|
34
|
+
});
|
|
35
|
+
return function enUS() {
|
|
36
|
+
return _ref2.apply(this, arguments);
|
|
37
|
+
};
|
|
38
|
+
}()
|
|
39
|
+
};
|
|
40
|
+
function createI18n(options) {
|
|
41
|
+
return {
|
|
42
|
+
get messages() {
|
|
43
|
+
return locale.messages;
|
|
44
|
+
},
|
|
45
|
+
$st(path, args) {
|
|
46
|
+
const message = get(this.messages[locale.lang], path);
|
|
47
|
+
if (isObject(args)) {
|
|
48
|
+
let result = "";
|
|
49
|
+
Object.entries(args).forEach(([key, value]) => {
|
|
50
|
+
result = message.replace(`{${key}}`, value);
|
|
51
|
+
});
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
if (typeof message === "undefined") return path;
|
|
55
|
+
return typeof message === "function" ? message(...args) : message !== null ? message : path;
|
|
56
|
+
},
|
|
57
|
+
$st2(path, path2) {
|
|
58
|
+
const messages = this.messages[locale.lang];
|
|
59
|
+
const message = get(messages, path);
|
|
60
|
+
return message !== null ? message : get(messages, path2);
|
|
61
|
+
},
|
|
62
|
+
setLang(lang) {
|
|
63
|
+
return _asyncToGenerator(function* () {
|
|
64
|
+
locale.lang = lang;
|
|
65
|
+
if (!(lang in locale.messages)) locale.messages[lang] = {};
|
|
66
|
+
if (lang in langLoaders) {
|
|
67
|
+
const messages = yield langLoaders[lang]();
|
|
68
|
+
locale.messages[lang] = messages;
|
|
69
|
+
}
|
|
70
|
+
locale.lang = lang;
|
|
71
|
+
})();
|
|
72
|
+
},
|
|
73
|
+
setLangMessages(lang, messages) {
|
|
74
|
+
locale.messages[lang] = _objectSpread(_objectSpread({}, locale.messages[lang]), messages);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { createI18n };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region ../core/src/utils/transformPx.ts
|
|
2
|
+
var transformPx = (px) => {
|
|
3
|
+
if (px === void 0 || px === null || px === "") return "unset";
|
|
4
|
+
if (typeof px === "number") return `${px}px`;
|
|
5
|
+
if (/^\d+$/.test(px)) return `${px}px`;
|
|
6
|
+
return px;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { transformPx };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import mitt from "mitt";
|
|
2
|
+
//#region ../core/src/utils/useEmitter.ts
|
|
3
|
+
var emitter = mitt();
|
|
4
|
+
var EVENT_TYPE = /* @__PURE__ */ function(EVENT_TYPE) {
|
|
5
|
+
EVENT_TYPE["ON_FIELD_DATA_CHANGE"] = "onFieldDataChange";
|
|
6
|
+
EVENT_TYPE["ON_CHANGE_EVENT_HANDLER"] = "onChangeEventHandler";
|
|
7
|
+
EVENT_TYPE["ON_FIELD_VALIDATION"] = "fieldValidation";
|
|
8
|
+
return EVENT_TYPE;
|
|
9
|
+
}({});
|
|
10
|
+
/**
|
|
11
|
+
* 组合式API版本的事件总线
|
|
12
|
+
* 用于组件间通信,使用 mitt 实现事件管理
|
|
13
|
+
*/
|
|
14
|
+
function useEmitter() {
|
|
15
|
+
const onChangeEditEventHandler = (params) => {
|
|
16
|
+
emitter.emit(EVENT_TYPE.ON_CHANGE_EVENT_HANDLER, params);
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
emitter,
|
|
20
|
+
onChangeEditEventHandler
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { EVENT_TYPE, useEmitter };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { isQiankunEnv } from "tmgc2-share";
|
|
2
|
+
import { cloneDeep } from "lodash-es";
|
|
3
|
+
import "clipboard";
|
|
4
|
+
import "@kp-ui/tool";
|
|
5
|
+
//#region ../core/src/utils/util.ts
|
|
6
|
+
var generateId = function() {
|
|
7
|
+
return Math.floor(Math.random() * 1e5 + Math.random() * 2e4 + Math.random() * 5e3);
|
|
8
|
+
};
|
|
9
|
+
var deepClone = function(origin) {
|
|
10
|
+
return cloneDeep(origin);
|
|
11
|
+
};
|
|
12
|
+
var insertCustomCssToHead = function(cssCode, formId = "") {
|
|
13
|
+
const styleId = formId ? "vform-custom-css-" + formId : "vform-custom-css";
|
|
14
|
+
const existingStyle = document.getElementById(styleId);
|
|
15
|
+
if (existingStyle) {
|
|
16
|
+
try {
|
|
17
|
+
existingStyle.textContent = cssCode;
|
|
18
|
+
} catch (_unused) {
|
|
19
|
+
existingStyle.styleSheet.cssText = cssCode;
|
|
20
|
+
}
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const head = document.getElementsByTagName("head")[0];
|
|
24
|
+
const newStyle = document.createElement("style");
|
|
25
|
+
newStyle.type = "text/css";
|
|
26
|
+
newStyle.id = styleId;
|
|
27
|
+
try {
|
|
28
|
+
newStyle.appendChild(document.createTextNode(cssCode));
|
|
29
|
+
} catch (_unused2) {
|
|
30
|
+
newStyle.styleSheet.cssText = cssCode;
|
|
31
|
+
}
|
|
32
|
+
head.appendChild(newStyle);
|
|
33
|
+
};
|
|
34
|
+
var removeCustomCssToHead = function(formId = "") {
|
|
35
|
+
const styleId = formId ? "vform-custom-css-" + formId : "vform-custom-css";
|
|
36
|
+
const existingStyle = document.getElementById(styleId);
|
|
37
|
+
if (existingStyle) existingStyle.remove();
|
|
38
|
+
};
|
|
39
|
+
var removeScriptToHead = function(formId = "") {
|
|
40
|
+
const scriptId = formId ? "v_form_global_functions-" + formId : "v_form_global_functions";
|
|
41
|
+
const existingScript = document.getElementById(scriptId);
|
|
42
|
+
if (existingScript) existingScript.remove();
|
|
43
|
+
};
|
|
44
|
+
var insertGlobalFunctionsToHtml = function(functionsCode, formId = "") {
|
|
45
|
+
if (isQiankunEnv()) {
|
|
46
|
+
try {
|
|
47
|
+
new Function(functionsCode).call(window);
|
|
48
|
+
} catch (e) {
|
|
49
|
+
console.error("Failed to execute global functions:", e);
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const bodyEle = document.getElementsByTagName("body")[0];
|
|
54
|
+
const newScriptEle = document.createElement("script");
|
|
55
|
+
newScriptEle.id = formId ? "v_form_global_functions-" + formId : "v_form_global_functions";
|
|
56
|
+
newScriptEle.type = "text/javascript";
|
|
57
|
+
newScriptEle.innerHTML = functionsCode;
|
|
58
|
+
bodyEle.appendChild(newScriptEle);
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { deepClone, generateId, insertCustomCssToHead, insertGlobalFunctionsToHtml, removeCustomCssToHead, removeScriptToHead };
|
package/install.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import render_default from "./src/render/index.js";
|
|
2
|
+
import CustomPageRender_default from "./src/components/public/ConfigView/CustomPageRender.js";
|
|
3
|
+
import "virtual:svg-icons-register";
|
|
4
|
+
import { VxeTooltip } from "vxe-pc-ui";
|
|
5
|
+
//#region install.ts
|
|
6
|
+
var createLowcode = ({ app, publicComponents }) => {
|
|
7
|
+
app.config.globalProperties.$publicComponents = publicComponents;
|
|
8
|
+
app.component("VxeTooltip", VxeTooltip);
|
|
9
|
+
app.config.globalProperties.$openLowcodeModal = (ops) => {
|
|
10
|
+
import("./src/components/public/CustomerModal/useCustomerModal.js").then(({ openCustomerModal }) => {
|
|
11
|
+
openCustomerModal(ops, app);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { CustomPageRender_default as CustomPageRender, render_default as VFormRender, createLowcode };
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@kp-ui/lowcode-pc-v2",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"registry": "https://registry.npmjs.org/"
|
|
7
|
+
},
|
|
8
|
+
"module": "index.js",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"vxe-pc-ui": "4.10.29",
|
|
11
|
+
"vxe-table": "4.17.18",
|
|
12
|
+
"vuedraggable": "^4.0.0",
|
|
13
|
+
"bpmn-js": "13.2.0",
|
|
14
|
+
"vue-json-viewer": "^3.0.1",
|
|
15
|
+
"ant-design-vue": "4.2.6",
|
|
16
|
+
"query-string": "^6.14.1",
|
|
17
|
+
"dayjs": "^1.11.7",
|
|
18
|
+
"@kp-ui/tool": "2.14.1",
|
|
19
|
+
"tailwindcss": "3.4.9",
|
|
20
|
+
"vue": "3.5.17",
|
|
21
|
+
"vue-echarts": "^8.0.1",
|
|
22
|
+
"file-saver": "^2.0.5",
|
|
23
|
+
"echarts": "^5.6.0"
|
|
24
|
+
},
|
|
25
|
+
"main": "index.js",
|
|
26
|
+
"types": "types/pc/install.d.ts",
|
|
27
|
+
"sideEffects": [
|
|
28
|
+
"./assets/styles/*",
|
|
29
|
+
"./_virtual/*"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"import": "./install.js",
|
|
34
|
+
"types": "./types/pc/install.d.ts"
|
|
35
|
+
},
|
|
36
|
+
"./style": "./assets/styles/style.css",
|
|
37
|
+
"./styles/*": "./assets/styles/*"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import ActionButtonListRender_vue_vue_type_script_lang_default from "./ActionButtonListRender.vue_vue_type_script_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { Fragment, Teleport, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, normalizeClass, normalizeStyle, openBlock, renderList, resolveComponent, toDisplayString, withCtx } from "vue";
|
|
5
|
+
//#region src/components/public/ActionButtonListRender.vue
|
|
6
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
7
|
+
const _component_SvgIcon = resolveComponent("SvgIcon");
|
|
8
|
+
const _component_a_button = resolveComponent("a-button");
|
|
9
|
+
const _component_a_space = resolveComponent("a-space");
|
|
10
|
+
return openBlock(), createElementBlock("div", {
|
|
11
|
+
ref: "fieldEditor",
|
|
12
|
+
class: normalizeClass(["button-list-container", ..._ctx.customClass]),
|
|
13
|
+
style: normalizeStyle(_ctx.containerStyle)
|
|
14
|
+
}, [(openBlock(), createBlock(Teleport, {
|
|
15
|
+
disabled: _ctx.isDisabled,
|
|
16
|
+
to: _ctx.getContainer
|
|
17
|
+
}, [createVNode(_component_a_space, { size: 8 }, {
|
|
18
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleButtons, (item) => {
|
|
19
|
+
return openBlock(), createBlock(_component_a_button, {
|
|
20
|
+
key: item.key,
|
|
21
|
+
type: item.type,
|
|
22
|
+
size: item.size,
|
|
23
|
+
danger: !!item.danger,
|
|
24
|
+
ghost: !!item.ghost,
|
|
25
|
+
class: "tpf-button",
|
|
26
|
+
loading: item.loading,
|
|
27
|
+
disabled: _ctx.handleDisabled(item) || _ctx.disabled || !!item.disabled,
|
|
28
|
+
onClick: ($event) => _ctx.handleClick(item)
|
|
29
|
+
}, {
|
|
30
|
+
default: withCtx(() => [item.icon ? (openBlock(), createBlock(_component_SvgIcon, {
|
|
31
|
+
key: 0,
|
|
32
|
+
"icon-class": item.icon,
|
|
33
|
+
class: "button-icon"
|
|
34
|
+
}, null, 8, ["icon-class"])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)]),
|
|
35
|
+
_: 2
|
|
36
|
+
}, 1032, [
|
|
37
|
+
"type",
|
|
38
|
+
"size",
|
|
39
|
+
"danger",
|
|
40
|
+
"ghost",
|
|
41
|
+
"loading",
|
|
42
|
+
"disabled",
|
|
43
|
+
"onClick"
|
|
44
|
+
]);
|
|
45
|
+
}), 128))]),
|
|
46
|
+
_: 1
|
|
47
|
+
})], 8, ["disabled", "to"]))], 6);
|
|
48
|
+
}
|
|
49
|
+
var ActionButtonListRender_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ActionButtonListRender_vue_vue_type_script_lang_default, [["render", _sfc_render], ["__scopeId", "data-v-37429548"]]);
|
|
50
|
+
//#endregion
|
|
51
|
+
export { ActionButtonListRender_default as default };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { ButtonPositionEnum } from "../../../core/src/constants/index.js";
|
|
2
|
+
import { computed, defineComponent } from "vue";
|
|
3
|
+
import { SvgIcon, useExecFunction } from "tmgc2-share";
|
|
4
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
5
|
+
//#region src/components/public/ActionButtonListRender.vue?vue&type=script&lang.ts
|
|
6
|
+
var ActionButtonListRender_vue_vue_type_script_lang_default = defineComponent({
|
|
7
|
+
name: "ActionButtonListRender",
|
|
8
|
+
components: { SvgIcon },
|
|
9
|
+
props: {
|
|
10
|
+
options: {
|
|
11
|
+
type: Object,
|
|
12
|
+
default: () => {}
|
|
13
|
+
},
|
|
14
|
+
disabled: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: false
|
|
17
|
+
},
|
|
18
|
+
scope: {
|
|
19
|
+
type: Object,
|
|
20
|
+
default: () => {}
|
|
21
|
+
},
|
|
22
|
+
ctx: {
|
|
23
|
+
type: Object,
|
|
24
|
+
default: () => {}
|
|
25
|
+
},
|
|
26
|
+
buttonList: {
|
|
27
|
+
type: Array,
|
|
28
|
+
default: () => []
|
|
29
|
+
},
|
|
30
|
+
customClass: {
|
|
31
|
+
type: Array,
|
|
32
|
+
default: () => []
|
|
33
|
+
},
|
|
34
|
+
flex: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: "center"
|
|
37
|
+
},
|
|
38
|
+
designState: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
emits: ["on-click"],
|
|
44
|
+
setup(props, { emit }) {
|
|
45
|
+
const containerStyle = computed(() => ({ "--flex": props.flex }));
|
|
46
|
+
const { executeFunction, asyncExecuteFunction } = useExecFunction();
|
|
47
|
+
const isDisabled = computed(() => {
|
|
48
|
+
var _props$options;
|
|
49
|
+
return ((_props$options = props.options) === null || _props$options === void 0 ? void 0 : _props$options.buttonPosition) !== ButtonPositionEnum.DIY || props.designState;
|
|
50
|
+
});
|
|
51
|
+
const getContainer = computed(() => {
|
|
52
|
+
var _props$options2;
|
|
53
|
+
return isDisabled.value ? "body" : ((_props$options2 = props.options) === null || _props$options2 === void 0 ? void 0 : _props$options2.getContainer) || "body";
|
|
54
|
+
});
|
|
55
|
+
const visibleButtons = computed(() => props.buttonList.filter((item) => item.hidden !== 1).filter((item) => !handleHidden(item)));
|
|
56
|
+
const handleClick = function() {
|
|
57
|
+
var _ref = _asyncToGenerator(function* (item) {
|
|
58
|
+
if (props.designState) return;
|
|
59
|
+
if (!item.onClick) {
|
|
60
|
+
emit("on-click", {
|
|
61
|
+
item,
|
|
62
|
+
result: true
|
|
63
|
+
});
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (item.loading) return;
|
|
67
|
+
item.loading = true;
|
|
68
|
+
try {
|
|
69
|
+
emit("on-click", {
|
|
70
|
+
item,
|
|
71
|
+
result: yield asyncExecuteFunction({
|
|
72
|
+
functionBody: item.onClick,
|
|
73
|
+
context: props.ctx,
|
|
74
|
+
params: props.scope
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.error("Button click handler error:", error);
|
|
79
|
+
} finally {
|
|
80
|
+
item.loading = false;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return function handleClick(_x) {
|
|
84
|
+
return _ref.apply(this, arguments);
|
|
85
|
+
};
|
|
86
|
+
}();
|
|
87
|
+
const handleDisabled = (item) => {
|
|
88
|
+
if (!item.onDisabled) return false;
|
|
89
|
+
try {
|
|
90
|
+
const result = executeFunction({
|
|
91
|
+
functionBody: item.onDisabled,
|
|
92
|
+
context: props.ctx,
|
|
93
|
+
params: props.scope
|
|
94
|
+
});
|
|
95
|
+
if (typeof result === "boolean") return result;
|
|
96
|
+
else return false;
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error("Button disabled handler error:", error);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const handleHidden = (item) => {
|
|
103
|
+
if (!item.onHidden) return false;
|
|
104
|
+
try {
|
|
105
|
+
return executeFunction({
|
|
106
|
+
functionBody: item.onHidden,
|
|
107
|
+
context: props.ctx,
|
|
108
|
+
params: props.scope
|
|
109
|
+
});
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.error("Button hidden handler error:", error);
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
getContainer,
|
|
117
|
+
isDisabled,
|
|
118
|
+
containerStyle,
|
|
119
|
+
visibleButtons,
|
|
120
|
+
handleClick,
|
|
121
|
+
handleDisabled
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//#endregion
|
|
126
|
+
export { ActionButtonListRender_vue_vue_type_script_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import CustomPageRender_vue_vue_type_script_setup_true_lang_default from "./CustomPageRender.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/public/ConfigView/CustomPageRender.vue
|
|
3
|
+
var CustomPageRender_default = CustomPageRender_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { CustomPageRender_default as default };
|
package/src/components/public/ConfigView/CustomPageRender.vue_vue_type_script_setup_true_lang.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useLowcode } from "../../../../core/src/hooks/useLowcode.js";
|
|
2
|
+
import render_default from "../../../render/index.js";
|
|
3
|
+
import { createElementBlock, createVNode, defineComponent, onMounted, openBlock, ref, unref } from "vue";
|
|
4
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
5
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
6
|
+
import { getLocat } from "@kp-ui/tool";
|
|
7
|
+
//#region src/components/public/ConfigView/CustomPageRender.vue?vue&type=script&setup=true&lang.tsx
|
|
8
|
+
var _hoisted_1 = { class: "t-bg-[#fff] t-h-full" };
|
|
9
|
+
var CustomPageRender_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "CustomPageRender",
|
|
11
|
+
props: { title: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: ""
|
|
14
|
+
} },
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { formCode = "", id = "", type = "edit" } = getLocat();
|
|
17
|
+
const anchorList = ref([]);
|
|
18
|
+
const setAnchorList = (list) => {
|
|
19
|
+
anchorList.value = list;
|
|
20
|
+
};
|
|
21
|
+
const { vfdRef, formConfig, getPageJson, goBack } = useLowcode();
|
|
22
|
+
onMounted(_asyncToGenerator(function* () {
|
|
23
|
+
yield getPageJson();
|
|
24
|
+
}));
|
|
25
|
+
return (_ctx, _cache) => {
|
|
26
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(render_default, {
|
|
27
|
+
ref_key: "vfdRef",
|
|
28
|
+
ref: vfdRef,
|
|
29
|
+
vfCtx: _objectSpread(_objectSpread({ _id: unref(id) }, unref(getLocat)()), {}, {
|
|
30
|
+
goBack: unref(goBack),
|
|
31
|
+
setAnchorList
|
|
32
|
+
})
|
|
33
|
+
}, null, 8, ["vfCtx"])]);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//#endregion
|
|
38
|
+
export { CustomPageRender_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import CustomerModal_vue_vue_type_script_setup_true_lang_default from "./CustomerModal.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/components/public/CustomerModal/CustomerModal.vue
|
|
3
|
+
var CustomerModal_default = CustomerModal_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { CustomerModal_default as default };
|