@cmstops/pro-compo 0.1.45 → 0.1.48

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 (45) hide show
  1. package/dist/index.css +187 -0
  2. package/dist/index.min.css +1 -1
  3. package/es/contentDetailList/components/Content/LiveItem/index.js +1 -2
  4. package/es/contentDetailList/components/Content/courseItem/index.d.ts +0 -0
  5. package/es/contentDetailList/components/Content/courseItem/index.js +95 -0
  6. package/es/contentDetailList/components/Content/funhdItem/index.d.ts +0 -0
  7. package/es/contentDetailList/components/Content/funhdItem/index.js +95 -0
  8. package/es/contentDetailList/components/Content/index.js +41 -1
  9. package/es/contentDetailList/style/courseItem.less +108 -0
  10. package/es/contentDetailList/style/funhdItem.less +108 -0
  11. package/es/contentDetailList/style/index.css +184 -0
  12. package/es/contentDetailList/style/index.less +2 -0
  13. package/es/contentModal/component.js +49 -3
  14. package/es/contentModal/components/EqxiuList/MediaFilter/index.d.ts +0 -0
  15. package/es/contentModal/components/EqxiuList/MediaFilter/index.js +79 -0
  16. package/es/contentModal/components/EqxiuList/index.d.ts +0 -0
  17. package/es/contentModal/components/EqxiuList/index.js +229 -0
  18. package/es/contentModal/script/api.d.ts +1 -0
  19. package/es/contentModal/script/api.js +8 -1
  20. package/es/contentModal/style/ViewAllColumn.less +3 -0
  21. package/es/contentModal/style/index.css +3 -0
  22. package/es/index.css +187 -0
  23. package/es/typeIcons/component.js +18 -3
  24. package/es/utils/request.js +5 -1
  25. package/es/utils/typeMap.d.ts +2 -0
  26. package/es/utils/typeMap.js +3 -1
  27. package/lib/contentDetailList/components/Content/LiveItem/index.js +1 -2
  28. package/lib/contentDetailList/components/Content/courseItem/index.js +96 -0
  29. package/lib/contentDetailList/components/Content/funhdItem/index.js +96 -0
  30. package/lib/contentDetailList/components/Content/index.js +41 -1
  31. package/lib/contentDetailList/style/courseItem.less +108 -0
  32. package/lib/contentDetailList/style/funhdItem.less +108 -0
  33. package/lib/contentDetailList/style/index.css +184 -0
  34. package/lib/contentDetailList/style/index.less +2 -0
  35. package/lib/contentModal/component.js +49 -3
  36. package/lib/contentModal/components/EqxiuList/MediaFilter/index.js +80 -0
  37. package/lib/contentModal/components/EqxiuList/index.js +230 -0
  38. package/lib/contentModal/script/api.js +8 -0
  39. package/lib/contentModal/style/ViewAllColumn.less +3 -0
  40. package/lib/contentModal/style/index.css +3 -0
  41. package/lib/index.css +187 -0
  42. package/lib/typeIcons/component.js +17 -2
  43. package/lib/utils/request.js +5 -1
  44. package/lib/utils/typeMap.js +3 -1
  45. package/package.json +3 -3
@@ -6,6 +6,7 @@ var index$3 = require("./components/CompoList/index.js");
6
6
  var index$5 = require("./components/MpAccountList/index.js");
7
7
  var index$2 = require("./components/ContentList/index.js");
8
8
  var index$4 = require("./components/LiveList/index.js");
9
+ var index$7 = require("./components/EqxiuList/index.js");
9
10
  var index$6 = require("./components/MpContentList/index.js");
10
11
  var index$1 = require("./components/storeBox/index.js");
11
12
  require("../typeIcons/style/index.js");
