@kp-ui/lowcode-pc 1.0.7 → 1.0.9

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.
Files changed (47) hide show
  1. package/assets/styles/style.css +19 -19
  2. package/core/src/hooks/useAppRef.js +0 -1
  3. package/core/src/hooks/useAppRef.js.map +1 -1
  4. package/core/src/hooks/useField.js +1 -0
  5. package/core/src/hooks/useField.js.map +1 -1
  6. package/core/src/lang/zh-CN.js +1 -0
  7. package/core/src/lang/zh-CN.js.map +1 -1
  8. package/package.json +36 -36
  9. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js +0 -1
  10. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  11. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js +0 -1
  12. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -1
  13. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js +0 -1
  14. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -1
  15. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js +0 -1
  16. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -1
  17. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +1 -1
  18. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js +5 -9
  19. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -1
  20. package/src/components/desginer/form-widget/container-widget/useTableWidget.js +22 -1
  21. package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -1
  22. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js +0 -1
  23. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  24. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js +0 -1
  25. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  26. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js +0 -1
  27. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  28. package/src/components/form-render/RenderWigetList.vue2.js +4 -7
  29. package/src/components/form-render/RenderWigetList.vue2.js.map +1 -1
  30. package/src/components/form-render/container-items/data-table-widget.vue2.js +0 -1
  31. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  32. package/src/components/form-render/container-items/grid-col-widget.vue2.js +0 -1
  33. package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -1
  34. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +1 -1
  35. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +4 -2
  36. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -1
  37. package/src/components/form-render/container-items/grid-widget.vue2.js +0 -1
  38. package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -1
  39. package/src/components/form-render/container-items/tab-widget.vue.js +1 -1
  40. package/src/components/form-render/container-items/tab-widget.vue2.js +2 -10
  41. package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -1
  42. package/src/components/form-render/container-items/vf-box-widget.vue.js +1 -1
  43. package/src/components/form-render/container-items/vf-box-widget.vue2.js +2 -3
  44. package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -1
  45. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +0 -1
  46. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -1
  47. package/stats.html +1 -1
package/package.json CHANGED
@@ -1,39 +1,39 @@
1
1
  {
2
- "name": "@kp-ui/lowcode-pc",
3
- "version": "1.0.7",
4
- "publishConfig": {
5
- "access": "public",
6
- "registry": "https://registry.npmjs.org/"
2
+ "name": "@kp-ui/lowcode-pc",
3
+ "version": "1.0.9",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org/"
7
+ },
8
+ "module": "index.js",
9
+ "dependencies": {
10
+ "vxe-pc-ui": "4.10.29",
11
+ "vxe-table": "4.17.18",
12
+ "vuedraggable": "^4.0.0",
13
+ "bpmn-js": "13.2.0",
14
+ "vue-json-viewer": "^3.0.1",
15
+ "ant-design-vue": "4.2.6",
16
+ "query-string": "^6.14.1",
17
+ "dayjs": "^1.11.7",
18
+ "@kp-ui/tool": "2.14.1",
19
+ "tailwindcss": "3.4.9",
20
+ "vue": "3.5.17",
21
+ "vue-echarts": "^8.0.1",
22
+ "file-saver": "^2.0.5",
23
+ "echarts": "^5.6.0"
24
+ },
25
+ "main": "index.js",
26
+ "types": "types/pc/install.d.ts",
27
+ "sideEffects": [
28
+ "./assets/styles/*",
29
+ "./_virtual/*"
30
+ ],
31
+ "exports": {
32
+ ".": {
33
+ "import": "./install.js",
34
+ "types": "./types/pc/install.d.ts"
7
35
  },
8
- "module": "index.js",
9
- "dependencies": {
10
- "vxe-pc-ui": "4.10.29",
11
- "vxe-table": "4.17.18",
12
- "vuedraggable": "^4.0.0",
13
- "bpmn-js": "13.2.0",
14
- "vue-json-viewer": "^3.0.1",
15
- "ant-design-vue": "4.2.6",
16
- "query-string": "^6.14.1",
17
- "dayjs": "^1.11.7",
18
- "@kp-ui/tool": "2.14.1",
19
- "tailwindcss": "3.4.9",
20
- "vue": "3.5.17",
21
- "vue-echarts": "^8.0.1",
22
- "file-saver": "^2.0.5",
23
- "echarts": "^5.6.0"
24
- },
25
- "main": "index.js",
26
- "types": "types/pc/install.d.ts",
27
- "sideEffects": [
28
- "./assets/styles/*",
29
- "./_virtual/*"
30
- ],
31
- "exports": {
32
- ".": {
33
- "import": "./install.js",
34
- "types": "./types/pc/install.d.ts"
35
- },
36
- "./style": "./assets/styles/style.css",
37
- "./styles/*": "./assets/styles/*"
38
- }
36
+ "./style": "./assets/styles/style.css",
37
+ "./styles/*": "./assets/styles/*"
38
+ }
39
39
  }
@@ -17,7 +17,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  widget: {},
18
18
  field: {},
19
19
  parentWidget: {},
20
- subFormRowIndex: {},
21
20
  indexOfParentList: {}
22
21
  },
