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

营业额明细

parent a435bee0
......@@ -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', {
aux: {
cur_day: cur_dayS
cur_day: cur_day
}
}, 'POST');
......@@ -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 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>
<div class="turnover-detail">
<div class="card-board">
<contrast-card v-for="data in currentData.head" style="height: 100%;width: 20%;" @click.native="selectLegend(data)">
<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/>
<div style="width: 60%; height: 100%; float:left; padding: 2% 2% 0 8%; line-height: 60px; display: flex; align-items: center;font-size: 16px;">
<contrast-card v-for="(data,key) in currentData.head" style="height: 100%;width: 20%;"
@click.native="selectLegend(data)">
<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: 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>
</contrast-card>
</div>
<div class="menu">
<input type="button" :class="{'selectedBtn': currentBtn === 'day'}" value="日统计" @click="changeDimension('day')">
<input type="button" :class="{'selectedBtn': currentBtn === 'month'}" value="月统计" @click="changeDimension('month')">
<input type="button" :class="{'selectedBtn': currentBtn === 'year'}" value="年统计" @click="changeDimension('year')">
<input type="button" :class="{'selectedBtn': currentBtn === 'day'}" value="日统计"
@click="changeDimension('day')">
<input type="button" :class="{'selectedBtn': currentBtn === 'month'}" value="月统计"
@click="changeDimension('month')">
<input type="button" :class="{'selectedBtn': currentBtn === 'year'}" value="年统计"
@click="changeDimension('year')">
</div>
<div class="chart">
<div ref="chart" style="width: 100%;height: 100%;" @click=""/>
......@@ -26,16 +33,18 @@ import TitleContentMark from "../components/layout/title-content-mark.vue";
import TableColumn from "../components/table/table-column.vue";
import ContrastCard from "../components/card/contrast-card.vue";
import * as echarts from "echarts";
import {getTrunOverDayDetail} from "./turnoverDetail"
export default {
name:"TurnoverDetail",
name: "TurnoverDetail",
components: {ContrastCard, TableColumn, TitleContentMark},
data() {
return {
today: '2023-05-19',
currentData: {},
mockDataDay:{
head:{
"营业额":{
mockDataDay: {
head: {
"营业额": {
title: "营业额",
amount: "20,303",
hb: [
......@@ -51,7 +60,7 @@ export default {
}
]
},
"汽运营业额":{
"汽运营业额": {
title: "汽运营业额",
amount: "10,000",
hb: [
......@@ -67,7 +76,7 @@ export default {
}
]
},
"水运营业额":{
"水运营业额": {
title: "水运营业额",
amount: "20,303",
hb: [
......@@ -83,7 +92,7 @@ export default {
}
]
},
"铁运营业额":{
"铁运营业额": {
title: "铁运营业额",
amount: "303",
hb: [
......@@ -100,40 +109,40 @@ export default {
]
}
},
detail:[
{ date: '2月1日', '汽运(元)': 0, '水运(元)': 747, '铁运(元)': 674 },
{ date: '2月2日', '汽运(元)': 300, '水运(元)': 786, '铁运(元)': 848 },
{ date: '2月3日', '汽运(元)': 500, '水运(元)': 547, '铁运(元)': 256 },
{ date: '2月4日', '汽运(元)': 100, '水运(元)': 632, '铁运(元)': 677 },
{ date: '2月5日', '汽运(元)': 300, '水运(元)': 167, '铁运(元)': 176 },
{ date: '2月6日', '汽运(元)': 800, '水运(元)': 264, '铁运(元)': 584 },
{ date: '2月7日', '汽运(元)': 100, '水运(元)': 116, '铁运(元)': 110 },
{ date: '2月8日', '汽运(元)': 500, '水运(元)': 527, '铁运(元)': 610 },
{ date: '2月9日', '汽运(元)': 1000, '水运(元)': 277, '铁运(元)': 625 },
{ date: '2月10日', '汽运(元)': 358, '水运(元)': 854, '铁运(元)': 775 },
{ date: '2月11日', '汽运(元)': 290, '水运(元)': 801, '铁运(元)': 355 },
{ date: '2月12日', '汽运(元)': 239, '水运(元)': 648, '铁运(元)': 837 },
{ date: '2月13日', '汽运(元)': 413, '水运(元)': 375, '铁运(元)': 175 },
{ date: '2月14日', '汽运(元)': 379, '水运(元)': 678, '铁运(元)': 462 },
{ date: '2月15日', '汽运(元)': 470, '水运(元)': 787, '铁运(元)': 707 },
{ date: '2月16日', '汽运(元)': 893, '水运(元)': 507, '铁运(元)': 645 },
{ date: '2月17日', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471 },
{ date: '2月18日', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615 },
{ date: '2月19日', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988 },
{ date: '2月20日', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481 },
{ date: '2月21日', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716 },
{ date: '2月22日', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947 },
{ date: '2月23日', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284 },
{ date: '2月24日', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408 },
{ date: '2月25日', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358 },
{ date: '2月26日', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697 },
{ date: '2月27日', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532 },
{ date: '2月28日', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587 },
detail: [
{"汽运(元)": 0, "水运(元)": 0, "铁运(元)": 0, "date": "2023-05-06"},
{date: '2月2日', '汽运(元)': 300, '水运(元)': 786, '铁运(元)': 848},
{date: '2月3日', '汽运(元)': 500, '水运(元)': 547, '铁运(元)': 256},
{date: '2月4日', '汽运(元)': 100, '水运(元)': 632, '铁运(元)': 677},
{date: '2月5日', '汽运(元)': 300, '水运(元)': 167, '铁运(元)': 176},
{date: '2月6日', '汽运(元)': 800, '水运(元)': 264, '铁运(元)': 584},
{date: '2月7日', '汽运(元)': 100, '水运(元)': 116, '铁运(元)': 110},
{date: '2月8日', '汽运(元)': 500, '水运(元)': 527, '铁运(元)': 610},
{date: '2月9日', '汽运(元)': 1000, '水运(元)': 277, '铁运(元)': 625},
{date: '2月10日', '汽运(元)': 358, '水运(元)': 854, '铁运(元)': 775},
{date: '2月11日', '汽运(元)': 290, '水运(元)': 801, '铁运(元)': 355},
{date: '2月12日', '汽运(元)': 239, '水运(元)': 648, '铁运(元)': 837},
{date: '2月13日', '汽运(元)': 413, '水运(元)': 375, '铁运(元)': 175},
{date: '2月14日', '汽运(元)': 379, '水运(元)': 678, '铁运(元)': 462},
{date: '2月15日', '汽运(元)': 470, '水运(元)': 787, '铁运(元)': 707},
{date: '2月16日', '汽运(元)': 893, '水运(元)': 507, '铁运(元)': 645},
{date: '2月17日', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471},
{date: '2月18日', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615},
{date: '2月19日', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988},
{date: '2月20日', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481},
{date: '2月21日', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716},
{date: '2月22日', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947},
{date: '2月23日', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284},
{date: '2月24日', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408},
{date: '2月25日', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358},
{date: '2月26日', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697},
{date: '2月27日', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532},
{date: '2月28日', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587},
]
},
mockDataMonth:{
head:{
"营业额":{
mockDataMonth: {
head: {
"营业额": {
title: "营业额",
amount: "20,303",
hb: [
......@@ -149,7 +158,7 @@ export default {
}
]
},
"汽运营业额":{
"汽运营业额": {
title: "汽运营业额",
amount: "10,000",
hb: [
......@@ -165,7 +174,7 @@ export default {
}
]
},
"水运营业额":{
"水运营业额": {
title: "水运营业额",
amount: "20,303",
hb: [
......@@ -181,7 +190,7 @@ export default {
}
]
},
"铁运营业额":{
"铁运营业额": {
title: "铁运营业额",
amount: "303",
hb: [
......@@ -198,24 +207,24 @@ export default {
]
}
},
detail:[
{ date: '1月', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471 },
{ date: '2月', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615 },
{ date: '3月', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988 },
{ date: '4月', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481 },
{ date: '5月', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716 },
{ date: '6月', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947 },
{ date: '7月', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284 },
{ date: '8月', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408 },
{ date: '9月', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358 },
{ date: '10月', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697 },
{ date: '11月', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532 },
{ date: '12月', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587 },
detail: [
{date: '1月', '汽运(元)': 544, '水运(元)': 473, '铁运(元)': 471},
{date: '2月', '汽运(元)': 387, '水运(元)': 799, '铁运(元)': 615},
{date: '3月', '汽运(元)': 123, '水运(元)': 942, '铁运(元)': 988},
{date: '4月', '汽运(元)': 795, '水运(元)': 518, '铁运(元)': 481},
{date: '5月', '汽运(元)': 885, '水运(元)': 917, '铁运(元)': 716},
{date: '6月', '汽运(元)': 327, '水运(元)': 682, '铁运(元)': 947},
{date: '7月', '汽运(元)': 599, '水运(元)': 768, '铁运(元)': 284},
{date: '8月', '汽运(元)': 731, '水运(元)': 665, '铁运(元)': 408},
{date: '9月', '汽运(元)': 569, '水运(元)': 150, '铁运(元)': 358},
{date: '10月', '汽运(元)': 642, '水运(元)': 747, '铁运(元)': 697},
{date: '11月', '汽运(元)': 963, '水运(元)': 674, '铁运(元)': 532},
{date: '12月', '汽运(元)': 522, '水运(元)': 273, '铁运(元)': 587},
]
},
mockDataYear:{
head:{
"营业额":{
mockDataYear: {
head: {
"营业额": {
title: "营业额",
amount: "20,303",
hb: [
......@@ -226,7 +235,7 @@ export default {
},
]
},
"汽运营业额":{
"汽运营业额": {
title: "汽运营业额",
amount: "10,000",
hb: [
......@@ -237,7 +246,7 @@ export default {
},
]
},
"水运营业额":{
"水运营业额": {
title: "水运营业额",
amount: "20,303",
hb: [
......@@ -248,7 +257,7 @@ export default {
},
]
},
"铁运营业额":{
"铁运营业额": {
title: "铁运营业额",
amount: "303",
hb: [
......@@ -260,15 +269,15 @@ export default {
]
}
},
detail:[
{ date: '2022年', '汽运(元)': 544, '水运(元)': 674, '铁运(元)': 532 },
{ date: '2023年', '汽运(元)': 387, '水运(元)': 273, '铁运(元)': 587 },
detail: [
{date: '2022年', '汽运(元)': 544, '水运(元)': 674, '铁运(元)': 532},
{date: '2023年', '汽运(元)': 387, '水运(元)': 273, '铁运(元)': 587},
]
},
chart: null,
currentBtn: "day",
currentLegend: '汽运(元)',
chartOption:{
chartOption: {
legend: {
textStyle: {
color: 'white'
......@@ -344,7 +353,7 @@ export default {
this.chart.resize();
}
},
changeDimension(dimension){
changeDimension(dimension) {
this.currentBtn = dimension;
switch (dimension) {
case 'day':
......@@ -363,13 +372,13 @@ export default {
return;
}
},
refreshChart(){
refreshChart() {
this.chartOption.dataset.source = this.currentData.detail
if (this.chart){
if (this.chart) {
this.chart.setOption(this.chartOption);
}
},
selectLegend(data){
selectLegend(data) {
let name;
this.chart.dispatchAction({
type: 'legendAllSelect'
......@@ -389,7 +398,7 @@ export default {
default:
break;
}
if (name){
if (name) {
this.chart.dispatchAction({
type: 'legendInverseSelect'
});
......@@ -397,57 +406,66 @@ export default {
type: 'legendSelect',
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;
}else {
} else {
this.chartOption.series[3].data = [];
}
this.chart.setOption(this.chartOption);
},
//获取数据
async getDate() {
this.currentData = await getTrunOverDayDetail("yye", this.today)
},
mounted() {
this.currentData = this.mockDataDay;
},
async mounted() {
console.log("mockDataDay:"+JSON.stringify(this.mockDataDay))
await this.getDate();
// this.currentData = this.mockDataDay;
this.refreshChart();
setTimeout(() => {
let chartDom = this.$refs.chart;
this.chart = echarts.init(chartDom);
this.chart.setOption(this.chartOption);
window.addEventListener('resize', this.resizeChart);
}, 500)
}, 500);
},
beforeDestroy() {
window.removeEventListener("resize", this.resizeChart);
},
props:{
},
props: {},
}
</script>
<style scoped>
.turnover-detail{
.turnover-detail {
width: 100%;
height: 100%;
}
.card-board{
.card-board {
width: 100%;
height: 25%;
display: flex;
justify-content: space-between;
padding: 2rem;
}
.menu{
.menu {
width: 100%;
height: 5%;
display: flex;
align-items: center;
padding-left: 5%;
}
.chart{
.chart {
width: 100%;
height: 70%;
}
input[type="button"]{
input[type="button"] {
height: 80%;
margin: 0.5%;
border: none;
......@@ -457,11 +475,13 @@ input[type="button"]{
color: #00c8d6;
background-color: #1234a1;
}
.selectedBtn{
.selectedBtn {
color: #1234a1 !important;
background-color: #00c8d6 !important;
}
.unSelectedBtn{
.unSelectedBtn {
color: #00c8d6;
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) {
if (amont > 0) {
return "+" + amont + "%"
} else {
return "-" + amont + "%"
return amont + "%"
}
};
/**
* 保留两位小数
* @param amont
* @returns {string|*}
*/
export const conver_num_retain = function (amont) {
return formater(amont)
}
//数字金额显示
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