项目进度统计
This commit is contained in:
@@ -5,8 +5,8 @@ export function search1() {
|
|||||||
url: '',
|
url: '',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
type: '1',
|
type: '3',
|
||||||
name: '合同信息管理_项目名称_总_查询'
|
name: `select SUM(开票金额) as 开票金额,replace(convert(varchar(5), 操作时间, 121),'-','') as 开票时间 from 合同信息管理_开票记录_视图 group by replace(convert(varchar(5), 操作时间, 121),'-','')`
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@ export function search3() {
|
|||||||
method: 'post',
|
method: 'post',
|
||||||
data: {
|
data: {
|
||||||
type: '3',
|
type: '3',
|
||||||
name: `select 项目名称,sum(已收金额) as 已收金额,SUM(应收金额) as 应收金额 from 视图_分批资金查询 where 是否启用= 1 group by 项目流水号,项目名称`
|
name: `select 项目名称,CONVERT(nvarchar(50),sum(已收金额)) as 已收金额,CONVERT(nvarchar(50),sum(应收金额)) as 应收金额,CONVERT(nvarchar(50),(sum(应收金额)-sum(已收金额))) as 待收金额 from 视图_分批资金查询 where 是否启用= 1 group by 项目流水号,项目名称`
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-card v-loading="loading1" style="height: 450px">
|
<el-card v-loading="loading1" style="height: 450px">
|
||||||
<span>项目完成进度查询</span>
|
<span>年营销金额图表</span>
|
||||||
<el-button size="small" type="success" icon="el-icon-search" @click="search1()">查询</el-button>
|
<el-button size="small" type="success" icon="el-icon-search" @click="search1()">查询</el-button>
|
||||||
<div id="myChart1" :style="{width: '100%', height: '400px', margin: 'auto'}"/>
|
<div id="myChart1" :style="{width: '100%', height: '400px', margin: 'auto'}"/>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -19,18 +19,11 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-card v-loading="loading3" style="height: 450px">
|
<el-card v-loading="loading3" style="height: 450px">
|
||||||
<span>年营销金额图表</span>
|
<span>在执行项目金额及回款</span>
|
||||||
<el-button size="small" type="success" icon="el-icon-search" @click="search3()">查询</el-button>
|
<el-button size="small" type="success" icon="el-icon-search" @click="search3()">查询</el-button>
|
||||||
<div id="myChart3" :style="{width: '100%', height: '400px', margin: 'auto'}"/>
|
<div id="myChart3" :style="{width: '100%', height: '400px', margin: 'auto'}"/>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
|
||||||
<el-card v-loading="loading4" style="height: 450px">
|
|
||||||
<span>在执行项目金额及回款</span>
|
|
||||||
<el-button size="small" type="success" icon="el-icon-search" @click="search4()">查询</el-button>
|
|
||||||
<div id="myChart4" :style="{width: '100%', height: '400px', margin: 'auto'}"/>
|
|
||||||
</el-card>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -63,8 +56,8 @@ export default {
|
|||||||
var dataX = []
|
var dataX = []
|
||||||
var lineData = []
|
var lineData = []
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
dataX.push(data[i].项目名称)
|
dataX.push(data[i].开票时间)
|
||||||
lineData.push((Math.random() * 100).toFixed(2))
|
lineData.push(data[i].开票金额)
|
||||||
}
|
}
|
||||||
var myChart1 = echarts.init(document.getElementById('myChart1'))
|
var myChart1 = echarts.init(document.getElementById('myChart1'))
|
||||||
myChart1.clear()
|
myChart1.clear()
|
||||||
@@ -80,21 +73,24 @@ export default {
|
|||||||
containLabel: true
|
containLabel: true
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis'
|
trigger: 'axis',
|
||||||
|
axisPointer: {
|
||||||
|
type: 'shadow'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
type: 'category',
|
||||||
name: '项目名称',
|
name: '年份',
|
||||||
axisLabel: {
|
// axisLabel: {
|
||||||
interval: 0,
|
// interval: 0,
|
||||||
rotate: 40,
|
// rotate: 40,
|
||||||
margin: 10
|
// margin: 10
|
||||||
},
|
// },
|
||||||
data: dataX
|
data: dataX
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '完成进度(%)',
|
name: '金额',
|
||||||
min: 0,
|
min: 0,
|
||||||
scale: 'true'
|
scale: 'true'
|
||||||
},
|
},
|
||||||
@@ -180,69 +176,23 @@ export default {
|
|||||||
drawLine3(data) {
|
drawLine3(data) {
|
||||||
var dataX = []
|
var dataX = []
|
||||||
var lineData = []
|
var lineData = []
|
||||||
|
var lineData2 = []
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
dataX.push({
|
dataX.push(data[i].项目名称)
|
||||||
value: parseInt(data[i].客户数量),
|
lineData.push(data[i].已收金额)
|
||||||
name: data[i].省份
|
lineData2.push(data[i].待收金额)
|
||||||
})
|
|
||||||
lineData.push(data[i].省份)
|
|
||||||
}
|
}
|
||||||
var myChart3 = echarts.init(document.getElementById('myChart3'))
|
var myChart3 = echarts.init(document.getElementById('myChart3'))
|
||||||
myChart3.clear()
|
myChart3.clear()
|
||||||
myChart3.setOption({
|
myChart3.setOption({
|
||||||
title: {
|
|
||||||
text: '客户分布图',
|
|
||||||
x: 'center'
|
|
||||||
},
|
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'item',
|
trigger: 'axis',
|
||||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
axisPointer: {
|
||||||
|
type: 'shadow'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
orient: 'vertical',
|
data: ['已收金额', '待收金额']
|
||||||
left: 'left',
|
|
||||||
data: lineData
|
|
||||||
},
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: '省份',
|
|
||||||
type: 'pie',
|
|
||||||
radius: '55%',
|
|
||||||
center: ['50%', '60%'],
|
|
||||||
data: dataX,
|
|
||||||
itemStyle: {
|
|
||||||
emphasis: {
|
|
||||||
shadowBlur: 10,
|
|
||||||
shadowOffsetX: 0,
|
|
||||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
},
|
|
||||||
search4() {
|
|
||||||
this.loading1 = true
|
|
||||||
var myChart1 = echarts.init(document.getElementById('myChart1'))
|
|
||||||
myChart1.clear()
|
|
||||||
search1().then(response => {
|
|
||||||
this.loading1 = false
|
|
||||||
this.drawLine1(response.data)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
drawLine4(data) {
|
|
||||||
var dataX = []
|
|
||||||
var lineData = []
|
|
||||||
for (let i = 0; i < data.length; i++) {
|
|
||||||
dataX.push(data[i].项目名称)
|
|
||||||
lineData.push((Math.random() * 100).toFixed(2))
|
|
||||||
}
|
|
||||||
var myChart1 = echarts.init(document.getElementById('myChart1'))
|
|
||||||
myChart1.clear()
|
|
||||||
myChart1.setOption({
|
|
||||||
title: {
|
|
||||||
left: 'center',
|
|
||||||
text: '直方图'
|
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '3%',
|
left: '3%',
|
||||||
@@ -250,36 +200,44 @@ export default {
|
|||||||
bottom: '3%',
|
bottom: '3%',
|
||||||
containLabel: true
|
containLabel: true
|
||||||
},
|
},
|
||||||
tooltip: {
|
|
||||||
trigger: 'axis'
|
|
||||||
},
|
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
type: 'category',
|
||||||
name: '项目名称',
|
data: dataX,
|
||||||
axisLabel: {
|
axisLabel: {
|
||||||
interval: 0,
|
interval: 0,
|
||||||
rotate: 40,
|
rotate: 40,
|
||||||
margin: 10
|
margin: 10
|
||||||
},
|
}
|
||||||
data: dataX
|
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value'
|
||||||
name: '完成进度(%)',
|
|
||||||
min: 0,
|
|
||||||
scale: 'true'
|
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: '测量值',
|
name: '已收金额',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: lineData,
|
stack: '总量',
|
||||||
|
color: '#67C23A',
|
||||||
|
label: {
|
||||||
|
normal: {
|
||||||
|
show: true,
|
||||||
|
position: 'inside'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data: lineData
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '待收金额',
|
||||||
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
|
color: 'rgb(213,58,53)',
|
||||||
label: {
|
label: {
|
||||||
normal: {
|
normal: {
|
||||||
show: true,
|
show: true,
|
||||||
position: 'top'
|
position: 'top'
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
data: lineData2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user