23
22
  setup(__props, { expose: __expose }) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" v-if=\"!handleHidden\" :style=\"{ width: tableWidth }\">\n <div class=\"table-toolbar t-flex t-justify-end\" v-if=\"showColumnManager\">\n <SvgIcon size=\"22\" type=\"icon-weizhi\" cursor shadow />\n </div>\n <Table\n :tableProps=\"tableProps\"\n @register=\"register\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n @change=\"handleTableChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useTableWidget } from './useTableWidget';\n import { useField } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { DataTableWidget } from '../../widget-panel/advanced';\n import DataTableColumnDialog from '../../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, designState } = useField(props);\n\n // 列管理相关\n const columnDialogVisible = ref(false);\n const columnList = ref<any[]>([]);\n\n const {\n showColumnManager,\n isLoading,\n tableProps,\n pagintion,\n tableWidth,\n setPagination,\n handleTableChange,\n setTableRef,\n initTableSoureData,\n tableDefinExpoed\n } = useTableWidget({\n designState,\n fieldModel,\n props\n });\n\n watchEffect(() => {\n setPagination({\n total: props.field.options.showPagination ? 1 : 0\n });\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n columnResizableChange: data => {\n const { field, resizeWidth } = data.resizeColumn;\n if (field) {\n const column = props.field.options.tableColumns.find(\n item => item.dataIndex === field\n );\n column.isAutoWidth = false;\n column.width = resizeWidth;\n }\n }\n }\n });\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = props.field.options.tableColumns.map(col => {\n const found = newColumns.find(item => item.dataIndex === col.dataIndex);\n if (found) {\n return { ...col, show: found.visible !== false };\n }\n return col;\n });\n }\n // 清除 vxe-table storage 中的列配置\n clearTableStorage();\n // 重新初始化列列表\n initColumnList();\n };\n\n // 初始化列列表\n const initColumnList = () => {\n const tableColumns = props.field.options.tableColumns || [];\n if (tableColumns.length > 0) {\n columnList.value = tableColumns.map(col => ({\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n }));\n }\n };\n\n // 清除 vxe-table storage 中的列配置\n const clearTableStorage = () => {\n // 清除当前表格的 storage key(包含表格 id)\n const tableId = props.field.id || props.field.options.name;\n const keysToRemove: string[] = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n // 查找包含表格 id 的 storage key\n if (key && key.includes(tableId)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach(key => localStorage.removeItem(key));\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n setPagination,\n fieldEditor: tableRef.value\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .top-action {\n display: flex;\n gap: 8px;\n padding: 4px 0 8px;\n }\n\n .talbe-wrapper {\n width: 100%;\n // display: flex;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","_openBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAwBI,UAAM,QAAQ;AAMd,UAAM,EAAE,YAAY,cAAc,eAAe,YAAA,IAAgB,SAAS,KAAK;AAGnD,QAAI,KAAK;AACrC,UAAM,aAAa,IAAW,EAAE;AAEhC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACH;AAED,gBAAY,MAAM;AACd,oBAAc;AAAA,QACV,OAAO,MAAM,MAAM,QAAQ,iBAAiB,IAAI;AAAA,MAAA,CACnD;AAAA,IACL,CAAC;AAED,UAAM,EAAE,UAAU,SAAA,IAAa,YAAY;AAAA,MACvC,OAAO;AAAA,QACH,QAAQ,MAAM,MAAM,QAAQ;AAAA,QAC5B,eAAe,MAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,uBAAuB,CAAA,SAAQ;AAC3B,gBAAM,EAAE,OAAO,YAAA,IAAgB,KAAK;AACpC,cAAI,OAAO;AACP,kBAAM,SAAS,MAAM,MAAM,QAAQ,aAAa;AAAA,cAC5C,CAAA,SAAQ,KAAK,cAAc;AAAA,YAAA;AAE/B,mBAAO,cAAc;AACrB,mBAAO,QAAQ;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,IACJ,CACH;AA0BD,UAAM,iBAAiB,MAAM;AACzB,YAAM,eAAe,MAAM,MAAM,QAAQ,gBAAgB,CAAA;AACzD,UAAI,aAAa,SAAS,GAAG;AACzB,mBAAW,QAAQ,aAAa,IAAI,CAAA,SAAQ;AAAA,UACxC,GAAG;AAAA,UACH,SAAS,IAAI,SAAS;AAAA,UACtB,OAAO,IAAI,SAAS,IAAI;AAAA,QAAA,EAC1B;AAAA,MACN;AAAA,IACJ;AAiBA,gBAAY,MAAM;AACd,UAAI,SAAS,OAAO;AAChB,oBAAY,SAAS,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAED,cAAU,MAAM;AACZ,yBAAA;AACA,qBAAA;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,aAAa,SAAS;AAAA,IAAA,CACzB;;cA/IiCA,MAAA,YAAA,kBAAlCC,mBAWM,OAAA;AAAA;QAXD,OAAM;AAAA,QAAsC,+BAAgBD,MAAA,UAAA,GAAU;AAAA,MAAA;QACjBA,MAAA,iBAAA,KAAtDE,aAAAD,mBAEM,OAFN,YAEM;AAAA,UADFE,YAAsDH,MAAA,OAAA,GAAA;AAAA,YAA7C,MAAK;AAAA,YAAK,MAAK;AAAA,YAAc,QAAA;AAAA,YAAO,QAAA;AAAA,UAAA;;QAEjDG,YAMEH,MAAA,KAAA,GAAA;AAAA,UALG,YAAYA,MAAA,UAAA;AAAA,UACZ,YAAUA,MAAA,QAAA;AAAA,UACV,SAASA,MAAA,SAAA;AAAA,UACT,YAAYA,MAAA,SAAA;AAAA,UACZ,UAAQA,MAAA,iBAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" v-if=\"!handleHidden\" :style=\"{ width: tableWidth }\">\n <div class=\"table-toolbar t-flex t-justify-end\" v-if=\"showColumnManager\">\n <SvgIcon size=\"22\" type=\"icon-weizhi\" cursor shadow />\n </div>\n <Table\n :tableProps=\"tableProps\"\n @register=\"register\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n @change=\"handleTableChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useTableWidget } from './useTableWidget';\n import { useField } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { DataTableWidget } from '../../widget-panel/advanced';\n import DataTableColumnDialog from '../../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, designState } = useField(props);\n\n // 列管理相关\n const columnDialogVisible = ref(false);\n const columnList = ref<any[]>([]);\n\n const {\n showColumnManager,\n isLoading,\n tableProps,\n pagintion,\n tableWidth,\n setPagination,\n handleTableChange,\n setTableRef,\n initTableSoureData,\n tableDefinExpoed\n } = useTableWidget({\n designState,\n fieldModel,\n props\n });\n\n watchEffect(() => {\n setPagination({\n total: props.field.options.showPagination ? 1 : 0\n });\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n columnResizableChange: data => {\n const { field, resizeWidth } = data.resizeColumn;\n if (field) {\n const column = props.field.options.tableColumns.find(\n item => item.dataIndex === field\n );\n column.isAutoWidth = false;\n column.width = resizeWidth;\n }\n }\n }\n });\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = props.field.options.tableColumns.map(col => {\n const found = newColumns.find(item => item.dataIndex === col.dataIndex);\n if (found) {\n return { ...col, show: found.visible !== false };\n }\n return col;\n });\n }\n // 清除 vxe-table storage 中的列配置\n clearTableStorage();\n // 重新初始化列列表\n initColumnList();\n };\n\n // 初始化列列表\n const initColumnList = () => {\n const tableColumns = props.field.options.tableColumns || [];\n if (tableColumns.length > 0) {\n columnList.value = tableColumns.map(col => ({\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n }));\n }\n };\n\n // 清除 vxe-table storage 中的列配置\n const clearTableStorage = () => {\n // 清除当前表格的 storage key(包含表格 id)\n const tableId = props.field.id || props.field.options.name;\n const keysToRemove: string[] = [];\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n // 查找包含表格 id 的 storage key\n if (key && key.includes(tableId)) {\n keysToRemove.push(key);\n }\n }\n keysToRemove.forEach(key => localStorage.removeItem(key));\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n setPagination,\n fieldEditor: tableRef.value\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .top-action {\n display: flex;\n gap: 8px;\n padding: 4px 0 8px;\n }\n\n .talbe-wrapper {\n width: 100%;\n // display: flex;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","_openBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBI,UAAM,QAAQ;AAMd,UAAM,EAAE,YAAY,cAAc,eAAe,YAAA,IAAgB,SAAS,KAAK;AAGnD,QAAI,KAAK;AACrC,UAAM,aAAa,IAAW,EAAE;AAEhC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACH;AAED,gBAAY,MAAM;AACd,oBAAc;AAAA,QACV,OAAO,MAAM,MAAM,QAAQ,iBAAiB,IAAI;AAAA,MAAA,CACnD;AAAA,IACL,CAAC;AAED,UAAM,EAAE,UAAU,SAAA,IAAa,YAAY;AAAA,MACvC,OAAO;AAAA,QACH,QAAQ,MAAM,MAAM,QAAQ;AAAA,QAC5B,eAAe,MAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,uBAAuB,CAAA,SAAQ;AAC3B,gBAAM,EAAE,OAAO,YAAA,IAAgB,KAAK;AACpC,cAAI,OAAO;AACP,kBAAM,SAAS,MAAM,MAAM,QAAQ,aAAa;AAAA,cAC5C,CAAA,SAAQ,KAAK,cAAc;AAAA,YAAA;AAE/B,mBAAO,cAAc;AACrB,mBAAO,QAAQ;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,IACJ,CACH;AA0BD,UAAM,iBAAiB,MAAM;AACzB,YAAM,eAAe,MAAM,MAAM,QAAQ,gBAAgB,CAAA;AACzD,UAAI,aAAa,SAAS,GAAG;AACzB,mBAAW,QAAQ,aAAa,IAAI,CAAA,SAAQ;AAAA,UACxC,GAAG;AAAA,UACH,SAAS,IAAI,SAAS;AAAA,UACtB,OAAO,IAAI,SAAS,IAAI;AAAA,QAAA,EAC1B;AAAA,MACN;AAAA,IACJ;AAiBA,gBAAY,MAAM;AACd,UAAI,SAAS,OAAO;AAChB,oBAAY,SAAS,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAED,cAAU,MAAM;AACZ,yBAAA;AACA,qBAAA;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,aAAa,SAAS;AAAA,IAAA,CACzB;;cA/IiCA,MAAA,YAAA,kBAAlCC,mBAWM,OAAA;AAAA;QAXD,OAAM;AAAA,QAAsC,+BAAgBD,MAAA,UAAA,GAAU;AAAA,MAAA;QACjBA,MAAA,iBAAA,KAAtDE,aAAAD,mBAEM,OAFN,YAEM;AAAA,UADFE,YAAsDH,MAAA,OAAA,GAAA;AAAA,YAA7C,MAAK;AAAA,YAAK,MAAK;AAAA,YAAc,QAAA;AAAA,YAAO,QAAA;AAAA,UAAA;;QAEjDG,YAMEH,MAAA,KAAA,GAAA;AAAA,UALG,YAAYA,MAAA,UAAA;AAAA,UACZ,YAAUA,MAAA,QAAA;AAAA,UACV,SAASA,MAAA,SAAA;AAAA,UACT,YAAYA,MAAA,SAAA;AAAA,UACZ,UAAQA,MAAA,iBAAA;AAAA,QAAA;;;;;"}
@@ -15,7 +15,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  widget: {},
16
16
  field: {},
17
17
  parentWidget: {},
18
- subFormRowIndex: {},
19
18
  indexOfParentList: { default: 0 },
20
19
  colHeight: { default: null }
