giime 0.7.16 → 0.7.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.
Files changed (42) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/src/composite/searchForm/SearchForm.vue.d.ts +4 -1
  3. package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
  4. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +6 -1
  5. package/es/components/src/composite/searchForm/SearchForm.vue2.mjs.map +1 -1
  6. package/es/components/src/composite/searchForm/index.d.ts +12 -3
  7. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
  8. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs +3 -1
  9. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs.map +1 -1
  10. package/es/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
  11. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
  12. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs +7 -0
  13. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs.map +1 -1
  14. package/es/giime/version.d.ts +1 -1
  15. package/es/giime/version.mjs +1 -1
  16. package/es/giime/version.mjs.map +1 -1
  17. package/es/hooks/base/useDictionary/index.mjs +4 -2
  18. package/es/hooks/base/useDictionary/index.mjs.map +1 -1
  19. package/es/hooks/store/useCustomSettings/index.mjs +2 -1
  20. package/es/hooks/store/useCustomSettings/index.mjs.map +1 -1
  21. package/es/index.css +1 -1
  22. package/lib/components/src/composite/searchForm/SearchForm.vue.d.ts +4 -1
  23. package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
  24. package/lib/components/src/composite/searchForm/SearchForm.vue2.js +6 -1
  25. package/lib/components/src/composite/searchForm/SearchForm.vue2.js.map +1 -1
  26. package/lib/components/src/composite/searchForm/index.d.ts +12 -3
  27. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
  28. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +3 -1
  29. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
  30. package/lib/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
  31. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
  32. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js +7 -0
  33. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js.map +1 -1
  34. package/lib/giime/version.d.ts +1 -1
  35. package/lib/giime/version.js +1 -1
  36. package/lib/giime/version.js.map +1 -1
  37. package/lib/hooks/base/useDictionary/index.js +3 -1
  38. package/lib/hooks/base/useDictionary/index.js.map +1 -1
  39. package/lib/hooks/store/useCustomSettings/index.js +2 -1
  40. package/lib/hooks/store/useCustomSettings/index.js.map +1 -1
  41. package/lib/index.css +1 -1
  42. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -962,7 +962,7 @@ video {
962
962
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
963
963
  display: none;
964
964
  }
965
- [data-v-488ca110] .gmSearchForm .el-form-item {
965
+ [data-v-d3111183] .gmSearchForm .el-form-item {
966
966
  margin-right: 0;
967
967
  margin-bottom: 4px;
968
968
  }
@@ -12,7 +12,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
12
12
  type: BooleanConstructor;
13
13
  default: boolean;
14
14
  };
15
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ }, {
16
+ handleQuery: (...args: any[]) => void;
17
+ resetQuery: () => void;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
19
  "update:showSearch": (showSearch: boolean) => void;
17
20
  "update:queryParams": (queryParams: Record<string, any>) => void;
18
21
  handleQuery: (...args: any[]) => void;
@@ -2,7 +2,7 @@ import _sfc_main from './SearchForm.vue2.mjs';
2
2
  import './SearchForm.vue3.mjs';
3
3
  import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-488ca110"]]);
5
+ var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d3111183"]]);
6
6
 
7
7
  export { SearchForm as default };
8
8
  //# sourceMappingURL=SearchForm.vue.mjs.map
@@ -18,7 +18,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  "queryParamsModifiers": {}
19
19
  }),
20
20
  emits: /* @__PURE__ */ mergeModels(searchFormEmits, ["update:showSearch", "update:queryParams"]),
21
- setup(__props, { emit: __emit }) {
21
+ setup(__props, { expose: __expose, emit: __emit }) {
22
22
  const tableCtx = inject(TableCtxKey, {});
23
23
  const showSearch = useModel(__props, "showSearch");
24
24
  const queryParams = useModel(__props, "queryParams");
@@ -69,6 +69,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
69
69
  tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
70
70
  tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
71
71
  };
72
+ __expose({
73
+ // queryRef,
74
+ handleQuery,
75
+ resetQuery
76
+ });
72
77
  return (_ctx, _cache) => {
73
78
  const _component_gm_button = resolveComponent("gm-button");
74
79
  const _component_gm_icon = resolveComponent("gm-icon");
@@ -1 +1 @@
1
- {"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\n </template>\n <slot />\n <gm-form-item :style=\"searchButtonItemStyle\">\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\" :class=\"showMore ? 'gm-rotate-180' : ''\"><ArrowDown /></gm-icon>\n </gm-button>\n </div>\n </gm-form-item>\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\n </div>\n </div>\n </gm-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, provide, ref } from 'vue';\nimport { useElementSize } from '@vueuse/core';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\nimport type { CSSProperties } from 'vue';\nimport type { FormInstance } from '../../base/form';\ndefineOptions({\n name: 'GmSearchForm',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\n\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\n\nprovide(queryParamsKey, queryParams);\n\nconst props = defineProps(searchFormProps);\nconst emit = defineEmits(searchFormEmits);\n\nconst queryDivRef = ref<HTMLDivElement>();\nconst visibilityMarkRef = ref<HTMLDivElement>();\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\n\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\n// 列个数\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\nconst showMore = ref(props.defaultShowMore);\n// 当 showMore展开 且高度为60时,不显示展开按钮\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\n\n/**搜索重置按钮组样式 */\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\n if (notShowShowMore.value) {\n return {};\n }\n return {\n gridColumn: colsCount.value,\n gridRow: showMore.value ? undefined : 1,\n };\n});\nconst handleShowMoreChange = async () => {\n showMore.value = !showMore.value;\n // 手动触发 scroll 事件\n const scrollEvent = new Event('resize');\n await nextTick();\n // 手动触发事件\n window.dispatchEvent(scrollEvent);\n};\n\n// 通过json渲染组件\nconst optionsList = computed(() => {\n return props.options.map(it => {\n const findComponent = searchFormItemList.find(item => item.type === it.type);\n if (findComponent) {\n it.component = findComponent.component;\n }\n return it;\n });\n});\n\nconst queryRef = ref<FormInstance>();\n// 上下文添加queryRef\ntableCtx.queryRef = queryRef;\nconst handleQuery = (...args: any[]) => {\n emit('handleQuery', ...args);\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nprovide(searchFormHandleQueryKey, handleQuery);\n\nconst resetQuery = () => {\n queryRef.value?.resetFields();\n emit('resetQuery');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\n</script>\n<style lang=\"scss\" scoped>\n:deep(.gmSearchForm .el-form-item) {\n margin-right: 0;\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_useModel"],"mappings":"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"}
1
+ {"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\n </template>\n <slot />\n <gm-form-item :style=\"searchButtonItemStyle\">\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\" :class=\"showMore ? 'gm-rotate-180' : ''\"><ArrowDown /></gm-icon>\n </gm-button>\n </div>\n </gm-form-item>\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\n </div>\n </div>\n </gm-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, provide, ref } from 'vue';\nimport { useElementSize } from '@vueuse/core';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\nimport type { CSSProperties } from 'vue';\nimport type { FormInstance } from '../../base/form';\ndefineOptions({\n name: 'GmSearchForm',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\n\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\n\nprovide(queryParamsKey, queryParams);\n\nconst props = defineProps(searchFormProps);\nconst emit = defineEmits(searchFormEmits);\n\nconst queryDivRef = ref<HTMLDivElement>();\nconst visibilityMarkRef = ref<HTMLDivElement>();\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\n\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\n// 列个数\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\nconst showMore = ref(props.defaultShowMore);\n// 当 showMore展开 且高度为60时,不显示展开按钮\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\n\n/**搜索重置按钮组样式 */\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\n if (notShowShowMore.value) {\n return {};\n }\n return {\n gridColumn: colsCount.value,\n gridRow: showMore.value ? undefined : 1,\n };\n});\nconst handleShowMoreChange = async () => {\n showMore.value = !showMore.value;\n // 手动触发 scroll 事件\n const scrollEvent = new Event('resize');\n await nextTick();\n // 手动触发事件\n window.dispatchEvent(scrollEvent);\n};\n\n// 通过json渲染组件\nconst optionsList = computed(() => {\n return props.options.map(it => {\n const findComponent = searchFormItemList.find(item => item.type === it.type);\n if (findComponent) {\n it.component = findComponent.component;\n }\n return it;\n });\n});\n\nconst queryRef = ref<FormInstance>();\n// 上下文添加queryRef\ntableCtx.queryRef = queryRef;\nconst handleQuery = (...args: any[]) => {\n emit('handleQuery', ...args);\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nprovide(searchFormHandleQueryKey, handleQuery);\n\nconst resetQuery = () => {\n queryRef.value?.resetFields();\n emit('resetQuery');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\n\ndefineExpose({\n // queryRef,\n handleQuery,\n resetQuery,\n});\n</script>\n<style lang=\"scss\" scoped>\n:deep(.gmSearchForm .el-form-item) {\n margin-right: 0;\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_useModel"],"mappings":"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"}
@@ -19,7 +19,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
19
19
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
20
20
  onHandleQuery?: ((...args: any[]) => any) | undefined;
21
21
  onResetQuery?: ((...args: any[]) => any) | undefined;
22
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ }, {
23
+ handleQuery: (...args: any[]) => void;
24
+ resetQuery: () => void;
25
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
26
  "update:showSearch": (showSearch: boolean) => void;
24
27
  "update:queryParams": (queryParams: Record<string, any>) => void;
25
28
  handleQuery: (...args: any[]) => void;
@@ -72,7 +75,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
72
75
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
73
76
  onHandleQuery?: ((...args: any[]) => any) | undefined;
74
77
  onResetQuery?: ((...args: any[]) => any) | undefined;
75
- }, {}, {}, {}, {}, {
78
+ }, {
79
+ handleQuery: (...args: any[]) => void;
80
+ resetQuery: () => void;
81
+ }, {}, {}, {}, {
76
82
  options: import("./searchForm").SearchFormPropsOption[];
77
83
  defaultShowMore: boolean;
78
84
  }>;
@@ -98,7 +104,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
98
104
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
99
105
  onHandleQuery?: ((...args: any[]) => any) | undefined;
100
106
  onResetQuery?: ((...args: any[]) => any) | undefined;
101
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
107
+ }, {
108
+ handleQuery: (...args: any[]) => void;
109
+ resetQuery: () => void;
110
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
102
111
  "update:showSearch": (showSearch: boolean) => void;
103
112
  "update:queryParams": (queryParams: Record<string, any>) => void;
104
113
  handleQuery: (...args: any[]) => void;
@@ -11,6 +11,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
11
11
  total: {
12
12
  type: NumberConstructor;
13
13
  };
14
+ immediate: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
14
18
  selectedCount: {
15
19
  type: NumberConstructor;
16
20
  };
@@ -31,6 +35,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
31
35
  total: {
32
36
  type: NumberConstructor;
33
37
  };
38
+ immediate: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
34
42
  selectedCount: {
35
43
  type: NumberConstructor;
36
44
  };
@@ -38,7 +46,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
38
46
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
39
47
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
40
48
  onGetList?: (() => any) | undefined;
41
- }, {}, {}>, {
49
+ }, {
50
+ immediate: boolean;
51
+ }, {}>, {
42
52
  default?(_: {}): any;
43
53
  }>;
