This commit is contained in:
linfso 2024-12-16 21:06:48 +08:00
parent 8dc69ebcc8
commit 588ce7171d
6 changed files with 119 additions and 31 deletions

View File

@ -430,7 +430,7 @@
text-align: center;
// text-decoration: none;
// color: inherit;
text-decoration: underline;
// text-decoration: underline;
// color: #b12e29;
color: #00213c;
}
@ -438,7 +438,7 @@
.quick-link-wrapper .quick-link-title {
font-size: 14px;
font-weight: 400;
font-weight: 500;
}
.quick-link-box .icon {

View File

@ -103,13 +103,17 @@
</el-dropdown>
</div>
<div >
<!-- 在线客服 -->
<!-- <div style="position:fixed; top:50px;right:0px;cursor:pointer" @click="showOnlineKefu">
<span class="kf-agent" title="在线客服">
<img src="" alt="" style="display: none;">
</span>
</div> -->
<el-dialog title="消息公告" :visible.sync="openNotice" width="80%" class="kf-panel" append-to-body>
<div style="padding:0px;height:500px">
</div>
</el-dialog>
</div>
<div >
<el-dialog title="在线客服" :visible.sync="openOnlineKefu" width="80%" class="kf-panel" append-to-body>
<div style="padding:0px;height:500px">
@ -196,6 +200,7 @@ export default {
},
data() {
return {
openNotice:false,
openKfView:false,
openAppView:false,
timer: undefined,

View File

@ -327,7 +327,7 @@ export default {
.xd-notice-item {
display: flex;
padding: 14px 24px;
padding: 10px 20px;
box-sizing: border-box;
transition: background-color .2s;
cursor: pointer;
@ -346,6 +346,9 @@ export default {
// }
.xd-item-content {
width:100%
}
.xd-notice-item-icon {
width: 32px;

View File

@ -71,24 +71,8 @@
<el-row :gutter="10" >
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16">
<CardWithHeader header="快捷方式" height="136px" >
<template v-slot:body>
<div style="display: flex;justify-content: flex-start;flex-flow:row wrap ">
<router-link class="quick-link-wrapper" v-for="(quickItem,index) in quickActionList" :key="index" :to="quickItem.path">
<div class="quick-link-title">{{ quickItem.title }}</div>
</router-link>
<!-- <el-button size="medium" type="text" style="color: #b12e29;font-weight: 500;text-decoration: underline;" plain v-for="(quickItem,index) in quickActionList" :key="index" @click="change(quickItem)"><span>{{ quickItem.title }}</span></el-button> -->
</div>
</template>
</CardWithHeader>
<!-- <CardWithHeader header="待办提醒" height="146px">
<template v-slot:body>
<QuickLink ></QuickLink>
</template>
</CardWithHeader> -->
<CardWithHeader header="当日开单统计(寄件网点)" height="146px" >
<CardWithHeader header="当日开单统计" height="146px" >
<template v-slot:body>
<div class="h-overview">
<el-row>
@ -147,6 +131,25 @@
</CardWithHeader>
<CardWithHeader header="快捷方式" height="136px" >
<template v-slot:body>
<div style="display: flex;justify-content: flex-start;flex-flow:row wrap ">
<router-link class="quick-link-wrapper" v-for="(quickItem,index) in quickActionList" :key="index" :to="quickItem.path">
<div class="quick-link-title">{{ quickItem.title }}</div>
</router-link>
<!-- <el-button size="medium" type="text" style="color: #b12e29;font-weight: 500;text-decoration: underline;" plain v-for="(quickItem,index) in quickActionList" :key="index" @click="change(quickItem)"><span>{{ quickItem.title }}</span></el-button> -->
</div>
</template>
</CardWithHeader>
<!-- <CardWithHeader header="待办提醒" height="146px">
<template v-slot:body>
<QuickLink ></QuickLink>
</template>
</CardWithHeader> -->
<CardWithHeader header="个人回款/提成统计" height="146px" >
<template v-slot:body>
<div class="h-overview">
@ -178,15 +181,19 @@
</CardWithHeader>
<!-- <CardWithHeader header="日单量趋势(最近15天)" height="400px">
<template v-slot:body>
<LineChart :chart-data="lineChartData" />
</template>
</CardWithHeader> -->
<CardWithHeader header="日单量趋势(最近15天)" height="400px">
<template v-slot:body>
<LineOrderChart :chart-data="orderStateData" />
</template>
</CardWithHeader>
<!-- <CardWithHeader header="营业收入" style="margin-top: 20px; margin-bottom: 20px">
<template v-slot:body>
<v-charts
@ -247,9 +254,16 @@
<CardWithHeader header="最新消息">
<template v-slot:body>
<div class="chart-wrapper">
<!-- <raddar-chart /> -->
</div>
<div class="xd-notice-list">
<div v-for="(item, index) in noticeList" :key="index" class="xd-home-notice-item">
<div class="xd-item-content" @click="goRouterPath(item.clickPath)">
<div class="ele-text-secondary ele-elip notice-time" style="display: inline-flex;width: 100%;">
<div style="text-align: left;width: 70%">{{ item.noticeTitle }}</div>
<div style="text-align: left;width: 30%;font-size: 12px;color:gray;font-weight: 600;">{{ parseTime(item.createTime, '{y}-{m}-{d}') }} </div>
</div>
</div>
</div>
</div>
</template>
</CardWithHeader>
</el-col>
@ -283,17 +297,21 @@ import { GridLayout, GridItem } from 'vue-grid-layout'
import { listSimpleAction } from "@/api/system/sysActionStats";
import { getQueryStatInfoMap } from "@/api/emis/emisWaybill";
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
import {getTopNoticeListByUserId,addReadTimes,getPublicNoticeList} from "@/api/system/notice";
import CardWithHeader from '@/components/CardWithHeader/index.vue';
import RaddarChart from './common/RaddarChart.vue';
import LineChart from './common/LineChart.vue';
import QuickLink from './common/QuickLink.vue';
import LineOrderChart from './common/LineOrderChart.vue';
import { mapGetters } from 'vuex'
export default {
name: 'Index',
components: {
CardWithHeader,
RaddarChart,
LineOrderChart,
LineChart,
QuickLink,
GridLayout,
@ -302,6 +320,11 @@ export default {
data() {
return {
loading: false,
noticeList:[],
orderStateData:{
xAxisData:[],
orderStateData:[]
},
lineChartData: lineChartData.newVisitis,
quickActionList:[],
queryStatInfoMap:null,
@ -317,10 +340,18 @@ export default {
...mapGetters(['avatar', 'nickName','ownerSiteName']),
},
created() {
this.initUserNotice();
this.initQuickActionList();
this.initOrderStatData();
},
methods: {
initUserNotice() {
// 获取通知信息
getTopNoticeListByUserId().then(response => {
this.noticeList=response.rows;
});
},
initQuickActionList() {
let queryParams={
pageNum: 1,
@ -331,6 +362,20 @@ export default {
});
},
// initOmsOrderState() {
// getOmsBillFeeStatInfo().then(response => {
// console.log("====>getOmsBillFeeStatInfo===>",response);
// if(response.data!=null){
// this.omsBillFeeState = response.data;
// }
// });
// },
initOrderStatData(){
// 查询统计
@ -356,7 +401,35 @@ export default {
getQueryStatInfoMap(extQParam).then(response => {
this.queryStatInfoMap = 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);
// });
},
goRouterPath(clickPath) {
// 跳转预警详情页面
this.$router.push({
path: clickPath,
query: {
},
});
},
ishttp(url) {
return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
},
@ -415,6 +488,11 @@ export default {
}
}
.xd-home-notice-item {
padding: 10px 8px;
font-size: 13px;
}
.chart-wrapper {
background: #fff;

View File

@ -19,6 +19,7 @@
<el-select v-model="coData.batchType" placeholder="" style="width:100%">
<el-option key="1" label="一程批次" value="1"></el-option>
<el-option key="2" label="二程批次" value="2"></el-option>
<el-option key="4" label="三程批次" value="4"></el-option>
<el-option key="3" label="网点互寄" value="3"></el-option>
</el-select>
</el-form-item>

View File

@ -151,6 +151,7 @@
<span v-if="scope.row.batchType==1">一程批次</span>
<span v-else-if="scope.row.batchType==2">二程批次</span>
<span v-else-if="scope.row.batchType==3">网点互寄</span>
<span v-else-if="scope.row.batchType==4">三程批次</span>
</template>
</el-table-column>
<!-- <el-table-column :label="$t('报关资料状态')" align="center" prop="declareResStatus" min-width="170">