diff --git a/apis/interfaces/order.js b/apis/interfaces/order.js index c49d8d7..cc381a9 100644 --- a/apis/interfaces/order.js +++ b/apis/interfaces/order.js @@ -5,14 +5,17 @@ import {req} from "../request" -const index = () => req({url: "orders"}) //全部订单 -const unpaid = () => req({url: "orders/unpaid"}) //待付款 -const paid = () => req({url: "orders/paid"}) //待发货 -const delive = () => req({url: "orders/delivered"}) //待收货 -const refund = () => req({url: "orders/refunds"}) //退款 -const cancel = (orderId) => req({url: "orders/cancel/" + orderId}) //取消订单 -const orders = (orderId) => req({url: "orders/" + orderId}) //订单-详情 -const paymen = (orderId) => req({url: "payments/order/" + orderId}) //订单支付-详情 +const index = data => req({url: "orders", data: data}) //全部订单 +const unpaid = () => req({url: "orders/unpaid"}) //待付款 +const paid = () => req({url: "orders/paid"}) //待发货 +const delive = () => req({url: "orders/delivered"}) //待收货 +const refund = () => req({url: "orders/refunds"}) //退款 +const cancel = (orderId) => req({url: "orders/cancel/" + orderId}) //取消订单 +const orders = (orderId) => req({url: "orders/" + orderId}) //订单-详情 +const paymen = (orderId) => req({url: "payments/order/" + orderId}) //订单支付-详情 +const sign = (orderId) => req({url: "orders/sign/" + orderId}) //订单签收 +const goosRefund = (orderId) => req({url: "orders/refund/" + orderId}) //订单退货 +const formRefund = (orderId,data) => req({url: "orders/refund/" + orderId, method: "POST", data: data}) //订单退货-提交 export default({ index, @@ -22,5 +25,9 @@ export default({ refund, cancel, orders, - paymen + paymen, + sign, + refund, + goosRefund, + formRefund }) \ No newline at end of file diff --git a/apis/interfaces/public.js b/apis/interfaces/public.js index 2a2691a..4e6193e 100644 --- a/apis/interfaces/public.js +++ b/apis/interfaces/public.js @@ -6,8 +6,10 @@ import {req} from "../request" const richText = (key) => req({url: "single/" + key, data: {key: "string"}}) //富文本 const getStatus = (key) => req({url: "ajax/status/" + key}) //状态查询 +const storeConfig = (data) => req({url: "wechat/mini/myComponents", data: data}) //企业工具模块配置 export default({ richText, - getStatus + getStatus, + storeConfig }) diff --git a/app.js b/app.js index ab685c2..8abc9c5 100644 --- a/app.js +++ b/app.js @@ -6,7 +6,6 @@ */ import apis from "./apis/index" - const QQMapWX = require("./lib/qqmap-wx-jssdk.min.js"); App({ diff --git a/app.json b/app.json index e89c8e9..2d38440 100644 --- a/app.json +++ b/app.json @@ -1,35 +1,84 @@ { - "pages": [ - "pages/user/companyMine/companyOrder", - "pages/welcome/index", - "pages/company/index", - "pages/company/search/search", - "pages/shortVideo/index", - "pages/richText/richText", - "pages/login/login", - "pages/card/index", - "pages/mall/index", - "pages/live/index", - "pages/ticket/index", - "pages/user/index", - "pages/user/companyMine/myActives/myActives", - "pages/user/companyMine/focusedProject/focusedProject", - "pages/home/index", - "pages/home/companyInfo/companyInfo", - "pages/home/noticeDetail/noticeDetail", - "pages/home/activeDetail/activeDetail", - "pages/home/projectDetail/projectDetail", - "pages/home/projectReturn/projectReturn", - "pages/home/beSureOrder/beSureOrder", - "pages/home/companyMore/companyMore", - "pages/home/projectSuccess/projectSuccess", - "pages/home/activeSuccess/activeSuccess" + "pages": [ + "pages/welcome/index", + "pages/company/index", + "pages/company/search/search", + "pages/shortVideo/index", + "pages/richText/richText", + "pages/login/login", + "pages/card/index", + "pages/user/index", + "pages/user/user_coupon/user_coupon", + "pages/user/user_coupon_data/user_coupon_data", + "pages/mall/index", + "pages/mall/mall_address/mall_address", + "pages/mall/mall_address_form/mall_address_form", + "pages/mall/mall_assess/mall_assess", + "pages/mall/mall_assess_form/mall_assess_form", + "pages/mall/mall_cart/mall_cart", + "pages/mall/mall_classify/mall_classify", + "pages/mall/mall_details/mall_details", + "pages/mall/mall_goods/mall_goods", + "pages/mall/mall_order/mall_order", + "pages/mall/mall_order_data/mall_order_data", + "pages/mall/mall_order_submit/mall_order_submit", + "pages/mall/mall_pay/mall_pay", + "pages/mall/mall_search/mall_search", + "pages/mall/mall_video/mall_video", + "pages/mall/mall_refund/mall_refund", + "pages/live/index", + "pages/ticket/goods/goods", + "pages/ticket/index", + "pages/user/companyMine/myActives/myActives", + "pages/user/companyMine/focusedProject/focusedProject", + "pages/user/companyMine/companyOrder", + "pages/home/index", + "pages/home/companyInfo/companyInfo", + "pages/home/noticeDetail/noticeDetail", + "pages/home/activeDetail/activeDetail", + "pages/home/projectDetail/projectDetail", + "pages/home/projectReturn/projectReturn", + "pages/home/beSureOrder/beSureOrder", + "pages/home/companyMore/companyMore", + "pages/home/projectSuccess/projectSuccess", + "pages/home/activeSuccess/activeSuccess" ], + "tabBar": { + "list": [ + { + "pagePath": "pages/shortVideo/index", + "text": "视频", + "iconPath": "/static/tabbar/tabbar_icon_00.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_00.png" + }, + { + "pagePath": "pages/mall/index", + "text": "商城", + "iconPath": "/static/tabbar/tabbar_icon_01.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_01.png" + }, + { + "pagePath": "pages/ticket/index", + "text": "优惠", + "iconPath": "/static/tabbar/tabbar_icon_02.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_02.png" + }, + { + "pagePath": "pages/user/index", + "text": "我的", + "iconPath": "/static/tabbar/tabbar_icon_03.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_03.png" + } + ], + "selectedColor": "#0b0041", + "color": "#4e4f51", + "borderStyle": "white", + "custom": true + }, "window": { - "backgroundTextStyle": "light", - "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "", - "navigationBarTextStyle": "black" + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "", + "navigationBarTextStyle": "black" }, "style": "v2", "sitemapLocation": "sitemap.json" diff --git a/app.wxss b/app.wxss index 5405ed2..44b0430 100644 --- a/app.wxss +++ b/app.wxss @@ -5,11 +5,15 @@ * 碌碌无为枉半生,一朝惊醒万事空。 */ - page{ +page{ background-color: #f8f8f8; font-size: 30rpx; } +.tabBar{ + margin-bottom: calc(48px + env(safe-area-inset-bottom)); +} + /* * 文字截取 */ diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js new file mode 100644 index 0000000..fb5dfeb --- /dev/null +++ b/custom-tab-bar/index.js @@ -0,0 +1,50 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +import { mall, video, ticket, user} from "../lib/tabBarData" + +Component({ + /** + * 组件的初始数据 + */ + data: { + selected : 0, + color : "#4e4f51", + selectedColor: "#0b0041", + list : [video, mall, ticket, user] + }, + + /** + * 生命周期函数 + */ + lifetimes:{ + // attached: ()=>{ + // //获取模版信息 + // wx.$api.publics.storeConfig({ + // company_id: "17" + // }).then(res=>{ + // console.log(res) + // }) + // } + }, + + /** + * 组件的方法列表 + */ + methods: { + switchTab(e) { + const data = e.currentTarget.dataset + const url = data.path + wx.switchTab({ + url + }) + this.setData({ + selected: data.index + }) + } + } +}) \ No newline at end of file diff --git a/custom-tab-bar/index.json b/custom-tab-bar/index.json new file mode 100644 index 0000000..fba482a --- /dev/null +++ b/custom-tab-bar/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/custom-tab-bar/index.wxml b/custom-tab-bar/index.wxml new file mode 100644 index 0000000..e54d25a --- /dev/null +++ b/custom-tab-bar/index.wxml @@ -0,0 +1,9 @@ + + + + + + {{item.text}} + + diff --git a/custom-tab-bar/index.wxss b/custom-tab-bar/index.wxss new file mode 100644 index 0000000..fe6d9b7 --- /dev/null +++ b/custom-tab-bar/index.wxss @@ -0,0 +1,44 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +.tab-bar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 48px; + background: white; + display: flex; + padding-bottom: env(safe-area-inset-bottom); +} + +.tab-bar-border { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 1px; + transform: scaleY(0.5); +} + +.tab-bar-item { + flex: 1; + text-align: center; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; +} + +.tab-bar-item cover-image { + width: 24px; + height: 24px; +} + +.tab-bar-item cover-view { + font-size: 10px; +} diff --git a/lib/tabBarData.js b/lib/tabBarData.js new file mode 100644 index 0000000..750f2ce --- /dev/null +++ b/lib/tabBarData.js @@ -0,0 +1,46 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +// 商城 +const mall = { + "pagePath": "pages/mall/index", + "text": "商城", + "iconPath": "/static/tabbar/tabbar_icon_01.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_01.png" +} + +// 短视频 +const video = { + "pagePath": "pages/shortVideo/index", + "text": "首页", + "iconPath": "/static/tabbar/tabbar_icon_00.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_00.png" +} + +// 优惠券 +const ticket = { + "pagePath": "pages/ticket/index", + "text": "优惠", + "iconPath": "/static/tabbar/tabbar_icon_02.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_02.png" +} + +// 我的 +const user = { + "pagePath": "pages/user/index", + "text": "我的", + "iconPath": "/static/tabbar/tabbar_icon_03.png", + "selectedIconPath": "/static/tabbar/tabbar_icon_show_03.png" +} + +export { + mall, + video, + ticket, + user +} + diff --git a/pages/mall/mall_cart/mall_cart.js b/pages/mall/mall_cart/mall_cart.js index 0a06cf4..f58a272 100644 --- a/pages/mall/mall_cart/mall_cart.js +++ b/pages/mall/mall_cart/mall_cart.js @@ -66,22 +66,24 @@ Page({ if(i.is_check){ sellerLength++ if(sellerLength == goodsList.length){ - this.setData({ - allCheckbox: true - }) + goodsList[goodsIndex].is_check = true + // this.setData({ + // allCheckbox: true + // }) } }else{ - if(this.data.allCheckbox){ - this.setData({ - allCheckbox: false - }) - } + goodsList[goodsIndex].is_check = false + this.setData({ + allCheckbox: false + }) } } this.setData({ carArr : goodsList }) + this.allCheckbox('checkbox') + // 获取计算价格 this.totalPrice() }, @@ -89,25 +91,35 @@ Page({ /** * 全选 */ - allCheckbox(){ - let bagList = this.data.carArr, + allCheckbox(type){ + let goodsList = this.data.carArr, + goodsLenght = 0, allCheckbox = this.data.allCheckbox - + + if (type == 'checkbox'){ + for (let j in goodsList) { + if (goodsList[j].is_check) { + goodsLenght++ + if (goodsLenght == goodsList.length) { + allCheckbox = true + } + } + } + }else{ allCheckbox = !allCheckbox - for(let i of bagList){ - i.is_check = allCheckbox + for (var i in goodsList){ + goodsList[i].is_check = allCheckbox + } } + this.setData({ - paramsCart : params, allCheckbox : allCheckbox, - carArr : bagList + carArr : goodsList }) - console.log(this.data.paramsCart) - // 获取计算价格 this.totalPrice() }, @@ -160,6 +172,7 @@ Page({ goodsList = this.data.carArr for (let i of goodsList){ + console.log(goodsList) if(i.is_check){ bagNumber = bagNumber + i.number allPrice = allPrice + i.total diff --git a/pages/mall/mall_details/mall_details.wxml b/pages/mall/mall_details/mall_details.wxml index 4b12036..0da9738 100644 --- a/pages/mall/mall_details/mall_details.wxml +++ b/pages/mall/mall_details/mall_details.wxml @@ -141,10 +141,13 @@ 1 - + 加入购物车 立即购买 + + 暂无库存 + @@ -171,7 +174,9 @@ {{item.title}}无门槛免费使用 - + 立即领取 @@ -193,7 +198,8 @@ - {{item.title}}{{item.type_text == '免费券' ? '免费券' : item.full}} + + {{item.title}}{{item.type_text == '免费券' ? '免费券' : item.full}} 立即领取 {{item.start_at}} - {{item.end_at}} @@ -252,23 +258,24 @@ - - 分享 - - - - - - - 好物推荐,和大家一起分享你发现的好物 - + + 分享 + + + + + + + + 好物推荐,和大家一起分享你发现的好物 + \ No newline at end of file diff --git a/pages/mall/mall_details/mall_details.wxss b/pages/mall/mall_details/mall_details.wxss index f468ff9..e395575 100644 --- a/pages/mall/mall_details/mall_details.wxss +++ b/pages/mall/mall_details/mall_details.wxss @@ -440,6 +440,12 @@ view.footer-btn-buy { background-color: #f97b35; } +.footer-btn-stock { + width: 100% !important; + background-color: #999; + color: #eee; +} + /* 优惠券弹出层 */ .couponBack, .specsBack { diff --git a/pages/mall/mall_order/mall_order.js b/pages/mall/mall_order/mall_order.js index c5230ab..b44cd03 100644 --- a/pages/mall/mall_order/mall_order.js +++ b/pages/mall/mall_order/mall_order.js @@ -10,8 +10,10 @@ Page({ * 页面的初始数据 */ data: { - stateType : 'all', //订单类型 - orderArr : [], //订单列表 + stateType : 'index', //订单类型 + orderArr : [], //订单列表 + page : {}, //分页信息 + lodingStats : false //加载状态 }, /** @@ -47,41 +49,22 @@ Page({ /** * 订单列表 */ - orderInfo(){ + orderInfo(page){ let stateType = this.data.stateType - - if(stateType == 'all') { - wx.$api.order.index().then(res=>{ - this.setData({ - orderArr : res.data - }) + wx.$api.order[stateType]({ + page : page || '' + }).then(res=>{ + console.log(res) + let listArr = this.data.orderArr, + newData = [] + if(page == 1 || page == undefined) listArr = [] + newData = listArr.concat(res.data) + this.setData({ + orderArr : newData, + page : res.page, + lodingStats : false }) - } else if(stateType == 'unpaid') { - wx.$api.order.unpaid().then(res=>{ - this.setData({ - orderArr : res.data - }) - }) - } else if(stateType == 'paid') { - wx.$api.order.paid().then(res=>{ - this.setData({ - orderArr : res.data - }) - }) - } else if(stateType == 'delive') { - wx.$api.order.delive().then(res=>{ - this.setData({ - orderArr : res.data - }) - }) - } else if(stateType == 'refunds') { - wx.$api.order.refund().then(res=>{ - this.setData({ - orderArr : res.data - }) - }) - } - + }) }, /** @@ -100,9 +83,44 @@ Page({ */ orderDelete(e) { let orderId = e.currentTarget.dataset.orderid - wx.$api.orders.cancel(orderId).then(res=>{ + wx.$api.order.cancel(orderId).then(res=>{ // 获取列表 this.orderInfo() }) }, + + /** + * 签收订单 + */ + orderSign(e) { + let orderId = e.currentTarget.dataset.orderid + wx.$api.order.sign(orderId).then(res=>{ + // 获取列表 + this.orderInfo() + }) + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + // 获取订单列表 + this.orderInfo() + }, + + /** + * 上拉加载 + */ + onReachBottom(){ + this.setData({ + lodingStats: true + }) + let pageNumber = this.data.page.current + if(this.data.page.has_more){ + pageNumber++ + + // 获取订单列表 + this.orderInfo(pageNumber) + } + } }) \ No newline at end of file diff --git a/pages/mall/mall_order/mall_order.json b/pages/mall/mall_order/mall_order.json index 24dafe1..2ccbdb7 100644 --- a/pages/mall/mall_order/mall_order.json +++ b/pages/mall/mall_order/mall_order.json @@ -1,4 +1,5 @@ { - "usingComponents" : {}, - "navigationBarTitleText" : "订单列表" + "usingComponents" : {}, + "navigationBarTitleText" : "订单列表", + "enablePullDownRefresh" : true } \ No newline at end of file diff --git a/pages/mall/mall_order/mall_order.wxml b/pages/mall/mall_order/mall_order.wxml index cc0b101..fc726c1 100644 --- a/pages/mall/mall_order/mall_order.wxml +++ b/pages/mall/mall_order/mall_order.wxml @@ -1,6 +1,6 @@ - + 全部 @@ -12,8 +12,9 @@ 待收货 - - 已完成 + + 申请退款 + @@ -22,7 +23,7 @@ {{goods.orderid}} - + {{goods.state_text}} @@ -39,13 +40,27 @@ - 立即支付 + 立即支付 取消订单 - 订单详情 + + 立即签收 + + 申请退款 + 订单详情 + + + 加载中... + + + 没有更多了~ + + diff --git a/pages/mall/mall_order/mall_order.wxss b/pages/mall/mall_order/mall_order.wxss index 1cde509..d017a41 100644 --- a/pages/mall/mall_order/mall_order.wxss +++ b/pages/mall/mall_order/mall_order.wxss @@ -156,3 +156,23 @@ page { border-color: #eb532a; color: #eb532a; } + +/* +* 页面信息提醒 +*/ + +.pages-loding { + text-align: center; + color: #747788; + font-size: 28rpx; + background: white; +} + +.pages-loding image { + width: 38rpx; + height: 38rpx; +} + +.pagesLoding { + text-align: center; +} \ No newline at end of file diff --git a/pages/mall/mall_order_data/mall_order_data.js b/pages/mall/mall_order_data/mall_order_data.js index 235eb12..bae756c 100644 --- a/pages/mall/mall_order_data/mall_order_data.js +++ b/pages/mall/mall_order_data/mall_order_data.js @@ -18,7 +18,6 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad (options) { - console.log(options.orderId) this.orderData(options.orderId) }, @@ -52,6 +51,9 @@ Page({ }) }, + /** + * 返回订单 + */ orderRun() { wx.navigateBack({ delta: 1, @@ -80,4 +82,16 @@ Page({ }) }) }, + + /** + * 签收订单 + */ + orderSign(e) { + let orderId = e.currentTarget.dataset.orderid + wx.$api.order.sign(orderId).then(res=>{ + wx.redirectTo({ + url: '/pages/mall/mall_order/mall_order', + }) + }) + }, }) \ No newline at end of file diff --git a/pages/mall/mall_order_data/mall_order_data.wxml b/pages/mall/mall_order_data/mall_order_data.wxml index 64c7e75..3edf314 100644 --- a/pages/mall/mall_order_data/mall_order_data.wxml +++ b/pages/mall/mall_order_data/mall_order_data.wxml @@ -18,7 +18,7 @@ {{orderData.type_text}} - + @@ -58,14 +58,14 @@ 运费 ¥{{orderData.freight}} - - 需付款 + 优惠 + ¥{{orderData.coupons_all_price}} + + + 实际付款 - ¥{{orderData.amount}} + ¥{{orderData.total}} @@ -82,7 +82,11 @@ 立即支付 - + + 立即签收 + + 申请退款 + 返回订单 diff --git a/pages/mall/mall_order_submit/mall_order_submit.js b/pages/mall/mall_order_submit/mall_order_submit.js index e40f72a..f5a148f 100644 --- a/pages/mall/mall_order_submit/mall_order_submit.js +++ b/pages/mall/mall_order_submit/mall_order_submit.js @@ -107,7 +107,43 @@ Page({ remark : this.data.remark, address_id : this.data.addressDel.address_id }).then(res=>{ - console.log(res) + let trade_no = res.trade_no + // 获取code + wx.login({ + success: res=>{ + wx.$api.mall.wechat({ + code : res.code, + trade_no : trade_no + }).then(res=>{ + let payInfo = JSON.parse(res) + wx.requestPayment({ + timeStamp: payInfo.timeStamp, + nonceStr : payInfo.nonceStr, + package : payInfo.package, + paySign : payInfo.paySign, + signType : payInfo.signType, + success : res=>{ + if(res.errMsg == "requestPayment:ok"){ + wx.showToast({ + title: '支付成功', + icon : 'success' + }) + setTimeout(()=>{ + wx.reLaunch({ + url: '/pages/mall/mall_order/mall_order' + }) + },2000) + } + }, + fail : res=>{ + wx.reLaunch({ + url: '/pages/mall/mall_order/mall_order?stateType=unpaid' + }) + } + }) + }) + } + }) }) } else { wx.$api.mall.orderBuy({ @@ -117,35 +153,43 @@ Page({ remark : this.data.remark, address_id : this.data.addressDel.address_id }).then(res=>{ - wx.$api.mall.wechat({ - trade_no : res.trade_no - }).then(res=>{ - let payInfo = JSON.parse(res) - wx.requestPayment({ - timeStamp: payInfo.timeStamp, - nonceStr : payInfo.nonceStr, - package : payInfo.package, - paySign : payInfo.paySign, - signType : payInfo.signType, - success : res=>{ - if(res.errMsg == "requestPayment:ok"){ - wx.showToast({ - title: '支付成功', - icon : 'success' - }) - setTimeout(()=>{ + let trade_no = res.trade_no + + // 获取code + wx.login({ + success: res=>{ + wx.$api.mall.wechat({ + code : res.code, + trade_no : trade_no + }).then(res=>{ + let payInfo = JSON.parse(res) + wx.requestPayment({ + timeStamp: payInfo.timeStamp, + nonceStr : payInfo.nonceStr, + package : payInfo.package, + paySign : payInfo.paySign, + signType : payInfo.signType, + success : res=>{ + if(res.errMsg == "requestPayment:ok"){ + wx.showToast({ + title: '支付成功', + icon : 'success' + }) + setTimeout(()=>{ + wx.reLaunch({ + url: '/pages/mall/mall_order/mall_order' + }) + },2000) + } + }, + fail : res=>{ wx.reLaunch({ - url: '/pages/mall/mall_order/mall_order' + url: '/pages/mall/mall_order/mall_order?stateType=unpaid' }) - },2000) - } - }, - fail : res=>{ - wx.reLaunch({ - url: '/pages/mall/mall_order/mall_order?stateType=unpaid' + } }) - } - }) + }) + } }) }) } diff --git a/pages/mall/mall_pay/mall_pay.js b/pages/mall/mall_pay/mall_pay.js index 68ed375..34513a6 100644 --- a/pages/mall/mall_pay/mall_pay.js +++ b/pages/mall/mall_pay/mall_pay.js @@ -36,36 +36,41 @@ Page({ * 订单支付 */ payment() { - wx.$api.mall.wechat({ - trade_no : this.data.orderData.trade_no - }).then(res=>{ - console.log(res) - let payInfo = JSON.parse(res) - wx.requestPayment({ - timeStamp: payInfo.timeStamp, - nonceStr : payInfo.nonceStr, - package : payInfo.package, - paySign : payInfo.paySign, - signType : payInfo.signType, - success : res=>{ - if(res.errMsg == "requestPayment:ok"){ - wx.showToast({ - title: '支付成功', - icon : 'success' - }) - setTimeout(()=>{ + // 获取code + wx.login({ + success: res=>{ + wx.$api.mall.wechat({ + code : res.code, + trade_no : this.data.orderData.trade_no + }).then(res=>{ + let payInfo = JSON.parse(res) + wx.requestPayment({ + timeStamp: payInfo.timeStamp, + nonceStr : payInfo.nonceStr, + package : payInfo.package, + paySign : payInfo.paySign, + signType : payInfo.signType, + success : res=>{ + if(res.errMsg == "requestPayment:ok"){ + wx.showToast({ + title: '支付成功', + icon : 'success' + }) + setTimeout(()=>{ + wx.reLaunch({ + url: '/pages/mall/mall_order/mall_order?stateType=all' + }) + },2000) + } + }, + fail : res=>{ wx.reLaunch({ - url: '/pages/mall/mall_order/mall_order?stateType=all' + url: '/pages/mall/mall_order/mall_order?stateType=unpaid' }) - },2000) - } - }, - fail : res=>{ - wx.reLaunch({ - url: '/pages/mall/mall_order/mall_order?stateType=unpaid' + } }) - } - }) + }) + } }) } }) \ No newline at end of file diff --git a/pages/mall/mall_refund/mall_refund.js b/pages/mall/mall_refund/mall_refund.js new file mode 100644 index 0000000..a383a51 --- /dev/null +++ b/pages/mall/mall_refund/mall_refund.js @@ -0,0 +1,131 @@ +/* + * 手太欠 + * 企获客商城 + */ + +const app = getApp() +Page({ + + /** + * 页面的初始数据 + */ + data: { + orderId : '', //商品id + orderData : '', //退货商品 + refundTitle : [], //退货理由 + refundType : '', //退货类型 + refundIndex : 0, //退货理由index + title : '', //退款原因 + typeIndex : 0, //退货类型index + imgs : [], //图片页面显示 + paths : [], //图片上传服务器 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + orderId: options.orderId + }) + wx.$api.order.goosRefund(options.orderId).then(res => { + console.log(res) + this.setData({ + orderData : res.order, + refundTitle : res.refund_title, + refundType : res.refund_type + }) + }) + + }, + + /** + *选择退款原因 + */ + refundChange(e) { + this.setData({ + refundIndex : e.detail.value + }) + }, + + /** + * 上传图片 + */ + + formUploadFile(){ + let count = 9 - this.data.imgs.length + wx.chooseImage({ + count : count, + success : res=>{ + // 上传图片 + if (res.tempFilePaths){ + let pathArr = res.tempFilePaths + wx.showLoading({ + title: '上传中', + }) + for (let i = 0; i < pathArr.length; i++){ + wx.$api.file.uploadImg(pathArr[i], {}).then(res=>{ + let imgArr = this.data.imgs, + pathArr = this.data.paths + imgArr.push(res.showpath) + pathArr.push(res.path) + this.setData({ + imgs : imgArr, + paths: pathArr + }) + }) + + if (i == pathArr.length - 1) { + wx.hideLoading() + } + } + }else{ + wx.showToast({ + title: '上传图片失败', + icon : 'none' + }) + } + } + }) + }, + + /** + * 删除图片 + */ + removeImg(e){ + let imgArr = this.data.imgs, + pathArr = this.data.paths, + index = e.currentTarget.dataset.index + + imgArr.splice(index, 1) + pathArr.splice(index, 1) + + this.setData({ + imgs : imgArr, + paths : pathArr + }) + }, + + /** + * 申请退货 + */ + refundSign(e) { + let refundTitle = this.data.refundTitle, + refundIndex = this.data.refundIndex, + remark = e.detail.value.remark, + paths = this.data.paths + + console.log(paths) + + wx.$api.order.formRefund(this.data.orderId,{ + title : refundTitle[refundIndex].title, + remark : remark, + type : 1, + pictures: paths + }).then(res => { + wx.redirectTo({ + url: '/pages/mall/mall_order/mall_order', + }) + }) + }, +}) \ No newline at end of file diff --git a/pages/mall/mall_refund/mall_refund.json b/pages/mall/mall_refund/mall_refund.json new file mode 100644 index 0000000..4f7775a --- /dev/null +++ b/pages/mall/mall_refund/mall_refund.json @@ -0,0 +1,4 @@ +{ + "usingComponents" : {}, + "navigationBarTitleText": "退款" +} \ No newline at end of file diff --git a/pages/mall/mall_refund/mall_refund.wxml b/pages/mall/mall_refund/mall_refund.wxml new file mode 100644 index 0000000..7a7f197 --- /dev/null +++ b/pages/mall/mall_refund/mall_refund.wxml @@ -0,0 +1,87 @@ +
+ + + + + + + {{item.title}} + {{item.value}} + 单价:{{item.price}} X {{item.qty}} + + + + + + + + 商品总金额 + + + + 运费 + + + + 优惠券抵扣 + + + + 实际支付金额 + + + + + + + + 退款金额 + + + + + + 选择退款原因 + + + {{refundTitle[refundIndex].remark}} + + + + + + + 退款类型 + + + + + + 退款原因 + + + + + + 添加图片 + + + + × + + + + + 添加图片 + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/mall/mall_refund/mall_refund.wxss b/pages/mall/mall_refund/mall_refund.wxss new file mode 100644 index 0000000..5005c3b --- /dev/null +++ b/pages/mall/mall_refund/mall_refund.wxss @@ -0,0 +1,223 @@ +.refund-content { + padding-bottom: 190rpx; +} + +.refund-goods { + background-color: white; +} + +.refund-good { + position: relative; + padding: 15rpx 30rpx; + min-height: 198rpx; +} + +.refund-good::before { + position: absolute; + left: 30rpx; + right: 0; + height: 1rpx; + bottom: 1rpx; + content: " "; + background-color: #f5f5f5; + z-index: 9; +} + +.refund-good-cover { + height: 178rpx; + width: 178rpx; + background: #f6f6f6; + position: absolute; + left: 30rpx; + top: 15rpx; +} + +.refund-good-info { + padding-left: 198rpx; +} + +.refund-good-title { + font-weight: bold; + margin: 15rpx 0; + font-size: 32rpx; +} + +.refund-good-value { + line-height: 40rpx; + font-size: 28rpx; + color: gray; +} + +.refund-good-price { + line-height: 40rpx; + color: gray; + font-size: 28rpx; + padding-top: 10rpx; +} + +.refund-good-price text { + color: red; + font-weight: bold; + font-size: 32rpx; +} + +/* 统计信息 */ +.refundTitle-item { + display: flex; +} + +.refundTitle-item picker { + flex: 1; + text-align: right; + color: #000; +} + +.refund-statistical { + background: white; +} + +.refund-statistical-item { + position: relative; + padding: 0 30rpx; + line-height: 90rpx; + color: gray; +} + +.refund-statistical-item::before { + position: absolute; + left: 30rpx; + right: 0; + height: 1rpx; + bottom: 1rpx; + content: " "; + background-color: #f5f5f5; + z-index: 9; +} + +.refund-statistical-item:last-child::before { + display: none; +} + +.refund-statistical-item-label { + position: absolute; + right: 30rpx; + top: 0; + width: 300rpx; + text-align: right; + color: #000; +} + +/* 退款 */ +.refund-info { + margin-top: 20rpx; +} + +.refund-info-item-label { + color: red; + font-weight: bold; +} + +.refund-info-item-text { + padding: 30rpx 30rpx 30rpx 30rpx; +} + +.refund-info-item-textarea { + width: 100%; + height: 150rpx; + margin-top: 20rpx; +} + +/* footer */ +.refund-footer { + background: white; + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 20rpx 30rpx 30rpx 30rpx; + width: 100%; + box-sizing: border-box; + z-index: 9999; +} + +.refund-footer-btn[size="mini"] { + background: #eb532a; + width: 100%; + height: 90rpx; + line-height: 90rpx; + color: white; + font-size: 32rpx; +} + + +/* 多图上传 */ + +.issue-info-img { + padding: 20rpx 0; + display: flex; + flex-wrap: wrap; + margin: 0 -10rpx; +} + +.issue-info-img-itme { + width: calc(33.33% - 20rpx); + padding-top: calc(33.33% - 20rpx); + box-sizing: border-box; + position: relative; + margin: 10rpx; +} + +.issue-info-img-itme>image { + width: 100%; + height: calc(100% - 20rpx); + height: -webkit-calc(100% - 20rpx); + position: absolute; + top: 10rpx; + left: 0; +} + +.issue-info-img-remove { + position: absolute; + z-index: 5; + top: -5rpx; + right: -6rpx; + height: 36rpx; + width: 36rpx; + text-align: center; + line-height: 34rpx; + background: #ec202c; + color: white; + font-size: 28rpx; + font-weight: bold; + border-radius: 50%; +} + +.issue-info-img-add { + position: absolute; + top: 10rpx; + bottom: 10rpx; + width: 100%; + left: 0; + text-align: center; + background: #f3f4f8; + color: #8d8d8d; + font-size: 24rpx; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-pack: center; +} + +.issue-info-img-add image { + width: 100rpx; + height: 100rpx; + vertical-align: bottom; + margin-bottom: 15rpx; + margin-top: 15rpx; +} + +.issue-info-img-hint { + line-height: 60rpx; + color: #666; + font-size: 26rpx; + padding: 0 30rpx 15rpx 30rpx; +} diff --git a/project.config.json b/project.config.json index 5d8defd..87dc3de 100644 --- a/project.config.json +++ b/project.config.json @@ -1,90 +1,91 @@ { - "description": "项目配置文件", - "packOptions": { - "ignore": [] - }, - "setting": { - "urlCheck": true, - "es6": true, - "enhance": false, - "postcss": true, - "preloadBackgroundData": false, - "minified": true, - "newFeature": false, - "coverView": true, - "nodeModules": true, - "autoAudits": false, - "showShadowRootInWxmlPanel": true, - "scopeDataCheck": false, - "uglifyFileName": false, - "checkInvalidKey": true, - "checkSiteMap": true, - "uploadWithSourceMap": true, - "compileHotReLoad": false, - "useMultiFrameRuntime": false, - "useApiHook": true, - "babelSetting": { - "ignore": [], - "disablePlugins": [], - "outputPath": "" + "description": "项目配置文件", + "packOptions": { + "ignore": [] }, - "enableEngineNative": false, - "bundle": false, - "useIsolateContext": true, - "useCompilerModule": true, - "userConfirmedUseCompilerModuleSwitch": false, - "userConfirmedBundleSwitch": false, - "packNpmManually": false, - "packNpmRelationList": [], - "minifyWXSS": true - }, - "compileType": "miniprogram", - "libVersion": "2.14.0", - "appid": "wxd931d03dfe955254", - "projectname": "%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%8F%E7%A8%8B%E5%BA%8F", - "debugOptions": { - "hidedInDevtools": [] - }, - "scripts": {}, - "isGameTourist": false, - "simulatorType": "wechat", - "simulatorPluginLibVersion": {}, - "condition": { - "plugin": { - "list": [] - }, - "game": { - "list": [] - }, - "gamePlugin": { - "list": [] - }, - "miniprogram": { - "list": [ - { - "name": "登录", - "pathName": "pages/login/login", - "query": "", - "scene": null + "setting": { + "urlCheck": true, + "es6": true, + "enhance": false, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": true, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "useMultiFrameRuntime": false, + "useApiHook": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" }, - { - "name": "搜索", - "pathName": "pages/company/search/search", - "query": "", - "scene": null + "enableEngineNative": false, + "bundle": false, + "useIsolateContext": true, + "useCompilerModule": true, + "userConfirmedUseCompilerModuleSwitch": false, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true + }, + "compileType": "miniprogram", + "libVersion": "2.14.0", + "appid": "wxd931d03dfe955254", + "projectname": "%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%8F%E7%A8%8B%E5%BA%8F", + "debugOptions": { + "hidedInDevtools": [] + }, + "scripts": {}, + "isGameTourist": false, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": { + "plugin": { + "list": [] }, - { - "name": "商城", - "pathName": "pages/mall/index", - "query": "", - "scene": null + "game": { + "list": [] }, - { - "name": "pages/home/beSureOrder/beSureOrder", - "pathName": "pages/home/beSureOrder/beSureOrder", - "scene": null + "gamePlugin": { + "list": [] + }, + "miniprogram": { + "list": [ + { + "name": "登录", + "pathName": "pages/login/login", + "query": "", + "scene": null + }, + { + "name": "搜索", + "pathName": "pages/company/search/search", + "query": "", + "scene": null + }, + { + "name": "商城", + "pathName": "pages/mall/index", + "query": "", + "scene": null + }, + { + "name": "pages/user/index", + "pathName": "pages/user/index", + "query": "", + "scene": null + } + ] } - ] } - } } \ No newline at end of file diff --git a/static/tabbar/tabbar_icon_00.png b/static/tabbar/tabbar_icon_00.png new file mode 100644 index 0000000..fc32af0 Binary files /dev/null and b/static/tabbar/tabbar_icon_00.png differ diff --git a/static/tabbar/tabbar_icon_01.png b/static/tabbar/tabbar_icon_01.png new file mode 100644 index 0000000..416bb50 Binary files /dev/null and b/static/tabbar/tabbar_icon_01.png differ diff --git a/static/tabbar/tabbar_icon_02.png b/static/tabbar/tabbar_icon_02.png new file mode 100644 index 0000000..89d01a3 Binary files /dev/null and b/static/tabbar/tabbar_icon_02.png differ diff --git a/static/tabbar/tabbar_icon_03.png b/static/tabbar/tabbar_icon_03.png new file mode 100644 index 0000000..840eb03 Binary files /dev/null and b/static/tabbar/tabbar_icon_03.png differ diff --git a/static/tabbar/tabbar_icon_show_00.png b/static/tabbar/tabbar_icon_show_00.png new file mode 100644 index 0000000..64cdf86 Binary files /dev/null and b/static/tabbar/tabbar_icon_show_00.png differ diff --git a/static/tabbar/tabbar_icon_show_01.png b/static/tabbar/tabbar_icon_show_01.png new file mode 100644 index 0000000..1869c20 Binary files /dev/null and b/static/tabbar/tabbar_icon_show_01.png differ diff --git a/static/tabbar/tabbar_icon_show_02.png b/static/tabbar/tabbar_icon_show_02.png new file mode 100644 index 0000000..8479352 Binary files /dev/null and b/static/tabbar/tabbar_icon_show_02.png differ diff --git a/static/tabbar/tabbar_icon_show_03.png b/static/tabbar/tabbar_icon_show_03.png new file mode 100644 index 0000000..1fe9b5e Binary files /dev/null and b/static/tabbar/tabbar_icon_show_03.png differ