giime 0.7.15 → 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 (36) hide show
  1. package/dist/index.css +82 -82
  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.d.ts +3 -1
  13. package/es/hooks/base/useDictionary/index.mjs +17 -6
  14. package/es/hooks/base/useDictionary/index.mjs.map +1 -1
  15. package/es/hooks/store/useCustomSettings/index.mjs +2 -1
  16. package/es/hooks/store/useCustomSettings/index.mjs.map +1 -1
  17. package/es/hooks/store/useLineList/index.d.ts +1 -1
  18. package/es/index.css +82 -82
  19. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
  20. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +3 -1
  21. package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
  22. package/lib/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
  23. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
  24. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js +7 -0
  25. package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js.map +1 -1
  26. package/lib/giime/version.d.ts +1 -1
  27. package/lib/giime/version.js +1 -1
  28. package/lib/giime/version.js.map +1 -1
  29. package/lib/hooks/base/useDictionary/index.d.ts +3 -1
  30. package/lib/hooks/base/useDictionary/index.js +16 -5
  31. package/lib/hooks/base/useDictionary/index.js.map +1 -1
  32. package/lib/hooks/store/useCustomSettings/index.js +2 -1
  33. package/lib/hooks/store/useCustomSettings/index.js.map +1 -1
  34. package/lib/hooks/store/useLineList/index.d.ts +1 -1
  35. package/lib/index.css +82 -82
  36. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -886,37 +886,6 @@ video {
886
886
  width: auto;
887
887
  height: auto;
888
888
  }
889
- .circular[data-v-d7b04fae] {
890
- animation: loading-rotate-d7b04fae 2s linear infinite;
891
- }
892
-
893
- .path[data-v-d7b04fae] {
894
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
895
- stroke-dasharray: 90, 150;
896
- stroke-dashoffset: 0;
897
- stroke: var(--el-color-primary);
898
- stroke-linecap: round;
899
- }
900
-
901
- @keyframes loading-rotate-d7b04fae {
902
- to {
903
- transform: rotate(360deg);
904
- }
905
- }
906
- @keyframes loading-dash-d7b04fae {
907
- 0% {
908
- stroke-dasharray: 1, 200;
909
- stroke-dashoffset: 0;
910
- }
911
- 50% {
912
- stroke-dasharray: 90, 150;
913
- stroke-dashoffset: -40px;
914
- }
915
- 100% {
916
- stroke-dasharray: 90, 150;
917
- stroke-dashoffset: -120px;
918
- }
919
- }
920
889
  .gm-upload-pro-file {
921
890
  line-height: normal;
922
891
  }
@@ -955,17 +924,48 @@ video {
955
924
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
956
925
  display: none;
957
926
  }
