用户画像模块页面

dev-QQq
HeHaonan 2 years ago
parent 0f24285b24
commit ad876eb797

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

@ -1,9 +1,678 @@
<template>
<div class="content">
帕累托/ABC分析
<div class="import" @click="knowledgeFlag = !knowledgeFlag">
<img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span>
</div>
<div v-if="knowledgeFlag">
<p>
帕累托分析法源于经典的二八法则意大利经济学家维尔弗雷多·帕累托于1906年提出了著名的关于意大利社会财务分配的研究结论20%的人口掌握了80%的社会财富这个结论对大多数国家的社会财富分配情况都成立因此帕累托法则又被称为80/20法则<br /><br>
帕累托分析的核心观点是在许多情况下大部分的问题效益或成本都来自于少数的要素换句话说少数关键要素占据了绝大多数的结果这一规律在许多领域都具有普适性例如<br /><br>
在企业中80%的利润可能来自于20%的产品或客户<br />
在销售中80%的销售额可能来自于20%的销售员或产品<br />
在质量控制中80%的缺陷可能来自于20%的原因或工序<br /><br>
ABC 分类法全称应为 ABC 分类库存控制法
又称帕累托分析法或巴雷托分析法柏拉图分析主次因分析法
ABC分析法ABC 管理法平常也称之为80 20规则
</p>
<img src="@/assets/images/u3323.png" alt=""><br>
<img src="@/assets/images/u3324.png" alt="">
</div>
<div v-if="!knowledgeFlag">
<div class="caseBack">
<div class="title">
<img src="@/assets/images/caseIcon.png" alt="" />
<span>案例背景</span>
</div>
<span style="line-height: 25px; font-size: 14px">
现有以下某商店的交易原始数据需要采用帕累托分析方法对商品进行分类
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="fileTable1"
style="width: 650px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="交易单号" align="center" prop="id">
</el-table-column>
<el-table-column label="商品名称" align="center" prop="name">
</el-table-column>
<el-table-column label="销售额" align="center" prop="amount">
</el-table-column>
</el-table>
<div class="download">下载数据</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第一步统计各类商品累计销售额</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以商品为统计单元计算各类商品的销售额
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step1Data"
style="width: 450px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="商品名称" align="center" prop="name">
</el-table-column>
<el-table-column label="销售额" align="center" prop="amount">
<template #default="scope">
<el-input
v-model="scope.row.params"
placeholder="请输入"
style="width: 130px"
>
</el-input>
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第二步排序</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以累计销售额为排序基准按照倒序进行排序
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step2Data"
style="width: 650px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="商品名称" align="center" prop="name">
</el-table-column>
<el-table-column label="销售额" align="center" prop="amount">
</el-table-column>
<el-table-column label="操作" align="center">
<template #default="scope">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<img
src="@/assets/images/上.png"
alt=""
style="margin-right: 10px; cursor: pointer"
@click="moveUp(scope.$index, scope.row)"
/>
<img
src="@/assets/images/下.png"
alt=""
style="cursor: pointer"
@click="moveDown(scope.$index, scope.row)"
/>
</div>
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第三步计算累计销售额占比</span>
</div>
<span style="line-height: 25px; font-size: 14px">
计算各个商品的销售额占比并以此通过累加计算累计销售额占比
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step3Data"
style="width: 650px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="商品名称" align="center" prop="data1">
</el-table-column>
<el-table-column label="销售额" align="center" prop="data2">
</el-table-column>
<el-table-column
label="销售额占比(%"
align="center"
prop="data3"
>
<template #default="scope">
<el-input
v-model="scope.row.params1"
placeholder="请输入"
style="width: 110px"
>
</el-input
>%
</template>
</el-table-column>
<el-table-column
label="累计销售额占比(%"
align="center"
prop="data4"
>
<template #default="scope">
<el-input
v-model="scope.row.params2"
placeholder="请输入"
style="width: 110px"
>
</el-input
>%
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第四步划分商品类型</span>
</div>
<span style="line-height: 25px; font-size: 14px">
我们按照0-80%80%-90%90%-100%将商品分成ABC3个类别然后对于这3个类别的产品做区别管理以提高效益
</span>
<el-table
:show-header="false"
:data="typeData"
style="width: 580px; margin-top: 10px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column
label="用户ID"
align="center"
prop="data1"
width="160"
>
</el-table-column>
<el-table-column label="用户名称" align="center" prop="data2">
</el-table-column>
</el-table>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step4Data"
style="width: 680px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="商品名称" align="center" prop="data1">
</el-table-column>
<el-table-column label="销售额" align="center" prop="data2">
</el-table-column>
<el-table-column
label="累计销售额占比(%"
align="center"
prop="data3"
>
</el-table-column>
<el-table-column label="划分商品类型" align="center" prop="data4">
<template #default="scope">
<el-select
v-model="scope.row.params"
placeholder="请选择"
style="width: 100px"
>
<el-option :label="'A类商品'" :value="'A类商品'" />
<el-option :label="'B类商品'" :value="'B类商品'" />
<el-option :label="'C类商品'" :value="'C类商品'" />
</el-select>
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第五步绘制帕累托图</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以分析表的商品名称为X轴销售额为左侧Y轴累计销售额占比为右侧Y轴绘制帕累托图
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step5Data"
style="width: 680px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="" align="center" prop="title" />
<el-table-column label="R值打分" align="center">
<template #default="scope">
<el-input
v-model="scope.row.params1"
placeholder="请输入"
style="width: 100px"
>
</el-input>
</template>
</el-table-column>
<el-table-column label="F值打分" align="center">
<template #default="scope">
<el-input
v-model="scope.row.params2"
placeholder="请输入"
style="width: 100px"
>
</el-input>
</template>
</el-table-column>
<el-table-column label="M值打分" align="center">
<template #default="scope">
<el-input
v-model="scope.row.params3"
placeholder="请输入"
style="width: 100px"
>
</el-input>
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第六步针对不同类别的商品制定不同的库存策略</span>
</div>
<span style="line-height: 25px; font-size: 14px">
一般来说在商品的库存管理策略中
</span>
<div class="customerType" style="width: 1115px">
<img src="@/assets/images/商品a.png" alt="" />
<span
>A类商品对公司销售额贡献最大这种商品备货周期短在保证安全库存的情况下应该小批量多批次按需储存尽可能降低库存总量减少仓储管理成本但如果控制不好库存很容易出现断货风险</span
>
</div>
<div class="customerType" style="width: 1115px">
<img src="@/assets/images/商品b.png" alt="" />
<span>B类商品销售额贡献次之这种商品备货周期可以适当延长</span>
</div>
<div class="customerType" style="width: 1115px">
<img src="@/assets/images/商品c.png" alt="" />
<span
>C类商品属于长尾商品备货周期更长最好是集中采购并适当增大库存量相应减少订货次数</span
>
</div>
</div>
</div>
</div>
</template>
<script setup></script>
<script setup>
const knowledgeFlag = ref(false);
const step1Data = ref([
{
name: "男士配饰",
amount: "2300",
},
{
name: "儿童服装",
amount: "2300",
},
{
name: "婴儿用品",
amount: "2300",
},
{
name: "床上用品",
amount: "2300",
},
]);
const fileTable1 = ref([
{
id: "20250101",
name: "男士配饰",
amount: "2300",
},
{
id: "20250102",
name: "儿童服装",
amount: "300",
},
{
id: "20250103",
name: "婴儿用品",
amount: "400",
},
{
id: "20250104",
name: "床上用品",
amount: "1200",
},
{
id: "20250105",
name: "男士配饰",
amount: "1800",
},
{
id: "20250106",
name: "婴儿用品",
amount: "300",
},
{
id: "20250107",
name: "男士配饰",
amount: "1800",
},
{
id: "20250108",
name: "儿童服装",
amount: "300",
},
{
id: "20250109",
name: "床上用品",
amount: "1200",
},
{
id: "20250110",
name: "婴儿用品",
amount: "400",
},
]);
const step2Data = ref([
{
name: "男士配饰",
amount: "5900",
},
{ name: "儿童服装", amount: "600" },
{ name: "婴儿用品", amount: "1100" },
{ name: "床上用品", amount: "2400" },
]);
const step3Data = ref([
{
data1: "男士配饰",
data2: "5900",
},
{
data1: "床上用品",
data2: "2400",
},
{
data1: "婴儿用品",
data2: "1100",
},
{
data1: "儿童服装",
data2: "600",
},
]);
const step4Data = ref([
{
data1: "男士配饰",
data2: "5900",
data3: "59%",
data4: "2",
},
{
data1: "床上用品",
data2: "2400",
data3: "83%",
data4: "3",
},
{
data1: "婴儿用品",
data2: "1100",
data3: "94%",
data4: "1",
},
{
data1: "儿童服装",
data2: "600",
data3: "100%",
data4: "1",
},
]);
const step5Data = ref([
{
title: "平均值",
},
]);
const step6Data = ref([
{
data1: "1",
data2: "小明",
data3: "4",
data4: "2",
data5: "4",
},
{
data1: "2",
data2: "小红",
data3: "5",
data4: "2",
data5: "2",
},
{
data1: "3",
data2: "小李",
data3: "5",
data4: "1",
data5: "1",
},
]);
const rulesTable = ref([
{
data1: "1.重要价值用户",
data2: "高",
data3: "高",
data4: "高",
},
{
data1: "2.重要发展用户",
data2: "高",
data3: "低",
data4: "高",
},
{
data1: "3.重要保持用户",
data2: "低",
data3: "高",
data4: "高",
},
{
data1: "4.重要挽留用户",
data2: "低",
data3: "低",
data4: "高",
},
{
data1: "5.一般价值用户",
data2: "高",
data3: "高",
data4: "低",
},
{
data1: "6.一般发展用户",
data2: "高",
data3: "低",
data4: "低",
},
{
data1: "7.一般保持用户",
data2: "低",
data3: "高",
data4: "低",
},
{
data1: "6.一般挽留用户",
data2: "低",
data3: "低",
data4: "低",
},
]);
const typeData = ref([
{
data1: "A类商品",
data2: "占总销售额的80%,需要重点关注",
},
{
data1: "B类商品",
data2: "占总销售额的10%,给予次要关注",
},
{
data1: "C类商品",
data2: "占总销售额的10%,给予一般关注",
},
]);
const moveUp = (index, row) => {
console.log("上移", index, row);
if (index > 0) {
const upDate = step2Data.value[index - 1];
step2Data.value.splice(index - 1, 1);
step2Data.value.splice(index, 0, upDate);
} else {
alert("已经是第一条,不可上移");
}
};
const moveDown = (index, row) => {
console.log("下移", index, row);
if (index + 1 === step2Data.value.length) {
alert("已经是最后一条,不可下移");
} else {
const downDate = step2Data.value[index + 1];
step2Data.value.splice(index + 1, 1);
step2Data.value.splice(index, 0, downDate);
}
};
</script>
<style scoped lang="scss">
.content {
width: 100%;
background: rgba(0, 29, 64, 0.5);
border: 1px solid #0452c6;
padding: 10px;
// opacity: 0.5;
<style scoped lang="scss"></style>
.import {
display: flex;
font-size: 15px;
font-weight: bold;
width: 180px;
height: 56px;
background-image: url("@/assets/images/01.png");
background-size: 180px 56px;
text-align: center;
align-items: center;
line-height: 56px;
cursor: pointer;
img {
margin-left: 20px;
margin-right: 15px;
}
}
.caseBack {
.title {
font-weight: bold;
margin-top: 10px;
display: flex;
align-items: center;
span {
margin-left: 10px;
}
}
.download {
cursor: pointer;
margin-left: 20px;
color: #000;
padding-left: 10px;
font-size: 14px;
text-align: center;
line-height: 31px;
width: 89px;
height: 31px;
background: url("@/assets/images/downloadIcon.png");
}
.submit {
cursor: pointer;
margin-left: 20px;
color: #000;
padding-left: 10px;
font-size: 14px;
text-align: center;
line-height: 31px;
width: 99px;
height: 31px;
background: url("@/assets/images/提交任务.png");
}
.customerType {
padding-left: 10px;
display: flex;
align-items: center;
width: 945px;
height: 26px;
background: #003b75;
border-radius: 10px;
border: 1px solid #0052a3;
font-size: 12px;
margin-top: 10px;
img {
margin-right: 10px;
}
}
}
.line {
width: 1400px;
height: 1px;
border: 1px solid #0452c6;
opacity: 0.5;
margin-top: 20px;
margin-bottom: 20px;
}
}
::v-deep .el-table tr {
background-color: #002652 !important;
color: #fff;
}
</style>

