@cmstops/pro-compo 0.1.7 → 0.1.9

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 (121) hide show
  1. package/dist/index.css +858 -0
  2. package/dist/index.min.css +1 -1
  3. package/es/appCenter/script/apps.d.ts +2 -11
  4. package/es/appCenter/script/apps.js +1 -41
  5. package/es/appCenter/script/routeMap.d.ts +1 -1
  6. package/es/config.d.ts +2 -2
  7. package/es/config.js +2 -2
  8. package/es/contentModal/component.js +5 -2
  9. package/es/contentModal/components/CompoList/index.js +12 -1
  10. package/es/contentModal/components/storeBox/index.js +1 -1
  11. package/es/contentModal/style/ViewAllColumn.less +1 -0
  12. package/es/contentModal/style/index.css +1 -0
  13. package/es/index.css +858 -0
  14. package/es/index.d.ts +2 -0
  15. package/es/index.js +2 -0
  16. package/es/index.less +2 -0
  17. package/es/previousVersion/component.d.ts +0 -0
  18. package/es/previousVersion/component.js +378 -0
  19. package/es/previousVersion/index.d.ts +2 -0
  20. package/es/previousVersion/index.js +7 -0
  21. package/es/previousVersion/script/api.d.ts +15 -0
  22. package/es/previousVersion/script/api.js +39 -0
  23. package/es/previousVersion/script/tool.d.ts +6 -0
  24. package/es/previousVersion/script/tool.js +22 -0
  25. package/es/previousVersion/style/css.js +1 -0
  26. package/es/previousVersion/style/index.css +166 -0
  27. package/es/previousVersion/style/index.d.ts +1 -0
  28. package/es/previousVersion/style/index.js +1 -0
  29. package/es/previousVersion/style/index.less +208 -0
  30. package/es/resourceModal/assets/images/unknown.js +2 -0
  31. package/es/resourceModal/assets/selection/null.js +2 -0
  32. package/es/resourceModal/component.js +65 -4
  33. package/es/resourceModal/components/MediaPreviewer/index.d.ts +0 -0
  34. package/es/resourceModal/components/MediaPreviewer/index.js +69 -0
  35. package/es/resourceModal/components/MediaSelection/DocAiMediaSelected/index.d.ts +0 -0
  36. package/es/resourceModal/components/MediaSelection/DocAiMediaSelected/index.js +111 -0
  37. package/es/resourceModal/components/MediaSelection/MainContent/FileTypeThumb/index.d.ts +0 -0
  38. package/es/resourceModal/components/MediaSelection/MainContent/FileTypeThumb/index.js +85 -0
  39. package/es/resourceModal/components/MediaSelection/MainContent/index.d.ts +0 -0
  40. package/es/resourceModal/components/MediaSelection/MainContent/index.js +171 -0
  41. package/es/resourceModal/components/MediaSelection/ToolbarSearch/index.d.ts +0 -0
  42. package/es/resourceModal/components/MediaSelection/ToolbarSearch/index.js +211 -0
  43. package/es/resourceModal/components/MediaSelection/index.d.ts +0 -0
  44. package/es/resourceModal/components/MediaSelection/index.js +272 -0
  45. package/es/resourceModal/script/api.d.ts +8 -0
  46. package/es/resourceModal/script/api.js +30 -0
  47. package/es/resourceModal/script/filter.d.ts +8 -0
  48. package/es/resourceModal/script/filter.js +22 -0
  49. package/es/resourceModal/script/mediaSelection.d.ts +10 -0
  50. package/es/resourceModal/style/DocAiMediaSelected.less +56 -0
  51. package/es/resourceModal/style/FileTypeThumb.less +183 -0
  52. package/es/resourceModal/style/MainContent.less +200 -0
  53. package/es/resourceModal/style/MediaPreviewer.less +71 -0
  54. package/es/resourceModal/style/MediaSelection.less +59 -0
  55. package/es/resourceModal/style/ToolbarSearch.less +40 -0
  56. package/es/resourceModal/style/index.css +514 -3
  57. package/es/resourceModal/style/index.less +16 -3
  58. package/es/selectGategory/component.d.ts +0 -0
  59. package/es/selectGategory/component.js +95 -0
  60. package/es/selectGategory/components/ColumnSelection/index.d.ts +0 -0
  61. package/es/selectGategory/components/ColumnSelection/index.js +273 -0
  62. package/es/selectGategory/index.d.ts +2 -0
  63. package/es/selectGategory/index.js +7 -0
  64. package/es/selectGategory/script/api.d.ts +6 -0
  65. package/es/selectGategory/script/api.js +15 -0
  66. package/es/selectGategory/style/ColumnSelection.less +190 -0
  67. package/es/selectGategory/style/css.js +1 -0
  68. package/es/selectGategory/style/index.css +180 -0
  69. package/es/selectGategory/style/index.d.ts +1 -0
  70. package/es/selectGategory/style/index.js +1 -0
  71. package/es/selectGategory/style/index.less +40 -0
  72. package/es/utils/doc.d.ts +69 -0
  73. package/es/utils/typeMap.js +2 -1
  74. package/lib/appCenter/script/apps.js +1 -41
  75. package/lib/config.js +2 -2
  76. package/lib/contentModal/component.js +5 -2
  77. package/lib/contentModal/components/CompoList/index.js +11 -0
  78. package/lib/contentModal/components/storeBox/index.js +1 -1
  79. package/lib/contentModal/style/ViewAllColumn.less +1 -0
  80. package/lib/contentModal/style/index.css +1 -0
  81. package/lib/index.css +858 -0
  82. package/lib/index.js +4 -0
  83. package/lib/index.less +2 -0
  84. package/lib/previousVersion/component.js +379 -0
  85. package/lib/previousVersion/index.js +8 -0
  86. package/lib/previousVersion/script/api.js +43 -0
  87. package/lib/previousVersion/script/tool.js +24 -0
  88. package/lib/previousVersion/style/css.js +2 -0
  89. package/lib/previousVersion/style/index.css +166 -0
  90. package/lib/previousVersion/style/index.js +2 -0
  91. package/lib/previousVersion/style/index.less +208 -0
  92. package/lib/resourceModal/assets/images/unknown.js +3 -0
  93. package/lib/resourceModal/assets/selection/null.js +3 -0
  94. package/lib/resourceModal/component.js +64 -3
  95. package/lib/resourceModal/components/MediaPreviewer/index.js +70 -0
  96. package/lib/resourceModal/components/MediaSelection/DocAiMediaSelected/index.js +112 -0
  97. package/lib/resourceModal/components/MediaSelection/MainContent/FileTypeThumb/index.js +86 -0
  98. package/lib/resourceModal/components/MediaSelection/MainContent/index.js +172 -0
  99. package/lib/resourceModal/components/MediaSelection/ToolbarSearch/index.js +212 -0
  100. package/lib/resourceModal/components/MediaSelection/index.js +273 -0
  101. package/lib/resourceModal/script/api.js +35 -0
  102. package/lib/resourceModal/script/filter.js +25 -0
  103. package/lib/resourceModal/style/DocAiMediaSelected.less +56 -0
  104. package/lib/resourceModal/style/FileTypeThumb.less +183 -0
  105. package/lib/resourceModal/style/MainContent.less +200 -0
  106. package/lib/resourceModal/style/MediaPreviewer.less +71 -0
  107. package/lib/resourceModal/style/MediaSelection.less +59 -0
  108. package/lib/resourceModal/style/ToolbarSearch.less +40 -0
  109. package/lib/resourceModal/style/index.css +514 -3
  110. package/lib/resourceModal/style/index.less +16 -3
  111. package/lib/selectGategory/component.js +96 -0
  112. package/lib/selectGategory/components/ColumnSelection/index.js +274 -0
  113. package/lib/selectGategory/index.js +8 -0
  114. package/lib/selectGategory/script/api.js +18 -0
  115. package/lib/selectGategory/style/ColumnSelection.less +190 -0
  116. package/lib/selectGategory/style/css.js +2 -0
  117. package/lib/selectGategory/style/index.css +180 -0
  118. package/lib/selectGategory/style/index.js +2 -0
  119. package/lib/selectGategory/style/index.less +40 -0
  120. package/lib/utils/typeMap.js +2 -1
  121. package/package.json +2 -2