@@ -102,6 +103,7 @@ const _sfc_main = vue.defineComponent({
102
103
  onTabClick: tabsChange
103
104
  }, {
104
105
  default: vue.withCtx(() => [
106
+ vue.createCommentVNode(" \u680F\u76EE\u7A3F\u4EF6 "),
105
107
  typeDataController.value.addDoc ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
106
108
  key: "1",
107
109
  title: "\u680F\u76EE"
@@ -140,6 +142,7 @@ const _sfc_main = vue.defineComponent({
140
142
  ]),
141
143
  _: 1
142
144
  })) : vue.createCommentVNode("v-if", true),
145
+ vue.createCommentVNode(" \u9891\u9053 "),
143
146
  typeDataController.value.addContentList ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
144
147
  key: "2",
145
148
  title: "\u9891\u9053"
@@ -178,6 +181,7 @@ const _sfc_main = vue.defineComponent({
178
181
  ]),
179
182
  _: 1
180
183
  })) : vue.createCommentVNode("v-if", true),
184
+ vue.createCommentVNode(" \u7EC4\u4EF6 "),
181
185
  typeDataController.value.addCompo ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
182
186
  key: "5",
183
187
  title: "\u7EC4\u4EF6"
@@ -217,14 +221,15 @@ const _sfc_main = vue.defineComponent({
217
221
  ]),
218
222
  _: 1
219
223
  })) : vue.createCommentVNode("v-if", true),
220
- typeDataController.value.addCompo ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
224
+ vue.createCommentVNode(" \u4E92\u52A8\u76F4\u64AD "),
225
+ typeDataController.value.addILive ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
221
226
  key: "6",
222
227
  title: "\u4E92\u52A8\u76F4\u64AD"
223
228
  }, {
224
229
  default: vue.withCtx(() => [
225
230
  vue.unref(userInfo) && vue.unref(userInfo).repository_id ? (vue.openBlock(), vue.createBlock(index$4, {
226
231
  key: 0,
227
- columns: typeDataController.value.compoType,
232
+ columns: typeDataController.value.iliveType,
228
233
  "default-selected-data": selectedData.value,
229
234
  "max-select": _ctx.maxSelect,
230
235
  "outside-select-data": _ctx.outsideSelectData || [],
@@ -255,6 +260,7 @@ const _sfc_main = vue.defineComponent({
255
260
  ]),
256
261
  _: 1
257
262
  })) : vue.createCommentVNode("v-if", true),
263
+ vue.createCommentVNode(" \u516C\u4F17\u53F7\u8D26\u53F7 "),
258
264
  typeDataController.value.addMpAccount ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
259
265
  key: "7",
260
266
  title: vue.unref(mpName)
@@ -293,6 +299,7 @@ const _sfc_main = vue.defineComponent({
293
299
  ]),
294
300
  _: 1
295
301
  }, 8, ["title"])) : vue.createCommentVNode("v-if", true),
302
+ vue.createCommentVNode(" \u516C\u4F17\u53F7\u5185\u5BB9 "),
296
303
  typeDataController.value.addMpContent ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
297
304
  key: "8",
298
305
  title: `${vue.unref(mpName)}\u5185\u5BB9`
@@ -330,7 +337,46 @@ const _sfc_main = vue.defineComponent({
330
337
  }, 8, ["columns", "default-selected-data", "max-select", "outside-select-data", "type-data", "user-info"])) : vue.createCommentVNode("v-if", true)
331
338
  ]),
332
339
  _: 1