44
54
  export default _default;
@@ -110,7 +110,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
110
110
  emit("getList");
111
111
  }
112
112
  onMounted(async () => {
113
- await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });
113
+ if (props.immediate) {
114
+ await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });
115
+ }
114
116
  });
115
117
  return (_ctx, _cache) => {
116
118
  const _component_gm_col = resolveComponent("gm-col");
@@ -1 +1 @@
1
- {"version":3,"file":"TableToolbar.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\n <div>\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\n <span>共 {{ total }} 条</span>\n </gm-col>\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\n <span\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\n >项</span\n >\n </gm-col>\n <slot />\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\n <div class=\"gm-ml-auto\">\n <div class=\"gm-flex\">\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\n <gm-button plain type=\"\">\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\n </gm-button>\n <template #dropdown>\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\n <gm-dropdown-item\n v-for=\"item in customSettingsValue\"\n :key=\"item.uuid\"\n class=\"gm-group gm-flex gm-justify-between\"\n @click=\"applySettings(item)\"\n >\n <span> {{ item.name }} </span>\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\n </gm-dropdown-item>\n <div class=\"gm-m-2\">\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n </gm-dropdown-menu>\n </template>\n </gm-dropdown>\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\n </gm-tooltip>\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\n </gm-tooltip>\n </div>\n <GmDialogForm\n v-model=\"saveSearchVisible\"\n :formData=\"searchform\"\n :loading=\"submitLoading\"\n :rules=\"rules\"\n title=\"保存当前查询\"\n labelWidth=\"auto\"\n @submit=\"addSettings\"\n >\n <gm-form-item-module\n v-model=\"searchform.name\"\n field=\"name\"\n label=\"查询名称\"\n type=\"GmInput\"\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\n />\n </GmDialogForm>\n </div>\n </gm-row>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { remove } from '@giime/utils/src/general';\nimport { isNumber } from '@giime/utils/src/is';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\n\ndefineOptions({\n name: 'GmTableToolbar',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst props = defineProps(tableToolbarProps);\nconst emit = defineEmits(tableToolbarEmits);\n\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\nconst queryParams = defineModel<any>('queryParams');\n\nconst customSettingsStore = useCustomSettingsStore();\ninterface TableToolbarSettings {\n uuid: string;\n name: string;\n value: Record<string, any>;\n}\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\n\nconst saveSearchVisible = ref(false);\nconst searchform = ref({\n name: '',\n});\nconst rules = {\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\n};\n// 打开保存dialog\nconst openSaveSearchDialog = () => {\n saveSearchVisible.value = true;\n searchform.value.name = '';\n};\n// 应用设置\nconst applySettings = (item: TableToolbarSettings) => {\n tableCtx.queryRef?.value?.resetFields?.();\n for (const key in item.value) {\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\n queryParams.value[key] = item.value[key];\n }\n }\n emit('getList');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nconst submitLoading = ref(false);\n// 添加设置\nconst addSettings = () => {\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\n return submitSettings(params);\n};\n// 删除设置\nconst deleteSettins = (item: TableToolbarSettings) => {\n remove(customSettingsValue.value, item);\n return submitSettings(JSON.stringify(customSettingsValue.value));\n};\n\n// const onClear = () => {\n// return submitSettings(JSON.stringify([]));\n// };\nconst syncLoading = ref(false);\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n syncLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.tableId,\n type: customSettingType,\n });\n syncLoading.value = false;\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n syncLoading.value = false;\n }\n};\n// 保存\nconst submitSettings = async (value: string) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.tableId,\n value,\n type: customSettingType,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n GmMessage.success('操作成功');\n saveSearchVisible.value = false;\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 搜索\nfunction toggleSearch() {\n showSearch.value = !showSearch.value;\n}\n// 刷新\nfunction refresh() {\n emit('getList');\n}\nonMounted(async () => {\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\n});\n</script>\n"],"names":["_useModel","uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"TableToolbar.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\n <div>\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\n <span>共 {{ total }} 条</span>\n </gm-col>\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\n <span\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\n >项</span\n >\n </gm-col>\n <slot />\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\n <div class=\"gm-ml-auto\">\n <div class=\"gm-flex\">\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\n <gm-button plain type=\"\">\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\n </gm-button>\n <template #dropdown>\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\n <gm-dropdown-item\n v-for=\"item in customSettingsValue\"\n :key=\"item.uuid\"\n class=\"gm-group gm-flex gm-justify-between\"\n @click=\"applySettings(item)\"\n >\n <span> {{ item.name }} </span>\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\n </gm-dropdown-item>\n <div class=\"gm-m-2\">\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n </gm-dropdown-menu>\n </template>\n </gm-dropdown>\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\n </gm-tooltip>\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\n </gm-tooltip>\n </div>\n <GmDialogForm\n v-model=\"saveSearchVisible\"\n :formData=\"searchform\"\n :loading=\"submitLoading\"\n :rules=\"rules\"\n title=\"保存当前查询\"\n labelWidth=\"auto\"\n @submit=\"addSettings\"\n >\n <gm-form-item-module\n v-model=\"searchform.name\"\n field=\"name\"\n label=\"查询名称\"\n type=\"GmInput\"\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\n />\n </GmDialogForm>\n </div>\n </gm-row>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { remove } from '@giime/utils/src/general';\nimport { isNumber } from '@giime/utils/src/is';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\n\ndefineOptions({\n name: 'GmTableToolbar',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst props = defineProps(tableToolbarProps);\nconst emit = defineEmits(tableToolbarEmits);\n\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\nconst queryParams = defineModel<any>('queryParams');\n\nconst customSettingsStore = useCustomSettingsStore();\ninterface TableToolbarSettings {\n uuid: string;\n name: string;\n value: Record<string, any>;\n}\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\n\nconst saveSearchVisible = ref(false);\nconst searchform = ref({\n name: '',\n});\nconst rules = {\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\n};\n// 打开保存dialog\nconst openSaveSearchDialog = () => {\n saveSearchVisible.value = true;\n searchform.value.name = '';\n};\n// 应用设置\nconst applySettings = (item: TableToolbarSettings) => {\n tableCtx.queryRef?.value?.resetFields?.();\n for (const key in item.value) {\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\n queryParams.value[key] = item.value[key];\n }\n }\n emit('getList');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nconst submitLoading = ref(false);\n// 添加设置\nconst addSettings = () => {\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\n return submitSettings(params);\n};\n// 删除设置\nconst deleteSettins = (item: TableToolbarSettings) => {\n remove(customSettingsValue.value, item);\n return submitSettings(JSON.stringify(customSettingsValue.value));\n};\n\n// const onClear = () => {\n// return submitSettings(JSON.stringify([]));\n// };\nconst syncLoading = ref(false);\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n syncLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.tableId,\n type: customSettingType,\n });\n syncLoading.value = false;\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n syncLoading.value = false;\n }\n};\n// 保存\nconst submitSettings = async (value: string) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.tableId,\n value,\n type: customSettingType,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n GmMessage.success('操作成功');\n saveSearchVisible.value = false;\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 搜索\nfunction toggleSearch() {\n showSearch.value = !showSearch.value;\n}\n// 刷新\nfunction refresh() {\n emit('getList');\n}\nonMounted(async () => {\n if (props.immediate) {\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\n }\n});\n</script>\n"],"names":["_useModel","uuidv4"],"mappings":"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"}
@@ -13,6 +13,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
13
13
  total: {
14
14
  type: NumberConstructor;
15
15
  };
16
+ immediate: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
16
20
  selectedCount: {
17
21
  type: NumberConstructor;
18
22
  };
@@ -37,6 +41,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
37
41
  total: {
38
42
  type: NumberConstructor;
39
43
  };
44
+ immediate: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
40
48
  selectedCount: {
41
49
  type: NumberConstructor;
42
50
  };
@@ -44,7 +52,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
44
52
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
45
53
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
46
54
  onGetList?: (() => any) | undefined;
47
- }, {}, true, {}, {}, {
55
+ }, {
56
+ immediate: boolean;
57
+ }, true, {}, {}, {
48
58
  P: {};
49
59
  B: {};
50
60
  D: {};
@@ -64,6 +74,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
64
74
  total: {
65
75
  type: NumberConstructor;
66
76
  };
77
+ immediate: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
67
81
  selectedCount: {
68
82
  type: NumberConstructor;
69
83
  };
@@ -71,7 +85,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
71
85
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
72
86
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
73
87
  onGetList?: (() => any) | undefined;
74
- }, {}, {}, {}, {}, {}>;
88
+ }, {}, {}, {}, {}, {
89
+ immediate: boolean;
90
+ }>;
75
91
  __isFragment?: undefined;
76
92
  __isTeleport?: undefined;
77
93
  __isSuspense?: undefined;
@@ -88,6 +104,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
88
104
  total: {
89
105
  type: NumberConstructor;
90
106
  };
107
+ immediate: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
91
111
  selectedCount: {
92
112
  type: NumberConstructor;
93
113
  };
@@ -99,7 +119,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
99
119
  "update:showSearch": (showSearch: boolean) => void;
100
120
  "update:queryParams": (queryParams: any) => void;
101
121
  getList: () => void;
102
- }, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
122
+ }, string, {
123
+ immediate: boolean;
124
+ }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
103
125
  $slots: {
104
126
  default?(_: {}): any;
105
127
  };
