Browse Source

修改百分比及标签模型功能

newyun
corala 2 years ago
parent
commit
eaf2152de5
10 changed files with 121 additions and 72 deletions
  1. +2
    -1
      env/dev.js
  2. +1
    -1
      manifest.json
  3. +11
    -8
      pages/center/Piabodata/TrendAnalysis.vue
  4. +1
    -1
      pages/center/Piabodata/Userinsightinto.vue
  5. +3
    -33
      pages/center/Piabodata/index.vue
  6. +13
    -4
      pages/center/Piabodata/requireminingAnalysis.vue
  7. +12
    -7
      pages/center/consumer/consumerDetail.vue
  8. +11
    -2
      pages/center/consumer/index.vue
  9. +13
    -7
      pages/index/index.vue
  10. +54
    -8
      pages/mine/details2.vue

+ 2
- 1
env/dev.js View File

@@ -1,5 +1,6 @@
const ENV_PATH = {
baseUrl: 'http://81.70.55.170:9090/autoSR/api', // 微信的测试环境
baseUrl: 'http://81.70.55.170:7070/api', //7070测试环境
// baseUrl: 'http://81.70.55.170:9090/autoSR/api', // 9090测试环境
}

module.exports = ENV_PATH

+ 1
- 1
manifest.json View File