@ -0,0 +1,623 @@
<template>
<div class="content">
<div class="import" @click="knowledgeFlag = !knowledgeFlag">
<img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span>
</div>
<div v-if="knowledgeFlag">
<p style="line-height: 25px; font-size: 14px">
波士顿矩阵BCG
Matrix又称市场增长率-相对市场份额矩阵由美国著名的管理学家波士顿咨询公司创始人布鲁斯·亨德森于1970年首创它是通过销售增长率反应市场引力的指标和市场占有率反应企业实力的指标来分析决定企业的产品结构<br />
市场吸引力包括企业销售量增长率目标市场容量竞争对手强弱利润高低等其中最重要的是反映市场引力的综合指标销售增长率这是决定企业产品结构是否合理的外在因素<br />
企业实力包括市场占有率技术设备资金利用能力等其中市场占有率是决定企业产品结构的内在因素他直接显示出企业的竞争实力
</p>
<img src="@/assets/images/u3678.png" alt="" /><br />
<span style="line-height: 25px; font-size: 14px">
波士顿矩阵将产品类型分为四种<br />
1明星类产品高增长且高市占发展前景好竞争力强需加大投资以支持其发展<br />
2问题类产品高增长但低市占发展前景好但市场开拓不足需谨慎投资<br />
3现金牛产品低增长但高市占成熟市场的领导者应降低投资维持市占并延缓衰退<br />
4瘦狗类产品低增长且低市占理论率低甚至亏损应采取撤退战略 </span
><br />
<img src="@/assets/images/u3682.png" alt="" />
</div>
<div v-if="!knowledgeFlag">
<div class="caseBack">
<div class="title">
<img src="@/assets/images/caseIcon.png" alt="" />
<span>案例背景</span>
</div>
<span style="line-height: 25px; font-size: 14px">
现有以下某商店的客户消费原始数据需要采用波士顿矩阵分析方法对客户进行分类
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="fileTable1"
style="width: 650px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="客户ID" align="center" prop="id">
</el-table-column>
<el-table-column label="消费金额" align="center" prop="amount">
</el-table-column>
<el-table-column label="消费时间" align="center" prop="time">
</el-table-column>
</el-table>
<div class="download">下载数据</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第一步统计各个客户的消费次数和消费金额</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以客户ID为统计单元分别计算各个客户累计的消费次数消费金额
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step1Data"
style="width: 550px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="客户ID" align="center" prop="name">
</el-table-column>
<el-table-column label="消费次数" align="center" prop="amount">
<template #default="scope">
<el-input
v-model="scope.row.params1"
placeholder="请输入"
style="width: 130px"
>
</el-input>
</template>
</el-table-column>
<el-table-column label="消费金额" align="center" prop="amount">
<template #default="scope">
<el-input
v-model="scope.row.params2"
placeholder="请输入"
style="width: 130px"
>
</el-input>
</template>
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第二步确定象限测度划分标准</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以客户ID为统计单元分别计算各个客户的平均消费次数平均消费金额
</span>
<div style="margin-top: 10px; display: flex">
<el-table
:data="step2Data"
style="width: 650px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="客户ID" align="center" prop="name">
</el-table-column>
<el-table-column label="消费次数" align="center" prop="amount">
</el-table-column>
<el-table-column label="消费金额" align="center" prop="account">
</el-table-column>
</el-table>
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第三步绘制散点图</span>
</div>
<span style="line-height: 25px; font-size: 14px">
以消费金额为纵轴消费次数为横轴将第一步的客户数据绘制于坐标轴中
</span>
<div style="margin-top: 10px; display: flex">
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第四步坐标轴区域绘制象限测度划分标准</span>
</div>
<span style="line-height: 25px; font-size: 14px">
将计算出的客户的平均消费次数平均消费金额绘制在坐标轴中
</span>
<div style="margin-top: 10px; display: flex">
<!-- <el-table
:data="step4Data"
style="width: 680px"
border
:header-cell-style="{
color: '#fff',
fontSize: '14px',
backgroundColor: '#6A7DE9!important',
}"
>
<el-table-column label="商品名称" align="center" prop="data1">
</el-table-column>
<el-table-column label="销售额" align="center" prop="data2">
</el-table-column>
<el-table-column
label="累计销售额占比(%"
align="center"
prop="data3"
>
</el-table-column>
<el-table-column label="划分商品类型" align="center" prop="data4">
<template #default="scope">
<el-select
v-model="scope.row.params"
placeholder="请选择"
style="width: 100px"
>
<el-option :label="'A类商品'" :value="'A类商品'" />
<el-option :label="'B类商品'" :value="'B类商品'" />
<el-option :label="'C类商品'" :value="'C类商品'" />
</el-select>
</template>
</el-table-column>
</el-table> -->
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第五步划分客户类型</span>
</div>
<span style="line-height: 25px; font-size: 14px">
按照客户标准划分ABCD各属于哪类客户<br />
1消费次数超过平均值每次消费力度也超过平均水平的客户判定为明星客户<br />
2消费次数超过平均值但每次消费力度未达到平均水平的客户被判定为现金流客户<br />
3消费未达到平均值但每次消费力度超过平均水平的客户是问题客户<br />
4消费未达到平均值消费力度也未达到平均水平的客户属于瘦狗客户
</span>
<div style="margin-top: 10px; display: flex">
<div class="submit">提交</div>
</div>
</div>
<div class="line"></div>
<div class="caseBack">
<div class="title">
<img src="@/assets/images/步骤.png" alt="" />
<span>第六步针对不同的客户类型制定不同的营销策略</span>
</div>
<span style="line-height: 25px; font-size: 14px">
当波士顿矩阵应用于客户画像时候可以大致分析出不同用户的客户画像
</span>
<div class="customerType" style="width: 887px">
<img src="@/assets/images/客户1.png" alt="" />
<span>明星客户这类客户需要重点关注并给予最高的礼遇</span>
</div>
<div class="customerType" style="width: 887px">
<img src="@/assets/images/客户2.png" alt="" />
<span
>现金流客户这类客户通常消费频次比较频繁能给企业带来较为稳定的现金流这类客户是企业利润基石</span
>
</div>
<div class="customerType" style="width: 887px">
<img src="@/assets/images/客户3.png" alt="" />
<span
>问题客户这类客户最有希望转化为明星客户但是因为客户存在一定的潜在问题导致消费频次不高这类客户需要利用客服进行重点跟进和长期跟踪</span
>
</div>
<div class="customerType" style="width: 887px">
<img src="@/assets/images/客户1.png" alt="" />
<span
>瘦狗客户这类客户通常占企业客户的大多数只需要一般性维护不需要投入重点维系</span
>
</div>
</div>
</div>
</div>
</template>
<script setup>
const knowledgeFlag = ref(false);
const step1Data = ref([
{
name: "A",
amount: "2300",
},
{
name: "B",
amount: "2300",
},
{
name: "C",
amount: "2300",
},
{
name: "D",
amount: "2300",
},
]);
const fileTable1 = ref([
{
id: "A",
amount: "200",
time: "2023.02.01",
},
{
id: "B",
amount: "300",
time: "2023.02.02",
},
{
id: "A",
time: "2023.02.03",
amount: "200",
},
{
id: "D",
time: "2023.02.04",
amount: "150",
},
{
id: "C",
time: "2023.02.05",
amount: "100",
},
{
id: "B",
time: "2023.02.06",
amount: "400",
},
{
id: "C",
time: "2023.02.07",
amount: "50",
},
{
id: "D",
time: "2023.02.08",
amount: "250",
},
{
id: "D",
time: "2023.02.09",
amount: "200",
},
{
id: "B",
time: "2023.02.10",
amount: "300",
},
{
id: "D",
time: "2023.02.11",
amount: "200",
},
{
id: "C",
time: "2023.02.12",
amount: "50",
},
{
id: "D",
time: "2023.02.13",
amount: "100",
},
{
id: "A",
time: "2023.02.14",
amount: "400",
},
{
id: "C",
time: "2023.02.15",
amount: "200",
},
{
id: "B",
time: "2023.02.16",
amount: "200",
},
{
id: "C",
time: "2023.02.17",
amount: "150",
},
{
id: "D",
time: "2023.02.18",
amount: "300",
},
{
id: "C",
time: "2023.02.19",
amount: "50",
},
{
id: "D",
time: "2023.02.20",
amount: "200",
},
]);
const step2Data = ref([
{
name: "A",
amount: "3",
account: "800",
},
{ name: "B", amount: "4", account: "1200" },
{ name: "C", amount: "6", account: "600" },
{ name: "D", amount: "7", account: "1400" },
]);
const step3Data = ref([
{
data1: "男士配饰",
data2: "5900",
},
{
data1: "床上用品",
data2: "2400",
},
{
data1: "婴儿用品",
data2: "1100",
},
{
data1: "儿童服装",
data2: "600",
},
]);
const step4Data = ref([
{
data1: "男士配饰",
data2: "5900",
data3: "59%",
data4: "2",
},
{
data1: "床上用品",
data2: "2400",
data3: "83%",
data4: "3",
},
{
data1: "婴儿用品",
data2: "1100",
data3: "94%",
data4: "1",
},
{
data1: "儿童服装",
data2: "600",
data3: "100%",
data4: "1",
},
]);
const step5Data = ref([
{
title: "平均值",
},
]);
const step6Data = ref([
{
data1: "1",
data2: "小明",
data3: "4",
data4: "2",
data5: "4",
},
{
data1: "2",
data2: "小红",
data3: "5",
data4: "2",
data5: "2",
},
{
data1: "3",
data2: "小李",
data3: "5",
data4: "1",
data5: "1",
},
]);
const rulesTable = ref([
{
data1: "1.重要价值用户",
data2: "高",
data3: "高",
data4: "高",
},
{
data1: "2.重要发展用户",
data2: "高",
data3: "低",
data4: "高",
},
{
data1: "3.重要保持用户",
data2: "低",
data3: "高",
data4: "高",
},
{
data1: "4.重要挽留用户",
data2: "低",
data3: "低",
data4: "高",
},
{
data1: "5.一般价值用户",
data2: "高",
data3: "高",
data4: "低",
},
{
data1: "6.一般发展用户",
data2: "高",
data3: "低",
data4: "低",
},
{
data1: "7.一般保持用户",
data2: "低",
data3: "高",
data4: "低",
},
{
data1: "6.一般挽留用户",
data2: "低",
data3: "低",
data4: "低",
},
]);
const typeData = ref([
{
data1: "A类商品",
data2: "占总销售额的80%,需要重点关注",
},
{
data1: "B类商品",
data2: "占总销售额的10%,给予次要关注",
},
{
data1: "C类商品",
data2: "占总销售额的10%,给予一般关注",
},
]);
const moveUp = (index, row) => {
console.log("上移", index, row);
if (index > 0) {
const upDate = step2Data.value[index - 1];
step2Data.value.splice(index - 1, 1);
step2Data.value.splice(index, 0, upDate);
} else {
alert("已经是第一条,不可上移");
}
};
const moveDown = (index, row) => {
console.log("下移", index, row);
if (index + 1 === step2Data.value.length) {
alert("已经是最后一条,不可下移");
} else {
const downDate = step2Data.value[index + 1];
step2Data.value.splice(index + 1, 1);
step2Data.value.splice(index, 0, downDate);
}
};
</script>
<style scoped lang="scss">
.content {
width: 100%;
background: rgba(0, 29, 64, 0.5);
border: 1px solid #0452c6;
padding: 10px;
// opacity: 0.5;
.import {
display: flex;
font-size: 15px;
font-weight: bold;
width: 180px;
height: 56px;
background-image: url("@/assets/images/01.png");
background-size: 180px 56px;
text-align: center;
align-items: center;
line-height: 56px;
cursor: pointer;
img {
margin-left: 20px;
margin-right: 15px;
}
}
.caseBack {
.title {
font-weight: bold;
margin-top: 10px;
display: flex;
align-items: center;
span {
margin-left: 10px;
}
}
.download {
cursor: pointer;
margin-left: 20px;
color: #000;
padding-left: 10px;
font-size: 14px;
text-align: center;
line-height: 31px;
width: 89px;
height: 31px;
background: url("@/assets/images/downloadIcon.png");
}
.submit {
cursor: pointer;
margin-left: 20px;
color: #000;
padding-left: 10px;
font-size: 14px;
text-align: center;
line-height: 31px;
width: 99px;
height: 31px;
background: url("@/assets/images/提交任务.png");
}
.customerType {
padding-left: 10px;
display: flex;
align-items: center;
width: 945px;
height: 26px;
background: #003b75;
border-radius: 10px;
border: 1px solid #0052a3;
font-size: 12px;
margin-top: 10px;
img {
margin-right: 10px;
}
}
}
.line {
width: 1400px;
height: 1px;
border: 1px solid #0452c6;
opacity: 0.5;
margin-top: 20px;
margin-bottom: 20px;
}
}
::v-deep .el-table tr {
background-color: #002652 !important;
color: #fff;
}
</style>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -268,6 +268,8 @@
import mainContent from "@/views/components/mainContent.vue";
import rfmAnalysis from "./components/rfmAnalysis.vue";
import abcAnalysis from "./components/abcAnalysis.vue";
import bostonAnalysis from "./components/bostonAnalysis.vue";
import funnelAnalysis from "./components/funnelAnalysis.vue";
const currentComponent = ref(null);
const menuIndex = ref(1);
const tabIndex = ref(0);
@ -294,11 +296,13 @@ const tabList = ref([
},
{
id: "3",
key:bostonAnalysis,
title: "波士顿矩阵分析",
backImg: "src/assets/images/icon3.png",
},
{
id: "4",
key:funnelAnalysis,
title: "转化分析-漏斗模型",
backImg: "src/assets/images/icon4.png",
},

Loading…
Cancel
Save