@kp-ui/lowcode 1.0.96 → 1.0.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -3
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +13 -12
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js +3 -3
- package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js +8 -8
- package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +2 -3
- package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/index.vue.js +1 -1
- package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
- package/src/components/form-designer/index.vue.js +1 -1
- package/src/components/form-designer/index.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/index.vue.js +31 -33
- package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js +12 -13
- package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js +13 -14
- package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js +5 -6
- package/src/components/form-designer/setting-panel/property-editor/container-vf-drawer/vf-drawer-direction-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js +1 -1
- package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue.js.map +1 -1
- package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
- package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
- package/src/components/form-render/container-item/data-table-item.vue.js +2 -1
- package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/grid-sub-form-item.vue.js +1 -1
- package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/sub-form-item.vue.js +5 -2
- package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/vf-collapse-item.vue.js +1 -1
- package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
- package/src/components/form-render/dynamic-drawer.vue.js +2 -2
- package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
- package/src/components/form-render/dynamic-drawer.vue2.js +2 -0
- package/src/components/form-render/dynamic-drawer.vue2.js.map +1 -0
- package/src/components/form-render/index.vue.js +3 -2
- package/src/components/form-render/index.vue.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue.js +1 -1
- package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue2.js +37 -32
- package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
- package/src/components/public/QuillEditor/index.vue.js +13 -15
- package/src/components/public/QuillEditor/index.vue.js.map +1 -1
- package/src/mixins/useDataTableMixin.js +4 -0
- package/src/mixins/useDataTableMixin.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +8 -2
- package/types/install.d.ts +26 -0
- package/src/components/code-editor/index.vue.js +0 -8
- package/src/components/code-editor/index.vue.js.map +0 -1
- package/src/components/code-editor/index.vue2.js +0 -106
- package/src/components/code-editor/index.vue2.js.map +0 -1
- package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js +0 -2
- package/src/components/form-designer/setting-panel/property-editor/actionColumnPosition-editor.vue2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../src/components/public/QuillEditor/index.vue"],"sourcesContent":["<template>\n
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../src/components/public/QuillEditor/index.vue"],"sourcesContent":["<template>\n <section ref=\"editor\"></section>\n</template>\n\n<script>\n import Quill from 'quill';\n import { onMounted, ref, watch, onUnmounted, onBeforeUnmount } from 'vue';\n\n const defaultOptions = {\n theme: 'snow',\n boundary: document.body,\n modules: {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n ['blockquote', 'code-block'],\n [{ header: 1 }, { header: 2 }],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }],\n [{ indent: '-1' }, { indent: '+1' }],\n [{ direction: 'rtl' }],\n [{ size: ['small', false, 'large', 'huge'] }],\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ color: [] }, { background: [] }],\n [{ font: [] }],\n [{ align: [] }],\n ['clean'],\n ['link', 'image', 'video']\n ]\n },\n placeholder: 'Insert content here ...',\n readOnly: false\n };\n export default {\n name: 'quill-editor',\n props: {\n content: String,\n value: String,\n disabled: {\n type: Boolean,\n default: false\n },\n options: {\n type: Object,\n required: false,\n default: () => ({})\n }\n },\n emits: ['ready', 'change', 'input', 'blur', 'focus', 'update:value'],\n setup(props, context) {\n const state = {\n editorOption: {},\n quill: null\n };\n\n let _content = '';\n\n watch(\n () => props.value,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val;\n state.quill.pasteHTML(val);\n } else if (!val) {\n state.quill.setText('');\n }\n }\n }\n );\n\n watch(\n () => props.content,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val;\n state.quill.pasteHTML(val);\n } else if (!val) {\n state.quill.setText('');\n }\n }\n }\n );\n\n watch(\n () => props.disabled,\n val => {\n if (state.quill) {\n state.quill.enable(!val);\n }\n }\n );\n\n const editor = ref(null);\n\n const mergeOptions = (def, custom) => {\n for (const key in custom) {\n if (!def[key] || key !== 'modules') {\n def[key] = custom[key];\n } else {\n mergeOptions(def[key], custom[key]);\n }\n }\n return def;\n };\n\n const initialize = () => {\n if (editor.value) {\n // Options\n state.editorOption = mergeOptions(defaultOptions, props.options);\n state.editorOption.readOnly = props.disabled ? true : false;\n // Instance\n state.quill = new Quill(editor.value, state.editorOption);\n // console.log('intilized')\n\n // Set editor content\n if (props.value) {\n state.quill.pasteHTML(props.value);\n }\n\n // Mark model as touched if editor lost focus\n state.quill.on('selection-change', range => {\n if (!range) {\n context.emit('blur', state.quill);\n } else {\n context.emit('focus', state.quill);\n }\n });\n // Update model if text changes\n state.quill.on('text-change', () => {\n // diabled editor after content initialized\n if (props.disabled) {\n state.quill.enable(false);\n }\n let html = editor.value.children[0].innerHTML;\n const quill = state.quill;\n const text = state.quill.getText();\n if (html === '<p><br></p>') html = '';\n _content = html;\n context.emit('update:value', _content);\n context.emit('change', { html, text, quill });\n });\n\n // Emit ready event\n context.emit('ready', state.quill);\n }\n };\n\n onBeforeUnmount(() => {\n const editorToolbar = editor.value.previousSibling;\n if (\n editorToolbar &&\n editorToolbar.nodeType === 1 &&\n editorToolbar.className.indexOf('ql-toolbar') > -1\n ) {\n editorToolbar.parentNode.removeChild(editorToolbar);\n }\n });\n\n onMounted(() => {\n initialize();\n });\n\n onUnmounted(() => {\n state.quill = null;\n });\n\n return { editor };\n }\n };\n</script>\n<style>\n @import 'quill/dist/quill.core.css';\n @import 'quill/dist/quill.snow.css';\n @import 'quill/dist/quill.bubble.css';\n</style>\n"],"names":["defaultOptions","_sfc_main","props","context","state","_content","watch","val","editor","ref","mergeOptions","def","custom","key","initialize","Quill","range","html","quill","text","onBeforeUnmount","editorToolbar","onMounted","onUnmounted","_hoisted_1","_openBlock","_createElementBlock"],"mappings":"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"}
|
|
@@ -178,6 +178,10 @@ const I = {
|
|
|
178
178
|
var o;
|
|
179
179
|
(o = this.getFormRef()) == null || o.setTableRowDataValue(this.widget.options.name, t, e);
|
|
180
180
|
},
|
|
181
|
+
insertTableValue(t) {
|
|
182
|
+
var e;
|
|
183
|
+
(e = this.getFormRef()) == null || e.insertTableValue(this.widget.options.name, t);
|
|
184
|
+
},
|
|
181
185
|
getDataSource() {
|
|
182
186
|
var t;
|
|
183
187
|
return ((t = this.getFormRef()) == null ? void 0 : t.getTableValue(this.widget.options.name)) || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataTableMixin.js","sources":["../../../src/mixins/useDataTableMixin.jsx"],"sourcesContent":["import { omit, isEmpty, isArray } from 'lodash-es';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { TpfConfirm } from '@/hooks/TpfConfirm';\nimport RenderBodyCell from '@/components/CustomRender/components/RenderBodyCell.tsx';\nimport { executeFunction } from '@/utils/executeFunction';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\nexport default {\n data() {\n return {\n selectedRowInfo: { selectedRowKeys: [], selectedRows: [] },\n selectRow: {},\n loading: false\n };\n },\n components: {\n RenderBodyCell\n },\n inject: ['refList'],\n computed: {\n columns() {\n const leftFixedColumns = [];\n const optins = this.widget?.options ?? {};\n if (optins.showIndex) {\n leftFixedColumns.push({\n title: '序号',\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n field: 'dataIndex',\n customRender: this.customRenderIndex\n });\n }\n const centerColumns = optins.tableColumns\n .filter(item => item.show)\n .map(item => ({\n ...item,\n ...this.handleColumnItem(item)\n }));\n const rightFixedColumns = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n let _this = this;\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n customRender(scope) {\n return (\n <ActionButtonListRender\n buttonList={operationButtons}\n flex=\"center\"\n scope={scope}\n ctx={_this}\n />\n );\n }\n });\n }\n\n let bodyCell = {};\n\n // 把customRender渲染成 bodyCell 插槽\n let _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns].map(\n item => {\n if (item.bodyCell) {\n bodyCell[item.dataIndex] = item.bodyCell;\n delete item.customRender;\n }\n return item;\n }\n );\n\n return {\n columns: _columns,\n bodyCell\n };\n },\n tableHeight() {\n return parseFloat(this.widget.options.tableHeight || 0);\n },\n // rowClassName() {\n // if (this.widget.options.stripe) {\n // return (_record, index) => (index % 2 === 1 ? 'table-striped' : null);\n // }\n // return null;\n // },\n customClass() {\n return this.widget.options.customClass || '';\n },\n widgetSize() {\n return this.widget.options.tableSize || 'default';\n },\n lineHeight() {\n return this.widget.options.lineHeight || 40;\n },\n fmtPagination() {\n const { showPagination } = this.widget.options;\n if (!showPagination) return false;\n return {\n ...this.widget.options.pagination,\n showTotal: total => `共 ${total} 条`\n };\n }\n },\n watch: {\n 'widget.options.dataSource': {\n handler(newVal) {\n if (newVal && newVal.length) {\n console.log('DataTable dataSource changed:', newVal);\n this.widget.options.dataSource = newVal;\n console.log(this.getFormRef());\n this.getFormRef()?.setTableValue(this.widget.options.name, newVal);\n }\n },\n deep: true\n }\n },\n methods: {\n isShowBodyCell(dataIndex) {\n return this.columns?.bodyCell?.[dataIndex];\n },\n handleHidden() {\n const { onHidden, hidden } = this.widget.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n rowClassName(record) {\n const { rowKey, colorRow } = this.widget.options;\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey]\n ? 'colorRowClassName surely-table-row-selected'\n : '';\n },\n handleResizeColumn(w, col) {\n const { tableColumns } = this.widget.options;\n const newTableColumns = tableColumns.map(item => {\n if (item.dataIndex === col.dataIndex) {\n item.width = w;\n }\n return { ...item };\n });\n this.setTableColumns(newTableColumns);\n },\n disabledClick() {\n const { hasRowSelection } = this.widget.options.rowSelection;\n if (hasRowSelection) {\n return isEmpty(this.selectedRowInfo.selectedRowKeys);\n }\n return isEmpty(this.selectRow);\n },\n getSelectedRowKeys() {\n return this.selectedRowInfo.selectedRowKeys;\n },\n getSelectedRows() {\n return this.selectedRowInfo.getSelectedRows;\n },\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n setTableColumns(list) {\n this.widget.options.tableColumns = list;\n return;\n },\n async delSelectRow(delKeys) {\n await TpfConfirm({ content: '确定删除选中的数据吗' });\n delKeys = delKeys || this.selectedRowInfo.selectedRowKeys;\n if (!delKeys.length) return;\n const { rowKey } = this.widget.options;\n const data = this.getDataSource();\n const newList = data.filter(item => !delKeys?.includes(item[rowKey]));\n this.setDataSource(newList);\n\n this.$message.success('操作成功');\n },\n\n getPagination() {\n return this.widget.options.pagination;\n },\n /**\n * 设置表格分页\n * @param pagination\n */\n setPagination(pagination) {\n if (pagination.page !== undefined) {\n this.widget.options.pagination.current = pagination.page;\n }\n\n if (pagination.pageSize !== undefined) {\n this.widget.options.pagination.pageSize = pagination.pageSize;\n }\n\n if (pagination.total !== undefined) {\n this.widget.options.pagination.total = pagination.total;\n }\n },\n setDataSource(list) {\n list = list || [];\n this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRowe = {};\n const val = isArray(list) ? list : [list];\n console.log('setDataSource: ', val);\n this.getFormRef()?.setTableValue(this.widget.options.name, val);\n // this.widget.options.dataSource = [...val];\n },\n setValue(list) {\n console.log('list: ', list);\n this.setDataSource(list);\n },\n setRowDataSource(scope, value) {\n this.getFormRef()?.setTableRowDataValue(this.widget.options.name, scope, value);\n },\n getDataSource() {\n return this.getFormRef()?.getTableValue(this.widget.options.name) || [];\n },\n getValue() {\n return this.getDataSource();\n },\n async loadDataTableDataSource() {\n if (!this.widget.options.dsEnabled) {\n return;\n }\n setTimeout(async () => {\n const ops = this.widget.options;\n if (ops.dsEnabled && ops.http.url) {\n this.loading = true;\n const res = await fmtHttpParams.call(this, ops);\n this.setPagination(res);\n this.setDataSource(res.list);\n this.loading = false;\n }\n }, 500);\n },\n handleCustomRow(record) {\n const { customRow, colorRow } = this.widget.options;\n const { hasRowSelection } = this.widget.options.rowSelection;\n // if (!customRow) return {};\n return {\n onClick: event => {\n if (colorRow) {\n this.selectRow = record;\n }\n if (hasRowSelection) {\n this.selectTableRow(record);\n }\n const customFn = new Function('record', 'event', customRow.onClick);\n customFn.call(this, record, event);\n },\n onDblclick: event => {\n const customFn = new Function('record', 'event', customRow.onDblclick);\n customFn.call(this, record, event);\n },\n onMouseenter: event => {\n const customFn = new Function('record', 'event', customRow.onMouseenter);\n customFn.call(this, record, event);\n },\n onMouseleave: event => {\n const customFn = new Function('record', 'event', customRow.onMouseleave);\n customFn.call(this, record, event);\n }\n };\n },\n selectTableRow(record) {\n const rowKey = this.widget.options.rowKey;\n const rowKeys = this.selectedRowInfo.selectedRowKeys;\n console.log(this.selectedRowInfo.selectedRowKeys);\n\n if (rowKeys.includes(record[rowKey])) {\n this.selectedRowInfo.selectedRowKeys.splice(rowKeys.indexOf(record[rowKey]), 1);\n } else {\n this.selectedRowInfo.selectedRowKeys.push(record[rowKey]);\n }\n },\n // 处理列配置\n 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 bodyCell: scope => {\n return executeFunction({\n functionBody: customRenderFn,\n params: scope,\n context: this,\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n }\n };\n },\n getOperationButtonLabel(buttonConfig, rowIndex, row) {\n const { onGetOperationButtonLabel } = this.widget.options;\n if (!!onGetOperationButtonLabel) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onGetOperationButtonLabel\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.label;\n }\n },\n // 处理操作按钮点击\n async handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {\n this.skipSelectionChangeEvent = true;\n\n try {\n if (ob.onClick) {\n await executeFunction({\n functionBody: ob.onClick,\n params: { record: row, index: rowIndex, column: scope.column, btn: ob },\n context: this\n });\n return;\n }\n\n const { onOperationButtonClick } = this.widget.options;\n if (onOperationButtonClick) {\n await executeFunction({\n functionBody: onOperationButtonClick,\n params: { buttonName: btnName, rowIndex, row },\n context: this\n });\n } else {\n this.dispatch('VFormRender', 'operationButtonClick', [\n this,\n btnName,\n rowIndex,\n row\n ]);\n }\n } finally {\n this.skipSelectionChangeEvent = false;\n }\n },\n showOperationButton(buttonConfig, rowIndex, row) {\n const { onHideOperationButton } = this.widget.options;\n if (!!onHideOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onHideOperationButton\n );\n return !!customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return !buttonConfig.hidden;\n }\n },\n disableOperationButton(buttonConfig, rowIndex, row) {\n const { onDisableOperationButton } = this.widget.options;\n if (!!onDisableOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onDisableOperationButton\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.disabled;\n }\n },\n customRenderIndex({ index }) {\n return index + 1;\n },\n handleCurrentPageChange(currentPage) {\n this.currentPage = currentPage;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n\n const { onCurrentPageChange } = this.widget.options;\n\n if (!!onCurrentPageChange) {\n const customFn = new Function('pageSize', 'currentPage', onCurrentPageChange);\n customFn.call(this, this.pageSize, currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageChange', [\n this,\n this.pageSize,\n currentPage\n ]);\n }\n },\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n handlePageSizeChange(pageSize) {\n this.pageSize = pageSize;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n const { onPageSizeChange } = this.widget.options;\n if (!!onPageSizeChange) {\n const customFn = new Function('pageSize', 'currentPage', onPageSizeChange);\n customFn.call(this, pageSize, this.currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageSizeChange', [\n this,\n pageSize,\n this.currentPage\n ]);\n }\n },\n handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {\n const fn = this.widget.options.onTableChange;\n this.widget.options.pagination.current = pagination.current;\n this.widget.options.pagination.pageSize = pagination.pageSize;\n if (fn) {\n const changeFunc = new Function(\n 'pagination',\n 'filters',\n 'sorter',\n 'currentDataSource',\n fn\n );\n changeFunc.call(this, pagination, filters, sorter, { currentDataSource });\n }\n this.loadDataTableDataSource();\n },\n handleRowSelection() {\n const info = this.widget.options.rowSelection;\n if (!info.hasRowSelection) {\n return undefined;\n }\n return {\n ...omit(info, ['onChange']),\n onChange: (selectedRowKeys, selectedRows) => {\n this.selectedRowInfo = { selectedRowKeys, selectedRows };\n const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);\n rcFunc.call(this, selectedRowKeys, selectedRows);\n }\n };\n }\n }\n};\n"],"names":["useDataTableMixin","data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","inject","computed","columns","leftFixedColumns","optins","_a","widget","options","showIndex","push","title","align","width","fixed","maxWidth","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","_this","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","dataIndex","tableHeight","parseFloat","customClass","widgetSize","tableSize","lineHeight","fmtPagination","showPagination","pagination","showTotal","total","watch","handler","newVal","length","console","log","dataSource","getFormRef","setTableValue","name","deep","methods","isShowBodyCell","_b","handleHidden","onHidden","hidden","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","newList","getDataSource","includes","setDataSource","$message","success","getPagination","setPagination","page","undefined","current","pageSize","selectRowe","val","isArray","setValue","setRowDataSource","value","setTableRowDataValue","getTableValue","getValue","loadDataTableDataSource","dsEnabled","setTimeout","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","selectTableRow","onDblclick","customFn","onMouseenter","onMouseleave","rowKeys","splice","indexOf","omit","customRenderFn","minWidth","isAutoWidth","isNaN","Number","executeFunction","functionBody","params","context","errorCallback","error","getOperationButtonLabel","buttonConfig","rowIndex","row","onGetOperationButtonLabel","label","handleOperationButtonClick","btnName","ob","skipSelectionChangeEvent","index","column","btn","onOperationButtonClick","buttonName","dispatch","showOperationButton","onHideOperationButton","disableOperationButton","onDisableOperationButton","disabled","handleCurrentPageChange","currentPage","onCurrentPageChange","refList","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","handleRowSelection","info","onChange"],"mappings":";;;;;;;AAMA,MAAAA,IAAe;AAAA,EACXC,OAAO;AACH,WAAO;AAAA,MACHC,iBAAiB;AAAA,QAAEC,iBAAiB,CAAA;AAAA,QAAIC,cAAc,CAAA;AAAA;MACtDC,WAAW,CAAA;AAAA,MACXC,SAAS;AAAA;EAEjB;AAAA,EACAC,YAAY;AAAA,IACRC,gBAAAA;AAAAA;EAEJC,QAAQ,CAAC,SAAS;AAAA,EAClBC,UAAU;AAAA,IACNC,UAAU;;AACN,YAAMC,IAAmB,CAAA,GACnBC,MAASC,IAAA,KAAKC,WAAL,gBAAAD,EAAaE,YAAW,CAAA;AACvC,MAAIH,EAAOI,aACPL,EAAiBM,KAAK;AAAA,QAClBC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,OAAO;AAAA,QACPC,UAAU;AAAA,QACVC,OAAO;AAAA,QACPC,cAAc,KAAKC;AAAAA,MACvB,CAAC;AAEL,YAAMC,IAAgBd,EAAOe,aACxBC,OAAOC,CAAAA,MAAQA,EAAKC,IAAI,EACxBC,IAAIF,CAAAA,OAAS;AAAA,QACV,GAAGA;AAAAA,QACH,GAAG,KAAKG,iBAAiBH,CAAI;AAAA,MACjC,EAAE,GACAI,IAAoB,CAAA;AAC1B,UAAIrB,EAAOsB,mBAAmB;AAC1B,cAAMC,IAAmBvB,EAAOuB,oBAAoB,CAAA;AACpD,YAAIC,IAAQ;AACZH,QAAAA,EAAkBhB,KAAK;AAAA,UACnBI,OAAO;AAAA,UACPF,OAAO;AAAA,UACPD,OAAON,EAAOyB;AAAAA,UACdjB,OAAOR,EAAO0B;AAAAA,UACdd,aAAae,GAAO;AAChB,mBAAAC,EAAAC,GAAA;AAAA,cAAA,YAEoBN;AAAAA,cAAgB,MAAA;AAAA,cAAA,OAErBI;AAAAA,cAAK,KACPH;AAAAA,YAAK,GAAA,IAAA;AAAA,UAGtB;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,UAAIM,IAAW,CAAA;AAaf,aAAO;AAAA,QACHhC,SAXW,CAAC,GAAGC,GAAkB,GAAGe,GAAe,GAAGO,CAAiB,EAAEF,IACzEF,CAAAA,OACQA,EAAKa,aACLA,EAASb,EAAKc,SAAS,IAAId,EAAKa,UAChC,OAAOb,EAAKL,eAETK,EAEf;AAAA,QAIIa,UAAAA;AAAAA;IAER;AAAA,IACAE,cAAc;AACV,aAAOC,WAAW,KAAK/B,OAAOC,QAAQ6B,eAAe,CAAC;AAAA,IAC1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAE,cAAc;AACV,aAAO,KAAKhC,OAAOC,QAAQ+B,eAAe;AAAA,IAC9C;AAAA,IACAC,aAAa;AACT,aAAO,KAAKjC,OAAOC,QAAQiC,aAAa;AAAA,IAC5C;AAAA,IACAC,aAAa;AACT,aAAO,KAAKnC,OAAOC,QAAQkC,cAAc;AAAA,IAC7C;AAAA,IACAC,gBAAgB;AACZ,YAAM;AAAA,QAAEC,gBAAAA;AAAAA,MAAe,IAAI,KAAKrC,OAAOC;AACvC,aAAKoC,IACE;AAAA,QACH,GAAG,KAAKrC,OAAOC,QAAQqC;AAAAA,QACvBC,WAAWC,CAAAA,MAAS,KAAKA,CAAK;AAAA,UAHN;AAAA,IAKhC;AAAA;EAEJC,OAAO;AAAA,IACH,6BAA6B;AAAA,MACzBC,QAAQC,GAAQ;;AACZ,QAAIA,KAAUA,EAAOC,WACjBC,QAAQC,IAAI,iCAAiCH,CAAM,GACnD,KAAK3C,OAAOC,QAAQ8C,aAAaJ,GACjCE,QAAQC,IAAI,KAAKE,YAAY,IAC7BjD,IAAA,KAAKiD,WAAU,MAAf,QAAAjD,EAAmBkD,cAAc,KAAKjD,OAAOC,QAAQiD,MAAMP;AAAAA,MAEnE;AAAA,MACAQ,MAAM;AAAA,IACV;AAAA;EAEJC,SAAS;AAAA,IACLC,eAAexB,GAAW;;AACtB,cAAOyB,KAAAvD,IAAA,KAAKH,YAAL,gBAAAG,EAAc6B,aAAd,gBAAA0B,EAAyBzB;AAAAA,IACpC;AAAA,IACA0B,eAAe;AACX,YAAM;AAAA,QAAEC,UAAAA;AAAAA,QAAUC,QAAAA;AAAAA,MAAO,IAAI,KAAKzD,OAAOC;AACzC,aAAIwD,IAAe,KACfD,IACmB,IAAIE,SAASF,CAAQ,EACtBG,KAAK,IAAI,IAExB;AAAA,IACX;AAAA,IACAC,aAAaC,GAAQ;AACjB,YAAM;AAAA,QAAEC,QAAAA;AAAAA,QAAQC,UAAAA;AAAAA,MAAS,IAAI,KAAK/D,OAAOC;AACzC,aAAK8D,KACE,KAAKzE,UAAUwE,CAAM,MAAMD,EAAOC,CAAM,IACzC,gDAFgB;AAAA,IAI1B;AAAA,IACAE,mBAAmBC,GAAGC,GAAK;AACvB,YAAM;AAAA,QAAErD,cAAAA;AAAAA,MAAa,IAAI,KAAKb,OAAOC,SAC/BkE,IAAkBtD,EAAaI,IAAIF,CAAAA,OACjCA,EAAKc,cAAcqC,EAAIrC,cACvBd,EAAKT,QAAQ2D,IAEV;AAAA,QAAE,GAAGlD;AAAAA,QACf;AACD,WAAKqD,gBAAgBD,CAAe;AAAA,IACxC;AAAA,IACAE,gBAAgB;AACZ,YAAM;AAAA,QAAEC,iBAAAA;AAAAA,MAAgB,IAAI,KAAKtE,OAAOC,QAAQsE;AAChD,aAAID,IACOE,EAAQ,KAAKrF,gBAAgBC,eAAe,IAEhDoF,EAAQ,KAAKlF,SAAS;AAAA,IACjC;AAAA,IACAmF,qBAAqB;AACjB,aAAO,KAAKtF,gBAAgBC;AAAAA,IAChC;AAAA,IACAsF,kBAAkB;AACd,aAAO,KAAKvF,gBAAgBuF;AAAAA,IAChC;AAAA,IACAC,kBAAkB;AACd,aAAO,KAAK3E,OAAOC,QAAQY;AAAAA,IAC/B;AAAA,IACAuD,gBAAgBQ,GAAM;AAClB,WAAK5E,OAAOC,QAAQY,eAAe+D;AAAAA,IAEvC;AAAA,IACA,MAAMC,aAAaC,GAAS;AAGxB,UAFA,MAAMC,EAAW;AAAA,QAAEC,SAAS;AAAA,MAAa,CAAC,GAC1CF,IAAUA,KAAW,KAAK3F,gBAAgBC,iBACtC,CAAC0F,EAAQlC,OAAQ;AACrB,YAAM;AAAA,QAAEkB,QAAAA;AAAAA,MAAO,IAAI,KAAK9D,OAAOC,SAEzBgF,IADO,KAAKC,cAAa,EACVpE,OAAOC,CAAAA,MAAQ,EAAC+D,KAAAA,QAAAA,EAASK,SAASpE,EAAK+C,CAAM,GAAE;AACpE,WAAKsB,cAAcH,CAAO,GAE1B,KAAKI,SAASC,QAAQ,MAAM;AAAA,IAChC;AAAA,IAEAC,gBAAgB;AACZ,aAAO,KAAKvF,OAAOC,QAAQqC;AAAAA,IAC/B;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAkD,cAAclD,GAAY;AACtB,MAAIA,EAAWmD,SAASC,WACpB,KAAK1F,OAAOC,QAAQqC,WAAWqD,UAAUrD,EAAWmD,OAGpDnD,EAAWsD,aAAaF,WACxB,KAAK1F,OAAOC,QAAQqC,WAAWsD,WAAWtD,EAAWsD,WAGrDtD,EAAWE,UAAUkD,WACrB,KAAK1F,OAAOC,QAAQqC,WAAWE,QAAQF,EAAWE;AAAAA,IAE1D;AAAA,IACA4C,cAAcR,GAAM;;AAChBA,MAAAA,IAAOA,KAAQ,CAAA,GACf,KAAKzF,kBAAkB;AAAA,QAAEC,iBAAiB,CAAA;AAAA,QAAIC,cAAc,CAAA;AAAA,SAC5D,KAAKwG,aAAa,CAAA;AAClB,YAAMC,IAAMC,EAAQnB,CAAI,IAAIA,IAAO,CAACA,CAAI;AACxC/B,cAAQC,IAAI,mBAAmBgD,CAAG,IAClC/F,IAAA,KAAKiD,WAAU,MAAf,QAAAjD,EAAmBkD,cAAc,KAAKjD,OAAOC,QAAQiD,MAAM4C;AAAAA,IAE/D;AAAA,IACAE,SAASpB,GAAM;AACX/B,cAAQC,IAAI,UAAU8B,CAAI,GAC1B,KAAKQ,cAAcR,CAAI;AAAA,IAC3B;AAAA,IACAqB,iBAAiBxE,GAAOyE,GAAO;;AAC3B,OAAAnG,IAAA,KAAKiD,iBAAL,QAAAjD,EAAmBoG,qBAAqB,KAAKnG,OAAOC,QAAQiD,MAAMzB,GAAOyE;AAAAA,IAC7E;AAAA,IACAhB,gBAAgB;;AACZ,eAAOnF,IAAA,KAAKiD,WAAU,MAAf,gBAAAjD,EAAmBqG,cAAc,KAAKpG,OAAOC,QAAQiD,UAAS,CAAA;AAAA,IACzE;AAAA,IACAmD,WAAW;AACP,aAAO,KAAKnB,cAAa;AAAA,IAC7B;AAAA,IACA,MAAMoB,0BAA0B;AAC5B,MAAK,KAAKtG,OAAOC,QAAQsG,aAGzBC,WAAW,YAAY;AACnB,cAAMC,IAAM,KAAKzG,OAAOC;AACxB,YAAIwG,EAAIF,aAAaE,EAAIC,KAAKC,KAAK;AAC/B,eAAKpH,UAAU;AACf,gBAAMqH,IAAM,MAAMC,EAAclD,KAAK,MAAM8C,CAAG;AAC9C,eAAKjB,cAAcoB,CAAG,GACtB,KAAKxB,cAAcwB,EAAIhC,IAAI,GAC3B,KAAKrF,UAAU;AAAA,QACnB;AAAA,MACJ,GAAG,GAAG;AAAA,IACV;AAAA,IACAuH,gBAAgBjD,GAAQ;AACpB,YAAM;AAAA,QAAEkD,WAAAA;AAAAA,QAAWhD,UAAAA;AAAAA,MAAS,IAAI,KAAK/D,OAAOC,SACtC;AAAA,QAAEqE,iBAAAA;AAAAA,MAAgB,IAAI,KAAKtE,OAAOC,QAAQsE;AAEhD,aAAO;AAAA,QACHyC,SAASC,CAAAA,MAAS;AACd,UAAIlD,MACA,KAAKzE,YAAYuE,IAEjBS,KACA,KAAK4C,eAAerD,CAAM,GAEb,IAAIH,SAAS,UAAU,SAASqD,EAAUC,OAAO,EACzDrD,KAAK,MAAME,GAAQoD,CAAK;AAAA,QACrC;AAAA,QACAE,YAAYF,CAAAA,MAAS;AAEjBG,UADiB,IAAI1D,SAAS,UAAU,SAASqD,EAAUI,UAAU,EAC5DxD,KAAK,MAAME,GAAQoD,CAAK;AAAA,QACrC;AAAA,QACAI,cAAcJ,CAAAA,MAAS;AAEnBG,UADiB,IAAI1D,SAAS,UAAU,SAASqD,EAAUM,YAAY,EAC9D1D,KAAK,MAAME,GAAQoD,CAAK;AAAA,QACrC;AAAA,QACAK,cAAcL,CAAAA,MAAS;AAEnBG,UADiB,IAAI1D,SAAS,UAAU,SAASqD,EAAUO,YAAY,EAC9D3D,KAAK,MAAME,GAAQoD,CAAK;AAAA,QACrC;AAAA;IAER;AAAA,IACAC,eAAerD,GAAQ;AACnB,YAAMC,IAAS,KAAK9D,OAAOC,QAAQ6D,QAC7ByD,IAAU,KAAKpI,gBAAgBC;AACrCyD,cAAQC,IAAI,KAAK3D,gBAAgBC,eAAe,GAE5CmI,EAAQpC,SAAStB,EAAOC,CAAM,CAAC,IAC/B,KAAK3E,gBAAgBC,gBAAgBoI,OAAOD,EAAQE,QAAQ5D,EAAOC,CAAM,CAAC,GAAG,CAAC,IAE9E,KAAK3E,gBAAgBC,gBAAgBe,KAAK0D,EAAOC,CAAM,CAAC;AAAA,IAEhE;AAAA;AAAA,IAEA5C,iBAAiBH,GAAM;AACnB,YAAM6F,IAAMc,EAAK3G,GAAM,CAAC,cAAc,CAAC,GACjC4G,IAAiB5G,EAAKL;AAS5B,aARAK,EAAK6G,WAAW,IAChB7G,EAAKP,WAAW,MACZO,EAAK8G,eACL9G,EAAKT,QAAQ,MACb,OAAOS,EAAKT,SAEZS,EAAKT,QAAQwH,MAAMC,OAAOhH,EAAKT,KAAK,CAAC,IAAIS,EAAKT,QAAQyH,OAAOhH,EAAKT,KAAK,GAEtEqH,IAEE;AAAA,QACH,GAAGf;AAAAA,QACHhF,UAAUH,CAAAA,MACCuG,EAAgB;AAAA,UACnBC,cAAcN;AAAAA,UACdO,QAAQzG;AAAAA,UACR0G,SAAS;AAAA,UACTC,eAAeC,CAAAA,MAAS;AACpBxF,oBAAQwF,MAAM,wBAAwBA,CAAK;AAAA,UAC/C;AAAA,QACJ,CAAC;AAAA,UAZmBtH;AAAAA,IAehC;AAAA,IACAuH,wBAAwBC,GAAcC,GAAUC,GAAK;AACjD,YAAM;AAAA,QAAEC,2BAAAA;AAAAA,MAA0B,IAAI,KAAK1I,OAAOC;AAClD,aAAMyI,IACe,IAAIhF,SACjB,gBACA,YACA,OACAgF,CACJ,EACgB/E,KAAK,MAAM4E,GAAcC,GAAUC,CAAG,IAE/CF,EAAaI;AAAAA,IAE5B;AAAA;AAAA,IAEA,MAAMC,2BAA2BC,GAASL,GAAUC,GAAKhH,GAAOqH,GAAI;AAChE,WAAKC,2BAA2B;AAEhC,UAAI;AACA,YAAID,EAAG9B,SAAS;AACZ,gBAAMgB,EAAgB;AAAA,YAClBC,cAAca,EAAG9B;AAAAA,YACjBkB,QAAQ;AAAA,cAAErE,QAAQ4E;AAAAA,cAAKO,OAAOR;AAAAA,cAAUS,QAAQxH,EAAMwH;AAAAA,cAAQC,KAAKJ;AAAAA;YACnEX,SAAS;AAAA,UACb,CAAC;AACD;AAAA,QACJ;AAEA,cAAM;AAAA,UAAEgB,wBAAAA;AAAAA,QAAuB,IAAI,KAAKnJ,OAAOC;AAC/C,QAAIkJ,IACA,MAAMnB,EAAgB;AAAA,UAClBC,cAAckB;AAAAA,UACdjB,QAAQ;AAAA,YAAEkB,YAAYP;AAAAA,YAASL,UAAAA;AAAAA,YAAUC,KAAAA;AAAAA;UACzCN,SAAS;AAAA,QACb,CAAC,IAED,KAAKkB,SAAS,eAAe,wBAAwB,CACjD,MACAR,GACAL,GACAC,CAAG,CACN;AAAA,MAET,UAAC;AACG,aAAKM,2BAA2B;AAAA,MACpC;AAAA,IACJ;AAAA,IACAO,oBAAoBf,GAAcC,GAAUC,GAAK;AAC7C,YAAM;AAAA,QAAEc,uBAAAA;AAAAA,MAAsB,IAAI,KAAKvJ,OAAOC;AAC9C,aAAMsJ,IAOK,CAAC,CANS,IAAI7F,SACjB,gBACA,YACA,OACA6F,CACJ,EACkB5F,KAAK,MAAM4E,GAAcC,GAAUC,CAAG,IAEjD,CAACF,EAAa9E;AAAAA,IAE7B;AAAA,IACA+F,uBAAuBjB,GAAcC,GAAUC,GAAK;AAChD,YAAM;AAAA,QAAEgB,0BAAAA;AAAAA,MAAyB,IAAI,KAAKzJ,OAAOC;AACjD,aAAMwJ,IACe,IAAI/F,SACjB,gBACA,YACA,OACA+F,CACJ,EACgB9F,KAAK,MAAM4E,GAAcC,GAAUC,CAAG,IAE/CF,EAAamB;AAAAA,IAE5B;AAAA,IACA/I,kBAAkB;AAAA,MAAEqI,OAAAA;AAAAA,IAAM,GAAG;AACzB,aAAOA,IAAQ;AAAA,IACnB;AAAA,IACAW,wBAAwBC,GAAa;AACjC,WAAKA,cAAcA;AAKnB,YAAM;AAAA,QAAEC,qBAAAA;AAAAA,MAAoB,IAAI,KAAK7J,OAAOC;AAE5C,MAAM4J,IACe,IAAInG,SAAS,YAAY,eAAemG,CAAmB,EACnElG,KAAK,MAAM,KAAKiC,UAAUgE,CAAW,IAE9C,KAAKP,SAAS,eAAe,uBAAuB,CAChD,MACA,KAAKzD,UACLgE,CAAW,CACd;AAAA,IAET;AAAA,IACA5G,aAAa;AAET,aAAO,KAAK8G,QAAQ;AAAA,IACxB;AAAA,IACAC,qBAAqBnE,GAAU;AAC3B,WAAKA,WAAWA;AAIhB,YAAM;AAAA,QAAEoE,kBAAAA;AAAAA,MAAiB,IAAI,KAAKhK,OAAOC;AACzC,MAAM+J,IACe,IAAItG,SAAS,YAAY,eAAesG,CAAgB,EAChErG,KAAK,MAAMiC,GAAU,KAAKgE,WAAW,IAE9C,KAAKP,SAAS,eAAe,2BAA2B,CACpD,MACAzD,GACA,KAAKgE,WAAW,CACnB;AAAA,IAET;AAAA,IACAK,sBAAsB3H,GAAY4H,GAASC,GAAQ;AAAA,MAAEC,mBAAAA;AAAAA,IAAkB,GAAG;AACtE,YAAMC,IAAK,KAAKrK,OAAOC,QAAQqK;AAC/B,WAAKtK,OAAOC,QAAQqC,WAAWqD,UAAUrD,EAAWqD,SACpD,KAAK3F,OAAOC,QAAQqC,WAAWsD,WAAWtD,EAAWsD,UACjDyE,KACmB,IAAI3G,SACnB,cACA,WACA,UACA,qBACA2G,CACJ,EACW1G,KAAK,MAAMrB,GAAY4H,GAASC,GAAQ;AAAA,QAAEC,mBAAAA;AAAAA,MAAkB,CAAC,GAE5E,KAAK9D,wBAAuB;AAAA,IAChC;AAAA,IACAiE,qBAAqB;AACjB,YAAMC,IAAO,KAAKxK,OAAOC,QAAQsE;AACjC,UAAKiG,EAAKlG;AAGV,eAAO;AAAA,UACH,GAAGoD,EAAK8C,GAAM,CAAC,UAAU,CAAC;AAAA,UAC1BC,UAAUA,CAACrL,GAAiBC,MAAiB;AACzC,iBAAKF,kBAAkB;AAAA,cAAEC,iBAAAA;AAAAA,cAAiBC,cAAAA;AAAAA,eAC3B,IAAIqE,SAAS,mBAAmB,gBAAgB8G,EAAKC,QAAQ,EACrE9G,KAAK,MAAMvE,GAAiBC,CAAY;AAAA,UACnD;AAAA;IAER;AAAA,EACJ;AACJ;"}
|
|
1
|
+
{"version":3,"file":"useDataTableMixin.js","sources":["../../../src/mixins/useDataTableMixin.jsx"],"sourcesContent":["import { omit, isEmpty, isArray } from 'lodash-es';\nimport { fmtHttpParams } from '@/utils/request/fmtHttpParams';\nimport { TpfConfirm } from '@/hooks/TpfConfirm';\nimport RenderBodyCell from '@/components/CustomRender/components/RenderBodyCell.tsx';\nimport { executeFunction } from '@/utils/executeFunction';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\nexport default {\n data() {\n return {\n selectedRowInfo: { selectedRowKeys: [], selectedRows: [] },\n selectRow: {},\n loading: false\n };\n },\n components: {\n RenderBodyCell\n },\n inject: ['refList'],\n computed: {\n columns() {\n const leftFixedColumns = [];\n const optins = this.widget?.options ?? {};\n if (optins.showIndex) {\n leftFixedColumns.push({\n title: '序号',\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n field: 'dataIndex',\n customRender: this.customRenderIndex\n });\n }\n const centerColumns = optins.tableColumns\n .filter(item => item.show)\n .map(item => ({\n ...item,\n ...this.handleColumnItem(item)\n }));\n const rightFixedColumns = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n let _this = this;\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n customRender(scope) {\n return (\n <ActionButtonListRender\n buttonList={operationButtons}\n flex=\"center\"\n scope={scope}\n ctx={_this}\n />\n );\n }\n });\n }\n\n let bodyCell = {};\n\n // 把customRender渲染成 bodyCell 插槽\n let _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns].map(\n item => {\n if (item.bodyCell) {\n bodyCell[item.dataIndex] = item.bodyCell;\n delete item.customRender;\n }\n return item;\n }\n );\n\n return {\n columns: _columns,\n bodyCell\n };\n },\n tableHeight() {\n return parseFloat(this.widget.options.tableHeight || 0);\n },\n // rowClassName() {\n // if (this.widget.options.stripe) {\n // return (_record, index) => (index % 2 === 1 ? 'table-striped' : null);\n // }\n // return null;\n // },\n customClass() {\n return this.widget.options.customClass || '';\n },\n widgetSize() {\n return this.widget.options.tableSize || 'default';\n },\n lineHeight() {\n return this.widget.options.lineHeight || 40;\n },\n fmtPagination() {\n const { showPagination } = this.widget.options;\n if (!showPagination) return false;\n return {\n ...this.widget.options.pagination,\n showTotal: total => `共 ${total} 条`\n };\n }\n },\n watch: {\n 'widget.options.dataSource': {\n handler(newVal) {\n if (newVal && newVal.length) {\n console.log('DataTable dataSource changed:', newVal);\n this.widget.options.dataSource = newVal;\n console.log(this.getFormRef());\n this.getFormRef()?.setTableValue(this.widget.options.name, newVal);\n }\n },\n deep: true\n }\n },\n methods: {\n isShowBodyCell(dataIndex) {\n return this.columns?.bodyCell?.[dataIndex];\n },\n handleHidden() {\n const { onHidden, hidden } = this.widget.options;\n if (hidden) return true;\n if (onHidden) {\n const onHiddenFn = new Function(onHidden);\n return onHiddenFn.call(this);\n }\n return false;\n },\n rowClassName(record) {\n const { rowKey, colorRow } = this.widget.options;\n if (!colorRow) return '';\n return this.selectRow[rowKey] === record[rowKey]\n ? 'colorRowClassName surely-table-row-selected'\n : '';\n },\n handleResizeColumn(w, col) {\n const { tableColumns } = this.widget.options;\n const newTableColumns = tableColumns.map(item => {\n if (item.dataIndex === col.dataIndex) {\n item.width = w;\n }\n return { ...item };\n });\n this.setTableColumns(newTableColumns);\n },\n disabledClick() {\n const { hasRowSelection } = this.widget.options.rowSelection;\n if (hasRowSelection) {\n return isEmpty(this.selectedRowInfo.selectedRowKeys);\n }\n return isEmpty(this.selectRow);\n },\n getSelectedRowKeys() {\n return this.selectedRowInfo.selectedRowKeys;\n },\n getSelectedRows() {\n return this.selectedRowInfo.getSelectedRows;\n },\n getTableColumns() {\n return this.widget.options.tableColumns;\n },\n setTableColumns(list) {\n this.widget.options.tableColumns = list;\n return;\n },\n async delSelectRow(delKeys) {\n await TpfConfirm({ content: '确定删除选中的数据吗' });\n delKeys = delKeys || this.selectedRowInfo.selectedRowKeys;\n if (!delKeys.length) return;\n const { rowKey } = this.widget.options;\n const data = this.getDataSource();\n const newList = data.filter(item => !delKeys?.includes(item[rowKey]));\n this.setDataSource(newList);\n\n this.$message.success('操作成功');\n },\n\n getPagination() {\n return this.widget.options.pagination;\n },\n /**\n * 设置表格分页\n * @param pagination\n */\n setPagination(pagination) {\n if (pagination.page !== undefined) {\n this.widget.options.pagination.current = pagination.page;\n }\n\n if (pagination.pageSize !== undefined) {\n this.widget.options.pagination.pageSize = pagination.pageSize;\n }\n\n if (pagination.total !== undefined) {\n this.widget.options.pagination.total = pagination.total;\n }\n },\n setDataSource(list) {\n list = list || [];\n this.selectedRowInfo = { selectedRowKeys: [], selectedRows: [] };\n this.selectRowe = {};\n const val = isArray(list) ? list : [list];\n console.log('setDataSource: ', val);\n this.getFormRef()?.setTableValue(this.widget.options.name, val);\n // this.widget.options.dataSource = [...val];\n },\n setValue(list) {\n console.log('list: ', list);\n this.setDataSource(list);\n },\n setRowDataSource(scope, value) {\n this.getFormRef()?.setTableRowDataValue(this.widget.options.name, scope, value);\n },\n insertTableValue(value) {\n this.getFormRef()?.insertTableValue(this.widget.options.name, value);\n },\n getDataSource() {\n return this.getFormRef()?.getTableValue(this.widget.options.name) || [];\n },\n getValue() {\n return this.getDataSource();\n },\n async loadDataTableDataSource() {\n if (!this.widget.options.dsEnabled) {\n return;\n }\n setTimeout(async () => {\n const ops = this.widget.options;\n if (ops.dsEnabled && ops.http.url) {\n this.loading = true;\n const res = await fmtHttpParams.call(this, ops);\n this.setPagination(res);\n this.setDataSource(res.list);\n this.loading = false;\n }\n }, 500);\n },\n handleCustomRow(record) {\n const { customRow, colorRow } = this.widget.options;\n const { hasRowSelection } = this.widget.options.rowSelection;\n // if (!customRow) return {};\n return {\n onClick: event => {\n if (colorRow) {\n this.selectRow = record;\n }\n if (hasRowSelection) {\n this.selectTableRow(record);\n }\n const customFn = new Function('record', 'event', customRow.onClick);\n customFn.call(this, record, event);\n },\n onDblclick: event => {\n const customFn = new Function('record', 'event', customRow.onDblclick);\n customFn.call(this, record, event);\n },\n onMouseenter: event => {\n const customFn = new Function('record', 'event', customRow.onMouseenter);\n customFn.call(this, record, event);\n },\n onMouseleave: event => {\n const customFn = new Function('record', 'event', customRow.onMouseleave);\n customFn.call(this, record, event);\n }\n };\n },\n selectTableRow(record) {\n const rowKey = this.widget.options.rowKey;\n const rowKeys = this.selectedRowInfo.selectedRowKeys;\n console.log(this.selectedRowInfo.selectedRowKeys);\n\n if (rowKeys.includes(record[rowKey])) {\n this.selectedRowInfo.selectedRowKeys.splice(rowKeys.indexOf(record[rowKey]), 1);\n } else {\n this.selectedRowInfo.selectedRowKeys.push(record[rowKey]);\n }\n },\n // 处理列配置\n 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 bodyCell: scope => {\n return executeFunction({\n functionBody: customRenderFn,\n params: scope,\n context: this,\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n }\n };\n },\n getOperationButtonLabel(buttonConfig, rowIndex, row) {\n const { onGetOperationButtonLabel } = this.widget.options;\n if (!!onGetOperationButtonLabel) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onGetOperationButtonLabel\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.label;\n }\n },\n // 处理操作按钮点击\n async handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {\n this.skipSelectionChangeEvent = true;\n\n try {\n if (ob.onClick) {\n await executeFunction({\n functionBody: ob.onClick,\n params: { record: row, index: rowIndex, column: scope.column, btn: ob },\n context: this\n });\n return;\n }\n\n const { onOperationButtonClick } = this.widget.options;\n if (onOperationButtonClick) {\n await executeFunction({\n functionBody: onOperationButtonClick,\n params: { buttonName: btnName, rowIndex, row },\n context: this\n });\n } else {\n this.dispatch('VFormRender', 'operationButtonClick', [\n this,\n btnName,\n rowIndex,\n row\n ]);\n }\n } finally {\n this.skipSelectionChangeEvent = false;\n }\n },\n showOperationButton(buttonConfig, rowIndex, row) {\n const { onHideOperationButton } = this.widget.options;\n if (!!onHideOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onHideOperationButton\n );\n return !!customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return !buttonConfig.hidden;\n }\n },\n disableOperationButton(buttonConfig, rowIndex, row) {\n const { onDisableOperationButton } = this.widget.options;\n if (!!onDisableOperationButton) {\n const customFn = new Function(\n 'buttonConfig',\n 'rowIndex',\n 'row',\n onDisableOperationButton\n );\n return customFn.call(this, buttonConfig, rowIndex, row);\n } else {\n return buttonConfig.disabled;\n }\n },\n customRenderIndex({ index }) {\n return index + 1;\n },\n handleCurrentPageChange(currentPage) {\n this.currentPage = currentPage;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n\n const { onCurrentPageChange } = this.widget.options;\n\n if (!!onCurrentPageChange) {\n const customFn = new Function('pageSize', 'currentPage', onCurrentPageChange);\n customFn.call(this, this.pageSize, currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageChange', [\n this,\n this.pageSize,\n currentPage\n ]);\n }\n },\n getFormRef() {\n /* 获取VFrom引用,必须在VForm组件created之后方可调用 */\n return this.refList['v_form_ref'];\n },\n handlePageSizeChange(pageSize) {\n this.pageSize = pageSize;\n // if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) {\n // this.loadDataFromDS();\n // }\n const { onPageSizeChange } = this.widget.options;\n if (!!onPageSizeChange) {\n const customFn = new Function('pageSize', 'currentPage', onPageSizeChange);\n customFn.call(this, pageSize, this.currentPage);\n } else {\n this.dispatch('VFormRender', 'dataTablePageSizeChange', [\n this,\n pageSize,\n this.currentPage\n ]);\n }\n },\n handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {\n const fn = this.widget.options.onTableChange;\n this.widget.options.pagination.current = pagination.current;\n this.widget.options.pagination.pageSize = pagination.pageSize;\n if (fn) {\n const changeFunc = new Function(\n 'pagination',\n 'filters',\n 'sorter',\n 'currentDataSource',\n fn\n );\n changeFunc.call(this, pagination, filters, sorter, { currentDataSource });\n }\n this.loadDataTableDataSource();\n },\n handleRowSelection() {\n const info = this.widget.options.rowSelection;\n if (!info.hasRowSelection) {\n return undefined;\n }\n return {\n ...omit(info, ['onChange']),\n onChange: (selectedRowKeys, selectedRows) => {\n this.selectedRowInfo = { selectedRowKeys, selectedRows };\n const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);\n rcFunc.call(this, selectedRowKeys, selectedRows);\n }\n };\n }\n }\n};\n"],"names":["useDataTableMixin","data","selectedRowInfo","selectedRowKeys","selectedRows","selectRow","loading","components","RenderBodyCell","inject","computed","columns","leftFixedColumns","optins","_a","widget","options","showIndex","push","title","align","width","fixed","maxWidth","field","customRender","customRenderIndex","centerColumns","tableColumns","filter","item","show","map","handleColumnItem","rightFixedColumns","showButtonsColumn","operationButtons","_this","buttonsColumnTitle","buttonsColumnWidth","scope","_createVNode","ActionButtonListRender","bodyCell","dataIndex","tableHeight","parseFloat","customClass","widgetSize","tableSize","lineHeight","fmtPagination","showPagination","pagination","showTotal","total","watch","handler","newVal","length","console","log","dataSource","getFormRef","setTableValue","name","deep","methods","isShowBodyCell","_b","handleHidden","onHidden","hidden","Function","call","rowClassName","record","rowKey","colorRow","handleResizeColumn","w","col","newTableColumns","setTableColumns","disabledClick","hasRowSelection","rowSelection","isEmpty","getSelectedRowKeys","getSelectedRows","getTableColumns","list","delSelectRow","delKeys","TpfConfirm","content","newList","getDataSource","includes","setDataSource","$message","success","getPagination","setPagination","page","undefined","current","pageSize","selectRowe","val","isArray","setValue","setRowDataSource","value","setTableRowDataValue","insertTableValue","getTableValue","getValue","loadDataTableDataSource","dsEnabled","setTimeout","ops","http","url","res","fmtHttpParams","handleCustomRow","customRow","onClick","event","selectTableRow","onDblclick","customFn","onMouseenter","onMouseleave","rowKeys","splice","indexOf","omit","customRenderFn","minWidth","isAutoWidth","isNaN","Number","executeFunction","functionBody","params","context","errorCallback","error","getOperationButtonLabel","buttonConfig","rowIndex","row","onGetOperationButtonLabel","label","handleOperationButtonClick","btnName","ob","skipSelectionChangeEvent","index","column","btn","onOperationButtonClick","buttonName","dispatch","showOperationButton","onHideOperationButton","disableOperationButton","onDisableOperationButton","disabled","handleCurrentPageChange","currentPage","onCurrentPageChange","refList","handlePageSizeChange","onPageSizeChange","handleTablePageChange","filters","sorter","currentDataSource","fn","onTableChange","handleRowSelection","info","onChange"],"mappings":"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"}
|