958
- .gm-flex-center[data-v-c17deec9] {
959
- align-items: center;
927
+ .circular[data-v-d7b04fae] {
928
+ animation: loading-rotate-d7b04fae 2s linear infinite;
960
929
  }
961
930
 
962
- .gm-flex-justify-between[data-v-c17deec9] {
963
- justify-content: space-between;
931
+ .path[data-v-d7b04fae] {
932
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
933
+ stroke-dasharray: 90, 150;
934
+ stroke-dashoffset: 0;
935
+ stroke: var(--el-color-primary);
936
+ stroke-linecap: round;
937
+ }
938
+
939
+ @keyframes loading-rotate-d7b04fae {
940
+ to {
941
+ transform: rotate(360deg);
942
+ }
943
+ }
944
+ @keyframes loading-dash-d7b04fae {
945
+ 0% {
946
+ stroke-dasharray: 1, 200;
947
+ stroke-dashoffset: 0;
948
+ }
949
+ 50% {
950
+ stroke-dasharray: 90, 150;
951
+ stroke-dashoffset: -40px;
952
+ }
953
+ 100% {
954
+ stroke-dasharray: 90, 150;
955
+ stroke-dashoffset: -120px;
956
+ }
964
957
  }
965
958
  [data-v-488ca110] .gmSearchForm .el-form-item {
966
959
  margin-right: 0;
967
960
  margin-bottom: 4px;
968
961
  }
962
+ .gm-flex-center[data-v-c17deec9] {
963
+ align-items: center;
964
+ }
965
+
966
+ .gm-flex-justify-between[data-v-c17deec9] {
967
+ justify-content: space-between;
968
+ }
969
969
  .gm-number-interval-single[data-v-4e6f4d6f] {
970
970
  border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
971
971
  box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
@@ -1015,29 +1015,6 @@ video {
1015
1015
  width: auto;
1016
1016
  height: auto;
1017
1017
  }
1018
- [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1019
- border-right: none;
1020
- }
1021
-
1022
- [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
1023
- height: 0;
1024
- }
1025
-
1026
- [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1027
- height: 0;
1028
- }
1029
-
1030
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
1031
- height: 0;
1032
- }
1033
-
1034
- [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
1035
- height: 0;
1036
- }
1037
-
1038
- [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1039
- height: 0;
1040
- }
1041
1018
  .gm-upload-file {
1042
1019
  line-height: normal;
1043
1020
  }
@@ -1073,6 +1050,29 @@ video {
1073
1050
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1074
1051
  display: none;
1075
1052
  }
1053
+ [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1054
+ border-right: none;
1055
+ }
1056
+
1057
+ [data-v-98c2e804] .gmTableNoBorder .el-table__inner-wrapper:before {
1058
+ height: 0;
1059
+ }
1060
+
1061
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1062
+ height: 0;
1063
+ }
1064
+
1065
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:after {
1066
+ height: 0;
1067
+ }
1068
+
1069
+ [data-v-98c2e804] .gmTableNoBorder.el-table--border:before {
1070
+ height: 0;
1071
+ }
1072
+
1073
+ [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1074
+ height: 0;
1075
+ }
1076
1076
 
1077
1077
  .pagination-container[data-v-47d35e7b] {
1078
1078
  background: #fff;
@@ -1083,112 +1083,112 @@ video {
1083
1083
  }
1084
1084
 
1085
1085
  @charset "UTF-8";
1086
- .table-custom-header-drawer .el-drawer__header {
1086
+ .custom-operate-drawer .el-drawer__header {
1087
1087
  padding: 10px 15px;
1088
1088
  margin: 0;
1089
1089
  border-bottom: 1px solid #ebeef5;
1090
1090
  }
1091
- .table-custom-header-drawer .el-drawer__title {
1091
+ .custom-operate-drawer .el-drawer__title {
1092
1092
  font-size: 14px;
1093
1093
  color: #333;
1094
1094
  }
1095
- .table-custom-header-drawer .el-drawer__body {
1095
+ .custom-operate-drawer .el-drawer__body {
1096
1096
  padding: 15px;
1097
1097
  }
1098
- .table-custom-header-drawer .el-drawer__footer {
1098
+ .custom-operate-drawer .el-drawer__footer {
1099
1099
  padding: 10px 15px;
1100
1100
  border-top: 1px solid #ebeef5;
1101
1101
  }
1102
- .table-custom-header-drawer .el-checkbox {
1102
+ .custom-operate-drawer .el-checkbox {
1103
1103
  display: flex;
1104
1104
  align-items: center;
1105
1105
  }
1106
- .table-custom-header-drawer .el-input__inner {
1106
+ .custom-operate-drawer .el-input__inner {
1107
1107
  text-align: center;
1108
1108
  }
1109
- .table-custom-header-drawer .el-input__suffix {
1109
+ .custom-operate-drawer .el-input__suffix {
1110
1110
  position: absolute;
1111
1111
  right: 10px;
1112
1112
  }
1113
- .table-custom-header-drawer .custom-content li {
1113
+ .custom-operate-drawer .custom-content li {
1114
1114
  display: flex;
1115
1115
  align-items: center;
1116
1116
  justify-content: center;
1117
1117
  height: 44px;
1118
1118
  }
1119
- .table-custom-header-drawer .custom-group {
1119
+ .custom-operate-drawer .custom-group {
1120
1120
  max-height: calc(100vh - 226px);
1121
1121
  overflow-y: auto;
1122
1122
  }
1123
- .table-custom-header-drawer .custom-group::-webkit-scrollbar {
1123
+ .custom-operate-drawer .custom-group::-webkit-scrollbar {
1124
1124
  /*滚动条整体样式*/
1125
1125
  width: 4px;
1126
1126
  /*高宽分别对应横竖滚动条的尺寸*/
1127
1127
  height: 1px;
1128
1128
  }
1129
- .table-custom-header-drawer .custom-group::-webkit-scrollbar-thumb {
1129
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1130
1130
  /*滚动条里面小方块*/
1131
1131
  border-radius: 10px;
1132
1132
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1133
1133
  background: #999;
1134
1134
  }
1135
- .table-custom-header-drawer .custom-group::-webkit-scrollbar-track {
1135
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1136
1136
  /*滚动条里面轨道*/
1137
1137
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1138
1138
  border-radius: 10px;
1139
1139
  background: #eee;
1140
1140
  }
1141
1141
  @charset "UTF-8";
1142
- .custom-operate-drawer .el-drawer__header {
1142
+ .table-custom-header-drawer .el-drawer__header {
1143
1143
  padding: 10px 15px;
1144
1144
  margin: 0;
1145
1145
  border-bottom: 1px solid #ebeef5;
1146
1146
  }
1147
- .custom-operate-drawer .el-drawer__title {
1147
+ .table-custom-header-drawer .el-drawer__title {
1148
1148
  font-size: 14px;
1149
1149
  color: #333;
1150
1150
  }
1151
- .custom-operate-drawer .el-drawer__body {
1151
+ .table-custom-header-drawer .el-drawer__body {
1152
1152
  padding: 15px;
1153
1153
  }
1154
- .custom-operate-drawer .el-drawer__footer {
1154
+ .table-custom-header-drawer .el-drawer__footer {
1155
1155
  padding: 10px 15px;
1156
1156
  border-top: 1px solid #ebeef5;
1157
1157
  }
1158
- .custom-operate-drawer .el-checkbox {
1158
+ .table-custom-header-drawer .el-checkbox {
1159
1159
  display: flex;
1160
1160
  align-items: center;
1161
1161
  }
1162
- .custom-operate-drawer .el-input__inner {
1162
+ .table-custom-header-drawer .el-input__inner {
1163
1163
  text-align: center;
1164
1164
  }
1165
- .custom-operate-drawer .el-input__suffix {
1165
+ .table-custom-header-drawer .el-input__suffix {
1166
1166
  position: absolute;
1167
1167
  right: 10px;
1168
1168
  }
1169
- .custom-operate-drawer .custom-content li {
1169
+ .table-custom-header-drawer .custom-content li {
1170
1170
  display: flex;
1171
1171
  align-items: center;
1172
1172
  justify-content: center;
1173
1173
  height: 44px;
1174
1174
  }
1175
- .custom-operate-drawer .custom-group {
1175
+ .table-custom-header-drawer .custom-group {
1176
1176
  max-height: calc(100vh - 226px);
1177
1177
  overflow-y: auto;
1178
1178
  }
1179
- .custom-operate-drawer .custom-group::-webkit-scrollbar {
1179
+ .table-custom-header-drawer .custom-group::-webkit-scrollbar {
1180
1180
  /*滚动条整体样式*/
1181
1181
  width: 4px;
1182
1182
  /*高宽分别对应横竖滚动条的尺寸*/
1183
1183
  height: 1px;
1184
1184
  }
1185
- .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1185
+ .table-custom-header-drawer .custom-group::-webkit-scrollbar-thumb {
1186
1186
  /*滚动条里面小方块*/
1187
1187
  border-radius: 10px;
1188
1188
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1189
1189
  background: #999;
1190
1190
  }
1191
- .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1191
+ .table-custom-header-drawer .custom-group::-webkit-scrollbar-track {
1192
1192
  /*滚动条里面轨道*/
1193
1193
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1194
1194
  border-radius: 10px;
@@ -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.15";
1
+ export declare const version = "0.7.17";
@@ -1,4 +1,4 @@
1
- const version = "0.7.14";
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.14';\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;;;;"}
@@ -4,7 +4,9 @@ export interface DictionaryOption {
4
4
  tagType?: 'success' | 'warning' | 'info' | 'primary' | 'danger';
5
5
  }
6
6
  /**字典 */
7
- export declare const useDictionary: <T extends string>(fieldCodes: T[]) => {
7
+ export declare const useDictionary: <T extends string>(fieldCodes: T[], options?: {
8
+ immediate?: boolean;
9
+ }) => {
8
10
  dictionaryList: import("vue").Ref<{
9
11
  id: number;
10
12
  fieldName: string;
@@ -1,9 +1,10 @@
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
- const useDictionary = (fieldCodes) => {
6
- const { isLoading, exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();
5
+ const useDictionary = (fieldCodes, options) => {
6
+ const { exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();
7
+ const isLoading = ref(false);
7
8
  const dictionaryList = ref([]);
8
9
  const dictionary = computed(() => {
9
10
  return dictionaryList.value.reduce(
@@ -19,10 +20,20 @@ const useDictionary = (fieldCodes) => {
19
20
  );
20
21
  });
21
22
  const getDictionary = async () => {
22
- const { data } = await getDictionaryExec({ fieldCodes });
23
- dictionaryList.value = data.value?.data || [];
23
+ isLoading.value = true;
24
+ try {
25
+ const { data } = await getDictionaryExec({ fieldCodes });
26
+ dictionaryList.value = data.value?.data || [];
27
+ } finally {
28
+ isLoading.value = false;
29
+ }
24
30
  };
25
- getDictionary();
31
+ const immediate = options?.immediate ?? true;
32
+ if (immediate) {
33
+ nextTick(() => {
34
+ getDictionary();
35
+ });
36
+ }
26
37
  return {
27
38
  dictionaryList,
28
39
  dictionary,
@@ -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[]) => {\n const { isLoading, exec: getDictionaryExec } = usePostBasicV1DataDictionaryBatchDetailByCode();\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 const { data } = await getDictionaryExec({ fieldCodes });\n\n dictionaryList.value = data.value?.data || [];\n };\n\n getDictionary();\n\n return {\n dictionaryList,\n dictionary,\n isLoading,\n getDictionary,\n };\n};\n"],"names":[],"mappings":";;;;AAUa,MAAA,aAAA,GAAgB,CAAmB,UAAoB,KAAA;AAClE,EAAA,MAAM,EAAE,SAAA,EAAW,IAAM,EAAA,iBAAA,KAAsB,6CAA8C,EAAA,CAAA;AAC7F,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,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,iBAAkB,CAAA,EAAE,YAAY,CAAA,CAAA;AAEvD,IAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAK,KAAO,EAAA,IAAA,IAAQ,EAAC,CAAA;AAAA,GAC9C,CAAA;AAEA,EAAc,aAAA,EAAA,CAAA;AAEd,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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"}
@@ -5,7 +5,7 @@ export declare const useLineListStore: import("pinia").StoreDefinition<"gmLineLi
5
5
  lineList: import("@vueuse/shared").RemovableRef<PostShopAdminStoreFilterResponseDataLine[]>;
6
6
  isLoading: import("vue").Ref<boolean>;
7
7
  getLineList: () => Promise<void>;
8
- }, "isLoading" | "lineList">>, Pick<{
8
+ }, "lineList" | "isLoading">>, Pick<{
9
9
  lineList: import("@vueuse/shared").RemovableRef<PostShopAdminStoreFilterResponseDataLine[]>;
10
10
  isLoading: import("vue").Ref<boolean>;
11
11
  getLineList: () => Promise<void>;