zx 3 years ago
parent 42f77d9b32
commit 0f71d72c2e

@ -28,9 +28,9 @@ export default function multiColumnsOption(dx=[], dValue=[], dName=[]) {
xAxis: {
type: 'category',
data: dx,
axisLabel: {
interval: 0,
}
// axisLabel: {
// interval: 0,
// }
},
yAxis: {
type: 'value'

@ -100,7 +100,7 @@
display: flex;
}
.bs-tab-sv-item {
width: 20%;
/* width: 20%; */
height: 100rpx;
text-align: center;
display: inline-block;
@ -112,5 +112,6 @@
}
.bs-tab-title{
font-size: 27rpx;
margin: 0 0rpx 0 24rpx;
}

@ -13,8 +13,8 @@
</view>
<view class="evtw-item">
<view class="evtw-area-title">
<view style="width: 45%;">热门词云</view>
<view style="width: 55%;">
<view style="width: 50%;">热门词云</view>
<view style="width: 46%;">
<van-tabs type="card" active="{{ wordCloudActive }}" color="#BBBBBB" bind:change="changeWordCloud">
<van-tab title="正面"></van-tab>
<van-tab title="负面"></van-tab>

@ -84,9 +84,9 @@
margin-top: 12rpx;
}
.evtw-area-title {
width: 100%;
width: 95%;
font-size: 18px;
padding-left: 32rpx;
/* padding-left: 32rpx; */
font-weight: 600;
color: #333333;
display: flex;

@ -26,6 +26,7 @@ Component({
wordCloudActive: 0,
wordCloudData: [],
eventTransActive: 0,
affActive: 0,
},
methods: {
getData() {
@ -46,27 +47,7 @@ Component({
};
this.setData({ transRankList: arr });
});
app.globalData.request({
action: 'getAffectionsTime', //调性分布态势
token: 't%2BrswgjvzGM=',
sType: 'HotEvent',
sTimeType: wx.getStorageSync('sTimeType') || 34,
sStartTime: wx.getStorageSync('sStartTime') || '',
sEndTime: wx.getStorageSync('sEndTime') || '',
sRele: wx.getStorageSync('sRele') || '',
}).then(res => {
let dx = []; let dAff = ['正面','中性','负面'];
let dValue = [[],[],[]];
res.forEach(ele => {
dx.push(ele.Time)
for(let i=0;i<ele.Data.length;i++) {
dValue[i].push(ele.Data[i])
}
});
this.setData({
affTransform: brokenLine(dAff,dValue,dColor,dx)
})
});
this.getAff();
app.globalData.request({
action: 'getEventSpreadProcess0528', //事件传播历程
token: 't%2BrswgjvzGM=',
@ -105,8 +86,6 @@ Component({
token: 't%2BrswgjvzGM=',
sType: 'HotEvent',
sTimeType: this.data.eventTransActive == 0 ? '34' : '20',
// sStartTime: wx.getStorageSync('sStartTime') || '',
// sEndTime: wx.getStorageSync('sEndTime') || '',
sRele: wx.getStorageSync('sRele') || '',
}).then(res => {
let dx = [];
@ -122,6 +101,27 @@ Component({
})
});
},
getAff() {
app.globalData.request({
action: 'getAffectionsTime', //调性分布态势
token: 't%2BrswgjvzGM=',
sType: 'HotEvent',
sTimeType: this.data.affActive == 0 ? '34' : '20',
sRele: wx.getStorageSync('sRele') || '',
}).then(res => {
let dx = []; let dAff = ['正面','中性','负面'];
let dValue = [[],[],[]];
res.forEach(ele => {
dx.push(ele.Time)
for(let i=0;i<ele.Data.length;i++) {
dValue[i].push(ele.Data[i])
}
});
this.setData({
affTransform: brokenLine(dAff,dValue,dColor,dx)
})
});
},
getWordCloud() {
app.globalData.request({
action: this.data.wordCloudActive == 0?'getHotWord':this.data.wordCloudActive == 1?'getPositive':'getNegative', //热门词云 正面词云 负面词云
@ -147,6 +147,10 @@ Component({
changeEventTransActive(event) {
this.setData({eventTransActive: event.detail.index});
this.getEventTrans()
},
changeAffActive(event) {
this.setData({affActive: event.detail.index});
this.getAff()
}
},
lifetimes: {

@ -1,9 +1,9 @@
<view class="evt-content">
<view class="evt-item">
<!-- <view class="evt-chart-title">事件传播态势</view> -->
<view class="evw-area-title">
<view style="width: 50%;">事件传播态势</view>
<view style="width: 50%;">
<view class="evt-chart-title">
<view style="width: 45%;">事件传播态势</view>
<view style="width: 55%;">
<van-tabs type="card" active="{{ eventTransActive }}" color="#BBBBBB" bind:change="changeEventTransActive">
<van-tab title="按小时"></van-tab>
<van-tab title="按天"></van-tab>
@ -35,7 +35,16 @@
</view>
</view>
<view class="evt-item">
<view class="evt-chart-title">调性分布态势</view>
<!-- <view class="evt-chart-title">调性分布态势</view> -->
<view class="evt-chart-title">
<view style="width: 45%;">调性分布态势</view>
<view style="width: 55%;">
<van-tabs type="card" active="{{ affActive }}" color="#BBBBBB" bind:change="changeAffActive">
<van-tab title="按小时"></van-tab>
<van-tab title="按天"></van-tab>
</van-tabs>
</view>
</view>
<view class="evt-chart-item" style="width: 100%;margin-left: 18rpx;">
<c-echars showChart="{{showChart}}" canvasId="evt-trans" chartId="evt-transLine" chartOption="{{affTransform}}" height="100%"></c-echars>
</view>
@ -61,7 +70,7 @@
</scroll-view>
</view>
<view class="evt-item">
<view class="evw-area-title">
<view class="evt-chart-title">
<view style="width: 40%;">热门词云</view>
<view style="width: 60%;">
<van-tabs type="card" active="{{ wordCloudActive }}" color="#BBBBBB" bind:change="changeWordCloud">

@ -11,10 +11,14 @@
border-radius: 8rpx;
}
.evt-chart-title {
width: 95%;
font-size: 18px;
padding-left: 32rpx;
/* padding-left: 32rpx; */
margin-left: 32rpx;
font-weight: 600;
color: #333333;
display: flex;
justify-content: flex-start;
}
.evt-chart-subTitle {
font-size: 12px;

@ -84,9 +84,10 @@
margin-top: 12rpx;
}
.evw-area-title {
width: 100%;
width: 95%;
font-size: 18px;
padding-left: 32rpx;
/* padding-left: 32rpx; */
margin-left: 32rpx;
font-weight: 600;
color: #333333;
display: flex;

@ -60,7 +60,7 @@
.view-tabs .van-tab--active{
color: #0084FF; /* 字体颜色 */
font-size: 19px;
font-size: 16px;
font-weight: 600;
}
.view-tabs .van-tabs__line {

@ -55,6 +55,8 @@ Component({
'background: rgb(75,203,100)',
'background: rgb(75,214,213)',
],
infoShow1: false,
infoShow2: false,
},
methods: {
getData() {
@ -80,7 +82,8 @@ Component({
sBrand: wx.getStorageSync('sBrand') || '',
sSeriesName: wx.getStorageSync('sSeriesName') || '',
}).then(res => {
let total = res.正面*1 + res.中性*1 + res.负面*1
let total = res.正面*1 + res.中性*1 + res.负面*1;
if(total == 0) {total = 1};
let obj = {
positive: (res.正面/total*100).toFixed(0),
middle: (res.中性/total*100).toFixed(0),
@ -344,6 +347,12 @@ Component({
suChange(event) {
this.setData({suActive: event.detail.index});
this.getSubUserAnalize()
},
info1() {
this.setData({infoShow1: true})
},
info2() {
this.setData({infoShow2: true})
}
},
lifetimes: {

@ -8,9 +8,9 @@
<view style="color: #0084FF;">{{detailData.Count}}</view>
</view>
<view style="width: 15%;text-align: center;">
<view class="ttdt">品牌千人发帖量</view>
<view class="ttdt">车型千人发帖量</view>
<view style="margin-top: 10rpx;">{{detailData.qrCount}}</view>
<view class="ttdt" style="margin-top: 16rpx;">品牌千人评论量</view>
<view class="ttdt" style="margin-top: 16rpx;">车型千人评论量</view>
<view style="margin-top: 10rpx;">{{detailData.replyCount}}</view>
</view>
<view style="width: 15%;margin-left: 36rpx;text-align: center;">
@ -21,10 +21,10 @@
</view>
<view style="width: 15%;margin-left: 36rpx;text-align: center;">
<view class="ttdt">量差</view>
<view>?⃝</view>
<view>{{detailData.Count}}</view>
<view bindtap="info1">?⃝</view>
<view>{{detailData.qrCount - detailData.hyqrCount}}</view>
<view class="ttdt" style="margin-top: 16rpx;">量差</view>
<view>?⃝</view>
<view bindtap="info2">?⃝</view>
<view>{{detailData.replyCountDifference}}</view>
</view>
</view>
@ -239,4 +239,18 @@
<c-echars showChart="{{showChart}}" canvasId="iec-canvas" chartId="iecBar" chartOption="{{idEventChart}}" height="100%"></c-echars>
</view>
</view>
<van-dialog use-slot title="千人发帖量算法" show="{{infoShow1}}">
<view style="margin: 24rpx">
<view>行业千人发帖量=【行业所有车型主贴量×1000÷所有阅读量】÷车型数量</view>
<view>千人发帖量=车型主贴量×1000÷阅读量</view>
<view>千人发帖量量差=品牌千人发帖量-行业千人发帖量</view>
</view>
</van-dialog>
<van-dialog use-slot title="千人评论量算法" show="{{infoShow2}}">
<view style="margin: 24rpx">
<view>行业千人评论量=【行业所有车型评论量×1000÷所有阅读量】÷车型数量</view>
<view>千人评论量=车型评论量×1000÷阅读量</view>
<view>千人评论量量差=品牌千人评论量-行业千人评论量</view>
</view>
</van-dialog>
</view>

@ -69,12 +69,12 @@ Page({
createReport() {
app.globalData.request({
action: 'getToPptTask',
sType: 'ToBrandPptV6',
sType: 'ToSeriesPptV6',
token: 't%2BrswgjvzGM=',
sTimeType: wx.getStorageSync('sTimeType') || 34,
sStartTime: wx.getStorageSync('sStartTime') || '',
sEndTime: wx.getStorageSync('sEndTime') || '',
sBrand: this.currentBrand,
sBrand: this.data.currentBrand,
sSeriesName: wx.getStorageSync('sSeriesName') || '',
}).then(res => {
wx.showModal({

@ -94,6 +94,7 @@ Component({
sSeriesName: wx.getStorageSync('sSeriesName') || '',
}).then(res => {
let total = res.正面*1 + res.中性*1 + res.负面*1
if(total == 0) { total = 1 }
let obj = {
positive: (res.正面/total*100).toFixed(0),
middle: (res.中性/total*100).toFixed(0),
@ -134,6 +135,7 @@ Component({
res.forEach(ele => {
total = total + ele.value*1
});
if(total == 0) { total = 1 }
let arr = [];
res.forEach(ele => {
let obj = {value: ele.value, name: ele.key, percent: (ele.value*100/total).toFixed(0)};
@ -155,6 +157,7 @@ Component({
res.forEach(ele => {
total = total + ele.value*1
});
if(total == 0) { total = 1 }
let arr = [];
res.forEach(ele => {
let obj = {value: ele.value, name: ele.key, percent: (ele.value*100/total).toFixed(0)};
@ -266,6 +269,7 @@ Component({
for(let key in res.sex) {
sexTotal = sexTotal + res.sex[key]*1;
};
if(sexTotal == 0) {sexTotal = 1}
for(let key in res.sex) {
let obj = {
value: res.sex[key],
@ -278,6 +282,7 @@ Component({
for(let key in res.attestation) {
sexTotal = sexTotal + res.attestation[key]*1;
};
if(sexTotal == 0) {sexTotal = 1}
for(let key in res.attestation) {
let obj = {
value: res.attestation[key],
@ -290,6 +295,7 @@ Component({
for(let key in res.RegionWeiBo) {
sexTotal = sexTotal + res.RegionWeiBo[key]*1;
};
if(sexTotal == 0) {sexTotal = 1}
for(let key in res.RegionWeiBo) {
let obj = {
value: res.RegionWeiBo[key],

@ -15,6 +15,8 @@ Page({
sTitle: '',
sGuid: '',
website: '',
sStartTime: '',
sEndTime: '',
//顶部信息
affData: {}, //Affections, AffectionsMsg, Summarize
affPercent: pieOption(dColor2,[]),
@ -64,7 +66,9 @@ Page({
sQingGan: option.sQingGan,
sTitle: option.sTitle,
sGuid: option.Guid,
website: option.website
website: option.website,
sStartTime: option.sStartTime,
sEndTime: option.sEndTime,
})
},
onShow() {
@ -73,9 +77,9 @@ Page({
getData() {
let obj = {
token: 't%2BrswgjvzGM=',
sTimeType: wx.getStorageSync('sTimeType') || 34,
sStartTime: wx.getStorageSync('sStartTime') || '',
sEndTime: wx.getStorageSync('sEndTime') || '',
sTimeType: 4,
sStartTime: this.data.sStartTime,
sEndTime: this.data.sEndTime,
sQuDao: this.data.sQuDao,
sQingGan: this.data.sQingGan,
sTitle: this.data.sTitle,
@ -234,7 +238,24 @@ Page({
})
},
createReport() {
app.globalData.request({
action: 'getToPptTask',
sType: 'ToZhuTiPptV6',
token: 't%2BrswgjvzGM=',
sTimeType: 4,
sStartTime: this.data.sStartTime,
sEndTime: this.data.sEndTime,
sQuDao: this.data.sQuDao,
sQingGan: this.data.sQingGan,
sTitle: this.data.sTitle,
sGuid: this.data.sGuid,
website: this.data.website,
}).then(res => {
wx.showModal({
title: '数据生成中,请前往”我的“查看生成进度',
showCancel: false
})
});
},
getUserChar() {
let obj = {

@ -169,9 +169,11 @@ Page({
let qingGan = (this.data.sQingGan).join(',') || '-1';
let title = this.data.sTitle;
let website = this.data.website;
let sStartTime = this.data.sStartTime;
let sEndTime= this.data.sEndTime;
wx.navigateTo({
url: '/pages/insight/pages/themeBoard/index'+'?Guid=' + Guid
+'&sQuDao='+quDao+'&sQingGan='+qingGan+'&sTitle='+title+'&website='+website,
+'&sQuDao='+quDao+'&sQingGan='+qingGan+'&sTitle='+title+'&website='+website+'&sStartTime='+sStartTime+'&sEndTime='+sEndTime,
})
},
openReport() {

@ -48,7 +48,14 @@ Component({
pageSize: 100,
sType: this.data.tabActive == 0 ? 'now' : 'former'
}).then(res => {
this.setData({themeData: res})
let data = res;
let nd = new Date().valueOf();
data.forEach(ele => {
if(new Date(ele.EndTime).valueOf() < nd) {
ele.Classify = 1
}
})
this.setData({themeData: data})
});
},
toThemeDataList(event) {

@ -15,7 +15,8 @@
<view data-id='{{item}}' bindtap="toThemeDataList">
<view class="content_text">
<view class="content_time">{{item.AddTime}}</view>
<view class="content_status">{{item.Classify == 0? '进行中':'已完成'}}</view>
<view class="content_status" wx:if="{{item.Classify == 0}}">进行中</view>
<view class="content_status" style="color: #AAAAAA;" wx:else>已完成</view>
</view>
<view class="content_title">{{item.Name}}
</view>

Loading…
Cancel
Save