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

View File

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

View File

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

View File

@ -71,24 +71,8 @@
<el-row :gutter="10" > <el-row :gutter="10" >
<el-col :xs="24" :sm="24" :md="16" :lg="16" :xl="16"> <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"> <CardWithHeader header="当日开单统计" height="146px" >
<template v-slot:body>
<QuickLink ></QuickLink>
</template>
</CardWithHeader> -->
<CardWithHeader header="当日开单统计(寄件网点)" height="146px" >
<template v-slot:body> <template v-slot:body>
<div class="h-overview"> <div class="h-overview">
<el-row> <el-row>
@ -147,6 +131,25 @@
</CardWithHeader> </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" > <CardWithHeader header="个人回款/提成统计" height="146px" >
<template v-slot:body> <template v-slot:body>
<div class="h-overview"> <div class="h-overview">
@ -178,15 +181,19 @@
</CardWithHeader> </CardWithHeader>
<!-- <CardWithHeader header="日单量趋势(最近15天)" height="400px"> <!-- <CardWithHeader header="日单量趋势(最近15天)" height="400px">
<template v-slot:body> <template v-slot:body>
<LineChart :chart-data="lineChartData" /> <LineChart :chart-data="lineChartData" />
</template> </template>
</CardWithHeader> --> </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"> <!-- <CardWithHeader header="营业收入" style="margin-top: 20px; margin-bottom: 20px">
<template v-slot:body> <template v-slot:body>
<v-charts <v-charts
@ -247,9 +254,16 @@
<CardWithHeader header="最新消息"> <CardWithHeader header="最新消息">
<template v-slot:body> <template v-slot:body>
<div class="chart-wrapper"> <div class="xd-notice-list">
<!-- <raddar-chart /> --> <div v-for="(item, index) in noticeList" :key="index" class="xd-home-notice-item">
</div> <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> </template>
</CardWithHeader> </CardWithHeader>
</el-col> </el-col>
@ -283,17 +297,21 @@ import { GridLayout, GridItem } from 'vue-grid-layout'
import { listSimpleAction } from "@/api/system/sysActionStats"; import { listSimpleAction } from "@/api/system/sysActionStats";
import { getQueryStatInfoMap } from "@/api/emis/emisWaybill"; import { getQueryStatInfoMap } from "@/api/emis/emisWaybill";
import {timeDiffTime,timeFormat} from '@/utils/dateUtils' import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
import {getTopNoticeListByUserId,addReadTimes,getPublicNoticeList} from "@/api/system/notice";
import CardWithHeader from '@/components/CardWithHeader/index.vue'; import CardWithHeader from '@/components/CardWithHeader/index.vue';
import RaddarChart from './common/RaddarChart.vue'; import RaddarChart from './common/RaddarChart.vue';
import LineChart from './common/LineChart.vue'; import LineChart from './common/LineChart.vue';
import QuickLink from './common/QuickLink.vue'; import QuickLink from './common/QuickLink.vue';
import LineOrderChart from './common/LineOrderChart.vue';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
name: 'Index', name: 'Index',
components: { components: {
CardWithHeader, CardWithHeader,
RaddarChart, RaddarChart,
LineOrderChart,
LineChart, LineChart,
QuickLink, QuickLink,
GridLayout, GridLayout,
@ -302,6 +320,11 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
noticeList:[],
orderStateData:{
xAxisData:[],
orderStateData:[]
},
lineChartData: lineChartData.newVisitis, lineChartData: lineChartData.newVisitis,
quickActionList:[], quickActionList:[],
queryStatInfoMap:null, queryStatInfoMap:null,
@ -317,10 +340,18 @@ export default {
...mapGetters(['avatar', 'nickName','ownerSiteName']), ...mapGetters(['avatar', 'nickName','ownerSiteName']),
}, },
created() { created() {
this.initUserNotice();
this.initQuickActionList(); this.initQuickActionList();
this.initOrderStatData(); this.initOrderStatData();
}, },
methods: { methods: {
initUserNotice() {
// 获取通知信息
getTopNoticeListByUserId().then(response => {
this.noticeList=response.rows;
});
},
initQuickActionList() { initQuickActionList() {
let queryParams={ let queryParams={
pageNum: 1, 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(){ initOrderStatData(){
// 查询统计 // 查询统计
@ -356,7 +401,35 @@ export default {
getQueryStatInfoMap(extQParam).then(response => { getQueryStatInfoMap(extQParam).then(response => {
this.queryStatInfoMap = response.data; 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) { ishttp(url) {
return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1 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 { .chart-wrapper {
background: #fff; background: #fff;

View File

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

View File

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