giime 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/index.css +135 -136
  2. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs +1 -1
  3. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs.map +1 -1
  4. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs +3 -3
  5. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs.map +1 -1
  6. package/es/giime/index.mjs +1 -0
  7. package/es/giime/index.mjs.map +1 -1
  8. package/es/giime/version.d.ts +1 -1
  9. package/es/giime/version.mjs +1 -1
  10. package/es/giime/version.mjs.map +1 -1
  11. package/es/index.css +135 -136
  12. package/es/utils/__tests__/tree.test.d.ts +1 -0
  13. package/es/utils/index.mjs +1 -0
  14. package/es/utils/index.mjs.map +1 -1
  15. package/es/utils/src/tree/flattenTree.d.ts +9 -0
  16. package/es/utils/src/tree/flattenTree.mjs +19 -0
  17. package/es/utils/src/tree/flattenTree.mjs.map +1 -0
  18. package/es/utils/src/tree/index.d.ts +1 -0
  19. package/es/utils/src/tree/index.mjs +1 -0
  20. package/es/utils/src/tree/index.mjs.map +1 -1
  21. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js +1 -1
  22. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js.map +1 -1
  23. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +3 -3
  24. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -1
  25. package/lib/giime/index.js +2 -0
  26. package/lib/giime/index.js.map +1 -1
  27. package/lib/giime/version.d.ts +1 -1
  28. package/lib/giime/version.js +1 -1
  29. package/lib/giime/version.js.map +1 -1
  30. package/lib/index.css +135 -136
  31. package/lib/utils/__tests__/tree.test.d.ts +1 -0
  32. package/lib/utils/index.js +2 -0
  33. package/lib/utils/index.js.map +1 -1
  34. package/lib/utils/src/tree/flattenTree.d.ts +9 -0
  35. package/lib/utils/src/tree/flattenTree.js +21 -0
  36. package/lib/utils/src/tree/flattenTree.js.map +1 -0
  37. package/lib/utils/src/tree/index.d.ts +1 -0
  38. package/lib/utils/src/tree/index.js +2 -0
  39. package/lib/utils/src/tree/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/theme-chalk/element/index.scss +4 -4
  42. package/theme-chalk/index.css +2 -2
