Commit 4594dc67 authored by 潘自豪's avatar 潘自豪

流失新增客户明细

parent 6ebff487
......@@ -107,3 +107,12 @@ export const getOrderLoseAddCustomer = (cur_day) => fetch('/api/query/*/action/g
cur_day: cur_day
}
}, 'POST');
//流失客户 & 新增客户-明细
export const getOrderAddCustomerDetail = (cur_day, type) => fetch('/api/query/*/action/get_order_add_customer_detail', {
aux: {
cur_day: cur_day,
type: type
}
}, 'POST');
import {
getOrderAddCustomerDetail
} from "./../../../api/apiList";
import {conver_amont} from "./../../../utils/numUtil";
import moment from 'moment'
//天维度数据转换
export const getAllDatas = async function (cur_day, type) {
let res = await getOrderAddCustomerDetail(cur_day, type);
let lostAdd = resultProcess(res.data);
return lostAdd;
};
/**
* 后端接口数据处理
* @param detailList
* @returns {Promise<void>}
*/
export const resultProcess = function (detailList) {
let lostAddDataList = new Array();
for (let key in detailList) {
let resData = detailList[key];
let lostAdd = adapterLostAdd(resData)
lostAddDataList.push(lostAdd)
}
return lostAddDataList
}
/**
* 数据处理
* @param data
* @returns
*/
export const adapterLostAdd = function (data) {
let lostAddData = {};
lostAddData['title'] = data.entrust_agency_name;
let lostAddDataCol = new Array();
lostAddDataCol[0] = adapterLostAddCol("订单量(万吨) ", conver_amont(data.unit_weight), "red")
lostAddDataCol[1] = adapterLostAddCol("订单件数", data.qty, "#eaa749")
lostAddDataCol[2] = adapterLostAddCol("营销额(万元)", conver_amont(data.sell_settle_amount), "#49eb29")
lostAddData['column'] = lostAddDataCol;
return lostAddData;
}
export const adapterLostAddCol = function (key, val, styleColor) {
let lostAddDataCol = new Object();
lostAddDataCol.key = key;
lostAddDataCol.value = val;
lostAddDataCol.valStyle = {"color": styleColor}
return lostAddDataCol;
}
<template>
<div class="page">
<div class="content">
<display-board class="content_card" :title="lostCustomerTitle" title_size="large">
<winners-list style="height: 100%" id="ar_company_list"
:rows="lostCustomer"
/>
</display-board>
<display-board class="content_card" :title="addCustomerTitle" title_size="large">
<winners-list style="height: 100%" id="ar_company_list"
:rows="addCustomer"
/>
</display-board>
</div>
</div>
</template>
<script>
import data from "./mockData/lost_add_customer.json";
import DisplayBoard from "../components/container/display-board.vue";
import WinnersList from "../components/card/winners-list.vue";
import {getAllDatas} from "./js/lostAddCustomer"
export default {
name: "LostAddCustomer",
components: {WinnersList, DisplayBoard},
data() {
return {
today: '2022-06-26',
lostCustomerTitle: "流失客户(较去年)",
lostCustomer: [],
addCustomerTitle: "新增客户(较去年)",
addCustomer: [],
currentData: {},
mockData: data.list,
chart: null,
currentCard: null,
listTitle: "流失客户(较去年)",
currentBtn: {
date: "day",
subdivide: "domain",
},
}
},
methods: {
back() {
this.$router.push({path: '/'});
},
},
async mounted() {
this.lostCustomer = await getAllDatas(this.today, 1)
console.log(this.lostCustomer)
this.addCustomer = await getAllDatas(this.today, 2)
console.log(this.addCustomer)
},
}
</script>
<style scoped>
.page {
width: 100%;
height: 100%;
}
.content {
width: 100%;
height: 80%;
display: flex;
float: left;
justify-content: space-evenly;
padding: 0 2rem 2rem 2rem;
}
.content_card {
width: 30%;
margin-top: 5%;
height: 100%;
}
</style>
{
"list": [
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},
{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
},{
"title": "上海欧也股份有限公司",
"column": [
{
"key": "订单量(万吨)",
"value": "202,012",
"valStyle": {
"color": "red"
}
},
{
"key": "订单件数",
"value": "202,012",
"valStyle": {
"color": "#eaa749"
}
},
{
"key": "营销额(万元)",
"value": "202,012",
"valStyle": {
"color": "#49eb29"
}
}
]
}
]
}
......@@ -110,7 +110,7 @@
content-style="font-size: 16px;" mark-style="font-size: 10px;"
:content="mockData.yl.amount" mark="万元"/>
</showcase>
<showcase style="width: 18%;" title="流失客户">
<showcase style="width: 18%;" title="流失客户" @click.native="routerTo('/lost-add-customer')">
<title-content-mark
style="float:left;width: 100%;height: 50%;color: #5eeef4;padding: 0 15%;font-size: 16px;"
content-style="font-size: 16px;" mark-style="font-size: 10px;" :content="lskh.weight"
......@@ -119,7 +119,7 @@
content-style="font-size: 16px;" mark-style="font-size: 10px;"
:content="lskh.amount" mark="万元"/>
</showcase>
<showcase style="width: 18%;" title="新增客户">
<showcase style="width: 18%;" title="新增客户" @click.native="routerTo('/lost-add-customer')">
<title-content-mark
style="float:left;width: 100%;height: 50%;color: #5eeef4;padding: 0 15%;font-size: 16px;"
content-style="font-size: 16px;" mark-style="font-size: 10px;" :content="xzkh.weight"
......
......@@ -8,6 +8,8 @@ import ArCompanyMonthlyBar from "../../databoard/components/chart/ar-company-mon
import ArMonthlyCompanyBar from "../../databoard/components/chart/ar-monthly-company-bar.vue";
import TurnoverDetail from "../../databoard/databoard/turnover-detail.vue";
import OrderProportion from "../../databoard/databoard/order-proportion.vue";
import LostAddCustomer from "../../databoard/databoard/lost-add-customer.vue";
Vue.use(Router)
......@@ -62,6 +64,11 @@ export default new Router({
path: '/order-proportion',
name: 'OrderProportion',
component: OrderProportion
},
{
path: '/lost-add-customer',
name: 'lostAddCustomer',
component: LostAddCustomer
}
]
})
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