Commit 72c300d0 authored by 罗超's avatar 罗超

1

parent f28105ab
This diff is collapsed.
This diff is collapsed.
<template>
<div class="page-body myOrder">
<div class="row col" style="height: 40px">
<div class="row col" style="justify-content: space-between;align-items: center;margin-bottom: 10px">
<div>
<template v-if="data&& data.ClassInfo">
{{data.ClassInfo.ClassName}}
</template>
</div>
<div class="row" style="align-items: center">
<span>带班老师</span>
<q-avatar size="sm" style="margin:0 5px;" v-if="data.ClassInfo&&data.ClassInfo.TeacherIcon">
<img :src="data.ClassInfo.TeacherIcon" />
</q-avatar>
<q-avatar style="margin:0 5px;" size="sm" color="teal-10" text-color="white" v-else>
<template
v-if="data.ClassInfo&&data.ClassInfo.TeacherName">{{data.ClassInfo.TeacherName.substring(0,1)}}</template>
</q-avatar>
<span v-if="data&& data.ClassInfo" style="color:#2961FE;font-weight: bold">
{{data.ClassInfo.TeacherName}}
</span>
</div>
</div>
</div>
<div class="page-content">
<OrderItem :dataList="dataList" ref="orderL" :authObj="authObj" :modityOrderType="2" :cancelList="CancelList"
@success="refreshClassOrder"></OrderItem>
</div>
</div>
</template>
<script>
import {
quertClassOrderList
} from '../../api/sale/sale';
import OrderItem from '../../components/sale/activeOrder-item.vue'
export default {
components: {
OrderItem
},
data() {
return {
data: {},
msg: {
Id: 0
},
//正常订单
dataList: [],
//取消订单
CancelList: [],
//权限判断
authObj: {
isShowName: true, //不显示班级名称
isShowEditSale: true, //显示修改销售按钮
isShowEducationRemark: true, //显示修改教务备注
isShowPrincipalRemark: true, //显示校长备注
isShowManagerRemark: true, //显示总经理备注
isShowCommissionEdit: true, //显示修改提成按钮
isShowRewardEdit: true, //显示修改额外提成按钮
}
}
},
created() {
if (this.$route.query.Id) {
this.msg.Id = this.$route.query.Id
}
// this.getList();
},
mounted() {
},
methods: {
//获取菜单分页列表
getList() {
this.loading = true;
quertClassOrderList(this.msg).then(res => {
this.data = res.Data;
if (this.data && this.data.OrderList && this.data.OrderList.NorList) {
this.dataList = this.data.OrderList.NorList;
let OrderIds = []
this.dataList.forEach(x => {
OrderIds.push(x.OrderId)
})
if (OrderIds.length > 0) {
OrderIds = OrderIds.join(',')
if (this.dataList.length > 0) {
this.$refs.orderL.getOrderFinanceList(OrderIds, 1)
}
}
}
if (this.data && this.data.OrderList && this.data.OrderList.CancelList) {
this.CancelList = this.data.OrderList.CancelList;
let OrderIds = []
this.CancelList.forEach(x => {
OrderIds.push(x.OrderId)
})
if (OrderIds.length > 0) {
OrderIds = OrderIds.join(',')
if (this.CancelList.length > 0) {
this.$refs.orderL.getOrderFinanceList(OrderIds, 2)
}
}
}
this.loading = false
}).catch(() => {
this.loading = false
})
},
//刷新页面
refreshClassOrder() {
this.getList();
}
}
}
</script>
<style>
</style>
This diff is collapsed.
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
<div class="col-2 q-table__title">活动列表</div> <div class="col-2 q-table__title">活动列表</div>
<q-space /> <q-space />
<div class="page-option"> <div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增" @click="editQuotation(null)" /> <!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增" @click="editQuotation(null)" /> -->
</div> </div>
</template> </template>
<template v-slot:body-cell-activeName="props"> <template v-slot:body-cell-activeName="props">
...@@ -247,9 +247,10 @@ ...@@ -247,9 +247,10 @@
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<div> <div>
<q-btn flat size="xs" icon="edit" <q-btn size="xs" class="q-mb-xs"
color="accent" style="font-weight:400" label="订单" @click=''/> color="accent" style="font-weight:400;display:block;" label="立即下单" @click='editQuotation(props.row)'/>
<q-btn size="xs"
color="accent" style="font-weight:400" label="订单中心" @click='goUrl(props.row)'/>
</div> </div>
</q-td> </q-td>
</template> </template>
...@@ -260,8 +261,7 @@ ...@@ -260,8 +261,7 @@
</q-table> </q-table>
</div> </div>
<!-- 新增修改活动类型 --> <!-- 新增修改活动类型 -->
<ActiveOrderForm v-if="showForm" :save-obj="orderObj" :orderType="1" :modityOrderType="1" :isChaBan="isChaBan" <ActiveOrderForm v-if="showForm" :save-obj="orderObj" @close="closeruleset" @success="refreshPage">
@close="closeOrderSaveForm" @success="refreshOrder">
</ActiveOrderForm> </ActiveOrderForm>
</div> </div>
...@@ -369,15 +369,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue' ...@@ -369,15 +369,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
align: "left" align: "left"
} }
], ],
// //报名列表
// dialogTableVisible: false, //是否显示弹窗
// joinData: [], //报名信息
// joinMsg: {
// LinkMan: '',
// EnrollState: 1,
// ActivityId: 0
// },
showForm:false, showForm:false,
typeObj:{} typeObj:{}
} }
...@@ -388,12 +379,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue' ...@@ -388,12 +379,6 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
this.getActiveTypeList(); this.getActiveTypeList();
}, },
methods: { methods: {
// getItem(item) {
// this.joinMsg.ActivityId = item.Id;
// this.getJoinData();
// },
//获取活动类型下拉 //获取活动类型下拉
getActiveTypeList(){ getActiveTypeList(){
this.apipostDS("/api/Education/GetCommerceActivityTypeList",{},(res)=>{ this.apipostDS("/api/Education/GetCommerceActivityTypeList",{},(res)=>{
...@@ -440,14 +425,10 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue' ...@@ -440,14 +425,10 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
this.showForm = false; this.showForm = false;
this.getList(); this.getList();
}, },
//显示修改 //显示下单
editQuotation(item) { editQuotation(item) {
this.showForm = true; this.showForm = true;
if (item) { this.orderObj=item
this.typeObj = item;
}else{
this.typeObj = {};
}
}, },
//重新查询 //重新查询
resetSearch() { resetSearch() {
...@@ -463,29 +444,17 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue' ...@@ -463,29 +444,17 @@ import ActiveOrderForm from '../../components/sale/activeOrder-form.vue'
closeruleset() { closeruleset() {
this.showForm = false; this.showForm = false;
}, },
goUrl(url,item,type=0){ //跳转到订单中心
if(type===1){ goUrl(item) {
this.$router.push({ var tempStr = '/sale/activeOrderList?Id=' + item.Id;
path:url, this.$router.push({
query:{ path: tempStr
name:item.ActivityName });
} },
})
}else{
this.$router.push({
path:url,
query:{
Id:item.Id
}
})
}
}
} }
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
<template>
<div class="page-body myOrder">
<div style="width: 100%;display: flex;justify-content: space-between">
<span style="font-size: 20px;font-weight: 400; ">活动报名订单</span>
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" type="number" v-model="msg.Id"
label="订单号" @clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.LinkMan" label="联系人"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.EnrollState" :options="EnrollStateOpt" emit-value map-options label="报名状态" />
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间">
 </el-date-picker>       
</template>
</q-field>
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间">
 </el-date-picker>       
</template>
</q-field>
</div>
</div>
</div>
<div class="col row wrap q-gutter-x-md" v-if="data.Statistics">
<div class="col stics">
<span class="stics-name">应收款</span>
<span>{{data.Statistics.PreferPrice?data.Statistics.PreferPrice:0}}</span>
</div>
<div class="col stics">
<span class="stics-name">实收款</span>
<span>{{data.Statistics.Income}}</span>
</div>
<div class="col stics">
<span class="stics-name">待收款</span>
<span style="color: #F72E52">{{data.Statistics.DueInMoney}}</span>
</div>
<div class="col stics">
<span class="stics-name">收客人数</span>
<span style="color:#2961FE;">{{data.Statistics.GuestNum}}人</span>
</div>
<div class="col stics">
<span class="stics-name">取消人数</span>
<span>{{data.Statistics.CancelNum}}人</span>
</div>
<div class="col stics">
<span class="stics-name">提成金额</span>
<span>{{data.Statistics.CommissionMoney}}</span>
</div>
<div class="col stics">
<span class="stics-name">额外奖励</span>
<span>{{data.Statistics.ExtraRewardMoney}}</span>
</div>
</div>
<div class="row col" style="justify-content: flex-end">
<div class="row tis">
<div class="tis-k" style="background: #2961FE"></div>
<span>已打单</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #02C499"></div>
<span>平台出纳已审核</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #F28C1D"></div>
<span>银行出纳已审核</span>
</div>
<div class="row tis">
<div class="tis-k" style="background: #3FC4FF"></div>
<span>已通过</span>
</div>
</div>
<div class="page-content">
<activeOrder :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="1"
ref="orderL">
</activeOrder>
<div class="row" style="justify-content: flex-end;padding: 5px 20px">
<q-pagination v-model="msg.pageIndex" :max="pageCount" @input="changePage" class="full-width justify-end"
color="primary" :input="true">
</q-pagination>
</div>
</div>
</div>
</template>
<script>
// import myOrderForm from '../../components/sale/myOrder-form'
import activeOrder from '../../components/sale/activeOrder-item'
export default {
meta: {
title: "我的活动订单"
},
components: {
// myOrderForm,
activeOrder
},
data() {
return {
dialog: false,
data: {},
loading: false,
dateList: [], //报名时间
dateList2: [], //开班时间
msg: {
pageIndex: 1,
pageSize: 8,
Id: "", //活动id
ActivityName: "", //活动名称
EduUserId: 0, //销售id
CreateStartTime: "", //报名开始时间
CreateEndTime: "", //报名结束时间
StartTime: "", //活动开始时间
EndTime: "", //活动结束时间
EnrollState: 3, //报名状态
LinkMan: "", //联系人
},
EnrollStateOpt: [ //报名状态列表
{
Name: "正常",
Id: 1
},
{
Name: "取消",
Id: 2
},
{
Name: "查询所有",
Id: 3
},
],
pageCount: 1,
showone: false,
//权限判断
authObj: {
isShowGuestBtn: 1, //显示新增学员名单按钮
isShowFinanceBtn: true, //显示财务单据按钮
isShowTransOrder: true, //显示转交订单按钮
isShowSaleRemark: true, //显示修改销售备注
isShowBackClass: true, //显示退课按钮
isShowRenewClass: true, //显示续课按钮
}
}
},
created() {
let data= JSON.parse(localStorage.getItem("loginUserInfo")).data
this.msg.EduUserId=data.Id
},
mounted() {
this.getList();
},
methods: {
//翻页
changePage(val) {
if (this.showone == true) {
this.msg.pageIndex = val;
this.getList()
} else {
this.showone = true
}
},
resetSearch() {
this.msg.pageIndex = 1;
this.getList()
},
//获取订单列表
getList() {
if (this.dateList && this.dateList.length > 0) {
this.msg.CreateStartTime = this.dateList[0];
this.msg.CreateEndTime = this.dateList[1];
} else {
this.msg.CreateStartTime = '';
this.msg.CreateEndTime = '';
}
if (this.dateList2 && this.dateList2.length > 0) {
this.msg.StartTime = this.dateList2[0];
this.msg.EndTime = this.dateList2[1];
} else {
this.msg.StartTime = '';
this.msg.EndTime = '';
}
let msg = JSON.parse(JSON.stringify(this.msg));
if (msg.Id == '' || msg.Id == null) {
msg.Id = 0
}
this.loading = true;
this.apipostDS("/api/Education/GetConsultOrderStatisticsPage", msg, (res) => {
this.loading = false
if (res.data.resultCode === 1) {
console.log(319, res.data)
this.data = res.data.pageData;
let OrderIds = []
// this.data.forEach(x => {
// OrderIds.push(x.Id)
// })
// OrderIds = OrderIds.join(',')
// if (this.data.length > 0) {
// this.$refs.orderL.getOrderFinanceList(OrderIds, 1)
// }
this.pageCount = res.data.pageCount;
}
})
},
//刷新页面
refreshClassOrder() {
this.getList();
},
}
}
</script>
<style>
li {
list-style-type: none;
}
.myOrder ul {
padding: 0px
}
.myOrder .price-popup {
border-radius: 4px;
}
.myOrder .el-range-editor .el-range-input {
background: transparent;
}
.myOrder .el-range-editor.el-input__inner {
background-color: transparent;
}
.myOrder .q-mb-md {
margin-bottom: 0;
}
.myOrder .stics {
padding: 10px 20px;
background: #DDDEE0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold
}
.myOrder .stics .stics-name {
color: #2D2D2D;
font-weight: 600;
margin-right: 10px
}
.myOrder .tis {
margin: 10px 0;
align-items: center
}
.myOrder .tis .tis-k {
width: 10px;
height: 10px;
margin-right: 8px
}
.myOrder .tis span {
font-size: 14px;
color: #2D2D2D;
font-weight: 600;
margin-right: 20px
}
</style>
...@@ -676,6 +676,21 @@ const routes = [{ ...@@ -676,6 +676,21 @@ const routes = [{
component: () => component: () =>
import("pages/sale/activityList.vue") import("pages/sale/activityList.vue")
}, },
{
path: "/sale/activeOrderList", //销售 活动订单中心
component: () =>
import("pages/sale/activeOrderList.vue")
},
{
path: "/sale/myActiveOrder", //销售 我的活动订单
component: () =>
import("pages/sale/myActiveOrder.vue")
},
{
path: "/sale/activeOrderStatistics", //销售 活动订单统计
component: () =>
import("pages/sale/activeOrderStatistics.vue")
},
{ {
path: "/activity/activeType", //活动 活动类型 path: "/activity/activeType", //活动 活动类型
component: () => component: () =>
...@@ -771,7 +786,7 @@ const routes = [{ ...@@ -771,7 +786,7 @@ const routes = [{
component: () => component: () =>
import("pages/user/personalData.vue") import("pages/user/personalData.vue")
}, },
{ {
path: "/course/questionlist", //题库列表 path: "/course/questionlist", //题库列表
component: () => component: () =>
......
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