From 0a3c80a8528f1e0a76c9048b9b2a87f5e807d236 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9E=97=E5=BF=97=E5=86=9B?= <543024265@qq.com>
Date: Mon, 30 Jun 2025 11:36:11 +0800
Subject: [PATCH] =?UTF-8?q?feat(property-marketing):=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E6=8A=A5=E8=A1=A8=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80=E5=92=8C?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 重新设计了业务分析报告和竞品分析报告的页面布局
- 添加了更多筛选条件和排序功能- 优化了表格列的展示内容和样式
- 更新了图表组件,支持更多图表类型
- 调整了路由模块中的报表名称
---
.../routes/modules/propertyMarketing.ts | 4 +-
.../brands/brand-materials/index.vue | 25 +--
.../brands/brand-materials/style.scss | 28 +--
src/views/property-marketing/component.scss | 1 +
.../businessAnalysisReport.vue | 61 ++++--
.../competitiveProductAnalysisReport.vue | 96 ++++++---
.../components/echarts-item/index.vue | 24 ++-
.../components/echarts-item/style.scss | 16 +-
.../put-account/account-dashboard/index.vue | 204 ++++++++++++------
.../put-account/account-dashboard/style.scss | 35 +--
.../action-guide-distribution/index.vue | 59 +++--
.../components/month-data/index.vue | 5 +-
.../placement-suggestions/index.vue | 9 +-
.../table-data/placementGuideList.vue | 49 +----
.../investment-guidelines/constants.ts | 21 ++
.../investment-guidelines/index.vue | 16 +-
.../investment-guidelines/style.scss | 21 +-
17 files changed, 404 insertions(+), 270 deletions(-)
create mode 100644 src/views/property-marketing/put-account/investment-guidelines/constants.ts
diff --git a/src/router/routes/modules/propertyMarketing.ts b/src/router/routes/modules/propertyMarketing.ts
index 8a9035d..f85feac 100644
--- a/src/router/routes/modules/propertyMarketing.ts
+++ b/src/router/routes/modules/propertyMarketing.ts
@@ -151,7 +151,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
path: 'businessAnalysisReport',
name: 'IntelligentSolutionBusinessAnalysisReport',
meta: {
- locale: '业务分析报告',
+ locale: '业务洞察报告',
requiresAuth: true,
roles: ['*'],
},
@@ -161,7 +161,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
path: 'competitiveProductAnalysisReport',
name: 'IntelligentSolutionCompetitiveProductAnalysisReport',
meta: {
- locale: '竟品分析报告',
+ locale: '竟品对比报告',
requiresAuth: true,
roles: ['*'],
},
diff --git a/src/views/property-marketing/brands/brand-materials/index.vue b/src/views/property-marketing/brands/brand-materials/index.vue
index efa96c9..72ac8a0 100644
--- a/src/views/property-marketing/brands/brand-materials/index.vue
+++ b/src/views/property-marketing/brands/brand-materials/index.vue
@@ -3,18 +3,14 @@
品牌名称
-
+
@@ -28,7 +24,7 @@
搜索
-
+
@@ -83,7 +79,7 @@
@cancel="handleModalCancel"
>
- {{ form.id > 0 ? '编辑品牌' : '新增品牌' }}
+ {{ form.id > 0 ? '编辑品牌' : '添加品牌' }}
@@ -117,8 +113,6 @@
import { ref, computed, reactive, onMounted } from 'vue';
import { Message } from '@arco-design/web-vue';
import { IconDelete } from '@arco-design/web-vue/es/icon';
-import noDataImage from '@/assets/img/guide/no_data.png';
-import '@/views/property-marketing/brands/brand-materials/style.scss';
import {
addMaterials,
@@ -128,7 +122,6 @@ import {
updateMaterials,
} from '@/api/all/enterpriseKnowledge';
import ImageUpload from '@/components/upload/ImageUpload.vue';
-import { valid } from 'mockjs';
const searchName = ref('');
const current = ref(1);
@@ -145,7 +138,6 @@ const listQuery = reactive({
});
const modalVisible = ref(false);
-const modalTitle = ref('编辑品牌');
const formRef = ref();
const formRule = {
name: [{ required: true, message: '请输入品牌名称', trigger: ['blur', 'change'] }],
@@ -181,8 +173,8 @@ const deleteBrand = (id) => {
};
function handleReset() {
- searchName.value = '';
- current.value = 1;
+ listQuery.name = '';
+ listQuery.page = 1;
}
function handleAdd() {
@@ -211,7 +203,6 @@ function handleModalOk() {
});
} else {
addMaterials(form).then((response) => {
- console.log(response, 'response');
Message.success('新增成功');
handleSearch();
});
@@ -233,3 +224,7 @@ function handleEdit(id) {
});
}
+
+
diff --git a/src/views/property-marketing/brands/brand-materials/style.scss b/src/views/property-marketing/brands/brand-materials/style.scss
index 4e5798f..19a03df 100644
--- a/src/views/property-marketing/brands/brand-materials/style.scss
+++ b/src/views/property-marketing/brands/brand-materials/style.scss
@@ -1,3 +1,5 @@
+@import "@/views/property-marketing/component.scss";
+
.view-body {
//每块div布局
.part-div {
@@ -58,9 +60,16 @@
//添加按钮
.add-btn {
- font-size: 16px;
+ font-size: 15px;
padding: 0 24px;
border-radius: 4px;
+ float: right;
+ width: 110px;
+ height: 35px;
+ position: absolute;
+ line-height: 110px;
+ right: 35px;
+ margin-top: 10px
}
//分页
@@ -192,23 +201,6 @@
left: 10px;
}
-.arco-textarea-wrapper,
-.arco-input-wrapper {
- border-radius: 4px;
- border-color: #d7d7d9;
- background-color: #fff;
-
- &:focus-within,
- &.arco-input-focus {
- background-color: var(--color-bg-2);
- border-color: rgb(var(--primary-6));
- box-shadow: 0 0 0 0 var(--color-primary-light-2);
- }
-
- &.arco-input-wrapper {
- height: 35px;
- }
-}
.form-tip {
color: #999;
diff --git a/src/views/property-marketing/component.scss b/src/views/property-marketing/component.scss
index 6595010..7f53852 100644
--- a/src/views/property-marketing/component.scss
+++ b/src/views/property-marketing/component.scss
@@ -1,5 +1,6 @@
.arco-input-wrapper,
.arco-select-view-single,
+.arco-textarea-wrapper,
.arco-select-view-multiple {
border-radius: 4px;
border-color: #d7d7d9;
diff --git a/src/views/property-marketing/intelligent-solution/businessAnalysisReport.vue b/src/views/property-marketing/intelligent-solution/businessAnalysisReport.vue
index 56011c2..b33d430 100644
--- a/src/views/property-marketing/intelligent-solution/businessAnalysisReport.vue
+++ b/src/views/property-marketing/intelligent-solution/businessAnalysisReport.vue
@@ -2,19 +2,17 @@
-
-
-
-
+
-
-
+
+
+
+
+
+
-
+
-
+
@@ -57,6 +62,7 @@
-
+
diff --git a/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/index.vue b/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/index.vue
index fe4a1b4..5e609a3 100644
--- a/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/index.vue
+++ b/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/index.vue
@@ -2,7 +2,7 @@
- {{ title.name }}
+ {{ title.name }}
@@ -10,12 +10,12 @@
-
+
-
diff --git a/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/style.scss b/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/style.scss
index 1901c22..13e2de6 100644
--- a/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/style.scss
+++ b/src/views/property-marketing/put-account/account-dashboard/components/echarts-item/style.scss
@@ -1,7 +1,21 @@
.echart-item-card {
width: 100%;
height: 50%;
- margin:13px;
+ margin: 13px;
border-radius: 10px;
+ :deep(.arco-card-header) {
+ border-bottom: none !important;
+
+ }
+
+ .a-card-title {
+ color: var(--Text-1, #211F24);
+ font-size: 16px;
+ font-family: Alibaba PuHuiTi;
+ font-weight: 400;
+ line-height: 24px;
+ word-wrap: break-word;
+ }
}
+
diff --git a/src/views/property-marketing/put-account/account-dashboard/index.vue b/src/views/property-marketing/put-account/account-dashboard/index.vue
index 9aaebff..6cd56b2 100644
--- a/src/views/property-marketing/put-account/account-dashboard/index.vue
+++ b/src/views/property-marketing/put-account/account-dashboard/index.vue
@@ -2,7 +2,7 @@
-
+
项目
@@ -10,71 +10,60 @@
-
-
-
- 项目名称
-
- Beijing
- Shanghai
- Guangzhou
-
-
-
-
-
- 平台
-
- Beijing
- Shanghai
- Guangzhou
-
-
-
-
-
- 运营人员
-
- Beijing
- Shanghai
- Guangzhou
-
-
-
-
+
+
+ 账户名称
+
+ Beijing
+ Shanghai
+ Guangzhou
+
+
+
+ 平台
+
+ Beijing
+ Shanghai
+ Guangzhou
+
+
+
+ 运营人员
+
+ Beijing
+ Shanghai
+ Guangzhou
+
+
+
-
-
-
- 时间筛选
-
-
-
-
-
-
-
-
-
- 搜索
-
-
-
-
-
- 重置
-
-
-
-
+
+
+ 时间筛选
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+ 重置
+
+
+
@@ -95,6 +84,89 @@
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -155,8 +227,6 @@ const xhlEcharts = reactive({
},
],
});
-
-
+
diff --git a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
index 28852b8..1a9656a 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/components/month-data/index.vue
@@ -30,6 +30,7 @@
-
+
diff --git a/src/views/property-marketing/put-account/investment-guidelines/components/placement-suggestions/index.vue b/src/views/property-marketing/put-account/investment-guidelines/components/placement-suggestions/index.vue
index 6c82c64..777775f 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/components/placement-suggestions/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/components/placement-suggestions/index.vue
@@ -20,7 +20,7 @@
-
+
预算分配
@@ -40,7 +40,7 @@
-
+
人群包优化
@@ -67,7 +67,8 @@
-
+
diff --git a/src/views/property-marketing/put-account/investment-guidelines/components/table-data/placementGuideList.vue b/src/views/property-marketing/put-account/investment-guidelines/components/table-data/placementGuideList.vue
index 4f1708e..d4e608d 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/components/table-data/placementGuideList.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/components/table-data/placementGuideList.vue
@@ -1,5 +1,5 @@
-
+
@@ -83,10 +81,6 @@
-
diff --git a/src/views/property-marketing/put-account/investment-guidelines/constants.ts b/src/views/property-marketing/put-account/investment-guidelines/constants.ts
new file mode 100644
index 0000000..8d02ad7
--- /dev/null
+++ b/src/views/property-marketing/put-account/investment-guidelines/constants.ts
@@ -0,0 +1,21 @@
+import top1 from '@/assets/img/captcha/top1.svg';
+import top2 from '@/assets/img/captcha/top2.svg';
+import top3 from '@/assets/img/captcha/top3.svg';
+
+/**
+ * 根据评分获取对应的星星图标路径
+ * @param score 评分,范围 1 ~ 3
+ * @returns 对应的 SVG 图标路径
+ */
+export function getStarIcon(score: number): string {
+ switch (score) {
+ case 1:
+ return top1;
+ case 2:
+ return top2;
+ case 3:
+ return top3;
+ default:
+ return top1; // 默认返回最高分图标
+ }
+}
diff --git a/src/views/property-marketing/put-account/investment-guidelines/index.vue b/src/views/property-marketing/put-account/investment-guidelines/index.vue
index c1cb55c..57aa7a5 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/index.vue
+++ b/src/views/property-marketing/put-account/investment-guidelines/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -12,9 +12,9 @@
-
+
-
+
@@ -44,10 +44,6 @@
-
+
diff --git a/src/views/property-marketing/put-account/investment-guidelines/style.scss b/src/views/property-marketing/put-account/investment-guidelines/style.scss
index 2dc697b..2e26498 100644
--- a/src/views/property-marketing/put-account/investment-guidelines/style.scss
+++ b/src/views/property-marketing/put-account/investment-guidelines/style.scss
@@ -9,6 +9,12 @@
justify-content: flex-start;
display: inline-flex;
margin: 10px;
+ :deep(.arco-tabs) {
+ .arco-tabs-tab {
+ height: 56px;
+ padding: 0 8px;
+ }
+ }
}
.part-div-header {
@@ -27,7 +33,8 @@
font-weight: 400;
line-height: 30px;
word-wrap: break-word;
-
+ height: 56px;
+ padding: 0 8px;
}
//每块div 标题
@@ -100,7 +107,7 @@
//投放建议-总体策略
.overall-strategy {
- width: 100%;
+ width: 98%;
padding: 20px 10px 20px 16px;
background: var(--BG-100, #F7F8FA);
overflow: hidden;
@@ -110,7 +117,7 @@
align-items: flex-start;
gap: 12px;
display: inline-flex;
- margin: 10px 24px 15px 20px;
+ margin: 20px;
}
@@ -146,3 +153,11 @@
line-height: 22px;
word-wrap: break-word
}
+
+
+:deep(.arco-tabs) {
+ .arco-tabs-tab {
+ height: 56px;
+ padding: 0 8px;
+ }
+}