@kp-ui/lowcode-pc 1.0.0-alpha.11 → 1.0.0-alpha.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kp-ui/lowcode-pc",
3
- "version": "1.0.0-alpha.11",
3
+ "version": "1.0.0-alpha.12",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -176,7 +176,7 @@ function useTableWidget({ props, fieldModel }) {
176
176
  if (props.field.options.dsEnabled) {
177
177
  isLoading.value = true;
178
178
  try {
179
- const { data = {} } = await loadataSource();
179
+ const data = await loadataSource();
180
180
  const tableData = (data == null ? void 0 : data.list) || [];
181
181
  fieldModel.value = cloneDeep(tableData || []);
182
182
  setPagination(data);
@@ -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};\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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"}