const util = require('../../../utils/util.js');
const app = getApp();
Page({
data: {
reasonData: [],
current: 1,
imgPath: util.config.imgPath,
datas: {},
reason: '',
showtext: false,
mask: false,
refundBack: '',
refundpwd: '',
orderid: '',
status: '',
groupId: '',
reasonList: [],
reasonIndex: 0,
default: "请选择 >",
// 控制sku
showSku: false,
refundShow: false,
oid: "",
orderInfo: {},
codeShow: false,
query: {
orderid: '',
otype: 0,
presellStatus: 0
},
showGoodsRecom: false,
index: 0,
changeMeal_oid: "",
type: 0,
// 支付宝户号绑定内容
AlipayNum: "",
// 支付宝账号绑定内容
accountNum: "",
// 银行卡户名
carName: "",
// 银行名称
bankName: "",
// 银行卡号
BankcardNo: "",
// 银行开户行
Bankofdeposit: "",
password:''
},
isOK() {
this.setData({
codeShow: false
})
},
// 二维码弹框
showCode() {
console.log("执行");
this.setData({
showSku: false,
codeShow: true
})
},
// 换场次中点击退款条例
showFund() {
this.setData({
showSku: false,
refundShow: true,
type: this.data.orderInfo.refundRule
})
},
changedeposit(e) {
this.setData({
Bankofdeposit: e.detail.value
})
},
ChangeBankcardNo(e) {
this.setData({
BankcardNo: e.detail.value
})
},
closeRefund() {
this.setData({
refundShow: false
})
},
changeName(e) {
this.setData({
bankName: e.detail.value
})
},
changebankName(e) {
this.setData({
carName: e.detail.value
})
},
changeaccount(e) {
this.setData({
accountNum: e.detail.value
})
},
changeAlipay(e) {
// console.log(e.detail.value);
this.setData({
AlipayNum: e.detail.value
})
},
showProp() {
// if(this.data.orderInfo.refundRule==1){
// this.data.type=this.data.orderInfo.refundRule
// }
// console.log(this.data.orderInfo);
console.log(this.data.orderInfo.refundRule);
this.setData({
refundShow: true,
type: this.data.orderInfo.refundRule
// type:3
})
},
// 关闭弹框
closeSku() {
this.setData({
showSku: false,
changeMeal_oid: ''
});
},
// 点击换场次
confirmChange(e) {
console.log(this.data.orderInfo);
let that = this,
data = {};
data.newAlipayId = e.detail ? e.detail : '';
data.oid = that.data.changeMeal_oid;
console.log(data);
util.ajax({
func: "v2/order/getRefundPriceByOid",
data: {
oid: that.data.info.subOrders[that.data.index].oid,
}
}, function (res) {
data.priceInfo = that.data.orderInfo
data.password = that.data.password
console.log(data);
if (res.code == 0) {
util.ajax({
func: "v2/order/change/audit",
data,
method: 'POST',
load: false
}, function (res) {
if (res.code == 0) {
util.showTips('已发起申请,请耐心等待宝大大审核~');
that.setData({
showSku: false,
changeMeal_oid: ''
})
that.getData1();
} else {
console.log(data);
util.showTips(res.reason);
}
})
} else if (res.code == -10) {
util.showTips('不满足更换场次要求,请联系宝大大处理');
} else {
console.log(data);
util.showTips(res.reason);
}
})
},
// 退款换场次
changeMeals(e) {
console.log(this.data.info.subOrders[this.data.index]);
let status = this.data.info.subOrders[this.data.index].changeStatus,
oid = this.data.info.subOrders[this.data.index].oid;
if (status == 1) {
util.showTips('已提交申请,请耐心等待宝大大审核~');
return false;
} else {
let that = this
this.OrderInfo(oid)
this.setData({
showSku: true,
changeMeal_oid: oid
});
console.log(this.data.changeMeal_oid);
}
},
// 获取换场次信息
getData1(val) {
let that = this;
let data = {};
if (!util.isEmpty(that.data.orderid)) {
data.orderid = that.data.orderid;
}
if (!util.isEmpty((val || that.data.presellStatus))) {
data.presellStatus = val || that.data.presellStatus
}
if (!util.isEmpty(that.data.otype)) {
data.otype = that.data.otype
}
console.log(data);
util.ajax({
func: "v2/order/detail",
data,
load: false
}, function (res) {
console.log(res);
if (res.code == 0) {
let datas = res.data;
datas.timeContrast = util.timeContrast(datas.stopBuy);
if (!util.isEmpty(datas.mailAddress)) {
var info = datas.mailAddress.split(" ");
datas.mail = {};
datas.mail.name = info[0] || "";
datas.mail.postMobile = info[1] || "";
datas.mail.province = info[2] || "";
datas.mail.address = datas.mail.province.replace("/", "") + info[3];
}
if (datas.comment) {
datas.comment.tag = datas.comment.content.match(/#([^#]+)#/g) ? datas.comment.content.match(/#([^#]+)#/g).join("") : '';
datas.comment.content = datas.comment.content.replace(/#([^#]+)#/g, "").replace(/
/g, '\n');
if (datas.comment.additionalComment.content) {
datas.comment.additionalComment.content = datas.comment.additionalComment.content.replace(/
/g, '\n')
}
}
that.nps();
if (datas.saleTime && datas.presellPaymentDeadline) {
datas.startTime = util.formatDate(util.formatUnixtimestamp(datas.saleTime), 'MM月dd日 hh:mm', false);
datas.endTime = util.formatDate(util.formatUnixtimestamp(datas.presellPaymentDeadline), 'MM月dd日 hh:mm', false);
}
let num = 0,
length = (datas.groupinfo.discount && !util.isEmpty(datas.groupinfo.discount.users)) ? datas.groupinfo.discount.users.length : 0;
if (length > 0) {
datas.groupinfo.discount.users.forEach(el => {
num = el.status == 4 ? num++ : num;
if (el.status == 4) {
num++;
}
that.setData({
iconView: num == 0 ? false : true
});
});
}
that.setData({
info: datas
});
// console.log(that.data.info.subOrders[that.data.index].changeStatus);
that.getGoodsRecommend()
if (datas.groupinfo.gstatus == 0 && datas.groupinfo.discount && datas.groupinfo.discount.status == 0 && datas.groupinfo.discount.deadline > 0) {
that.data.info.groupinfo.discount.deadline = that.data.info.groupinfo.discount.deadline - new Date().getTime();
that.updateTime();
}
} else
util.showTips(res.reason);
});
},
// 默认评价弹窗
nps() {
let that = this,
newDate = util.getNowFormatDate('yyyy-MM-dd hh:mm:ss');
let npsData = wx.getStorageSync("nps") || {
num: 0,
oldDate: newDate,
timesSec: newDate
};
if (((npsData.num < util.config.npsNum) && util.datedifference(newDate, npsData.timesSec, true) > 3600) || util.isObjEmpty(npsData)) {
util.ajax({
func: "v2/order/reviews/one",
load: false
}, function (res) {
if (res.code == 0 && !util.isObjEmpty(res.data)) {
that.setData({
npsOptons: res.data,
npsStatus: true
});
npsData.num += 1;
npsData.timesSec = newDate;
wx.setStorageSync("nps", npsData)
}
})
}
},
getGoodsRecommend() {
let that = this;
util.getGoodsRecommend(this.data.info.aid).then(res => {
that.setData({
showGoodsRecom: res
})
})
},
// 获取订单信息
OrderInfo(oid) {
console.log(this.data.oid);
let that = this
util.ajax({
func: "v2/order/getRefundPriceByOid",
data: {
"oid": that.data.oid
}
}, function (res) {
console.log(res);
if (res.code == 0) {
that.setData({
orderInfo: res.data,
changeMeal_oid: oid
})
} else if (res.code == -10) {
util.showTips('不满足更换场次要求,请联系宝大大处理');
that.setData({
showSku: false,
changeMeal_oid: oid
});
} else {
util.showTips(res.reason)
}
})
},
onLoad(options) {
console.log(options);
this.setData({
index: options.index,
oid: options.oid,
refundpwd: options.refundpwd,
orderid: options.orderid,
status: options.refundStatus,
groupId: options.groupid || '',
password:options.refundpwd
});
if (options.atype != "1") {
this.OrderInfo()
} else {
this.setData({
atype: options.atype
})
}
let reasonData = [],
current = 1;
if (this.data.status == 15) {
current = 4;
}
this.setData({
current
})
this.getData();
},
onShow() {
if (this.data.atype != "1") {
this.OrderInfo()
this.getData1()
}
},
// 切换退款原因
changeReason(e) {
console.log(e.detail.value);
console.log(this.data.reasonData[e.detail.value].type == 0);
if (this.data.reasonData[e.detail.value].type == 0) {
this.setData({
showtext: true
})
} else {
this.setData({
showtext: false
})
}
this.data.reasonIndex = e.detail.value
this.setData({
reasonIndex: this.data.reasonIndex,
default: this.data.reasonList[this.data.reasonIndex]
});
},
getData() {
let that = this;
let current = 0
util.ajax({
func: "v2/order/detail",
data: {
"orderid": that.data.orderid,
"otype": 0,
"password": that.data.refundpwd || "",
}
}, function (res) {
if (res.code == 0) {
let reasonData = [];
if (res.data.atype == '1') { //电商
reasonData = [{
type: 5,
txt: '不喜欢/不想要'
},
{
type: 6,
txt: '质量问题'
},
{
type: 0,
txt: '其他原因'
}
];
} else {
if (that.data.status == 15) {
reasonData = [{
type: 4,
txt: '候补退款'
}], current = 4;
} else {
reasonData = [{
type: 1,
txt: '行程有变'
},
{
type: 2,
txt: '买多了/买错了'
},
{
type: 3,
txt: '孩子突发身体原因'
},
{
type: 0,
txt: '其他原因'
}
];
}
}
reasonData.forEach(item => {
console.log(item);
that.data.reasonList.push(item.txt)
})
if (reasonData.length == 1) {
that.data.default = "候补退款"
}
that.setData({
default: that.data.default,
datas: res.data,
reasonData,
current: reasonData[0].type,
reasonList: that.data.reasonList
});
}
})
},
backBtn() {
wx.redirectTo({
url: '/pages/order/index/order?otype=2'
})
},
confirm(e) {
console.log(e);
this.setData({
reason: e.detail.value
});
},
bindreason(e) {
console.log(e);
this.setData({
current: e.currentTarget.dataset.type
});
},
img() {
this.data.datas.logo = '/images/noimg.png';
this.setData({
datas: this.data.datas
});
},
refundRequest() {
let that = this,
reason = this.data.reason,
current = this.data.current;
console.log(current);
let type = 0
if (this.data.default == "行程有变") {
type = 1
} else if (this.data.default == "买多了/买错了") {
type = 2
} else if (this.data.default == "孩子突发身体原因") {
type = 3
} else if (this.data.default == "其他原因") {
type = 0
} else if (this.data.default == "候补退款") {
type = 4
} else if (this.data.default == "质量问题") {
type = 6
} else if (this.data.default == "不喜欢/不想要") {
type = 5
}
if (this.data.default == "请选择 >" || type == -1) {
util.showTips("请选择退款原因")
return false
}
if (this.data.showtext == true && util.isEmpty(reason)) {
util.showTips("请填写退款原因")
return false
}
if (current == 0 && reason == '') {
util.showTips('请输入退款原因。');
return false;
}
if (this.data.dayBeforeStart <= 0) {
util.showTips("活动已开始,无法提交退款申请")
wx.navigateBack({
delta: 1,
})
return
}
if (this.data.current == 1 && this.data.orderInfo.overdue == 1) {
if (util.isEmpty(this.data.AlipayNum)) {
util.showTips("支付宝户号不能为空")
return
}
if (util.isEmpty(this.data.accountNum)) {
util.showTips("支付宝账号不能为空")
return
}
} else if (this.data.current == 2 && this.data.orderInfo.overdue == 1) {
if (util.isEmpty(this.data.carName)) {
util.showTips("卡户名不能为空")
return
}
if (util.isEmpty(this.data.bankName)) {
util.showTips("银行名称不能为空")
return
}
if (util.isEmpty(this.data.BankcardNo)) {
util.showTips("银行卡号不能为空")
return
}
if (util.isEmpty(this.data.Bankofdeposit)) {
util.showTips("开户行不能为空")
return
}
}
let desc = ""
if (this.data.current == 1) {
desc = "支付宝"
} else if (this.data.current == 2) {
desc = "银行卡"
}
console.log(that.data.orderInfo);
util.ajax({
func: "order/commit_refund",
data: {
"reasonType": type,
"reason": reason,
"orderid": that.data.orderid,
"password": that.data.refundpwd || "",
"type": '0',
"priceInfo": that.data.orderInfo,
"receiveAccount": that.data.orderInfo.overdue == 0 ? '' : (that.data.current == 1 ? "支付宝" + " " + that.data.AlipayNum + " " + that.data.accountNum : "银行卡" + " " + that.data.carName + " " + that.data.bankName + " " + that.data.BankcardNo + " " + that.data.Bankofdeposit)
},
method: "POST"
}, function (res) {
console.log(res);
if (res.code == 0) {
wx.setStorageSync('_REFUND_', 'REFUND');
that.setData({
refundBack: res.reason,
mask: true
})
} else if (res.code == -10) {
wx.showModal({
title: "提示",
content: res.reason,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1,
})
} else if (res.cancel) {
console.log('用户点击取消')
}
}
});
} else if (res.code == -11) {
wx.showModal({
title: "提示",
content: res.reason,
showCancel: false,
success: function (res) {
if (res.confirm) {
that.onLoad({
index: that.data.index,
oid: that.data.oid,
refundpwd: that.data.refundpwd,
orderid: that.data.orderid,
status: that.data.refundStatus,
groupId: that.data.groupid || ''
})
// that.onReady()
}
}
});
} else {
wx.showModal({
title: "提示",
content: res.reason,
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.navigateBack({
delta: 1,
})
}
}
});
}
});
},
onReady() {
}
})