@ditari/bsui 1.1.11 → 1.1.13

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ditari/bsui
2
2
 
3
+ ## 1.1.13
4
+
5
+ ### Patch Changes
6
+
7
+ - 下拉选择添加过滤
8
+
9
+ ## 1.1.12
10
+
11
+ ### Patch Changes
12
+
13
+ - 1.表格 action 插槽添加 index
14
+
3
15
  ## 1.1.11
4
16
 
5
17
  ### Patch Changes
@@ -30,7 +30,6 @@ declare const _default: import("vue").DefineComponent<{
30
30
  getDicByKey: (key: string) => any;
31
31
  modelValue: any;
32
32
  data: any;
33
- onSearch: (keywords: string) => void;
34
33
  onSelect: (value: any) => void;
35
34
  onChange: () => void;
36
35
  useSelect: () => {
@@ -18,7 +18,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
18
  setup(__props, { emit: emits }) {
19
19
  const props = __props;
20
20
  const { getDicByKey } = store.useDataDicStore();
21
- const { modelValue, data, onSearch, onSelect, onChange } = useSelect();
21
+ const { modelValue, data, onSelect, onChange } = useSelect();
22
22
  function useSelect() {
23
23
  const dicData = [...getDicByKey(props.name)];
24
24
  const data2 = vue.ref(dicData);
@@ -30,7 +30,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
30
  initSearch(val);
31
31
  }
32
32
  );
33
- const onSearch2 = (keywords) => {
33
+ const onSearch = (keywords) => {
34
34
  sendWorkerSearch(keywords);
35
35
  };
36
36
  function sendWorkerSearch(keywords) {
@@ -71,10 +71,23 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
71
  const rs = dicList.find((obj) => obj.value === modelValue2.value);
72
72
  emits("select", rs);
73
73
  }
74
+ vue.watch(
75
+ () => props.include,
76
+ (val) => {
77
+ if (val.length > 0) {
78
+ data2.value = dicData.filter((item) => {
79
+ return val.some((i) => i === item.value);
80
+ });
81
+ }
82
+ },
83
+ {
84
+ immediate: true
85
+ }
86
+ );
74
87
  return {
75
88
  data: data2,
76
89
  modelValue: modelValue2,
77
- onSearch: onSearch2,
90
+ onSearch,
78
91
  onSelect: onSelect2,
79
92
  onChange: onChange2
80
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue2.cjs","sources":["../../../src/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from \"vue\";\nimport { useDataDicStore } from \"@ditari/store\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./dic.worker?worker&inline\";\n\nconst props = defineProps({\n \"value\": { type: null, required: true, default: null },\n \"name\": { type: String, required: true, default: \"\" },\n \"disabled\": { type: Boolean, required: false, default: false },\n \"placeholder\": { type: String, required: false, default: \"请填写默认占位符啊!老铁\" },\n \"include\": { type: Array, required: false, default: [] as any }\n});\n\ninterface Emits {\n (e: \"update:value\", value: any): void;\n (e: \"change\", value: any): void;\n (e: \"select\", value: any): void;\n}\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\n\nconst { getDicByKey } = useDataDicStore();\n\n// const workerPool: any = inject(\"dicWorkerPool\");\n// // 获取worker\n// const workerInstance: any = workerPool.getWorker();\n\nconst { modelValue, data, onSearch, onSelect, onChange } = useSelect();\n\nfunction useSelect() {\n // 字典数据\n const dicData: any[] = [...getDicByKey(props.name)];\n const data = ref<any>(dicData);\n // 取值\n const modelValue = ref(props.value);\n\n // 监听value值的变化\n watch(\n () => props.value,\n (val) => {\n modelValue.value = val;\n initSearch(val);\n }\n );\n\n //initSearch(modelValue.value);\n\n //监听用户搜索事件\n const onSearch = (keywords: string) => {\n sendWorkerSearch(keywords);\n };\n\n // 发送搜索到webworker\n function sendWorkerSearch(keywords: string) {\n keywords = keywords ?? \"\";\n data.value = dicData\n .filter((item: any) => {\n return (\n item.value.toLowerCase().indexOf(keywords.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(keywords.toLowerCase())\n );\n })\n .splice(0, 10);\n if (data.value.length === 0) {\n data.value = [...dicData].splice(0, 10);\n }\n }\n\n /**\n * 初始化value的时候进行搜索\n * @param val\n */\n function initSearch(val: any) {\n val = val || \"\";\n const index = dicData.findIndex((item: any) => {\n return (\n item.value.toLowerCase().indexOf(val.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(val)\n );\n });\n if (index === -1) {\n data.value = [...dicData].splice(0, 10);\n } else {\n data.value = sliceArrayByIndex(dicData, index);\n }\n }\n\n function sliceArrayByIndex(arr: any, currentIndex: any) {\n const start = Math.max(0, currentIndex - 5);\n const end = Math.min(arr.length, currentIndex + 6);\n\n return arr.slice(start, end);\n }\n\n //监听下拉选择事件\n const onSelect = (value: any) => {\n // 发射选择的数据\n emits(\"update:value\", value);\n // 处理下拉后返回数据的\n onSelectHandler();\n };\n\n // 监听数据改变\n const onChange = () => {\n //TODO 变化的时候 需要发送字典的所有数据\n emits(\"update:value\", modelValue.value);\n emits(\"change\", modelValue.value);\n };\n\n /**\n * 根据当前选中的value匹配对应的整条数据\n * 然后返回给父组件\n */\n function onSelectHandler() {\n const dicList = getDicByKey(props.name);\n const rs = dicList.find((obj: any) => obj.value === modelValue.value);\n emits(\"select\", rs);\n }\n return {\n data,\n modelValue,\n onSearch,\n onSelect,\n onChange\n };\n}\n\n/**\n * 过滤筛选\n * @param inputValue\n * @param options\n */\nconst onFilterOption = (inputValue: any, options: any) => {\n return options.label.includes(inputValue);\n};\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n allow-clear\n show-search\n :options=\"data\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :filter-option=\"onFilterOption\"\n @select=\"onSelect\"\n @change=\"onChange\"\n >\n </a-select>\n</template>\n<style scoped></style>\n"],"names":["useDataDicStore","data","ref","modelValue","watch","onSearch","onSelect","onChange"],"mappings":"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"}
1
+ {"version":3,"file":"Select.vue2.cjs","sources":["../../../src/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from \"vue\";\nimport { useDataDicStore } from \"@ditari/store\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./dic.worker?worker&inline\";\n\nconst props = defineProps({\n \"value\": { type: null, required: true, default: null },\n \"name\": { type: String, required: true, default: \"\" },\n \"disabled\": { type: Boolean, required: false, default: false },\n \"placeholder\": { type: String, required: false, default: \"请填写默认占位符啊!老铁\" },\n \"include\": { type: Array, required: false, default: [] as any }\n});\n\ninterface Emits {\n (e: \"update:value\", value: any): void;\n (e: \"change\", value: any): void;\n (e: \"select\", value: any): void;\n}\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\n\nconst { getDicByKey } = useDataDicStore();\n\nconst { modelValue, data, onSelect, onChange } = useSelect();\n\nfunction useSelect() {\n // 字典数据\n const dicData: any[] = [...getDicByKey(props.name)];\n const data = ref<any>(dicData);\n // 取值\n const modelValue = ref(props.value);\n\n // 监听value值的变化\n watch(\n () => props.value,\n (val) => {\n modelValue.value = val;\n initSearch(val);\n }\n );\n\n //监听用户搜索事件\n const onSearch = (keywords: string) => {\n sendWorkerSearch(keywords);\n };\n\n // 发送搜索到webworker\n function sendWorkerSearch(keywords: string) {\n keywords = keywords ?? \"\";\n data.value = dicData\n .filter((item: any) => {\n return (\n item.value.toLowerCase().indexOf(keywords.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(keywords.toLowerCase())\n );\n })\n .splice(0, 10);\n if (data.value.length === 0) {\n data.value = [...dicData].splice(0, 10);\n }\n }\n\n /**\n * 初始化value的时候进行搜索\n * @param val\n */\n function initSearch(val: any) {\n val = val || \"\";\n const index = dicData.findIndex((item: any) => {\n return (\n item.value.toLowerCase().indexOf(val.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(val)\n );\n });\n if (index === -1) {\n data.value = [...dicData].splice(0, 10);\n } else {\n data.value = sliceArrayByIndex(dicData, index);\n }\n }\n\n function sliceArrayByIndex(arr: any, currentIndex: any) {\n const start = Math.max(0, currentIndex - 5);\n const end = Math.min(arr.length, currentIndex + 6);\n\n return arr.slice(start, end);\n }\n\n //监听下拉选择事件\n const onSelect = (value: any) => {\n // 发射选择的数据\n emits(\"update:value\", value);\n // 处理下拉后返回数据的\n onSelectHandler();\n };\n\n // 监听数据改变\n const onChange = () => {\n //TODO 变化的时候 需要发送字典的所有数据\n emits(\"update:value\", modelValue.value);\n emits(\"change\", modelValue.value);\n };\n\n /**\n * 根据当前选中的value匹配对应的整条数据\n * 然后返回给父组件\n */\n function onSelectHandler() {\n const dicList = getDicByKey(props.name);\n const rs = dicList.find((obj: any) => obj.value === modelValue.value);\n emits(\"select\", rs);\n }\n\n watch(\n () => props.include,\n (val: any) => {\n if (val.length > 0) {\n // 只过滤出来include包含的数据\n data.value = dicData.filter((item: any) => {\n return val.some((i: any) => i === item.value);\n });\n }\n },\n {\n immediate: true\n }\n );\n\n return {\n data,\n modelValue,\n onSearch,\n onSelect,\n onChange\n };\n}\n\n/**\n * 过滤筛选\n * @param inputValue\n * @param options\n */\nconst onFilterOption = (inputValue: any, options: any) => {\n return options.label.includes(inputValue);\n};\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n allow-clear\n show-search\n :options=\"data\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :filter-option=\"onFilterOption\"\n @select=\"onSelect\"\n @change=\"onChange\"\n >\n </a-select>\n</template>\n<style scoped></style>\n"],"names":["useDataDicStore","data","ref","modelValue","watch","onSelect","onChange"],"mappings":"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"}
@@ -325,14 +325,18 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
325
325
  }, __spreadProps(__spreadValues({
326
326
  bodyCell: ({
327
327
  column,
328
- record
328
+ record,
329
+ index
329
330
  }) => {
330
331
  if (column.slot === "action") {
331
332
  return vue.createVNode("div", {
332
333
  "onClick": actionStop,
333
334
  "onDblclick": actionStop
334
335
  }, [vue.createVNode(antDesignVue.Space, null, {
335
- default: () => [slots.action && slots.action(record)]
336
+ default: () => [slots.action && slots.action({
337
+ record,
338
+ index
339
+ })]
336
340
  })]);
337
341
  }
338
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: Boolean as PropType<\n TableProps[\"defaultExpandAllRows\"]\n >,\n default: () => true\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头 有多行的清空下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 10);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n return () => (\n <div ref={tableRootRef} style={{ height: \"100%\" }}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n >\n {{\n bodyCell: ({ column, record }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>{slots.action && slots.action(record)}</Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","defineComponent","name","props","emits","setup","emit","slots","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","Table","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"Table.cjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: Boolean as PropType<\n TableProps[\"defaultExpandAllRows\"]\n >,\n default: () => true\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头 有多行的清空下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 10);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n return () => (\n <div ref={tableRootRef} style={{ height: \"100%\" }}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","defineComponent","name","props","emits","setup","emit","slots","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","Table","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
@@ -30,7 +30,6 @@ declare const _default: import("vue").DefineComponent<{
30
30
  getDicByKey: (key: string) => any;
31
31
  modelValue: any;
32
32
  data: any;
33
- onSearch: (keywords: string) => void;
34
33
  onSelect: (value: any) => void;
35
34
  onChange: () => void;
36
35
  useSelect: () => {
@@ -14,7 +14,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  setup(__props, { emit: emits }) {
15
15
  const props = __props;
16
16
  const { getDicByKey } = useDataDicStore();
17
- const { modelValue, data, onSearch, onSelect, onChange } = useSelect();
17
+ const { modelValue, data, onSelect, onChange } = useSelect();
18
18
  function useSelect() {
19
19
  const dicData = [...getDicByKey(props.name)];
20
20
  const data2 = ref(dicData);
@@ -26,7 +26,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
26
26
  initSearch(val);
27
27
  }
28
28
  );
29
- const onSearch2 = (keywords) => {
29
+ const onSearch = (keywords) => {
30
30
  sendWorkerSearch(keywords);
31
31
  };
32
32
  function sendWorkerSearch(keywords) {
@@ -67,10 +67,23 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  const rs = dicList.find((obj) => obj.value === modelValue2.value);
68
68
  emits("select", rs);
69
69
  }
70
+ watch(
71
+ () => props.include,
72
+ (val) => {
73
+ if (val.length > 0) {
74
+ data2.value = dicData.filter((item) => {
75
+ return val.some((i) => i === item.value);
76
+ });
77
+ }
78
+ },
79
+ {
80
+ immediate: true
81
+ }
82
+ );
70
83
  return {
71
84
  data: data2,
72
85
  modelValue: modelValue2,
73
- onSearch: onSearch2,
86
+ onSearch,
74
87
  onSelect: onSelect2,
75
88
  onChange: onChange2
76
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.vue2.mjs","sources":["../../../src/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from \"vue\";\nimport { useDataDicStore } from \"@ditari/store\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./dic.worker?worker&inline\";\n\nconst props = defineProps({\n \"value\": { type: null, required: true, default: null },\n \"name\": { type: String, required: true, default: \"\" },\n \"disabled\": { type: Boolean, required: false, default: false },\n \"placeholder\": { type: String, required: false, default: \"请填写默认占位符啊!老铁\" },\n \"include\": { type: Array, required: false, default: [] as any }\n});\n\ninterface Emits {\n (e: \"update:value\", value: any): void;\n (e: \"change\", value: any): void;\n (e: \"select\", value: any): void;\n}\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\n\nconst { getDicByKey } = useDataDicStore();\n\n// const workerPool: any = inject(\"dicWorkerPool\");\n// // 获取worker\n// const workerInstance: any = workerPool.getWorker();\n\nconst { modelValue, data, onSearch, onSelect, onChange } = useSelect();\n\nfunction useSelect() {\n // 字典数据\n const dicData: any[] = [...getDicByKey(props.name)];\n const data = ref<any>(dicData);\n // 取值\n const modelValue = ref(props.value);\n\n // 监听value值的变化\n watch(\n () => props.value,\n (val) => {\n modelValue.value = val;\n initSearch(val);\n }\n );\n\n //initSearch(modelValue.value);\n\n //监听用户搜索事件\n const onSearch = (keywords: string) => {\n sendWorkerSearch(keywords);\n };\n\n // 发送搜索到webworker\n function sendWorkerSearch(keywords: string) {\n keywords = keywords ?? \"\";\n data.value = dicData\n .filter((item: any) => {\n return (\n item.value.toLowerCase().indexOf(keywords.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(keywords.toLowerCase())\n );\n })\n .splice(0, 10);\n if (data.value.length === 0) {\n data.value = [...dicData].splice(0, 10);\n }\n }\n\n /**\n * 初始化value的时候进行搜索\n * @param val\n */\n function initSearch(val: any) {\n val = val || \"\";\n const index = dicData.findIndex((item: any) => {\n return (\n item.value.toLowerCase().indexOf(val.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(val)\n );\n });\n if (index === -1) {\n data.value = [...dicData].splice(0, 10);\n } else {\n data.value = sliceArrayByIndex(dicData, index);\n }\n }\n\n function sliceArrayByIndex(arr: any, currentIndex: any) {\n const start = Math.max(0, currentIndex - 5);\n const end = Math.min(arr.length, currentIndex + 6);\n\n return arr.slice(start, end);\n }\n\n //监听下拉选择事件\n const onSelect = (value: any) => {\n // 发射选择的数据\n emits(\"update:value\", value);\n // 处理下拉后返回数据的\n onSelectHandler();\n };\n\n // 监听数据改变\n const onChange = () => {\n //TODO 变化的时候 需要发送字典的所有数据\n emits(\"update:value\", modelValue.value);\n emits(\"change\", modelValue.value);\n };\n\n /**\n * 根据当前选中的value匹配对应的整条数据\n * 然后返回给父组件\n */\n function onSelectHandler() {\n const dicList = getDicByKey(props.name);\n const rs = dicList.find((obj: any) => obj.value === modelValue.value);\n emits(\"select\", rs);\n }\n return {\n data,\n modelValue,\n onSearch,\n onSelect,\n onChange\n };\n}\n\n/**\n * 过滤筛选\n * @param inputValue\n * @param options\n */\nconst onFilterOption = (inputValue: any, options: any) => {\n return options.label.includes(inputValue);\n};\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n allow-clear\n show-search\n :options=\"data\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :filter-option=\"onFilterOption\"\n @select=\"onSelect\"\n @change=\"onChange\"\n >\n </a-select>\n</template>\n<style scoped></style>\n"],"names":["data","modelValue","onSearch","onSelect","onChange"],"mappings":"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"}
1
+ {"version":3,"file":"Select.vue2.mjs","sources":["../../../src/select/Select.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch } from \"vue\";\nimport { useDataDicStore } from \"@ditari/store\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./dic.worker?worker&inline\";\n\nconst props = defineProps({\n \"value\": { type: null, required: true, default: null },\n \"name\": { type: String, required: true, default: \"\" },\n \"disabled\": { type: Boolean, required: false, default: false },\n \"placeholder\": { type: String, required: false, default: \"请填写默认占位符啊!老铁\" },\n \"include\": { type: Array, required: false, default: [] as any }\n});\n\ninterface Emits {\n (e: \"update:value\", value: any): void;\n (e: \"change\", value: any): void;\n (e: \"select\", value: any): void;\n}\nconst emits = defineEmits([\"update:value\", \"change\", \"select\"]);\n\nconst { getDicByKey } = useDataDicStore();\n\nconst { modelValue, data, onSelect, onChange } = useSelect();\n\nfunction useSelect() {\n // 字典数据\n const dicData: any[] = [...getDicByKey(props.name)];\n const data = ref<any>(dicData);\n // 取值\n const modelValue = ref(props.value);\n\n // 监听value值的变化\n watch(\n () => props.value,\n (val) => {\n modelValue.value = val;\n initSearch(val);\n }\n );\n\n //监听用户搜索事件\n const onSearch = (keywords: string) => {\n sendWorkerSearch(keywords);\n };\n\n // 发送搜索到webworker\n function sendWorkerSearch(keywords: string) {\n keywords = keywords ?? \"\";\n data.value = dicData\n .filter((item: any) => {\n return (\n item.value.toLowerCase().indexOf(keywords.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(keywords.toLowerCase())\n );\n })\n .splice(0, 10);\n if (data.value.length === 0) {\n data.value = [...dicData].splice(0, 10);\n }\n }\n\n /**\n * 初始化value的时候进行搜索\n * @param val\n */\n function initSearch(val: any) {\n val = val || \"\";\n const index = dicData.findIndex((item: any) => {\n return (\n item.value.toLowerCase().indexOf(val.toLowerCase()) !== -1 ||\n item.label.toLowerCase().includes(val)\n );\n });\n if (index === -1) {\n data.value = [...dicData].splice(0, 10);\n } else {\n data.value = sliceArrayByIndex(dicData, index);\n }\n }\n\n function sliceArrayByIndex(arr: any, currentIndex: any) {\n const start = Math.max(0, currentIndex - 5);\n const end = Math.min(arr.length, currentIndex + 6);\n\n return arr.slice(start, end);\n }\n\n //监听下拉选择事件\n const onSelect = (value: any) => {\n // 发射选择的数据\n emits(\"update:value\", value);\n // 处理下拉后返回数据的\n onSelectHandler();\n };\n\n // 监听数据改变\n const onChange = () => {\n //TODO 变化的时候 需要发送字典的所有数据\n emits(\"update:value\", modelValue.value);\n emits(\"change\", modelValue.value);\n };\n\n /**\n * 根据当前选中的value匹配对应的整条数据\n * 然后返回给父组件\n */\n function onSelectHandler() {\n const dicList = getDicByKey(props.name);\n const rs = dicList.find((obj: any) => obj.value === modelValue.value);\n emits(\"select\", rs);\n }\n\n watch(\n () => props.include,\n (val: any) => {\n if (val.length > 0) {\n // 只过滤出来include包含的数据\n data.value = dicData.filter((item: any) => {\n return val.some((i: any) => i === item.value);\n });\n }\n },\n {\n immediate: true\n }\n );\n\n return {\n data,\n modelValue,\n onSearch,\n onSelect,\n onChange\n };\n}\n\n/**\n * 过滤筛选\n * @param inputValue\n * @param options\n */\nconst onFilterOption = (inputValue: any, options: any) => {\n return options.label.includes(inputValue);\n};\n</script>\n<template>\n <a-select\n v-model:value=\"modelValue\"\n allow-clear\n show-search\n :options=\"data\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :filter-option=\"onFilterOption\"\n @select=\"onSelect\"\n @change=\"onChange\"\n >\n </a-select>\n</template>\n<style scoped></style>\n"],"names":["data","modelValue","onSelect","onChange"],"mappings":"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"}
@@ -321,14 +321,18 @@ const DXTable = /* @__PURE__ */ defineComponent({
321
321
  }, __spreadProps(__spreadValues({
322
322
  bodyCell: ({
323
323
  column,
324
- record
324
+ record,
325
+ index
325
326
  }) => {
326
327
  if (column.slot === "action") {
327
328
  return createVNode("div", {
328
329
  "onClick": actionStop,
329
330
  "onDblclick": actionStop
330
331
  }, [createVNode(Space, null, {
331
- default: () => [slots.action && slots.action(record)]
332
+ default: () => [slots.action && slots.action({
333
+ record,
334
+ index
335
+ })]
332
336
  })]);
333
337
  }
334
338
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: Boolean as PropType<\n TableProps[\"defaultExpandAllRows\"]\n >,\n default: () => true\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头 有多行的清空下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 10);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n return () => (\n <div ref={tableRootRef} style={{ height: \"100%\" }}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n >\n {{\n bodyCell: ({ column, record }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>{slots.action && slots.action(record)}</Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","name","props","emits","setup","emit","slots","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","Table","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../../src/table/Table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n nextTick,\n PropType,\n reactive,\n ref,\n watch,\n watchEffect\n} from \"vue\";\nimport { Pagination, Space, Table } from \"ant-design-vue\";\nimport { useEleHeight } from \"../_utils/html\";\nimport { prefixName } from \"../theme\";\n\nimport type { TableProps, Key } from \"./interface/table\";\n/**\n * 表格组件 基于TSX封装ATable\n */\nconst tableProps = () => {\n return {\n data: {\n type: Object as PropType<TableProps[\"data\"]>,\n required: true\n },\n height: {\n type: Number as PropType<TableProps[\"height\"]>,\n default: 300\n },\n keys: Array as PropType<TableProps[\"keys\"]>,\n rowKey: {\n type: String as PropType<TableProps[\"rowKey\"]>,\n default: \"id\"\n },\n loading: {\n type: Boolean as PropType<TableProps[\"loading\"]>,\n default: false\n },\n pagination: {\n type: Object as PropType<TableProps[\"pagination\"]>,\n default: () => ({})\n },\n config: {\n type: Object as PropType<TableProps[\"config\"]>,\n default: () => ({})\n },\n expandedRowKeys: {\n type: Object as PropType<TableProps[\"expandedRowKeys\"]>,\n default: () => []\n },\n defaultExpandAllRows: Boolean as PropType<\n TableProps[\"defaultExpandAllRows\"]\n >,\n default: () => true\n };\n};\n\n// 使用有问题\n// const tableEmits = defineEmits<{\n// \"update:keys\": (keys: []) => void;\n// }>();\n// interface MyEvents {\n// [key: string]: (...args: any[]) => void;\n// \"update:keys\": (keys: []) => void;\n// }\n\n//分页class名称\nconst basePageClassName = `${prefixName}-pagination`;\n\n/**\n * 表格组件定义\n */\nconst DXTable = defineComponent({\n name: \"DTable\",\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots }) {\n //分页默认配置\n const paginationConfig = reactive({\n defaultPageSize: 20,\n hideOnSinglePage: false,\n pageSizeOptions: [\"10\", \"20\", \"30\", \"40\"],\n responsive: true,\n showQuickJumper: true,\n showLessItems: true,\n showTotal: (total: number) => {\n return `总共 ${total} 条`;\n }\n });\n\n // 保存选中的唯一id\n const selectedRowKeys = ref<any>(props.keys || []);\n // 数据源\n const dataSource = computed(() => props.data);\n // 表格列\n const columns = computed(() => props.config?.columns ?? []);\n const paginationState = computed(\n () => props.config?.pagination ?? ({} as any)\n );\n // 展开行\n // eslint-disable-next-line vue/no-setup-props-destructure\n const expandedKeys = ref<any>(props.expandedRowKeys);\n // 分页条数配置\n paginationConfig.pageSizeOptions =\n props.config?.pageOption?.sizeOptions ?? paginationConfig.pageSizeOptions;\n // 默认条数\n paginationConfig.defaultPageSize =\n props.config?.pageOption?.defaultSize ?? paginationConfig.defaultPageSize;\n\n watchEffect(() => {\n const { expandedRowKeys } = props;\n expandedKeys.value = expandedRowKeys;\n });\n\n // 初始化表格\n const {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n } = useTable();\n\n function useTable() {\n const {\n rowClassName,\n keepSelected,\n onPageChange: onChange\n } = props.config;\n\n const selection = props.config.selection ?? \"N\";\n\n // 表格根div\n const tableRootRef = ref<HTMLElement>();\n // 表格组件对象\n const tableRef = ref<any>(null);\n // 表格计算出来的高度\n const tableHeight = ref<number>();\n // 表格body对象\n const antTableBodyRef = ref<any>(null);\n // 计算高度\n const playHeight = (height: number) => {\n try {\n const tableEl = tableRef?.value?.$el;\n\n const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n // 获取分页组件高度\n let paginationHeight = 0;\n if (props.config.pagination) {\n const paginationEl =\n tableRootRef.value?.getElementsByClassName(basePageClassName)[0];\n paginationHeight = useEleHeight(paginationEl as any) ?? 0;\n }\n tableHeight.value = height - (headerHeight + paginationHeight);\n // 设置body高度\n tableEl.getElementsByClassName(\"ant-table-body\")[0].style.height =\n tableHeight.value + \"px\";\n // 表格body对象 用于切换页码后滚动条置顶\n antTableBodyRef.value =\n tableEl.getElementsByClassName(\"ant-table-body\")[0];\n } catch (e) {\n console.warn(e);\n }\n };\n //监听传入的height的变化 默认组件创建的时候会执行一次\n watchEffect(() => {\n if (props.height !== 0) {\n nextTick(() => {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n // 如果表格头 有多行的清空下,获取到的头部高度不对,需要延迟执行获取高度方法\n playHeight(props.height);\n }, 10);\n });\n }\n });\n // 监听分页组件\n const onPageChange = (page: number, size: number) => {\n onChange ? onChange({ page, size }) : null;\n // 切换分页的时候,表体滚动到顶部\n antTableBodyRef.value.scrollTop = 0;\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\n // 清空历史选中数据\n if (selection === \"S\" || !keepSelected) {\n selectedRowKeys.value = [];\n emit(\"update:keys\", selectedRowKeys.value);\n }\n };\n //自定义样式\n const onRowClassName = (record: any, index: number) => {\n return rowClassName ? rowClassName(record, index) : undefined;\n };\n return {\n tableRef,\n tableRootRef,\n tableHeight,\n onPageChange,\n onRowClassName\n };\n }\n\n //表格选中配置\n const rowSelection = useRowSelection();\n\n function useRowSelection() {\n const {\n rowKey,\n config: { getCheckboxProps }\n } = props;\n\n let localSelection = props.config.selection ?? \"N\";\n //if (selection === \"N\") return undefined;\n\n const onSelect = (record: any, selected: any) => {\n if (localSelection === \"S\") {\n selectedRowKeys.value = [];\n selectedRowKeys.value = selected ? [record[rowKey]] : [];\n } else {\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(record[rowKey])\n : selectedRowKeys.value.filter(\n (key: Key) => key !== record[rowKey]\n );\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n const onSelectAll = (\n selected: any,\n selectedRows: any,\n changeRows: any\n ) => {\n const _ids = changeRows.map((record: any) => record[rowKey]);\n selectedRowKeys.value = selected\n ? selectedRowKeys.value.concat(_ids)\n : selectedRowKeys.value.filter((key: Key) => !_ids.includes(key));\n\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\n watch(\n () => props.keys,\n (val) => {\n selectedRowKeys.value = val;\n }\n );\n\n const rowSelection = ref<any>(undefined);\n\n watchEffect(() => {\n const { selection } = props.config;\n localSelection = selection as any;\n if (localSelection !== \"N\") {\n rowSelection.value = {\n selectedRowKeys,\n onSelect,\n onSelectAll,\n fixed: true,\n columnTitle: localSelection === \"S\" ? \"选择\" : null,\n columnWidth: localSelection === \"S\" ? 60 : 40,\n getCheckboxProps: getCheckboxProps\n };\n } else {\n rowSelection.value = undefined;\n }\n });\n\n // return {\n // selectedRowKeys,\n // onSelect,\n // onSelectAll,\n // fixed: true,\n // columnTitle: localSelection === \"S\" ? \"选择\" : null,\n // columnWidth: localSelection === \"S\" ? 60 : 40,\n // getCheckboxProps: getCheckboxProps\n // };\n return rowSelection;\n }\n\n const customRow = useCustomRow();\n\n //表格行配置\n function useCustomRow() {\n return (record: any) => {\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\n let clickTimeout: any = undefined;\n const {\n rowKey,\n config: { click, dbClick, selection, getCheckboxProps }\n } = props as any;\n\n // 当前点击行的唯一ID,通过rowKey从record中取值\n const id = record[rowKey];\n\n /**\n * 处理单击事件业务\n * @param record 当前点击行数据\n */\n const onClick = () => {\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\n // 否则checkEnable为false\n const checkEnable =\n getCheckboxProps === undefined\n ? false\n : getCheckboxProps(record).disabled;\n\n if (selection === \"N\" || checkEnable) {\n // 1. 未开启复选框 则不处理数据选中操作\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\n // 方法返回的disabled为true就不执行\n // 复选框选中的操作\n return;\n }\n const haveState = selectedRowKeys.value.some(\n (key: Key) => key === id\n );\n if (haveState) {\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\n selectedRowKeys.value = selectedRowKeys.value.filter(\n (key: Key) => key !== id\n );\n } else {\n if (selection === \"S\") {\n //单选的时候 清空选中的数据 再赋值新的ID\n selectedRowKeys.value = [];\n selectedRowKeys.value.push(id);\n } else {\n //多选直接追加ID\n selectedRowKeys.value.push(id);\n }\n }\n emit(\"update:keys\", selectedRowKeys.value);\n };\n\n return {\n onClick: () => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理单击事件业务\n onClick();\n // 回传数据 自定义单击后的业务\n click ? click(record) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record) : undefined;\n }\n // onContextmenu: (event) => {\n // //TODO\n // },\n // onMouseenter: (event) => {\n // //TODO\n // }, // 鼠标移入行\n // onMouseleave: (event) => {\n // //TODO\n // }\n };\n };\n }\n\n const actionStop = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n const expandRowByClick = computed(() => {\n const { selection } = props.config;\n return selection === \"N\";\n });\n const tableSlots: any = {};\n if (slots.expandedRowRender) {\n tableSlots.expandedRowRender = (record: any) => {\n return (\n <>{slots.expandedRowRender && slots.expandedRowRender(record)}</>\n );\n };\n }\n const summary = () => {\n return <>{slots.summary && slots.summary()}</>;\n };\n\n return () => (\n <div ref={tableRootRef} style={{ height: \"100%\" }}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n columns={columns.value}\n dataSource={dataSource.value}\n loading={props.loading}\n size={props.config?.size ?? \"small\"}\n scroll={{\n scrollToFirstRowOnChange: true,\n x: \"100%\",\n y: tableHeight.value + \"px\"\n }}\n v-model:expandedRowKeys={expandedKeys.value}\n expandRowByClick={expandRowByClick.value}\n defaultExpandAllRows={props.defaultExpandAllRows}\n pagination={false}\n customRow={customRow}\n rowSelection={rowSelection.value}\n rowClassName={onRowClassName}\n >\n {{\n bodyCell: ({ column, record, index }: any) => {\n if (column.slot === \"action\") {\n return (\n <div onClick={actionStop} onDblclick={actionStop}>\n <Space>\n {slots.action && slots.action({ record, index })}\n </Space>\n </div>\n );\n }\n },\n ...tableSlots,\n // 总结栏插槽\n summary: summary\n }}\n </Table>\n <Pagination\n v-show={props.config.pagination}\n class={[basePageClassName]}\n v-model:current={paginationState.value.current}\n v-model:pageSize={paginationState.value.pageSize}\n disabled={props.loading}\n show-size-changer\n size={\"default\"}\n hide-on-single-page={paginationConfig.hideOnSinglePage}\n show-quick-jumper={paginationConfig.showQuickJumper}\n default-page-size={paginationConfig.defaultPageSize}\n page-size-options={paginationConfig.pageSizeOptions}\n show-total={paginationConfig.showTotal}\n total={paginationState.value.total}\n onChange={onPageChange}\n />\n </div>\n );\n }\n});\n\nexport default DXTable;\n"],"names":["tableProps","data","type","Object","required","height","Number","default","keys","Array","rowKey","String","loading","Boolean","pagination","config","expandedRowKeys","defaultExpandAllRows","basePageClassName","prefixName","DXTable","name","props","emits","setup","emit","slots","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","watchEffect","value","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","antTableBodyRef","playHeight","tableEl","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","watch","val","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","clearTimeout","onDblclick","actionStop","event","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","Table","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/bsui",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "",
@@ -31,11 +31,7 @@ const emits = defineEmits<Emits>();
31
31
 
32
32
  const { getDicByKey } = useDataDicStore();
33
33
 
34
- // const workerPool: any = inject("dicWorkerPool");
35
- // // 获取worker
36
- // const workerInstance: any = workerPool.getWorker();
37
-
38
- const { modelValue, data, onSearch, onSelect, onChange } = useSelect();
34
+ const { modelValue, data, onSelect, onChange } = useSelect();
39
35
 
40
36
  function useSelect() {
41
37
  // 字典数据
@@ -53,8 +49,6 @@ function useSelect() {
53
49
  }
54
50
  );
55
51
 
56
- //initSearch(modelValue.value);
57
-
58
52
  //监听用户搜索事件
59
53
  const onSearch = (keywords: string) => {
60
54
  sendWorkerSearch(keywords);
@@ -126,6 +120,22 @@ function useSelect() {
126
120
  const rs = dicList.find((obj: any) => obj.value === modelValue.value);
127
121
  emits("select", rs);
128
122
  }
123
+
124
+ watch(
125
+ () => props.include,
126
+ (val: any) => {
127
+ if (val.length > 0) {
128
+ // 只过滤出来include包含的数据
129
+ data.value = dicData.filter((item: any) => {
130
+ return val.some((i: any) => i === item.value);
131
+ });
132
+ }
133
+ },
134
+ {
135
+ immediate: true
136
+ }
137
+ );
138
+
129
139
  return {
130
140
  data,
131
141
  modelValue,
@@ -410,11 +410,13 @@ const DXTable = defineComponent({
410
410
  rowClassName={onRowClassName}
411
411
  >
412
412
  {{
413
- bodyCell: ({ column, record }: any) => {
413
+ bodyCell: ({ column, record, index }: any) => {
414
414
  if (column.slot === "action") {
415
415
  return (
416
416
  <div onClick={actionStop} onDblclick={actionStop}>
417
- <Space>{slots.action && slots.action(record)}</Space>
417
+ <Space>
418
+ {slots.action && slots.action({ record, index })}
419
+ </Space>
418
420
  </div>
419
421
  );
420
422
  }