@@ -1,5 +1,5 @@
{
"name" : "去房智控管家",
"name" : "数智工牌",
"appid" : "__UNI__7A1611D",
"description" : "去房智控管家",
"versionName" : "1.1.0",


+ 11
- 8
pages/center/Piabodata/TrendAnalysis.vue View File

@@ -52,8 +52,11 @@
<view class="audonum" v-if="item.name=='接待时长'">{{item.name}}/分</view>
<view class="audonum" v-else>{{item.name}}</view>
<view class="num">
<view class="" style="width: 35%;">
{{index==1?item.num+'%':item.num}}
<view v-if="index==1" style="width: 35%;">
{{item.num>100?100:item.num}}%
</view>
<view v-else style="width: 35%;">
{{item.num||0}}
</view>
<view class="comparesize" v-if="compareFlag&&timepickpickisshow">
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}} </text>
@@ -468,19 +471,19 @@
this.$u.post("/cusLvStatistics/lyAndcp", this.pamect).then(data => {
this.pamect.lastStartDate = data.lastStartDate;
this.pamect.lastEndDate = data.lastEndDate;
this.numlist[0].num = data.startSumCustomer
this.numlist[1].num = data.startFraction;
this.numlist[0].num = data.startSumCustomer||0
this.numlist[1].num = data.startFraction||0

this.numlist[2].num = Math.floor(data.startSumDuration / 60) || 0;
if (data.endSumDuration != null) {
this.compareFlag = true
// return
this.numlist[0].num1 = data.endSumCustomer
this.numlist[1].num1 = data.endFraction;
this.numlist[0].num1 = data.endSumCustomer||0
this.numlist[1].num1 = data.endFraction||0
this.numlist[2].num1 = Math.floor(data.endSumDuration / 60) || 0;
this.numlist[0].num2 = data.contrastSumCustomer
this.numlist[1].num2 = data.contrastFraction;
this.numlist[2].num2 = data.contrastSumDuration || 0;
this.numlist[1].num2 = data.contrastFraction||0
this.numlist[2].num2 = data.contrastSumDuration
} else {
this.compareFlag = false
}


+ 1
- 1
pages/center/Piabodata/Userinsightinto.vue View File

@@ -71,7 +71,7 @@
<view class="ranking1" v-else>{{i+1}}</view>
</view>
<view>{{chend.name}}({{chend.total}})</view>
<view>{{chend.proportion}}%</view>
<view>{{chend.proportion>100?100:chend.proportion}}%</view>
<view @click="Toview(item,i)">查看</view>
</view>
</view>


+ 3
- 33
pages/center/Piabodata/index.vue View File

@@ -52,12 +52,10 @@
</view>
<view class="Piabodata-text">需求挖掘分析</view>
</view>

</view>

<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="boxzonglan" style="min-height: 400rpx;">
<view class="zonglantit">简报</view>
<view class="zonglantit">简报1</view>
<view class="zonglanbox">
<view class="grid" v-for="(item,index) in numlist" :key="index">
<view class="audonum">{{item.name}}</view>
@@ -66,7 +64,6 @@
</view>
</view>


<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="single">
<view class="title">
@@ -128,15 +125,8 @@
<view class="title2-che" style="width: 220rpx;">{{staff.label}}
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
</view>
<!-- <view class="title2-che">执行率
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
</view> -->
</view>
</view>
<!-- <view class="hejibox">
<view class="heji">合计:{{allnum1||0}}</view>
<view class="heji">均值:{{allavg1||0}}</view>
</view> -->
<view class="danwei">单位(%)</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
@@ -149,19 +139,7 @@
<view class="single">
<view class="title">
<view class="title1">场景触达分析</view>
<!-- <view class="title3">
<view class="title3-box">
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view>
</view>
<view class="title3-box">
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view>
</view>
</view> -->
</view>
<!-- <view class="hejibox">
<view class="heji">合计:50</view>
<view class="heji">均值:25</view>
</view> -->
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;"
v-if="newlisttabinfo.length==0">暂无数据</view>
<view v-else class="jindu" style="margin-top: 20rpx;">
@@ -206,9 +184,7 @@
</view>
</view>
</scroll-view>

</view>

</view>

<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
@@ -216,10 +192,6 @@
:default-value='selindex'></u-select>
<u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)"
:default-value='selindex'></u-select>




<!-- 加载组件 -->
<loading v-model="LOADING"></loading>
</view>
@@ -227,7 +199,6 @@

<script>
var app = getApp();
// var util = require("../../../utils/util.js");
var config = require("../../../config");
import loading from "@/components/loading/index.vue"
export default {
@@ -355,7 +326,6 @@
Groupcontrastisshow: false,
allechar: [],
allList: [],

lineOpts: {
yAxis: {
data: [{
@@ -507,7 +477,7 @@
})
.then(res => {
res.sumDuration = Math.floor(res.sumDuration / 60) || 0
res.fraction = (res.fraction || 0) + '%'
res.fraction = (res.fraction>100?100:(res.fraction||0)) + '%'
this.numlist.map(item => {
item.num = res[item.setName]
})
@@ -671,7 +641,7 @@
this.allList[index].children.map(item => {
arr.push({
name: item.name,
zxl: item.zxl
zxl: item.zxl>100?100:item.zxl
})
})
this.newlisttabinfo1 = arr


+ 13
- 4
pages/center/Piabodata/requireminingAnalysis.vue View File

@@ -91,7 +91,7 @@
<view class="ranking1" v-else>{{i+1}}</view>
</view>
<view class="u-line-1">{{item.name}}({{item.selected}})</view>
<view>{{item.fraction}}%</view>
<view>{{max100(item.fraction)}}%</view>
<view @click="Toview(item,i)">查看</view>
</view>
</view>
@@ -263,6 +263,15 @@
this.getdata()
},
methods: {
max100(num) {
if(num>100){
return 100
} else if(!num){
return 0;
}else{
return num;
}
},
getdata(){
// 需求挖掘分析-简报
this.wordMiningAnalyze()
@@ -366,9 +375,9 @@
}
this.$u.post("/cusLvStatistics/wordMiningAnalyze",params).then(res => {
// console.log(res.contrast)
res.contrast.wordFraction = (res.contrast.wordFraction || 0) + '%'
res.first.wordFraction = (res.first.wordFraction || 0) + '%'
res.end.wordFraction = (res.end.wordFraction || 0) + '%'
res.contrast.wordFraction = (res.contrast.wordFraction||0) + '%'
res.first.wordFraction = this.max100(res.first.wordFraction) + '%'
res.end.wordFraction = this.max100(res.end.wordFraction) + '%'
this.numlist.forEach(item => {
item.duibinum = res.contrast[item.setName]
item.endnum = res.end[item.setName]


+ 12
- 7
pages/center/consumer/consumerDetail.vue View File

@@ -17,7 +17,7 @@
<view class="right">
<view class="test"
>销讲执行:<text class="blue"
>{{ customerInfo.fraction || 0 }}%</text
>{{ max100(customerInfo.fraction)}}%</text
></view
>
</view>
@@ -35,7 +35,7 @@
</view>
<view class="content-sec-lab">
<view class="content-sec-lab1"
>需求挖掘:{{ customerInfo.wordFraction || 0 }}%</view
>挖掘执行:{{ max100(customerInfo.wordFraction)}}%</view
>
<view class="content-sec-lab1" @click.stop="tipupon" style="width: 44%"
>画像标签:<text class="look">{{
@@ -105,10 +105,6 @@
<view class="name">{{item.agentName || '--'}}</view>
<view class="status" v-if="item.replaceReception==1">代接待</view>
</view>
<!-- <view class="right">
<view class="point"></view>
<view class="">优秀案例</view>
</view> -->
</view>

<view class="content-sec">
@@ -116,7 +112,7 @@
<view class="cus" style="line-height: 46rpx;">客户:{{item.name || '--'}} |</view>
<view style="line-height: 46rpx;" class="arriveNum">{{item.visitRecord || '0'}}次到访</view>
</view>
<view class="right">{{item.fraction || '0'}}%</view>
<view class="right">{{max100(item.fraction)}}%</view>
</view>

<view class="content-last">{{item.createTime}} | {{item.mm || 0}}min</view>
@@ -371,6 +367,15 @@
this.tabtimetap(0)
},
methods: {
max100(num) {
if(num>100){
return 100
} else if(!num){
return 0;
}else{
return num;
}
},
changeshowlevel1(item,type){
console.log(item)
item.show = !item.show


+ 11
- 2
pages/center/consumer/index.vue View File

@@ -101,7 +101,7 @@
<view class="right">
<view class="test"
>销讲执行:<text class="blue"
>{{ item.fraction || 0 }}%</text
>{{ max100(item.fraction)}}%</text
></view
>
</view>
@@ -119,7 +119,7 @@
</view>
<view class="content-sec-lab">
<view class="content-sec-lab1"
>需求挖掘:{{ item.wordFraction || 0 }}%</view
>挖掘执行:{{ max100(item.wordFraction) }}%</view
>
<view class="content-sec-lab1" style="width: 44%"
>画像标签:<text style="font-weight: 600">{{
@@ -818,6 +818,15 @@ export default {
},
methods: {
max100(num) {
if(num>100){
return 100
} else if(!num){
return 0;
}else{
return num;
}
},
// 获取客户来源
getFromSource() {
this.$u.get(config.service.sourceList, {


+ 13
- 7
pages/index/index.vue View File

@@ -112,11 +112,11 @@
<view class="realtext">平均接待时长</view>
</view>
<view class="real" @click="tapjumpreception(checkParams('auth'))">
<view class="realnum">{{realtimeobj.fraction || 0}}%</view>
<view class="realnum">{{max100(realtimeobj.fraction)}}%</view>
<view class="realtext">平均执行率</view>
</view>
<view class="real" @click="tapjumpreception(checkParams('6'))">
<view class="realnum">{{realtimeobj.wordFraction || 0}}%</view>
<view class="realnum">{{max100(realtimeobj.wordFraction)}}%</view>
<view class="realtext">平均挖掘率</view>
</view>
<view class="real">
@@ -150,7 +150,7 @@
<view class="realtext">有效接待</view>
</view>
<view class="real" @click="tapjumpreception(checkParams('333'))">
<view class="realnum">{{Thisweekobj.fraction>100?100:(Thisweekobj.fraction||0)}}%</view>
<view class="realnum">{{max100(Thisweekobj.fraction)}}%</view>
<view class="realtext">平均执行率</view>
</view>
</view>
@@ -160,7 +160,7 @@
<view class="realtext">平均接待时长</view>
</view>
<view class="real" @click="tapjumpreception(checkParams('333'))">
<view class="realnum">{{Thisweekobj.wordFraction || 0}}%</view>
<view class="realnum">{{max100(Thisweekobj.wordFraction)}}%</view>
<view class="realtext">平均挖掘率</view>
</view>
<view class="real" @click="prohibitedtap(2)" v-if="methodsisshow==true">
@@ -216,7 +216,6 @@

<script>
var config = require("../../config");
var util = require("../../utils/util.js");
import tabbarList from '@/utils/tabbar.js'
import uParse from '../../components/gaoyia-parse/parse.vue'
import loading from "@/components/loading/index.vue"
@@ -284,7 +283,6 @@
};
},


computed: {
// 是否是普强小程序
showMenu() {
@@ -353,7 +351,6 @@

onPullDownRefresh() {
this.getMenu()

this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6 || this.userInfo.dataCode == 3) {
this.methodsisshow = false;
@@ -391,6 +388,15 @@
}, 3000)
},
methods: {
max100(num) {
if(num>100){
return 100
} else if(!num){
return 0;
}else{
return num;
}
},
towajue() {
uni.navigateTo({
url: "/pages/center/Piabodata/requireminingAnalysis"


+ 54
- 8
pages/mine/details2.vue View File

@@ -72,8 +72,17 @@
style="font-size: 24rpx;text-align: center;margin-left: 14rpx;">修改角色
</view>
</view>
<!-- ----------新加标签标识------------ -->
<view class="newmark">
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 -->
<image v-if="(dealTypes(item.types))[0]==1" class="markicon" src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png"></image>
<image v-if="(dealTypes(item.types))[0]==2" class="markicon" src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png"></image>
<image v-if="(dealTypes(item.types))[0]==3" class="markicon" src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"></image>
<image v-if="(dealTypes(item.types))[0]==4" class="markicon" src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png"></image>
<view class="marktext" v-if="(dealTypes(item.types))[0]!=0">{{(dealTypes(item.types))[1]}}</view>
</view>
</view>
<image v-if="!refined" @click="clickbofang(dialog.backindex,item)" class="play"
<image v-if="!refined" @click="clickbofang(dialog.backindex,item)" class="play"
src="../../static/images/recordingManagement/play.png"></image>
</view>
</view>
@@ -562,6 +571,7 @@

data() {
return {
icon:2,
customStyle: {
'width': '320rpx',
'font-size': '34rpx',
@@ -687,6 +697,7 @@
return this.getTime(e);
}
},
},
onLoad(options) {
this.LOADING = true
@@ -769,6 +780,15 @@
},

methods: {
dealTypes(type){
if(type){
let tem = type.split('-')
console.log(tem);
return tem
}else{
return [0,'']
}
},
clickWajue(item){
if(item.selected==0){
this.Pinspeak = false
@@ -1467,7 +1487,7 @@
})
},
//搜索跳转
adasdasdasd(e) {
toSearch(e) {
this.stepPlay(e)
},
//下一页
@@ -1942,8 +1962,10 @@
this.newluyinList = jsonInfo;
console.log(this.newluyinList)
this.dialogList.push(jsonInfo[this.textindex]);
console.log('this.dialogList')
console.log(this.dialogList)
var itc = parseInt(info.bg / 1000)
this.adasdasdasd(itc)
this.toSearch(itc)
},

fail: () => {
@@ -2642,9 +2664,6 @@
}
}
}



}


@@ -2716,6 +2735,7 @@
.scroll-Y .text .contentInfo .contentMain {
display: flex;
align-items: center;
}

.scroll-Y .text .contentInfo .contentMain .content {
@@ -2725,10 +2745,37 @@
padding: 0 5px;
border-radius: 8upx;
max-width: 442rpx;
min-width: 120rpx;
background: #F6F6F6;
color: #999999;
position: relative;

.newmark{
z-index: 1000;
position: absolute;
bottom: -50rpx;
left: 0;
display: flex;
font-size: 30rpx;
align-items: center;
min-width: 180rpx;
.markicon {
width: 36rpx;
height: 36rpx;
margin-right: 12rpx;
}
.marktext{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #3E50E8;
padding: 0 16rpx;
text-align: center;
height: 36rpx;
line-height: 36rpx;
border-radius: 4rpx;
border: 1rpx solid #3E50E8;
}
}
.tankuangcss {
position: absolute;
top: -140rpx;
@@ -2745,7 +2792,6 @@
border-radius: 15rpx;
z-index: 1000;
}

.bottoms {
top: unset;
bottom: -140rpx;


Loading…
Cancel
Save