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.
- package/dist/index.css +82 -82
- package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
- package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs +3 -1
- package/es/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
- package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
- package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs +7 -0
- package/es/components/src/composite/tablePro/tableToolbar/tableToolbar.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useDictionary/index.d.ts +3 -1
- package/es/hooks/base/useDictionary/index.mjs +17 -6
- package/es/hooks/base/useDictionary/index.mjs.map +1 -1
- package/es/hooks/store/useCustomSettings/index.mjs +2 -1
- package/es/hooks/store/useCustomSettings/index.mjs.map +1 -1
- package/es/hooks/store/useLineList/index.d.ts +1 -1
- package/es/index.css +82 -82
- package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue.d.ts +11 -1
- package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js +3 -1
- package/lib/components/src/composite/tablePro/tableToolbar/TableToolbar.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/tableToolbar/index.d.ts +25 -3
- package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.d.ts +7 -0
- package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js +7 -0
- package/lib/components/src/composite/tablePro/tableToolbar/tableToolbar.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useDictionary/index.d.ts +3 -1
- package/lib/hooks/base/useDictionary/index.js +16 -5
- package/lib/hooks/base/useDictionary/index.js.map +1 -1
- package/lib/hooks/store/useCustomSettings/index.js +2 -1
- package/lib/hooks/store/useCustomSettings/index.js.map +1 -1
- package/lib/hooks/store/useLineList/index.d.ts +1 -1
- package/lib/index.css +82 -82
- 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
|
-
.
|
|
959
|
-
|
|
927
|
+
.circular[data-v-d7b04fae] {
|
|
928
|
+
animation: loading-rotate-d7b04fae 2s linear infinite;
|
|
960
929
|
}
|
|
961
930
|
|
|
962
|
-
.
|
|
963
|
-
|
|
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
|
-
.
|
|
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
|
-
.
|
|
1091
|
+
.custom-operate-drawer .el-drawer__title {
|
|
1092
1092
|
font-size: 14px;
|
|
1093
1093
|
color: #333;
|
|
1094
1094
|
}
|
|
1095
|
-
.
|
|
1095
|
+
.custom-operate-drawer .el-drawer__body {
|
|
1096
1096
|
padding: 15px;
|
|
1097
1097
|
}
|
|
1098
|
-
.
|
|
1098
|
+
.custom-operate-drawer .el-drawer__footer {
|
|
1099
1099
|
padding: 10px 15px;
|
|
1100
1100
|
border-top: 1px solid #ebeef5;
|
|
1101
1101
|
}
|
|
1102
|
-
.
|
|
1102
|
+
.custom-operate-drawer .el-checkbox {
|
|
1103
1103
|
display: flex;
|
|
1104
1104
|
align-items: center;
|
|
1105
1105
|
}
|
|
1106
|
-
.
|
|
1106
|
+
.custom-operate-drawer .el-input__inner {
|
|
1107
1107
|
text-align: center;
|
|
1108
1108
|
}
|
|
1109
|
-
.
|
|
1109
|
+
.custom-operate-drawer .el-input__suffix {
|
|
1110
1110
|
position: absolute;
|
|
1111
1111
|
right: 10px;
|
|
1112
1112
|
}
|
|
1113
|
-
.
|
|
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
|
-
.
|
|
1119
|
+
.custom-operate-drawer .custom-group {
|
|
1120
1120
|
max-height: calc(100vh - 226px);
|
|
1121
1121
|
overflow-y: auto;
|
|
1122
1122
|
}
|
|
1123
|
-
.
|
|
1123
|
+
.custom-operate-drawer .custom-group::-webkit-scrollbar {
|
|
1124
1124
|
/*滚动条整体样式*/
|
|
1125
1125
|
width: 4px;
|
|
1126
1126
|
/*高宽分别对应横竖滚动条的尺寸*/
|
|
1127
1127
|
height: 1px;
|
|
1128
1128
|
}
|
|
1129
|
-
.
|
|
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
|
-
.
|
|
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-
|
|
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-
|
|
1147
|
+
.table-custom-header-drawer .el-drawer__title {
|
|
1148
1148
|
font-size: 14px;
|
|
1149
1149
|
color: #333;
|
|
1150
1150
|
}
|
|
1151
|
-
.custom-
|
|
1151
|
+
.table-custom-header-drawer .el-drawer__body {
|
|
1152
1152
|
padding: 15px;
|
|
1153
1153
|
}
|
|
1154
|
-
.custom-
|
|
1154
|
+
.table-custom-header-drawer .el-drawer__footer {
|
|
1155
1155
|
padding: 10px 15px;
|
|
1156
1156
|
border-top: 1px solid #ebeef5;
|
|
1157
1157
|
}
|
|
1158
|
-
.custom-
|
|
1158
|
+
.table-custom-header-drawer .el-checkbox {
|
|
1159
1159
|
display: flex;
|
|
1160
1160
|
align-items: center;
|
|
1161
1161
|
}
|
|
1162
|
-
.custom-
|
|
1162
|
+
.table-custom-header-drawer .el-input__inner {
|
|
1163
1163
|
text-align: center;
|
|
1164
1164
|
}
|
|
1165
|
-
.custom-
|
|
1165
|
+
.table-custom-header-drawer .el-input__suffix {
|
|
1166
1166
|
position: absolute;
|
|
1167
1167
|
right: 10px;
|
|
1168
1168
|
}
|
|
1169
|
-
.custom-
|
|
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-
|
|
1175
|
+
.table-custom-header-drawer .custom-group {
|
|
1176
1176
|
max-height: calc(100vh - 226px);
|
|
1177
1177
|
overflow-y: auto;
|
|
1178
1178
|
}
|
|
1179
|
-
.custom-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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
|
-
}, {
|
|
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, {
|
|
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
|
};
|
|
@@ -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;;;;"}
|
package/es/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.7.
|
|
1
|
+
export declare const version = "0.7.17";
|
package/es/giime/version.mjs
CHANGED
package/es/giime/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.
|
|
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 {
|
|
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
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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 {
|
|
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":";;;;;;;;;AAoBa,MAAA,sBAAA,GAAyB,WAAY,CAAA,kBAAA,EAAoB,MAAM;AAE1E,EAAA,MAAM,EAAE,IAAA,EAAM,cAAgB,EAAA,qBAAA,EAA0B,GAAA,YAAA,CAA6B,uBAAyB,EAAA,EAAI,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,CAAA,CAAA;AAChI,EAAA,MAAM,eAAe,eAAyC,EAAA,CAAA;AAI9D,EAAA,MAAM,iBAAoB,GAAA,GAAA,iBAAQ,IAAA,GAAA,EAAa,CAAA,CAAA;AAG/C,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAA6B,KAAA;AAC5D,IAAM,MAAA,GAAA,GAAM,MAAM,gCAAA,CAAiC,MAAM,CAAA,CAAA;AACzD,IAAI,IAAA,GAAA,CAAI,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AACzB,MAAA,IAAI,CAAC,cAAA,CAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAG,EAAA;AAC1C,QAAA,cAAA,CAAe,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAA,GAAI,EAAC,CAAA;AAAA,OAC3C;AACA,MAAA,IAAI,QAAQ,MAAO,CAAA,KAAA,CAAA;AACnB,MAAI,IAAA;AACF,QAAQ,KAAA,GAAA,IAAA,CAAK,KAAM,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,OACzB,CAAA,MAAA;AAAA,OAAC;AACT,MAAA,cAAA,CAAe,MAAM,MAAO,CAAA,QAAQ,CAAE,CAAA,MAAA,CAAO,IAAI,CAAI,GAAA,KAAA,CAAA;AAAA,KACvD;AACA,IAAO,OAAA,GAAA,CAAA;AAAA,GACT,CAAA;AAIA,EAAM,MAAA,iBAAA,GAAoB,OAAO,MAAoC,KAAA;AACnE,IAAM,MAAA,EAAE,QAAU,EAAA,IAAA,EAAS,GAAA,MAAA,CAAA;AAC3B,IAAkB,iBAAA,CAAA,KAAA,CAAM,IAAI,QAAQ,CAAA,CAAA;AACpC,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAK,EAAA,GAAI,MAAM,+BAAgC,CAAA,EAAE,UAAU,CAAA,CAAA;AACnE,MAAI,IAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AACrB,QAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACvC,QAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AACvC,QAAA,OAAA;AAAA,OACF;AAEA,MAAW,KAAA,MAAA,GAAA,IAAO,KAAK,IAAM,EAAA;AAC3B,QAAA,IAAI,MAAO,CAAA,IAAA,CAAK,IAAM,EAAA,GAAG,CAAG,EAAA;AAC1B,UAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAC3B,UAAI,IAAA;AACF,YAAA,IAAA,CAAK,IAAK,CAAA,GAAG,CAAI,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,WAC3B,CAAA,MAAA;AACN,YAAK,IAAA,CAAA,IAAA,CAAK,GAAG,CAAI,GAAA,KAAA,CAAA;AAAA,WACnB;AAAA,SACF;AAAA,OACF;AACA,MAAe,cAAA,CAAA,KAAA,CAAM,QAAQ,CAAA,GAAI,KAAM,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,GAAI,EAAC,GAAI,IAAK,CAAA,IAAA,CAAA;AACtE,MAAkB,iBAAA,CAAA,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACvC,MAAA,YAAA,CAAa,OAAQ,CAAA,EAAE,QAAU,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,
|
|
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
|
-
}, "
|
|
8
|
+
}, "lineList" | "isLoading">>, Pick<{
|
|
9
9
|
lineList: import("@vueuse/shared").RemovableRef<PostShopAdminStoreFilterResponseDataLine[]>;
|
|
10
10
|
isLoading: import("vue").Ref<boolean>;
|
|
11
11
|
getLineList: () => Promise<void>;
|