@@ -10,6 +10,13 @@ export declare const tableToolbarProps: {
10
10
  total: {
11
11
  type: NumberConstructor;
12
12
  };
13
+ /**
14
+ * 是否立即获取远程 快速筛选列表
15
+ */
16
+ immediate: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
13
20
  /**
14
21
  * 已选择个数
15
22
  */
@@ -9,6 +9,13 @@ const tableToolbarProps = {
9
9
  total: {
10
10
  type: Number
11
11
  },
12
+ /**
13
+ * 是否立即获取远程 快速筛选列表
14
+ */
15
+ immediate: {
16
+ type: Boolean,
17
+ default: true
18
+ },
12
19
  /**
13
20
  * 已选择个数
14
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tableToolbar.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/tableToolbar.ts"],"sourcesContent":["// import { tableColumnEmits as elTableColumnEmits, tableColumnProps as elTableColumnProps } from 'element-plus';\n// import type { ExtractPropTypes } from 'vue';\n// import elTableProps from 'element-plus/es/components/table/src/table-column/defaults';\nimport type { ExtractPropTypes } from 'vue';\n\nexport const tableToolbarProps = {\n tableId: {\n type: String,\n required: true as const,\n },\n /**\n * 总数\n */\n total: {\n type: Number,\n },\n /**\n * 已选择个数\n */\n selectedCount: {\n type: Number,\n },\n};\nexport const tableToolbarEmits = {\n getList: async (): Promise<any> => {},\n};\nexport type TableToolbarProps = ExtractPropTypes<typeof tableToolbarProps>;\n"],"names":[],"mappings":"AAKO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AACO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAS,YAA0B;AAAA,GAAC;AACtC;;;;"}
1
+ {"version":3,"file":"tableToolbar.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/tableToolbar.ts"],"sourcesContent":["// import { tableColumnEmits as elTableColumnEmits, tableColumnProps as elTableColumnProps } from 'element-plus';\n// import type { ExtractPropTypes } from 'vue';\n// import elTableProps from 'element-plus/es/components/table/src/table-column/defaults';\nimport type { ExtractPropTypes } from 'vue';\n\nexport const tableToolbarProps = {\n tableId: {\n type: String,\n required: true as const,\n },\n /**\n * 总数\n */\n total: {\n type: Number,\n },\n /**\n * 是否立即获取远程 快速筛选列表\n */\n immediate: {\n type: Boolean,\n default: true,\n },\n /**\n * 已选择个数\n */\n selectedCount: {\n type: Number,\n },\n};\nexport const tableToolbarEmits = {\n getList: async (): Promise<any> => {},\n};\nexport type TableToolbarProps = ExtractPropTypes<typeof tableToolbarProps>;\n"],"names":[],"mappings":"AAKO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AACO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAS,YAA0B;AAAA,GAAC;AACtC;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.7.16";
1
+ export declare const version = "0.7.18";
@@ -1,4 +1,4 @@
1
- const version = "0.7.15";
1
+ const version = "0.7.18";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.15';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.18';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import '../../../api/guardBasic/controller/index.mjs';
2
- import { ref, computed } from 'vue';
2
+ import { ref, computed, nextTick } from 'vue';
3
3
  import { usePostBasicV1DataDictionaryBatchDetailByCode } from '../../../api/guardBasic/controller/JiChuFuWu/ShuJuZiDianGuanLi/usePostBasicV1DataDictionaryBatchDetailByCode.mjs';
4
4
 
5
5
  const useDictionary = (fieldCodes, options) => {
@@ -30,7 +30,9 @@ const useDictionary = (fieldCodes, options) => {
30
30
  };
31
31
  const immediate = options?.immediate ?? true;
32
32
  if (immediate) {
33
- getDictionary();
33
+ nextTick(() => {
34
+ getDictionary();
35
+ });
34
36
  }
35
37
  return {
36
38
  dictionaryList,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useDictionary/index.ts"],"sourcesContent":["import type { DataDictVo } from '@giime/api/guardBasic/interface';\nimport { usePostBasicV1DataDictionaryBatchDetailByCode } from '@giime/api/guardBasic/controller';\nimport { ref, computed } from 'vue';\n\nexport interface DictionaryOption {\n label: string;\n value: any;\n tagType?: 'success' | 'warning' | 'info' | 'primary' | 'danger';\n}\n/**字典 */\nexport const useDictionary = <T extends string>(fieldCodes: T[], options?: { immediate?: boolean }) => {\n const { exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();\n const isLoading = ref(false);\n const dictionaryList = ref<DataDictVo[]>([]);\n const dictionary = computed(() => {\n return dictionaryList.value.reduce(\n (acc, item) => {\n acc[item.fieldCode as T] =\n item?.values?.map(it => ({\n label: it.valueName,\n value: it.valueCode,\n tagType: it.tagType as DictionaryOption['tagType'],\n })) || [];\n\n return acc;\n },\n {} as Record<T, DictionaryOption[]>,\n );\n });\n const getDictionary = async () => {\n isLoading.value = true;\n try {\n const { data } = await getDictionaryExec({ fieldCodes });\n\n dictionaryList.value = data.value?.data || [];\n } finally {\n isLoading.value = false;\n }\n };\n const immediate = options?.immediate ?? true;\n if (immediate) {\n getDictionary();\n }\n\n return {\n dictionaryList,\n dictionary,\n isLoading,\n getDictionary,\n };\n};\n"],"names":[],"mappings":";;;;AAUa,MAAA,aAAA,GAAgB,CAAmB,UAAA,EAAiB,OAAsC,KAAA;AACrG,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAkB,EAAA,GAAI,6CAA8C,EAAA,CAAA;AAClF,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,cAAA,GAAiB,GAAkB,CAAA,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,OAAO,eAAe,KAAM,CAAA,MAAA;AAAA,MAC1B,CAAC,KAAK,IAAS,KAAA;AACb,QAAA,GAAA,CAAI,KAAK,SAAc,CAAA,GACrB,IAAM,EAAA,MAAA,EAAQ,IAAI,CAAO,EAAA,MAAA;AAAA,UACvB,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,SAAS,EAAG,CAAA,OAAA;AAAA,SACd,CAAE,KAAK,EAAC,CAAA;AAEV,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAAA,MACA,EAAC;AAAA,KACH,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,iBAAkB,CAAA,EAAE,YAAY,CAAA,CAAA;AAEvD,MAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAK,KAAO,EAAA,IAAA,IAAQ,EAAC,CAAA;AAAA,KAC5C,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,SAAS,SAAa,IAAA,IAAA,CAAA;AACxC,EAAA,IAAI,SAAW,EAAA;AACb,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useDictionary/index.ts"],"sourcesContent":["import type { DataDictVo } from '@giime/api/guardBasic/interface';\nimport { usePostBasicV1DataDictionaryBatchDetailByCode } from '@giime/api/guardBasic/controller';\nimport { ref, computed, nextTick } from 'vue';\nimport { tryOnMounted } from '@vueuse/core';\n\nexport interface DictionaryOption {\n label: string;\n value: any;\n tagType?: 'success' | 'warning' | 'info' | 'primary' | 'danger';\n}\n/**字典 */\nexport const useDictionary = <T extends string>(fieldCodes: T[], options?: { immediate?: boolean }) => {\n const { exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();\n const isLoading = ref(false);\n const dictionaryList = ref<DataDictVo[]>([]);\n const dictionary = computed(() => {\n return dictionaryList.value.reduce(\n (acc, item) => {\n acc[item.fieldCode as T] =\n item?.values?.map(it => ({\n label: it.valueName,\n value: it.valueCode,\n tagType: it.tagType as DictionaryOption['tagType'],\n })) || [];\n\n return acc;\n },\n {} as Record<T, DictionaryOption[]>,\n );\n });\n const getDictionary = async () => {\n isLoading.value = true;\n try {\n const { data } = await getDictionaryExec({ fieldCodes });\n\n dictionaryList.value = data.value?.data || [];\n } finally {\n isLoading.value = false;\n }\n };\n const immediate = options?.immediate ?? true;\n if (immediate) {\n nextTick(() => {\n getDictionary();\n });\n }\n\n return {\n dictionaryList,\n dictionary,\n isLoading,\n getDictionary,\n };\n};\n"],"names":[],"mappings":";;;;AAWa,MAAA,aAAA,GAAgB,CAAmB,UAAA,EAAiB,OAAsC,KAAA;AACrG,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAkB,EAAA,GAAI,6CAA8C,EAAA,CAAA;AAClF,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,cAAA,GAAiB,GAAkB,CAAA,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,OAAO,eAAe,KAAM,CAAA,MAAA;AAAA,MAC1B,CAAC,KAAK,IAAS,KAAA;AACb,QAAA,GAAA,CAAI,KAAK,SAAc,CAAA,GACrB,IAAM,EAAA,MAAA,EAAQ,IAAI,CAAO,EAAA,MAAA;AAAA,UACvB,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,SAAS,EAAG,CAAA,OAAA;AAAA,SACd,CAAE,KAAK,EAAC,CAAA;AAEV,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAAA,MACA,EAAC;AAAA,KACH,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,iBAAkB,CAAA,EAAE,YAAY,CAAA,CAAA;AAEvD,MAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAK,KAAO,EAAA,IAAA,IAAQ,EAAC,CAAA;AAAA,KAC5C,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,SAAS,SAAa,IAAA,IAAA,CAAA;AACxC,EAAA,IAAI,SAAW,EAAA;AACb,IAAA,QAAA,CAAS,MAAM;AACb,MAAc,aAAA,EAAA,CAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACH;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -49,9 +49,10 @@ const useCustomSettingsStore = defineStore("gmCustomSettings", () => {
49
49
  customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;
50
50
  isLoadingKeyWords.value.delete(key_word);
51
51
  customResult.trigger({ key_word, type });
52
- } catch {
52
+ } catch (e) {
53
53
  isLoadingKeyWords.value.delete(key_word);
54
54
  customResult.trigger({ key_word, type });
55
+ throw e;
55
56
  }
56
57
  };
57
58
  const getCustomList = async (params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useCustomSettings/index.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { defineStore } from 'pinia';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type EventHookOn, type EventHookTrigger, createEventHook } from '@vueuse/core';\nimport { useIDBKeyval } from '@giime/hooks/base/useIDBKeyval';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getBasicV1ConfigFrontListCustom, postBasicV1ConfigFrontListCustom } from '@giime/api/guardBasic/controller';\nimport type { AddListCustomReq } from '@giime/api/guardBasic/interface';\n\ninterface CustomSettings {\n [key_word: string]: {\n [type: string]: any;\n };\n}\n\nexport interface GetCustomSettingsParams {\n key_word: string;\n type: string;\n}\n\nexport const useCustomSettingsStore = defineStore('gmCustomSettings', () => {\n // const customSettings = ref<CustomSettings>({});\n const { data: customSettings, initIndexedDBComplete } = useIDBKeyval<CustomSettings>('gmCustomSettingsStore', {}, { deep: true });\n const customResult = createEventHook<GetCustomSettingsParams>();\n /**\n * 正在loading的key_word\n */\n const isLoadingKeyWords = ref(new Set<string>());\n\n // 添加自定义设置\n const addCustomSettings = async (params: AddListCustomReq) => {\n const res = await postBasicV1ConfigFrontListCustom(params);\n if (res.data.code === 200) {\n if (!customSettings.value[params.key_word]) {\n customSettings.value[params.key_word] = {};\n }\n let value = params.value;\n try {\n value = JSON.parse(params.value);\n } catch {}\n customSettings.value[params.key_word][params.type] = value;\n }\n return res;\n };\n /**\n * 同步远程数据到本地\n */\n const syncRemoteSetting = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n isLoadingKeyWords.value.add(key_word);\n try {\n const { data } = await getBasicV1ConfigFrontListCustom({ key_word });\n if (data.code !== 200) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n return;\n }\n // 将json字符串转成对象\n for (const key in data.data) {\n if (hasOwn(data.data, key)) {\n const value = data.data[key];\n try {\n data.data[key] = JSON.parse(value);\n } catch {\n data.data[key] = value;\n }\n }\n }\n customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n } catch {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n }\n };\n // 获取自定义设置\n const getCustomList = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n // 等待indexedDB 初始化完成\n await initIndexedDBComplete();\n // 如果已存在\n if (customSettings.value[key_word] && hasOwn(customSettings.value[key_word], type)) {\n customResult.trigger({ key_word, type });\n return;\n }\n // 如果正在loading,则 等待之前请求的结果\n if (isLoadingKeyWords.value.has(key_word)) {\n await onCustomResultPromise({ key_word, type });\n return;\n }\n await syncRemoteSetting(params);\n };\n /**监听 已请求列表 promise版 */\n const onCustomResultPromise = (params: GetCustomSettingsParams) =>\n new Promise<GetCustomSettingsParams>(resolve => {\n customResult.on(value => {\n if (params.key_word === value.key_word) {\n resolve(value);\n }\n });\n });\n const getCustomSettings = async (params: GetCustomSettingsParams, options: { defaultValue: any }) => {\n await getCustomList(params);\n if (!customSettings.value[params.key_word]) {\n return;\n }\n if (!hasOwn(customSettings.value[params.key_word], params.type)) {\n customSettings.value[params.key_word][params.type] = options.defaultValue;\n }\n return customSettings.value[params.key_word][params.type];\n };\n\n return {\n addCustomSettings,\n getCustomSettings,\n syncRemoteSetting,\n customSettings,\n };\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useCustomSettings/index.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { defineStore } from 'pinia';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type EventHookOn, type EventHookTrigger, createEventHook } from '@vueuse/core';\nimport { useIDBKeyval } from '@giime/hooks/base/useIDBKeyval';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getBasicV1ConfigFrontListCustom, postBasicV1ConfigFrontListCustom } from '@giime/api/guardBasic/controller';\nimport type { AddListCustomReq } from '@giime/api/guardBasic/interface';\n\ninterface CustomSettings {\n [key_word: string]: {\n [type: string]: any;\n };\n}\n\nexport interface GetCustomSettingsParams {\n key_word: string;\n type: string;\n}\n\nexport const useCustomSettingsStore = defineStore('gmCustomSettings', () => {\n // const customSettings = ref<CustomSettings>({});\n const { data: customSettings, initIndexedDBComplete } = useIDBKeyval<CustomSettings>('gmCustomSettingsStore', {}, { deep: true });\n const customResult = createEventHook<GetCustomSettingsParams>();\n /**\n * 正在loading的key_word\n */\n const isLoadingKeyWords = ref(new Set<string>());\n\n // 添加自定义设置\n const addCustomSettings = async (params: AddListCustomReq) => {\n const res = await postBasicV1ConfigFrontListCustom(params);\n if (res.data.code === 200) {\n if (!customSettings.value[params.key_word]) {\n customSettings.value[params.key_word] = {};\n }\n let value = params.value;\n try {\n value = JSON.parse(params.value);\n } catch {}\n customSettings.value[params.key_word][params.type] = value;\n }\n return res;\n };\n /**\n * 同步远程数据到本地\n */\n const syncRemoteSetting = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n isLoadingKeyWords.value.add(key_word);\n try {\n const { data } = await getBasicV1ConfigFrontListCustom({ key_word });\n if (data.code !== 200) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n return;\n }\n // 将json字符串转成对象\n for (const key in data.data) {\n if (hasOwn(data.data, key)) {\n const value = data.data[key];\n try {\n data.data[key] = JSON.parse(value);\n } catch {\n data.data[key] = value;\n }\n }\n }\n customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n } catch (e) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n throw e;\n }\n };\n // 获取自定义设置\n const getCustomList = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n // 等待indexedDB 初始化完成\n await initIndexedDBComplete();\n // 如果已存在\n if (customSettings.value[key_word] && hasOwn(customSettings.value[key_word], type)) {\n customResult.trigger({ key_word, type });\n return;\n }\n // 如果正在loading,则 等待之前请求的结果\n if (isLoadingKeyWords.value.has(key_word)) {\n await onCustomResultPromise({ key_word, type });\n return;\n }\n await syncRemoteSetting(params);\n };\n /**监听 已请求列表 promise版 */\n const onCustomResultPromise = (params: GetCustomSettingsParams) =>\n new Promise<GetCustomSettingsParams>(resolve => {\n customResult.on(value => {\n if (params.key_word === value.key_word) {\n resolve(value);\n }\n });\n });\n const getCustomSettings = async (params: GetCustomSettingsParams, options: { defaultValue: any }) => {\n await getCustomList(params);\n if (!customSettings.value[params.key_word]) {\n return;\n }\n if (!hasOwn(customSettings.value[params.key_word], params.type)) {\n customSettings.value[params.key_word][params.type] = options.defaultValue;\n }\n return customSettings.value[params.key_word][params.type];\n };\n\n return {\n addCustomSettings,\n getCustomSettings,\n syncRemoteSetting,\n customSettings,\n };\n});\n"],"names":[],"mappings":"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"}
package/es/index.css CHANGED
@@ -962,7 +962,7 @@ video {
962
962
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
963
963
  display: none;
964
964
  }
965
- [data-v-488ca110] .gmSearchForm .el-form-item {
965
+ [data-v-d3111183] .gmSearchForm .el-form-item {
966
966
  margin-right: 0;
967
967
  margin-bottom: 4px;
968
968
  }
@@ -12,7 +12,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
12
12
  type: BooleanConstructor;
13
13
  default: boolean;
14
14
  };
15
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ }, {
16
+ handleQuery: (...args: any[]) => void;
17
+ resetQuery: () => void;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
19
  "update:showSearch": (showSearch: boolean) => void;
17
20
  "update:queryParams": (queryParams: Record<string, any>) => void;
18
21
  handleQuery: (...args: any[]) => void;
@@ -6,7 +6,7 @@ var SearchForm_vue_vue_type_script_setup_true_lang = require('./SearchForm.vue2.
6
6
  require('./SearchForm.vue3.js');
7
7
  var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
8
8
 
9
- var SearchForm = /* @__PURE__ */ _pluginVue_exportHelper.default(SearchForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-488ca110"]]);
9
+ var SearchForm = /* @__PURE__ */ _pluginVue_exportHelper.default(SearchForm_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-d3111183"]]);
10
10
 
11
11
  exports.default = SearchForm;
12
12
  //# sourceMappingURL=SearchForm.vue.js.map
@@ -22,7 +22,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
22
  "queryParamsModifiers": {}
23
23
  }),
24
24
  emits: /* @__PURE__ */ vue.mergeModels(searchForm.searchFormEmits, ["update:showSearch", "update:queryParams"]),
25
- setup(__props, { emit: __emit }) {
25
+ setup(__props, { expose: __expose, emit: __emit }) {
26
26
  const tableCtx = vue.inject(table.TableCtxKey, {});
27
27
  const showSearch = vue.useModel(__props, "showSearch");
28
28
  const queryParams = vue.useModel(__props, "queryParams");
@@ -73,6 +73,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
73
73
  tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: "smooth" });
74
74
  tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });
75
75
  };
76
+ __expose({
77
+ // queryRef,
78
+ handleQuery,
79
+ resetQuery
80
+ });
76
81
  return (_ctx, _cache) => {
77
82
  const _component_gm_button = vue.resolveComponent("gm-button");
78
83
  const _component_gm_icon = vue.resolveComponent("gm-icon");
@@ -1 +1 @@
1
- {"version":3,"file":"SearchForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\n </template>\n <slot />\n <gm-form-item :style=\"searchButtonItemStyle\">\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\" :class=\"showMore ? 'gm-rotate-180' : ''\"><ArrowDown /></gm-icon>\n </gm-button>\n </div>\n </gm-form-item>\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\n </div>\n </div>\n </gm-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, provide, ref } from 'vue';\nimport { useElementSize } from '@vueuse/core';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\nimport type { CSSProperties } from 'vue';\nimport type { FormInstance } from '../../base/form';\ndefineOptions({\n name: 'GmSearchForm',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\n\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\n\nprovide(queryParamsKey, queryParams);\n\nconst props = defineProps(searchFormProps);\nconst emit = defineEmits(searchFormEmits);\n\nconst queryDivRef = ref<HTMLDivElement>();\nconst visibilityMarkRef = ref<HTMLDivElement>();\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\n\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\n// 列个数\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\nconst showMore = ref(props.defaultShowMore);\n// 当 showMore展开 且高度为60时,不显示展开按钮\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\n\n/**搜索重置按钮组样式 */\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\n if (notShowShowMore.value) {\n return {};\n }\n return {\n gridColumn: colsCount.value,\n gridRow: showMore.value ? undefined : 1,\n };\n});\nconst handleShowMoreChange = async () => {\n showMore.value = !showMore.value;\n // 手动触发 scroll 事件\n const scrollEvent = new Event('resize');\n await nextTick();\n // 手动触发事件\n window.dispatchEvent(scrollEvent);\n};\n\n// 通过json渲染组件\nconst optionsList = computed(() => {\n return props.options.map(it => {\n const findComponent = searchFormItemList.find(item => item.type === it.type);\n if (findComponent) {\n it.component = findComponent.component;\n }\n return it;\n });\n});\n\nconst queryRef = ref<FormInstance>();\n// 上下文添加queryRef\ntableCtx.queryRef = queryRef;\nconst handleQuery = (...args: any[]) => {\n emit('handleQuery', ...args);\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nprovide(searchFormHandleQueryKey, handleQuery);\n\nconst resetQuery = () => {\n queryRef.value?.resetFields();\n emit('resetQuery');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\n</script>\n<style lang=\"scss\" scoped>\n:deep(.gmSearchForm .el-form-item) {\n margin-right: 0;\n margin-bottom: 4px;\n}\n</style>\n"],"names":["inject","TableCtxKey","_useModel","provide","queryParamsKey","ref","useElementSize","computed","nextTick","searchFormItemList","searchFormHandleQueryKey"],"mappings":"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"}
1
+ {"version":3,"file":"SearchForm.vue2.js","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\n </template>\n <slot />\n <gm-form-item :style=\"searchButtonItemStyle\">\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\" :class=\"showMore ? 'gm-rotate-180' : ''\"><ArrowDown /></gm-icon>\n </gm-button>\n </div>\n </gm-form-item>\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\n </div>\n </div>\n </gm-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, inject, nextTick, provide, ref } from 'vue';\nimport { useElementSize } from '@vueuse/core';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\nimport type { CSSProperties } from 'vue';\nimport type { FormInstance } from '../../base/form';\ndefineOptions({\n name: 'GmSearchForm',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\n\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\n\nprovide(queryParamsKey, queryParams);\n\nconst props = defineProps(searchFormProps);\nconst emit = defineEmits(searchFormEmits);\n\nconst queryDivRef = ref<HTMLDivElement>();\nconst visibilityMarkRef = ref<HTMLDivElement>();\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\n\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\n// 列个数\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\nconst showMore = ref(props.defaultShowMore);\n// 当 showMore展开 且高度为60时,不显示展开按钮\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\n\n/**搜索重置按钮组样式 */\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\n if (notShowShowMore.value) {\n return {};\n }\n return {\n gridColumn: colsCount.value,\n gridRow: showMore.value ? undefined : 1,\n };\n});\nconst handleShowMoreChange = async () => {\n showMore.value = !showMore.value;\n // 手动触发 scroll 事件\n const scrollEvent = new Event('resize');\n await nextTick();\n // 手动触发事件\n window.dispatchEvent(scrollEvent);\n};\n\n// 通过json渲染组件\nconst optionsList = computed(() => {\n return props.options.map(it => {\n const findComponent = searchFormItemList.find(item => item.type === it.type);\n if (findComponent) {\n it.component = findComponent.component;\n }\n return it;\n });\n});\n\nconst queryRef = ref<FormInstance>();\n// 上下文添加queryRef\ntableCtx.queryRef = queryRef;\nconst handleQuery = (...args: any[]) => {\n emit('handleQuery', ...args);\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nprovide(searchFormHandleQueryKey, handleQuery);\n\nconst resetQuery = () => {\n queryRef.value?.resetFields();\n emit('resetQuery');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\n\ndefineExpose({\n // queryRef,\n handleQuery,\n resetQuery,\n});\n</script>\n<style lang=\"scss\" scoped>\n:deep(.gmSearchForm .el-form-item) {\n margin-right: 0;\n margin-bottom: 4px;\n}\n</style>\n"],"names":["inject","TableCtxKey","_useModel","provide","queryParamsKey","ref","useElementSize","computed","nextTick","searchFormItemList","searchFormHandleQueryKey"],"mappings":"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"}
@@ -19,7 +19,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
19
19
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
20
20
  onHandleQuery?: ((...args: any[]) => any) | undefined;
21
21
  onResetQuery?: ((...args: any[]) => any) | undefined;
22
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ }, {
23
+ handleQuery: (...args: any[]) => void;
24
+ resetQuery: () => void;
25
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
26
  "update:showSearch": (showSearch: boolean) => void;
24
27
  "update:queryParams": (queryParams: Record<string, any>) => void;
25
28
  handleQuery: (...args: any[]) => void;
@@ -72,7 +75,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
72
75
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
73
76
  onHandleQuery?: ((...args: any[]) => any) | undefined;
74
77
  onResetQuery?: ((...args: any[]) => any) | undefined;
75
- }, {}, {}, {}, {}, {
78
+ }, {
79
+ handleQuery: (...args: any[]) => void;
80
+ resetQuery: () => void;
81
+ }, {}, {}, {}, {
76
82
  options: import("./searchForm").SearchFormPropsOption[];
77
83
  defaultShowMore: boolean;
78
84
  }>;
@@ -98,7 +104,10 @@ export declare const GmSearchForm: import("../../../../utils").SFCWithInstall<{
98
104
  "onUpdate:queryParams"?: ((queryParams: Record<string, any>) => any) | undefined;
99
105
  onHandleQuery?: ((...args: any[]) => any) | undefined;
100
106
  onResetQuery?: ((...args: any[]) => any) | undefined;
101
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
107
+ }, {
108
+ handleQuery: (...args: any[]) => void;
109
+ resetQuery: () => void;
110
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
102
111
  "update:showSearch": (showSearch: boolean) => void;
103
112
  "update:queryParams": (queryParams: Record<string, any>) => void;
104
113
  handleQuery: (...args: any[]) => void;
@@ -11,6 +11,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
11
11
  total: {
12
12
  type: NumberConstructor;
13
13
  };
14
+ immediate: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
14
18
  selectedCount: {
15
19
  type: NumberConstructor;
16
20
  };
@@ -31,6 +35,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
31
35
  total: {
32
36
  type: NumberConstructor;
33
37
  };
38
+ immediate: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
34
42
  selectedCount: {
35
43
  type: NumberConstructor;
36
44
  };
@@ -38,7 +46,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
38
46
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
39
47
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
40
48
  onGetList?: (() => any) | undefined;
41
- }, {}, {}>, {
49
+ }, {
50
+ immediate: boolean;
51
+ }, {}>, {
42
52
  default?(_: {}): any;
43
53
  }>;
44
54
  export default _default;
@@ -114,7 +114,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
114
114
  emit("getList");
115
115
  }
116
116
  vue.onMounted(async () => {
117
- await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });
117
+ if (props.immediate) {
118
+ await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });
119
+ }
118
120
  });