333
- }, 8, ["title"])) : vue.createCommentVNode("v-if", true)
340
+ }, 8, ["title"])) : vue.createCommentVNode("v-if", true),
341
+ vue.createCommentVNode(" \u4E92\u52A8\u8FD0\u8425 "),
342
+ typeDataController.value.addFunhd ? (vue.openBlock(), vue.createBlock(vue.unref(webVue.TabPane), {
343
+ key: "9",
344
+ title: "\u4E92\u52A8\u8FD0\u8425"
345
+ }, {
346
+ default: vue.withCtx(() => [
347
+ vue.unref(userInfo) && vue.unref(userInfo).repository_id ? (vue.openBlock(), vue.createBlock(index$7, {
348
+ key: 0,
349
+ columns: typeDataController.value.funhdType,
350
+ "default-selected-data": selectedData.value,
351
+ "max-select": _ctx.maxSelect,
352
+ "outside-select-data": _ctx.outsideSelectData || [],
353
+ "type-data": typeDataController.value,
354
+ "user-info": vue.unref(userInfo),
355
+ onChange: selectedDataChangeHandle
356
+ }, {
357
+ store: vue.withCtx(() => [
358
+ vue.createVNode(index$1, {
359
+ selectData: selectedData.value,
360
+ "onUpdate:selectData": _cache[6] || (_cache[6] = ($event) => selectedData.value = $event)
361
+ }, null, 8, ["selectData"])
362
+ ]),
363
+ options: vue.withCtx(() => [
364
+ vue.createVNode(vue.unref(webVue.Button), {
365
+ disabled: !hasSelected.value,
366
+ type: "primary",
367
+ onClick: comfirm
368
+ }, {
369
+ default: vue.withCtx(() => [
370
+ vue.createTextVNode(" \u6DFB\u52A0 ")
371
+ ]),
372
+ _: 1
373
+ }, 8, ["disabled"])
374
+ ]),
375
+ _: 1
376
+ }, 8, ["columns", "default-selected-data", "max-select", "outside-select-data", "type-data", "user-info"])) : vue.createCommentVNode("v-if", true)
377
+ ]),
378
+ _: 1
379
+ })) : vue.createCommentVNode("v-if", true)
334
380
  ]),
335
381
  _: 1
