Commit cd0251eb authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 2b0dceaf 4843d50e
......@@ -41,7 +41,7 @@
</div>
</div>
</template>
<script>
import Breadcrumb from "./breadcrumb/index.vue";
import { peopelList } from "@/api/userPortrait";
......@@ -96,11 +96,12 @@ export default {
},
};
</script>
<style lang="less" scoped>
@headerH: 4.5rem;
.Container {
width: 100%;
height: 100% !important;
// background: #fac;
background: #f5f5f5;
......@@ -182,5 +183,3 @@ export default {
padding: 0 5rem;
}
</style>
\ No newline at end of file
<template>
<div>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">分析结果</div>
</div>
</template>
<a-row>
<a-col :span="8">
<div class="inside_card">
<div class="head_title mb_15">用户信息</div>
<a-form layout="horizontal" :model="formState" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
<a-form-item label="openID:">{{ formState.openid || '--' }}</a-form-item>
<a-form-item label="姓名:">{{ formState.idcard_Name || '--' }}</a-form-item>
<a-form-item label="城市:">{{ formState.city || '--' }}</a-form-item>
<a-form-item label="联系电话:">{{ formState.phone || '--' }}</a-form-item>
<a-form-item label="身份证号:">{{ formState.idcard_IDCardNo || '--' }}</a-form-item>
<a-form-item label="注册时间:">{{ formState.update_time || '--' }}</a-form-item>
<a-form-item label="注册来源:">{{ regType[formState.register_type] || '现场注册' }}</a-form-item>
<a-form-item label="户籍地址:">{{ formState.idcard_Address || '--' }}</a-form-item>
</a-form>
</div>
<div class="inside_card">
<div class="head_title mb_15">关键数据</div>
<a-form layout="horizontal" :model="formState" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
<a-form-item label="预约最多:" v-if="formState.yymax">{{ formState.yymax ? formState.yymax.name : ''
}}<span style="color: #FF5F5F;">({{ formState.yymax ? formState.yymax.count :
'' }})</span></a-form-item>
<a-form-item label="取号最多:" v-if="formState.qhmax">{{ formState.qhmax ? formState.qhmax.name : ''
}} <span style="color: #FF5F5F;">({{ formState.qhmax ? formState.qhmax.count : '' }})</span>
</a-form-item>
<!-- <a-form-item label="申报最多:">{{ formState.appointment.name }}({{ formState.appointment.value
<div>
<a-card :bordered="false" class="mb_15">
<template slot="title">
<div class="head">
<div class="head_title">分析结果</div>
</div>
</template>
<a-row>
<a-col :span="8">
<div class="inside_card">
<div class="head_title mb_15">用户信息</div>
<a-form
layout="horizontal"
:model="formState"
:label-col="{ span: 5 }"
:wrapper-col="{ span: 19 }"
>
<a-form-item label="openID:">{{
formState.openid || "--"
}}</a-form-item>
<a-form-item label="姓名:">{{
formState.idcard_Name || "--"
}}</a-form-item>
<a-form-item label="城市:">{{
formState.city || "--"
}}</a-form-item>
<a-form-item label="联系电话:">{{
formState.phone || "--"
}}</a-form-item>
<a-form-item label="身份证号:">{{
formState.idcard_IDCardNo || "--"
}}</a-form-item>
<a-form-item label="注册时间:">{{
formState.update_time || "--"
}}</a-form-item>
<a-form-item label="注册来源:">{{
regType[formState.register_type] || "现场注册"
}}</a-form-item>
<a-form-item label="户籍地址:">{{
formState.idcard_Address || "--"
}}</a-form-item>
</a-form>
</div>
<div class="inside_card">
<div class="head_title mb_15">关键数据</div>
<a-form
layout="horizontal"
:model="formState"
:label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }"
>
<a-form-item label="预约最多:" v-if="formState.yymax"
>{{ formState.yymax ? formState.yymax.name : ""
}}<span style="color: #ff5f5f"
>({{ formState.yymax ? formState.yymax.count : "" }})</span
></a-form-item
>
<a-form-item label="取号最多:" v-if="formState.qhmax"
>{{ formState.qhmax ? formState.qhmax.name : "" }}
<span style="color: #ff5f5f"
>({{ formState.qhmax ? formState.qhmax.count : "" }})</span
>
</a-form-item>
<!-- <a-form-item label="申报最多:">{{ formState.appointment.name }}({{ formState.appointment.value
}})</a-form-item>
<a-form-item label="小程序最多:">{{ formState.appointment.name }}({{ formState.appointment.value
}})</a-form-item> -->
</a-form>
<div class="evaluate_box" v-if="formState.pjdata">
<div class="good_box">
<div class="good_title">{{ formState.pjdata.good_count }}({{ formState.pjdata.good_lv }}%)
</div>
<div class="good_desc">好评次数</div>
</div>
<div class="bad_box">
<div class="bad_title">{{ formState.pjdata.bad_count }}({{ formState.pjdata.bad_lv }}%)
</div>
<div class="bad_desc">差评次数</div>
</div>
</div>
</div>
</a-col>
<a-col :span="8" class="f_center">
<img src="@/assets/images/man.png" alt="" style="height: 31.25rem" v-if="formState.idcard_Sex == '男'">
<img src="@/assets/images/woman.png" alt="" style="height: 31.25rem" v-else>
<div class="information">
<div class="info_name">
{{ formState.idcard_Name }}<a-tag color="green" class="info_tag">实名认证</a-tag>
</div>
<a-row>
<a-col :span="8">年龄:{{ formState.age }}岁</a-col>
<a-col :span="8">性别:{{ formState.idcard_Sex || '--' }}</a-col>
<a-col :span="8">民族:{{ formState.idcard_Nation }}</a-col>
</a-row>
<div> </div>
</div>
</a-col>
<a-col :span="8">
<div class="inside_card">
<Radar :id="`radar`" :height="350" :width="500" :datas="radarData" />
</div>
<div>
</div>
</a-col>
</a-row>
</a-card>
</div>
</a-form>
<div class="evaluate_box" v-if="formState.pjdata">
<div class="good_box">
<div class="good_title">
{{ formState.pjdata.good_count }}({{
formState.pjdata.good_lv
}}%)
</div>
<div class="good_desc">好评次数</div>
</div>
<div class="bad_box">
<div class="bad_title">
{{ formState.pjdata.bad_count }}({{
formState.pjdata.bad_lv
}}%)
</div>
<div class="bad_desc">差评次数</div>
</div>
</div>
</div>
</a-col>
<a-col :span="8" class="f_center">
<img
src="@/assets/images/man.png"
alt=""
style="height: 31.25rem"
v-if="formState.idcard_Sex == '男'"
/>
<img
src="@/assets/images/woman.png"
alt=""
style="height: 31.25rem"
v-else
/>
<div class="information">
<div class="info_name">
{{ formState.idcard_Name
}}<a-tag color="green" class="info_tag">实名认证</a-tag>
</div>
<a-row>
<a-col :span="8">年龄:{{ formState.age }}岁</a-col>
<a-col :span="8">性别:{{ formState.idcard_Sex || "--" }}</a-col>
<a-col :span="8">民族:{{ formState.idcard_Nation }}</a-col>
</a-row>
<div></div>
</div>
</a-col>
<a-col :span="8">
<div class="inside_card">
<Radar
:id="`radar`"
:height="350"
:width="500"
:datas="radarData"
/>
</div>
<div></div>
</a-col>
</a-row>
</a-card>
</div>
</template>
<script >
<script>
import Radar from "../../business/Component/radar/index.vue";
import { userAnalysis } from "@/api/userPortrait"
import { userAnalysis } from "@/api/userPortrait";
export default {
components: {
Radar
},
data() {
return {
options: [
{
value: '0',
label: '今天',
},
{
value: '1',
label: '近7日',
},
{
value: '2',
label: '近30日',
},
{
value: '3',
label: '近3个月',
},
{
value: '4',
label: '本年度',
},
],
radarData: {},
useNumber: '0',
formState: {
openId: '4568782121245',
name: '张张那个张',
city: '四川省成都市',
phone: '13088088888',
ID: '513822199302034567',
registerTime: '2023-03-01 10:00:00',
source: '排队叫号系统',
address: '四川省宜宾市叙州区林南路23号',
appointment: { name: '机动车违章业务办理', value: '25' },
good: { value: '36', percent: '20' },
bad: { value: '2', percent: '10' }
},
regType: {
Applets: '小程序',
wechat: '公众号',
app: '自助服务终端'
}
}
},
mounted() {
this.getRadarData()
this.userAnalysisFn(this.$route.query.peopleid)
},
methods: {
async userAnalysisFn(peopleid) {
let res = await userAnalysis({ siteid: localStorage.getItem('siteId'), peopleid })
// console.log(res)
if (res.code == 1) {
this.formState = res.data
// console.log(this.formState.xwph)
let arr = Object.values(this.formState.xwph)
let nameArr = Object.keys(this.formState.xwph)
// console.log(arr, nameArr)
// console.log(arr)
this.radarData = {
nameArr,
data: [
{
value: arr,
name: '偏好',
areaStyle: {
color: '#a6c5fc'
}
},
],
}
} else {
this.$message.error('查询失败')
this.$router.push({ path: 'portrayalBase' })
}
components: {
Radar,
},
data() {
return {
options: [
{
value: "0",
label: "今天",
},
{
value: "1",
label: "近7日",
},
{
value: "2",
label: "近30日",
},
{
value: "3",
label: "近3个月",
},
{
value: "4",
label: "本年度",
},
],
radarData: {},
useNumber: "0",
formState: {
openId: "4568782121245",
name: "张张那个张",
city: "四川省成都市",
phone: "13088088888",
ID: "513822199302034567",
registerTime: "2023-03-01 10:00:00",
source: "排队叫号系统",
address: "四川省宜宾市叙州区林南路23号",
appointment: { name: "机动车违章业务办理", value: "25" },
good: { value: "36", percent: "20" },
bad: { value: "2", percent: "10" },
},
regType: {
Applets: "小程序",
wechat: "公众号",
app: "自助服务终端",
},
};
},
mounted() {
this.getRadarData();
this.userAnalysisFn(this.$route.query.peopleid);
},
methods: {
async userAnalysisFn(peopleid) {
let res = await userAnalysis({
siteid: localStorage.getItem("siteId"),
peopleid,
});
// console.log(res)
if (res.code == 1) {
this.formState = res.data;
// console.log(this.formState.xwph)
let arr = Object.values(this.formState.xwph);
let nameArr = Object.keys(this.formState.xwph);
},
handleChange() { },
getRadarData() {
}
},
}
// console.log(arr, nameArr)
// console.log(arr)
this.radarData = {
nameArr,
data: [
{
value: arr,
name: "偏好",
areaStyle: {
color: "#a6c5fc",
},
},
],
};
} else {
this.$message.error("查询失败");
this.$router.push({ path: "portrayalBase" });
}
},
handleChange() {},
getRadarData() {},
},
};
</script>
<style lang="less" scoped>
/deep/ .ant-form-item {
margin-bottom: 0
margin-bottom: 0;
}
.head {
display: flex;
justify-content: flex-start;
align-items: center;
display: flex;
justify-content: flex-start;
align-items: center;
}
.head_title {
font-weight: 700;
font-style: normal;
font-size: 1.125rem;
color: #0595FD;
margin-right: 1.25rem;
font-weight: 700;
font-style: normal;
font-size: 1.125rem;
color: #0595fd;
margin-right: 1.25rem;
}
.head_desc {
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
font-weight: 400;
font-style: normal;
font-size: 14px;
color: #888888;
}
.inside_card {
background: #f3faff;
margin: .9375rem;
padding: .9375rem;
background: #f3faff;
margin: 0.9375rem;
padding: 0.9375rem;
}
.evaluate_box {
display: flex;
justify-content: space-around;
align-items: center;
margin-top: 1.25rem;
display: flex;
justify-content: space-around;
align-items: center;
margin-top: 1.25rem;
}
.good_box {
width: 10rem;
background: #d0f3ee;
text-align: center;
padding: .9375rem;
width: 10rem;
background: #d0f3ee;
text-align: center;
padding: 0.9375rem;
.good_title {
font-size: 1.25rem;
font-weight: 400;
font-style: normal;
color: #04CA8F;
margin-bottom: .625rem;
}
.good_title {
font-size: 1.25rem;
font-weight: 400;
font-style: normal;
color: #04ca8f;
margin-bottom: 0.625rem;
}
.good_desc {
font-size: .875rem;
font-weight: 400;
font-style: normal;
color: #04CA8F;
}
.good_desc {
font-size: 0.875rem;
font-weight: 400;
font-style: normal;
color: #04ca8f;
}
}
.bad_box {
width: 10rem;
background: #f5e3e7;
text-align: center;
padding: .9375rem;
width: 10rem;
background: #f5e3e7;
text-align: center;
padding: 0.9375rem;
.bad_title {
font-size: 1.25rem;
font-weight: 400;
font-style: normal;
color: #FF5F5F;
margin-bottom: .625rem;
}
.bad_title {
font-size: 1.25rem;
font-weight: 400;
font-style: normal;
color: #ff5f5f;
margin-bottom: 0.625rem;
}
.bad_desc {
font-size: .875rem;
font-weight: 400;
font-style: normal;
color: #FF5F5F;
}
.bad_desc {
font-size: 0.875rem;
font-weight: 400;
font-style: normal;
color: #ff5f5f;
}
}
.information {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-around;
height: 200px;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-around;
height: 200px;
}
.info_name {
position: relative;
font-size: 2.5rem;
position: relative;
font-size: 2.5rem;
}
.info_tag {
position: absolute;
top: .9375rem;
margin-left: .9375rem;
position: absolute;
top: 0.9375rem;
margin-left: 0.9375rem;
}
.mb_15 {
margin-bottom: .9375rem;
margin-bottom: 0.9375rem;
}
.f_40 {
font-size: 2.5rem;
font-size: 2.5rem;
}
.f_center {
text-align: center;
text-align: center;
}
</style>
\ No newline at end of file
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment