Commit d5472a5f authored by 罗超's avatar 罗超

1

parent e9d932c0
......@@ -65,7 +65,8 @@
<div>
{{item.PaymentWayName}}
</div>
<div>{{item.EduSellName}}</div>
<div v-if="item.EduSellName">{{item.EduSellName}}</div>
<div v-if="!item.EduSellName">暂未绑定销售</div>
<div>{{item.ActivityName}}</div>
<div>活动开始时间:</div>
<div>{{item.StartTime}}</div>
......@@ -204,11 +205,18 @@
</div>
</td>
<td style="border:none">
<template v-if="isEditOrder||AuthorityObj.isShowEdit">
<template v-if="(isEditOrder||AuthorityObj.isShowEdit)&&!formActiveMan">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="editOrder(item)" v-if="item.EduUserId===loginId&&item.PaymentWay!==1"/>
@click="editOrder(item)" v-if="item.EduUserId===loginId&&item.PaymentWay!==1" />
</template>
<q-btn-dropdown flat size="xs" color="dark" label="更多" v-if="item.EduUserId===loginId&&item.PaymentWay!==1" style="margin-left:10px;">
<template v-if="formActiveMan&&item.IsApplyForCancel==1&&item.Status===0">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="同意"
@click="handleApply(1,item)" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="拒绝"
@click="handleApply(2,item)" />
</template>
<q-btn-dropdown flat size="xs" color="dark" label="更多"
v-if="item.EduUserId===loginId&&item.PaymentWay!==1&&!formActiveMan" style="margin-left:10px;">
<q-list>
<!-- <q-item clickable v-close-popup>
<q-item-section @click="gostudent(item)">
......@@ -284,7 +292,8 @@
</q-tooltip>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-else-if="item.Status===0&&item.IsApplyForCancel===0&&item.ApplyForCancelStatus===0">
<q-item clickable v-close-popup
v-else-if="item.Status===0&&item.IsApplyForCancel===0&&item.ApplyForCancelStatus===0">
<q-item-section @click="CancelOrder(item)">
<q-item-label>取消订单</q-item-label>
</q-item-section>
......@@ -307,8 +316,6 @@
<tr>
<td :colspan="12" style="height: 168px;text-align: left">
<div class="col row remarks q-gutter-x-md">
<div class="col">
<div>客户备注:</div>
<div class="remarks-b ">
......@@ -362,9 +369,8 @@
<div class="col">
<div class="row" style="justify-content: space-between">
<span>收款单据:</span>
<q-btn flat size="xs" icon="edit"
v-if="item.UserId===0"
style="font-weight:400;color: #02C499" label="修改" @click="goShoukuan(item,1)" />
<q-btn flat size="xs" icon="edit" v-if="item.UserId===0" style="font-weight:400;color: #02C499"
label="修改" @click="goShoukuan(item,1)" />
<!-- <q-btn flat size="xs" icon="edit"
v-if="AuthorityObj.isShowFinanceBtn&&AuthorityObj.isShowEdit&&item.OrderType==2"
style="font-weight:400;color: #02C499" label="修改" @click="chanceType(item,1)" /> -->
......@@ -406,9 +412,8 @@
</div>
<div class="row" style="justify-content: space-between">
<span>付款单据:</span>
<q-btn flat size="xs" icon="edit"
v-if="item.UserId===0"
style="font-weight:400;color: #02C499" label="修改" @click="goShoukuan(item,2)" />
<q-btn flat size="xs" icon="edit" v-if="item.UserId===0" style="font-weight:400;color: #02C499"
label="修改" @click="goShoukuan(item,2)" />
<!-- <q-btn flat size="xs" icon="edit"
v-if="AuthorityObj.isShowFinanceBtn&&AuthorityObj.isShowEdit&&item.OrderType==2"
style="font-weight:400;color: #02C499" label="修改" @click="chanceType(item,2)" /> -->
......@@ -780,6 +785,10 @@
modityOrderType: {
type: Number,
default: 0, //1-销售修改,2-OP修改,3-总经理修改
},
formActiveMan:{
type:Boolean,
default:false
}
},
data() {
......@@ -831,7 +840,7 @@
isEditOrder: false, //是否有【总经理】修改订单但权限
newModityOrderType: 0,
isChaBan: 0, //是否插班(0-正常报入,1-插班报入)
loginId:-1,//登录人id
loginId: -1, //登录人id
}
},
created() {
......@@ -850,7 +859,7 @@
}
})
}
this.loginId=JSON.parse(localStorage.getItem("loginUserInfo")).data.Id
this.loginId = JSON.parse(localStorage.getItem("loginUserInfo")).data.Id
},
watch: {
dataList: {
......@@ -1133,7 +1142,7 @@
})
//调用父页面成功方法
that.$emit('success');
}else{
} else {
that.Error(res.data.message)
}
})
......@@ -1287,7 +1296,7 @@
});
},
//跳转到收款单type=2付款,1收款
goShoukuan(item,type) {
goShoukuan(item, type) {
// let TCIDARR = []
// TCIDARR.push(this.msg.ClassId)
let orderObj = {
......@@ -1297,8 +1306,8 @@
// SourceID: 0,
// TCIDList: TCIDARR,
OtherType: 40,
ReFinanceId: item.ActivityId,//活动id
ReFinanceId2: item.Id,//订单id
ReFinanceId: item.ActivityId, //活动id
ReFinanceId2: item.Id, //订单id
}
this.$router.push({
path: '/financial/financalDocument/ChoiceAddFinancialDocuments',
......@@ -1314,6 +1323,13 @@
});
},
handleApply(type,item){//1,同意;2,拒绝
if(type===1){
this.$emit("agree",item)
}else if(type===2){
this.$emit("refuse",item)
}
}
}
}
......
<style>
li {
list-style-type: none;
}
.activeType ul {
padding: 0px;
}
.activeType li {
background: rgba(221, 222, 224, 0.2);
border-radius: 4px;
margin-top: 15px;
}
.activeType li .dline {
display: table;
width: 100%;
display: flex;
flex-direction: row;
}
.activeType li .d1,
.activeType li .d2,
.activeType li .d3,
.activeType li .d4,
.activeType li .d5 {
width: 18%;
padding: 20px 20px 10px;
}
.activeType li .d7 {
flex: 1;
width: 1px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.activeType li .d1 .di-title {
font-size: 16px;
color: #111111;
}
.activeType li .d1 .di-c {
font-size: 14px;
display: flex;
line-height: 28px;
color: #111111;
}
.activeType li .d6 {
padding: 10px 20px;
width: 100%;
height: inherit;
position: relative;
border-top: 1px solid #dddee0;
}
.activeType li .d6 .progress {
width: 100%;
height: 5px;
position: absolute;
left: 0;
bottom: 0;
}
.activeType li .d2 div {
margin: 2px 0;
font-size: 14px;
color: #111111;
}
.activeType li .d2-n {
font-size: 12px;
color: #999999;
margin-right: 20px;
}
.activeType li .d3 .d3-s {
color: var(--q-color-negative);
font-weight: bold;
}
.activeType li .d3 div {
margin: 2px 0;
font-size: 14px;
}
.activeType li .d4 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType li .d5 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType .myCourseNName {
width: 25px;
height: 25px;
border-radius: 50%;
color: #fff !important;
text-align: center;
line-height: 25px;
background-color: #004d40;
}
.activeType .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
</style>
<template>
<div class="page-body activeType">
<!-- <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 @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.TypeName" label="类型名称"
@clear="resetSearch" maxlength="20" />
<div class="page-body myActiveOrder">
<div class="row col" style="height: 40px">
<div class="row col " style="align-items: center;margin-bottom: 10px">
<q-btn color="accent" size="sm" class="q-mr-md " label="返回" @click="goBack" />
<div v-if="activeName">
活动名称:{{activeName}}
</div>
</div>
</div> -->
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<q-btn color="accent" size="sm" class="q-mr-md" label="返回" @click="goBack" />
<div class="col-2 q-table__title">活动报名列表</div>
<q-space />
<!-- <div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增" @click="editQuotation(null)" />
</div> -->
</template>
<!-- <template v-slot:body-cell-CoverImage="props">
<q-td :props="props">
<div class="app-image"
:style="{backgroundImage:'url(' + props.row.CoverImage + ')',backgroundSize:'cover'}">
</div>
</q-td>
</template> -->
<template v-slot:body-cell-Status="props">
<q-td :props="props">
<span v-if="props.row.Status===0">正常</span>
<span v-if="props.row.Status===1">取消</span>
</q-td>
</template>
<template v-slot:body-cell-OrderStatus="props">
<q-td :props="props">
<span v-if="props.row.OrderStatus===0">未支付</span>
<span v-if="props.row.OrderStatus===1">已支付</span>
</q-td>
</template>
<template v-slot:body-cell-quxiaomoney="props">
<q-td :props="props" >
<span v-if="props.row.Status===1">{{props.row.Money}}</span>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props" v-if="props.row.IsApplyForCancel==1&&props.row.Status===0">
<div>
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="同意" @click="agreeApply(props.row)" />
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="拒绝" @click="jujueMsg(props.row)" />
<div class="page-content">
<OrderItem :dataList="data.List" ref="orderL" :authObj="authObj" :modityOrderType="2" :cancelList="CancelList" :formActiveMan="true" @agree="agreeApply" @refuse="jujueMsg"
@success="refreshClassOrder"></OrderItem>
<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>
</q-td>
</template>
<template v-slot:bottom>
<!-- <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> -->
</template>
</q-table>
</div>
<!-- 拒绝报名 -->
<el-dialog title="拒绝报名" :visible.sync="showJujue" width="600px">
......@@ -189,127 +24,92 @@
</div>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" size="small" @click="sureJujue">确定</el-button> -->
<q-btn text-color="accent" size="sm" class="q-mr-md" label="取消" @click="showJujue=false" />
<q-btn color="accent" size="sm" class="q-mr-md" label="确定" @click="sureJujue" />
</span>
</el-dialog>
</div>
</template>
<script>
import {
quertClassOrderList
} from '../../api/sale/sale';
import OrderItem from '../../components/sale/activeOrder-item.vue'
export default {
meta: {
title: "报名列表"
meta:{
title:"活动报名列表"
},
components: {
OrderItem
},
data() {
return {
data: [],
loading: true,
data: {},
activeName:"",
msg: {
pageIndex: 1,
pageSize: 10,
ActivityId:0,
EnrollState:3,
rowsPerPage:0
},
pageCount: 0,
columns: [
{
name: "LinkMan",
label: "联系人",
field: "LinkMan",
align: "left"
},
{
name: "LinkTel",
label: "联系电话",
field: "LinkTel",
align: "left"
},
{
name: "UnitPrice",
label: "单价",
field:"UnitPrice",
align: "left",
},
{
name: "Money",
label: "应收",
field:"Money",
align: "left",
pageIndex:1,
pageSize:10,
ActivityId: 0
},
pageCount:0,
//正常订单
dataList: [],
//取消订单
CancelList: [],
//权限判断
authObj: {
isShowName: true, //不显示班级名称
isShowEditSale: true, //显示修改销售按钮
isShowEducationRemark: true, //显示修改教务备注
isShowPrincipalRemark: true, //显示校长备注
isShowManagerRemark: true, //显示总经理备注
isShowCommissionEdit: true, //显示修改提成按钮
isShowRewardEdit: true, //显示修改额外提成按钮
},
{
name: "Status",
label: "状态",
field:"Status",
align: "left"
},
{
name: "OrderNo",
required: true,
label: "订单号",
field:"OrderNo",
align: "left",
},
{
name: "OrderStatus",
required: true,
label: "订单状态",
field:"OrderStatus",
align: "left",
},
{
name: "PaymentTime",
label: "支付时间",
field:"PaymentTime",
align: "left"
},
{
name: " quxiaomoney",
label: "取消金额",
align: "left"
},
{
name: "Remark",
label: "备注",
field:"Remark",
align: "left"
},
{
name: 'optioned',
label: '申请取消审核状态',
align: "left"
}
],
showForm:false,
typeObj:{},
bdMsg: {
Id: 0, //报名id
ApplyForCancelStatus: 1, //申请取消审核状态 1同意 2拒绝
RejectRemark: ''
},
showJujue:false,
}
},
mounted() {
if(this.$route.query.name){
this.msg.ActivityName = this.$route.query.name;
created() {
if (this.$route.query.Id) {
this.msg.ActivityId = this.$route.query.Id
}
if (this.$route.query.name) {
this.activeName = this.$route.query.name
}
this.msg.ActivityId = this.$route.query.Id;
this.getList();
},
mounted() {
},
methods: {
getList(){
//获取订单列表
getList() {
this.loading = true;
this.apipostDS("/api/Education/GetCommerceConsultAndFinancePage",this.msg,(res)=>{
this.apipostDS("/api/Education/GetConsultOrderStatisticsPage",this.msg, (res) => {
this.loading = false
if(res.data.resultCode===1){
this.data = res.data.data;
if (res.data.resultCode === 1) {
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}
})
},
//刷新页面
refreshClassOrder() {
this.getList();
},
goBack(){
this.$router.go(-1)
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
//同意
agreeApply(item) {
......@@ -323,6 +123,7 @@
this.Error(res.data.message);
}
})
console.log(122, this.bdMsg,item)
},
jujueMsg(item){
this.bdMsg.Id = item.Id;
......@@ -345,15 +146,35 @@
}
})
},
goBack(){
this.$router.go(-1)
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
<style >
.myActiveOrder .table-body{
height: calc(100vh - 220px);
}
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
.myActiveOrder .table-body::-webkit-scrollbar
{
width: 5px;
height: 5px;
background-color: #F5F5F5;
}
/*定义滚动条轨道 内阴影+圆角*/
.myActiveOrder .table-body::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
background-color: #F5F5F5;
}
/*定义滑块 内阴影+圆角*/
.myActiveOrder .table-body::-webkit-scrollbar-thumb
{
border-radius: 5px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #555;
}
</style>
<style>
li {
list-style-type: none;
}
.activeType ul {
padding: 0px;
}
.activeType li {
background: rgba(221, 222, 224, 0.2);
border-radius: 4px;
margin-top: 15px;
}
.activeType li .dline {
display: table;
width: 100%;
display: flex;
flex-direction: row;
}
.activeType li .d1,
.activeType li .d2,
.activeType li .d3,
.activeType li .d4,
.activeType li .d5 {
width: 18%;
padding: 20px 20px 10px;
}
.activeType li .d7 {
flex: 1;
width: 1px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.activeType li .d1 .di-title {
font-size: 16px;
color: #111111;
}
.activeType li .d1 .di-c {
font-size: 14px;
display: flex;
line-height: 28px;
color: #111111;
}
.activeType li .d6 {
padding: 10px 20px;
width: 100%;
height: inherit;
position: relative;
border-top: 1px solid #dddee0;
}
.activeType li .d6 .progress {
width: 100%;
height: 5px;
position: absolute;
left: 0;
bottom: 0;
}
.activeType li .d2 div {
margin: 2px 0;
font-size: 14px;
color: #111111;
}
.activeType li .d2-n {
font-size: 12px;
color: #999999;
margin-right: 20px;
}
.activeType li .d3 .d3-s {
color: var(--q-color-negative);
font-weight: bold;
}
.activeType li .d3 div {
margin: 2px 0;
font-size: 14px;
}
.activeType li .d4 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType li .d5 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType .myCourseNName {
width: 25px;
height: 25px;
border-radius: 50%;
color: #fff !important;
text-align: center;
line-height: 25px;
background-color: #004d40;
}
.activeType .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
</style>
<template>
<div class="page-body activeType">
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<q-btn color="accent" size="sm" class="q-mr-md" label="返回" @click="goBack" />
<div class="col-2 q-table__title">活动报名列表</div>
</template>
<template v-slot:body-cell-Status="props">
<q-td :props="props">
<span v-if="props.row.Status===0">正常</span>
<span v-if="props.row.Status===1">取消</span>
</q-td>
</template>
<template v-slot:body-cell-OrderStatus="props">
<q-td :props="props">
<span v-if="props.row.OrderStatus===0">未支付</span>
<span v-if="props.row.OrderStatus===1">已支付</span>
</q-td>
</template>
<template v-slot:body-cell-quxiaomoney="props">
<q-td :props="props" >
<span v-if="props.row.Status===1">{{props.row.Money}}</span>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props" v-if="props.row.IsApplyForCancel==1&&props.row.Status===0">
<div>
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="同意" @click="agreeApply(props.row)" />
<q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="拒绝" @click="jujueMsg(props.row)" />
</div>
</q-td>
</template>
<template v-slot:bottom>
<!-- <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> -->
</template>
</q-table>
</div>
<!-- 拒绝报名 -->
<el-dialog title="拒绝报名" :visible.sync="showJujue" width="600px">
<div class="activityFlex">
<el-input type="textarea" rows="4" v-model="bdMsg.RejectRemark"></el-input>
</div>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" size="small" @click="sureJujue">确定</el-button> -->
<q-btn color="accent" size="sm" class="q-mr-md" label="确定" @click="sureJujue" />
</span>
</el-dialog>
</div>
</template>
<script>
export default {
meta: {
title: "报名列表"
},
data() {
return {
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 10,
ActivityId:0,
EnrollState:3,
rowsPerPage:0
},
pageCount: 0,
columns: [
{
name: "LinkMan",
label: "联系人",
field: "LinkMan",
align: "left"
},
{
name: "LinkTel",
label: "联系电话",
field: "LinkTel",
align: "left"
},
{
name: "UnitPrice",
label: "单价",
field:"UnitPrice",
align: "left",
},
{
name: "Money",
label: "应收",
field:"Money",
align: "left",
},
{
name: "Status",
label: "状态",
field:"Status",
align: "left"
},
{
name: "OrderNo",
required: true,
label: "订单号",
field:"OrderNo",
align: "left",
},
{
name: "OrderStatus",
required: true,
label: "订单状态",
field:"OrderStatus",
align: "left",
},
{
name: "PaymentTime",
label: "支付时间",
field:"PaymentTime",
align: "left"
},
{
name: " quxiaomoney",
label: "取消金额",
align: "left"
},
{
name: "Remark",
label: "备注",
field:"Remark",
align: "left"
},
{
name: 'optioned',
label: '申请取消审核状态',
align: "left"
}
],
showForm:false,
typeObj:{},
bdMsg: {
Id: 0, //报名id
ApplyForCancelStatus: 1, //申请取消审核状态 1同意 2拒绝
RejectRemark: ''
},
showJujue:false,
}
},
mounted() {
if(this.$route.query.name){
this.msg.ActivityName = this.$route.query.name;
}
this.msg.ActivityId = this.$route.query.Id;
this.getList();
},
methods: {
getList(){
this.loading = true;
this.apipostDS("/api/Education/GetCommerceConsultAndFinancePage",this.msg,(res)=>{
this.loading = false
if(res.data.resultCode===1){
this.data = res.data.data;
}
})
},
//同意
agreeApply(item) {
this.bdMsg.Id = item.Id;
this.bdMsg.ApplyForCancelStatus = 1;
this.apipostDS("/api/Education/SetCommerceConsultApplyCancel", this.bdMsg, res => {
if (res.data.resultCode == 1) {
this.Success("操作成功")
this.getList()
} else {
this.Error(res.data.message);
}
})
},
jujueMsg(item){
this.bdMsg.Id = item.Id;
this.showJujue=true;
},
// 拒绝
sureJujue(){
if(!this.bdMsg.RejectRemark){
this.Error("请输入拒绝原因")
return
}
this.bdMsg.ApplyForCancelStatus = 2;
this.apipostDS("/api/Education/SetCommerceConsultApplyCancel", this.bdMsg, res => {
if (res.data.resultCode == 1) {
this.showJujue=false;
this.Success("操作成功")
this.getList()
} else {
this.Error(res.data.message);
}
})
},
goBack(){
this.$router.go(-1)
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -259,7 +259,7 @@
<q-item-label>删除</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl('/activity/activeSignUpList',props.row)">
<q-item clickable v-close-popup @click="goUrl1('/activity/activeSignUpList',props.row)">
<q-item-section>
<q-item-label>报名列表</q-item-label>
</q-item-section>
......@@ -503,7 +503,15 @@
}
})
}
},
goUrl1(url,item){
this.$router.push({
path: url,
query: {
Id: item.Id,
name:item.ActivityName
}
})
}
}
}
......
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