This commit is contained in:
linfso 2024-12-12 11:41:26 +08:00
parent 41f116a61d
commit 3d50275fd6
3 changed files with 95 additions and 38 deletions

View File

@ -85,6 +85,24 @@ export function getEmisWaybill(id) {
})
}
export function getOmsOrderStatInfo() {
return request({
url: '/oms2c/emisWaybill/getOmsOrderStatInfo',
method: 'get'
})
}
export function getLatestMonthCreateOrderMapList() {
return request({
url: '/oms2c/emisWaybill/getLatestMonthCreateOrderMapList',
method: 'get'
})
}
// 新增运单列表
export function addEmisWaybill(data) {
return request({

View File

@ -78,13 +78,13 @@
<el-row>
<el-col :span="4" style=" border-right: 1px solid #ebebeb;">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.issueCount }}</span>
</div>
<div class="title" style="color:red">异常件</div>
</el-col>
<el-col :span="4">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.totalCount }}</span>
</div>
<div class="title">总订单量</div>
</el-col>
@ -96,25 +96,25 @@
</el-col> -->
<el-col :span="3">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.waitGotCount }}</span>
</div>
<div class="title">待接单</div>
</el-col>
<el-col :span="3">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.transCount }}</span>
</div>
<div class="title">运输中</div>
</el-col>
<el-col :span="3">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.dispatchCount }}</span>
</div>
<div class="title">派送中</div>
</el-col>
<el-col :span="4">
<div class="count">
<span @click="goRouter('/websites')">0</span>
<span @click="goRouter('/websites')">{{ omsOrderState.signCount }}</span>
</div>
<div class="title">已签收</div>
</el-col>
@ -222,7 +222,7 @@
<CardWithHeader header="订单量统计" height="400px">
<template v-slot:body>
<line-chart :chart-data="lineChartData" />
<LineOrderChart :chart-data="orderStateData" />
</template>
</CardWithHeader>
@ -299,15 +299,18 @@ import { GridLayout, GridItem } from 'vue-grid-layout'
import CardWithHeader from '@/components/CardWithHeader/index.vue';
import RaddarChart from './common/RaddarChart.vue';
import LineChart from './common/LineChart.vue';
import LineOrderChart from './common/LineOrderChart.vue';
import QuickLink from './common/QuickLink.vue';
import { getOmsOrderStatInfo,getLatestMonthCreateOrderMapList } from "@/api/oms/emisWaybill";
import { mapGetters } from 'vuex'
export default {
name: 'Index',
components: {
CardWithHeader,
RaddarChart,
LineChart,
LineOrderChart,
QuickLink,
GridLayout,
GridItem
@ -316,6 +319,18 @@ export default {
return {
billCode:null,
loading: false,
omsOrderState:{
dispatchCount: 0,
issueCount:0,
signCount:0,
totalCount:0,
transCount:0,
waitGotCount:0
},
orderStateData:{
xAxisData:[],
orderStateData:[]
},
lineChartData: lineChartData.newVisitis,
layout: [
{ x: 0, y: 0, w: 3, h: 2, i: '1', static: false },
@ -328,12 +343,41 @@ export default {
...mapGetters(['avatar', 'nickName']),
},
created() {
this.initOmsOrderState();
},
methods: {
layoutUpdatedEvent(newLayout) {
this.layout = newLayout;
},
initOmsOrderState() {
// 统计
getOmsOrderStatInfo().then(response => {
console.log("====>getOmsOrderStatInfo===>",response);
this.omsOrderState = response.data;
});
getLatestMonthCreateOrderMapList().then(response => {
console.log("====>getLatestMonthCreateOrderMapList===>",response);
let xData=[];
let yData=[];
// 做数据转换
response.data.forEach(item => {
xData.push(item.createDay);
yData.push(item.totalNum);
});
this.orderStateData.xAxisData=[...xData];
this.orderStateData.orderStateData=[...yData];
console.log("====>this.orderStateData===>",this.orderStateData);
// this.orderStateList = response.data;
});
},
moveEvent(){
},

View File

@ -243,7 +243,17 @@
</el-col>
<el-col :span="24" v-if="form.pickupMethod==1">
<el-form-item :label="$t('发货时间')" prop="pickTimeRange">
<TimePicker v-model="form.pickTimeRange" ></TimePicker>
<!-- <TimePicker v-model="form.pickTimeRange" ></TimePicker> -->
<el-date-picker
style="width: 100%;"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
v-model="form.pickStartDate"
type="datetime"
placeholder="发货时间"
:picker-options="pickStartDateOption"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
@ -616,28 +626,6 @@
</el-row>
</el-collapse-item>
</el-collapse>
<!--
<el-col :span="24">
<el-form-item :label="$t('订单备注')" prop="remark" label-width="70px">
<el-input v-model="form.remark" type="textarea" placeholder="" maxlength="150" oninput="value=value.replace(/[\r|\n]/g,'')"
show-word-limit />
</el-form-item>
</el-col> -->
<!-- <el-col :span="24">
<el-form-item label="给快递员捎话" prop="orderRemark" >
<CustomerPrivEmpSimplePicker :placeholder="$t('专属业务员')" v-model="form.operateEmployeeCode" postCode="OP" ></CustomerPrivEmpSimplePicker>
<div style="width:100%;margin-bottom:5px">
<span class="goods-tag" @click="onQuickRemark($event)">请带纸箱</span>
<span class="goods-tag" @click="onQuickRemark($event)">需要爬楼</span>
<span class="goods-tag" @click="onQuickRemark($event)">来前电话</span>
</div>
<el-input v-model="form.orderRemark" type="textarea" :placeholder="$t('输入其他需求')" maxlength="150" show-word-limit />
</el-form-item>
</el-col> -->
<div style="text-align: center;margin-top: 10px;margin-bottom: 100px;">
<div >
<el-checkbox style="font-size:400;margin-right:10px;color:black" v-model="form.blAgree" :true-label="'1'" :false-label="'0'"><span style="font-size:12px"> {{ $t('我已同意接受') }} </span> <span style="font-size:12px">《快递运单契约条款》</span></el-checkbox>
@ -798,6 +786,12 @@ data() {
currentSelectProduct:null,
needDeclare:false,
productFeeList:[],
pickStartDateOption:{
disabledDate:(time)=> {
return time.getTime() < Date.now()-1 * 24 * 3600 * 1000
}
},
// 表单校验
rules: {
// billCode: [
@ -941,7 +935,7 @@ watch: {
handler (newValue, oldValue) {
console.log("===>routeParams==>",this.$route.query.routeParams);
/*
// 选择产品后报价
if(this.$route.query.action=="preOrderByProd"){
this.reset();
@ -960,16 +954,20 @@ watch: {
this.form.productTypeSelArr=[this.form.transLine,this.form.productType];
}
else if(this.$route.query.action=="modify"){
this.action=this.$route.query.action;
this.billCode=this.$route.query.billCode;
this.initData();
}
else if(this.$route.query.action=="add"){
this.action=this.$route.query.action;
this.billCode=null;
this.initData();
}
*/
},
deep: true
@ -1021,12 +1019,9 @@ created() {
this.form.productTypeSelArr=[this.form.transLine,this.form.productType];
}
else{
else if(this.$route.query.action=="add"){
this.initData();
}
},
mounted() {
},
methods: {
initData() {