Commit 110c3612 authored by 黄奎's avatar 黄奎

报名限制

parent bdb012bc
......@@ -75,7 +75,7 @@
</image>
</div>
<div class="good-info">
<div class="good-name">
<div class="good-name" :class="[cx.edudata.ClassCondition.length>0?'good-namee2':'']">
<view
v-if="cx.marketingLogo.iswords && cx.marketingLogo.iswords==1&& cx.marketingLogo.words!=''"
class="Logo" :style="{color: cx.marketingLogo.wordsColor,
......@@ -91,6 +91,12 @@
{{cx.freeShippingFullMoneyPinkage==0 && cx.freeShippingFullNumPinkage>0?cx.freeShippingFullNumPinkage+'件包邮':''}}
</view>
{{ cx.name }}
<view v-if="cx.edudata.ClassCondition.length>0" class="limit" @touchstart="mouseover()" @touchend="mouseLeave()">
<u-icon name="lock" size="44" :color="mainColor" />
<view class="limit-box" v-show="limitShow">
此课程有报名限制,请点击详情查看
</view>
</view>
</div>
<div class="goodprice">
<div class="left">
......@@ -222,6 +228,7 @@
props: ["d", "h"],
data() {
return {
limitShow:false,
ind: 1,
show: false,
Theclass: [{
......@@ -294,6 +301,14 @@
// this.u = uni.getStorageSync('mall_UserInfo5')
},
methods: {
// 鼠标移进时间
mouseover(){
console.log('44444')
this.limitShow = true
},
mouseLeave() {
this.limitShow = false
},
remaining(i) {
this.$nextTick(function() {
i.show = !i.show
......@@ -534,6 +549,20 @@
</script>
<style>
.limit{
/* position: relative; */
}
.limit-box{
position: absolute;
right: 0px;
font-size: 12px;
color: #fff;
background-color: rgba(0, 0, 0, 0.6);
}
.good-namee2{
display: flex !important;
position: relative;
}
.rema3{
margin-bottom: 8rpx;
}
......
......@@ -14,7 +14,8 @@
<img style="width:50rpx;height:50rpx;margin-right:10px" :src="item.src" alt="" />
<span style="position:relative;top:-7px">{{item.Name}}</span>
</p> -->
<u-radio-group v-model="payment" :size="36" :active-color='mc' @change="radioChange" :wrap="true">
<u-radio-group v-model="payment" :size="36" :active-color='mc' @change="radioChange"
:wrap="true">
<u-radio shape="circle" :name="0" :wrap="true">
<img style="width:50rpx;height:50rpx;margin-right:10px"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/wx.png" alt="" />
......@@ -55,7 +56,9 @@
</view>
<view class="Alipay-text4" @click="send()" style="margin-bottom: 86rpx;">
去发送
<button open-type="contact" send-message-title="支付" style="position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;" :show-message-card="true">0</button>
<button open-type="contact" send-message-title="支付"
style="position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0;"
:show-message-card="true">0</button>
</view>
......@@ -84,7 +87,8 @@
props: ['payInfo', 'isAlipay', 'StuId', 'TeacherIds'],
data() {
return {
url:'',
times: null,
url: '',
AlipayMask: false,
mc: {},
payment: 0,
......@@ -112,6 +116,17 @@
console.log(wx)
this.u = uni.getStorageSync('mall_UserInfo')
this.mc = this.$uiConfig.mainColor;
this.TimingState();
this.times = setInterval(() => {
this.TimingState();
}, 30000);
},
onShow (){
this.TimingState();
this.times = setInterval(() => {
this.TimingState();
}, 30000);
},
wacth: {
payInfo: {
......@@ -122,6 +137,30 @@
}
},
methods: {
// 定时查询状态
TimingState() {
let that =this
this.request2({
url: '/api/AppletOrder/GetAppletMyOrderInfo',
data: {
OrderId: this.payInfo.OrderId,
NewUserId: 0
}
},
(res) => {
if(res.data.OrderStatus==5){
clearInterval(this.times);
uni.navigateTo({
url: `/pages/order-submit/pay-success2?payInfo=${JSON.stringify(that.payInfo)}&StuId=${that.StuId}&TeacherIds=${that.TeacherIds}`
// url: '/pages/order-submit/pay-success2?payInfo='+JSON.stringify(that.payInfo)
});
that.pay = false
}
console.log('状态',res.data.OrderStatus)
}
);
},
radioChange(e) {
if (e == 0) {
this.payType = 'wx_lite'
......@@ -182,7 +221,7 @@
if (res.data != '') {
if (this.payType != 'wx_lite') {
this.aliPay(res.data)
this.AlipayMask =true
this.AlipayMask = true
this.pay = false
} else {
this.wxPay(JSON.parse(res.data))
......@@ -260,7 +299,7 @@
</script>
<style>
.fangs{
.fangs {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: bold;
......@@ -268,9 +307,11 @@
margin-right: 10rpx;
width: 60rpx;
}
.item-box{
.item-box {
position: relative;
}
.Alipay-box {
/* height: 930rpx; */
background: #FFFFFF;
......
......@@ -214,11 +214,6 @@
that.requestJJSWAdmin(testCmd, postMsg,
(res) => {
if (res.data.Code == 1) {
// uni.showToast({
// title: '提交成功',
// icon: 'exception',
// duration: 2000
// });
uni.navigateBack({
delta: 1
});
......
......@@ -142,6 +142,41 @@
<text v-if="g.edu_data.EndOrderTime" class="sign-dian"></text>
<text v-if="g.edu_data.ClassNum">{{g.edu_data.ClassNum}}次</text>
</view>
<!-- 报名限制 -->
<view v-if='g.edu_data.ClassCondition.length>0'>
<view class="limit">
<view v-if="ItemType1 && ItemType1.length > 0" class="box-title">
只允许以下学员报名
</view>
<text v-for="(item, index) in ItemType1" class="box-name">
{{ index + 1 }}:{{ item.ItemName }}。
</text>
<view v-if="ItemType2 && ItemType2.length > 0" class="box-title">
只允许以下年级学员报名
</view>
<text v-for="(item, index) in ItemType2" class="box-name">
{{ index + 1 }}:{{ item.ItemName }}。
</text>
<view v-if="ItemType3 && ItemType3.length > 0" class="box-title">
只允许曾报以下课程学员报名
</view>
<text v-for="(item, index) in ItemType3" class="box-name">
{{ index + 1 }}:{{ item.ItemName }}。
</text>
<view v-if="ItemType4 && ItemType4.length > 0" class="box-title">
只允许曾报以下班级学员报名
</view>
<text v-for="(item, index) in ItemType4" class="box-name">
{{ index + 1 }}:{{ item.ItemName }}。
</text>
<view v-if="ItemType5 && ItemType5.length > 0" class="box-title">
考试成绩:
</view>
<text v-for="(item, index) in ItemType5" class="box-name">
{{ index + 1 }}:{{ item.ItemName }}。
</text>
</view>
</view>
<!-- 价格 -->
<view :style="{ color: mc }" class="the-price">
<text class="small22"></text>
......@@ -462,6 +497,11 @@
export default {
data() {
return {
ItemType1: [],
ItemType2: [],
ItemType3: [],
ItemType4: [],
ItemType5: [],
barStyle: {
height: 'mc ',
},
......@@ -541,12 +581,17 @@
this.scrollTop = e.scrollTop;
},
onLoad(option) {
this.ItemType1 = [],
this.ItemType2 = [],
this.ItemType3 = [],
this.ItemType4 = [],
this.ItemType5 = [],
this.opTionObj = option;
console.log(option, "option");
if (option && option.id) {
this.id = option.id ? option.id : 29; //40887 59512 46942
} else {
this.id = option.GoodsId ? option.GoodsId : 29; //40887 59512 46942
this.id = option.GoodsId ? option.GoodsId : 774192; //774192
}
if (option && option.custom_params) {
let custom_params = JSON.parse(decodeURIComponent(option.custom_params));
......@@ -602,7 +647,7 @@
// this.init();
// this.initPage();
// }
this.init();
this.initPage();
this.getVipId();
this.mc = this.$uiConfig.mainColor;
......@@ -677,6 +722,7 @@
setTimeout(() => {
this.initImages();
}, 3000);
this.init();
},
methods: {
// counter() {
......@@ -772,6 +818,21 @@
(res) => {
if (res.resultCode == 1) {
this.g = res.data.goods;
// 报名限制数组
res.data.goods.edu_data.ClassCondition.forEach(item2 => {
if (item2.ItemType == 1) {
this.ItemType1.push(item2)
} else if (item2.ItemType == 2) {
this.ItemType2.push(item2)
} else if (item2.ItemType == 3) {
this.ItemType3.push(item2)
} else if (item2.ItemType == 4) {
this.ItemType4.push(item2)
} else if (item2.ItemType == 5) {
this.ItemType5.push(item2)
}
})
// 报名限制数组结束
this.g.totalStock = 0;
this.g.attr.forEach((x) => {
this.g.totalStock += x.stock;
......@@ -1087,6 +1148,16 @@
</script>
<style>
.limit{
margin-top: 20rpx;
}
.box-title {
font-weight: bold;
}
.box-name {
font-size: 22rpx;
}
.the-top {
position: absolute;
top: 82%;
......
......@@ -17,7 +17,7 @@
<view class="address">
</view>
</view>
<view v-if="namelist.length<=0" class="add-info2" >
<view v-if="namelist.length<=0" class="add-info2">
<view @click="chosenAddress()">请添加学员</view>
</view>
<view class="arrow" @click="chosenAddress()">
......@@ -241,7 +241,9 @@
<view class="notOption" v-if="submitOrder"></view>
<good-list :list="goodData" v-if="showGoodList" @close="closeGoodListHandler"></good-list>
<payCom v-if="payBtn" :payInfo="payInfo" :isAlipay="isAlipay" :StuId='JJSWStuId' :TeacherIds='mrk' @closePay="closePay"></payCom>
<payCom v-if="payBtn" :payInfo="payInfo" :isAlipay="isAlipay" :StuId='JJSWStuId' :TeacherIds='mrk'
@closePay="closePay"></payCom>
<u-toast ref="uToast" />
<u-popup v-model="payExit" mode="center" :mask-close-able="false">
<view style="background:#fff;width:500rpx">
......@@ -337,10 +339,12 @@
},
data() {
return {
AlipayMask:false,
IsQZJC:0,
mrk:'',
isAlipay: 2,//1微信 2微信支付宝
limits: false,
AlipayMask: false,
IsQZJC: 0,
mrk: '',
mrk2: '',
isAlipay: 2, //1微信 2微信支付宝
JJSWStuId: "",
Thename2: '',
u: {},
......@@ -402,7 +406,7 @@
IsFormShoppingCart: 2,
adressInfo: {},
payInfo: {
OpenId: '',//ow_7I5XC1-RGwwk8QANBmWKYKmOc
OpenId: '', //ow_7I5XC1-RGwwk8QANBmWKYKmOc
OrderId: '',
OrderPayType: 1,
GoodsName: ''
......@@ -440,6 +444,7 @@
this.mc = this.$uiConfig.mainColor;
this.secondary = this.$uiConfig.secondary;
},
onShow() {
this.init();
if (this.isLeave) {
......@@ -458,7 +463,7 @@
}
this.requestJJSWAdmin(testCmd, postMsg,
(res) => {
console.log("111",res);
// console.log("111",res);
if (res.data.Data.length > 0) {
this.namelist = res.data.Data
this.Thename = res.data.Data[0].StuName
......@@ -500,7 +505,7 @@
closePay() {
this.payBtn = false;
this.payExit = true;
this.AlipayMask =false
this.AlipayMask = false
},
closeGoodListHandler() {
this.goodData = [];
......@@ -513,32 +518,43 @@
submitModel() {
this.showReviceModal = true;
},
// 提交订单
submitOrderHandler() {
let that = this;
// that.adressInfo.Consignee = '测试'
// that.adressInfo.ShoppingAddress = '四川成都龙泉驿1'
// that.JJSWStuId = '10724';
// that.Thename="HK";
// if (that.adressInfo.Consignee == '') {
// this.$refs.uToast.show({
// title: '请选择收货信息!',
// type: 'warning'
// });
// return;
// }
if (that.JJSWStuId == '' || that.Thename == '') {
// 报名限制
Registration() {
let postMsg = {
StuId: this.JJSWStuId,
ClassIds: this.mrk2
}
let that = this
this.requestJJSWAdmin("/api/WeChatPublic/CheckStuSubmitOrder", postMsg,
(res) => {
if (res.data.Code != 1) {
that.limits = true
this.$refs.uToast.show({
title: '请添加学员!',
title: '当前课程暂无法购买!',
type: 'warning'
});
return;
} else {
that.limits = false
this.submitOrderHandler2()
}
console.log('llll',that.limits)
}
if (!this.submitOrder) {
);
},
// 报名限制
// 提交订单
submitOrderHandler2() {
let that =this
// 报名限制
if (!this.submitOrder && !that.limits) {
this.submitOrder = true;
uni.requestSubscribeMessage({
tmplIds: this.ds.template_message_list,
complete(res) {
console.log('44444444444444444')
that.submitOrder = false;
let form = {};
// form.Consignee = that.adressInfo.Consignee;
......@@ -563,7 +579,8 @@
form.Use_Integral = that.formdata.Use_Integral;
form.ShoppingCartIdList = that.ShoppingCartIdList;
form.JJSWStuId = that.JJSWStuId;
form.AnchorName = uni.getStorageSync("AnchorName") ? uni.getStorageSync("AnchorName")
form.AnchorName = uni.getStorageSync("AnchorName") ? uni.getStorageSync(
"AnchorName")
.AnchorName : ''; //直播名称
if (that.mchs && that.mchs.length > 0) {
that.deduction_commission = that.mchs[0].deduction_commission;
......@@ -574,21 +591,22 @@
data: form
},
res => {
console.log('7777777777')
if (res.resultCode == 1) {
that.payInfo.OrderId = res.data.OrderId;
that.payInfo.total_price = that.ds.total_price;
if(res.data.OrderStatus==5){
if (res.data.OrderStatus == 5) {
let info = {
OrderId:that.payInfo.OrderId,
OrderId: that.payInfo.OrderId,
total_price: that.ds.total_price,
StuId:that.JJSWStuId,
TeacherIds:that.mrk,
StuId: that.JJSWStuId,
TeacherIds: that.mrk,
}
uni.reLaunch({
url: '/pages/order-submit/pay-success2?payInfo=' +
JSON.stringify(info)
})
}else {
} else {
if (that.checked == true) {
that.zhaoren = true;
let u = uni.getStorageSync("mall_UserInfo");
......@@ -597,22 +615,25 @@
let SmallShopId = u.SmallShopId ? u.SmallShopId : 0;
if (SmallShopId == 0) {
//如果微店id为0 去找所属微店id
SmallShopId = u.UserSmallShopId ? u.UserSmallShopId : 0;
SmallShopId = u.UserSmallShopId ? u.UserSmallShopId :
0;
}
that.path = '/pages/index/index?OrderId=' + res.data.OrderId +
that.path = '/pages/index/index?OrderId=' + res.data
.OrderId +
"&user_id=" + uid + "&Up=" + Up +
"&SmallShopId=" + SmallShopId + '&JumpType=4';
} else {
if (that.formdata.Use_Deposit_Id != 0 && that.ds.total_price ==
if (that.formdata.Use_Deposit_Id != 0 && that.ds
.total_price ==
0) { //如果使用了储蓄卡 就直接支付成功 跳入支付结果
uni.reLaunch({
url: '/pages/order-submit/pay-success?payInfo=' +
JSON.stringify(that.payInfo)
})
} else { //没使用的话 就弹出支付页面
if(that.IsQZJC==1) {
that.AlipayMask =true
if (that.IsQZJC == 1) {
that.AlipayMask = true
} else {
that.payBtn = true;
}
......@@ -633,6 +654,30 @@
}
});
}
},
submitOrderHandler() {
let that = this;
if (that.JJSWStuId == '' || that.Thename == '') {
this.$refs.uToast.show({
title: '请添加学员!',
type: 'warning'
});
return;
}
that.Registration()
// that.adressInfo.Consignee = '测试'
// that.adressInfo.ShoppingAddress = '四川成都龙泉驿1'
// that.JJSWStuId = '10724';
// that.Thename="HK";
// if (that.adressInfo.Consignee == '') {
// this.$refs.uToast.show({
// title: '请选择收货信息!',
// type: 'warning'
// });
// return;
// }
},
closeCouponHandler(e) {
if (e != -1) {
......@@ -754,7 +799,8 @@
});
},
init() {
let list =[]
let list = []
let list2 = []
this.loading = true;
this.request2({
url: '/api/AppletOrder/GetAppletGoodsSettlementInfoForZY',
......@@ -770,9 +816,11 @@
x.goods_list.forEach(j => {
j.marketingLogo = JSON.parse(j.marketingLogo)
list.push(j.EduTeacherId)
list2.push(j.EduData.ClassId)
})
})
this.mrk = list.toString()
this.mrk2 = list2.toString()
this.payInfo.GoodsName = this.mchs[0].goods_list[0].name.slice(0, 10);
this.formdata.DeliveryMethod = this.mchs[0].delivery.send_type;
this.ds = res.data;
......@@ -868,8 +916,7 @@
</script>
<style>
.add-info2{
.add-info2 {
width: 1px;
flex: 1;
min-height: 60px;
......@@ -878,6 +925,7 @@
display: flex;
align-items: center;
}
.determine-box {
margin: auto;
height: 80rpx;
......
......@@ -97,6 +97,7 @@
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth='goback'></auth>
<payCom v-if="payBtn&&u.TenantId!=27" :payInfo="payInfo" @closePay="closePay"></payCom>
<submit2PayCom v-if="payBtn&&u.TenantId==27" :payInfo="payInfo" :isAlipay="isAlipay" :StuId='StuId' :TeacherIds='TeacherIds' @closePay="closePay"></submit2PayCom>
<u-popup v-model="payExit" mode="center" :mask-close-able="false">
<view style="background:#fff;width:500rpx">
<view style="padding:10px 0 0 10px">提交失败</view>
......
......@@ -2,9 +2,8 @@ export default {
install(Vue, options) {
Vue.prototype.host = "https://wx.weibaoge.cn/web/index.php?_mall_id=1285"
Vue.prototype.host2 = "http://192.168.10.128:8200"//本地
// Vue.prototype.host2 = "http://192.168.10.46:8200"
// Vue.prototype.host2 = "http://192.168.10.128:8200"//本地
Vue.prototype.host2 = "http://192.168.10.128:8200"
// Vue.prototype.host2 = "https://mallApi.oytour.com"//测试
//进阶思维后台地址
Vue.prototype.host3 = "http://192.168.10.128:8900"//本地
......@@ -140,13 +139,14 @@ export default {
msg: postMsg
},
success: res => {
typeof success == "function" && success(res);
if (res.data.Code == 10000) {
let u = uni.getStorageSync("mall_UserInfo");
if (u) {
this.getLogin_t(u)
}
} else if (res.Code == 1) {
} else if (res.data.Code == 0) {
} else if (res.data.Code != 1) {
......
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