|
@@ -79,6 +79,17 @@
|
|
|
<el-radio-button label="quarter">季度</el-radio-button>
|
|
<el-radio-button label="quarter">季度</el-radio-button>
|
|
|
<el-radio-button label="month">月</el-radio-button>
|
|
<el-radio-button label="month">月</el-radio-button>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
|
|
+ <el-radio-group
|
|
|
|
|
+ v-show="!editFlag && (item.i == 20006 || item.i == 20007)"
|
|
|
|
|
+ v-model="item.searchType"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ @change="refresh(item, index)">
|
|
|
|
|
+ <el-radio-button label="1">一季度</el-radio-button>
|
|
|
|
|
+ <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="0">全年</el-radio-button>
|
|
|
|
|
+ </el-radio-group>
|
|
|
<el-button v-show="!editFlag" type="text" @click="refresh(item, index)">刷新</el-button>
|
|
<el-button v-show="!editFlag" type="text" @click="refresh(item, index)">刷新</el-button>
|
|
|
<vab-icon v-show="editFlag" icon="close-fill" @click="gridDel(index)" />
|
|
<vab-icon v-show="editFlag" icon="close-fill" @click="gridDel(index)" />
|
|
|
</div>
|
|
</div>
|
|
@@ -356,7 +367,7 @@
|
|
|
type: item.report_type,
|
|
type: item.report_type,
|
|
|
h: item.size_h,
|
|
h: item.size_h,
|
|
|
w: item.size_w,
|
|
w: item.size_w,
|
|
|
- searchType: 'year',
|
|
|
|
|
|
|
+ searchType: item.id != 20006 && item.id != 20007 ? 'year' : '0',
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
@@ -369,13 +380,21 @@
|
|
|
this.charts = []
|
|
this.charts = []
|
|
|
for (let i = 0; i < this.layout.length; i++) {
|
|
for (let i = 0; i < this.layout.length; i++) {
|
|
|
this.getChartSize(this.layout[i].i)
|
|
this.getChartSize(this.layout[i].i)
|
|
|
- this.drawChart(this.layout[i].i, i)
|
|
|
|
|
|
|
+ if (this.layout[i].i == 20006 || this.layout[i].i == 20007) {
|
|
|
|
|
+ this.drawGoalChart(this.layout[i].i, i)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.drawChart(this.layout[i].i, i)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//刷新
|
|
//刷新
|
|
|
refresh(item, index) {
|
|
refresh(item, index) {
|
|
|
this.charts[index].dispose()
|
|
this.charts[index].dispose()
|
|
|
- this.drawChart(item.i, index, item.searchType)
|
|
|
|
|
|
|
+ if (item.i == 20006 || item.i == 20007) {
|
|
|
|
|
+ this.drawGoalChart(item.i, index, item.searchType)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.drawChart(item.i, index, item.searchType)
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
getChartSize(id) {
|
|
getChartSize(id) {
|
|
|
// console.log(id, 'id')
|
|
// console.log(id, 'id')
|
|
@@ -454,6 +473,62 @@
|
|
|
chartBar.setOption(option)
|
|
chartBar.setOption(option)
|
|
|
this.charts[i] = chartBar
|
|
this.charts[i] = chartBar
|
|
|
},
|
|
},
|
|
|
|
|
+ async drawGoalChart(id, i, searchType) {
|
|
|
|
|
+ const chartBar = echarts.init(document.getElementById(id))
|
|
|
|
|
+ const [err, res] = await to(
|
|
|
|
|
+ indexApi.getHomeDataReportData({
|
|
|
|
|
+ id,
|
|
|
|
|
+ Params: {
|
|
|
|
|
+ year: new Date().getFullYear(),
|
|
|
|
|
+ quarter: parseInt(searchType),
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+ )
|
|
|
|
|
+ if (err) return
|
|
|
|
|
+ console.log(res.data.data)
|
|
|
|
|
+ const option = {
|
|
|
|
|
+ grid: {
|
|
|
|
|
+ bottom: 30,
|
|
|
|
|
+ top: 40,
|
|
|
|
|
+ right: 10,
|
|
|
|
|
+ left: 10,
|
|
|
|
|
+ containLabel: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ tooltip: {
|
|
|
|
|
+ trigger: 'axis',
|
|
|
|
|
+ },
|
|
|
|
|
+ xAxis: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'category',
|
|
|
|
|
+ data: res.data.data.xData,
|
|
|
|
|
+ axisTick: {
|
|
|
|
|
+ alignWithLabel: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ yAxis: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'value',
|
|
|
|
|
+ name: '金额(万元)',
|
|
|
|
|
+ alignTicks: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ series: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: id == 20006 ? '销售指标' : '回款指标',
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: res.data.data.yDataTarget,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: id == 20006 ? '销售额度' : '回款额度',
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: res.data.data.yDataReal,
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ }
|
|
|
|
|
+ chartBar.setOption(option)
|
|
|
|
|
+ this.charts[i] = chartBar
|
|
|
|
|
+ },
|
|
|
initFunnel() {
|
|
initFunnel() {
|
|
|
this.chartFunnel = echarts.init(document.getElementById('funnel'))
|
|
this.chartFunnel = echarts.init(document.getElementById('funnel'))
|
|
|
const option = {
|
|
const option = {
|