giime 0.7.16 → 0.7.17

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 (32) hide show
  1. package/dist/index.css +115 -115
  2. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
  3. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs +3 -1
  4. package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs.map +1 -1
  5. package/es/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
  6. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
  7. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs +7 -0
  8. package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs.map +1 -1
  9. package/es/giime/version.d.ts +1 -1
  10. package/es/giime/version.mjs +1 -1
  11. package/es/giime/version.mjs.map +1 -1
  12. package/es/hooks/base/useDictionary/index.mjs +4 -2
  13. package/es/hooks/base/useDictionary/index.mjs.map +1 -1
  14. package/es/hooks/store/useCustomSettings/index.mjs +2 -1
  15. package/es/hooks/store/useCustomSettings/index.mjs.map +1 -1
  16. package/es/index.css +115 -115
  17. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
  18. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +3 -1
  19. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
  20. package/lib/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
  21. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
  22. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js +7 -0
  23. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js.map +1 -1
  24. package/lib/giime/version.d.ts +1 -1
  25. package/lib/giime/version.js +1 -1
  26. package/lib/giime/version.js.map +1 -1
  27. package/lib/hooks/base/useDictionary/index.js +3 -1
  28. package/lib/hooks/base/useDictionary/index.js.map +1 -1
  29. package/lib/hooks/store/useCustomSettings/index.js +2 -1
  30. package/lib/hooks/store/useCustomSettings/index.js.map +1 -1
  31. package/lib/index.css +115 -115
  32. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -873,12 +873,56 @@ video {
873
873
  .gm-group:hover .group-hover\:gm-block {
874
874
  display: block;
875
875
  }
876
- .gm-flex-center[data-v-c17deec9] {
877
- align-items: center;
876
+
877
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
878
+ margin: 0;
878
879
  }
879
880
 
880
- .gm-flex-justify-between[data-v-c17deec9] {
881
- justify-content: space-between;
881
+ .gm-upload-pro-preview-dialog[data-v-80b383d8] [data-v-80b383d8] .el-dialog__body {
882
+ padding: 0;
883
+ }
884
+
885
+ .gm-upload-pro-file-picture-card[data-v-80b383d8] [data-v-80b383d8] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-80b383d8] [data-v-80b383d8] .el-upload--picture-card {
886
+ width: auto;
887
+ height: auto;
888
+ }
889
+ .gm-upload-pro-file {
890
+ line-height: normal;
891
+ }
892
+ .gm-upload-pro-file .el-checkbox-group {
893
+ font-size: unset;
894
+ }
895
+ .gm-upload-pro-file .el-checkbox {
896
+ position: absolute;
897
+ left: 10px;
898
+ top: 0;
899
+ z-index: 9;
900
+ }
901
+ .gm-upload-pro-file .el-upload-list--picture-card {
902
+ gap: 10px;
903
+ }
904
+ .gm-upload-pro-file .el-upload-list__item {
905
+ margin: 0;
906
+ }
907
+ .gm-upload-pro-file .el-upload-list__item-file-name {
908
+ line-height: 1.7;
909
+ }
910
+ .gm-upload-pro-file .el-upload-dragger {
911
+ padding: 0;
912
+ border: none;
913
+ width: 100%;
914
+ height: 100%;
915
+ display: flex;
916
+ }
917
+ .gm-upload-pro-file .el-upload--picture-card {
918
+ border: none;
919
+ }
920
+
921
+ .gm-upload-pro-file-disabled .el-upload--picture-card {
922
+ display: none;
923
+ }
924
+ .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
925
+ display: none;
882
926
  }
883
927
  .circular[data-v-d7b04fae] {
884
928
  animation: loading-rotate-d7b04fae 2s linear infinite;
@@ -911,82 +955,122 @@ video {
911
955
  stroke-dashoffset: -120px;
912
956
  }
913
957
  }
958
+ [data-v-488ca110] .gmSearchForm .el-form-item {
959
+ margin-right: 0;
960
+ margin-bottom: 4px;
961
+ }
962
+ .gm-flex-center[data-v-c17deec9] {
963
+ align-items: center;
964
+ }
914
965
 
915
- .gm-range-number .el-form-item[data-v-1ae16d96] {
916
- margin: 0;
966
+ .gm-flex-justify-between[data-v-c17deec9] {
967
+ justify-content: space-between;
968
+ }
969
+ .gm-number-interval-single[data-v-4e6f4d6f] {
970
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
972
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
973
+ }
974
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
975
+ box-shadow: none;
976
+ background: none;
917
977
  }
918
978
 
919
- .gm-upload-pro-preview-dialog[data-v-80b383d8] [data-v-80b383d8] .el-dialog__body {
979
+ .gm-number-interval-close[data-v-4e6f4d6f] {
980
+ display: none;
981
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
982
+ }
983
+
984
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
985
+ display: flex;
986
+ }
987
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
988
+ border-right: none;
989
+ }
990
+
991
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
992
+ height: 0;
993
+ }
994
+
995
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
996
+ height: 0;
997
+ }
998
+
999
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1000
+ height: 0;
1001
+ }
1002
+
1003
+ [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1004
+ height: 0;
1005
+ }
1006
+
1007
+ [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1008
+ height: 0;
1009
+ }
1010
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
920
1011
  padding: 0;
921
1012
  }
922
1013
 
923
- .gm-upload-pro-file-picture-card[data-v-80b383d8] [data-v-80b383d8] .el-upload-list__item, .gm-upload-pro-file-picture-card[data-v-80b383d8] [data-v-80b383d8] .el-upload--picture-card {
1014
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
924
1015
  width: auto;
925
1016
  height: auto;
926
1017
  }
