123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395 |
- // pages/groupmeallist/refund/refund.js
- import order from '../../../api/order'
- const cache = require('../../../utils/cache.js');
- import base from "../../../utils/base";
- import Upload from '../../../api/upload'
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- orderGoodList: [{}, {}, {}, {}],
- showAllSku: false,
- orderInfo: {},
- orderSn: '',
- chooseViewShowBanner: true,
- orderGoodList: [], //spu-sku商品信息
- isShowPannel: false,
- reasonValue: '请选择退款原因',
- reasonDetailValue: '',
- avatarUrlShow: [],
- t_length: 0,
- avatarUrl: [],
- reasonListChecked: false,
- reasonList: [{
- text: '不想要了/临时有事',
- checked: false
- }, {
- text: '点错了/点多了/点少了',
- checked: false
- }, {
- text: '地址/电话填错了',
- checked: false
- }, {
- text: '忘记用红包/优惠券',
- checked: false
- }, {
- text: '菜品质量问题',
- checked: false
- }, {
- text: '出餐/送餐速度过慢',
- checked: false
- }, {
- text: '没有按承诺的优惠',
- checked: false
- }, {
- text: '其他',
- checked: false
- }, ]
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- if (options.sn) {
- this.reloadPage(options.sn)
- }
- },
- reloadPage(orderSn) {
- this.setData({
- orderSn
- })
- this.getOrderdetail();
- },
- listenInput(e) {
- let value = e.detail.value;
- this.setData({
- reasonDetailValue: value
- })
- },
- callStorePerson() {
- let phone = this.data.orderInfo.store.liaisonPhone;
- wx.makePhoneCall({
- phoneNumber: phone
- })
- },
- /** 图片选择 */
- bindViewTap: function () {
- var that = this;
- if (this.data.avatarUrlShow.length < 4) {
- wx.chooseImage({
- // 设置最多可以选择的图片张数,默认9,如果我们设置了多张,那么接收时//就不在是单个变量了,
- count: 1,
- sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
- sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
- success: function (res) {
- // 获取成功,将获取到的地址赋值给临时变量
- console.log(res);
- if (res.tempFilePaths.count == 0) {
- return;
- }
- //图片上传到金山云
- var tempFilePaths = res.tempFilePaths
- wx.uploadFile({
- url: Upload.uploadPic(),
- filePath: tempFilePaths[0],
- name: 'file',
- formData: {
- 'basePath': 'welfareMall',
- },
- success: function (res) {
- //提交路径
- var urlImg = JSON.parse(res.data).data.url;
- //展示路径
- var destPath = JSON.parse(res.data).data.destPath;
- var imgArrNow = that.data.avatarUrl;
- var imgArrNowShow = that.data.avatarUrlShow;
- imgArrNow.push(urlImg);
- imgArrNowShow.push(destPath);
- if (that.data.avatarUrlShow.length > 4) {
- wx.showToast({
- title: '最多添加4张图片',
- icon: 'none',
- duration: 1500
- })
- return
- }
- that.setData({
- //将临时变量赋值给已经在data中定义好的变量
- avatarUrl: imgArrNow,
- avatarUrlShow: imgArrNowShow
- })
- that.chooseViewShowBanner();
- },
- fail: function (err) {
- console.log(err);
- },
- })
- },
- fail: function (res) {
- // fail
- },
- complete: function (res) {
- // complete
- }
- })
- } else {
- wx.showToast({
- title: '最多添加4张图片',
- icon: 'none',
- duration: 1500
- })
- }
- },
- /** 删除图片Banner */
- deleteImvBanner: function (e) {
- var avatarUrlShow = this.data.avatarUrlShow;
- var avatarUrl = this.data.avatarUrl;
- var itemIndex = e.currentTarget.dataset.id;
- avatarUrlShow.splice(itemIndex, 1);
- avatarUrl.splice(itemIndex, 1);
- this.setData({
- avatarUrlShow: avatarUrlShow
- })
- //判断是否隐藏选择图片
- this.chooseViewShowBanner();
- },
- /** 是否隐藏图片选择Banner*/
- chooseViewShowBanner: function () {
- if (this.data.avatarUrlShow.length > 3) {
- this.setData({
- chooseViewShowBanner: false
- })
- } else {
- this.setData({
- chooseViewShowBanner: true
- })
- }
- },
- // 选中改变
- changeChecked(e) {
- let index = e.currentTarget.dataset.id;
- let value = '';
- this.data.reasonList.forEach((item, id) => {
- if (id == index) {
- item.checked = true
- value = item.text
- } else {
- item.checked = false
- }
- })
- this.setData({
- reasonList: this.data.reasonList,
- reasonValue: value,
- reasonListChecked: true
- // isShowPannel: false
- })
- },
- /**
- * 获取订单详情
- */
- async getOrderdetail() {
- let _self = this;
- try {
- let orderRes = await order.getOrderDetail({
- orderSn: _self.data.orderSn,
- mobile: cache.getMobile()
- });
- if (orderRes.code == 200 && orderRes.msg == "success") {
- let orderInfo = orderRes.data;
- orderInfo.originPrice = (parseFloat(orderInfo.payPrice) / 100).toFixed(2)
- _self.setData({
- orderInfo: orderInfo,
- })
- //组建spu sku
- _self.createOrderGoodList(orderInfo.orderGoodsList)
- }
- } catch (error) {
- console.log(error);
- }
- },
- closeCartPannel: function () {
- this.setData({
- isShowPannel: false
- })
- },
- //显示对话框
- showCartPannel: function () {
- // 显示遮罩层
- var animation = wx.createAnimation({
- duration: 100,
- timingFunction: "linear",
- delay: 0
- })
- this.animation = animation
- animation.translateY(300).step()
- this.setData({
- animationData: animation.export(),
- isShowPannel: true
- })
- setTimeout(function () {
- animation.translateY(0).step()
- this.setData({
- animationData: animation.export()
- })
- }.bind(this), 100)
- },
- submit() {
- if (this.data.reasonListChecked) {
- order.refund({
- mobile: cache.getMobile(),
- orderSn: this.data.orderSn,
- reason: this.data.reasonValue + this.data.reasonDetailValue,
- photoList: this.data.avatarUrl
- }).then(res => {
- wx.redirectTo({
- url: '../../welfareMall/historical/historical',
- })
- })
- }else{
- wx.showToast({
- title: '请选择退款理由',
- icon: 'none',
- duration: 1000
- })
- }
- },
- /**
- * 组建spu sku
- * @param {*} list
- */
- createOrderGoodList(list) {
- console.log("进入详情")
- console.log(list)
- let _self = this;
- if (list.length == 0) {
- return;
- }
- let orderGoodList = [];
- for (let a = 0; a < list.length; a++) { //最外层
- //某一个商品种类
- let goodList = list[a];
- //sku-list
- let orderGoodsSkuList = goodList.orderGoodsSkuList;
- let fullFigure = list[a].fullFigure;
- for (let b = 0; b < orderGoodsSkuList.length; b++) {
- let orderGood = {};
- orderGood.productName = goodList.productName;
- let orderGoodsSku = orderGoodsSkuList[b];
- let text = '';
- if (orderGoodsSku.comboSkuList != null && orderGoodsSku.comboSkuList.length > 0) {
- console.log("进入套餐拼接")
- text = "套餐:"
- let productName = ''
- let specValue = []
- let num = ''
- orderGoodsSku.comboSkuList.forEach(function (comboSkuList, index) {
- comboSkuList.skuList.forEach(function (skuList, skuindex) {
- productName = skuList.productName
- num = skuList.num
- if (skuList.specList != null) {
- let specList = JSON.parse(skuList.specList);
- if (base.isArray(specList)) {
- specList.forEach(function (specList, skuindex) {
- specValue.push(specList.specValue + " X" + num)
- })
- }
- } else {
- specValue.push(productName + " X" + num)
- }
- })
- })
- specValue = specValue.join('、') || ""
- text = text + "(" + specValue + ")"
- }
- orderGood.num = orderGoodsSkuList[b].num;
- orderGood.allFee = base.fenToYuan(orderGoodsSkuList[b].price * orderGoodsSkuList[b].num)
- orderGood.skuText = text
- orderGood.fullFigure = fullFigure
- orderGoodList.push(orderGood)
- }
- }
- _self.setData({
- orderGoodList: orderGoodList
- })
- console.log(this.data.orderGoodList)
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- },
- showlable() {
- }
- })
|