@ditari/bsui 1.1.16 → 1.1.18

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.
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, nextTick, createVNode, Fragment } from 'vue';
1
+ import { defineComponent, ref, watchEffect, watch, createVNode, onMounted, Fragment } from 'vue';
2
2
  import { Space, Button, Form, Row, Col, FormItem } from 'ant-design-vue';
3
3
  import { SearchOutlined, ReloadOutlined, DoubleRightOutlined } from '@ant-design/icons-vue';
4
4
  import JsonSchemeRender from '../json-scheme-render/JsonSchemeRender.mjs';
@@ -10,7 +10,7 @@ var QueryForm = /* @__PURE__ */ defineComponent({
10
10
  type: [Array, Object],
11
11
  default: () => []
12
12
  },
13
- value: {
13
+ model: {
14
14
  type: Object,
15
15
  default: () => ({})
16
16
  },
@@ -28,93 +28,130 @@ var QueryForm = /* @__PURE__ */ defineComponent({
28
28
  slots,
29
29
  emit
30
30
  }) {
31
- const modelValue = ref(props.value);
32
- const loading = ref(props.loading);
33
- const gridCount = 24;
34
- const colSpan = 6;
35
- const colsPerRow = 4;
36
- const actionSpan = ref(6);
37
- const isExpend = ref(false);
38
- const expendBtnVisible = ref(false);
39
- const rowRef = ref(null);
40
- nextTick(() => {
41
- handleShowOrHidden();
42
- });
43
- function renderAction() {
44
- return createVNode(Space, null, {
45
- default: () => [createVNode(Button, {
46
- "loading": loading.value,
47
- "type": "primary",
48
- "shape": "round",
49
- "onClick": onQuery
50
- }, {
51
- default: () => "\u67E5\u8BE2",
52
- icon: () => createVNode(SearchOutlined, null, null)
53
- }), createVNode(Button, {
54
- "disabled": loading.value,
55
- "shape": "round",
56
- "onClick": onReset
57
- }, {
58
- default: () => "\u91CD\u7F6E",
59
- icon: () => createVNode(ReloadOutlined, null, null)
60
- }), expendBtnVisible.value ? createVNode(Button, {
61
- "onClick": onExpend,
62
- "shape": "round"
63
- }, {
64
- default: () => isExpend.value ? "\u6536\u8D77" : "\u5C55\u5F00",
65
- icon: () => createVNode(DoubleRightOutlined, {
66
- "rotate": isExpend.value ? -90 : 90
67
- }, null)
68
- }) : null]
69
- });
70
- }
71
- function onExpend() {
72
- isExpend.value = !isExpend.value;
73
- handleShowOrHidden();
74
- }
75
- function handleShowOrHidden() {
76
- var _a, _b;
77
- const colEl = Array.from((_b = (_a = rowRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.children);
78
- const colElLen = colEl.length - 1;
79
- const occupiedCols = colElLen * colSpan;
80
- const fullRows = Math.ceil(colElLen / colsPerRow);
81
- const lastRowCols = occupiedCols % gridCount;
82
- const remainingCols = gridCount - lastRowCols;
83
- if (fullRows > 2) {
84
- expendBtnVisible.value = true;
85
- }
86
- const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;
87
- if (expendBtnVisible.value) {
88
- colEl.forEach((col, index) => {
89
- if (index >= lastRowStartIndex) {
90
- index !== colElLen ? col.style.display = !isExpend.value ? "none" : "block" : null;
91
- }
92
- });
93
- }
94
- if (expendBtnVisible.value) {
95
- isExpend.value ? actionSpan.value = remainingCols : actionSpan.value = colSpan;
96
- }
97
- }
98
31
  const {
32
+ loading,
33
+ modelValue,
99
34
  formRef,
100
35
  onQuery,
101
36
  onReset
102
37
  } = useForm();
38
+ const {
39
+ rowRef,
40
+ actionSpan,
41
+ onExpend,
42
+ expendBtnVisible,
43
+ isExpend
44
+ } = useExpand();
45
+ const {
46
+ renderAction
47
+ } = useRender();
103
48
  function useForm() {
49
+ const loading2 = ref(false);
104
50
  const formRef2 = ref(null);
51
+ const modelValue2 = ref({});
52
+ watchEffect(() => {
53
+ modelValue2.value = props.model;
54
+ });
55
+ watch(() => props.loading, (val) => {
56
+ loading2.value = val;
57
+ });
105
58
  const onQuery2 = () => {
106
- emit("query");
59
+ emit("query", modelValue2.value);
107
60
  };
108
61
  const onReset2 = () => {
109
- formRef2.value.resetFields();
62
+ var _a;
63
+ (_a = formRef2.value) == null ? void 0 : _a.resetFields();
110
64
  emit("reset");
111
65
  };
112
66
  return {
67
+ loading: loading2,
68
+ modelValue: modelValue2,
113
69
  formRef: formRef2,
114
70
  onQuery: onQuery2,
115
71
  onReset: onReset2
116
72
  };
117
73
  }
74
+ function useRender() {
75
+ function renderAction2() {
76
+ return createVNode(Space, null, {
77
+ default: () => [createVNode(Button, {
78
+ "loading": loading.value,
79
+ "type": "primary",
80
+ "shape": "round",
81
+ "onClick": onQuery
82
+ }, {
83
+ default: () => "\u67E5\u8BE2",
84
+ icon: () => createVNode(SearchOutlined, null, null)
85
+ }), createVNode(Button, {
86
+ "disabled": loading.value,
87
+ "shape": "round",
88
+ "onClick": onReset
89
+ }, {
90
+ default: () => "\u91CD\u7F6E",
91
+ icon: () => createVNode(ReloadOutlined, null, null)
92
+ }), expendBtnVisible.value ? createVNode(Button, {
93
+ "onClick": onExpend,
94
+ "shape": "round"
95
+ }, {
96
+ default: () => isExpend.value ? "\u6536\u8D77" : "\u5C55\u5F00",
97
+ icon: () => createVNode(DoubleRightOutlined, {
98
+ "rotate": isExpend.value ? -90 : 90
99
+ }, null)
100
+ }) : null]
101
+ });
102
+ }
103
+ return {
104
+ renderAction: renderAction2
105
+ };
106
+ }
107
+ function useExpand() {
108
+ const gridCount = 24;
109
+ const colSpan = 6;
110
+ const colsPerRow = 4;
111
+ const actionSpan2 = ref(6);
112
+ const isExpend2 = ref(false);
113
+ const expendBtnVisible2 = ref(false);
114
+ const rowRef2 = ref(null);
115
+ onMounted(() => {
116
+ handleShowOrHidden();
117
+ });
118
+ function onExpend2() {
119
+ isExpend2.value = !isExpend2.value;
120
+ handleShowOrHidden();
121
+ }
122
+ function handleShowOrHidden() {
123
+ var _a, _b;
124
+ const colEl = Array.from((_b = (_a = rowRef2.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.children);
125
+ const colElLen = colEl.length - 1;
126
+ const occupiedCols = colElLen * colSpan;
127
+ const fullRows = Math.ceil(colElLen / colsPerRow);
128
+ const lastRowCols = occupiedCols % gridCount;
129
+ const remainingCols = gridCount - lastRowCols;
130
+ if (fullRows > 2) {
131
+ expendBtnVisible2.value = true;
132
+ } else {
133
+ actionSpan2.value = remainingCols;
134
+ }
135
+ const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;
136
+ if (expendBtnVisible2.value) {
137
+ colEl.forEach((col, index) => {
138
+ if (index >= lastRowStartIndex) {
139
+ index !== colElLen ? col.style.display = !isExpend2.value ? "none" : "block" : null;
140
+ }
141
+ });
142
+ }
143
+ if (expendBtnVisible2.value) {
144
+ isExpend2.value ? actionSpan2.value = remainingCols : actionSpan2.value = colSpan;
145
+ }
146
+ }
147
+ return {
148
+ rowRef: rowRef2,
149
+ actionSpan: actionSpan2,
150
+ onExpend: onExpend2,
151
+ expendBtnVisible: expendBtnVisible2,
152
+ isExpend: isExpend2
153
+ };
154
+ }
118
155
  return () => createVNode(Fragment, null, [createVNode(Form, {
119
156
  "ref": formRef,
120
157
  "colon": false,
@@ -1 +1 @@
1
- {"version":3,"file":"DQueryForm.mjs","sources":["../../../src/form/DQueryForm.tsx"],"sourcesContent":["import { defineComponent, nextTick, ref } from \"vue\";\nimport { Form, FormItem, Row, Col, Button, Space } from \"ant-design-vue\";\nimport {\n SearchOutlined,\n ReloadOutlined,\n DoubleRightOutlined\n} from \"@ant-design/icons-vue\";\n\nimport DJsonSchemeRender from \"../json-scheme-render/JsonSchemeRender\";\n\n/**\n * 查询表单渲染\n */\nexport default defineComponent({\n name: \"DQueryForm\",\n props: {\n scheme: {\n type: [Array, Object] as unknown as () => any[] | Record<string, any>,\n default: () => []\n },\n value: {\n type: Object as () => Record<string, unknown>,\n default: () => ({})\n },\n labelWidth: {\n type: String,\n default: \"90px\"\n },\n loading: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"reset\", \"query\"],\n setup(props, { slots, emit }) {\n const modelValue = ref(props.value);\n const loading = ref(props.loading);\n\n // 为24网格布局\n const gridCount = 24;\n // 每列占6个格子\n const colSpan = 6;\n // 每行显示4列\n const colsPerRow = 4;\n // 操作按钮span\n const actionSpan = ref(6);\n // 控制展开或隐藏按钮文本\n const isExpend = ref(false);\n // 控制展开按按钮是否显示\n const expendBtnVisible = ref(false);\n\n // 行对象\n const rowRef = ref<any>(null);\n nextTick(() => {\n handleShowOrHidden();\n });\n\n /**\n * 操作按钮渲染\n */\n function renderAction() {\n return (\n <Space>\n <Button\n loading={loading.value}\n type={\"primary\"}\n shape={\"round\"}\n onClick={onQuery}\n >\n {{\n default: () => \"查询\",\n icon: () => <SearchOutlined />\n }}\n </Button>\n <Button disabled={loading.value} shape={\"round\"} onClick={onReset}>\n {{\n default: () => \"重置\",\n icon: () => <ReloadOutlined />\n }}\n </Button>\n {expendBtnVisible.value ? (\n <Button onClick={onExpend} shape={\"round\"}>\n {{\n default: () => (isExpend.value ? \"收起\" : \"展开\"),\n icon: () => (\n <DoubleRightOutlined rotate={isExpend.value ? -90 : 90} />\n )\n }}\n </Button>\n ) : null}\n </Space>\n );\n }\n\n function onExpend() {\n isExpend.value = !isExpend.value;\n handleShowOrHidden();\n }\n\n /**\n * 处理隐藏或显示\n */\n function handleShowOrHidden() {\n const colEl = Array.from(rowRef.value?.$el?.children);\n // col总条数 减掉操作栏按钮的div个数为1\n const colElLen = colEl.length - 1;\n // 已占用的网格数 = col总条数 * 每列占用的网格数\n const occupiedCols = colElLen * colSpan;\n // 总行数 = 总div数 / 每行显示的列数\n const fullRows = Math.ceil(colElLen / colsPerRow);\n // 最后一行的网格数 = 已占用的网格数 % 24\n const lastRowCols = occupiedCols % gridCount;\n // 最后一行剩余的网格数\n const remainingCols = gridCount - lastRowCols;\n\n // 网格行大于2才显示展开或隐藏按钮\n if (fullRows > 2) {\n expendBtnVisible.value = true;\n }\n // 最后一行的起始索引\n const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;\n // 只有展开按钮显示时才处理\n if (expendBtnVisible.value) {\n colEl.forEach((col: any, index) => {\n if (index >= lastRowStartIndex) {\n // 最后一个元素不隐藏 是操作按钮的div\n index !== colElLen\n ? (col.style.display = !isExpend.value ? \"none\" : \"block\")\n : null; // 隐藏元素\n }\n });\n }\n\n if (expendBtnVisible.value) {\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\n isExpend.value\n ? (actionSpan.value = remainingCols)\n : (actionSpan.value = colSpan);\n }\n }\n\n // 表单\n const { formRef, onQuery, onReset } = useForm();\n function useForm() {\n const formRef = ref<any>(null);\n const onQuery = () => {\n emit(\"query\");\n };\n\n const onReset = () => {\n formRef.value.resetFields();\n emit(\"reset\");\n };\n return {\n formRef,\n onQuery,\n onReset\n };\n }\n\n return () => (\n <>\n <Form\n ref={formRef}\n colon={false}\n labelCol={{ style: { width: props.labelWidth } }}\n model={modelValue.value}\n >\n <Row ref={rowRef}>\n {slots.default ? (\n slots.default()\n ) : (\n <DJsonSchemeRender\n layout={props.scheme}\n value={modelValue.value}\n />\n )}\n <Col span={actionSpan.value} style={{ textAlign: \"right\" }}>\n <FormItem>\n {slots.action ? slots.action() : renderAction()}\n </FormItem>\n </Col>\n </Row>\n </Form>\n </>\n );\n }\n});\n"],"names":["name","props","scheme","type","Array","Object","default","value","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","ref","gridCount","colSpan","colsPerRow","actionSpan","isExpend","expendBtnVisible","rowRef","nextTick","handleShowOrHidden","renderAction","_createVNode","Space","Button","onQuery","icon","SearchOutlined","onReset","ReloadOutlined","onExpend","DoubleRightOutlined","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","formRef","useForm","resetFields","_Fragment","Form","width","Row","DJsonSchemeRender","Col","textAlign","FormItem","action"],"mappings":"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"}
1
+ {"version":3,"file":"DQueryForm.mjs","sources":["../../../src/form/DQueryForm.tsx"],"sourcesContent":["import { defineComponent, onMounted, ref, watch, watchEffect } from \"vue\";\nimport { Form, FormItem, Row, Col, Button, Space } from \"ant-design-vue\";\nimport {\n SearchOutlined,\n ReloadOutlined,\n DoubleRightOutlined\n} from \"@ant-design/icons-vue\";\n\nimport DJsonSchemeRender from \"../json-scheme-render/JsonSchemeRender\";\n\n/**\n * 查询表单渲染\n * 展开,隐藏功能\n */\nexport default defineComponent({\n name: \"DQueryForm\",\n props: {\n scheme: {\n type: [Array, Object] as unknown as () => any[] | Record<string, any>,\n default: () => []\n },\n model: {\n type: Object as () => Record<string, unknown>,\n default: () => ({})\n },\n labelWidth: {\n type: String,\n default: \"90px\"\n },\n loading: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"reset\", \"query\"],\n setup(props, { slots, emit }) {\n // 表单\n const { loading, modelValue, formRef, onQuery, onReset } = useForm();\n // 展开\n const { rowRef, actionSpan, onExpend, expendBtnVisible, isExpend } =\n useExpand();\n //渲染操作列\n const { renderAction } = useRender();\n\n function useForm() {\n const loading = ref(false);\n const formRef = ref<any>(null);\n const modelValue = ref<any>({});\n\n watchEffect(() => {\n modelValue.value = props.model;\n });\n\n watch(\n () => props.loading,\n (val) => {\n loading.value = val;\n }\n );\n\n const onQuery = () => {\n emit(\"query\", modelValue.value);\n };\n\n const onReset = () => {\n formRef.value?.resetFields();\n emit(\"reset\");\n };\n return {\n loading,\n modelValue,\n formRef,\n onQuery,\n onReset\n };\n }\n\n function useRender() {\n /**\n * 操作按钮渲染\n */\n function renderAction() {\n return (\n <Space>\n <Button\n loading={loading.value}\n type={\"primary\"}\n shape={\"round\"}\n onClick={onQuery}\n >\n {{\n default: () => \"查询\",\n icon: () => <SearchOutlined />\n }}\n </Button>\n <Button disabled={loading.value} shape={\"round\"} onClick={onReset}>\n {{\n default: () => \"重置\",\n icon: () => <ReloadOutlined />\n }}\n </Button>\n {expendBtnVisible.value ? (\n <Button onClick={onExpend} shape={\"round\"}>\n {{\n default: () => (isExpend.value ? \"收起\" : \"展开\"),\n icon: () => (\n <DoubleRightOutlined rotate={isExpend.value ? -90 : 90} />\n )\n }}\n </Button>\n ) : null}\n </Space>\n );\n }\n return {\n renderAction\n };\n }\n\n function useExpand() {\n // 为24网格布局\n const gridCount = 24;\n // 每列占6个格子\n const colSpan = 6;\n // 每行显示4列\n const colsPerRow = 4;\n // 操作按钮span\n const actionSpan = ref(6);\n // 控制展开或隐藏按钮文本\n const isExpend = ref(false);\n // 控制展开按按钮是否显示\n const expendBtnVisible = ref(false);\n // 行对象\n const rowRef = ref<any>(null);\n\n onMounted(() => {\n handleShowOrHidden();\n });\n\n function onExpend() {\n isExpend.value = !isExpend.value;\n handleShowOrHidden();\n }\n\n /**\n * 处理隐藏或显示\n */\n function handleShowOrHidden() {\n const colEl = Array.from(rowRef.value?.$el?.children);\n // col总条数 减掉操作栏按钮的div个数为1\n const colElLen = colEl.length - 1;\n // 已占用的网格数 = col总条数 * 每列占用的网格数\n const occupiedCols = colElLen * colSpan;\n // 总行数 = 总div数 / 每行显示的列数\n const fullRows = Math.ceil(colElLen / colsPerRow);\n // 最后一行的网格数 = 已占用的网格数 % 24\n const lastRowCols = occupiedCols % gridCount;\n // 最后一行剩余的网格数\n const remainingCols = gridCount - lastRowCols;\n\n // 网格行大于2才显示展开或隐藏按钮\n if (fullRows > 2) {\n expendBtnVisible.value = true;\n } else {\n // 如果没有大于两行,操作栏占用剩余的宽度\n actionSpan.value = remainingCols;\n }\n // 最后一行的起始索引\n const lastRowStartIndex = colsPerRow * (fullRows - 1) - 1;\n // 只有展开按钮显示时才处理\n if (expendBtnVisible.value) {\n colEl.forEach((col: any, index) => {\n if (index >= lastRowStartIndex) {\n // 最后一个元素不隐藏 是操作按钮的div\n index !== colElLen\n ? (col.style.display = !isExpend.value ? \"none\" : \"block\")\n : null; // 隐藏元素\n }\n });\n }\n\n if (expendBtnVisible.value) {\n // 如果是展开状态 则操作按钮占用剩余的网格数 否则占用6个网格\n isExpend.value\n ? (actionSpan.value = remainingCols)\n : (actionSpan.value = colSpan);\n }\n }\n\n return {\n rowRef,\n actionSpan,\n onExpend,\n expendBtnVisible,\n isExpend\n };\n }\n\n return () => (\n <>\n <Form\n ref={formRef}\n colon={false}\n labelCol={{ style: { width: props.labelWidth } }}\n model={modelValue.value}\n >\n <Row ref={rowRef}>\n {slots.default ? (\n slots.default()\n ) : (\n <DJsonSchemeRender\n layout={props.scheme}\n value={modelValue.value}\n />\n )}\n <Col span={actionSpan.value} style={{ textAlign: \"right\" }}>\n <FormItem>\n {slots.action ? slots.action() : renderAction()}\n </FormItem>\n </Col>\n </Row>\n </Form>\n </>\n );\n }\n});\n"],"names":["name","props","scheme","type","Array","Object","default","model","labelWidth","String","loading","Boolean","emits","setup","slots","emit","modelValue","formRef","onQuery","onReset","useForm","rowRef","actionSpan","onExpend","expendBtnVisible","isExpend","useExpand","renderAction","useRender","ref","watchEffect","value","watch","val","resetFields","_createVNode","Space","Button","icon","SearchOutlined","ReloadOutlined","DoubleRightOutlined","gridCount","colSpan","colsPerRow","onMounted","handleShowOrHidden","colEl","from","$el","children","colElLen","length","occupiedCols","fullRows","Math","ceil","lastRowCols","remainingCols","lastRowStartIndex","forEach","col","index","style","display","_Fragment","Form","width","Row","DJsonSchemeRender","Col","textAlign","FormItem","action"],"mappings":";;;;;AAcA,gCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,YAAA;AAAA,EACNC,KAAO,EAAA;AAAA,IACLC,MAAQ,EAAA;AAAA,MACNC,IAAAA,EAAM,CAACC,KAAAA,EAAOC,MAAM,CAAA;AAAA,MACpBC,OAAAA,EAASA,MAAM,EAAA;AAAA,KACjB;AAAA,IACAC,KAAO,EAAA;AAAA,MACLJ,IAAME,EAAAA,MAAAA;AAAAA,MACNC,OAAAA,EAASA,OAAO,EAAC,CAAA;AAAA,KACnB;AAAA,IACAE,UAAY,EAAA;AAAA,MACVL,IAAMM,EAAAA,MAAAA;AAAAA,MACNH,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACAI,OAAS,EAAA;AAAA,MACPP,IAAMQ,EAAAA,OAAAA;AAAAA,MACNL,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAM,KAAAA,EAAO,CAAC,OAAA,EAAS,OAAO,CAAA;AAAA,EACxBC,MAAMZ,KAAO,EAAA;AAAA,IAAEa,KAAAA;AAAAA,IAAOC,IAAAA;AAAAA,GAAQ,EAAA;AAE5B,IAAM,MAAA;AAAA,MAAEL,OAAAA;AAAAA,MAASM,UAAAA;AAAAA,MAAYC,OAAAA;AAAAA,MAASC,OAAAA;AAAAA,MAASC,OAAAA;AAAAA,QAAYC,OAAQ,EAAA,CAAA;AAEnE,IAAM,MAAA;AAAA,MAAEC,MAAAA;AAAAA,MAAQC,UAAAA;AAAAA,MAAYC,QAAAA;AAAAA,MAAUC,gBAAAA;AAAAA,MAAkBC,QAAAA;AAAAA,QACtDC,SAAU,EAAA,CAAA;AAEZ,IAAM,MAAA;AAAA,MAAEC,YAAAA;AAAAA,QAAiBC,SAAU,EAAA,CAAA;AAEnC,IAAA,SAASR,OAAU,GAAA;AACjB,MAAMV,MAAAA,QAAAA,GAAUmB,IAAI,KAAK,CAAA,CAAA;AACzB,MAAMZ,MAAAA,QAAAA,GAAUY,IAAS,IAAI,CAAA,CAAA;AAC7B,MAAMb,MAAAA,WAAAA,GAAaa,GAAS,CAAA,EAAE,CAAA,CAAA;AAE9BC,MAAAA,WAAAA,CAAY,MAAM;AAChBd,QAAAA,WAAAA,CAAWe,QAAQ9B,KAAMM,CAAAA,KAAAA,CAAAA;AAAAA,OAC1B,CAAA,CAAA;AAEDyB,MACE,KAAA,CAAA,MAAM/B,KAAMS,CAAAA,OAAAA,EACXuB,CAAQ,GAAA,KAAA;AACPvB,QAAAA,SAAQqB,KAAQE,GAAAA,GAAAA,CAAAA;AAAAA,OAEpB,CAAA,CAAA;AAEA,MAAA,MAAMf,WAAUA,MAAM;AACpBH,QAAK,IAAA,CAAA,OAAA,EAASC,YAAWe,KAAK,CAAA,CAAA;AAAA,OAChC,CAAA;AAEA,MAAA,MAAMZ,WAAUA,MAAM;;AACpBF,QAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAAQc,UAARd,IAAeiB,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,WAAAA,EAAAA,CAAAA;AACfnB,QAAAA,IAAAA,CAAK,OAAO,CAAA,CAAA;AAAA,OACd,CAAA;AACA,MAAO,OAAA;AAAA,QACLL,OAAAA,EAAAA,QAAAA;AAAAA,QACAM,UAAAA,EAAAA,WAAAA;AAAAA,QACAC,OAAAA,EAAAA,QAAAA;AAAAA,QACAC,OAAAA,EAAAA,QAAAA;AAAAA,QACAC,OAAAA,EAAAA,QAAAA;AAAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAA,SAASS,SAAY,GAAA;AAInB,MAAA,SAASD,aAAe,GAAA;AACtB,QAAAQ,OAAAA,WAAAA,CAAAC,OAAA,IAAA,EAAA;AAAA,UAAA9B,OAAAA,EAAAA,MAAA6B,CAAAA,WAAAA,CAAAE,MAAA,EAAA;AAAA,YAAA,WAGe3B,OAAQqB,CAAAA,KAAAA;AAAAA,YAAK,MAChB,EAAA,SAAA;AAAA,YAAS,OACR,EAAA,OAAA;AAAA,YAAO,SACLb,EAAAA,OAAAA;AAAAA,WAAO,EAAA;AAAA,YAGdZ,SAASA,MAAM,cAAA;AAAA,YACfgC,IAAMA,EAAAA,MAAAH,WAAAI,CAAAA,cAAAA,EAAA,MAAA,IAAA,CAAA;AAAA,WAAwBJ,CAAAA,EAAAA,WAAAA,CAAAE,MAAA,EAAA;AAAA,YAAA,YAGhB3B,OAAQqB,CAAAA,KAAAA;AAAAA,YAAK,OAAS,EAAA,OAAA;AAAA,YAAO,SAAWZ,EAAAA,OAAAA;AAAAA,WAAO,EAAA;AAAA,YAE7Db,SAASA,MAAM,cAAA;AAAA,YACfgC,IAAMA,EAAAA,MAAAH,WAAAK,CAAAA,cAAAA,EAAA,MAAA,IAAA,CAAA;AAAA,WAAwB,CAAA,EAGjChB,gBAAiBO,CAAAA,KAAAA,GAAKI,YAAAE,MAAA,EAAA;AAAA,YAAA,SACJd,EAAAA,QAAAA;AAAAA,YAAQ,OAAS,EAAA,OAAA;AAAA,WAAO,EAAA;AAAA,YAErCjB,OAASA,EAAAA,MAAOmB,QAASM,CAAAA,KAAAA,GAAQ,cAAO,GAAA,cAAA;AAAA,YACxCO,IAAAA,EAAMA,MAAAH,WAAAA,CAAAM,mBAAA,EAAA;AAAA,cAAA,QAAA,EACyBhB,QAASM,CAAAA,KAAAA,GAAQ,CAAM,EAAA,GAAA,EAAA;AAAA,eAAE,IAAA,CAAA;AAAA,WACvD,IAGH,IAAI,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,OAGd;AACA,MAAO,OAAA;AAAA,QACLJ,YAAAA,EAAAA,aAAAA;AAAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAA,SAASD,SAAY,GAAA;AAEnB,MAAA,MAAMgB,SAAY,GAAA,EAAA,CAAA;AAElB,MAAA,MAAMC,OAAU,GAAA,CAAA,CAAA;AAEhB,MAAA,MAAMC,UAAa,GAAA,CAAA,CAAA;AAEnB,MAAMtB,MAAAA,WAAAA,GAAaO,IAAI,CAAC,CAAA,CAAA;AAExB,MAAMJ,MAAAA,SAAAA,GAAWI,IAAI,KAAK,CAAA,CAAA;AAE1B,MAAML,MAAAA,iBAAAA,GAAmBK,IAAI,KAAK,CAAA,CAAA;AAElC,MAAMR,MAAAA,OAAAA,GAASQ,IAAS,IAAI,CAAA,CAAA;AAE5BgB,MAAAA,SAAAA,CAAU,MAAM;AACdC,QAAmB,kBAAA,EAAA,CAAA;AAAA,OACpB,CAAA,CAAA;AAED,MAAA,SAASvB,SAAW,GAAA;AAClBE,QAAAA,SAAAA,CAASM,KAAQ,GAAA,CAACN,SAASM,CAAAA,KAAAA,CAAAA;AAC3Be,QAAmB,kBAAA,EAAA,CAAA;AAAA,OACrB;AAKA,MAAA,SAASA,kBAAqB,GAAA;;AAC5B,QAAMC,MAAAA,KAAAA,GAAQ3C,MAAM4C,IAAK3B,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,QAAOU,KAAPV,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAc4B,GAAd5B,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAmB6B,QAAQ,CAAA,CAAA;AAEpD,QAAMC,MAAAA,QAAAA,GAAWJ,MAAMK,MAAS,GAAA,CAAA,CAAA;AAEhC,QAAA,MAAMC,eAAeF,QAAWR,GAAAA,OAAAA,CAAAA;AAEhC,QAAA,MAAMW,QAAWC,GAAAA,IAAAA,CAAKC,IAAKL,CAAAA,QAAAA,GAAWP,UAAU,CAAA,CAAA;AAEhD,QAAA,MAAMa,cAAcJ,YAAeX,GAAAA,SAAAA,CAAAA;AAEnC,QAAA,MAAMgB,gBAAgBhB,SAAYe,GAAAA,WAAAA,CAAAA;AAGlC,QAAA,IAAIH,WAAW,CAAG,EAAA;AAChB9B,UAAAA,kBAAiBO,KAAQ,GAAA,IAAA,CAAA;AAAA,SACpB,MAAA;AAELT,UAAAA,YAAWS,KAAQ2B,GAAAA,aAAAA,CAAAA;AAAAA,SACrB;AAEA,QAAMC,MAAAA,iBAAAA,GAAoBf,UAAcU,IAAAA,QAAAA,GAAW,CAAK,CAAA,GAAA,CAAA,CAAA;AAExD,QAAA,IAAI9B,kBAAiBO,KAAO,EAAA;AAC1BgB,UAAMa,KAAAA,CAAAA,OAAAA,CAAQ,CAACC,GAAAA,EAAUC,KAAU,KAAA;AACjC,YAAA,IAAIA,SAASH,iBAAmB,EAAA;AAE9BG,cAAUX,KAAAA,KAAAA,QAAAA,GACLU,IAAIE,KAAMC,CAAAA,OAAAA,GAAU,CAACvC,SAASM,CAAAA,KAAAA,GAAQ,SAAS,OAChD,GAAA,IAAA,CAAA;AAAA,aACN;AAAA,WACD,CAAA,CAAA;AAAA,SACH;AAEA,QAAA,IAAIP,kBAAiBO,KAAO,EAAA;AAE1BN,UAAAA,UAASM,KACJT,GAAAA,WAAAA,CAAWS,KAAQ2B,GAAAA,aAAAA,GACnBpC,YAAWS,KAAQY,GAAAA,OAAAA,CAAAA;AAAAA,SAC1B;AAAA,OACF;AAEA,MAAO,OAAA;AAAA,QACLtB,MAAAA,EAAAA,OAAAA;AAAAA,QACAC,UAAAA,EAAAA,WAAAA;AAAAA,QACAC,QAAAA,EAAAA,SAAAA;AAAAA,QACAC,gBAAAA,EAAAA,iBAAAA;AAAAA,QACAC,QAAAA,EAAAA,SAAAA;AAAAA,OACF,CAAA;AAAA,KACF;AAEA,IAAA,OAAO,MAAAU,WAAA8B,CAAAA,QAAAA,EAAA9B,IAAAA,EAAAA,CAAAA,YAAA+B,IAAA,EAAA;AAAA,MAAA,KAGIjD,EAAAA,OAAAA;AAAAA,MAAO,OACL,EAAA,KAAA;AAAA,MAAK,UACF,EAAA;AAAA,QAAE8C,KAAO,EAAA;AAAA,UAAEI,OAAOlE,KAAMO,CAAAA,UAAAA;AAAAA,SAAW;AAAA,OAAE;AAAA,MAAC,SACzCQ,UAAWe,CAAAA,KAAAA;AAAAA,KAAK,EAAA;AAAA,MAAAzB,OAAAA,EAAAA,MAAA6B,CAAAA,WAAAA,CAAAiC,GAAA,EAAA;AAAA,QAAA,KAEb/C,EAAAA,MAAAA;AAAAA,OAAM,EAAA;AAAA,QAAAf,OAAAA,EAAAA,MACbQ,CAAAA,KAAAA,CAAMR,UACLQ,KAAMR,CAAAA,OAAAA,EAAS6B,GAAAA,WAAAA,CAAAkC,gBAAA,EAAA;AAAA,UAAA,UAGLpE,KAAMC,CAAAA,MAAAA;AAAAA,UAAM,SACbc,UAAWe,CAAAA,KAAAA;AAAAA,SAErB,EAAA,IAAA,CAAAI,EAAAA,WAAAA,CAAAmC,GAAA,EAAA;AAAA,UAAA,QACUhD,UAAWS,CAAAA,KAAAA;AAAAA,UAAK,OAAS,EAAA;AAAA,YAAEwC,SAAW,EAAA,OAAA;AAAA,WAAQ;AAAA,SAAC,EAAA;AAAA,UAAAjE,OAAAA,EAAAA,MAAA6B,CAAAA,WAAAA,CAAAqC,UAAA,IAAA,EAAA;AAAA,YAAAlE,OAAAA,EAAAA,MAErDQ,CAAAA,KAAAA,CAAM2D,SAAS3D,KAAM2D,CAAAA,MAAAA,EAAW9C,GAAAA,YAAAA,EAAc,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAM1D,CAAA,CAAA,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -33,8 +33,10 @@ declare const DXTable: import("vue").DefineComponent<{
33
33
  type: PropType<string[] | undefined>;
34
34
  default: () => never[];
35
35
  };
36
- defaultExpandAllRows: PropType<boolean | undefined>;
37
- default: () => boolean;
36
+ defaultExpandAllRows: {
37
+ type: PropType<boolean | undefined>;
38
+ default: () => boolean;
39
+ };
38
40
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:keys"[], "update:keys", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
39
41
  data: {
40
42
  type: PropType<any>;
@@ -65,8 +67,10 @@ declare const DXTable: import("vue").DefineComponent<{
65
67
  type: PropType<string[] | undefined>;
66
68
  default: () => never[];
67
69
  };
68
- defaultExpandAllRows: PropType<boolean | undefined>;
69
- default: () => boolean;
70
+ defaultExpandAllRows: {
71
+ type: PropType<boolean | undefined>;
72
+ default: () => boolean;
73
+ };
70
74
  }>> & {
71
75
  "onUpdate:keys"?: ((...args: any[]) => any) | undefined;
72
76
  }, {
@@ -76,5 +80,6 @@ declare const DXTable: import("vue").DefineComponent<{
76
80
  rowKey: string;
77
81
  config: import("./interface/table").Config;
78
82
  expandedRowKeys: string[] | undefined;
83
+ defaultExpandAllRows: boolean | undefined;
79
84
  }, {}>;
80
85
  export default DXTable;
@@ -53,8 +53,10 @@ const tableProps = () => {
53
53
  type: Object,
54
54
  default: () => []
55
55
  },
56
- defaultExpandAllRows: Boolean,
57
- default: () => true
56
+ defaultExpandAllRows: {
57
+ type: Boolean,
58
+ default: () => true
59
+ }
58
60
  };
59
61
  };
60
62
  const basePageClassName = `${prefixName}-pagination`;
@@ -146,7 +148,7 @@ const DXTable = /* @__PURE__ */ defineComponent({
146
148
  });
147
149
  const onPageChange2 = (page, size) => {
148
150
  onChange ? onChange({
149
- page,
151
+ page: page === 0 ? 1 : page,
150
152
  size
151
153
  }) : null;
152
154
  antTableBodyRef.value.scrollTop = 0;
@@ -290,6 +292,12 @@ const DXTable = /* @__PURE__ */ defineComponent({
290
292
  const summary = () => {
291
293
  return createVNode(Fragment, null, [slots.summary && slots.summary()]);
292
294
  };
295
+ const onExpand = (expanded, record) => {
296
+ props.config.onExpand && props.config.onExpand({
297
+ expanded,
298
+ record
299
+ });
300
+ };
293
301
  return () => {
294
302
  var _a2, _b2;
295
303
  return createVNode("div", {
@@ -317,7 +325,8 @@ const DXTable = /* @__PURE__ */ defineComponent({
317
325
  "pagination": false,
318
326
  "customRow": customRow,
319
327
  "rowSelection": rowSelection.value,
320
- "rowClassName": onRowClassName
328
+ "rowClassName": onRowClassName,
329
+ "onExpand": onExpand
321
330
  }, __spreadProps(__spreadValues({
322
331
  bodyCell: ({
323
332
  column,
@@ -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, index: 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, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : 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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"}
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: {\n type: Boolean as PropType<TableProps[\"defaultExpandAllRows\"]>,\n default: () => true\n }\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: page === 0 ? 1 : 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, index: 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, index) : undefined;\n }, 200);\n }, // 点击行\n onDblclick: () => {\n clearTimeout(clickTimeout);\n // 回传数据 自定义单击后的业务\n dbClick ? dbClick(record, index) : 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 /**\n * 展开行事件\n * @param expanded\n * @param record\n */\n const onExpand = (expanded: any, record: any) => {\n props.config.onExpand && props.config.onExpand({ expanded, record });\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 onExpand={onExpand}\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","onExpand","expanded","Table","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
@@ -1,29 +1,10 @@
1
- <script setup lang="ts">
2
- import { ref } from "vue";
3
-
4
- import { useTable } from "./hooks";
5
- const { data, loading, config } = useTable();
6
-
7
- setTimeout(() => {
8
- data.value = [];
9
- config.pagination.total = 0;
10
- }, 3000);
11
-
12
- const declareType = ref("");
13
- </script>
1
+ <script setup lang="ts"></script>
14
2
  <template>
15
- <DTable :config="config" :data="data" :loading="loading"></DTable>
16
- <div style="width: 200px">
17
- <d-select
18
- v-model:value="declareType"
19
- :include="['3', '4']"
20
- name="PRE_DEC_TYPE"
21
- placeholder="请选择申报人类别"
22
- ></d-select>
23
- </div>
3
+ <router-link to="/form/query-demo"> 跳转 </router-link>
4
+ <router-view v-slot="{ Component }">
5
+ <keep-alive>
6
+ <component :is="Component" />
7
+ </keep-alive>
8
+ </router-view>
24
9
  </template>
25
- <style>
26
- .my-modal {
27
- pointer-events: auto;
28
- }
29
- </style>
10
+ <style></style>
@@ -1,14 +1,21 @@
1
1
  import axios from "axios";
2
2
 
3
3
  export const userList = (params: { page?: number; limit?: number }) => {
4
- return axios.get("https://61273138c2e8920017bc0b3c.mockapi.io/api/users", {
5
- params
4
+ // return axios.get("https://61273138c2e8920017bc0b3c.mockapi.io/api/users", {
5
+ // params
6
+ // });
7
+ return new Promise((resolve, reject) => {
8
+ resolve({ data: [], total: 0 });
6
9
  });
7
10
  };
8
11
 
9
12
  export const testService = (params: { page?: number; limit?: number }) => {
10
- return axios.get("https://61273138c2e8920017bc0b3c.mockapi.io/api/users/", {
11
- params
13
+ // return axios.get("https://61273138c2e8920017bc0b3c.mockapi.io/api/users/", {
14
+ // params
15
+ // });
16
+ console.log(params)
17
+ return new Promise((resolve, reject) => {
18
+ resolve({ data: [], total: 0 });
12
19
  });
13
20
  };
14
21
 
@@ -5,6 +5,7 @@ import App from "./App.vue";
5
5
  import router from "./router";
6
6
  import ui from "../../../bsui/src/index";
7
7
  import "../../../bsui/src/index.scss";
8
+
8
9
  const app = createApp(App);
9
10
  // 注册共用组件
10
11
  app.use(Antd);
@@ -2,7 +2,30 @@ import { createRouter, createWebHistory } from "vue-router";
2
2
 
3
3
  const router = createRouter({
4
4
  history: createWebHistory(),
5
- routes: []
5
+ routes: [
6
+ {
7
+ path: "/form",
8
+ meta: {
9
+ title: "表单demo"
10
+ },
11
+ children: [
12
+ {
13
+ path: "query-demo",
14
+ component: () => import("../views/form/QueryFormDemo.vue"),
15
+ meta: {
16
+ title: "表单查询条件demo"
17
+ }
18
+ }
19
+ ]
20
+ },
21
+ {
22
+ path: "/table",
23
+ component: () => import("../views/table/List.vue"),
24
+ meta: {
25
+ title: "表单查询条件demo"
26
+ }
27
+ }
28
+ ]
6
29
  });
7
30
 
8
31
  export default router;