927
- .gm-upload-pro-file {
1018
+ .gm-upload-file {
928
1019
  line-height: normal;
929
1020
  }
930
- .gm-upload-pro-file .el-checkbox-group {
931
- font-size: unset;
932
- }
933
- .gm-upload-pro-file .el-checkbox {
1021
+ .gm-upload-file .el-checkbox {
934
1022
  position: absolute;
935
1023
  left: 10px;
936
1024
  top: 0;
937
1025
  z-index: 9;
938
1026
  }
939
- .gm-upload-pro-file .el-upload-list--picture-card {
1027
+ .gm-upload-file .el-upload-list--picture-card {
940
1028
  gap: 10px;
941
1029
  }
942
- .gm-upload-pro-file .el-upload-list__item {
1030
+ .gm-upload-file .el-upload-list__item {
943
1031
  margin: 0;
944
1032
  }
945
- .gm-upload-pro-file .el-upload-list__item-file-name {
946
- line-height: 1.7;
1033
+ .gm-upload-file .el-upload-list__item-file-name {
1034
+ line-height: normal;
947
1035
  }
948
- .gm-upload-pro-file .el-upload-dragger {
1036
+ .gm-upload-file .el-upload-dragger {
949
1037
  padding: 0;
950
1038
  border: none;
951
1039
  width: 100%;
952
1040
  height: 100%;
953
1041
  display: flex;
954
1042
  }
955
- .gm-upload-pro-file .el-upload--picture-card {
1043
+ .gm-upload-file .el-upload--picture-card {
956
1044
  border: none;
957
1045
  }
958
1046
 
959
- .gm-upload-pro-file-disabled .el-upload--picture-card {
1047
+ .gm-upload-file-disabled .el-upload--picture-card {
960
1048
  display: none;
961
1049
  }
962
- .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
1050
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
963
1051
  display: none;
964
1052
  }
965
- [data-v-488ca110] .gmSearchForm .el-form-item {
966
- margin-right: 0;
967
- margin-bottom: 4px;
968
- }
969
- [data-v-2c351ff8] .gmTableNoBorder .el-table__body .el-table__cell {
1053
+ [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
970
1054
  border-right: none;
971
1055
  }
972
1056
 
973
- [data-v-2c351ff8] .gmTableNoBorder .el-table__inner-wrapper:before {
1057
+ [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
974
1058
  height: 0;
975
1059
  }
976
1060
 
977
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1061
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
978
1062
  height: 0;
979
1063
  }
980
1064
 
981
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:after {
1065
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
982
1066
  height: 0;
983
1067
  }
984
1068
 
985
- [data-v-2c351ff8] .gmTableNoBorder.el-table--border:before {
1069
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
986
1070
  height: 0;
987
1071
  }
988
1072
 
989
- [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1073
+ [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
990
1074
  height: 0;
991
1075
  }
992
1076
 
@@ -998,24 +1082,6 @@ video {
998
1082
  display: none;
999
1083
  }
1000
1084
 
1001
- .gm-number-interval-single[data-v-4e6f4d6f] {
1002
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
1003
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
1004
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
1005
- }
1006
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
1007
- box-shadow: none;
1008
- background: none;
1009
- }
1010
-
1011
- .gm-number-interval-close[data-v-4e6f4d6f] {
1012
- display: none;
1013
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
1014
- }
1015
-
1016
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1017
- display: flex;
1018
- }
1019
1085
  @charset "UTF-8";
1020
1086
  .custom-operate-drawer .el-drawer__header {
1021
1087
  padding: 10px 15px;
@@ -1072,29 +1138,6 @@ video {
1072
1138
  border-radius: 10px;
1073
1139
  background: #eee;
1074
1140
  }
1075
- [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1076
- border-right: none;
1077
- }
1078
-
1079
- [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
1080
- height: 0;
1081
- }
1082
-
1083
- [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1084
- height: 0;
1085
- }
1086
-
1087
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
1088
- height: 0;
1089
- }
1090
-
1091
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
1092
- height: 0;
1093
- }
1094
-
1095
- [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1096
- height: 0;
1097
- }
1098
1141
  @charset "UTF-8";
1099
1142
  .table-custom-header-drawer .el-drawer__header {
1100
1143
  padding: 10px 15px;
@@ -1150,47 +1193,4 @@ video {
1150
1193
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1151
1194
  border-radius: 10px;
1152
1195
  background: #eee;
1153
- }
1154
- .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
1155
- padding: 0;
1156
- }
1157
-
1158
- .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
1159
- width: auto;
1160
- height: auto;
1161
- }
1162
- .gm-upload-file {
1163
- line-height: normal;
1164
- }
1165
- .gm-upload-file .el-checkbox {
1166
- position: absolute;
1167
- left: 10px;
1168
- top: 0;
1169
- z-index: 9;
1170
- }
1171
- .gm-upload-file .el-upload-list--picture-card {
1172
- gap: 10px;
1173
- }
1174
- .gm-upload-file .el-upload-list__item {
1175
- margin: 0;
1176
- }
1177
- .gm-upload-file .el-upload-list__item-file-name {
1178
- line-height: normal;
1179
- }
1180
- .gm-upload-file .el-upload-dragger {
1181
- padding: 0;
1182
- border: none;
1183
- width: 100%;
1184
- height: 100%;
1185
- display: flex;
1186
- }
1187
- .gm-upload-file .el-upload--picture-card {
1188
- border: none;
1189
- }
1190
-
1191
- .gm-upload-file-disabled .el-upload--picture-card {
1192
- display: none;
1193
- }
1194
- .gm-upload-file-disabled .el-upload-list__item-status-label {
1195
- display: none;
1196
1196
  }
@@ -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.17";
@@ -1,4 +1,4 @@
1
- const version = "0.7.15";
1
+ const version = "0.7.16";
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.16';\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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"}