| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552 |
- // pages/cart/myOrder/myOrder.js
- const app = getApp()
- const api = require('../../../../request/api');
- const http = require('../../../../request/http');
- const utils = require('../../../../utils/util.js');
- const storeKeys = require('../../../../utils/storageKeys.js');
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- isLoading:true,
- tabList:['全部', '待付款', '待收货', '已完成', '售后'],
- titleTab:'0', //0商品订单1礼品卡订单
- tab:'all',
- list:[],
- dataObj:{},
- page:1,
- is_bottom:false,//到底了
- model: false,
- modelType:'',//1取消2删除3确认收货
- model_text:'',//对应的文案
- orderId:'',//订单id
- index:'',//索引
- statusBarHeight: app.globalData.statusBarHeight,
- from:'',
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- if(options.tab){
- this.setData({
- tab: options.tab
- })
- }
- if(options.from){
- this.setData({
- from: options.from
- })
- console.log(this.data.from)
- }
- this.getList()
- },
- //列表
- getList(){
- // dataType //订单类型 (all全部 payment待付款 received待发货 received待收货 comment待评价)
- let that = this, request_url = '';
- wx.showLoading({
- title: "加载中"
- });
- if(this.data.titleTab=='0'){
- request_url = api.URL + '/api/order/list?dataType=' + this.data.tab + '&page=' + that.data.page
- if(this.data.tab=='sale'){
- request_url = api.URL + '/api/refund/list?page=' + that.data.page
- }
- }
- if(this.data.titleTab=='1'){
- request_url = api.URL + '/api/order.RiceCardOrder/list?page=' + that.data.page
- }
- http.request({
- method: 'GET',
- url: request_url,
- token: utils.getStorageSync(storeKeys.TOKEN),
- success: (res) => {
- wx.hideLoading();
- let data_obj = res.data.data.list
- data_obj.data.forEach((item)=>{
- item.isShowMoreBtn = false
- if(item.state_value==30 && item.za){//已完成
- item.isShowMoreBtn = true
- item.leftBox = false
- }
- })
- console.log(data_obj.data)
- let list = [];
- if (that.data.page == 1) {
- list = data_obj.data;
- } else {
- list = that.data.list.concat(data_obj.data);
- }
- that.setData({
- list: list,
- dataObj: data_obj,
- isLoading: false
- });
- // console.log(that.data.list)
- if (data_obj.total == 0) {
- that.setData({ is_bottom: false });
- }
- if (data_obj.current_page >= data_obj.last_page && data_obj.total > 0) {
- that.setData({ is_bottom: true });
- }
- },
- error: (res) => {},
- })
- },
- changeMoreBtn(e){//点击更多
- // let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- let leftBox = 'list[' + idx + '].leftBox';
- this.setData({
- [leftBox]: true
- })
- },
- hideMoreModel(e){//点击更多
- // let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- let leftBox = 'list[' + idx + '].leftBox';
- this.setData({
- [leftBox]: false
- })
- },
- changeTitleTab(e){
- let index = e.currentTarget.dataset.index;
- this.setData({
- titleTab: index,
- is_bottom: false,
- list: [],
- page: 1,
- dataObj: {}
- })
- this.getList()
- },
- changeTab(e){
- let index = e.currentTarget.dataset.index;
- this.setData({
- tab: index,
- is_bottom: false,
- list: [],
- page: 1,
- dataObj: {}
- })
- this.getList()
- },
- btnStatus(e){//点击1取消2删除3确认收货
- let type = e.currentTarget.dataset.type;
- let item = e.currentTarget.dataset.item;
- let index = e.currentTarget.dataset.index;
- this.setData({
- model: true,
- orderId: item.order_id,
- index: index,
- modelType: type
- })
- if(type==1){
- this.setData({
- model_text: '您将取消此订单,取消后将不可恢复,确定继续吗?'
- })
- }else if(type==2){
- this.setData({
- model_text: '您将删除此订单,删除后将不可恢复,确定继续吗?'
- })
- }else if(type==3){
- this.setData({
- model_text: '确认已经收到货了吗?'
- })
- }
- },
- cancelModel(){//关闭弹框
- this.setData({
- model: false,
- modelType:'',//1取消2删除3确认收货
- model_text:'',//对应的文案
- orderId:'',
- index:''
- })
- },
- confirmModel: utils.throttle(function () {//1取消2删除3确认收货
- let that = this;
- let url = '', toast = ''
- if(this.data.modelType == 1){
- url = '/api/order/cancel?orderId=' + this.data.orderId
- toast = '订单取消成功'
- }
- if(this.data.modelType == 2){
- url = '/api/order/delete?orderId=' + this.data.orderId
- toast = '订单删除成功'
- }
- if(this.data.modelType == 3){
- url = '/api/order/receipt?orderId=' + this.data.orderId
- toast = '确认收货成功'
- }
- http.request({
- method: 'GET',
- url: api.URL + url,
- token: utils.getStorageSync(storeKeys.TOKEN),
- success: (res) => {
- wx.hideLoading();
- utils.toast(toast);
- if(that.data.modelType == 2 || that.data.tab!='all'){//删除
- that.data.list.splice(that.data.index, 1);
- that.setData({
- list: that.data.list,
- ['dataObj.total']: that.data.dataObj.total - 1
- })
- }
- if(that.data.tab=='all'){
- let state_text = 'list[' + that.data.index + '].state_text';
- let state_value = 'list[' + that.data.index + '].state_value';
- if(that.data.modelType == 3){//确认收货
- that.setData({
- [state_text]: '已完成',
- [state_value]: 30,
- })
- }
- if(that.data.modelType == 1){//订单取消
- that.setData({
- [state_text]: '已取消',
- [state_value]: 20,
- })
- }
- }
- setTimeout(()=>{
- that.setData({
- model: false,
- modelType:'',//1取消2删除3确认收货
- model_text:'',//对应的文案
- orderId:'',
- index:''
- })
- },400)
- },
- error: (res) => {
- },
- })
- },400),
- toDetail(e){//订单详情
- let id = e.currentTarget.dataset.id;
- let idx = e.currentTarget.dataset.idx;
- wx.navigateTo({
- url: '/pages/cart/pages/orderDetail/orderDetail?orderId=' + id + '&idx=' + idx
- })
- },
- toLogistics(e){//物流详情
- let item = e.currentTarget.dataset.item;
- if(item.is_mult_express_no==1){
- wx.navigateTo({
- url: '/pages/cart/pages/logisticsDetail/logisticsDetail?orderId=' + item.order_id + '&express_no=' + item.express_no
- })
- }
- if(item.is_mult_express_no>1){
- wx.navigateTo({
- url: '/pages/cart/pages/logisticsList/logisticsList?orderId=' + item.order_id
- })
- }
- },
- toCommit(e){//去评价
- let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- if(item.is_comment==1){
- return;
- }
- wx.navigateTo({
- url: '/pages/cart/pages/appraise/appraise?order_id=' + item.order_id + '&idx=' + idx
- })
- },
-
- toSet(){//去赠送、已赠送
- return;
- },
- onShareAppMessage: function (e) {
- console.log(e)
- let item = e.target.dataset.item;
-
- let path = "pages/cart/pages/goodsDetail/goodsDetail?goods_id=" + item.goods[0].goods_id + "&share=xcx";
- let userInfo = utils.getStorageSync(storeKeys.USERINFO) || {};
- let userId = userInfo.user_id || '';
- if (userId) {
- path = path + "&shareId=" + userId;
- }
- if(item.za && item.za.sign_str){
- path = path + "&signStr=" + item.za.sign_str
- console.log(path)
- console.log(item.goods[0].goods_image)
- return{
- title: item.za.share_title,
- imageUrl: item.goods[0].goods_image,
- path: path
- }
- }
- },
- onShareTimeline: function (e) {
- console.log(e)
- let item = e.target.dataset.item;
- let path = "pages/cart/pages/goodsDetail/goodsDetail?goods_id=" + item.goods[0].goods_id + "&share=xcx";
- let userInfo = utils.getStorageSync(storeKeys.USERINFO) || {};
- let userId = userInfo.user_id || '';
- if (userId) {
- path = path + "&shareId=" + userId;
- }
- if(item.za && item.za.sign_str){
- path = path + "&signStr=" + item.za.sign_str
- console.log(path)
- return{
- title: item.za.share_title,
- imageUrl: item.goods[0].goods_image,
- path: path
- }
- }
- },
- toPage(e){//去首页
- let type = e.currentTarget.dataset.type;
- if(type==1){
- wx.switchTab({
- url: "/pages/tabBar/index/index"
- })
- }else{
- wx.navigateTo({
- url: "/pages/index/pages/riceCard/cardList/cardList"
- })
- }
-
- },
- commit: utils.throttle(function (e) {//去支付
- let that = this;
- let orderId = e.currentTarget.dataset.id;
- let index = e.currentTarget.dataset.index;
- wx.showLoading({
- title: "加载中"
- });
- let dataParams = {
- "orderId": orderId, //订单ID
- "payType": 20 //支付类型 10余额支付 20微信支付 30礼品卡兑换
- }
- http.request({
- url: api.URL + '/api/order/pay',
- method: 'POST',
- token: utils.getStorageSync(storeKeys.TOKEN),
- data: dataParams,
- success: (res) => {
- wx.hideLoading();
- if(res.data.data.pay_type==20){
- that.wxPayment(res.data.data.payment, orderId, index, 1);
- }
- },
- error: (res) => {
- },
- })
- }, 1000),
- //调起微信支付
- wxPayment(data, orderId, index, type) {
- let that = this
- wx.requestPayment({
- nonceStr: data.nonceStr,
- package: 'prepay_id=' + data.prepay_id,
- paySign: data.paySign,
- signType: "MD5",
- timeStamp: data.timeStamp,
- success(res) {
- if (res.errMsg == "requestPayment:ok") {
- utils.toast('支付成功');
- if(type==1){
- let state_text = 'list[' + index + '].state_text';
- let state_value = 'list[' + index + '].state_value';
- that.setData({
- [state_text]: '待收货',
- [state_value]: 12,
- })
- wx.navigateTo({
- url: '/pages/cart/pages/orderDetail/orderDetail?orderId=' + orderId
- })
- }
- if(type==2){
- let state_text = 'list[' + index + '].state_text';
- let order_status = 'list[' + index + '].order_status';
- that.setData({
- [state_text]: '已完成',
- [order_status]: 30,
- })
- wx.navigateTo({
- url: '/pages/cart/pages/riceCardOrderDetail/riceCardOrderDetail?orderId=' + orderId
- })
- }
- }
- },
- fail(res) {
- if (res.errMsg == "requestPayment:fail cancel") {
- }
- }
- })
- },
- commitRice: utils.throttle(function (e) {//去支付
- let that = this;
- let orderId = e.currentTarget.dataset.id;
- let index = e.currentTarget.dataset.index;
- wx.showLoading({
- title: "加载中"
- });
- let dataParams = {
- "order_id": orderId, //订单ID
- "lob_type": 'rice_card' //礼品卡固定为 rice_card
- }
- http.request({
- url: api.URL + '/api/pay/repay',
- method: 'POST',
- token: utils.getStorageSync(storeKeys.TOKEN),
- data: dataParams,
- success: (res) => {
- wx.hideLoading();
- if(res.data.data.pay_type==20){
- that.wxPayment(res.data.data.payment, orderId, index, 2);
- }
- },
- error: (res) => {
- },
- })
- }, 1000),
- toRefundDetail(e){//退款详情
- let id = e.currentTarget.dataset.id;
- let idx = e.currentTarget.dataset.idx;
- wx.navigateTo({
- url: '/pages/cart/pages/refund/refundDetail/refundDetail?orderRefundId=' + id + '&idx=' + idx
- })
- },
- refundBtn: utils.throttle(function (e){//退款按钮
- let type = e.currentTarget.dataset.type;
- let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- if(type=='1'){//提交快递单
- wx.navigateTo({
- url: '/pages/cart/pages/refund/commitExpress/commitExpress?orderRefundId=' + item.order_refund_id + '&idx=' + idx
- })
- }
- if(type=='2'){//修改申请
- wx.navigateTo({
- url: "/pages/cart/pages/refund/refundApply/refundApply?pageType=" + item.type + '&orderRefundId=' + item.order_refund_id + '&idx=' + idx
- + '&orderGoodsId=' + item.order_goods_id + '&orderId=' + item.order_id
- })
- }
- }, 400),
- pageBack() {//返回
- wx.navigateBack();
- },
- toRiceDetail(e){//礼品卡详情
- let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- wx.navigateTo({
- url: '/pages/cart/pages/riceCardOrderDetail/riceCardOrderDetail?orderId=' + item.id + '&idx=' + idx
- })
- },
- toMyCard(e){//查看礼品卡
- wx.navigateTo({
- url: '/pages/index/pages/riceCard/myRiceCard/myRiceCard'
- })
- },
- cardPay(e){
- let item = e.currentTarget.dataset.item;
- let idx = e.currentTarget.dataset.idx;
- wx.navigateTo({
- url: '/pages/index/pages/riceCard/cardNoPay/cardNoPay?orderId=' + item.id + '&idx=' + idx
- })
- },
- deleteRiceCard: utils.throttle(function (e) {//删除礼品卡
- let that = this;
- let item = e.currentTarget.dataset.item;
- let index = e.currentTarget.dataset.index;
- console.log(index)
- http.request({
- method: 'POST',
- url: api.URL + '/api/order.RiceCardOrder/del&order_id=' + item.id,
- token: utils.getStorageSync(storeKeys.TOKEN),
- success: (res) => {
- wx.hideLoading();
- utils.toast('您已成功删除订单');
- that.data.list.splice(index, 1);
- that.setData({
- list: that.data.list,
- ['dataObj.total']: that.data.dataObj.total - 1
- })
-
- },
- error: (res) => {
- },
- })
- },400),
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- this.setData({
- is_bottom: false,
- list: [],
- page:1
- });
- this.getList();
- wx.stopPullDownRefresh();// 停止下拉
- },
- /**
- * 页面拉到底加载
- */
- onReachBottom: function () {
- if (this.data.dataObj.last_page > 1){//可分页
- if (this.data.dataObj.current_page >= this.data.dataObj.last_page) {
- this.setData({ is_bottom: true });
- return;
- } else {
- this.data.page++;
- this.getList();
- }
- }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
-
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- })
|