21
20
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"grid-col-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["<template>\n <a-col\n class=\"grid-cell\"\n v-bind=\"layoutProps\"\n :class=\"[selected(widget.id) ? 'selected' : '', customClass]\"\n :style=\"colHeightStyle\"\n :key=\"widget.id\"\n @click.stop=\"selectWidget(widget)\"\n @contextmenu.prevent.stop=\"onContextMenu\"\n >\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </a-col>\n <!-- 右键菜单 -->\n <WidgetContextMenu\n v-if=\"contextMenuState.visible\"\n v-model:visible=\"contextMenuState.visible\"\n v-model:list=\"list\"\n :x=\"contextMenuState.x\"\n :y=\"contextMenuState.y\"\n :widget=\"widget\"\n :index=\"indexOfParentList\"\n :parentWidget=\"parentWidget\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, reactive, ref } from 'vue';\n import {\n RenderWidgetList,\n useDesigner,\n useWidget,\n Widget,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetContextMenu } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.GridColWidget,\n componentName: ComponentNameEnum.ContainerWidget,\n inheritAttrs: false\n });\n\n const props = withDefaults(\n defineProps<\n WidgetProps & {\n colHeight?: number | string | null;\n }\n >(),\n {\n indexOfParentList: 0,\n colHeight: null\n }\n );\n const list = defineModel<Widget[]>('list', {\n default: () => []\n });\n\n const { customClass, options } = useWidget(props.widget);\n const { selected, selectWidget } = useDesigner();\n\n const colHeightStyle = computed(() => {\n return props.colHeight ? { height: props.colHeight } : {};\n });\n\n const layoutProps = computed(() => ({\n span: options.value.span || 12,\n offset: options.value.offset || 0,\n push: options.value.push || 0,\n pull: options.value.pull || 0\n }));\n\n const contextMenuState = reactive({\n visible: false,\n x: 0,\n y: 0\n });\n\n const onContextMenu = (event: MouseEvent) => {\n contextMenuState.x = event.clientX;\n contextMenuState.y = event.clientY;\n contextMenuState.visible = true;\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-cell {\n min-height: 38px !important;\n //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */\n padding: 3px;\n border: 1px dashed #336699;\n position: relative;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n :deep(.widget-wrapper.container-wrapper) {\n border-width: 1px !important;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n }\n .form-widget-list {\n min-height: 28px;\n }\n\n :deep(.designer-widget-list.empty-list) {\n min-height: 48px;\n .empty-drop-zone {\n height: 42px;\n }\n }\n .grid-col-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 28px;\n line-height: 28px;\n background: var(--ant-primary-4);\n z-index: 999;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .grid-col-handler {\n position: absolute;\n top: -2px;\n left: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n z-index: 9;\n\n i {\n font-size: 14px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: default;\n }\n }\n }\n\n .grid-col-action,\n .grid-col-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n</style>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","widget","_withModifiers","_createVNode","indexOfParentList","parentWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CI,UAAM,QAAQ;AAWd,UAAM,OAAOA,SAAqB,SAAC,MAElC;AAED,UAAM,EAAE,aAAa,QAAA,IAAY,UAAU,MAAM,MAAM;AACvD,UAAM,EAAE,UAAU,aAAA,IAAiB,YAAA;AAEnC,UAAM,iBAAiB,SAAS,MAAM;AAClC,aAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,UAAA,IAAc,CAAA;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,OAAO;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,QAAQ,QAAQ,MAAM,UAAU;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,MAAM,QAAQ,MAAM,QAAQ;AAAA,IAAA,EAC9B;AAEF,UAAM,mBAAmB,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACN;AAED,UAAM,gBAAgB,CAAC,UAAsB;AACzC,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,UAAU;AAAA,IAC/B;;;;SAhFAC,UAAA,GAAAC,YAUQ,kBAVRC,WAUQ,EATJ,OAAM,YAAA,GACE,YAAA,OAAW;AAAA,UAClB,QAAQC,MAAA,QAAA,EAASC,YAAO,EAAE,qBAAqBD,MAAA,WAAA,CAAW;AAAA,UAC1D,OAAO,eAAA;AAAA,UACP,KAAKC,KAAAA,OAAO;AAAA,UACZ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAC,cAAA,CAAA,WAAOF,MAAA,YAAA,EAAaC,KAAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,UAC/B,6BAA0B,eAAa,CAAA,WAAA,MAAA,CAAA;AAAA,QAAA;2BAExC,MAA4E;AAAA,YAA5EE,YAA4EH,MAAA,gBAAA,GAAA;AAAA,cAAlD,MAAMC,KAAAA,OAAO;AAAA,cAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,cAAG,cAAcA,KAAAA;AAAAA,YAAAA;;;;QAI5D,iBAAiB,wBAD3BH,YASEE,MAAA,iBAAA,GAAA;AAAA;UAPU,SAAS,iBAAiB;AAAA,UAAjB,oBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAA,iBAAiB,UAAO;AAAA,UACjC,MAAM,KAAA;AAAA,iEAAA,KAAI,QAAA;AAAA,UACjB,GAAG,iBAAiB;AAAA,UACpB,GAAG,iBAAiB;AAAA,UACpB,QAAQC,KAAAA;AAAAA,UACR,OAAOG,KAAAA;AAAAA,UACP,cAAcC,KAAAA;AAAAA,QAAAA;;;;;"}
1
+ {"version":3,"file":"grid-col-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["<template>\n <a-col\n class=\"grid-cell\"\n v-bind=\"layoutProps\"\n :class=\"[selected(widget.id) ? 'selected' : '', customClass]\"\n :style=\"colHeightStyle\"\n :key=\"widget.id\"\n @click.stop=\"selectWidget(widget)\"\n @contextmenu.prevent.stop=\"onContextMenu\"\n >\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </a-col>\n <!-- 右键菜单 -->\n <WidgetContextMenu\n v-if=\"contextMenuState.visible\"\n v-model:visible=\"contextMenuState.visible\"\n v-model:list=\"list\"\n :x=\"contextMenuState.x\"\n :y=\"contextMenuState.y\"\n :widget=\"widget\"\n :index=\"indexOfParentList\"\n :parentWidget=\"parentWidget\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, reactive, ref } from 'vue';\n import {\n RenderWidgetList,\n useDesigner,\n useWidget,\n Widget,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetContextMenu } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.GridColWidget,\n componentName: ComponentNameEnum.ContainerWidget,\n inheritAttrs: false\n });\n\n const props = withDefaults(\n defineProps<\n WidgetProps & {\n colHeight?: number | string | null;\n }\n >(),\n {\n indexOfParentList: 0,\n colHeight: null\n }\n );\n const list = defineModel<Widget[]>('list', {\n default: () => []\n });\n\n const { customClass, options } = useWidget(props.widget);\n const { selected, selectWidget } = useDesigner();\n\n const colHeightStyle = computed(() => {\n return props.colHeight ? { height: props.colHeight } : {};\n });\n\n const layoutProps = computed(() => ({\n span: options.value.span || 12,\n offset: options.value.offset || 0,\n push: options.value.push || 0,\n pull: options.value.pull || 0\n }));\n\n const contextMenuState = reactive({\n visible: false,\n x: 0,\n y: 0\n });\n\n const onContextMenu = (event: MouseEvent) => {\n contextMenuState.x = event.clientX;\n contextMenuState.y = event.clientY;\n contextMenuState.visible = true;\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-cell {\n min-height: 38px !important;\n //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */\n padding: 3px;\n border: 1px dashed #336699;\n position: relative;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n :deep(.widget-wrapper.container-wrapper) {\n border-width: 1px !important;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n }\n .form-widget-list {\n min-height: 28px;\n }\n\n :deep(.designer-widget-list.empty-list) {\n min-height: 48px;\n .empty-drop-zone {\n height: 42px;\n }\n }\n .grid-col-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 28px;\n line-height: 28px;\n background: var(--ant-primary-4);\n z-index: 999;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .grid-col-handler {\n position: absolute;\n top: -2px;\n left: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n z-index: 9;\n\n i {\n font-size: 14px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: default;\n }\n }\n }\n\n .grid-col-action,\n .grid-col-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n</style>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","widget","_withModifiers","_createVNode","indexOfParentList","parentWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CI,UAAM,QAAQ;AAWd,UAAM,OAAOA,SAAqB,SAAC,MAElC;AAED,UAAM,EAAE,aAAa,QAAA,IAAY,UAAU,MAAM,MAAM;AACvD,UAAM,EAAE,UAAU,aAAA,IAAiB,YAAA;AAEnC,UAAM,iBAAiB,SAAS,MAAM;AAClC,aAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,UAAA,IAAc,CAAA;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,OAAO;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,QAAQ,QAAQ,MAAM,UAAU;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,MAAM,QAAQ,MAAM,QAAQ;AAAA,IAAA,EAC9B;AAEF,UAAM,mBAAmB,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACN;AAED,UAAM,gBAAgB,CAAC,UAAsB;AACzC,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,UAAU;AAAA,IAC/B;;;;SAhFAC,UAAA,GAAAC,YAUQ,kBAVRC,WAUQ,EATJ,OAAM,YAAA,GACE,YAAA,OAAW;AAAA,UAClB,QAAQC,MAAA,QAAA,EAASC,YAAO,EAAE,qBAAqBD,MAAA,WAAA,CAAW;AAAA,UAC1D,OAAO,eAAA;AAAA,UACP,KAAKC,KAAAA,OAAO;AAAA,UACZ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAC,cAAA,CAAA,WAAOF,MAAA,YAAA,EAAaC,KAAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,UAC/B,6BAA0B,eAAa,CAAA,WAAA,MAAA,CAAA;AAAA,QAAA;2BAExC,MAA4E;AAAA,YAA5EE,YAA4EH,MAAA,gBAAA,GAAA;AAAA,cAAlD,MAAMC,KAAAA,OAAO;AAAA,cAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,cAAG,cAAcA,KAAAA;AAAAA,YAAAA;;;;QAI5D,iBAAiB,wBAD3BH,YASEE,MAAA,iBAAA,GAAA;AAAA;UAPU,SAAS,iBAAiB;AAAA,UAAjB,oBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAA,iBAAiB,UAAO;AAAA,UACjC,MAAM,KAAA;AAAA,iEAAA,KAAI,QAAA;AAAA,UACjB,GAAG,iBAAiB;AAAA,UACpB,GAAG,iBAAiB;AAAA,UACpB,QAAQC,KAAAA;AAAAA,UACR,OAAOG,KAAAA;AAAAA,UACP,cAAcC,KAAAA;AAAAA,QAAAA;;;;;"}
@@ -12,7 +12,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  widget: {},
13
13
  field: {},
14
14
  parentWidget: {},
15
- subFormRowIndex: {},
16
15
  indexOfParentList: {}
17
16
  },
18
17
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"grid-sub-form-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue"],"sourcesContent":["<template>\n <div class=\"sub-form-container\">\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, ContainerTypeEnum, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { GridSubFormWidget } from '../../widget-panel/containers';\n import { WidgetProps } from '@kp-ui/lowcode-core';\n const props = defineProps<WidgetProps<GridSubFormWidget>>();\n defineOptions({\n name: ContainerTypeEnum.GridSubFormWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","widget"],"mappings":";;;;;;;;;;;;;;;;;;;AACI,aAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,QADFC,YAA4EC,MAAA,gBAAA,GAAA;AAAA,UAAlD,MAAMC,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAAG,cAAcA,KAAAA;AAAAA,QAAAA;;;;;"}
1
+ {"version":3,"file":"grid-sub-form-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue"],"sourcesContent":["<template>\n <div class=\"sub-form-container\">\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, ContainerTypeEnum, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { GridSubFormWidget } from '../../widget-panel/containers';\n import { WidgetProps } from '@kp-ui/lowcode-core';\n const props = defineProps<WidgetProps<GridSubFormWidget>>();\n defineOptions({\n name: ContainerTypeEnum.GridSubFormWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","widget"],"mappings":";;;;;;;;;;;;;;;;;;AACI,aAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,QADFC,YAA4EC,MAAA,gBAAA,GAAA;AAAA,UAAlD,MAAMC,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAAG,cAAcA,KAAAA;AAAAA,QAAAA;;;;;"}
@@ -13,7 +13,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  widget: {},
14
14
  field: {},
15
15
  parentWidget: {},
16
- subFormRowIndex: {},
17
16
  indexOfParentList: {}
18
17
  },
