Commit 4169eb02 authored by 潘自豪's avatar 潘自豪

营业额明细

parent a435bee0
...@@ -21,7 +21,7 @@ export const userLogin = (username, pass, captchaSign, verificationcode, captcha ...@@ -21,7 +21,7 @@ export const userLogin = (username, pass, captchaSign, verificationcode, captcha
}, 'POST'); }, 'POST');
//首页营业额率值 -汇总 //首页营业额率值 -汇总
export const getBusinessConditionDatas = (cur_day) => fetch('/api/query/*/action/get_business_condition_datas', { export const getBusinessConditionDatas = (cur_day) => fetch('/api/query/*/action/get_business_condition_datas', {
aux: { aux: {
cur_day: cur_day cur_day: cur_day
} }
...@@ -30,7 +30,7 @@ export const getBusinessConditionDatas = (cur_day) => fetch('/api/query/*/action ...@@ -30,7 +30,7 @@ export const getBusinessConditionDatas = (cur_day) => fetch('/api/query/*/action
//明细页营业额汇月 -汇总 //明细页营业额汇月 -汇总
export const getBusinessConditionDataByMonth = (cur_day) => fetch('/api/query/*/action/get_business_condition_datas_by_month', { export const getBusinessConditionDataByMonth = (cur_day) => fetch('/api/query/*/action/get_business_condition_datas_by_month', {
aux: { aux: {
cur_day: cur_dayS cur_day: cur_day
} }
}, 'POST'); }, 'POST');
...@@ -53,3 +53,18 @@ export const arMonthlyBar = () => fetch("/api/query/dash_board/action/get_ar_mon ...@@ -53,3 +53,18 @@ export const arMonthlyBar = () => fetch("/api/query/dash_board/action/get_ar_mon
export const arCompanyMonthlyBar = (company) => fetch("/api/query/dash_board/action/get_ar_company_monthly_bar", {aux: {company: company}}, "POST") export const arCompanyMonthlyBar = (company) => fetch("/api/query/dash_board/action/get_ar_company_monthly_bar", {aux: {company: company}}, "POST")
// 开票月份 应收账款(结算单位) // 开票月份 应收账款(结算单位)
export const arMonthlyCompanyBar = (month) => fetch("/api/query/dash_board/action/get_ar_monthly_company_bar", {aux: {month: month}}, "POST") export const arMonthlyCompanyBar = (month) => fetch("/api/query/dash_board/action/get_ar_monthly_company_bar", {aux: {month: month}}, "POST")
//明细页营业额汇月 -汇总
export const getAllTypeBusinessConditionDatas = (cur_day) => fetch('/api/query/*/action/get_all_type_business_condition_datas', {
aux: {
cur_day: cur_day
}
}, 'POST');
//明细页各种运输类型营业额明细
export const getAllTypeBusinessConditionDetailByDay = (cur_day) => fetch('/api/query/*/action/get_all_type_business_condition_detail_by_day', {
aux: {
cur_day: cur_day
}
}, 'POST');
<template> <template>
<div class="turnover-detail"> <div class="turnover-detail">
<div class="card-board"> <div class="card-board">
<contrast-card v-for="data in currentData.head" style="height: 100%;width: 20%;" @click.native="selectLegend(data)"> <contrast-card v-for="(data,key) in currentData.head" style="height: 100%;width: 20%;"
<title-content-mark style="color: #369afa;float: left;width: 40%;font-size: 18px" :title-style="{'font-weight': 'bold'}" :title="data.title" :content="data.amount" isBold/> @click.native="selectLegend(data)">
<div style="width: 60%; height: 100%; float:left; padding: 2% 2% 0 8%; line-height: 60px; display: flex; align-items: center;font-size: 16px;"> <title-content-mark style="color: #369afa;float: left;width: 40%;font-size: 18px"
:title-style="{'font-weight': 'bold'}" :title="key" :content="data.amount" isBold/>
<div
style="width: 60%; height: 100%; float:left; padding: 2% 2% 0 8%; line-height: 60px; display: flex; align-items: center;font-size: 16px;">
<table-column style="float: left;width: 25%;" :data="data.hb" name="title"/> <table-column style="float: left;width: 25%;" :data="data.hb" name="title"/>
<table-column style="float: left;width: 40%;" :data="data.hb" name="amount"/> <table-column style="float: left;width: 40%;" :data="data.hb" name="amount"/>
<table-column style="float: left;width: 35%;" :data="data.hb" name="rate" cell-style-js="var res = {color: '#5eeef4'}; if(data.indexOf('+') !== -1){res.color = '#fee064'} res;"/> <table-column style="float: left;width: 35%;" :data="data.hb" name="rate"
cell-style-js="var res = {color: '#5eeef4'}; if(data.indexOf('+') !== -1){res.color = '#fee064'} res;"/>
</div> </div>
</contrast-card> </contrast-card>
</div> </div>
<div class="menu"> <div class="menu">
<input type="button" :class="{'selectedBtn': currentBtn === 'day'}" value="日统计" @click="changeDimension('day')"> <input type="button" :class="{'selectedBtn': currentBtn === 'day'}" value="日统计"
<input type="button" :class="{'selectedBtn': currentBtn === 'month'}" value="月统计" @click="changeDimension('month')"> @click="changeDimension('day')">
<input type="button" :class="{'selectedBtn': currentBtn === 'year'}" value="年统计" @click="changeDimension('year')"> <input type="button" :class="{'selectedBtn': currentBtn === 'month'}" value="月统计"
@click="changeDimension('month')">
<input type="button" :class="{'selectedBtn': currentBtn === 'year'}" value="年统计"
@click="changeDimension('year')">
</div> </div>
<div class="chart"> <div class="chart">
<div ref="chart" style="width: 100%;height: 100%;" @click=""/> <div ref="chart" style="width: 100%;height: 100%;" @click=""/>
...@@ -26,16 +33,18 @@ import TitleContentMark from "../components/layout/title-content-mark.vue"; ...@@ -26,16 +33,18 @@ import TitleContentMark from "../components/layout/title-content-mark.vue";
import TableColumn from "../components/table/table-column.vue"; import TableColumn from "../components/table/table-column.vue";
import ContrastCard from "../components/card/contrast-card.vue"; import ContrastCard from "../components/card/contrast-card.vue";
import * as echarts from "echarts"; import * as echarts from "echarts";
import {getTrunOverDayDetail} from "./turnoverDetail"
export default { export default {
name:"TurnoverDetail", name: "TurnoverDetail",
components: {ContrastCard, TableColumn, TitleContentMark}, components: {ContrastCard, TableColumn, TitleContentMark},
data() { data() {
return { return {
today: '2023-05-19',
currentData: {}, currentData: {},
mockDataDay:{ mockDataDay: {
head:{ head: {
"营业额":{ "营业额": {
title: "营业额", title: "营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
...@@ -51,7 +60,7 @@ export default { ...@@ -51,7 +60,7 @@ export default {
} }
] ]
}, },
"汽运营业额":{ "汽运营业额": {
title: "汽运营业额", title: "汽运营业额",
amount: "10,000", amount: "10,000",
hb: [ hb: [
...@@ -67,7 +76,7 @@ export default { ...@@ -67,7 +76,7 @@ export default {
} }
] ]
}, },
"水运营业额":{ "水运营业额": {
title: "水运营业额", title: "水运营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
...@@ -83,7 +92,7 @@ export default { ...@@ -83,7 +92,7 @@ export default {
} }
] ]
}, },
"铁运营业额":{ "铁运营业额": {
title: "铁运营业额", title: "铁运营业额",
amount: "303", amount: "303",
hb: [ hb: [
...@@ -100,40 +109,40 @@ export default { ...@@ -100,40 +109,40 @@ export default {
] ]
} }
}, },
detail:[ detail: [
{ date: '2月1日', '汽运(元)': 0, '水运(元)': 747, '铁运(元)': 674 }, {"汽运(元)": 0, "水运(元)": 0, "铁运(元)": 0, "date": "2023-05-06"},
{ date: '2月2日', '汽运(元)': 300, '水运(元)': 786, '铁运(元)': 848 }, {date: '2月2日', '汽运(元)': 300, '水运(元)': 786, '铁运(元)': 848},
{ date: '2月3日', '汽运(元)': 500, '水运(元)': 547, '铁运(元)': 256 }, {date: '2月3日', '汽运(元)': 500, '水运(元)': 547, '铁运(元)': 256},
{ date: '2月4日', '汽运(元)': 100, '水运(元)': 632, '铁运(元)': 677 }, {date: '2月4日', '汽运(元)': 100, '水运(元)': 632, '铁运(元)': 677},
{ date: '2月5日', '汽运(元)': 300, '水运(元)': 167, '铁运(元)': 176 }, {date: '2月5日', '汽运(元)': 300, '水运(元)': 167, '铁运(元)': 176},
{ date: '2月6日', '汽运(元)': 800, '水运(元)': 264, '铁运(元)': 584 }, {date: '2月6日', '汽运(元)': 800, '水运(元)': 264, '铁运(元)': 584},
{ date: '2月7日', '汽运(元)': 100, '水运(元)': 116, '铁运(元)': 110 }, {date: '2月7日', '汽运(元)': 100, '水运(元)': 116, '铁运(元)': 110},
{ date: '2月8日', '汽运(元)': 500, '水运(元)': 527, '铁运(元)': 610 }, {date: '2月8日', '汽运(元)': 500, '水运(元)': 527, '铁运(元)': 610},
{ date: '2月9日', '汽运(元)': 1000, '水运(元)': 277, '铁运(元)': 625 }, {date: '2月9日', '汽运(元)': 1000, '水运(元)': 277, '铁运(元)': 625},
{ date: '2月10日', '汽运(元)': 358, '水运(元)': 854, '铁运(元)': 775 }, {date: '2月10日', '汽运(元)': 358, '水运(元)': 854, '铁运(元)': 775},
{ date: '2月11日', '汽运(元)': 290, '水运(元)': 801, '铁运(元)': 355 }, {date: '2月11日', '汽运(元)': 290, '水运(元)': 801, '铁运(元)': 355},
{ date: '2月12日', '汽运(元)': 239, '水运(元)': 648, '铁运(元)': 837 }, {date: '2月12日', '汽运(元)': 239, '水运(元)': 648, '铁运(元)': 837},
{ date: '2月13日', '汽运(元)': 413, '水运(元)': 375, '铁运(元)': 175 }, {date: '2月13日', '汽运(元)': 413, '水运(元)': 375, '铁运(元)': 175},
{ date: '2月14日', '汽运(元)': 379, '水运(元)': 678, '铁运(元)': 462 }, {date: '2月14日', '汽运(元)': 379, '水运(元)': 678, '铁运(元)': 462},
{ date: '2月15日', '汽运(元)': 470, '水运(元)': 787, '铁运(元)': 707 }, {date: '2月15日', '汽运(元)': 470, '水运(元)': 787, '铁运(元)': 707},
{ date: '2月16日', '汽运(元)': 893, '水运(元)': 507, '铁运(元)': 645 }, {date: '2月16日', '汽运(元)': 893, '水运(元)': 507, '铁运(元)': 645},
{ date: '2月17日', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471 }, {date: '2月17日', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471},
{ date: '2月18日', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615 }, {date: '2月18日', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615},
{ date: '2月19日', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988 }, {date: '2月19日', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988},
{ date: '2月20日', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481 }, {date: '2月20日', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481},
{ date: '2月21日', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716 }, {date: '2月21日', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716},
{ date: '2月22日', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947 }, {date: '2月22日', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947},
{ date: '2月23日', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284 }, {date: '2月23日', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284},
{ date: '2月24日', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408 }, {date: '2月24日', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408},
{ date: '2月25日', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358 }, {date: '2月25日', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358},
{ date: '2月26日', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697 }, {date: '2月26日', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697},
{ date: '2月27日', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532 }, {date: '2月27日', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532},
{ date: '2月28日', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587 }, {date: '2月28日', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587},
] ]
}, },
mockDataMonth:{ mockDataMonth: {
head:{ head: {
"营业额":{ "营业额": {
title: "营业额", title: "营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
...@@ -149,7 +158,7 @@ export default { ...@@ -149,7 +158,7 @@ export default {
} }
] ]
}, },
"汽运营业额":{ "汽运营业额": {
title: "汽运营业额", title: "汽运营业额",
amount: "10,000", amount: "10,000",
hb: [ hb: [
...@@ -165,7 +174,7 @@ export default { ...@@ -165,7 +174,7 @@ export default {
} }
] ]
}, },
"水运营业额":{ "水运营业额": {
title: "水运营业额", title: "水运营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
...@@ -181,7 +190,7 @@ export default { ...@@ -181,7 +190,7 @@ export default {
} }
] ]
}, },
"铁运营业额":{ "铁运营业额": {
title: "铁运营业额", title: "铁运营业额",
amount: "303", amount: "303",
hb: [ hb: [
...@@ -198,77 +207,77 @@ export default { ...@@ -198,77 +207,77 @@ export default {
] ]
} }
}, },
detail:[ detail: [
{ date: '1月', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471 }, {date: '1月', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471},
{ date: '2月', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615 }, {date: '2月', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615},
{ date: '3月', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988 }, {date: '3月', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988},
{ date: '4月', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481 }, {date: '4月', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481},
{ date: '5月', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716 }, {date: '5月', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716},
{ date: '6月', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947 }, {date: '6月', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947},
{ date: '7月', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284 }, {date: '7月', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284},
{ date: '8月', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408 }, {date: '8月', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408},
{ date: '9月', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358 }, {date: '9月', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358},
{ date: '10月', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697 }, {date: '10月', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697},
{ date: '11月', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532 }, {date: '11月', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532},
{ date: '12月', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587 }, {date: '12月', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587},
] ]
}, },
mockDataYear:{ mockDataYear: {
head:{ head: {
"营业额":{ "营业额": {
title: "营业额", title: "营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
{ {
title: "去年", title: "去年",
amount: "21,000", amount: "21,000",
rate: "-3.32%", rate: "-3.32%",
}, },
] ]
}, },
"汽运营业额":{ "汽运营业额": {
title: "汽运营业额", title: "汽运营业额",
amount: "10,000", amount: "10,000",
hb: [ hb: [
{ {
title: "去年", title: "去年",
amount: "11,000", amount: "11,000",
rate: "-10.00%", rate: "-10.00%",
}, },
] ]
}, },
"水运营业额":{ "水运营业额": {
title: "水运营业额", title: "水运营业额",
amount: "20,303", amount: "20,303",
hb: [ hb: [
{ {
title: "去年", title: "去年",
amount: "11,000", amount: "11,000",
rate: "-10.00%", rate: "-10.00%",
}, },
] ]
}, },
"铁运营业额":{ "铁运营业额": {
title: "铁运营业额", title: "铁运营业额",
amount: "303", amount: "303",
hb: [ hb: [
{ {
title: "去年", title: "去年",
amount: "300", amount: "300",
rate: "-1.00%", rate: "-1.00%",
}, },
] ]
} }
}, },
detail:[ detail: [
{ date: '2022年', '汽运(元)': 544, '水运(元)': 674, '铁运(元)': 532 }, {date: '2022年', '汽运(元)': 544, '水运(元)': 674, '铁运(元)': 532},
{ date: '2023年', '汽运(元)': 387, '水运(元)': 273, '铁运(元)': 587 }, {date: '2023年', '汽运(元)': 387, '水运(元)': 273, '铁运(元)': 587},
] ]
}, },
chart: null, chart: null,
currentBtn: "day", currentBtn: "day",
currentLegend: '汽运(元)', currentLegend: '汽运(元)',
chartOption:{ chartOption: {
legend: { legend: {
textStyle: { textStyle: {
color: 'white' color: 'white'
...@@ -295,44 +304,44 @@ export default { ...@@ -295,44 +304,44 @@ export default {
// Declare several bar series, each will be mapped // Declare several bar series, each will be mapped
// to a column of dataset.source by default. // to a column of dataset.source by default.
series: [ series: [
{ {
type: 'bar', type: 'bar',
color: { color: {
type: 'linear', type: 'linear',
x: 0, y: 0, x2: 0, y2: 1, x: 0, y: 0, x2: 0, y2: 1,
colorStops: [ colorStops: [
{offset: 0, color: '#00CCD2'}, {offset: 0, color: '#00CCD2'},
{offset: 1, color: '#00A2FF'} {offset: 1, color: '#00A2FF'}
] ]
},
}, },
{ },
type: 'bar', {
color: { type: 'bar',
type: 'linear', color: {
x: 0, y: 0, x2: 0, y2: 1, type: 'linear',
colorStops: [ x: 0, y: 0, x2: 0, y2: 1,
{offset: 0, color: '#FFFAB7'}, colorStops: [
{offset: 1, color: '#FFF459'} {offset: 0, color: '#FFFAB7'},
] {offset: 1, color: '#FFF459'}
}, ]
}, },
{ },
type: 'bar', {
color: { type: 'bar',
type: 'linear', color: {
x: 0, y: 0, x2: 0, y2: 1, type: 'linear',
colorStops: [ x: 0, y: 0, x2: 0, y2: 1,
{offset: 0, color: '#81FBB8'}, colorStops: [
{offset: 1, color: '#28C76F'} {offset: 0, color: '#81FBB8'},
] {offset: 1, color: '#28C76F'}
}, ]
}, },
{ },
type: 'line', {
color: 'red', type: 'line',
data: [] color: 'red',
} data: []
}
] ]
} }
} }
...@@ -344,7 +353,7 @@ export default { ...@@ -344,7 +353,7 @@ export default {
this.chart.resize(); this.chart.resize();
} }
}, },
changeDimension(dimension){ changeDimension(dimension) {
this.currentBtn = dimension; this.currentBtn = dimension;
switch (dimension) { switch (dimension) {
case 'day': case 'day':
...@@ -363,13 +372,13 @@ export default { ...@@ -363,13 +372,13 @@ export default {
return; return;
} }
}, },
refreshChart(){ refreshChart() {
this.chartOption.dataset.source = this.currentData.detail this.chartOption.dataset.source = this.currentData.detail
if (this.chart){ if (this.chart) {
this.chart.setOption(this.chartOption); this.chart.setOption(this.chartOption);
} }
}, },
selectLegend(data){ selectLegend(data) {
let name; let name;
this.chart.dispatchAction({ this.chart.dispatchAction({
type: 'legendAllSelect' type: 'legendAllSelect'
...@@ -387,9 +396,9 @@ export default { ...@@ -387,9 +396,9 @@ export default {
name = "铁运(元)"; name = "铁运(元)";
break; break;
default: default:
break; break;
} }
if (name){ if (name) {
this.chart.dispatchAction({ this.chart.dispatchAction({
type: 'legendInverseSelect' type: 'legendInverseSelect'
}); });
...@@ -397,57 +406,66 @@ export default { ...@@ -397,57 +406,66 @@ export default {
type: 'legendSelect', type: 'legendSelect',
name: name name: name
}) })
this.chartOption.series[3].encode = {x: 'date',y: name}; this.chartOption.series[3].encode = {x: 'date', y: name};
this.chartOption.series[3].data = undefined; this.chartOption.series[3].data = undefined;
}else { } else {
this.chartOption.series[3].data = []; this.chartOption.series[3].data = [];
} }
this.chart.setOption(this.chartOption); this.chart.setOption(this.chartOption);
}, },
//获取数据
async getDate() {
this.currentData = await getTrunOverDayDetail("yye", this.today)
},
}, },
mounted() { async mounted() {
this.currentData = this.mockDataDay; console.log("mockDataDay:"+JSON.stringify(this.mockDataDay))
await this.getDate();
// this.currentData = this.mockDataDay;
this.refreshChart(); this.refreshChart();
setTimeout(() => { setTimeout(() => {
let chartDom = this.$refs.chart; let chartDom = this.$refs.chart;
this.chart = echarts.init(chartDom); this.chart = echarts.init(chartDom);
this.chart.setOption(this.chartOption); this.chart.setOption(this.chartOption);
window.addEventListener('resize', this.resizeChart); window.addEventListener('resize', this.resizeChart);
}, 500) }, 500);
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("resize", this.resizeChart); window.removeEventListener("resize", this.resizeChart);
}, },
props:{ props: {},
},
} }
</script> </script>
<style scoped> <style scoped>
.turnover-detail{ .turnover-detail {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.card-board{
.card-board {
width: 100%; width: 100%;
height: 25%; height: 25%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 2rem; padding: 2rem;
} }
.menu{
.menu {
width: 100%; width: 100%;
height: 5%; height: 5%;
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 5%; padding-left: 5%;
} }
.chart{
.chart {
width: 100%; width: 100%;
height: 70%; height: 70%;
} }
input[type="button"]{
input[type="button"] {
height: 80%; height: 80%;
margin: 0.5%; margin: 0.5%;
border: none; border: none;
...@@ -457,11 +475,13 @@ input[type="button"]{ ...@@ -457,11 +475,13 @@ input[type="button"]{
color: #00c8d6; color: #00c8d6;
background-color: #1234a1; background-color: #1234a1;
} }
.selectedBtn{
.selectedBtn {
color: #1234a1 !important; color: #1234a1 !important;
background-color: #00c8d6 !important; background-color: #00c8d6 !important;
} }
.unSelectedBtn{
.unSelectedBtn {
color: #00c8d6; color: #00c8d6;
background-color: #1234a1; background-color: #1234a1;
} }
......
import {
getBusinessConditionDatas,
getAllTypeBusinessConditionDatas,
getAllTypeBusinessConditionDetailByDay
} from "../../api/apiList";
import {calc_hb_str, calc_tb_str, conver_amont} from "../../utils/numUtil";
import moment from 'moment'
//天维度数据转换
export const getTrunOverDayDetail = async function (type, cur_day) {
let pageData = new Object();
pageData.head = await getHeadDay(type, cur_day)
pageData.detail = await getDetailDay(type, cur_day)
console.log("pageData:" + JSON.stringify(pageData))
return pageData;
};
/**
* @param cur_day
*/
export const getHeadDay = async function (type, cur_day) {
let headData = new Object();
let res = await reqSumData(cur_day);
headData.营业额 = adapterSumDataDay(type, res);
let transportData = await reqTransportData(cur_day)
headData.汽运营业额 = initSumDataDay();
headData.水运营业额 = initSumDataDay();
headData.铁运营业额 = initSumDataDay();
if (transportData[10]) {
headData.汽运营业额 = adapterSumDataDay(type, transportData[10]);
}
if (transportData[30]) {
headData.水运营业额 = adapterSumDataDay(type, transportData[30]);
}
if (transportData[20]) {
headData.铁运营业额 = adapterSumDataDay(type, transportData[20]);
}
return headData;
};
//获取折线图明细
export const getDetailDay = async function (type, cur_day) {
let transportDetail = await reqTransportDetailDayData(cur_day)
return adapterDetailDataDay(type, transportDetail)
};
//获取汇总数据
export const reqSumData = async function (cur_day) {
let res = await getBusinessConditionDatas(cur_day);
let data = res.data
return data;
}
//获取汇总数据
export const reqTransportData = async function (cur_day) {
let res = await getAllTypeBusinessConditionDatas(cur_day);
let data = res.data
return data;
}
//获取明细数据数据
export const reqTransportDetailDayData = async function (cur_day) {
let res = await getAllTypeBusinessConditionDetailByDay(moment(cur_day).format('YYYY-MM'));
let data = res.data
return data;
}
/**
*日维度汇总
* @param type yye:营业额、cb:成本、ml:毛利
* @param data
*/
export const adapterSumDataDay = function (type, data) {
let turnOver = new Object()
let hb = new Array()
if (type == 'yye') {
turnOver.title = '营业额'
turnOver.amount = conver_amont(data.cur_sell_settle_amount);
//昨日环比
if (data.pre_sell_settle_amount) {
let yesterday = new Object()
yesterday.title = '昨日'
yesterday.amount = conver_amont(data.pre_sell_settle_amount);
yesterday.rate = calc_hb_str(data.cur_sell_settle_amount, data.pre_sell_settle_amount);
hb.push(yesterday)
}
//昨日环比
if (data.pre_month_sell_settle_amount) {
let premonth = new Object()
premonth.title = '上月'
premonth.amount = conver_amont(data.pre_month_sell_settle_amount);
premonth.rate = calc_tb_str(data.cur_sell_settle_amount, data.pre_month_sell_settle_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
if (type == 'cb') {
turnOver.title = '成本'
turnOver.amount = conver_amont(data.cur_buy_settle_amount);
//昨日环比
if (data.pre_buy_settle_amount) {
let yesterday = new Object()
yesterday.title = '昨日'
yesterday.amount = conver_amont(data.pre_buy_settle_amount);
yesterday.rate = calc_hb_str(data.cur_buy_settle_amount, data.pre_buy_settle_amount);
hb.push(yesterday)
}
//昨日环比
if (data.pre_month_buy_settle_amount) {
let premonth = new Object()
premonth.title = '上月'
premonth.amount = conver_amont(data.pre_month_buy_settle_amount);
premonth.rate = calc_tb_str(data.cur_buy_settle_amount, data.pre_month_buy_settle_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
if (type == 'ml') {
turnOver.title = '毛利'
turnOver.amount = conver_amont(data.cur_gross_profit_amount);
//昨日环比
if (data.pre_gross_profit_amount) {
let yesterday = new Object()
yesterday.title = '昨日'
yesterday.amount = conver_amont(data.pre_gross_profit_amount);
yesterday.rate = calc_hb_str(data.cur_gross_profit_amount, data.pre_gross_profit_amount);
hb.push(yesterday)
}
//昨日环比
if (data.pre_month_gross_profit_amount) {
let premonth = new Object()
premonth.title = '上月'
premonth.amount = conver_amont(data.pre_month_gross_profit_amount);
premonth.rate = calc_tb_str(data.cur_gross_profit_amount, data.pre_month_gross_profit_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
return turnOver;
}
/**
* 初始化汇总数据
* @returns {Object}
*/
export const initSumDataDay = function () {
let turnOver = new Object()
turnOver.title = '营业额'
turnOver.amount = "0.0"
let hb = new Array()
let yesterday = new Object()
yesterday.title = '昨日'
yesterday.amount = "0.0"
yesterday.rate = "0.0"
hb.push(yesterday)
yesterday = new Object()
yesterday.title = '上月'
yesterday.amount = "0.0"
yesterday.rate = "0.0"
hb.push(yesterday)
turnOver.hb = hb
return turnOver;
}
/**
* 月维度汇总
* @param type
* @param data
*/
export const adapterSumDatamonth = function (type, data) {
let turnOver = new Object()
let hb = new Array()
if (type == 'yye') {
turnOver.title = '营业额'
turnOver.amount = conver_amont(data.cur_month_buy_settle_amount);
//昨日环比
if (data.pre_month_sell_settle_amount) {
let yesterday = new Object()
yesterday.title = '上月'
yesterday.amount = conver_amont(data.pre_month_sell_settle_amount);
yesterday.rate = calc_hb_str(data.cur_month_buy_settle_amount, data.pre_month_sell_settle_amount);
hb.push(yesterday)
}
//昨日环比
if (data.pre_year_sell_settle_amount) {
let premonth = new Object()
premonth.title = '去年'
premonth.amount = conver_amont(data.pre_year_sell_settle_amount);
premonth.rate = calc_tb_str(data.cur_sell_settle_amount, data.pre_year_sell_settle_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
if (type == 'cb') {
turnOver.title = '成本'
turnOver.amount = conver_amont(data.cur_month_buy_settle_amount);
//上月环比
if (data.pre_month_buy_settle_amount) {
let yesterday = new Object()
yesterday.title = '上月'
yesterday.amount = conver_amont(data.pre_month_buy_settle_amount);
yesterday.rate = calc_hb_str(data.cur_month_buy_settle_amount, data.pre_month_buy_settle_amount);
hb.push(yesterday)
}
//去年环比
if (data.pre_year_buy_settle_amount) {
let premonth = new Object()
premonth.title = '去年'
premonth.amount = conver_amont(data.pre_year_buy_settle_amount);
premonth.rate = calc_tb_str(data.cur_month_buy_settle_amount, data.pre_year_buy_settle_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
if (type == 'ml') {
turnOver.title = '毛利'
turnOver.amount = conver_amont(data.cur_month_gross_profit_amount);
//昨日环比
if (data.pre_month_gross_profit_amount) {
let yesterday = new Object()
yesterday.title = '上月'
yesterday.amount = conver_amont(data.pre_month_gross_profit_amount);
yesterday.rate = calc_hb_str(data.cur_month_gross_profit_amount, data.pre_month_gross_profit_amount);
hb.push(yesterday)
}
//昨日环比
if (data.pre_year_gross_profit_amount) {
let premonth = new Object()
premonth.title = '去年'
premonth.amount = conver_amont(data.pre_year_gross_profit_amount);
premonth.rate = calc_tb_str(data.cur_month_gross_profit_amount, data.pre_year_gross_profit_amount);
hb.push(premonth)
}
turnOver.hb = hb;
}
}
/**
* 月维度汇总
* @param type
* @param data
*/
export const adapterSumDataYear = function (type, data) {
let turnOver = new Object()
let hb = new Array()
if (type == 'yye') {
turnOver.title = '营业额'
turnOver.amount = conver_amont(data.cur_year_sell_settle_amount);
//昨日环比
if (data.pre_year_sell_settle_amount) {
let yesterday = new Object()
yesterday.title = '去年'
yesterday.amount = conver_amont(data.pre_year_sell_settle_amount);
yesterday.rate = calc_hb_str(data.cur_year_sell_settle_amount, data.pre_year_sell_settle_amount);
hb.push(yesterday)
}
turnOver.hb = hb;
}
if (type == 'cb') {
turnOver.title = '成本'
turnOver.amount = conver_amont(data.cur_year_buy_settle_amount);
//上月环比
if (data.pre_year_buy_settle_amount) {
let yesterday = new Object()
yesterday.title = '去年'
yesterday.amount = conver_amont(data.pre_year_buy_settle_amount);
yesterday.rate = calc_hb_str(data.cur_year_buy_settle_amount, data.pre_year_buy_settle_amount);
hb.push(yesterday)
}
turnOver.hb = hb;
}
if (type == 'ml') {
turnOver.title = '毛利'
turnOver.amount = conver_amont(data.cur_year_gross_profit_amount);
//昨日环比
if (data.pre_year_gross_profit_amount) {
let yesterday = new Object()
yesterday.title = '去年'
yesterday.amount = conver_amont(data.pre_year_gross_profit_amount);
yesterday.rate = calc_hb_str(data.cur_year_gross_profit_amount, data.pre_year_gross_profit_amount);
hb.push(yesterday)
}
turnOver.hb = hb;
}
}
/**
* 详细数据匹配
* @param type
* @param data
* @returns {any[]}
*/
export const adapterDetailDataDay = function (type, data) {
let list = new Array()
let detail = null
for (let key in data) {
detail = detailConver(type, data[key])
detail.date = moment(key).format('MM月DD日');
list.push(detail);
}
return list;
}
/**
* 详细数据转换
* @param type
* @param detailList
* @returns {Object}
*/
export const detailConver = function (type, detailList) {
let detail = initDetail();
console.log(typeof detailList)
for (let det in detailList) {
let data = detailList[det]
//初始化
if (type == 'yye') {
if (data.cur_transport_type == '10') {
detail['汽运(元)'] = data.cur_sell_settle_amount;
}
if (data.cur_transport_type == '30') {
detail['水运(元)'] = data.cur_sell_settle_amount
}
if (data.cur_transport_type == '20') {
detail['铁运(元)'] = data.cur_sell_settle_amount
}
}
if (type == 'cb') {
if (data.cur_transport_type == '10') {
detail['汽运(元)'] = data.cur_buy_settle_amount
}
if (data.cur_transport_type == '30') {
detail['水运(元)'] = data.cur_buy_settle_amount
}
if (data.cur_transport_type == '20') {
detail['铁运(元)'] = data.cur_buy_settle_amount
}
}
if (type == 'ml') {
if (data.cur_transport_type == '10') {
detail['汽运(元)'] = data.cur_gross_profit_amount
}
if (data.cur_transport_type == '30') {
detail['水运(元)'] = data.cur_gross_profit_amount
}
if (data.cur_transport_type == '20') {
detail['铁运(元)'] = data.cur_gross_profit_amount
}
}
}
return detail;
}
/**
* @returns {{}}
*/
export const initDetail = function () {
let detail = {};
detail['汽运(元)'] = 0
detail['水运(元)'] = 0
detail['铁运(元)'] = 0
return detail;
}
...@@ -18,10 +18,19 @@ export const conver_num_rate = function (amont) { ...@@ -18,10 +18,19 @@ export const conver_num_rate = function (amont) {
if (amont > 0) { if (amont > 0) {
return "+" + amont + "%" return "+" + amont + "%"
} else { } else {
return "-" + amont + "%" return amont + "%"
} }
}; };
/**
* 保留两位小数
* @param amont
* @returns {string|*}
*/
export const conver_num_retain = function (amont) {
return formater(amont)
}
//数字金额显示 //数字金额显示
function formater(data) { function formater(data) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment