From 9bc6ed44d53455a9ce5cbfd16aa4982e2c6089f9 Mon Sep 17 00:00:00 2001 From: rd <1344903914@qq.com> Date: Fri, 25 Jul 2025 11:52:23 +0800 Subject: [PATCH 01/64] =?UTF-8?q?feat:=20=E7=BB=9F=E4=B8=80=E8=8E=B7?= =?UTF-8?q?=E5=8F=96app-routes=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/_base/menu/use-menu-tree.ts | 8 ++++---- src/stores/modules/user/index.ts | 8 ++++---- src/views/components/workplace/modules/product.vue | 2 -- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/components/_base/menu/use-menu-tree.ts b/src/components/_base/menu/use-menu-tree.ts index c784606..55010ad 100644 --- a/src/components/_base/menu/use-menu-tree.ts +++ b/src/components/_base/menu/use-menu-tree.ts @@ -3,13 +3,13 @@ * @Date: 2025-06-19 01:45:53 */ import type { RouteRecordRaw, RouteRecordNormalized } from 'vue-router'; - -// import { useAppStore } from '@/stores'; -import { appRoutes } from '@/router/routes'; +import { useRouter } from 'vue-router'; import { useSidebarStore } from '@/stores/modules/side-bar'; export default function useMenuTree() { - // const appStore = useAppStore(); + const router = useRouter(); + const appRoutes = router.options.routes; + const sidebarStore = useSidebarStore(); const appRoute = computed(() => { const _filterRoutes = appRoutes.filter((v) => v.meta?.id === sidebarStore.activeMenuId); diff --git a/src/stores/modules/user/index.ts b/src/stores/modules/user/index.ts index 71443de..645eb9d 100644 --- a/src/stores/modules/user/index.ts +++ b/src/stores/modules/user/index.ts @@ -1,9 +1,7 @@ -import type { RouteRecordNormalized } from 'vue-router'; - +import { useRouter } from 'vue-router'; import { defineStore } from 'pinia'; import { fetchProfileInfo } from '@/api/all/login'; import { useSidebarStore } from '@/stores/modules/side-bar'; -import router from '@/router'; import { glsWithCatch, slsWithCatch, rlsWithCatch } from '@/utils/stroage'; interface UserInfo { @@ -80,8 +78,10 @@ export const useUserStore = defineStore('user', { }, getUserAllowAccessRoutes() { const sidebarStore = useSidebarStore(); + const router = useRouter(); + const menuList = sidebarStore.menuList; - const appRoutes = router.getRoutes(); + const appRoutes = router.options.routes; appRoutes.forEach((route: any) => { if (!route.meta?.requiresAuth) { diff --git a/src/views/components/workplace/modules/product.vue b/src/views/components/workplace/modules/product.vue index 616cecf..8a9aac5 100644 --- a/src/views/components/workplace/modules/product.vue +++ b/src/views/components/workplace/modules/product.vue @@ -69,7 +69,6 @@ import { now } from '@vueuse/core'; import { trialProduct } from '@/api/all'; import { useRouter } from 'vue-router'; import CustomerServiceModal from '@/components/customer-service-modal.vue'; -import { appRoutes } from '@/router/routes'; import { useSidebarStore } from '@/stores/modules/side-bar'; import { useEnterpriseStore } from '@/stores/modules/enterprise'; @@ -119,7 +118,6 @@ const gotoModule = (menuId: number) => { '1': 'DataEngineHotTranslation', '2': 'RepositoryBrandMaterials', }; - console.log(routeMap[menuId]); router.push({ name: routeMap[menuId] }); }; From 28dc67bfa4f2aa0dcf20cd0bf70d60610ef8c54c Mon Sep 17 00:00:00 2001 From: rd <1344903914@qq.com> Date: Fri, 25 Jul 2025 12:02:44 +0800 Subject: [PATCH 02/64] =?UTF-8?q?perf:=20=E7=BB=9F=E4=B8=80=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/workplace/modules/product.vue | 48 ++++--------------- 1 file changed, 9 insertions(+), 39 deletions(-) diff --git a/src/views/components/workplace/modules/product.vue b/src/views/components/workplace/modules/product.vue index 8a9aac5..16ee2a2 100644 --- a/src/views/components/workplace/modules/product.vue +++ b/src/views/components/workplace/modules/product.vue @@ -24,23 +24,26 @@ @@ -219,38 +221,6 @@ const gotoModule = (menuId: number) => { .footer { margin-top: 16px; - - .primary-button { - height: 24px; - border-radius: 4px; - gap: 8px; - padding: 2px 12px; - background-color: rgba(109, 76, 254, 1) !important; - font-family: $font-family-medium; - font-weight: 400; - font-size: 12px; - line-height: 20px; - text-align: right; - vertical-align: middle; - color: rgba(255, 255, 255, 1); - margin-right: 8px; - } - - .outline-button { - height: 24px; - border-radius: 4px; - gap: 8px; - padding: 2px 12px; - border: 1px solid var(--Brand-Brand-6, rgba(109, 76, 254, 1)); - font-family: $font-family-medium; - font-weight: 400; - font-size: 12px; - line-height: 20px; - text-align: right; - vertical-align: middle; - color: rgba(109, 76, 254, 1); - margin-right: 8px; - } } } From ae065418d50530bd0ed88a2528238e0530607322 Mon Sep 17 00:00:00 2001 From: rd <1344903914@qq.com> Date: Fri, 25 Jul 2025 15:11:57 +0800 Subject: [PATCH 03/64] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E7=A8=BF=E4=BB=B6=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env.d.ts | 5 + src/router/constants.ts | 7 +- src/router/index.ts | 4 +- .../modules/creativeGenerationWorkshop.ts | 46 +++++++ src/router/routes/modules/management.ts | 6 +- .../routes/modules/propertyMarketing.ts | 22 ++-- src/stores/modules/side-bar/constants.ts | 13 ++ .../manuscript-analysis/index.vue | 0 .../components/filter-block/index.vue | 70 +++++++++++ .../components/filter-block/style.scss | 23 ++++ .../manuscript-check-table/constants.ts | 60 +++++++++ .../delete-manuscript-modal.vue | 58 +++++++++ .../manuscript-check-table/index.vue | 91 ++++++++++++++ .../manuscript-check-table/style.scss | 10 ++ .../manuscript/manuscript-check/constants.ts | 5 + .../manuscript/manuscript-check/index.vue | 115 ++++++++++++++++++ .../manuscript/manuscript-check/style.scss | 29 +++++ .../components/filter-block/index.vue | 70 +++++++++++ .../components/filter-block/style.scss | 23 ++++ .../components/manuscript-table/constants.ts | 65 ++++++++++ .../delete-manuscript-modal.vue | 58 +++++++++ .../components/manuscript-table/index.vue | 91 ++++++++++++++ .../components/manuscript-table/style.scss | 10 ++ .../manuscript/manuscript-list/constants.ts | 5 + .../manuscript/manuscript-list/index.vue | 115 ++++++++++++++++++ .../manuscript/manuscript-list/style.scss | 29 +++++ .../components/group-manage-modal/index.vue | 5 +- .../components/tags-manage-modal/index.vue | 5 +- .../media-account/account-manage/index.vue | 3 +- .../components/project-table/constants.ts | 3 +- .../project-manage/project-list/index.vue | 4 +- .../components/group-manage-modal/index.vue | 5 +- .../put-account/account-manage/index.vue | 3 +- 33 files changed, 1022 insertions(+), 36 deletions(-) create mode 100644 src/router/routes/modules/creativeGenerationWorkshop.ts create mode 100644 src/views/creative-generation-workshop/manuscript-analysis/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/style.scss create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/constants.ts create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/delete-manuscript-modal.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/style.scss create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/constants.ts create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-check/style.scss create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/style.scss create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/constants.ts create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/delete-manuscript-modal.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/style.scss create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/constants.ts create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/index.vue create mode 100644 src/views/creative-generation-workshop/manuscript/manuscript-list/style.scss diff --git a/env.d.ts b/env.d.ts index 11f02fe..fda0b3d 100644 --- a/env.d.ts +++ b/env.d.ts @@ -1 +1,6 @@ /// +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + const vueComponent: DefineComponent<{}, {}, any>; + export default vueComponent; +} diff --git a/src/router/constants.ts b/src/router/constants.ts index 6fc8bef..3e79148 100644 --- a/src/router/constants.ts +++ b/src/router/constants.ts @@ -23,7 +23,8 @@ export const DEFAULT_ROUTE = { export const MENU_GROUP_IDS = { DATA_ENGINE_ID: 1, // 全域数据分析 - MANAGEMENT_ID: -1, // 管理中心 - PROPERTY_ID: 10, // 资产营销平台 - WORK_BENCH_ID: -99, // 工作台 + CREATIVE_GENERATION_WORKSHOP_ID: 2, // 创意生成工坊 + MANAGEMENT_ID: 3, // 管理中心 + PROPERTY_ID: 4, // 资产营销平台 + WORK_BENCH_ID: 5, // 工作台 }; diff --git a/src/router/index.ts b/src/router/index.ts index 2471c01..aa86ee7 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -18,7 +18,7 @@ export const router = createRouter({ { path: '/login', name: 'UserLogin', - component: () => import('@/views/components/login'), + component: () => import('@/views/components/login/index.vue'), meta: { requiresAuth: false, requireLogin: false, @@ -27,7 +27,7 @@ export const router = createRouter({ { path: '/', name: 'Home', - component: () => import('@/views/components/workplace'), + component: () => import('@/views/components/workplace/index.vue'), meta: { hideSidebar: true, requiresAuth: false, diff --git a/src/router/routes/modules/creativeGenerationWorkshop.ts b/src/router/routes/modules/creativeGenerationWorkshop.ts new file mode 100644 index 0000000..7327514 --- /dev/null +++ b/src/router/routes/modules/creativeGenerationWorkshop.ts @@ -0,0 +1,46 @@ +import type { AppRouteRecordRaw } from '../types'; +import { MENU_GROUP_IDS } from '@/router/constants'; + +import IconRepository from '@/assets/svg/svg-repository.svg'; + +const COMPONENTS: AppRouteRecordRaw[] = [ +{ + path: '/manuscript', + name: 'Manuscript', + redirect: 'manuscript/list', + meta: { + locale: '内容稿件', + icon: IconRepository, + requiresAuth: false, + requireLogin: true, + roles: ['*'], + id: MENU_GROUP_IDS.CREATIVE_GENERATION_WORKSHOP_ID, + }, + children: [ + { + path: 'list', + name: 'ManuscriptList', + meta: { + locale: '内容稿件列表', + requiresAuth: false, + requireLogin: true, + roles: ['*'], + }, + component: () => import('@/views/creative-generation-workshop/manuscript/manuscript-list/index.vue'), + }, + { + path: 'check', + name: 'ManuscriptCheck', + meta: { + locale: '内容稿件审核', + requiresAuth: false, + requireLogin: true, + roles: ['*'], + }, + component: () => import('@/views/creative-generation-workshop/manuscript/manuscript-check/index.vue'), + }, + ], + }, +]; + +export default COMPONENTS; diff --git a/src/router/routes/modules/management.ts b/src/router/routes/modules/management.ts index 2c5e104..3933cbc 100644 --- a/src/router/routes/modules/management.ts +++ b/src/router/routes/modules/management.ts @@ -23,7 +23,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ { path: 'person', name: 'ManagementPerson', - component: () => import('@/views/components/management/person'), + component: () => import('@/views/components/management/person/index.vue'), meta: { locale: '个人信息', requiresAuth: false, @@ -34,7 +34,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ { path: 'enterprise', name: 'ManagementEnterprise', - component: () => import('@/views/components/management/enterprise'), + component: () => import('@/views/components/management/enterprise/index.vue'), meta: { locale: '企业信息', requiresAuth: false, @@ -45,7 +45,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ { path: 'account', name: 'ManagementAccount', - component: () => import('@/views/components/management/account'), + component: () => import('@/views/components/management/account/index.vue'), meta: { locale: '账号管理', requiresAuth: false, diff --git a/src/router/routes/modules/propertyMarketing.ts b/src/router/routes/modules/propertyMarketing.ts index f47428b..ba8af63 100644 --- a/src/router/routes/modules/propertyMarketing.ts +++ b/src/router/routes/modules/propertyMarketing.ts @@ -60,7 +60,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/media-account/account-manage'), + component: () => import('@/views/property-marketing/media-account/account-manage/index.vue'), }, { path: 'dashboard', @@ -71,7 +71,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/media-account/account-dashboard'), + component: () => import('@/views/property-marketing/media-account/account-dashboard/index.vue'), }, { path: 'detail/:id', @@ -84,7 +84,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ hideInMenu: true, activeMenu: 'MediaAccountAccountDashboard', }, - component: () => import('@/views/property-marketing/media-account/account-detail'), + component: () => import('@/views/property-marketing/media-account/account-detail/index.vue'), }, ], }, @@ -110,7 +110,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/put-account/account-manage'), + component: () => import('@/views/property-marketing/put-account/account-manage/index.vue'), }, { path: 'data', @@ -121,7 +121,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/put-account/account-data'), + component: () => import('@/views/property-marketing/put-account/account-data/index.vue'), }, { path: 'account-dashboard', @@ -132,7 +132,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/put-account/account-dashboard'), + component: () => import('@/views/property-marketing/put-account/account-dashboard/index.vue'), }, { path: 'investmentGuidelines', @@ -143,7 +143,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/put-account/investment-guidelines'), + component: () => import('@/views/property-marketing/put-account/investment-guidelines/index.vue'), }, { path: 'detail/:id', @@ -155,7 +155,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ roles: ['*'], activeMenu: 'PutAccountInvestmentGuidelines', }, - component: () => import('@/views/property-marketing/put-account/investment-guidelines/detail'), + component: () => import('@/views/property-marketing/put-account/investment-guidelines/detail.vue'), }, ], }, @@ -181,7 +181,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ // requireLogin: true, // roles: ['*'], // }, - // component: () => import('@/views/property-marketing/intelligent-solution/businessAnalysisReport'), + // component: () => import('@/views/property-marketing/intelligent-solution/businessAnalysisReport.vue'), // }, // { // path: 'competitiveProductAnalysisReport', @@ -192,7 +192,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ // requireLogin: true, // roles: ['*'], // }, - // component: () => import('@/views/property-marketing/intelligent-solution/competitiveProductAnalysisReport'), + // component: () => import('@/views/property-marketing/intelligent-solution/competitiveProductAnalysisReport.vue'), // }, // ], // }, @@ -218,7 +218,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ requireLogin: true, roles: ['*'], }, - component: () => import('@/views/property-marketing/project-manage/project-list'), + component: () => import('@/views/property-marketing/project-manage/project-list/index.vue'), }, ], }, diff --git a/src/stores/modules/side-bar/constants.ts b/src/stores/modules/side-bar/constants.ts index 8bd5ed5..b04e2f7 100644 --- a/src/stores/modules/side-bar/constants.ts +++ b/src/stores/modules/side-bar/constants.ts @@ -46,6 +46,19 @@ export const MENU_LIST = [ }, ], }, + { + id: MENU_GROUP_IDS.CREATIVE_GENERATION_WORKSHOP_ID, + name: '创意生成工坊', + permissionKey: '', + requiresAuth: true, + children: [ + { + name: '内容稿件', + routeName: 'ManuscriptList', + includeRouteNames: ['ManuscriptList', 'ManuscriptCheck'], + } + ] + }, { id: MENU_GROUP_IDS.PROPERTY_ID, name: '营销资产中台', diff --git a/src/views/creative-generation-workshop/manuscript-analysis/index.vue b/src/views/creative-generation-workshop/manuscript-analysis/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/index.vue new file mode 100644 index 0000000..4a884e2 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/index.vue @@ -0,0 +1,70 @@ + + + + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/style.scss new file mode 100644 index 0000000..dd08cb3 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/filter-block/style.scss @@ -0,0 +1,23 @@ +.filter-wrap { + .filter-row { + .filter-row-item { + &:not(:last-child) { + margin-right: 24px; + } + .label { + margin-right: 8px; + color: #211f24; + font-family: $font-family-regular; + font-size: 14px; + font-style: normal; + font-weight: 400; + flex-shrink: 0; + line-height: 22px; /* 157.143% */ + } + :deep(.arco-space-item) { + width: 100%; + } + } + } + +} diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/constants.ts b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/constants.ts new file mode 100644 index 0000000..f074544 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/constants.ts @@ -0,0 +1,60 @@ +export const TABLE_COLUMNS = [ + { + title: '序号', + dataIndex: 'index', + width: 120, + fixed: 'left', + }, + { + title: '图片/视频', + dataIndex: 'picker', + width: 240, + }, + { + title: '内容稿件标题', + dataIndex: 'name', + width: 240, + }, + { + title: '所属项目', + dataIndex: 'name', + width: 240, + }, + { + title: '稿件类型', + dataIndex: 'budget', + width: 180, + }, + { + title: '上传时间', + dataIndex: 'create_at', + width: 180, + sortable: { + sortDirections: ['ascend', 'descend'], + }, + }, + { + title: '上传人员', + dataIndex: 'placement_account_count', + width: 180, + }, + { + title: '最后修改时间', + dataIndex: 'last_create_at', + width: 180, + sortable: { + sortDirections: ['ascend', 'descend'], + }, + }, + { + title: '最后修改人员', + dataIndex: 'placement_account_count1', + width: 180, + }, + { + title: '操作', + dataIndex: 'operation', + width: 160, + fixed: 'right' + }, +]; diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/delete-manuscript-modal.vue b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/delete-manuscript-modal.vue new file mode 100644 index 0000000..97fd12d --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/delete-manuscript-modal.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/index.vue new file mode 100644 index 0000000..2bec16d --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/index.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/style.scss new file mode 100644 index 0000000..d1a16ec --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/components/manuscript-check-table/style.scss @@ -0,0 +1,10 @@ +.manuscript-table { + .cts { + color: var(--Text-1, #211f24); + font-family: $font-family-medium; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 22px; + } +} diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/constants.ts b/src/views/creative-generation-workshop/manuscript/manuscript-check/constants.ts new file mode 100644 index 0000000..2e16021 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/constants.ts @@ -0,0 +1,5 @@ +export const INITIAL_QUERY = { + name: '', + sort_column: undefined, + sort_order: undefined, +}; diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue new file mode 100644 index 0000000..9d8f036 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-check/style.scss new file mode 100644 index 0000000..13b35ec --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/style.scss @@ -0,0 +1,29 @@ +.manuscript-check-wrap { + height: 100%; + display: flex; + flex-direction: column; + .filter-wrap { + .top { + .title { + font-family: $font-family-medium; + font-style: normal; + } + :deep(.arco-btn) { + .arco-btn-icon { + line-height: 16px; + } + } + } + } + .table-wrap { + display: flex; + flex-direction: column; + .pagination-box { + display: flex; + width: 100%; + padding: 16px 24px; + justify-content: flex-end; + align-items: center; + } + } +} diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue new file mode 100644 index 0000000..4a884e2 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue @@ -0,0 +1,70 @@ + + + + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/style.scss new file mode 100644 index 0000000..dd08cb3 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/style.scss @@ -0,0 +1,23 @@ +.filter-wrap { + .filter-row { + .filter-row-item { + &:not(:last-child) { + margin-right: 24px; + } + .label { + margin-right: 8px; + color: #211f24; + font-family: $font-family-regular; + font-size: 14px; + font-style: normal; + font-weight: 400; + flex-shrink: 0; + line-height: 22px; /* 157.143% */ + } + :deep(.arco-space-item) { + width: 100%; + } + } + } + +} diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/constants.ts b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/constants.ts new file mode 100644 index 0000000..649a3b3 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/constants.ts @@ -0,0 +1,65 @@ +export const TABLE_COLUMNS = [ + { + title: '序号', + dataIndex: 'index', + width: 120, + fixed: 'left', + }, + { + title: '图片/视频', + dataIndex: 'picker', + width: 240, + }, + { + title: '内容稿件标题', + dataIndex: 'name', + width: 240, + }, + { + title: '所属项目', + dataIndex: 'name', + width: 240, + }, + { + title: '稿件类型', + dataIndex: 'budget', + width: 180, + }, + { + title: '审核状态', + dataIndex: 'media_account_count', + width: 180, + }, + { + title: '上传时间', + dataIndex: 'create_at', + width: 180, + sortable: { + sortDirections: ['ascend', 'descend'], + }, + }, + { + title: '上传人员', + dataIndex: 'placement_account_count', + width: 180, + }, + { + title: '最后修改时间', + dataIndex: 'last_create_at', + width: 180, + sortable: { + sortDirections: ['ascend', 'descend'], + }, + }, + { + title: '最后修改人员', + dataIndex: 'placement_account_count1', + width: 180, + }, + { + title: '操作', + dataIndex: 'operation', + width: 160, + fixed: 'right' + }, +]; diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/delete-manuscript-modal.vue b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/delete-manuscript-modal.vue new file mode 100644 index 0000000..97fd12d --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/delete-manuscript-modal.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/index.vue new file mode 100644 index 0000000..81dea68 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/index.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/style.scss new file mode 100644 index 0000000..d1a16ec --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/manuscript-table/style.scss @@ -0,0 +1,10 @@ +.manuscript-table { + .cts { + color: var(--Text-1, #211f24); + font-family: $font-family-medium; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 22px; + } +} diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/constants.ts b/src/views/creative-generation-workshop/manuscript/manuscript-list/constants.ts new file mode 100644 index 0000000..2e16021 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/constants.ts @@ -0,0 +1,5 @@ +export const INITIAL_QUERY = { + name: '', + sort_column: undefined, + sort_order: undefined, +}; diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-list/index.vue new file mode 100644 index 0000000..11070f3 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/index.vue @@ -0,0 +1,115 @@ + + + + diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/style.scss b/src/views/creative-generation-workshop/manuscript/manuscript-list/style.scss new file mode 100644 index 0000000..64d8310 --- /dev/null +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/style.scss @@ -0,0 +1,29 @@ +.manuscript-list-wrap { + height: 100%; + display: flex; + flex-direction: column; + .filter-wrap { + .top { + .title { + font-family: $font-family-medium; + font-style: normal; + } + :deep(.arco-btn) { + .arco-btn-icon { + line-height: 16px; + } + } + } + } + .table-wrap { + display: flex; + flex-direction: column; + .pagination-box { + display: flex; + width: 100%; + padding: 16px 24px; + justify-content: flex-end; + align-items: center; + } + } +} diff --git a/src/views/property-marketing/media-account/account-manage/components/group-manage-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/group-manage-modal/index.vue index d451d51..90730b9 100644 --- a/src/views/property-marketing/media-account/account-manage/components/group-manage-modal/index.vue +++ b/src/views/property-marketing/media-account/account-manage/components/group-manage-modal/index.vue @@ -25,7 +25,7 @@ @@ -47,7 +47,7 @@ 暂无分组 @@ -89,7 +89,6 @@ import DeleteGroup from './delete-group.vue'; import icon1 from '@/assets/img/media-account/icon-delete.png'; import icon2 from '@/assets/img/media-account/icon-empty.png'; -import icon3 from '@/assets/img/media-account/icon-add.png'; const emit = defineEmits(['update']); diff --git a/src/views/property-marketing/media-account/account-manage/components/tags-manage-modal/index.vue b/src/views/property-marketing/media-account/account-manage/components/tags-manage-modal/index.vue index 83d9ba5..77950ea 100644 --- a/src/views/property-marketing/media-account/account-manage/components/tags-manage-modal/index.vue +++ b/src/views/property-marketing/media-account/account-manage/components/tags-manage-modal/index.vue @@ -25,7 +25,7 @@ @@ -45,7 +45,7 @@ 暂无标签 @@ -65,7 +65,6 @@ import { getTagsList } from '@/api/all/propertyMarketing'; import AddTag from './add-tag.vue'; import DeleteTag from './delete-tag.vue'; -import iconAdd from '@/assets/img/media-account/icon-add.png'; import iconDelete from '@/assets/img/media-account/icon-delete-1.png'; const emit = defineEmits(['update']); diff --git a/src/views/property-marketing/media-account/account-manage/index.vue b/src/views/property-marketing/media-account/account-manage/index.vue index 8a974c3..43ac764 100644 --- a/src/views/property-marketing/media-account/account-manage/index.vue +++ b/src/views/property-marketing/media-account/account-manage/index.vue @@ -22,7 +22,7 @@ @@ -142,7 +142,6 @@ import { getMediaAccountSyncStatus, } from '@/api/all/propertyMarketing'; -import icon1 from '@/assets/img/media-account/icon-add.png'; import icon2 from '@/assets/img/media-account/icon-group.png'; import icon3 from '@/assets/img/media-account/icon-tag.png'; import icon4 from '@/assets/img/media-account/icon-success.png'; diff --git a/src/views/property-marketing/project-manage/project-list/components/project-table/constants.ts b/src/views/property-marketing/project-manage/project-list/components/project-table/constants.ts index a23eb25..2ed2491 100644 --- a/src/views/property-marketing/project-manage/project-list/components/project-table/constants.ts +++ b/src/views/property-marketing/project-manage/project-list/components/project-table/constants.ts @@ -13,7 +13,7 @@ export const TABLE_COLUMNS = [ title: '项目预算', dataIndex: 'budget', width: 180, - prefix: "¥" + prefix: '¥', }, { title: '关联平台账号', @@ -42,5 +42,6 @@ export const TABLE_COLUMNS = [ title: '操作', dataIndex: 'operation', width: 100, + fixed: 'right', }, ]; diff --git a/src/views/property-marketing/project-manage/project-list/index.vue b/src/views/property-marketing/project-manage/project-list/index.vue index 404ccd3..51d8643 100644 --- a/src/views/property-marketing/project-manage/project-list/index.vue +++ b/src/views/property-marketing/project-manage/project-list/index.vue @@ -6,7 +6,7 @@
@@ -53,8 +53,6 @@ import ProjectTable from './components/project-table'; import AddProjectModal from './components/add-project-modal'; import DeleteProjectModal from './components/project-table/delete-project-modal.vue'; -import icon1 from '@/assets/img/media-account/icon-add.png'; - const { dataSource, pageInfo, onPageChange, onPageSizeChange, resetPageInfo } = useTableSelectionWithPagination({ onPageChange: () => { getData(); diff --git a/src/views/property-marketing/put-account/account-data/components/group-manage-modal/index.vue b/src/views/property-marketing/put-account/account-data/components/group-manage-modal/index.vue index 4ee4610..49d4357 100644 --- a/src/views/property-marketing/put-account/account-data/components/group-manage-modal/index.vue +++ b/src/views/property-marketing/put-account/account-data/components/group-manage-modal/index.vue @@ -25,7 +25,7 @@
@@ -46,7 +46,7 @@ 暂无分组 @@ -88,7 +88,6 @@ import DeleteGroup from './delete-group.vue'; import icon1 from '@/assets/img/media-account/icon-delete.png'; import icon2 from '@/assets/img/media-account/icon-empty.png'; -import icon3 from '@/assets/img/media-account/icon-add.png'; const emit = defineEmits(['update']); const visible = ref(false); diff --git a/src/views/property-marketing/put-account/account-manage/index.vue b/src/views/property-marketing/put-account/account-manage/index.vue index e110d61..16fc6ba 100644 --- a/src/views/property-marketing/put-account/account-manage/index.vue +++ b/src/views/property-marketing/put-account/account-manage/index.vue @@ -10,7 +10,7 @@
@@ -104,7 +104,6 @@ import { getPlacementAccounts, getPlacementAccountsHealth } from '@/api/all/prop import { getTaskStatus } from '@/api/all/common'; import { showImportResultNotification } from '@/utils/arcoD'; -import icon1 from '@/assets/img/media-account/icon-add.png'; import icon4 from '@/assets/img/media-account/icon-success.png'; import icon5 from '@/assets/img/media-account/icon-warn.png'; import icon6 from '@/assets/img/media-account/icon-close.png'; From e88695a5e48e1a277a7b2b5921d68bf260e6b567 Mon Sep 17 00:00:00 2001 From: rd <1344903914@qq.com> Date: Fri, 25 Jul 2025 16:05:11 +0800 Subject: [PATCH 04/64] =?UTF-8?q?style:=20=E6=9B=B4=E6=8D=A2svg=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/svg/svg-contentManuscript.svg | 3 +++ src/router/routes/modules/creativeGenerationWorkshop.ts | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 src/assets/svg/svg-contentManuscript.svg diff --git a/src/assets/svg/svg-contentManuscript.svg b/src/assets/svg/svg-contentManuscript.svg new file mode 100644 index 0000000..a9ddac0 --- /dev/null +++ b/src/assets/svg/svg-contentManuscript.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/router/routes/modules/creativeGenerationWorkshop.ts b/src/router/routes/modules/creativeGenerationWorkshop.ts index 7327514..fa2abbd 100644 --- a/src/router/routes/modules/creativeGenerationWorkshop.ts +++ b/src/router/routes/modules/creativeGenerationWorkshop.ts @@ -1,7 +1,7 @@ import type { AppRouteRecordRaw } from '../types'; import { MENU_GROUP_IDS } from '@/router/constants'; -import IconRepository from '@/assets/svg/svg-repository.svg'; +import IconContentManuscript from '@/assets/svg/svg-contentManuscript.svg'; const COMPONENTS: AppRouteRecordRaw[] = [ { @@ -10,7 +10,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [ redirect: 'manuscript/list', meta: { locale: '内容稿件', - icon: IconRepository, + icon: IconContentManuscript, requiresAuth: false, requireLogin: true, roles: ['*'], From 52a696c133744fb38e51613dcee83f48574f2d56 Mon Sep 17 00:00:00 2001 From: rd <1344903914@qq.com> Date: Fri, 25 Jul 2025 17:15:44 +0800 Subject: [PATCH 05/64] =?UTF-8?q?feat:=20=E5=86=85=E5=AE=B9=E7=A8=BF?= =?UTF-8?q?=E4=BB=B6=E5=88=97=E8=A1=A8=E7=AD=9B=E9=80=89=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/components/button.scss | 8 ++- .../manuscript/manuscript-check/index.vue | 4 +- .../components/filter-block/index.vue | 67 ++++++++++++++++--- .../components/manuscript-table/index.vue | 2 +- .../manuscript/manuscript-list/constants.ts | 4 ++ .../manuscript/manuscript-list/index.vue | 7 +- 6 files changed, 75 insertions(+), 17 deletions(-) diff --git a/src/styles/components/button.scss b/src/styles/components/button.scss index b5fb0c3..eb2c9cf 100644 --- a/src/styles/components/button.scss +++ b/src/styles/components/button.scss @@ -21,15 +21,17 @@ .arco-btn-primary { background-color: $color-primary !important; - border: none !important; + border-color: transparent !important; color: #fff !important; &.arco-btn-disabled { color: #fff !important; + border-color: transparent !important; background-color: $color-primary-3 !important; } &:not(.arco-btn-disabled) { &:hover { color: #fff !important; + border-color: transparent !important; background-color: $color-primary-5 !important; } } @@ -134,14 +136,16 @@ .arco-btn-text { background-color: transparent !important; - border: none !important; + border-color: transparent !important; color: $color-primary !important; &.arco-btn-disabled { color: $color-primary-2 !important; + border-color: transparent !important; } &:not(.arco-btn-disabled) { &:hover { color: $color-primary-5 !important; + border-color: transparent !important; } } diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue index 9d8f036..7910a93 100644 --- a/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue +++ b/src/views/creative-generation-workshop/manuscript/manuscript-check/index.vue @@ -112,4 +112,6 @@ onMounted(() => { provide('update', getData); - + \ No newline at end of file diff --git a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue index 4a884e2..1aa957f 100644 --- a/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue +++ b/src/views/creative-generation-workshop/manuscript/manuscript-list/components/filter-block/index.vue @@ -1,18 +1,32 @@ - -