@cmstops/pro-compo 0.3.68 → 0.3.70

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 (88) hide show
  1. package/dist/index.css +125 -79
  2. package/dist/index.min.css +1 -1
  3. package/es/baseFilter/component.js +6 -1
  4. package/es/config.js +1 -1
  5. package/es/hooks/useAttachement.d.ts +14 -6
  6. package/es/hooks/useAttachement.js +15 -1
  7. package/es/hooks/useLocalStorage.d.ts +1 -0
  8. package/es/hooks/useLocalStorage.js +2 -1
  9. package/es/index.css +125 -79
  10. package/es/selectResourceModal/assets/images/sys_load_more.js +2 -0
  11. package/es/selectResourceModal/component.js +72 -173
  12. package/es/selectResourceModal/components/List/ListAi/index.js +53 -0
  13. package/es/selectResourceModal/components/{ListCardWrapper/index.js → List/ListCardWrapper.js} +13 -11
  14. package/es/selectResourceModal/components/List/ListLocal/index.js +92 -0
  15. package/es/selectResourceModal/components/{ListFilter/index.js → List/ListNormal/Filter.js} +14 -14
  16. package/es/selectResourceModal/components/List/ListNormal/index.d.ts +0 -0
  17. package/es/selectResourceModal/components/List/ListNormal/index.js +76 -0
  18. package/es/selectResourceModal/components/List/ListSystem/Filter.d.ts +0 -0
  19. package/es/selectResourceModal/components/List/ListSystem/Filter.js +141 -0
  20. package/es/selectResourceModal/components/List/ListSystem/SubList.d.ts +0 -0
  21. package/es/selectResourceModal/components/List/ListSystem/SubList.js +67 -0
  22. package/es/selectResourceModal/components/List/ListSystem/index.d.ts +0 -0
  23. package/es/selectResourceModal/components/List/ListSystem/index.js +108 -0
  24. package/es/selectResourceModal/components/List/ListVideo/index.d.ts +0 -0
  25. package/es/selectResourceModal/components/List/ListVideo/index.js +19 -0
  26. package/es/selectResourceModal/components/List/ListWraper.d.ts +0 -0
  27. package/es/selectResourceModal/components/List/ListWraper.js +60 -0
  28. package/es/selectResourceModal/components/ListTabs/index.js +9 -18
  29. package/es/selectResourceModal/{components/ListFilter/scripts/api.d.ts → scripts/selectionApis.d.ts} +1 -0
  30. package/es/selectResourceModal/scripts/selectionApis.js +15 -0
  31. package/es/selectResourceModal/scripts/useCompoLf.d.ts +21 -0
  32. package/es/selectResourceModal/scripts/useCompoLf.js +34 -0
  33. package/es/selectResourceModal/scripts/useResourceSelect.js +7 -3
  34. package/es/selectResourceModal/scripts/useTabFilter.d.ts +22 -0
  35. package/es/selectResourceModal/scripts/useTabFilter.js +46 -0
  36. package/es/selectResourceModal/style/index.css +125 -79
  37. package/es/selectResourceModal/style/index.less +3 -32
  38. package/es/selectResourceModal/style/list.less +166 -0
  39. package/es/selectThumb/component.js +25 -13
  40. package/es/utils/filter.js +0 -1
  41. package/es/videoThumb/component.js +2 -1
  42. package/lib/baseFilter/component.js +6 -1
  43. package/lib/config.js +1 -1
  44. package/lib/hooks/useAttachement.js +16 -0
  45. package/lib/hooks/useLocalStorage.js +2 -1
  46. package/lib/index.css +125 -79
  47. package/lib/selectResourceModal/assets/images/sys_load_more.js +3 -0
  48. package/lib/selectResourceModal/component.js +72 -173
  49. package/lib/selectResourceModal/components/List/ListAi/index.js +54 -0
  50. package/lib/selectResourceModal/components/{ListCardWrapper/index.js → List/ListCardWrapper.js} +12 -10
  51. package/lib/selectResourceModal/components/List/ListLocal/index.js +93 -0
  52. package/lib/selectResourceModal/components/{ListFilter/index.js → List/ListNormal/Filter.js} +15 -15
  53. package/lib/selectResourceModal/components/List/ListNormal/index.js +77 -0
  54. package/lib/selectResourceModal/components/List/ListSystem/Filter.js +142 -0
  55. package/lib/selectResourceModal/components/List/ListSystem/SubList.js +68 -0
  56. package/lib/selectResourceModal/components/List/ListSystem/index.js +109 -0
  57. package/lib/selectResourceModal/components/List/ListVideo/index.js +20 -0
  58. package/lib/selectResourceModal/components/List/ListWraper.js +61 -0
  59. package/lib/selectResourceModal/components/ListTabs/index.js +8 -17
  60. package/lib/selectResourceModal/{components/ListFilter/scripts/api.js → scripts/selectionApis.js} +8 -1
  61. package/lib/selectResourceModal/scripts/useCompoLf.js +35 -0
  62. package/lib/selectResourceModal/scripts/useResourceSelect.js +7 -3
  63. package/lib/selectResourceModal/scripts/useTabFilter.js +47 -0
  64. package/lib/selectResourceModal/style/index.css +125 -79
  65. package/lib/selectResourceModal/style/index.less +3 -32
  66. package/lib/selectResourceModal/style/list.less +166 -0
  67. package/lib/selectThumb/component.js +25 -13
  68. package/lib/utils/filter.js +0 -1
  69. package/lib/videoThumb/component.js +2 -1
  70. package/package.json +1 -1
  71. package/es/selectResourceModal/components/ListContent/index.js +0 -46
  72. package/es/selectResourceModal/components/ListContentLocal/index.js +0 -93
  73. package/es/selectResourceModal/components/ListFilter/scripts/api.js +0 -9
  74. package/es/selectResourceModal/style/listContent.less +0 -5
  75. package/es/selectResourceModal/style/listContentLocal.less +0 -26
  76. package/es/selectResourceModal/style/listFilter.less +0 -41
  77. package/lib/selectResourceModal/components/ListContent/index.js +0 -47
  78. package/lib/selectResourceModal/components/ListContentLocal/index.js +0 -94
  79. package/lib/selectResourceModal/style/listContent.less +0 -5
  80. package/lib/selectResourceModal/style/listContentLocal.less +0 -26
  81. package/lib/selectResourceModal/style/listFilter.less +0 -41
  82. /package/es/selectResourceModal/components/{ListCardWrapper → List/ListAi}/index.d.ts +0 -0
  83. /package/es/selectResourceModal/components/{ListContent/index.d.ts → List/ListCardWrapper.d.ts} +0 -0
  84. /package/es/selectResourceModal/components/{ListContentLocal/components → List/ListLocal}/Upload.d.ts +0 -0
  85. /package/es/selectResourceModal/components/{ListContentLocal/components → List/ListLocal}/Upload.js +0 -0
  86. /package/es/selectResourceModal/components/{ListContentLocal → List/ListLocal}/index.d.ts +0 -0
  87. /package/es/selectResourceModal/components/{ListFilter/index.d.ts → List/ListNormal/Filter.d.ts} +0 -0
  88. /package/lib/selectResourceModal/components/{ListContentLocal/components → List/ListLocal}/Upload.js +0 -0