336
382
  })
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ var webVue = require("@arco-design/web-vue");
4
+ const _hoisted_1 = { class: "media-filter-container" };
5
+ const _sfc_main = vue.defineComponent({
6
+ ...{ name: "MediaFilter" },
7
+ __name: "index",
8
+ emits: ["update:group_id", "search"],
9
+ setup(__props, { emit: __emit }) {
10
+ const emit = __emit;
11
+ const filter = vue.ref({ type: "", name: "" });
12
+ const typeOptions = vue.ref([
13
+ {
14
+ value: "",
15
+ label: "\u5168\u90E8"
16
+ },
17
+ {
18
+ value: "hd",
19
+ label: "\u4E92\u52A8"
20
+ },
21
+ {
22
+ value: "h5",
23
+ label: "H5"
24
+ },
25
+ {
26
+ value: "lc",
27
+ label: "\u957F\u9875"
28
+ },
29
+ {
30
+ value: "design",
31
+ label: "\u6D77\u62A5"
32
+ },
33
+ {
34
+ value: "form",
35
+ label: "\u8868\u5355"
36
+ }
37
+ ]);
38
+ const handleSearch = () => {
39
+ emit("search", filter.value);
40
+ };
41
+ vue.watch(filter.value, () => {
42
+ handleSearch();
43
+ });
44
+ return (_ctx, _cache) => {
45
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
46
+ vue.createVNode(vue.unref(webVue.Space), { size: "large" }, {
47
+ default: vue.withCtx(() => [
48
+ vue.createVNode(vue.unref(webVue.Select), {
49
+ modelValue: filter.value.type,
50
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filter.value.type = $event),
51
+ class: "filter-item",
52
+ placeholder: "\u6D3B\u52A8\u7C7B\u578B"
53
+ }, {
54
+ default: vue.withCtx(() => [
55
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(typeOptions.value, (item) => {
56
+ return vue.openBlock(), vue.createBlock(vue.unref(webVue.Option), {
57
+ key: item.value,
58
+ label: item.label,
59
+ value: item.value
60
+ }, null, 8, ["label", "value"]);
61
+ }), 128))
62
+ ]),
63
+ _: 1
64
+ }, 8, ["modelValue"]),
65
+ vue.createVNode(vue.unref(webVue.Input), {
66
+ modelValue: filter.value.name,
67
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => filter.value.name = $event),
68
+ class: "filter-item",
69
+ "allow-clear": "",
70
+ placeholder: "\u8F93\u5165\u5185\u5BB9\u6807\u9898",
71
+ onPressEnter: handleSearch
72
+ }, null, 8, ["modelValue"])
73
+ ]),
74
+ _: 1
75
+ })
76
+ ]);
77
+ };
78
+ }
79
+ });
80
+ module.exports = _sfc_main;
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ var webVue = require("@arco-design/web-vue");
4
+ var component = require("../../../typeIcons/component.js");
5
+ var index = require("./MediaFilter/index.js");
6
+ var batch = require("../../../hooks/batch.js");
7
+ var api = require("../../script/api.js");
8
+ const _hoisted_1 = { class: "view-all-column-container" };
9
+ const _hoisted_2 = { class: "content-table-view" };
10
+ const _hoisted_3 = { class: "title-span" };
11
+ const _hoisted_4 = ["onClick"];
12
+ const _hoisted_5 = { class: "title" };
13
+ const _hoisted_6 = { class: "bottom-view" };
14
+ const _hoisted_7 = { class: "left" };
15
+ const _sfc_main = vue.defineComponent({
16
+ ...{ name: "LiveList" },
17
+ __name: "index",
18
+ props: {
19
+ maxSelect: {},
20
+ outsideSelectData: {},
21
+ defaultSelectedData: {},
22
+ userInfo: {}
23
+ },
24
+ emits: ["change"],
25
+ setup(__props, { emit: __emit }) {
26
+ const emit = __emit;
27
+ const props = __props;
28
+ const typeMap = vue.ref({
29
+ hd: "\u4E92\u52A8",
30
+ h5: "H5",
31
+ lc: "\u957F\u9875",
32
+ design: "\u6D77\u62A5",
33
+ form: "\u8868\u5355"
34
+ });
35
+ const _maxSelect = props.maxSelect || 100;
36
+ const selectedData = vue.ref([]);
37
+ const group_id = vue.ref("all");
38
+ const mediaFileData = vue.ref([]);
39
+ const dataLoading = vue.ref(false);
40
+ const page = vue.ref({
41
+ index: 1,
42
+ size: 100,
43
+ total: 0
44
+ });
45
+ const filter = vue.ref(null);
46
+ const columns = [
47
+ {
48
+ title: "\u6807\u9898",
49
+ dataIndex: "title",
50
+ slotName: "title"
51
+ },
52
+ {
53
+ title: "\u7C7B\u578B",
54
+ dataIndex: "type",
55
+ slotName: "type",
56
+ width: 150
57
+ },
58
+ {
59
+ title: "\u53D1\u5E03\u65F6\u95F4",
60
+ dataIndex: "publishTime",
61
+ slotName: "publishTime",
62
+ width: 300
63
+ }
64
+ ];
65
+ const scrollPercent = { y: "100%" };
66
+ const tempSelectedData = vue.computed(() => {
67
+ return props.defaultSelectedData || [];
68
+ });
69
+ const search = (_filter) => {
70
+ if (_filter.name || _filter.type) {
71
+ filter.value = { ..._filter };
72
+ } else {
73
+ filter.value = null;
74
+ }
75
+ page.value.index = 1;
76
+ loadData();
77
+ };
78
+ const loadData = async () => {
79
+ const gid = group_id.value;
80
+ if (!gid)
81
+ return;
82
+ let params = {
83
+ page_size: page.value.size,
84
+ page_no: page.value.index
85
+ };
86
+ if (filter.value) {
87
+ params = { ...params, ...filter.value };
88
+ }
89
+ if (gid !== "all") {
90
+ params.gid = gid;
91
+ }
92
+ dataLoading.value = true;
93
+ const res = await api.getEqxiuList(props.userInfo.BASE_API, params);
94
+ dataLoading.value = false;
95
+ if ((res == null ? void 0 : res.code) === 0) {
96
+ const { count, data } = res.message;
97
+ mediaFileData.value = data.map((v) => {
98
+ v.catalog = "funhd";
99
+ v.id = v.ID || v.id;
100
+ v.target_id = v.ID || v.id;
101
+ v.target_type = 17;
102
+ v.pub_time = v.updateTime;
103
+ v.update_time = v.updateTime;
104
+ return v;
105
+ }) || [];
106
+ page.value.total = count || 0;
107
+ }
108
+ };
109
+ const clickCheckbox = (e, record) => {
110
+ e.stopPropagation();
111
+ e.preventDefault();
112
+ selectData(record);
113
+ };
114
+ const selectTableCell = (record) => {
115
+ selectData(record);
116
+ };
117
+ const selectData = (record) => {
118
+ if (checkSameAdd(record)) {
119
+ webVue.Message.warning({ content: "\u8BF7\u52FF\u6DFB\u52A0\u91CD\u590D\u6570\u636E", duration: 3e3 });
120
+ return;
121
+ }
122
+ addDataToSelectedList(record);
123
+ };
124
+ const checkSameAdd = (record) => {
125
+ const selected = props.outsideSelectData;
126
+ if (!selected.length)
127
+ return false;
128
+ return selected.map((row) => row.id).includes(record.id);
129
+ };
130
+ const addDataToSelectedList = async (record) => {
131
+ const index2 = selectedData.value.findIndex((v) => v.id === record.id);
132
+ if (selectedData.value.length < _maxSelect) {
133
+ if (index2 === -1) {
134
+ selectedData.value.push(record);
135
+ } else {
136
+ selectedData.value.splice(index2, 1);
137
+ }
138
+ emitChange();
139
+ } else {
140
+ if (index2 === -1) {
141
+ selectedData.value.splice(selectedData.value.length - 1, 1);
142
+ selectedData.value.push(record);
143
+ } else {
144
+ selectedData.value.splice(index2, 1);
145
+ }
146
+ webVue.Message.warning({ content: "\u5DF2\u8FBE\u5230\u9009\u62E9\u6570\u91CF\u7684\u4E0A\u9650", duration: 3e3 });
147
+ emitChange();
148
+ }
149
+ };
150
+ const emitChange = () => {
151
+ emit("change", selectedData.value);
152
+ };
153
+ const {
154
+ isItemChecked,
155
+ hoverBatchBox,
156
+ tableCellMouseEnter,
157
+ tableCellMouseLeave
158
+ } = batch();
159
+ vue.watch(
160
+ () => tempSelectedData.value,
161
+ (val) => {
162
+ selectedData.value = val;
163
+ }
164
+ );
165
+ vue.watch(
166
+ () => group_id.value,
167
+ () => {
168
+ loadData();
169
+ }
170
+ );
171
+ vue.onMounted(() => {
172
+ loadData();
173
+ });
174
+ return (_ctx, _cache) => {
175
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
176
+ vue.createVNode(index, {
177
+ group_id: group_id.value,
178
+ "onUpdate:group_id": _cache[0] || (_cache[0] = ($event) => group_id.value = $event),
179
+ onSearch: search
180
+ }, null, 8, ["group_id"]),
181
+ vue.createElementVNode("div", _hoisted_2, [
182
+ vue.createVNode(vue.unref(webVue.Table), {
183
+ columns,
184
+ scroll: scrollPercent,
185
+ pagination: false,
186
+ bordered: false,
187
+ data: mediaFileData.value,
188
+ loading: dataLoading.value,
189
+ onCellMouseEnter: vue.unref(tableCellMouseEnter),
190
+ onCellMouseLeave: vue.unref(tableCellMouseLeave),
191
+ onRowClick: selectTableCell
192
+ }, {
193
+ title: vue.withCtx(({ record }) => [
194
+ vue.createElementVNode("span", _hoisted_3, [
195
+ vue.unref(hoverBatchBox)(selectedData.value, record) ? (vue.openBlock(), vue.createElementBlock("span", {
196
+ key: 0,
197
+ onClick: vue.withModifiers(($event) => clickCheckbox($event, record), ["stop"])
198
+ }, [
199
+ vue.createVNode(vue.unref(webVue.Checkbox), {
200
+ class: "icon",
201
+ "model-value": vue.unref(isItemChecked)(selectedData.value, record)
202
+ }, null, 8, ["model-value"])
203
+ ], 8, _hoisted_4)) : (vue.openBlock(), vue.createBlock(component, {
204
+ key: 1,
205
+ class: "icon",
206
+ type: record.series
207
+ }, null, 8, ["type"])),
208
+ vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(record.title || record.alias || "--"), 1)
209
+ ])
210
+ ]),
211
+ type: vue.withCtx(({ record }) => [
212
+ vue.createElementVNode("span", null, vue.toDisplayString(typeMap.value[record.type] || "--"), 1)
213
+ ]),
214
+ publishTime: vue.withCtx(({ record }) => [
215
+ vue.createElementVNode("span", null, vue.toDisplayString(record.publishTime), 1)
216
+ ]),
217
+ _: 1
218
+ }, 8, ["data", "loading", "onCellMouseEnter", "onCellMouseLeave"])
219
+ ]),
220
+ vue.createElementVNode("div", _hoisted_6, [
221
+ vue.createElementVNode("div", _hoisted_7, [
222
+ vue.renderSlot(_ctx.$slots, "store")
223
+ ]),
224
+ vue.renderSlot(_ctx.$slots, "options")
225
+ ])
226
+ ]);
227
+ };
228
+ }
229
+ });
230
+ module.exports = _sfc_main;
@@ -58,6 +58,13 @@ function getBroadcastList(BASE_API, params) {
58
58
  params
59
59
  });