@@ -0,0 +1,272 @@
1
+ import { defineComponent, ref, onMounted, computed, openBlock, createElementBlock, createElementVNode, createCommentVNode, createVNode, unref, withCtx, createBlock, normalizeStyle, withDirectives, Fragment, renderList, createTextVNode, toDisplayString, vShow } from "vue";
2
+ import { Tabs, TabPane, Button, Breadcrumb, BreadcrumbItem } from "@arco-design/web-vue";
3
+ import { IconArrowLeft } from "@arco-design/web-vue/es/icon";
4
+ import { getAttachmentsAll, getAttachmentsMy, getDirectories } from "../../script/api.js";
5
+ import _sfc_main$1 from "./DocAiMediaSelected/index.js";
6
+ import _sfc_main$2 from "./ToolbarSearch/index.js";
7
+ import _sfc_main$3 from "./MainContent/index.js";
8
+ const _hoisted_1 = {
9
+ class: "media-selection",
10
+ unselectable: "on"
11
+ };
12
+ const _hoisted_2 = { class: "media-selection-section" };
13
+ const _hoisted_3 = { class: "components-title" };
14
+ const _hoisted_4 = { class: "simple-resources" };
15
+ const _hoisted_5 = { class: "directory-breadcrumb" };
16
+ const _sfc_main = defineComponent({
17
+ __name: "index",
18
+ props: {
19
+ selectedMax: {},
20
+ base_api: {},
21
+ catalogProps: {},
22
+ preview: { type: Boolean },
23
+ addType: {},
24
+ ai_static_covers: {},
25
+ ai_gif_covers: {}
26
+ },
27
+ emits: ["add"],
28
+ setup(__props, { emit }) {
29
+ const props = __props;
30
+ const add = (itemData) => {
31
+ emit("add", itemData);
32
+ };
33
+ const breadCrumbs = ref([
34
+ { directory_id: 0, alias: "\u6839\u76EE\u5F55" }
35
+ ]);
36
+ const folderList = ref([]);
37
+ const fileList = ref([]);
38
+ const fileListCount = ref(0);
39
+ const getFilesQueryParam = ref({
40
+ directory_id: 0,
41
+ limit: 30,
42
+ offset: 0,
43
+ catalog: ""
44
+ });
45
+ const filter = ref(null);
46
+ const activeMediaType = ref(
47
+ props.ai_static_covers && props.ai_static_covers.length ? "ai" : "all"
48
+ );
49
+ const api = ref({ getAttachmentsAll, getAttachmentsMy });
50
+ const currentDirectory = ref({
51
+ directory_id: 0,
52
+ alias: ""
53
+ });
54
+ const isOver = ref(false);
55
+ const getMoreData = ref();
56
+ onMounted(() => {
57
+ if (props.catalogProps && props.catalogProps !== "all") {
58
+ getFilesQueryParam.value.catalog = props.catalogProps;
59
+ }
60
+ loadData();
61
+ });
62
+ const resourcesHeight = computed(() => {
63
+ var _a, _b;
64
+ if (((_a = filter.value) == null ? void 0 : _a.keyword) && breadCrumbs.value.length > 1)
65
+ return "calc(100% - 194px)";
66
+ if ((_b = filter.value) == null ? void 0 : _b.keyword)
67
+ return "calc(100% - 150px)";
68
+ if (breadCrumbs.value.length > 1)
69
+ return "calc(100% - 146px)";
70
+ if (activeMediaType.value !== "ai")
71
+ return "calc(100% - 102px)";
72
+ return "calc(100% - 40px)";
73
+ });
74
+ const resetQuery = (item) => {
75
+ filter.value = null;
76
+ getMoreData.value.reset();
77
+ getFilesQueryParam.value.directory_id = item ? item[breadCrumbs.value.length - 2].directory_id : 0;
78
+ getFilesQueryParam.value.offset = 0;
79
+ };
80
+ const MediaTypeChange = (e) => {
81
+ activeMediaType.value = e;
82
+ resetQuery();
83
+ loadData();
84
+ breadCrumbs.value = [{ directory_id: 0, alias: "\u6839\u76EE\u5F55" }];
85
+ };
86
+ const changeDirectory = (item) => {
87
+ getFilesQueryParam.value.directory_id = item.id;
88
+ getFilesQueryParam.value.offset = 0;
89
+ currentDirectory.value = { alias: item.alias, directory_id: item.id };
90
+ filter.value = null;
91
+ loadData({ toDir: true });
92
+ };
93
+ const returnAny = (item) => {
94
+ getFilesQueryParam.value.directory_id = item.directory_id;
95
+ getFilesQueryParam.value.offset = 0;
96
+ currentDirectory.value = {
97
+ alias: item.alias,
98
+ directory_id: item.directory_id
99
+ };
100
+ let curIndex = 0;
101
+ breadCrumbs.value.forEach((cur, index) => {
102
+ if (item.directory_id === cur.directory_id)
103
+ curIndex = index;
104
+ });
105
+ breadCrumbs.value = breadCrumbs.value.slice(0, curIndex + 1);
106
+ filter.value = null;
107
+ loadData();
108
+ };
109
+ const goBackDirectory = () => {
110
+ resetQuery(breadCrumbs.value);
111
+ loadData({ goBack: true });
112
+ };
113
+ const loadData = (params) => {
114
+ isOver.value = false;
115
+ const API = activeMediaType.value === "all" ? api.value.getAttachmentsAll : api.value.getAttachmentsMy;
116
+ let query = { ...getFilesQueryParam.value };
117
+ if (filter.value) {
118
+ query = Object.assign(query, filter.value);
119
+ folderList.value = [];
120
+ }
121
+ const promise = filter.value ? [API(props.base_api, query)] : [
122
+ API(props.base_api, query),
123
+ getDirectories(props.base_api, { parent_id: query.directory_id })
124
+ ];
125
+ Promise.all(promise).then((res) => {
126
+ const files = res[0].code === 0 ? res[0].message.data || [] : [];
127
+ const folders = res[1] && res[1].code === 0 ? res[1].message.data || [] : [];
128
+ folderList.value = folders;
129
+ if (params && params.more) {
130
+ fileList.value = fileList.value.concat(files);
131
+ } else {
132
+ fileList.value = files;
133
+ }
134
+ if (params && params.goBack) {
135
+ breadCrumbs.value.pop();
136
+ } else if (params && params.toDir) {
137
+ breadCrumbs.value.push(currentDirectory.value);
138
+ }
139
+ fileListCount.value = res[0].code === 0 ? res[0].message.count || 0 : 0;
140
+ if (fileListCount.value < 30) {
141
+ isOver.value = true;
142
+ }
143
+ });
144
+ };
145
+ const loadFileMore = () => {
146
+ if (fileListCount.value > 30 && fileList.value.length < fileListCount.value) {
147
+ isOver.value = false;
148
+ getFilesQueryParam.value.offset = fileList.value.length;
149
+ loadData({ more: true });
150
+ } else {
151
+ isOver.value = true;
152
+ }
153
+ };
154
+ const search = (value) => {
155
+ getFilesQueryParam.value.offset = 0;
156
+ filter.value = value === null ? null : { ...value };
157
+ loadData();
158
+ };
159
+ return (_ctx, _cache) => {
160
+ return openBlock(), createElementBlock("div", _hoisted_1, [
161
+ createElementVNode("div", _hoisted_2, [
162
+ createCommentVNode(" \u9876\u90E8\u6807\u9898\uFF0C\u5173\u95ED\u6309\u94AE\uFF0C\u6587\u4EF6\u4E0A\u4F20 "),
163
+ createElementVNode("div", _hoisted_3, [
164
+ createVNode(unref(Tabs), {
165
+ modelValue: activeMediaType.value,
166
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeMediaType.value = $event),
167
+ class: "media-tabs",
168
+ onTabClick: MediaTypeChange
169
+ }, {
170
+ default: withCtx(() => [
171
+ _ctx.ai_static_covers && _ctx.ai_static_covers.length ? (openBlock(), createBlock(unref(TabPane), {
172
+ key: "ai",
173
+ title: "AI\u4F18\u9009"
174
+ })) : createCommentVNode("v-if", true),
175
+ createVNode(unref(TabPane), {
176
+ key: "all",
177
+ title: "\u5168\u90E8\u7D20\u6750"
178
+ }),
179
+ createVNode(unref(TabPane), {
180
+ key: "my",
181
+ title: "\u6211\u7684\u7D20\u6750"
182
+ })
183
+ ]),
184
+ _: 1
185
+ }, 8, ["modelValue"])
186
+ ]),
187
+ createElementVNode("div", {
188
+ class: "resources",
189
+ style: normalizeStyle({ height: resourcesHeight.value })
190
+ }, [
191
+ createCommentVNode(" ai\u4F18\u9009\u7D20\u6750 "),
192
+ activeMediaType.value === "ai" ? (openBlock(), createBlock(_sfc_main$1, {
193
+ key: 0,
194
+ ai_static_covers: _ctx.ai_static_covers,
195
+ ai_gif_covers: _ctx.ai_gif_covers,
196
+ "selected-max": _ctx.selectedMax,
197
+ preview: _ctx.preview,
198
+ "add-type": _ctx.addType,
199
+ onAdd: add
200
+ }, null, 8, ["ai_static_covers", "ai_gif_covers", "selected-max", "preview", "add-type"])) : createCommentVNode("v-if", true),
201
+ createCommentVNode(" \u7D20\u6750\u5E93\u7D20\u6750 "),
202
+ createCommentVNode(" \u7EC4\u7EC7\u3001\u6587\u4EF6\u5939\u9762\u5305\u5C51 "),
203
+ withDirectives(createElementVNode("div", _hoisted_4, [
204
+ createElementVNode("div", _hoisted_5, [
205
+ createVNode(_sfc_main$2, {
206
+ ref_key: "getMoreData",
207
+ ref: getMoreData,
208
+ class: "tool-search-box",
209
+ "active-media-type": activeMediaType.value,
210
+ base_api: _ctx.base_api,
211
+ onSearch: search
212
+ }, {
213
+ other: withCtx(() => [
214
+ breadCrumbs.value.length > 1 ? (openBlock(), createBlock(unref(Button), {
215
+ key: 0,
216
+ class: "back",
217
+ type: "secondary",
218
+ size: "medium",
219
+ onClick: goBackDirectory
220
+ }, {
221
+ icon: withCtx(() => [
222
+ createVNode(unref(IconArrowLeft))
223
+ ]),
224
+ _: 1
225
+ })) : createCommentVNode("v-if", true)
226
+ ]),
227
+ _: 1
228
+ }, 8, ["active-media-type", "base_api"])
229
+ ]),
230
+ breadCrumbs.value.length > 1 ? (openBlock(), createBlock(unref(Breadcrumb), {
231
+ key: 0,
232
+ separator: "/",
233
+ class: "breadcrumb"
234
+ }, {
235
+ default: withCtx(() => [
236
+ (openBlock(true), createElementBlock(Fragment, null, renderList(breadCrumbs.value, (item) => {
237
+ return openBlock(), createBlock(unref(BreadcrumbItem), {
238
+ key: item.directory_id,
239
+ class: "breadcrumbItem",
240
+ onClick: ($event) => returnAny(item)
241
+ }, {
242
+ default: withCtx(() => [
243
+ createTextVNode(toDisplayString(item.alias), 1)
244
+ ]),
245
+ _: 2
246
+ }, 1032, ["onClick"]);
247
+ }), 128))
248
+ ]),
249
+ _: 1
250
+ })) : createCommentVNode("v-if", true),
251
+ createCommentVNode(" \u6211\u7684\u5DE5\u7A0B\u3001\u89C6\u9891\u5217\u8868 "),
252
+ createVNode(_sfc_main$3, {
253
+ "folder-list": folderList.value,
254
+ "file-list": fileList.value,
255
+ "file-list-count": fileListCount.value,
256
+ "is-over": isOver.value,
257
+ preview: _ctx.preview,
258
+ "add-type": _ctx.addType,
259
+ "change-directory": changeDirectory,
260
+ "load-file-more": loadFileMore,
261
+ onAdd: add
262
+ }, null, 8, ["folder-list", "file-list", "file-list-count", "is-over", "preview", "add-type"])
263
+ ], 512), [
264
+ [vShow, ["all", "my"].includes(activeMediaType.value)]
265
+ ])
266
+ ], 4)
267
+ ])
268
+ ]);
269
+ };
270
+ }
271
+ });
272
+ export { _sfc_main as default };
@@ -0,0 +1,8 @@
1
+ interface Params {
2
+ [key: string]: any;
3
+ }
4
+ export declare function getAttachmentsAll(BASE_API: string, query?: Params): import("axios").AxiosPromise<any>;
5
+ export declare function getAttachmentsMy(BASE_API: string, query?: Params): import("axios").AxiosPromise<any>;
6
+ export declare function getDirectories(BASE_API: string, query?: Params): import("axios").AxiosPromise<any>;
7
+ export declare function getAccountList(BASE_API: string, id: number, query: Params): import("axios").AxiosPromise<any>;
8
+ export {};
@@ -0,0 +1,30 @@
1
+ import request from "../../utils/request.js";
2
+ function getAttachmentsAll(BASE_API, query) {
3
+ return request(BASE_API, {
4
+ url: `/poplar/v3/attachments`,
5
+ method: "get",
6
+ params: query
7
+ });
8
+ }
9
+ function getAttachmentsMy(BASE_API, query) {
10
+ return request(BASE_API, {
11
+ url: `/poplar/v3/my/attachments`,
12
+ method: "get",
13
+ params: query
14
+ });
15
+ }
16
+ function getDirectories(BASE_API, query) {
17
+ return request(BASE_API, {
18
+ url: `/poplar/v3/directories`,
19
+ method: "get",
20
+ params: query
21
+ });
22
+ }
23
+ function getAccountList(BASE_API, id, query) {
24
+ return request(BASE_API, {
25
+ url: `/poplar/v2/accounts/${id}`,
26
+ method: "get",
27
+ params: query
28
+ });
29
+ }
30
+ export { getAccountList, getAttachmentsAll, getAttachmentsMy, getDirectories };
@@ -0,0 +1,8 @@
1
+ export declare const rateOptions: import("vue").Ref<{
2
+ label: string;
3
+ value: string;
4
+ }[]>;
5
+ export declare const keywordsSelection: import("vue").Ref<{
6
+ name: string;
7
+ value: string;
8
+ }[]>;
@@ -0,0 +1,22 @@
1
+ import { ref } from "vue";
2
+ const rateOptions = ref([
3
+ { label: "\u5168\u90E8\u6BD4\u4F8B", value: "" },
4
+ { label: "16:9", value: "16:9" },
5
+ { label: "4:3", value: "4:3" },
6
+ { label: "4:1", value: "4:1" },
7
+ { label: "3:4", value: "3:4" },
8
+ { label: "\u5176\u4ED6", value: "others" }
9
+ ]);
10
+ const keywordsSelection = ref([
11
+ { name: "\u5168\u90E8\u7ED3\u679C", value: "" },
12
+ { name: "\u6807\u9898", value: "alias" },
13
+ { name: "\u624B\u52A8\u6807\u7B7E", value: "tags" },
14
+ { name: "\u4EBA\u8138", value: "ai_figure" },
15
+ { name: "\u573A\u666F", value: "ai_scenario" },
16
+ { name: "\u5B9E\u4F53(\u56FE\u50CF)", value: "ai_entity" },
17
+ { name: "Logo", value: "ai_logo" },
18
+ { name: "\u6587\u672C(OCR)", value: "ai_ocr_keywords" },
19
+ { name: "\u8BED\u97F3", value: "ai_speech_keywords" },
20
+ { name: "\u77E5\u8BC6\u56FE\u8C31", value: "ai_knowledge_graph" }
21
+ ]);
22
+ export { keywordsSelection, rateOptions };
@@ -0,0 +1,10 @@
1
+ export declare type BreadCrumbsType = {
2
+ directory_id: number;
3
+ alias: string;
4
+ };
5
+ export declare type FilesQueryParamType = {
6
+ directory_id: number;
7
+ limit: number;
8
+ offset: number;
9
+ catalog: string;
10
+ };
@@ -0,0 +1,56 @@
1
+ .doc-ai-media-selected {
2
+ height: 100%;
3
+
4
+ .arco-scrollbar {
5
+ height: 100%;
6
+
7
+ .doc-ai-media-selected-scrollbar {
8
+ height: 100%;
9
+ overflow: auto;
10
+
11
+ .thumb_type {
12
+ margin: 20px 0 10px 20px;
13
+ }
14
+
15
+ .thumb-list {
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ align-items: center;
19
+ margin-left: 18px;
20
+
21
+ .thumb-wrap {
22
+ width: 20%;
23
+ height: 100px;
24
+ margin-bottom: 20px;
25
+
26
+ .thumb-item {
27
+ height: 100%;
28
+ margin-right: 20px;
29
+
30
+ .pic {
31
+ position: relative;
32
+ width: 100%;
33
+ height: 100%;
34
+ overflow: hidden;
35
+ overflow: hidden;
36
+ border: solid 3px transparent;
37
+ border-radius: 4px;
38
+
39
+ &.active {
40
+ border: solid 3px #4886ff;
41
+ border-radius: 4px;
42
+ }
43
+
44
+ img {
45
+ display: block;
46
+ width: 100%;
47
+ height: 100%;
48
+ object-fit: cover;
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,183 @@
1
+ .file-type-thumb {
2
+ position: relative;
3
+ width: 100%;
4
+
5
+ &:hover .mask {
6
+ display: flex;
7
+ }
8
+
9
+ .mask {
10
+ position: absolute;
11
+ top: 0;
12
+ display: none;
13
+ align-items: center;
14
+ justify-content: center;
15
+ width: 100%;
16
+ height: 100%;
17
+ color: #eaeaea;
18
+ font-size: 18px;
19
+ background: rgba(0, 0, 0, 0.3);
20
+
21
+ i {
22
+ display: inline-block;
23
+ cursor: pointer;
24
+
25
+ &:active {
26
+ opacity: 0.4;
27
+ }
28
+ }
29
+
30
+ .half {
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ width: 48%;
35
+ height: 100%;
36
+
37
+ &:hover {
38
+ cursor: pointer;
39
+ opacity: 0.7;
40
+ }
41
+ }
42
+
43
+ .el-divider {
44
+ margin: 0;
45
+ opacity: 0.4;
46
+ }
47
+ }
48
+
49
+ .transparent {
50
+ position: absolute;
51
+ top: 0;
52
+ width: 100%;
53
+ height: 100%;
54
+
55
+ &:hover {
56
+ cursor: pointer;
57
+ }
58
+ }
59
+
60
+ .pic {
61
+ width: 100%;
62
+ padding-top: 56.25%;
63
+ background-color: #fff;
64
+ background-image: url('../assets/images/unknown.png');
65
+ background-repeat: no-repeat;
66
+ background-repeat: repeat-x;
67
+ background-position: top;
68
+ background-size: cover;
69
+
70
+ &:hover {
71
+ transform: scale(1.02);
72
+ transition: ease-out 0.4s;
73
+ }
74
+ }
75
+
76
+ .audio {
77
+ background-image: url('../assets/images/music.png') !important;
78
+
79
+ &.doc {
80
+ background-image: url('../assets/images/draf.png') !important;
81
+ }
82
+ }
83
+
84
+ .project {
85
+ background-image: url('../assets/images/project1.png') !important;
86
+ }
87
+
88
+ .doc {
89
+ background-image: url('../assets/images/draf.png');
90
+ }
91
+
92
+ .link {
93
+ background-image: url('../assets/images/link.png');
94
+ }
95
+
96
+ .sp_topic {
97
+ background-image: url('../assets/images/link.png');
98
+ }
99
+
100
+ .live {
101
+ background-image: url('../assets/images/live.png');
102
+ }
103
+
104
+ .pdf {
105
+ background-image: url('../assets/images/pdf.png') !important;
106
+ }
107
+
108
+ .officeexcel {
109
+ background-image: url('../assets/images/excel.png') !important;
110
+ }
111
+
112
+ .officeppt {
113
+ background-image: url('../assets/images/ppt.png') !important;
114
+ }
115
+
116
+ .zip {
117
+ background-image: url('../assets/images/zip.png') !important;
118
+ }
119
+
120
+ .rar {
121
+ background-image: url('../assets/images/rar.png') !important;
122
+ }
123
+
124
+ .txt {
125
+ background-image: url('../assets/images/txt.png') !important;
126
+ }
127
+
128
+ .exe {
129
+ background-image: url('../assets/images/exe.png') !important;
130
+ }
131
+
132
+ .html {
133
+ background-image: url('../assets/images/html.png') !important;
134
+ }
135
+
136
+ .officedoc {
137
+ background-image: url('../assets/images/word.png') !important;
138
+ }
139
+
140
+ .wechat {
141
+ background-image: url('../assets/images/wechat.png') !important;
142
+ }
143
+
144
+ .h5 {
145
+ background-image: url('../assets/images/h5.png') !important;
146
+ }
147
+
148
+ .ad {
149
+ background-image: url('../assets/images/ad.png') !important;
150
+ }
151
+
152
+ .booklink {
153
+ background-image: url('../assets/images/booklink.png') !important;
154
+ }
155
+
156
+ .activity {
157
+ background-image: url('../assets/images/activity.png') !important;
158
+ }
159
+
160
+ .svideo {
161
+ background-image: url('../assets/images/svideo.png') !important;
162
+ }
163
+
164
+ .cloud_lottery {
165
+ background-image: url('../assets/images/cloud_lottery.png') !important;
166
+ }
167
+
168
+ .cloud_form {
169
+ background-image: url('../assets/images/cloud_form.png') !important;
170
+ }
171
+
172
+ .illegal-media-warning {
173
+ position: absolute;
174
+ top: 0;
175
+ width: 100%;
176
+ height: 100%;
177
+ background-color: rgba(0, 0, 0, 0.65);
178
+ background-image: url('../assets/images/unknown.png');
179
+ background-repeat: no-repeat;
180
+ background-position: center;
181
+ background-size: 30%;
182
+ }
183
+ }