yyyyeeee 2 years ago
parent f0375e93a1
commit 0a647c866e

@ -8,10 +8,6 @@
<img src="@/assets/ic_renwu_slices/ic_renwu.png" alt="" />
<span style="margin-left: 12px;width: 120px;line-height: 34px">总任务数</span>
</div>
<!-- <div class="top-number-content-tag">
<span class="average" style="padding: 10px">日均</span>
<span class="average-number" style="padding: 10px">15000</span>
</div> -->
</div>
<div class="top-number-total">{{totalData.taskNum || 0}}</div>
</div>
@ -24,10 +20,6 @@
<img src="@/assets/ic_sucai_slices/ic_sucai.png" alt="" />
<span style="margin-left: 12px;width: 120px;line-height: 34px">总素材数</span>
</div>
<!-- <div class="top-number-content-tag">
<span class="average" style="padding: 10px">日均</span>
<span class="average-number" style="padding: 10px">15000</span>
</div> -->
</div>
<div class="top-number-total">{{totalData.referenceNum || 0}}</div>
</div>
@ -40,10 +32,6 @@
<img src="@/assets/ic_xiansuo_slices/ic_xiansuo.png" alt="" />
<span style="margin-left: 12px;width: 120px;line-height: 34px">总线索数</span>
</div>
<!-- <div class="top-number-content-tag">
<span class="average" style="padding: 10px">日均</span>
<span class="average-number" style="padding: 10px">15000</span>
</div> -->
</div>
<div class="top-number-total">{{totalData.customerActionNoteNum || 0}}</div>
</div>
@ -124,16 +112,23 @@
</div>
</div>
<div class="middle-charts" style="margin-top: 24px">
<el-tabs v-model="playNumFormType" @tab-change="statusChange">
<!-- <el-tabs v-model="playNumFormType" @tab-change="statusChange">
<el-tab-pane label="播放" :name="1"></el-tab-pane>
<el-tab-pane label="点赞" :name="2"></el-tab-pane>
<el-tab-pane label="收藏" :name="3"></el-tab-pane>
<el-tab-pane label="评论" :name="4"></el-tab-pane>
<el-tab-pane label="转发" :name="5"></el-tab-pane>
<el-tab-pane label="推荐" :name="6"></el-tab-pane>
</el-tabs>
</el-tabs> -->
<div class="middle-tab">
<el-form :inline="true">
<el-form-item>
<el-radio-group style="margin-left: 12px" @change="changeDateType" v-model="playNumForm.dateCondition" size="default">
<el-radio-button :label="2">本周</el-radio-button>
<el-radio-button :label="3">本月</el-radio-button>
<el-radio-button :label="4">全年</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="用户">
<el-select clearable v-model="playNumForm.userId" @change="statusChange">
<el-option v-for="(item) in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
@ -144,13 +139,6 @@
<el-option v-for="(item) in taskList" :key="item.id" :label="item.title" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-radio-group style="margin-left: 12px" @change="changeDateType" v-model="playNumForm.dateCondition" size="default">
<el-radio-button :label="2">本周</el-radio-button>
<el-radio-button :label="3">本月</el-radio-button>
<el-radio-button :label="4">全年</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-date-picker style="margin-left: 12px" value-format="YYYY-MM-DD HH:mm:ss" type="daterange" v-model="selTime" @change="dateRangeChange"></el-date-picker>
</el-form-item>
@ -177,6 +165,7 @@
<el-radio-button :label="2">本周</el-radio-button>
<el-radio-button :label="3">本月</el-radio-button>
<el-radio-button :label="4">全年</el-radio-button>
<el-radio-button :label="null">全部</el-radio-button>
</el-radio-group>
<!-- <el-button size="default" @click="changeRankDateType(2)" text>本周</el-button>
<el-button size="default" @click="changeRankDateType(3)" text>本月</el-button>
@ -208,7 +197,7 @@
<script>
import * as echarts from "echarts";
import {defineComponent, reactive, ref, getCurrentInstance} from 'vue'
import {defineComponent, reactive, ref, getCurrentInstance, shallowRef} from 'vue'
export default defineComponent({
name: 'v-home',
setup() {
@ -227,7 +216,7 @@ export default defineComponent({
const totalData = ref({});
const tableData = ref([]);
const selTime = ref([]);
const myChart = ref();
const myChart = shallowRef(null); //使shallowReftooltip
const userList = ref([]);
const taskList = ref([]);
const { proxy } = getCurrentInstance();
@ -266,7 +255,7 @@ export default defineComponent({
}).catch(() => {});
},
getTotal() {
this.proxy.$post("/statistics/data1", {}).then(res => {
this.proxy.$post("/statistics/data1", this.playNumForm).then(res => {
if(res.code == 200) {
this.totalData = res.data
} else {
@ -295,53 +284,76 @@ export default defineComponent({
}
this.myChart = echarts.init(document.getElementById('chartItem'));
this.proxy.$post("/statistics/data2", this.playNumForm).then(res => {
let dx = []; let dy = [];
res.data.forEach(ele => {
dx.push(ele.dat);
if(this.playNumFormType == 1) {
dy.push(ele.playNumSum)
} else if(this.playNumFormType == 2) {
dy.push(ele.commendNumSum)
} else if(this.playNumFormType == 3) {
dy.push(ele.collectionNumSum)
} else if(this.playNumFormType == 4) {
dy.push(ele.commentNumSum)
} else if(this.playNumFormType == 5) {
dy.push(ele.reSendNumSum)
} else if(this.playNumFormType == 6) {
dy.push(ele.recommendNumSum)
};
let data = res.data;
let dx = []; let playNumSum = [];let commendNumSum = [];
let collectionNumSum = []; let commentNumSum = []; let reSendNumSum = []; let recommendNumSum = [];
data.forEach(ele => {
dx.push(ele.dat)
for(let key in ele) {
switch(key) {
case 'playNumSum':
playNumSum.push(ele[key]);
break;
case 'commendNumSum':
commendNumSum.push(ele[key]);
break;
case 'collectionNumSum':
collectionNumSum.push(ele[key]);
break;
case 'commentNumSum':
commentNumSum.push(ele[key]);
break;
case 'reSendNumSum':
reSendNumSum.push(ele[key]);
break;
case 'recommendNumSum':
recommendNumSum.push(ele[key]);
break;
}
}
});
this.setOption(dx,dy);
let ds = [
{name: '播放',type: 'line', stack: 'total', data: playNumSum},
{name: '点赞',type: 'line', stack: 'total', data: commendNumSum},
{name: '收藏',type: 'line', stack: 'total', data: collectionNumSum},
{name: '评论',type: 'line', stack: 'total', data: commentNumSum},
{name: '转发',type: 'line', stack: 'total', data: reSendNumSum},
{name: '推荐',type: 'line', stack: 'total', data: recommendNumSum},
]
// res.data.forEach(ele => {
// dx.push(ele.dat);
// if(this.playNumFormType == 1) {
// dy.push(ele.playNumSum)
// } else if(this.playNumFormType == 2) {
// dy.push(ele.commendNumSum)
// } else if(this.playNumFormType == 3) {
// dy.push(ele.collectionNumSum)
// } else if(this.playNumFormType == 4) {
// dy.push(ele.commentNumSum)
// } else if(this.playNumFormType == 5) {
// dy.push(ele.reSendNumSum)
// } else if(this.playNumFormType == 6) {
// dy.push(ele.recommendNumSum)
// };
// });
this.setOption(dx,ds);
}).catch(() => {});
},
setOption(dx, dy) {
setOption(dx, ds) {
//type 123456date 1234
let option = {
xAxis: [{ data: dx }],
xAxis: { data: dx ,type: 'category'},
yAxis: [{
type: 'value'
}],
legend: {
data: ['播放','点赞','收藏','评论','转发','推荐']
},
tooltip: {
trigger: 'axis',
axisPointer: { type: 'shadow' }
},
grid: { containLabel: true },
series: [
{
type: 'bar',
data: dy,
barWidth: 20,
itemStyle: {
color: 'rgb(61,147,253)',
},
label: {
show: true,
position: 'top',
textStyle: { fontSize: 12 }
}
}
]
series: ds
};
this.myChart.setOption(option);
},
@ -357,9 +369,7 @@ export default defineComponent({
},
toExcel() {
let date = new Date()
this.proxy.$download("/statistics/excel2", this.playNumForm, '播放量趋势'+date.toLocaleString()+'.xlsx').then(res => {
console.log(res);
}).catch(() => {});
this.proxy.$download("/statistics/excel2", this.playNumForm, '播放量趋势'+date.toLocaleString()+'.xlsx')
}
}
})

@ -96,6 +96,7 @@
.chart-item {
width: 100%;
height: calc(115%);
pointer-events: auto;
}
.chart-title {
font-size: 20px;

@ -20,6 +20,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="时间范围">
<el-date-picker size="default" value-format="YYYY-MM-DD HH:mm:ss" type="daterange" v-model="selTime" @change="dateRangeChange"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="confirm"> </el-button>
<el-button @click="reset"> </el-button>
@ -49,6 +52,7 @@
</el-tag>
</template>
</el-table-column>
<el-table-column prop="creatAt" label="添加时间" width="240"></el-table-column>
</el-table>
<el-pagination
v-model:currentPage="pagination.current"
@ -74,7 +78,10 @@ export default defineComponent({
brand: undefined,
providerName: undefined,
departmentId: undefined,
beginTime: '',
endTime: '',
});
const selTime = ref([]);
const tableData = reactive({
data: [],
});
@ -86,7 +93,7 @@ export default defineComponent({
const departmentList = ref([]);
const { proxy } = getCurrentInstance();
return {
form,proxy,departmentList,
form,proxy,departmentList,selTime,
tableData,pagination,
statusFormatter
}
@ -133,10 +140,19 @@ export default defineComponent({
this.form.brand = undefined;
this.form.providerName = undefined;
this.form.departmentId = undefined;
this.form.beginTime = '';
this.form.endTime = '';
this.selTime = [];
this.getData();
},
goEdit(value) {
},
dateRangeChange(value) {
if(value) {
this.form.beginTime = value[0] || '',
this.form.endTime = value[1] || ''
}
},
//
singleDel(id) {

@ -43,18 +43,18 @@
</el-link>
</template>
</el-table-column>
<el-table-column prop="effectResult" label="传播值" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="playNum" label="播放数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="commendNum" label="点赞数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="collectionNum" label="收藏数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="commentNum" label="评论数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="reSendNum" label="转发数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="recommendNum" label="推荐数" width="120" v-if="form.status == 2"></el-table-column>
<el-table-column prop="effectResult" label="传播值" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="playNum" label="播放数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="commendNum" label="点赞数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="collectionNum" label="收藏数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="commentNum" label="评论数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="reSendNum" label="转发数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="recommendNum" label="推荐数" width="120" v-if="form.status == 1 || form.status == 2"></el-table-column>
<el-table-column prop="creatAt" label="提交时间" width="280"></el-table-column>
<el-table-column prop="reason" label="未通过原因" width="300" v-if="form.status == 3"></el-table-column>
<el-table-column prop="action" v-if="form.status == 1" label="操作" fixed="right" width="260">
<template #default="scope">
<el-link @click="review(scope.row.id,scope.row.type)" type="primary" style="margin-right: 8px">审核</el-link>
<el-link @click="review(scope.row)" type="primary" style="margin-right: 8px">审核</el-link>
</template>
</el-table-column>
</el-table>
@ -94,7 +94,7 @@
<el-input-number @change="getTransVal" v-model="reviewForm.recommendNum"></el-input-number>
</el-form-item>
<el-form-item v-if="reviewForm.status == 2" label="传播值" style="width: 50%">
{{transformValue}}
{{transformValue.effectResult}}
</el-form-item>
<el-form-item type="textarea" v-if="reviewForm.status == 3" label="拒绝理由">
<!-- <el-input v-model="reviewForm.reason"></el-input> -->
@ -229,10 +229,18 @@ export default defineComponent({
}).catch(() => {})
},
//
review(value,type) {
review(value) {
this.getApi();
this.reviewVisible = true;
this.platformType = type;
this.reviewForm.id = value;
this.platformType = value.type;
this.reviewForm.id = value.id;
this.reviewForm.playNum = value.playNum;
this.reviewForm.commendNum = value.commendNum;
this.reviewForm.collectionNum = value.collectionNum;
this.reviewForm.commentNum = value.commentNum;
this.reviewForm.reSendNum = value.reSendNum;
this.reviewForm.recommendNum = value.recommendNum;
this.getTransVal();
},
reviewConfirm() {
this.proxy.$post("/video/valid", this.reviewForm).then(res => {

Loading…
Cancel
Save