@cmstops/pro-compo 3.9.1-rc.1 → 3.9.1-rc.11

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 (101) hide show
  1. package/README.md +103 -76
  2. package/dist/index.css +49 -4
  3. package/dist/index.min.css +1 -1
  4. package/es/baseFilter/component.js +71 -14
  5. package/es/config.js +1 -1
  6. package/es/contentDetailList/component.js +24 -0
  7. package/es/contentDetailList/components/Content/index.js +2 -1
  8. package/es/contentDetailList/components/Doc/index.js +6 -0
  9. package/es/docHistory/component.js +41 -12
  10. package/es/docHistory/scripts/diff.js +4 -3
  11. package/es/docHistory/style/index.css +4 -0
  12. package/es/docHistory/style/index.less +5 -0
  13. package/es/hooks/useAttachement.js +2 -9
  14. package/es/hooks/usePopper.d.ts +1 -1
  15. package/es/hooks/usePopper.js +3 -3
  16. package/es/hooks/useUpload.d.ts +50 -2
  17. package/es/hooks/useUpload.js +43 -4
  18. package/es/index.css +49 -4
  19. package/es/index.d.ts +1 -0
  20. package/es/index.js +1 -0
  21. package/es/selectAddTo/component.d.ts +0 -0
  22. package/es/selectAddTo/component.js +125 -0
  23. package/es/selectAddTo/component.vue_vue_type_style_index_0_scoped_true_lang.js +2 -0
  24. package/es/selectAddTo/components/ViewAllColumn/MediaFilter/index.d.ts +0 -0
  25. package/es/selectAddTo/components/ViewAllColumn/MediaFilter/index.js +169 -0
  26. package/es/selectAddTo/components/ViewAllColumn/columnTree/index.d.ts +0 -0
  27. package/es/selectAddTo/components/ViewAllColumn/index.d.ts +0 -0
  28. package/es/selectAddTo/components/ViewAllColumn/index.js +209 -0
  29. package/es/selectAddTo/components/ViewAllColumn/index.vue_vue_type_style_index_0_scoped_true_lang.js +2 -0
  30. package/es/selectAddTo/components/ViewAllColumn/script/useTableColumns.js +78 -0
  31. package/es/selectAddTo/components/ViewAllColumn/script/useViewAllColumnState.d.ts +144 -0
  32. package/es/selectAddTo/components/ViewAllColumn/script/useViewAllColumnState.js +193 -0
  33. package/es/selectAddTo/components/ViewAllColumn/types/index.d.ts +59 -0
  34. package/es/selectAddTo/index.d.ts +2 -0
  35. package/es/selectAddTo/index.js +7 -0
  36. package/es/selectAddTo/script/api.d.ts +18 -0
  37. package/es/selectAddTo/script/api.js +30 -0
  38. package/es/selectAddTo/script/index.d.ts +2 -0
  39. package/es/selectAddTo/script/useSelectAddToState.d.ts +21 -0
  40. package/es/selectAddTo/script/useSelectAddToState.js +106 -0
  41. package/es/selectAddTo/style/css.js +1 -0
  42. package/es/selectAddTo/style/index.css +3 -0
  43. package/es/selectAddTo/style/index.d.ts +1 -0
  44. package/es/selectAddTo/style/index.js +1 -0
  45. package/es/selectAddTo/style/index.less +3 -0
  46. package/es/selectAddTo/types/index.d.ts +42 -0
  47. package/es/selectResourceModal/__demo__/module/DivWrapper.d.ts +268 -0
  48. package/es/selectResourceModal/__demo__/module/basic.d.ts +299 -0
  49. package/es/selectResourceModal/components/List/ListLocal/index.js +8 -3
  50. package/es/selectResourceModal/components/List/ListNormal/Filter.js +201 -89
  51. package/es/selectResourceModal/components/List/ListNormal/index.js +23 -7
  52. package/es/selectResourceModal/hooks/useResponsiveFilter.d.ts +21 -0
  53. package/es/selectResourceModal/hooks/useResponsiveFilter.js +142 -0
  54. package/es/selectResourceModal/scripts/useCompoLf.js +1 -1
  55. package/es/selectResourceModal/style/index.css +45 -4
  56. package/es/selectResourceModal/style/index.less +14 -0
  57. package/es/selectResourceModal/style/list.less +40 -4
  58. package/es/selectThumb/component.js +16 -27
  59. package/es/style.css +57 -0
  60. package/es/typeIcons/component.js +1 -1
  61. package/es/utils/index.js +6 -6
  62. package/lib/baseFilter/component.js +69 -12
  63. package/lib/config.js +1 -1
  64. package/lib/contentDetailList/component.js +24 -0
  65. package/lib/contentDetailList/components/Content/index.js +2 -1
  66. package/lib/contentDetailList/components/Doc/index.js +6 -0
  67. package/lib/docHistory/component.js +39 -10
  68. package/lib/docHistory/scripts/diff.js +4 -3
  69. package/lib/docHistory/style/index.css +4 -0
  70. package/lib/docHistory/style/index.less +5 -0
  71. package/lib/hooks/useAttachement.js +2 -9
  72. package/lib/hooks/usePopper.js +3 -3
  73. package/lib/hooks/useUpload.js +43 -3
  74. package/lib/index.css +49 -4
  75. package/lib/index.js +2 -0
  76. package/lib/selectAddTo/component.js +126 -0
  77. package/lib/selectAddTo/component.vue_vue_type_style_index_0_scoped_true_lang.js +3 -0
  78. package/lib/selectAddTo/components/ViewAllColumn/MediaFilter/index.js +170 -0
  79. package/lib/selectAddTo/components/ViewAllColumn/index.js +210 -0
  80. package/lib/selectAddTo/components/ViewAllColumn/index.vue_vue_type_style_index_0_scoped_true_lang.js +3 -0
  81. package/lib/selectAddTo/components/ViewAllColumn/script/useTableColumns.js +80 -0
  82. package/lib/selectAddTo/components/ViewAllColumn/script/useViewAllColumnState.js +195 -0
  83. package/lib/selectAddTo/index.js +8 -0
  84. package/lib/selectAddTo/script/api.js +35 -0
  85. package/lib/selectAddTo/script/useSelectAddToState.js +108 -0
  86. package/lib/selectAddTo/style/css.js +2 -0
  87. package/lib/selectAddTo/style/index.css +3 -0
  88. package/lib/selectAddTo/style/index.js +2 -0
  89. package/lib/selectAddTo/style/index.less +3 -0
  90. package/lib/selectResourceModal/components/List/ListLocal/index.js +6 -1
  91. package/lib/selectResourceModal/components/List/ListNormal/Filter.js +198 -86
  92. package/lib/selectResourceModal/components/List/ListNormal/index.js +22 -6
  93. package/lib/selectResourceModal/hooks/useResponsiveFilter.js +144 -0
  94. package/lib/selectResourceModal/scripts/useCompoLf.js +1 -1
  95. package/lib/selectResourceModal/style/index.css +45 -4
  96. package/lib/selectResourceModal/style/index.less +14 -0
  97. package/lib/selectResourceModal/style/list.less +40 -4
  98. package/lib/selectThumb/component.js +16 -27
  99. package/lib/typeIcons/component.js +1 -1
  100. package/lib/utils/index.js +6 -6
  101. package/package.json +1 -1
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ var webVue = require("@arco-design/web-vue");
4
+ var icon = require("@arco-design/web-vue/es/icon");
5
+ const _hoisted_1 = { class: "media-filter-container" };
6
+ const _hoisted_2 = { style: { "display": "flex", "align-items": "center", "gap": "5px" } };
7
+ const _hoisted_3 = {
8
+ key: 0,
9
+ class: "sort-button"
10
+ };
11
+ const _sfc_main = vue.defineComponent({
12
+ ...{ name: "MediaFilter" },
13
+ __name: "index",
14
+ props: {
15
+ groupId: {},
16
+ tree: { default: () => [] },
17
+ series: { default: "all" },
18
+ banner: { default: "all" },
19
+ height: {},
20
+ userInfo: {},
21
+ typeKey: {}
22
+ },
23
+ emits: ["update:group_id", "search"],
24
+ setup(__props, { emit: __emit }) {
25
+ const props = __props;
26
+ const column_id = vue.ref("all");
27
+ const emit = __emit;
28
+ const filter = vue.ref({
29
+ keywords: "",
30
+ type: "",
31
+ cover_type: "",
32
+ banner: "",
33
+ sort: -1,
34
+ order: "create_time",
35
+ wordState: "precision"
36
+ });
37
+ const wordStateOptions = [
38
+ {
39
+ value: "precision",
40
+ label: "\u7CBE\u51C6\u641C",
41
+ desc: "\u4F1A\u4EE5\u8F93\u5165\u7684\u5B8C\u6574\u5173\u952E\u8BCD\u201C\u6210\u957F\u201D\u8FDB\u884C\u641C\u7D22\uFF0C\u641C\u7D22\u7ED3\u679C\u5173\u8054\u6027\u66F4\u9AD8\uFF0C\u4F46\u641C\u7D22\u7ED3\u679C\u66F4\u5C11"
42
+ },
43
+ {
44
+ value: "blur",
45
+ label: "\u6A21\u7CCA\u641C",
46
+ desc: "\u4F1A\u5C06\u8F93\u5165\u5185\u5BB9\u5206\u8BCD\uFF0C\u4F8B\u5982\u201C\u6210\u957F\u201D\u4F1A\u5206\u4E3A\u201C\u6210\u201D\u3001\u201C\u957F\u201D\u3001\u201C\u6210\u957F\u201D\uFF0C\u5185\u5BB9\u5305\u542B\u4E09\u4E2A\u8BCD\u4E2D\u4EFB\u610F\u4E00\u4E2A\u5747\u4F1A\u663E\u793A\u51FA\u6765\uFF0C\u641C\u7D22\u5185\u5BB9\u66F4\u52A0\u4E30\u5BCC"
47
+ }
48
+ ];
49
+ const sortMethodOptions = vue.computed(() => {
50
+ return [
51
+ { value: "pub_time", label: "\u53D1\u5E03\u65F6\u95F4" },
52
+ { value: "create_time", label: "\u521B\u5EFA\u65F6\u95F4" }
53
+ ];
54
+ });
55
+ const checkout = (type) => {
56
+ filter.value.wordState = type;
57
+ };
58
+ const handleSearch = () => {
59
+ const params = JSON.parse(JSON.stringify(filter.value));
60
+ if (filter.value.wordState === "precision") {
61
+ params.precise_kw = params.keywords;
62
+ delete params.keywords;
63
+ }
64
+ delete params.wordState;
65
+ emit("search", params);
66
+ };
67
+ vue.watch(
68
+ () => filter.value,
69
+ () => {
70
+ handleSearch();
71
+ },
72
+ { deep: true }
73
+ );
74
+ vue.watch(
75
+ () => props.groupId,
76
+ (val) => {
77
+ column_id.value = val;
78
+ }
79
+ );
80
+ vue.watch(
81
+ () => props.banner,
82
+ (val) => {
83
+ filter.value.banner = val === "all" ? "" : val;
84
+ },
85
+ { immediate: true }
86
+ );
87
+ vue.watch(
88
+ () => column_id.value,
89
+ (val) => {
90
+ emit("update:group_id", val);
91
+ }
92
+ );
93
+ return (_ctx, _cache) => {
94
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
95
+ vue.createVNode(vue.unref(webVue.Space), { size: "small" }, {
96
+ default: vue.withCtx(() => [
97
+ vue.createVNode(vue.unref(webVue.Input), {
98
+ modelValue: filter.value.keywords,
99
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => filter.value.keywords = $event),
100
+ "allow-clear": "",
101
+ class: "filter-item keyword",
102
+ placeholder: "\u8BF7\u8F93\u5165\u5185\u5BB9\u6807\u9898",
103
+ style: { width: "240px" },
104
+ onPressEnter: handleSearch
105
+ }, {
106
+ prepend: vue.withCtx(() => [
107
+ vue.createVNode(vue.unref(webVue.Select), {
108
+ modelValue: filter.value.wordState,
109
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filter.value.wordState = $event),
110
+ placeholder: "\u8BF7\u9009\u62E9",
111
+ onSelect: checkout
112
+ }, {
113
+ default: vue.withCtx(() => [
114
+ (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(wordStateOptions, (item, index) => {
115
+ return vue.createVNode(vue.unref(webVue.Option), {
116
+ key: index,
117
+ value: item.value,
118
+ label: item.label
119
+ }, {
120
+ default: vue.withCtx(() => [
121
+ vue.createElementVNode("div", _hoisted_2, [
122
+ vue.createElementVNode("span", null, vue.toDisplayString(item.label), 1),
123
+ vue.createVNode(vue.unref(webVue.Tooltip), {
124
+ effect: "dark",
125
+ content: item.desc,
126
+ position: "right"
127
+ }, {
128
+ default: vue.withCtx(() => [
129
+ vue.createVNode(vue.unref(icon.IconInfoCircle))
130
+ ]),
131
+ _: 2
132
+ }, 1032, ["content"])
133
+ ])
134
+ ]),
135
+ _: 2
136
+ }, 1032, ["value", "label"]);
137
+ }), 64))
138
+ ]),
139
+ _: 1
140
+ }, 8, ["modelValue"])
141
+ ]),
142
+ _: 1
143
+ }, 8, ["modelValue"])
144
+ ]),
145
+ _: 1
146
+ }),
147
+ _ctx.typeKey && _ctx.typeKey !== "ZQ" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
148
+ vue.createVNode(vue.unref(webVue.Select), {
149
+ modelValue: filter.value.order,
150
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => filter.value.order = $event),
151
+ class: "filter-item",
152
+ placeholder: "\u53D1\u5E03\u65F6\u95F4"
153
+ }, {
154
+ default: vue.withCtx(() => [
155
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(sortMethodOptions.value, (item) => {
156
+ return vue.openBlock(), vue.createBlock(vue.unref(webVue.Option), {
157
+ key: item.value,
158
+ label: item.label,
159
+ value: item.value
160
+ }, null, 8, ["label", "value"]);
161
+ }), 128))
162
+ ]),
163
+ _: 1
164
+ }, 8, ["modelValue"])
165
+ ])) : vue.createCommentVNode("v-if", true)
166
+ ]);
167
+ };
168
+ }
169
+ });
170
+ module.exports = _sfc_main;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ var vue = require("vue");
3
+ var icon = require("@arco-design/web-vue/es/icon");
4
+ var webVue = require("@arco-design/web-vue");
5
+ var component = require("../../../typeIcons/component.js");
6
+ var index = require("./MediaFilter/index.js");
7
+ var component$1 = require("../../../dataTags/component.js");
8
+ var index$1 = require("../../../utils/index.js");
9
+ var useViewAllColumnState = require("./script/useViewAllColumnState.js");
10
+ var useTableColumns = require("./script/useTableColumns.js");
11
+ require("./index.vue_vue_type_style_index_0_scoped_true_lang.js");
12
+ var pluginVue_exportHelper = require("../../../_virtual/plugin-vue_export-helper.js");
13
+ const _hoisted_1 = { class: "view-all-column-container" };
14
+ const _hoisted_2 = {
15
+ key: 0,
16
+ class: "content-table-view"
17
+ };
18
+ const _hoisted_3 = { class: "title-span" };
19
+ const _hoisted_4 = { class: "title" };
20
+ const _hoisted_5 = { class: "title-span" };
21
+ const _hoisted_6 = { class: "title-span" };
22
+ const _hoisted_7 = {
23
+ key: 1,
24
+ class: "content-table-view"
25
+ };
26
+ const _hoisted_8 = { class: "title-span" };
27
+ const _hoisted_9 = { class: "title" };
28
+ const _hoisted_10 = { class: "title-span" };
29
+ const _hoisted_11 = { class: "title-span" };
30
+ const _hoisted_12 = { class: "bottom-view" };
31
+ const _hoisted_13 = { class: "left" };
32
+ const _sfc_main = vue.defineComponent({
33
+ ...{ name: "ViewAllColumn" },
34
+ __name: "index",
35
+ props: {
36
+ maxSelect: {},
37
+ defaultSelectedData: {},
38
+ typeData: {},
39
+ series: {},
40
+ banner: {},
41
+ userInfo: {},
42
+ typeKey: {},
43
+ rid: {}
44
+ },
45
+ emits: ["change"],
46
+ setup(__props, { emit: __emit }) {
47
+ const emit = __emit;
48
+ const props = __props;
49
+ const listMinHeight = vue.ref(0);
50
+ const categoryCascaderData = vue.ref([]);
51
+ const scrollPercent = { y: "100%" };
52
+ const {
53
+ selectedData,
54
+ mediaFileData,
55
+ dataLoading,
56
+ group_id,
57
+ page,
58
+ isItemChecked,
59
+ tableCellMouseEnter,
60
+ tableCellMouseLeave,
61
+ selectTableCell,
62
+ selectTableAll,
63
+ search,
64
+ pageChangeHandle,
65
+ loadData,
66
+ loadMore
67
+ } = useViewAllColumnState.useViewAllColumnState(props, emit);
68
+ const { columns, politicalColumns } = useTableColumns.useTableColumns(
69
+ props,
70
+ selectedData,
71
+ isItemChecked
72
+ );
73
+ vue.onMounted(() => {
74
+ loadData();
75
+ });
76
+ return (_ctx, _cache) => {
77
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
78
+ vue.createVNode(index, {
79
+ group_id: vue.unref(group_id),
80
+ "onUpdate:group_id": _cache[0] || (_cache[0] = ($event) => vue.isRef(group_id) ? group_id.value = $event : null),
81
+ height: listMinHeight.value,
82
+ tree: categoryCascaderData.value,
83
+ "type-key": _ctx.typeKey,
84
+ onSearch: vue.unref(search)
85
+ }, null, 8, ["group_id", "height", "tree", "type-key", "onSearch"]),
86
+ _ctx.typeKey && _ctx.typeKey !== "ZQ" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
87
+ vue.createVNode(vue.unref(webVue.Table), {
88
+ bordered: false,
89
+ columns: vue.unref(columns),
90
+ data: vue.unref(mediaFileData),
91
+ pagination: false,
92
+ loading: vue.unref(dataLoading),
93
+ scroll: scrollPercent,
94
+ "load-more": vue.unref(loadMore),
95
+ onCellMouseEnter: vue.unref(tableCellMouseEnter),
96
+ onCellMouseLeave: vue.unref(tableCellMouseLeave),
97
+ onRowClick: vue.unref(selectTableCell)
98
+ }, {
99
+ "expand-icon": vue.withCtx(({ expanded }) => [
100
+ !expanded ? (vue.openBlock(), vue.createBlock(vue.unref(icon.IconRight), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(icon.IconDown), { key: 1 }))
101
+ ]),
102
+ selectTitle: vue.withCtx(() => [
103
+ vue.createVNode(vue.unref(webVue.Checkbox), {
104
+ "model-value": vue.unref(selectedData).length === vue.unref(mediaFileData).length,
105
+ class: "icon",
106
+ onChange: vue.unref(selectTableAll)
107
+ }, null, 8, ["model-value", "onChange"])
108
+ ]),
109
+ select: vue.withCtx(({ record }) => [
110
+ vue.createVNode(vue.unref(webVue.Checkbox), {
111
+ "model-value": vue.unref(isItemChecked)(vue.unref(selectedData), record),
112
+ class: "icon"
113
+ }, null, 8, ["model-value"])
114
+ ]),
115
+ title: vue.withCtx(({ record }) => [
116
+ vue.createElementVNode("span", _hoisted_3, [
117
+ vue.createVNode(component, {
118
+ type: record.series,
119
+ class: "icon",
120
+ doc: true
121
+ }, null, 8, ["type"]),
122
+ vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(record.title || record.alias || "--"), 1)
123
+ ])
124
+ ]),
125
+ series: vue.withCtx(({ record }) => [
126
+ vue.createVNode(component$1, { item: record }, null, 8, ["item"])
127
+ ]),
128
+ duty_editor: vue.withCtx(({ record }) => [
129
+ vue.createElementVNode("span", _hoisted_5, [
130
+ vue.createElementVNode("span", null, vue.toDisplayString(record.duty_editor || "--"), 1)
131
+ ])
132
+ ]),
133
+ pub_time: vue.withCtx(({ record }) => [
134
+ vue.createElementVNode("span", _hoisted_6, [
135
+ vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(index$1.timeFormat)(record.pub_time)), 1)
136
+ ])
137
+ ]),
138
+ _: 1
139
+ }, 8, ["columns", "data", "loading", "load-more", "onCellMouseEnter", "onCellMouseLeave", "onRowClick"])
140
+ ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
141
+ vue.createVNode(vue.unref(webVue.Table), {
142
+ bordered: false,
143
+ columns: vue.unref(politicalColumns),
144
+ data: vue.unref(mediaFileData),
145
+ pagination: false,
146
+ loading: vue.unref(dataLoading),
147
+ scroll: scrollPercent,
148
+ onCellMouseEnter: vue.unref(tableCellMouseEnter),
149
+ onCellMouseLeave: vue.unref(tableCellMouseLeave),
150
+ onRowClick: vue.unref(selectTableCell)
151
+ }, {
152
+ selectTitle: vue.withCtx(() => [
153
+ vue.createVNode(vue.unref(webVue.Checkbox), {
154
+ "model-value": vue.unref(selectedData).length === vue.unref(mediaFileData).length,
155
+ class: "icon",
156
+ onChange: vue.unref(selectTableAll)
157
+ }, null, 8, ["model-value", "onChange"])
158
+ ]),
159
+ select: vue.withCtx(({ record }) => [
160
+ vue.createVNode(vue.unref(webVue.Checkbox), {
161
+ "model-value": vue.unref(isItemChecked)(vue.unref(selectedData), record),
162
+ class: "icon"
163
+ }, null, 8, ["model-value"])
164
+ ]),
165
+ name: vue.withCtx(({ record }) => [
166
+ vue.createElementVNode("span", _hoisted_8, [
167
+ vue.createVNode(component, {
168
+ type: record.series,
169
+ class: "icon",
170
+ doc: ""
171
+ }, null, 8, ["type"]),
172
+ vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(record.name || record.alias || "--"), 1)
173
+ ])
174
+ ]),
175
+ series: vue.withCtx(({ record }) => [
176
+ vue.createVNode(component$1, { item: record }, null, 8, ["item"])
177
+ ]),
178
+ position: vue.withCtx(({ record }) => [
179
+ vue.createElementVNode("span", _hoisted_10, [
180
+ vue.createElementVNode("span", null, vue.toDisplayString(record.position || "--"), 1)
181
+ ])
182
+ ]),
183
+ city_alias: vue.withCtx(({ record }) => [
184
+ vue.createElementVNode("span", _hoisted_11, [
185
+ vue.createElementVNode("span", null, vue.toDisplayString(record.city_alias || "--"), 1)
186
+ ])
187
+ ]),
188
+ _: 1
189
+ }, 8, ["columns", "data", "loading", "onCellMouseEnter", "onCellMouseLeave", "onRowClick"])
190
+ ])),
191
+ vue.createElementVNode("div", _hoisted_12, [
192
+ vue.createElementVNode("div", _hoisted_13, [
193
+ vue.renderSlot(_ctx.$slots, "store", {}, void 0, true),
194
+ vue.withDirectives(vue.createVNode(vue.unref(webVue.Pagination), {
195
+ current: vue.unref(page).index,
196
+ "page-size": vue.unref(page).size,
197
+ total: vue.unref(page).total,
198
+ onChange: vue.unref(pageChangeHandle)
199
+ }, null, 8, ["current", "page-size", "total", "onChange"]), [
200
+ [vue.vShow, vue.unref(mediaFileData).length > 0]
201
+ ])
202
+ ]),
203
+ vue.renderSlot(_ctx.$slots, "options", {}, void 0, true)
204
+ ])
205
+ ]);
206
+ };
207
+ }
208
+ });
209
+ var ViewAllColumn = /* @__PURE__ */ pluginVue_exportHelper(_sfc_main, [["__scopeId", "data-v-ac92e0de"]]);
210
+ module.exports = ViewAllColumn;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ var index_vue_vue_type_style_index_0_scoped_true_lang = "";
3
+ module.exports = index_vue_vue_type_style_index_0_scoped_true_lang;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ var vue = require("vue");
4
+ var webVue = require("@arco-design/web-vue");
5
+ const useTableColumns = (props, selectedData, isItemChecked) => {
6
+ const columns = vue.ref([
7
+ {
8
+ title: "\u52FE",
9
+ dataIndex: "select",
10
+ slotName: "select",
11
+ width: 40,
12
+ titleSlotName: "selectTitle",
13
+ render: ({ record }) => {
14
+ if (props.typeKey === "series:special_v3") {
15
+ if (record.isLeaf) {
16
+ return vue.h(webVue.Checkbox, {
17
+ modelValue: isItemChecked.value(selectedData.value, record),
18
+ class: "icon"
19
+ });
20
+ }
21
+ return null;
22
+ }
23
+ return vue.h(webVue.Checkbox, {
24
+ modelValue: isItemChecked.value(selectedData.value, record),
25
+ class: "icon"
26
+ });
27
+ }
28
+ },
29
+ {
30
+ title: "\u4E13\u9898/\u680F\u76EE\u540D\u79F0",
31
+ dataIndex: "title",
32
+ slotName: "title",
33
+ width: 428
34
+ },
35
+ {
36
+ title: "\u7F16\u8F91",
37
+ dataIndex: "duty_editor",
38
+ slotName: "duty_editor",
39
+ width: 100
40
+ },
41
+ {
42
+ title: "\u53D1\u5E03\u65F6\u95F4",
43
+ dataIndex: "pub_time",
44
+ slotName: "pub_time",
45
+ width: 150
46
+ }
47
+ ]);
48
+ const politicalColumns = vue.ref([
49
+ {
50
+ title: "\u52FE",
51
+ dataIndex: "select",
52
+ slotName: "select",
53
+ width: 40,
54
+ titleSlotName: "selectTitle"
55
+ },
56
+ {
57
+ title: "\u653F\u60C5\u4EBA\u7269\u59D3\u540D",
58
+ dataIndex: "name",
59
+ slotName: "name",
60
+ width: 428
61
+ },
62
+ {
63
+ title: "\u804C\u4F4D",
64
+ dataIndex: "position",
65
+ slotName: "position",
66
+ width: 100
67
+ },
68
+ {
69
+ title: "\u5730\u533A",
70
+ dataIndex: "city_alias",
71
+ slotName: "city_alias",
72
+ width: 150
73
+ }
74
+ ]);
75
+ return {
76
+ columns,
77
+ politicalColumns
78
+ };
79
+ };
80
+ exports.useTableColumns = useTableColumns;
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ var vue = require("vue");
4
+ var webVue = require("@arco-design/web-vue");
5
+ var config = require("../../../../config.js");
6
+ var api = require("../../../script/api.js");
7
+ var batch = require("../../../../hooks/batch.js");
8
+ const useViewAllColumnState = (props, emit) => {
9
+ const _maxSelect = props.maxSelect || 100;
10
+ const selectedData = vue.ref([]);
11
+ const mediaFileData = vue.ref([]);
12
+ const filter = vue.ref(null);
13
+ const dataLoading = vue.ref(false);
14
+ const group_id = vue.ref(0);
15
+ const page = vue.ref({
16
+ index: 1,
17
+ size: 30,
18
+ total: 0
19
+ });
20
+ const tempSelectedData = vue.computed(() => props.defaultSelectedData || []);
21
+ vue.watch(
22
+ () => tempSelectedData.value,
23
+ (val) => {
24
+ selectedData.value = val;
25
+ }
26
+ );
27
+ const importantBanner = vue.computed(() => {
28
+ if (!props.banner || props.banner === "all")
29
+ return false;
30
+ return !!props.banner;
31
+ });
32
+ const { isItemChecked, tableCellMouseEnter, tableCellMouseLeave } = batch();
33
+ const selectTableCell = (record) => {
34
+ selectData(record);
35
+ };
36
+ const selectTableAll = (checked) => {
37
+ if (checked) {
38
+ selectedData.value = [];
39
+ mediaFileData.value.forEach((item) => selectData(item));
40
+ } else {
41
+ selectedData.value = [];
42
+ }
43
+ emitChange();
44
+ };
45
+ const selectData = (record) => {
46
+ if (importantBanner.value) {
47
+ const { cover } = record;
48
+ if (!(cover == null ? void 0 : cover.banner)) {
49
+ return webVue.Message.warning({ content: "\u8BE5\u5185\u5BB9\u4E0D\u5177\u5907\u72EC\u7ACB\u8F6E\u64AD\u56FE" });
50
+ }
51
+ }
52
+ addDataToSelectedList(record);
53
+ return true;
54
+ };
55
+ const addDataToSelectedList = async (record) => {
56
+ const index = selectedData.value.findIndex((v) => v.id === record.id);
57
+ if (selectedData.value.length < _maxSelect) {
58
+ if (index === -1) {
59
+ selectedData.value.push(record);
60
+ } else {
61
+ selectedData.value.splice(index, 1);
62
+ }
63
+ emitChange();
64
+ } else {
65
+ if (index === -1) {
66
+ selectedData.value.splice(selectedData.value.length - 1, 1);
67
+ selectedData.value.push(record);
68
+ } else {
69
+ selectedData.value.splice(index, 1);
70
+ }
71
+ emitChange();
72
+ }
73
+ };
74
+ const emitChange = () => {
75
+ emit("change", selectedData.value);
76
+ };
77
+ const search = (_filter) => {
78
+ var _a;
79
+ _filter = { ..._filter };
80
+ const where = [];
81
+ _filter.precise_kw && where.push(`precise_kw:${_filter.precise_kw}`);
82
+ _filter.keywords && where.push(`kw:${_filter.keywords}`);
83
+ _filter.type && where.push(`series:${_filter.type}`);
84
+ _filter.state && where.push(`state:${_filter.state}`);
85
+ _filter.cover_type && where.push(`cover_type:${_filter.cover_type}`);
86
+ _filter.banner && where.push(`banner:${_filter.banner}`);
87
+ if (((_a = _filter.publish_date) == null ? void 0 : _a.length) === 2) {
88
+ where.push(`publish_from:${_filter.publish_date[0] / 1e3}`);
89
+ where.push(`publish_to:${_filter.publish_date[1] / 1e3}`);
90
+ }
91
+ _filter.where = where;
92
+ filter.value = _filter;
93
+ page.value.index = 1;
94
+ loadData();
95
+ };
96
+ const pageChangeHandle = (index) => {
97
+ page.value.index = index;
98
+ loadData();
99
+ };
100
+ vue.watch(
101
+ () => group_id.value,
102
+ () => {
103
+ page.value.index = 1;
104
+ loadData();
105
+ }
106
+ );
107
+ const loadData = async () => {
108
+ var _a, _b;
109
+ const params = {
110
+ limit: page.value.size,
111
+ offset: page.value.size * (page.value.index - 1),
112
+ where: ["state:15|19"]
113
+ };
114
+ params.where.push(props.typeKey);
115
+ if (filter.value) {
116
+ const _filter = filter.value;
117
+ params.order = _filter.order;
118
+ params.sort = _filter.sort;
119
+ if (_filter.where) {
120
+ params.where = [...params.where, ..._filter.where];
121
+ }
122
+ }
123
+ params.where = params.where.join(",");
124
+ dataLoading.value = true;
125
+ try {
126
+ let response;
127
+ if (props.typeKey && props.typeKey !== "ZQ") {
128
+ response = await api.getCategoryMediaNew(config.DEFAULT_BASE_API, params);
129
+ } else {
130
+ params.keyword = ((_a = filter.value) == null ? void 0 : _a.precise_kw) || ((_b = filter.value) == null ? void 0 : _b.keywords) || "";
131
+ params.state = 2;
132
+ response = await api.getPoliticals(config.DEFAULT_BASE_API, params);
133
+ }
134
+ const { code, message } = response;
135
+ if (code === 0) {
136
+ mediaFileData.value = (message.data || message.datas).map((v) => ({
137
+ ...v,
138
+ catalog: "doc",
139
+ target_id: v.id,
140
+ target_type: 3,
141
+ pub_time: v.pub_time || v.created_at,
142
+ update_time: v.updated_at,
143
+ pub_user_alias: v.author_alias,
144
+ key: v.id,
145
+ isLeaf: props.typeKey !== "series:special_v3"
146
+ }));
147
+ page.value.total = message.total || message.count;
148
+ }
149
+ } catch (error) {
150
+ console.error("Failed to load data:", error);
151
+ } finally {
152
+ dataLoading.value = false;
153
+ }
154
+ };
155
+ const loadMore = async (record, done) => {
156
+ try {
157
+ const res = await api.getMlists(config.DEFAULT_BASE_API, {
158
+ rid: props.rid,
159
+ gid: record.special_id
160
+ });
161
+ setTimeout(() => {
162
+ done(
163
+ res.message.map((item) => ({
164
+ ...item,
165
+ isLeaf: true,
166
+ key: item.id,
167
+ parentName: record.title,
168
+ parentId: record.id
169
+ }))
170
+ );
171
+ }, 2e3);
172
+ } catch (error) {
173
+ console.error("Failed to load more data:", error);
174
+ done([]);
175
+ }
176
+ };
177
+ return {
178
+ selectedData,
179
+ mediaFileData,
180
+ filter,
181
+ dataLoading,
182
+ group_id,
183
+ page,
184
+ isItemChecked,
185
+ tableCellMouseEnter,
186
+ tableCellMouseLeave,
187
+ selectTableCell,
188
+ selectTableAll,
189
+ search,
190
+ pageChangeHandle,
191
+ loadData,
192
+ loadMore
193
+ };
194
+ };
195
+ exports.useViewAllColumnState = useViewAllColumnState;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var component = require("./component.js");
3
+ const selectAddTo = Object.assign(component, {
4
+ install: (app) => {
5
+ app.component(component.name, component);
6
+ }
7
+ });
8
+ module.exports = selectAddTo;