@@ -1,11 +1,12 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, createVNode, unref, withCtx } from "vue";
1
+ import { defineComponent, computed, openBlock, createElementBlock, createVNode, unref, withCtx, Fragment, renderList, createBlock } from "vue";
2
2
  import { IconClose } from "@arco-design/web-vue/es/icon";
3
3
  import { Tabs, Button, TabPane } from "@arco-design/web-vue";
4
4
  const _hoisted_1 = { class: "resource-select-header" };
5
5
  const _sfc_main = defineComponent({
6
6
  __name: "index",
7
7
  props: {
8
- modelValue: {}
8
+ modelValue: {},
9
+ tabList: {}
9
10
  },
10
11
  emits: ["update:model-value", "change", "close"],
11
12
  setup(__props, { emit: __emit }) {
@@ -36,22 +37,12 @@ const _sfc_main = defineComponent({
36
37
  })
37
38
  ]),
38
39
  default: withCtx(() => [
39
- createVNode(unref(TabPane), {
40
- key: "all",
41
- title: "\u5168\u90E8\u7D20\u6750"
42
- }),
43
- createVNode(unref(TabPane), {
44
- key: "my",
45
- title: "\u6211\u7684\u7D20\u6750"
46
- }),
47
- createVNode(unref(TabPane), {
48
- key: "remind",
49
- title: "\u63D0\u9192\u6211\u7684"
50
- }),
51
- createVNode(unref(TabPane), {
52
- key: "local",
53
- title: "\u672C\u5730\u7D20\u6750"
54
- })
40
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.tabList, (tab) => {
41
+ return openBlock(), createBlock(unref(TabPane), {
42
+ key: tab.key,
43
+ title: tab.title
44
+ }, null, 8, ["title"]);
45
+ }), 128))
55
46
  ]),
