@ditari/bsui 1.1.40 → 1.1.41

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,11 @@
1
1
  # @ditari/bsui
2
2
 
3
+ ## 1.1.41
4
+
5
+ ### Patch Changes
6
+
7
+ - 移除 watchEffect 的使用
8
+
3
9
  ## 1.1.40
4
10
 
5
11
  ### Patch Changes
@@ -41,26 +41,23 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
41
41
  }
42
42
  emit("update:value", internalModel.value);
43
43
  };
44
- vue.watchEffect(() => {
45
- const value = props.value;
46
- props.field.forEach((key, index) => {
47
- if (value[key] === "") {
48
- dates.value && (dates.value[index] = "");
49
- } else {
50
- dates.value && (dates.value[index] = value[key]);
51
- }
52
- });
44
+ const watchExpressions = props.field.map((key) => () => {
45
+ var _a;
46
+ return (_a = props.value) == null ? void 0 : _a[key];
53
47
  });
54
- vue.watchEffect(() => {
55
- const value = props.value;
56
- props.field.forEach((key, index) => {
57
- if (value[key] === "") {
58
- dates.value && (dates.value[index] = "");
59
- } else {
60
- dates.value && (dates.value[index] = value[key]);
61
- }
48
+ const watchHandler = (newValues) => {
49
+ const isClear = props.field.every((key, index) => {
50
+ return newValues[index] === "" || newValues[index] === void 0;
62
51
  });
63
- });
52
+ if (isClear) {
53
+ dates.value = [];
54
+ } else {
55
+ props.field.forEach((key, index) => {
56
+ dates.value && (dates.value[index] = newValues[index]);
57
+ });
58
+ }
59
+ };
60
+ vue.watch(watchExpressions, watchHandler);
64
61
  return () => vue.createVNode("div", null, [vue.createVNode(antDesignVue.RangePicker, vue.mergeProps(attrs, {
65
62
  "value": dates.value,
66
63
  "onUpdate:value": ($event) => dates.value = $event,
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler);\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","watch","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -24,10 +24,12 @@ var DicReplace = /* @__PURE__ */ vue.defineComponent({
24
24
  getDicTextByValue
25
25
  } = store.useDataDicStore();
26
26
  const dicValueTxt = vue.ref("");
27
- vue.watchEffect(() => {
28
- const value = props.value;
27
+ vue.watch(() => props.value, (val) => {
28
+ const value = val;
29
29
  const name = props.name;
30
30
  dicValueTxt.value = getDicTextByValue(name, value);
31
+ }, {
32
+ immediate: true
31
33
  });
32
34
  return () => vue.createVNode(vue.Fragment, null, [dicValueTxt.value]);
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DicReplace.cjs","sources":["../../../src/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport { defineComponent, ref, watchEffect } from \"vue\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./replace.worker?worker&inline\";\nimport { useDataDicStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicReplace\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String as any,\n default: \"\"\n }\n },\n setup(props) {\n const { getDicTextByValue } = useDataDicStore();\n //TODO 使用webworker存在一定的问题\n //const workerStatus = ref(true);\n const dicValueTxt = ref<any>(\"\");\n // const repWorkerPool: any = inject(\"repWorkerPool\");\n // // 获取worker\n // const workerInstance: any = repWorkerPool.getWorker();\n /**\n * web worker 启动失败\n */\n // workerInstance.onerror = () => {\n // workerStatus.value = false;\n // };\n /**\n * 监听web worker发送的数据\n * @param e\n */\n // workerInstance.onmessage = (e: any) => {\n // // 赋值给下拉选择数据变量\n // dicValueTxt.value = e.data;\n // };\n watchEffect(() => {\n const value = props.value;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n // workerInstance.postMessage({ list: JSON.stringify(list), name, value });\n });\n\n return () => <>{dicValueTxt.value}</>;\n }\n});\n"],"names":["defineComponent","name","props","type","String","default","value","setup","getDicTextByValue","useDataDicStore","dicValueTxt","ref","watchEffect","_createVNode","_Fragment"],"mappings":";;;;;;;AAWA,iCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,YAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,iBAAAA;AAAAA,QAAsBC,qBAAgB,EAAA,CAAA;AAG9C,IAAMC,MAAAA,WAAAA,GAAcC,QAAS,EAAE,CAAA,CAAA;AAkB/BC,IAAAA,eAAAA,CAAY,MAAM;AAChB,MAAA,MAAMN,QAAQJ,KAAMI,CAAAA,KAAAA,CAAAA;AACpB,MAAA,MAAML,OAAOC,KAAMD,CAAAA,IAAAA,CAAAA;AACnBS,MAAYJ,WAAAA,CAAAA,KAAAA,GAAQE,iBAAkBP,CAAAA,IAAAA,EAAMK,KAAK,CAAA,CAAA;AAAA,KAElD,CAAA,CAAA;AAED,IAAA,OAAO,MAAAO,eAAAC,CAAAA,YAAAA,SAASJ,WAAAA,CAAYJ,KAAK,CAAI,CAAA,CAAA;AAAA,GACvC;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"DicReplace.cjs","sources":["../../../src/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport { defineComponent, ref, watch } from \"vue\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./replace.worker?worker&inline\";\nimport { useDataDicStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicReplace\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String as any,\n default: \"\"\n }\n },\n setup(props) {\n const { getDicTextByValue } = useDataDicStore();\n //TODO 使用webworker存在一定的问题\n //const workerStatus = ref(true);\n const dicValueTxt = ref<any>(\"\");\n // const repWorkerPool: any = inject(\"repWorkerPool\");\n // // 获取worker\n // const workerInstance: any = repWorkerPool.getWorker();\n /**\n * web worker 启动失败\n */\n // workerInstance.onerror = () => {\n // workerStatus.value = false;\n // };\n /**\n * 监听web worker发送的数据\n * @param e\n */\n // workerInstance.onmessage = (e: any) => {\n // // 赋值给下拉选择数据变量\n // dicValueTxt.value = e.data;\n // };\n\n watch(\n () => props.value,\n (val: any) => {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n },\n {\n immediate: true\n }\n );\n\n return () => <>{dicValueTxt.value}</>;\n }\n});\n"],"names":["defineComponent","name","props","type","String","default","value","setup","getDicTextByValue","useDataDicStore","dicValueTxt","ref","watch","val","immediate","_createVNode","_Fragment"],"mappings":";;;;;;;AAWA,iCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,YAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,iBAAAA;AAAAA,QAAsBC,qBAAgB,EAAA,CAAA;AAG9C,IAAMC,MAAAA,WAAAA,GAAcC,QAAS,EAAE,CAAA,CAAA;AAmB/BC,IACEA,SAAA,CAAA,MAAMV,KAAMI,CAAAA,KAAAA,EACXO,CAAa,GAAA,KAAA;AACZ,MAAA,MAAMP,KAAQO,GAAAA,GAAAA,CAAAA;AACd,MAAA,MAAMZ,OAAOC,KAAMD,CAAAA,IAAAA,CAAAA;AACnBS,MAAYJ,WAAAA,CAAAA,KAAAA,GAAQE,iBAAkBP,CAAAA,IAAAA,EAAMK,KAAK,CAAA,CAAA;AAAA,KAEnD,EAAA;AAAA,MACEQ,SAAW,EAAA,IAAA;AAAA,KAEf,CAAA,CAAA;AAEA,IAAA,OAAO,MAAAC,eAAAC,CAAAA,YAAAA,SAASN,WAAAA,CAAYJ,KAAK,CAAI,CAAA,CAAA;AAAA,GACvC;AACF,CAAC,CAAA;;;;"}
@@ -44,6 +44,7 @@ declare const _default: import("vue").DefineComponent<{}, {
44
44
  useWatch: () => WatchStopHandle;
45
45
  formRef: import("vue").Ref<null>;
46
46
  formHeight: import("vue").Ref<number>;
47
+ stop: () => void;
47
48
  calcHeight: () => void;
48
49
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "refresh"[], "refresh", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
49
50
  onRefresh?: ((...args: any[]) => any) | undefined;
@@ -71,15 +71,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
71
  vue.watch(
72
72
  () => formHeight.value,
73
73
  () => {
74
- calcHeight();
75
- },
76
- { immediate: true }
74
+ vue.nextTick(() => {
75
+ calcHeight();
76
+ });
77
+ }
77
78
  );
78
- vue.watchEffect(() => {
79
+ const { stop } = core.useResizeObserver(document.body, () => {
79
80
  calcHeight();
80
81
  });
81
- core.useResizeObserver(document.body, () => {
82
- calcHeight();
82
+ vue.onUnmounted(() => {
83
+ stop();
83
84
  });
84
85
  function calcHeight() {
85
86
  show.value = false;
@@ -1 +1 @@
1
- {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\nuseResizeObserver(document.body, () => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","watchEffect","useResizeObserver","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\n// 在表格高度动态变化的时候会被监听到\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n nextTick(() => {\n calcHeight();\n });\n }\n);\n\nconst { stop } = useResizeObserver(document.body, () => {\n calcHeight();\n});\n\nonUnmounted(() => {\n stop();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","nextTick","useResizeObserver"],"mappings":"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"}
@@ -29,13 +29,15 @@ var Menu = /* @__PURE__ */ vue.defineComponent({
29
29
  const {
30
30
  getCollapsed
31
31
  } = pinia.storeToRefs(settingsStore);
32
- vue.watchEffect(() => {
32
+ vue.watch(() => selectedMenuKeys.value, (newValue) => {
33
33
  if (getCollapsed.value) {
34
34
  return;
35
35
  }
36
- const activatedUrl = selectedMenuKeys.value.length > 0 ? selectedMenuKeys.value[0] : "";
36
+ const activatedUrl = newValue.length > 0 ? newValue[0] : "";
37
37
  const parentUrls = getParentUrls(list.value, activatedUrl);
38
38
  openMenusKeys.value = parentUrls || [];
39
+ }, {
40
+ deep: true
39
41
  });
40
42
  function getParentUrls(menus, url) {
41
43
  for (let i = 0; i < menus.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.cjs","sources":["../../../src/menu/Menu.tsx"],"sourcesContent":["import { defineComponent, h, inject, resolveComponent, watchEffect } from \"vue\";\nimport { useRouter, useRoute } from \"vue-router\";\n\nimport { storeToRefs } from \"pinia\";\n\nimport { useMenuStore, useSettingsStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DMenu\",\n setup() {\n const router = useRouter();\n const route = useRoute();\n const { componentName, prop: menuProp } = inject(\"menuIcon\") as any;\n // 菜单store\n const menuStore = useMenuStore();\n const { list, openMenusKeys, selectedMenuKeys } = storeToRefs(menuStore);\n // 设置store\n const settingsStore = useSettingsStore();\n const { getCollapsed } = storeToRefs(settingsStore) as any;\n\n watchEffect(() => {\n if (getCollapsed.value) {\n // 如果菜单是收缩的状态,则不匹配激活的菜单\n // 否则 在切换标签的时候,收缩菜单会自动激活悬浮的动作\n return;\n }\n // 会被触发两次\n // 当前激活的url\n const activatedUrl =\n selectedMenuKeys.value.length > 0 ? selectedMenuKeys.value[0] : \"\";\n const parentUrls = getParentUrls(list.value, activatedUrl);\n openMenusKeys.value = parentUrls || [];\n });\n\n function getParentUrls(menus: any, url: any) {\n for (let i = 0; i < menus.length; i++) {\n if (menus[i].url === url || url.startsWith(menus[i].url)) {\n // 如果当前菜单项的url与传入的url相等,说明找到了当前菜单项\n return [menus[i].url];\n } else if (menus[i].children && menus[i].children.length > 0) {\n // 如果当前菜单项有子菜单,则递归查找子菜单\n const parentUrls: any = getParentUrls(menus[i].children, url);\n if (parentUrls) {\n // 如果子菜单中存在当前url,则将当前菜单项的url添加到返回结果中\n return [menus[i].url, ...parentUrls];\n }\n }\n }\n return null;\n }\n\n /**\n * 监听菜单点击事件\n * @param item\n * @param key\n * @param keyPath\n */\n const onClick = ({ key, keyPath }: any) => {\n openMenusKeys.value = keyPath;\n selectedMenuKeys.value = [key];\n // 判断目标路由和当前路由是否相等\n // 不相等的时候再跳转\n route.path !== key\n ? router.push(key).then((r) => (r ? console.warn(r) : null))\n : null;\n };\n\n // 渲染菜单\n const renderMenu = (menu: any) => {\n return (\n <>\n <a-menu-item key={menu.url}>\n {{\n icon: () => renderIcon(menu),\n default: () => menu.title\n }}\n </a-menu-item>\n </>\n );\n };\n\n const iconClass = [\"anticon\", \"anticon-menu\", \"ant-menu-item-icon\"];\n // 渲染图标\n const renderIcon = (menu: any) => {\n return (\n <>\n {!menu.icon ? (\n <div v-show={getCollapsed.value} class={iconClass}>\n {menu.title.substring(0, 1)}\n </div>\n ) : (\n renderIconSwitch(menu.icon)\n )}\n </>\n );\n };\n\n const renderIconSwitch = (icon: any) => {\n if (componentName === \"nativeHtml\") {\n return <span v-html={icon}></span>;\n } else {\n return h(resolveComponent(componentName), {\n [`${menuProp}`]: icon\n });\n }\n };\n\n // 递归渲染子菜单\n const renderSub = (menu: any) => {\n return (\n <>\n <a-sub-menu key={menu.url}>\n {{\n title: () => menu.title,\n icon: () => renderIcon(menu),\n default: () => {\n return menu.children.map(\n (item: any) =>\n !item.children || item.children.length === 0\n ? renderSubMenu(item)\n : renderSub(item) // 递归调用\n );\n }\n }}\n </a-sub-menu>\n </>\n );\n };\n\n // 递归下的子菜单\n const renderSubMenu = (menu: any) => {\n return (\n <>\n <a-menu-item key={menu.url}>\n {{\n default: () => menu.title\n }}\n </a-menu-item>\n </>\n );\n };\n\n return () => (\n <>\n <a-menu\n mode=\"inline\"\n theme=\"dark\"\n v-model:openKeys={openMenusKeys.value}\n v-model:selectedKeys={selectedMenuKeys.value}\n onClick={onClick}\n >\n {list.value.map((menu: any) => {\n if (!menu.children || menu.children?.length === 0) {\n // 没有children属性或者children的长度等于0\n return renderMenu(menu);\n } else {\n return renderSub(menu);\n }\n })}\n </a-menu>\n </>\n );\n }\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","setup","router","useRouter","route","useRoute","componentName","prop","menuProp","inject","menuStore","useMenuStore","list","openMenusKeys","selectedMenuKeys","storeToRefs","settingsStore","useSettingsStore","getCollapsed","watchEffect","value","activatedUrl","length","parentUrls","getParentUrls","menus","url","i","startsWith","children","onClick","key","keyPath","path","push","then","r","console","warn","renderMenu","menu","_createVNode","_Fragment","_resolveComponent","icon","renderIcon","default","title","iconClass","_withDirectives","substring","_vShow","renderIconSwitch","h","resolveComponent","renderSub","map","item","renderSubMenu","_slot","$event"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.cjs","sources":["../../../src/menu/Menu.tsx"],"sourcesContent":["import { defineComponent, h, inject, resolveComponent, watch } from \"vue\";\nimport { useRouter, useRoute } from \"vue-router\";\n\nimport { storeToRefs } from \"pinia\";\n\nimport { useMenuStore, useSettingsStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DMenu\",\n setup() {\n const router = useRouter();\n const route = useRoute();\n const { componentName, prop: menuProp } = inject(\"menuIcon\") as any;\n // 菜单store\n const menuStore = useMenuStore();\n const { list, openMenusKeys, selectedMenuKeys } = storeToRefs(menuStore);\n // 设置store\n const settingsStore = useSettingsStore();\n const { getCollapsed } = storeToRefs(settingsStore) as any;\n\n // watchEffect(() => {\n // if (getCollapsed.value) {\n // // 如果菜单是收缩的状态,则不匹配激活的菜单\n // // 否则 在切换标签的时候,收缩菜单会自动激活悬浮的动作\n // return;\n // }\n // // 会被触发两次\n // // 当前激活的url\n // const activatedUrl =\n // selectedMenuKeys.value.length > 0 ? selectedMenuKeys.value[0] : \"\";\n // const parentUrls = getParentUrls(list.value, activatedUrl);\n // openMenusKeys.value = parentUrls || [];\n // });\n\n watch(\n () => selectedMenuKeys.value,\n (newValue: any) => {\n if (getCollapsed.value) {\n // 如果菜单是收缩的状态,则不匹配激活的菜单\n // 否则 在切换标签的时候,收缩菜单会自动激活悬浮的动作\n return;\n }\n const activatedUrl = newValue.length > 0 ? newValue[0] : \"\";\n const parentUrls = getParentUrls(list.value, activatedUrl);\n openMenusKeys.value = parentUrls || [];\n },\n {\n deep: true\n }\n );\n\n function getParentUrls(menus: any, url: any) {\n for (let i = 0; i < menus.length; i++) {\n if (menus[i].url === url || url.startsWith(menus[i].url)) {\n // 如果当前菜单项的url与传入的url相等,说明找到了当前菜单项\n return [menus[i].url];\n } else if (menus[i].children && menus[i].children.length > 0) {\n // 如果当前菜单项有子菜单,则递归查找子菜单\n const parentUrls: any = getParentUrls(menus[i].children, url);\n if (parentUrls) {\n // 如果子菜单中存在当前url,则将当前菜单项的url添加到返回结果中\n return [menus[i].url, ...parentUrls];\n }\n }\n }\n return null;\n }\n\n /**\n * 监听菜单点击事件\n * @param item\n * @param key\n * @param keyPath\n */\n const onClick = ({ key, keyPath }: any) => {\n openMenusKeys.value = keyPath;\n selectedMenuKeys.value = [key];\n // 判断目标路由和当前路由是否相等\n // 不相等的时候再跳转\n route.path !== key\n ? router.push(key).then((r) => (r ? console.warn(r) : null))\n : null;\n };\n\n // 渲染菜单\n const renderMenu = (menu: any) => {\n return (\n <>\n <a-menu-item key={menu.url}>\n {{\n icon: () => renderIcon(menu),\n default: () => menu.title\n }}\n </a-menu-item>\n </>\n );\n };\n\n const iconClass = [\"anticon\", \"anticon-menu\", \"ant-menu-item-icon\"];\n // 渲染图标\n const renderIcon = (menu: any) => {\n return (\n <>\n {!menu.icon ? (\n <div v-show={getCollapsed.value} class={iconClass}>\n {menu.title.substring(0, 1)}\n </div>\n ) : (\n renderIconSwitch(menu.icon)\n )}\n </>\n );\n };\n\n const renderIconSwitch = (icon: any) => {\n if (componentName === \"nativeHtml\") {\n return <span v-html={icon}></span>;\n } else {\n return h(resolveComponent(componentName), {\n [`${menuProp}`]: icon\n });\n }\n };\n\n // 递归渲染子菜单\n const renderSub = (menu: any) => {\n return (\n <>\n <a-sub-menu key={menu.url}>\n {{\n title: () => menu.title,\n icon: () => renderIcon(menu),\n default: () => {\n return menu.children.map(\n (item: any) =>\n !item.children || item.children.length === 0\n ? renderSubMenu(item)\n : renderSub(item) // 递归调用\n );\n }\n }}\n </a-sub-menu>\n </>\n );\n };\n\n // 递归下的子菜单\n const renderSubMenu = (menu: any) => {\n return (\n <>\n <a-menu-item key={menu.url}>\n {{\n default: () => menu.title\n }}\n </a-menu-item>\n </>\n );\n };\n\n return () => (\n <>\n <a-menu\n mode=\"inline\"\n theme=\"dark\"\n v-model:openKeys={openMenusKeys.value}\n v-model:selectedKeys={selectedMenuKeys.value}\n onClick={onClick}\n >\n {list.value.map((menu: any) => {\n if (!menu.children || menu.children?.length === 0) {\n // 没有children属性或者children的长度等于0\n return renderMenu(menu);\n } else {\n return renderSub(menu);\n }\n })}\n </a-menu>\n </>\n );\n }\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","setup","router","useRouter","route","useRoute","componentName","prop","menuProp","inject","menuStore","useMenuStore","list","openMenusKeys","selectedMenuKeys","storeToRefs","settingsStore","useSettingsStore","getCollapsed","watch","value","newValue","activatedUrl","length","parentUrls","getParentUrls","deep","menus","url","i","startsWith","children","onClick","key","keyPath","path","push","then","r","console","warn","renderMenu","menu","_createVNode","_Fragment","_resolveComponent","icon","renderIcon","default","title","iconClass","_withDirectives","substring","_vShow","renderIconSwitch","h","resolveComponent","renderSub","map","item","renderSubMenu","_slot","$event"],"mappings":"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"}
@@ -139,19 +139,26 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
139
139
  console.warn(e);
140
140
  }
141
141
  };
142
+ let playTimeout = null;
142
143
  vue.watch(() => props.height, (val) => {
143
144
  if (val !== 0) {
144
145
  vue.nextTick(() => {
145
146
  if (isInit.value) {
146
147
  playHeight(props.height);
147
148
  } else {
148
- setTimeout(() => {
149
+ playTimeout = setTimeout(() => {
149
150
  playHeight(props.height);
150
151
  }, 100);
151
152
  }
152
153
  });
153
154
  }
154
155
  });
156
+ vue.onBeforeUnmount(() => {
157
+ playTimeout && clearTimeout(playTimeout);
158
+ });
159
+ vue.onDeactivated(() => {
160
+ playTimeout && clearTimeout(playTimeout);
161
+ });
155
162
  const onPageChange2 = (page, size) => {
156
163
  onChange ? onChange({
157
164
  page: page === 0 ? 1 : page,
@@ -217,6 +224,8 @@ const DXTable = /* @__PURE__ */ vue.defineComponent({
217
224
  } else {
218
225
  rowSelection2.value = void 0;
219
226
  }
227
+ }, {
228
+ immediate: true
220
229
  });
221
230
  return rowSelection2;
222
231
  }
@@ -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: {\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 inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\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 //TODO 后续改进\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 const isInit = ref(false);\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 const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n isInit.value = true;\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\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 // if (isInit.value) {\n // playHeight(props.height);\n // } else {\n // // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n // setTimeout(() => {\n // playHeight(props.height);\n // // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n // }, 100);\n // }\n // });\n // }\n // });\n watch(\n () => props.height,\n (val) => {\n if (val !== 0) {\n nextTick(() => {\n if (isInit.value) {\n playHeight(props.height);\n } else {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n setTimeout(() => {\n playHeight(props.height);\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n }, 100);\n }\n });\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 watch(\n () => props.config.selection,\n (val) => {\n localSelection = val 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\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 function onClickSelectedBg(event: any) {\n const { clickSelectedClassName } = props.config;\n if (!clickSelectedClassName) return;\n const curEl = event.target;\n // 找到父元素\n const parentElement = curEl.parentNode;\n // 判断父元素是否有某个 class\n if (!parentElement.classList.contains(clickSelectedClassName)) {\n // 如果父元素没有指定的 class,则添加 class\n parentElement.classList.add(clickSelectedClassName);\n } else {\n // 如果父元素已经有指定的 class,则移除 class\n parentElement.classList.remove(clickSelectedClassName);\n }\n }\n\n return {\n onClick: (event: any) => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理背景激活逻辑\n onClickSelectedBg(event);\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 };\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}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\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","defineComponent","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","isInit","antTableBodyRef","playHeight","tableEl","value","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","watch","val","nextTick","setTimeout","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","fixed","columnTitle","columnWidth","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","onClickSelectedBg","event","clickSelectedClassName","curEl","target","parentElement","parentNode","classList","contains","add","remove","clearTimeout","onDblclick","actionStop","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","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 onBeforeUnmount,\n onDeactivated,\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 inheritAttrs: false,\n props: tableProps(),\n // emits: { \"update:keys\": (keys: []) => void }\n // TODO 需要做调整\n emits: [\"update:keys\"],\n setup: function (props, { emit, slots, attrs }) {\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 //TODO 后续改进\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 const isInit = ref(false);\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 const headerHeight = useEleHeight(\n tableEl.getElementsByClassName(\"ant-table-header\")[0]\n );\n isInit.value = true;\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\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 // if (isInit.value) {\n // playHeight(props.height);\n // } else {\n // // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n // setTimeout(() => {\n // playHeight(props.height);\n // // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n // }, 100);\n // }\n // });\n // }\n // });\n\n let playTimeout: any = null;\n watch(\n () => props.height,\n (val) => {\n if (val !== 0) {\n nextTick(() => {\n if (isInit.value) {\n playHeight(props.height);\n } else {\n // 必须在组件挂载成功后 执行计算高度 否则无法正确获取元素的高度\n playTimeout = setTimeout(() => {\n playHeight(props.height);\n // 如果表格头有很多列的情况下,获取到的头部高度不对,需要延迟执行获取高度方法\n }, 100);\n }\n });\n }\n }\n );\n\n onBeforeUnmount(() => {\n playTimeout && clearTimeout(playTimeout);\n });\n onDeactivated(() => {\n playTimeout && clearTimeout(playTimeout);\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 watch(\n () => props.config.selection,\n (val) => {\n localSelection = val 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 immediate: true\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 function onClickSelectedBg(event: any) {\n const { clickSelectedClassName } = props.config;\n if (!clickSelectedClassName) return;\n const curEl = event.target;\n // 找到父元素\n const parentElement = curEl.parentNode;\n // 判断父元素是否有某个 class\n if (!parentElement.classList.contains(clickSelectedClassName)) {\n // 如果父元素没有指定的 class,则添加 class\n parentElement.classList.add(clickSelectedClassName);\n } else {\n // 如果父元素已经有指定的 class,则移除 class\n parentElement.classList.remove(clickSelectedClassName);\n }\n }\n\n return {\n onClick: (event: any) => {\n clearTimeout(clickTimeout);\n clickTimeout = setTimeout(() => {\n // 处理背景激活逻辑\n onClickSelectedBg(event);\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 };\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}>\n <Table\n ref={tableRef}\n row-key={props.rowKey}\n bordered={props.config.bordered}\n {...attrs}\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","defineComponent","name","inheritAttrs","props","emits","setup","emit","slots","attrs","paginationConfig","reactive","defaultPageSize","hideOnSinglePage","pageSizeOptions","responsive","showQuickJumper","showLessItems","showTotal","total","selectedRowKeys","ref","dataSource","computed","columns","paginationState","expandedKeys","pageOption","sizeOptions","defaultSize","tableRef","tableRootRef","tableHeight","onPageChange","onRowClassName","useTable","rowClassName","keepSelected","onChange","selection","isInit","antTableBodyRef","playHeight","tableEl","value","$el","headerHeight","useEleHeight","getElementsByClassName","paginationHeight","paginationEl","style","e","console","warn","playTimeout","watch","val","nextTick","setTimeout","onBeforeUnmount","clearTimeout","onDeactivated","page","size","scrollTop","record","index","undefined","rowSelection","useRowSelection","getCheckboxProps","localSelection","onSelect","selected","concat","filter","key","onSelectAll","selectedRows","changeRows","_ids","map","includes","fixed","columnTitle","columnWidth","immediate","customRow","useCustomRow","clickTimeout","click","dbClick","id","onClick","checkEnable","disabled","haveState","some","push","onClickSelectedBg","event","clickSelectedClassName","curEl","target","parentElement","parentNode","classList","contains","add","remove","onDblclick","actionStop","stopPropagation","expandRowByClick","tableSlots","expandedRowRender","_createVNode","_Fragment","summary","onExpand","expanded","Table","_mergeProps","bordered","scrollToFirstRowOnChange","x","y","$event","bodyCell","column","slot","Space","action","_withDirectives","Pagination","current","pageSize","_vShow"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, watchEffect, createVNode, mergeProps } from 'vue';
1
+ import { defineComponent, ref, watch, createVNode, mergeProps } from 'vue';
2
2
  import { RangePicker as RangePicker$1 } from 'ant-design-vue';
3
3
 
4
4
  var RangePicker = /* @__PURE__ */ defineComponent({
@@ -37,26 +37,23 @@ var RangePicker = /* @__PURE__ */ defineComponent({
37
37
  }
38
38
  emit("update:value", internalModel.value);
39
39
  };
40
- watchEffect(() => {
41
- const value = props.value;
42
- props.field.forEach((key, index) => {
43
- if (value[key] === "") {
44
- dates.value && (dates.value[index] = "");
45
- } else {
46
- dates.value && (dates.value[index] = value[key]);
47
- }
48
- });
40
+ const watchExpressions = props.field.map((key) => () => {
41
+ var _a;
42
+ return (_a = props.value) == null ? void 0 : _a[key];
49
43
  });
50
- watchEffect(() => {
51
- const value = props.value;
52
- props.field.forEach((key, index) => {
53
- if (value[key] === "") {
54
- dates.value && (dates.value[index] = "");
55
- } else {
56
- dates.value && (dates.value[index] = value[key]);
57
- }
44
+ const watchHandler = (newValues) => {
45
+ const isClear = props.field.every((key, index) => {
46
+ return newValues[index] === "" || newValues[index] === void 0;
58
47
  });
59
- });
48
+ if (isClear) {
49
+ dates.value = [];
50
+ } else {
51
+ props.field.forEach((key, index) => {
52
+ dates.value && (dates.value[index] = newValues[index]);
53
+ });
54
+ }
55
+ };
56
+ watch(watchExpressions, watchHandler);
60
57
  return () => createVNode("div", null, [createVNode(RangePicker$1, mergeProps(attrs, {
61
58
  "value": dates.value,
62
59
  "onUpdate:value": ($event) => dates.value = $event,
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watch } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n //循环字段\n // eslint-disable-next-line vue/no-setup-props-destructure\n const watchExpressions = props.field.map((key) => () => {\n return props.value?.[key];\n });\n\n const watchHandler = (newValues: any) => {\n // 判断是否被置空只有这两个字段同时为空,才是表明被置空\n const isClear = props.field.every((key, index) => {\n return newValues[index] === \"\" || newValues[index] === undefined;\n });\n if (isClear) {\n dates.value = [];\n } else {\n props.field.forEach((key, index) => {\n dates.value && (dates.value[index] = newValues[index]);\n });\n }\n };\n //监听多个字段变化\n watch(watchExpressions, watchHandler);\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchExpressions","map","watchHandler","newValues","isClear","every","undefined","watch","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, watchEffect, createVNode, Fragment } from 'vue';
1
+ import { defineComponent, ref, watch, createVNode, Fragment } from 'vue';
2
2
  import { useDataDicStore } from '@ditari/store';
3
3
 
4
4
  var DicReplace = /* @__PURE__ */ defineComponent({
@@ -20,10 +20,12 @@ var DicReplace = /* @__PURE__ */ defineComponent({
20
20
  getDicTextByValue
21
21
  } = useDataDicStore();
22
22
  const dicValueTxt = ref("");
23
- watchEffect(() => {
24
- const value = props.value;
23
+ watch(() => props.value, (val) => {
24
+ const value = val;
25
25
  const name = props.name;
26
26
  dicValueTxt.value = getDicTextByValue(name, value);
27
+ }, {
28
+ immediate: true
27
29
  });
28
30
  return () => createVNode(Fragment, null, [dicValueTxt.value]);
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DicReplace.mjs","sources":["../../../src/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport { defineComponent, ref, watchEffect } from \"vue\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./replace.worker?worker&inline\";\nimport { useDataDicStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicReplace\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String as any,\n default: \"\"\n }\n },\n setup(props) {\n const { getDicTextByValue } = useDataDicStore();\n //TODO 使用webworker存在一定的问题\n //const workerStatus = ref(true);\n const dicValueTxt = ref<any>(\"\");\n // const repWorkerPool: any = inject(\"repWorkerPool\");\n // // 获取worker\n // const workerInstance: any = repWorkerPool.getWorker();\n /**\n * web worker 启动失败\n */\n // workerInstance.onerror = () => {\n // workerStatus.value = false;\n // };\n /**\n * 监听web worker发送的数据\n * @param e\n */\n // workerInstance.onmessage = (e: any) => {\n // // 赋值给下拉选择数据变量\n // dicValueTxt.value = e.data;\n // };\n watchEffect(() => {\n const value = props.value;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n // workerInstance.postMessage({ list: JSON.stringify(list), name, value });\n });\n\n return () => <>{dicValueTxt.value}</>;\n }\n});\n"],"names":["name","props","type","String","default","value","setup","getDicTextByValue","useDataDicStore","dicValueTxt","ref","watchEffect","_createVNode","_Fragment"],"mappings":";;;AAWA,iCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,YAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,iBAAAA;AAAAA,QAAsBC,eAAgB,EAAA,CAAA;AAG9C,IAAMC,MAAAA,WAAAA,GAAcC,IAAS,EAAE,CAAA,CAAA;AAkB/BC,IAAAA,WAAAA,CAAY,MAAM;AAChB,MAAA,MAAMN,QAAQJ,KAAMI,CAAAA,KAAAA,CAAAA;AACpB,MAAA,MAAML,OAAOC,KAAMD,CAAAA,IAAAA,CAAAA;AACnBS,MAAYJ,WAAAA,CAAAA,KAAAA,GAAQE,iBAAkBP,CAAAA,IAAAA,EAAMK,KAAK,CAAA,CAAA;AAAA,KAElD,CAAA,CAAA;AAED,IAAA,OAAO,MAAAO,WAAAC,CAAAA,QAAAA,SAASJ,WAAAA,CAAYJ,KAAK,CAAI,CAAA,CAAA;AAAA,GACvC;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"DicReplace.mjs","sources":["../../../src/dic/DicReplace.tsx"],"sourcesContent":["/**\n * 字典替换\n * 根据字典名字及对应的value替换成中文或者人能看懂的文字\n * @author 余春林\n */\nimport { defineComponent, ref, watch } from \"vue\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n// import DicWorker from \"./replace.worker?worker&inline\";\nimport { useDataDicStore } from \"@ditari/store\";\n\nexport default defineComponent({\n name: \"DicReplace\",\n props: {\n // 字典名称\n name: {\n type: String,\n default: \"\"\n },\n // 值\n value: {\n type: String as any,\n default: \"\"\n }\n },\n setup(props) {\n const { getDicTextByValue } = useDataDicStore();\n //TODO 使用webworker存在一定的问题\n //const workerStatus = ref(true);\n const dicValueTxt = ref<any>(\"\");\n // const repWorkerPool: any = inject(\"repWorkerPool\");\n // // 获取worker\n // const workerInstance: any = repWorkerPool.getWorker();\n /**\n * web worker 启动失败\n */\n // workerInstance.onerror = () => {\n // workerStatus.value = false;\n // };\n /**\n * 监听web worker发送的数据\n * @param e\n */\n // workerInstance.onmessage = (e: any) => {\n // // 赋值给下拉选择数据变量\n // dicValueTxt.value = e.data;\n // };\n\n watch(\n () => props.value,\n (val: any) => {\n const value = val;\n const name = props.name;\n dicValueTxt.value = getDicTextByValue(name, value);\n },\n {\n immediate: true\n }\n );\n\n return () => <>{dicValueTxt.value}</>;\n }\n});\n"],"names":["name","props","type","String","default","value","setup","getDicTextByValue","useDataDicStore","dicValueTxt","ref","watch","val","immediate","_createVNode","_Fragment"],"mappings":";;;AAWA,iCAA+B,eAAA,CAAA;AAAA,EAC7BA,IAAM,EAAA,YAAA;AAAA,EACNC,KAAO,EAAA;AAAA;AAAA,IAELD,IAAM,EAAA;AAAA,MACJE,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA;AAAA,IAEAC,KAAO,EAAA;AAAA,MACLH,IAAMC,EAAAA,MAAAA;AAAAA,MACNC,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAE,MAAML,KAAO,EAAA;AACX,IAAM,MAAA;AAAA,MAAEM,iBAAAA;AAAAA,QAAsBC,eAAgB,EAAA,CAAA;AAG9C,IAAMC,MAAAA,WAAAA,GAAcC,IAAS,EAAE,CAAA,CAAA;AAmB/BC,IACE,KAAA,CAAA,MAAMV,KAAMI,CAAAA,KAAAA,EACXO,CAAa,GAAA,KAAA;AACZ,MAAA,MAAMP,KAAQO,GAAAA,GAAAA,CAAAA;AACd,MAAA,MAAMZ,OAAOC,KAAMD,CAAAA,IAAAA,CAAAA;AACnBS,MAAYJ,WAAAA,CAAAA,KAAAA,GAAQE,iBAAkBP,CAAAA,IAAAA,EAAMK,KAAK,CAAA,CAAA;AAAA,KAEnD,EAAA;AAAA,MACEQ,SAAW,EAAA,IAAA;AAAA,KAEf,CAAA,CAAA;AAEA,IAAA,OAAO,MAAAC,WAAAC,CAAAA,QAAAA,SAASN,WAAAA,CAAYJ,KAAK,CAAI,CAAA,CAAA;AAAA,GACvC;AACF,CAAC,CAAA;;;;"}