Commit ab7075ad authored by 罗超's avatar 罗超
parents 9c6b3d33 7aa35cc2
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
"co": "^4.6.0", "co": "^4.6.0",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"cos-js-sdk-v5": "^1.1.5", "cos-js-sdk-v5": "^1.1.5",
"echarts": "^5.1.2",
"element-ui": "^2.14.1", "element-ui": "^2.14.1",
"html2canvas": "^1.0.0-rc.7", "html2canvas": "^1.0.0-rc.7",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
......
...@@ -124,3 +124,49 @@ export function getEmployeeAddrBook(data) ...@@ -124,3 +124,49 @@ export function getEmployeeAddrBook(data)
}) })
} }
/**
* 获取我的提成折线图
*/
export function getUserSellCommission(data)
{
return request({
url: '/UserInfo/GetUserSellCommission',
method: 'post',
data
})
}
/**
* 获取我的奖金折线图
*/
export function getTeacherSellCommission(data)
{
return request({
url: '/UserInfo/GetTeacherSellCommission',
method: 'post',
data
})
}
/**
* 个人中心 我的奖金确认
*/
export function updateSureTeachingBonusDetail(data)
{
return request({
url: '/UserInfo/UpdateSureTeachingBonusDetail',
method: 'post',
data
})
}
/**
* 个人中心 我的提成确认
*/
export function updatSureSellCommission(data)
{
return request({
url: '/UserInfo/UpdatSureSellCommission',
method: 'post',
data
})
}
\ No newline at end of file
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<div class="q-gutter-md row items-start"> <div class="q-gutter-md row items-start">
<q-date v-model="addMsg.StartTime" :options="StartTimeOptions" mask="YYYY-MM-DD HH:mm:ss"></q-date> <q-date v-model="addMsg.StartTime" mask="YYYY-MM-DD HH:mm:ss"></q-date>
<q-time v-model="addMsg.StartTime" format24h mask="YYYY-MM-DD HH:mm:ss" /> <q-time v-model="addMsg.StartTime" format24h mask="YYYY-MM-DD HH:mm:ss" />
</div> </div>
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<div class="q-gutter-md row items-start"> <div class="q-gutter-md row items-start">
<q-date v-model="addMsg.EndTimeStr" :options="EndTimeOptions" mask="YYYY-MM-DD HH:mm:ss" @input="edate"></q-date> <q-date v-model="addMsg.EndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="edate"></q-date>
<q-time v-model="addMsg.EndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="etime" /> <q-time v-model="addMsg.EndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="etime" />
</div> </div>
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<div class="q-gutter-md row items-start"> <div class="q-gutter-md row items-start">
<q-date v-model="addMsg.SignStartTimeStr" :options="SignStartTimeOptions" mask="YYYY-MM-DD HH:mm:ss" @input="date" /> <q-date v-model="addMsg.SignStartTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="date" />
<q-time v-model="addMsg.SignStartTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="time" /> <q-time v-model="addMsg.SignStartTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="time" />
</div> </div>
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<q-icon name="event" class="cursor-pointer"> <q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<div class="q-gutter-md row items-start"> <div class="q-gutter-md row items-start">
<q-date v-model="addMsg.SignEndTimeStr" :options="SignEndTimeOptions" mask="YYYY-MM-DD HH:mm:ss" @input="endDate" /> <q-date v-model="addMsg.SignEndTimeStr" mask="YYYY-MM-DD HH:mm:ss" @input="endDate" />
<q-time v-model="addMsg.SignEndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="endTime" /> <q-time v-model="addMsg.SignEndTimeStr" format24h mask="YYYY-MM-DD HH:mm:ss" @input="endTime" />
</div> </div>
<q-btn v-close-popup label="关闭" color="primary" flat style="float:right" /> <q-btn v-close-popup label="关闭" color="primary" flat style="float:right" />
......
...@@ -286,6 +286,9 @@ ...@@ -286,6 +286,9 @@
this.objOption.BaseStuNum = this.saveObj.BaseStuNum; this.objOption.BaseStuNum = this.saveObj.BaseStuNum;
this.objOption.BaseHourFee = this.saveObj.BaseHourFee; this.objOption.BaseHourFee = this.saveObj.BaseHourFee;
this.objOption.Specialty = this.saveObj.Specialty; this.objOption.Specialty = this.saveObj.Specialty;
this.objOption.EnableTime = this.saveObj.EnableTime;
this.objOption.BaseHoursEnabled = this.saveObj.BaseHoursEnabled;
if (this.saveObj.ChooseSpecialty && this.saveObj.ChooseSpecialty.length > 0) { if (this.saveObj.ChooseSpecialty && this.saveObj.ChooseSpecialty.length > 0) {
this.chooseSpecialty = this.saveObj.ChooseSpecialty; this.chooseSpecialty = this.saveObj.ChooseSpecialty;
} }
......
...@@ -32,15 +32,41 @@ ...@@ -32,15 +32,41 @@
} }
.noticeitem:hover { .summaryInfo .noticeitem:hover {
box-shadow: 0px 0px 8px 0px rgba(68, 110, 228, 0.64); box-shadow: 0px 0px 8px 0px rgba(68, 110, 228, 0.64);
border-radius: 6px;
/* border: 1px solid rgba(68, 110, 228, 0.64);; */ /* border: 1px solid rgba(68, 110, 228, 0.64);; */
} }
.summaryInfo .noticeitem:hover .noticeitem_l_img{
background: url('../../assets/images/Notices.png');
background-repeat: no-repeat;
background-size: 100%;
width: 41px;
height: 39px;
}
.summaryInfo .noticeitem_l { .summaryInfo .noticeitem_l {
width: 120px; width: 82px;
height: 82px; height: 82px;
border-radius: 6px; border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
background: #E1E9FF;
}
.summaryInfo .noticeitem_l_img{
background: url('../../assets/images/Noticen.png');
background-repeat: no-repeat;
background-size: 100%;
width: 41px;
height: 39px;
}
.summaryInfo .noticeitem:hover .gonggaoName{
font-size: 16px;font-family: PingFang SC;font-weight: 800;color: #2961FE;
}
.summaryInfo .gonggaoName{
font-size: 16px;font-family: PingFang SC;font-weight: 800;color: #3F4254;
} }
.summaryInfo .box_c { .summaryInfo .box_c {
...@@ -54,7 +80,8 @@ ...@@ -54,7 +80,8 @@
border-radius: 6px; border-radius: 6px;
padding: 20px; padding: 20px;
} }
.summaryInfo .textbox{
.summaryInfo .textbox {
width: 100%; width: 100%;
height: 130px; height: 130px;
border-radius: 20px; border-radius: 20px;
...@@ -62,42 +89,72 @@ ...@@ -62,42 +89,72 @@
padding-left: 29px; padding-left: 29px;
padding-top: 29px; padding-top: 29px;
} }
.summaryInfo .lanstyle{
.summaryInfo .lanstyle {
color: #3699FF; color: #3699FF;
background: #ECF6FF; background: #ECF6FF;
} }
.summaryInfo .redstyle{
.summaryInfo .redstyle {
color: #F44E60; color: #F44E60;
background: #FFEEF0; background: #FFEEF0;
} }
.summaryInfo .justyle{
.summaryInfo .justyle {
color: #FFA800; color: #FFA800;
background: #FFF8EB; background: #FFF8EB;
} }
.summaryInfo .lvstyle{
.summaryInfo .lvstyle {
color: #1BC5C2; color: #1BC5C2;
background: #EEFEFD; background: #EEFEFD;
} }
.summaryInfo .scrollbox::-webkit-scrollbar { .summaryInfo .scrollbox::-webkit-scrollbar {
width: 3px; width: 3px;
height: 3px; height: 3px;
background-color: #F5F5F5; background-color: #F5F5F5;
} }
/*!*定义滚动条轨道 内阴影+圆角*!*/ /*!*定义滚动条轨道 内阴影+圆角*!*/
.summaryInfo .scrollbox::-webkit-scrollbar-track { .summaryInfo .scrollbox::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px; border-radius: 10px;
background-color: #F5F5F5; background-color: #F5F5F5;
} }
/*!*定义滑块 内阴影+圆角*!*/ /*!*定义滑块 内阴影+圆角*!*/
.summaryInfo .scrollbox::-webkit-scrollbar-thumb { .summaryInfo .scrollbox::-webkit-scrollbar-thumb {
border-radius: 10px; border-radius: 10px;
-webkit-box-shadow: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent)); -webkit-box-shadow: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent));
background-color: #0ae; background-color: #0ae;
} }
.month_export {
position: relative !important;
}
.summaryInfo .month_export .el-date-editor {
background-color: darkblue !important;
width: auto !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
opacity: 0;
}
.btnstyle {
width: 100%;
height: 100px;
margin-top: 34px;
background: #F6F7FA;
border-radius: 20px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
</style> </style>
<template> <template>
<div class="summaryInfo"> <div class="summaryInfo">
...@@ -112,34 +169,33 @@ ...@@ -112,34 +169,33 @@
<span class="box_t_itext">公告</span> <span class="box_t_itext">公告</span>
</div> </div>
</div> </div>
<div class="scrollbox" <div class="scrollbox" v-if='noticeList.length>0' style="margin-top: 10px;background: #fff;height: 368px; width: 100%;overflow-y: auto;cursor: pointer;padding: 2px;">
style="margin-top: 10px;background: #fff;height: 368px; width: 100%;overflow-y: auto;cursor: pointer;padding: 2px;"> <div v-if='noticeList.length>0'>
<div v-for="(item,index) in noticeList" :key='index' class="noticeitem" <div v-for="(item,index) in noticeList" :key='index' class="noticeitem"
@click="goNoticeDetail(item)"> @click="goNoticeDetail(item)">
<div class="noticeitem_l"> <div class="noticeitem_l">
<img :src="item.UpdateByIcon" <div class="noticeitem_l_img"></div>
style="width: 120px;height: 82px; border-radius: 6px;" /> <!-- <img src="../../assets/images/Noticen.png"
</div> style="width: 41px;height: 39px; " /> -->
<div style="width: 1px;flex: 1;margin-left: 20px;"> </div>
<div <div style="width: 1px;flex: 1;margin-left: 20px;">
style="width: 100%;display: flex;align-items: flex-start;justify-content: space-between;"> <div style="width: 100%;display: flex;align-items: flex-start;justify-content: space-between;">
<span <span class="gonggaoName" >{{item.UpdateByName}}</span>
style="font-size: 16px;font-family: PingFang SC;font-weight: 800;color: #3F4254;">{{item.UpdateByName}}</span> <span style="font-size: 14px;font-weight: 500;color: #C4C6D1;">{{item.DayStr}}</span>
<span </div>
style="font-size: 14px;font-weight: 500;color: #C4C6D1;">{{item.DayStr}}</span> <div style="font-size: 14px; font-family: PingFang SC;font-weight: 400;color: #9A9DAB;margin-top: 10px;overflow: hidden;white-space: nowrap; text-overflow: ellipsis">
{{item.Title}}
</div>
<div style="font-size: 14px; font-family: PingFang SC;font-weight: 400;color: #9A9DAB;margin-top: 10px;"> 编号:{{item.Number}}</div>
</div> </div>
<div </div>
style="font-size: 14px; font-family: PingFang SC;font-weight: 400;color: #9A9DAB;margin-top: 10px;overflow: hidden;white-space: nowrap; text-overflow: ellipsis"> <div class="notifyLoadMore" style="text-align: center;margin-top: 10px;" v-if="noticeMsg.pageSize<Count" @click="getMoreNotify()">
{{item.Title}}</div> <span>加载更多</span>
<div
style="font-size: 14px; font-family: PingFang SC;font-weight: 400;color: #9A9DAB;margin-top: 10px;">
编号:{{item.Number}}</div>
</div> </div>
</div> </div>
<div class="notifyLoadMore" v-if="noticeMsg.pageSize<Count" @click="getMoreNotify()"> <div v-else style="width: 100%;height: 80px;text-align: center;line-height: 80px;color: #9A9DAB;">暂无数据</div>
<span>加载更多</span>
</div>
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -153,24 +209,25 @@ ...@@ -153,24 +209,25 @@
</div> </div>
<div class="scrollbox" <div class="scrollbox"
style="margin-top: 10px;background: #fff;height: 368px; width: 100%;overflow-y: auto;cursor: pointer;padding: 2px;"> style="margin-top: 10px;background: #fff;height: 368px; width: 100%;overflow-y: auto;cursor: pointer;padding: 2px;">
<q-list v-if="socektArr.length>0"> <q-list v-if="socektArr.length>0" >
<q-item class="q-my-sm q-pa-xs items-start" v-for="(x,i) in socektArr" :key="i" <q-item class="q-my-sm q-pa-xs items-start" v-for="(x,i) in socektArr" :key="i" style="padding: 10px 0;"
clickable v-ripple @click="goMsgDetail(x.JumpUrl,x),readMsgLog(x.Id,i)"> clickable v-ripple @click="goMsgDetail(x.JumpUrl,x),readMsgLog(x.Id,i)">
<q-item-section avatar> <q-item-section avatar>
<q-avatar :style="{'background-color':'#e1f0ff'}" rounded size="40px" <q-avatar :style="{'background-color':'#e1f0ff'}" rounded size="44px"
text-color="negative"> text-color="negative">
<inline-svg :class="['svg-icon',`svg-icon-primary`]" <inline-svg :class="['svg-icon',`svg-icon-primary`]"
src="icons/svg/Shopping/Bag2.svg"></inline-svg> src="icons/svg/Shopping/Bag2.svg"></inline-svg>
</q-avatar> </q-avatar>
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label class="text-weight-bold">{{x.Title}}</q-item-label> <q-item-label class="text-weight-bold" style="margin-bottom: 10px;">{{x.Title}}</q-item-label>
<q-item-label caption lines="3" class="remark-font">{{x.Content}}</q-item-label> <q-item-label caption lines="3" class="remark-font">{{x.Content}}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side class="remark-font">{{x.SendTime.replace('T',' ')}} <q-item-section side class="remark-font">{{x.SendTime.replace('T',' ')}}
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
<div v-else style="width: 100%;height: 80px;text-align: center;line-height: 80px;color: #9A9DAB;">暂无数据</div>
</div> </div>
</div> </div>
...@@ -188,6 +245,13 @@ ...@@ -188,6 +245,13 @@
src="icons/svg/Communication/Urgent-mail.svg"></inline-svg> src="icons/svg/Communication/Urgent-mail.svg"></inline-svg>
<span class="box_t_itext">我的提成</span> <span class="box_t_itext">我的提成</span>
</div> </div>
<div style="display: flex;align-items: center;">
<el-button class="month_export" type="text" size="mini"><span style="cursor: pointer;">{{PeriodsTime}}</span> <i class="el-icon-caret-bottom"></i>
<el-date-picker v-model="dates" @change="batchWithdrawalCommission" type="month"
size="small" format="yyyy-MM" value-format="yyyy-MM" placeholder="选择月">
</el-date-picker>
</el-button>
</div>
</div> </div>
<div id="main" style="width: 100%;height:300px;"> </div> <div id="main" style="width: 100%;height:300px;"> </div>
<div style="width: 100%;margin-top: 30px;"> <div style="width: 100%;margin-top: 30px;">
...@@ -195,13 +259,14 @@ ...@@ -195,13 +259,14 @@
<el-col :span="12"> <el-col :span="12">
<div class="lanstyle textbox"> <div class="lanstyle textbox">
<div>未完款订单</div> <div>未完款订单</div>
<div style="font-size: 38px;font-weight: 800;">2</div> <div style="font-size: 38px;font-weight: 800;">{{UserInfo.OrderNoCompleteNum}}
</div>
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="redstyle textbox"> <div class="redstyle textbox">
<div>课程进度未达标</div> <div>课程进度未达标</div>
<div style="font-size: 38px;font-weight: 800;">1</div> <div style="font-size: 38px;font-weight: 800;">{{UserInfo.CourseNum}}</div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -210,24 +275,103 @@ ...@@ -210,24 +275,103 @@
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="12"> <el-col :span="12">
<div class="justyle textbox"> <div class="justyle textbox">
<div>本月预计</div> <div v-if='UserInfo.SureStatus==-1'>本月预计</div>
<div style="font-size: 26px;font-weight: 800;margin-top: 20px;">¥865</div> <div v-else>本月实发</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px;" v-if='UserInfo.TotalCommiommission>10000'>{{UserInfo.TotalCommiommission}}</div>
<div style="font-size: 26px;font-weight: 800;margin-top: 20px;" v-else>{{UserInfo.TotalCommiommission}}</div>
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="lvstyle textbox"> <div class="lvstyle textbox">
<div>账单情况</div> <div>账单情况</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px">已出单</div> <div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureStatus==-1'>未出单</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureStatus==0'>未确认</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureStatus==1'>已出单</div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<div class="btnstyle" v-if='UserInfo.SureStatus==0'>
<span style="font-size:16px;color: #3F4254;margin-bottom: 10px;">确认状态</span>
<q-btn color="primary" size="sm" label="确认" @click='btnCommission()'/>
</div>
<div class="btnstyle" v-if='UserInfo.SureStatus==1'>
<span style="font-size:16px;color: #3F4254;margin-bottom: 10px;">确认状态</span>
<q-btn color="primary" disable size="sm" label="已确认" />
</div>
</div> </div>
</el-col> </el-col>
<!-- 我的奖金 -->
<el-col :span="8"> <el-col :span="8">
<div class="box_c_item"> <div class="box_c_item">
<div class="box_t_it">
<div style="display: flex;align-items: center;">
<inline-svg class="svg-icon q-mr-xs svg-icon-secondary"
src="icons/svg/Communication/Urgent-mail.svg"></inline-svg>
<span class="box_t_itext">我的奖金</span>
</div>
<div style="display: flex;align-items: center;">
<el-button class="month_export" type="text" size="mini"><span style="cursor: pointer;">{{PeriodsTime2}}</span> <i class="el-icon-caret-bottom"></i>
<el-date-picker v-model="dates2" @change="batchWithdrawalCommission2" type="month"
size="small" format="yyyy-MM" value-format="yyyy-MM" placeholder="">
</el-date-picker>
</el-button>
</div>
</div>
<div id="main2" style="width: 100%;height:300px;"> </div>
<div style="width: 100%;margin-top: 30px;">
<el-row :gutter="30">
<el-col :span="12">
<div class="lanstyle textbox">
<div>未完款订单</div>
<div style="font-size: 38px;font-weight: 800;">{{UserInfo.OrderNoCompleteNum}}
</div>
</div>
</el-col>
<el-col :span="12">
<div class="redstyle textbox">
<div>课程进度未达标</div>
<div style="font-size: 38px;font-weight: 800;">{{UserInfo.CourseNum}}</div>
</div>
</el-col>
</el-row>
</div>
<div style="width: 100%;margin-top: 30px;">
<el-row :gutter="30">
<el-col :span="12">
<div class="justyle textbox">
<div v-if='UserInfo.SureTStatus==-1'>本月预计</div>
<div v-else>本月实发</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px;" v-if='UserInfo.TotalTCommiommission>10000'>{{UserInfo.TotalTCommiommission}}</div>
<div style="font-size: 26px;font-weight: 800;margin-top: 20px;" v-else>{{UserInfo.TotalTCommiommission}}</div>
</div>
</el-col>
<el-col :span="12">
<div class="lvstyle textbox">
<div>账单情况</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureTStatus==-1'>未出单</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureTStatus==0'>未确认</div>
<div style="font-size: 20px;font-weight: 800;margin-top: 20px"
v-if='UserInfo.SureTStatus==1'>已出单</div>
</div>
</el-col>
</el-row>
</div>
<div class="btnstyle" v-if='UserInfo.SureTStatus==0'>
<span style="font-size:16px;color: #3F4254;margin-bottom: 10px;">确认状态</span>
<q-btn color="primary" size="sm" label="确认" @click='btnbonus()'/>
</div>
<div class="btnstyle" v-if='UserInfo.SureTStatus==1'>
<span style="font-size:16px;color: #3F4254;margin-bottom: 10px;">确认状态</span>
<q-btn color="primary" disable size="sm" label="已确认" />
</div>
</div> </div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -240,13 +384,14 @@ ...@@ -240,13 +384,14 @@
</div> </div>
</div> </div>
<div class="page-content" style="margin-top: 44px;"> <div class="page-content" style="margin-top: 44px;">
<q-table no-data-label="暂无相关数据" flat class="sticky-column-table" separator="none" title="" <el-table :data="UserInfo.EmployeeListResult" height="350" style="width: 100%" :header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}">
:data="UserInfo.EmployeeListResult" :columns="columns" row-key="name"> <el-table-column prop="EmployeeName" label="名称" ></el-table-column>
<template v-slot:bottom> <el-table-column prop="DeptName" label="部门" ></el-table-column>
<el-table-column prop="PostName" label="岗位"></el-table-column>
</template> <el-table-column prop="AccountRemark" label="备注"></el-table-column>
</q-table> </el-table>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -261,7 +406,12 @@ ...@@ -261,7 +406,12 @@
GetWebCartoon GetWebCartoon
} from '../../api/system/webkit' } from '../../api/system/webkit'
import { import {
getUserCenterInfo getUserCenterInfo,
getUserSellCommission,
updateSureTeachingBonusDetail,
updatSureSellCommission,
getTeacherSellCommission,//我的奖金的折线图
} from '../../api/users/user' } from '../../api/users/user'
import { import {
GetMyNoticePageList, GetMyNoticePageList,
...@@ -288,102 +438,134 @@ ...@@ -288,102 +438,134 @@
visible: true, visible: true,
noticeList: [], noticeList: [],
socektArr: [],//消息数组 socektArr: [],//消息数组
columns: [{
name: 'EmployeeName', dates: '',
label: '姓名', PeriodsTime: '',
align: 'left', dates2: '',
field: 'EmployeeName', PeriodsTime2: '',
}, sellData: [],
{ TsellData:[],
name: 'DeptName', UserInfo: {},
label: '部门',
align: 'left',
field: 'DeptName'
},
{
name: 'PostName',
label: '职位',
field: 'PostName',
align: 'left'
},
{
name: 'AccountRemark',
label: '备注',
field: 'AccountRemark',
align: 'left'
},
],
UserInfo: {
EmployeeListResult: [{
"EmployeeName": "周建",
"DeptName": "教学部",
"PostName": "实习生",
"AccountRemark": null,
"AccountId": 66,
"AccountType": 1,
"School_Id": 0,
"Id": 2689
}, {
"EmployeeName": "周建",
"DeptName": "教学部",
"PostName": "实习生",
"AccountRemark": null,
"AccountId": 66,
"AccountType": 1,
"School_Id": 0,
"Id": 2689
}, {
"EmployeeName": "周建",
"DeptName": "教学部",
"PostName": "实习生",
"AccountRemark": null,
"AccountId": 66,
"AccountType": 1,
"School_Id": 0,
"Id": 2689
},]
},
} }
}, },
created() {
let now = new Date()
now.setMonth(now.getMonth() - 4);
let Month = now.getMonth() < 10 ? '0' + now.getMonth() : now.getMonth()
this.dates = now.getFullYear() + '-' + Month
this.PeriodsTime = this.dates + '-01'
this.dates2 = now.getFullYear() + '-' + Month
this.PeriodsTime2 = this.dates + '-01'
},
mounted() { mounted() {
this.getNotify(); this.getNotify();
this.getLogList() this.getLogList()
this.getUserInfo()//个人中心 this.getUserInfo()//个人中心
this.tubiao() this.getUserSellCommission()//获取提成的图表
this.getTeacherSellCommission()//获取奖金的图表
}, },
methods: { methods: {
tubiao() { tubiao(type) {//提成的图标
var echarts = require('echarts') var echarts = require('echarts')
var myChart = echarts.init(document.getElementById('main')) var myChart ;
if(type == 1){
myChart = echarts.init(document.getElementById('main'))
}else{
myChart = echarts.init(document.getElementById('main2'))
}
var colors = '';
if(type == 1){
colors = '#F64E60'
}else{
colors = '#2961FE'
}
let xdata = []//x轴的数据
let tbdata = []//图标数据
let list = [];
if(type == 1){
list = this.sellData
}else{
list = this.TsellData
}
if(list.length>0){
list.forEach(x => {
let obj = x.MonthStr + '月'
if (x.MonthStr == 1) {
obj = x.YearStr + '-' + x.MonthStr + '月'
}
xdata.push(obj)
tbdata.push(x.TotalCommiommission)
})
}
// 指定图表的配置项和数据 // 指定图表的配置项和数据
var option = { var option = {
grid: { grid: {
left: '0%', left: '0%',
right: '0%', right: '0%',
bottom: '0%', bottom: '0%',
containLabel: true containLabel: true
}, },
tooltip: {
trigger: 'axis'
},
xAxis: { xAxis: {
type: 'category', type: 'category',
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月'] data: xdata
}, },
yAxis: { yAxis: {
type: 'value' type: 'value'
}, },
series: [{ series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320], data: tbdata,
type: 'line', type: 'line',
smooth: true smooth: true,
cursor: 'pointer',
itemStyle: {
normal: {
color: colors,
lineStyle: {
color: colors,
width: 4
}
}
},
}] }]
} }
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option) myChart.setOption(option)
}, },
batchWithdrawalCommission(val) {
if (val != null) {
this.PeriodsTime = this.dates + '-01';
this.getUserSellCommission()
}
},
batchWithdrawalCommission2(val) {
if (val != null) {
this.PeriodsTime2 = this.dates2 + '-01';
this.getTeacherSellCommission()
}
},
getUserSellCommission() {
getUserSellCommission({ PeriodsTime: this.PeriodsTime }).then(res => {
if (res.Code == 1) {
this.sellData = res.Data;
this.tubiao(1)
}
})
},
getTeacherSellCommission(){//我的奖金
getTeacherSellCommission({ PeriodsTime: this.PeriodsTime2 }).then(res => {
if (res.Code == 1) {
this.TsellData = res.Data;
this.tubiao(2)
}
})
},
//请求公告数据 //请求公告数据
getNotify() { getNotify() {
GetMyNoticePageList(this.noticeMsg).then(res => { GetMyNoticePageList(this.noticeMsg).then(res => {
...@@ -405,6 +587,7 @@ ...@@ -405,6 +587,7 @@
getUserCenterInfo().then(res => { getUserCenterInfo().then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.UserInfo = res.Data; this.UserInfo = res.Data;
} }
}) })
}, },
...@@ -445,6 +628,11 @@ ...@@ -445,6 +628,11 @@
} }
} }
},
//加载更多一次加载一条
getMoreNotify() {
this.noticeMsg.pageSize += 5;
this.getNotify();
}, },
//看过后删除 //看过后删除
readMsgLog(Id, index) { readMsgLog(Id, index) {
...@@ -457,6 +645,32 @@ ...@@ -457,6 +645,32 @@
this.socektArr.splice(index, 1); this.socektArr.splice(index, 1);
} }
}) })
},
btnbonus(){//奖金的确认
updateSureTeachingBonusDetail({Id:this.UserInfo.CommissionTId}).then(res => {
if (res.Code == 1) {
this.$q.notify({
type: 'iconfont icon-chenggong',
color: 'accent',
position: "top",
message: '确认成功'
})
this.getUserInfo()
}
})
},
btnCommission(){//提成的确定
updatSureSellCommission({Id:this.UserInfo.CommissionId}).then(res => {
if (res.Code == 1) {
this.$q.notify({
type: 'iconfont icon-chenggong',
color: 'accent',
position: "top",
message: '确认成功'
})
this.getUserInfo()
}
})
} }
}, },
......
...@@ -479,7 +479,7 @@ ...@@ -479,7 +479,7 @@
//分页改变 //分页改变
changePage(val) { changePage(val) {
this.msg.PageIndex = val; this.msg.PageIndex = val;
this.getSchool() this.getList()
}, },
getChild(deptArray) { getChild(deptArray) {
var tempStr = ""; var tempStr = "";
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="row col" style="justify-content: space-between;align-items: center;margin-bottom: 10px"> <div class="row col" style="justify-content: space-between;align-items: center;margin-bottom: 10px">
<div> <div>
<template v-if="data&& data.ClassInfo"> <template v-if="data&& data.ClassInfo">
{{data.ClassInfo.ClassName}} {{data.ClassInfo.ClassName}} <span v-if='data.ClassInfo.ClassNo!=null' style="cursor: pointer;text-decoration: underline;" @click='gojapaneseTrain(data.ClassInfo.ClassNo)'>({{data.ClassInfo.ClassNo}})</span>
</template> </template>
</div> </div>
<div class="row" style="align-items: center"> <div class="row" style="align-items: center">
...@@ -110,6 +110,12 @@ ...@@ -110,6 +110,12 @@
//刷新页面 //刷新页面
refreshClassOrder() { refreshClassOrder() {
this.getList(); this.getList();
},
gojapaneseTrain(ClassNo){//跳转到产品列表
var tempStr = '/sale/japaneseTrain?ClassNo=' + ClassNo;
this.$router.push({
path: tempStr
});
} }
} }
} }
......
...@@ -107,6 +107,9 @@ ...@@ -107,6 +107,9 @@
margin-bottom:20px; margin-bottom:20px;
box-shadow: 0px 2px 10px 0px rgba(237, 238, 240, 0.5); box-shadow: 0px 2px 10px 0px rgba(237, 238, 240, 0.5);
} }
.qussTionTitDiv img{
width:100%;
}
</style> </style>
<template> <template>
<div class="questionMain"> <div class="questionMain">
...@@ -115,7 +118,7 @@ ...@@ -115,7 +118,7 @@
<div class="col-12 edit_stem"> <div class="col-12 edit_stem">
{{objOption.QuestionTypeName}} {{objOption.QuestionTypeName}}
</div> </div>
<div class="col-12"> <div class="col-12 qussTionTitDiv">
<div v-html="objOption.Title" @click="clickQuestion($event)"></div> <div v-html="objOption.Title" @click="clickQuestion($event)"></div>
</div> </div>
<!--单选题--> <!--单选题-->
......
...@@ -224,6 +224,8 @@ ...@@ -224,6 +224,8 @@
if(this.$route.query && this.$route.query.ClassName){ if(this.$route.query && this.$route.query.ClassName){
let Name = decodeURI(this.$route.query.ClassName) let Name = decodeURI(this.$route.query.ClassName)
this.ClassName = [Name] this.ClassName = [Name]
console.log(Name)
this.msg.pageSize = 1000
} }
}, },
......
...@@ -363,6 +363,9 @@ ...@@ -363,6 +363,9 @@
if (this.$route.query && this.$route.query.ClassName) { if (this.$route.query && this.$route.query.ClassName) {
this.msg.ClassName = this.$route.query.ClassName; this.msg.ClassName = this.$route.query.ClassName;
} }
if (this.$route.query && this.$route.query.ClassNo) {
this.msg.ClassNo = this.$route.query.ClassNo;
}
let nowDay = new Date(); let nowDay = new Date();
var year = nowDay.getFullYear(); //年 var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月 var month = nowDay.getMonth() + 1; //月
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
}, },
data() { data() {
return { return {
ActionStr: "/Class/InitClassCheck", ActionStr: "/Class/InitData",
parameterList: [{ parameterList: [{
Name: "", Name: "",
Value: "" Value: ""
...@@ -156,6 +156,7 @@ ...@@ -156,6 +156,7 @@
tempStr = "{" + tempStr.substring(1, tempStr.length) + "}"; tempStr = "{" + tempStr.substring(1, tempStr.length) + "}";
data = JSON.parse(tempStr); data = JSON.parse(tempStr);
} }
var tempMsg = { var tempMsg = {
Msg: data Msg: data
}; };
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
<div class="text-muted" style="font-size:14px;margin-top: 12px;"> <div class="text-muted" style="font-size:14px;margin-top: 12px;">
{{showObj.SchoolName}}·{{showObj.PostName}}</div> {{showObj.SchoolName}}·{{showObj.PostName}}</div>
<div class="q-mt-xs"> <div class="q-mt-xs">
<q-btn style="background: var(--q-color-negative);color: white;" @click="logout">退出登录</q-btn> <q-btn style="background: var(--q-color-negative);color: white;margin-top: 10px;" size="sm" @click="logout">退出登录</q-btn>
</div> </div>
</div> </div>
</div> </div>
...@@ -131,9 +131,8 @@ ...@@ -131,9 +131,8 @@
<span class="box_l_t_l">部门:</span> <span class="box_l_t_l">部门:</span>
<span>{{showObj.DeptName}}</span> <span>{{showObj.DeptName}}</span>
</div> </div>
<!-- <div class="box_l_title" style="margin-top: 55px;">概要信息</div> --> <!-- <div :class="rightType==0?'box_l_title':'box_l_cen'" @click='rightType=0'>概要信息</div> -->
<!-- <div :class="rightType==0?'box_l_title':'box_l_cen'" @click='rightType=0'>概要信息</div> <!-- <div :class="rightType==3?'box_l_title':'box_l_cen'" @click='rightType=3'>预警信息</div> -->
<div :class="rightType==3?'box_l_title':'box_l_cen'" @click='rightType=3'>预警信息</div> -->
<div :class="rightType==1?'box_l_title':'box_l_cen'" @click='rightType=1'>账户资料</div> <div :class="rightType==1?'box_l_title':'box_l_cen'" @click='rightType=1'>账户资料</div>
<div :class="rightType==2?'box_l_title':'box_l_cen'" @click='rightType=2'>密码修改</div> <div :class="rightType==2?'box_l_title':'box_l_cen'" @click='rightType=2'>密码修改</div>
</div> </div>
......
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