供应链首页接口对接

This commit is contained in:
zzyuan 2025-07-29 15:58:34 +08:00
parent 3d5003c927
commit dbbfb5f13c
2 changed files with 591 additions and 737 deletions

View File

@ -12,8 +12,6 @@ export function getIndexDataApi(data) {
}) })
} }
// 实时查询供应商评分-排名 // 实时查询供应商评分-排名
export function supplierScorePageApi(data) { export function supplierScorePageApi(data) {
return request({ return request({
@ -31,6 +29,3 @@ export function supplierScorePageApi(data) {

View File

@ -69,12 +69,6 @@
<script> <script>
import PanelGroup from './dashboard/PanelGroup' import PanelGroup from './dashboard/PanelGroup'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { getDataScreeningModelApi,
getCanteenOrdersAndSalesTrendsApi,
getSupermarketOrderAndSalesTrendApi,
getThisMonthSDishSalesRankingApi,
getProportionOfOrderTypesApi
} from "@/api/index";
import { import {
getIndexDataApi, getIndexDataApi,
supplierScorePageApi supplierScorePageApi
@ -136,6 +130,7 @@ export default {
"lastDate": "2025-05-15" "lastDate": "2025-05-15"
} }
], ],
allChartData:{},
type1:1, type1:1,
type2:1, type2:1,
type3:1, type3:1,
@ -149,13 +144,7 @@ export default {
} }
}, },
mounted(){ mounted(){
this.getTopData() this.getChartData()
this.InitEChartsOne()
this.InitEChartsTwo()
this.InitEChartsThree()
this.InitEChartsFour()
this.InitEChartsFive()
this.InitEChartsSix()
window.addEventListener('transitionend', this.$_sidebarResizeHandler) window.addEventListener('transitionend', this.$_sidebarResizeHandler)
}, },
methods: { methods: {
@ -173,75 +162,72 @@ export default {
} }
}, },
handleTabClick(){ handleTabClick(){
console.log(this.activeName) this.getChartData()
this.getTopData()
}, },
getTopData(){ getChartData(){
getIndexDataApi({type:this.activeName}).then((response) => { getIndexDataApi({type:this.activeName}).then((response) => {
if(response.code==200){
this.allChartData = response.data;
this.topAreaOptions = [ this.topAreaOptions = [
{ {
"num": response.data.totalOrderAmount.thisNum, "num": response.data.totalOrderAmount.thisNum||0,
"rate": response.data.totalOrderAmount.percent+'', "rate": response.data.totalOrderAmount.percent+'',
"name": "采购订单总额(元)" "name": "采购订单总额(元)"
},{ },{
"num": response.data.totalOrderNum.thisNum, "num": response.data.totalOrderNum.thisNum||0,
"rate": response.data.totalOrderNum.percent+'', "rate": response.data.totalOrderNum.percent+'',
"name": "采购订单数量(个)" "name": "采购订单数量(个)"
}, },
{ {
"num": response.data.unFinshOrderNum.thisNum, "num": response.data.unFinshOrderNum.thisNum||0,
"rate": response.data.unFinshOrderNum.percent+'', "rate": response.data.unFinshOrderNum.percent+'',
"name": "未验收完成采购订单数(个)" "name": "未验收完成采购订单数(个)"
}, },
{ {
"num": response.data.totalOrderGoodsNum.thisNum, "num": response.data.totalOrderGoodsNum.thisNum||0,
"rate": response.data.totalOrderGoodsNum.percent+'', "rate": response.data.totalOrderGoodsNum.percent+'',
"name": "采购订单货品总数" "name": "采购订单货品总数"
}, },
{ {
"num": response.data.storeNum.thisNum, "num": response.data.storeNum.thisNum||0,
"rate": response.data.storeNum.percent+'', "rate": response.data.storeNum.percent+'',
"name": "入库货品数量" "name": "入库货品数量"
}, },
{ {
"num": response.data.outboundNum.thisNum, "num": response.data.outboundNum.thisNum||0,
"rate": response.data.outboundNum.percent+'', "rate": response.data.outboundNum.percent+'',
"name": "出库货品数量" "name": "出库货品数量"
}, },
{ {
"num": response.data.storeAmount.thisNum, "num": response.data.storeAmount.thisNum||0,
"rate": response.data.storeAmount.percent+'', "rate": response.data.storeAmount.percent+'',
"name": "入库总金额(元)" "name": "入库总金额(元)"
}, },
{ {
"num": response.data.outboundAmount.thisNum, "num": response.data.outboundAmount.thisNum||0,
"rate": response.data.outboundAmount.percent+'', "rate": response.data.outboundAmount.percent+'',
"name": "出库总金额(元)" "name": "出库总金额(元)"
} }
]; ];
this.InitEChartsOne()
this.InitEChartsTwo()
this.InitEChartsThree()
this.InitEChartsFour()
this.InitEChartsFive()
this.InitEChartsSix()
}else{
this.$modal.msgError("获取图表数据失败!");
}
}); });
}, },
InitEChartsOne() { InitEChartsOne() {
let chartData=[] let chartData=this.allChartData.orderSupplier;
// let weekDate=["","","","","","",""]
let weekDate=[]
let monthDate = []
let xDate = [] let xDate = []
let salesData = [] let salesData = []
let orderData = []
getCanteenOrdersAndSalesTrendsApi({type:this.type1}).then((response) => {
chartData = response.data;
chartData.forEach((item,index)=>{ chartData.forEach((item,index)=>{
weekDate.push(item.weekday) xDate.push(item.name)
monthDate.push(item.orderDate) salesData.push(item.count)
salesData.push(item.salesValue)
orderData.push(item.orderValue)
}) })
if(this.type1==1){
xDate= weekDate
}else{
xDate = monthDate
}
var option = { var option = {
// title: { // title: {
// text: "", // text: "",
@ -249,11 +235,11 @@ export default {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
}, },
legend: { // legend: {
data: ["销售额", "订单量"], // data: ["", ""],
icon:"rect", // icon:"rect",
bottom: "0%", // bottom: "0%",
}, // },
grid: { grid: {
left: "5%", left: "5%",
right: "5%", right: "5%",
@ -268,136 +254,22 @@ export default {
type: "category", type: "category",
boundaryGap: false, boundaryGap: false,
data: xDate, data: xDate,
axisLabel: {
formatter: function (value, index) {
value = value.length > 5 ? value.slice(0, 5) + '...' : value
return value;
},
},
}, },
], ],
yAxis: { yAxis: {
name: "销售额/订单量", name: "订单量",
type: "value", type: "value",
}, },
series: [ series: [
{
name: "销售额",
type: "line",
areaStyle: {
normal: {
type: "default",
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(79, 167, 255, 1)",
},
{
offset: 1,
color: "rgba(79, 167, 255, 1)",
},
],
false
),
},
},
smooth: true,
itemStyle: {
normal: { areaStyle: { type: "default" } },
},
data: salesData,
},
{ {
name: "订单量", name: "订单量",
type: "line", type: "line",
areaStyle: {
normal: {
type: "default",
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(92, 255, 214, 1)",
},
{
offset: 1,
color: "rgba(92, 255, 214, 1)",
},
],
false
),
},
},
smooth: true,
itemStyle: { normal: { areaStyle: { type: "default" } } },
data: orderData,
},
],
};
this.myCharts1 = echarts.init(document.querySelector('#lineChartOne'));
this.myCharts1.setOption(option)
});
},
InitEChartsTwo() {
let chartData=[]
// let weekDate=["","","","","","",""]
let weekDate=[]
let monthDate = []
let xDate = []
let salesData = []
let orderData = []
getSupermarketOrderAndSalesTrendApi({type:this.type2}).then((response) => {
chartData = response.data;
chartData.forEach((item,index)=>{
weekDate.push(item.weekday)
monthDate.push(item.orderDate)
salesData.push(item.salesValue)
orderData.push(item.orderValue)
})
if(this.type2==1){
xDate= weekDate
}else{
xDate = monthDate
}
var option = {
// title: {
// text: "",
// },
tooltip: {
trigger: "axis",
},
legend: {
data: ["销售额", "订单量"],
icon:"rect",
bottom: "0%",
},
grid: {
left: "5%",
right: "5%",
top: "20%",
bottom: "10%",
containLabel: true,
},
color: ["#4FA7FF", "#58F5CE"],
calculable: true,
xAxis: [
{
type: "category",
boundaryGap: false,
data: xDate,
},
],
yAxis: {
name: "销售额/订单量",
type: "value",
},
series: [
{
name: "销售额",
type: "line",
areaStyle: { areaStyle: {
normal: { normal: {
type: "default", type: "default",
@ -425,7 +297,59 @@ export default {
normal: { areaStyle: { type: "default" } }, normal: { areaStyle: { type: "default" } },
}, },
data: salesData, data: salesData,
}
],
};
this.myCharts1 = echarts.init(document.querySelector('#lineChartOne'));
this.myCharts1.setOption(option)
}, },
InitEChartsTwo() {
let chartData=this.allChartData.orderCanteen;
let xDate = []
let orderData = []
chartData.forEach((item,index)=>{
xDate.push(item.name)
orderData.push(item.count)
})
var option = {
// title: {
// text: "",
// },
tooltip: {
trigger: "axis",
},
// legend: {
// data: ["", ""],
// icon:"rect",
// bottom: "0%",
// },
grid: {
left: "5%",
right: "5%",
top: "20%",
bottom: "10%",
containLabel: true,
},
color: ["#4FA7FF", "#58F5CE"],
calculable: true,
xAxis: [
{
type: "category",
boundaryGap: false,
data: xDate,
axisLabel: {
formatter: function (value, index) {
value = value.length > 5 ? value.slice(0, 5) + '...' : value
return value;
},
},
},
],
yAxis: {
name: "订单量",
type: "value",
},
series: [
{ {
name: "订单量", name: "订单量",
type: "line", type: "line",
@ -459,10 +383,8 @@ export default {
}; };
this.myCharts2 = echarts.init(document.querySelector('#lineChartTwo')); this.myCharts2 = echarts.init(document.querySelector('#lineChartTwo'));
this.myCharts2.setOption(option) this.myCharts2.setOption(option)
});
}, },
changType3(e){ changType3(e){
console.log(this.type3)
this.InitEChartsThree() this.InitEChartsThree()
this.myCharts3.resize(); this.myCharts3.resize();
}, },
@ -470,11 +392,14 @@ export default {
var getName = []; var getName = [];
var getValue = []; var getValue = [];
var chartData=[] var chartData=[]
getThisMonthSDishSalesRankingApi().then((response) => { if(this.type3==1){//
chartData = response.data.slice(0, 10); chartData = this.allChartData.outImsRanking
}else{//
chartData = this.allChartData.intoImsRanking
}
chartData.forEach((item,index)=>{ chartData.forEach((item,index)=>{
getName.push(item.name) getName.push(item.name)
getValue.push(item.num) getValue.push(item.count)
}) })
var max = Math.max.apply(null, getValue); var max = Math.max.apply(null, getValue);
var getMax = []; var getMax = [];
@ -675,65 +600,32 @@ export default {
// window.addEventListener("resize3", function () { // window.addEventListener("resize3", function () {
// myCharts3.resize(); // myCharts3.resize();
// }); // });
});
}, },
InitEChartsFour() { InitEChartsFour() {
var chartData=[] var chartData=this.allChartData.acceptanceProportion
getProportionOfOrderTypesApi({type:this.type3}).then((response) => {
chartData = response.data;
var m2R2Data = [] var m2R2Data = []
var sumNum = 0 var sumNum = 0
chartData.forEach((item,index)=>{ chartData.forEach((item,index)=>{
let obj = {} let obj = {}
sumNum=sumNum+item.num sumNum=sumNum+item.count
if(index==0){ if(index==0){
obj = { obj = {
value: item.num, value: item.count,
legendname: item.name, legendname: item.name,
name: item.name+' '+ item.num, name: item.name+' '+ item.count,
itemStyle: { color: "#5085f2" }, itemStyle: { color: "#5085f2" },
} }
} }
if(index==1){ if(index==1){
obj = { obj = {
value: item.num, value: item.count,
legendname: item.name, legendname: item.name,
name: item.name+' '+ item.num, name: item.name+' '+ item.count,
itemStyle: { color: "#f2719a" },
}
}
if(index==2){
obj = {
value: item.num,
legendname: item.name,
name: item.name+' '+ item.num,
itemStyle: { color: "#fdb301" }, itemStyle: { color: "#fdb301" },
} }
} }
m2R2Data.push(obj) m2R2Data.push(obj)
}) })
// var m2R2Data = [
// {
// value: 310,
// legendname: "02",
// name: "02 310",
// itemStyle: { color: "#5085f2" },
// },
// {
// value: 335,
// legendname: "05",
// name: "05 335",
// itemStyle: { color: "#f2719a" },
// },
// {
// value: 335,
// legendname: "08",
// name: "08 335",
// itemStyle: { color: "#fdb301" },
// }
// ];
var option = { var option = {
title: [ title: [
{ {
@ -812,12 +704,8 @@ export default {
}; };
this.myCharts4 = echarts.init(document.querySelector('#barChartFour')); this.myCharts4 = echarts.init(document.querySelector('#barChartFour'));
this.myCharts4.setOption(option) this.myCharts4.setOption(option)
//
// window.addEventListener("resize4", function () {
// myCharts4.resize();
// });
});
}, },
//-
InitEChartsFive() { InitEChartsFive() {
var getName = []; var getName = [];
var getValue = []; var getValue = [];
@ -1030,66 +918,42 @@ export default {
}); });
}, },
InitEChartsSix() { InitEChartsSix() {
var chartData=[] var chartData=this.allChartData.inventoryProportion
getProportionOfOrderTypesApi({type:this.type3}).then((response) => {
chartData = response.data;
var m2R2Data = [] var m2R2Data = []
var sumNum = 0 var sumNum = 0
chartData.forEach((item,index)=>{ chartData.forEach((item,index)=>{
let obj = {} let obj = {}
sumNum=sumNum+item.num sumNum=sumNum+item.count
if(index==0){ if(index==0){
obj = { obj = {
value: item.num, value: item.count,
legendname: item.name, legendname: item.name,
name: item.name+' '+ item.num, name: item.name+' '+ item.count,
itemStyle: { color: "#5085f2" }, itemStyle: { color: "#5085f2" },
} }
} }
if(index==1){ if(index==1){
obj = { obj = {
value: item.num, value: item.count,
legendname: item.name, legendname: item.name,
name: item.name+' '+ item.num, name: item.name+' '+ item.count,
itemStyle: { color: "#f2719a" }, itemStyle: { color: "#f2719a" },
} }
} }
if(index==2){ if(index==2){
obj = { obj = {
value: item.num, value: item.count,
legendname: item.name, legendname: item.name,
name: item.name+' '+ item.num, name: item.name+' '+ item.count,
itemStyle: { color: "#fdb301" }, itemStyle: { color: "#fdb301" },
} }
} }
m2R2Data.push(obj) m2R2Data.push(obj)
}) })
// var m2R2Data = [
// {
// value: 310,
// legendname: "02",
// name: "02 310",
// itemStyle: { color: "#5085f2" },
// },
// {
// value: 335,
// legendname: "05",
// name: "05 335",
// itemStyle: { color: "#f2719a" },
// },
// {
// value: 335,
// legendname: "08",
// name: "08 335",
// itemStyle: { color: "#fdb301" },
// }
// ];
var option = { var option = {
title: [ title: [
{ {
text: "订单总数", text: "库存总数",
subtext: sumNum + "个", subtext: sumNum + "个",
textStyle: { textStyle: {
fontSize: 20, fontSize: 20,
@ -1164,11 +1028,6 @@ export default {
}; };
this.myCharts6 = echarts.init(document.querySelector('#barChartSix')); this.myCharts6 = echarts.init(document.querySelector('#barChartSix'));
this.myCharts6.setOption(option) this.myCharts6.setOption(option)
//
// window.addEventListener("resize4", function () {
// myCharts4.resize();
// });
});
} }
} }
} }