From fcb0f111c0b1c2936186d916498054e3296ff920 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Tue, 22 Jul 2025 17:06:49 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=B3=E8=81=94=E5=86=85=E5=AE=B9?=
=?UTF-8?q?=E7=A8=BF=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/all/propertyMarketing.ts | 7 +-
.../components/add-project-modal/stepFour.vue | 270 +++++++++++++++++-
.../add-project-modal/stepThree.vue | 4 +-
.../components/add-project-modal/stepTwo.vue | 2 +-
4 files changed, 270 insertions(+), 13 deletions(-)
diff --git a/src/api/all/propertyMarketing.ts b/src/api/all/propertyMarketing.ts
index d309855..5d3f115 100644
--- a/src/api/all/propertyMarketing.ts
+++ b/src/api/all/propertyMarketing.ts
@@ -365,4 +365,9 @@ export const getMediaAccountSyncStatus = (params = {}) => {
// 媒体账号-移除同步状态
export const deleteSyncStatus = (id: string) => {
return Http.delete(`/v1/media-accounts/${id}/sync-status`);
-};
\ No newline at end of file
+};
+
+// 内容稿件-列表
+export const getWorksList = (params = {}) => {
+ return Http.get('/v1/works/list', params);
+};
diff --git a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepFour.vue b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepFour.vue
index d32555d..fa6c846 100644
--- a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepFour.vue
+++ b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepFour.vue
@@ -1,12 +1,264 @@
- 步骤4
-
-
-
\ No newline at end of file
+
+const query = ref({
+ uid: '',
+ uploader_id: '',
+ title: '',
+});
+const uploaders = ref([]);
+const allData = ref([]);
+
+const updateFormQuery = () => {
+ emit('update:formQuery', {
+ ...props.formQuery,
+ work_ids: selectedRowKeys.value,
+ });
+};
+const handleSearch = () => {
+ const { uid, title, uploader_id } = query.value;
+ dataSource.value = allData.value.filter((item) => {
+ const uinMatch = uid === '' ? true : item.uid.includes(uid);
+ const titleMatch = title === '' ? true : item.title === title;
+ const operatorIdMatch = uploader_id === '' ? true : item.uploader?.id === uploader_id;
+ return uinMatch && titleMatch && operatorIdMatch;
+ });
+};
+
+// const getOperators = async () => {
+// const { code, data } = await getPlacementAccountOperators();
+// if (code === 200) {
+// uploaders.value = data;
+// }
+// };
+const getTableData = async () => {
+ const { code, data } = await getWorksList();
+ if (code === 200) {
+ allData.value = data ?? [];
+ dataSource.value = data ?? [];
+ uploaders.value = data.map( v => ({
+ id: v.uploader?.id,
+ name: v.uploader?.name,
+ }))
+ initSelect();
+ }
+};
+const initSelect = () => {
+ if (props.formQuery.work_ids?.length) {
+ selectedRowKeys.value = props.formQuery.work_ids;
+ selectedRows.value = dataSource.value.filter((v) => selectedRowKeys.value.includes(v.id));
+ }
+};
+
+const onClearSelect = () => {
+ selectedRowKeys.value = [];
+ selectedRows.value = [];
+ updateFormQuery();
+};
+
+const onDelete = (item) => {
+ const { id } = item;
+ selectedRowKeys.value = selectedRowKeys.value.filter((v) => v !== id);
+ selectedRows.value = selectedRows.value.filter((v) => v.id !== id);
+ updateFormQuery();
+};
+
+onMounted(() => {
+ // getOperators();
+ getTableData();
+});
+
+
+
diff --git a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepThree.vue b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepThree.vue
index 776e8db..37b86e5 100644
--- a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepThree.vue
+++ b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepThree.vue
@@ -58,7 +58,7 @@
@select-all="handleSelectAll"
>
-
+
-
+
diff --git a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepTwo.vue b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepTwo.vue
index 84b2d06..cc171e1 100644
--- a/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepTwo.vue
+++ b/src/views/property-marketing/project-manage/project-list/components/add-project-modal/stepTwo.vue
@@ -58,7 +58,7 @@
@select-all="handleSelectAll"
>
-
+