@kp-ui/lowcode 2.16.0-alpha.8 → 2.16.0
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/install.js +19 -21
- package/install.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FormRender/FormContainer.vue.js +25 -27
- package/src/components/FormRender/FormContainer.vue.js.map +1 -1
- package/src/components/FormRender/useFormContext.js +56 -56
- package/src/components/FormRender/useFormContext.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +11 -9
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +65 -53
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/useField.js +111 -115
- package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue.js +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js +16 -18
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/height-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js +29 -18
- package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js.map +1 -1
- package/src/components/form-designer/widget-panel/basicFields/input.js +4 -2
- package/src/components/form-designer/widget-panel/basicFields/input.js.map +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue.js +3 -3
- package/src/components/form-render/container-items/data-table-widget.vue2.js +5 -7
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-render/dynamic-dialog.vue.js +63 -62
- package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
- package/src/components/public/ConfigView/CustomPageRender.vue.js +35 -27
- package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -1
- package/src/components/public/CustomerModal/CustomerModal.vue2.js +63 -56
- package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
- package/src/lang/en-US.js +1 -0
- package/src/lang/en-US.js.map +1 -1
- package/src/lang/zh-CN.js +1 -0
- package/src/lang/zh-CN.js.map +1 -1
- package/src/utils/format.js +18 -11
- package/src/utils/format.js.map +1 -1
- package/src/utils/util.js +12 -22
- package/src/utils/util.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +1 -1
- package/src/components/form-render/SubmitButtonRender.vue.js +0 -92
- package/src/components/form-render/SubmitButtonRender.vue.js.map +0 -1
- package/src/components/form-render/SubmitButtonRender.vue2.js +0 -5
- package/src/components/form-render/SubmitButtonRender.vue2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n\nimport { useI18n } from '@/utils/i18n';\nimport { WidgetProps } from './useContainerWidget';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n TpfDelConfirm\n} from 'tmgc2-share';\nimport { useDataHttp } from '@/hooks/useDataHttp';\nimport { message } from 'ant-design-vue';\ntype useTableWidgetProps = {\n props: WidgetProps;\n fieldModel: Ref<any>;\n};\n\nexport function useTableWidget<T>({ props, fieldModel }: useTableWidgetProps) {\n const tableRef = ref<VxeGridInstance>();\n const isLoading = ref(false);\n const { widget } = props;\n const { i18nt } = useI18n();\n const { executeFunction, context } = useExecFunction();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n const { rowSelection, showIndex, tableColumns = [] } = widget?.options ?? {};\n if (rowSelection?.hasRowSelection) {\n leftFixedColumns.push({\n title: rowSelection.columnTitle,\n width: rowSelection.columnWidth,\n align: 'left',\n fixed: 'left',\n dataIndex: 'checkbox',\n type: 'checkbox'\n });\n }\n if (showIndex) {\n leftFixedColumns.push({\n title: i18nt('designer.setting.seq'),\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n dataIndex: 'seq',\n resizable: true,\n type: 'seq'\n });\n }\n\n const centerColumns = tableColumns\n .filter(item => item.show)\n .map(item => {\n // titleSuffix: ),\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false\n };\n });\n const rightFixedColumns: any[] = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n slots: {\n default: scope => {\n return h(ActionButtonListRender, {\n buttonList: operationButtons,\n flex: 'center',\n scope: scope,\n ctx: context.value,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n });\n }\n }\n });\n }\n\n // 把customRender渲染成 bodyCell 插槽\n const _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns];\n\n return tranformAntTableColumnToVxetableColumn(_columns);\n });\n\n // 处理列配置\n const handleColumnItem = item => {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n\n return {\n ...res,\n slots: {\n default(scope) {\n const com = executeFunction({\n source: props.field.options.name,\n functionBody: customRenderFn,\n params: {\n index: scope.rowIndex,\n record: scope.row,\n ...scope\n },\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n\n return h(\n 'div',\n {\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n },\n [com]\n );\n }\n }\n };\n };\n\n const tableWidth = computed(() => widget.options.tableWidth);\n const tableSize = computed(() => widget.options.tableSize);\n\n const onSortChange = () => {\n initTableSoureData();\n };\n\n const rowKey = computed(() => widget.options.rowKey);\n\n const tableProps = computed<ImeTableProps>(() => {\n const {\n tableSize,\n rowKey,\n tableHeight = 300,\n border = false,\n lineHeight = 50,\n colorRow = false,\n showPagination = true\n } = widget.options;\n\n return {\n showPagination,\n size: tranformAntSizzVxetableSize(tableSize),\n height: tableHeight,\n border: border ?? false,\n data: fieldModel.value || [],\n columns: columns.value,\n sortConfig: {\n trigger: 'cell',\n remote: true,\n orders: ['ascend', 'descend', null]\n },\n rowConfig: {\n keyField: rowKey,\n isCurrent: colorRow,\n isHover: true\n },\n checkboxConfig: {\n isShiftKey: true,\n checkMethod: data => {\n return executeFunction({\n functionBody: widget.options.rowSelection?.checkMethod,\n params: data,\n keys: ['row']\n });\n }\n },\n cellConfig: {\n height: lineHeight\n }\n } as ImeTableProps;\n });\n\n const setTableRef = _tableRef => {\n tableRef.value = _tableRef;\n };\n\n const initTableSoureData = async () => {\n if (props.field.options.dsEnabled) {\n isLoading.value = true;\n try {\n const data = await loadataSource();\n const tableData = data.list || [];\n fieldModel.value = cloneDeep(tableData || []);\n setPagination(data);\n } catch (error) {\n console.error(error);\n }\n } else {\n fieldModel.value = widget.options.dataSource || [];\n setPagination({\n total: widget.options.dataSource?.length || 0\n });\n }\n isLoading.value = false;\n };\n\n type EventType = 'onDblclick' | 'onMouseenter' | 'onMouseleave' | 'onClick';\n const onRunEvent = ({ row, $event }: any, type: EventType) => {\n executeFunction({\n functionBody: widget.options.customRow[type],\n params: [row, $event],\n keys: ['record', 'event']\n });\n };\n\n const setTableData = (data: T[]) => {\n setValue(data);\n };\n\n const handleTableChange = ({ sorts }) => {\n const fn = widget.options.onTableChange;\n if (fn) {\n executeFunction({\n functionBody: fn,\n params: {\n pagination: getPagination(),\n currentDataSource: getDataSource(),\n sorter: sorts\n },\n keys: ['pagination', 'sorter', 'currentDataSource']\n });\n }\n };\n\n // 选中 checkbox回调\n const onCheckboxChange = (selectedRowInfo: any) => {\n executeFunction({\n functionBody: widget.options.rowSelection.onChange,\n keys: ['selectedRowKeys', 'selectedRows'],\n params: selectedRowInfo\n });\n };\n\n const getDataSource = () => {\n return fieldModel.value;\n };\n\n const insertTableValue = (data: T) => {\n if (!fieldModel.value) {\n fieldModel.value = [];\n }\n fieldModel.value.push(cloneDeep(data));\n };\n\n const setValue = (data: T[]) => {\n if (!isArray(data)) {\n return console.error('表格数据类型错误');\n }\n fieldModel.value = cloneDeep(data);\n };\n\n const getTableColumns = () => {\n return props.field.options.tableColumns;\n };\n\n const setTableColumns = (data: any[]) => {\n props.field.options.tableColumns = data;\n };\n\n const delSelectRow = async delKeys => {\n if (!delKeys.length) return;\n try {\n await TpfDelConfirm({ content: i18nt('确定删除选中的数据吗') });\n const newList = fieldModel.value.filter(item => !delKeys?.includes(item[rowKey.value]));\n setValue(newList);\n message.success(i18nt('操作成功'));\n } catch {}\n };\n\n const tableDefinExpoed = {\n delSelectRow,\n getTableColumns,\n setTableColumns,\n setValue,\n insertTableValue,\n setPagination,\n getDataSource,\n getPagination,\n initTableSoureData\n };\n\n watch(\n () => props.field.options.dsEnabled,\n () => {\n initTableSoureData();\n }\n );\n\n return {\n rowKey,\n onCheckboxChange,\n tableDefinExpoed,\n onSortChange,\n pagintion,\n setPagination,\n getPagination,\n handleTableChange,\n setTableData,\n showPagination: computed(() => !!props.field.options.showPagination),\n onRunEvent,\n isLoading,\n initTableSoureData,\n setTableRef,\n tableSize,\n tableWidth,\n tableProps,\n tableRef\n };\n}\n"],"names":["useTableWidget","props","fieldModel","tableRef","ref","isLoading","widget","i18nt","useI18n","executeFunction","context","useExecFunction","loadataSource","setPagination","getPagination","pagintion","useDataHttp","columns","computed","leftFixedColumns","optins","rowSelection","showIndex","tableColumns","centerColumns","item","handleColumnItem","rightFixedColumns","operationButtons","scope","h","ActionButtonListRender","e","_columns","tranformAntTableColumnToVxetableColumn","res","omit","customRenderFn","com","error","tableWidth","tableSize","onSortChange","initTableSoureData","rowKey","tableProps","tableHeight","border","lineHeight","colorRow","showPagination","tranformAntSizzVxetableSize","data","_a","setTableRef","_tableRef","tableData","cloneDeep","onRunEvent","row","$event","type","setTableData","setValue","handleTableChange","sorts","fn","getDataSource","onCheckboxChange","selectedRowInfo","insertTableValue","isArray","tableDefinExpoed","delKeys","TpfDelConfirm","newList","message","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n\nimport { useI18n } from '@/utils/i18n';\nimport { WidgetProps } from './useContainerWidget';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n TpfDelConfirm\n} from 'tmgc2-share';\nimport { useDataHttp } from '@/hooks/useDataHttp';\nimport { message, Space } from 'ant-design-vue';\ntype useTableWidgetProps = {\n props: WidgetProps;\n fieldModel: Ref<any>;\n};\n\nexport function useTableWidget<T>({ props, fieldModel }: useTableWidgetProps) {\n const tableRef = ref<VxeGridInstance>();\n const isLoading = ref(false);\n const { widget } = props;\n const { i18nt } = useI18n();\n const { executeFunction, context } = useExecFunction();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n const { rowSelection, showIndex, tableColumns = [] } = widget?.options ?? {};\n if (rowSelection?.hasRowSelection) {\n leftFixedColumns.push({\n title: rowSelection.columnTitle,\n width: rowSelection.columnWidth,\n align: 'left',\n fixed: 'left',\n dataIndex: 'checkbox',\n type: 'checkbox'\n });\n }\n if (showIndex) {\n leftFixedColumns.push({\n title: i18nt('designer.setting.seq'),\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n dataIndex: 'seq',\n resizable: true,\n type: 'seq'\n });\n }\n\n const centerColumns = tableColumns\n .filter(item => item.show)\n .map(item => {\n // titleSuffix: ),\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false\n };\n });\n const rightFixedColumns: any[] = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n slots: {\n default: scope => {\n return h(ActionButtonListRender, {\n buttonList: operationButtons,\n flex: 'center',\n scope: scope,\n ctx: context.value,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n });\n }\n }\n });\n }\n\n // 把customRender渲染成 bodyCell 插槽\n const _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns];\n\n return tranformAntTableColumnToVxetableColumn(_columns);\n });\n\n // 处理列配置\n const handleColumnItem = item => {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n\n return {\n ...res,\n slots: {\n default(scope) {\n const Com = executeFunction({\n source: props.field.options.name,\n functionBody: customRenderFn,\n params: {\n index: scope.rowIndex,\n record: scope.row,\n ...scope\n },\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n return h(\n Space,\n {\n align: 'center',\n size: 5,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n },\n Com\n );\n }\n }\n };\n };\n\n const tableWidth = computed(() => widget.options.tableWidth);\n const tableSize = computed(() => widget.options.tableSize);\n\n const onSortChange = () => {\n initTableSoureData();\n };\n\n const rowKey = computed(() => widget.options.rowKey);\n\n const tableProps = computed<ImeTableProps>(() => {\n const {\n tableSize,\n rowKey,\n tableHeight = 300,\n border = false,\n lineHeight = 50,\n colorRow = false,\n showPagination = true\n } = widget.options;\n\n return {\n showPagination,\n size: tranformAntSizzVxetableSize(tableSize),\n height: tableHeight,\n border: border ?? false,\n data: fieldModel.value || [],\n columns: columns.value,\n sortConfig: {\n trigger: 'cell',\n remote: true,\n orders: ['ascend', 'descend', null]\n },\n rowConfig: {\n keyField: rowKey,\n isCurrent: colorRow,\n isHover: true\n },\n checkboxConfig: {\n isShiftKey: true,\n checkMethod: data => {\n return executeFunction({\n functionBody: widget.options.rowSelection?.checkMethod,\n params: data,\n keys: ['row']\n });\n }\n },\n cellConfig: {\n height: lineHeight\n }\n } as ImeTableProps;\n });\n\n const setTableRef = _tableRef => {\n tableRef.value = _tableRef;\n };\n\n const initTableSoureData = async () => {\n if (props.field.options.dsEnabled) {\n isLoading.value = true;\n try {\n const data = await loadataSource();\n const tableData = data.list || [];\n fieldModel.value = cloneDeep(tableData || []);\n setPagination(data);\n } catch (error) {\n console.error(error);\n }\n } else {\n fieldModel.value = widget.options.dataSource || [];\n setPagination({\n total: widget.options.dataSource?.length || 0\n });\n }\n isLoading.value = false;\n };\n\n type EventType = 'onDblclick' | 'onMouseenter' | 'onMouseleave' | 'onClick';\n const onRunEvent = ({ row, $event }: any, type: EventType) => {\n executeFunction({\n functionBody: widget.options.customRow[type],\n params: [row, $event],\n keys: ['record', 'event']\n });\n };\n\n const setTableData = (data: T[]) => {\n setValue(data);\n };\n\n const handleTableChange = ({ sorts }) => {\n const fn = widget.options.onTableChange;\n if (fn) {\n executeFunction({\n functionBody: fn,\n params: {\n pagination: getPagination(),\n currentDataSource: getDataSource(),\n sorter: sorts\n },\n keys: ['pagination', 'sorter', 'currentDataSource']\n });\n }\n };\n\n // 选中 checkbox回调\n const onCheckboxChange = (selectedRowInfo: any) => {\n executeFunction({\n functionBody: widget.options.rowSelection.onChange,\n keys: ['selectedRowKeys', 'selectedRows'],\n params: selectedRowInfo\n });\n };\n\n const getDataSource = () => {\n return fieldModel.value;\n };\n\n const insertTableValue = (data: T) => {\n if (!fieldModel.value) {\n fieldModel.value = [];\n }\n fieldModel.value.push(cloneDeep(data));\n };\n\n const setValue = (data: T[]) => {\n if (!isArray(data)) {\n return console.error('表格数据类型错误');\n }\n fieldModel.value = cloneDeep(data);\n };\n\n const getTableColumns = () => {\n return props.field.options.tableColumns;\n };\n\n const setTableColumns = (data: any[]) => {\n props.field.options.tableColumns = data;\n };\n\n const delSelectRow = async delKeys => {\n if (!delKeys.length) return;\n try {\n await TpfDelConfirm({ content: i18nt('确定删除选中的数据吗') });\n const newList = fieldModel.value.filter(item => !delKeys?.includes(item[rowKey.value]));\n setValue(newList);\n message.success(i18nt('操作成功'));\n } catch {}\n };\n\n const tableDefinExpoed = {\n delSelectRow,\n getTableColumns,\n setTableColumns,\n setValue,\n insertTableValue,\n setPagination,\n getDataSource,\n getPagination,\n initTableSoureData\n };\n\n watch(\n () => props.field.options.dsEnabled,\n () => {\n initTableSoureData();\n }\n );\n\n return {\n rowKey,\n onCheckboxChange,\n tableDefinExpoed,\n onSortChange,\n pagintion,\n setPagination,\n getPagination,\n handleTableChange,\n setTableData,\n showPagination: computed(() => !!props.field.options.showPagination),\n onRunEvent,\n isLoading,\n initTableSoureData,\n setTableRef,\n tableSize,\n tableWidth,\n tableProps,\n tableRef\n };\n}\n"],"names":["useTableWidget","props","fieldModel","tableRef","ref","isLoading","widget","i18nt","useI18n","executeFunction","context","useExecFunction","loadataSource","setPagination","getPagination","pagintion","useDataHttp","columns","computed","leftFixedColumns","optins","rowSelection","showIndex","tableColumns","centerColumns","item","handleColumnItem","rightFixedColumns","operationButtons","scope","h","ActionButtonListRender","e","_columns","tranformAntTableColumnToVxetableColumn","res","omit","customRenderFn","Com","error","Space","tableWidth","tableSize","onSortChange","initTableSoureData","rowKey","tableProps","tableHeight","border","lineHeight","colorRow","showPagination","tranformAntSizzVxetableSize","data","_a","setTableRef","_tableRef","tableData","cloneDeep","onRunEvent","row","$event","type","setTableData","setValue","handleTableChange","sorts","fn","getDataSource","onCheckboxChange","selectedRowInfo","insertTableValue","isArray","tableDefinExpoed","delKeys","TpfDelConfirm","newList","message","watch"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./form-item-wrapper.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-c58d226f"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { defineComponent as B, inject as
|
|
1
|
+
import { defineComponent as B, inject as C, computed as n, resolveComponent as O, createElementBlock as r, openBlock as a, withModifiers as R, normalizeClass as I, unref as i, createVNode as d, createBlock as V, createCommentVNode as w, withCtx as p, renderSlot as D, createElementVNode as c, Fragment as h, toDisplayString as b, normalizeProps as E, mergeProps as H } from "vue";
|
|
2
2
|
import { SvgIcon as W } from "tmgc2-share";
|
|
3
|
-
import "
|
|
4
|
-
import { useContainerWidget as H } from "../container-widget/useContainerWidget.js";
|
|
3
|
+
import { useContainerWidget as T } from "../container-widget/useContainerWidget.js";
|
|
5
4
|
import { FormItem as $ } from "ant-design-vue";
|
|
6
5
|
import { useDesigner as j } from "../useFormDesigner.js";
|
|
7
6
|
import M from "../widgetAction.vue.js";
|
|
@@ -36,65 +35,78 @@ const q = {
|
|
|
36
35
|
subFormRowId: {},
|
|
37
36
|
subFormColIndex: {}
|
|
38
37
|
},
|
|
39
|
-
setup(
|
|
40
|
-
const l =
|
|
41
|
-
formConfig:
|
|
42
|
-
designState:
|
|
43
|
-
} = j(),
|
|
44
|
-
var e, t, o,
|
|
45
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? 0 : (
|
|
46
|
-
}),
|
|
47
|
-
var e, t, o,
|
|
48
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? "" : (
|
|
49
|
-
}),
|
|
38
|
+
setup(_) {
|
|
39
|
+
const l = _, g = C("getSubFormName", () => ""), v = C("getSubFormFieldFlag", () => !1), {
|
|
40
|
+
formConfig: f,
|
|
41
|
+
designState: u
|
|
42
|
+
} = j(), k = n(() => {
|
|
43
|
+
var e, t, o, s, F;
|
|
44
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? 0 : (s = (o = l.field) == null ? void 0 : o.options) != null && s.labelWidth ? l.field.options.labelWidth : (F = f.value) == null ? void 0 : F.labelWidth;
|
|
45
|
+
}), m = n(() => {
|
|
46
|
+
var e, t, o, s;
|
|
47
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? "" : (s = (o = l.field) == null ? void 0 : o.options) == null ? void 0 : s.label;
|
|
48
|
+
}), z = n(() => {
|
|
50
49
|
var e, t, o;
|
|
51
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelAlign ? l.field.options.labelAlign : ((o =
|
|
52
|
-
}),
|
|
50
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelAlign ? l.field.options.labelAlign : ((o = f.value) == null ? void 0 : o.labelAlign) || "right";
|
|
51
|
+
}), P = n(() => () => g ? g() : ""), S = n(() => {
|
|
53
52
|
var e, t, o;
|
|
54
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.size ? l.field.options.size : ((o =
|
|
55
|
-
}),
|
|
56
|
-
customClass:
|
|
53
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.size ? l.field.options.size : ((o = f.value) == null ? void 0 : o.size) || "middle";
|
|
54
|
+
}), y = n(() => v ? v() : !1), A = n(() => y.value && !u ? P.value + "." + l.subFormRowIndex + "." + l.field.options.name : l.field.options.name), {
|
|
55
|
+
customClass: N,
|
|
57
56
|
selected: x,
|
|
58
57
|
selectWidget: L
|
|
59
|
-
} =
|
|
58
|
+
} = T({
|
|
60
59
|
widget: l.field,
|
|
61
60
|
parentWidget: l.parentWidget,
|
|
62
61
|
indexOfParentList: l.indexOfParentList
|
|
63
62
|
});
|
|
64
|
-
return (e, t) =>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"field-wrapper
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
63
|
+
return (e, t) => {
|
|
64
|
+
const o = O("a-tooltip");
|
|
65
|
+
return a(), r("div", {
|
|
66
|
+
class: I(["field-wrapper", {
|
|
67
|
+
"design-time-bottom-margin": i(u),
|
|
68
|
+
"field-wrapper-widget": i(u),
|
|
69
|
+
selected: i(x)
|
|
70
|
+
}]),
|
|
71
|
+
onClick: t[0] || (t[0] = R((s) => i(L)(e.field), ["stop"]))
|
|
72
|
+
}, [d(i($), {
|
|
73
|
+
labelCol: {
|
|
74
|
+
style: {
|
|
75
|
+
width: k.value + "px"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
title: m.value,
|
|
79
|
+
size: S.value,
|
|
80
|
+
rules: e.rules,
|
|
81
|
+
name: A.value,
|
|
82
|
+
labelAlign: z.value,
|
|
83
|
+
class: I([i(N)])
|
|
84
|
+
}, {
|
|
85
|
+
label: p(() => [c("div", q, [e.field.options.labelIconClass ? (a(), r("span", G, [e.field.options.labelIconPosition === "front" ? (a(), r(h, {
|
|
86
|
+
key: 0
|
|
87
|
+
}, [d(o, {
|
|
88
|
+
title: e.field.options.labelIconTooltip
|
|
89
|
+
}, {
|
|
90
|
+
default: p(() => [d(i(W), {
|
|
91
|
+
"icon-class": e.field.options.labelIconClass
|
|
92
|
+
}, null, 8, ["icon-class"])]),
|
|
93
|
+
_: 1
|
|
94
|
+
}, 8, ["title"]), c("div", J, b(m.value), 1)], 64)) : e.field.options.labelIconPosition === "rear" ? (a(), r(h, {
|
|
95
|
+
key: 1
|
|
96
|
+
}, [c("div", K, b(m.value), 1), d(o, {
|
|
97
|
+
title: e.field.options.labelIconTooltip
|
|
98
|
+
}, {
|
|
99
|
+
default: p(() => [d(i(W), {
|
|
100
|
+
"icon-class": e.field.options.labelIconClass
|
|
101
|
+
}, null, 8, ["icon-class"])]),
|
|
102
|
+
_: 1
|
|
103
|
+
}, 8, ["title"])], 64)) : w("", !0)])) : (a(), r("div", Q, b(m.value), 1))])]),
|
|
104
|
+
default: p(() => [D(e.$slots, "default", {}, void 0, !0)]),
|
|
105
|
+
_: 3
|
|
106
|
+
}, 8, ["labelCol", "title", "size", "rules", "name", "labelAlign", "class"]), i(u) ? (a(), V(M, E(H({
|
|
85
107
|
key: 0
|
|
86
|
-
},
|
|
87
|
-
|
|
88
|
-
}, null, 8, ["icon-class"]), p("div", J, c(u.value), 1)], 64)) : e.field.options.labelIconPosition === "rear" ? (n(), a(I, {
|
|
89
|
-
key: 1
|
|
90
|
-
}, [p("div", K, c(u.value), 1), f(i(W), {
|
|
91
|
-
"icon-class": e.field.options.labelIconClass
|
|
92
|
-
}, null, 8, ["icon-class"])], 64)) : w("", !0)])) : (n(), a("div", Q, c(u.value), 1))])]),
|
|
93
|
-
default: h(() => [V(e.$slots, "default", {}, void 0, !0)]),
|
|
94
|
-
_: 3
|
|
95
|
-
}, 8, ["labelCol", "title", "size", "rules", "name", "labelAlign", "class"]), i(d) ? (n(), R(M, D(E({
|
|
96
|
-
key: 0
|
|
97
|
-
}, l)), null, 16)) : w("", !0)], 2));
|
|
108
|
+
}, l)), null, 16)) : w("", !0)], 2);
|
|
109
|
+
};
|
|
98
110
|
}
|
|
99
111
|
});
|
|
100
112
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-wrapper.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{\n 'design-time-bottom-margin': designState,\n 'field-wrapper-widget': designState,\n selected: selected\n }\"\n @click.stop=\"selectWidget(field)\"\n >\n <FormItem\n :labelCol=\"{ style: { width: labelWidth + 'px' } }\"\n :title=\"label\"\n :size=\"size\"\n :rules=\"rules\"\n :name=\"getPropName\"\n :labelAlign=\"labelAlign\"\n :class=\"[customClass]\"\n >\n <template #label>\n <div class=\"label-box\">\n <span v-if=\"!!field.options.labelIconClass\" class=\"custom-label\">\n <template v-if=\"field.options.labelIconPosition === 'front'\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n <template v-else-if=\"field.options.labelIconPosition === 'rear'\">\n <div class=\"label-text\">\n {{ label }}\n </div>\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </template>\n </span>\n <template v-else>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n </div>\n </template>\n <slot></slot>\n </FormItem>\n\n <WidgetAction v-bind=\"props\" v-if=\"designState\" />\n </div>\n</template>\n\n<script lang=\"tsx\" setup>\n import { SvgIcon } from 'tmgc2-share';\n import { useI18n } from '@/utils/i18n';\n import { FieldProps } from './useField';\n import { computed, inject } from 'vue';\n import { useContainerWidget } from '../container-widget/useContainerWidget';\n import { FormItem } from 'ant-design-vue';\n import { useDesigner } from '@/components/form-designer/form-widget/useFormDesigner';\n import WidgetAction from '../widgetAction.vue';\n defineOptions({\n name: 'form-item-wrapper'\n });\n const { i18nt, i18n2t } = useI18n();\n\n interface FormItemWrapperProps extends FieldProps {\n rules?: Array<any>;\n }\n const props = withDefaults(defineProps<FormItemWrapperProps>(), {\n parentWidget: null,\n indexOfParentList: 0\n });\n const getSubFormName = inject('getSubFormName', () => '');\n const getSubFormFieldFlag = inject('getSubFormFieldFlag', () => false);\n\n const { formConfig, designer, designState } = useDesigner();\n\n const labelWidth = computed(() => {\n if (props.field?.options?.labelHidden) {\n return 0;\n }\n\n if (props.field?.options?.labelWidth) {\n return props.field.options.labelWidth;\n }\n\n return formConfig.value?.labelWidth;\n });\n\n const label = computed(() => {\n if (props.field?.options?.labelHidden) {\n return '';\n }\n return props.field?.options?.label;\n });\n\n const labelAlign = computed(() => {\n if (props.field?.options?.labelAlign) {\n return props.field.options.labelAlign;\n }\n return formConfig.value?.labelAlign || 'right';\n });\n\n const subFormName = computed(() => () => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const size = computed(() => {\n if (props.field?.options?.size) {\n return props.field.options.size;\n }\n return formConfig.value?.size || 'middle';\n });\n\n const subFormItemFlag = computed(() => {\n return getSubFormFieldFlag ? getSubFormFieldFlag() : false;\n });\n\n const getPropName = computed(() => {\n if (subFormItemFlag.value && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else return props.field.options.name;\n });\n\n const { customClass, selected, selectWidget } = useContainerWidget({\n widget: props.field,\n parentWidget: props.parentWidget,\n indexOfParentList: props.indexOfParentList\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n .field-wrapper-widget {\n min-height: 40px;\n padding: 5px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n &.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n .ant-form-item {\n margin-bottom: 0;\n }\n }\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n // background: var(--ant-primary-color);\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 3px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0;\n }\n }\n .ant-form-item {\n position: relative;\n\n :deep(.ant-form-item-label) {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n span.custom-label {\n display: flex;\n i {\n margin: 0 3px;\n }\n }\n\n /* 隐藏Chrome浏览器中el-input数字输入框右侧的上下调整小箭头 */\n :deep(.hide-spin-button) input::-webkit-outer-spin-button,\n :deep(.hide-spin-button) input::-webkit-inner-spin-button {\n -webkit-appearance: none !important;\n }\n }\n</style>\n"],"names":["props","__props","getSubFormName","inject","getSubFormFieldFlag","formConfig","designState","useDesigner","labelWidth","computed","field","options","labelHidden","value","label","labelAlign","subFormName","size","subFormItemFlag","getPropName","subFormRowIndex","name","customClass","selected","selectWidget","useContainerWidget","widget","parentWidget","indexOfParentList","_createElementBlock","class","_unref","onClick","_cache","_withModifiers","$event","_createVNode","FormItem","labelCol","title","rules","_createElementVNode","_hoisted_1","labelIconClass","_openBlock","_hoisted_2","labelIconPosition","_Fragment","key","SvgIcon","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_renderSlot","_ctx","$slots","undefined","_createBlock","WidgetAction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-item-wrapper.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{\n 'design-time-bottom-margin': designState,\n 'field-wrapper-widget': designState,\n selected: selected\n }\"\n @click.stop=\"selectWidget(field)\"\n >\n <FormItem\n :labelCol=\"{ style: { width: labelWidth + 'px' } }\"\n :title=\"label\"\n :size=\"size\"\n :rules=\"rules\"\n :name=\"getPropName\"\n :labelAlign=\"labelAlign\"\n :class=\"[customClass]\"\n >\n <template #label>\n <div class=\"label-box\">\n <span v-if=\"!!field.options.labelIconClass\" class=\"custom-label\">\n <template v-if=\"field.options.labelIconPosition === 'front'\">\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n <template v-else-if=\"field.options.labelIconPosition === 'rear'\">\n <div class=\"label-text\">\n {{ label }}\n </div>\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n </template>\n </span>\n <template v-else>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n </div>\n </template>\n <slot></slot>\n </FormItem>\n\n <WidgetAction v-bind=\"props\" v-if=\"designState\" />\n </div>\n</template>\n\n<script lang=\"tsx\" setup>\n import { SvgIcon } from 'tmgc2-share';\n import { FieldProps } from './useField';\n import { computed, inject } from 'vue';\n import { useContainerWidget } from '../container-widget/useContainerWidget';\n import { FormItem } from 'ant-design-vue';\n import { useDesigner } from '@/components/form-designer/form-widget/useFormDesigner';\n import WidgetAction from '../widgetAction.vue';\n defineOptions({\n name: 'form-item-wrapper'\n });\n\n interface FormItemWrapperProps extends FieldProps {\n rules?: Array<any>;\n }\n const props = withDefaults(defineProps<FormItemWrapperProps>(), {\n parentWidget: null,\n indexOfParentList: 0\n });\n const getSubFormName = inject('getSubFormName', () => '');\n const getSubFormFieldFlag = inject('getSubFormFieldFlag', () => false);\n\n const { formConfig, designer, designState } = useDesigner();\n\n const labelWidth = computed(() => {\n if (props.field?.options?.labelHidden) {\n return 0;\n }\n\n if (props.field?.options?.labelWidth) {\n return props.field.options.labelWidth;\n }\n\n return formConfig.value?.labelWidth;\n });\n\n const label = computed(() => {\n if (props.field?.options?.labelHidden) {\n return '';\n }\n return props.field?.options?.label;\n });\n\n const labelAlign = computed(() => {\n if (props.field?.options?.labelAlign) {\n return props.field.options.labelAlign;\n }\n return formConfig.value?.labelAlign || 'right';\n });\n\n const subFormName = computed(() => () => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const size = computed(() => {\n if (props.field?.options?.size) {\n return props.field.options.size;\n }\n return formConfig.value?.size || 'middle';\n });\n\n const subFormItemFlag = computed(() => {\n return getSubFormFieldFlag ? getSubFormFieldFlag() : false;\n });\n\n const getPropName = computed(() => {\n if (subFormItemFlag.value && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else return props.field.options.name;\n });\n\n const { customClass, selected, selectWidget } = useContainerWidget({\n widget: props.field,\n parentWidget: props.parentWidget,\n indexOfParentList: props.indexOfParentList\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n .field-wrapper-widget {\n min-height: 40px;\n padding: 5px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n &.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n .ant-form-item {\n margin-bottom: 0;\n }\n }\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n // background: var(--ant-primary-color);\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 3px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0;\n }\n }\n .ant-form-item {\n position: relative;\n\n :deep(.ant-form-item-label) {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n span.custom-label {\n display: flex;\n i {\n margin: 0 3px;\n }\n }\n\n /* 隐藏Chrome浏览器中el-input数字输入框右侧的上下调整小箭头 */\n :deep(.hide-spin-button) input::-webkit-outer-spin-button,\n :deep(.hide-spin-button) input::-webkit-inner-spin-button {\n -webkit-appearance: none !important;\n }\n }\n</style>\n"],"names":["props","__props","getSubFormName","inject","getSubFormFieldFlag","formConfig","designState","useDesigner","labelWidth","computed","field","options","labelHidden","value","label","labelAlign","subFormName","size","subFormItemFlag","getPropName","subFormRowIndex","name","customClass","selected","selectWidget","useContainerWidget","widget","parentWidget","indexOfParentList","_createElementBlock","class","_unref","onClick","_cache","_withModifiers","$event","_createVNode","FormItem","labelCol","title","rules","_createElementVNode","_hoisted_1","labelIconClass","_openBlock","_hoisted_2","labelIconPosition","_Fragment","key","_component_a_tooltip","labelIconTooltip","SvgIcon","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_renderSlot","_ctx","$slots","undefined","_createBlock","WidgetAction"],"mappings":"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"}
|