56
47
  _: 1
57
48
  }, 8, ["active-key"])
@@ -1 +1,2 @@
1
1
  export declare function getAccountList(BASE_API: string, id: number, query: any): import("axios").AxiosPromise<any>;
2
+ export declare function getSysRsClassifyList(BASE_API: string, sys_tag: number): import("axios").AxiosPromise<any>;
@@ -0,0 +1,15 @@
1
+ import request from "../../utils/request.js";
2
+ function getAccountList(BASE_API, id, query) {
3
+ return request(BASE_API, {
4
+ url: `/poplar/v2/accounts/${id}`,
5
+ method: "get",
6
+ params: query
7
+ });
8
+ }
9
+ function getSysRsClassifyList(BASE_API, sys_tag) {
10
+ return request(BASE_API, {
11
+ url: `/poplar/v3/sys_attachment/scenario_classifies?sys_tag=${sys_tag}`,
12
+ method: "get"
13
+ });
14
+ }
15
+ export { getAccountList, getSysRsClassifyList };
@@ -0,0 +1,21 @@
1
+ export default function useCompoentLifycycle(props: any, emits: any): {
2
+ wrapProps: import("vue").ComputedRef<{
3
+ class: string;
4
+ header: boolean;
5
+ width: string;
6
+ footer: boolean;
7
+ bodyClass?: undefined;
8
+ closable?: undefined;
9
+ hideTitle?: undefined;
10
+ } | {
11
+ bodyClass: string;
12
+ width: string;
13
+ closable: boolean;
14
+ hideTitle: boolean;
15
+ footer: boolean;
16
+ class?: undefined;
17
+ header?: undefined;
18
+ }>;
19
+ close: () => any;
20
+ submit: (data: any) => any;
21
+ };
@@ -0,0 +1,34 @@
1
+ import { computed, provide } from "vue";
2
+ import { DEFAULT_BASE_API } from "../../config.js";
3
+ function useCompoentLifycycle(props, emits) {
4
+ const BASE_API = props.BASE_API || DEFAULT_BASE_API;
5
+ const wrapProps = computed(() => {
6
+ if (props.wrap === "drawer") {
7
+ return {
8
+ class: "resource-select-drawer",
9
+ header: false,
10
+ width: "1024px",
11
+ footer: false
12
+ };
13
+ }
14
+ return {
15
+ bodyClass: "resource-select-modal-body",
16
+ width: "986px",
17
+ closable: false,
18
+ hideTitle: false,
19
+ footer: false
20
+ };
21
+ });
22
+ provide("baseAPI", BASE_API);
23
+ provide("filterOptions", computed(() => props.filterOptions));
24
+ provide("userInfo", computed(() => props.userInfo));
25
+ provide("mediaUseType", computed(() => props.mediaUseType));
26
+ provide("aiThumbList", computed(() => props.aiThumbList));
27
+ provide("videoThumbOptions", computed(() => props.videoThumbOptions));
28
+ return {
29
+ wrapProps,
30
+ close: () => emits("update:visible", false),
31
+ submit: (data) => emits("submit", JSON.parse(JSON.stringify(data)))
32
+ };
33
+ }
34
+ export { useCompoentLifycycle as default };
@@ -1,11 +1,15 @@
1
1
  import { ref, computed } from "vue";
