|
|
@@ -11,68 +11,67 @@
|
|
|
</div>
|
|
|
<div class="button-list">
|
|
|
<router-link to="/audience" class="card-button">
|
|
|
- <div class="el-icon-user button-icon"></div>
|
|
|
+ <div class="el-icon-user button-icon" />
|
|
|
<div class="info-box">
|
|
|
<div class="text">已预约观众</div>
|
|
|
- <div class="value">{{currentExpo.form_count || 0}}</div>
|
|
|
+ <div class="value">{{ currentExpo.form_count || 0 }}</div>
|
|
|
</div>
|
|
|
</router-link>
|
|
|
- <router-link to="/invitation" class="card-button">
|
|
|
- <div class="el-icon-key button-icon"></div>
|
|
|
+ <router-link to="/invitation/send" class="card-button">
|
|
|
+ <div class="el-icon-key button-icon" />
|
|
|
<div class="info-box">
|
|
|
<div class="text">待审邀请函</div>
|
|
|
- <div class="value">4</div>
|
|
|
+ <div class="value">{{ wait_receive }}</div>
|
|
|
</div>
|
|
|
</router-link>
|
|
|
<router-link to="/exhibitor" class="card-button">
|
|
|
- <div class="el-icon-date button-icon"></div>
|
|
|
+ <div class="el-icon-date button-icon" />
|
|
|
<div class="info-box">
|
|
|
<div class="text">进行中展会</div>
|
|
|
- <div class="value">{{currentExpoList.length}}</div>
|
|
|
+ <div class="value">{{ currentExpoList.length }}</div>
|
|
|
</div>
|
|
|
</router-link>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form">
|
|
|
- <div class="form-inner" id="form">
|
|
|
- </div>
|
|
|
+ <div id="form" class="form-inner" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="card-box card">
|
|
|
<router-link to="/preRegister" class="card-item">
|
|
|
- <div class="el-icon-tickets card-icon"></div>
|
|
|
+ <div class="el-icon-tickets card-icon" />
|
|
|
<div class="card-info">
|
|
|
<div class="title">预登记表单</div>
|
|
|
<div class="describe">准备展会报名表</div>
|
|
|
</div>
|
|
|
- <div class="goto-icon el-icon-top-right"></div>
|
|
|
+ <div class="goto-icon el-icon-top-right" />
|
|
|
</router-link>
|
|
|
<router-link to="/invitation" class="card-item">
|
|
|
- <div class="el-icon-files card-icon"></div>
|
|
|
+ <div class="el-icon-files card-icon" />
|
|
|
<div class="card-info">
|
|
|
<div class="title">邀请函模板</div>
|
|
|
<div class="describe">准备邀请函以便发送</div>
|
|
|
</div>
|
|
|
- <div class="goto-icon el-icon-top-right"></div>
|
|
|
+ <div class="goto-icon el-icon-top-right" />
|
|
|
</router-link>
|
|
|
<router-link to="share&utm" class="card-item">
|
|
|
- <div class="el-icon-data-line card-icon"></div>
|
|
|
+ <div class="el-icon-data-line card-icon" />
|
|
|
<div class="card-info">
|
|
|
<div class="title">分享中心</div>
|
|
|
<div class="describe">制作海报、分享展会</div>
|
|
|
</div>
|
|
|
- <div class="goto-icon el-icon-top-right"></div>
|
|
|
+ <div class="goto-icon el-icon-top-right" />
|
|
|
</router-link>
|
|
|
</div>
|
|
|
<div class="starter-box card">
|
|
|
- <div class="icon el-icon-position"></div>
|
|
|
+ <div class="icon el-icon-position" />
|
|
|
<div class="title">创建展会</div>
|
|
|
- <div class="desc">十分钟创建一个展会<br/>通过表单系统收集与管理观众信息</div>
|
|
|
+ <div class="desc">十分钟创建一个展会<br>通过表单系统收集与管理观众信息</div>
|
|
|
</div>
|
|
|
<div class="invitation-box card">
|
|
|
- <div class="icon el-icon-notebook-2"></div>
|
|
|
+ <div class="icon el-icon-notebook-2" />
|
|
|
<div class="title">创建邀请函</div>
|
|
|
- <div class="desc">十分钟创建一个邀请函<br/>集成表单系统快速填充信息并发送</div>
|
|
|
+ <div class="desc">十分钟创建一个邀请函<br>集成表单系统快速填充信息并发送</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -83,35 +82,18 @@
|
|
|
import echartsTheme from '@/lib/echart/v5.json'
|
|
|
import * as echarts from 'echarts'
|
|
|
import { getExpoList } from '@/api/expo'
|
|
|
+import { getAudienceList } from '@/api/form'
|
|
|
export default {
|
|
|
name: 'Dashboard',
|
|
|
data() {
|
|
|
return {
|
|
|
currentExpo: {},
|
|
|
- currentExpoList: []
|
|
|
- }
|
|
|
- },
|
|
|
- computed: {
|
|
|
- user() { return this.$store.state.user.user }
|
|
|
- },
|
|
|
- mounted() {
|
|
|
- this.init()
|
|
|
- this.initForm()
|
|
|
- },
|
|
|
- methods: {
|
|
|
- initForm() {
|
|
|
- echarts.registerTheme('blueTheme', echartsTheme)
|
|
|
- const dom = document.getElementById('form')
|
|
|
- const form = echarts.init(dom,'blueTheme',{
|
|
|
- renderer: 'canvas',
|
|
|
- width: dom.offsetWidth,
|
|
|
- height: dom.offsetHeight
|
|
|
- })
|
|
|
- form.setOption({
|
|
|
+ currentExpoList: [],
|
|
|
+ formData: {
|
|
|
xAxis: {
|
|
|
type: 'category',
|
|
|
boundaryGap: false,
|
|
|
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
|
|
+ data: ['Sun']
|
|
|
},
|
|
|
yAxis: {
|
|
|
type: 'value'
|
|
|
@@ -124,30 +106,78 @@ export default {
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- data: [200, 932, 901, 934, 1290, 1330, 1320],
|
|
|
+ data: [1320],
|
|
|
type: 'line',
|
|
|
smooth: true,
|
|
|
areaStyle: {}
|
|
|
}
|
|
|
]
|
|
|
+ },
|
|
|
+ wait_receive: 0
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ user() { return this.$store.state.user.user }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.init()
|
|
|
+ // this.initForm()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ initForm() {
|
|
|
+ echarts.registerTheme('blueTheme', echartsTheme)
|
|
|
+ const dom = document.getElementById('form')
|
|
|
+ const form = echarts.init(dom, 'blueTheme', {
|
|
|
+ renderer: 'canvas',
|
|
|
+ width: dom.offsetWidth,
|
|
|
+ height: dom.offsetHeight
|
|
|
})
|
|
|
+ form.setOption(this.formData)
|
|
|
},
|
|
|
init() {
|
|
|
getExpoList(1, 20).then(res => {
|
|
|
const expoList = res.data.data
|
|
|
for (const item of expoList) {
|
|
|
if (item.status === 0 && this.getEndDay(item.end_date) >= 0) {
|
|
|
+ console.log(this.getEndDay(item.end_date))
|
|
|
this.currentExpoList.push(item)
|
|
|
}
|
|
|
}
|
|
|
- this.currentExpo = this.currentExpoList.length > 0 ? expoList[0] : false
|
|
|
- }).catch(err => {
|
|
|
- this.$notify({
|
|
|
- title: '提示',
|
|
|
- message: '获取展会列表失败'+err,
|
|
|
- type: 'error'
|
|
|
- })
|
|
|
+ this.currentExpo = (this.currentExpoList.length > 0) ? this.currentExpoList[0] : false
|
|
|
+ return getAudienceList(1, 100, '', 0, this.currentExpo.id, 1)
|
|
|
})
|
|
|
+ .then(res => {
|
|
|
+ this.wait_receive = res.data.total
|
|
|
+ return getAudienceList(1, 100, '', 0, this.currentExpo.id, '')
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ const data = new Map()
|
|
|
+ let length = 0
|
|
|
+ res.data.data.forEach(item => {
|
|
|
+ console.log(item)
|
|
|
+ const itemDate = new Date(item.create_time).getMonth() + 1 + '月' + new Date(item.create_time).getDate() + '日'
|
|
|
+ if (length < 7) {
|
|
|
+ if (data.has(itemDate)) {
|
|
|
+ data.set(itemDate, data.get(itemDate) + 1)
|
|
|
+ } else {
|
|
|
+ length += 1
|
|
|
+ data.set(itemDate, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ const reversedMap = new Map([...data].reverse())
|
|
|
+ this.formData.xAxis.data = Array.from(reversedMap.keys())
|
|
|
+ this.formData.series[0].data = Array.from(reversedMap.values())
|
|
|
+ console.log(data)
|
|
|
+ this.initForm()
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ this.$notify({
|
|
|
+ title: '提示',
|
|
|
+ message: '获取展会列表失败' + err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
},
|
|
|
getEndDay(date) {
|
|
|
const endTime = new Date(date)
|