package/es/index.css CHANGED
@@ -883,49 +883,24 @@ video {
883
883
  .gm-group:hover .group-hover\:gm-block {
884
884
  display: block;
885
885
  }
886
- .gm-flex-center[data-v-c17deec9] {
887
- align-items: center;
888
- }
889
-
890
- .gm-flex-justify-between[data-v-c17deec9] {
891
- justify-content: space-between;
892
- }
893
- .circular[data-v-d7b04fae] {
894
- animation: loading-rotate-d7b04fae 2s linear infinite;
886
+ .gm-number-interval-single[data-v-4e6f4d6f] {
887
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
888
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
889
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
895
890
  }
896
-
897
- .path[data-v-d7b04fae] {
898
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
899
- stroke-dasharray: 90, 150;
900
- stroke-dashoffset: 0;
901
- stroke: var(--el-color-primary);
902
- stroke-linecap: round;
891
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
892
+ box-shadow: none;
893
+ background: none;
903
894
  }
904
895
 
905
- @keyframes loading-rotate-d7b04fae {
906
- to {
907
- transform: rotate(360deg);
908
- }
909
- }
910
- @keyframes loading-dash-d7b04fae {
911
- 0% {
912
- stroke-dasharray: 1, 200;
913
- stroke-dashoffset: 0;
914
- }
915
- 50% {
916
- stroke-dasharray: 90, 150;
917
- stroke-dashoffset: -40px;
918
- }
919
- 100% {
920
- stroke-dasharray: 90, 150;
921
- stroke-dashoffset: -120px;
922
- }
896
+ .gm-number-interval-close[data-v-4e6f4d6f] {
897
+ display: none;
898
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
923
899
  }
924
900
 
925
- .gm-range-number .el-form-item[data-v-1ae16d96] {
926
- margin: 0;
901
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
902
+ display: flex;
927
903
  }
928
-
929
904
  .gm-upload-pro-preview-dialog[data-v-80b383d8] [data-v-80b383d8] .el-dialog__body {
930
905
  padding: 0;
931
906
  }
@@ -972,6 +947,13 @@ video {
972
947
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
973
948
  display: none;
974
949
  }
950
+ .gm-flex-center[data-v-c17deec9] {
951
+ align-items: center;
952
+ }
953
+
954
+ .gm-flex-justify-between[data-v-c17deec9] {
955
+ justify-content: space-between;
956
+ }
975
957
  [data-v-d3111183] .gmSearchForm .el-form-item {
976
958
  margin-right: 0;
977
959
  margin-bottom: 4px;
@@ -999,88 +981,48 @@ video {
999
981
  [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1000
982
  height: 0;
1001
983
  }
1002
-
1003
- .pagination-container[data-v-47d35e7b] {
1004
- background: #fff;
1005
- padding-top: 12px;
1006
- }
1007
- .pagination-container.hidden[data-v-47d35e7b] {
1008
- display: none;
984
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
985
+ padding: 0;
1009
986
  }
1010
987
 
1011
- .gm-number-interval-single[data-v-4e6f4d6f] {
1012
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
1013
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
1014
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
988
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
989
+ width: auto;
990
+ height: auto;
1015
991
  }
1016
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
1017
- box-shadow: none;
1018
- background: none;
992
+ .gm-upload-file {
993
+ line-height: normal;
1019
994
  }
1020
-
1021
- .gm-number-interval-close[data-v-4e6f4d6f] {
1022
- display: none;
1023
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
995
+ .gm-upload-file .el-checkbox {
996
+ position: absolute;
997
+ left: 10px;
998
+ top: 0;
999
+ z-index: 9;
1024
1000
  }
1025
-
1026
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1027
- display: flex;
1001
+ .gm-upload-file .el-upload-list--picture-card {
1002
+ gap: 10px;
1028
1003
  }
1029
- @charset "UTF-8";
1030
- .custom-operate-drawer .el-drawer__header {
1031
- padding: 10px 15px;
1004
+ .gm-upload-file .el-upload-list__item {
1032
1005
  margin: 0;
1033
- border-bottom: 1px solid #ebeef5;
1034
- }
1035
- .custom-operate-drawer .el-drawer__title {
1036
- font-size: 14px;
1037
- color: #333;
1038
1006
  }
1039
- .custom-operate-drawer .el-drawer__body {
1040
- padding: 15px;
1041
- }
1042
- .custom-operate-drawer .el-drawer__footer {
1043
- padding: 10px 15px;
1044
- border-top: 1px solid #ebeef5;
1045
- }
1046
- .custom-operate-drawer .el-checkbox {
1047
- display: flex;
1048
- align-items: center;
1049
- }
1050
- .custom-operate-drawer .el-input__inner {
1051
- text-align: center;
1052
- }
1053
- .custom-operate-drawer .el-input__suffix {
1054
- position: absolute;
1055
- right: 10px;
1007
+ .gm-upload-file .el-upload-list__item-file-name {
1008
+ line-height: normal;
1056
1009
  }
1057
- .custom-operate-drawer .custom-content li {
1010
+ .gm-upload-file .el-upload-dragger {
1011
+ padding: 0;
1012
+ border: none;
1013
+ width: 100%;
1014
+ height: 100%;
1058
1015
  display: flex;
1059
- align-items: center;
1060
- justify-content: center;
1061
- height: 44px;
1062
- }
1063
- .custom-operate-drawer .custom-group {
1064
- max-height: calc(100vh - 226px);
1065
- overflow-y: auto;
1066
1016
  }
1067
- .custom-operate-drawer .custom-group::-webkit-scrollbar {
1068
- /*滚动条整体样式*/
1069
- width: 4px;
1070
- /*高宽分别对应横竖滚动条的尺寸*/
1071
- height: 1px;
1017
+ .gm-upload-file .el-upload--picture-card {
1018
+ border: none;
1072
1019
  }
1073
- .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1074
- /*滚动条里面小方块*/
1075
- border-radius: 10px;
1076
- box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1077
- background: #999;
1020
+
1021
+ .gm-upload-file-disabled .el-upload--picture-card {
1022
+ display: none;
1078
1023
  }
1079
- .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1080
- /*滚动条里面轨道*/
1081
- box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1082
- border-radius: 10px;
1083
- background: #eee;
1024
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
1025
+ display: none;
1084
1026
  }
1085
1027
  [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1086
1028
  border-right: none;
@@ -1105,6 +1047,42 @@ video {
1105
1047
  [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1106
1048
  height: 0;
1107
1049
  }
1050
+
1051
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
1052
+ margin: 0;
1053
+ }
1054
+
1055
+ .circular[data-v-d7b04fae] {
1056
+ animation: loading-rotate-d7b04fae 2s linear infinite;
1057
+ }
1058
+
1059
+ .path[data-v-d7b04fae] {
1060
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1061
+ stroke-dasharray: 90, 150;
1062
+ stroke-dashoffset: 0;
1063
+ stroke: var(--el-color-primary);
1064
+ stroke-linecap: round;
1065
+ }
1066
+
1067
+ @keyframes loading-rotate-d7b04fae {
1068
+ to {
1069
+ transform: rotate(360deg);
1070
+ }
1071
+ }
1072
+ @keyframes loading-dash-d7b04fae {
1073
+ 0% {
1074
+ stroke-dasharray: 1, 200;
1075
+ stroke-dashoffset: 0;
1076
+ }
1077
+ 50% {
1078
+ stroke-dasharray: 90, 150;
1079
+ stroke-dashoffset: -40px;
1080
+ }
1081
+ 100% {
1082
+ stroke-dasharray: 90, 150;
1083
+ stroke-dashoffset: -120px;
1084
+ }
1085
+ }
1108
1086
  @charset "UTF-8";
1109
1087
  .table-custom-header-drawer .el-drawer__header {
1110
1088
  padding: 10px 15px;
@@ -1161,46 +1139,67 @@ video {
1161
1139
  border-radius: 10px;
1162
1140
  background: #eee;
1163
1141
  }
1164
- .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
1165
- padding: 0;
1142
+ @charset "UTF-8";
1143
+ .custom-operate-drawer .el-drawer__header {
1144
+ padding: 10px 15px;
1145
+ margin: 0;
1146
+ border-bottom: 1px solid #ebeef5;
1166
1147
  }
1167
-
1168
- .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
1169
- width: auto;
1170
- height: auto;
1148
+ .custom-operate-drawer .el-drawer__title {
1149
+ font-size: 14px;
1150
+ color: #333;
1171
1151
  }
1172
- .gm-upload-file {
1173
- line-height: normal;
1152
+ .custom-operate-drawer .el-drawer__body {
1153
+ padding: 15px;
1174
1154
  }
1175
- .gm-upload-file .el-checkbox {
1176
- position: absolute;
1177
- left: 10px;
1178
- top: 0;
1179
- z-index: 9;
1155
+ .custom-operate-drawer .el-drawer__footer {
1156
+ padding: 10px 15px;
1157
+ border-top: 1px solid #ebeef5;
1180
1158
  }
1181
- .gm-upload-file .el-upload-list--picture-card {
1182
- gap: 10px;
1159
+ .custom-operate-drawer .el-checkbox {
1160
+ display: flex;
1161
+ align-items: center;
1183
1162
  }
1184
- .gm-upload-file .el-upload-list__item {
1185
- margin: 0;
1163
+ .custom-operate-drawer .el-input__inner {
1164
+ text-align: center;
1186
1165
  }
1187
- .gm-upload-file .el-upload-list__item-file-name {
1188
- line-height: normal;
1166
+ .custom-operate-drawer .el-input__suffix {
1167
+ position: absolute;
1168
+ right: 10px;
1189
1169
  }
1190
- .gm-upload-file .el-upload-dragger {
1191
- padding: 0;
1192
- border: none;
1193
- width: 100%;
1194
- height: 100%;
1170
+ .custom-operate-drawer .custom-content li {
1195
1171
  display: flex;
1172
+ align-items: center;
1173
+ justify-content: center;
1174
+ height: 44px;
1196
1175
  }
1197
- .gm-upload-file .el-upload--picture-card {
1198
- border: none;
1176
+ .custom-operate-drawer .custom-group {
1177
+ max-height: calc(100vh - 226px);
1178
+ overflow-y: auto;
1179
+ }
1180
+ .custom-operate-drawer .custom-group::-webkit-scrollbar {
1181
+ /*滚动条整体样式*/
1182
+ width: 4px;
1183
+ /*高宽分别对应横竖滚动条的尺寸*/
1184
+ height: 1px;
1185
+ }
1186
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1187
+ /*滚动条里面小方块*/
1188
+ border-radius: 10px;
1189
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1190
+ background: #999;
1191
+ }
1192
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1193
+ /*滚动条里面轨道*/
1194
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1195
+ border-radius: 10px;
1196
+ background: #eee;
1199
1197
  }
1200
1198
 
1201
- .gm-upload-file-disabled .el-upload--picture-card {
1202
- display: none;
1199
+ .pagination-container[data-v-47d35e7b] {
1200
+ background: #fff;
1201
+ padding-top: 12px;
1203
1202
  }
1204
- .gm-upload-file-disabled .el-upload-list__item-status-label {
1203
+ .pagination-container.hidden[data-v-47d35e7b] {
1205
1204
  display: none;
1206
- }
1205
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -32,6 +32,7 @@ export { any_hmac_sha1, any_sha1, b64_hmac_sha1, b64_sha1, hex_hmac_sha1, hex_sh
32
32
  export { base64ToString, base64ToUint8Array, isBase64, stringToBase64, stringToBase64URI, uint8ArrayToBase64 } from './src/crypto/base64.mjs';
33
33
  export { filterTreeByName } from './src/tree/filterTreeByName.mjs';
34
34
  export { findChildrenItem } from './src/tree/findChildrenItem.mjs';
35
+ export { flattenTree } from './src/tree/flattenTree.mjs';
35
36
  export { integerPattern, moneyPattern, nonNegativeIntegerPattern, nonNegativeNumberPattern, nonZeroNumberPattern, numberPattern, positiveIntegerPattern, positiveNumberPattern } from './src/regexPatterns/number.mjs';
36
37
  export { base64Pattern, domainPattern, emailPattern, urlPattern } from './src/regexPatterns/url.mjs';
37
38
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 将树形结构打平为一维数组
3
+ * @param treeData 树形数据数组
4
+ * @param option 配置项,可指定 children 字段名
5
+ * @returns 打平后的一维数组(不包含 children 字段)
6
+ */
7
+ export declare function flattenTree<T extends Record<string, any>>(treeData: T[], option?: {
8
+ children?: string;
9
+ }): T[];
@@ -0,0 +1,19 @@
1
+ function flattenTree(treeData, option) {
2
+ const childrenField = option?.children || "children";
3
+ const result = [];
4
+ function flatten(nodes) {
5
+ for (const node of nodes) {
6
+ const currentNode = node;
7
+ const { [childrenField]: children, ...rest } = currentNode;
8
+ result.push(rest);
9
+ if (children && Array.isArray(children)) {
10
+ flatten(children);
11
+ }
12
+ }
13
+ }
14
+ flatten(treeData);
15
+ return result;
16
+ }
17
+
18
+ export { flattenTree };
19
+ //# sourceMappingURL=flattenTree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenTree.mjs","sources":["../../../../../../packages/utils/src/tree/flattenTree.ts"],"sourcesContent":["/**\n * 将树形结构打平为一维数组\n * @param treeData 树形数据数组\n * @param option 配置项,可指定 children 字段名\n * @returns 打平后的一维数组(不包含 children 字段)\n */\nexport function flattenTree<T extends Record<string, any>>(treeData: T[], option?: { children?: string }): T[] {\n const childrenField = option?.children || 'children';\n const result: any[] = [];\n\n /**\n * 递归打平节点\n * @param nodes 当前层级的节点数组\n */\n function flatten(nodes: T[]) {\n for (const node of nodes) {\n const currentNode = node as Record<string, any>;\n\n // 复制节点,排除 children 字段\n const { [childrenField]: children, ...rest } = currentNode;\n\n result.push(rest);\n\n // 如果有子节点,递归处理\n if (children && Array.isArray(children)) {\n flatten(children);\n }\n }\n }\n\n flatten(treeData);\n\n return result;\n}\n"],"names":[],"mappings":"AAMO,SAAS,WAAA,CAA2C,UAAe,MAAA,EAAqC;AAC7G,EAAA,MAAM,aAAA,GAAgB,QAAQ,QAAA,IAAY,UAAA;AAC1C,EAAA,MAAM,SAAgB,EAAC;AAMvB,EAAA,SAAS,QAAQ,KAAA,EAAY;AAC3B,IAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,MAAA,MAAM,WAAA,GAAc,IAAA;AAGpB,MAAA,MAAM,EAAE,CAAC,aAAa,GAAG,QAAA,EAAU,GAAG,MAAK,GAAI,WAAA;AAE/C,MAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAGhB,MAAA,IAAI,QAAA,IAAY,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACvC,QAAA,OAAA,CAAQ,QAAQ,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,QAAQ,CAAA;AAEhB,EAAA,OAAO,MAAA;AACT;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from './filterTreeByName';
2
2
  export * from './findChildrenItem';
3
+ export * from './flattenTree';
@@ -1,3 +1,4 @@
1
1
  export { filterTreeByName } from './filterTreeByName.mjs';
2
2
  export { findChildrenItem } from './findChildrenItem.mjs';
3
+ export { flattenTree } from './flattenTree.mjs';
3
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -442,7 +442,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
442
442
  }, 1032, ["visible", "onUpdate:visible"])
443
443
  ]),
444
444
  vue.createElementVNode("li", _hoisted_13, [
445
- vue.createVNode(_component_el_icon, { color: "#0000FF" }, {
445
+ vue.createVNode(_component_el_icon, { color: "#217efd" }, {
446
446
  default: vue.withCtx(() => [
447
447
  vue.createVNode(vue.unref(iconsVue.Rank))
448
448
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"CustomOperate.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tableCustom/customOperate/CustomOperate.vue"],"sourcesContent":["<template>\n <gm-drawer v-model=\"isShowDrawer\" title=\"自定义按钮\" direction=\"rtl\" size=\"500px\" append-to-body destroy-on-close class=\"custom-operate-drawer\">\n <div class=\"gm-mb-4 gm-flex gm-items-center gm-gap-2 gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]\">\n <gm-icon><InfoFilled /></gm-icon>\n <p>\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\n </p>\n <div class=\"gm-font-bold gm-text-amber-400\">点击按钮可修改当前按钮颜色!</div>\n </div>\n\n <div class=\"custom-content gm-text-sm\">\n <ul\n class=\"gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]\"\n :style=\"titleStyle\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"checkedAll\" :indeterminate=\"isIndeterminate\" @change=\"handleCheckAllChange\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-white\">列名</li>\n <li class=\"gm-w-32 gm-border-l gm-border-white\">拖地调整顺序</li>\n </ul>\n <transition-group class=\"custom-group gm-border-b gm-border-gray-200 gm-text-gray-600\" name=\"sort\" tag=\"div\">\n <ul\n v-for=\"(item, index) in clonedCustomBtnList\"\n :key=\"item.prop\"\n class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\"\n :draggable=\"true\"\n @dragstart=\"dragstart(item)\"\n @dragenter=\"dragenter(item, $event)\"\n @dragend=\"dragend\"\n @dragover=\"dragover($event)\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">\n <gm-popover v-model:visible=\"popoverVisibles[index]\" placement=\"bottom\" :width=\"330\" trigger=\"click\">\n <template #reference>\n <gm-button :type=\"item.type || 'primary'\" link size=\"small\">\n {{ item.label }}\n </gm-button>\n </template>\n <div class=\"p-1\">\n <div class=\"text-[14px] gm-mb-2\">点击下列色块可修改按钮颜色</div>\n <gm-button type=\"primary\" size=\"small\" @click=\"setBtnType(item, index, 'primary')\"> 蓝色 </gm-button>\n <gm-button type=\"success\" size=\"small\" @click=\"setBtnType(item, index, 'success')\"> 绿色 </gm-button>\n <gm-button type=\"info\" size=\"small\" @click=\"setBtnType(item, index, 'info')\"> 灰色 </gm-button>\n <gm-button type=\"warning\" size=\"small\" @click=\"setBtnType(item, index, 'warning')\"> 橙色 </gm-button>\n <gm-button type=\"danger\" size=\"small\" @click=\"setBtnType(item, index, 'danger')\"> 红色 </gm-button>\n </div>\n </gm-popover>\n </li>\n <li class=\"gm-w-32 gm-cursor-grabbing gm-border-l gm-border-gray-200\">\n <el-icon color=\"#0000FF\"><Rank /></el-icon>\n </li>\n </ul>\n </transition-group>\n </div>\n <template #footer>\n <div class=\"gm-flex gm-justify-between\">\n <div>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n <div>\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onSubmit\">保存</gm-button>\n </div>\n </div>\n </template>\n </gm-drawer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useCustomSettingsStore } from '@giime/hooks';\nimport { cloneDeep } from 'lodash-es';\nimport { useCloned } from '@vueuse/core';\nimport { type CheckboxValueType } from 'element-plus';\nimport { InfoFilled, Rank } from '@element-plus/icons-vue';\nimport { customOperateProps } from './customOperate';\nimport type { CustomOperateButtonProps } from './customOperate';\n\ndefineOptions({\n name: 'GmCustomOperate',\n});\n/**\n * 抽屉显示\n */\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\n required: true,\n});\n/**\n * 自定义按钮 props列表\n */\nconst customBtnPropsList = defineModel<CustomOperateButtonProps[]>('customBtnPropsList', {\n required: true,\n});\n\nconst props = defineProps(customOperateProps);\nconst customSettingsStore = useCustomSettingsStore();\n\n/**\n * 数据是否初始化完成\n */\nconst isInited = ref(false);\n/**内部克隆一份,当点击保存时 应用修改的内容 */\nconst { cloned: clonedCustomBtnList } = useCloned(customBtnPropsList);\n\nconst defaultPropsList = computed(() => cloneDeep(props.customDefaultPropsList));\n// 按钮弹出框显示隐藏\nconst popoverVisibles = ref<boolean[]>(defaultPropsList.value.map(() => false));\n// 根据props列表 初始化popo显示隐藏\nwatch(defaultPropsList, () => {\n popoverVisibles.value = defaultPropsList.value.map(() => false);\n});\n\n// 重新打开弹窗时, 克隆一份新数据\nwatch(isShowDrawer, newValue => {\n if (newValue) {\n clonedCustomBtnList.value = cloneDeep(customBtnPropsList.value);\n }\n});\n\nconst customSettingsValue = computed<CustomOperateButtonProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\n\nconst updateOperate = () => {\n customBtnPropsList.value = clonedCustomBtnList.value;\n};\n\nconst initOperate = async () => {\n try {\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\n } catch {}\n\n const clonedDefaultOperate = cloneDeep(props.customDefaultPropsList);\n\n let operate = clonedDefaultOperate;\n\n if (clonedStore.value.length) {\n operate = [];\n clonedStore.value.forEach(it => {\n const index = clonedDefaultOperate.findIndex(v => v.prop === it.prop);\n if (index > -1) {\n const item = clonedDefaultOperate.splice(index, 1)[0];\n\n operate.push({\n ...item,\n ...it,\n label: item.label,\n });\n }\n });\n clonedCustomBtnList.value = [...operate, ...clonedDefaultOperate];\n }\n\n updateOperate();\n isInited.value = true;\n};\n\n/** 设置表头位置样式,调整表格对齐 */\nconst titleStyle = computed(() => {\n const h = props.customDefaultPropsList.length * 44;\n const H = document.documentElement.clientHeight || document.body.clientHeight;\n return h > H - 240 ? { paddingRight: '4px' } : { paddingRight: 0 };\n});\n\n// 已选中条数\nconst checkedNumber = computed(() => {\n return clonedCustomBtnList.value.filter(v => v.isShow).length;\n});\n// 全选\nconst checkedAll = computed({\n get() {\n return clonedCustomBtnList.value.every(v => v.isShow);\n },\n set(value: CheckboxValueType) {\n clonedCustomBtnList.value.forEach(v => {\n v.isShow = Boolean(value);\n });\n },\n});\n// 半选\nconst isIndeterminate = computed(() => !checkedAll.value && clonedCustomBtnList.value.some(v => v.isShow));\n// 切换全选\nconst handleCheckAllChange = (val: CheckboxValueType) => {\n clonedCustomBtnList.value.forEach(v => {\n v.isShow = Boolean(val);\n });\n};\n\n// 设置按钮颜色\nconst setBtnType = (item: CustomOperateButtonProps, index: number, type: CustomOperateButtonProps['type']) => {\n item.type = type;\n popoverVisibles.value[index] = false;\n};\n\n/** 拖拽开始 */\nconst start = ref<CustomOperateButtonProps>();\nconst end = ref<CustomOperateButtonProps>();\nconst dragstart = (item: CustomOperateButtonProps) => {\n document.body.style.userSelect = 'none';\n start.value = item;\n};\n/** 拖拽过程 */\nconst dragenter = (item: CustomOperateButtonProps, e: DragEvent) => {\n end.value = item;\n e.preventDefault();\n};\n/** 拖拽结束 */\nconst dragend = () => {\n document.body.style.userSelect = 'text';\n if (start.value === end.value) return;\n if (start.value && end.value) {\n const oldIndex: number = clonedCustomBtnList.value.findIndex(v => v.prop === start.value?.prop);\n const newIndex: number = clonedCustomBtnList.value.findIndex(v => v.prop === end.value?.prop);\n const newItems = [...clonedCustomBtnList.value];\n // 删除老节点\n newItems.splice(oldIndex, 1);\n\n // 目标位置新增节点\n newItems.splice(newIndex, 0, start.value);\n clonedCustomBtnList.value = [...newItems];\n }\n};\n/** 拖拽事件 */\nconst dragover = (e: DragEvent) => {\n e.preventDefault();\n};\n\nconst submitLoading = ref(false);\n// 保存\nconst onSubmit = async () => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.keyWord,\n value: JSON.stringify(clonedCustomBtnList.value),\n type: props.type,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n isShowDrawer.value = false;\n updateOperate();\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n\n// 重置\nconst onReset = () => {\n clonedCustomBtnList.value = cloneDeep(props.customDefaultPropsList);\n};\n\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n submitLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.keyWord,\n type: props.type,\n });\n submitLoading.value = false;\n initOperate();\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n\nonMounted(() => {\n if (props.disabledRemoteBtn) {\n isInited.value = true;\n } else {\n initOperate();\n }\n});\ndefineExpose({\n isInited,\n});\n</script>\n\n<style lang=\"scss\">\n.custom-operate-drawer {\n .el-drawer__header {\n padding: 10px 15px;\n margin: 0;\n border-bottom: 1px solid #ebeef5;\n }\n .el-drawer__title {\n font-size: 14px;\n color: #333;\n }\n .el-drawer__body {\n padding: 15px;\n }\n .el-drawer__footer {\n padding: 10px 15px;\n border-top: 1px solid #ebeef5;\n }\n .el-checkbox {\n display: flex;\n align-items: center;\n }\n .el-input__inner {\n text-align: center;\n }\n .el-input__suffix {\n position: absolute;\n right: 10px;\n }\n .custom-content {\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 44px;\n }\n }\n .custom-group {\n max-height: calc(100vh - 226px);\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 4px;\n /*高宽分别对应横竖滚动条的尺寸*/\n height: 1px;\n }\n\n &::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);\n background: #999;\n }\n\n &::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n background: #eee;\n }\n }\n}\n</style>\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","computed","cloneDeep","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"CustomOperate.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tableCustom/customOperate/CustomOperate.vue"],"sourcesContent":["<template>\n <gm-drawer v-model=\"isShowDrawer\" title=\"自定义按钮\" direction=\"rtl\" size=\"500px\" append-to-body destroy-on-close class=\"custom-operate-drawer\">\n <div class=\"gm-mb-4 gm-flex gm-items-center gm-gap-2 gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]\">\n <gm-icon><InfoFilled /></gm-icon>\n <p>\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\n </p>\n <div class=\"gm-font-bold gm-text-amber-400\">点击按钮可修改当前按钮颜色!</div>\n </div>\n\n <div class=\"custom-content gm-text-sm\">\n <ul\n class=\"gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]\"\n :style=\"titleStyle\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"checkedAll\" :indeterminate=\"isIndeterminate\" @change=\"handleCheckAllChange\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-white\">列名</li>\n <li class=\"gm-w-32 gm-border-l gm-border-white\">拖地调整顺序</li>\n </ul>\n <transition-group class=\"custom-group gm-border-b gm-border-gray-200 gm-text-gray-600\" name=\"sort\" tag=\"div\">\n <ul\n v-for=\"(item, index) in clonedCustomBtnList\"\n :key=\"item.prop\"\n class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\"\n :draggable=\"true\"\n @dragstart=\"dragstart(item)\"\n @dragenter=\"dragenter(item, $event)\"\n @dragend=\"dragend\"\n @dragover=\"dragover($event)\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">\n <gm-popover v-model:visible=\"popoverVisibles[index]\" placement=\"bottom\" :width=\"330\" trigger=\"click\">\n <template #reference>\n <gm-button :type=\"item.type || 'primary'\" link size=\"small\">\n {{ item.label }}\n </gm-button>\n </template>\n <div class=\"p-1\">\n <div class=\"text-[14px] gm-mb-2\">点击下列色块可修改按钮颜色</div>\n <gm-button type=\"primary\" size=\"small\" @click=\"setBtnType(item, index, 'primary')\"> 蓝色 </gm-button>\n <gm-button type=\"success\" size=\"small\" @click=\"setBtnType(item, index, 'success')\"> 绿色 </gm-button>\n <gm-button type=\"info\" size=\"small\" @click=\"setBtnType(item, index, 'info')\"> 灰色 </gm-button>\n <gm-button type=\"warning\" size=\"small\" @click=\"setBtnType(item, index, 'warning')\"> 橙色 </gm-button>\n <gm-button type=\"danger\" size=\"small\" @click=\"setBtnType(item, index, 'danger')\"> 红色 </gm-button>\n </div>\n </gm-popover>\n </li>\n <li class=\"gm-w-32 gm-cursor-grabbing gm-border-l gm-border-gray-200\">\n <el-icon color=\"#217efd\"><Rank /></el-icon>\n </li>\n </ul>\n </transition-group>\n </div>\n <template #footer>\n <div class=\"gm-flex gm-justify-between\">\n <div>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n <div>\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onSubmit\">保存</gm-button>\n </div>\n </div>\n </template>\n </gm-drawer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useCustomSettingsStore } from '@giime/hooks';\nimport { cloneDeep } from 'lodash-es';\nimport { useCloned } from '@vueuse/core';\nimport { type CheckboxValueType } from 'element-plus';\nimport { InfoFilled, Rank } from '@element-plus/icons-vue';\nimport { customOperateProps } from './customOperate';\nimport type { CustomOperateButtonProps } from './customOperate';\n\ndefineOptions({\n name: 'GmCustomOperate',\n});\n/**\n * 抽屉显示\n */\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\n required: true,\n});\n/**\n * 自定义按钮 props列表\n */\nconst customBtnPropsList = defineModel<CustomOperateButtonProps[]>('customBtnPropsList', {\n required: true,\n});\n\nconst props = defineProps(customOperateProps);\nconst customSettingsStore = useCustomSettingsStore();\n\n/**\n * 数据是否初始化完成\n */\nconst isInited = ref(false);\n/**内部克隆一份,当点击保存时 应用修改的内容 */\nconst { cloned: clonedCustomBtnList } = useCloned(customBtnPropsList);\n\nconst defaultPropsList = computed(() => cloneDeep(props.customDefaultPropsList));\n// 按钮弹出框显示隐藏\nconst popoverVisibles = ref<boolean[]>(defaultPropsList.value.map(() => false));\n// 根据props列表 初始化popo显示隐藏\nwatch(defaultPropsList, () => {\n popoverVisibles.value = defaultPropsList.value.map(() => false);\n});\n\n// 重新打开弹窗时, 克隆一份新数据\nwatch(isShowDrawer, newValue => {\n if (newValue) {\n clonedCustomBtnList.value = cloneDeep(customBtnPropsList.value);\n }\n});\n\nconst customSettingsValue = computed<CustomOperateButtonProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\n\nconst updateOperate = () => {\n customBtnPropsList.value = clonedCustomBtnList.value;\n};\n\nconst initOperate = async () => {\n try {\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\n } catch {}\n\n const clonedDefaultOperate = cloneDeep(props.customDefaultPropsList);\n\n let operate = clonedDefaultOperate;\n\n if (clonedStore.value.length) {\n operate = [];\n clonedStore.value.forEach(it => {\n const index = clonedDefaultOperate.findIndex(v => v.prop === it.prop);\n if (index > -1) {\n const item = clonedDefaultOperate.splice(index, 1)[0];\n\n operate.push({\n ...item,\n ...it,\n label: item.label,\n });\n }\n });\n clonedCustomBtnList.value = [...operate, ...clonedDefaultOperate];\n }\n\n updateOperate();\n isInited.value = true;\n};\n\n/** 设置表头位置样式,调整表格对齐 */\nconst titleStyle = computed(() => {\n const h = props.customDefaultPropsList.length * 44;\n const H = document.documentElement.clientHeight || document.body.clientHeight;\n return h > H - 240 ? { paddingRight: '4px' } : { paddingRight: 0 };\n});\n\n// 已选中条数\nconst checkedNumber = computed(() => {\n return clonedCustomBtnList.value.filter(v => v.isShow).length;\n});\n// 全选\nconst checkedAll = computed({\n get() {\n return clonedCustomBtnList.value.every(v => v.isShow);\n },\n set(value: CheckboxValueType) {\n clonedCustomBtnList.value.forEach(v => {\n v.isShow = Boolean(value);\n });\n },\n});\n// 半选\nconst isIndeterminate = computed(() => !checkedAll.value && clonedCustomBtnList.value.some(v => v.isShow));\n// 切换全选\nconst handleCheckAllChange = (val: CheckboxValueType) => {\n clonedCustomBtnList.value.forEach(v => {\n v.isShow = Boolean(val);\n });\n};\n\n// 设置按钮颜色\nconst setBtnType = (item: CustomOperateButtonProps, index: number, type: CustomOperateButtonProps['type']) => {\n item.type = type;\n popoverVisibles.value[index] = false;\n};\n\n/** 拖拽开始 */\nconst start = ref<CustomOperateButtonProps>();\nconst end = ref<CustomOperateButtonProps>();\nconst dragstart = (item: CustomOperateButtonProps) => {\n document.body.style.userSelect = 'none';\n start.value = item;\n};\n/** 拖拽过程 */\nconst dragenter = (item: CustomOperateButtonProps, e: DragEvent) => {\n end.value = item;\n e.preventDefault();\n};\n/** 拖拽结束 */\nconst dragend = () => {\n document.body.style.userSelect = 'text';\n if (start.value === end.value) return;\n if (start.value && end.value) {\n const oldIndex: number = clonedCustomBtnList.value.findIndex(v => v.prop === start.value?.prop);\n const newIndex: number = clonedCustomBtnList.value.findIndex(v => v.prop === end.value?.prop);\n const newItems = [...clonedCustomBtnList.value];\n // 删除老节点\n newItems.splice(oldIndex, 1);\n\n // 目标位置新增节点\n newItems.splice(newIndex, 0, start.value);\n clonedCustomBtnList.value = [...newItems];\n }\n};\n/** 拖拽事件 */\nconst dragover = (e: DragEvent) => {\n e.preventDefault();\n};\n\nconst submitLoading = ref(false);\n// 保存\nconst onSubmit = async () => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.keyWord,\n value: JSON.stringify(clonedCustomBtnList.value),\n type: props.type,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n isShowDrawer.value = false;\n updateOperate();\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n\n// 重置\nconst onReset = () => {\n clonedCustomBtnList.value = cloneDeep(props.customDefaultPropsList);\n};\n\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n submitLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.keyWord,\n type: props.type,\n });\n submitLoading.value = false;\n initOperate();\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n\nonMounted(() => {\n if (props.disabledRemoteBtn) {\n isInited.value = true;\n } else {\n initOperate();\n }\n});\ndefineExpose({\n isInited,\n});\n</script>\n\n<style lang=\"scss\">\n.custom-operate-drawer {\n .el-drawer__header {\n padding: 10px 15px;\n margin: 0;\n border-bottom: 1px solid #ebeef5;\n }\n .el-drawer__title {\n font-size: 14px;\n color: #333;\n }\n .el-drawer__body {\n padding: 15px;\n }\n .el-drawer__footer {\n padding: 10px 15px;\n border-top: 1px solid #ebeef5;\n }\n .el-checkbox {\n display: flex;\n align-items: center;\n }\n .el-input__inner {\n text-align: center;\n }\n .el-input__suffix {\n position: absolute;\n right: 10px;\n }\n .custom-content {\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 44px;\n }\n }\n .custom-group {\n max-height: calc(100vh - 226px);\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 4px;\n /*高宽分别对应横竖滚动条的尺寸*/\n height: 1px;\n }\n\n &::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);\n background: #999;\n }\n\n &::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n background: #eee;\n }\n }\n}\n</style>\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","computed","cloneDeep","watch","onMounted"],"mappings":"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"}
@@ -417,7 +417,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
417
417
  vue.createElementVNode("path", {
418
418
  d: "M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z",
419
419
  "p-id": "15387",
420
- fill: item.fixed === "left" ? "#0000FF" : "#bbbbbb"
420
+ fill: item.fixed === "left" ? "#217efd" : "#bbbbbb"
421
421
  }, null, 8, _hoisted_23)
422
422
  ]))
423
423
  ], 8, _hoisted_21)
@@ -445,7 +445,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
445
445
  vue.createElementVNode("path", {
446
446
  d: "M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z",
447
447
  "p-id": "15387",
448
- fill: item.fixed === "right" ? "#0000FF" : "#bbbbbb"
448
+ fill: item.fixed === "right" ? "#217efd" : "#bbbbbb"
449
449
  }, null, 8, _hoisted_26)
450
450
  ]))
451
451
  ], 8, _hoisted_24)
@@ -458,7 +458,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
458
458
  )
459
459
  ]),
460
460
  _ctx.dragHeader ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_27, [
461
- vue.createVNode(_component_el_icon, { color: "#0000FF" }, {
461
+ vue.createVNode(_component_el_icon, { color: "#217efd" }, {
462
462
  default: vue.withCtx(() => [
463
463
  vue.createVNode(vue.unref(iconsVue.Rank))
464
464
  ]),