Merge remote-tracking branch 'origin/main'

product
chuang 2 years ago
commit 039b1b7609

@ -0,0 +1,147 @@
<template>
<div class="notice_right">
<div class="notice_title">
<div class="title_left">
<span>进行中的合同</span>
</div>
<div class="title_right">
</div>
</div>
<div>
<el-table :data="list" style="width: 100%">
<el-table-column prop="contractCode" label="合同编号" width="140">
</el-table-column>
<el-table-column prop="contractType" label="合同类型" width="70">
</el-table-column>
<el-table-column prop="name" label="供应商/客户">
</el-table-column>
<el-table-column label="进度" width="140">
<template slot-scope="scope">
<el-progress :percentage="scope.row.schedule"></el-progress>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import request from '@/utils/request'
import CountTo from 'vue-count-to'
export default {
components: { CountTo },
data() {
return {
list: []
}
},
mounted: function () {
this.getContractList();
},
methods: {
getContractList: function () {
request({
url: "/api/contractMobile/ContractMobile/getMobileList",
method: "post",
data: {
currentPage: 1,
pageSize: 7,
},
}).then(res => {
if (res.code == 200) {
this.list = res.data.list;
}
}).catch(() => {
})
}
}
}
</script>
<style lang="scss" scoped>
.notice_title {
display: flex;
justify-content: space-between;
align-items: center;
height: 60px;
padding: 0 25px;
.title_left {
display: flex;
align-items: center;
span {
font-size: 16px;
font-weight: bold;
color: #333;
}
}
.title_right {
font-size: 12px;
color: #999;
line-height: 30px;
}
}
.notice_right {
background: #fff;
height: 400px;
border-radius: 4px;
overflow: hidden;
.no_right_massage {
li {
display: flex;
background: #fff;
border: 1px;
height: 170px;
border-top: 1px solid #f2f2f5;
.right_item {
width: 50%;
padding: 16px 20px;
display: flex;
flex-direction: column;
justify-content: space-between;
.right-top {
font-size: 14px;
display: flex;
align-items: center;
img {
margin-right: 10px;
}
}
p {
font-size: 14px;
line-height: 22px;
padding: 20px 0;
color: #999;
display: -webkit-box;
line-clamp: 3;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
}
.bt {
display: flex;
justify-content: space-between;
font-size: 12px;
color: #999;
}
}
.linet {
border-left: 1px solid #f2f2f5;
}
}
}
}
</style>