119
121
  return (_ctx, _cache) => {
120
122
  const _component_gm_col = vue.resolveComponent("gm-col");
@@ -1 +1 @@
1
- {"version":3,"file":"TableToolbar.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\n <div>\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\n <span>共 {{ total }} 条</span>\n </gm-col>\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\n <span\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\n >项</span\n >\n </gm-col>\n <slot />\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\n <div class=\"gm-ml-auto\">\n <div class=\"gm-flex\">\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\n <gm-button plain type=\"\">\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\n </gm-button>\n <template #dropdown>\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\n <gm-dropdown-item\n v-for=\"item in customSettingsValue\"\n :key=\"item.uuid\"\n class=\"gm-group gm-flex gm-justify-between\"\n @click=\"applySettings(item)\"\n >\n <span> {{ item.name }} </span>\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\n </gm-dropdown-item>\n <div class=\"gm-m-2\">\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n </gm-dropdown-menu>\n </template>\n </gm-dropdown>\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\n </gm-tooltip>\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\n </gm-tooltip>\n </div>\n <GmDialogForm\n v-model=\"saveSearchVisible\"\n :formData=\"searchform\"\n :loading=\"submitLoading\"\n :rules=\"rules\"\n title=\"保存当前查询\"\n labelWidth=\"auto\"\n @submit=\"addSettings\"\n >\n <gm-form-item-module\n v-model=\"searchform.name\"\n field=\"name\"\n label=\"查询名称\"\n type=\"GmInput\"\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\n />\n </GmDialogForm>\n </div>\n </gm-row>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { remove } from '@giime/utils/src/general';\nimport { isNumber } from '@giime/utils/src/is';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\n\ndefineOptions({\n name: 'GmTableToolbar',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst props = defineProps(tableToolbarProps);\nconst emit = defineEmits(tableToolbarEmits);\n\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\nconst queryParams = defineModel<any>('queryParams');\n\nconst customSettingsStore = useCustomSettingsStore();\ninterface TableToolbarSettings {\n uuid: string;\n name: string;\n value: Record<string, any>;\n}\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\n\nconst saveSearchVisible = ref(false);\nconst searchform = ref({\n name: '',\n});\nconst rules = {\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\n};\n// 打开保存dialog\nconst openSaveSearchDialog = () => {\n saveSearchVisible.value = true;\n searchform.value.name = '';\n};\n// 应用设置\nconst applySettings = (item: TableToolbarSettings) => {\n tableCtx.queryRef?.value?.resetFields?.();\n for (const key in item.value) {\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\n queryParams.value[key] = item.value[key];\n }\n }\n emit('getList');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nconst submitLoading = ref(false);\n// 添加设置\nconst addSettings = () => {\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\n return submitSettings(params);\n};\n// 删除设置\nconst deleteSettins = (item: TableToolbarSettings) => {\n remove(customSettingsValue.value, item);\n return submitSettings(JSON.stringify(customSettingsValue.value));\n};\n\n// const onClear = () => {\n// return submitSettings(JSON.stringify([]));\n// };\nconst syncLoading = ref(false);\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n syncLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.tableId,\n type: customSettingType,\n });\n syncLoading.value = false;\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n syncLoading.value = false;\n }\n};\n// 保存\nconst submitSettings = async (value: string) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.tableId,\n value,\n type: customSettingType,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n GmMessage.success('操作成功');\n saveSearchVisible.value = false;\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 搜索\nfunction toggleSearch() {\n showSearch.value = !showSearch.value;\n}\n// 刷新\nfunction refresh() {\n emit('getList');\n}\nonMounted(async () => {\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\n});\n</script>\n"],"names":["inject","TableCtxKey","_useModel","useCustomSettingsStore","computed","ref","hasOwn","uuidv4","remove","GmMessage","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"TableToolbar.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/TableToolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nconst customSettingType = 'quickQueryList'\n</script>\n<template>\n <div>\n <gm-row :gutter=\"10\" style=\"margin-right: 0\">\n <gm-col v-if=\"isNumber(total)\" :span=\"1.5\" class=\"gm-text-[14px] gm-leading-[32px]\">\n <span>共 {{ total }} 条</span>\n </gm-col>\n <gm-col v-if=\"isNumber(selectedCount)\" :span=\"2.5\" class=\"gm-mr-2 gm-text-[14px] gm-leading-[32px]\">\n <span\n >已选择<span class=\"gm-inline-block gm-min-w-[20px] gm-text-center\">{{ selectedCount }}</span\n >项</span\n >\n </gm-col>\n <slot />\n <!-- <right-toolbar v-model:showSearch=\"showSearch\" @queryTable=\"emits('getList')\" /> -->\n <div class=\"gm-ml-auto\">\n <div class=\"gm-flex\">\n <gm-button plain class=\"gm-mr-2 gm-block\" @click.stop=\"openSaveSearchDialog()\">保存查询</gm-button>\n <gm-dropdown trigger=\"click\" class=\"gm-mr-3 hover:gm-outline-none\">\n <gm-button plain type=\"\">\n 快捷查询<gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\n </gm-button>\n <template #dropdown>\n <gm-dropdown-menu class=\"gm-min-w-[200px]\">\n <div v-if=\"customSettingsValue.length === 0\" class=\"gm-my-5 gm-text-center gm-text-base gm-font-bold gm-text-gray-700\">暂无数据</div>\n <gm-dropdown-item\n v-for=\"item in customSettingsValue\"\n :key=\"item.uuid\"\n class=\"gm-group gm-flex gm-justify-between\"\n @click=\"applySettings(item)\"\n >\n <span> {{ item.name }} </span>\n <gm-icon class=\"gm-hidden hover:gm-text-red-500 group-hover:gm-block\" @click.stop=\"deleteSettins(item)\"> <Delete /> </gm-icon>\n </gm-dropdown-item>\n <div class=\"gm-m-2\">\n <!-- <gm-button :loading=\"submitLoading\" size=\"small\" type=\"\" @click=\"onClear\">清空</gm-button> -->\n <gm-button :loading=\"syncLoading\" size=\"small\" type=\"success\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n </gm-dropdown-menu>\n </template>\n </gm-dropdown>\n <gm-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\">\n <gm-button circle plain :icon=\"Search\" @click=\"toggleSearch()\" />\n </gm-tooltip>\n <gm-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <gm-button circle plain :icon=\"Refresh\" @click=\"refresh()\" />\n </gm-tooltip>\n </div>\n <GmDialogForm\n v-model=\"saveSearchVisible\"\n :formData=\"searchform\"\n :loading=\"submitLoading\"\n :rules=\"rules\"\n title=\"保存当前查询\"\n labelWidth=\"auto\"\n @submit=\"addSettings\"\n >\n <gm-form-item-module\n v-model=\"searchform.name\"\n field=\"name\"\n label=\"查询名称\"\n type=\"GmInput\"\n :props=\"{ placeholder: '请输入', maxlength: '15', showWordLimit: true }\"\n />\n </GmDialogForm>\n </div>\n </gm-row>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref } from 'vue';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useCustomSettingsStore } from '@giime/hooks/store/useCustomSettings';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { remove } from '@giime/utils/src/general';\nimport { isNumber } from '@giime/utils/src/is';\nimport { TableCtxKey } from '@giime/constants/table';\nimport { ArrowDown, Delete, Refresh, Search } from '@element-plus/icons-vue';\nimport { tableToolbarEmits, tableToolbarProps } from './tableToolbar';\n\ndefineOptions({\n name: 'GmTableToolbar',\n});\nconst tableCtx = inject(TableCtxKey, {});\n\nconst props = defineProps(tableToolbarProps);\nconst emit = defineEmits(tableToolbarEmits);\n\nconst showSearch = defineModel<boolean>('showSearch', { required: true });\nconst queryParams = defineModel<any>('queryParams');\n\nconst customSettingsStore = useCustomSettingsStore();\ninterface TableToolbarSettings {\n uuid: string;\n name: string;\n value: Record<string, any>;\n}\nconst customSettingsValue = computed<TableToolbarSettings[]>(() => customSettingsStore.customSettings[props.tableId]?.[customSettingType] || []);\n\nconst saveSearchVisible = ref(false);\nconst searchform = ref({\n name: '',\n});\nconst rules = {\n name: [{ required: true, message: '查询名称不能为空', trigger: 'blur' }],\n};\n// 打开保存dialog\nconst openSaveSearchDialog = () => {\n saveSearchVisible.value = true;\n searchform.value.name = '';\n};\n// 应用设置\nconst applySettings = (item: TableToolbarSettings) => {\n tableCtx.queryRef?.value?.resetFields?.();\n for (const key in item.value) {\n if (hasOwn(item.value, key) && hasOwn(queryParams.value, key)) {\n queryParams.value[key] = item.value[key];\n }\n }\n emit('getList');\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\n};\nconst submitLoading = ref(false);\n// 添加设置\nconst addSettings = () => {\n const params = JSON.stringify([{ uuid: uuidv4(), name: searchform.value.name, value: queryParams.value }, ...customSettingsValue.value]);\n return submitSettings(params);\n};\n// 删除设置\nconst deleteSettins = (item: TableToolbarSettings) => {\n remove(customSettingsValue.value, item);\n return submitSettings(JSON.stringify(customSettingsValue.value));\n};\n\n// const onClear = () => {\n// return submitSettings(JSON.stringify([]));\n// };\nconst syncLoading = ref(false);\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n syncLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.tableId,\n type: customSettingType,\n });\n syncLoading.value = false;\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n syncLoading.value = false;\n }\n};\n// 保存\nconst submitSettings = async (value: string) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.tableId,\n value,\n type: customSettingType,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n GmMessage.success('操作成功');\n saveSearchVisible.value = false;\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 搜索\nfunction toggleSearch() {\n showSearch.value = !showSearch.value;\n}\n// 刷新\nfunction refresh() {\n emit('getList');\n}\nonMounted(async () => {\n if (props.immediate) {\n await customSettingsStore.getCustomSettings({ key_word: props.tableId, type: customSettingType }, { defaultValue: [] });\n }\n});\n</script>\n"],"names":["inject","TableCtxKey","_useModel","useCustomSettingsStore","computed","ref","hasOwn","uuidv4","remove","GmMessage","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,iBAAoB,GAAA,gBAAA,CAAA;;;;;;;;;;;;;;AAqF1B,IAAA,MAAM,QAAW,GAAAA,UAAA,CAAOC,iBAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,UAAA,GAAaC,YAAoB,CAAA,OAAA,EAAC,YAAgC,CAAA,CAAA;AACxE,IAAM,MAAA,WAAA,GAAcA,sBAAiB,aAAa,CAAA,CAAA;AAElD,IAAA,MAAM,sBAAsBC,4BAAuB,EAAA,CAAA;AAMnD,IAAM,MAAA,mBAAA,GAAsBC,YAAiC,CAAA,MAAM,mBAAoB,CAAA,cAAA,CAAe,KAAM,CAAA,OAAO,CAAI,GAAA,iBAAiB,CAAK,IAAA,EAAE,CAAA,CAAA;AAE/I,IAAM,MAAA,iBAAA,GAAoBC,QAAI,KAAK,CAAA,CAAA;AACnC,IAAA,MAAM,aAAaA,OAAI,CAAA;AAAA,MACrB,IAAM,EAAA,EAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAA,MAAM,KAAQ,GAAA;AAAA,MACZ,IAAA,EAAM,CAAC,EAAE,QAAA,EAAU,MAAM,OAAS,EAAA,kDAAA,EAAY,OAAS,EAAA,MAAA,EAAQ,CAAA;AAAA,KACjE,CAAA;AAEA,IAAA,MAAM,uBAAuB,MAAM;AACjC,MAAA,iBAAA,CAAkB,KAAQ,GAAA,IAAA,CAAA;AAC1B,MAAA,UAAA,CAAW,MAAM,IAAO,GAAA,EAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,IAA+B,KAAA;AACpD,MAAS,QAAA,CAAA,QAAA,EAAU,OAAO,WAAc,IAAA,CAAA;AACxC,MAAW,KAAA,MAAA,GAAA,IAAO,KAAK,KAAO,EAAA;AAC5B,QAAI,IAAAC,cAAA,CAAO,KAAK,KAAO,EAAA,GAAG,KAAKA,cAAO,CAAA,WAAA,CAAY,KAAO,EAAA,GAAG,CAAG,EAAA;AAC7D,UAAA,WAAA,CAAY,KAAM,CAAA,GAAG,CAAI,GAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AAAA,SACzC;AAAA,OACF;AACA,MAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AACd,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE,CAAA;AACA,IAAM,MAAA,aAAA,GAAgBD,QAAI,KAAK,CAAA,CAAA;AAE/B,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,MAAM,SAAS,IAAK,CAAA,SAAA,CAAU,CAAC,EAAE,IAAA,EAAME,SAAU,EAAA,IAAA,EAAM,WAAW,KAAM,CAAA,IAAA,EAAM,OAAO,WAAY,CAAA,KAAA,IAAS,GAAG,mBAAA,CAAoB,KAAK,CAAC,CAAA,CAAA;AACvI,MAAA,OAAO,eAAe,MAAM,CAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,IAA+B,KAAA;AACpD,MAAOC,cAAA,CAAA,mBAAA,CAAoB,OAAO,IAAI,CAAA,CAAA;AACtC,MAAA,OAAO,cAAe,CAAA,IAAA,CAAK,SAAU,CAAA,mBAAA,CAAoB,KAAK,CAAC,CAAA,CAAA;AAAA,KACjE,CAAA;AAKA,IAAM,MAAA,WAAA,GAAcH,QAAI,KAAK,CAAA,CAAA;AAE7B,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAI,IAAA;AACF,QAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AACpB,QAAA,MAAM,oBAAoB,iBAAkB,CAAA;AAAA,UAC1C,UAAU,KAAM,CAAA,OAAA;AAAA,UAChB,IAAM,EAAA,iBAAA;AAAA,SACP,CAAA,CAAA;AACD,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AACpB,QAAAI,iBAAA,CAAU,QAAQ,0BAAM,CAAA,CAAA;AAAA,eACjB,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AACf,QAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAA;AAAA,OACtB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,cAAA,GAAiB,OAAO,KAAkB,KAAA;AAC9C,MAAI,IAAA;AACF,QAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,QAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAM,oBAAoB,iBAAkB,CAAA;AAAA,UAC3D,UAAU,KAAM,CAAA,OAAA;AAAA,UAChB,KAAA;AAAA,UACA,IAAM,EAAA,iBAAA;AAAA,SACP,CAAA,CAAA;AACD,QAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,QAAI,IAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AACrB,UAAA,OAAA;AAAA,SACF;AACA,QAAAA,iBAAA,CAAU,QAAQ,0BAAM,CAAA,CAAA;AACxB,QAAA,iBAAA,CAAkB,KAAQ,GAAA,KAAA,CAAA;AAAA,eACnB,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AACf,QAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AAAA,OACxB;AAAA,KACF,CAAA;AAEA,IAAA,SAAS,YAAe,GAAA;AACtB,MAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,UAAW,CAAA,KAAA,CAAA;AAAA,KACjC;AAEA,IAAA,SAAS,OAAU,GAAA;AACjB,MAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,KAChB;AACA,IAAAC,aAAA,CAAU,YAAY;AACpB,MAAA,IAAI,MAAM,SAAW,EAAA;AACnB,QAAA,MAAM,mBAAoB,CAAA,iBAAA,CAAkB,EAAE,QAAA,EAAU,KAAM,CAAA,OAAA,EAAS,IAAM,EAAA,iBAAA,EAAqB,EAAA,EAAE,YAAc,EAAA,IAAI,CAAA,CAAA;AAAA,OACxH;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -13,6 +13,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
13
13
  total: {
14
14
  type: NumberConstructor;
15
15
  };
16
+ immediate: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
16
20
  selectedCount: {
17
21
  type: NumberConstructor;
18
22
  };
@@ -37,6 +41,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
37
41
  total: {
38
42
  type: NumberConstructor;
39
43
  };
44
+ immediate: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
40
48
  selectedCount: {
41
49
  type: NumberConstructor;
42
50
  };
@@ -44,7 +52,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
44
52
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
45
53
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
46
54
  onGetList?: (() => any) | undefined;
47
- }, {}, true, {}, {}, {
55
+ }, {
56
+ immediate: boolean;
57
+ }, true, {}, {}, {
48
58
  P: {};
49
59
  B: {};
50
60
  D: {};
@@ -64,6 +74,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
64
74
  total: {
65
75
  type: NumberConstructor;
66
76
  };
77
+ immediate: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
67
81
  selectedCount: {
68
82
  type: NumberConstructor;
69
83
  };
@@ -71,7 +85,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
71
85
  "onUpdate:showSearch"?: ((showSearch: boolean) => any) | undefined;
72
86
  "onUpdate:queryParams"?: ((queryParams: any) => any) | undefined;
73
87
  onGetList?: (() => any) | undefined;
74
- }, {}, {}, {}, {}, {}>;
88
+ }, {}, {}, {}, {}, {
89
+ immediate: boolean;
90
+ }>;
75
91
  __isFragment?: undefined;