2
2
  function useResourceSelect(props) {
3
3
  const selected = ref([]);
4
- const selectedKeys = computed(() => selected.value.map((item) => item.id));
4
+ const selectedKeys = computed(
5
+ () => selected.value.map((item) => item.id || item.url)
6
+ );
5
7
  const disableSelect = computed(() => props.maxcount && selected.value.length >= props.maxcount);
6
8
  function handleSelect(params) {
7
- const { id } = params;
8
- const index = selected.value.findIndex((item) => item.id === id);
9
+ const { id, url } = params;
10
+ const index = selected.value.findIndex((item) => {
11
+ return item.id && item.id === id || item.url === url;
12
+ });
9
13
  if (index > -1)
10
14
  selected.value.splice(index, 1);
11
15
  else
@@ -0,0 +1,22 @@
1
+ export declare enum TabEnum {
2
+ ALL = "all",
3
+ MY = "my",
4
+ REMIND = "remind",
5
+ LOCAL = "local",
6
+ SYSTEM = "system",
7
+ AI = "ai",
8
+ VIDEO = "video"
9
+ }
10
+ declare const TAB_DICT: any;
11
+ export declare type TabListType = {
12
+ key: string;
13
+ title: string;
14
+ };
15
+ export declare type TabKeyType = keyof typeof TAB_DICT;
16
+ export default function useTabFilter(props: any): {
17
+ activeKey: import("vue").Ref<string | number | symbol>;
18
+ activeComponent: import("vue").ComputedRef<any>;
19
+ tabKeyList: import("vue").ComputedRef<TabListType[]>;
20
+ handelChangeTab: (tabKey: TabEnum) => void;
21
+ };
22
+ export {};
@@ -0,0 +1,46 @@
1
+ import { ref, computed } from "vue";
2
+ import _sfc_main$4 from "../components/List/ListVideo/index.js";
3
+ import _sfc_main from "../components/List/ListNormal/index.js";
4
+ import _sfc_main$2 from "../components/List/ListSystem/index.js";
5
+ import _sfc_main$1 from "../components/List/ListLocal/index.js";
6
+ import _sfc_main$3 from "../components/List/ListAi/index.js";
7
+ const DEFAULT_TABS = ["all", "my", "remind", "local"];
8
+ const TAB_DICT = {
9
+ ["all"]: { title: "\u5168\u90E8\u7D20\u6750", component: _sfc_main },
10
+ ["my"]: { title: "\u6211\u7684\u7D20\u6750", component: _sfc_main },
11
+ ["remind"]: { title: "\u63D0\u9192\u6211\u7684", component: _sfc_main },
12
+ ["local"]: { title: "\u672C\u5730\u7D20\u6750", component: _sfc_main$1 },
13
+ ["system"]: { title: "\u5185\u7F6E\u7D20\u6750", component: _sfc_main$2 },
14
+ ["ai"]: { title: "AI\u4F18\u9009", component: _sfc_main$3 },
15
+ ["video"]: { title: "\u89C6\u9891\u5C01\u9762", component: _sfc_main$4 }
16
+ };
17
+ function useTabFilter(props) {
18
+ const activeKey = ref("all");
19
+ const curTab = computed(() => TAB_DICT[activeKey.value]);
20
+ const tabKeyList = computed(() => {
21
+ const { mediaUseType, aiThumbList, videoThumbOptions } = props;
22
+ const keys = JSON.parse(JSON.stringify(DEFAULT_TABS));
23
+ if (mediaUseType > 0)
24
+ keys.unshift("system");
25
+ if (aiThumbList && aiThumbList.length)
26
+ keys.unshift("ai");
27
+ if (videoThumbOptions)
28
+ keys.unshift("video");
29
+ [activeKey.value] = keys;
30
+ return keys.map((key) => ({
31
+ key,
32
+ title: TAB_DICT[key].title
33
+ }));
34
+ });
35
+ const activeComponent = computed(() => curTab.value.component);
36
+ function handelChangeTab(tabKey) {
37
+ activeKey.value = tabKey;
38
+ }
39
+ return {
40
+ activeKey,
41
+ activeComponent,
42
+ tabKeyList,
43
+ handelChangeTab
44
+ };
45
+ }
46
+ export { useTabFilter as default };
@@ -1,40 +1,3 @@
1
- .card-list-wrapper {
2
- display: grid;
3
- grid-gap: 20px;
4
- grid-template-columns: repeat(5, 1fr);
5
- }
6
- .list-filter-wrapper .list-filter-tags {
7
- display: flex;
8
- justify-content: space-between;
9
- margin-top: 10px;
10
- }
11
- .list-filter-wrapper .list-filter-tags .list-filter-tag {
12
- padding: 5px 16px;
13
- border-radius: 15px;
14
- cursor: pointer;
15
- }
16
- .list-filter-wrapper .list-filter-tags .list-filter-tag:hover {
17
- background-color: var(--color-fill-3);
18
- }
19
- .list-filter-wrapper .list-filter-tags .list-filter-tag.active {
20
- color: rgb(var(--primary-6));
21
- font-weight: bold;
22
- background: var(--color-fill-2);
23
- }
24
- .list-filter-wrapper .list-filter {
25
- display: flex;
26
- justify-content: space-between;
27
- }
28
- .list-filter-wrapper .list-filter .filter-list {
29
- display: flex;
30
- gap: 10px;
31
- }
32
- .list-filter-wrapper .list-filter .filter-list .filter-item {
33
- width: 100px;
34
- }
35
- .list-filter-wrapper .list-filter .arco-input-prepend {
36
- padding: 0;
37
- }
38
1
  .list-panel-wrapper {
39
2
  width: 420px;
40
3
  padding: 0 !important;
@@ -115,26 +78,6 @@
115
78
  white-space: nowrap;
116
79
  text-overflow: ellipsis;
117
80
  }
118
- .upload-list-wrapper .list-content {
119
- margin-top: 30px;
120
- }
121
- .upload-list-wrapper .list-content .list-tips {
122
- margin-bottom: 16px;
123
- color: #3d3d3d;
124
- }
125
- .upload-list-wrapper .upload-wrapper {
126
- display: flex;
127
- flex-direction: column;
128
- }
129
- .upload-list-wrapper .upload-wrapper .upload-buttons {
130
- display: flex;
131
- gap: 20px;
132
- justify-content: center;
133
- margin: 20px 0;
134
- }
135
- .upload-list-wrapper .upload-wrapper .upload-dragger {
136
- width: calc(100% - 2px);
137
- }
138
81
  .card-wrapper-image {
139
82
  position: relative;
140
83
  overflow: hidden;
@@ -216,8 +159,132 @@
216
159
  background-color: #165dff;
217
160
  border-color: #165dff;
218
161
  }
162
+ .resource-list {
163
+ display: flex;
164
+ flex: 1;
165
+ flex-direction: column;
166
+ gap: 10px;
167
+ overflow: hidden;
168
+ }
169
+ .resource-list-content {
170
+ flex: 1;
171
+ overflow: hidden;
172
+ }
173
+ .resource-list-footer,
174
+ .resource-list-header,
175
+ .resource-list-content .arco-scrollbar-container {
176
+ padding: 0 40px;
177
+ }
178
+ .resource-list-footer {
179
+ display: flex;
180
+ justify-content: space-between;
181
+ padding-bottom: 10px;
182
+ }
183
+ .resource-list-footer .footer-right {
184
+ display: flex;
185
+ flex: 1;
186
+ gap: 10px;
187
+ align-items: center;
188
+ justify-content: flex-end;
189
+ }
190
+ .resource-list-content-loading {
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ width: 100%;
195
+ height: 100%;
196
+ }
197
+ .resource-list .list-item-grid {
198
+ display: grid;
199
+ grid-gap: 20px;
200
+ grid-template-columns: repeat(5, 1fr);
201
+ }
202
+ .resource-list .list-content {
203
+ margin-top: 30px;
204
+ }
205
+ .resource-list .list-content .list-tips {
206
+ margin-bottom: 16px;
207
+ color: #3d3d3d;
208
+ }
209
+ .resource-list .upload-wrapper {
210
+ display: flex;
211
+ flex-direction: column;
212
+ }
213
+ .resource-list .upload-wrapper .upload-buttons {
214
+ display: flex;
215
+ gap: 20px;
216
+ justify-content: center;
217
+ margin: 20px 0;
218
+ }
219
+ .resource-list .upload-wrapper .upload-dragger {
220
+ width: calc(100% - 2px);
221
+ }
222
+ .resource-list .scen-module {
223
+ margin-bottom: 20px;
224
+ }
225
+ .resource-list .item-load-more {
226
+ display: flex;
227
+ flex-direction: column;
228
+ gap: 10px;
229
+ align-items: center;
230
+ justify-content: center;
231
+ width: 100%;
232
+ overflow: hidden;
233
+ color: #9a9a9a;
234
+ font-size: 12px;
235
+ cursor: pointer;
236
+ aspect-ratio: 4 / 3;
237
+ }
238
+ .resource-list .item-load-more img {
239
+ height: calc(100% - 40px);
240
+ }
241
+ .resource-list .list-filter-wrapper .list-filter-tags {
242
+ display: flex;
243
+ justify-content: space-between;
244
+ margin-top: 10px;
245
+ }
246
+ .resource-list .list-filter-wrapper .list-filter-tags .list-filter-tag {
247
+ padding: 5px 16px;
248
+ border-radius: 15px;
249
+ cursor: pointer;
250
+ }
251
+ .resource-list .list-filter-wrapper .list-filter-tags .list-filter-tag:hover {
252
+ background-color: var(--color-fill-3);
253
+ }
254
+ .resource-list .list-filter-wrapper .list-filter-tags .list-filter-tag.active {
255
+ color: rgb(var(--primary-6));
256
+ font-weight: bold;
257
+ background: var(--color-fill-2);
258
+ }
259
+ .resource-list .list-filter-wrapper .list-filter {
260
+ display: flex;
261
+ justify-content: space-between;
262
+ }
263
+ .resource-list .list-filter-wrapper .list-filter .filter-list {
264
+ display: flex;
265
+ gap: 10px;
266
+ }
267
+ .resource-list .list-filter-wrapper .list-filter .filter-list .filter-item {
268
+ width: 100px;
269
+ }
270
+ .resource-list .list-filter-wrapper .list-filter .arco-input-prepend {
271
+ padding: 0;
272
+ }
273
+ .resource-list .title {
274
+ display: flex;
275
+ gap: 8px;
276
+ align-items: center;
277
+ margin-bottom: 20px;
278
+ font-weight: bold;
279
+ font-size: 16px;
280
+ }
281
+ .resource-list .title .line {
282
+ width: 3px;
283
+ height: 16px;
284
+ background-color: #4886ff;
285
+ }
219
286
  .resource-select-modal-body {
220
- height: 70vh;
287
+ height: 80vh;
221
288
  padding: 0;
222
289
  }
223
290
  .resource-select-main {
@@ -235,13 +302,6 @@
235
302
  box-sizing: border-box;
236
303
  height: 100%;
237
304
  }
238
- .resource-select-container .resource-select-filter,
239
- .resource-select-container .resource-select-footer {
240
- padding: 0 40px;
241
- }
242
- .resource-select-container .resource-select-content .arco-scrollbar-container {
243
- padding: 0 40px;
244
- }
245
305
  .resource-select-container .resource-select-header {
246
306
  padding: 10px 24px 0 24px;
247
307
  }
@@ -251,17 +311,3 @@
251
311
  .resource-select-container .resource-select-header .arco-tabs-content {
252
312
  display: none !important;
253
313
  }
254
- .resource-select-container .resource-select-content {
255
- flex: 1;
256
- overflow: hidden;
257
- }
258
- .resource-select-container .resource-select-footer {
259
- display: flex;
260
- justify-content: space-between;
261
- padding-bottom: 10px;
262
- }
263
- .resource-select-container .resource-select-footer .footer-right {
264
- display: flex;
265
- gap: 10px;
266
- align-items: center;
267
- }
@@ -1,11 +1,9 @@
1
- @import './listContent.less';
2
- @import './listFilter.less';
3
1
  @import './listSelected.less';
4
- @import './listContentLocal.less';
5
2
  @import './listCardWrapper.less';
3
+ @import './list.less';
6
4
 
7
5
  .resource-select-modal-body {
8
- height: 70vh;
6
+ height: 80vh;
9
7
  padding: 0;
10
8
  }
11
9
 
@@ -28,17 +26,7 @@
28
26
  box-sizing: border-box;
29
27
  height: 100%;
30
28
 
31
- .resource-select-filter,
32
- .resource-select-footer {
33
- padding: 0 40px;
34
- }
35
-
36
- .resource-select-content {
37
- .arco-scrollbar-container {
38
- padding: 0 40px;
39
- }
40
- }
41
-
29
+ // 头部 tab 样式
42
30
  .resource-select-header {
43
31
  padding: 10px 24px 0 24px;
44
32
 
@@ -50,21 +38,4 @@
50
38
  display: none !important;
51
39
  }
52
40
  }
53
-
54
- .resource-select-content {
55
- flex: 1;
56
- overflow: hidden;
57
- }
58
-
59
- .resource-select-footer {
60
- display: flex;
61
- justify-content: space-between;
62
- padding-bottom: 10px;
63
-
64
- .footer-right {
65
- display: flex;
66
- gap: 10px;
67
- align-items: center;
68
- }
69
- }
70
41
  }