19
18
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"grid-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-widget.vue"],"sourcesContent":["<template>\n <div class=\"grid-container\">\n <a-row\n :key=\"widget.id\"\n :gutter=\"widget.options.gutter\"\n :justify=\"options.gridJustify ?? 'start'\"\n :align=\"options.gridAlign ?? 'top'\"\n :wrap=\"options.gridWrap ?? true\"\n >\n <grid-col-widget\n v-for=\"(colWidget, colIdx) in widget.cols\"\n :key=\"colWidget.id\"\n :field=\"colWidget\"\n :widget=\"colWidget\"\n v-model:list=\"widget.cols\"\n :index-of-parent-list=\"colIdx\"\n :parent-widget=\"widget\"\n :col-height=\"widget.options.colHeight\"\n />\n </a-row>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import GridColWidget from './grid-col-widget.vue';\n import {\n ContainerTypeEnum,\n ComponentNameEnum,\n WidgetProps,\n useField\n } from '@kp-ui/lowcode-core';\n import { GridWidget } from '../../widget-panel/containers';\n\n const props = defineProps<WidgetProps<GridWidget>>();\n defineOptions({\n name: ContainerTypeEnum.grid,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const { options } = useField(props, false);\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 3px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AAMd,UAAM,EAAE,QAAA,IAAY,SAAS,OAAO,KAAK;;;AAtCzC,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,sBAlBFC,YAiBQ,kBAAA;AAAA,UAhBH,KAAKC,KAAAA,OAAO;AAAA,UACZ,QAAQA,KAAAA,OAAO,QAAQ;AAAA,UACvB,SAASC,MAAA,OAAA,EAAQ,eAAW;AAAA,UAC5B,OAAOA,MAAA,OAAA,EAAQ,aAAS;AAAA,UACxB,MAAMA,MAAA,OAAA,EAAQ,YAAQ;AAAA,QAAA;2BAGnB,MAA0C;AAAA,aAD9CJ,UAAA,IAAA,GAAAC,mBASEI,2BARgCF,KAAAA,OAAO,MAAI,CAAjC,WAAW,WAAM;kCAD7BD,YASE,eAAA;AAAA,gBAPG,KAAK,UAAU;AAAA,gBACf,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACD,MAAMC,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,OAAI;AAAA,gBACxB,wBAAsB;AAAA,gBACtB,iBAAeA,KAAAA;AAAAA,gBACf,cAAYA,KAAAA,OAAO,QAAQ;AAAA,cAAA;;;;;;;;;"}
1
+ {"version":3,"file":"grid-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-widget.vue"],"sourcesContent":["<template>\n <div class=\"grid-container\">\n <a-row\n :key=\"widget.id\"\n :gutter=\"widget.options.gutter\"\n :justify=\"options.gridJustify ?? 'start'\"\n :align=\"options.gridAlign ?? 'top'\"\n :wrap=\"options.gridWrap ?? true\"\n >\n <grid-col-widget\n v-for=\"(colWidget, colIdx) in widget.cols\"\n :key=\"colWidget.id\"\n :field=\"colWidget\"\n :widget=\"colWidget\"\n v-model:list=\"widget.cols\"\n :index-of-parent-list=\"colIdx\"\n :parent-widget=\"widget\"\n :col-height=\"widget.options.colHeight\"\n />\n </a-row>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import GridColWidget from './grid-col-widget.vue';\n import {\n ContainerTypeEnum,\n ComponentNameEnum,\n WidgetProps,\n useField\n } from '@kp-ui/lowcode-core';\n import { GridWidget } from '../../widget-panel/containers';\n\n const props = defineProps<WidgetProps<GridWidget>>();\n defineOptions({\n name: ContainerTypeEnum.grid,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const { options } = useField(props, false);\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 3px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AAMd,UAAM,EAAE,QAAA,IAAY,SAAS,OAAO,KAAK;;;AAtCzC,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,sBAlBFC,YAiBQ,kBAAA;AAAA,UAhBH,KAAKC,KAAAA,OAAO;AAAA,UACZ,QAAQA,KAAAA,OAAO,QAAQ;AAAA,UACvB,SAASC,MAAA,OAAA,EAAQ,eAAW;AAAA,UAC5B,OAAOA,MAAA,OAAA,EAAQ,aAAS;AAAA,UACxB,MAAMA,MAAA,OAAA,EAAQ,YAAQ;AAAA,QAAA;2BAGnB,MAA0C;AAAA,aAD9CJ,UAAA,IAAA,GAAAC,mBASEI,2BARgCF,KAAAA,OAAO,MAAI,CAAjC,WAAW,WAAM;kCAD7BD,YASE,eAAA;AAAA,gBAPG,KAAK,UAAU;AAAA,gBACf,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACD,MAAMC,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,OAAI;AAAA,gBACxB,wBAAsB;AAAA,gBACtB,iBAAeA,KAAAA;AAAAA,gBACf,cAAYA,KAAAA,OAAO,QAAQ;AAAA,cAAA;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./tab-widget.vue2.js";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-149d976d"]]);
4
+ const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3280ee5e"]]);
5
5
  export {
6
6
  tabWidget as default
7
7
  };
@@ -1,6 +1,6 @@
1
- import { defineComponent, resolveComponent, createElementBlock, openBlock, createTextVNode, createVNode, toDisplayString, withCtx, Fragment, renderList, createBlock, createElementVNode, unref } from "vue";
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, unref } from "vue";
2
2
  import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
- import { useField } from "../../../../../core/src/hooks/useField.js";
3
+ import { useAppRef } from "../../../../../core/src/hooks/useAppRef.js";
4
4
  import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
5
5
  const _hoisted_1 = { class: "tab-content-wrapper" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -13,18 +13,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  widget: {},
14
14
  field: {},
15
15
  parentWidget: {},
16
- subFormRowIndex: {},
17
16
  indexOfParentList: {}
18
17
  },