@ -1,7 +1,7 @@
<template>
<el-row style="background:#fff;padding:0 16px;margin-bottom:10px;border-radius: 4px;">
<div class="dateSelect">
<el-date-picker v-model="nowTime" type="date" placeholder="近7日" size="small" @change="fnDateChg">
<el-date-picker v-model="dateNow" type="date" placeholder="请选择日期" size="small" @change="fnDateChg" :clearable="false">
</el-date-picker>
</div>
<div id="charta" style="width:100%;height:400px;margin-top:30px;"></div>
@ -10,6 +10,7 @@
</template>
<script>
import request from '@/utils/request'
import echarts from 'echarts'
import resize from './mixins/resize'
export default {
@ -17,7 +18,7 @@ export default {
mixins: [resize],
data() {
return {
nowTime: '',
dateNow: 0,
chart: null,
option: {
title: {
@ -52,8 +53,9 @@ export default {
xAxis: {
type: 'category',
boundaryGap: false,
data: ['2023-3-17', '2023-3-18', '2023-3-19', '2023-3-20', '2023-3-21',
'2023-3-22', '2023-3-23'],
// data: ['2023-3-17', '2023-3-18', '2023-3-19', '2023-3-20', '2023-3-21',
// '2023-3-22', '2023-3-23'],
data: [],
axisLine: {
show: false, //x
lineStyle: {
@ -97,7 +99,8 @@ export default {
},
},
series: [{
data: [100, 200, 300, 400, 500, 600, 700],
data: [],
//data: [100, 200, 300, 400, 500, 600, 700],
type: 'line',
radius: '100%',
center: ['100%', '50%'],
@ -120,23 +123,50 @@ export default {
}
},
mounted() {
this.initChart()
var date = new Date();
this.fnDateChg(date);
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose()
this.chart = null
this.delChart();
},
methods: {
delChart() {
if (!this.chart) {
return
}
this.chart.dispose();
this.chart = null;
},
initChart() {
this.chart = echarts.init(document.getElementById('charta'))
this.chart.setOption(this.option);
window.onresize = this.chart.resize()
},
fnDateChg(val) {
console.log(val.getTime())
console.log(val);
this.dateNow = val.getTime();
this.getPurchasedAmountData();
},
getPurchasedAmountData() {
request({
url: "/api/messageCenter/MessageCenter/getPurchasedAmountData",
method: "get",
data: {
dateNow: this.dateNow,
},
}).then(res => {
if (res.code == 200) {
let _res = res.data;
let _option = { ...this.option };
_option.xAxis.data = _res.xData;
_option.series[0].data = _res.data;
this.option = { ..._option };
this.delChart();
this.initChart();
//console.log(this.option)
}
}).catch(() => {
})
}
}
}

@ -1,7 +1,7 @@
<template>
<el-row style="background:#fff;padding:0 16px;margin-bottom:10px;border-radius: 4px;">
<div class="dateSelect">
<el-date-picker v-model="nowTime" type="date" placeholder="近7日" size="small" @change="fnDateChg">
<el-date-picker v-model="dateNow" type="date" placeholder="请选择日期" size="small" @change="fnDateChg">
</el-date-picker>
</div>
<div id="chartb" style="width:100%;height:400px;margin-top:30px;"></div>
@ -9,6 +9,7 @@
</template>
<script>
import request from '@/utils/request'
import echarts from 'echarts'
import resize from './mixins/resize'
export default {
@ -16,7 +17,7 @@ export default {
mixins: [resize],
data() {
return {
nowTime: '',
dateNow: '',
chart: null,
option: {
title: {
@ -119,23 +120,50 @@ export default {
}
},
mounted() {
this.initChart()
var date = new Date();
this.fnDateChg(date);
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose()
this.chart = null
this.delChart();
},
methods: {
delChart() {
if (!this.chart) {
return
}
this.chart.dispose();
this.chart = null;
},
initChart() {
this.chart = echarts.init(document.getElementById('chartb'))
this.chart.setOption(this.option);
window.onresize = this.chart.resize()
},
fnDateChg(val) {
console.log(val.getTime())
console.log(val);
this.dateNow = val.getTime();
this.getSaleQuantityData();
},
getSaleQuantityData() {
request({
url: "/api/messageCenter/MessageCenter/getSaleQuantityData",
method: "get",
data: {
dateNow: this.dateNow,
},
}).then(res => {
if (res.code == 200) {
let _res = res.data;
let _option = { ...this.option };
_option.xAxis.data = _res.xData;
_option.series[0].data = _res.data;
this.option = { ..._option };
this.delChart();
this.initChart();
//console.log(this.option)
}
}).catch(() => {
})
}
}
}

@ -6,8 +6,8 @@
<img src="@/assets/images/home/sold.png" alt="">
</div>
<div class="card-panel-description">
<count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" />
<div class="card-panel-text">总销售额</div>
<count-to :start-val="0" :end-val="msgInfo.unpaid" :duration="2600" class="card-panel-num" />
<div class="card-panel-text">待支付()</div>
</div>
</div>
</el-col>
@ -17,8 +17,8 @@
<img src="@/assets/images/home/ask.png" alt="">
</div>
<div class="card-panel-description">
<count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" />
<div class="card-panel-text">访问量</div>
<count-to :start-val="0" :end-val="msgInfo.todayPay" :duration="3000" class="card-panel-num" />
<div class="card-panel-text">今日付款()</div>
</div>
</div>
</el-col>
@ -28,8 +28,8 @@
<img src="@/assets/images/home/pay.png" alt="">
</div>
<div class="card-panel-description">
<count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" />
<div class="card-panel-text">支付笔数</div>
<count-to :start-val="0" :end-val="msgInfo.moneyCollected" :duration="3200" class="card-panel-num" />
<div class="card-panel-text">待回款()</div>
</div>
</div>
</el-col>
@ -39,8 +39,8 @@
<img src="@/assets/images/home/return.png" alt="">
</div>
<div class="card-panel-description">
<count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" />
<div class="card-panel-text">线上购物转化率</div>
<count-to :start-val="0" :end-val="msgInfo.todayPayment" :duration="3600" class="card-panel-num" />
<div class="card-panel-text">今日回款()</div>
</div>
</div>
</el-col>
@ -48,15 +48,44 @@
</template>
<script>
import request from '@/utils/request'
import CountTo from 'vue-count-to'
export default {
components: { CountTo }
components: { CountTo },
data() {
return {
msgInfo: {}
}
},
mounted: function () {
this.getHomePage();
},
methods: {
getHomePage: function () {
request({
url: "/api/messageCenter/MessageCenter/getHomePage",
method: "get",
data: {},
}).then(res => {
if (res.code == 200) {
let _info = res.data[0];
this.msgInfo = _info;
//console.log(_info);
//this.massageList = _list;
//console.log(_list)
}
}).catch(() => {
})
//console.log('getInfo');
}
}
}
</script>
<style lang="scss" scoped>
.panel-group {
margin-bottom: 10px;
.card-panel {
border-radius: 4px;
background: #fff;
@ -65,6 +94,7 @@ export default {
background-image: url("../../../../assets/images/home/bg.png");
background-size: cover;
background-position: center;
.icon-people,
.icon-message,
.icon-money,
@ -78,16 +108,19 @@ export default {
flex-shrink: 0;
}
}
.card-panel-num {
font-size: 20px;
font-weight: 600;
}
.card-panel-text {
margin-top: 4px;
font-size: 14px;
color: #666;
}
}
.icon-people {
background: #f2ebfb;
}
@ -119,6 +152,7 @@ export default {
.icon-shopping {
color: #34bfa3;
}
.card-panel-description {
padding-top: 15px;
}

@ -3,40 +3,40 @@
<PortalLayoutB :layout="layout" v-if="type === 0" />
<div class="sale">
<div class="sale_title">
<span> 销售指数</span>
<span>活动实时交易情况</span>
<span> 今日磅单指数</span>
<span>磅单实时交易情况</span>
</div>
<ul class="sale_items">
<li>
<span>今日交易总额</span>
<p class="nums">
<count-to :start-val="0" :end-val="124546233" :duration="2600" class="card-panel-num" />
<span>磅单张数</span>
<p class="nums">
<count-to :start-val="0" :end-val="124546233" :duration="2600" class="card-panel-num" />
</p>
<span>+2.34%</span>
<!-- <span>+2.34%</span> -->
</li>
<li>
<span>销售目标完成率</span>
<span>总扣重</span>
<p class="nums">
<count-to :start-val="0" :end-val="92" :duration="3600" class="card-panel-num" />%
<count-to :start-val="0" :end-val="92" :duration="3600" class="card-panel-num" />
</p>
<span>-0.3%</span>
<!-- <span>-0.3%</span> -->
</li>
<li>
<span>活动剩余时间</span>
<span>23:26:59</span>
<span>活动时间48小时</span>
<span>总结算重量</span>
<span>23:26:59</span>
<!-- <span>活动时间48小时</span> -->
</li>
<li>
<span>每秒交易总额</span>
<span>采购总额</span>
<p class="nums">
<count-to :start-val="0" :end-val="2663" :duration="2600" class="card-panel-num" />
</p>
<span> +9.34%</span>
<!-- <span> +9.34%</span> -->
</li>
<li>
<span> 在售商品总数</span>
<p class="lastnums">
<count-to :start-val="0" :end-val="569" :duration="2600" class="card-panel-num" />
<span>销售总额</span>
<p class="lastnums">
<count-to :start-val="0" :end-val="569" :duration="2600" class="card-panel-num" />
</p>
</li>
</ul>
@ -50,6 +50,14 @@
<line-chart-b />
</el-col>
</el-row>
<!-- <el-row style="background:#fff;padding:0 16px;margin-bottom:10px;border-radius: 4px;">
<div class="dateSelect">
<el-date-picker v-model="value1" type="date" placeholder="选择日期" size="small">
</el-date-picker>
</div>
<line-chart />
</el-row> -->
<!-- <PortalLayoutC :layout="layout" v-if="type === 0" /> -->
<el-row :gutter="10" class="notice">
<el-col :span="12">
<div class="notice_left">
@ -72,66 +80,7 @@
</div>
</el-col>
<el-col :span="12">
<div class="notice_right">
<div class="notice_title">
<div class="title_left">
<span>进行中的合同</span>
</div>
<div class="title_right">
查看更多 >
</div>
</div>
<ul class="no_right_massage">
<li>
<div class="right_item lineb">
<div class="right-top">
<img src="@/assets/images/home/Group.png" alt="">
<span>销售管理信息项目</span>
</div>
<p>销售管理信息项目是为全面提升企业市场占有率和竞争力越来越多企业已经意识到上销售管理软件...</p>
<div class="bt">
<span>项目组名 超越超越卓尔不凡</span>
<span>5 小时前</span>
</div>
</div>
<div class="right_item linet">
<div class="right-top">
<img src="@/assets/images/home/Group.png" alt="">
<span>知识库管理搭建</span>
</div>
<p>知识库管理搭建是一个企业内部信息的汇总建立知识库对这些知识进行统一管理能够有效帮助企业提高...</p>
<div class="bt">
<span>项目组名快乐每一天</span>
<span>5 小时前</span>
</div>
</div>
</li>
<li>
<div class="right_item">
<div class="right-top">
<img src="@/assets/images/home/Group2.png" alt="">
<span>报表样式调整</span>
</div>
<p>报表引用UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎通过迭代单元格可以实现任意...</p>
<div class="bt">
<span>项目组名 超越超越卓尔不凡</span>
<span>5 小时前</span>
</div>
</div>
<div class="right_item linet">
<div class="right-top">
<img src="@/assets/images/home/Group3.png" alt="">
<span>企业门户平台</span>
</div>
<p>企业统一门户为企业提供一个统一入口访问企业各种资源信息企业的员工客户合作伙伴和供应商等都可...</p>
<div class="bt">
<span>项目组名智慧成功人士</span>
<span>5 小时前</span>
</div>
</div>
</li>
</ul>
</div>
<ContractList />
</el-col>
</el-row>
<!-- <p class="componey">{{sysConfig.copyright}}</p>-->
@ -150,6 +99,7 @@ import PanelGroup from './components/PanelGroup'
import LineChartA from './components/LineChartA'
import LineChartB from './components/LineChartB'
import CountTo from 'vue-count-to'
import ContractList from './components/ContractList'
export default {
name: 'DashboardAdmin',
components: {
@ -158,7 +108,8 @@ export default {
LineChartB,
CountTo,
PortalLayoutB,
PortalLayoutC
PortalLayoutC,
ContractList
},
data() {
return {

Loading…
Cancel
Save