@@ -0,0 +1,166 @@
1
+ // 基础列表 layout 样式
2
+ .resource-list {
3
+ display: flex;
4
+ flex: 1;
5
+ flex-direction: column;
6
+ gap: 10px;
7
+ overflow: hidden;
8
+
9
+ // 整体布局结构
10
+ &-content {
11
+ flex: 1;
12
+ overflow: hidden;
13
+ }
14
+
15
+ &-footer,
16
+ &-header,
17
+ &-content .arco-scrollbar-container {
18
+ padding: 0 40px;
19
+ }
20
+
21
+ &-footer {
22
+ display: flex;
23
+ justify-content: space-between;
24
+ padding-bottom: 10px;
25
+
26
+ .footer-right {
27
+ display: flex;
28
+ flex: 1;
29
+ gap: 10px;
30
+ align-items: center;
31
+ justify-content: flex-end;
32
+ }
33
+ }
34
+
35
+ // 处理空数据 & 加载中样式
36
+ &-content {
37
+ &-loading {
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ width: 100%;
42
+ height: 100%;
43
+ }
44
+ }
45
+
46
+ // 所有的卡片 grid 布局
47
+ .list-item-grid {
48
+ display: grid;
49
+ grid-gap: 20px;
50
+ grid-template-columns: repeat(5, 1fr);
51
+ }
52
+ }
53
+
54
+ // 衍生列表一:本地上传页面样式
55
+ .resource-list {
56
+ .list-content {
57
+ margin-top: 30px;
58
+
59
+ .list-tips {
60
+ margin-bottom: 16px;
61
+ color: #3d3d3d;
62
+ }
63
+ }
64
+
65
+ .upload-wrapper {
66
+ display: flex;
67
+ flex-direction: column;
68
+
69
+ .upload-buttons {
70
+ display: flex;
71
+ gap: 20px;
72
+ justify-content: center;
73
+ margin: 20px 0;
74
+ }
75
+
76
+ .upload-dragger {
77
+ width: calc(100% - 2px);
78
+ }
79
+ }
80
+ }
81
+
82
+ // 衍生列表二:内置素材
83
+ .resource-list {
84
+ .scen-module {
85
+ margin-bottom: 20px;
86
+ }
87
+
88
+ .item-load-more {
89
+ display: flex;
90
+ flex-direction: column;
91
+ gap: 10px;
92
+ align-items: center;
93
+ justify-content: center;
94
+ width: 100%;
95
+ overflow: hidden;
96
+ color: #9a9a9a;
97
+ font-size: 12px;
98
+ cursor: pointer;
99
+ aspect-ratio: 4 / 3;
100
+
101
+ img {
102
+ height: calc(100% - 40px);
103
+ }
104
+ }
105
+ }
106
+
107
+ // 列表筛选样式
108
+ .resource-list .list-filter-wrapper {
109
+ .list-filter-tags {
110
+ display: flex;
111
+ justify-content: space-between;
112
+ margin-top: 10px;
113
+
114
+ .list-filter-tag {
115
+ padding: 5px 16px;
116
+ border-radius: 15px;
117
+ cursor: pointer;
118
+
119
+ &:hover {
120
+ background-color: var(--color-fill-3);
121
+ }
122
+
123
+ &.active {
124
+ color: rgb(var(--primary-6));
125
+ font-weight: bold;
126
+ background: var(--color-fill-2);
127
+ }
128
+ }
129
+ }
130
+
131
+ .list-filter {
132
+ display: flex;
133
+ justify-content: space-between;
134
+
135
+ .filter-list {
136
+ display: flex;
137
+ gap: 10px;
138
+
139
+ .filter-item {
140
+ width: 100px;
141
+ }
142
+ }
143
+
144
+ .arco-input-prepend {
145
+ padding: 0;
146
+ }
147
+ }
148
+ }
149
+
150
+ // 二级列表的标题样式
151
+ .resource-list {
152
+ .title {
153
+ display: flex;
154
+ gap: 8px;
155
+ align-items: center;
156
+ margin-bottom: 20px;
157
+ font-weight: bold;
158
+ font-size: 16px;
159
+
160
+ .line {
161
+ width: 3px;
162
+ height: 16px;
163
+ background-color: #4886ff;
164
+ }
165
+ }
166
+ }