19
- setup(__props, { expose: __expose }) {
18
+ setup(__props) {
20
19
  const props = __props;
21
- const { defineExposed } = useField(props, false);
20
+ const { initRefList } = useAppRef();
22
21
  const onTabClick = (key) => {
23
22
  props.widget.options.activeTab = key;
24
23
  };
25
- __expose({
26
- ...defineExposed
27
- });
24
+ initRefList();
28
25
  return (_ctx, _cache) => {
29
26
  const _component_a_tab_pane = resolveComponent("a-tab-pane");
30
27
  const _component_a_tabs = resolveComponent("a-tabs");
@@ -32,7 +29,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
29
  key: _ctx.widget.id,
33
30
  class: "tab-container container-design-widget"
34
31
  }, [
35
- createTextVNode(toDisplayString(_ctx.widget.options.name) + " ", 1),
36
32
  createVNode(_component_a_tabs, {
37
33
  type: _ctx.widget.options.type,
38
34
  tabBarGutter: _ctx.widget.options.tabBarGutter,
@@ -1 +1 @@
1
- {"version":3,"file":"tab-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/tab-widget.vue"],"sourcesContent":["<template>\n <div :key=\"widget.id\" class=\"tab-container container-design-widget\">\n {{ widget.options.name }}\n <a-tabs\n :type=\"widget.options.type\"\n :tabBarGutter=\"widget.options.tabBarGutter\"\n :tabPosition=\"widget.options.tabPosition\"\n v-model:activeKey=\"widget.options.activeTab\"\n @tab-click=\"onTabClick\"\n >\n <a-tab-pane\n v-for=\"tab in widget.tabs\"\n :tab=\"tab.options.label\"\n :key=\"tab.options.label\"\n >\n <div class=\"tab-content-wrapper\">\n <RenderWidgetList v-model:list=\"tab.widgetList\" :parentWidget=\"widget\" />\n </div>\n </a-tab-pane>\n </a-tabs>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useAppRef, RenderWidgetList, useField } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { TabWidget } from '../../widget-panel/containers';\n\n defineOptions({\n name: ContainerTypeEnum.Tab,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const props = defineProps<WidgetProps<TabWidget>>();\n const { defineExposed } = useField(props, false);\n\n const onTabClick = key => {\n props.widget.options.activeTab = key;\n };\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .tab-container {\n .form-widget-list {\n min-height: 28px;\n }\n :deep(.ant-tabs) {\n &.ant-tabs-bottom .ant-tabs-nav-wrap,\n &.ant-tabs-top .ant-tabs-nav-wrap {\n padding-left: 26px;\n }\n }\n }\n</style>\n"],"names":["_createElementBlock","widget","_createVNode","_openBlock","_Fragment","_renderList","_createBlock","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AACd,UAAM,EAAE,cAAA,IAAkB,SAAS,OAAO,KAAK;AAE/C,UAAM,aAAa,CAAA,QAAO;AACtB,YAAM,OAAO,QAAQ,YAAY;AAAA,IACrC;AAEA,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;;;0BAzCDA,mBAmBM,OAAA;AAAA,QAnBA,KAAKC,KAAAA,OAAO;AAAA,QAAI,OAAM;AAAA,MAAA;QACrBA,gBAAAA,gBAAAA,KAAAA,OAAO,QAAQ,IAAI,IAAG,KACzB,CAAA;AAAA,QAAAC,YAgBS,mBAAA;AAAA,UAfJ,MAAMD,KAAAA,OAAO,QAAQ;AAAA,UACrB,cAAcA,KAAAA,OAAO,QAAQ;AAAA,UAC7B,aAAaA,KAAAA,OAAO,QAAQ;AAAA,UACrB,WAAWA,KAAAA,OAAO,QAAQ;AAAA,sEAAfA,KAAAA,OAAO,QAAQ,YAAS;AAAA,UAC1C;AAAA,QAAA;2BAGG,MAA0B;AAAA,aAD9BE,UAAA,IAAA,GAAAH,mBAQaI,UAAA,MAAAC,WAPKJ,KAAAA,OAAO,OAAd,QAAG;kCADdK,YAQa,uBAAA;AAAA,gBANR,KAAK,IAAI,QAAQ;AAAA,gBACjB,KAAK,IAAI,QAAQ;AAAA,cAAA;iCAElB,MAEM;AAAA,kBAFNC,mBAEM,OAFN,YAEM;AAAA,oBADFL,YAAyEM,MAAA,gBAAA,GAAA;AAAA,sBAA/C,MAAM,IAAI;AAAA,sBAAJ,iBAAA,CAAA,WAAA,IAAI,aAAU;AAAA,sBAAG,cAAcP,KAAAA;AAAAA,oBAAAA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tab-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/tab-widget.vue"],"sourcesContent":["<template>\n <div :key=\"widget.id\" class=\"tab-container container-design-widget\">\n <a-tabs\n :type=\"widget.options.type\"\n :tabBarGutter=\"widget.options.tabBarGutter\"\n :tabPosition=\"widget.options.tabPosition\"\n v-model:activeKey=\"widget.options.activeTab\"\n @tab-click=\"onTabClick\"\n >\n <a-tab-pane\n v-for=\"tab in widget.tabs\"\n :tab=\"tab.options.label\"\n :key=\"tab.options.label\"\n >\n <div class=\"tab-content-wrapper\">\n <RenderWidgetList v-model:list=\"tab.widgetList\" :parentWidget=\"widget\" />\n </div>\n </a-tab-pane>\n </a-tabs>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useAppRef, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { TabWidget } from '../../widget-panel/containers';\n\n defineOptions({\n name: ContainerTypeEnum.Tab,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const props = defineProps<WidgetProps<TabWidget>>();\n const { initRefList } = useAppRef();\n\n const onTabClick = key => {\n props.widget.options.activeTab = key;\n };\n\n initRefList();\n</script>\n\n<style lang=\"scss\" scoped>\n .tab-container {\n .form-widget-list {\n min-height: 28px;\n }\n :deep(.ant-tabs) {\n &.ant-tabs-bottom .ant-tabs-nav-wrap,\n &.ant-tabs-top .ant-tabs-nav-wrap {\n padding-left: 26px;\n }\n }\n }\n</style>\n"],"names":["_createElementBlock","widget","_createVNode","_openBlock","_Fragment","_renderList","_createBlock","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;;;;;;;;AAgCI,UAAM,QAAQ;AACd,UAAM,EAAE,YAAA,IAAgB,UAAA;AAExB,UAAM,aAAa,CAAA,QAAO;AACtB,YAAM,OAAO,QAAQ,YAAY;AAAA,IACrC;AAEA,gBAAA;;;;0BAtCAA,mBAkBM,OAAA;AAAA,QAlBA,KAAKC,KAAAA,OAAO;AAAA,QAAI,OAAM;AAAA,MAAA;QACxBC,YAgBS,mBAAA;AAAA,UAfJ,MAAMD,KAAAA,OAAO,QAAQ;AAAA,UACrB,cAAcA,KAAAA,OAAO,QAAQ;AAAA,UAC7B,aAAaA,KAAAA,OAAO,QAAQ;AAAA,UACrB,WAAWA,KAAAA,OAAO,QAAQ;AAAA,sEAAfA,KAAAA,OAAO,QAAQ,YAAS;AAAA,UAC1C;AAAA,QAAA;2BAGG,MAA0B;AAAA,aAD9BE,UAAA,IAAA,GAAAH,mBAQaI,UAAA,MAAAC,WAPKJ,KAAAA,OAAO,OAAd,QAAG;kCADdK,YAQa,uBAAA;AAAA,gBANR,KAAK,IAAI,QAAQ;AAAA,gBACjB,KAAK,IAAI,QAAQ;AAAA,cAAA;iCAElB,MAEM;AAAA,kBAFNC,mBAEM,OAFN,YAEM;AAAA,oBADFL,YAAyEM,MAAA,gBAAA,GAAA;AAAA,sBAA/C,MAAM,IAAI;AAAA,sBAAJ,iBAAA,CAAA,WAAA,IAAI,aAAU;AAAA,sBAAG,cAAcP,KAAAA;AAAAA,oBAAAA;;;;;;;;;;;;;"}
@@ -163,12 +163,33 @@ function useTableWidget({ props, fieldModel, designState = false }) {
163
163
  } else {
164
164
  item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);
165
165
  }
166
- if (!customRenderFn) return item;
167
166
  return {
168
167
  ...res,
169
168
  slots: {
169
+ title({ column }) {
170
+ var _a;
171
+ if (item.titleSlot) {
172
+ const Com = executeFunction({
173
+ source: (_a = widget == null ? void 0 : widget.options) == null ? void 0 : _a.name,
174
+ functionBody: item.titleSlot,
175
+ params: {
176
+ ...column
177
+ },
178
+ errorCallback: (error) => {
179
+ console.error("Custom render error:", error);
180
+ }
181
+ });
182
+ if (isVNode(Com)) {
183
+ return h(CustomItemRender, { is: Com });
184
+ }
185
+ return Com;
186
+ } else {
187
+ return item.title;
188
+ }
189
+ },
170
190
  default(scope) {
171
191
  var _a;
192
+ if (!customRenderFn) return item;
172
193
  const Com = executeFunction({
173
194
  source: (_a = widget == null ? void 0 : widget.options) == null ? void 0 : _a.name,
174
195
  functionBody: customRenderFn,
@@ -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, useTableColumnStore } 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 tableColumnStore = useTableColumnStore();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n const showColumnManager = computed(() => widget?.options?.showColumnManager ?? false);\n\n // 列管理相关\n const columnList = ref<any[]>([]);\n\n // 初始化列列表(从 store 读取已保存的配置)\n const initColumnList = () => {\n const storageKey = props.field.options.name || props.field.id;\n const originalColumns = props.field.options.tableColumns || [];\n\n // 从 store 读取已保存的列配置\n let savedColumnList: any[] = [];\n if (storageKey && tableColumnStore.hasTableConfig(storageKey)) {\n savedColumnList = tableColumnStore.getColumnList(storageKey);\n }\n\n // 合并保存的配置和原始列配置\n if (originalColumns.length > 0) {\n const mergedColumns = originalColumns.map(col => {\n // 查找是否有保存的配置\n const saved = savedColumnList.find(item => item.dataIndex === col.dataIndex);\n if (saved) {\n // 使用保存的配置(visible、fixed、displayOrdinal)\n return {\n ...col,\n visible: saved.visible !== false,\n fixed: saved.fixed,\n displayOrdinal: saved.displayOrdinal,\n title: col.title || col.dataIndex\n };\n }\n // 没有保存的配置,使用默认值\n return {\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n };\n });\n\n // 按照 displayOrdinal 排序\n mergedColumns.sort((a, b) => {\n const aOrder = a.displayOrdinal ?? 9999;\n const bOrder = b.displayOrdinal ?? 9999;\n return aOrder - bOrder;\n });\n\n columnList.value = mergedColumns;\n\n // 同步更新 props.field.options.tableColumns,将 visible 转换为 show\n props.field.options.tableColumns = mergedColumns.map(col => ({\n ...col,\n show: col.visible !== false\n }));\n }\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = newColumns.map(col => ({\n ...col,\n show: col.visible !== false\n }));\n }\n\n // 重新初始化列列表\n initColumnList();\n };\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n // 直接使用 widget.options.tableColumns 而不是解构,确保响应式依赖正确\n const tableColumns = widget?.options?.tableColumns || [];\n const { rowSelection, showIndex } = 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 // 使用 visible 属性控制列的隐藏(vxe-table visible)\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false,\n visible: 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 // 设置是否是树形表格\n const treeConfig = widget.options?.treeConfig || {};\n if (treeConfig.enabled) {\n _columns.forEach(col => {\n if (col.dataIndex === treeConfig.treeNode) {\n console.log({ col });\n\n col.treeNode = true;\n }\n });\n }\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 treeConfig = {}\n } = widget.options;\n\n let _treeConfig = {};\n if (treeConfig.enabled) {\n _treeConfig = {\n transform: treeConfig.transform,\n rowField: treeConfig.rowField,\n parentField: treeConfig.parentField\n };\n }\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 treeConfig: _treeConfig,\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: treeConfig?.enabled ? true : false,\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 = cloneDeep(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 columns,\n // 列管理相关\n columnList,\n initColumnList,\n handleUpdateColumns\n };\n}\n"],"names":["tableSize","rowKey"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAAS,eAAkB,EAAE,OAAO,YAAY,cAAc,SAA8B;AAC/F,QAAM,WAAW,IAAA;AACjB,QAAM,YAAY,IAAI,KAAK;AAC3B,QAAM,EAAE,WAAW;AACnB,QAAM,EAAE,MAAA,IAAU,QAAA;AAClB,QAAM,EAAE,iBAAiB,QAAA,IAAY,gBAAA;AACrC,QAAM,mBAAmB,oBAAA;AACzB,QAAM,EAAE,eAAe,eAAe,eAAe,UAAA,IAAc,YAAY;AAAA,IAC3E;AAAA,EAAA,CACH;AACD,QAAM,oBAAoB,SAAS,MAAA;;AAAM,mDAAQ,YAAR,mBAAiB,sBAAqB;AAAA,GAAK;AAGpF,QAAM,aAAa,IAAW,EAAE;AAGhC,QAAM,iBAAiB,MAAM;AACzB,UAAM,aAAa,MAAM,MAAM,QAAQ,QAAQ,MAAM,MAAM;AAC3D,UAAM,kBAAkB,MAAM,MAAM,QAAQ,gBAAgB,CAAA;AAG5D,QAAI,kBAAyB,CAAA;AAC7B,QAAI,cAAc,iBAAiB,eAAe,UAAU,GAAG;AAC3D,wBAAkB,iBAAiB,cAAc,UAAU;AAAA,IAC/D;AAGA,QAAI,gBAAgB,SAAS,GAAG;AAC5B,YAAM,gBAAgB,gBAAgB,IAAI,CAAA,QAAO;AAE7C,cAAM,QAAQ,gBAAgB,KAAK,UAAQ,KAAK,cAAc,IAAI,SAAS;AAC3E,YAAI,OAAO;AAEP,iBAAO;AAAA,YACH,GAAG;AAAA,YACH,SAAS,MAAM,YAAY;AAAA,YAC3B,OAAO,MAAM;AAAA,YACb,gBAAgB,MAAM;AAAA,YACtB,OAAO,IAAI,SAAS,IAAI;AAAA,UAAA;AAAA,QAEhC;AAEA,eAAO;AAAA,UACH,GAAG;AAAA,UACH,SAAS,IAAI,SAAS;AAAA,UACtB,OAAO,IAAI,SAAS,IAAI;AAAA,QAAA;AAAA,MAEhC,CAAC;AAGD,oBAAc,KAAK,CAAC,GAAG,MAAM;AACzB,cAAM,SAAS,EAAE,kBAAkB;AACnC,cAAM,SAAS,EAAE,kBAAkB;AACnC,eAAO,SAAS;AAAA,MACpB,CAAC;AAED,iBAAW,QAAQ;AAGnB,YAAM,MAAM,QAAQ,eAAe,cAAc,IAAI,CAAA,SAAQ;AAAA,QACzD,GAAG;AAAA,QACH,MAAM,IAAI,YAAY;AAAA,MAAA,EACxB;AAAA,IACN;AAAA,EACJ;AAGA,QAAM,sBAAsB,CAAC,eAAsB;AAE/C,QAAI,MAAM,MAAM,QAAQ,cAAc;AAClC,YAAM,MAAM,QAAQ,eAAe,WAAW,IAAI,CAAA,SAAQ;AAAA,QACtD,GAAG;AAAA,QACH,MAAM,IAAI,YAAY;AAAA,MAAA,EACxB;AAAA,IACN;AAGA,mBAAA;AAAA,EACJ;AAEA,QAAM,UAAU,SAAS,MAAM;;AAC3B,UAAM,mBAA0B,CAAA;AAChC,UAAM,UAAS,iCAAQ,YAAW,CAAA;AAElC,UAAM,iBAAe,sCAAQ,YAAR,mBAAiB,iBAAgB,CAAA;AACtD,UAAM,EAAE,cAAc,UAAA,KAAc,iCAAQ,YAAW,CAAA;AACvD,QAAI,6CAAc,iBAAiB;AAC/B,uBAAiB,KAAK;AAAA,QAClB,OAAO,aAAa;AAAA,QACpB,OAAO,aAAa;AAAA,QACpB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,QACX,MAAM;AAAA,MAAA,CACT;AAAA,IACL;AACA,QAAI,WAAW;AACX,uBAAiB,KAAK;AAAA,QAClB,OAAO,MAAM,sBAAsB;AAAA,QACnC,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WAAW;AAAA,QACX,WAAW;AAAA,QACX,MAAM;AAAA,MAAA,CACT;AAAA,IACL;AAEA,UAAM,gBAAgB,aAAa,IAAI,CAAA,SAAQ;AAE3C,UAAI,CAAC,KAAK,aAAa,CAAC,KAAK,OAAO;AAChC,gBAAQ;AAAA,UACJ,kBAAkB,KAAK,KAAK;AAAA,QAAA;AAAA,MAEpC;AAEA,aAAO;AAAA,QACH,GAAG;AAAA,QACH,GAAG,iBAAiB,IAAI;AAAA,QACxB,aAAa,KAAK,cAAc,EAAE,SAAS,KAAK,uBAAuB;AAAA,QACvE,SAAS,KAAK,SAAS;AAAA,MAAA;AAAA,IAE/B,CAAC;AACD,UAAM,oBAA2B,CAAA;AACjC,QAAI,OAAO,mBAAmB;AAC1B,YAAM,mBAAmB,OAAO,oBAAoB,CAAA;AACpD,wBAAkB,KAAK;AAAA,QACnB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,QACd,WAAW;AAAA,QACX,OAAO;AAAA,UACH,SAAS,CAAA,UAAS;AACd,mBAAO,EAAE,wBAAwB;AAAA,cAC7B,YAAY;AAAA,cACZ,MAAM;AAAA,cACN;AAAA,cACA,KAAK,QAAQ;AAAA,cACb,SAAS,CAAC,MAAa;AACnB,kBAAE,gBAAA;AAAA,cACN;AAAA,YAAA,CACH;AAAA,UACL;AAAA,QAAA;AAAA,MACJ,CACH;AAAA,IACL;AAGA,UAAM,WAAW,CAAC,GAAG,kBAAkB,GAAG,eAAe,GAAG,iBAAiB;AAG7E,UAAM,eAAa,YAAO,YAAP,mBAAgB,eAAc,CAAA;AACjD,QAAI,WAAW,SAAS;AACpB,eAAS,QAAQ,CAAA,QAAO;AACpB,YAAI,IAAI,cAAc,WAAW,UAAU;AACvC,kBAAQ,IAAI,EAAE,KAAK;AAEnB,cAAI,WAAW;AAAA,QACnB;AAAA,MACJ,CAAC;AAAA,IACL;AAEA,WAAO,uCAAuC,QAAQ;AAAA,EAC1D,CAAC;AAGD,QAAM,mBAAmB,CAAA,SAAQ;AAC7B,UAAM,MAAM,KAAK,MAAM,CAAC,cAAc,CAAC;AACvC,UAAM,iBAAiB,KAAK;AAC5B,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,QAAI,KAAK,aAAa;AAClB,WAAK,QAAQ;AACb,aAAO,KAAK;AAAA,IAChB,OAAO;AACH,WAAK,QAAQ,MAAM,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,QAAQ,OAAO,KAAK,KAAK;AAAA,IAC3E;AACA,QAAI,CAAC,eAAgB,QAAO;AAE5B,WAAO;AAAA,MACH,GAAG;AAAA,MACH,OAAO;AAAA,QACH,QAAQ,OAAO;;AACX,gBAAM,MAAM,gBAAgB;AAAA,YACxB,SAAQ,sCAAQ,YAAR,mBAAiB;AAAA,YACzB,cAAc;AAAA,YACd,QAAQ;AAAA,cACJ,OAAO,MAAM;AAAA,cACb,QAAQ,MAAM;AAAA,cACd,GAAG;AAAA,YAAA;AAAA,YAEP,eAAe,CAAA,UAAS;AACpB,sBAAQ,MAAM,wBAAwB,KAAK;AAAA,YAC/C;AAAA,UAAA,CACH;AACD,cAAI,QAAQ,GAAG,GAAG;AACd,mBAAO,EAAE,kBAAkB,EAAE,IAAI,KAAK;AAAA,UAC1C;AACA,iBAAO;AAAA,QACX;AAAA,MAAA;AAAA,IACJ;AAAA,EAER;AAEA,QAAM,aAAa,SAAS,MAAM,OAAO,QAAQ,UAAU;AAC3D,QAAM,YAAY,SAAS,MAAM,OAAO,QAAQ,SAAS;AAEzD,QAAM,eAAe,MAAM;AACvB,uBAAA;AAAA,EACJ;AAEA,QAAM,SAAS,SAAS,MAAM,OAAO,QAAQ,MAAM;AAEnD,QAAM,aAAa,SAAwB,MAAM;AAC7C,UAAM;AAAA,MACF,WAAAA;AAAAA,MACA,QAAAC;AAAAA,MACA,cAAc;AAAA,MACd,SAAS;AAAA,MACT,aAAa;AAAA,MACb,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,aAAa,CAAA;AAAA,IAAC,IACd,OAAO;AAEX,QAAI,cAAc,CAAA;AAClB,QAAI,WAAW,SAAS;AACpB,oBAAc;AAAA,QACV,WAAW,WAAW;AAAA,QACtB,UAAU,WAAW;AAAA,QACrB,aAAa,WAAW;AAAA,MAAA;AAAA,IAEhC;AAEA,WAAO;AAAA,MACH,IAAI,OAAO;AAAA,MACX;AAAA,MACA,MAAM,4BAA4BD,UAAS;AAAA,MAC3C,QAAQ;AAAA,MACR,QAAQ,UAAU;AAAA,MAClB,MAAM,WAAW,SAAS,CAAA;AAAA,MAC1B,SAAS,QAAQ;AAAA,MACjB,YAAY;AAAA,MACZ,YAAY;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,CAAC,UAAU,WAAW,IAAI;AAAA,MAAA;AAAA,MAEtC,WAAW;AAAA,QACP,UAAUC;AAAAA,QACV,WAAW;AAAA,QACX,SAAS;AAAA,MAAA;AAAA,MAEb,cAAc;AAAA;AAAA;AAAA;AAAA,QAIV,SAAS,CAAC;AAAA,MAAA;AAAA,MAEd,gBAAgB;AAAA,QACZ,aAAY,yCAAY,WAAU,OAAO;AAAA,QACzC,aAAa,CAAA,SAAQ;;AACjB,iBAAO,gBAAgB;AAAA,YACnB,eAAc,YAAO,QAAQ,iBAAf,mBAA6B;AAAA,YAC3C,QAAQ;AAAA,YACR,MAAM,CAAC,KAAK;AAAA,UAAA,CACf;AAAA,QACL;AAAA,MAAA;AAAA,MAEJ,YAAY;AAAA,QACR,QAAQ;AAAA,MAAA;AAAA,IACZ;AAAA,EAER,CAAC;AAED,QAAM,cAAc,CAAA,cAAa;AAC7B,aAAS,QAAQ;AAAA,EACrB;AAEA,QAAM,qBAAqB,YAAY;;AACnC,QAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,gBAAU,QAAQ;AAClB,UAAI;AACA,cAAM,OAAO,MAAM,cAAA;AACnB,cAAM,aAAY,6BAAM,SAAQ,CAAA;AAChC,mBAAW,QAAQ,UAAU,aAAa,CAAA,CAAE;AAC5C,sBAAc,IAAI;AAAA,MACtB,SAAS,OAAO;AACZ,mBAAW,QAAQ,CAAA;AACnB,gBAAQ,MAAM,KAAK;AAAA,MACvB;AAAA,IACJ,OAAO;AACH,iBAAW,QAAQ,UAAU,OAAO,QAAQ,UAAU,KAAK,CAAA;AAC3D,oBAAc;AAAA,QACV,SAAO,YAAO,QAAQ,eAAf,mBAA2B,WAAU;AAAA,MAAA,CAC/C;AAAA,IACL;AACA,cAAU,QAAQ;AAAA,EACtB;AAGA,QAAM,aAAa,CAAC,EAAE,KAAK,OAAA,GAAe,SAAoB;AAC1D,oBAAgB;AAAA,MACZ,cAAc,OAAO,QAAQ,UAAU,IAAI;AAAA,MAC3C,QAAQ,CAAC,KAAK,MAAM;AAAA,MACpB,MAAM,CAAC,UAAU,OAAO;AAAA,IAAA,CAC3B;AAAA,EACL;AAEA,QAAM,eAAe,CAAC,SAAc;AAChC,aAAS,IAAI;AAAA,EACjB;AAEA,QAAM,oBAAoB,CAAC,EAAE,YAAY;AACrC,UAAM,KAAK,OAAO,QAAQ;AAC1B,QAAI,IAAI;AACJ,sBAAgB;AAAA,QACZ,cAAc;AAAA,QACd,QAAQ;AAAA,UACJ,YAAY,cAAA;AAAA,UACZ,mBAAmB,cAAA;AAAA,UACnB,QAAQ;AAAA,QAAA;AAAA,QAEZ,MAAM,CAAC,cAAc,UAAU,mBAAmB;AAAA,MAAA,CACrD;AAAA,IACL;AAAA,EACJ;AAGA,QAAM,mBAAmB,CAAC,oBAAyB;AAC/C,oBAAgB;AAAA,MACZ,cAAc,OAAO,QAAQ,aAAa;AAAA,MAC1C,MAAM,CAAC,mBAAmB,cAAc;AAAA,MACxC,QAAQ;AAAA,IAAA,CACX;AAAA,EACL;AAEA,QAAM,gBAAgB,MAAM;AACxB,WAAO,WAAW;AAAA,EACtB;AAEA,QAAM,mBAAmB,CAAC,SAAY;AAClC,QAAI,CAAC,WAAW,OAAO;AACnB,iBAAW,QAAQ,CAAA;AAAA,IACvB;AACA,eAAW,MAAM,KAAK,UAAU,IAAI,CAAC;AAAA,EACzC;AAEA,QAAM,WAAW,CAAC,SAAc;AAC5B,QAAI,CAAC,QAAQ,IAAI,GAAG;AAChB,aAAO,QAAQ,MAAM,UAAU;AAAA,IACnC;AACA,eAAW,QAAQ,UAAU,IAAI;AAAA,EACrC;AAEA,QAAM,kBAAkB,MAAM;AAC1B,WAAO,MAAM,MAAM,QAAQ;AAAA,EAC/B;AAEA,QAAM,kBAAkB,CAAC,SAAgB;AACrC,UAAM,MAAM,QAAQ,eAAe;AAAA,EACvC;AAEA,QAAM,eAAe,OAAM,YAAW;AAClC,QAAI,CAAC,QAAQ,OAAQ;AACrB,QAAI;AACA,YAAM,cAAc,EAAE,SAAS,MAAM,YAAY,GAAG;AACpD,YAAM,UAAU,WAAW,MAAM,OAAO,CAAA,SAAQ,EAAC,mCAAS,SAAS,KAAK,OAAO,KAAK,GAAE;AACtF,eAAS,OAAO;AAChB,cAAQ,QAAQ,MAAM,MAAM,CAAC;AAAA,IACjC,QAAQ;AAAA,IAAC;AAAA,EACb;AAEA,QAAM,mBAAmB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGJ;AAAA,IACI,MAAM,MAAM,MAAM,QAAQ;AAAA,IAC1B,MAAM;AACF,yBAAA;AAAA,IACJ;AAAA,EAAA;AAGJ,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,SAAS,MAAM,CAAC,CAAC,MAAM,MAAM,QAAQ,cAAc;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
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, useTableColumnStore } 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 tableColumnStore = useTableColumnStore();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n const showColumnManager = computed(() => widget?.options?.showColumnManager ?? false);\n\n // 列管理相关\n const columnList = ref<any[]>([]);\n\n // 初始化列列表(从 store 读取已保存的配置)\n const initColumnList = () => {\n const storageKey = props.field.options.name || props.field.id;\n const originalColumns = props.field.options.tableColumns || [];\n\n // 从 store 读取已保存的列配置\n let savedColumnList: any[] = [];\n if (storageKey && tableColumnStore.hasTableConfig(storageKey)) {\n savedColumnList = tableColumnStore.getColumnList(storageKey);\n }\n\n // 合并保存的配置和原始列配置\n if (originalColumns.length > 0) {\n const mergedColumns = originalColumns.map(col => {\n // 查找是否有保存的配置\n const saved = savedColumnList.find(item => item.dataIndex === col.dataIndex);\n if (saved) {\n // 使用保存的配置(visible、fixed、displayOrdinal)\n return {\n ...col,\n visible: saved.visible !== false,\n fixed: saved.fixed,\n displayOrdinal: saved.displayOrdinal,\n title: col.title || col.dataIndex\n };\n }\n // 没有保存的配置,使用默认值\n return {\n ...col,\n visible: col.show !== false,\n title: col.title || col.dataIndex\n };\n });\n\n // 按照 displayOrdinal 排序\n mergedColumns.sort((a, b) => {\n const aOrder = a.displayOrdinal ?? 9999;\n const bOrder = b.displayOrdinal ?? 9999;\n return aOrder - bOrder;\n });\n\n columnList.value = mergedColumns;\n\n // 同步更新 props.field.options.tableColumns,将 visible 转换为 show\n props.field.options.tableColumns = mergedColumns.map(col => ({\n ...col,\n show: col.visible !== false\n }));\n }\n };\n\n // 处理列更新\n const handleUpdateColumns = (newColumns: any[]) => {\n // 更新原始配置,同步 show 属性\n if (props.field.options.tableColumns) {\n props.field.options.tableColumns = newColumns.map(col => ({\n ...col,\n show: col.visible !== false\n }));\n }\n\n // 重新初始化列列表\n initColumnList();\n };\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n // 直接使用 widget.options.tableColumns 而不是解构,确保响应式依赖正确\n const tableColumns = widget?.options?.tableColumns || [];\n const { rowSelection, showIndex } = 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 // 使用 visible 属性控制列的隐藏(vxe-table visible)\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false,\n visible: 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 // 设置是否是树形表格\n const treeConfig = widget.options?.treeConfig || {};\n if (treeConfig.enabled) {\n _columns.forEach(col => {\n if (col.dataIndex === treeConfig.treeNode) {\n console.log({ col });\n\n col.treeNode = true;\n }\n });\n }\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\n return {\n ...res,\n slots: {\n title({ column }) {\n if (item.titleSlot) {\n const Com = executeFunction({\n source: widget?.options?.name,\n functionBody: item.titleSlot,\n params: {\n ...column\n },\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n\n if (isVNode(Com)) {\n return h(CustomItemRender, { is: Com });\n }\n return Com;\n } else {\n return item.title;\n }\n },\n default(scope) {\n if (!customRenderFn) return item;\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 treeConfig = {}\n } = widget.options;\n\n let _treeConfig = {};\n if (treeConfig.enabled) {\n _treeConfig = {\n transform: treeConfig.transform,\n rowField: treeConfig.rowField,\n parentField: treeConfig.parentField\n };\n }\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 treeConfig: _treeConfig,\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: treeConfig?.enabled ? true : false,\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 = cloneDeep(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 columns,\n // 列管理相关\n columnList,\n initColumnList,\n handleUpdateColumns\n };\n}\n"],"names":["tableSize","rowKey"],"mappings":"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"}
@@ -12,7 +12,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  widget: {},
13
13
  field: {},
14
14
  parentWidget: {},
15
- subFormRowIndex: {},
16
15
  indexOfParentList: {}
17
16
  },
18
17
  setup(__props, { expose: __expose }) {
@@ -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 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;;;;;"}
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;;;;;"}
@@ -18,7 +18,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  widget: {},
19
19
  field: {},
20
20
  parentWidget: {},
21
- subFormRowIndex: {},
22
21
  indexOfParentList: {}
23
22
  },
24
23
  setup(__props, { expose: __expose }) {
@@ -1 +1 @@
1
- {"version":3,"file":"vf-collapse-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue"],"sourcesContent":["<template>\n <div class=\"collapse-container\" v-if=\"!handleHidden\">\n <TpfCollapse :title=\"widget.options.title\">\n <template #right>\n <div class=\"collapse-right\">\n <RenderWidgetList\n v-model:list=\"widget.headerRightSlotList\"\n :parentWidget=\"widget\"\n />\n </div>\n </template>\n <div\n class=\"tpf-collapse-content-wrapper\"\n :style=\"{\n height: widget.options.height || 'unset'\n }\"\n v-show=\"!widget.options.isCollapse\"\n >\n <RenderWidgetList v-model:list=\"widget.defaultSlotsList\" :parentWidget=\"widget\" />\n </div>\n </TpfCollapse>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { TpfCollapse } from 'tmgc2-share';\n import {\n RenderWidgetList,\n ComponentNameEnum,\n ContainerTypeEnum,\n useField,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { CollapseWidget } from '../../widget-panel/containers';\n defineOptions({\n name: ContainerTypeEnum.VfCollapseWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const props = defineProps<WidgetProps<CollapseWidget>>();\n\n const { handleHidden, defineExposed } = useField(props);\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"less\" scoped>\n .collapse-container {\n display: flex;\n margin: 2px;\n height: 100%;\n width: 100%;\n flex: 1 0 0;\n .form-widget-list {\n min-height: 28px;\n }\n :deep(.header-right) {\n .form-widget-list {\n min-width: 200px;\n }\n }\n }\n</style>\n\n<style lang=\"less\" scoped>\n .tpf-collapse {\n padding: 5px;\n .collapse-right {\n min-width: 200px;\n min-height: 30px;\n :deep(.designer-widget-list) {\n .empty-drop-zone {\n background: #fff;\n }\n min-height: 34px;\n .empty-drop-zone {\n height: 30px;\n top: 0;\n }\n }\n }\n :deep(.design-time-bottom-margin) {\n margin-bottom: 0;\n .static-content-item {\n margin-bottom: 0;\n padding: 3px;\n }\n }\n :deep(.tpf-collapse-content-wrapper) {\n overflow: hidden;\n background-color: #fff;\n }\n }\n</style>\n"],"names":["_unref","_openBlock","_createElementBlock","_createVNode","widget","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuCI,UAAM,QAAQ;AAEd,UAAM,EAAE,cAAc,kBAAkB,SAAS,KAAK;AAEtD,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cA5CsCA,MAAA,YAAA,KAAvCC,aAAAC,mBAoBM,OApBN,YAoBM;AAAA,QAnBFC,YAkBcH,MAAA,WAAA,GAAA;AAAA,UAlBA,OAAOI,KAAAA,OAAO,QAAQ;AAAA,QAAA;UACrB,eACP,MAKM;AAAA,YALNC,mBAKM,OALN,YAKM;AAAA,cAJFF,YAGEH,MAAA,gBAAA,GAAA;AAAA,gBAFU,MAAMI,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,sBAAmB;AAAA,gBACvC,cAAcA,KAAAA;AAAAA,cAAAA;;;2BAI3B,MAQM;AAAA,2BARNC,mBAQM,OAAA;AAAA,cAPF,OAAM;AAAA,cACL,OAAKC,eAAA;AAAA,wBAAgCF,KAAAA,OAAO,QAAQ,UAAM;AAAA,cAAA;;cAK3DD,YAAkFH,MAAA,gBAAA,GAAA;AAAA,gBAAxD,MAAMI,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,mBAAgB;AAAA,gBAAG,cAAcA,KAAAA;AAAAA,cAAAA;;uBAF/DA,KAAAA,OAAO,QAAQ,UAAU;AAAA,YAAA;;;;;;;;"}
1
+ {"version":3,"file":"vf-collapse-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue"],"sourcesContent":["<template>\n <div class=\"collapse-container\" v-if=\"!handleHidden\">\n <TpfCollapse :title=\"widget.options.title\">\n <template #right>\n <div class=\"collapse-right\">\n <RenderWidgetList\n v-model:list=\"widget.headerRightSlotList\"\n :parentWidget=\"widget\"\n />\n </div>\n </template>\n <div\n class=\"tpf-collapse-content-wrapper\"\n :style=\"{\n height: widget.options.height || 'unset'\n }\"\n v-show=\"!widget.options.isCollapse\"\n >\n <RenderWidgetList v-model:list=\"widget.defaultSlotsList\" :parentWidget=\"widget\" />\n </div>\n </TpfCollapse>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { TpfCollapse } from 'tmgc2-share';\n import {\n RenderWidgetList,\n ComponentNameEnum,\n ContainerTypeEnum,\n useField,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { CollapseWidget } from '../../widget-panel/containers';\n defineOptions({\n name: ContainerTypeEnum.VfCollapseWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const props = defineProps<WidgetProps<CollapseWidget>>();\n\n const { handleHidden, defineExposed } = useField(props);\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"less\" scoped>\n .collapse-container {\n display: flex;\n margin: 2px;\n height: 100%;\n width: 100%;\n flex: 1 0 0;\n .form-widget-list {\n min-height: 28px;\n }\n :deep(.header-right) {\n .form-widget-list {\n min-width: 200px;\n }\n }\n }\n</style>\n\n<style lang=\"less\" scoped>\n .tpf-collapse {\n padding: 5px;\n .collapse-right {\n min-width: 200px;\n min-height: 30px;\n :deep(.designer-widget-list) {\n .empty-drop-zone {\n background: #fff;\n }\n min-height: 34px;\n .empty-drop-zone {\n height: 30px;\n top: 0;\n }\n }\n }\n :deep(.design-time-bottom-margin) {\n margin-bottom: 0;\n .static-content-item {\n margin-bottom: 0;\n padding: 3px;\n }\n }\n :deep(.tpf-collapse-content-wrapper) {\n overflow: hidden;\n background-color: #fff;\n }\n }\n</style>\n"],"names":["_unref","_openBlock","_createElementBlock","_createVNode","widget","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuCI,UAAM,QAAQ;AAEd,UAAM,EAAE,cAAc,kBAAkB,SAAS,KAAK;AAEtD,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cA5CsCA,MAAA,YAAA,KAAvCC,aAAAC,mBAoBM,OApBN,YAoBM;AAAA,QAnBFC,YAkBcH,MAAA,WAAA,GAAA;AAAA,UAlBA,OAAOI,KAAAA,OAAO,QAAQ;AAAA,QAAA;UACrB,eACP,MAKM;AAAA,YALNC,mBAKM,OALN,YAKM;AAAA,cAJFF,YAGEH,MAAA,gBAAA,GAAA;AAAA,gBAFU,MAAMI,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,sBAAmB;AAAA,gBACvC,cAAcA,KAAAA;AAAAA,cAAAA;;;2BAI3B,MAQM;AAAA,2BARNC,mBAQM,OAAA;AAAA,cAPF,OAAM;AAAA,cACL,OAAKC,eAAA;AAAA,wBAAgCF,KAAAA,OAAO,QAAQ,UAAM;AAAA,cAAA;;cAK3DD,YAAkFH,MAAA,gBAAA,GAAA;AAAA,gBAAxD,MAAMI,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,mBAAgB;AAAA,gBAAG,cAAcA,KAAAA;AAAAA,cAAAA;;uBAF/DA,KAAAA,OAAO,QAAQ,UAAU;AAAA,YAAA;;;;;;;;"}
@@ -25,7 +25,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  widget: {},
26
26
  field: {},
27
27
  parentWidget: {},
28
- subFormRowIndex: {},
29
28
  indexOfParentList: {}
30
29
  },
31
30
  setup(__props) {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
+ {"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,4 +1,4 @@
1
- import { defineComponent, inject, provide, toRef, createElementBlock, openBlock, Fragment, renderList, createBlock, resolveDynamicComponent, unref, createSlots, withCtx, renderSlot, mergeProps } from "vue";
1
+ import { defineComponent, inject, createElementBlock, openBlock, Fragment, renderList, createBlock, resolveDynamicComponent, unref, createSlots, withCtx, renderSlot, mergeProps } from "vue";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  ...{
4
4
  inheritAttrs: false,
@@ -14,10 +14,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  const getWidget = inject("getWidget", () => {
15
15
  return () => null;
16
16
  });
17
- const props = __props;
18
- if (typeof props.subFormRowIndex === "number") {
19
- provide("subFormRowIndex", toRef(props.subFormRowIndex));
20
- }
21
17
  return (_ctx, _cache) => {
22
18
  return openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widgetList, (widget, index) => {
23
19
  return openBlock(), createBlock(resolveDynamicComponent(unref(getWidget)(widget)), {
@@ -26,7 +22,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
22
  widget,
27
23
  "parent-list": _ctx.widgetList,
28
24
  "index-of-parent-list": index,
29
- "parent-widget": widget
25
+ "parent-widget": widget,
26
+ "sub-form-row-index": _ctx.subFormRowIndex
30
27
  }, createSlots({ _: 2 }, [
31
28
  renderList(Object.keys(_ctx.$slots), (slot) => {
32
29
  return {
@@ -36,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
33
  ])
37
34
  };
38
35
  })
39
- ]), 1032, ["field", "widget", "parent-list", "index-of-parent-list", "parent-widget"]);
36
+ ]), 1032, ["field", "widget", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-index"]);
40
37
  }), 128);
41
38
  };
42
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderWigetList.vue2.js","sources":["../../../../src/components/form-render/RenderWigetList.vue"],"sourcesContent":["<template>\n <component\n v-for=\"(widget, index) in widgetList\"\n :is=\"getWidget(widget)\"\n :field=\"widget\"\n :key=\"widget.id\"\n :widget=\"widget\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"widget\"\n >\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n</template>\n\n<script lang=\"ts\" setup>\n import type { Widget } from '@kp-ui/lowcode-core';\n import { inject, provide, toRef } from 'vue';\n defineOptions({\n inheritAttrs: false,\n name: 'RenderWigetList'\n });\n\n const getWidget = inject<(widget: Widget) => any>('getWidget', () => {\n return () => null;\n });\n\n const props = withDefaults(\n defineProps<{\n subFormRowIndex?: number | undefined;\n widgetList: Widget[] | null;\n parentWidget: Widget | null;\n }>(),\n {\n parentWidget: null,\n widgetList: () => [],\n subFormRowIndex: undefined\n }\n );\n\n if (typeof props.subFormRowIndex === 'number') {\n provide('subFormRowIndex', toRef(props.subFormRowIndex));\n }\n</script>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_renderList","widgetList","_createBlock","_resolveDynamicComponent","_unref","$slots","_withCtx","_renderSlot","_mergeProps"],"mappings":";;;;;;;;;;;;;AAyBI,UAAM,YAAY,OAAgC,aAAa,MAAM;AACjE,aAAO,MAAM;AAAA,IACjB,CAAC;AAED,UAAM,QAAQ;AAad,QAAI,OAAO,MAAM,oBAAoB,UAAU;AAC3C,cAAQ,mBAAmB,MAAM,MAAM,eAAe,CAAC;AAAA,IAC3D;;AA3CA,aAAAA,UAAA,IAAA,GAAAC,mBAaYC,UAAA,MAAAC,WAZkBC,KAAAA,YAAU,CAA5B,QAAQ,UAAK;4BADzBC,YAaYC,wBAXHC,MAAA,SAAA,EAAU,MAAM,CAAA,GAAA;AAAA,UACpB,OAAO;AAAA,UACP,KAAK,OAAO;AAAA,UACZ;AAAA,UACA,eAAaH,KAAAA;AAAAA,UACb,wBAAsB;AAAA,UACtB,iBAAe;AAAA,QAAA;UAESD,WAAA,OAAO,KAAKK,KAAAA,MAAM,IAA1B,SAAI;;oBAAgC;AAAA,cACjD,IAAAC,QAAA,CADyD,UAAK;AAAA,gBAC9DC,WAAyC,KAAA,QAA5B,MAAbC,WAAyC,mBAAd,KAAK,CAAA;AAAA,cAAA;;;;;;;;"}
1
+ {"version":3,"file":"RenderWigetList.vue2.js","sources":["../../../../src/components/form-render/RenderWigetList.vue"],"sourcesContent":["<template>\n <component\n v-for=\"(widget, index) in widgetList\"\n :is=\"getWidget(widget)\"\n :field=\"widget\"\n :key=\"widget.id\"\n :widget=\"widget\"\n :parent-list=\"widgetList\"\n :index-of-parent-list=\"index\"\n :parent-widget=\"widget\"\n :sub-form-row-index=\"subFormRowIndex\"\n >\n <template v-for=\"slot in Object.keys($slots)\" v-slot:[slot]=\"scope\">\n <slot :name=\"slot\" v-bind=\"scope\"></slot>\n </template>\n </component>\n</template>\n\n<script lang=\"ts\" setup>\n import type { Widget } from '@kp-ui/lowcode-core';\n import { inject } from 'vue';\n defineOptions({\n inheritAttrs: false,\n name: 'RenderWigetList'\n });\n\n const getWidget = inject<(widget: Widget) => any>('getWidget', () => {\n return () => null;\n });\n\n const props = withDefaults(\n defineProps<{\n subFormRowIndex?: number | undefined;\n widgetList: Widget[] | null;\n parentWidget: Widget | null;\n }>(),\n {\n parentWidget: null,\n widgetList: () => [],\n subFormRowIndex: undefined\n }\n );\n</script>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_renderList","widgetList","_createBlock","_resolveDynamicComponent","_unref","subFormRowIndex","$slots","_withCtx","_renderSlot","_mergeProps"],"mappings":";;;;;;;;;;;;;AA0BI,UAAM,YAAY,OAAgC,aAAa,MAAM;AACjE,aAAO,MAAM;AAAA,IACjB,CAAC;;AA3BD,aAAAA,UAAA,IAAA,GAAAC,mBAcYC,UAAA,MAAAC,WAbkBC,KAAAA,YAAU,CAA5B,QAAQ,UAAK;4BADzBC,YAcYC,wBAZHC,MAAA,SAAA,EAAU,MAAM,CAAA,GAAA;AAAA,UACpB,OAAO;AAAA,UACP,KAAK,OAAO;AAAA,UACZ;AAAA,UACA,eAAaH,KAAAA;AAAAA,UACb,wBAAsB;AAAA,UACtB,iBAAe;AAAA,UACf,sBAAoBI,KAAAA;AAAAA,QAAAA;UAEIL,WAAA,OAAO,KAAKM,KAAAA,MAAM,IAA1B,SAAI;;oBAAgC;AAAA,cACjD,IAAAC,QAAA,CADyD,UAAK;AAAA,gBAC9DC,WAAyC,KAAA,QAA5B,MAAbC,WAAyC,mBAAd,KAAK,CAAA;AAAA,cAAA;;;;;;;;"}
@@ -19,7 +19,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  widget: {},
20
20
  field: {},
21
21
  parentWidget: {},
22
- subFormRowIndex: {},
23
22
  indexOfParentList: {}
24
23
  },
25
24
  setup(__props, { expose: __expose }) {