|
@@ -23,8 +23,8 @@
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="header"> 7日内需要交付订单 </div>
|
|
<div class="header"> 7日内需要交付订单 </div>
|
|
|
<div class="content">
|
|
<div class="content">
|
|
|
- <p><span>订单数</span><span>3/10</span></p>
|
|
|
|
|
- <p><span>产品量</span><span>558/1860</span></p>
|
|
|
|
|
|
|
+ <p><span>订单数</span><span>{{ orderCount7.formedOrders + '/' + orderCount7.orders }}</span></p>
|
|
|
|
|
+ <p><span>产品量</span><span>{{ orderCount7.formedNum + '/' + orderCount7.productNum }}</span></p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -32,8 +32,8 @@
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="header"> 本月需要完成订单 </div>
|
|
<div class="header"> 本月需要完成订单 </div>
|
|
|
<div class="content">
|
|
<div class="content">
|
|
|
- <p><span>订单数</span><span>3/10</span></p>
|
|
|
|
|
- <p><span>产品量</span><span>558/1860</span></p>
|
|
|
|
|
|
|
+ <p><span>订单数</span><span>{{ orderCount30.formedOrders + '/' + orderCount30.orders }}</span></p>
|
|
|
|
|
+ <p><span>产品量</span><span>{{ orderCount30.formedNum + '/' + orderCount30.productNum }}</span></p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -69,6 +69,9 @@
|
|
|
|
|
|
|
|
<ele-pro-table ref="table" height="calc(100%)" :columns="columns" :datasource="datasource"
|
|
<ele-pro-table ref="table" height="calc(100%)" :columns="columns" :datasource="datasource"
|
|
|
:needPage="false" :toolbar="false">
|
|
:needPage="false" :toolbar="false">
|
|
|
|
|
+ <template v-slot="">
|
|
|
|
|
+
|
|
|
|
|
+ </template>
|
|
|
</ele-pro-table>
|
|
</ele-pro-table>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -96,6 +99,7 @@ import {
|
|
|
import { getList } from '@/api/workOrder/index'
|
|
import { getList } from '@/api/workOrder/index'
|
|
|
import VChart from 'vue-echarts';
|
|
import VChart from 'vue-echarts';
|
|
|
import { echartsMixin } from '@/utils/echarts-mixin';
|
|
import { echartsMixin } from '@/utils/echarts-mixin';
|
|
|
|
|
+import { getOrderCount, deliveryCompletionRate } from '@/api/home/index'
|
|
|
// 按需加载 echarts
|
|
// 按需加载 echarts
|
|
|
use([
|
|
use([
|
|
|
CanvasRenderer,
|
|
CanvasRenderer,
|
|
@@ -148,11 +152,25 @@ export default {
|
|
|
form: {
|
|
form: {
|
|
|
finishTime: '',
|
|
finishTime: '',
|
|
|
timeType: '1'
|
|
timeType: '1'
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ orderCount7: {}, // 7天内订单情况
|
|
|
|
|
+ orderCount30: {}, // 30天内订单情况
|
|
|
|
|
+ orderCountYear: [], // 年度订单情况
|
|
|
|
|
+ date: [], //日期
|
|
|
|
|
+ productNum: [], //任务量
|
|
|
|
|
+ completeNum: [], //完成量
|
|
|
|
|
+ completionRate: [],//达成率
|
|
|
|
|
+ deliveryRate: [],//交付率
|
|
|
|
|
+ orders: [],//应完成订单
|
|
|
|
|
+ formedOrders: [],//已完成订单数
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- created() { },
|
|
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.getOrderCount(0);
|
|
|
|
|
+ this.getOrderCount(7);
|
|
|
|
|
+ this.getYearRate();
|
|
|
|
|
+ },
|
|
|
mounted() {
|
|
mounted() {
|
|
|
this.pieOption = pieOption([
|
|
this.pieOption = pieOption([
|
|
|
{ value: 60, name: '人员异常' },
|
|
{ value: 60, name: '人员异常' },
|
|
@@ -182,7 +200,7 @@ export default {
|
|
|
{
|
|
{
|
|
|
name: '任务量',
|
|
name: '任务量',
|
|
|
barWidth: '25%',
|
|
barWidth: '25%',
|
|
|
- data: [50, 78, 88, 76, 75, 91, 50, 78, 88, 76, 75, 91],
|
|
|
|
|
|
|
+ data: this.productNum,
|
|
|
type: 'bar',
|
|
type: 'bar',
|
|
|
yAxisIndex: 0, // 使用第一个Y轴
|
|
yAxisIndex: 0, // 使用第一个Y轴
|
|
|
itemStyle: {
|
|
itemStyle: {
|
|
@@ -192,7 +210,7 @@ export default {
|
|
|
{
|
|
{
|
|
|
name: '完成量',
|
|
name: '完成量',
|
|
|
barWidth: '25%',
|
|
barWidth: '25%',
|
|
|
- data: [50, 78, 88, 76, 75, 91, 50, 78, 88, 76, 75, 91],
|
|
|
|
|
|
|
+ data: this.completeNum,
|
|
|
type: 'bar',
|
|
type: 'bar',
|
|
|
yAxisIndex: 0, // 使用第一个Y轴
|
|
yAxisIndex: 0, // 使用第一个Y轴
|
|
|
itemStyle: {
|
|
itemStyle: {
|
|
@@ -202,7 +220,7 @@ export default {
|
|
|
{
|
|
{
|
|
|
name: '达成率',
|
|
name: '达成率',
|
|
|
symbolSize: 10,
|
|
symbolSize: 10,
|
|
|
- data: [50, 78, 88, 76, 75, 91, 50, 78, 88, 76, 75, 91],
|
|
|
|
|
|
|
+ data: this.completionRate,
|
|
|
type: 'line',
|
|
type: 'line',
|
|
|
smooth: true,
|
|
smooth: true,
|
|
|
yAxisIndex: 1, // 使用第一个Y轴
|
|
yAxisIndex: 1, // 使用第一个Y轴
|
|
@@ -231,21 +249,21 @@ export default {
|
|
|
{
|
|
{
|
|
|
name: '应完成订单',
|
|
name: '应完成订单',
|
|
|
barWidth: '25%',
|
|
barWidth: '25%',
|
|
|
- data: [50, 78, 88, 76, 75, 91, 78, 87, 81, 67, 95, 73],
|
|
|
|
|
|
|
+ data: this.orders,
|
|
|
type: 'bar',
|
|
type: 'bar',
|
|
|
yAxisIndex: 0 // 使用第一个Y轴
|
|
yAxisIndex: 0 // 使用第一个Y轴
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: '实际完成订单',
|
|
name: '实际完成订单',
|
|
|
barWidth: '25%',
|
|
barWidth: '25%',
|
|
|
- data: [50, 78, 88, 76, 75, 91, 78, 87, 81, 67, 95, 73],
|
|
|
|
|
|
|
+ data: this.formedOrders,
|
|
|
type: 'bar',
|
|
type: 'bar',
|
|
|
yAxisIndex: 0 // 使用第一个Y轴
|
|
yAxisIndex: 0 // 使用第一个Y轴
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: '准时交付率',
|
|
name: '准时交付率',
|
|
|
symbolSize: 10,
|
|
symbolSize: 10,
|
|
|
- data: [50, 78, 88, 76, 75, 91, 78, 87, 81, 67, 95, 73],
|
|
|
|
|
|
|
+ data: this.deliveryRate,
|
|
|
type: 'line',
|
|
type: 'line',
|
|
|
smooth: true,
|
|
smooth: true,
|
|
|
yAxisIndex: 1, // 使用第一个Y轴
|
|
yAxisIndex: 1, // 使用第一个Y轴
|
|
@@ -274,6 +292,40 @@ export default {
|
|
|
pageNum: page,
|
|
pageNum: page,
|
|
|
size: limit
|
|
size: limit
|
|
|
});
|
|
});
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //获取订单统计
|
|
|
|
|
+ async getOrderCount(days) {
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ days: days,
|
|
|
|
|
+ factoriesId: 0
|
|
|
|
|
+ };
|
|
|
|
|
+ let rest = await getOrderCount(params);
|
|
|
|
|
+ if (days === 7) {
|
|
|
|
|
+ this.orderCount7 = rest;
|
|
|
|
|
+ } else if (days === 0) {
|
|
|
|
|
+ this.orderCount30 = rest;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //年度准时交付率&完成率
|
|
|
|
|
+ async getYearRate() {
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ startDate: new Date().getFullYear() + '-01-01',
|
|
|
|
|
+ endDate: new Date().getFullYear() + '-12-31',
|
|
|
|
|
+ factoriesId: 0
|
|
|
|
|
+ }
|
|
|
|
|
+ let rest = await deliveryCompletionRate(params);
|
|
|
|
|
+ console.log(rest)
|
|
|
|
|
+ for (let i = 0; i < rest.length; i++) {
|
|
|
|
|
+ this.date.push(rest[i].deliveryRateDate);
|
|
|
|
|
+ this.productNum.push(rest[i].productNum);
|
|
|
|
|
+ this.completeNum.push(rest[i].formedNum);
|
|
|
|
|
+ this.completionRate.push(rest[i].completionRate);
|
|
|
|
|
+ this.deliveryRate.push(rest[i].deliveryRate);
|
|
|
|
|
+ this.orders.push(rest[i].orders);
|
|
|
|
|
+ this.formedOrders.push(rest[i].formedOrders);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|