60
60
  }
61
+ function getEqxiuList(BASE_API, params) {
62
+ return request(BASE_API, {
63
+ url: "/poplar/v3/eqxiu/creation/list",
64
+ method: "get",
65
+ params
66
+ });
67
+ }
61
68
  function getMpContentList(BASE_API, params) {
62
69
  return request(BASE_API, {
63
70
  url: "/poplar/v3/mp/media/list",
@@ -71,6 +78,7 @@ exports.getCategoryCategoriesTree = getCategoryCategoriesTree;
71
78
  exports.getCategoryMediaNew = getCategoryMediaNew;
72
79
  exports.getCategoryPath = getCategoryPath;
73
80
  exports.getCategorylistsGroups = getCategorylistsGroups;
81
+ exports.getEqxiuList = getEqxiuList;
74
82
  exports.getMpContentList = getMpContentList;
75
83
  exports.searchMlists = searchMlists;
76
84
  exports.searchMpaccount = searchMpaccount;
@@ -13,6 +13,8 @@
13
13
  .pic-thumb-img {
14
14
  width: 60px;
15
15
  height: 45px;
16
+ vertical-align: middle;
17
+ border-radius: 3px;
16
18
  }
17
19
 
18
20
  .title-span,
@@ -30,6 +32,7 @@
30
32
  margin-right: 8px;
31
33
  padding-left: 0;
32
34
  font-size: 18px;
35
+ line-height: 28px;
33
36
  text-align: center;
34
37
  vertical-align: middle;
35
38
  }
@@ -109,6 +109,8 @@
109
109
  .view-all-column-container .content-table-view .pic-thumb-img {
110
110
  width: 60px;
111
111
  height: 45px;
112
+ vertical-align: middle;
113
+ border-radius: 3px;
112
114
  }
113
115
  .view-all-column-container .content-table-view .title-span,
114
116
  .view-all-column-container .content-table-view .mp_title-span {
@@ -126,6 +128,7 @@
126
128
  margin-right: 8px;
127
129
  padding-left: 0;
128
130
  font-size: 18px;
131
+ line-height: 28px;
129
132
  text-align: center;
130
133
  vertical-align: middle;
131
134
  }
package/lib/index.css CHANGED
@@ -436,6 +436,8 @@
436
436
  .view-all-column-container .content-table-view .pic-thumb-img {
437
437
  width: 60px;
438
438
  height: 45px;
439
+ vertical-align: middle;
440
+ border-radius: 3px;
439
441
  }
440
442
  .view-all-column-container .content-table-view .title-span,
441
443
  .view-all-column-container .content-table-view .mp_title-span {
@@ -453,6 +455,7 @@
453
455
  margin-right: 8px;
454
456
  padding-left: 0;
455
457
  font-size: 18px;
458
+ line-height: 28px;
456
459
  text-align: center;
457
460
  vertical-align: middle;
458
461
  }
@@ -2730,6 +2733,190 @@
2730
2733
  .medialist-mpdoc-item-view .info-view .abttrite-v .right {
2731
2734
  margin-right: 20px;
2732
2735
  }
2736
+ .medialist-course-item-view {
2737
+ display: flex;
2738
+ padding: 10px;
2739
+ border-bottom: 1px solid #f0f0f0;
2740
+ }
2741
+ .medialist-course-item-view:hover {
2742
+ background: #fafafa;
2743
+ }
2744
+ .medialist-course-item-view .cover-view {
2745
+ position: relative;
2746
+ flex-shrink: 0;
2747
+ width: 110px;
2748
+ height: 70px;
2749
+ margin-right: 20px;
2750
+ background: #edf3ff;
2751
+ }
2752
+ .medialist-course-item-view .cover-view .image {
2753
+ width: 100%;
2754
+ height: 100%;
2755
+ border-radius: 4px;
2756
+ }
2757
+ .medialist-course-item-view .cover-view .image img {
2758
+ width: 100%;
2759
+ height: 100%;
2760
+ }
2761
+ .medialist-course-item-view .cover-view .no-img {
2762
+ display: flex;
2763
+ align-items: center;
2764
+ justify-content: center;
2765
+ width: 100%;
2766
+ height: 100%;
2767
+ color: white;
2768
+ font-size: 30px;
2769
+ }
2770
+ .medialist-course-item-view .info-view {
2771
+ display: flex;
2772
+ flex: 1;
2773
+ flex-direction: column;
2774
+ justify-content: space-between;
2775
+ padding: 2px 0;
2776
+ }
2777
+ .medialist-course-item-view .info-view .title {
2778
+ display: flex;
2779
+ align-items: center;
2780
+ margin-bottom: 10px;
2781
+ overflow: hidden;
2782
+ color: #1d2129;
2783
+ font-weight: 400;
2784
+ font-size: 14px;
2785
+ font-style: normal;
2786
+ line-height: 22px;
2787
+ cursor: pointer;
2788
+ -webkit-line-clamp: 2;
2789
+ -webkit-box-orient: vertical;
2790
+ }
2791
+ .medialist-course-item-view .info-view .abttrite-v {
2792
+ display: flex;
2793
+ align-items: center;
2794
+ justify-content: space-between;
2795
+ }
2796
+ .medialist-course-item-view .info-view .abttrite-v .left {
2797
+ display: flex;
2798
+ flex: 1;
2799
+ align-items: center;
2800
+ color: #808692;
2801
+ font-size: 12px;
2802
+ }
2803
+ .medialist-course-item-view .info-view .abttrite-v .left .icon {
2804
+ margin-right: 8px;
2805
+ }
2806
+ .medialist-course-item-view .info-view .abttrite-v .left .abttr {
2807
+ display: inline-block;
2808
+ width: 20%;
2809
+ overflow: hidden;
2810
+ white-space: nowrap;
2811
+ text-overflow: ellipsis;
2812
+ }
2813
+ .medialist-course-item-view .info-view .abttrite-v .left .abttr.time {
2814
+ width: 250px;
2815
+ }
2816
+ .medialist-course-item-view .info-view .abttrite-v .left .abttr.tags {
2817
+ display: flex;
2818
+ align-items: center;
2819
+ width: 190px;
2820
+ }
2821
+ .medialist-course-item-view .info-view .abttrite-v .left .abttr.type {
2822
+ display: inline-block;
2823
+ width: 160px;
2824
+ }
2825
+ .medialist-course-item-view .info-view .abttrite-v .right {
2826
+ margin-right: 20px;
2827
+ }
2828
+ .medialist-funhd-item-view {
2829
+ display: flex;
2830
+ padding: 10px;
2831
+ border-bottom: 1px solid #f0f0f0;
2832
+ }
2833
+ .medialist-funhd-item-view:hover {
2834
+ background: #fafafa;
2835
+ }
2836
+ .medialist-funhd-item-view .cover-view {
2837
+ position: relative;
2838
+ flex-shrink: 0;
2839
+ width: 110px;
2840
+ height: 70px;
2841
+ margin-right: 20px;
2842
+ background: #edf3ff;
2843
+ }
2844
+ .medialist-funhd-item-view .cover-view .image {
2845
+ width: 100%;
2846
+ height: 100%;
2847
+ border-radius: 4px;
2848
+ }
2849
+ .medialist-funhd-item-view .cover-view .image img {
2850
+ width: 100%;
2851
+ height: 100%;
2852
+ }
2853
+ .medialist-funhd-item-view .cover-view .no-img {
2854
+ display: flex;
2855
+ align-items: center;
2856
+ justify-content: center;
2857
+ width: 100%;
2858
+ height: 100%;
2859
+ color: white;
2860
+ font-size: 30px;
2861
+ }
2862
+ .medialist-funhd-item-view .info-view {
2863
+ display: flex;
2864
+ flex: 1;
2865
+ flex-direction: column;
2866
+ justify-content: space-between;
2867
+ padding: 2px 0;
2868
+ }
2869
+ .medialist-funhd-item-view .info-view .title {
2870
+ display: flex;
2871
+ align-items: center;
2872
+ margin-bottom: 10px;
2873
+ overflow: hidden;
2874
+ color: #1d2129;
2875
+ font-weight: 400;
2876
+ font-size: 14px;
2877
+ font-style: normal;
2878
+ line-height: 22px;
2879
+ cursor: pointer;
2880
+ -webkit-line-clamp: 2;
2881
+ -webkit-box-orient: vertical;
2882
+ }
2883
+ .medialist-funhd-item-view .info-view .abttrite-v {
2884
+ display: flex;
2885
+ align-items: center;
2886
+ justify-content: space-between;
2887
+ }
2888
+ .medialist-funhd-item-view .info-view .abttrite-v .left {
2889
+ display: flex;
2890
+ flex: 1;
2891
+ align-items: center;
2892
+ color: #808692;
2893
+ font-size: 12px;
2894
+ }
2895
+ .medialist-funhd-item-view .info-view .abttrite-v .left .icon {
2896
+ margin-right: 8px;
2897
+ }
2898
+ .medialist-funhd-item-view .info-view .abttrite-v .left .abttr {
2899
+ display: inline-block;
2900
+ width: 20%;
2901
+ overflow: hidden;
2902
+ white-space: nowrap;
2903
+ text-overflow: ellipsis;
2904
+ }
2905
+ .medialist-funhd-item-view .info-view .abttrite-v .left .abttr.time {
2906
+ width: 250px;
2907
+ }
2908
+ .medialist-funhd-item-view .info-view .abttrite-v .left .abttr.tags {
2909
+ display: flex;
2910
+ align-items: center;
2911
+ width: 190px;
2912
+ }
2913
+ .medialist-funhd-item-view .info-view .abttrite-v .left .abttr.type {
2914
+ display: inline-block;
2915
+ width: 160px;
2916
+ }
2917
+ .medialist-funhd-item-view .info-view .abttrite-v .right {
2918
+ margin-right: 20px;
2919
+ }
2733
2920
  .gray-for-state-hide {
2734
2921
  -webkit-filter: grayscale(100%);
2735
2922
  -moz-filter: grayscale(100%);