orion-design 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Edittable/index.js +200 -182
- package/dist/components/Edittable/index.js.map +1 -1
- package/dist/request/leaf7/Leaf7EncryptRequestParser.js +22 -12
- package/dist/request/leaf7/Leaf7EncryptRequestParser.js.map +1 -1
- package/dist/request/leaf7/types.d.ts +3 -0
- package/dist/version/version.d.ts +1 -1
- package/dist/version/version.js +1 -1
- package/dist/version/version.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Edittable/Edittable.tsx","../../../src/components/Edittable/columns/EdittableColumnIndex.tsx","../../../src/components/Edittable/columns/EdittableColumnString.tsx","../../../src/components/Edittable/columns/EdittableColumnLov.tsx","../../../src/components/Edittable/columns/EdittableColumnCheckbox.tsx","../../../src/components/Edittable/columns/EdittableColumnNumber.tsx","../../../src/components/Edittable/columns/EdittableColumnDate.tsx","../../../src/components/Edittable/columns/EdittableColumnSingleselect.tsx","../../../src/components/Edittable/columns/EdittableColumnMultiselect.tsx","../../../src/components/Edittable/columns/EdittableColumnButtongroup.tsx","../../../src/components/Edittable/columns/EdittableCellButton.tsx","../../../src/components/Edittable/columns/EdittableColumngroup.tsx","../../../src/components/Edittable/columns/EdittableColumnDiy.tsx","../../../src/components/Edittable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties } from 'vue'\r\nimport classNames from '../_antd_util/classNames'\r\nimport { ElTable, ElTableColumn } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\nimport { isArray, isFunction, isString } from 'lodash-es'\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport useColumns from './hooks/useColumns'\r\nimport useCode from '../Pagetable/hooks/useCode'\r\n\r\nimport OStringInput from '../Input/StringInput/StringInput.vue'\r\nimport OSingleSelect from '../Input/SingleSelect/SingleSelect.vue'\r\nimport OMultiSelect from '../Input/MultiSelect/MultiSelect.vue'\r\nimport ODateInput from '../Input/DateInput/DateInput.vue'\r\nimport ONumberInput from '../Input/NumberInput/NumberInput.vue'\r\nimport OCheckbox from '../Input/Checkbox/Checkbox.vue'\r\nimport OLovInput from '../Input/LovInput/LovInput.vue'\r\n\r\ntype rowClassNameFn = (data: { rowData: any; rowIndex: number }) => string\r\ntype rowStyleFn = (data: { rowData: any; rowIndex: number }) => CSSProperties\r\ntype cellClassNameFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => string\r\ntype cellStyleFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => CSSProperties\r\n\r\nexport const edittableProps = () => ({\r\n data: Array,\r\n showRowNumber: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n selectionMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n currentRowMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n size: String as PropType<'' | 'large' | 'default' | 'small'>,\r\n rowClassName: [String, Function] as PropType<string | rowClassNameFn>,\r\n rowStyle: [Object, Function] as PropType<CSSProperties | rowStyleFn>,\r\n cellClassName: [String, Function] as PropType<string | cellClassNameFn>,\r\n cellStyle: [Object, Function] as PropType<CSSProperties | cellStyleFn>,\r\n})\r\n\r\nexport type EdittableProps = Partial<ExtractPropTypes<ReturnType<typeof edittableProps>>>\r\n\r\nconst isCellEditable = (editable = true, cellEditable: any, row: any) => {\r\n if (!editable) {\r\n return false\r\n }\r\n if (!cellEditable) {\r\n return true\r\n }\r\n return cellEditable(row)\r\n}\r\n\r\nconst getCodeData = (code: any, row: any) => {\r\n if (isString(code) || isArray(code)) {\r\n return useCode(code).value\r\n } else if (isFunction(code)) {\r\n return code(row)\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'OEdittable',\r\n inheritAttrs: false,\r\n props: edittableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n const { rowClassName, rowStyle, cellClassName, cellStyle } = props\r\n\r\n const cn = classNames('orion-edittable')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n headerAlign={'center'}\r\n align={'center'}\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} headerAlign={'center'} align={'center'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OStringInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n ></OStringInput>\r\n ) : (\r\n <div class=\"cell-stringinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderLovColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder, fillMapping } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const elChildren = column.children?.default?.({\r\n rowData: elRow,\r\n column: elColumn,\r\n rowIndex: scope.$index,\r\n })\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OLovInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n onClear={() => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n elRow[dstName] = undefined\r\n }\r\n }\r\n }}\r\n onSelect={(params) => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n elRow[dstName] = srcValue\r\n }\r\n } else {\r\n fillMapping && fillMapping(elRow, params)\r\n }\r\n }}\r\n >\r\n {elChildren}\r\n </OLovInput>\r\n ) : (\r\n <div class=\"cell-lovinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderCheckboxColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign = 'center', width, fixed, editable, cellEditable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return (\r\n <div class=\"cell-checkbox\">\r\n <OCheckbox\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n disabled={!isEditable}\r\n ></OCheckbox>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'right',\r\n width,\r\n fixed,\r\n thousandsSeparator = true,\r\n percentage = false,\r\n editable,\r\n cellEditable,\r\n placeholder,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = false,\r\n controlsPosition,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <ONumberInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n placeholder={placeholder}\r\n min={min}\r\n max={max}\r\n step={step}\r\n stepStrictly={stepStrictly}\r\n precision={precision}\r\n controls={controls}\r\n controlsPosition={controlsPosition}\r\n ></ONumberInput>\r\n ) : (\r\n <div class=\"cell-numberinput\">{number2string(cellValue, thousandsSeparator, precision, percentage === true || percentage === '')}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'center',\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n maxlength,\r\n placeholder,\r\n clearable = false,\r\n format = 'YYYYMMDDHHmmss',\r\n sourceFormat,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n if (isEditable) {\r\n return (\r\n <ODateInput\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n format={format}\r\n sourceFormat={sourceFormat}\r\n ></ODateInput>\r\n )\r\n }\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div class=\"cell-dateinput\">{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, code, placeholder, clearable, filterable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OSingleSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n filterable={filterable}\r\n ></OSingleSelect>\r\n ) : (\r\n <div class=\"cell-singleselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign,\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n code,\r\n placeholder,\r\n collapseTags = true,\r\n collapseTagsTooltip,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OMultiSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n collapseTags={collapseTags}\r\n collapseTagsTooltip={collapseTagsTooltip}\r\n ></OMultiSelect>\r\n ) : (\r\n <div class=\"cell-multiselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign = 'center' } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign = 'center', width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OEdittableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OEdittableColumnLov') {\r\n return renderLovColumn(c)\r\n } else if (c.type === 'OEdittableColumnCheckbox') {\r\n return renderCheckboxColumn(c)\r\n } else if (c.type === 'OEdittableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OEdittableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OEdittableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OEdittableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OEdittableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OEdittable不能正确渲染'${c.type}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <ElTable\r\n ref={elTableRef}\r\n border\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n rowClassName={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowClassName === 'string') {\r\n return rowClassName\r\n } else if (typeof rowClassName === 'function') {\r\n return rowClassName({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else {\r\n return 'row-class-name_not_valid'\r\n }\r\n }}\r\n rowStyle={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowStyle === 'function') {\r\n return rowStyle({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else if (typeof rowStyle === 'object') {\r\n return rowStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n cellClassName={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellClassName === 'string') {\r\n return cellClassName\r\n } else if (typeof cellClassName === 'function') {\r\n return cellClassName({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else {\r\n return 'cell-class-name_not_valid'\r\n }\r\n }}\r\n cellStyle={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellStyle === 'function') {\r\n return cellStyle({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else if (typeof cellStyle === 'object') {\r\n return cellStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\n\r\nexport const edittableColumnIndexProps = () => ({})\r\n\r\nexport type QuerytableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OQuerytableColumnIndex',\r\n inheritAttrs: false,\r\n props: edittableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnStringProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n})\r\n\r\nexport type EdittableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnString',\r\n inheritAttrs: false,\r\n props: edittableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\nexport const edittableColumnLovProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n fillMapping: [String, Function] as PropType<string | ((row: any, params: Record<string, any>) => void)>,\r\n})\r\n\r\nexport type EdittableColumnLovProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLovProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnLov',\r\n inheritAttrs: false,\r\n props: edittableColumnLovProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnLinkProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnCheckbox',\r\n inheritAttrs: false,\r\n props: edittableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnNumberProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 千位分隔符\r\n thousandsSeparator: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 百分比形式\r\n percentage: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n placeholder: String,\r\n min: Number,\r\n max: Number,\r\n step: Number,\r\n stepStrictly: Boolean,\r\n precision: Number,\r\n controls: Boolean,\r\n controlsPosition: String as PropType<'' | 'right'>,\r\n})\r\n\r\nexport type EdittableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnNumber',\r\n inheritAttrs: false,\r\n props: edittableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnDateProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n clearable: Boolean,\r\n format: String,\r\n sourceFormat: String,\r\n})\r\n\r\nexport type EdittableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDate',\r\n inheritAttrs: false,\r\n props: edittableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnSingleselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n clearable: Boolean,\r\n filterable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: edittableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnMultiselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n collapseTags: Boolean,\r\n collapseTagsTooltip: Boolean,\r\n})\r\n\r\nexport type EdittableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: edittableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnButtongroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: edittableColumnButtongroupProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport { ElButton } from 'element-plus'\r\n\r\n\r\nexport const edittableCellButtonProps = () => ({\r\n type: String,\r\n})\r\n\r\nexport type EdittableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof edittableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableCellButton',\r\n inheritAttrs: false,\r\n props: edittableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\n\r\nexport const edittableColumngroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n})\r\n\r\nexport type EdittableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumngroup',\r\n inheritAttrs: false,\r\n props: edittableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnDiyProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDiy',\r\n inheritAttrs: false,\r\n props: edittableColumnDiyProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Edittable from './Edittable'\r\nimport EdittableColumnIndex from './columns/EdittableColumnIndex'\r\nimport EdittableColumnString from './columns/EdittableColumnString'\r\nimport EdittableColumnLov from './columns/EdittableColumnLov'\r\nimport EdittableColumnCheckbox from './columns/EdittableColumnCheckbox'\r\nimport EdittableColumnNumber from './columns/EdittableColumnNumber'\r\nimport EdittableColumnDate from './columns/EdittableColumnDate'\r\nimport EdittableColumnSingleselect from './columns/EdittableColumnSingleselect'\r\nimport EdittableColumnMultiselect from './columns/EdittableColumnMultiselect'\r\nimport EdittableColumnButtongroup from './columns/EdittableColumnButtongroup'\r\nimport EdittableCellButton from './columns/EdittableCellButton'\r\nimport EdittableColumngroup from './columns/EdittableColumngroup'\r\nimport EdittableColumnDiy from './columns/EdittableColumnDiy'\r\n\r\nexport type { EdittableProps } from './Edittable'\r\n\r\nexport default withInstall<\r\n typeof Edittable,\r\n {\r\n EdittableColumnIndex: typeof EdittableColumnIndex\r\n EdittableColumnString: typeof EdittableColumnString\r\n EdittableColumnLov: typeof EdittableColumnLov\r\n EdittableColumnCheckbox: typeof EdittableColumnCheckbox\r\n EdittableColumnNumber: typeof EdittableColumnNumber\r\n EdittableColumnDate: typeof EdittableColumnDate\r\n EdittableColumnSingleselect: typeof EdittableColumnSingleselect\r\n EdittableColumnMultiselect: typeof EdittableColumnMultiselect\r\n EdittableColumnButtongroup: typeof EdittableColumnButtongroup\r\n EdittableCellButton: typeof EdittableCellButton\r\n EdittableColumngroup: typeof EdittableColumngroup\r\n EdittableColumnDiy: typeof EdittableColumnDiy\r\n }\r\n>(Edittable, {\r\n EdittableColumnIndex,\r\n EdittableColumnString,\r\n EdittableColumnLov,\r\n EdittableColumnCheckbox,\r\n EdittableColumnNumber,\r\n EdittableColumnDate,\r\n EdittableColumnSingleselect,\r\n EdittableColumnMultiselect,\r\n EdittableColumnButtongroup,\r\n EdittableCellButton,\r\n EdittableColumngroup,\r\n EdittableColumnDiy,\r\n})\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","edittableProps","data","Array","showRowNumber","type","Boolean","default","selectionMode","currentRowMode","size","String","rowClassName","Function","rowStyle","cellClassName","cellStyle","isCellEditable","editable","cellEditable","row","getCodeData","code","isString","isArray","useCode","value","isFunction","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","clearSelection","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","renderSelectionColumn","renderStringColumn","column","head","headAlign","bodyAlign","width","fixed","maxlength","placeholder","header","children","scope","elRow","elColumn","isEditable","cellValue","property","OStringInput","renderLovColumn","fillMapping","elChildren","rowData","rowIndex","$index","OLovInput","onClear","pairs","split","i","length","dstName","trim","undefined","params","srcName","srcValue","renderCheckboxColumn","OCheckbox","renderNumberColumn","thousandsSeparator","percentage","min","max","step","stepStrictly","precision","controls","controlsPosition","ONumberInput","number2string","renderDateColumn","clearable","format","sourceFormat","ODateInput","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","filterable","codeContent","codeData","getSingleCodeContent","OSingleSelect","renderMultiSelectColumn","collapseTags","collapseTagsTooltip","getMultiCodeContent","OMultiSelect","renderButtongroupColumn","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","map","c","OrionError","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","columnIndex","edittableColumnIndexProps","edittableColumnStringProps","Number","edittableColumnLovProps","edittableColumnLinkProps","edittableColumnNumberProps","edittableColumnDateProps","edittableColumnSingleselectProps","edittableColumnMultiselectProps","edittableColumnButtongroupProps","edittableCellButtonProps","handleClick","ElButton","edittableColumngroupProps","edittableColumnDiyProps","withInstall","Edittable","EdittableColumnIndex","EdittableColumnString","EdittableColumnLov","EdittableColumnCheckbox","EdittableColumnNumber","EdittableColumnDate","EdittableColumnSingleselect","EdittableColumnMultiselect","EdittableColumnButtongroup","EdittableCellButton","EdittableColumngroup","EdittableColumnDiy"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Edittable/Edittable.tsx","../../../src/components/Edittable/columns/EdittableColumnIndex.tsx","../../../src/components/Edittable/columns/EdittableColumnString.tsx","../../../src/components/Edittable/columns/EdittableColumnLov.tsx","../../../src/components/Edittable/columns/EdittableColumnCheckbox.tsx","../../../src/components/Edittable/columns/EdittableColumnNumber.tsx","../../../src/components/Edittable/columns/EdittableColumnDate.tsx","../../../src/components/Edittable/columns/EdittableColumnSingleselect.tsx","../../../src/components/Edittable/columns/EdittableColumnMultiselect.tsx","../../../src/components/Edittable/columns/EdittableColumnButtongroup.tsx","../../../src/components/Edittable/columns/EdittableCellButton.tsx","../../../src/components/Edittable/columns/EdittableColumngroup.tsx","../../../src/components/Edittable/columns/EdittableColumnDiy.tsx","../../../src/components/Edittable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties } from 'vue'\r\nimport classNames from '../_antd_util/classNames'\r\nimport { ElTable, ElTableColumn } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\nimport { isArray, isFunction, isString } from 'lodash-es'\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport useColumns from './hooks/useColumns'\r\nimport useCode from '../Pagetable/hooks/useCode'\r\n\r\nimport OStringInput from '../Input/StringInput/StringInput.vue'\r\nimport OSingleSelect from '../Input/SingleSelect/SingleSelect.vue'\r\nimport OMultiSelect from '../Input/MultiSelect/MultiSelect.vue'\r\nimport ODateInput from '../Input/DateInput/DateInput.vue'\r\nimport ONumberInput from '../Input/NumberInput/NumberInput.vue'\r\nimport OCheckbox from '../Input/Checkbox/Checkbox.vue'\r\nimport OLovInput from '../Input/LovInput/LovInput.vue'\r\n\r\ntype rowClassNameFn = (data: { rowData: any; rowIndex: number }) => string\r\ntype rowStyleFn = (data: { rowData: any; rowIndex: number }) => CSSProperties\r\ntype cellClassNameFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => string\r\ntype cellStyleFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => CSSProperties\r\n\r\nexport const edittableProps = () => ({\r\n data: Array,\r\n showRowNumber: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n selectionMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n currentRowMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n size: String as PropType<'' | 'large' | 'default' | 'small'>,\r\n rowClassName: [String, Function] as PropType<string | rowClassNameFn>,\r\n rowStyle: [Object, Function] as PropType<CSSProperties | rowStyleFn>,\r\n cellClassName: [String, Function] as PropType<string | cellClassNameFn>,\r\n cellStyle: [Object, Function] as PropType<CSSProperties | cellStyleFn>,\r\n})\r\n\r\nexport type EdittableProps = Partial<ExtractPropTypes<ReturnType<typeof edittableProps>>>\r\n\r\nconst isCellEditable = (editable = true, cellEditable: any, row: any) => {\r\n if (!editable) {\r\n return false\r\n }\r\n if (!cellEditable) {\r\n return true\r\n }\r\n return cellEditable(row)\r\n}\r\n\r\nconst getCodeData = (code: any, row: any) => {\r\n if (isString(code) || isArray(code)) {\r\n return useCode(code).value\r\n } else if (isFunction(code)) {\r\n return code(row)\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'OEdittable',\r\n inheritAttrs: false,\r\n props: edittableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const flatColumns = computed(() => {\r\n let r: any[] = []\r\n if (props.showRowNumber) {\r\n r.push({ type: '__showRowNumber__' })\r\n }\r\n\r\n if (props.selectionMode) {\r\n r.push({ type: '__selectionMode__' })\r\n }\r\n\r\n function flat(columns: any[]) {\r\n if (!columns) {\r\n return\r\n }\r\n\r\n for (let i = 0; i < columns.length; i++) {\r\n const c = columns[i]\r\n if (c.type === 'OPagetableColumngroup') {\r\n flat(c.children)\r\n } else {\r\n r.push({\r\n ...c,\r\n })\r\n }\r\n }\r\n }\r\n flat(columns.value)\r\n\r\n return r\r\n })\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n columns: flatColumns,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n const { rowClassName, rowStyle, cellClassName, cellStyle } = props\r\n\r\n const cn = classNames('orion-edittable')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n headerAlign={'center'}\r\n align={'center'}\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} headerAlign={'center'} align={'center'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OStringInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n ></OStringInput>\r\n ) : (\r\n <div class=\"cell-stringinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderLovColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder, fillMapping } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const elChildren = column.children?.default?.({\r\n rowData: elRow,\r\n column: elColumn,\r\n rowIndex: scope.$index,\r\n })\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OLovInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n onClear={() => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n elRow[dstName] = undefined\r\n }\r\n }\r\n }}\r\n onSelect={(params) => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n elRow[dstName] = srcValue\r\n }\r\n } else {\r\n fillMapping && fillMapping(elRow, params)\r\n }\r\n }}\r\n >\r\n {elChildren}\r\n </OLovInput>\r\n ) : (\r\n <div class=\"cell-lovinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderCheckboxColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign = 'center', width, fixed, editable, cellEditable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return (\r\n <div class=\"cell-checkbox\">\r\n <OCheckbox\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n disabled={!isEditable}\r\n ></OCheckbox>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'right',\r\n width,\r\n fixed,\r\n thousandsSeparator = true,\r\n percentage = false,\r\n editable,\r\n cellEditable,\r\n placeholder,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = false,\r\n controlsPosition,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <ONumberInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n placeholder={placeholder}\r\n min={min}\r\n max={max}\r\n step={step}\r\n stepStrictly={stepStrictly}\r\n precision={precision}\r\n controls={controls}\r\n controlsPosition={controlsPosition}\r\n ></ONumberInput>\r\n ) : (\r\n <div class=\"cell-numberinput\">{number2string(cellValue, thousandsSeparator, precision, percentage === true || percentage === '')}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'center',\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n maxlength,\r\n placeholder,\r\n clearable = false,\r\n format = 'YYYYMMDDHHmmss',\r\n sourceFormat,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n if (isEditable) {\r\n return (\r\n <ODateInput\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n format={format}\r\n sourceFormat={sourceFormat}\r\n ></ODateInput>\r\n )\r\n }\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div class=\"cell-dateinput\">{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, code, placeholder, clearable, filterable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OSingleSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n filterable={filterable}\r\n ></OSingleSelect>\r\n ) : (\r\n <div class=\"cell-singleselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign,\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n code,\r\n placeholder,\r\n collapseTags = true,\r\n collapseTagsTooltip,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OMultiSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n collapseTags={collapseTags}\r\n collapseTagsTooltip={collapseTagsTooltip}\r\n ></OMultiSelect>\r\n ) : (\r\n <div class=\"cell-multiselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign = 'center' } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign = 'center', width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OEdittableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OEdittableColumnLov') {\r\n return renderLovColumn(c)\r\n } else if (c.type === 'OEdittableColumnCheckbox') {\r\n return renderCheckboxColumn(c)\r\n } else if (c.type === 'OEdittableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OEdittableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OEdittableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OEdittableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OEdittableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OEdittable不能正确渲染'${c.type}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <ElTable\r\n ref={elTableRef}\r\n border\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n rowClassName={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowClassName === 'string') {\r\n return rowClassName\r\n } else if (typeof rowClassName === 'function') {\r\n return rowClassName({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else {\r\n return 'row-class-name_not_valid'\r\n }\r\n }}\r\n rowStyle={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowStyle === 'function') {\r\n return rowStyle({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else if (typeof rowStyle === 'object') {\r\n return rowStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n cellClassName={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellClassName === 'string') {\r\n return cellClassName\r\n } else if (typeof cellClassName === 'function') {\r\n return cellClassName({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else {\r\n return 'cell-class-name_not_valid'\r\n }\r\n }}\r\n cellStyle={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellStyle === 'function') {\r\n return cellStyle({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else if (typeof cellStyle === 'object') {\r\n return cellStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\n\r\nexport const edittableColumnIndexProps = () => ({})\r\n\r\nexport type QuerytableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OQuerytableColumnIndex',\r\n inheritAttrs: false,\r\n props: edittableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnStringProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n})\r\n\r\nexport type EdittableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnString',\r\n inheritAttrs: false,\r\n props: edittableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\nexport const edittableColumnLovProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n fillMapping: [String, Function] as PropType<string | ((row: any, params: Record<string, any>) => void)>,\r\n})\r\n\r\nexport type EdittableColumnLovProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLovProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnLov',\r\n inheritAttrs: false,\r\n props: edittableColumnLovProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnLinkProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnCheckbox',\r\n inheritAttrs: false,\r\n props: edittableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnNumberProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 千位分隔符\r\n thousandsSeparator: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 百分比形式\r\n percentage: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n placeholder: String,\r\n min: Number,\r\n max: Number,\r\n step: Number,\r\n stepStrictly: Boolean,\r\n precision: Number,\r\n controls: Boolean,\r\n controlsPosition: String as PropType<'' | 'right'>,\r\n})\r\n\r\nexport type EdittableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnNumber',\r\n inheritAttrs: false,\r\n props: edittableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnDateProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n clearable: Boolean,\r\n format: String,\r\n sourceFormat: String,\r\n})\r\n\r\nexport type EdittableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDate',\r\n inheritAttrs: false,\r\n props: edittableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnSingleselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n clearable: Boolean,\r\n filterable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: edittableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnMultiselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n collapseTags: Boolean,\r\n collapseTagsTooltip: Boolean,\r\n})\r\n\r\nexport type EdittableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: edittableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnButtongroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: edittableColumnButtongroupProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport { ElButton } from 'element-plus'\r\n\r\n\r\nexport const edittableCellButtonProps = () => ({\r\n type: String,\r\n})\r\n\r\nexport type EdittableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof edittableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableCellButton',\r\n inheritAttrs: false,\r\n props: edittableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\n\r\nexport const edittableColumngroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n})\r\n\r\nexport type EdittableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumngroup',\r\n inheritAttrs: false,\r\n props: edittableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnDiyProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDiy',\r\n inheritAttrs: false,\r\n props: edittableColumnDiyProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Edittable from './Edittable'\r\nimport EdittableColumnIndex from './columns/EdittableColumnIndex'\r\nimport EdittableColumnString from './columns/EdittableColumnString'\r\nimport EdittableColumnLov from './columns/EdittableColumnLov'\r\nimport EdittableColumnCheckbox from './columns/EdittableColumnCheckbox'\r\nimport EdittableColumnNumber from './columns/EdittableColumnNumber'\r\nimport EdittableColumnDate from './columns/EdittableColumnDate'\r\nimport EdittableColumnSingleselect from './columns/EdittableColumnSingleselect'\r\nimport EdittableColumnMultiselect from './columns/EdittableColumnMultiselect'\r\nimport EdittableColumnButtongroup from './columns/EdittableColumnButtongroup'\r\nimport EdittableCellButton from './columns/EdittableCellButton'\r\nimport EdittableColumngroup from './columns/EdittableColumngroup'\r\nimport EdittableColumnDiy from './columns/EdittableColumnDiy'\r\n\r\nexport type { EdittableProps } from './Edittable'\r\n\r\nexport default withInstall<\r\n typeof Edittable,\r\n {\r\n EdittableColumnIndex: typeof EdittableColumnIndex\r\n EdittableColumnString: typeof EdittableColumnString\r\n EdittableColumnLov: typeof EdittableColumnLov\r\n EdittableColumnCheckbox: typeof EdittableColumnCheckbox\r\n EdittableColumnNumber: typeof EdittableColumnNumber\r\n EdittableColumnDate: typeof EdittableColumnDate\r\n EdittableColumnSingleselect: typeof EdittableColumnSingleselect\r\n EdittableColumnMultiselect: typeof EdittableColumnMultiselect\r\n EdittableColumnButtongroup: typeof EdittableColumnButtongroup\r\n EdittableCellButton: typeof EdittableCellButton\r\n EdittableColumngroup: typeof EdittableColumngroup\r\n EdittableColumnDiy: typeof EdittableColumnDiy\r\n }\r\n>(Edittable, {\r\n EdittableColumnIndex,\r\n EdittableColumnString,\r\n EdittableColumnLov,\r\n EdittableColumnCheckbox,\r\n EdittableColumnNumber,\r\n EdittableColumnDate,\r\n EdittableColumnSingleselect,\r\n EdittableColumnMultiselect,\r\n EdittableColumnButtongroup,\r\n EdittableCellButton,\r\n EdittableColumngroup,\r\n EdittableColumnDiy,\r\n})\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","edittableProps","data","Array","showRowNumber","type","Boolean","default","selectionMode","currentRowMode","size","String","rowClassName","Function","rowStyle","cellClassName","cellStyle","isCellEditable","editable","cellEditable","row","getCodeData","code","isString","isArray","useCode","value","isFunction","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","flatColumns","r","push","flat","i","length","c","children","clearSelection","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","renderSelectionColumn","renderStringColumn","column","head","headAlign","bodyAlign","width","fixed","maxlength","placeholder","header","scope","elRow","elColumn","isEditable","cellValue","property","OStringInput","renderLovColumn","fillMapping","elChildren","rowData","rowIndex","$index","OLovInput","onClear","pairs","split","dstName","trim","undefined","params","srcName","srcValue","renderCheckboxColumn","OCheckbox","renderNumberColumn","thousandsSeparator","percentage","min","max","step","stepStrictly","precision","controls","controlsPosition","ONumberInput","number2string","renderDateColumn","clearable","format","sourceFormat","ODateInput","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","filterable","codeContent","codeData","getSingleCodeContent","OSingleSelect","renderMultiSelectColumn","collapseTags","collapseTagsTooltip","getMultiCodeContent","OMultiSelect","renderButtongroupColumn","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","map","OrionError","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","columnIndex","edittableColumnIndexProps","edittableColumnStringProps","Number","edittableColumnLovProps","edittableColumnLinkProps","edittableColumnNumberProps","edittableColumnDateProps","edittableColumnSingleselectProps","edittableColumnMultiselectProps","edittableColumnButtongroupProps","edittableCellButtonProps","handleClick","ElButton","edittableColumngroupProps","edittableColumnDiyProps","withInstall","Edittable","EdittableColumnIndex","EdittableColumnString","EdittableColumnLov","EdittableColumnCheckbox","EdittableColumnNumber","EdittableColumnDate","EdittableColumnSingleselect","EdittableColumnMultiselect","EdittableColumnButtongroup","EdittableCellButton","EdittableColumngroup","EdittableColumnDiy"],"mappings":"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"}
|
@@ -1,28 +1,38 @@
|
|
1
|
-
var
|
2
|
-
var
|
3
|
-
var
|
1
|
+
var F = Object.defineProperty;
|
2
|
+
var _ = (e, t, o) => t in e ? F(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
3
|
+
var f = (e, t, o) => _(e, typeof t != "symbol" ? t + "" : t, o);
|
4
4
|
import c from "./smCrypto/sm2/index.js";
|
5
|
-
import
|
6
|
-
import { cloneDeep as
|
7
|
-
class
|
5
|
+
import b from "./smCrypto/sm3/index.js";
|
6
|
+
import { cloneDeep as h } from "lodash-es";
|
7
|
+
class N {
|
8
8
|
constructor(t) {
|
9
|
-
|
9
|
+
f(this, "options");
|
10
10
|
this.options = t;
|
11
11
|
}
|
12
12
|
async doFilter(t, o) {
|
13
|
-
const { prefix:
|
13
|
+
const { prefix: i, _s1: d, _s2: l, _s3: p, whitelist: a, contentType: m = "application/json" } = this.options, { url: y = "" } = t;
|
14
|
+
if (a && a.length > 0) {
|
15
|
+
let r = !1;
|
16
|
+
if (a.forEach((s) => {
|
17
|
+
if (y.indexOf(s) > -1)
|
18
|
+
return r = !0, !1;
|
19
|
+
}), r) {
|
20
|
+
o.doFilter(t, o);
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
}
|
14
24
|
let n;
|
15
25
|
if (t.data instanceof FormData)
|
16
26
|
return o.doFilter(t, o);
|
17
27
|
{
|
18
|
-
if (n =
|
28
|
+
if (n = h(t.data), n == null || n == "")
|
19
29
|
return o.doFilter(t, o);
|
20
|
-
const
|
21
|
-
t.data =
|
30
|
+
const r = i + c._s2EN(JSON.stringify(n), l, 0), s = Math.floor(Date.now() / 1e3).toString(), E = s + r, g = b(E);
|
31
|
+
t.data = r, t.headers["Web-Encrypt-Response-Encrypt-Key"] = i + c._s2EN(d, l, 0), t.headers["Web-Encrypt-Timestamp"] = s, t.headers["Web-Encrypt-Sign"] = g, t.headers["content-type"] = m, p && (t.headers["Web-Encrypt-Caller-Id"] = p), o.doFilter(t, o);
|
22
32
|
}
|
23
33
|
}
|
24
34
|
}
|
25
35
|
export {
|
26
|
-
|
36
|
+
N as default
|
27
37
|
};
|
28
38
|
//# sourceMappingURL=Leaf7EncryptRequestParser.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Leaf7EncryptRequestParser.js","sources":["../../../src/request/leaf7/Leaf7EncryptRequestParser.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios'\r\nimport type RequestFilterChain from '../RequestFilterChain'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport { cloneDeep } from 'lodash-es'\r\n\r\nexport default class Leaf7EncryptRequestParser {\r\n options: Leaf7EncryptOptions\r\n\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async doFilter(request: AxiosRequestConfig, chain: RequestFilterChain) {\r\n // prefix:encryptStringPrefix 加密字符串前缀\r\n // _s1:sm4Key\r\n // _s2:sm2PublicKey\r\n const { prefix, _s1, _s2 } = this.options\r\n let requestData\r\n // FormData一般为上传附件,跳过\r\n if (request.data instanceof FormData) {\r\n return chain.doFilter(request, chain)\r\n } else {\r\n requestData = cloneDeep(request.data)\r\n if (requestData == null || requestData == '') {\r\n return chain.doFilter(request, chain)\r\n }\r\n // 组装报文并加密\r\n const content = prefix + sm2._s2EN(JSON.stringify(requestData), _s2, 0)\r\n const Timestamp = Math.floor(Date.now() / 1000).toString()\r\n const mergeStr = Timestamp + content\r\n const signature = sm3(mergeStr)\r\n\r\n request.data = content\r\n\r\n //按照规范进行前端加密\r\n request.headers['Web-Encrypt-Response-Encrypt-Key'] = prefix + sm2._s2EN(_s1, _s2, 0)\r\n request.headers['Web-Encrypt-Timestamp'] = Timestamp\r\n request.headers['Web-Encrypt-Sign'] = signature\r\n request.headers['content-type'] = '
|
1
|
+
{"version":3,"file":"Leaf7EncryptRequestParser.js","sources":["../../../src/request/leaf7/Leaf7EncryptRequestParser.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios'\r\nimport type RequestFilterChain from '../RequestFilterChain'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport { cloneDeep } from 'lodash-es'\r\n\r\nexport default class Leaf7EncryptRequestParser {\r\n options: Leaf7EncryptOptions\r\n\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async doFilter(request: AxiosRequestConfig, chain: RequestFilterChain) {\r\n // prefix:encryptStringPrefix 加密字符串前缀\r\n // _s1:sm4Key\r\n // _s2:sm2PublicKey\r\n const { prefix, _s1, _s2, _s3, whitelist, contentType = 'application/json' } = this.options\r\n const { url = '' } = request\r\n if (whitelist && whitelist.length > 0) {\r\n let flag = false\r\n whitelist.forEach((prefix) => {\r\n if (url.indexOf(prefix) > -1) {\r\n flag = true\r\n return false\r\n }\r\n })\r\n if (flag) {\r\n chain.doFilter(request, chain)\r\n return\r\n }\r\n }\r\n\r\n let requestData\r\n // FormData一般为上传附件,跳过\r\n if (request.data instanceof FormData) {\r\n return chain.doFilter(request, chain)\r\n } else {\r\n requestData = cloneDeep(request.data)\r\n if (requestData == null || requestData == '') {\r\n return chain.doFilter(request, chain)\r\n }\r\n // 组装报文并加密\r\n const content = prefix + sm2._s2EN(JSON.stringify(requestData), _s2, 0)\r\n const Timestamp = Math.floor(Date.now() / 1000).toString()\r\n const mergeStr = Timestamp + content\r\n const signature = sm3(mergeStr)\r\n\r\n request.data = content\r\n\r\n //按照规范进行前端加密\r\n request.headers['Web-Encrypt-Response-Encrypt-Key'] = prefix + sm2._s2EN(_s1, _s2, 0)\r\n request.headers['Web-Encrypt-Timestamp'] = Timestamp\r\n request.headers['Web-Encrypt-Sign'] = signature\r\n request.headers['content-type'] = contentType\r\n if (_s3) {\r\n request.headers['Web-Encrypt-Caller-Id'] = _s3\r\n }\r\n\r\n chain.doFilter(request, chain)\r\n }\r\n }\r\n}\r\n"],"names":["Leaf7EncryptRequestParser","options","__publicField","request","chain","prefix","_s1","_s2","_s3","whitelist","contentType","url","flag","requestData","cloneDeep","content","sm2","Timestamp","mergeStr","signature","sm3"],"mappings":";;;;;;AAQA,MAAqBA,EAA0B;AAAA,EAG7C,YAAYC,GAA8B;AAF1C,IAAAC,EAAA;AAGE,SAAK,UAAUD;AAAA,EACjB;AAAA,EAEA,MAAM,SAASE,GAA6BC,GAA2B;AAI/D,UAAA,EAAE,QAAAC,GAAQ,KAAAC,GAAK,KAAAC,GAAK,KAAAC,GAAK,WAAAC,GAAW,aAAAC,IAAc,mBAAmB,IAAI,KAAK,SAC9E,EAAE,KAAAC,IAAM,GAAO,IAAAR;AACjB,QAAAM,KAAaA,EAAU,SAAS,GAAG;AACrC,UAAIG,IAAO;AAOX,UANUH,EAAA,QAAQ,CAACJ,MAAW;AAC5B,YAAIM,EAAI,QAAQN,CAAM,IAAI;AACjB,iBAAAO,IAAA,IACA;AAAA,MACT,CACD,GACGA,GAAM;AACF,QAAAR,EAAA,SAASD,GAASC,CAAK;AAC7B;AAAA,MACF;AAAA,IACF;AAEI,QAAAS;AAEA,QAAAV,EAAQ,gBAAgB;AACnB,aAAAC,EAAM,SAASD,GAASC,CAAK;AAC/B;AAED,UADUS,IAAAC,EAAUX,EAAQ,IAAI,GAChCU,KAAe,QAAQA,KAAe;AACjC,eAAAT,EAAM,SAASD,GAASC,CAAK;AAGhC,YAAAW,IAAUV,IAASW,EAAI,MAAM,KAAK,UAAUH,CAAW,GAAGN,GAAK,CAAC,GAChEU,IAAY,KAAK,MAAM,KAAK,QAAQ,GAAI,EAAE,YAC1CC,IAAWD,IAAYF,GACvBI,IAAYC,EAAIF,CAAQ;AAE9B,MAAAf,EAAQ,OAAOY,GAGPZ,EAAA,QAAQ,kCAAkC,IAAIE,IAASW,EAAI,MAAMV,GAAKC,GAAK,CAAC,GAC5EJ,EAAA,QAAQ,uBAAuB,IAAIc,GACnCd,EAAA,QAAQ,kBAAkB,IAAIgB,GAC9BhB,EAAA,QAAQ,cAAc,IAAIO,GAC9BF,MACML,EAAA,QAAQ,uBAAuB,IAAIK,IAGvCJ,EAAA,SAASD,GAASC,CAAK;AAAA,IAC/B;AAAA,EACF;AACF;"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: "1.0.
|
1
|
+
declare const _default: "1.0.1";
|
2
2
|
export default _default;
|
package/dist/version/version.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '1.0.
|
1
|
+
{"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '1.0.1';"],"names":["version"],"mappings":"AAAA,MAAAA,IAAe;"}
|