@ -2,7 +2,7 @@
< div class = "content" >
< div class = "content" >
< div class = "import" @ click = "dialogVisible = true" >
< div class = "import" @ click = "dialogVisible = true" >
< img src = "@/assets/images/导入.png" alt = "" / >
< img src = "@/assets/images/导入.png" alt = "" / >
< span > 任务知识导入 < / span >
< span style = "color:#fff" > 任务知识导入 < / span >
< / div >
< / div >
<!-- < div v-html ="knowledge" v-if="knowledgeFlag" > < / div > - - >
<!-- < div v-html ="knowledge" v-if="knowledgeFlag" > < / div > - - >
< div >
< div >
@ -11,9 +11,7 @@
< img src = "@/assets/images/caseIcon.png" alt = "" / >
< img src = "@/assets/images/caseIcon.png" alt = "" / >
< span > 案例背景 : < / span >
< span > 案例背景 : < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 现有以下原始数据 , 需要采用RFM分析方法 , 对客户进行分类 : < / span >
现有以下原始数据 , 需要采用RFM分析方法 , 对客户进行分类 :
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "fileTable1"
: data = "fileTable1"
@ -25,14 +23,10 @@
backgroundColor : '#6A7DE9!important' ,
backgroundColor : '#6A7DE9!important' ,
} "
} "
>
>
< el -table -column label = "用户ID" align = "center" prop = "userId" >
< el -table -column label = "用户ID" align = "center" prop = "userId" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" >
< el -table -column label = "消费时间" align = "center" prop = "time" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额" align = "center" prop = "amount" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "消费时间" align = "center" prop = "time" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额" align = "center" prop = "amount" >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / e l - t a b l e >
< div class = "download" @click ="downloadData" > 下 载 数 据 < / div >
< div class = "download" @click ="downloadData" > 下 载 数 据 < / div >
< / div >
< / div >
@ -43,9 +37,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第一步 , 确定 “ 近一段时间 ” 的时间间隔 < / span >
< span > 第一步 , 确定 “ 近一段时间 ” 的时间间隔 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 计划分析最近30天的用户 , 假设现在是2025 .05 .30 , 需要对数据进行筛选 , 筛选出统计样本 < / span >
计划分析最近30天的用户 , 假设现在是2025 .05 .30 , 需要对数据进行筛选 , 筛选出统计样本
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "fileTable1"
: data = "fileTable1"
@ -57,21 +49,13 @@
backgroundColor : '#6A7DE9!important' ,
backgroundColor : '#6A7DE9!important' ,
} "
} "
>
>
< el -table -column label = "用户ID" align = "center" prop = "userId" >
< el -table -column label = "用户ID" align = "center" prop = "userId" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" >
< el -table -column label = "消费时间" align = "center" prop = "time" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额" align = "center" prop = "amount" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "消费时间" align = "center" prop = "time" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额" align = "center" prop = "amount" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "操作" align = "center" prop = "opr" >
< el -table -column label = "操作" align = "center" prop = "opr" >
< template # default = "scope" >
< template # default = "scope" >
< el -select
< el -select v-model ="scope.row.params" placeholder="请选择" style="width: 100px" >
v - model = "scope.row.params"
placeholder = "请选择"
style = "width: 100px"
>
< el -option :label ="'剔除'" :value ="'剔除'" / >
< el -option :label ="'剔除'" :value ="'剔除'" / >
< el -option :label ="'纳入'" :value ="'纳入'" / >
< el -option :label ="'纳入'" :value ="'纳入'" / >
< / e l - s e l e c t >
< / e l - s e l e c t >
@ -87,9 +71,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第二步 , 计算每个用户的RFM值 < / span >
< span > 第二步 , 计算每个用户的RFM值 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 以用户为统计对象 , 计算出每个用户的R 、 F 、 M这3个指标 < / span >
以用户为统计对象 , 计算出每个用户的R 、 F 、 M这3个指标
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "step2Data"
: data = "step2Data"
@ -101,42 +83,21 @@
backgroundColor : '#6A7DE9!important' ,
backgroundColor : '#6A7DE9!important' ,
} "
} "
>
>
< el -table -column label = "用户ID" align = "center" prop = "userId" >
< el -table -column label = "用户ID" align = "center" prop = "userId" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "userName" >
< el -table -column label = "最近一次消费时间间隔( R) " align = "center" width = "210" >
< / e l - t a b l e - c o l u m n >
< el -table -column
label = "最近一次消费时间间隔( R) "
align = "center"
width = "210"
>
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params1" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params1"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费频率( F) " align = "center" >
< el -table -column label = "消费频率( F) " align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params2" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params2"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额( M) " align = "center" >
< el -table -column label = "消费金额( M) " align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params3" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params3"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / e l - t a b l e >
@ -150,9 +111,12 @@
< span > 第三步 , 制定R 、 F 、 M评分规则 < / span >
< span > 第三步 , 制定R 、 F 、 M评分规则 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" >
最近一次消费时间间隔 ( R ) , 上一次消费离得越近 , 也就是R的值越小 , 用户价值越高 。 < br / >
最近一次消费时间间隔 ( R ) , 上一次消费离得越近 , 也就是R的值越小 , 用户价值越高 。
消费频率 ( F ) , 购买频率越高 , 也就是F值越大 , 用户价值越高 。 < br / >
< br / >
消费金额 ( M ) , 消费金额越高 , 也就是M值越大 , 用户价值越高 。 < br / >
消费频率 ( F ) , 购买频率越高 , 也就是F值越大 , 用户价值越高 。
< br / >
消费金额 ( M ) , 消费金额越高 , 也就是M值越大 , 用户价值越高 。
< br / >
具体实际业务中 , 如何定义打分的范围 , 要根据具体的业务来灵活定 , 没有统一的标准 。 将R 、 F 、 M3个指标分别按价值从小到大分为1 - 5 分 。 如下表所示 :
具体实际业务中 , 如何定义打分的范围 , 要根据具体的业务来灵活定 , 没有统一的标准 。 将R 、 F 、 M3个指标分别按价值从小到大分为1 - 5 分 。 如下表所示 :
< / span >
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
@ -166,19 +130,10 @@
backgroundColor : '#6A7DE9!important' ,
backgroundColor : '#6A7DE9!important' ,
} "
} "
>
>
< el -table -column label = "按价值打分" align = "center" prop = "data1" >
< el -table -column label = "按价值打分" align = "center" prop = "data1" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "最近一次消费时间间隔(R)" align = "center" prop = "data2" width = "210" > < / e l - t a b l e - c o l u m n >
< el -table -column
< el -table -column label = "消费频率(F)" align = "center" prop = "data3" > < / e l - t a b l e - c o l u m n >
label = "最近一次消费时间间隔(R)"
< el -table -column label = "消费金额(M)" align = "center" prop = "data4" > < / e l - t a b l e - c o l u m n >
align = "center"
prop = "data2"
width = "210"
>
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费频率(F)" align = "center" prop = "data3" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额(M)" align = "center" prop = "data4" >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / e l - t a b l e >
< / div >
< / div >
< / div >
< / div >
@ -188,9 +143,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第四步 , 给R 、 F 、 M按价值打分 < / span >
< span > 第四步 , 给R 、 F 、 M按价值打分 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 按照第二步统计的数值 , 结合第三步的评估规则 , 对用户R 、 F 、 M值进行评分 < / span >
按照第二步统计的数值 , 结合第三步的评估规则 , 对用户R 、 F 、 M值进行评分
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "step4Data"
: data = "step4Data"
@ -202,54 +155,24 @@
backgroundColor : '#6A7DE9!important' ,
backgroundColor : '#6A7DE9!important' ,
} "
} "
>
>
< el -table -column
< el -table -column label = "用户ID" align = "center" prop = "data1" width = "70" > < / e l - t a b l e - c o l u m n >
label = "用户ID"
< el -table -column label = "用户名称" align = "center" prop = "data2" > < / e l - t a b l e - c o l u m n >
align = "center"
< el -table -column label = "最近一次消费时间间隔( R) " align = "center" prop = "data3" width = "210" > < / e l - t a b l e - c o l u m n >
prop = "data1"
< el -table -column label = "消费频率( F) " align = "center" prop = "data4" > < / e l - t a b l e - c o l u m n >
width = "70"
< el -table -column label = "消费金额( M) " align = "center" prop = "data5" > < / e l - t a b l e - c o l u m n >
>
< / e l - t a b l e - c o l u m n >
< el -table -column label = "用户名称" align = "center" prop = "data2" >
< / e l - t a b l e - c o l u m n >
< el -table -column
label = "最近一次消费时间间隔( R) "
align = "center"
prop = "data3"
width = "210"
>
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费频率( F) " align = "center" prop = "data4" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "消费金额( M) " align = "center" prop = "data5" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "R值打分" align = "center" prop = "data4" >
< el -table -column label = "R值打分" align = "center" prop = "data4" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params1" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params1"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "F值打分" align = "center" prop = "data4" >
< el -table -column label = "F值打分" align = "center" prop = "data4" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params2" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params2"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "M值打分" align = "center" prop = "data4" >
< el -table -column label = "M值打分" align = "center" prop = "data4" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params3" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params3"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / e l - t a b l e >
@ -262,9 +185,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第五步 , 计算所有用户R 、 F 、 M打分值的平均数 < / span >
< span > 第五步 , 计算所有用户R 、 F 、 M打分值的平均数 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 按照第四步给各个用户R 、 F 、 M的打分值 , 分别计算各自的平均数 ( 小数点后保留两位小数 ) < / span >
按照第四步给各个用户R 、 F 、 M的打分值 , 分别计算各自的平均数 ( 小数点后保留两位小数 )
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "step5Data"
: data = "step5Data"
@ -279,32 +200,17 @@
< el -table -column label = "" align = "center" prop = "title" / >
< el -table -column label = "" align = "center" prop = "title" / >
< el -table -column label = "R值打分" align = "center" >
< el -table -column label = "R值打分" align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params1" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params1"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "F值打分" align = "center" >
< el -table -column label = "F值打分" align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params2" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params2"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "M值打分" align = "center" >
< el -table -column label = "M值打分" align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -input
< el -input v-model ="scope.row.params3" placeholder="请输入" style="width: 100px" > < / el -input >
v - model = "scope.row.params3"
placeholder = "请输入"
style = "width: 100px"
>
< / e l - i n p u t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / e l - t a b l e >
@ -317,9 +223,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第六步 , 计算所有用户R 、 F 、 M打分值与平均数的高低情况 < / span >
< span > 第六步 , 计算所有用户R 、 F 、 M打分值与平均数的高低情况 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 判断每个用户的价值值R 、 F 、 M3个值是高于平均值 , 还是低于平均值 。 如果一行里的R值打分大于平均值 , 就在R值高低列里记录为 “ 高 ” , 否则记录为 “ 低 ” < / span >
判断每个用户的价值值R 、 F 、 M3个值是高于平均值 , 还是低于平均值 。 如果一行里的R值打分大于平均值 , 就在R值高低列里记录为 “ 高 ” , 否则记录为 “ 低 ”
< / span >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
< el -table
< el -table
: data = "step6Data"
: data = "step6Data"
@ -334,12 +238,9 @@
>
>
< el -table -column label = "用户ID" align = "center" prop = "data1" / >
< el -table -column label = "用户ID" align = "center" prop = "data1" / >
< el -table -column label = "用户名称" align = "center" prop = "data2" / >
< el -table -column label = "用户名称" align = "center" prop = "data2" / >
< el -table -column label = "R值打分" align = "center" prop = "data3" >
< el -table -column label = "R值打分" align = "center" prop = "data3" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "F值打分" align = "center" prop = "data4" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "F值打分" align = "center" prop = "data4" >
< el -table -column label = "M值打分" align = "center" prop = "data5" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "M值打分" align = "center" prop = "data5" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "R值高低" align = "center" width = "130" >
< el -table -column label = "R值高低" align = "center" width = "130" >
< template # default = "scope" >
< template # default = "scope" >
<!-- < el -input
<!-- < el -input
@ -349,12 +250,7 @@
v - if = "scope.$index != 3"
v - if = "scope.$index != 3"
>
>
< / e l - i n p u t > - - >
< / e l - i n p u t > - - >
< el -select
< el -select v-model ="scope.row.params1" placeholder="请选择" style="width: 100px" v-if="scope.$index != 3" >
v - model = "scope.row.params1"
placeholder = "请选择"
style = "width: 100px"
v - if = "scope.$index != 3"
>
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'低'" :value ="'低'" / >
< el -option :label ="'低'" :value ="'低'" / >
< / e l - s e l e c t >
< / e l - s e l e c t >
@ -369,12 +265,7 @@
v - if = "scope.$index != 3"
v - if = "scope.$index != 3"
>
>
< / e l - i n p u t > - - >
< / e l - i n p u t > - - >
< el -select
< el -select v-model ="scope.row.params2" placeholder="请选择" style="width: 100px" v-if="scope.$index != 3" >
v - model = "scope.row.params2"
placeholder = "请选择"
style = "width: 100px"
v - if = "scope.$index != 3"
>
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'低'" :value ="'低'" / >
< el -option :label ="'低'" :value ="'低'" / >
< / e l - s e l e c t >
< / e l - s e l e c t >
@ -389,12 +280,7 @@
v - if = "scope.$index != 3"
v - if = "scope.$index != 3"
>
>
< / e l - i n p u t > - - >
< / e l - i n p u t > - - >
< el -select
< el -select v-model ="scope.row.params3" placeholder="请选择" style="width: 100px" v-if="scope.$index != 3" >
v - model = "scope.row.params3"
placeholder = "请选择"
style = "width: 100px"
v - if = "scope.$index != 3"
>
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'高'" :value ="'高'" / >
< el -option :label ="'低'" :value ="'低'" / >
< el -option :label ="'低'" :value ="'低'" / >
< / e l - s e l e c t >
< / e l - s e l e c t >
@ -410,9 +296,7 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第七步 , 用户分类 < / span >
< span > 第七步 , 用户分类 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 按照用户分类表格里定义的规则进行比较 , 就可以得出用户属于哪种类 。 < / span >
按照用户分类表格里定义的规则进行比较 , 就可以得出用户属于哪种类 。
< / span >
< div style = "text-align: center; width: 800px" >
< div style = "text-align: center; width: 800px" >
< p > 用户分类规则 < / p >
< p > 用户分类规则 < / p >
< el -table
< el -table
@ -426,22 +310,9 @@
} "
} "
>
>
< el -table -column label = "用户分类" align = "center" prop = "data1" / >
< el -table -column label = "用户分类" align = "center" prop = "data1" / >
< el -table -column
< el -table -column label = "最近一次消费时间间隔( R) " align = "center" prop = "data2" width = "220" / >
label = "最近一次消费时间间隔( R) "
< el -table -column label = "消费频率( F) " align = "center" prop = "data3" / >
align = "center"
< el -table -column label = "消费金额( M) " align = "center" prop = "data4" / >
prop = "data2"
width = "220"
/ >
< el -table -column
label = "消费频率( F) "
align = "center"
prop = "data3"
/ >
< el -table -column
label = "消费金额( M) "
align = "center"
prop = "data4"
/ >
< / e l - t a b l e >
< / e l - t a b l e >
< / div >
< / div >
< div style = "margin-top: 10px; display: flex" >
< div style = "margin-top: 10px; display: flex" >
@ -457,25 +328,13 @@
>
>
< el -table -column label = "用户ID" align = "center" prop = "data1" / >
< el -table -column label = "用户ID" align = "center" prop = "data1" / >
< el -table -column label = "用户名称" align = "center" prop = "data2" / >
< el -table -column label = "用户名称" align = "center" prop = "data2" / >
< el -table -column label = "R值高低" align = "center" prop = "data3" >
< el -table -column label = "R值高低" align = "center" prop = "data3" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "F值高低" align = "center" prop = "data4" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "F值高低" align = "center" prop = "data4" >
< el -table -column label = "M值高低" align = "center" prop = "data5" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "M值高低" align = "center" prop = "data5" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "用户分类" align = "center" width = "200" >
< el -table -column label = "用户分类" align = "center" width = "200" >
< template # default = "scope" >
< template # default = "scope" >
< el -select
< el -select v-model ="scope.row.params" placeholder="请选择" style="width: 170px" >
v - model = "scope.row.params"
< el -option :label ="item.label" :value ="item.value" v -for = " item in classifyList " :key ="item.value" / >
placeholder = "请选择"
style = "width: 170px"
>
< el -option
: label = "item.label"
: value = "item.value"
v - for = "item in classifyList"
: key = "item.value"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
@ -489,61 +348,34 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第八步 , 精细化运营 < / span >
< span > 第八步 , 精细化运营 < / span >
< / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
< span style = "line-height: 25px; font-size: 14px" > 对用户分类以后要做什么呢 ? 那就是针对每类用户如何制定运营策略 , 这个具体公司业务不同 , 方法也不一样 。 这里举例说明前4类用户 。 < / span >
对用户分类以后要做什么呢 ? 那就是针对每类用户如何制定运营策略 , 这个具体公司业务不同 , 方法也不一样 。 这里举例说明前4类用户 。
< / span >
< div class = "customerType" >
< div class = "customerType" >
< img src = "@/assets/images/icon001.png" alt = "" / >
< img src = "@/assets/images/icon001.png" alt = "" / >
< span > 重要价值用户 , RFM三个值都很高 , 要提供VIP服务 < / span >
< span > 重要价值用户 , RFM三个值都很高 , 要提供VIP服务 < / span >
< / div >
< / div >
< div class = "customerType" >
< div class = "customerType" >
< img src = "@/assets/images/icon002.png" alt = "" / >
< img src = "@/assets/images/icon002.png" alt = "" / >
< span
< span > 重要发展用户 , 消费频率低 , 但是其他两个值很高 , 就要想办法提高他的消费频率 。 < / span >
> 重要发展用户 , 消费频率低 , 但是其他两个值很高 , 就要想办法提高他的消费频率 。 < / s p a n
>
< / div >
< / div >
< div class = "customerType" >
< div class = "customerType" >
< img src = "@/assets/images/icon003.png" alt = "" / >
< img src = "@/assets/images/icon003.png" alt = "" / >
< span
< span > 重要保持用户 , 最近消费距离现在时间较远 , 也就是F值低 , 但是消费频次和消费金额高 。 这种用户 , 是一段时间没来的忠实客户 。 应该主动和他保持联系 , 提高复购率 。 < / span >
> 重要保持用户 , 最近消费距离现在时间较远 , 也就是F值低 , 但是消费频次和消费金额高 。 这种用户 , 是一段时间没来的忠实客户 。 应该主动和他保持联系 , 提高复购率 。 < / s p a n
>
< / div >
< / div >
< div class = "customerType" >
< div class = "customerType" >
< img src = "@/assets/images/icon004.png" alt = "" / >
< img src = "@/assets/images/icon004.png" alt = "" / >
< span
< span > 重要挽留客户 , 最近消费时间距离现在较远 、 消费频率低 , 但消费金额高 。 这种用户 , 即将流失 , 要主动联系用户 , 调查清楚哪里出了问题 , 并想办法挽回 。 < / span >
> 重要挽留客户 , 最近消费时间距离现在较远 、 消费频率低 , 但消费金额高 。 这种用户 , 即将流失 , 要主动联系用户 , 调查清楚哪里出了问题 , 并想办法挽回 。 < / s p a n
>
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< el -dialog
< el -dialog v-model ="dialogVisible" title="任务知识导入" style="width: 1108px; height: 798px" custom-class="dialogClass" :show-close="false" class="dialog" >
v - model = "dialogVisible"
title = "任务知识导入"
style = "width: 1108px; height: 798px"
custom - class = "dialogClass"
: show - close = "false"
class = "dialog"
>
< template # header = "{ close, titleId, titleClass }" >
< template # header = "{ close, titleId, titleClass }" >
< div class = "my-header" >
< div class = "my-header" >
< span :id ="titleId" :class ="titleClass" > 任务知识导入 < / span >
< span :id ="titleId" :class ="titleClass" > 任务知识导入 < / span >
< img
< img class = "gbImg" src = "../../../assets/images/关闭.png" @click ="close" alt = "" / >
class = "gbImg"
src = "../../../assets/images/关闭.png"
@ click = "close"
alt = ""
/ >
< / div >
< / div >
< img class = "xtImg" src = "../../../assets/images/线条.png" alt = "" / >
< img class = "xtImg" src = "../../../assets/images/线条.png" alt = "" / >
< / template >
< / template >
< div
< div style = "color: #fff; margin-top: -35px; padding: 10px; padding-left: 20px" >
style = "
color : # fff ;
margin - top : - 35 px ;
padding : 10 px ;
padding - left : 20 px ;
"
>
< el -scrollbar height = "650px" >
< el -scrollbar height = "650px" >
< div v-html ="knowledge" > < / div >
< div v-html ="knowledge" > < / div >
< / e l - s c r o l l b a r >
< / e l - s c r o l l b a r >
@ -1015,11 +847,7 @@ const step6Submit = () => {
/ / c o n s o l e . l o g ( 5 5 5 ) ;
/ / c o n s o l e . l o g ( 5 5 5 ) ;
step6Error . value = 0 ;
step6Error . value = 0 ;
for ( let i in step6Data . value . slice ( 0 , step6Data . value . length - 1 ) ) {
for ( let i in step6Data . value . slice ( 0 , step6Data . value . length - 1 ) ) {
if (
if ( ! step6Data . value [ i ] . params1 || ! step6Data . value [ i ] . params2 || ! step6Data . value [ i ] . params3 ) {
! step6Data . value [ i ] . params1 ||
! step6Data . value [ i ] . params2 ||
! step6Data . value [ i ] . params3
) {
proxy . $modal . msgError ( "请先完成所有填空" ) ;
proxy . $modal . msgError ( "请先完成所有填空" ) ;
return ;
return ;
}
}
@ -1076,22 +904,13 @@ const step7Submit = () => {
}
}
}
}
/ / l e t s t e p 7 E r r o r = 0 ;
/ / l e t s t e p 7 E r r o r = 0 ;
if (
if ( step7Data . value [ 0 ] . params && step7Data . value [ 0 ] . params !== "重要保持用户" ) {
step7Data . value [ 0 ] . params &&
step7Data . value [ 0 ] . params !== "重要保持用户"
) {
step7Error . value ++ ;
step7Error . value ++ ;
}
}
if (
if ( step7Data . value [ 1 ] . params && step7Data . value [ 1 ] . params !== "重要价值用户" ) {
step7Data . value [ 1 ] . params &&
step7Data . value [ 1 ] . params !== "重要价值用户"
) {
step7Error . value ++ ;
step7Error . value ++ ;
}
}
if (
if ( step7Data . value [ 2 ] . params && step7Data . value [ 2 ] . params !== "一般发展用户" ) {
step7Data . value [ 2 ] . params &&
step7Data . value [ 2 ] . params !== "一般发展用户"
) {
step7Error . value ++ ;
step7Error . value ++ ;
}
}
console . log ( step7Error . value , "错误数" ) ;
console . log ( step7Error . value , "错误数" ) ;
@ -1099,24 +918,11 @@ const step7Submit = () => {
step7AnswerFlag . value = true ;
step7AnswerFlag . value = true ;
} ;
} ;
const submitData = ( ) => {
const submitData = ( ) => {
if (
if ( ! step1AnswerFlag . value || ! step2AnswerFlag . value || ! step4AnswerFlag . value || ! step5AnswerFlag . value || ! step6AnswerFlag . value || ! step7AnswerFlag . value ) {
! step1AnswerFlag . value ||
! step2AnswerFlag . value ||
! step4AnswerFlag . value ||
! step5AnswerFlag . value ||
! step6AnswerFlag . value ||
! step7AnswerFlag . value
) {
proxy . $modal . msgError ( "请先完成所有步骤!" ) ;
proxy . $modal . msgError ( "请先完成所有步骤!" ) ;
return ;
return ;
}
}
errorNum . value =
errorNum . value = stepError1 . value + stepError2 . value + step4Error . value + step5Error . value + step6Error . value + step7Error . value ;
stepError1 . value +
stepError2 . value +
step4Error . value +
step5Error . value +
step6Error . value +
step7Error . value ;
console . log ( errorNum . value , "总错误次数" ) ;
console . log ( errorNum . value , "总错误次数" ) ;
portraitModel
portraitModel
. submit ( {
. submit ( {
@ -1285,9 +1091,11 @@ const tableSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
< style scoped lang = "scss" >
< style scoped lang = "scss" >
. content {
. content {
width : 100 % ;
width : 100 % ;
background : rgba ( 0 , 29 , 64 , 0.5 ) ;
/ / b a c k g r o u n d : r g b a ( 0 , 2 9 , 6 4 , 0 . 5 ) ;
background : # fff ;
border : 1 px solid # 0452 c6 ;
border : 1 px solid # 0452 c6 ;
padding : 10 px ;
padding : 10 px ;
color : # 000 ;
/ / o p a c i t y : 0 . 5 ;
/ / o p a c i t y : 0 . 5 ;
. import {
. import {
@ -1347,9 +1155,10 @@ const tableSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
align - items : center ;
align - items : center ;
width : 945 px ;
width : 945 px ;
height : 26 px ;
height : 26 px ;
background : # 003 b75 ;
/ / b a c k g r o u n d : # 0 0 3 b 7 5 ;
background : # FFF8EE ;
border - radius : 10 px ;
border - radius : 10 px ;
border : 1 px solid # 0052 a3 ;
/ / b o r d e r : 1 p x s o l i d # 0 0 5 2 a 3 ;
font - size : 12 px ;
font - size : 12 px ;
margin - top : 10 px ;
margin - top : 10 px ;
img {
img {
@ -1367,8 +1176,13 @@ const tableSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
}
}
}
}
: : v - deep . el - table tr {
: : v - deep . el - table tr {
background - color : # 002652 ! important ;
background - color : # fff ! important ;
color : # fff ;
color : # 000 ;
}
/* 将悬停背景色改为红色 */
: : v - deep . el - table -- enable - row - hover . el - table _ _body tr : hover > td {
background - color : # F5F7FA ! important ;
}
}
: : v - deep . el - dialog {
: : v - deep . el - dialog {