@kp-ui/lowcode-pc 1.0.0-alpha.9 → 1.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/assets/styles/style.css +189 -51
- package/core/src/components/common/render/Debugger.vue.js +1 -1
- package/core/src/components/common/render/Debugger.vue2.js +1 -1
- package/core/src/components/common/render/Debugger.vue2.js.map +1 -1
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js +10 -1
- package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -1
- package/core/src/components/common/render/useFormContext.js +3 -2
- package/core/src/components/common/render/useFormContext.js.map +1 -1
- package/core/src/constants/WidgetTypeEnum.js +1 -0
- package/core/src/constants/WidgetTypeEnum.js.map +1 -1
- package/core/src/hooks/useAppRef.js +1 -0
- package/core/src/hooks/useAppRef.js.map +1 -1
- package/core/src/hooks/useDataHttp.js +3 -3
- package/core/src/hooks/useDataHttp.js.map +1 -1
- package/core/src/hooks/useDesigner.js +3 -1
- package/core/src/hooks/useDesigner.js.map +1 -1
- package/core/src/hooks/useField.js +97 -64
- package/core/src/hooks/useField.js.map +1 -1
- package/core/src/hooks/useWebMCP.js +82 -0
- package/core/src/hooks/useWebMCP.js.map +1 -0
- package/core/src/lang/en-US.js +33 -0
- package/core/src/lang/en-US.js.map +1 -1
- package/core/src/lang/zh-CN.js +64 -11
- package/core/src/lang/zh-CN.js.map +1 -1
- package/install.js +1 -1
- package/install.js.map +1 -1
- package/package.json +1 -1
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +1 -1
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js +17 -3
- package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js +23 -5
- package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -1
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +1 -1
- package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js +0 -1
- package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
- package/src/components/desginer/widget-panel/advanced/data-table.js +2 -0
- package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -1
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js +5 -0
- package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -1
- package/src/components/desginer/widget-panel/containers/grid.js +1 -3
- package/src/components/desginer/widget-panel/containers/grid.js.map +1 -1
- package/src/components/field-widget/bpmn-editor-widget.vue.js +1 -1
- package/src/components/field-widget/bpmn-editor-widget.vue2.js +1 -1
- package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -1
- package/src/components/field-widget/button-list-widget.vue.js +1 -1
- package/src/components/field-widget/button-list-widget.vue2.js +1 -2
- package/src/components/field-widget/button-list-widget.vue2.js.map +1 -1
- package/src/components/field-widget/code-editor-widget.vue.js +1 -1
- package/src/components/field-widget/code-editor-widget.vue2.js +1 -1
- package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -1
- package/src/components/field-widget/divider-widget.vue2.js +1 -1
- package/src/components/field-widget/divider-widget.vue2.js.map +1 -1
- package/src/components/field-widget/diy-compontent-widget.vue2.js +1 -1
- package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -1
- package/src/components/field-widget/dropdown-widget.vue.js +1 -1
- package/src/components/field-widget/dropdown-widget.vue2.js +12 -20
- package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -1
- package/src/components/field-widget/file-upload-widget.vue.js +1 -1
- package/src/components/field-widget/file-upload-widget.vue2.js +12 -16
- package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -1
- package/src/components/field-widget/form-item-wrapper.vue.js +1 -1
- package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -1
- package/src/components/field-widget/number-widget.vue2.js +1 -1
- package/src/components/field-widget/number-widget.vue2.js.map +1 -1
- package/src/components/field-widget/radio-widget.vue.js +1 -1
- package/src/components/field-widget/radio-widget.vue2.js +5 -6
- package/src/components/field-widget/radio-widget.vue2.js.map +1 -1
- package/src/components/field-widget/rich-editor-widget.vue.js +1 -1
- package/src/components/field-widget/rich-editor-widget.vue2.js +1 -1
- package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -1
- package/src/components/field-widget/textarea-widget.vue.js +1 -1
- package/src/components/field-widget/textarea-widget.vue2.js +1 -1
- package/src/components/field-widget/textarea-widget.vue2.js.map +1 -1
- package/src/components/field-widget/treeSelect-widget.vue2.js +8 -9
- package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -1
- package/src/components/field-widget/vue-render-widget.vue2.js +1 -1
- package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue.js +1 -1
- package/src/components/form-render/container-items/data-table-widget.vue2.js +83 -4
- package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +1 -1
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +24 -5
- package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -1
- package/src/components/public/DataTableColumnDialog.vue.js +8 -0
- package/src/components/public/DataTableColumnDialog.vue.js.map +1 -0
- package/src/components/public/DataTableColumnDialog.vue2.js +333 -0
- package/src/components/public/DataTableColumnDialog.vue2.js.map +1 -0
- package/src/components/public/DynamicDialog.vue.js +0 -1
- package/src/components/public/DynamicDialog.vue.js.map +1 -1
- package/src/components/render/index.vue2.js +0 -1
- package/src/components/render/index.vue2.js.map +1 -1
- package/stats.html +1 -1
- package/core/src/utils/event-bus.js +0 -8
- package/core/src/utils/event-bus.js.map +0 -1
- package/src/components/field-widget/useField.js +0 -578
- package/src/components/field-widget/useField.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch, isVNode } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n\nimport { useDataHttp, useI18n, WidgetProps } from '@kp-ui/lowcode-core';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n CustomItemRender,\n TpfDelConfirm\n} from 'tmgc2-share';\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 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: widget?.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 if (isVNode(Com)) {\n return h(CustomItemRender, { is: Com });\n }\n return Com;\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 fieldModel.value = [];\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":["tableSize","rowKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch, isVNode } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n\nimport { useDataHttp, useI18n, WidgetProps } from '@kp-ui/lowcode-core';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n CustomItemRender,\n TpfDelConfirm\n} from 'tmgc2-share';\nimport { message } from 'ant-design-vue';\ntype useTableWidgetProps = {\n props: WidgetProps;\n fieldModel: Ref<any>;\n designState?: boolean;\n};\n\nexport function useTableWidget<T>({ props, fieldModel, designState = false }: 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 const showColumnManager = computed(() => widget?.options?.showColumnManager ?? false);\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.map(item => {\n // 确保每列都有 dataIndex/field,否则 storage 功能无法正常工作\n if (!item.dataIndex && !item.field) {\n console.warn(\n `[vxe-table] 列 \"${item.title}\" 缺少 dataIndex 属性,storage 功能可能无法正常工作`\n );\n }\n // 使用 hidden 属性控制列的隐藏(vxe-table 使用 hidden 而不是 visible)\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false,\n hidden: item.show === 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 dataIndex: 'action',\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: widget?.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 if (isVNode(Com)) {\n return h(CustomItemRender, { is: Com });\n }\n return Com;\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 id: widget.id,\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 customConfig: {\n // 启用 localStorage 本地保存列配置(列宽、冻结、顺序等)\n // 注意:启用 storage 时,所有列必须设置 dataIndex/field 属性,否则会出现错误\n // 特殊列类型(checkbox、seq)也需要设置 dataIndex,如:'checkbox'、'seq'\n storage: !designState\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 fieldModel.value = [];\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 showColumnManager,\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":["tableSize","rowKey"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./vf-box-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const vfBoxWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const vfBoxWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e857478a"]]);
|
|
5
5
|
export {
|
|
6
6
|
vfBoxWidget as default
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vf-box-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-box-widget.vue"],"sourcesContent":["<template>\n <div class=\"box-container\" v-if=\"!handleHidden\" :key=\"widget.id\" :style=\"boxStyle\">\n <RenderWidgetList\n v-model:list=\"widget.widgetList\"\n :parentWidget=\"widget\"\n :parentList=\"widget.widgetList\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, CSSProperties, ref } from 'vue';\n import {\n RenderWidgetList,\n ComponentNameEnum,\n ContainerTypeEnum,\n useField,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.VfBoxWidget,\n componentName: ComponentNameEnum.VfBoxWidget\n });\n\n const props = defineProps<WidgetProps>();\n const { handleHidden, defineExposed } = useField(props);\n\n const boxStyle = computed(() => {\n const boxModel = props.widget.options.boxModel || {};\n const style = {} as CSSProperties;\n\n if (props.widget.options.width) {\n style.width = '100%';\n style.height = '100%';\n }\n\n if (boxModel.borderShow) {\n style.borderRadius = `${boxModel.borderRadius}px`;\n style.border = `${boxModel.borderStyle} ${boxModel.borderWidth}px ${boxModel.borderColor}`;\n }\n\n // 设置内边距\n if (\n boxModel.paddingTop !== undefined ||\n boxModel.paddingRight !== undefined ||\n boxModel.paddingBottom !== undefined ||\n boxModel.paddingLeft !== undefined\n ) {\n style.padding = `${boxModel.paddingTop || 0}px ${boxModel.paddingRight || 0}px ${\n boxModel.paddingBottom || 0\n }px ${boxModel.paddingLeft || 0}px`;\n }\n\n // 设置外边距\n if (\n boxModel.marginTop !== undefined ||\n boxModel.marginRight !== undefined ||\n boxModel.marginBottom !== undefined ||\n boxModel.marginLeft !== undefined\n ) {\n style.margin = `${boxModel.marginTop || 0}px ${boxModel.marginRight || 0}px ${\n boxModel.marginBottom || 0\n }px ${boxModel.marginLeft || 0}px`;\n }\n\n // 设置背景颜色\n if (boxModel.backgroundColor) {\n style.backgroundColor = boxModel.backgroundColor;\n }\n\n // 设置阴影\n if (boxModel.shadowShow) {\n style.boxShadow = `${boxModel.shadowOffsetX || 0}px ${boxModel.shadowOffsetY || 0}px ${\n boxModel.shadowBlur || 0\n }px ${boxModel.shadowSpread || 0}px ${boxModel.shadowColor || 'rgba(0,0,0,0.2)'}`;\n }\n\n return style;\n });\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"less\" scoped>\n .box-container {\n width: 100%;\n position: relative;\n padding-bottom: 20px;\n display: flex;\n :deep(.designer-widget-list) {\n flex: 1;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","widget","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBI,UAAM,QAAQ;AACd,UAAM,EAAE,cAAc,kBAAkB,SAAS,KAAK;AAEtD,UAAM,WAAW,SAAS,MAAM;AAC5B,YAAM,WAAW,MAAM,OAAO,QAAQ,YAAY,CAAA;AAClD,YAAM,QAAQ,CAAA;AAEd,UAAI,MAAM,OAAO,QAAQ,OAAO;AAC5B,cAAM,QAAQ;AACd,cAAM,SAAS;AAAA,MACnB;AAEA,UAAI,SAAS,YAAY;AACrB,cAAM,eAAe,GAAG,SAAS,YAAY;AAC7C,cAAM,SAAS,GAAG,SAAS,WAAW,IAAI,SAAS,WAAW,MAAM,SAAS,WAAW;AAAA,MAC5F;AAGA,UACI,SAAS,eAAe,UACxB,SAAS,iBAAiB,UAC1B,SAAS,kBAAkB,UAC3B,SAAS,gBAAgB,QAC3B;AACE,cAAM,UAAU,GAAG,SAAS,cAAc,CAAC,MAAM,SAAS,gBAAgB,CAAC,MACvE,SAAS,iBAAiB,CAC9B,MAAM,SAAS,eAAe,CAAC;AAAA,MACnC;AAGA,UACI,SAAS,cAAc,UACvB,SAAS,gBAAgB,UACzB,SAAS,iBAAiB,UAC1B,SAAS,eAAe,QAC1B;AACE,cAAM,SAAS,GAAG,SAAS,aAAa,CAAC,MAAM,SAAS,eAAe,CAAC,MACpE,SAAS,gBAAgB,CAC7B,MAAM,SAAS,cAAc,CAAC;AAAA,MAClC;AAGA,UAAI,SAAS,iBAAiB;AAC1B,cAAM,kBAAkB,SAAS;AAAA,MACrC;AAGA,UAAI,SAAS,YAAY;AACrB,cAAM,YAAY,GAAG,SAAS,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAC7E,SAAS,cAAc,CAC3B,MAAM,SAAS,gBAAgB,CAAC,MAAM,SAAS,eAAe,iBAAiB;AAAA,MACnF;AAEA,aAAO;AAAA,IACX,CAAC;AACD,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAjFiCA,MAAA,YAAA,kBAAlCC,mBAMM,OAAA;AAAA,QAND,OAAM;AAAA,QAAsC,KAAKC,KAAAA,OAAO;AAAA,QAAK,sBAAO,SAAA,KAAQ;AAAA,MAAA;QAC7EC,YAIEH,MAAA,gBAAA,GAAA;AAAA,UAHU,MAAME,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAC9B,cAAcA,KAAAA;AAAAA,UACd,YAAYA,KAAAA,OAAO;AAAA,QAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"vf-box-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-box-widget.vue"],"sourcesContent":["<template>\n <div class=\"box-container\" v-if=\"!handleHidden\" :key=\"widget.id\" :style=\"boxStyle\">\n <RenderWidgetList\n v-model:list=\"widget.widgetList\"\n :parentWidget=\"widget\"\n :parentList=\"widget.widgetList\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, CSSProperties, ref } from 'vue';\n import {\n RenderWidgetList,\n ComponentNameEnum,\n ContainerTypeEnum,\n useField,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.VfBoxWidget,\n componentName: ComponentNameEnum.VfBoxWidget\n });\n\n const props = defineProps<WidgetProps>();\n const { handleHidden, defineExposed } = useField(props);\n\n const boxStyle = computed(() => {\n const boxModel = props.widget.options.boxModel || {};\n const style = {} as CSSProperties;\n\n if (props.widget.options.width) {\n style.width = '100%';\n style.height = '100%';\n }\n\n if (boxModel.borderShow) {\n style.borderRadius = `${boxModel.borderRadius}px`;\n style.border = `${boxModel.borderStyle} ${boxModel.borderWidth}px ${boxModel.borderColor}`;\n }\n\n // 设置内边距\n if (\n boxModel.paddingTop !== undefined ||\n boxModel.paddingRight !== undefined ||\n boxModel.paddingBottom !== undefined ||\n boxModel.paddingLeft !== undefined\n ) {\n style.padding = `${boxModel.paddingTop || 0}px ${boxModel.paddingRight || 0}px ${\n boxModel.paddingBottom || 0\n }px ${boxModel.paddingLeft || 0}px`;\n }\n\n // 设置外边距\n if (\n boxModel.marginTop !== undefined ||\n boxModel.marginRight !== undefined ||\n boxModel.marginBottom !== undefined ||\n boxModel.marginLeft !== undefined\n ) {\n style.margin = `${boxModel.marginTop || 0}px ${boxModel.marginRight || 0}px ${\n boxModel.marginBottom || 0\n }px ${boxModel.marginLeft || 0}px`;\n }\n\n // 设置背景颜色\n if (boxModel.backgroundColor) {\n style.backgroundColor = boxModel.backgroundColor;\n }\n\n // 设置阴影\n if (boxModel.shadowShow) {\n style.boxShadow = `${boxModel.shadowOffsetX || 0}px ${boxModel.shadowOffsetY || 0}px ${\n boxModel.shadowBlur || 0\n }px ${boxModel.shadowSpread || 0}px ${boxModel.shadowColor || 'rgba(0,0,0,0.2)'}`;\n }\n\n return style;\n });\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"less\" scoped>\n .box-container {\n width: 100%;\n position: relative;\n padding-bottom: 20px;\n display: flex;\n min-width: 0;\n overflow: hidden;\n :deep(.designer-widget-list) {\n flex: 1;\n overflow: hidden;\n min-width: 0;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","widget","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBI,UAAM,QAAQ;AACd,UAAM,EAAE,cAAc,kBAAkB,SAAS,KAAK;AAEtD,UAAM,WAAW,SAAS,MAAM;AAC5B,YAAM,WAAW,MAAM,OAAO,QAAQ,YAAY,CAAA;AAClD,YAAM,QAAQ,CAAA;AAEd,UAAI,MAAM,OAAO,QAAQ,OAAO;AAC5B,cAAM,QAAQ;AACd,cAAM,SAAS;AAAA,MACnB;AAEA,UAAI,SAAS,YAAY;AACrB,cAAM,eAAe,GAAG,SAAS,YAAY;AAC7C,cAAM,SAAS,GAAG,SAAS,WAAW,IAAI,SAAS,WAAW,MAAM,SAAS,WAAW;AAAA,MAC5F;AAGA,UACI,SAAS,eAAe,UACxB,SAAS,iBAAiB,UAC1B,SAAS,kBAAkB,UAC3B,SAAS,gBAAgB,QAC3B;AACE,cAAM,UAAU,GAAG,SAAS,cAAc,CAAC,MAAM,SAAS,gBAAgB,CAAC,MACvE,SAAS,iBAAiB,CAC9B,MAAM,SAAS,eAAe,CAAC;AAAA,MACnC;AAGA,UACI,SAAS,cAAc,UACvB,SAAS,gBAAgB,UACzB,SAAS,iBAAiB,UAC1B,SAAS,eAAe,QAC1B;AACE,cAAM,SAAS,GAAG,SAAS,aAAa,CAAC,MAAM,SAAS,eAAe,CAAC,MACpE,SAAS,gBAAgB,CAC7B,MAAM,SAAS,cAAc,CAAC;AAAA,MAClC;AAGA,UAAI,SAAS,iBAAiB;AAC1B,cAAM,kBAAkB,SAAS;AAAA,MACrC;AAGA,UAAI,SAAS,YAAY;AACrB,cAAM,YAAY,GAAG,SAAS,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAC7E,SAAS,cAAc,CAC3B,MAAM,SAAS,gBAAgB,CAAC,MAAM,SAAS,eAAe,iBAAiB;AAAA,MACnF;AAEA,aAAO;AAAA,IACX,CAAC;AACD,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAjFiCA,MAAA,YAAA,kBAAlCC,mBAMM,OAAA;AAAA,QAND,OAAM;AAAA,QAAsC,KAAKC,KAAAA,OAAO;AAAA,QAAK,sBAAO,SAAA,KAAQ;AAAA,MAAA;QAC7EC,YAIEH,MAAA,gBAAA,GAAA;AAAA,UAHU,MAAME,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAC9B,cAAcA,KAAAA;AAAAA,UACd,YAAYA,KAAAA,OAAO;AAAA,QAAA;;;;;"}
|
|
@@ -9,7 +9,6 @@ import "./index.js";
|
|
|
9
9
|
import "lodash-es";
|
|
10
10
|
import "tmgc2-share";
|
|
11
11
|
import "../../widget-panel/widgetsConfig.js";
|
|
12
|
-
import "../../../../../core/src/utils/event-bus.js";
|
|
13
12
|
import ActionButtonListRender from "../../../public/ActionButtonListRender.vue.js";
|
|
14
13
|
/* empty css */
|
|
15
14
|
import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vf-dialog-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue"],"sourcesContent":["<template>\n <div class=\"dialog-container\" :key=\"widget.id\">\n <div class=\"dialog-title\">\n <span class=\"tpf-link\" @click=\"handleClickTitle\">\n {{ widget.options.title }}\n </span>\n </div>\n <div class=\"right-btns\">\n <ActionButtonListRender :buttonList=\"widget.options.buttonList || []\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useAppRef } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n defineOptions({\n name: ContainerTypeEnum.VfDialogWidget,\n componentName: ComponentNameEnum.VfDialogWidget\n });\n\n const props = defineProps<WidgetProps>();\n\n const { initRefList } = useAppRef();\n\n const handleClickTitle = () => {\n const url = new URL(window.location.href);\n const { title, formCode, formId } = props.widget.options;\n if (formId) {\n url.searchParams.set('formCode', formCode);\n url.searchParams.set('remark', title);\n url.searchParams.set('id', formId);\n window.open(url.href);\n }\n };\n\n initRefList();\n</script>\n\n<style lang=\"scss\" scoped>\n .dialog-container {\n width: 100%;\n min-height: 30px;\n position: relative;\n\n .dialog-title {\n font-size: 14px;\n color: #666;\n line-height: 30px;\n text-align: center;\n }\n .right-btns {\n display: flex;\n align-items: center;\n height: 35px;\n }\n }\n</style>\n"],"names":["_createElementBlock","widget","_createElementVNode","_createVNode","_unref"],"mappings":"
|
|
1
|
+
{"version":3,"file":"vf-dialog-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue"],"sourcesContent":["<template>\n <div class=\"dialog-container\" :key=\"widget.id\">\n <div class=\"dialog-title\">\n <span class=\"tpf-link\" @click=\"handleClickTitle\">\n {{ widget.options.title }}\n </span>\n </div>\n <div class=\"right-btns\">\n <ActionButtonListRender :buttonList=\"widget.options.buttonList || []\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useAppRef } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n defineOptions({\n name: ContainerTypeEnum.VfDialogWidget,\n componentName: ComponentNameEnum.VfDialogWidget\n });\n\n const props = defineProps<WidgetProps>();\n\n const { initRefList } = useAppRef();\n\n const handleClickTitle = () => {\n const url = new URL(window.location.href);\n const { title, formCode, formId } = props.widget.options;\n if (formId) {\n url.searchParams.set('formCode', formCode);\n url.searchParams.set('remark', title);\n url.searchParams.set('id', formId);\n window.open(url.href);\n }\n };\n\n initRefList();\n</script>\n\n<style lang=\"scss\" scoped>\n .dialog-container {\n width: 100%;\n min-height: 30px;\n position: relative;\n\n .dialog-title {\n font-size: 14px;\n color: #666;\n line-height: 30px;\n text-align: center;\n }\n .right-btns {\n display: flex;\n align-items: center;\n height: 35px;\n }\n }\n</style>\n"],"names":["_createElementBlock","widget","_createElementVNode","_createVNode","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBI,UAAM,QAAQ;AAEd,UAAM,EAAE,YAAA,IAAgB,UAAA;AAExB,UAAM,mBAAmB,MAAM;AAC3B,YAAM,MAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACxC,YAAM,EAAE,OAAO,UAAU,OAAA,IAAW,MAAM,OAAO;AACjD,UAAI,QAAQ;AACR,YAAI,aAAa,IAAI,YAAY,QAAQ;AACzC,YAAI,aAAa,IAAI,UAAU,KAAK;AACpC,YAAI,aAAa,IAAI,MAAM,MAAM;AACjC,eAAO,KAAK,IAAI,IAAI;AAAA,MACxB;AAAA,IACJ;AAEA,gBAAA;;0BApCAA,mBASM,OAAA;AAAA,QATD,OAAM;AAAA,QAAoB,KAAKC,KAAAA,OAAO;AAAA,MAAA;QACvCC,mBAIM,OAJN,YAIM;AAAA,UAHFA,mBAEO,QAAA;AAAA,YAFD,OAAM;AAAA,YAAY,SAAO;AAAA,UAAA,mBACxBD,KAAAA,OAAO,QAAQ,KAAK,GAAA,CAAA;AAAA,QAAA;QAG/BC,mBAEM,OAFN,YAEM;AAAA,UADFC,YAAwEC,MAAA,sBAAA,GAAA;AAAA,YAA/C,YAAYH,KAAAA,OAAO,QAAQ,cAAU,CAAA;AAAA,UAAA;;;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getUuidKey } from "@kp-ui/tool";
|
|
2
2
|
const dataTable = (ops = {}) => {
|
|
3
3
|
return {
|
|
4
|
+
id: "",
|
|
4
5
|
key: getUuidKey(),
|
|
5
6
|
type: "data-table",
|
|
6
7
|
category: "container",
|
|
@@ -35,6 +36,7 @@ const dataTable = (ops = {}) => {
|
|
|
35
36
|
showSorterTooltip: false
|
|
36
37
|
}
|
|
37
38
|
],
|
|
39
|
+
// showColumnManager: false,
|
|
38
40
|
showButtonsColumn: false,
|
|
39
41
|
buttonsColumnTitle: "操作",
|
|
40
42
|
buttonsColumnWidth: 200,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","sources":["../../../../../../src/components/desginer/widget-panel/advanced/data-table.ts"],"sourcesContent":["import { rowSelectionType } from '@kp-ui/lowcode-core/src/types/rowSelectionType';\nimport { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\nimport type { HttpConfig } from 'tmgc2-share';\n\nexport interface DataTableOptions extends WidgetOptions {\n lineHeight: number | string;\n tableHeight: number | string;\n tableWidth: number | string;\n showIndex: boolean;\n showPagination: boolean;\n border: boolean;\n tableSize: string;\n virtual: boolean;\n tableColumns: any[];\n showButtonsColumn: boolean;\n buttonsColumnWidth: number;\n operationButtons: any[];\n dsEnabled: boolean;\n http: HttpConfig;\n dataReqHandlerCode: string;\n dataHandlerCode: string;\n rowKey: string;\n childrenKey: string;\n dataSource: any[];\n onCreated: string;\n onMounted: string;\n
|
|
1
|
+
{"version":3,"file":"data-table.js","sources":["../../../../../../src/components/desginer/widget-panel/advanced/data-table.ts"],"sourcesContent":["import { rowSelectionType } from '@kp-ui/lowcode-core/src/types/rowSelectionType';\nimport { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\nimport type { HttpConfig } from 'tmgc2-share';\n\nexport interface DataTableOptions extends WidgetOptions {\n lineHeight: number | string;\n tableHeight: number | string;\n tableWidth: number | string;\n showColumnManager: boolean;\n showIndex: boolean;\n showPagination: boolean;\n border: boolean;\n tableSize: string;\n virtual: boolean;\n tableColumns: any[];\n showButtonsColumn: boolean;\n buttonsColumnWidth: number;\n operationButtons: any[];\n dsEnabled: boolean;\n http: HttpConfig;\n dataReqHandlerCode: string;\n dataHandlerCode: string;\n rowKey: string;\n childrenKey: string;\n dataSource: any[];\n onCreated: string;\n onMounted: string;\n colorRow: boolean;\n rowSelection: rowSelectionType;\n customRow: {\n onClick: string;\n onDblclick: string;\n onMouseenter: string;\n onMouseleave: string;\n };\n onTableChange: string;\n pagination: {\n pageSizeOptions: any[];\n current: number;\n hideOnSinglePage: false;\n pageSize: number;\n total: number;\n showQuickJumper: boolean;\n showSizeChanger: boolean;\n onPageSizeChange: string;\n showTotal: (number) => string;\n };\n}\n\nexport interface DataTableWidget extends Widget<DataTableOptions> {}\n\nexport const dataTable = (ops = {} as any): DataTableWidget => {\n return {\n id: '',\n key: getUuidKey(),\n type: 'data-table',\n category: 'container',\n icon: 'data-table',\n options: {\n lineHeight: 50,\n name: '',\n label: 'data-table',\n hidden: false,\n tableHeight: '300px',\n tableWidth: '100%',\n customClass: [],\n showIndex: false,\n showPagination: true,\n border: false,\n tableSize: 'small',\n virtual: false,\n tableColumns: [\n {\n columnId: 1,\n dataIndex: 'name',\n titleSuffix: false,\n title: '姓名',\n width: 150,\n show: true,\n align: 'center',\n fixed: '',\n sorter: false,\n customRender: '',\n ellipsis: true,\n resizable: true,\n showSorterTooltip: false\n }\n ],\n // showColumnManager: false,\n showButtonsColumn: false,\n buttonsColumnTitle: '操作',\n buttonsColumnWidth: 200,\n operationButtons: [\n {\n name: 'detail',\n label: '详情',\n type: 'link',\n shape: 'default',\n size: 'small',\n hidden: false,\n disabled: false,\n onClick: ''\n }\n ],\n dsEnabled: false,\n http: {\n url: '',\n method: 'get',\n data: {},\n params: {}\n },\n dataReqHandlerCode: '',\n dataHandlerCode: '',\n rowKey: '_id',\n childrenKey: 'children',\n dataSource: [],\n onCreated: '',\n onMounted: '',\n customRow: {\n onClick: '',\n onDblclick: '',\n onMouseenter: '',\n onMouseleave: ''\n },\n onTableChange: '',\n pagination: {\n pageSizeOptions: ['10', '20', '50', '100'],\n current: 1,\n hideOnSinglePage: false,\n pageSize: 20,\n total: 0,\n showQuickJumper: true,\n showSizeChanger: true,\n position: ['bottomRight'],\n showTotal: total => `共 ${total} 条`\n },\n colorRow: true,\n rowSelection: {\n hasRowSelection: false,\n preserveSelectedRowKeys: false,\n fixed: true,\n onChange: 'console.log(selectedRowKeys, selectedRows)',\n columnWidth: 32,\n checkMethod: `console.log(row);\\nreturn true;`\n },\n ...ops\n }\n };\n};\n"],"names":[],"mappings":";AAoDO,MAAM,YAAY,CAAC,MAAM,OAA+B;AAC3D,SAAO;AAAA,IACH,IAAI;AAAA,IACJ,KAAK,WAAA;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,MACL,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,aAAa,CAAA;AAAA,MACb,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,QACV;AAAA,UACI,UAAU;AAAA,UACV,WAAW;AAAA,UACX,aAAa;AAAA,UACb,OAAO;AAAA,UACP,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB;AAAA,QAAA;AAAA,MACvB;AAAA;AAAA,MAGJ,mBAAmB;AAAA,MACnB,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,QACd;AAAA,UACI,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,SAAS;AAAA,QAAA;AAAA,MACb;AAAA,MAEJ,WAAW;AAAA,MACX,MAAM;AAAA,QACF,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM,CAAA;AAAA,QACN,QAAQ,CAAA;AAAA,MAAC;AAAA,MAEb,oBAAoB;AAAA,MACpB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY,CAAA;AAAA,MACZ,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,QACP,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,cAAc;AAAA,MAAA;AAAA,MAElB,eAAe;AAAA,MACf,YAAY;AAAA,QACR,iBAAiB,CAAC,MAAM,MAAM,MAAM,KAAK;AAAA,QACzC,SAAS;AAAA,QACT,kBAAkB;AAAA,QAClB,UAAU;AAAA,QACV,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,iBAAiB;AAAA,QACjB,UAAU,CAAC,aAAa;AAAA,QACxB,WAAW,CAAA,UAAS,KAAK,KAAK;AAAA,MAAA;AAAA,MAElC,UAAU;AAAA,MACV,cAAc;AAAA,QACV,iBAAiB;AAAA,QACjB,yBAAyB;AAAA,QACzB,OAAO;AAAA,QACP,UAAU;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA;AAAA,MAAA;AAAA,MAEjB,GAAG;AAAA,IAAA;AAAA,EACP;AAER;"}
|
|
@@ -12,6 +12,11 @@ const gridSubForm = (ops = {}) => {
|
|
|
12
12
|
showRowNumber: true,
|
|
13
13
|
hidden: false,
|
|
14
14
|
customClass: [],
|
|
15
|
+
onSubFormRowDeleteHide: "",
|
|
16
|
+
onSubFormRowAdd: "",
|
|
17
|
+
onSubFormRowInsert: "",
|
|
18
|
+
onSubFormRowDelete: "",
|
|
19
|
+
onSubFormRowChange: "",
|
|
15
20
|
...ops
|
|
16
21
|
}
|
|
17
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-sub-form.js","sources":["../../../../../../src/components/desginer/widget-panel/containers/grid-sub-form.ts"],"sourcesContent":["import { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface GridSubFormOptions extends WidgetOptions {\n showBlankRow: boolean;\n showRowNumber: boolean;\n}\n\n// export interface SubFormOptions extends WidgetOptions {\n// showBlankRow: boolean;\n// showRowNumber: boolean;\n// labelAlign: string;\n// onSubFormRowAdd: string;\n// onSubFormRowInsert: string;\n// onSubFormRowDelete: string;\n// onSubFormRowChange: string;\n// }\nexport interface GridSubFormWidget extends Widget<GridSubFormOptions> {}\n// export interface SubFormWidget extends Widget<SubFormOptions> {}\n\nexport const gridSubForm = (ops = {} as any): GridSubFormWidget => {\n return {\n key: getUuidKey(),\n type: 'grid-sub-form',\n category: 'container',\n icon: 'grid-sub-form',\n widgetList: [],\n options: {\n name: '',\n showBlankRow: true,\n showRowNumber: true,\n hidden: false,\n customClass: [],\n ...ops\n }\n };\n};\n\n// export const subForm = (): SubFormWidget => {\n// return {\n// key: getUuidKey(),\n// type: 'sub-form',\n// category: 'container',\n// icon: 'sub-form',\n// widgetList: [],\n// options: {\n// name: '',\n// showBlankRow: true,\n// showRowNumber: true,\n// labelAlign: 'label-center-align',\n// hidden: false,\n// customClass: [],\n// onSubFormRowAdd: '',\n// onSubFormRowInsert: '',\n// onSubFormRowDelete: '',\n// onSubFormRowChange: ''\n// }\n// };\n// };\n"],"names":[],"mappings":";AAoBO,MAAM,cAAc,CAAC,MAAM,OAAiC;AAC/D,SAAO;AAAA,IACH,KAAK,WAAA;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,IACN,YAAY,CAAA;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,aAAa,CAAA;AAAA,MACb,GAAG;AAAA,IAAA;AAAA,EACP;AAER;"}
|
|
1
|
+
{"version":3,"file":"grid-sub-form.js","sources":["../../../../../../src/components/desginer/widget-panel/containers/grid-sub-form.ts"],"sourcesContent":["import { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface GridSubFormOptions extends WidgetOptions {\n showBlankRow: boolean;\n showRowNumber: boolean;\n}\n\n// export interface SubFormOptions extends WidgetOptions {\n// showBlankRow: boolean;\n// showRowNumber: boolean;\n// labelAlign: string;\n// onSubFormRowAdd: string;\n// onSubFormRowInsert: string;\n// onSubFormRowDelete: string;\n// onSubFormRowChange: string;\n// }\nexport interface GridSubFormWidget extends Widget<GridSubFormOptions> {}\n// export interface SubFormWidget extends Widget<SubFormOptions> {}\n\nexport const gridSubForm = (ops = {} as any): GridSubFormWidget => {\n return {\n key: getUuidKey(),\n type: 'grid-sub-form',\n category: 'container',\n icon: 'grid-sub-form',\n widgetList: [],\n options: {\n name: '',\n showBlankRow: true,\n showRowNumber: true,\n hidden: false,\n customClass: [],\n onSubFormRowDeleteHide: '',\n onSubFormRowAdd: '',\n onSubFormRowInsert: '',\n onSubFormRowDelete: '',\n onSubFormRowChange: '',\n ...ops\n }\n };\n};\n\n// export const subForm = (): SubFormWidget => {\n// return {\n// key: getUuidKey(),\n// type: 'sub-form',\n// category: 'container',\n// icon: 'sub-form',\n// widgetList: [],\n// options: {\n// name: '',\n// showBlankRow: true,\n// showRowNumber: true,\n// labelAlign: 'label-center-align',\n// hidden: false,\n// customClass: [],\n// onSubFormRowAdd: '',\n// onSubFormRowInsert: '',\n// onSubFormRowDelete: '',\n// onSubFormRowChange: ''\n// }\n// };\n// };\n"],"names":[],"mappings":";AAoBO,MAAM,cAAc,CAAC,MAAM,OAAiC;AAC/D,SAAO;AAAA,IACH,KAAK,WAAA;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,IACN,YAAY,CAAA;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,aAAa,CAAA;AAAA,MACb,wBAAwB;AAAA,MACxB,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,GAAG;AAAA,IAAA;AAAA,EACP;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sources":["../../../../../../src/components/desginer/widget-panel/containers/grid.ts"],"sourcesContent":["import { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface GridWidgetOptionsType extends WidgetOptions {\n colHeight: number;\n gutter: number;\n}\nexport interface GridWidget extends Widget<GridWidgetOptionsType> {\n // internal: boolean;\n}\n\nexport const grid = (ops = {} as any): GridWidget => {\n return {\n key: getUuidKey(),\n type: 'grid',\n alias: '',\n category: 'container',\n icon: 'grid',\n cols: [],\n options: {\n name: '',\n hidden: false,\n gutter: 12,\n colHeight: null,\n customClass: [],\n gridJustify: 'start',\n
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../../../../../src/components/desginer/widget-panel/containers/grid.ts"],"sourcesContent":["import { Widget, WidgetOptions } from '@kp-ui/lowcode-core/src/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface GridWidgetOptionsType extends WidgetOptions {\n colHeight: number;\n gutter: number;\n}\nexport interface GridWidget extends Widget<GridWidgetOptionsType> {\n // internal: boolean;\n}\n\nexport const grid = (ops = {} as any): GridWidget => {\n return {\n key: getUuidKey(),\n type: 'grid',\n alias: '',\n category: 'container',\n icon: 'grid',\n cols: [],\n options: {\n name: '',\n hidden: false,\n gutter: 12,\n colHeight: null,\n customClass: [],\n // gridJustify: 'start',\n\n ...ops\n }\n };\n};\n"],"names":[],"mappings":";AAWO,MAAM,OAAO,CAAC,MAAM,OAA0B;AACjD,SAAO;AAAA,IACH,KAAK,WAAA;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,MAAM;AAAA,IACN,MAAM,CAAA;AAAA,IACN,SAAS;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa,CAAA;AAAA;AAAA,MAGb,GAAG;AAAA,IAAA;AAAA,EACP;AAER;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./bpmn-editor-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const bpmnEditorWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const bpmnEditorWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3974eef4"]]);
|
|
5
5
|
export {
|
|
6
6
|
bpmnEditorWidget as default
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, ref, watchEffect, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementVNode } from "vue";
|
|
2
2
|
import FormItemWrapper from "./form-item-wrapper.vue.js";
|
|
3
|
-
import { useField } from "./useField.js";
|
|
4
3
|
import BpmnViewer from "bpmn-js/lib/Viewer";
|
|
5
4
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
5
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
7
|
...{
|
|
8
8
|
name: WidgetTypeEnum.bpmnEditor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bpmn-editor-widget.vue2.js","sources":["../../../../src/components/field-widget/bpmn-editor-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <div ref=\"fieldEditor\" class=\"t-w-full t-h-[30vh]\"></div>\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"bpmn-editor-widget.vue2.js","sources":["../../../../src/components/field-widget/bpmn-editor-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <div ref=\"fieldEditor\" class=\"t-w-full t-h-[30vh]\"></div>\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n import { ref, watchEffect } from 'vue';\n import BpmnViewer from 'bpmn-js/lib/Viewer';\n\n defineOptions({\n name: WidgetTypeEnum.bpmnEditor,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n const { rules, fieldEditor, fieldModel, handleHidden, defineExposed } = useField(props);\n const bpmnModeler = ref();\n\n const preview = xml => {\n // 避免缓存,每次清一下\n if (bpmnModeler.value && bpmnModeler.value.destroy) {\n bpmnModeler.value.destroy();\n }\n bpmnModeler.value = new BpmnViewer({ container: fieldEditor.value });\n const viewer = bpmnModeler.value;\n bpmnModeler.value.importXML(xml, err => {\n if (err) {\n console.error(err);\n } else {\n // 只实现预览,核心代码以下两句足够\n const canvas = viewer.get('canvas');\n canvas.zoom('fit-viewport');\n }\n });\n };\n\n watchEffect(() => {\n if (fieldModel.value) {\n preview(fieldModel.value);\n } else {\n if (bpmnModeler.value && bpmnModeler.value.destroy) {\n bpmnModeler.value.destroy();\n }\n }\n });\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n :deep(.bjs-powered-by) {\n display: none;\n }\n :deep(.bjs-breadcrumbs) {\n display: none;\n }\n</style>\n"],"names":["_unref","_openBlock","_createBlock","_mergeProps","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBI,UAAM,QAAQ;AACd,UAAM,EAAE,OAAO,aAAa,YAAY,cAAc,cAAA,IAAkB,SAAS,KAAK;AACtF,UAAM,cAAc,IAAA;AAEpB,UAAM,UAAU,CAAA,QAAO;AAEnB,UAAI,YAAY,SAAS,YAAY,MAAM,SAAS;AAChD,oBAAY,MAAM,QAAA;AAAA,MACtB;AACA,kBAAY,QAAQ,IAAI,WAAW,EAAE,WAAW,YAAY,OAAO;AACnE,YAAM,SAAS,YAAY;AAC3B,kBAAY,MAAM,UAAU,KAAK,CAAA,QAAO;AACpC,YAAI,KAAK;AACL,kBAAQ,MAAM,GAAG;AAAA,QACrB,OAAO;AAEH,gBAAM,SAAS,OAAO,IAAI,QAAQ;AAClC,iBAAO,KAAK,cAAc;AAAA,QAC9B;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,gBAAY,MAAM;AACd,UAAI,WAAW,OAAO;AAClB,gBAAQ,WAAW,KAAK;AAAA,MAC5B,OAAO;AACH,YAAI,YAAY,SAAS,YAAY,MAAM,SAAS;AAChD,sBAAY,MAAM,QAAA;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAlDwCA,MAAA,YAAA,KAAzCC,aAAAC,YAEoB,iBAFpBC,WAEoB,EAAA,KAAA,EAAA,GAFO,OAAK,EAAwB,OAAOH,MAAA,KAAA,EAAA,CAAK,GAAA;AAAA,yBAChE,MAAyD;AAAA,UAAzDI,mBAAyD,OAAA;AAAA,qBAAhD;AAAA,YAAJ,KAAI;AAAA,YAAc,OAAM;AAAA,UAAA;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./button-list-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const buttonListWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const buttonListWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-198d712e"]]);
|
|
5
5
|
export {
|
|
6
6
|
buttonListWidget as default
|
|
7
7
|
};
|
|
@@ -9,11 +9,10 @@ import "../desginer/form-widget/container-widget/index.js";
|
|
|
9
9
|
import "lodash-es";
|
|
10
10
|
import { useExecFunction } from "tmgc2-share";
|
|
11
11
|
import "../desginer/widget-panel/widgetsConfig.js";
|
|
12
|
-
import "../../../core/src/utils/event-bus.js";
|
|
13
12
|
import ActionButtonListRender from "../public/ActionButtonListRender.vue.js";
|
|
14
13
|
/* empty css */
|
|
15
|
-
import { useField } from "./useField.js";
|
|
16
14
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
15
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
17
16
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
18
17
|
...{
|
|
19
18
|
name: WidgetTypeEnum.buttonList,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-list-widget.vue2.js","sources":["../../../../src/components/field-widget/button-list-widget.vue"],"sourcesContent":["<template>\n <ActionButtonListRender\n v-if=\"!handleHidden\"\n ref=\"fieldEditor\"\n :options=\"field.options\"\n :designState=\"designState\"\n :buttonList=\"field.options.buttonList || []\"\n :customClass=\"field.options.customClass || []\"\n :flex=\"field.options.flex\"\n :ctx=\"context\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"button-list-widget.vue2.js","sources":["../../../../src/components/field-widget/button-list-widget.vue"],"sourcesContent":["<template>\n <ActionButtonListRender\n v-if=\"!handleHidden\"\n ref=\"fieldEditor\"\n :options=\"field.options\"\n :designState=\"designState\"\n :buttonList=\"field.options.buttonList || []\"\n :customClass=\"field.options.customClass || []\"\n :flex=\"field.options.flex\"\n :ctx=\"context\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { ActionButtonListRender } from '@kp-ui/lowcode-pc';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n import { computed } from 'vue';\n import { useExecFunction } from 'tmgc2-share';\n\n defineOptions({\n name: WidgetTypeEnum.buttonList,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const buttonList = computed(() => field.options.buttonList || []);\n\n const { fieldEditor, field, size, designState, handleHidden, defineExposed } = useField(props);\n\n const { context } = useExecFunction();\n\n defineExpose({\n buttonList,\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .flex {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n }\n</style>\n"],"names":["_unref","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBI,UAAM,QAAQ;AAEd,UAAM,aAAa,SAAS,MAAM,MAAM,QAAQ,cAAc,EAAE;AAEhE,UAAM,EAAE,aAAa,OAAa,aAAa,cAAc,cAAA,IAAkB,SAAS,KAAK;AAE7F,UAAM,EAAE,QAAA,IAAY,gBAAA;AAEpB,aAAa;AAAA,MACT;AAAA,MACA,GAAG;AAAA,IAAA,CACN;;cAjCUA,MAAA,YAAA,kBADXC,YASED,MAAA,sBAAA,GAAA;AAAA;iBAPM;AAAA,QAAJ,KAAI;AAAA,QACH,SAASA,MAAA,KAAA,EAAM;AAAA,QACf,aAAaA,MAAA,WAAA;AAAA,QACb,YAAYA,MAAA,KAAA,EAAM,QAAQ,cAAU,CAAA;AAAA,QACpC,aAAaA,MAAA,KAAA,EAAM,QAAQ,eAAW,CAAA;AAAA,QACtC,MAAMA,MAAA,KAAA,EAAM,QAAQ;AAAA,QACpB,KAAKA,MAAA,OAAA;AAAA,MAAA;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./code-editor-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const codeEditorWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const codeEditorWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7291d54f"]]);
|
|
5
5
|
export {
|
|
6
6
|
codeEditorWidget as default
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createVNode, isRef } from "vue";
|
|
2
2
|
import FormItemWrapper from "./form-item-wrapper.vue.js";
|
|
3
|
-
import { useField } from "./useField.js";
|
|
4
3
|
import { CodeEditor } from "tmgc2-share";
|
|
5
4
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
5
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
7
|
...{
|
|
8
8
|
name: WidgetTypeEnum.codeEditor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-editor-widget.vue2.js","sources":["../../../../src/components/field-widget/code-editor-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper\n v-bind=\"props\"\n v-if=\"!handleHidden\"\n :rules=\"rules\"\n :class=\"designState ? 'designer' : ''\"\n >\n <CodeEditor\n :mode=\"field.options.mode\"\n :readonly=\"field.options.readonly || isReadMode\"\n v-model:value=\"fieldModel\"\n ref=\"fieldEditor\"\n @blur=\"handleBlurCustomEvent\"\n />\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"code-editor-widget.vue2.js","sources":["../../../../src/components/field-widget/code-editor-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper\n v-bind=\"props\"\n v-if=\"!handleHidden\"\n :rules=\"rules\"\n :class=\"designState ? 'designer' : ''\"\n >\n <CodeEditor\n :mode=\"field.options.mode\"\n :readonly=\"field.options.readonly || isReadMode\"\n v-model:value=\"fieldModel\"\n ref=\"fieldEditor\"\n @blur=\"handleBlurCustomEvent\"\n />\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n import { CodeEditor } from 'tmgc2-share';\n\n defineOptions({\n name: WidgetTypeEnum.codeEditor,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const {\n rules,\n designState,\n fieldEditor,\n field,\n fieldModel,\n isReadMode,\n handleHidden,\n handleBlurCustomEvent,\n defineExposed\n } = useField(props);\n\n defineExpose({\n ...defineExposed\n });\n</script>\n<style lang=\"scss\" scoped>\n .designer {\n position: relative;\n &::before {\n position: absolute;\n z-index: 99;\n content: '';\n display: inline-block;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(#000, 0.01);\n }\n }\n</style>\n"],"names":["_unref","_createBlock","_mergeProps","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2BI,UAAM,QAAQ;AAEd,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,SAAS,KAAK;AAElB,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAxCUA,MAAA,YAAA,kBAFXC,YAaoB,iBAbpBC,WAaoB,EAAA,KAAA,EAAA,GAZR,OAAK;AAAA,QAEZ,OAAOF,MAAA,KAAA;AAAA,QACP,OAAOA,MAAA,WAAA,IAAW,aAAA;AAAA,MAAA;yBAEnB,MAME;AAAA,UANFG,YAMEH,MAAA,UAAA,GAAA;AAAA,YALG,MAAMA,MAAA,KAAA,EAAM,QAAQ;AAAA,YACpB,UAAUA,MAAA,KAAA,EAAM,QAAQ,YAAYA,MAAA,UAAA;AAAA,YAC7B,OAAOA,MAAA,UAAA;AAAA,wFAAA,WAAU,QAAA,SAAA;AAAA,qBACrB;AAAA,YAAJ,KAAI;AAAA,YACH,QAAMA,MAAA,qBAAA;AAAA,UAAA;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, resolveComponent, createBlock, createCommentVNode, unref, openBlock, withCtx, createTextVNode, toDisplayString } from "vue";
|
|
2
|
-
import { useField } from "./useField.js";
|
|
3
2
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
3
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
...{
|
|
6
6
|
name: WidgetTypeEnum.divider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider-widget.vue2.js","sources":["../../../../src/components/field-widget/divider-widget.vue"],"sourcesContent":["<template>\n <a-divider\n v-if=\"!handleHidden\"\n ref=\"fieldEditor\"\n :type=\"field.options.direction\"\n :orientation=\"field.options.contentPosition\"\n >\n {{ field.options.label }}\n </a-divider>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"divider-widget.vue2.js","sources":["../../../../src/components/field-widget/divider-widget.vue"],"sourcesContent":["<template>\n <a-divider\n v-if=\"!handleHidden\"\n ref=\"fieldEditor\"\n :type=\"field.options.direction\"\n :orientation=\"field.options.contentPosition\"\n >\n {{ field.options.label }}\n </a-divider>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: WidgetTypeEnum.divider,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const { fieldEditor, field, handleHidden, defineExposed } = useField(props);\n\n defineExpose({\n ...defineExposed\n });\n</script>\n<style lang=\"scss\" scoped></style>\n"],"names":["_unref","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBI,UAAM,QAAQ;AAEd,UAAM,EAAE,aAAa,OAAO,cAAc,cAAA,IAAkB,SAAS,KAAK;AAE1E,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;;cAvBUA,MAAA,YAAA,kBADXC,YAOY,sBAAA;AAAA;iBALJ;AAAA,QAAJ,KAAI;AAAA,QACH,MAAMD,MAAA,KAAA,EAAM,QAAQ;AAAA,QACpB,aAAaA,MAAA,KAAA,EAAM,QAAQ;AAAA,MAAA;yBAE5B,MAAyB;AAAA,0CAAtBA,MAAA,KAAA,EAAM,QAAQ,KAAK,GAAA,CAAA;AAAA,QAAA;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, createElementVNode, resolveDynamicComponent } from "vue";
|
|
2
2
|
import FormItemWrapper from "./form-item-wrapper.vue.js";
|
|
3
|
-
import { useField } from "./useField.js";
|
|
4
3
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
4
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
5
5
|
const _hoisted_1 = { class: "slot-wrapper-render" };
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
7
7
|
...{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diy-compontent-widget.vue2.js","sources":["../../../../src/components/field-widget/diy-compontent-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <div class=\"slot-wrapper-render\">\n <component ref=\"fieldEditor\" :is=\"renderCompont()\" />\n </div>\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import FormItemWrapper from './form-item-wrapper.vue';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"diy-compontent-widget.vue2.js","sources":["../../../../src/components/field-widget/diy-compontent-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <div class=\"slot-wrapper-render\">\n <component ref=\"fieldEditor\" :is=\"renderCompont()\" />\n </div>\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import FormItemWrapper from './form-item-wrapper.vue';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: WidgetTypeEnum.bpmnEditor,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const { rules, fieldEditor, field, fieldModel, handleHidden, defineExposed, executeFunction } =\n useField(props);\n\n const renderCompont = () => {\n const component = executeFunction({\n functionBody: field.options.customRender,\n params: { data: fieldModel.value },\n keys: ['data']\n });\n\n return component ?? null;\n };\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped></style>\n"],"names":["_unref","_openBlock","_createBlock","_mergeProps","_createElementVNode","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBI,UAAM,QAAQ;AAEd,UAAM,EAAE,OAAO,aAAa,OAAO,YAAY,cAAc,eAAe,gBAAA,IACxE,SAAS,KAAK;AAElB,UAAM,gBAAgB,MAAM;AACxB,YAAM,YAAY,gBAAgB;AAAA,QAC9B,cAAc,MAAM,QAAQ;AAAA,QAC5B,QAAQ,EAAE,MAAM,WAAW,MAAA;AAAA,QAC3B,MAAM,CAAC,MAAM;AAAA,MAAA,CAChB;AAED,aAAO,aAAa;AAAA,IACxB;AAEA,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAjCwCA,MAAA,YAAA,KAAzCC,aAAAC,YAIoB,iBAJpBC,WAIoB,EAAA,KAAA,EAAA,GAJO,OAAK,EAAwB,OAAOH,MAAA,KAAA,EAAA,CAAK,GAAA;AAAA,yBAChE,MAEM;AAAA,UAFNI,mBAEM,OAFN,YAEM;AAAA,aADFH,aAAAC,YAAqDG,wBAAnB,cAAA,CAAa,GAAA;AAAA,uBAAhC;AAAA,cAAJ,KAAI;AAAA,YAAA;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./dropdown-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const dropdownWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const dropdownWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8b716c42"]]);
|
|
5
5
|
export {
|
|
6
6
|
dropdownWidget as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, resolveComponent, createBlock, createCommentVNode, unref, openBlock, withCtx, createVNode, normalizeClass, createTextVNode, toDisplayString, createElementBlock, Fragment, renderList } from "vue";
|
|
2
|
-
import { useField } from "./useField.js";
|
|
3
2
|
import { DownOutlined } from "@ant-design/icons-vue";
|
|
4
3
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
4
|
+
import { useField } from "../../../core/src/hooks/useField.js";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
...{
|
|
7
7
|
name: WidgetTypeEnum.dropdown,
|
|
@@ -21,17 +21,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
},
|
|
22
22
|
setup(__props, { expose: __expose }) {
|
|
23
23
|
const props = __props;
|
|
24
|
-
const {
|
|
25
|
-
executeFunction,
|
|
26
|
-
fieldEditor,
|
|
27
|
-
field,
|
|
28
|
-
size,
|
|
29
|
-
handleDisabled,
|
|
30
|
-
handleHidden,
|
|
31
|
-
defineExposed
|
|
32
|
-
} = useField(props);
|
|
24
|
+
const { executeFunction, fieldEditor, size, handleDisabled, handleHidden, defineExposed } = useField(props);
|
|
33
25
|
const handleMenuClick = (menuItem) => {
|
|
34
|
-
const { onMenuClick } = field.options;
|
|
26
|
+
const { onMenuClick } = props.field.options;
|
|
35
27
|
if (onMenuClick) {
|
|
36
28
|
executeFunction({
|
|
37
29
|
functionBody: onMenuClick,
|
|
@@ -54,12 +46,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
54
46
|
ref_key: "fieldEditor",
|
|
55
47
|
ref: fieldEditor,
|
|
56
48
|
disabled: unref(handleDisabled),
|
|
57
|
-
placement:
|
|
49
|
+
placement: _ctx.field.options.placement
|
|
58
50
|
}, {
|
|
59
51
|
overlay: withCtx(() => [
|
|
60
52
|
createVNode(_component_a_menu, { onClick: handleMenuClick }, {
|
|
61
53
|
default: withCtx(() => [
|
|
62
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
54
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.field.options.menuList || [], (item) => {
|
|
63
55
|
return openBlock(), createBlock(_component_a_menu_item, {
|
|
64
56
|
key: item.value
|
|
65
57
|
}, {
|
|
@@ -75,16 +67,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
75
67
|
]),
|
|
76
68
|
default: withCtx(() => [
|
|
77
69
|
createVNode(_component_a_button, {
|
|
78
|
-
type:
|
|
79
|
-
size:
|
|
80
|
-
class: normalizeClass([
|
|
81
|
-
shape:
|
|
82
|
-
danger:
|
|
83
|
-
ghost:
|
|
70
|
+
type: _ctx.field.options.type,
|
|
71
|
+
size: _ctx.field.options.size,
|
|
72
|
+
class: normalizeClass([_ctx.field.options.label === "" ? "hide-text-span" : "", "tpf-button"]),
|
|
73
|
+
shape: _ctx.field.options.shape,
|
|
74
|
+
danger: _ctx.field.options.danger,
|
|
75
|
+
ghost: _ctx.field.options.ghost,
|
|
84
76
|
disabled: unref(handleDisabled)
|
|
85
77
|
}, {
|
|
86
78
|
default: withCtx(() => [
|
|
87
|
-
createTextVNode(toDisplayString(
|
|
79
|
+
createTextVNode(toDisplayString(_ctx.field.options.label) + " ", 1),
|
|
88
80
|
createVNode(unref(DownOutlined))
|
|
89
81
|
]),
|
|
90
82
|
_: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-widget.vue2.js","sources":["../../../../src/components/field-widget/dropdown-widget.vue"],"sourcesContent":["<template>\n <a-dropdown\n v-if=\"!handleHidden\"\n :size=\"size\"\n ref=\"fieldEditor\"\n :disabled=\"handleDisabled\"\n :placement=\"field.options.placement\"\n >\n <template #overlay>\n <a-menu @click=\"handleMenuClick\">\n <a-menu-item :key=\"item.value\" v-for=\"item in field.options.menuList || []\">\n {{ item.label }}\n </a-menu-item>\n </a-menu>\n </template>\n <a-button\n :type=\"field.options.type\"\n :size=\"field.options.size\"\n :class=\"[field.options.label === '' ? 'hide-text-span' : '', 'tpf-button']\"\n :shape=\"field.options.shape\"\n :danger=\"field.options.danger\"\n :ghost=\"field.options.ghost\"\n :disabled=\"handleDisabled\"\n >\n {{ field.options.label }}\n <DownOutlined />\n </a-button>\n </a-dropdown>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { FieldProps, useField } from '
|
|
1
|
+
{"version":3,"file":"dropdown-widget.vue2.js","sources":["../../../../src/components/field-widget/dropdown-widget.vue"],"sourcesContent":["<template>\n <a-dropdown\n v-if=\"!handleHidden\"\n :size=\"size\"\n ref=\"fieldEditor\"\n :disabled=\"handleDisabled\"\n :placement=\"field.options.placement\"\n >\n <template #overlay>\n <a-menu @click=\"handleMenuClick\">\n <a-menu-item :key=\"item.value\" v-for=\"item in field.options.menuList || []\">\n {{ item.label }}\n </a-menu-item>\n </a-menu>\n </template>\n <a-button\n :type=\"field.options.type\"\n :size=\"field.options.size\"\n :class=\"[field.options.label === '' ? 'hide-text-span' : '', 'tpf-button']\"\n :shape=\"field.options.shape\"\n :danger=\"field.options.danger\"\n :ghost=\"field.options.ghost\"\n :disabled=\"handleDisabled\"\n >\n {{ field.options.label }}\n <DownOutlined />\n </a-button>\n </a-dropdown>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, WidgetTypeEnum } from '@kp-ui/lowcode-core';\n import { type FieldProps, useField } from '@kp-ui/lowcode-core';\n import { DownOutlined } from '@ant-design/icons-vue';\n\n defineOptions({\n name: WidgetTypeEnum.dropdown,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const { executeFunction, fieldEditor, size, handleDisabled, handleHidden, defineExposed } =\n useField(props);\n\n const handleMenuClick = (menuItem: any) => {\n const { onMenuClick } = props.field.options;\n if (onMenuClick) {\n executeFunction({\n functionBody: onMenuClick,\n keys: ['menuItem'],\n params: { menuItem }\n });\n }\n };\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .hide-text-span :deep(span) {\n display: none;\n }\n</style>\n"],"names":["_unref","_createBlock","field","_createVNode","_openBlock","_createElementBlock","_Fragment","_createTextVNode","_toDisplayString","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuCI,UAAM,QAAQ;AAEd,UAAM,EAAE,iBAAiB,aAAa,MAAM,gBAAgB,cAAc,cAAA,IACtE,SAAS,KAAK;AAElB,UAAM,kBAAkB,CAAC,aAAkB;AACvC,YAAM,EAAE,YAAA,IAAgB,MAAM,MAAM;AACpC,UAAI,aAAa;AACb,wBAAgB;AAAA,UACZ,cAAc;AAAA,UACd,MAAM,CAAC,UAAU;AAAA,UACjB,QAAQ,EAAE,SAAA;AAAA,QAAS,CACtB;AAAA,MACL;AAAA,IACJ;AAEA,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;;;;;cAvDUA,MAAA,YAAA,kBADXC,YA0Ba,uBAAA;AAAA;QAxBR,MAAMD,MAAA,IAAA;AAAA,iBACH;AAAA,QAAJ,KAAI;AAAA,QACH,UAAUA,MAAA,cAAA;AAAA,QACV,WAAWE,KAAAA,MAAM,QAAQ;AAAA,MAAA;QAEf,iBACP,MAIS;AAAA,UAJTC,YAIS,mBAAA,EAJA,SAAO,mBAAe;AAAA,6BACI,MAA4C;AAAA,eAA3EC,UAAA,IAAA,GAAAC,mBAEcC,2BAFgCJ,KAAAA,MAAM,QAAQ,iBAAtB,SAAI;oCAA1CD,YAEc,wBAAA;AAAA,kBAFA,KAAK,KAAK;AAAA,gBAAA;mCACpB,MAAgB;AAAA,oBAAbM,gBAAAC,gBAAA,KAAK,KAAK,GAAA,CAAA;AAAA,kBAAA;;;;;;;;yBAIzB,MAWW;AAAA,UAXXL,YAWW,qBAAA;AAAA,YAVN,MAAMD,KAAAA,MAAM,QAAQ;AAAA,YACpB,MAAMA,KAAAA,MAAM,QAAQ;AAAA,YACpB,OAAKO,eAAA,CAAGP,KAAAA,MAAM,QAAQ,UAAK,KAAA,mBAAA,IAAA,YAAA,CAAA;AAAA,YAC3B,OAAOA,KAAAA,MAAM,QAAQ;AAAA,YACrB,QAAQA,KAAAA,MAAM,QAAQ;AAAA,YACtB,OAAOA,KAAAA,MAAM,QAAQ;AAAA,YACrB,UAAUF,MAAA,cAAA;AAAA,UAAA;6BAEX,MAAyB;AAAA,cAAtBE,gBAAAA,gBAAAA,KAAAA,MAAM,QAAQ,KAAK,IAAG,KACzB,CAAA;AAAA,cAAAC,YAAgBH,MAAA,YAAA,CAAA;AAAA,YAAA;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./file-upload-widget.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const fileUploadWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const fileUploadWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-69c9393f"]]);
|
|
5
5
|
export {
|
|
6
6
|
fileUploadWidget as default
|
|
7
7
|
};
|
|
@@ -4,17 +4,18 @@ import { useFilesystemApi, useFilePreview, SvgIcon, AttachmentRender, TpfModal,
|
|
|
4
4
|
import { message } from "ant-design-vue";
|
|
5
5
|
import { ComponentNameEnum, WidgetTypeEnum } from "../../../core/src/constants/WidgetTypeEnum.js";
|
|
6
6
|
import { useField } from "../../../core/src/hooks/useField.js";
|
|
7
|
-
const _hoisted_1 =
|
|
7
|
+
const _hoisted_1 = ["loading", "disabled"];
|
|
8
|
+
const _hoisted_2 = {
|
|
8
9
|
gutter: 20,
|
|
9
10
|
class: "fileUploadTip"
|
|
10
11
|
};
|
|
11
|
-
const
|
|
12
|
+
const _hoisted_3 = {
|
|
12
13
|
key: 0
|
|
13
14
|
};
|
|
14
|
-
const
|
|
15
|
+
const _hoisted_4 = {
|
|
15
16
|
key: 1
|
|
16
17
|
};
|
|
17
|
-
const
|
|
18
|
+
const _hoisted_5 = ["src"];
|
|
18
19
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
19
20
|
...{
|
|
20
21
|
name: WidgetTypeEnum.fileUpload,
|
|
@@ -178,7 +179,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
178
179
|
...defineExposed
|
|
179
180
|
});
|
|
180
181
|
return (_ctx, _cache) => {
|
|
181
|
-
const _component_a_button = resolveComponent("a-button");
|
|
182
182
|
const _component_a_space = resolveComponent("a-space");
|
|
183
183
|
const _component_a_upload = resolveComponent("a-upload");
|
|
184
184
|
return !unref(handleHidden) ? (openBlock(), createBlock(FormItemWrapper, mergeProps({
|
|
@@ -210,25 +210,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
210
210
|
size: 10,
|
|
211
211
|
align: "start"
|
|
212
212
|
}, {
|
|
213
|
-
default: withCtx(() => [
|
|
213
|
+
default: withCtx(() => [createElementVNode("span", {
|
|
214
214
|
loading: unref(loading),
|
|
215
215
|
class: "tpf-button",
|
|
216
216
|
type: "primary",
|
|
217
217
|
disabled: unref(handleDisabled)
|
|
218
|
-
}, {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}), _cache[2] || (_cache[2] = createTextVNode(" 上传文件 "))]),
|
|
222
|
-
_: 1,
|
|
223
|
-
__: [2]
|
|
224
|
-
}, 8, ["loading", "disabled"])]),
|
|
218
|
+
}, [createVNode(unref(SvgIcon), {
|
|
219
|
+
"icon-class": "daochu"
|
|
220
|
+
}), _cache[2] || (_cache[2] = createTextVNode(" 上传文件 "))], 8, _hoisted_1)]),
|
|
225
221
|
_: 1
|
|
226
222
|
})) : createCommentVNode("", true)]),
|
|
227
223
|
_: 1
|
|
228
|
-
}, 8, ["disabled", "class", "multiple", "accept", "file-list", "listType", "onPreview"]), createElementVNode("div",
|
|
224
|
+
}, 8, ["disabled", "class", "multiple", "accept", "file-list", "listType", "onPreview"]), createElementVNode("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(descCol.value, (item, inx) => {
|
|
229
225
|
return openBlock(), createElementBlock("div", {
|
|
230
226
|
key: inx
|
|
231
|
-
}, [descCol.value.length > 1 ? (openBlock(), createElementBlock("span",
|
|
227
|
+
}, [descCol.value.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(inx + 1) + "、" + toDisplayString(item), 1)) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(item), 1))]);
|
|
232
228
|
}), 128))])], 64)) : (openBlock(), createBlock(unref(AttachmentRender), {
|
|
233
229
|
key: 1,
|
|
234
230
|
data: unref(fieldModel)
|
|
@@ -243,7 +239,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
243
239
|
"width": "100%"
|
|
244
240
|
},
|
|
245
241
|
src: unref(previewImage)
|
|
246
|
-
}, null, 8,
|
|
242
|
+
}, null, 8, _hoisted_5)]),
|
|
247
243
|
_: 1
|
|
248
244
|
}, 8, ["visible", "title"])]),
|
|
249
245
|
_: 1
|