76
92
  __isTeleport?: undefined;
77
93
  __isSuspense?: undefined;
@@ -88,6 +104,10 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
88
104
  total: {
89
105
  type: NumberConstructor;
90
106
  };
107
+ immediate: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
91
111
  selectedCount: {
92
112
  type: NumberConstructor;
93
113
  };
@@ -99,7 +119,9 @@ export declare const GmTableToolbar: import("../../../../../utils").SFCWithInsta
99
119
  "update:showSearch": (showSearch: boolean) => void;
100
120
  "update:queryParams": (queryParams: any) => void;
101
121
  getList: () => void;
102
- }, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
122
+ }, string, {
123
+ immediate: boolean;
124
+ }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
103
125
  $slots: {
104
126
  default?(_: {}): any;
105
127
  };
@@ -10,6 +10,13 @@ export declare const tableToolbarProps: {
10
10
  total: {
11
11
  type: NumberConstructor;
12
12
  };
13
+ /**
14
+ * 是否立即获取远程 快速筛选列表
15
+ */
16
+ immediate: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
13
20
  /**
14
21
  * 已选择个数
15
22
  */
@@ -11,6 +11,13 @@ const tableToolbarProps = {
11
11
  total: {
12
12
  type: Number
13
13
  },
14
+ /**
15
+ * 是否立即获取远程 快速筛选列表
16
+ */
17
+ immediate: {
18
+ type: Boolean,
19
+ default: true
20
+ },
14
21
  /**
15
22
  * 已选择个数
16
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tableToolbar.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/tableToolbar.ts"],"sourcesContent":["// import { tableColumnEmits as elTableColumnEmits, tableColumnProps as elTableColumnProps } from 'element-plus';\n// import type { ExtractPropTypes } from 'vue';\n// import elTableProps from 'element-plus/es/components/table/src/table-column/defaults';\nimport type { ExtractPropTypes } from 'vue';\n\nexport const tableToolbarProps = {\n tableId: {\n type: String,\n required: true as const,\n },\n /**\n * 总数\n */\n total: {\n type: Number,\n },\n /**\n * 已选择个数\n */\n selectedCount: {\n type: Number,\n },\n};\nexport const tableToolbarEmits = {\n getList: async (): Promise<any> => {},\n};\nexport type TableToolbarProps = ExtractPropTypes<typeof tableToolbarProps>;\n"],"names":[],"mappings":";;AAKO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AACO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAS,YAA0B;AAAA,GAAC;AACtC;;;;;"}
1
+ {"version":3,"file":"tableToolbar.js","sources":["../../../../../../../../packages/components/src/composite/tablePro/tableToolbar/tableToolbar.ts"],"sourcesContent":["// import { tableColumnEmits as elTableColumnEmits, tableColumnProps as elTableColumnProps } from 'element-plus';\n// import type { ExtractPropTypes } from 'vue';\n// import elTableProps from 'element-plus/es/components/table/src/table-column/defaults';\nimport type { ExtractPropTypes } from 'vue';\n\nexport const tableToolbarProps = {\n tableId: {\n type: String,\n required: true as const,\n },\n /**\n * 总数\n */\n total: {\n type: Number,\n },\n /**\n * 是否立即获取远程 快速筛选列表\n */\n immediate: {\n type: Boolean,\n default: true,\n },\n /**\n * 已选择个数\n */\n selectedCount: {\n type: Number,\n },\n};\nexport const tableToolbarEmits = {\n getList: async (): Promise<any> => {},\n};\nexport type TableToolbarProps = ExtractPropTypes<typeof tableToolbarProps>;\n"],"names":[],"mappings":";;AAKO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,GACR;AACF,EAAA;AACO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAS,YAA0B;AAAA,GAAC;AACtC;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.7.16";
1
+ export declare const version = "0.7.18";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.7.15";
3
+ const version = "0.7.18";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.15';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.18';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
@@ -32,7 +32,9 @@ const useDictionary = (fieldCodes, options) => {
32
32
  };
33
33
  const immediate = options?.immediate ?? true;
34
34
  if (immediate) {
35
- getDictionary();
35
+ vue.nextTick(() => {
36
+ getDictionary();
37
+ });
36
38
  }
37
39
  return {
38
40
  dictionaryList,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/useDictionary/index.ts"],"sourcesContent":["import type { DataDictVo } from '@giime/api/guardBasic/interface';\nimport { usePostBasicV1DataDictionaryBatchDetailByCode } from '@giime/api/guardBasic/controller';\nimport { ref, computed } from 'vue';\n\nexport interface DictionaryOption {\n label: string;\n value: any;\n tagType?: 'success' | 'warning' | 'info' | 'primary' | 'danger';\n}\n/**字典 */\nexport const useDictionary = <T extends string>(fieldCodes: T[], options?: { immediate?: boolean }) => {\n const { exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();\n const isLoading = ref(false);\n const dictionaryList = ref<DataDictVo[]>([]);\n const dictionary = computed(() => {\n return dictionaryList.value.reduce(\n (acc, item) => {\n acc[item.fieldCode as T] =\n item?.values?.map(it => ({\n label: it.valueName,\n value: it.valueCode,\n tagType: it.tagType as DictionaryOption['tagType'],\n })) || [];\n\n return acc;\n },\n {} as Record<T, DictionaryOption[]>,\n );\n });\n const getDictionary = async () => {\n isLoading.value = true;\n try {\n const { data } = await getDictionaryExec({ fieldCodes });\n\n dictionaryList.value = data.value?.data || [];\n } finally {\n isLoading.value = false;\n }\n };\n const immediate = options?.immediate ?? true;\n if (immediate) {\n getDictionary();\n }\n\n return {\n dictionaryList,\n dictionary,\n isLoading,\n getDictionary,\n };\n};\n"],"names":["usePostBasicV1DataDictionaryBatchDetailByCode","ref","computed"],"mappings":";;;;;;AAUa,MAAA,aAAA,GAAgB,CAAmB,UAAA,EAAiB,OAAsC,KAAA;AACrG,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAkB,EAAA,GAAIA,2FAA8C,EAAA,CAAA;AAClF,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,cAAA,GAAiBA,OAAkB,CAAA,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,UAAA,GAAaC,aAAS,MAAM;AAChC,IAAA,OAAO,eAAe,KAAM,CAAA,MAAA;AAAA,MAC1B,CAAC,KAAK,IAAS,KAAA;AACb,QAAA,GAAA,CAAI,KAAK,SAAc,CAAA,GACrB,IAAM,EAAA,MAAA,EAAQ,IAAI,CAAO,EAAA,MAAA;AAAA,UACvB,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,SAAS,EAAG,CAAA,OAAA;AAAA,SACd,CAAE,KAAK,EAAC,CAAA;AAEV,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAAA,MACA,EAAC;AAAA,KACH,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,iBAAkB,CAAA,EAAE,YAAY,CAAA,CAAA;AAEvD,MAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAK,KAAO,EAAA,IAAA,IAAQ,EAAC,CAAA;AAAA,KAC5C,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,SAAS,SAAa,IAAA,IAAA,CAAA;AACxC,EAAA,IAAI,SAAW,EAAA;AACb,IAAc,aAAA,EAAA,CAAA;AAAA,GAChB;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/useDictionary/index.ts"],"sourcesContent":["import type { DataDictVo } from '@giime/api/guardBasic/interface';\nimport { usePostBasicV1DataDictionaryBatchDetailByCode } from '@giime/api/guardBasic/controller';\nimport { ref, computed, nextTick } from 'vue';\nimport { tryOnMounted } from '@vueuse/core';\n\nexport interface DictionaryOption {\n label: string;\n value: any;\n tagType?: 'success' | 'warning' | 'info' | 'primary' | 'danger';\n}\n/**字典 */\nexport const useDictionary = <T extends string>(fieldCodes: T[], options?: { immediate?: boolean }) => {\n const { exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();\n const isLoading = ref(false);\n const dictionaryList = ref<DataDictVo[]>([]);\n const dictionary = computed(() => {\n return dictionaryList.value.reduce(\n (acc, item) => {\n acc[item.fieldCode as T] =\n item?.values?.map(it => ({\n label: it.valueName,\n value: it.valueCode,\n tagType: it.tagType as DictionaryOption['tagType'],\n })) || [];\n\n return acc;\n },\n {} as Record<T, DictionaryOption[]>,\n );\n });\n const getDictionary = async () => {\n isLoading.value = true;\n try {\n const { data } = await getDictionaryExec({ fieldCodes });\n\n dictionaryList.value = data.value?.data || [];\n } finally {\n isLoading.value = false;\n }\n };\n const immediate = options?.immediate ?? true;\n if (immediate) {\n nextTick(() => {\n getDictionary();\n });\n }\n\n return {\n dictionaryList,\n dictionary,\n isLoading,\n getDictionary,\n };\n};\n"],"names":["usePostBasicV1DataDictionaryBatchDetailByCode","ref","computed","nextTick"],"mappings":";;;;;;AAWa,MAAA,aAAA,GAAgB,CAAmB,UAAA,EAAiB,OAAsC,KAAA;AACrG,EAAA,MAAM,EAAE,IAAA,EAAM,iBAAkB,EAAA,GAAIA,2FAA8C,EAAA,CAAA;AAClF,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,cAAA,GAAiBA,OAAkB,CAAA,EAAE,CAAA,CAAA;AAC3C,EAAM,MAAA,UAAA,GAAaC,aAAS,MAAM;AAChC,IAAA,OAAO,eAAe,KAAM,CAAA,MAAA;AAAA,MAC1B,CAAC,KAAK,IAAS,KAAA;AACb,QAAA,GAAA,CAAI,KAAK,SAAc,CAAA,GACrB,IAAM,EAAA,MAAA,EAAQ,IAAI,CAAO,EAAA,MAAA;AAAA,UACvB,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,OAAO,EAAG,CAAA,SAAA;AAAA,UACV,SAAS,EAAG,CAAA,OAAA;AAAA,SACd,CAAE,KAAK,EAAC,CAAA;AAEV,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAAA,MACA,EAAC;AAAA,KACH,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,iBAAkB,CAAA,EAAE,YAAY,CAAA,CAAA;AAEvD,MAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAK,KAAO,EAAA,IAAA,IAAQ,EAAC,CAAA;AAAA,KAC5C,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,SAAS,SAAa,IAAA,IAAA,CAAA;AACxC,EAAA,IAAI,SAAW,EAAA;AACb,IAAAC,YAAA,CAAS,MAAM;AACb,MAAc,aAAA,EAAA,CAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACH;AAEA,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -51,9 +51,10 @@ const useCustomSettingsStore = pinia.defineStore("gmCustomSettings", () => {
51
51
  customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;
52
52
  isLoadingKeyWords.value.delete(key_word);
53
53
  customResult.trigger({ key_word, type });
54
- } catch {
54
+ } catch (e) {
55
55
  isLoadingKeyWords.value.delete(key_word);
56
56
  customResult.trigger({ key_word, type });
57
+ throw e;
57
58
  }
58
59
  };
59
60
  const getCustomList = async (params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useCustomSettings/index.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { defineStore } from 'pinia';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type EventHookOn, type EventHookTrigger, createEventHook } from '@vueuse/core';\nimport { useIDBKeyval } from '@giime/hooks/base/useIDBKeyval';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getBasicV1ConfigFrontListCustom, postBasicV1ConfigFrontListCustom } from '@giime/api/guardBasic/controller';\nimport type { AddListCustomReq } from '@giime/api/guardBasic/interface';\n\ninterface CustomSettings {\n [key_word: string]: {\n [type: string]: any;\n };\n}\n\nexport interface GetCustomSettingsParams {\n key_word: string;\n type: string;\n}\n\nexport const useCustomSettingsStore = defineStore('gmCustomSettings', () => {\n // const customSettings = ref<CustomSettings>({});\n const { data: customSettings, initIndexedDBComplete } = useIDBKeyval<CustomSettings>('gmCustomSettingsStore', {}, { deep: true });\n const customResult = createEventHook<GetCustomSettingsParams>();\n /**\n * 正在loading的key_word\n */\n const isLoadingKeyWords = ref(new Set<string>());\n\n // 添加自定义设置\n const addCustomSettings = async (params: AddListCustomReq) => {\n const res = await postBasicV1ConfigFrontListCustom(params);\n if (res.data.code === 200) {\n if (!customSettings.value[params.key_word]) {\n customSettings.value[params.key_word] = {};\n }\n let value = params.value;\n try {\n value = JSON.parse(params.value);\n } catch {}\n customSettings.value[params.key_word][params.type] = value;\n }\n return res;\n };\n /**\n * 同步远程数据到本地\n */\n const syncRemoteSetting = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n isLoadingKeyWords.value.add(key_word);\n try {\n const { data } = await getBasicV1ConfigFrontListCustom({ key_word });\n if (data.code !== 200) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n return;\n }\n // 将json字符串转成对象\n for (const key in data.data) {\n if (hasOwn(data.data, key)) {\n const value = data.data[key];\n try {\n data.data[key] = JSON.parse(value);\n } catch {\n data.data[key] = value;\n }\n }\n }\n customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n } catch {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n }\n };\n // 获取自定义设置\n const getCustomList = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n // 等待indexedDB 初始化完成\n await initIndexedDBComplete();\n // 如果已存在\n if (customSettings.value[key_word] && hasOwn(customSettings.value[key_word], type)) {\n customResult.trigger({ key_word, type });\n return;\n }\n // 如果正在loading,则 等待之前请求的结果\n if (isLoadingKeyWords.value.has(key_word)) {\n await onCustomResultPromise({ key_word, type });\n return;\n }\n await syncRemoteSetting(params);\n };\n /**监听 已请求列表 promise版 */\n const onCustomResultPromise = (params: GetCustomSettingsParams) =>\n new Promise<GetCustomSettingsParams>(resolve => {\n customResult.on(value => {\n if (params.key_word === value.key_word) {\n resolve(value);\n }\n });\n });\n const getCustomSettings = async (params: GetCustomSettingsParams, options: { defaultValue: any }) => {\n await getCustomList(params);\n if (!customSettings.value[params.key_word]) {\n return;\n }\n if (!hasOwn(customSettings.value[params.key_word], params.type)) {\n customSettings.value[params.key_word][params.type] = options.defaultValue;\n }\n return customSettings.value[params.key_word][params.type];\n };\n\n return {\n addCustomSettings,\n getCustomSettings,\n syncRemoteSetting,\n customSettings,\n };\n});\n"],"names":["defineStore","useIDBKeyval","createEventHook","ref","postBasicV1ConfigFrontListCustom","getBasicV1ConfigFrontListCustom","hasOwn"],"mappings":";;;;;;;;;;;AAoBa,MAAA,sBAAA,GAAyBA,iBAAY,CAAA,kBAAA,EAAoB,MAAM;AAE1E,EAAA,MAAM,EAAE,IAAA,EAAM,cAAgB,EAAA,qBAAA,EAA0B,GAAAC,kBAAA,CAA6B,uBAAyB,EAAA,EAAI,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,CAAA,CAAA;AAChI,EAAA,MAAM,eAAeC,oBAAyC,EAAA,CAAA;AAI9D,EAAA,MAAM,iBAAoB,GAAAC,OAAA,iBAAQ,IAAA,GAAA,EAAa,CAAA,CAAA;AAG/C,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAA6B,KAAA;AAC5D,IAAM,MAAA,GAAA,GAAM,MAAMC,iEAAA,CAAiC,MAAM,CAAA,CAAA;AACzD,IAAI,IAAA,GAAA,CAAI,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AACzB,MAAA,IAAI,CAAC,cAAA,CAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAG,EAAA;AAC1C,QAAA,cAAA,CAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAA,GAAI,EAAC,CAAA;AAAA,OAC3C;AACA,MAAA,IAAI,QAAQ,MAAO,CAAA,KAAA,CAAA;AACnB,MAAI,IAAA;AACF,QAAQ,KAAA,GAAA,IAAA,CAAK,KAAM,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,OACzB,CAAA,MAAA;AAAA,OAAC;AACT,MAAA,cAAA,CAAe,MAAM,MAAO,CAAA,QAAQ,CAAE,CAAA,MAAA,CAAO,IAAI,CAAI,GAAA,KAAA,CAAA;AAAA,KACvD;AACA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,CAAA;AAIA,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAAoC,KAAA;AACnE,IAAM,MAAA,EAAE,QAAU,EAAA,IAAA,EAAS,GAAA,MAAA,CAAA;AAC3B,IAAkB,iBAAA,CAAA,KAAA,CAAM,IAAI,QAAQ,CAAA,CAAA;AACpC,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAMC,+DAAgC,CAAA,EAAE,UAAU,CAAA,CAAA;AACnE,MAAI,IAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AACrB,QAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACvC,QAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AACvC,QAAA,OAAA;AAAA,OACF;AAEA,MAAW,KAAA,MAAA,GAAA,IAAO,KAAK,IAAM,EAAA;AAC3B,QAAA,IAAIC,cAAO,CAAA,IAAA,CAAK,IAAM,EAAA,GAAG,CAAG,EAAA;AAC1B,UAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAC3B,UAAI,IAAA;AACF,YAAA,IAAA,CAAK,IAAK,CAAA,GAAG,CAAI,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,WAC3B,CAAA,MAAA;AACN,YAAK,IAAA,CAAA,IAAA,CAAK,GAAG,CAAI,GAAA,KAAA,CAAA;AAAA,WACnB;AAAA,SACF;AAAA,OACF;AACA,MAAe,cAAA,CAAA,KAAA,CAAM,QAAQ,CAAA,GAAI,KAAM,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,GAAI,EAAC,GAAI,IAAK,CAAA,IAAA,CAAA;AACtE,MAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACvC,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,KACjC,CAAA,MAAA;AACN,MAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACvC,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,KACzC;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,OAAO,MAAoC,KAAA;AAC/D,IAAM,MAAA,EAAE,QAAU,EAAA,IAAA,EAAS,GAAA,MAAA,CAAA;AAE3B,IAAA,MAAM,qBAAsB,EAAA,CAAA;AAE5B,IAAI,IAAA,cAAA,CAAe,KAAM,CAAA,QAAQ,CAAK,IAAAA,cAAA,CAAO,eAAe,KAAM,CAAA,QAAQ,CAAG,EAAA,IAAI,CAAG,EAAA;AAClF,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AACvC,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,iBAAkB,CAAA,KAAA,CAAM,GAAI,CAAA,QAAQ,CAAG,EAAA;AACzC,MAAA,MAAM,qBAAsB,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AAC9C,MAAA,OAAA;AAAA,KACF;AACA,IAAA,MAAM,kBAAkB,MAAM,CAAA,CAAA;AAAA,GAChC,CAAA;AAEA,EAAA,MAAM,qBAAwB,GAAA,CAAC,MAC7B,KAAA,IAAI,QAAiC,CAAW,OAAA,KAAA;AAC9C,IAAA,YAAA,CAAa,GAAG,CAAS,KAAA,KAAA;AACvB,MAAI,IAAA,MAAA,CAAO,QAAa,KAAA,KAAA,CAAM,QAAU,EAAA;AACtC,QAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,OACf;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACH,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAAA,EAAiC,OAAmC,KAAA;AACnG,IAAA,MAAM,cAAc,MAAM,CAAA,CAAA;AAC1B,IAAA,IAAI,CAAC,cAAA,CAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAG,EAAA;AAC1C,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,CAACA,eAAO,cAAe,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,EAAG,MAAO,CAAA,IAAI,CAAG,EAAA;AAC/D,MAAA,cAAA,CAAe,MAAM,MAAO,CAAA,QAAQ,EAAE,MAAO,CAAA,IAAI,IAAI,OAAQ,CAAA,YAAA,CAAA;AAAA,KAC/D;AACA,IAAA,OAAO,eAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAA,CAAE,OAAO,IAAI,CAAA,CAAA;AAAA,GAC1D,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useCustomSettings/index.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { defineStore } from 'pinia';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type EventHookOn, type EventHookTrigger, createEventHook } from '@vueuse/core';\nimport { useIDBKeyval } from '@giime/hooks/base/useIDBKeyval';\nimport { hasOwn } from '@giime/utils/src/objects';\nimport { getBasicV1ConfigFrontListCustom, postBasicV1ConfigFrontListCustom } from '@giime/api/guardBasic/controller';\nimport type { AddListCustomReq } from '@giime/api/guardBasic/interface';\n\ninterface CustomSettings {\n [key_word: string]: {\n [type: string]: any;\n };\n}\n\nexport interface GetCustomSettingsParams {\n key_word: string;\n type: string;\n}\n\nexport const useCustomSettingsStore = defineStore('gmCustomSettings', () => {\n // const customSettings = ref<CustomSettings>({});\n const { data: customSettings, initIndexedDBComplete } = useIDBKeyval<CustomSettings>('gmCustomSettingsStore', {}, { deep: true });\n const customResult = createEventHook<GetCustomSettingsParams>();\n /**\n * 正在loading的key_word\n */\n const isLoadingKeyWords = ref(new Set<string>());\n\n // 添加自定义设置\n const addCustomSettings = async (params: AddListCustomReq) => {\n const res = await postBasicV1ConfigFrontListCustom(params);\n if (res.data.code === 200) {\n if (!customSettings.value[params.key_word]) {\n customSettings.value[params.key_word] = {};\n }\n let value = params.value;\n try {\n value = JSON.parse(params.value);\n } catch {}\n customSettings.value[params.key_word][params.type] = value;\n }\n return res;\n };\n /**\n * 同步远程数据到本地\n */\n const syncRemoteSetting = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n isLoadingKeyWords.value.add(key_word);\n try {\n const { data } = await getBasicV1ConfigFrontListCustom({ key_word });\n if (data.code !== 200) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n return;\n }\n // 将json字符串转成对象\n for (const key in data.data) {\n if (hasOwn(data.data, key)) {\n const value = data.data[key];\n try {\n data.data[key] = JSON.parse(value);\n } catch {\n data.data[key] = value;\n }\n }\n }\n customSettings.value[key_word] = Array.isArray(data.data) ? {} : data.data;\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n } catch (e) {\n isLoadingKeyWords.value.delete(key_word);\n customResult.trigger({ key_word, type });\n throw e;\n }\n };\n // 获取自定义设置\n const getCustomList = async (params: GetCustomSettingsParams) => {\n const { key_word, type } = params;\n // 等待indexedDB 初始化完成\n await initIndexedDBComplete();\n // 如果已存在\n if (customSettings.value[key_word] && hasOwn(customSettings.value[key_word], type)) {\n customResult.trigger({ key_word, type });\n return;\n }\n // 如果正在loading,则 等待之前请求的结果\n if (isLoadingKeyWords.value.has(key_word)) {\n await onCustomResultPromise({ key_word, type });\n return;\n }\n await syncRemoteSetting(params);\n };\n /**监听 已请求列表 promise版 */\n const onCustomResultPromise = (params: GetCustomSettingsParams) =>\n new Promise<GetCustomSettingsParams>(resolve => {\n customResult.on(value => {\n if (params.key_word === value.key_word) {\n resolve(value);\n }\n });\n });\n const getCustomSettings = async (params: GetCustomSettingsParams, options: { defaultValue: any }) => {\n await getCustomList(params);\n if (!customSettings.value[params.key_word]) {\n return;\n }\n if (!hasOwn(customSettings.value[params.key_word], params.type)) {\n customSettings.value[params.key_word][params.type] = options.defaultValue;\n }\n return customSettings.value[params.key_word][params.type];\n };\n\n return {\n addCustomSettings,\n getCustomSettings,\n syncRemoteSetting,\n customSettings,\n };\n});\n"],"names":["defineStore","useIDBKeyval","createEventHook","ref","postBasicV1ConfigFrontListCustom","getBasicV1ConfigFrontListCustom","hasOwn"],"mappings":"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"}
package/lib/index.css CHANGED
@@ -962,7 +962,7 @@ video {
962
962
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
963
963
  display: none;
964
964
  }
965
- [data-v-488ca110] .gmSearchForm .el-form-item {
965
+ [data-v-d3111183] .gmSearchForm .el-form-item {
966
966
  margin-right: 0;
967
967
  margin-bottom: 4px;
968
968
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.7.16",
3
+ "version": "0.7.18",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",