Jelajahi Sumber

同步2.0版本

yongzonghuang 3 tahun lalu
induk
melakukan
768a5f5abd
86 mengubah file dengan 6229 tambahan dan 6141 penghapusan
  1. 1 3
      App.vue
  2. 7 29
      components/canvasShow/canvasShowPage.vue
  3. 0 107
      components/canvasShow/componentMap.js
  4. 1 1
      components/canvasShow/config/api.js
  5. 1 1
      components/canvasShow/config/mixin/funMixin.js
  6. 9 7
      components/goodsDetalils/coupon-popup.vue
  7. 4 7
      config/api.js
  8. TEMPAT SAMPAH
      config/attachment/logo.png
  9. 3 0
      main.js
  10. 2 1
      pages.json
  11. 29 13
      pages/tabbar/cart/index.vue
  12. 10 9
      pages/tabbar/category/index.vue
  13. 89 54
      pages/tabbar/index/index.vue
  14. 3 96
      pages/tabbar/user/index.vue
  15. 44 95
      pages_category_page1/coupon/list.vue
  16. 6 4
      pages_category_page1/coupon/product.vue
  17. 6 4
      pages_category_page1/discount/discount.vue
  18. 6 4
      pages_category_page1/discount/groupBuy.vue
  19. 7 5
      pages_category_page1/discount/platformDiscount.vue
  20. 15 13
      pages_category_page1/discount/spikeList.vue
  21. 12 10
      pages_category_page1/distributionModule/commodity.vue
  22. 6 4
      pages_category_page1/distributionModule/distributionOrder.vue
  23. 6 4
      pages_category_page1/distributionModule/index.vue
  24. 13 91
      pages_category_page1/distributionModule/salesIndex.vue
  25. 6 17
      pages_category_page1/distributionModule/shareProduct.vue
  26. 264 234
      pages_category_page1/distributionModule/totalAward.vue
  27. 7 5
      pages_category_page1/distributionModule/totalClient.vue
  28. 7 5
      pages_category_page1/distributionModule/totalPersonnel.vue
  29. 292 269
      pages_category_page1/distributionModule/unliquidated.vue
  30. 6 4
      pages_category_page1/goodsModule/addEvaluate.vue
  31. 5 3
      pages_category_page1/goodsModule/canvasGoods.vue
  32. 10 8
      pages_category_page1/goodsModule/combination.vue
  33. 6 4
      pages_category_page1/goodsModule/couponShopList.vue
  34. 7 5
      pages_category_page1/goodsModule/evaluate.vue
  35. 9 5
      pages_category_page1/goodsModule/evaluateDetails.vue
  36. 8 6
      pages_category_page1/goodsModule/evaluateList.vue
  37. 747 540
      pages_category_page1/goodsModule/goodsDetails.vue
  38. 7 5
      pages_category_page1/goodsModule/goodsList.vue
  39. 33 19
      pages_category_page1/goodsModule/invitePoster.vue
  40. 469 569
      pages_category_page1/goodsModule/inviteSpell.vue
  41. 6 4
      pages_category_page1/goodsModule/putQuestions.vue
  42. 7 5
      pages_category_page1/homeModule/special.vue
  43. 6 5
      pages_category_page1/integral/exchangeDetail.vue
  44. 6 5
      pages_category_page1/integral/index.vue
  45. 75 72
      pages_category_page1/integral/sign.vue
  46. 7 5
      pages_category_page1/memberCenter/activityList.vue
  47. 266 228
      pages_category_page1/memberCenter/index.vue
  48. 15 13
      pages_category_page1/memberCenter/memberSign.vue
  49. 5 3
      pages_category_page1/orderModule/Intervene.vue
  50. 8 5
      pages_category_page1/orderModule/addLogistics.vue
  51. 56 159
      pages_category_page1/orderModule/afterSaleApply.vue
  52. 46 21
      pages_category_page1/orderModule/afterSaleApplyRefund.vue
  53. 37 16
      pages_category_page1/orderModule/afterSaleApplyRetund.vue
  54. 194 79
      pages_category_page1/orderModule/index.vue
  55. 1 0
      pages_category_page1/orderModule/logisticsInfo.vue
  56. 2216 2229
      pages_category_page1/orderModule/orderConfirm.vue
  57. 578 491
      pages_category_page1/orderModule/orderDetails.vue
  58. 6 4
      pages_category_page1/orderModule/paySuccessful.vue
  59. 7 5
      pages_category_page1/orderModule/platformJoin.vue
  60. 7 5
      pages_category_page1/store/index.vue
  61. 15 12
      pages_category_page2/channelCoupon/index.vue
  62. 8 7
      pages_category_page2/distributionModule/distributionOrder.vue
  63. 17 16
      pages_category_page2/orderModule/afterSale.vue
  64. 186 183
      pages_category_page2/orderModule/refundDetails.vue
  65. 15 12
      pages_category_page2/orderModule/returnDetails.vue
  66. 48 37
      pages_category_page2/userModule/accountLogin.vue
  67. 5 4
      pages_category_page2/userModule/addAddress.vue
  68. 10 9
      pages_category_page2/userModule/address.vue
  69. 5 4
      pages_category_page2/userModule/bankcard.vue
  70. 8 4
      pages_category_page2/userModule/bindPhone.vue
  71. 11 10
      pages_category_page2/userModule/collection.vue
  72. 5 4
      pages_category_page2/userModule/coupon.vue
  73. 11 10
      pages_category_page2/userModule/footprintList.vue
  74. 7 6
      pages_category_page2/userModule/login.vue
  75. 7 4
      pages_category_page2/userModule/memberAccount.vue
  76. 9 8
      pages_category_page2/userModule/messageCenter.vue
  77. 7 4
      pages_category_page2/userModule/messageDetail.vue
  78. 26 22
      pages_category_page2/userModule/personalDetails.vue
  79. 10 9
      pages_category_page2/userModule/questionList.vue
  80. 10 27
      pages_category_page2/userModule/register.vue
  81. 8 7
      pages_category_page2/userModule/unsubscribeCode.vue
  82. TEMPAT SAMPAH
      static/empty.png
  83. TEMPAT SAMPAH
      static/images/img.png
  84. TEMPAT SAMPAH
      static/images/logo.png
  85. 69 127
      utils/request.js
  86. 20 1
      uview-ui/package.json

+ 1 - 3
App.vue

@@ -47,9 +47,7 @@ export default {
 			  let cartNum = 0
 			  resCart.data.forEach(shopItem=>{
 			    shopItem.skus.forEach(goodsItem=>{
-            if (goodsItem.shelveState !== 0) {
-              cartNum += goodsItem.number
-            }
+			      cartNum += goodsItem.number
 			    })
 			  })
 			  uni.setStorageSync('allCartNum', cartNum)

+ 7 - 29
components/canvasShow/canvasShowPage.vue

@@ -116,6 +116,7 @@
 
 <script>
 // import comComponentMap from './componentMap'
+
 import comBanner from '@/components/canvasShow/basics/banner'
 import comText from '@/components/canvasShow/basics/text'
 import comImageText from '@/components/canvasShow/basics/imageText'
@@ -137,7 +138,6 @@ import comPrice from '@/components/canvasShow/basics/price/app'
 import comNewProduct from '@/components/canvasShow/basics/newProduct/app'
 import comShop from '@/components/canvasShow/basics/shop'
 import comLive from '@/components/canvasShow/basics/live/app'
-import api from './config/api'
 import {sendReqMixin} from './config/mixin'
 
 export default {
@@ -148,8 +148,7 @@ export default {
       // terminal: 4, // 画布设备 1 小程序,2 H5,3 App 4 电脑
       // typeId: 3, // 画布类型 1 平台画布,2 自定义页面,3 商家店铺装修
       // shopId: 0, // 店铺id
-      componentsData: [],
-      activeComponent: -1,
+      // componentsData: [],
       // componentMap: componentMap
     }
   },
@@ -188,35 +187,14 @@ export default {
     shopId: {
       type: Number,
       default: 0
+    },
+    componentsData: {
+      type: Array,
+      default: ()=>[]
     }
   },
-  mounted() {
-    // this.shopId = Cookies.get('cereShopId')
-    this.canvasGet()
-  },
   methods: {
-    // 读取画布
-    canvasGet() {
-      var _this = this
-      var apiUrl = api.getCanvas + '?terminal=' + this.terminal + '&type=' + this.typeId
-      if (this.shopId) {
-        apiUrl += '&shopId=' + this.shopId
-      }
-      let params = {
-        url: apiUrl,
-        method: 'GET'
-      }
-      this.sendReq(params, (res) => {
-        if (JSON.stringify(res.data) !== '{}') {
-          _this.canvasId = res.data.canvasId
-          var componentsData = JSON.parse(res.data.json)
-          _this.componentsData = componentsData
-        } else {
-          _this.canvasId = ''
-        }
-        // console.log(JSON.parse(res.data.json))
-      })
-    }
+
   }
 }
 </script>

+ 0 - 107
components/canvasShow/componentMap.js

@@ -1,107 +0,0 @@
-export const componentMap = [
-  // 小程序
-  new Map([
-    // ['shopHeader', () => import('./cereshop/app/shopHeader')], // 首页头部
-    ['banner', () => import('./basics/banner')], // 轮播图
-    ['text', () => import('./basics/text')], // 文本
-    ['imageText', () => import('./basics/imageText')], // 图文
-    ['brandList', () => import('./basics/brandList')], // 品牌列表
-    ['categoryList', () => import('./basics/categoryList')], // 品牌列表
-    ['imageTextList', () => import('./basics/imageTextList')], // 图文列表
-    ['assistDiv', () => import('./basics/assistDiv')], // 铺助分割
-    ['imageTextNav', () => import('./basics/imageTextNav')], // 图文导航
-    ['productList', () => import('./basics/product/app')], // 商品列表
-    ['videoBox', () => import('./basics/video')], // 视频
-    ['coupon', () => import('./basics/coupon/app')], // 优惠券
-    ['custom', () => import('./basics/custom')], // 自定义
-    ['notice', () => import('./basics/notice')], // 公告
-    ['vip', () => import('./basics/vip/app')], // 会员专区
-    // ['shopHead', () => import('./basics/shopHead')], // 店铺头部
-    ['groupList', () => import('./basics/group/app')], // 拼团专区
-    ['spikeList', () => import('./basics/spike/app')], // 秒杀专区
-    ['priceList', () => import('./basics/price/app')], // 定价捆绑
-    ['discountList', () => import('./basics/discount/app')], // 限时折扣
-    ['newProduct', () => import('./basics/newProduct/app')], // 每日上新
-    ['live', () => import('./basics/live/app')], // 直播
-    ['shop', () => import('./basics/shop')] // 每日好店
-  ]),
-  // H5
-  new Map([
-    // ['shopHeader', () => import('./cereshop/app/shopHeader')], // 首页头部
-    ['banner', () => import('./basics/banner')], // 轮播图
-    ['text', () => import('./basics/text')], // 文本
-    ['imageText', () => import('./basics/imageText')], // 图文
-    ['brandList', () => import('./basics/brandList')], // 品牌列表
-    ['categoryList', () => import('./basics/categoryList')], // 品牌列表
-    ['imageTextList', () => import('./basics/imageTextList')], // 图文列表
-    ['assistDiv', () => import('./basics/assistDiv')], // 铺助分割
-    ['imageTextNav', () => import('./basics/imageTextNav')], // 图文导航
-    ['productList', () => import('./basics/product/app')], // 商品列表
-    ['videoBox', () => import('./basics/video')], // 视频
-    ['coupon', () => import('./basics/coupon/app')], // 优惠券
-    ['custom', () => import('./basics/custom')], // 自定义
-    ['notice', () => import('./basics/notice')], // 公告
-    ['vip', () => import('./basics/vip/app')], // 会员专区
-    // ['shopHead', () => import('./basics/shopHead')], // 店铺头部
-    ['groupList', () => import('./basics/group/app')], // 拼团专区
-    ['spikeList', () => import('./basics/spike/app')], // 秒杀专区
-    ['priceList', () => import('./basics/price/app')], // 定价捆绑
-    ['discountList', () => import('./basics/discount/app')], // 限时折扣
-    ['newProduct', () => import('./basics/newProduct/app')], // 每日上新
-    ['live', () => import('./basics/live/app')], // 直播
-    ['shop', () => import('./basics/shop')] // 每日好店
-  ]),
-  // APP
-  new Map([
-    // ['shopHeader', () => import('./cereshop/app/shopHeader')], // 首页头部
-    ['banner', () => import('./basics/banner')], // 轮播图
-    ['text', () => import('./basics/text')], // 文本
-    ['imageText', () => import('./basics/imageText')], // 图文
-    ['brandList', () => import('./basics/brandList')], // 品牌列表
-    ['categoryList', () => import('./basics/categoryList')], // 品牌列表
-    ['imageTextList', () => import('./basics/imageTextList')], // 图文列表
-    ['assistDiv', () => import('./basics/assistDiv')], // 铺助分割
-    ['imageTextNav', () => import('./basics/imageTextNav')], // 图文导航
-    ['productList', () => import('./basics/product/app')], // 商品列表
-    ['videoBox', () => import('./basics/video')], // 视频
-    ['coupon', () => import('./basics/coupon/app')], // 优惠券
-    ['custom', () => import('./basics/custom')], // 自定义
-    ['notice', () => import('./basics/notice')], // 公告
-    ['vip', () => import('./basics/vip/app')], // 会员专区
-    // ['shopHead', () => import('./basics/shopHead')], // 店铺头部
-    ['groupList', () => import('./basics/group/app')], // 拼团专区
-    ['spikeList', () => import('./basics/spike/app')], // 秒杀专区
-    ['priceList', () => import('./basics/price/app')], // 定价捆绑
-    ['discountList', () => import('./basics/discount/app')], // 限时折扣
-    ['newProduct', () => import('./basics/newProduct/app')], // 每日上新
-    ['live', () => import('./basics/live/app')], // 直播
-    ['shop', () => import('./basics/shop')] // 每日好店
-  ]),
-  // PC
-  new Map([
-    // ['shopHeader', () => import('./cereshop/pc/shopHeader')], // 首页头部
-    ['banner', () => import('./basics/banner')], // 轮播图
-    ['text', () => import('./basics/text')], // 文本
-    ['imageText', () => import('./basics/imageText')], // 图文
-    ['brandList', () => import('./basics/brandList')], // 品牌列表
-    ['categoryList', () => import('./basics/categoryList')], // 品牌列表
-    ['imageTextList', () => import('./basics/imageTextList')], // 图文列表
-    ['assistDiv', () => import('./basics/assistDiv')], // 铺助分割
-    ['imageTextNav', () => import('./basics/imageTextNav')], // 图文导航
-    ['productList', () => import('./basics/product/pc')], // 商品列表
-    ['videoBox', () => import('./basics/video')], // 视频
-    ['coupon', () => import('./basics/coupon/pc')], // 优惠券
-    ['custom', () => import('./basics/custom')], // 自定义
-    ['notice', () => import('./basics/notice')], // 公告
-    ['vip', () => import('./basics/vip/pc')], // 会员专区
-    // ['shopHead', () => import('./basics/shopHead')], // 店铺头部
-    ['groupList', () => import('./basics/group/pc')], // 拼团专区
-    ['spikeList', () => import('./basics/spike/pc')], // 秒杀专区
-    ['priceList', () => import('./basics/price/pc')], // 定价捆绑
-    ['discountList', () => import('./basics/discount/pc')], // 限时折扣
-    ['newProduct', () => import('./basics/newProduct/app')], // 每日上新
-    ['live', () => import('./basics/live/app')], // 直播
-    ['shop', () => import('./basics/shop')] // 每日好店
-  ])
-]
-export default componentMap

+ 1 - 1
components/canvasShow/config/api.js

@@ -3,7 +3,7 @@
 // 获取当前环境变量 true => 生产环境 false => 开发环境
 // const BASEURL = process.env.VUE_APP_DOMAIN_PREFIX
 // const BASEURL = (process.env.NODE_ENV === 'production') ? 'https://ceres.zkthink.com/api' : 'https://ceresdev.zkthink.com/api'
-const BASEURL = (process.env.NODE_ENV === 'production') ? 'https://ceres.zkthink.com/api' : 'https://ceres.zkthink.com/api'
+const BASEURL = (process.env.NODE_ENV === 'production') ? 'https://ceresdev.zkthink.com/api' : 'https://ceresdev.zkthink.com/api'
 
 
 export const api = {

+ 1 - 1
components/canvasShow/config/mixin/funMixin.js

@@ -19,7 +19,7 @@ export const tool = {
     }
   },
   mounted() {
-    console.log('加载了组件')
+    // console.log('加载了组件')
   },
   methods: {
     ...mapMutations({

+ 9 - 7
components/goodsDetalils/coupon-popup.vue

@@ -1,6 +1,7 @@
 <template>
   <view class="coupon-popup" :class="showActivity && 'show'" >
-	<view class="mask" @click="closePopup"></view>
+    <global-loading />
+    <view class="mask" @click="closePopup"></view>
     <view class="couponShow-box" id="popupInner">
         <view class="tabsbox">
             <u-tabs
@@ -151,10 +152,11 @@ export default {
         },
         // 领取优惠券
         receiveTap(couponItemInfo, type) {
-            uni.showLoading({
-                mask: true,
-                title: '领取中...',
-            })
+            // uni.showLoading({
+            //     mask: true,
+            //     title: '领取中...',
+            // })
+            this.$showLoading("领取中...")
             let ReceiveCoupon
             if (type === 0) {
                 ReceiveCoupon = {
@@ -168,7 +170,7 @@ export default {
                 }
             }
             NET.request(API.ReceiveCoupon, ReceiveCoupon, 'POST').then(res => {
-                uni.hideLoading()
+                // uni.hideLoading()
                 this.isShowSuccess = true
                 setTimeout(() => {
                     this.isShowSuccess = false
@@ -179,7 +181,7 @@ export default {
                 // 	this.showActivity = false
                 // }, 3000);
             }).catch(res => {
-                uni.hideLoading()
+                // uni.hideLoading()
                 uni.showToast({
                     title: res.msg,
                     icon: 'none'

+ 4 - 7
config/api.js

@@ -1,5 +1,5 @@
 // const DOMAIN_PREFIX = 'http://127.0.0.1:9007'
-const DOMAIN_PREFIX = 'https://ceres.zkthink.com/api'
+const DOMAIN_PREFIX = 'https://ceresdev.zkthink.com/api'
 
 // https://ceresdev.zkthink.com
 // #ifndef H5
@@ -27,9 +27,6 @@ module.exports = {
 	// shareLink: DOMAIN_PREFIX + '/h5', // 分享地址
 	shareLink: 'https://ceres.zkthink.com/h5', // 分享地址
 
-	// refreshtoken
-	RefreshToken:WX_API_BASE + "/app/refreshToken",
-
 	//登录注册
 	Verify: WX_API_BASE + '/app/getCode', //  获取短信验证码
 	Login: WX_API_BASE + '/app/login', //  手机号验证码登录、注册
@@ -64,11 +61,9 @@ module.exports = {
 	DeleteSearch: WX_API_BASE + '/app/deleteSearch', //  删除搜索记录
 	Getindexdata: WX_API_BASE + '/app/index', //  首页数据查询
 	GetremenList: WX_API_BASE + '/product/getRandomSortProduct', //  获取热门推荐
-	GetBroadCastList: WX_API_BASE + '/product/getBroadCastList', //  获取拼团数据
 
 	QueryProductDetail: WX_API_BASE + '/product/getById', //  查询商品详情
 	QueryProductSku: WX_API_BASE + '/product/getProducts', //  查询商品sku详情
-	getSpecificSku: WX_API_BASE + '/product/getSpecificSku', // 查询指定的sku详情
 	getCouponProducts: WX_API_BASE + '/coupon/getCouponProducts', //  优惠券商品列表查询
 
 
@@ -147,7 +142,6 @@ module.exports = {
 	//分销中心
 	FindSaleStoreList: WX_API_BASE + '/distributor/getDistributorAll', //  分销中心列表查询
 	QuerySalesMainInfo: WX_API_BASE + '/distributor/getShopDistributor', //  店铺分销数据查询
-	getDistributionLevelConfig: WX_API_BASE + '/distributor/getDistributionLevelConfig', //  分销规则查询
 	FindSalesOrderPage: WX_API_BASE + '/distributor/getReward', //  累计奖励查询
 	GetNotReward: WX_API_BASE + '/distributor/getNotReward', //  累计未结算奖励查询
 	FindSalesCustomerList: WX_API_BASE + '/distributor/getBuyers', //  累计客户查询
@@ -274,4 +268,7 @@ module.exports = {
 	getChannelProduct: WX_API_BASE + '/credit/signIn', // 获取渠道优惠券推荐产品
 	getRandomProduct: WX_API_BASE + '/product/getRandomSortProduct', // 查询随机排序的商品
 
+
+	// 埋点
+	doPointer:WX_API_BASE+'/user/trackReport'
 }

TEMPAT SAMPAH
config/attachment/logo.png


+ 3 - 0
main.js

@@ -5,10 +5,13 @@ Vue.use(uView);
 
 Vue.config.productionTip = false
 
+import store from './store'
 
+Vue.prototype.$store = store
 App.mpType = 'app'
 
 const app = new Vue({
     ...App
 })
+console.log(store)
 app.$mount()

+ 2 - 1
pages.json

@@ -1,6 +1,7 @@
 {
 	"easycom": {
-		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue",
+		"global-loading": "@/components/GlobalLoading/index.vue"
 	},
 	"pages": [
 		// pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages

+ 29 - 13
pages/tabbar/cart/index.vue

@@ -1,5 +1,6 @@
 <template>
-  <view class="content">
+  <view class="content" :animation="animationData">
+    <global-loading />
     <!-- 购物车 -->
     <view v-if="dataList.length !== 0">
       <view class="cart-bg">
@@ -218,7 +219,7 @@
 
       <!-- 热门推荐 -->
       <HotTemplate/>
-			
+
       <view style="width: 100%;height: 100rpx;background-color:#efefef;"></view>
       <!-- 删除确认弹窗 -->
       <tui-modal :show="cardModal"
@@ -254,6 +255,12 @@ import api from "../../../components/canvasShow/config/api";
 
 const NET = require('../../../utils/request')
 const API = require('../../../config/api')
+const animation = uni.createAnimation({
+  duration: 500,
+  timingFunction: "ease-in-out",
+  delay: 0
+})
+
 export default {
   components: {
     tuiModal,
@@ -261,6 +268,7 @@ export default {
   },
   data() {
     return {
+      animationData:{},
       goodsDetailShowFlag: false,
       OriginalSelectedSku: {},
       selectedSku: {},
@@ -330,6 +338,8 @@ export default {
 
   },
   onShow() {
+    animation.opacity(1).step()
+    this.animationData = animation.export()
     //判断是否登录
     /* let item = {}
     if(uni.getStorageSync('storage_key')){
@@ -346,6 +356,11 @@ export default {
     this.getDataList()
     /* } */
   },
+  onHide(){
+    animation.opacity(0).step()
+    this.animationData = animation.export()
+  },
+
   methods: {
 
     // 提交更换商品规格
@@ -404,10 +419,10 @@ export default {
     },
     //获取商品详情
     queryProductDetail() {
-      uni.showLoading({
-        mask: true,
-        title: '加载中...'
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...'
+      // })
       NET.request(API.QueryProductDetail, {
             shopId: this.shopId,
             productId: this.productId,
@@ -558,10 +573,10 @@ export default {
       this.btnType = type
     },
     getDataList() {
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       NET.request(API.ShoppingCart, {}, 'GET').then(res => {
         uni.hideLoading()
         this.dataList = res.data
@@ -892,9 +907,9 @@ export default {
      * @returns {*[]}
      */
     getPriceBySelect(needReturn=false){
-      uni.showLoading({
-        title:"计算中..."
-      })
+      // uni.showLoading({
+      //   title:"计算中..."
+      // })
       let addCart = []
       let len = this.dataList.length
       for (let i = 0; i < len; i++) {
@@ -985,6 +1000,7 @@ page {
 
 .content {
   overflow: hidden;
+  opacity: 0;
 
   .goosDetailshow-box {
     .detailImg-box {

+ 10 - 9
pages/tabbar/category/index.vue

@@ -1,6 +1,7 @@
 <template>
 	<view>
-		<view class="header">
+    <global-loading />
+    <view class="header">
 			<image class="logo" src="https://ceres.zkthink.com//assets/img/logo.png" mode="widthFix"></image>
 		</view>
 		<view class="content">
@@ -53,10 +54,10 @@
 		},
 		methods: {
 			loadData(){
-				uni.showLoading({
-          mask: true,
-					title:'加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title:'加载中...'
+				// })
 				NET.request(API.FindCategoryListByDepth, {
 						classifyId: "",
 					}, 'GET').then(res => {
@@ -69,10 +70,10 @@
 				})
 			},
 			getChildCategory(){
-				uni.showLoading({
-          mask: true,
-					title:'加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title:'加载中...'
+				// })
 				NET.request(API.FindCategoryListByDepth,{
 					classifyId:this.currentId
 				},'GET').then(res => {

+ 89 - 54
pages/tabbar/index/index.vue

@@ -1,48 +1,56 @@
 <template>
-  <div>
-    <!-- #ifdef MP-WEIXIN -->
-    <view class="header weiXinBox"
-          :style="{'padding-top': topHeight + 'px'}">
-      <view class="topBox"
-            :style="{'height': height + 'px'}">
-        <image class="logo"
-               src="https://ceres.zkthink.com/static/assets/img/logo.png"
-               mode="widthFix"></image>
-      </view>
-    </view>
-    <view class="wxBtnBg"
-          :style="{'padding-top': (topHeight + height + 10) + 'px'}">
-      <view class="weiXinBoxBtn"
-            @click="searchPro">
-        <image class="search-icon"
-               src="https://ceres.zkthink.com/static/images/searchImg.png"
-               mode="widthFix">
-        </image>
-        <text>请输入您想要的宝贝</text>
-      </view>
-    </view>
-    <!-- #endif -->
-    <!-- #ifdef H5 || APP-PLUS -->
-    <view class="header">
-      <view class="topBox topWap">
-        <image class="logo"
-               src="https://ceres.zkthink.com/static/assets/img/logo.png"
-               mode="widthFix"></image>
-        <view class="search-btn"
-              @click="searchPro">
-          <image class="search-icon"
-                 src="https://ceres.zkthink.com/static/img/search.png"
-                 mode="widthFix">
-          </image>
-        </view>
-      </view>
-    </view>
-    <!-- #endif -->
-    <category-list @tabChange='tabChange'></category-list>
+  <div class="hom-page" :style="{'padding-top': height + 'px'}">
+    <global-loading />
+    <!--&lt;!&ndash;  #ifdef MP-WEIXIN &ndash;&gt;-->
+    <!--<view class="header weiXinBox"-->
+          <!--:style="{'padding-top': topHeight + 'px'}">-->
+      <!--<view class="topBox"-->
+            <!--:style="{'height': height + 'px'}">-->
+        <!--<image class="logo"-->
+               <!--src="https://ceres.zkthink.com/static/assets/img/logo.png"-->
+               <!--mode="widthFix"></image>-->
+      <!--</view>-->
+    <!--</view>-->
+    <!--<view class="wxBtnBg"-->
+          <!--:style="{'padding-top': (topHeight + height + 10) + 'px'}">-->
+      <!--<view class="weiXinBoxBtn"-->
+            <!--@click="searchPro">-->
+        <!--<image class="search-icon"-->
+               <!--src="https://ceres.zkthink.com/static/images/searchImg.png"-->
+               <!--mode="widthFix">-->
+        <!--</image>-->
+        <!--<text>请输入您想要的宝贝</text>-->
+      <!--</view>-->
+    <!--</view>-->
+    <!--&lt;!&ndash; #endif &ndash;&gt;-->
+    <!--&lt;!&ndash; #ifdef H5 || APP-PLUS &ndash;&gt;-->
+    <!--<view class="header">-->
+      <!--<view class="topBox topWap">-->
+        <!--<image class="logo"-->
+               <!--src="https://ceres.zkthink.com/static/assets/img/logo.png"-->
+               <!--mode="widthFix"></image>-->
+        <!--<view class="search-btn"-->
+              <!--@click="searchPro">-->
+          <!--<image class="search-icon"-->
+                 <!--src="https://ceres.zkthink.com/static/img/search.png"-->
+                 <!--mode="widthFix">-->
+          <!--</image>-->
+        <!--</view>-->
+      <!--</view>-->
+    <!--</view>-->
+    <!--&lt;!&ndash; #endif &ndash;&gt;-->
+    <!--<category-list @tabChange='tabChange'></category-list>-->
+    <com-header  v-if="componentsData.length > 1 && componentsData[0].type==='header'"
+                :componentContent="componentsData[0].componentContent"
+                :terminal="terminal"
+                :typeId="1"
+                @tabChange="tabChange"></com-header>
     <canvas-page ref="canvasPage"
+                 :componentsData="componentsData"
                  v-if="activeTab==0"
                  :terminal="terminal"
-                 :typeId="1"></canvas-page>
+                 :typeId="1"
+    ></canvas-page>
     <category-show ref="categoryShow"
                    v-else
                    :categoryid="categoryid"></category-show>
@@ -78,14 +86,19 @@
 <script>
 import tuiModal from "@/components/modal/modal";
 import AdWindow from "@/components/adWindow";
-
+const NET = require('@/utils/request')
 const API = require('../../../config/api')
+import api from '@/components/canvasShow/config/api'
 import CategoryList from "@/components/basics/categoryList.vue"
 import CategoryShow from "@/components/basics/categoryShow.vue"
+import comHeader from '@/components/canvasShow/basics/header/app'
 import canvasPage from '@/components/canvasShow/canvasShowPage.vue'
+import GlobalLoading from "../../../components/GlobalLoading";
 
 export default {
   components: {
+    GlobalLoading,
+    comHeader,
     AdWindow,
     CategoryList,
     CategoryShow,
@@ -100,7 +113,9 @@ export default {
       topHeight: 0,
       height: 0,
       topLeft: 0,
-      privacyShow: false
+      privacyShow: false,
+      componentsData: [],
+      typeId: 1
     }
   },
   onReachBottom() {
@@ -113,23 +128,47 @@ export default {
       // #endif
     }
     this.$nextTick(() => {
+      this.canvasGet()
       this.$refs.adWindow.getAd()
     })
   },
   onShow() {
     // #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO || MP-QQ
     let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
-    this.topHeight = menuButtonInfo.top + 10
+    this.topHeight = menuButtonInfo.top
     this.height = menuButtonInfo.height
     // #endif
 
   },
-
-
   onPageScroll(e) {
     this.topLeft = e.scrollTop
   },
   methods: {
+    // 读取画布
+    canvasGet() {
+      var _this = this
+      var apiUrl = api.getCanvas + '?terminal=' + this.terminal + '&type=' + this.typeId
+      if (this.shopId) {
+        apiUrl += '&shopId=' + this.shopId
+      }
+      let params = {
+        url: apiUrl,
+        method: 'GET'
+      }
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
+      NET.request(apiUrl, {}, 'GET').then(res => {
+        if (JSON.stringify(res.data) !== '{}') {
+          var componentsData = JSON.parse(res.data.json)
+          this.componentsData = componentsData
+        }
+        uni.hideLoading()
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
 		// 分享到朋友圈
 		onShareTimeline: function() {
 		  return {
@@ -175,18 +214,14 @@ export default {
       this.activeTab = index
       this.categoryid = id
     },
-    // 查询产品
-    searchPro(key, type) {
-      uni.navigateTo({
-        url: `/pages_category_page1/search/index/index`
-      })
-    }
   }
 };
 </script>
 
-<style lang="scss"
-       scoped>
+<style lang="scss" scoped>
+  .hom-page{
+    margin-top: calc(20rpx + var(--status-bar-height));
+  }
 .header {
   .toLive {
     height: 40px;

+ 3 - 96
pages/tabbar/user/index.vue

@@ -222,20 +222,13 @@
             <image class="item-btn-icon" src="https://ceres.zkthink.com/static/img/user/service.png" mode="widthFix"></image>
             <view class="item-btn-text">平台客服</view>
           </view> -->
-<!--        <button open-type="contact"
+        <button open-type="contact"
                 class="item-btn btnNone">
           <image class="item-btn-icon"
                  src="https://ceres.zkthink.com/static/img/user/service.png"
                  mode="widthFix"></image>
           <view class="item-btn-text">平台客服</view>
-        </button>-->
-        <view @click="flyToService"
-              class="item-btn btnNone">
-          <image class="item-btn-icon"
-                 src="https://ceres.zkthink.com/static/img/user/service.png"
-                 mode="widthFix"></image>
-          <view class="item-btn-text">平台客服</view>
-        </view>
+        </button>
 
         <!-- <view class="item-btn" @click="toSuccess">
           <image class="item-btn-icon" src="https://ceres.zkthink.com/static/img/user/userCouponIcon.png" mode="widthFix"></image>
@@ -274,7 +267,6 @@ export default {
     }
   },
   onLoad() {
-    this.getServiceUrl()
   },
   onShow() {
     if (uni.getStorageSync('storage_key')) {
@@ -514,7 +506,7 @@ export default {
       } else {
         uni.navigateTo({
           url: '../../../pages_category_page1/coupon/list'
-        })
+        })````
       }
     },
     //判断是否是分销员
@@ -539,91 +531,6 @@ export default {
         })
       }
     },
-
-    getServiceUrl() {
-      const shopids = uni.getStorageSync('service_shopids') || []
-      const corpIds = uni.getStorageSync('service_corpIds') || []
-      const urls = uni.getStorageSync('service_urls') || []
-
-        this.isLoading = true
-        const id = null
-        NET.request(API.CustomerService, {
-
-        }, 'get').then(res => {
-          if (res.code === '' && res.data.corpId && res.data.url) {
-            shopids.push(this.shopId)
-            corpIds.push(res.data.corpId)
-            urls.push(res.data.url)
-
-            uni.setStorageSync('service_shopids', shopids);
-            uni.setStorageSync('service_corpIds', corpIds);
-            uni.setStorageSync('service_urls', urls);
-
-            this.corpId = res.data.corpId
-            this.serviceURL = res.data.url
-            if (this.serviceURL) {
-              this.hasService = true
-            }
-          }
-          this.isLoading = false
-        }).catch(err => {
-          console.log(err)
-          this.isLoading = false
-        })
-
-    },
-    flyToService() {
-      let self = this
-      // #ifdef MP-WEIXIN
-      console.log(self.serviceURL, self.corpId)
-      if (!self.serviceURL || !self.corpId) {
-        self.hasService = false
-        return
-      }
-      wx.openCustomerServiceChat({
-        extInfo: {
-          url: self.serviceURL
-        },
-        corpId: self.corpId, // 企业ID
-        success(res) {
-        },
-        fail(err) {
-        }
-      })
-      // #endif
-      // #ifdef APP-PLUS
-      try {
-        let sweixin = null
-        plus.share.getServices(res=>{
-          sweixin = res.find(i => i.id === 'weixin')
-          if(sweixin){
-            sweixin.openCustomerServiceChat({
-              corpid: self.corpId,
-              url: self.serviceURL,
-            },success=>{
-              console.log("success",JSON.stringify(success))
-            },err=>{
-              console.log("error",JSON.stringify(err))
-            })
-          }else{
-            plus.nativeUI.alert('当前环境不支持微信操作!')
-          }
-        },function(err){
-          console.log(err)
-          uni.showToast({title: "获取服务失败,不支持该操作。"+JSON.stringify(e), icon: 'error'})
-        })
-      } catch (err) {
-        console.log(err)
-        uni.showToast({title: "调用失败,不支持该操作。"+JSON.stringify(err), icon: 'error'})
-      }
-      /*plus.runtime.openURL(self.serviceURL, function(res) {
-        uni.showToast({
-          title: JSON.stringify(res),
-          icon: "success"
-        })
-      })*/
-      // #endif
-    },
   }
 }
 </script>

+ 44 - 95
pages_category_page1/coupon/list.vue

@@ -1,47 +1,37 @@
 <template>
   <view class="couponList">
-    <template v-if="couponList.length>0">
-      <view
-          class="couponItem flex-items"
-          v-for="item of couponList"
-          :key="item.couponId"
-      >
-        <view class="itemLeft" @click="goProductList(item)">
-          <view class="topIcon"></view>
-          <view class="bottomIcon"></view>
-          <view class="price flex-items">
-            <view class="flex-column flex-end unitBox" v-if="item.discountMode === 1">
-              <view class="unit">¥</view>
-            </view>
-            <view class="priceValue">{{ item.reduceMoney }}{{ item.discountMode === 1 ? '' : '折' }}</view>
+    <view
+      class="couponItem flex-items"
+      v-for="item of couponList"
+      :key="item.couponId"
+    >
+      <view class="itemLeft" @click="goProductList(item)">
+        <view class="topIcon"></view>
+        <view class="bottomIcon"></view>
+        <view class="price flex-items">
+          <view class="flex-column flex-end unitBox" v-if="item.discountMode === 1">
+            <view class="unit">¥</view>
           </view>
-          <text class="fs24 font-color-999">满{{ item.fullMoney }}元可用</text>
+          <view class="priceValue">{{item.reduceMoney}}{{item.discountMode === 1 ? '' : '折'}}</view>
         </view>
-        <view class="itemRight">
-          <view class="topInfo flex-items flex-sp-between">
-            <view @click="goProductList(item)">
-              <view class="couponTit fs32 font-color-FFF">{{ item.activityName }}</view>
-              <view class="couponDate fs24 font-color-999">{{ item.endTime }}到期</view>
-            </view>
-            <view class="exchangeBtnBox flex-column flex-end">
-              <view class="exchangeBtn fs24 font-color-FFF" v-if="item.state === 0">已领取</view>
-              <wx-send-coupon v-else @success="success" :couponList="[item]">
-                <view class="exchangeBtn fs24 font-color-FFF">{{ item.ifCredit ? '立即兑换' : '立即领取' }}</view>
-              </wx-send-coupon>
-            </view>
+        <text class="fs24 font-color-999">满{{item.fullMoney}}元可用</text>
+      </view>
+      <view class="itemRight">
+        <view class="topInfo flex-items flex-sp-between">
+          <view @click="goProductList(item)">
+            <view class="couponTit fs32 font-color-FFF">{{item.activityName}}</view>
+            <view class="couponDate fs24 font-color-999">{{item.endTime}}到期</view>
           </view>
-          <view @click="goProductList(item)" class="couponType fs28 font-color-FFF">
-            {{ item.discountMode === 1 ? '满减券' : '折扣券' }}
+          <view class="exchangeBtnBox flex-column flex-end">
+            <view class="exchangeBtn fs24 font-color-FFF" v-if="item.state === 0">已领取</view>
+            <wx-send-coupon v-else @success="success" :couponList="[item]">
+              <view class="exchangeBtn fs24 font-color-FFF">{{item.ifCredit?'立即兑换':'立即领取'}}</view>
+            </wx-send-coupon>
           </view>
         </view>
+        <view @click="goProductList(item)" class="couponType fs28 font-color-FFF">{{item.discountMode === 1 ? '满减券' : '折扣券'}}</view>
       </view>
-    </template>
-    <template v-else>
-      <div class="empty-content">
-        <image class="img" src="@/static/empty.png"/>
-        <p>你还没有优惠券哦~</p>
-      </div>
-    </template>
+    </view>
     <!-- 触底 -->
     <view class="reachBottom" v-if="topLeft > 400 && couponList.length>0">
       <image class="reach-icon" src="https://ceres.zkthink.com/static/img/reachBottom.png" mode="widthFix"></image>
@@ -53,7 +43,6 @@
 <script>
 
 import WxSendCoupon from "../../components/wx/wxSendCoupon";
-
 const NET = require('../../utils/request')
 const API = require('../../config/api')
 export default {
@@ -68,13 +57,13 @@ export default {
       topLeft: 0
     }
   },
-  onLoad() {
+  onLoad () {
     this.getCouponList()
   },
-  onReachBottom() {
+  onReachBottom (){
     if (this.loadingType == 1) {
       uni.stopPullDownRefresh()
-    } else {
+    }else{
       this.page = this.page + 1
       this.getCouponList()
     }
@@ -104,13 +93,13 @@ export default {
       })
     },
     // 跳转到可用商品列表
-    goProductList(item) {
+    goProductList (item) {
       console.log(item, 'test')
       uni.navigateTo({
         url: `../coupon/product?id=${item.couponId}`
       })
     },
-    success() {
+    success(){
       this.page = 1
       this.couponList = []
       this.getCouponList()
@@ -122,33 +111,9 @@ export default {
 <style lang="scss" scoped>
 page {
   background: #F8F8F8;
-
-  .empty-content {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    flex-direction: column;
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    transform: translate(-50%, -50%);
-
-    p {
-      text-align: center;
-      color: #999999;
-      margin: 20rpx 0;
-    }
-
-    .img {
-      width: 225rpx;
-      height: 196rpx
-    }
-  }
-
   .couponList {
     padding: 0 20rpx 40upx;
     margin-top: 30rpx;
-
     .couponItem {
       background: #333333;
       margin-top: 40rpx;
@@ -158,13 +123,11 @@ page {
       background-repeat: no-repeat;
       background-size: contain;
       background-position: right top;
-
       .itemLeft {
         padding-right: 10rpx;
         position: relative;
         border-right: 2rpx dashed #666666;
         width: 170rpx;
-
         .topIcon {
           position: absolute;
           right: -16rpx;
@@ -174,7 +137,6 @@ page {
           background: #FFFFFF;
           border-radius: 50%;
         }
-
         .bottomIcon {
           position: absolute;
           right: -16rpx;
@@ -184,43 +146,35 @@ page {
           background: #FFFFFF;
           border-radius: 50%;
         }
-
         //.price {
         //  width: 100rpx;
         //}
         .unitBox {
           height: 70rpx;
         }
-
         .unit {
           color: #FFEBC4;
           font-size: 36rpx;
         }
-
         .priceValue {
           font-size: 52rpx;
           color: #FFEBC4;
         }
       }
-
       .itemRight {
         padding-left: 45rpx;
         flex: 1;
-
         .topInfo {
           padding-bottom: 10rpx;
           border-bottom: 2rpx solid #444444;
           margin-bottom: 10rpx;
-
           .couponDate {
             width: 300rpx;
           }
-
           .exchangeBtnBox {
             width: 110rpx;
             height: 70rpx;
             text-align: center;
-
             .exchangeBtn {
               padding: 5rpx;
               border: 2rpx solid #999999;
@@ -230,7 +184,6 @@ page {
       }
     }
   }
-
   .Put-box1 {
     .btn {
       text-align: center;
@@ -241,7 +194,6 @@ page {
       width: 100%;
       color: #333333;
     }
-
     .submit {
       background-color: #333333;
       color: #FFEBC4;
@@ -249,22 +201,19 @@ page {
     }
   }
 }
-
 // 触底样式
-.reachBottom {
-  margin-top: 30rpx;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-
-  .reach-icon {
-    width: 150rpx;
-    height: 150rpx;
-  }
-
-  .reach-text {
-    margin: 20rpx 0;
-    color: #CCCCCC;
-  }
+.reachBottom{
+	margin-top: 30rpx;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	.reach-icon{
+		width: 150rpx;
+		height: 150rpx;
+	}
+	.reach-text{
+		margin: 20rpx 0;
+		color: #CCCCCC;
+	}
 }
 </style>

+ 6 - 4
pages_category_page1/coupon/product.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="couponProduct">
+    <global-loading />
+
     <view class="productList">
       <view class="couponTit flex-items">
         <image src="https://ceres.zkthink.com/static/images/counponTitIcon.png"></image>
@@ -80,9 +82,9 @@ export default {
       })
     },
     getProductList() {
-      uni.showLoading({
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   title: '加载中...',
+      // })
       NET.request(API.getCouponProducts, {
         activityId: this.cid,
         page: this.page,
@@ -98,7 +100,7 @@ export default {
           this.ifEmpty = true
         }
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
       })
     },
     // 商品详情

+ 6 - 4
pages_category_page1/discount/discount.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="spikeListBox">
+    <global-loading />
+
     <view class="discountBg">
 <!--      <view class="discountInfoBox">-->
 <!--        <view class="discountInfo">全场1折</view>-->
@@ -153,7 +155,7 @@ export default {
 					this.volume = 1
 				}else{
 					this.volume = this.volume != 1 ? 1:2
-				}		
+				}
       }
       this.getDiscountList()
     },
@@ -205,9 +207,9 @@ export default {
         type:this.type,
         volume:this.volume
       }
-			uni.showLoading({
-				title:'数据加载中...'
-			})
+			// uni.showLoading({
+			// 	title:'数据加载中...'
+			// })
 			NET.request(API.getDiscountList,param,'GET').then(res => {
 				this.discountDataList = res.data
 				if(this.shopShowType == false){

+ 6 - 4
pages_category_page1/discount/groupBuy.vue

@@ -1,5 +1,7 @@
 <template>
  <view class="groupBuy">
+   <global-loading />
+
    <view class="groupBuyBg">
      <image src="https://ceres.zkthink.com/static/images/groupBuyLogo.png"></image>
    </view>
@@ -198,10 +200,10 @@ export default {
 			})
 		},
 		getGroupBuylist(){
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       let param = {
         page:this.page,
         pageSize:this.pageSize,

+ 7 - 5
pages_category_page1/discount/platformDiscount.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="spikeListBox">
+    <global-loading />
+
     <view class="discountBg">
       <view class="discountInfoBox">
         <view class="discountInfo">全场{{discountInfo.discount}}折</view>
@@ -115,7 +117,7 @@ export default {
 		// }
     console.log(options.discountId, 'discountId---')
     this.discountId = options.discountId
-    
+
 	},
 	onShow() {
 		this.getDiscountInfo()
@@ -210,10 +212,10 @@ export default {
 			})
 		},
 		getDiscountList(){
-      uni.showLoading({
-        mask: true,
-        title: 'Loading...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: 'Loading...',
+      // })
       let param = {
         page:this.page,
         pageSize:this.pageSize,

+ 15 - 13
pages_category_page1/discount/spikeList.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="spikeListBox">
-		<view v-if="!shopSeckillId">
+    <global-loading />
+
+    <view v-if="!shopSeckillId">
 			<view class="spikeBg">
 				<image src="https://ceres.zkthink.com/static/images/spikelLogo.png"></image>
 			</view>
@@ -67,7 +69,7 @@
 							</view>
 						</view>
 						<view v-if="spikeLikeData.state === 1  || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 3)"
-						  class="snapUpBtn" 
+						  class="snapUpBtn"
 							@click="gogoodsDetails(item.shopId,item.productId,item.skuId)">
 							<view class="btnText">去抢购</view>
 							<view class="progressBox">
@@ -75,7 +77,7 @@
 									active stroke-width="5" />
 							</view>
 						</view>
-						<view v-if="spikeLikeData.state === 0 || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 2)" 
+						<view v-if="spikeLikeData.state === 0 || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 2)"
 						  class="snapUpBtn" :class="{btnStyle1: spikeLikeData.state === 0 || (platformSeckillList[platformIndex] && platformSeckillList[platformIndex].state === 2) }">
 							<view class="btnText">即将开始</view>
 							<view class="progressBox">
@@ -213,10 +215,10 @@
 			},
 			// 平台首页根据seckillId查询对应的秒杀商品列表
 			getPlatformSeckillsData(index){
-				uni.showLoading({
-					mask: true,
-					title: '数据加载中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '数据加载中...',
+				// })
 				NET.request(API.getPlatformSeckills,{ seckillId:this.platformSeckillId },'GET').then(res => {
 				 uni.hideLoading()
 			   if(res.data[0].products === 0){
@@ -233,7 +235,7 @@
 					})
 				})
 			},
-			
+
 			// // 根据时间查询
 			// queryProductListBySession() {
 			// 	NET.request(API.querySession, {
@@ -275,7 +277,7 @@
 					// }else{
 					// 	this.getSpikeLike()
 					// }
-					
+
 				}).catch(res => {
 					uni.showToast({
 						title: '失败1111',
@@ -340,10 +342,10 @@
 			// },
 			// 获取店铺更多秒杀
 			getShopSeckillList(){
-				uni.showLoading({
-					mask: true,
-					title: '数据加载中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '数据加载中...',
+				// })
 				let param = ''
 				param = {
 					page: this.page,

+ 12 - 10
pages_category_page1/distributionModule/commodity.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<view>
+    <global-loading />
+
+    <view>
 			<view v-for="(item, index) in Productlist" :key="index" class="goodsDetails-box flex-display flex-column mar-left-30"
 				  @click="goodsDatails(item)">
 				<view class="goodsDetails flex-items-plus flex-row mar-top-30">
@@ -67,10 +69,10 @@
 		},
 		methods: {
 			getStoreProductList() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.StoreProductList, {
 					shopId: this.shopId,
 					page:this.page,
@@ -95,7 +97,7 @@
 				// #ifdef APP-PLUS
 				var system = 1
 				// #endif
-				
+
 				// #ifdef H5
 				var system = 3
 				// #endif
@@ -108,10 +110,10 @@
 				var system = 4
 				// #endif
 
-				uni.showLoading({
-                  mask: true,
-				  title: '请稍候...'
-				})
+				// uni.showLoading({
+        //           mask: true,
+				//   title: '请稍候...'
+				// })
 				NET.request(API.getSharePic, {
 				  productId: item.productId,
 				  shopId: item.shopId,

+ 6 - 4
pages_category_page1/distributionModule/distributionOrder.vue

@@ -1,6 +1,8 @@
 <template>
 	<view>
-		<view v-if="FindMySalesData.total>0">
+    <global-loading />
+
+    <view v-if="FindMySalesData.total>0">
 			<view  class="flex-center clientList-box" v-for="(item, index) in FindMySalesDatalist" :key="index">
 				<view class="directAward-box font-color-656 fs26">
 					<view class="directAward-icon flex-row-plus flex-items flex-sp-between" @click="arrowTypeChange(index)">
@@ -64,9 +66,9 @@
 		},
 		methods: {
 			getSalesOrderPage() {
-				uni.showLoading({
-					title: '加载中...'
-				})
+				// uni.showLoading({
+				// 	title: '加载中...'
+				// })
 				NET.request(API.FindMySalesPage, {
 					shopId: this.shopId,
 					distributorId: this.distributorId,

+ 6 - 4
pages_category_page1/distributionModule/index.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="container flex-center flex-column">
+    <global-loading />
+
     <view
         class="inStoreBackImg flex-items-plus"
         v-if="StoreListData.length>0"
@@ -89,10 +91,10 @@ export default {
       });
     },
     getStoreList() {
-      uni.showLoading({
-        mask: true,
-        title: '加载中...'
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...'
+      // })
       NET.request(API.FindSaleStoreList, {
         page: this.page,
         pageSize: this.pageSize

+ 13 - 91
pages_category_page1/distributionModule/salesIndex.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<view class="salesIndex-topBackImg">
+    <global-loading />
+
+    <view class="salesIndex-topBackImg">
 			<view class="topStoreTag flex-row-plus">
 				<view class="storeName overflow font-color-FFF">
           <image class="storeLogoImg" :src="item.shopLogo"></image>
@@ -58,25 +60,6 @@
 				</view>
 			</view>
 		</view>
-    <view class="rule-box">
-      <view class="rule-box-bg">
-        <view class="rule-box-tit">
-          <view class="fs32 font-color-FFF">分销规则</view>
-          <view class="font-color-FFF fs24 mar-top-10">分销比例均按照成交商品金额计算</view>
-        </view>
-        <view class="rule-list">
-          <view class="rule-item" v-for="(item, index) of levelConfig" :key="index">
-            <view class="item-left">
-              <image :src="item.levelLogo"></image>
-            </view>
-            <view class="item-right">
-              <view class="rule-item-tit fs28 font-color-333">{{item.levelName}}</view>
-              <view class="fs24 font-color-666">{{item.levelDesc}}</view>
-            </view>
-          </view>
-        </view>
-      </view>
-    </view>
 	</view>
 </template>
 
@@ -88,22 +71,20 @@
 			return {
 				item: {},
 				SalesMainItem: {},
-        levelConfig: []
 			}
 		},
 		onLoad(options) {
 			this.item = JSON.parse(options.distributeInfo)
 			uni.setStorageSync("salesId", this.item.distributorId)
 			this.getSalesMainInfo()
-      this.getRuleInfo()
 		},
 
 		methods: {
 			getSalesMainInfo() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.QuerySalesMainInfo, {
 					distributorId: this.item.distributorId,
 					shopId:this.item.shopId
@@ -114,14 +95,6 @@
 				uni.hideLoading()
 				})
 			},
-      getRuleInfo() {
-        NET.request(API.getDistributionLevelConfig, {
-          shopId:this.item.shopId
-        }, 'GET').then(res => {
-          this.levelConfig = res.data
-        }).catch(res => {
-        })
-      },
 			//累计奖励
 			gototalAward() {
 				uni.navigateTo({
@@ -164,10 +137,10 @@
 				var system = 4
 				// #endif
 
-				uni.showLoading({
-          mask: true,
-				  title: '请稍候...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				//   title: '请稍候...'
+				// })
 				/* const res = {'data':'https://cereshop.oss-cn-shenzhen.aliyuncs.com/test/2021-06-10/64223b9f0eef41abbb5d4056b9a40e2a08441534-3cbe-47af-8134-fc74635e069f.png'}
 				uni.hideLoading()
 				uni.navigateTo({
@@ -268,7 +241,6 @@
         height: 158upx;
         width: 690upx;
         margin-top: 30upx;
-        border-radius: 8rpx;
         label {
           color: #FDEDD3;
         }
@@ -280,7 +252,6 @@
           background: linear-gradient(90deg, #FDEDD3 0%, #EDDABA 100%);
           text-align: center;
           margin-bottom: 28rpx;
-          border-radius: 8rpx;
         }
         .salesIcon {
           width: 60upx;
@@ -289,13 +260,11 @@
       }
     }
     .awardInfo {
-      padding: 0 20rpx;
       .award-box {
         height: 158upx;
-        width: 100%;
+        width: 690upx;
         margin-top: 30upx;
         background: #FFFFFF;
-        border-radius: 8rpx;
         .salesIcon {
           width: 60upx;
           height: 56upx;
@@ -308,62 +277,15 @@
       margin-top: 30upx;
       flex-flow: wrap;
       justify-content: center;
-      padding: 0 20rpx;
       .btnListBox {
         background: #FFFFFF;
         height: 196upx;
-        width: 100%;
-        border-radius: 8rpx;
+        width: 690upx;
       }
       .salesIcon {
         width: 90rpx;
         height: 90rpx;
       }
-    }
-    .rule-box {
-      margin-top: 20rpx;
-      padding: 0 20rpx;
-      border-radius: 16rpx;
-      overflow: hidden;
-      width: 100%;
-      .rule-box-bg {
-        background: url("https://ceres.zkthink.com/static/images/distributionBg.png") no-repeat top left;
-        background-size: contain;
-        padding: 32rpx 24rpx 0 24rpx;
-        width: 100%;
-        min-height: 764rpx;
-        .rule-box-tit {
-          width: 100%;
-        }
-        .rule-list {
-          background: #FFFFFF;
-          border-radius: 16rpx;
-          margin-top: 20rpx;
-          padding: 32rpx 24rpx;
-          width: 100%;
-          .rule-item {
-            display: flex;
-            width: 100%;
-            margin-bottom: 30rpx;
-            margin-right: 15rpx;
-            .item-left {
-              width: 64rpx;
-              margin-right: 20rpx;
-              image {
-                width: 64rpx;
-                height: 64rpx;
-              }
-            }
-            .item-right {
-              flex: 1;
-              .rule-item-tit {
-                height: 64rpx;
-                line-height: 64rpx;
-              }
-            }
-          }
-        }
-      }
     }
 	}
 </style>

+ 6 - 17
pages_category_page1/distributionModule/shareProduct.vue

@@ -1,6 +1,8 @@
 <template>
 	<view>
-		<u-mask :show="show" z-index="10000">
+    <global-loading />
+
+    <u-mask :show="show" z-index="10000">
 			<view class="warp">
 				<view class="rect" @tap.stop>
 					<!-- 关闭按钮 -->
@@ -110,9 +112,9 @@
 			// 保存图片到本地
 			WXfenx() {
 				// #ifdef APP-PLUS || MP-WEIXIN || MP-ALIPAY
-				uni.showLoading({
-					title: '图片保存中...'
-				})
+				// uni.showLoading({
+				// 	title: '图片保存中...'
+				// })
 				// #endif
 
 				// #ifdef APP-PLUS
@@ -136,20 +138,7 @@
 									});
 								}
 							});
-						} else {
-							uni.hideLoading()
-							uni.showToast({
-								title: "保存失败",
-								icon: "none"
-							});
 						}
-					},
-					fail: (res) => {
-						uni.hideLoading()
-						uni.showToast({
-							title: "保存失败",
-							icon: "none"
-						});
 					}
 				})
 				// #endif

+ 264 - 234
pages_category_page1/distributionModule/totalAward.vue

@@ -1,311 +1,341 @@
 <template>
-	<view v-if="ifShow">
-		<view class="totalAward-topBackImg flex-items flex-column">
-			<view class="totalAward-content flex-column font-color-FFF">
-				<view class="flex-column-plus flex-items mar-top-40">
-					<label class="mar-top-20 fs60 amount">{{ZSalesOrderData.total}}</label>
-				</view>
-				<view class="flex-row-plus flex-sp-around fs24 mar-top-10">
-          <view class="awardBox">
-            <view class="fs36 font-color-FFF">{{ZSalesOrderData.directPrice}}</view>
-            <view class="awardTit font-color-FFF">直接奖励(元)</view>
+  <view>
+    <global-loading/>
+
+    <view v-if="ifShow">
+      <view class="totalAward-topBackImg flex-items flex-column">
+        <view class="totalAward-content flex-column font-color-FFF">
+          <view class="flex-column-plus flex-items mar-top-40">
+            <label class="mar-top-20 fs60 amount">{{ ZSalesOrderData.total }}</label>
           </view>
-          <view class="awardBox">
-            <view class="fs36 font-color-FFF">{{ZSalesOrderData.indirectPrice}}</view>
-            <view class="awardTit font-color-FFF">间接奖励(元)</view>
+          <view class="flex-row-plus flex-sp-around fs24 mar-top-10">
+            <view class="awardBox">
+              <view class="fs36 font-color-FFF">{{ ZSalesOrderData.directPrice }}</view>
+              <view class="awardTit font-color-FFF">直接奖励(元)</view>
+            </view>
+            <view class="awardBox">
+              <view class="fs36 font-color-FFF">{{ ZSalesOrderData.indirectPrice }}</view>
+              <view class="awardTit font-color-FFF">间接奖励(元)</view>
+            </view>
           </view>
         </view>
-			</view>
-		</view>
-		<view class="awardType-box flex-center">
-			<view class="awardType-content">
-				<u-tabs :list="awardTypeList" bar-width="60" :bold="false" active-color="#C5AA7B" inactive-color="#999999"
-				 :is-scroll="false" :current="awardTypeFlag" @change="awardTypeActive"></u-tabs>
-			</view>
-		</view>
-		<view v-if="awardTypeFlag == 0">
-			<view v-if="ZStotallength>0">
-				<view class="flex-center" v-for="(item, index) in ZSalesOrderDatalist" :key="index">
-					<view class="directAward-box font-color-656 fs26" @click="arrowTypeChange1(index)">
-            <view style="display: flex;" class="directAwardInfo">
-              <view style="flex: 1;" class="flex-items flex-sp-between">
-                <label class="orderId-box font-color-999">订单号:{{item.orderFormid}}</label>
-                <view class="mar-right-50 font-color-999">
-                  佣金:<label class="font-color-C5AA7B">¥{{item.commission}}</label>
+      </view>
+      <view class="awardType-box flex-center">
+        <view class="awardType-content">
+          <u-tabs :list="awardTypeList" bar-width="60" :bold="false" active-color="#C5AA7B" inactive-color="#999999"
+                  :is-scroll="false" :current="awardTypeFlag" @change="awardTypeActive"></u-tabs>
+        </view>
+      </view>
+      <view v-if="awardTypeFlag == 0">
+        <view v-if="ZStotallength>0">
+          <view class="flex-center" v-for="(item, index) in ZSalesOrderDatalist" :key="index">
+            <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange1(index)">
+              <view style="display: flex;" class="directAwardInfo">
+                <view style="flex: 1;" class="flex-items flex-sp-between">
+                  <label class="orderId-box font-color-999">订单号:{{ item.orderFormid }}</label>
+                  <view class="mar-right-50 font-color-999">
+                    佣金:<label class="font-color-C5AA7B">¥{{ item.commission }}</label>
+                  </view>
+                </view>
+                <view>
+                  <image v-if="item.ifOpen  == false" class="arrow-down"
+                         src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
+                  <image v-if="item.ifOpen  == true" class="arrow-down"
+                         src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
                 </view>
               </view>
-              <view>
-                <image v-if="item.ifOpen  == false" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
-                <image v-if="item.ifOpen  == true" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
+              <view v-if="item.ifOpen  == true">
+                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                  <label class="orderId-box font-color-999">商品数:{{ item.products }}</label>
+                  <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{ item.price }}</label>
+                </view>
+                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                  <label class="orderId-box font-color-999">下单人:{{ item.customerName }}</label>
+                  <label class="commission-box mar-left-70">状态:
+                    <text class="state" :class="{current: item.state==0}">{{ item.state == 1 ? '未结算' : '已结算' }}
+                    </text>
+                  </label>
+                </view>
               </view>
             </view>
-						<view v-if="item.ifOpen  == true">
-							<view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-								<label class="orderId-box font-color-999">商品数:{{item.products}}</label>
-								<label class="commission-box mar-left-70 font-color-999">实付金额:¥{{item.price}}</label>
-							</view>
-							<view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-								<label class="orderId-box font-color-999">下单人:{{item.customerName}}</label>
-                <label class="commission-box mar-left-70">状态:<text class="state" :class="{current: item.state==0}">{{item.state==1?'未结算':'已结算'}}</text></label>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view v-else class="emptyCart-box flex-items-plus flex-column">
-				<image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-				<label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
-			</view>
-		</view>
-		<view v-if="awardTypeFlag == 1">
-			<view v-if="JStotallength>0">
-				<view class="flex-center" v-for="(item,index) in JSalesOrderDatalist" :key="index">
-					<view class="directAward-box font-color-656 fs26" @click="arrowTypeChange(index)">
-            <view style="display: flex;" class="directAwardInfo">
-              <view style="flex: 1;" class="flex-items flex-sp-between">
-                <label class="orderId-box font-color-999">订单号:{{item.orderFormid}}</label>
-                <view class="mar-right-50 font-color-999">
-                  佣金:<label class="font-color-C5AA7B">¥{{item.commission}}</label>
+          </view>
+        </view>
+        <view v-else class="emptyCart-box flex-items-plus flex-column">
+          <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+          <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
+        </view>
+      </view>
+      <view v-if="awardTypeFlag == 1">
+        <view v-if="JStotallength>0">
+          <view class="flex-center" v-for="(item,index) in JSalesOrderDatalist" :key="index">
+            <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange(index)">
+              <view style="display: flex;" class="directAwardInfo">
+                <view style="flex: 1;" class="flex-items flex-sp-between">
+                  <label class="orderId-box font-color-999">订单号:{{ item.orderFormid }}</label>
+                  <view class="mar-right-50 font-color-999">
+                    佣金:<label class="font-color-C5AA7B">¥{{ item.commission }}</label>
+                  </view>
+                </view>
+                <view>
+                  <image v-if="item.ifOpen  == false" class="arrow-down"
+                         src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
+                  <image v-if="item.ifOpen  == true" class="arrow-down"
+                         src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
                 </view>
               </view>
-              <view>
-                <image v-if="item.ifOpen  == false" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
-                <image v-if="item.ifOpen  == true" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
+              <view v-if="item.ifOpen  == true">
+                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                  <label class="orderId-box font-color-999">商品数:{{ item.products }}</label>
+                  <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{ item.price }}</label>
+                </view>
+                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                  <label class="orderId-box font-color-999">下单人:{{ item.customerName }}</label>
+                  <label class="commission-box mar-left-70">状态:
+                    <text class="state" :class="{current: item.state==0}">{{ item.state == 0 ? '未结算' : '已结算' }}
+                    </text>
+                  </label>
+                </view>
+                <view class="flex-row-plus flex-items mar-top-30">
+                  <label class="orderId-box font-color-999">分销员:{{ item.distributorName }}</label>
+                </view>
               </view>
             </view>
-						<view v-if="item.ifOpen  == true">
-							<view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-								<label class="orderId-box font-color-999">商品数:{{item.products}}</label>
-								<label class="commission-box mar-left-70 font-color-999">实付金额:¥{{item.price}}</label>
-							</view>
-							<view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-								<label class="orderId-box font-color-999">下单人:{{item.customerName}}</label>
-								<label class="commission-box mar-left-70">状态:<text class="state" :class="{current: item.state==0}">{{item.state==0?'未结算':'已结算'}}</text></label>
-							</view>
-							<view class="flex-row-plus flex-items mar-top-30">
-								<label class="orderId-box font-color-999">分销员:{{item.distributorName}}</label>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view v-else class="emptyCart-box flex-items-plus flex-column">
-				<image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-				<label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
-			</view>
-		</view>
-	</view>
+          </view>
+        </view>
+        <view v-else class="emptyCart-box flex-items-plus flex-column">
+          <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+          <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
+        </view>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	const NET = require('../../utils/request')
-	const API = require('../../config/api')
-	export default {
-		data() {
-			return {
-				awardTypeList: [{
-					name: '直接奖励'
-				}, {
-					name: '间接奖励'
-				}],
-				awardTypeFlag: 0,
-				item: {},
-				SalesOrderQuery: {
-					model: {
-						tenantCode: '',
-						type: ''
-					},
-					current: 0,
-					size:10
-				},
-				SalesOrderData: [],
-				ZSalesOrderData: [],
-				JSalesOrderData: [],
-				shopId:0,
-				distributorId:0,
-				tenantCode:{},
-				ZStotallength:0,
-				JStotallength:0,
-				page:1,
-				pageSize:20,
-				loadingType:0,
-				loadingType1:0,
-				ZSalesOrderDatalist:[],
-				JSalesOrderDatalist:[],
-        ifShow: false,
-        ifEmpty: false
-			}
-		},
-		onLoad: function(optins) {
-			this.shopId = optins.shopId
-			this.distributorId = optins.distributorId
-			this.getZSalesOrderData()
-			this.getJSalesOrderData()
-		},
-		onReachBottom(){
-			if(this.awardTypeFlag == 0){
-				if(this.loadingType == 1){
-					uni.stopPullDownRefresh()
-				}else{
-					this.page = this.page+1
-					this.getZSalesOrderData()
-				}
-			}else{
-				if(this.loadingType1 == 1){
-					uni.stopPullDownRefresh()
-				}else{
-					this.page = this.page+1
-					this.getJSalesOrderData()
-				}
-			}
+const NET = require('../../utils/request')
+const API = require('../../config/api')
+export default {
+  data() {
+    return {
+      awardTypeList: [{
+        name: '直接奖励'
+      }, {
+        name: '间接奖励'
+      }],
+      awardTypeFlag: 0,
+      item: {},
+      SalesOrderQuery: {
+        model: {
+          tenantCode: '',
+          type: ''
+        },
+        current: 0,
+        size: 10
+      },
+      SalesOrderData: [],
+      ZSalesOrderData: [],
+      JSalesOrderData: [],
+      shopId: 0,
+      distributorId: 0,
+      tenantCode: {},
+      ZStotallength: 0,
+      JStotallength: 0,
+      page: 1,
+      pageSize: 20,
+      loadingType: 0,
+      loadingType1: 0,
+      ZSalesOrderDatalist: [],
+      JSalesOrderDatalist: [],
+      ifShow: false,
+      ifEmpty: false
+    }
+  },
+  onLoad: function (optins) {
+    this.shopId = optins.shopId
+    this.distributorId = optins.distributorId
+    this.getZSalesOrderData()
+    this.getJSalesOrderData()
+  },
+  onReachBottom() {
+    if (this.awardTypeFlag == 0) {
+      if (this.loadingType == 1) {
+        uni.stopPullDownRefresh()
+      } else {
+        this.page = this.page + 1
+        this.getZSalesOrderData()
+      }
+    } else {
+      if (this.loadingType1 == 1) {
+        uni.stopPullDownRefresh()
+      } else {
+        this.page = this.page + 1
+        this.getJSalesOrderData()
+      }
+    }
 
-		},
-		methods: {
-			getZSalesOrderData() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
-				NET.request(API.FindSalesOrderPage, {
-					shopId: this.shopId,
-					distributorId: this.distributorId,
-					type:1,
-					page:this.page,
-					pageSize:this.pageSize
-				}, 'GET').then(res => {
-					uni.hideLoading()
-					if(res.data.page.list.length == 0){
-						this.loadingType = 1
-						this.page = this.page
-					}
-					this.ZSalesOrderDatalist = this.ZSalesOrderDatalist.concat(res.data.page.list)
-					this.ZSalesOrderData = res.data
-					this.ZStotallength = this.ZSalesOrderData.page.total
-          this.ifShow = true
-				}).catch(res => {
-					uni.hideLoading()
-				})
-			},
-			getJSalesOrderData() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
-				NET.request(API.FindSalesOrderPage, {
-					shopId: this.shopId,
-					distributorId: this.distributorId,
-					type:2,
-					page:this.page,
-					pageSize:this.pageSize
-				}, 'GET').then(res => {
-					uni.hideLoading()
-					if(res.data.page.list.length == 0){
-						this.loadingType1 = 1
-						uni.showToast({
-							title: '已加载全部···',
-							duration: 2000,
-							icon: 'none'
-						});
-						this.page = this.page
-					}
-					this.JSalesOrderDatalist = this.JSalesOrderDatalist.concat(res.data.page.list)
-					this.JSalesOrderData = res.data
-					this.JStotallength = this.JSalesOrderData.page.total
-				}).catch(res => {
-					uni.hideLoading()
-				})
-			},
+  },
+  methods: {
+    getZSalesOrderData() {
+      // uni.showLoading({
+      //   mask: true,
+      // 	title: '加载中...'
+      // })
+      NET.request(API.FindSalesOrderPage, {
+        shopId: this.shopId,
+        distributorId: this.distributorId,
+        type: 1,
+        page: this.page,
+        pageSize: this.pageSize
+      }, 'GET').then(res => {
+        uni.hideLoading()
+        if (res.data.page.list.length == 0) {
+          this.loadingType = 1
+          this.page = this.page
+        }
+        this.ZSalesOrderDatalist = this.ZSalesOrderDatalist.concat(res.data.page.list)
+        this.ZSalesOrderData = res.data
+        this.ZStotallength = this.ZSalesOrderData.page.total
+        this.ifShow = true
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
+    getJSalesOrderData() {
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...'
+      // })
+      NET.request(API.FindSalesOrderPage, {
+        shopId: this.shopId,
+        distributorId: this.distributorId,
+        type: 2,
+        page: this.page,
+        pageSize: this.pageSize
+      }, 'GET').then(res => {
+        uni.hideLoading()
+        if (res.data.page.list.length == 0) {
+          this.loadingType1 = 1
+          uni.showToast({
+            title: '已加载全部···',
+            duration: 2000,
+            icon: 'none'
+          });
+          this.page = this.page
+        }
+        this.JSalesOrderDatalist = this.JSalesOrderDatalist.concat(res.data.page.list)
+        this.JSalesOrderData = res.data
+        this.JStotallength = this.JSalesOrderData.page.total
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
 
-			awardTypeActive(index) {
-				this.awardTypeFlag = index
-				this.page = 1
-			},
-			arrowTypeChange1(arrowTypeId) {
-				this.ZSalesOrderData.page.list[arrowTypeId].ifOpen = this.ZSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
-			},
-			arrowTypeChange(arrowTypeId) {
-				this.JSalesOrderData.page.list[arrowTypeId].ifOpen = this.JSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
-			}
+    awardTypeActive(index) {
+      this.awardTypeFlag = index
+      this.page = 1
+    },
+    arrowTypeChange1(arrowTypeId) {
+      this.ZSalesOrderData.page.list[arrowTypeId].ifOpen = this.ZSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
+    },
+    arrowTypeChange(arrowTypeId) {
+      this.JSalesOrderData.page.list[arrowTypeId].ifOpen = this.JSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
+    }
 
-		}
-	}
+  }
+}
 </script>
 
 <style lang="scss">
 page {
   background: #333333;
 }
-.emptyCart-box{
-  margin-top: 70upx;
-  .emptyCart-img{
-    width: 216rpx;
-    height: 156rpx;
+
+.emptyCart-box {
+  margin-top: 70 upx;
+
+  .emptyCart-img {
+    width: 216 rpx;
+    height: 156 rpx;
   }
 }
+
 .totalAward-topBackImg {
   width: 100%;
-  height: 360rpx;
+  height: 360 rpx;
   background: url(https://ceres.zkthink.com/static/images/unliquidatedBg.png) no-repeat;
   background-size: 100%;
-  margin-top: 30rpx;
+  margin-top: 30 rpx;
+
   .totalAward-content {
     width: 90%;
+
     .awardBox {
       text-align: center;
+
       .awardTit {
         opacity: 0.7;
       }
     }
+
     .amount {
       color: #FFEBC4;
     }
   }
 }
+
 .awardType-box {
-  border-bottom: 1upx solid #666666;
+  border-bottom: 1 upx solid #666666;
+
   .awardType-content {
-    height: 80upx;
-    width: 500upx;
+    height: 80 upx;
+    width: 500 upx;
   }
 }
 
 .directAward-box {
   width: 94%;
-  border-bottom: 1upx solid #666666;
-  padding: 30upx;
+  border-bottom: 1 upx solid #666666;
+  padding: 30 upx;
   display: flex;
   justify-content: flex-start;
   flex-direction: column;
   background: #FFFFFF;
-  margin-top: 30rpx;
+  margin-top: 30 rpx;
+
   .orderId-box {
     display: flex;
     justify-content: flex-start;
     flex-direction: row;
   }
+
   .state {
     color: #16BB89;
   }
+
   .current {
     color: #C83732 !important;
   }
+
   .arrow-down {
-    width: 24upx;
-    height: 24upx;
+    width: 24 upx;
+    height: 24 upx;
   }
+
   .directAwardInfo {
   }
 }
+
 .totalAwardEmpty-box {
-  margin-top: 65upx;
+  margin-top: 65 upx;
+
   .totalAwardEmpty {
-    width: 270upx;
-    height: 270upx;
+    width: 270 upx;
+    height: 270 upx;
   }
 }
 </style>
 <style scoped>
- .awardType-box /deep/ .u-tabs {
-   background: none !important;
- }
+.awardType-box /deep/ .u-tabs {
+  background: none !important;
+}
 </style>

+ 7 - 5
pages_category_page1/distributionModule/totalClient.vue

@@ -1,6 +1,8 @@
 <template>
 	<view>
-		<view class="totalClient-topBackImg flex-items flex-column">
+    <global-loading />
+
+    <view class="totalClient-topBackImg flex-items flex-column">
       <view class="topBg">
         <view class="font-color-8A734A mar-top-30 fs60">{{SalesCustomerData.total}}</view>
         <view class="font-color-C5AA7B">累计客户(人)</view>
@@ -76,10 +78,10 @@
 		},
 		methods: {
 			getSalesCustomer() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.FindSalesCustomerList, {
 					shopId: this.shopId,
 					distributorId: this.distributorId,

+ 7 - 5
pages_category_page1/distributionModule/totalPersonnel.vue

@@ -1,6 +1,8 @@
 <template>
 	<view>
-		<view class="totalClient-topBackImg flex-items flex-column">
+    <global-loading />
+
+    <view class="totalClient-topBackImg flex-items flex-column">
       <view class="topBg">
         <view class="font-color-8A734A mar-top-30 fs60">{{SubordinateSalesData.total}}</view>
         <view class="font-color-C5AA7B">累计分销员(人)</view>
@@ -73,10 +75,10 @@
 		},
 		methods: {
 			getSubordinateSales() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.FindSubordinateSalesList, {
 					shopId: this.shopId,
 					distributorId: this.distributorId,

+ 292 - 269
pages_category_page1/distributionModule/unliquidated.vue

@@ -1,305 +1,328 @@
 <template>
-	<view v-if="ifShow">
-		<view class="unliquidated-topBackImg flex-items flex-column">
-			<view class="totalAward-content flex-column font-color-FFF">
-				<view class="flex-items-plus  mar-top-60">
-					<label class="fs60 amount">¥{{ZSalesOrderData.total}}</label>
-				</view>
-				<view class="flex-row-plus flex-sp-around fs24 mar-top-30">
-					<view class="awardBox">
-            <view class="fs36 font-color-FFF">{{ZSalesOrderData.directPrice}}</view>
-						<view class="awardTit font-color-FFF">直接奖励(元)</view>
-					</view>
-					<view class="awardBox">
-            <view class="fs36 font-color-FFF">{{ZSalesOrderData.indirectPrice}}</view>
-						<view class="awardTit font-color-FFF">间接奖励(元)</view>
-					</view>
-				</view>
-			</view>
-		</view>
-    <view class="awardType">
-      <view class="awardType-box flex-center">
-        <view class="awardType-content">
-          <u-tabs :list="awardTypeList" bar-width="60" :bold="false" active-color="#C5AA7B" inactive-color="#999999"
-                  :is-scroll="false" :current="awardTypeFlag" @change="awardTypeActive"></u-tabs>
+  <view>
+    <global-loading/>
+
+    <view v-if="ifShow">
+      <view class="unliquidated-topBackImg flex-items flex-column">
+        <view class="totalAward-content flex-column font-color-FFF">
+          <view class="flex-items-plus  mar-top-60">
+            <label class="fs60 amount">¥{{ ZSalesOrderData.total }}</label>
+          </view>
+          <view class="flex-row-plus flex-sp-around fs24 mar-top-30">
+            <view class="awardBox">
+              <view class="fs36 font-color-FFF">{{ ZSalesOrderData.directPrice }}</view>
+              <view class="awardTit font-color-FFF">直接奖励(元)</view>
+            </view>
+            <view class="awardBox">
+              <view class="fs36 font-color-FFF">{{ ZSalesOrderData.indirectPrice }}</view>
+              <view class="awardTit font-color-FFF">间接奖励(元)</view>
+            </view>
+          </view>
         </view>
       </view>
-      <view v-if="awardTypeFlag == 0">
-        <view v-if="ZStotallength>0">
-          <view  class="flex-center" v-for="(item, index) in ZSalesOrderDatalist" :key="index">
-            <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange1(index)">
-              <view style="display: flex;" class="directAwardInfo">
-                <view style="flex: 1;" class="flex-items flex-sp-between">
-                  <label class="orderId-box font-color-999">订单号:{{item.orderFormid}}</label>
-                  <view class="mar-right-50 font-color-999">
-                    佣金:<label class="font-color-C5AA7B">¥{{item.commission}}</label>
+      <view class="awardType">
+        <view class="awardType-box flex-center">
+          <view class="awardType-content">
+            <u-tabs :list="awardTypeList" bar-width="60" :bold="false" active-color="#C5AA7B" inactive-color="#999999"
+                    :is-scroll="false" :current="awardTypeFlag" @change="awardTypeActive"></u-tabs>
+          </view>
+        </view>
+        <view v-if="awardTypeFlag == 0">
+          <view v-if="ZStotallength>0">
+            <view class="flex-center" v-for="(item, index) in ZSalesOrderDatalist" :key="index">
+              <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange1(index)">
+                <view style="display: flex;" class="directAwardInfo">
+                  <view style="flex: 1;" class="flex-items flex-sp-between">
+                    <label class="orderId-box font-color-999">订单号:{{ item.orderFormid }}</label>
+                    <view class="mar-right-50 font-color-999">
+                      佣金:<label class="font-color-C5AA7B">¥{{ item.commission }}</label>
+                    </view>
+                  </view>
+                  <view>
+                    <image v-if="item.ifOpen  == false" class="arrow-down"
+                           src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
+                    <image v-if="item.ifOpen  == true" class="arrow-down"
+                           src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
                   </view>
                 </view>
-                <view>
-                  <image  v-if="item.ifOpen  == false" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
-                  <image  v-if="item.ifOpen  == true" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
-                </view>
-              </view>
-              <view v-if="item.ifOpen  == true">
-                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-                  <label class="orderId-box font-color-999">商品数:{{item.products}}</label>
-                  <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{item.price}}</label>
-                </view>
-                <view class="flex-row-plus flex-items mar-top-30">
-                  <label class="orderId-box font-color-999">下单人:{{item.customerName}}</label>
+                <view v-if="item.ifOpen  == true">
+                  <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                    <label class="orderId-box font-color-999">商品数:{{ item.products }}</label>
+                    <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{ item.price }}</label>
+                  </view>
+                  <view class="flex-row-plus flex-items mar-top-30">
+                    <label class="orderId-box font-color-999">下单人:{{ item.customerName }}</label>
+                  </view>
                 </view>
               </view>
             </view>
           </view>
+          <view v-else class="emptyCart-box flex-items-plus flex-column">
+            <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+            <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
+          </view>
         </view>
-        <view v-else class="emptyCart-box flex-items-plus flex-column">
-          <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-          <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
-        </view>
-      </view>
-      <view v-if="awardTypeFlag == 1">storeName
-        <view v-if="JStotallength>0">
-          <view class="flex-center" v-for="(item, index) in JSalesOrderDatalist" :key="index">
-            <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange(index)">
-              <view style="display: flex;" class="directAwardInfo">
-                <view style="flex: 1;" class="flex-items flex-sp-between">
-                  <label class="orderId-box font-color-999">订单号:{{item.orderFormid}}</label>
-                  <view class="mar-right-50 font-color-999">
-                    佣金:<label class="font-color-C5AA7B">¥{{item.commission}}</label>
+        <view v-if="awardTypeFlag == 1">storeName
+          <view v-if="JStotallength>0">
+            <view class="flex-center" v-for="(item, index) in JSalesOrderDatalist" :key="index">
+              <view class="directAward-box font-color-656 fs26" @click="arrowTypeChange(index)">
+                <view style="display: flex;" class="directAwardInfo">
+                  <view style="flex: 1;" class="flex-items flex-sp-between">
+                    <label class="orderId-box font-color-999">订单号:{{ item.orderFormid }}</label>
+                    <view class="mar-right-50 font-color-999">
+                      佣金:<label class="font-color-C5AA7B">¥{{ item.commission }}</label>
+                    </view>
+                  </view>
+                  <view>
+                    <image v-if="item.ifOpen  == false" class="arrow-down"
+                           src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
+                    <image v-if="item.ifOpen  == true" class="arrow-down"
+                           src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
                   </view>
                 </view>
-                <view>
-                  <image v-if="item.ifOpen  == false" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowDownIcon.png"></image>
-                  <image v-if="item.ifOpen  == true" class="arrow-down" src="https://ceres.zkthink.com/static/images/arrowUpIcon.png"></image>
-                </view>
-              </view>
-              <view v-if="item.ifOpen  == true">
-                <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
-                  <label class="orderId-box font-color-999">商品数:{{item.products}}</label>
-                  <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{item.price}}</label>
-                </view>
-                <view class="flex-row-plus flex-items mar-top-30">
-                  <label class="orderId-box font-color-999">下单人:{{item.customerName}}</label>
-                </view>
-                <view class="flex-row-plus flex-items mar-top-30">
-                  <label class="orderId-box font-color-999">分销员:{{item.distributorName}}</label>
+                <view v-if="item.ifOpen  == true">
+                  <view class="flex-row-plus flex-items flex-sp-between mar-top-30">
+                    <label class="orderId-box font-color-999">商品数:{{ item.products }}</label>
+                    <label class="commission-box mar-left-70 font-color-999">实付金额:¥{{ item.price }}</label>
+                  </view>
+                  <view class="flex-row-plus flex-items mar-top-30">
+                    <label class="orderId-box font-color-999">下单人:{{ item.customerName }}</label>
+                  </view>
+                  <view class="flex-row-plus flex-items mar-top-30">
+                    <label class="orderId-box font-color-999">分销员:{{ item.distributorName }}</label>
+                  </view>
                 </view>
               </view>
             </view>
           </view>
-        </view>
-        <view v-else class="emptyCart-box flex-items-plus flex-column">
-          <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
-          <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
+          <view v-else class="emptyCart-box flex-items-plus flex-column">
+            <image class="emptyCart-img" src="https://ceres.zkthink.com/static/img/bgnull.png"></image>
+            <label class="font-color-999 fs26 mar-top-30">这里空空如也~</label>
+          </view>
         </view>
       </view>
     </view>
-	</view>
+  </view>
 </template>
 
 <script>
-	const NET = require('../../utils/request')
-	const API = require('../../config/api')
-	export default {
-		data() {
-			return {
-				awardTypeList: [{
-					name: '直接奖励'
-				}, {
-					name: '间接奖励'
-				}],
-				awardTypeFlag: 0,
-				SalesOrderQuery: {
-					model: {
-						tenantCode: '',
-						settleStatus: '',
-						type:''
-					},
-					current: 0,
-					size:10
-				},
-				SalesOrderData:[],
-				ZSalesOrderData:[],
-				JSalesOrderData:[],
-				shopId:0,
-				distributorId:0,
-				ZStotallength:0,
-				JStotallength:0,
-				page:1,
-				pageSize:20,
-				loadingType:0,
-				loadingType1:0,
-				ZSalesOrderDatalist:[],
-				JSalesOrderDatalist:[],
-        ifShow: false
-			}
+const NET = require('../../utils/request')
+const API = require('../../config/api')
+export default {
+  data() {
+    return {
+      awardTypeList: [{
+        name: '直接奖励'
+      }, {
+        name: '间接奖励'
+      }],
+      awardTypeFlag: 0,
+      SalesOrderQuery: {
+        model: {
+          tenantCode: '',
+          settleStatus: '',
+          type: ''
+        },
+        current: 0,
+        size: 10
+      },
+      SalesOrderData: [],
+      ZSalesOrderData: [],
+      JSalesOrderData: [],
+      shopId: 0,
+      distributorId: 0,
+      ZStotallength: 0,
+      JStotallength: 0,
+      page: 1,
+      pageSize: 20,
+      loadingType: 0,
+      loadingType1: 0,
+      ZSalesOrderDatalist: [],
+      JSalesOrderDatalist: [],
+      ifShow: false
+    }
 
-		},
-		onLoad: function(options) {
-			this.shopId = options.shopId
-			this.distributorId = options.distributorId
-			this.getZSalesOrderData()
-			this.getJSalesOrderData()
-		},
-		onReachBottom(){
-			if(this.awardTypeFlag == 0){
-				if(this.loadingType == 1){
-					uni.stopPullDownRefresh()
-				}else{
-					this.page = this.page+1
-					this.getZSalesOrderData()
-				}
-			}else{
-				if(this.loadingType1 == 1){
-					uni.stopPullDownRefresh()
-				}else{
-					this.page = this.page+1
-					this.getJSalesOrderData()
-				}
-			}
-		},
-		methods: {
-			getZSalesOrderData() {
-				uni.showLoading({
-          mask: true,
-					title:'加载中...'
-				})
-				NET.request(API.GetNotReward, {
-					shopId: this.shopId,
-					distributorId: this.distributorId,
-					type:1,
-					page:this.page,
-					pageSize:this.pageSize
-				}, 'GET').then(res => {
-					uni.hideLoading()
-					if(res.data.page.list.length == 0){
-						this.loadingType = 1
-						this.page = this.page
-					}
-					this.ZSalesOrderDatalist = this.ZSalesOrderDatalist.concat(res.data.page.list)
-					this.ZSalesOrderData = res.data
-					this.ZStotallength = this.ZSalesOrderData.page.total
-          this.ifShow = true
-				}).catch(res => {
-					uni.hideLoading()
-				})
-			},
-			getJSalesOrderData() {
-				uni.showLoading({
-          mask: true,
-					title:'加载中...'
-				})
-				NET.request(API.GetNotReward, {
-					shopId: this.shopId,
-					distributorId: this.distributorId,
-					type:2,
-					page:this.page,
-					pageSize:this.pageSize
-				}, 'GET').then(res => {
-					uni.hideLoading()
-					if(res.data.page.list.length == 0){
-						this.loadingType1 = 1
-						uni.showToast({
-							title: '已加载全部···',
-							duration: 2000,
-							icon: 'none'
-						});
-						this.page = this.page
-					}
-					this.JSalesOrderDatalist = this.JSalesOrderDatalist.concat(res.data.page.list)
-					this.JSalesOrderData = res.data
-					this.JStotallength = this.JSalesOrderData.page.total
-				}).catch(res => {
-					uni.hideLoading()
-				})
-			},
+  },
+  onLoad: function (options) {
+    this.shopId = options.shopId
+    this.distributorId = options.distributorId
+    this.getZSalesOrderData()
+    this.getJSalesOrderData()
+  },
+  onReachBottom() {
+    if (this.awardTypeFlag == 0) {
+      if (this.loadingType == 1) {
+        uni.stopPullDownRefresh()
+      } else {
+        this.page = this.page + 1
+        this.getZSalesOrderData()
+      }
+    } else {
+      if (this.loadingType1 == 1) {
+        uni.stopPullDownRefresh()
+      } else {
+        this.page = this.page + 1
+        this.getJSalesOrderData()
+      }
+    }
+  },
+  methods: {
+    getZSalesOrderData() {
+      // uni.showLoading({
+      //   mask: true,
+      // 	title:'加载中...'
+      // })
+      NET.request(API.GetNotReward, {
+        shopId: this.shopId,
+        distributorId: this.distributorId,
+        type: 1,
+        page: this.page,
+        pageSize: this.pageSize
+      }, 'GET').then(res => {
+        uni.hideLoading()
+        if (res.data.page.list.length == 0) {
+          this.loadingType = 1
+          this.page = this.page
+        }
+        this.ZSalesOrderDatalist = this.ZSalesOrderDatalist.concat(res.data.page.list)
+        this.ZSalesOrderData = res.data
+        this.ZStotallength = this.ZSalesOrderData.page.total
+        this.ifShow = true
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
+    getJSalesOrderData() {
+      // uni.showLoading({
+      //   mask: true,
+      // 	title:'加载中...'
+      // })
+      NET.request(API.GetNotReward, {
+        shopId: this.shopId,
+        distributorId: this.distributorId,
+        type: 2,
+        page: this.page,
+        pageSize: this.pageSize
+      }, 'GET').then(res => {
+        uni.hideLoading()
+        if (res.data.page.list.length == 0) {
+          this.loadingType1 = 1
+          uni.showToast({
+            title: '已加载全部···',
+            duration: 2000,
+            icon: 'none'
+          });
+          this.page = this.page
+        }
+        this.JSalesOrderDatalist = this.JSalesOrderDatalist.concat(res.data.page.list)
+        this.JSalesOrderData = res.data
+        this.JStotallength = this.JSalesOrderData.page.total
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
 
-			awardTypeActive(type) {
-				this.awardTypeFlag = type
-				this.page = 1
-			},
-			arrowTypeChange1(arrowTypeId){
-				this.ZSalesOrderData.page.list[arrowTypeId].ifOpen = this.ZSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
-			},
-			arrowTypeChange(arrowTypeId) {
-				this.JSalesOrderData.page.list[arrowTypeId].ifOpen = this.JSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
-			}
-		}
-	}
+    awardTypeActive(type) {
+      this.awardTypeFlag = type
+      this.page = 1
+    },
+    arrowTypeChange1(arrowTypeId) {
+      this.ZSalesOrderData.page.list[arrowTypeId].ifOpen = this.ZSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
+    },
+    arrowTypeChange(arrowTypeId) {
+      this.JSalesOrderData.page.list[arrowTypeId].ifOpen = this.JSalesOrderData.page.list[arrowTypeId].ifOpen == false ? true : false
+    }
+  }
+}
 </script>
 
 <style lang="scss">
 page {
   background: #333333;
 }
-	.emptyCart-box{
-		margin-top: 70upx;
-		.emptyCart-img{
-			width: 225upx;
-			height: 196upx;
-		}
-	}
-	.unliquidated-topBackImg {
-		width: 100%;
-		height: 360rpx;
-		background: url(https://ceres.zkthink.com/static/images/unliquidatedBg.png) no-repeat;
-		background-size: 100%;
-    margin-top: 30rpx;
-		.totalAward-content {
-			width: 90%;
-      .awardBox {
-        text-align: center;
-        .awardTit {
-          opacity: 0.7;
-        }
-      }
-      .amount {
-        color: #FFEBC4;
+
+.emptyCart-box {
+  margin-top: 70 upx;
+
+  .emptyCart-img {
+    width: 225 upx;
+    height: 196 upx;
+  }
+}
+
+.unliquidated-topBackImg {
+  width: 100%;
+  height: 360 rpx;
+  background: url(https://ceres.zkthink.com/static/images/unliquidatedBg.png) no-repeat;
+  background-size: 100%;
+  margin-top: 30 rpx;
+
+  .totalAward-content {
+    width: 90%;
+
+    .awardBox {
+      text-align: center;
+
+      .awardTit {
+        opacity: 0.7;
       }
-		}
-	}
-	.awardType-box {
-		border-bottom: 1upx solid #666666;
-		.awardType-content {
-			height: 80upx;
-			width: 500upx;
-		}
-	}
+    }
 
-	.directAward-box {
-		width: 94%;
-		border-bottom: 1upx solid #666666;
-		padding: 30upx;
-		display: flex;
-		justify-content: flex-start;
-		flex-direction: column;
-    background: #FFFFFF;
-    margin-top: 30rpx;
-		.orderId-box {
-			display: flex;
-			justify-content: flex-start;
-			flex-direction: row;
-		}
-		.commission-box {
-			width: 260upx;
-		}
-		.arrow-down {
-			width: 24upx;
-			height: 24upx;
-		}
-    .directAwardInfo {
+    .amount {
+      color: #FFEBC4;
     }
-	}
-	.totalAwardEmpty-box {
-		margin-top: 65upx;
-		.totalAwardEmpty {
-			width: 270upx;
-			height: 270upx;
-		}
-	}
+  }
+}
+
+.awardType-box {
+  border-bottom: 1 upx solid #666666;
+
+  .awardType-content {
+    height: 80 upx;
+    width: 500 upx;
+  }
+}
+
+.directAward-box {
+  width: 94%;
+  border-bottom: 1 upx solid #666666;
+  padding: 30 upx;
+  display: flex;
+  justify-content: flex-start;
+  flex-direction: column;
+  background: #FFFFFF;
+  margin-top: 30 rpx;
+
+  .orderId-box {
+    display: flex;
+    justify-content: flex-start;
+    flex-direction: row;
+  }
+
+  .commission-box {
+    width: 260 upx;
+  }
+
+  .arrow-down {
+    width: 24 upx;
+    height: 24 upx;
+  }
+
+  .directAwardInfo {
+  }
+}
+
+.totalAwardEmpty-box {
+  margin-top: 65 upx;
+
+  .totalAwardEmpty {
+    width: 270 upx;
+    height: 270 upx;
+  }
+}
 </style>
 <style scoped>
-  .awardType /deep/ .u-tabs {
-    background: none !important;
-  }
+.awardType /deep/ .u-tabs {
+  background: none !important;
+}
 </style>

+ 6 - 4
pages_category_page1/goodsModule/addEvaluate.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 追加评论 -->
+    <global-loading />
+
+    <!-- 追加评论 -->
 		<view class="addEvaluate-box flex-items-plus flex-column-plus">
 			<view class="addEvaluate flex-column-plus">
 				<view class="addEvaluateTitle-box flex-row-plus mar-top-20 mar-left-20">
@@ -79,9 +81,9 @@
 					})
 					return
 				}
-				uni.showLoading({
-				    title: '提交中...',
-				})
+				// uni.showLoading({
+				//     title: '提交中...',
+				// })
 				if(this.fileList.length>0){
 					this.commentImgsFlag = true
 					for(let i=0;i<this.fileList.length;i++){

+ 5 - 3
pages_category_page1/goodsModule/canvasGoods.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="container">
+    <global-loading />
+
     <!-- 商品列表 -->
     <!--		<view class="flex-items-plus flex-row search">-->
     <!--      <view class="searchBg">-->
@@ -168,9 +170,9 @@ export default {
     // 	this.keyWord = ''
     // },
     searchList(type){
-      uni.showLoading({
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   title: '加载中...',
+      // })
       if(type == 1){
         this.list = []
         this.page = 1

+ 10 - 8
pages_category_page1/goodsModule/combination.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="combinationBox">
+    <global-loading />
+
     <view class="topInfo">
       <view class="topBg">
         <swiper class="swiper" :circular="circular" :autoplay="autoplay" :vertical="vertical" :duration="duration">
@@ -120,10 +122,10 @@ export default {
   },
   methods: {
     getSelectByPriceId() {
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       NET.request(API.selectByPriceId,{
         priceId: this.priceId
       },'GET').then(res => {
@@ -312,10 +314,10 @@ export default {
             icon: "none"
           })
         } else {
-          uni.showLoading({
-            mask: true,
-            title: '添加中...',
-          })
+          // uni.showLoading({
+          //   mask: true,
+          //   title: '添加中...',
+          // })
           NET.request(API.ShoppingaddCart, {
             skuId: this.skuProdId,
             number: this.buyNum,

+ 6 - 4
pages_category_page1/goodsModule/couponShopList.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 商品列表 -->
+    <global-loading />
+
+    <!-- 商品列表 -->
 		<view>
 			<view v-for="(item, index) in list" :key="index" class="goodsDetails-box flex-display flex-column mar-left-30" @click="goodsDateils(item.shopId,item.productId,item.skuId)">
 				<view v-if="item.activityType == 0" class="goodsDetails flex-items-plus flex-row mar-top-30">
@@ -82,9 +84,9 @@
 		},
 		methods: {
 			searchList(type){
-        uni.showLoading({
-				      title: '加载中...',
-				})
+        // uni.showLoading({
+				//       title: '加载中...',
+				// })
 				if(type == 1){
 					this.list = []
 					this.page = 1

+ 7 - 5
pages_category_page1/goodsModule/evaluate.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 评论商品 -->
+    <global-loading />
+
+    <!-- 评论商品 -->
 		<view class="addEvaluate-box flex-items-plus flex-column-plus">
 			<view class="addEvaluate flex-column-plus">
 				<view class="addEvaluateTitle-box flex-row-plus mar-top-20 mar-left-20">
@@ -116,10 +118,10 @@
 					})
 					return
 				}
-				uni.showLoading({
-          mask: true,
-				    title: '提交中...',
-				})
+				// uni.showLoading({
+        //   mask: true,
+				//     title: '提交中...',
+				// })
 				if(this.fileList.length>0){
 					this.commentImgsFlag = true
 					for(let i=0;i<this.fileList.length;i++){

+ 9 - 5
pages_category_page1/goodsModule/evaluateDetails.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 评论详情 -->
+    <global-loading />
+
+    <!-- 评论详情 -->
 		<view class="evaluate-contentbox">
 			<view class="evaluate-content flex-items flex-row flex-sp-between">
 				<view class="flex-items">
@@ -114,9 +116,9 @@
       },
 			//点赞
 			zanTap(){
-        uni.showLoading({
-          title:''
-        })
+        // uni.showLoading({
+        //   title:''
+        // })
 				this.actionType = this.commentVOList.ifLike == 1 ?0:1
 				NET.request(API.LikeOrUnLikeComment,{
 				  commentId: this.commentVOList.commentId,
@@ -134,7 +136,9 @@
 						  icon:"none"
 						})
 					}
-				}).finally(()=>{setTimeout(()=>{uni.hideLoading()}),1000})
+				}).catch(res => {
+				  uni.hideLoading()
+				}).finally(()=>{uni.hideLoading()})
 			},
 			//追加评论
 			addCommentsClick(){

+ 8 - 6
pages_category_page1/goodsModule/evaluateList.vue

@@ -1,7 +1,9 @@
 <template>
 	<view class="container">
 		<!-- 查看全部评论 -->
-		<view class="evaluateTag-box"  >
+    <global-loading />
+
+    <view class="evaluateTag-box"  >
 			<view class="evaluateTag-text">
 				全部({{commentListLength}})
 			</view>
@@ -19,7 +21,7 @@
             </view>
 					</view>
 				</view>
-				<view class="fs26 pad-topbot-20 font-color-333">{{item.comment}}</view>
+				<view class="fs26 pad-topbot-20 font-color-333">{{item.comment}}</view>
 				<view class="evaluateImg-box">
 					<view v-for="(commentItemImg, cindex) in item.images" :key="cindex">
 						<image @click="previewImg(commentItemImg)" class="img-item" :src="commentItemImg"></image>
@@ -78,10 +80,10 @@
 			},
 			//点赞
 			zanTap(index, likeId, actionType) {
-				uni.showLoading({
-          mask: true,
-					title: '提交中...',
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '提交中...',
+				// })
 				NET.request(API.LikeOrUnLikeComment, {
 					commentId: likeId,
 					ifLike: actionType

File diff ditekan karena terlalu besar
+ 747 - 540
pages_category_page1/goodsModule/goodsDetails.vue


+ 7 - 5
pages_category_page1/goodsModule/goodsList.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 商品列表 -->
+    <global-loading />
+
+    <!-- 商品列表 -->
 		<view class="flex-items-plus flex-row search">
       <view class="searchBg">
         <view class="searchImg-box flex-items-plus">
@@ -168,10 +170,10 @@
 				this.keyWord = ''
 			},
 			searchList(type){
-        uni.showLoading({
-          mask: true,
-          title: '加载中...',
-				})
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '加载中...',
+				// })
 				if(type == 1){
 					this.list = []
 					this.page = 1

+ 33 - 19
pages_category_page1/goodsModule/invitePoster.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="invitePoster-box">
-		<view class="poster-box flex-items-plus flex-column">
+    <global-loading />
+
+    <view class="poster-box flex-items-plus flex-column">
 			<image class="header-img mar-top-10" :src="data.headImage"></image>
 			<label class="mar-top-30">发现一件好物,快来和我一起拼</label>
 			<image class="poster-img mar-top-50" :src="data.image"></image>
@@ -65,10 +67,11 @@
 					return
 				}
 				if(type == 1){
-					uni.showLoading({
-            mask: true,
-						title:"生成图片中..."
-					})
+					// uni.showLoading({
+          //   mask: true,
+					// 	title:"生成图片中..."
+					// })
+          this.$showLoading()
 					let that = this
 					setTimeout(function(){
             // #ifdef H5 || MP-WEIXIN || APP-PLUS
@@ -77,6 +80,7 @@
 							quality: 0, // 图片质量
 							canvasId: 'posterCanvas', // 画布ID
 							success(res) {
+                this.$hideLoading()
 							  console.log(res.tempFilePath, 'test0000')
                 that.saveDownload(res.tempFilePath)
 							},
@@ -86,7 +90,8 @@
 									duration: 2000,
 									icon: 'none'
 								})
-								uni.hideLoading();
+                this.$hideLoading()
+								// uni.hideLoading();
 							}
 						})
             // #endif
@@ -100,33 +105,37 @@
                   url: res.apFilePath,
                   success: res => {
                     console.log('saveImage', res)
-                    uni.hideLoading();
+                    // uni.hideLoading();
+                    this.$hideLoading()
                     uni.showToast({
                       title: '图片保存成功~',
                       duration: 2000
                     })
                   },
                   fail: err => {
+                    this.$hideLoading()
                     console.error('saveImage err', err)
                   },
                 })
               },
               fail() {
+                this.$hideLoading()
                 uni.showToast({
                   title: '保存失败,稍后再试',
                   duration: 2000,
                   icon: 'none'
                 })
-                uni.hideLoading();
+                // uni.hideLoading();
               }
             })
             // #endif
 					},5000)
 				}else if(type == 2){
-					uni.showLoading({
-            mask: true,
-						title:"图片生成中..."
-					})
+					// uni.showLoading({
+          //   mask: true,
+					// 	title:"图片生成中..."
+					// })
+          this.$showLoading()
 					let that = this
 					setTimeout(function(){
 						uni.canvasToTempFilePath({ //把画布转化成临时文件进行保存
@@ -137,8 +146,9 @@
 								uni.downloadFile({
 									url: res.tempFilePath,//网络路径,下载下来
 									success: (res1) => {
+                    this.$hideLoading()
 										if (res1.statusCode === 200) {
-											uni.hideLoading();
+											// uni.hideLoading();
 											uni.showModal({
 											   title: '提示',
 											   content: '长按即可保存图片',
@@ -159,6 +169,7 @@
 							},
 							fail(err) {
 								console.log(err.errMsg)
+                this.$hideLoading()
 								uni.showToast({
 									title: '保存失败,稍后再试',
 									duration: 2000,
@@ -171,10 +182,11 @@
 			},
       saveDownload (file) {
 				const that = this
-			  uni.showLoading({
-			  mask: true,
-			  			title:"图片保存中..."
-			  		})
+			  // uni.showLoading({
+			  // mask: true,
+			  // 			title:"图片保存中..."
+			  // 		})
+        this.$showLoading()
 	        console.log(file,'test1')
 	        uni.getImageInfo({
 	          src: file,
@@ -186,13 +198,15 @@
 	                filePath: res1.path, //画布保存的图片临时文件
 	                success(res2) {
 	                  console.log(3333)
-	                  uni.hideLoading();
+                    this.$hideLoading()
+	                  // uni.hideLoading();
 	                  uni.showToast({
 	                    title: '图片保存成功~',
 	                    duration: 2000
 	                  })
 	                },
 	                fail(res3) {
+                    this.$hideLoading()
 	                  if (res3.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
 	                    // that.$store.dispatch('SetPhoneShow', 1)
 	                    uni.showToast({
@@ -207,7 +221,7 @@
 	                      icon: 'none'
 	                    })
 	                  }
-	                  uni.hideLoading();
+	                  // uni.hideLoading();
 	                }
 	              })
 	          }

+ 469 - 569
pages_category_page1/goodsModule/inviteSpell.vue

@@ -1,59 +1,51 @@
 <template>
 	<view class="inviteSpell-con">
-		<global-loading />
-
-		<view class="grouped">
-			<view v-if="showJoinGroup" class="fs32 font-color-FFF">{{remainPerson !== 0?'等待成团':'已成团'}}</view>
-			<view class="fs26 number">{{inviteSpell.person}}人团</view>
-		</view>
-		<view class="topBox">
-			<view class="title-box flex-row-plus" @click="goodsDateils()">
-				<image class="pro-img" :src="inviteSpell.image"></image>
-				<view class="flex-column-plus mar-left-30">
-					<view class="title-lab fs28">{{inviteSpell.productName}}</view>
-					<view class="flex-row-plus flex-sp-between">
-						<view class="flex-column-plus">
-							<!--              <view class="spellNum flex-items-plus font-color-C5AA7B mar-top-30 fs24">{{inviteSpell.person}}人团</view>-->
-							<view class="flex-row-plus mar-top-30 flex-items">
-								<label class="font-color-C83732 fs24">¥</label>
-								<label class="font-color-C83732 fs36 mar-left-5">{{inviteSpell.price}}</label>
-								<label
-									class="font-color-CCC discountsPriceLine fs26 mar-left-20">¥{{inviteSpell.originalPrice}}</label>
-							</view>
-						</view>
-						<!--            <view class="mar-top-20">-->
-						<!--              <image class="issueregiment" src="https://ceres.zkthink.com/static/images/issueregiment.png"></image>-->
-						<!--            </view>-->
-					</view>
-				</view>
-			</view>
-		</view>
+    <global-loading />
+
+    <view class="grouped">
+      <view class="fs32 font-color-FFF">{{remainPerson !== 0?'等待成团':'已成团'}}</view>
+      <view class="fs26 number">{{inviteSpell.person}}人团</view>
+    </view>
+    <view class="topBox">
+      <view class="title-box flex-row-plus">
+        <image class="pro-img" :src="inviteSpell.image"></image>
+        <view class="flex-column-plus mar-left-30">
+          <view class="title-lab fs28">{{inviteSpell.productName}}</view>
+          <view class="flex-row-plus flex-sp-between">
+            <view class="flex-column-plus">
+<!--              <view class="spellNum flex-items-plus font-color-C5AA7B mar-top-30 fs24">{{inviteSpell.person}}人团</view>-->
+              <view class="flex-row-plus mar-top-30 flex-items">
+                <label class="font-color-C83732 fs24">¥</label>
+                <label class="font-color-C83732 fs36 mar-left-5">{{inviteSpell.price}}</label>
+                <label class="font-color-CCC discountsPriceLine fs26 mar-left-20">¥{{inviteSpell.originalPrice}}</label>
+              </view>
+            </view>
+<!--            <view class="mar-top-20">-->
+<!--              <image class="issueregiment" src="https://ceres.zkthink.com/static/images/issueregiment.png"></image>-->
+<!--            </view>-->
+          </view>
+        </view>
+      </view>
+    </view>
 		<view class="spellpersonnel-box">
-			<view class="bgBox flex-items-plus flex-column">
-				<view class="flex-items flex-sp-around flex-row-plus mar-right-20">
-					<view class="flex-column flex-items-plus mar-left-20" v-for="(item,index) in inviteSpell.personList"
-						:key="index">
-						<image v-if="index == 0" class="head-icon border-FF7 z-index-0" :src="item.headImage"></image>
-						<image v-else class="head-icon " :src="item.headImage"></image>
-						<view v-if="index == 0" class="fs18 colonel-box">团长</view>
-					</view>
-					<view v-for="ritem in remainPerson">
-						<view class="replenish-icon flex-items-plus mar-left-20">?</view>
-					</view>
-				</view>
-				<view v-if="remainPerson !== 0">
-					<view v-if="showJoinGroup" class="mar-top-50 font-color-333">还差<label
-							class="font-color-C5AA7B">{{remainPerson}}</label>人成团,距结束还剩{{hou}}:{{min}}:{{sec}}</view>
-					<view v-if="type === 1 && showJoinGroup" @click="shareClick"
-						class="offered-but font-color-FFF flex-items-plus mar-top-60">邀请好友拼单</view>
-					<view v-if="type === 0 && showJoinGroup" @click="getOffered"
-						class="offered-but font-color-FFF flex-items-plus mar-top-60">立即参团</view>
-					<view v-else-if="!showJoinGroup" class="group-disabled font-color-FFF flex-items-plus mar-top-60">{{showGroupText}}
-					</view>
-					<view v-if="type === 1 && showJoinGroup" @click="goinvitePoster" class="poster-but flex-items-plus mar-top-40">生成邀请海报
-					</view>
-				</view>
-			</view>
+      <view class="bgBox flex-items-plus flex-column">
+        <view class="flex-items flex-sp-around flex-row-plus mar-right-20">
+          <view class="flex-column flex-items-plus mar-left-20" v-for="(item,index) in inviteSpell.personList" :key="index">
+            <image v-if="index == 0" class="head-icon border-FF7 z-index-0" :src="item.headImage"></image>
+            <image v-else class="head-icon " :src="item.headImage"></image>
+            <view v-if="index == 0" class="fs18 colonel-box">团长</view>
+          </view>
+          <view v-for="ritem in remainPerson">
+            <view class="replenish-icon flex-items-plus mar-left-20">?</view>
+          </view>
+        </view>
+		  <view v-if="remainPerson !== 0">
+			  <view class="mar-top-50 font-color-333">还差<label class="font-color-C5AA7B">{{remainPerson}}</label>人成团,距结束还剩{{hou}}:{{min}}:{{sec}}</view>
+			  <view v-if="type == 1" @click="shareClick" class="offered-but font-color-FFF flex-items-plus mar-top-60">邀请好友拼单</view>
+			  <view v-if="type == 0" @click="getOffered" class="offered-but font-color-FFF flex-items-plus mar-top-60">立即参团</view>
+			  <view v-if="type == 1" @click="goinvitePoster" class="poster-but flex-items-plus mar-top-40">生成邀请海报</view>
+		  </view>
+      </view>
 		</view>
 		<view class="spellrule flex-items-plus flex-column mar-top-20">
 			<view class="flex-row-plus">
@@ -74,7 +66,7 @@
 			</view>
 		</view>
 		<!-- 商品详情 -->
-		<u-popup class="goosDetailshow-box" v-model="goodsDetailShowFlag" mode="bottom" border-radius="14">
+		<u-popup class="goosDetailshow-box" v-model="goosDetailshowFlag" mode="bottom" border-radius="14">
 			<view>
 				<view class="detailImg-box flex-row-plus">
 					<image class="detailImg" :src="skuImg"></image>
@@ -92,8 +84,7 @@
 						<label class="fs24 font-color-999">{{attritem.skuName}}</label>
 						<view class="colorName-box">
 							<view class="pad-bot-30" v-for="(attrRes, resIndex) in attritem.values" :key="resIndex">
-								<label class="colorName" :class="{'colorName-on' :subIndex[index] == resIndex}"
-									@click="colorActiveClick(attrRes,index,resIndex)">{{attrRes.skuValue}}</label>
+								<label class="colorName" :class="{'colorName-on' :subIndex[index] == resIndex}" @click="colorActiveClick(attrRes,index,resIndex)">{{attrRes.skuValue}}</label>
 							</view>
 						</view>
 					</view>
@@ -106,14 +97,12 @@
 						<label class="add" @click="numAdd">+</label>
 					</view>
 				</view>
-				<view class="goosDetailbut-box flex-items-plus"
-					:style="{'padding-bottom':(isIphone===true? 50:20)+'rpx'}">
+				<view class="goosDetailbut-box flex-items-plus" :style="{'padding-bottom':(isIphone===true? 50:20)+'rpx'}">
 					<view class="joinbuyBut" @click="getGroupSettlement(2)">确定</view>
 				</view>
 			</view>
 		</u-popup>
-		<shareSpell ref="shareSpell" @shareCancel='shareCancel' :url="url" :img="inviteSpell.image" title="好友邀请您来拼单啦">
-		</shareSpell>
+		<shareSpell ref="shareSpell" @shareCancel='shareCancel' :url="url"></shareSpell>
 	</view>
 </template>
 
@@ -134,40 +123,39 @@
 				}, {
 					name: '人满成团 失败退款'
 				}, ],
-				collageId: 0,
-				orderId: 0,
-				type: 0,
-				inviteSpell: {},
-				personLen: 0,
-				remainPerson: 0,
+				collageId:0,
+				orderId:0,
+				type:0,
+				inviteSpell:{},
+				personLen:0,
+				remainPerson:0,
 				hou: "00",
 				min: "00",
 				sec: "00",
-				timeOut: undefined,
-				goodsDetailShowFlag: false,
-				productId: 0,
-				skuId: 0,
-				shopGroupWorkId: 0,
-				buyNum: 1,
-				skuProdId: 0,
-				skuImg: '',
-				skuPrice: 0,
-				stockNumber: 0,
-				skuProdList: {},
+				timeOut:undefined,
+				goosDetailshowFlag: false,
+				productId:0,
+				skuId:0,
+				shopGroupWorkId:0,
+				buyNum:1,
+				skuProdId:0,
+				skuImg:'',
+				skuPrice:0,
+				stockNumber:0,
+				skuProdList:{},
 				isIphone: "",
 				selectArr: [], // 存放被选中的值
 				subIndex: [], // 是否选中 因为不确定是多规格还是单规格,所以这里定义数组来判断
 				attrItemIdArr: [], //存放被选中的id
-				shopId: 0,
+				shopId:0,
 				attrList: [],
+				productDetail:{},
 				userInfo: {},
-				url: '',
-				shareTitle: '',
-				showJoinGroup: false,
-				showGroupText: '立即参团'
+				url:'',
+				shareTitle: ''
 			};
 		},
-		components: {
+		components:{
 			shareSpell
 		},
 		onShareAppMessage: function(res) {
@@ -175,45 +163,11 @@
 			//console.log('res=====',res);
 			if (res.from === 'button') {
 				//console.log('来自页面内转发按钮');
-			} else if (res.from === 'menu') {
+			} else if (res.from === 'menu'){
 				//console.log('右上角菜单转发按钮');
 			}
-			this.url = '/pages_category_page1/goodsModule/inviteSpell?collageId=' +
-				this.collageId + '&orderId=' + this.orderId + '&type=0' + '&productId=' + this.productId + '&skuId=' +
-				this.skuId + '&shopGroupWorkId=' + this.shopGroupWorkId
-			this.shareTitle = `【仅剩${this.remainPerson}个名额】我${this.inviteSpell.price}元拼了${this.inviteSpell.productName}`
-			// 返回数据
-			return {
-				title: that.shareTitle,
-				path: that.url,
-				success: function(res) {
-					// 转发成功,可以把当前页面的链接发送给后端,用于记录当前页面被转发了多少次或其他业务
-					wx.request({
-						url: app.buildUrl("/member/share"),
-						data: {
-							url: utils.getCurrentPageUrlWithArgs()
-						},
-						success: function(res) {
-							//console.log('成功');
-						}
-					});
-				},
-				fail: function(res) {
-					// 转发失败
-				}
-			}
-		},
-		onShareTimeline: function(res) {
-			var that = this;
-			//console.log('res=====',res);
-			if (res.from === 'button') {
-				//console.log('来自页面内转发按钮');
-			} else if (res.from === 'menu') {
-				//console.log('右上角菜单转发按钮');
-			}
-			this.url = '/pages_category_page1/goodsModule/inviteSpell?collageId=' +
-					this.collageId + '&orderId=' + this.orderId + '&type=0' + '&productId=' + this.productId + '&skuId=' +
-					this.skuId + '&shopGroupWorkId=' + this.shopGroupWorkId
+			this.url = '/pages_category_page1/goodsModule/inviteSpell?collageId='
+					+ this.collageId +'&orderId='+ this.orderId+'&type=0'+'&productId='+this.productId+'&skuId='+this.skuId+'&shopGroupWorkId='+this.shopGroupWorkId
 			this.shareTitle = `【仅剩${this.remainPerson}个名额】我${this.inviteSpell.price}元拼了${this.inviteSpell.productName}`
 			// 返回数据
 			return {
@@ -237,32 +191,35 @@
 			}
 		},
 		onUnload() {
-			if (this.timeOut) {
-				clearTimeout(this.timeOut)
+			if(this.timeOut){
+			    clearTimeout(this.timeOut)
 			}
 		},
-		onShow() {
-			//判断是否登录
-			this.userInfo = uni.getStorageSync('storage_key');
-			if (!(this.userInfo && this.userInfo.buyerUserId)) {
+		onShow(){
+            //判断是否登录
+			let item = {}
+			if(uni.getStorageSync('storage_key')){
+				item = uni.getStorageSync('storage_key');
+			}
+			if(JSON.stringify(item) == '{}'){
 				let data = {
 					collageId : this.collageId,
 					orderId : this.orderId,
 					productId : this.productId,
 					skuId : this.skuId,
 					type : this.type,
-					shopGroupWorkId: this.shopGroupWorkId
 				}
 				uni.setStorageSync("inviteSpell",data)
-				uni.navigateTo({
-					url:'../../pages_category_page2/userModule/accountLogin?inviteSpell=1'
-				})
-			} else {
-				this.getInviteSpell()
+				// uni.navigateTo({
+				// 	url:'../../pages_category_page2/userModule/accountLogin?inviteSpell=1'
+				// })
+			}else{
+				this.userInfo = uni.getStorageSync('storage_userInfo')
 			}
+			this.getInviteSpell()
 		},
 		onLoad(options) {
-			console.log(options, 'options')
+			console.log(options,'options')
 			this.isIphone = getApp().globalData.isIphone;
 			let item = getApp().globalData.inviteSpellShareItem
 			if (item) {
@@ -279,69 +236,73 @@
 				this.skuId = parseInt(options.skuId)
 				this.shopGroupWorkId = parseInt(options.shopGroupWorkId)
 			}
-			// #ifdef MP-WEIXIN
-			this.url = '/pages_category_page1/goodsModule/inviteSpell?collageId=' +
-				this.collageId + '&orderId=' + this.orderId + '&productId=' + this.productId + '&skuId=' + this.skuId +
-				'&shopGroupWorkId=' + this.shopGroupWorkId
-			// #endif
-			// #ifndef MP-WEIXIN
-			this.url = '/h5/#/pages_category_page1/goodsModule/inviteSpell?collageId=' +
-				this.collageId + '&orderId=' + this.orderId + '&productId=' + this.productId + '&skuId=' + this.skuId +
-				'&shopGroupWorkId=' + this.shopGroupWorkId
-			// #endif
+			this.getProductSku()
+			this.queryProductDetail()
+			this.url = '/pages_category_page1/goodsModule/inviteSpell?collageId='
+					+ this.collageId +'&orderId='+ this.orderId+'&productId='+this.productId+'&skuId='+this.skuId+'&shopGroupWorkId='+this.shopGroupWorkId
 		},
-		methods: {
-			getOffered() {
-				this.goodsDetailShowFlag = true
-			},
-			goodsDateils() {
-				uni.navigateTo({
-					url: '/pages_category_page1/goodsModule/goodsDetails?shopId=' + this.shopId + '&productId=' +
-						this.productId + '&skuId=' +
-						this.skuId
-				})
+		methods:{
+			getOffered(){
+        this.goosDetailshowFlag = true
 			},
 			//拼团下单
-			getGroupSettlement(type) {
-				uni.removeStorageSync("skuItemDTOList")
-				let data = {}
-				data = {
-					collageId: this.collageId,
-					number: this.buyNum,
-					productId: this.productId,
-					shopId: this.shopId,
-					skuId: this.skuProdId,
-					shopGroupWorkId: this.shopGroupWorkId,
-					type: type
+			getGroupSettlement(type){
+        uni.removeStorageSync("skuItemDTOList")
+				let data={}
+				data= {
+					collageId:this.collageId,
+					number:this.buyNum,
+					productId:this.productId,
+					shopId:this.shopId,
+					skuId:this.skuProdId,
+					shopGroupWorkId:this.shopGroupWorkId,
+					type:type
 				}
-				uni.setStorageSync('skuItemList', data)
-				this.goodsDetailShowFlag = false
+				uni.setStorageSync('skuItemList',data)
+				this.goosDetailshowFlag = false
 				this.buyNum = 1
 				uni.navigateTo({
 					url: '../orderModule/orderConfirm?type=1',
 				})
 			},
-			getProductSku() {
-				NET.request(API.getSpecificSku, {
-					skuId: this.skuId,
-					productId: this.productId
+			//获取商品详情
+			queryProductDetail() {
+				NET.request(API.QueryProductDetail,
+				{
+					shopId:this.shopId,
+					productId:this.productId,
+					skuId:this.skuId,
+					terminal:1
+				},
+				"GET").then(res => {
+					this.productDetail = res.data
+					for (let i = 0; i < res.data.attrList.length; i++) {
+						this.subIndex[i] = 0
+					}
+					this.attrItemIdArr[0] = res.data.attrList[0].attrValueList[0].id
+				}).catch(res => {
+				})
+			},
+			getProductSku(){
+				NET.request(API.QueryProductSku, {
+					skuId:this.skuId,
+					productId:this.productId
 				}, 'GET').then(res => {
 					this.skuProdList = res.data
 					this.attrList = res.data.names
 					this.attrValueList = res.data.names[0].values
 					//渲染商详之后,默认先选中第一个规格
-					this.colorActiveClick(this.attrValueList[0], 0, 0)
+					this.colorActiveClick(this.attrValueList[0],0,0)
 					this.skuProdId = this.skuId
 					this.skuImg = res.data.image
 					this.skuPrice = res.data.price
 					this.stockNumber = res.data.stockNumber
 					this.shopId = res.data.shopId
+
 				}).catch(res => {
-					uni.showToast({
-						title: '查询sku信息失败',
-						icon: "none"
-					})
+
 				})
+
 			},
 			// 数量减
 			numSub() {
@@ -356,9 +317,9 @@
 			},
 			// 数量加
 			numAdd() {
-				if (this.buyNum < this.stockNumber) {
+				if(this.buyNum < this.stockNumber){
 					this.buyNum = this.buyNum + 1
-				} else {
+				}else{
 					uni.showToast({
 						title: '库存不足!',
 						icon: "none"
@@ -398,13 +359,13 @@
 			},
 			checkItemDataClick(attrItemIdArr) {
 				let attrkey = ''
-				for (let i = 0; i < attrItemIdArr.length; i++) {
-					attrkey += attrItemIdArr[i] + ','
+				for(let i =0;i<attrItemIdArr.length;i++){
+					attrkey += attrItemIdArr[i]+','
 				}
-				attrkey = attrkey.substring(0, attrkey.length - 1)
+				attrkey = attrkey.substring(0,attrkey.length - 1)
 				let mapinfo = this.skuProdList.map
-				for (var key in mapinfo) {
-					if (attrkey == key) {
+				for (var key in mapinfo){
+					if(attrkey == key){
 						this.skuProdId = mapinfo[key].skuId
 						this.skuImg = mapinfo[key].skuImg
 						this.skuPrice = mapinfo[key].price
@@ -412,68 +373,53 @@
 					}
 				}
 			},
-			shareClick() {
+			shareClick(){
 				this.$refs.shareSpell.shareShow = true
 			},
-			shareCancel() {
+			shareCancel(){
 				this.$refs.shareSpell.shareShow = false
 			},
-			goinvitePoster() {
-				console.log(this.inviteSpell, 'test')
+			goinvitePoster(){
+			  console.log(this.inviteSpell, 'test')
 				let data = {
-					image: this.inviteSpell.image,
-					headImage: this.inviteSpell.headImage,
-					productName: this.inviteSpell.productName,
-					person: this.inviteSpell.person,
-					originalPrice: this.inviteSpell.originalPrice,
-					price: this.inviteSpell.price,
-					collageId: this.collageId,
-					productId: this.productId,
-					skuId: this.skuId,
-					orderId: this.orderId
+					image:this.inviteSpell.image,
+					headImage:this.inviteSpell.headImage,
+					productName:this.inviteSpell.productName,
+					person:this.inviteSpell.person,
+					originalPrice:this.inviteSpell.originalPrice,
+					price:this.inviteSpell.price,
+					collageId:this.collageId,
+          productId:this.productId,
+          skuId:this.skuId,
+					orderId:this.orderId
 				}
 				uni.navigateTo({
-					url: 'invitePoster?data=' + JSON.stringify(data)
+					url:'invitePoster?data='+ JSON.stringify(data)
 				})
 			},
-			getInviteSpell() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...',
-				})
+			getInviteSpell(){
+				// uni.showLoading({
+        //           mask: true,
+				//   title: '加载中...',
+				// })
 				NET.request(API.getInviteSpell, {
-					collageId: this.collageId,
+					collageId:this.collageId,
 					orderId: this.orderId
 				}, 'POST').then(res => {
 					this.inviteSpell = res.data
 					this.type = 0
-					this.inviteSpell.personList.forEach(item => {
-						if (this.userInfo && item.buyerUserId === this.userInfo.buyerUserId) {
+					this.inviteSpell.personList.forEach(item=>{
+						if(item.name === this.userInfo.name){
 							this.type = 1
 						}
 					})
 					this.personLen = res.data.personList.length
 					this.remainPerson = res.data.person - this.personLen
-					const orderState = res.data.orderState
-					const activityState = res.data.activityState
-					const collageOrderState = res.data.collageOrderState
-					if (orderState !== 6 || activityState !== 1 || collageOrderState !== 0 || res.data.time <= 1) {
-						this.showJoinGroup = false
-						if (activityState !== 1) {
-							this.showGroupText = '活动已结束'
-						}
-						if (collageOrderState !== 0 || orderState !== 6 || res.data.time <= 1) {
-							this.showGroupText = '拼单已失效'
-						}
-					} else {
-						this.showJoinGroup = true;
-						this.dateformat(res.data.time)
-						this.countDown()
-						this.getProductSku()
-					}
+					this.dateformat(res.data.time)
+					this.countDown()
 					uni.hideLoading()
 				}).catch(res => {
-					uni.hideLoading()
+				  uni.hideLoading()
 				})
 			},
 			//时分秒换算
@@ -492,403 +438,357 @@
 				this.min = min
 				this.sec = sec
 			},
-			countDown() {
-				let timeOut = setTimeout(() => {
-					let hou = parseInt(this.hou);
-					let min = parseInt(this.min);
-					let sec = parseInt(this.sec);
-
-					let netxSec = sec - 1;
-					let netxMin = min
-					let netxHou = hou;
-
-					if (netxHou === 0 && netxMin === 0 && netxSec === -1) {
-						this.showJoinGroup = false
-						clearTimeout(timeOut)
-						// uni.switchTab({
-						// 	url:'../../pages/tabbar/index/index'
-						// })
-					} else {
-						if (netxSec === -1) {
-							netxSec = 59
-							netxMin = netxMin - 1;
-						}
-						if (netxMin === -1) {
-							netxMin = 59
-							netxHou = netxHou - 1
-						}
-						if (netxHou === -1) {
-							netxHou = 23
-						}
-
-						this.hou = this.timeFormat(netxHou)
-						this.min = this.timeFormat(netxMin)
-						this.sec = this.timeFormat(netxSec)
-						this.timeOut = timeOut
-						this.countDown();
-					}
-				}, 1000)
+			countDown(){
+			    let timeOut = setTimeout(() => {
+			      let hou = parseInt(this.hou);
+			      let min = parseInt(this.min);
+			      let sec = parseInt(this.sec);
+
+			      let netxSec = sec - 1;
+			      let netxMin = min
+			      let netxHou = hou;
+
+			      if (netxHou == 0 && netxMin == 0 && netxSec == -1) {
+			        clearTimeout(timeOut)
+					// uni.switchTab({
+					// 	url:'../../pages/tabbar/index/index'
+					// })
+			      } else {
+			        if (netxSec == -1) {
+			          netxSec = 59
+			          netxMin = netxMin - 1;
+			        }
+			        if (netxMin == -1) {
+			          netxMin = 59
+			          netxHou = netxHou - 1
+			        }
+			        if (netxHou == -1) {
+			          netxHou = 23
+			        }
+
+			        this.hou = this.timeFormat(netxHou),
+			        this.min = this.timeFormat(netxMin),
+			        this.sec = this.timeFormat(netxSec),
+			        this.timeOut = timeOut
+			        this.countDown();
+			      }
+			    }, 1000)
 			},
 			timeFormat(param) { //小于10的格式化函数
-				return param < 10 ? '0' + param : param;
+			    return param < 10 ? '0' + param : param;
 			},
 		}
 	}
 </script>
 
 <style lang="scss">
-	page {
-		background-color: #F7F7F7;
+page{background-color: #F7F7F7;}
+.copy-color{
+	display: flex;
+	justify-content: center;
+	align-items:center;
+	flex-direction: column;
+}
+.inviteSpell-con{
+  background: url("https://ceres.zkthink.com/static/images/pintuanbg.png") no-repeat left top;
+  background-size: contain;
+  .grouped {
+    text-align: center;
+    padding-top: 40rpx;
+    .number {
+      display: inline-block;
+      color: #FFEBC4;
+      height: 48rpx;
+      line-height: 48rpx;
+      padding: 0 30rpx;
+      background: #525252;
+      margin-top: 10rpx;
+    }
+  }
+	.z-index-0{
+		z-index: 0;
 	}
-
-	.copy-color {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		flex-direction: column;
+	.border-FF7{
+		border: 2rpx solid #FFF;
 	}
-
-	.inviteSpell-con {
-		background: url("https://ceres.zkthink.com/static/images/pintuanbg.png") no-repeat left top;
-		background-size: contain;
-
-		.grouped {
-			text-align: center;
-			padding-top: 40rpx;
-
-			.number {
-				display: inline-block;
-				color: #FFEBC4;
-				height: 48rpx;
-				line-height: 48rpx;
-				padding: 0 30rpx;
-				background: #525252;
-				margin-top: 10rpx;
-			}
+	.colonel-box{
+		color: #FFEBC4;
+		background-color: #333333;
+		width: 86rpx;
+		height: 32rpx;
+		line-height: 32rpx;
+		border-radius: 15rpx;
+		text-align: center;
+		margin-top: -20rpx;
+		z-index: 2;
+	}
+	.font-color-C5AA7B{
+		color: #C5AA7B;
+	}
+  .topBox {
+    padding: 40rpx 20rpx 0 20rpx;
+  }
+	.title-box{
+		padding: 30rpx;
+    background: #FFFFFF;
+		.title-lab{
+			width: 400rpx;
+      height: 130rpx;
 		}
-
-		.z-index-0 {
-			z-index: 0;
+		.spellNum{
+			background-color: #FFEDDF;
+			border-radius: 22rpx;
+			width: 144rpx;
+			height: 44rpx;
 		}
-
-		.border-FF7 {
-			border: 2rpx solid #FFF;
+		.pro-img{
+			width: 222rpx;
+			height: 222rpx;
 		}
-
-		.colonel-box {
-			color: #FFEBC4;
+		.issueregiment{
+			width: 120rpx;
+			height: 122rpx;
+		}
+	}
+	.spellpersonnel-box{
+		margin-top: 20rpx;
+    padding: 0 20rpx;
+    .bgBox {
+      background-color: #FFFFFF;
+      padding: 30rpx 0;
+    }
+		.head-icon{
+			width: 102rpx;
+			height: 102rpx;
+			border-radius: 50%;
+		}
+		.replenish-icon{
+			width: 102rpx;
+			height: 102rpx;
+			border-radius: 50%;
+			border: 1rpx #E5E5E5 dashed;
+			font-size: 60rpx;
+			color: #DBDBDB;
+		}
+		.offered-but{
 			background-color: #333333;
-			width: 86rpx;
-			height: 32rpx;
-			line-height: 32rpx;
-			border-radius: 15rpx;
-			text-align: center;
-			margin-top: -20rpx;
-			z-index: 2;
+			border-radius: 5rpx;
+			width: 420rpx;
+			height: 66rpx;
+      color: #FFEBC4;
 		}
-
-		.font-color-C5AA7B {
+		.poster-but{
+			border: #C5AA7B 1rpx solid;
+			border-radius: 5rpx;
+			width: 420rpx;
+			height: 66rpx;
 			color: #C5AA7B;
 		}
-
-		.topBox {
-			padding: 40rpx 20rpx 0 20rpx;
+	}
+	.spellrule{
+		background-color: #FFFFFF;
+		padding: 50rpx 20rpx;
+		.dot1{
+			width: 4rpx;
+			height: 4rpx;
+			background-color: #B6B6C1;
+			border-radius: 50%;
+			margin-left: 10rpx;
 		}
-
-		.title-box {
-			padding: 30rpx;
-			background: #FFFFFF;
-
-			.title-lab {
-				width: 400rpx;
-				height: 130rpx;
-			}
-
-			.spellNum {
-				background-color: #FFEDDF;
-				border-radius: 22rpx;
-				width: 144rpx;
-				height: 44rpx;
-			}
-
-			.pro-img {
-				width: 222rpx;
-				height: 222rpx;
-			}
-
-			.issueregiment {
-				width: 120rpx;
-				height: 122rpx;
-			}
+		.dot2{
+			width: 6rpx;
+			height: 6rpx;
+			background-color: #B6B6C1;
+			border-radius: 50%;
+			margin-left: 10rpx;
 		}
-
-		.spellpersonnel-box {
-			margin-top: 20rpx;
-			padding: 0 20rpx;
-
-			.bgBox {
-				background-color: #FFFFFF;
-				padding: 30rpx 0;
-			}
-
-			.head-icon {
-				width: 102rpx;
-				height: 102rpx;
-				border-radius: 50%;
-			}
-
-			.replenish-icon {
-				width: 102rpx;
-				height: 102rpx;
-				border-radius: 50%;
-				border: 1rpx #E5E5E5 dashed;
-				font-size: 60rpx;
-				color: #DBDBDB;
-			}
-
-			.offered-but {
-				background-color: #333333;
-				border-radius: 5rpx;
-				width: 420rpx;
-				height: 66rpx;
-				color: #FFEBC4;
-			}
-
-			.group-disabled {
-				background: #b7b7b7;
-				border-radius: 5rpx;
-				width: 420rpx;
-				height: 66rpx;
-				line-height: 80upx;
-				justify-content: center;
-				color: #333333;
-			}
-
-			.poster-but {
-				border: #C5AA7B 1rpx solid;
-				border-radius: 5rpx;
-				width: 420rpx;
-				height: 66rpx;
-				color: #C5AA7B;
-			}
+		.dot3{
+			width: 8rpx;
+			height: 8rpx;
+			background-color: #B6B6C1;
+			border-radius: 50%;
+			margin-left: 10rpx;
 		}
-
-		.spellrule {
-			background-color: #FFFFFF;
-			padding: 50rpx 20rpx;
-
-			.dot1 {
-				width: 4rpx;
-				height: 4rpx;
-				background-color: #B6B6C1;
-				border-radius: 50%;
-				margin-left: 10rpx;
-			}
-
-			.dot2 {
-				width: 6rpx;
-				height: 6rpx;
-				background-color: #B6B6C1;
-				border-radius: 50%;
-				margin-left: 10rpx;
+	}
+	.inactive-box{
+		padding: 40rpx 40rpx;
+		.weixin-box{
+			width: 100rpx;
+			height: 100rpx;
+			background-color: #F5F5F5;
+			border-radius: 50%;
+			image{
+				width: 55rpx;
+				height: 55rpx;
 			}
-
-			.dot3 {
-				width: 8rpx;
-				height: 8rpx;
-				background-color: #B6B6C1;
-				border-radius: 50%;
-				margin-left: 10rpx;
+		}
+	}
+	.goosDetailshow-box {
+		.detailImg-box {
+			margin-top: 30upx;
+			margin-left: 30upx;
+			border-radius: 10upx;
+			border-bottom: 1upx solid #EDEDED;
+			padding-bottom: 20upx;
+			width: 690upx;
+
+			.detailImg {
+				width: 180upx;
+				height: 180upx;
 			}
 		}
 
-		.inactive-box {
-			padding: 40rpx 40rpx;
+		.color-box {
+			padding: 30upx 30upx;
+			border-bottom: 1upx solid #EDEDED;
+			width: 690upx;
+
+			.colorName-box {
+				display: flex;
+				flex-wrap: wrap;
+				flex-direction: row;
+				justify-content: flex-start;
+				align-items: center;
+				margin-top: 30upx;
+				margin-left: -30upx;
 
-			.weixin-box {
-				width: 100rpx;
-				height: 100rpx;
-				background-color: #F5F5F5;
-				border-radius: 50%;
+				.colorName-on {
+					background-color: #FFE5D0;
+					color: #C5AA7B;
+					margin-left: 30upx;
+					padding: 10upx 32upx;
+					border-radius: 28upx;
+					border: 1upx solid #C5AA7B;
+					font-size: 26upx;
+					text-align: center;
+					z-index: 1;
+				}
 
-				image {
-					width: 55rpx;
-					height: 55rpx;
+				.colorName {
+					background-color: #F5F5F5;
+					margin-left: 30upx;
+					padding: 10upx 32upx;
+					border-radius: 28upx;
+					font-size: 26upx;
+					z-index: 2;
 				}
 			}
+
 		}
 
-		.goosDetailshow-box {
-			.detailImg-box {
+		.modelNum-box {
+			padding: 30upx 30upx;
+			border-bottom: 1upx solid #EDEDED;
+			width: 690upx;
+
+			.modelNumName-box {
+				display: flex;
+				flex-wrap: wrap;
+				flex-direction: row;
+				justify-content: flex-start;
+				align-items: center;
 				margin-top: 30upx;
-				margin-left: 30upx;
-				border-radius: 10upx;
-				border-bottom: 1upx solid #EDEDED;
-				padding-bottom: 20upx;
-				width: 690upx;
+				margin-left: -30upx;
 
-				.detailImg {
-					width: 180upx;
-					height: 180upx;
+				.modelNumName-on {
+					background-color: #FFE4D0;
+					color: #C5AA7B;
+					margin-left: 30upx;
+					padding: 10upx 32upx;
+					border-radius: 28upx;
+					border: 1upx solid #C5AA7B;
+					font-size: 26upx;
+					text-align: center;
 				}
-			}
-
-			.color-box {
-				padding: 30upx 30upx;
-				border-bottom: 1upx solid #EDEDED;
-				width: 690upx;
 
-				.colorName-box {
-					display: flex;
-					flex-wrap: wrap;
-					flex-direction: row;
-					justify-content: flex-start;
-					align-items: center;
-					margin-top: 30upx;
-					margin-left: -30upx;
-
-					.colorName-on {
-						background-color: #FFE5D0;
-						color: #C5AA7B;
-						margin-left: 30upx;
-						padding: 10upx 32upx;
-						border-radius: 28upx;
-						border: 1upx solid #C5AA7B;
-						font-size: 26upx;
-						text-align: center;
-						z-index: 1;
-					}
-
-					.colorName {
-						background-color: #F5F5F5;
-						margin-left: 30upx;
-						padding: 10upx 32upx;
-						border-radius: 28upx;
-						font-size: 26upx;
-						z-index: 2;
-					}
+				.modelNumName {
+					background-color: #F5F5F5;
+					margin-left: 30upx;
+					padding: 10upx 32upx;
+					border-radius: 28upx;
+					font-size: 26upx;
 				}
-
+			}
+		}
+	.joinbuyBut{
+		width: 690upx;
+		height: 80upx;
+		border-radius: 40upx 40upx;
+		background-color: #3D3C3D;
+		color: #FFFEFE;
+		font-size: 28upx;
+		line-height: 80upx;
+		text-align: center;
+	}
+		.goodsNum-box {
+			padding: 30upx 30upx;
+			width: 690upx;
+			padding-bottom: 268upx;
+
+			.goodsNumber {
+				border: 1upx solid #999999;
+				padding: 3upx 20upx;
 			}
 
-			.modelNum-box {
-				padding: 30upx 30upx;
-				border-bottom: 1upx solid #EDEDED;
-				width: 690upx;
-
-				.modelNumName-box {
-					display: flex;
-					flex-wrap: wrap;
-					flex-direction: row;
-					justify-content: flex-start;
-					align-items: center;
-					margin-top: 30upx;
-					margin-left: -30upx;
-
-					.modelNumName-on {
-						background-color: #FFE4D0;
-						color: #C5AA7B;
-						margin-left: 30upx;
-						padding: 10upx 32upx;
-						border-radius: 28upx;
-						border: 1upx solid #C5AA7B;
-						font-size: 26upx;
-						text-align: center;
-					}
+			.subtract {
+				border: 1upx solid #999999;
+				padding: 3upx 20upx;
+				margin-right: -1upx;
+			}
 
-					.modelNumName {
-						background-color: #F5F5F5;
-						margin-left: 30upx;
-						padding: 10upx 32upx;
-						border-radius: 28upx;
-						font-size: 26upx;
-					}
-				}
+			.add {
+				border: 1upx solid #999999;
+				padding: 3upx 20upx;
+				margin-left: -1upx;
 			}
+		}
 
-			.joinbuyBut {
-				width: 690upx;
+		.goosDetailbut-box {
+			.joinShopCartBut {
+				width: 343upx;
 				height: 80upx;
-				border-radius: 40upx 40upx;
+				border-radius: 40upx 0 0 40upx;
 				background-color: #3D3C3D;
 				color: #FFFEFE;
 				font-size: 28upx;
 				line-height: 80upx;
 				text-align: center;
+				margin-left: 30upx;
 			}
 
-			.goodsNum-box {
-				padding: 30upx 30upx;
-				width: 690upx;
-				padding-bottom: 268upx;
-
-				.goodsNumber {
-					border: 1upx solid #999999;
-					padding: 3upx 20upx;
-				}
-
-				.subtract {
-					border: 1upx solid #999999;
-					padding: 3upx 20upx;
-					margin-right: -1upx;
-				}
-
-				.add {
-					border: 1upx solid #999999;
-					padding: 3upx 20upx;
-					margin-left: -1upx;
-				}
-			}
-
-			.goosDetailbut-box {
-				.joinShopCartBut {
-					width: 343upx;
-					height: 80upx;
-					border-radius: 40upx 0 0 40upx;
-					background-color: #3D3C3D;
-					color: #FFFEFE;
-					font-size: 28upx;
-					line-height: 80upx;
-					text-align: center;
-					margin-left: 30upx;
-				}
-
-				.buyNowBut {
-					width: 343upx;
-					height: 80upx;
-					border-radius: 0 40upx 40upx 0;
-					background-color: #3D3C3D;
-					color: #FFFEFE;
-					font-size: 28upx;
-					line-height: 80upx;
-					text-align: center;
-				}
+			.buyNowBut {
+				width: 343upx;
+				height: 80upx;
+				border-radius: 0 40upx 40upx 0;
+				background-color: #3D3C3D;
+				color: #FFFEFE;
+				font-size: 28upx;
+				line-height: 80upx;
+				text-align: center;
 			}
 		}
 	}
+}
 </style>
 <style scoped>
-	.spellrule /deep/ .u-steps__item__num {
-		background: #F3F4F5 !important;
-		border: none !important;
-		width: 60rpx;
-		height: 60rpx;
-	}
-
-	.spellrule /deep/ .u-steps .u-steps__item--row .u-steps__item__line {
-		left: 66%;
-		width: 67%;
-	}
-
-	.spellrule /deep/ .u-steps .u-steps__item--row .u-line {
-		height: 6rpx;
-		border-bottom: none;
-		background: #F3F4F5;
-		border-bottom: none !important;
-	}
-
-	.spellrule /deep/ .u-steps .u-steps__item--row .u-steps__item__text--row {
-		width: 180rpx;
-		padding: 0 25rpx;
-	}
+ .spellrule /deep/ .u-steps__item__num {
+   background: #F3F4F5 !important;
+   border: none !important;
+   width: 60rpx;
+   height: 60rpx;
+ }
+ .spellrule /deep/ .u-steps .u-steps__item--row .u-steps__item__line {
+   left: 66%;
+   width: 67%;
+ }
+ .spellrule /deep/ .u-steps .u-steps__item--row .u-line {
+   height: 6rpx;
+   border-bottom: none;
+   background: #F3F4F5;
+   border-bottom: none !important;
+ }
+ .spellrule /deep/ .u-steps .u-steps__item--row .u-steps__item__text--row {
+   width: 180rpx;
+   padding: 0 25rpx;
+ }
 </style>

+ 6 - 4
pages_category_page1/goodsModule/putQuestions.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="qaBox">
+    <global-loading />
+
     <view class="qaTopInfo">
       <view class="qaTopInfoBox">
         <image :src="qudata.images"></image>
@@ -60,10 +62,10 @@
           })
           return false
         }
-        uni.showLoading({
-          title: '提交中...',
-          mask: true
-        });
+        // uni.showLoading({
+        //   title: '提交中...',
+        //   mask: true
+        // });
 				if(this.anonymous == true){
 					this.ifAnonymous = 1
 				}else{

+ 7 - 5
pages_category_page1/homeModule/special.vue

@@ -1,6 +1,8 @@
 <template>
 	<view>
-		<!-- 专题 -->
+    <global-loading />
+
+    <!-- 专题 -->
 		<swiper class="banner" indicator-dots indicator-color="#FFFFFF" indicator-active-color="#FF7911" autoplay>
 			<swiper-item class="banner-item" v-for="(item,index) in bannerList">
 				<image :src="item" mode="widthFix" class="bannerImg"></image>
@@ -68,10 +70,10 @@
 		methods: {
 			getSubjectDetailByKeyList() {
 				let _this = this
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.SubjectWithProduct + this.key, {
 					current: this.current,
 					map: {},

+ 6 - 5
pages_category_page1/integral/exchangeDetail.vue

@@ -1,5 +1,6 @@
 <template>
   <view class="exchangeDetailBox">
+    <global-loading />
     <view class="topBg">
       <view class="exchangeCoupon flex-items">
         <view class="couponInfo">
@@ -122,22 +123,22 @@ export default {
   },
   methods: {
     getProductList() {
-      uni.showLoading({
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   title: '加载中...',
+      // })
       NET.request(API.getCouponProducts, {
         activityId: this.currentCoupon.couponId,
         page: this.page,
         pageSize: this.pageSize
       }, 'GET').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
         if (res.data.list.length === 0) {
           this.loadingType = 1
         } else {
           this.productList = this.productList.concat(res.data.list)
         }
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
       })
     },
     receiveCoupon() {

+ 6 - 5
pages_category_page1/integral/index.vue

@@ -1,5 +1,6 @@
 <template>
   <view class="memberCenter" v-if="ifShow">
+    <global-loading />
     <view class="memberBox">
       <view class="posBox">
         <view class="memberBoxTop">
@@ -172,12 +173,12 @@ export default {
     },
     getIntegralList() {
       // 获取签到信息
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       NET.request(API.selectCreditRecord, this.integralInfo, 'POST').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
         this.ifShow = true
         this.integralRecord = res.data.list
       }).catch(res => {

+ 75 - 72
pages_category_page1/integral/sign.vue

@@ -1,84 +1,87 @@
 <template>
-  <view class="signBox" v-if="ifShow">
-    <view class="signBg">
-      <view class="signDayNumBox flex-center" v-if="continuousNum">
-        <view class="signDayNum fs28">
-          当前周期已连续签到
-          <text class="fs40">{{ continuousNum || '0' }}</text>
-          天
+  <view>
+    <global-loading />
+    <view class="signBox" v-if="ifShow">
+      <view class="signBg">
+        <view class="signDayNumBox flex-center" v-if="continuousNum">
+          <view class="signDayNum fs28">
+            当前周期已连续签到
+            <text class="fs40">{{ continuousNum || '0' }}</text>
+            天
+          </view>
         </view>
-      </view>
-      <view v-if="currentDay == lastDay" class="signState flex-center mar-top-30">
-        <view class="signStateBg flex-items flex-center noSign">
-          <text class="fs48">已签到</text>
+        <view v-if="currentDay == lastDay" class="signState flex-center mar-top-30">
+          <view class="signStateBg flex-items flex-center noSign">
+            <text class="fs48">已签到</text>
+          </view>
         </view>
-      </view>
-      <view v-if="currentDay != lastDay" class="signState flex-center mar-top-30" @click="signInFn" >
-        <view class="signStateBg flex-items flex-center">
-          <text class="fs48">未签到</text>
+        <view v-if="currentDay != lastDay" class="signState flex-center mar-top-30" @click="signInFn" >
+          <view class="signStateBg flex-items flex-center">
+            <text class="fs48">未签到</text>
+          </view>
         </view>
-      </view>
-      <view class="calendarBox">
-        <view class="calendarBg">
-          <view class="calendar-box">
-            <view class="month">
-              <view class="u-arrow u-arrow-left" @click="lastMonth"></view>
-              <view>{{year}}年{{month}}月</view>
-              <view class="u-arrow u-arrow-right" @click="nextMonth"></view>
-              <picker v-if="checkDate" class="picker" mode="date" fields="month" @change="changeDate" />
-            </view>
-            <view class="week">
-              <view :style="'color:'+(weeks==weeked?bgweek:'')+';'" v-for="weeks in weekArr">{{weeks}}</view>
-            </view>
-            <view class="day">
-              <view
-                class="dayItem"
-                v-for="(days,index) in dayArr"
-                :key="index"
-                @click="signToday(days,index)"
-              >
+        <view class="calendarBox">
+          <view class="calendarBg">
+            <view class="calendar-box">
+              <view class="month">
+                <view class="u-arrow u-arrow-left" @click="lastMonth"></view>
+                <view>{{year}}年{{month}}月</view>
+                <view class="u-arrow u-arrow-right" @click="nextMonth"></view>
+                <picker v-if="checkDate" class="picker" mode="date" fields="month" @change="changeDate" />
+              </view>
+              <view class="week">
+                <view :style="'color:'+(weeks==weeked?bgweek:'')+';'" v-for="weeks in weekArr">{{weeks}}</view>
+              </view>
+              <view class="day">
                 <view
-                  :class="[
+                    class="dayItem"
+                    v-for="(days,index) in dayArr"
+                    :key="index"
+                    @click="signToday(days,index)"
+                >
+                  <view
+                      :class="[
                     {'checkday':days.date==''},
                     {'choose':days.date==currentDay},
                     {'select': days.select === 1}
                   ]"
-                  class="dayValue"
-                >{{days.day}}</view>
+                      class="dayValue"
+                  >{{days.day}}</view>
+                </view>
               </view>
             </view>
           </view>
         </view>
       </view>
-    </view>
-    <view class="redEnvelope mar-top-20">
-      <view class="redEnvelopeBg flex-items flex-end">
-        <view>
-          <view class="fs32 font-color-333">积分兑换红包优惠券</view>
-          <view class="fs24 font-color-999 mar-top-10">各种大额红包等你兑换哦</view>
-          <view class="fs24 font-color-FFF exchangeBtn mar-top-20" @click="goToexchange">马上兑换</view>
+      <view class="redEnvelope mar-top-20">
+        <view class="redEnvelopeBg flex-items flex-end">
+          <view>
+            <view class="fs32 font-color-333">积分兑换红包优惠券</view>
+            <view class="fs24 font-color-999 mar-top-10">各种大额红包等你兑换哦</view>
+            <view class="fs24 font-color-FFF exchangeBtn mar-top-20" @click="goToexchange">马上兑换</view>
+          </view>
         </view>
       </view>
-    </view>
-    <!-- 签到弹窗 -->
-    <tui-modal :show="signTips" :custom="true" :fadein="true">
-      <view class="Put-box1">
-        <view class="text-align fs34 fs-bold">
-          签到成功
-        </view>
-        <view class="mar-top-40 text-align">
-          今日签到成功,签到积分可以在我的积分内兑换商品
-        </view>
-        <view class="flex-display flex-sp-between">
-          <view class="btn" @click="signTips = false">
-            取消
+      <!-- 签到弹窗 -->
+      <tui-modal :show="signTips" :custom="true" :fadein="true">
+        <view class="Put-box1">
+          <view class="text-align fs34 fs-bold">
+            签到成功
           </view>
-          <view class="btn submit" @click="signTips = false">
-            确定
+          <view class="mar-top-40 text-align">
+            今日签到成功,签到积分可以在我的积分内兑换商品
+          </view>
+          <view class="flex-display flex-sp-between">
+            <view class="btn" @click="signTips = false">
+              取消
+            </view>
+            <view class="btn submit" @click="signTips = false">
+              确定
+            </view>
           </view>
         </view>
-      </view>
-    </tui-modal>
+      </tui-modal>
+    </view>
   </view>
 </template>
 
@@ -118,10 +121,10 @@ export default {
   },
   methods: {
     getSignData() {
-      uni.showLoading({
-        mask: true,
-        title: '请稍等...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '请稍等...',
+      // })
       let selectMonth = this.year + '-' + this.formatNum(this.month)
       const that = this
       NET.request(API.selectByMonth,
@@ -130,7 +133,7 @@ export default {
         },
         'POST')
         .then(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
           that.ifShow = true
           that.signList = res.data
 
@@ -172,12 +175,12 @@ export default {
     },
     // 签到
     signInFn() {
-      uni.showLoading({
-        mask: true,
-        title: '请稍等...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '请稍等...',
+      // })
       NET.request(API.creditSignIn, {}, 'POST').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
         this.getSignData()
         this.signTips = true
       }).catch(res => {})

+ 7 - 5
pages_category_page1/memberCenter/activityList.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="spikeListBox">
+    <global-loading />
+
     <view class="spikeBgBox">
       <view class="discountBg">
       </view>
@@ -117,7 +119,7 @@ export default {
       this.shopId = 0
       this.shopDiscountId = 0
     }
-    
+
   },
   onShow() {
   	this.getMemberList()
@@ -197,10 +199,10 @@ export default {
       })
     },
     getMemberList(){
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       let param = ''
       const storageKey = uni.getStorageSync('storage_key');
       if(storageKey){

+ 266 - 228
pages_category_page1/memberCenter/index.vue

@@ -1,85 +1,94 @@
 <template>
-  <view class="memberCenter" v-if="isShow">
-    <view class="memberBg" :style="{backgroundImage:'url('+memberListData[activeIndex].memberLevelBackground+')', 'padding-top': paddingTop + 'px'}">
-      <view class="member-top" :style="{'top': topHeight + 'px'}">
-        <view class="memberTopInfo">
-          <view class="backBox">
-            <image src="https://ceres.zkthink.com/static/images/back_img04.png" class="back" @click="back"></image>
+  <view>
+    <global-loading/>
+
+    <view class="memberCenter" v-if="isShow">
+      <view class="memberBg"
+            :style="{backgroundImage:'url('+memberListData[activeIndex].memberLevelBackground+')', 'padding-top': paddingTop + 'px'}">
+        <view class="member-top" :style="{'top': topHeight + 'px'}">
+          <view class="memberTopInfo">
+            <view class="backBox">
+              <image src="https://ceres.zkthink.com/static/images/back_img04.png" class="back" @click="back"></image>
+            </view>
+            <view class="memberTit fs30 font-color-FFF">会员中心</view>
           </view>
-          <view class="memberTit fs30 font-color-FFF">会员中心</view>
         </view>
-      </view>
-      <view class="memberBox">
-        <view class="posBox">
-          <view class="memberBoxTop">
-            <view class="memberTopPos">
-              <swiper class="swiper pro-box" next-margin="30rpx" previous-margin="30rpx" :current="activeIndex" :indicator-dots="false" :autoplay="false" @change="swiperChange">
-                <swiper-item class="pro-item-warp" v-for="(item, index) in memberListData" :key="index" >
-                  <view class='box'>
-                    <view class="memberTopBg" :style="{backgroundImage:'url('+item.memberLevelBackground+')'}">
-                      <view class="flex-display flex-sp-between">
-                        <view class="nameBox">
-                          <view class="name fs36">{{memberData.name}}</view>
-                          <view class="level">
-                            <image :src="item.memberLevelIcon"></image>
+        <view class="memberBox">
+          <view class="posBox">
+            <view class="memberBoxTop">
+              <view class="memberTopPos">
+                <swiper class="swiper pro-box" next-margin="30rpx" previous-margin="30rpx" :current="activeIndex"
+                        :indicator-dots="false" :autoplay="false" @change="swiperChange">
+                  <swiper-item class="pro-item-warp" v-for="(item, index) in memberListData" :key="index">
+                    <view class='box'>
+                      <view class="memberTopBg" :style="{backgroundImage:'url('+item.memberLevelBackground+')'}">
+                        <view class="flex-display flex-sp-between">
+                          <view class="nameBox">
+                            <view class="name fs36">{{ memberData.name }}</view>
+                            <view class="level">
+                              <image :src="item.memberLevelIcon"></image>
+                            </view>
                           </view>
-                        </view>
-                        <view class="avatarBox">
-                          <image :src="memberData.headImage"></image>
-                        </view>
-                      </view>
-                      <view class="growing">
-                        <view class="growingValue flex-display flex-sp-between">
-                          <label class="fs24 fs-weight-400 font-color-333">当前会员成长值 {{memberData.growth}}</label>
-                          <label class="fs24 fs-weight-400 font-color-333 mar-left-20" v-if="nextGrowth !== 0 && nextGrowth !== item.growth">{{nextGrowth}}</label>
-                        </view>
-                        <view class="progressBar" v-if="memberData.growth < nextGrowth">
-                          <view style="width: 100%">
-                            <progress activeColor="#FFEBC4" :percent="getPercent(memberData.growth, nextGrowth)" active stroke-width="2" />
+                          <view class="avatarBox">
+                            <image :src="memberData.headImage"></image>
                           </view>
                         </view>
-                        <view class="currentName" v-else>
-                          以超越该等级
+                        <view class="growing">
+                          <view class="growingValue flex-display flex-sp-between">
+                            <label class="fs24 fs-weight-400 font-color-333">当前会员成长值
+                              {{ memberData.growth }}</label>
+                            <label class="fs24 fs-weight-400 font-color-333 mar-left-20"
+                                   v-if="nextGrowth !== 0 && nextGrowth !== item.growth">{{ nextGrowth }}</label>
+                          </view>
+                          <view class="progressBar" v-if="memberData.growth < nextGrowth">
+                            <view style="width: 100%">
+                              <progress activeColor="#FFEBC4" :percent="getPercent(memberData.growth, nextGrowth)"
+                                        active stroke-width="2"/>
+                            </view>
+                          </view>
+                          <view class="currentName" v-else>
+                            以超越该等级
+                          </view>
+                          <!--                      <view class="flex-display flex-sp-between">-->
+                          <!--                        <label class="fs24 font-color-71521B">{{memberData.memberLevelName}}</label>-->
+                          <!--                        <label class="fs24 font-color-71521B">{{memberData.nextLevelName}}</label>-->
+                          <!--                      </view>-->
                         </view>
-                        <!--                      <view class="flex-display flex-sp-between">-->
-                        <!--                        <label class="fs24 font-color-71521B">{{memberData.memberLevelName}}</label>-->
-                        <!--                        <label class="fs24 font-color-71521B">{{memberData.nextLevelName}}</label>-->
-                        <!--                      </view>-->
                       </view>
                     </view>
-                  </view>
-                </swiper-item>
-              </swiper>
+                  </swiper-item>
+                </swiper>
+              </view>
             </view>
           </view>
         </view>
-      </view>
-      <view class="equity">
-        <view class="equityBox">
-          <view class="equityTit">我的权益</view>
-          <view class="equityList">
-            <view class="equityItem" v-for="item of equityList" :key="item.memberId">
-              <image :src="item.memberIcon"></image>
-              <view class="fs26">{{item.memberName}}</view>
+        <view class="equity">
+          <view class="equityBox">
+            <view class="equityTit">我的权益</view>
+            <view class="equityList">
+              <view class="equityItem" v-for="item of equityList" :key="item.memberId">
+                <image :src="item.memberIcon"></image>
+                <view class="fs26">{{ item.memberName }}</view>
+              </view>
             </view>
           </view>
         </view>
-      </view>
-      <view class="signIn">
-        <view class="signInList">
-          <view class="signTit fs30 font-color-333">快速成长</view>
-          <view class="signInBox">
-            <view class="signItem flex-items flex-sp-between">
-              <view class="itemLeft flex-items">
-                <view class="leftIcon">
-                  <image src="https://ceres.zkthink.com/static/img/member/memberList2.png"></image>
-                </view>
-                <view class="leftInfo">
-                  <label class="fs28 font-color-333">购物</label>
-                  <view class="fs24 font-color-999">购买商品获取相应成长值</view>
+        <view class="signIn">
+          <view class="signInList">
+            <view class="signTit fs30 font-color-333">快速成长</view>
+            <view class="signInBox">
+              <view class="signItem flex-items flex-sp-between">
+                <view class="itemLeft flex-items">
+                  <view class="leftIcon">
+                    <image src="https://ceres.zkthink.com/static/img/member/memberList2.png"></image>
+                  </view>
+                  <view class="leftInfo">
+                    <label class="fs28 font-color-333">购物</label>
+                    <view class="fs24 font-color-999">购买商品获取相应成长值</view>
+                  </view>
                 </view>
+                <view class="rightBtn" @click="goToShopping">去购物</view>
               </view>
-              <view class="rightBtn" @click="goToShopping">去购物</view>
             </view>
           </view>
         </view>
@@ -116,11 +125,11 @@ export default {
     this.topHeight = 50
     this.paddingTop = 100
     // #endif
-	
-	// 定时器防止app一开始进入时页面混乱问题
-	setTimeout(()=>{
-	  this.getMemberShipList()
-	},200)
+
+    // 定时器防止app一开始进入时页面混乱问题
+    setTimeout(() => {
+      this.getMemberShipList()
+    }, 200)
     this.memberData = uni.getStorageSync('storage_userInfo');
     this.getMemberByMemberLevel()
     this.getMemberList()
@@ -141,8 +150,7 @@ export default {
       this.equityList = this.memberListData[this.activeIndex].membershipList
     },
     getMemberList() {
-      NET.request(API.memberList, {
-      }, 'GET').then(res => {
+      NET.request(API.memberList, {}, 'GET').then(res => {
         this.memberListData = res.data
         this.memberListData.forEach((item, index) => {
           if (item.memberLevelId === this.memberData.memberLevelId) {
@@ -162,35 +170,34 @@ export default {
     },
     getMemberShipList() {
       // 获取会员信息
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
-      NET.request(API.getMemberShipList, {
-      }, 'GET').then(res => {
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
+      NET.request(API.getMemberShipList, {}, 'GET').then(res => {
         uni.hideLoading()
         this.equityList = res.data
-		this.isShow = true
+        this.isShow = true
       }).catch(res => {
       })
     },
     // 去首页
-    goToShopping () {
+    goToShopping() {
       uni.switchTab({
         url: '../../pages/tabbar/index/index'
       })
     },
-    getPercent(num, total){
+    getPercent(num, total) {
       num = parseFloat(num);
       total = parseFloat(total);
       if (isNaN(num) || isNaN(total)) {
         return "-";
       }
-      return total <= 0? "0%" : Math.round((num / total) * 10000) / 100.0;
+      return total <= 0 ? "0%" : Math.round((num / total) * 10000) / 100.0;
     },
     // 获取会员等级
     getMemberByMemberLevel() {
-      NET.request(`${API.getMemberByMemberLevel}/${this.memberData.memberLevelId}`,{}, 'GET').then(res => {
+      NET.request(`${API.getMemberByMemberLevel}/${this.memberData.memberLevelId}`, {}, 'GET').then(res => {
         this.levelInfo = res.data
         uni.setStorageSync('storage_levelInfo', this.levelInfo);
       }).catch(res => {
@@ -205,184 +212,215 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-  .memberCenter {
+.memberCenter {
+  background-size: contain;
+  min-height: 800 rpx;
+
+  .memberBg {
+    background-repeat: no-repeat;
+    padding-top: 50 rpx;
+  }
+
+  .memberBox {
+    width: 100%;
+    //background: #523e3a;
+    border-radius: 25 rpx;
     background-size: contain;
-    min-height: 800rpx;
-    .memberBg {
-      background-repeat: no-repeat;
-      padding-top: 50rpx;
-    }
-    .memberBox {
-      width: 100%;
-      //background: #523e3a;
-      border-radius: 25rpx;
-      background-size: contain;
+    position: relative;
+    box-sizing: border-box;
+
+    .memberBoxTop {
       position: relative;
-      box-sizing: border-box;
-      .memberBoxTop {
-        position: relative;
-        .memberTopPos {
-          overflow: hidden;
-          .pro-box {
-            height: 300rpx;
-          }
-          .swiper {
-            .box {
-              height: 300rpx;
-              padding: 4rpx 10rpx;
-            }
-          }
+
+      .memberTopPos {
+        overflow: hidden;
+
+        .pro-box {
+          height: 300 rpx;
         }
-        .memberTopBg {
-          background-size: cover;
-          background-repeat: no-repeat;
-          border-radius: 30rpx;
-          padding: 40rpx 30rpx 30rpx 30rpx;
-          box-shadow: 0 0 5rpx rgba(90,90,90,.5);
-          height: 290rpx;
-          .currentName {
-            font-size: 26rpx;
-            margin-top: 50rpx;
-            color: #71521B;
+
+        .swiper {
+          .box {
+            height: 300 rpx;
+            padding: 4 rpx 10 rpx;
           }
         }
       }
-      .avatarBox {
-        image {
-          width: 110rpx;
-          height: 110rpx;
-          border: 5rpx solid #FFFFFF;
-          border-radius: 50%;
+
+      .memberTopBg {
+        background-size: cover;
+        background-repeat: no-repeat;
+        border-radius: 30 rpx;
+        padding: 40 rpx 30 rpx 30 rpx 30 rpx;
+        box-shadow: 0 0 5 rpx rgba(90, 90, 90, .5);
+        height: 290 rpx;
+
+        .currentName {
+          font-size: 26 rpx;
+          margin-top: 50 rpx;
+          color: #71521B;
         }
       }
-      .nameBox {
-        .name {
-          color: #333333;
-          margin-right: 30rpx;
-          margin-bottom: 10rpx;
-        }
-        .level {
-          image {
-            width: 172rpx;
-            height: 50rpx;
-          }
-        }
+    }
+
+    .avatarBox {
+      image {
+        width: 110 rpx;
+        height: 110 rpx;
+        border: 5 rpx solid #FFFFFF;
+        border-radius: 50%;
       }
-      .growing {
-        .growingValue {
-          margin-top: 30rpx;
-        }
-        .progressBar {
-          height: 20rpx;
-          width: 100%;
-          margin: 20rpx 0;
+    }
+
+    .nameBox {
+      .name {
+        color: #333333;
+        margin-right: 30 rpx;
+        margin-bottom: 10 rpx;
+      }
+
+      .level {
+        image {
+          width: 172 rpx;
+          height: 50 rpx;
         }
       }
     }
-    .equity {
-      border-radius: 25rpx 25rpx 0 0;
-      padding: 30rpx;
-      background: #F8F8F8;
-      margin-top: 50rpx;
-      .equityBox {
-        background: #FFFFFF;
-        min-height: 326rpx;
-        border-radius: 20rpx;
-        padding: 10rpx 30rpx 30rpx 30rpx;
-        .equityTit {
-          font-weight: bold;
-          height: 92rpx;
-          line-height: 92rpx;
-        }
-        .equityList {
-          border-top: 2rpx solid #F3F4F5;
-          display: flex;
-          flex-flow: wrap;
-          padding-top: 30rpx;
-          text-align: center;
-          .equityItem {
-            width: 25%;
-            color: #666666;
-            image {
-              width: 92rpx;
-              height: 92rpx;
-            }
+
+    .growing {
+      .growingValue {
+        margin-top: 30 rpx;
+      }
+
+      .progressBar {
+        height: 20 rpx;
+        width: 100%;
+        margin: 20 rpx 0;
+      }
+    }
+  }
+
+  .equity {
+    border-radius: 25 rpx 25 rpx 0 0;
+    padding: 30 rpx;
+    background: #F8F8F8;
+    margin-top: 50 rpx;
+
+    .equityBox {
+      background: #FFFFFF;
+      min-height: 326 rpx;
+      border-radius: 20 rpx;
+      padding: 10 rpx 30 rpx 30 rpx 30 rpx;
+
+      .equityTit {
+        font-weight: bold;
+        height: 92 rpx;
+        line-height: 92 rpx;
+      }
+
+      .equityList {
+        border-top: 2 rpx solid #F3F4F5;
+        display: flex;
+        flex-flow: wrap;
+        padding-top: 30 rpx;
+        text-align: center;
+
+        .equityItem {
+          width: 25%;
+          color: #666666;
+
+          image {
+            width: 92 rpx;
+            height: 92 rpx;
           }
         }
       }
     }
-    .signIn {
-      padding: 0 30rpx 30rpx 30rpx;
-      background: #F8F8F8;
-      .signInList {
-        background: #FFFFFF;
-        border-radius: 20rpx;
-        padding: 0 30rpx 30rpx 30rpx;
-        .signTit {
-          font-weight: bold;
-          height: 92rpx;
-          line-height: 92rpx;
-        }
-        .signInBox {
-          .signItem {
-            border-top: 2rpx solid #F3F4F5;
-            padding: 30rpx 0;
-            .itemLeft {
-              image {
-                width: 92rpx;
-                height: 92rpx;
-                margin-right: 30rpx;
-              }
+  }
+
+  .signIn {
+    padding: 0 30 rpx 30 rpx 30 rpx;
+    background: #F8F8F8;
+
+    .signInList {
+      background: #FFFFFF;
+      border-radius: 20 rpx;
+      padding: 0 30 rpx 30 rpx 30 rpx;
+
+      .signTit {
+        font-weight: bold;
+        height: 92 rpx;
+        line-height: 92 rpx;
+      }
+
+      .signInBox {
+        .signItem {
+          border-top: 2 rpx solid #F3F4F5;
+          padding: 30 rpx 0;
+
+          .itemLeft {
+            image {
+              width: 92 rpx;
+              height: 92 rpx;
+              margin-right: 30 rpx;
             }
           }
-          .rightBtn {
-            width: 160rpx;
-            height: 58rpx;
-            line-height: 58rpx;
-            background: #333333;
-            border-radius: 10rpx;
-            color: #FFEBC4;
-            text-align: center;
-          }
+        }
+
+        .rightBtn {
+          width: 160 rpx;
+          height: 58 rpx;
+          line-height: 58 rpx;
+          background: #333333;
+          border-radius: 10 rpx;
+          color: #FFEBC4;
+          text-align: center;
         }
       }
     }
-    .member-top {
+  }
+
+  .member-top {
+    width: 100%;
+    position: fixed;
+    z-index: 99;
+    left: 0;
+
+    .memberTopInfo {
+      position: relative;
       width: 100%;
-      position: fixed;
-      z-index: 99;
-      left: 0;
-      .memberTopInfo {
-        position: relative;
-        width: 100%;
-        height: 60rpx;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-      }
-      .backBox {
-        position: absolute;
-        left: 10rpx;
-        top: 0rpx;
-        .back {
-          width: 50rpx;
-          height: 50rpx;
-          padding: 0rpx 10rpx;
-        }
+      height: 60 rpx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
+
+    .backBox {
+      position: absolute;
+      left: 10 rpx;
+      top: 0 rpx;
+
+      .back {
+        width: 50 rpx;
+        height: 50 rpx;
+        padding: 0 rpx 10 rpx;
       }
     }
   }
+}
 </style>
 <style>
 page {
   background: #F8F8F8;
 }
+
 .progressBar /deep/ .uni-progress-bar {
   background-color: rgb(235, 235, 235, 0.6) !important;
-  height: 5rpx !important;
-  border-radius: 22rpx;
+  height: 5 rpx !important;
+  border-radius: 22 rpx;
 }
+
 .progressBar /deep/ .uni-progress-bar .uni-progress-inner-bar {
-  border-radius: 22rpx;
+  border-radius: 22 rpx;
 }
 </style>

+ 15 - 13
pages_category_page1/memberCenter/memberSign.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="memberCenter">
-		<view class="avatarTop">
+    <global-loading />
+
+    <view class="avatarTop">
 			<view class="avatarBox">
 				<image :src="memberData.headImage"></image>
 			</view>
@@ -113,10 +115,10 @@
 				this.noSign = 7
 				this.signDate = 0
 				// 获取签到
-				uni.showLoading({
-          mask: true,
-					title: '加载中...',
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...',
+				// })
 				NET.request(API.selectSigninRecordList, {}, 'GET').then(res => {
 					uni.hideLoading()
 					this.recordList = res.data
@@ -133,10 +135,10 @@
 					page: this.page,
 					pageSize: this.pageSize,
 				}
-				uni.showLoading({
-          mask: true,
-					title: '加载中...',
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...',
+				// })
 				NET.request(API.selectSigninHistory, param, 'GET').then(res => {
 					if(res.data.list.length===0){
 						this.loadingType = true
@@ -152,10 +154,10 @@
 			// 签到
 			signInFn() {
 				if (this.upDate !== this.currentData) {
-					uni.showLoading({
-            mask: true,
-						title: '请稍等...',
-					})
+					// uni.showLoading({
+          //   mask: true,
+					// 	title: '请稍等...',
+					// })
 					NET.request(API.signIn, {}, 'POST').then(res => {
 						uni.hideLoading()
 						uni.showToast({

+ 5 - 3
pages_category_page1/orderModule/Intervene.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="container">
+    <global-loading />
+
     <!-- 平台介入 -->
     <view class="addEvaluate-box flex-items-plus flex-column-plus">
       <view class="addEvaluate flex-column-plus">
@@ -66,9 +68,9 @@ export default {
         })
         return false
       }
-      uni.showLoading({
-        title:'正在申请介入...'
-      })
+      // uni.showLoading({
+      //   title:'正在申请介入...'
+      // })
       NET.request(API.platform, {
         afterId: this.afterId,
         orderId: this.orderId,

+ 8 - 5
pages_category_page1/orderModule/addLogistics.vue

@@ -1,7 +1,9 @@
 <!-- 退货/退款填写物流信息 -->
 <template>
 	<view>
-		<view class="content">
+    <global-loading />
+
+    <view class="content">
 			<view class="afterSale-select-box mt20">
 				<view class="item" @click="openWaySelect">
 					<view class="l">物流公司</view>
@@ -111,10 +113,11 @@
 				this.getSendReturnGoods()
 			},
 			getSendReturnGoods() {
-				uni.showLoading({
-          mask: true,
-					url:'物流信息提交中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	url:'物流信息提交中...'
+				// })
+
 				NET.request(API.SendReturnGoods, {
 					orderId: this.item.orderId,
 					afterId: this.item.afterId,

+ 56 - 159
pages_category_page1/orderModule/afterSaleApply.vue

@@ -1,6 +1,8 @@
 <!-- 申请售后 -->
 <template>
   <view>
+    <global-loading />
+
     <view class="content">
       <view class="order-list-box">
         <view class="item">
@@ -11,31 +13,12 @@
                     active-color="#C5AA7B"
                     shape="circle"
                     size="40"
-                    v-for="(item, index) in this.wrapperList"
+                    v-for="(item, index) in item.skus"
                     :key="index"
                     v-model="item.checked"
+                    :name='item.skuId'
                     @change="checkboxChange(item)">
-                  <view v-if="item.dataType === 1" class="order-info-price">
-                    <view>
-                      <text class="price-notice">定价捆绑商品</text>
-                    </view>
-                    <view class="order-info-item" v-for="priceItem in item.skus">
-                      <image :src="priceItem.image"
-                             class="product-img"></image>
-                      <view class="info-box">
-                        <text class="product-name">{{ priceItem.productName }}</text>
-                        <view class="product-sku">{{ priceItem.value }}</view>
-                        <view class="price-sku-box">
-                          <text class="product-price">
-                            <text class="fuhao">¥</text>
-                            {{ priceItem.price }}
-                          </text>
-                          <text class="product-num">x {{ priceItem.number }}</text>
-                        </view>
-                      </view>
-                    </view>
-                  </view>
-                  <view v-else class="order-info-item">
+                  <view class="order-info-item">
                     <image :src="item.image"
                            class="product-img"></image>
                     <view class="info-box">
@@ -98,7 +81,7 @@ export default {
     return {
       item: {},
       checkboxChangelist: [],
-      checkedList: [],
+      xuanzlist: [],
       allCheck: {
         name: '全选',
         value: 'all',
@@ -109,28 +92,10 @@ export default {
       distribution: null,
       isAllSelect: 0,
       evaluated: 0,//待评价订单申请
-      wrapperList: []
     }
   },
   onLoad(options) {
     this.item = JSON.parse(options.item)
-    const priceList = []
-    this.item.skus.forEach(sku => {
-      console.log('sku', sku.actualPrice)
-      //定价捆绑特殊处理
-      if (sku.activityType === 6) {
-        priceList.push(sku)
-      } else {
-        const newItem = Object.assign({}, sku, {'dataType': 2})
-        this.wrapperList.push(newItem)
-      }
-    })
-    if (priceList.length > 0) {
-      this.wrapperList.push({
-        'dataType': 1,
-        'skus': priceList
-      })
-    }
     this.distribution = this.item.skus[0].distribution
     this.evaluated = options.isAllSelect
     // this.item.skus.forEach((item) => {
@@ -140,67 +105,61 @@ export default {
   },
   methods: {
     // 算钱
-    calcRefundMoney() {
-        if (this.checkedList.length <= 0) {
-          return 0
+    HandleGetRefundMoney() {
+      return new Promise((resolve, reject) => {
+        if (this.xuanzlist.length <= 0) {
+          resolve(0)
+          return
+        }
+        // uni.showLoading({
+        //   title: "计算中..."
+        // })
+        let postData = {
+          orderId: this.item.orderId,
+          isAllSelect: this.evaluated == 1 ? this.xuanzlist.length === this.item.skus.length ? 1 : 0 : 0,
+          skus: this.xuanzlist
         }
-        console.log('calc')
-        let total = 0
-        this.checkedList.forEach(item => {
-          if (item.dataType === 1) {
-            item.skus.forEach(sku => {
-              total += sku.actualPrice
-            })
-          } else {
-            total += item.actualPrice
-          }
+        NET.request(API.GetRefundMoney, postData, "POST").then(res => {
+          uni.hideLoading()
+          resolve(parseFloat(res.json))
         })
-        return total
-    },
-    checkRemainPrice() {
-      let totalPrice = 0
-      this.item.skus.forEach(item => {
-        totalPrice += item.actualPrice
-      })
-      let refundPrice = 0
-      this.checkedList.forEach(item => {
-        refundPrice += item.actualPrice
       })
-      if (totalPrice - refundPrice < 0.01) {
-        return false
+    },
+    // 申请退款
+    ReturnMoney(item) {
+      if (this.xuanzlist.length <= 0) {
+        uni.showToast({
+          title: '请选择退款的商品',
+          duration: 2000,
+          icon: 'none'
+        })
+      } else {
+        uni.setStorageSync('afterSaleApplyRefund', this.xuanzlist)
+        uni.navigateTo({
+          url: 'afterSaleApplyRefund?orderId=' + this.item.orderId + '&isAllSelect=' + (this.evaluated==1?this.isAllSelect:0)
+        })
       }
-      return true
     },
     // 全选
     async changeAll(e) {
-      if (e.detail.value.length === 0) {
-        this.wrapperList.map(item => this.$set(item, 'checked', false));
+      if (e.detail.value.length == 0) {
+        this.item.skus.map(item => this.$set(item, 'checked', false));
         this.$set(this.allCheck, 'checked', false);
-        this.checkedList = []
-        if (this.item.state === 4 && this.evaluated !== undefined) {
+        this.xuanzlist = []
+        if (this.item.state === 4 && this.evaluated != undefined) {
           this.isAllSelect = this.evaluated
         } else {
           this.isAllSelect = 0
         }
-        this.number = 0
       } else {
-        this.wrapperList.map(item => this.$set(item, 'checked', true));
+        this.item.skus.map(item => this.$set(item, 'checked', true));
         this.$set(this.allCheck, 'checked', true);
-        if (this.item.state === 4 && this.evaluated !== undefined) {
+        if (this.item.state === 4 && this.evaluated != undefined) {
           this.isAllSelect = this.evaluated
         } else {
           this.isAllSelect = 1
         }
-        this.checkedList = []
-        this.wrapperList.forEach(item => {
-          if (item.checked) {
-            if (item.dataType === 1) {
-              this.checkedList = this.checkedList.concat(item.skus)
-            } else {
-              this.checkedList.push(item)
-            }
-          }
-        })
+        this.xuanzlist = this.item.skus.filter(item => item.checked == true)
         this.number = 0
         // this.total = 0
         this.item.skus.forEach((item) => {
@@ -208,46 +167,19 @@ export default {
           // this.total = this.total + item.total
         })
       }
-      this.total = this.calcRefundMoney()
-    },
-    // 申请退款
-    ReturnMoney(item) {
-      if (this.checkedList.length <= 0) {
-        uni.showToast({
-          title: '请选择退款的商品',
-          duration: 2000,
-          icon: 'none'
-        })
-      } else if (this.checkedList.length !== this.item.skus.length && !this.checkRemainPrice()) {
-        uni.showToast({
-          title: '剩余商品价值过低,请一起退款',
-          duration: 2000,
-          icon: 'none'
-        })
-      } else {
-        uni.setStorageSync('afterSaleApplyRefund', this.checkedList)
-        uni.navigateTo({
-          url: 'afterSaleApplyRefund?orderId=' + this.item.orderId + '&isAllSelect=' + (this.evaluated === 1 ? this.isAllSelect : 0)
-        })
-      }
+      this.total = await this.HandleGetRefundMoney()
     },
     // 申请退货
     ReturnGoods(item) {
-      if (this.checkedList.length <= 0) {
+      if (this.xuanzlist.length <= 0) {
         uni.showToast({
           title: '请选择退货的商品',
           duration: 2000,
           icon: 'none'
         })
-      } else if (this.checkedList.length !== this.item.skus.length && !this.checkRemainPrice()) {
-        uni.showToast({
-          title: '剩余商品价值过低,请一起退款',
-          duration: 2000,
-          icon: 'none'
-        })
       } else {
         uni.navigateTo({
-          url: 'afterSaleApplyRetund?list=' + encodeURIComponent(JSON.stringify(this.checkedList)) + '&orderId=' + this.item.orderId + '&isAllSelect='+ (this.evaluated === 1 ? this.isAllSelect : 0)
+          url: 'afterSaleApplyRetund?list=' + encodeURIComponent(JSON.stringify(this.xuanzlist)) + '&orderId=' + this.item.orderId + '&isAllSelect='+ (this.evaluated==1?this.isAllSelect:0)
         })
       }
     },
@@ -258,64 +190,41 @@ export default {
     async checkboxChange(e) {
       // 动态设置商品件数和总计
       if (e.checked) {
-        if (e.dataType === 1) {
-          e.skus.forEach(item => {
-            this.number += item.number
-          })
-        } else {
-          this.number = this.number + e.number
-        }
+        this.number = this.number + e.number
         // this.total = this.total + e.total
       } else {
-        if (e.dataType === 1) {
-          e.skus.forEach(item => {
-            this.number -= item.number
-          })
-        } else {
-          this.number = this.number - e.number
-        }
+        this.number = this.number - e.number
         // this.total = this.total - e.total
       }
       // 筛选勾选的
-      this.checkedList = []
-      this.wrapperList.forEach(item => {
-        if (item.checked) {
-          if (item.dataType === 1) {
-            this.checkedList = this.checkedList.concat(item.skus)
-          } else {
-            this.checkedList.push(item)
-          }
-        }
-      })
-
-      //this.checkedList = this.item.skus.filter(item => item.checked === true)
+      this.xuanzlist = this.item.skus.filter(item => item.checked == true)
 
       // 是否为全选
-      if (this.item.skus.length === this.checkedList.length) {
-        if (this.item.state === 4 && this.evaluated !== undefined) {
+      if (this.item.skus.length == this.xuanzlist.length) {
+        if (this.item.state === 4 && this.evaluated != undefined) {
           this.isAllSelect = this.evaluated
         } else {
           this.isAllSelect = 1
         }
         this.$set(this.allCheck, 'checked', true);
       } else {
-        if (this.item.state === 4 && this.evaluated !== undefined) {
+        if (this.item.state === 4 && this.evaluated != undefined) {
           this.isAllSelect = this.evaluated
         } else {
           this.isAllSelect = 0
         }
         this.$set(this.allCheck, 'checked', false);
       }
-      this.total = this.calcRefundMoney()
+      this.total = await this.HandleGetRefundMoney()
 
-      //     if(this.checkedList.findIndex(item=>item.checked===true)==-1){
+      //     if(this.xuanzlist.findIndex(item=>item.checked===true)==-1){
       //   console.log(this.allCheck,'this.allCheck')
-      //   console.log(this.checkedList,'this.checkedList')
+      //   console.log(this.xuanzlist,'this.xuanzlist')
       //       this.$set(this.allCheck, 'checked', false);
       //     } else {
       //   console.log(this.allCheck,'this.allCheck')
       //       this.$set(this.allCheck, 'checked', true);
-      // console.log(this.checkedList,'this.checkedList')
+      // console.log(this.xuanzlist,'this.xuanzlist')
       //     }
     }
   }
@@ -388,18 +297,6 @@ page {
   /* border-bottom: 1px solid #eee; */
 }
 
-.order-info-price {
-  display: block;
-  padding: 10upx 20upx;
-  width: 600rpx;
-  border-top: 1px solid #eee;
-
-  .price-notice {
-    font-size: 12upx;
-    color: red;
-  }
-}
-
 .order-info-item {
   display: flex;
   flex-direction: row;

+ 46 - 21
pages_category_page1/orderModule/afterSaleApplyRefund.vue

@@ -109,9 +109,7 @@
         </view>
       </view>
     </u-popup>
-    <u-popup v-model="cargoStatusShowFalg"
-             mode="bottom"
-             border-radius="14">
+    <u-popup v-model="cargoStatusShowFalg" mode="bottom" border-radius="14">
       <view class="alert-box">
         <view class="afterSale-status-box">
           <view class="status-title">货物状态</view>
@@ -132,13 +130,9 @@
       </view>
     </u-popup>
     <!-- 退款原因弹框 -->
-    <u-popup v-model="reasonShowFalg"
-             mode="bottom"
-             border-radius="14"
-             width="80%"
-             height="60%">
+    <u-popup v-model="reasonShowFalg" mode="bottom" border-radius="14">
       <view class="alert-box">
-        <view class="afterSale-status-box" scroll-y style="height:100%;">
+        <view class="afterSale-status-box" scroll-y style="height:60%;">
           <view class="status-title">退款原因</view>
           <view class="item-box">
             <view class="item" @click="returnReasonTap(item,index)" v-for="(item,index) in liyouData" :key="index">
@@ -197,25 +191,60 @@ export default {
     this.fileList = this.$refs.uUpload.lists
   },
   async onLoad(options) {
+	  console.log(options,'options')
     if (uni.getStorageSync('applyItem')) {
       this.afterRefund = uni.getStorageSync('applyItem')
       this.list.push(this.afterRefund)
     } else if (uni.getStorageSync('afterSaleApplyRefund')) {
       this.list = uni.getStorageSync('afterSaleApplyRefund')
     }
+	console.log(this.list,'this.list')
     this.orderId = parseInt(options.orderId)
 	this.isAllSelect = options.isAllSelect
+	console.log(this.isAllSelect,'this.isAllSelect')
     const res = uni.getStorageSync('storage_key');
     this.headerToken.Authorization = res.token
     this.list.forEach(el => {
-		this.sellPriceitem = this.sellPriceitem + el.actualPrice + el.logisticsPrice
+		if(this.isAllSelect > 0){
+			this.sellPriceitem = this.sellPriceitem + (el.number*el.price) + el.logisticsPrice
+		}else{
+			this.sellPriceitem = this.sellPriceitem + (el.number*el.price)
+		}
+
     })
+    // this.sellPriceitem = options.sellPriceitem
+    // this.sellPriceitem = options.sellPriceitem
     this.getReasonEnums()
     uni.removeStorageSync('applyItem')
     uni.removeStorageSync('afterSaleApplyRefund')
+    this.sellPriceitem=await this.HandleGetRefundMoney()
   },
   methods: {
+    // 算钱
+    HandleGetRefundMoney() {
+      return new Promise((resolve, reject) => {
+        // uni.showLoading({
+        //   title: "计算中..."
+        // })
+        let postData = {
+          orderId: this.orderId,
+          isAllSelect: this.isAllSelect==1 ? 1 : 0,
+          skus: this.list,
+          afterType:2,
+          goodsState:this.ReturnMoneyQuery.goodsState
+        }
+        NET.request(API.GetRefundMoney, postData, "POST").then(res => {
+          uni.hideLoading()
+          resolve (parseFloat(res.json))
+        }).catch(err=>{
+          uni.hideLoading()
+        })
+      })
+    },
+
+
     confirmTap() {
+      console.log(this.fileList, 'commentImgs')
       if(this.fileList.length>0){
         this.commentImgsFlag = true
         for(let i=0;i<this.fileList.length;i++){
@@ -244,10 +273,11 @@ export default {
           icon: 'none'
         });
       } else {
-        uni.showLoading({
-          title: '正在提交...',
-        })
+        // uni.showLoading({
+        //   title: '正在提交...',
+        // })
         let skusobjdata = []
+        console.log(this.list)
         this.list.forEach((i) => {
           let skusobj = {}
           skusobj["skuId"] = i.skuId
@@ -295,6 +325,7 @@ export default {
       this.ReturnMoneyQuery.returnReason = index
       this.liyoutext = item
     },
+
     openStatusSelect() {
       this.cargoStatusShowFalg = true
     },
@@ -306,14 +337,8 @@ export default {
     },
     async closeStatusSelect() {
       this.cargoStatusShowFalg = false
-      this.sellPriceitem = 0
-      this.list.forEach(el => {
-        this.sellPriceitem += el.actualPrice
-        //已收到货物,就不退运费
-        if (this.ReturnMoneyQuery.goodsState === 0) {
-          this.sellPriceitem += el.logisticsPrice
-        }
-      })
+      this.sellPriceitem=await this.HandleGetRefundMoney()
+
     },
     closeAfterSelect() {
       this.refundTypeShow = false

+ 37 - 16
pages_category_page1/orderModule/afterSaleApplyRetund.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="container">
+    <global-loading />
+
     <view class="content"
           style="padding-bottom:200upx;">
       <view class="order-list-box"
@@ -110,7 +112,8 @@
     <u-popup v-model="cargoStatusShowFalg"
              mode="center"
              border-radius="14"
-             width="80%">
+             width="80%"
+             closeable="true">
       <view class="alert-box">
         <view class="afterSale-status-box">
           <view class="status-title">货物状态</view>
@@ -151,7 +154,8 @@
     <u-popup v-model="reasonShowFalg"
              mode="center"
              border-radius="14"
-             width="80%">
+             width="80%"
+             closeable="true">
       <view class="alert-box">
         <view class="afterSale-status-box"
               scroll-y>
@@ -225,18 +229,41 @@ export default {
   },
   async onLoad(option) {
     this.retundlist = JSON.parse(decodeURIComponent(option.list))
+    console.log(option,'this.retundlist')
 
     this.orderId = option.orderId
     this.isAllSelect = option.isAllSelect
+    // console.log(this.retundlist, 'retundlist')
     this.retundlist.forEach(el => {
-      this.sellPriceitem = this.sellPriceitem + el.actualPrice
+      this.sellPriceitem = this.sellPriceitem + el.number * el.price
     })
     this.getReasonEnums()
+    this.sellPriceitem = await this.HandleGetRefundMoney()
   },
   methods: {
+    // 算钱
+    HandleGetRefundMoney() {
+      return new Promise((resolve, reject) => {
+        // uni.showLoading({
+        //   title: "计算中..."
+        // })
+        let postData = {
+          orderId: this.orderId,
+          isAllSelect: this.isAllSelect==1 ? 1 : 0,
+          skus: this.retundlist,
+          afterType:2,
+          goodsState:this.ReturnMoneyQuery.goodsState
+        }
+        NET.request(API.GetRefundMoney, postData, "POST").then(res => {
+          uni.hideLoading()
+          resolve (parseFloat(res.json))
+        }).catch(err=>{
+          uni.hideLoading()
+        })
+      })
+    },
     confirmTap() {
       if (this.fileList.length > 0) {
-        this.commentImgs=''
         this.commentImgsFlag = true
         for (let i = 0; i < this.fileList.length; i++) {
           this.commentImgs += this.fileList[i].response.data.url + ','
@@ -265,10 +292,10 @@ export default {
           icon: 'none'
         });
       } else {
-        uni.showLoading({
-          mask: true,
-          title: '正在提交...',
-        })
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '正在提交...',
+        // })
         let skusobjdata = []
         this.retundlist.forEach((i) => {
           let skusobj = {}
@@ -318,13 +345,7 @@ export default {
     },
     async closeStatusSelect() {
       this.cargoStatusShowFalg = false
-      this.sellPriceitem = 0
-      this.retundlist.forEach(el => {
-        this.sellPriceitem += el.actualPrice
-        if (this.ReturnMoneyQuery.goodsState === 0) {
-          this.sellPriceitem += el.logisticsPrice
-        }
-      })
+      this.sellPriceitem = await this.HandleGetRefundMoney()
     },
     closeReasonSelect() {
       this.reasonShowFalg = false
@@ -691,7 +712,7 @@ export default {
 }
 
 .afterSale-status-box .item-box {
-  padding: 0 0 10upx 0;
+  padding: 0 0 60upx 0;
 }
 
 .afterSale-status-box .status-select-title {

+ 194 - 79
pages_category_page1/orderModule/index.vue

@@ -1,6 +1,8 @@
 <!-- 订单中心 -->
 <template>
   <view class="container">
+    <global-loading/>
+
     <view style="padding-bottom:68upx;">
       <view>
         <u-tabs :list="tabList"
@@ -123,7 +125,7 @@
                   </text>
                   <text class="btn r"
                         v-if='item.state==5'
-                        @click.stop="againCollage(item.skus[0].productId,item.shopId,item.skus[0].skuId)">
+                        @click.stop="againCollage(item.skus[0].productId,item.shopId,item.skus[0].skuId,item.collageId!=0,item)">
                     {{ item.collageId != 0 ? '再次开团' : '再次购买' }}
                   </text>
                 </view>
@@ -339,12 +341,82 @@ export default {
   },
   methods: {
     //去商品详情
-    againCollage(productId, shopId, skuId) {
+    againCollage(productId, shopId, skuId, isStartAGroup, item) {
+      console.log(item)
+      if (isStartAGroup) {
+        uni.navigateTo({
+          url: '../goodsModule/goodsDetails?productId=' + productId + '&shopId=' + shopId + '&skuId=' +
+              skuId
+        })
+      } else {
+        // 跳转详情
+        this.buyAgain(item)
+      }
+    },
+    async buyAgain(item) {
+      // 循环sku,获取商品详情
+      const postAjax = []
+      item.skus.forEach(e=>{
+        postAjax.push(this.queryProductDetail(e))
+      })
+      // 并发执行
+      const skuDetailList = await Promise.all(postAjax);
+      let canNotBuyNameList = []
+      // 判断库存
+      skuDetailList.forEach(skuDetail=>{
+        for (const skuDetailSkuMapKey in skuDetail.map) {
+          // 判断此SKU是否存在于传进来的item
+          const findSku = item.skus.find(findItem=>findItem.skuId === skuDetail.map[skuDetailSkuMapKey].skuId);
+          if(findSku){
+            const skuInfo = skuDetail.map[skuDetailSkuMapKey]
+            if(findSku.number > skuInfo.stockNumber){
+              canNotBuyNameList.push(findSku.productName)
+            }
+          }
+        }
+      })
+      // 如果有库存不足
+      if(canNotBuyNameList.length>0){
+        uni.showToast({
+          icon:'none',
+          title:canNotBuyNameList.join(",")+" 库存不足"
+        })
+        return;
+      }
+      // 制造数据
+      const buyInfo = [{
+        ifWork: item.ifWork,
+        shopId: item.shopId,
+        shopName: item.shopName,
+        shopDiscountId: item.shopDiscountId,
+        shopSeckillId: item.shopSeckillId,
+        skus: item.skus
+      }]
+      uni.setStorageSync('skuItemDTOList', buyInfo)
       uni.navigateTo({
-        url: '../goodsModule/goodsDetails?productId=' + productId + '&shopId=' + shopId + '&skuId=' +
-            skuId
+        url: '../orderModule/orderConfirm?type=1',
       })
     },
+
+    //获取商品详情
+    async queryProductDetail(item) {
+      // uni.showLoading({
+      //   title: '加载中...',
+      //   mask: true
+      // })
+      this.$showLoading("加载中...")
+      let postData = {
+        shopId: item.shopId,
+        productId: item.productId,
+        skuId: item.skuId,
+        terminal: 1
+      }
+      let productData
+      const res = await NET.request(API.QueryProductDetail, postData, "GET")
+      this.$hideLoading()
+      return res.data
+    },
+
     goInviteSpll(collageId, orderId, productId, skuId, shopGroupWorkId) {
       uni.navigateTo({
         url: '../goodsModule/inviteSpell?collageId=' + collageId + '&orderId=' + orderId + '&type=1' +
@@ -376,10 +448,11 @@ export default {
       if (this.orderState == 0) {
         this.orderState = ''
       }
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
+      this.$showLoading("加载中...")
       NET.request(API.FindOrderList, {
         state: this.orderState,
         page: this.page,
@@ -389,14 +462,16 @@ export default {
           this.loadingType = 1
           this.page = this.page
         }
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
         this.listTotal = res.data.total
         this.list = this.list.concat(res.data.list)
         if (this.list.length === 0) {
           this.ifEmpty = true
         }
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
       })
     },
     cancelOrder(orderId, index) {
@@ -406,14 +481,17 @@ export default {
     },
     doCancel() {
       this.closeTips = false
-      uni.showLoading({
-        mask: true,
-        title: '提交中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '提交中...',
+      // })
+      this.$showLoading("加载中...")
       NET.request(API.CancelOrder, {
         orderId: this.currentOrderId
       }, 'POST').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '取消成功',
         })
@@ -428,7 +506,9 @@ export default {
         }, 1500);
 
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
       })
     },
     goLogisticsTap(express, deliverFormid) {
@@ -455,7 +535,9 @@ export default {
       NET.request(API.ConfirmReceive, {
         orderId: orderId
       }, 'POST').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '确认成功',
         })
@@ -467,7 +549,9 @@ export default {
           this.getListData()
         }, 1500);
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
       })
     },
     delOrder(orderId) {
@@ -486,13 +570,16 @@ export default {
       })
     },
     doDel(orderId) {
-      uni.showLoading({
-        title: '提交中...',
-      })
+      // uni.showLoading({
+      //   title: '提交中...',
+      // })
+      this.$showLoading("加载中...")
       NET.request(API.DelOrder, {
         orderId: orderId
       }, 'POST').then(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '删除成功',
         })
@@ -505,7 +592,9 @@ export default {
         }, 1500);
 
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
       })
     },
     // 跳转订单详情
@@ -533,9 +622,10 @@ export default {
       this.totalPrice = item.orderPrice
       // #endif
       // #ifndef MP-ALIPAY
-      uni.showLoading({
-        title: '订单提交中...',
-      })
+      // uni.showLoading({
+      //   title: '订单提交中...',
+      // })
+      this.$showLoading("加载中...")
       // #endif
       let submitResult = {
         collageId: item.collageId,
@@ -546,20 +636,24 @@ export default {
       // #ifdef H5
       let ua = navigator.userAgent.toLowerCase();
       if (ua.match(/MicroMessenger/i) == "micromessenger") {
-      	this.payRequest(submitResult)
+        this.payRequest(submitResult)
       } else {
-				NET.request(API.gotoH5Pay, submitResult, 'POST').then(res => {
-					//console.dir(res)
-					location.replace(res.data.mwebUrl)
-					// window.location.replace(url)
-				}).catch(err => {
-					this.submitActive = true
-					uni.hideLoading()
-					uni.showToast({
-						title: '支付失败',
-						icon: 'none'
-					})
-				})
+        NET.request(API.gotoH5Pay, submitResult, 'POST').then(res => {
+          //console.dir(res)
+          location.replace(res.data.mwebUrl)
+          // window.location.replace(url)
+          this.$hideLoading()
+
+        }).catch(err => {
+          this.submitActive = true
+          // uni.hideLoading()
+          uni.showToast({
+            title: '支付失败',
+            icon: 'none'
+          })
+          this.$hideLoading()
+
+        })
       }
       // #endif
       // #ifdef MP-ALIPAY
@@ -597,16 +691,20 @@ export default {
             this.orderState = ''
             this.list = []
             this.getListData()
+            this.$hideLoading()
           },
-          fail: function (err) {
+          fail:  (err)=> {
             uni.showToast({
               icon: 'none',
               title: '支付失败'
             })
+            this.$hideLoading()
           }
         })
       }).catch(err => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '支付失败',
           icon: 'none'
@@ -615,15 +713,17 @@ export default {
       // #endif
       // #ifdef APP-PLUS
       NET.request(API.gotoAppPay, submitResult, 'POST').then(res => {
-		var obj = {
-		  appid: res.data.appId,
-		  noncestr: res.data.nonceStr,
-		  package: 'Sign=WXPay',
-		  prepayid: res.data.prepayId,
-		  timestamp: res.data.timeStamp,
-		  sign: res.data.paySign,
-		  partnerid: res.data.partnerId
-		}
+        console.log("支付返回---", res)
+        var obj = {
+          appid: res.data.appId,
+          noncestr: res.data.nonceStr,
+          package: 'Sign=WXPay',
+          prepayid: res.data.prepayId,
+          timestamp: res.data.timeStamp,
+          sign: res.data.paySign,
+          partnerid: res.data.partnerId
+        }
+        console.log(obj)
         uni.requestPayment({
           provider: 'wxpay',
           orderInfo: obj,
@@ -636,19 +736,24 @@ export default {
             this.page = 1
             this.orderState = ''
             this.list = []
+            this.$hideLoading()
+
             this.getListData()
 
           },
-          fail: function (err) {
+          fail:(err)=> {
             console.log(err)
             uni.showToast({
               icon: 'none',
               title: '支付取消'
             })
+            this.$hideLoading()
           }
         })
       }).catch(err => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '支付失败',
           icon: 'none'
@@ -657,9 +762,10 @@ export default {
       // #endif
     },
     continuePay() {
-      uni.showLoading({
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   title: '加载中...',
+      // })
+      this.$showLoading("加载中...")
       const payInfo = Object.assign({}, this.alipayInfo, {
         'paymentMode': this.paymentMode,
         'huabeiPeriod': this.huabeiPeriod
@@ -674,7 +780,9 @@ export default {
           provider: 'alipay',
           orderInfo: res.data.tradeNo,
           success: (payRes) => {
-            uni.hideLoading()
+            // uni.hideLoading()
+            this.$hideLoading()
+
             if (payRes.resultCode == '6001') {
               uni.showToast({
                 icon: 'none',
@@ -691,7 +799,8 @@ export default {
               })
             }
           },
-          fail: function (err) {
+          fail:  (err)=> {
+            this.$hideLoading()
             uni.showToast({
               icon: 'none',
               title: '支付取消'
@@ -699,7 +808,9 @@ export default {
           }
         });
       }).catch(err => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
         uni.showToast({
           title: '支付失败',
           icon: 'none'
@@ -762,10 +873,12 @@ export default {
             }
           });
         });
-        jweixin.error(function (res) {
+        jweixin.error( (res)=> {
           console.log('error')
           console.log(res)
-          uni.hideLoading()
+          // uni.hideLoading()
+          this.$hideLoading()
+
           uni.showToast({
             icon: 'none',
             title: '支付失败了',
@@ -773,7 +886,9 @@ export default {
           });
         });
       }).catch(err => {
-        uni.hideLoading()
+        // uni.hideLoading()
+        this.$hideLoading()
+
       })
     },
     evaluateTap(item, orderId) {
@@ -864,7 +979,7 @@ page {
 }
 
 .nav-box-box {
-  height: 88upx;
+  height: 88rpx;
   background: #f6f6f6;
   white-space: nowrap;
   position: fixed;
@@ -876,12 +991,12 @@ page {
 
 .nav-box-box .item {
   display: inline-view;
-  padding: 0 30upx;
+  padding: 0 30rpx;
   box-sizing: border-box;
-  height: 88upx;
+  height: 88rpx;
   text-align: center;
-  line-height: 88upx;
-  font-size: 30upx;
+  line-height: 88rpx;
+  font-size: 30rpx;
   color: #666;
   font-weight: 500;
 }
@@ -890,24 +1005,24 @@ page {
   display: inline-view;
   color: #ff7911;
   box-sizing: border-box;
-  height: 88upx;
+  height: 88rpx;
   border-bottom: 2px solid #ff7911;
 }
 
 .order-list-box {
-  padding: 20upx 30upx 0;
+  padding: 20rpx 30rpx 0;
   box-sizing: border-box;
 }
 
 .order-list-box .item {
-  margin-bottom: 20upx;
+  margin-bottom: 20rpx;
   background: #fff;
-  border-radius: 10upx;
+  border-radius: 10rpx;
 }
 
 .order-list-top {
-  height: 96upx;
-  padding: 0 30upx;
+  height: 96rpx;
+  padding: 0 30rpx;
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
@@ -923,21 +1038,21 @@ page {
 }
 
 .shop-img {
-  width: 36upx;
-  height: 36upx;
-  margin-right: 10upx;
+  width: 36rpx;
+  height: 36rpx;
+  margin-right: 10rpx;
 }
 
 .shop-name {
-  font-size: 30upx;
+  font-size: 30rpx;
   color: #333;
   font-weight: bold;
 }
 
 .arrow-img {
-  margin-left: 15upx;
-  width: 25upx;
-  height: 25upx;
+  margin-left: 15rpx;
+  width: 25rpx;
+  height: 25rpx;
 }
 
 .order-status {

+ 1 - 0
pages_category_page1/orderModule/logisticsInfo.vue

@@ -55,6 +55,7 @@
 			          desc: item.time,
 			        })
 			      }
+			      this.steps = this.steps.reverse()
 			    }).catch(res => {
 			    })
 			},

+ 2216 - 2229
pages_category_page1/orderModule/orderConfirm.vue

@@ -1,2239 +1,2226 @@
 <template>
-	<!-- 提交订单 -->
-	<view v-if="ifShow">
-		<view class="content">
-			<view class="address-box" @click="addAddressTap">
-				<image src="https://ceres.zkthink.com/static/images/orderAddress.png" class="address-img"></image>
-				<!-- 有地址的 -->
-				<view class="address-r" v-if="userAddressInfo.receiveName">
-					<view class="address-name-box">
-						<text>{{ userAddressInfo.receiveName }}</text>
-						<text class="phone">{{ userAddressInfo.receivePhone }}</text>
-					</view>
-					<view class="address-info">
-						<text>{{ userAddressInfo.receiveAdress }} {{ userAddressInfo.address }}</text>
-					</view>
-				</view>
-				<!-- 没有地址的 -->
-				<view class="address-r" v-else>
-					<text>你还没有收货地址哦,点击这里添加</text>
-				</view>
-				<image src="https://ceres.zkthink.com/static/images/greyArrow.png" class="arrow-right-img"></image>
-			</view>
-			<view class="order-list-box">
-				<view class="item" v-for="(item, sIndex) in settlement.shops" :key="item.shopId">
-					<view class="order-list-top">
-						<view class="top-l">
-							<image src="https://ceres.zkthink.com/static/images/orderStoreIcon.png" class="shop-img">
-							</image>
-							<text class="shop-name">{{ item.shopName }}</text>
-						</view>
-					</view>
-					<view class="order-info-box">
-						<view class="order-info">
-							<view class="order-info-item" v-for="(cItem, index) in item.skus" :key="cItem.productId">
-								<image :src="cItem.image" class="product-img"></image>
-								<view class="info-box">
-									<text class="product-name">{{ cItem.productName }}</text>
-									<view class="product-sku">
-										<view v-for="(vItem, index) in cItem.values">
-											<label class="mar-left-20">{{ vItem }}</label>
-										</view>
-									</view>
-									<view class="price-sku-box flex-display flex-sp-between">
-										<view class="product-price">
-											<text class="fuhao">¥</text>
-											{{ cItem.price }}
-										</view>
-										<view class="product-num">x {{ cItem.number }}</view>
-									</view>
-								</view>
-							</view>
-							<view v-if="item.receiveNotMatch" class="adressTips">当前地址不支持配送,可更换其他地址试试</view>
-							<view class="delivery-way-box">
-								<view>
-									<view class="item">
-										<view class="flex-items">
-											<text>配送方式</text>
-										</view>
-										<view class="flex-row-plus flex-items">
-											<text v-if="item.distribution.distributionPrice > 0">快递 ¥
-												{{ item.distribution.distributionPrice }}
-											</text>
-											<text v-else>快递 免邮</text>
-										</view>
-									</view>
-									<view class="flex-item">
-										<text class="font-color-666 fs24"
-											v-for="(hItem, hIndex) of item.skuDiscountInfoMap">{{ hItem[0] }}
-										</text>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="discount-item1" v-if="item.shopCoupons.length>0"
-							@click="showShopCoupons(item,sIndex)">
-							<view class="discount-label">店铺优惠</view>
-							<view class="discount-info-box flex-items">
-								<view class="discount-info2"
-									v-if="item.currentCoupon && item.currentCoupon.couponType === 1">
-									-¥{{ item.currentCoupon.reduceMoney }}
-								</view>
-								<view class="discount-info2"
-									v-if="item.currentCoupon && item.currentCoupon.couponType === 2">
-									{{ item.currentCoupon.reduceMoney }}折券
-								</view>
-								<image class="discount-img"
-									src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>
-							</view>
-							<!--							<view class="discount-info-box flex-items" v-else>-->
-							<!--								<view class="discount-info1"></view>-->
-							<!--								<image class="discount-img" src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>-->
-							<!--							</view>-->
-						</view>
-						<view class="order-total-box">
-							<text class="total-num">共{{ item.number }}件</text>
-							<text class="total-num ml10">总计</text>
-							<text class="total-price ml10" v-if="item.totalAfterDiscount > 0">
-								¥{{ (parseFloat(item.totalAfterDiscount) + parseFloat(item.distribution.distributionPrice || 0)).toFixed(2) }}
-							</text>
-							<text class="total-price ml10" v-else>¥0.00
-							</text>
-						</view>
-					</view>
-				</view>
-
-			</view>
-			<view class="discount-item" @click="showDiscount">
-				<view class="discount-label">平台优惠</view>
-				<view class="discount-info-box flex-items">
-					<view class="discount-info2" v-if="promotionInfoDTO.couponId">
-						<text v-if="promotionInfoDTO.couponType === 2">{{ promotionInfoDTO.reduceMoney }}折</text>
-						<text v-else> -¥{{ promotionInfoDTO.reduceMoney | clip2Decimal }}</text>
-					</view>
-					<view class="discount-info1" v-else-if="couponsList.length<1">无
-					</view>
-					<view class="discount-info1" v-else>不使用
-					</view>
-					<image class="discount-img" src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>
-				</view>
-			</view>
-			<!--      积分支付-->
-			<view class="integralPayBox" v-if="integralShow">
-				<view class="integralBg">
-					<view class="integralTit fs26">可用{{ integralNum }}积分抵扣{{ integralPrice.toFixed(2) }}元</view>
-					<view class="maxIntegral">
-						<checkbox-group @change="changeIntegral" style="width: 50rpx">
-							<checkbox style="transform:scale(0.7);" class="integralCheckbox" color="#C5AA7B" value="1"
-								:checked="selectIntegral" />
-						</checkbox-group>
-					</view>
-				</view>
-			</view>
-			<view class="pay-type-item">
-				<radio-group @change="payTypeChange">
-					<view class="pay-type-radio" v-if="showWechatPayType">
-						<view class="pay-type-img">
-							<image class="pay-type-img-inner"
-								src="https://ceres.zkthink.com/static/images/wechat_pay.png" mode="widthFix" />
-						</view>
-						<label class="pay-type-label">微信支付</label>
-						<radio class="pay-type-radio-item" style="transform:scale(0.7)" value="1"
-							:checked="paymentMode == 1" />
-					</view>
-					<view class="pay-type-radio" v-if="showAlipayPayType">
-						<view class="pay-type-img">
-							<image class="pay-type-img-inner" src="https://ceres.zkthink.com/static/images/alipay.png"
-								mode="widthFix" />
-						</view>
-						<label class="pay-type-label">支付宝支付</label>
-						<radio class="pay-type-radio-item" style="transform:scale(0.7)" value="2"
-							:checked="paymentMode == 2" />
-					</view>
-					<view class="pay-type-radio" v-if="showHuabeiPayType">
-						<view class="pay-type-img">
-							<image class="pay-type-img-inner" src="https://ceres.zkthink.com/static/images/huabei.png"
-								mode="widthFix" />
-						</view>
-						<label class="pay-type-label">花呗分期</label>
-						<radio class="pay-type-radio-item" style="transform:scale(0.7)" value="3"
-							:checked="paymentMode == 3" />
-						<view class="huabei-detail" v-if="huabeiDetail" @click="showHuabeiDetail">
-							<view>
-								<label class="fenqi-wenzi">花呗分期</label>
-								<label class="fenqi-charge-fee">手续费 ¥{{ chargeFee|clip2Decimal }}</label>
-							</view>
-							<label class="fenqi-amount">分期总额 ¥{{ totalPrice | clip2Decimal }}</label>
-							<img class="fenqi-modal" src="https://ceres.zkthink.com/static/images/arrowRight.png" />
-						</view>
-					</view>
-				</radio-group>
-			</view>
-			<view class="order-flow-box">
-				<view class="flow-word">交易流程:</view>
-				<view class="flow-word mt25">
-					<text>1、填写收货信息并完成支付</text>
-					<text>2、双方根据物品的交易方式进行交易</text>
-					<text>3、拿到物品,交易结束</text>
-				</view>
-				<!--        实付款不含邮费,涉及邮寄双方协定好费用,提醒发起人修改价格再完成支付;-->
-				<view class="flow-word mt50">注:应国家邮政总局的要求,即日起涉及到个人快递包裹必须收件人实名制,否则将影响到收寄配送。请避免使用「先生,男士,小姐,女士,昵称」等模糊称谓。
-				</view>
-			</view>
-		</view>
-		<view class="order-confirm-box" style="padding-bottom:30upx;">
-			<view class="flex-items flex-sp-between">
-				<text class="num-box">共{{ totalCount }}件</text>
-				<view>
-					<text class="total">合计:</text>
-					<text v-if="totalPrice>0" class="price">¥{{ totalPrice.toFixed(2) }}
-					</text>
-					<text v-else class="price">¥0.00
-					</text>
-				</view>
-			</view>
-			<!-- active 当有地址时按钮加上active选中的样式-->
-			<button v-if="isRegionalScope" class="btn unActive" type="default" :disabled="false">提交订单</button>
-			<button v-else :class="[submitActive ? 'btn active' : 'btn']" @click="submitOrder">提交订单
-			</button>
-			<!-- <text class="btn" v-else>提交订单</text> -->
-
-		</view>
-		<!-- 活动弹框 -->
-		<u-popup class="activity-con" v-model="isShowDiscount" mode="bottom" border-radius="14"
-			close-icon-pos="top-right" close-icon-size="20">
-			<view class="activity-box" style="height: 1000rpx;">
-				<view class="title-box">
-					<image class="close-btn" @click="onDiscountClose"
-						src="https://ceres.zkthink.com/static/images/close.png"></image>
-				</view>
-				<view class="activity-coupon-box">
-					<scroll-view scroll-y="true" style="height: 900rpx;">
-						<view class="content-box">
-							<view v-if="usableListLength">
-								<view class="label-lingqu">可用优惠券列表</view>
-								<view class="couponBox">
-									<view class="coupon-item" v-for="(usableItem, index) in settlement.coupons"
-										:key="index" @click="couponItemTap(index, usableItem)">
-										<view class="money-box" v-if="usableItem.couponType === 1">
-											¥{{ usableItem.reduceMoney }}
-										</view>
-										<view class="money-box" v-else>{{ usableItem.reduceMoney }}折券
-										</view>
-										<view class="info-box">
-											<view class="date font-color-999"
-												style="font-size:22upx;  margin-top: 20upx;">
-												{{ getDate(usableItem.startTime.replace(/-/g, '.'))
-                        }}-{{ getDate(usableItem.endTime.replace(/-/g, '.')) }}
-											</view>
-											<view class="info font-color-999">满{{ usableItem.fullMoney }}元可用</view>
-										</view>
-										<image class="check-img"
-											src="https://ceres.zkthink.com/static/images/selectActive.png"
-											v-if="usableItem.checked"></image>
-										<image class="check-img"
-											src="https://ceres.zkthink.com/static/images/selectEmpty.png" v-else>
-										</image>
-									</view>
-								</view>
-							</view>
-						</view>
-					</scroll-view>
-				</view>
-			</view>
-		</u-popup>
-		<u-popup class="activity-con" v-model="isShopCoupons" mode="bottom" border-radius="14"
-			close-icon-pos="top-right" close-icon-size="20">
-			<view class="activity-box">
-				<view class="title-box">
-					<image class="close-btn" @click="onshopClose"
-						src="https://ceres.zkthink.com/static/images/close.png"></image>
-				</view>
-				<view class="activity-coupon-box">
-					<scroll-view scroll-y="true" style="height: 900rpx;">
-						<view class="content-box">
-							<view v-if="shopCouponsLength">
-								<view class="label-lingqu">可用优惠券列表</view>
-								<view class="couponBox">
-									<view class="coupon-item" v-for="(sItem, index) in shopCouponslist.shopCoupons"
-										:key="sItem.id" @click="shopCouponItemTap(index,sItem)">
-										<view class="money-box" v-if="sItem.couponType === 1">¥{{ sItem.reduceMoney }}
-										</view>
-										<view class="money-box" v-else>{{ sItem.reduceMoney }}折券
-										</view>
-										<view class="date font-color-999" style="font-size:22upx;  margin-top: 10upx;">
-											{{ getDate(sItem.startTime.replace(/-/g, '.')) }}-{{ getDate(sItem.endTime.replace(/-/g, '.')) }}
-										</view>
-										<view class="info-box">
-											<view class="info font-color-999">满{{ sItem.fullMoney }}元可用</view>
-										</view>
-										<image class="check-img"
-											src="https://ceres.zkthink.com/static/images/selectActive.png"
-											v-if="sItem.checked"></image>
-										<image class="check-img"
-											src="https://ceres.zkthink.com/static/images/selectEmpty.png" v-else>
-										</image>
-									</view>
-								</view>
-							</view>
-						</view>
-					</scroll-view>
-				</view>
-			</view>
-		</u-popup>
-		<u-popup class="huabei-popup" v-model="showHuabeiPopup" mode="bottom" border-radius="14"
-			close-icon-pos="top-right" close-icon-size="20">
-			<view class="huabei-box">
-				<radio-group @change="huabeiPeriodChange" v-model="huabeiPeriod">
-					<view class="period-radio">
-						<view class="period-amount">
-							<label class="period-each">¥ {{ fenqiFeeList[0]|clip2Decimal }}x3期</label>
-							<label class="period-each-charge">手续费¥{{ chargeFeeList[0]|clip2Decimal }}/期</label>
-						</view>
-						<radio class="period-type-radio-item" style="transform:scale(0.7)" :checked="huabeiPeriod == 3"
-							value="3" />
-					</view>
-					<view class="period-radio">
-						<view class="period-amount">
-							<label class="period-each">¥ {{ fenqiFeeList[1]|clip2Decimal }}x6期</label>
-							<label class="period-each-charge">手续费¥{{ chargeFeeList[1]|clip2Decimal }}/期</label>
-						</view>
-						<radio class="period-type-radio-item" style="transform:scale(0.7)" :checked="huabeiPeriod == 6"
-							value="6" />
-					</view>
-					<view class="period-radio">
-						<view class="period-amount">
-							<label class="period-each">¥ {{ fenqiFeeList[2]|clip2Decimal }}x12期</label>
-							<label class="period-each-charge">手续费¥{{ chargeFeeList[2]|clip2Decimal }}/期</label>
-						</view>
-						<radio class="period-type-radio-item" style="transform:scale(0.7)" :checked="huabeiPeriod == 12"
-							value="12" />
-					</view>
-				</radio-group>
-			</view>
-			<view class="huabei-confirm">
-				<view class="fenqi-total-amount">
-					<label class="fenqi-all">分期总额 ¥{{ (totalPrice - reduceMoney)|clip2Decimal }}</label>
-					<label class="charge-fee-all">手续费 ¥{{ chargeFee|clip2Decimal }}</label>
-				</view>
-				<view class="fenqi-confirm">
-					<text class="btn active" @click="showHuabeiPopup=false">确认
-					</text>
-				</view>
-			</view>
-		</u-popup>
-	</view>
+  <view>
+    <!-- 提交订单 -->
+    <global-loading/>
+
+    <view v-if="ifShow">
+      <view class="content">
+        <view class="address-box"
+              @click="addAddressTap">
+          <image src="https://ceres.zkthink.com/static/images/orderAddress.png"
+                 class="address-img"></image>
+          <!-- 有地址的 -->
+          <view class="address-r"
+                v-if="userAddressInfo.receiveName">
+            <view class="address-name-box">
+              <text>{{ userAddressInfo.receiveName }}</text>
+              <text class="phone">{{ userAddressInfo.receivePhone }}</text>
+            </view>
+            <view class="address-info">
+              <text>{{ userAddressInfo.receiveAdress }} {{ userAddressInfo.address }}</text>
+            </view>
+          </view>
+          <!-- 没有地址的 -->
+          <view class="address-r"
+                v-else>
+            <text>你还没有收货地址哦,点击这里添加</text>
+          </view>
+          <image src="https://ceres.zkthink.com/static/images/greyArrow.png"
+                 class="arrow-right-img"></image>
+        </view>
+        <view class="order-list-box">
+          <view class="item"
+                v-for="(item, sIndex) in settlement.shops"
+                :key="item.shopId">
+            <view class="order-list-top">
+              <view class="top-l">
+                <image src="https://ceres.zkthink.com/static/images/orderStoreIcon.png"
+                       class="shop-img"></image>
+                <text class="shop-name">{{ item.shopName }}</text>
+              </view>
+            </view>
+            <view class="order-info-box">
+              <view class="order-info">
+                <view class="order-info-item"
+                      v-for="(cItem, index) in item.skus"
+                      :key="cItem.productId">
+                  <image :src="cItem.image"
+                         class="product-img"></image>
+                  <view class="info-box">
+                    <text class="product-name">{{ cItem.productName }}</text>
+                    <view class="product-sku">
+                      <view v-for="(vItem, index) in cItem.values">
+                        <label class="mar-left-20">{{ vItem }}</label>
+                      </view>
+                    </view>
+                    <view class="price-sku-box flex-display flex-sp-between">
+                      <view class="product-price">
+                        <text class="fuhao">¥</text>
+                        {{ cItem.price }}
+                      </view>
+                      <view class="product-num">x {{ cItem.number }}</view>
+                    </view>
+                  </view>
+                </view>
+                <view v-if="item.receiveNotMatch" class="adressTips">当前地址不支持配送,可更换其他地址试试</view>
+                <view class="delivery-way-box">
+                  <view>
+                    <view class="item">
+                      <view class="flex-items">
+                        <text>配送方式</text>
+                      </view>
+                      <view class="flex-row-plus flex-items">
+                        <text v-if="item.distribution.distributionPrice > 0">快递 ¥
+                          {{ item.distribution.distributionPrice }}
+                        </text>
+                        <text v-else>快递 免邮</text>
+                      </view>
+                    </view>
+                    <view class="flex-item">
+                      <text class="font-color-666 fs24"
+                            v-for="(hItem, hIndex) of item.skuDiscountInfoMap">{{ hItem[0] }}
+                      </text>
+                    </view>
+                  </view>
+                </view>
+              </view>
+              <view class="discount-item1"
+                    v-if="item.shopCoupons.length>0"
+                    @click="showShopCoupons(item,sIndex)">
+                <view class="discount-label">店铺优惠</view>
+                <view class="discount-info-box flex-items">
+                  <view class="discount-info2"
+                        v-if="item.currentCoupon && item.currentCoupon.couponType === 1">
+                    -¥{{ item.currentCoupon.reduceMoney }}
+                  </view>
+                  <view class="discount-info2"
+                        v-if="item.currentCoupon && item.currentCoupon.couponType === 2">
+                    {{ item.currentCoupon.reduceMoney }}折券
+                  </view>
+                  <image class="discount-img"
+                         src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>
+                </view>
+                <!--							<view class="discount-info-box flex-items" v-else>-->
+                <!--								<view class="discount-info1"></view>-->
+                <!--								<image class="discount-img" src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>-->
+                <!--							</view>-->
+              </view>
+              <view class="order-total-box">
+                <text class="total-num">共{{ item.number }}件</text>
+                <text class="total-num ml10">总计</text>
+                <text class="total-price ml10"
+                      v-if="item.totalNum > 0">
+                  ¥{{ (parseFloat(item.totalNum) + parseFloat(item.distribution.distributionPrice || 0)).toFixed(2) }}
+                </text>
+                <text class="total-price ml10"
+                      v-else>¥0.00
+                </text>
+              </view>
+            </view>
+          </view>
+
+        </view>
+        <view class="discount-item"
+              @click="showDiscount">
+          <view class="discount-label">平台优惠</view>
+          <view class="discount-info-box flex-items">
+            <view class="discount-info2"
+                  v-if="promotionInfoDTO.couponId">
+              <text v-if="promotionInfoDTO.couponType === 2">{{ promotionInfoDTO.reduceMoney }}折</text>
+              <text v-else> -¥{{ promotionInfoDTO.reduceMoney | clip2Decimal }}</text>
+            </view>
+            <view class="discount-info1"
+                  v-else-if="couponsList.length<1">无
+            </view>
+            <view class="discount-info1"
+                  v-else>不使用
+            </view>
+            <image class="discount-img"
+                   src="https://ceres.zkthink.com/static/images/arrowRight.png"></image>
+          </view>
+        </view>
+        <!--      积分支付-->
+        <view class="integralPayBox"
+              v-if="integralShow">
+          <view class="integralBg">
+            <view class="integralTit fs26">可用{{ integralNum }}积分抵扣{{ integralPrice.toFixed(2) }}元</view>
+            <view class="maxIntegral">
+              <checkbox-group @change="changeIntegral"
+                              style="width: 50rpx">
+                <checkbox style="transform:scale(0.7);"
+                          class="integralCheckbox"
+                          color="#C5AA7B"
+                          value="1"
+                          :checked="selectIntegral"/>
+              </checkbox-group>
+            </view>
+          </view>
+        </view>
+        <view class="pay-type-item">
+          <radio-group @change="payTypeChange">
+            <view class="pay-type-radio"
+                  v-if="showWechatPayType">
+              <view class="pay-type-img">
+                <image class="pay-type-img-inner"
+                       src="https://ceres.zkthink.com/static/images/wechat_pay.png"
+                       mode="widthFix"/>
+              </view>
+              <label class="pay-type-label">微信支付</label>
+              <radio class="pay-type-radio-item"
+                     style="transform:scale(0.7)"
+                     value="1"
+                     :checked="paymentMode == 1"/>
+            </view>
+            <view class="pay-type-radio"
+                  v-if="showAlipayPayType">
+              <view class="pay-type-img">
+                <image class="pay-type-img-inner"
+                       src="https://ceres.zkthink.com/static/images/alipay.png"
+                       mode="widthFix"/>
+              </view>
+              <label class="pay-type-label">支付宝支付</label>
+              <radio class="pay-type-radio-item"
+                     style="transform:scale(0.7)"
+                     value="2"
+                     :checked="paymentMode == 2"/>
+            </view>
+            <view class="pay-type-radio"
+                  v-if="showHuabeiPayType">
+              <view class="pay-type-img">
+                <image class="pay-type-img-inner"
+                       src="https://ceres.zkthink.com/static/images/huabei.png"
+                       mode="widthFix"/>
+              </view>
+              <label class="pay-type-label">花呗分期</label>
+              <radio class="pay-type-radio-item"
+                     style="transform:scale(0.7)"
+                     value="3"
+                     :checked="paymentMode == 3"/>
+              <view class="huabei-detail"
+                    v-if="huabeiDetail"
+                    @click="showHuabeiDetail">
+                <view>
+                  <label class="fenqi-wenzi">花呗分期</label>
+                  <label class="fenqi-charge-fee">手续费 ¥{{ chargeFee|clip2Decimal }}</label>
+                </view>
+                <label class="fenqi-amount">分期总额 ¥{{ totalPrice | clip2Decimal }}</label>
+                <img class="fenqi-modal"
+                     src="https://ceres.zkthink.com/static/images/arrowRight.png"/>
+              </view>
+            </view>
+          </radio-group>
+        </view>
+        <view class="order-flow-box">
+          <view class="flow-word">交易流程:</view>
+          <view class="flow-word mt25">
+            <text>1、填写收货信息并完成支付</text>
+            <text>2、双方根据物品的交易方式进行交易</text>
+            <text>3、拿到物品,交易结束</text>
+          </view>
+          <!--        实付款不含邮费,涉及邮寄双方协定好费用,提醒发起人修改价格再完成支付;-->
+          <view class="flow-word mt50">
+            注:应国家邮政总局的要求,即日起涉及到个人快递包裹必须收件人实名制,否则将影响到收寄配送。请避免使用「先生,男士,小姐,女士,昵称」等模糊称谓。
+          </view>
+        </view>
+      </view>
+      <view class="order-confirm-box"
+            style="padding-bottom:30upx;">
+        <view class="flex-items flex-sp-between">
+          <text class="num-box">共{{ totalCount }}件</text>
+          <view>
+            <text class="total">合计:</text>
+            <text v-if="totalPrice>0"
+                  class="price">¥{{ totalPrice.toFixed(2) }}
+            </text>
+            <text v-else
+                  class="price">¥0.00
+            </text>
+          </view>
+        </view>
+        <!-- active 当有地址时按钮加上active选中的样式-->
+        <button v-if="isRegionalScope" class="btn unActive" type="default" :disabled="false">提交订单</button>
+        <button v-else :class="[submitActive ? 'btn active' : 'btn']"
+                @click="submitOrder">提交订单
+        </button>
+        <!-- <text class="btn" v-else>提交订单</text> -->
+
+      </view>
+      <!-- 活动弹框 -->
+      <u-popup class="activity-con"
+               v-model="isShowDiscount"
+               mode="bottom"
+               border-radius="14"
+               close-icon-pos="top-right"
+               close-icon-size="20">
+        <view class="activity-box"
+              style="height: 1000rpx;">
+          <view class="title-box">
+            <image class="close-btn"
+                   @click="onDiscountClose"
+                   src="https://ceres.zkthink.com/static/images/close.png"></image>
+          </view>
+          <view class="activity-coupon-box">
+            <scroll-view scroll-y="true"
+                         style="height: 900rpx;">
+              <view class="content-box">
+                <view v-if="usableListLength">
+                  <view class="label-lingqu">可用优惠券列表</view>
+                  <view class="couponBox">
+                    <view class="coupon-item"
+                          v-for="(usableItem, index) in settlement.coupons"
+                          :key="index"
+                          @click="couponItemTap(index,usableItem)"
+                    >
+                      <view class="money-box"
+                            v-if="usableItem.couponType === 1">¥{{ usableItem.reduceMoney }}
+                      </view>
+                      <view class="money-box"
+                            v-else>{{ usableItem.reduceMoney }}折券
+                      </view>
+                      <view class="info-box">
+                        <view class="date font-color-999"
+                              style="font-size:22upx;  margin-top: 20upx;">
+                          {{
+                            getDate(usableItem.startTime.replace(/-/g, '.'))
+                          }}-{{ getDate(usableItem.endTime.replace(/-/g, '.')) }}
+                        </view>
+                        <view class="info font-color-999">满{{ usableItem.fullMoney }}元可用</view>
+                      </view>
+                      <image class="check-img"
+                             src="https://ceres.zkthink.com/static/images/selectActive.png"
+                             v-if="usableItem.checked"></image>
+                      <image class="check-img"
+                             src="https://ceres.zkthink.com/static/images/selectEmpty.png"
+                             v-else></image>
+                    </view>
+                  </view>
+                </view>
+              </view>
+            </scroll-view>
+          </view>
+        </view>
+      </u-popup>
+      <u-popup class="activity-con"
+               v-model="isShopCoupons"
+               mode="bottom"
+               border-radius="14"
+               close-icon-pos="top-right"
+               close-icon-size="20">
+        <view class="activity-box">
+          <view class="title-box">
+            <image class="close-btn"
+                   @click="onshopClose"
+                   src="https://ceres.zkthink.com/static/images/close.png"></image>
+          </view>
+          <view class="activity-coupon-box">
+            <scroll-view scroll-y="true"
+                         style="height: 900rpx;">
+              <view class="content-box">
+                <view v-if="shopCouponsLength">
+                  <view class="label-lingqu">可用优惠券列表</view>
+                  <view class="couponBox">
+                    <view class="coupon-item"
+                          v-for="(sItem, index) in shopCouponslist.shopCoupons"
+                          :key="sItem.id"
+                          @click="shopCouponItemTap(index,sItem)">
+                      <view class="money-box"
+                            v-if="sItem.couponType === 1">¥{{ sItem.reduceMoney }}
+                      </view>
+                      <view class="money-box"
+                            v-else>{{ sItem.reduceMoney }}折券
+                      </view>
+                      <view class="date font-color-999"
+                            style="font-size:22upx;  margin-top: 10upx;">
+                        {{ getDate(sItem.startTime.replace(/-/g, '.')) }}-{{
+                          getDate(sItem.endTime.replace(/-/g, '.'))
+                        }}
+                      </view>
+                      <view class="info-box">
+                        <view class="info font-color-999">满{{ sItem.fullMoney }}元可用</view>
+                      </view>
+                      <image class="check-img"
+                             src="https://ceres.zkthink.com/static/images/selectActive.png"
+                             v-if="sItem.checked"></image>
+                      <image class="check-img"
+                             src="https://ceres.zkthink.com/static/images/selectEmpty.png"
+                             v-else></image>
+                    </view>
+                  </view>
+                </view>
+              </view>
+            </scroll-view>
+          </view>
+        </view>
+      </u-popup>
+      <u-popup class="huabei-popup"
+               v-model="showHuabeiPopup"
+               mode="bottom"
+               border-radius="14"
+               close-icon-pos="top-right"
+               close-icon-size="20">
+        <view class="huabei-box">
+          <radio-group @change="huabeiPeriodChange"
+                       v-model="huabeiPeriod">
+            <view class="period-radio">
+              <view class="period-amount">
+                <label class="period-each">¥ {{ fenqiFeeList[0]|clip2Decimal }}x3期</label>
+                <label class="period-each-charge">手续费¥{{ chargeFeeList[0]|clip2Decimal }}/期</label>
+              </view>
+              <radio class="period-type-radio-item"
+                     style="transform:scale(0.7)"
+                     :checked="huabeiPeriod == 3"
+                     value="3"/>
+            </view>
+            <view class="period-radio">
+              <view class="period-amount">
+                <label class="period-each">¥ {{ fenqiFeeList[1]|clip2Decimal }}x6期</label>
+                <label class="period-each-charge">手续费¥{{ chargeFeeList[1]|clip2Decimal }}/期</label>
+              </view>
+              <radio class="period-type-radio-item"
+                     style="transform:scale(0.7)"
+                     :checked="huabeiPeriod == 6"
+                     value="6"/>
+            </view>
+            <view class="period-radio">
+              <view class="period-amount">
+                <label class="period-each">¥ {{ fenqiFeeList[2]|clip2Decimal }}x12期</label>
+                <label class="period-each-charge">手续费¥{{ chargeFeeList[2]|clip2Decimal }}/期</label>
+              </view>
+              <radio class="period-type-radio-item"
+                     style="transform:scale(0.7)"
+                     :checked="huabeiPeriod == 12"
+                     value="12"/>
+            </view>
+          </radio-group>
+        </view>
+        <view class="huabei-confirm">
+          <view class="fenqi-total-amount">
+            <label class="fenqi-all">分期总额 ¥{{ (totalPrice - reduceMoney)|clip2Decimal }}</label>
+            <label class="charge-fee-all">手续费 ¥{{ chargeFee|clip2Decimal }}</label>
+          </view>
+          <view class="fenqi-confirm">
+            <text class="btn active"
+                  @click="showHuabeiPopup=false">确认
+            </text>
+          </view>
+        </view>
+      </u-popup>
+    </view>
+  </view>
 </template>
 
 <script>
-	import {
-		hidden
-	} from "../../utils/hidden";
-
-	const NET = require('../../utils/request')
-	const API = require('../../config/api')
-	// #ifdef H5
-	var jweixin = require('jweixin-module')
-	// #endif
-	export default {
-		data() {
-			return {
-				couponActiveShowFalg: false,
-				settlement: {},
-				type: 0,
-				skuItemDTOList: [],
-				userAddressInfo: {},
-				isShowDiscount: false,
-				isShopCoupons: false,
-				usableListLength: 0,
-				shopCouponsLength: 0,
-				shopCouponslist: [],
-				promotionInfoDTO: {
-					couponId: 0,
-					ifAdd: 1,
-					reduceMoney: 0
-				},
-				shopInfoDTO: {},
-				reduceMoney: 0,
-				submitActive: true,
-				distributionPrice: 0, //运费
-				totalPrice: 0, //合计
-				receiveId: '',
-				totalCount: 0,
-				skuItemList: {},
-				shopGroupWorkId: 0,
-				sumitType: '',
-				collageId: null,
-				couponIfAdd: true,
-				couponsList: [],
-				shopIndex: 0,
-				shopCheckedType: true,
-				discountPrice: 0,
-				selectShopCoupon: [], // 已选择店铺优惠券
-				chargeFee: 0, //花呗分期手续费,如果是商户支付手续费,则为0,否则默认计算3期手续费
-				huabeiDetail: true,
-				showHuabeiPopup: false,
-				huabeiChargeType: 0,
-				huabeiFeerateList: [],
-				paymentMode: 0, //支付方式 1-微信支付 2-支付宝支付 3-花呗分期
-				huabeiPeriod: 3, //选择的花呗分期数 有 3 6 12 3种选项,默认是3
-				chargeFeeList: [], //花呗每期的手续费
-				fenqiFeeList: [], //花呗每期的支付额
-				showWechatPayType: false,
-				showAlipayPayType: false,
-				showHuabeiPayType: false,
-				orderId: null,
-				couponType: 0,
-				selectIntegral: true,
-				integralNum: 0,
-				ifShow: false,
-				integralRatio: 0, // 积分兑换比例
-				integralPrice: 0, // 总积分可减多少元
-				orderCreditThreshold: 0, // 满多少元可以抵扣
-				integralShow: false, // 显示隐藏积分
-				checkedPlatformCoupon: undefined,
-				oneClickSubmit: true, //只提交订单一次
-				isRegionalScope: false, //是否在商家配置范围内地址
-			}
-		},
-		onLoad(options) {
-			this.getQuery()
-			this.type = options.type
-			if (options.receiveId) {
-				this.receiveId = options.receiveId
-			}
-			this.decidePayType()
-		},
-		onShow() {
-			if (uni.getStorageSync("receiveItem")) {
-				this.receiveId = uni.getStorageSync("receiveItem").receiveId
-			}
-			if (uni.getStorageSync("skuItemDTOList") != "") {
-				this.skuItemDTOList = uni.getStorageSync('skuItemDTOList')
-				if (this.skuItemDTOList[0].shopDiscountId > 0) {
-					this.sumitType = 4
-				} else if (this.skuItemDTOList[0].shopSeckillId > 0) {
-					this.sumitType = 3
-				}
-				this.getSettlement(false)
-			} else if (uni.getStorageSync("skuItemList") != "") {
-				this.skuItemList = uni.getStorageSync("skuItemList")
-				//console.log(this.skuItemList, 999)
-				this.shopGroupWorkId = this.skuItemList.shopGroupWorkId
-				this.sumitType = this.skuItemList.type
-				this.collageId = this.skuItemList.collageId
-				this.getSettlement(true)
-			}
-		},
-		onBackPress(e) {
-			if (e.from === 'navigateBack') {
-				return false;
-			}
-			this.back();
-			return true
-		},
-		filters: {
-			clip2Decimal(value) {
-				if (value === undefined || value === null) {
-					return "0.00"
-				}
-				return (parseInt(value * 100) / 100).toFixed(2)
-			}
-		},
-		methods: {
-			getQuery() {
-				NET.request(API.Query, {
-					name: 'credit_exchange_rate'
-				}, 'GET').then(res => {
-					this.integralRatio = parseFloat(res.data.dictDescribe)
-				}).catch(res => {
-					console.log('平台端未配置积分兑换比例(1积分抵扣多少金额)')
-				})
-			},
-			// 积分价格计算
-			changeIntegral() {
-				this.selectIntegral = !this.selectIntegral
-				if (this.selectIntegral) {
-					this.totalPrice = this.totalPrice - this.integralPrice
-				} else {
-					this.totalPrice = this.totalPrice + this.integralPrice
-				}
-			},
-			back() {
-				if (this.type == 2 || this.type) {
-					uni.switchTab({
-						url: '../../pages/tabbar/cart/index'
-					})
-				} else {
-					uni.navigateBack({
-						delta: 1
-					});
-				}
-			},
-			// 获取订单信息
-			getSettlement(isGroup) {
-				uni.showLoading({
-					title: '加载中...',
-				})
-				this.ifShow = true
-				let _url = '',
-					_data = ''
-				// 是否是拼团
-				if (isGroup) {
-					_url = API.getGroupSettlement
-					_data = this.skuItemList
-				} else {
-					_url = API.Settlement
-					_data = {
-						type: this.type,
-						shops: this.skuItemDTOList,
-						receiveId: this.receiveId
-					}
-					// composeId: 68
-				}
-				NET.request(_url, _data, 'POST').then(res => {
-					uni.hideLoading()
-					this.settlement = res.data
-					this.couponsList = res.data.coupons
-					this.huabeiChargeType = res.data.huabeiChargeType
-					if (this.huabeiChargeType === 2) {
-						this.huabeiFeerateList = res.data.huabeiFeerateList
-					} else {
-						this.huabeiFeerateList = [0, 0, 0]
-					}
-					let shopLen = this.settlement.shops.length
-					this.settlement.shops.forEach((value) => {
-						value['totalAfterDiscount'] = value.total
-						value['pricing'] = 0
-					})
-					// 如果没有地址时进入购买宝贝页面对下面的商品件数和总计进行赋值
-					if (!this.settlement.receive.receiveAdress) {
-						this.settlement.shops.map(item => {
-							this.totalCount += item.number
-							this.totalPrice += item.total || item.totalAfterDiscount
-						})
-					}
-					// 初始化平台券选中状态
-					if (this.settlement.coupons.length > 0) {
-						this.settlement.coupons.forEach((item) => {
-							item.checked = false
-						})
-					}
-					// 默认选中商家的第一张优惠券
-					for (let s = 0; s < shopLen; s++) {
-						const curShop = this.settlement.shops[s]
-						curShop.skus.forEach((item) => {
-							item['skuTotalNum'] = item.total
-						})
-						if (curShop.shopCoupons.length > 0) {
-							curShop.shopCoupons.forEach((item) => {
-								item.checked = false
-							})
-							const firstShopCoupon = curShop.shopCoupons[0];
-							let useCoupon = this.useShopCoupon(s, 0)
-							if (useCoupon) {
-								firstShopCoupon.checked = true
-								this.selectShopCoupon.push(firstShopCoupon)
-								curShop['currentCoupon'] = firstShopCoupon
-							} else {
-								curShop.totalAfterDiscount = curShop.total
-							}
-						}
-					}
-					if (uni.getStorageSync('receiveItem')) {
-						let receiveItem = uni.getStorageSync('receiveItem')
-						this.userAddressInfo = receiveItem
-						this.receiveId = receiveItem.receiveId
-						this.userAddressInfo.receivePhone = hidden(this.userAddressInfo.receivePhone, 3, 4)
-					} else if (res.data.receive) {
-						this.receiveId = res.data.receive.receiveId
-						this.userAddressInfo = res.data.receive
-						this.userAddressInfo.receivePhone = hidden(this.userAddressInfo.receivePhone, 3, 4)
-					}
-					uni.removeStorageSync('receiveItem')
-					this.usableListLength = res.data.coupons.length
-					this.getTotal()
-					this.isReceiveCan()
-
-				}).catch(res => {
-					uni.hideLoading()
-				})
-			},
-			// 根据地址判断是否能下单
-			isReceiveCan() {
-				this.settlement.shops.map(item => {
-					if (item.receiveNotMatch) {
-						this.isRegionalScope = item.receiveNotMatch
-					}
-					if (this.isRegionalScope) {
-						uni.showToast({
-							title: '当前地址不支持配送,请参与红色字提示',
-							icon: 'none'
-						})
-					}
-				})
-			},
-
-			addAddressTap() {
-				uni.navigateTo({
-					url: '../../pages_category_page2/userModule/address?type=' + this.type,
-				})
-			},
-			getDate(time) {
-				if (!time) return '';
-				return time.split(' ')[0]
-			},
-			// 平台优惠券选择
-			couponItemTap(index, coupon) {
-				if (!coupon.checked && this.selectShopCoupon.length) { // 判断商家券情况
-					uni.showToast({
-						title: '不可与商家券叠加使用!',
-						icon: 'none'
-					})
-					return false
-				}
-				// 已选中的情况下取消选中
-				if (coupon.checked) {
-					let promotionInfoDTO = {}
-					if (coupon.couponId) {
-						promotionInfoDTO['couponId'] = 0
-						promotionInfoDTO['ifAdd'] = 1
-						promotionInfoDTO['reduceMoney'] = 0
-					}
-					this.promotionInfoDTO = promotionInfoDTO
-					coupon.checked = false
-					this.isShowDiscount = false
-					this.checkedPlatformCoupon = undefined
-					this.settlement.shops.forEach(shopItem => {
-						if (shopItem.skus) {
-							shopItem.skus.forEach(skuItem => {
-								skuItem.buyerCouponId = null
-							})
-						}
-					})
-					this.getTotal()
-				} else {
-					// 先把所有已选中的平台优惠券改为未选中
-					this.settlement.coupons.forEach((item) => {
-						item.checked = false
-					})
-					let totalPrice = 0 // 订单总价
-					let shopsLen = this.settlement.shops.length // 结算页店铺数量
-					let matchCouponSkuList = []
-					for (let i = 0; i < shopsLen; i++) {
-						let matchCouponNormalPrice = 0
-						let priceCount = 0
-						const curShop = this.settlement.shops[i]
-						let skuLen = curShop.skus.length
-						let tmpPriceSkuList = []
-						for (let j = 0; j < skuLen; j++) {
-							const curSku = curShop.skus[j]
-							if (curSku.priceId > 0) {
-								priceCount++
-							}
-							const ids = coupon.ids
-							if (ids.indexOf(curSku.productId) > -1) {
-								if (curSku.priceId > 0) {
-									tmpPriceSkuList.push(curSku)
-								} else {
-									matchCouponSkuList.push(curSku)
-									matchCouponNormalPrice = matchCouponNormalPrice + curSku.price * curSku.number
-								}
-							}
-						}
-						if (priceCount === tmpPriceSkuList.length) {
-							totalPrice += curShop.priceAfterDiscount
-							matchCouponSkuList = matchCouponSkuList.concat(tmpPriceSkuList)
-						}
-						totalPrice += matchCouponNormalPrice
-					}
-					if (this.settlement.shops[this.shopIndex].total < coupon.fullMoney) {
-						uni.showToast({
-							title: '不满足优惠券使用条件!',
-							icon: 'none'
-						})
-						return false
-					}
-					if (coupon.couponType === 1 && coupon.reduceMoney >= totalPrice) {
-						uni.showToast({
-							title: '不可使用大于等于合计金额的优惠劵!',
-							icon: 'none'
-						})
-						return false
-					}
-					// 如果是折扣券,需要记录,在什么基数上打折
-					coupon.useMoney = totalPrice
-					let promotionInfoDTO = {}
-					if (coupon.couponId) {
-						promotionInfoDTO['couponId'] = coupon.couponId
-						promotionInfoDTO['ifAdd'] = coupon.ifAdd
-						promotionInfoDTO['couponType'] = coupon.couponType
-						promotionInfoDTO['reduceMoney'] = coupon.reduceMoney
-					}
-					this.promotionInfoDTO = promotionInfoDTO
-					this.isShowDiscount = false
-					this.checkedPlatformCoupon = coupon
-					matchCouponSkuList.forEach(item => {
-						item.buyerCouponId = coupon.couponId
-					})
-					this.getTotal()
-					// 选中优惠券
-					coupon.checked = true
-				}
-			},
-			// 店铺优惠券选择
-			shopCouponItemTap(index, coupon) {
-				// 取消选择优惠券
-				if (coupon.checked) {
-					coupon.checked = false
-					this.settlement.shops[this.shopIndex].totalAfterDiscount = this.settlement.shops[this.shopIndex].total
-					this.settlement.shops[this.shopIndex].currentCoupon = {}
-					this.settlement.shops[this.shopIndex].skus.forEach(item => {
-						item.buyerShopCouponId = null
-					})
-					this.isShopCoupons = false
-					this.selectShopCoupon = []
-					this.getTotal()
-					return false
-				}
-				if (this.settlement.shops[this.shopIndex].total < coupon.fullMoney) {
-					uni.showToast({
-						title: '不满足优惠券使用条件!',
-						icon: 'none'
-					})
-				} else if (coupon.couponType === 1 && this.settlement.shops[this.shopIndex].total < coupon.reduceMoney) {
-					uni.showToast({
-						title: '不可使用大于商品金额的优惠劵!',
-						icon: 'none'
-					})
-				} else {
-					// 选择优惠券
-					if (this.promotionInfoDTO.couponId !== 0) {
-						uni.showToast({
-							title: '此券不可与平台券叠加!',
-							icon: 'none'
-						})
-						return false
-					}
-					if (coupon.couponType === 1) {
-						if (coupon.reduceMoney >= this.settlement.shops[this.shopIndex].total) {
-							uni.showToast({
-								title: '优惠券优惠金额不能大于等于合计金额!',
-								icon: 'none'
-							})
-							return false
-						}
-					}
-
-					this.isShopCoupons = false
-					let useCoupon = this.useShopCoupon(this.shopIndex, index)
-					if (useCoupon) {
-						// 确认使用当前点击的商家券,先将所有的商家券取消选中
-						for (let i = 0; i < this.selectShopCoupon.length; i++) {
-							this.selectShopCoupon[i].checked = false
-						}
-						this.selectShopCoupon = []
-
-						coupon.checked = true
-						this.settlement.shops[this.shopIndex].currentCoupon = coupon
-						this.settlement.shops[this.shopIndex].skus.forEach(item => {
-							if (item.buyerShopCouponId > 0 && item.buyerShopCouponId !== coupon.shopCouponId) {
-								item.buyerShopCouponId = null
-							}
-						})
-						this.selectShopCoupon.push(coupon)
-					} else {
-						this.settlement.shops[this.shopIndex].totalAfterDiscount = this.settlement.shops[this.shopIndex].total
-					}
-					this.getTotal()
-				}
-			},
-			useShopCoupon (shopIndex, couponIndex) {
-				const curShop = this.settlement.shops[shopIndex]
-				curShop.totalAfterDiscount = 0
-				let curCoupon
-				if (curShop.shopCoupons && curShop.shopCoupons.length > 0) {
-					curCoupon = curShop.shopCoupons[couponIndex]
-				}
-				if (!curCoupon) {
-					return false
-				}
-				let useCoupon = false
-				let matchCouponNormalSkuList = []
-				let matchCouponPriceSkuList = []
-				if (curCoupon.applyType !== 1) {
-					const ids = curCoupon.ids
-					let skuLength = curShop.skus.length
-					// 符合优惠券商品列表中的普通sku价格综合
-					let matchCouponNormalPrice = 0
-					// 符合定价捆绑且在优惠券商品列表中的价格综合
-					let matchCouponPricePrice = 0
-					// 符合定价捆绑活动的sku数量
-					let priceCount = 0
-					for (let idx = 0; idx < skuLength; idx++) {
-						let curSku = curShop.skus[idx]
-						if (curSku.priceId > 0) {
-							priceCount++
-						}
-						if (ids.indexOf(curSku.productId) > -1) {
-							if (curSku.priceId > 0) {
-								matchCouponPriceSkuList.push(curSku)
-							} else {
-								matchCouponNormalSkuList.push(curSku)
-								matchCouponNormalPrice = matchCouponNormalPrice + curSku.price * curSku.number
-							}
-						}
-					}
-					// 如果定价捆绑的所有sku都符合优惠券
-					if (priceCount === matchCouponPriceSkuList.length) {
-						matchCouponPricePrice = curShop.priceAfterDiscount
-					}
-					// 符合的sku的price加起来是否满足满减的条件
-					const priceFinal = matchCouponPricePrice + matchCouponNormalPrice
-					if (priceFinal < curCoupon.fullMoney || (curCoupon.couponType === 1 && priceFinal <= curCoupon
-							.reduceMoney)) {
-						return false
-					}
-					// 判断是满减,还是折扣
-					if (curCoupon.couponType === 1) {
-						curShop.totalAfterDiscount = curShop.total - curCoupon.reduceMoney
-						useCoupon = true
-					} else {
-						// 打折后优惠抵扣的金额
-						let priceDiscount = (priceFinal * ((10 - curCoupon.reduceMoney) / 10)).toFixed(2)
-						let tmpTotal = curShop.total - priceDiscount
-						if (tmpTotal.toFixed(2) >= 0.01) {
-							curShop.totalAfterDiscount = tmpTotal.toFixed(2)
-							useCoupon = true
-						}
-					}
-					if (useCoupon) {
-						// 满足的sku设置buyerShopCouponId
-						if (priceCount === matchCouponPriceSkuList.length) {
-							let length1 = matchCouponPriceSkuList.length
-							for (let idx = 0; idx < length1; idx++) {
-								matchCouponPriceSkuList[idx].buyerShopCouponId = curCoupon.shopCouponId
-							}
-						}
-						let length2 = matchCouponNormalSkuList.length
-						for (let idx = 0; idx < length2; idx++) {
-							matchCouponNormalSkuList[idx].buyerShopCouponId = curCoupon.shopCouponId
-						}
-					}
-				} else {
-					if (curCoupon.couponType === 1) {
-						if (curShop.total > curCoupon.reduceMoney) {
-							curShop.totalAfterDiscount = curShop.total - curCoupon.reduceMoney
-							useCoupon = true
-						}
-					} else {
-						if (curShop.total > curCoupon.fullMoney) {
-							if (curShop.total > curCoupon.fullMoney) {
-								let priceDiscount = (curShop.total * ((10 - curCoupon.reduceMoney) / 10)).toFixed(2)
-								let tmpTotal = curShop.total - priceDiscount
-								if (tmpTotal.toFixed(2) >= 0.01) {
-									curShop.totalAfterDiscount = tmpTotal.toFixed(2)
-									useCoupon = true
-								}
-							}
-						}
-					}
-					if (useCoupon) {
-						let skuLength = curShop.skus.length
-						for (let idx = 0; idx < skuLength; idx++) {
-							curShop.skus[idx].buyerShopCouponId = curCoupon.shopCouponId
-						}
-					}
-				}
-				return useCoupon
-			},
-			/**
-			 * 计算总价,商家券的优惠计算,在调用本方法之前已经计算好在shops[].totalAfterDiscount
-			 */
-			getTotal() {
-				this.totalPrice = 0
-				this.totalCount = 0
-				this.integralPrice = 0
-				this.integralNum = 0
-				let shopSumPrice = 0
-				let shopsLen = this.settlement.shops.length
-
-				for (let i = 0; i < shopsLen; i++) {
-					this.totalPrice += parseFloat(this.settlement.shops[i].totalAfterDiscount)
-					shopSumPrice += parseFloat(this.settlement.shops[i].totalAfterDiscount)
-					this.totalCount += this.settlement.shops[i].number
-				}
-
-				if (this.checkedPlatformCoupon) {
-					const couponType = this.checkedPlatformCoupon.couponType
-					const reduceMoney = this.checkedPlatformCoupon.reduceMoney
-					if (couponType === 1 && this.totalPrice - reduceMoney > 0) { // 满减
-						this.totalPrice = shopSumPrice - reduceMoney
-					} else if (couponType === 2 && reduceMoney > 0) { // 折扣
-						const useMoney = this.checkedPlatformCoupon.useMoney
-						this.totalPrice = (shopSumPrice - useMoney) + useMoney * reduceMoney / 10
-					}
-				}
-				// 积分支付计算
-				this.calcCredit()
-				// 加上每个商家的运费
-				this.settlement.shops.forEach((item) => {
-					this.totalPrice = this.totalPrice + (item.distribution.distributionPrice || 0)
-				})
-				this.recalcHuabei()
-			},
-			calcCredit() {
-				let shopsLen = this.settlement.shops.length
-				const skuRemainMap = this.calcSkuRemainMap()
-				const skuCreditMap = this.settlement.skuCreditMap;
-				if (skuCreditMap && this.integralRatio > 0) {
-					this.orderCreditThreshold = this.settlement.orderCreditThreshold
-					let remainUserCredit = this.settlement.userTotalCredit
-					let remainTotalPrice = Math.round((this.totalPrice + Number.EPSILON) * 100) / 100
-					let remainDeductLimit = this.settlement.creditDeductLimit
-					// 只有订单金额达到阈值,并且用户还有剩余的积分,才能进行积分抵扣
-					if (this.totalPrice >= this.orderCreditThreshold && remainUserCredit > 0 && remainDeductLimit > 0) {
-						for (let i = 0; i < shopsLen; i++) {
-							const curShop = this.settlement.shops[i]
-							let skuLen = curShop.skus.length
-							for (let j = 0; j < skuLen; j++) {
-								const curSku = curShop.skus[j]
-								const skuId = curSku.skuId
-								if (skuCreditMap[skuId] > 0 && skuRemainMap[skuId] > 0 && remainUserCredit > 0 &&
-									remainTotalPrice > 0) {
-									// 抵扣之后,必须保证整个订单至少还有0.01元,可用于支付
-									if (remainTotalPrice - skuRemainMap[skuId] < 0.01) {
-										skuRemainMap[skuId] -= 0.01
-									}
-									// 按照比例换算成需要多少积分抵扣(取整)
-									let finalSkuCredit = parseInt((skuRemainMap[skuId] / this.integralRatio).toString());
-									// 优先以商家配置的商品可抵扣积分为准
-									if (skuCreditMap[skuId] < finalSkuCredit) {
-										finalSkuCredit = skuCreditMap[skuId]
-									}
-									// 不能超过用户剩余积分
-									if (remainUserCredit < finalSkuCredit) {
-										finalSkuCredit = remainUserCredit
-									}
-									// 不能超过整个订单可抵扣积分
-									if (remainDeductLimit < finalSkuCredit) {
-										finalSkuCredit = remainDeductLimit
-									}
-									curSku.cachedCredit = finalSkuCredit
-									this.integralNum += finalSkuCredit
-									remainUserCredit -= finalSkuCredit
-									remainDeductLimit -= finalSkuCredit
-									remainTotalPrice -= finalSkuCredit
-								}
-							}
-						}
-					}
-					//计算抵扣价格
-					if (this.integralNum !== 0) {
-						this.integralNum = parseInt(this.integralNum)
-						this.integralPrice = this.integralNum * this.integralRatio
-						if (this.integralNum !== 0) {
-							this.integralShow = true
-						}
-						if (this.selectIntegral) {
-							this.totalPrice = this.totalPrice - this.integralPrice
-						}
-					} else {
-						this.integralShow = false
-					}
-				}
-			},
-			/**
-			 * 计算sku在整个运单价格中的剩余价值 1元的订单,打1折优惠之后,剩余价值就是0.1元
-			 */
-			calcSkuRemainMap() {
-				let skuRemainMap = {}
-				let shopsLen = this.settlement.shops.length
-				const skuCreditMap = this.settlement.skuCreditMap
-				for (let i = 0; i < shopsLen; i++) {
-					const curShop = this.settlement.shops[i]
-					let skuLen = curShop.skus.length
-					let checkedShopCoupon = undefined
-					curShop.shopCoupons.forEach((item) => {
-						if (item.checked) {
-							checkedShopCoupon = item
-						}
-					})
-					for (let j = 0; j < skuLen; j++) {
-						const curSku = curShop.skus[j]
-						const skuId = curSku.skuId
-						// 不是定价捆绑,并且有配置可抵扣的积分,才有必要计算比例
-						if (!curSku.priceId > 0 && skuCreditMap[skuId] > 0) {
-							let remainSkuMoney = curSku.price * curSku.number
-							if (checkedShopCoupon) {
-								let skuShopPercent = remainSkuMoney / curShop.total
-								let curReduceMoney = 0
-								if (checkedShopCoupon.couponType === 1) {
-									curReduceMoney = checkedShopCoupon.reduceMoney * skuShopPercent
-								} else {
-									curReduceMoney = remainSkuMoney * (10 - checkedShopCoupon.reduceMoney) / 10
-								}
-								remainSkuMoney = remainSkuMoney - curReduceMoney
-							}
-							// 使用平台券
-							if (this.checkedPlatformCoupon && remainSkuMoney > 0) {
-								// 满减
-								if (this.checkedPlatformCoupon.couponType === 1) {
-									let skuTotalPercent = remainSkuMoney / this.totalPrice
-									remainSkuMoney -= this.checkedPlatformCoupon.reduceMoney * skuTotalPercent
-								}
-								// 折扣
-								else {
-									remainSkuMoney = remainSkuMoney * this.checkedPlatformCoupon.reduceMoney / 10
-								}
-							}
-							skuRemainMap[skuId] = remainSkuMoney
-						}
-					}
-				}
-				return skuRemainMap
-			},
-			recalcHuabei() {
-				if (this.paymentMode === 3) {
-					this.fenqiFeeList[0] = this.totalPrice * (1 + this.huabeiFeerateList[0] / 100) / 3
-					this.fenqiFeeList[1] = this.totalPrice * (1 + this.huabeiFeerateList[1] / 100) / 6
-					this.fenqiFeeList[2] = this.totalPrice * (1 + this.huabeiFeerateList[2] / 100) / 12
-
-					this.chargeFeeList[0] = this.totalPrice * (this.huabeiFeerateList[0] / 100) / 3
-					this.chargeFeeList[1] = this.totalPrice * (this.huabeiFeerateList[1] / 100) / 6
-					this.chargeFeeList[2] = this.totalPrice * (this.huabeiFeerateList[2] / 100) / 12
-
-					var index = 0;
-					if (this.huabeiPeriod === 6) {
-						index = 1
-					} else if (this.huabeiPeriod === 12) {
-						index = 2
-					}
-					this.chargeFee = (this.totalPrice * (this.huabeiFeerateList[index] / 100)).toFixed(2)
-				}
-			},
-			// 展示平台端优惠券
-			showDiscount() {
-				// let shopifAdd = 1
-				// if(this.settlement.shops[this.shopIndex].shopCoupons.length>0){
-				// 	shopifAdd = this.settlement.shops[this.shopIndex].shopCoupons[this.shopCouIndex].ifAdd
-				// }
-				if (this.settlement.coupons.length > 0) {
-					for (let i = 0; i < this.selectShopCoupon.length; i++) {
-						if (this.selectShopCoupon[i].ifAdd == 0) {
-							uni.showToast({
-								title: '不可叠加已选择的店铺券',
-								icon: 'none'
-							})
-							return false
-						}
-					}
-					this.isShowDiscount = true
-				} else {
-					uni.showToast({
-						title: '暂无可用优惠券',
-						icon: 'none'
-					})
-				}
-			},
-			// 显示店铺优惠券
-			showShopCoupons(item, sIndex) {
-				if (item.shopCoupons.length > 0) {
-					this.isShopCoupons = true
-					this.shopCouponslist = item
-					this.shopCouponsLength = item.shopCoupons.length
-					this.shopIndex = sIndex
-				} else {
-					uni.showToast({
-						title: '暂无可用优惠券',
-						icon: 'none'
-					})
-				}
-			},
-			onDiscountClose() {
-				this.isShowDiscount = false
-			},
-			onshopClose() {
-				this.isShopCoupons = false
-			},
-			payTypeChange(event) {
-				this.paymentMode = event.target.value;
-				if (this.paymentMode === 3) {
-					this.huabeiDetail = true
-				} else {
-					this.huabeiDetail = false
-				}
-				this.recalcHuabei()
-			},
-			huabeiPeriodChange(event) {
-				this.huabeiPeriod = event.target.value
-				var feeRate = this.huabeiFeerateList[2]
-				if (this.huabeiPeriod === 3) {
-					feeRate = this.huabeiFeerateList[0]
-				} else if (this.huabeiPeriod === 6) {
-					feeRate = this.huabeiFeerateList[1]
-				}
-				this.chargeFee = (this.totalPrice * feeRate / 100).toFixed(2)
-			},
-			showHuabeiDetail() {
-				this.showHuabeiPopup = true
-			},
-			// submitOrder() {
-			// 	console.log('确认订单')
-			// },
-			submitOrder() {
-				const that = this
-				if (this.paymentMode === 0) {
-					uni.showToast({
-						title: '请选择支付方式',
-						icon: 'none'
-					})
-				} else {
-					if (this.oneClickSubmit) {
-						this.oneClickSubmit = false
-						if (this.userAddressInfo.receiveName) {
-							uni.showLoading({
-								mask: true,
-								title: '订单提交中...',
-							})
-							let couponIdinfo = 0
-							if (this.promotionInfoDTO.couponId) {
-								couponIdinfo = this.promotionInfoDTO.couponId
-							}
-							let data = {
-								shopDiscountId: null,
-								collageId: this.collageId,
-								type: this.sumitType,
-								shopGroupWorkId: null,
-								receiveId: this.receiveId,
-								couponId: couponIdinfo,
-								price: this.totalPrice,
-								remark: "",
-								shops: [],
-								discountPrice: this.discountPrice,
-								shopSeckillId: null
-							}
-							if (this.shopGroupWorkId > 0) {
-								data.shopGroupWorkId = this.shopGroupWorkId
-							}
-							if (this.skuItemDTOList != '') {
-								if (this.skuItemDTOList[0].shopDiscountId > 0) {
-									data.shopDiscountId = this.skuItemDTOList[0].shopDiscountId
-								} else if (this.skuItemDTOList[0].shopSeckillId > 0) {
-									data.shopSeckillId = this.skuItemDTOList[0].shopSeckillId
-								}
-							}
-							let datashopslen = this.settlement.shops.length
-							for (let n = 0; n < datashopslen; n++) {
-								let shopsobj = {}
-								shopsobj["shopId"] = this.settlement.shops[n].shopId
-								shopsobj["sceneId"] = this.settlement.shops[n].sceneId
-								shopsobj["distribution"] = {}
-								shopsobj["skus"] = []
-								if (this.settlement.shops[n].currentCoupon) {
-									shopsobj["id"] = this.settlement.shops[n].currentCoupon.id
-								}
-								data.shops.push(shopsobj)
-								data.shops[n].distribution.distributionPrice = this.settlement.shops[n].distribution
-									.distributionPrice
-								data.shops[n].distribution.distributionName = this.settlement.shops[n].distribution
-									.distributionName
-								let dataskuslen = this.settlement.shops[n].skus.length
-								for (let m = 0; m < dataskuslen; m++) {
-									let skusobj = {}
-									const curSku = this.settlement.shops[n].skus[m]
-									skusobj["skuId"] = curSku.skuId
-									skusobj["number"] = curSku.number
-									skusobj["ifLogistics"] = curSku.ifLogistics
-									skusobj["selected"] = curSku.selected
-									skusobj["platformSeckillId"] = curSku.platformSeckillId
-									skusobj["platformDiscountId"] = curSku.platformDiscountId
-									skusobj["shopSeckillId"] = curSku.shopSeckillId
-									skusobj["shopDiscountId"] = curSku.shopDiscountId
-									skusobj["sceneId"] = curSku.sceneId
-									skusobj["priceId"] = curSku.priceId
-									skusobj["useMember"] = curSku.useMember
-									skusobj["composeId"] = curSku.composeId
-									skusobj["buyerShopCouponId"] = curSku.buyerShopCouponId
-									skusobj["buyerCouponId"] = curSku.buyerCouponId
-									// 积分传参
-									if (this.selectIntegral && curSku.cachedCredit) {
-										skusobj["useCredit"] = curSku.cachedCredit
-										skusobj["useCreditAmount"] = (curSku.cachedCredit * this.integralRatio).toFixed(2)
-									}
-									data.shops[n].skus.push(skusobj)
-								}
-							}
-							// #ifdef H5
-							data.paymentMode = 1
-							data.subPaymentMode = 3
-							// #endif
-
-							// #ifdef MP-WEIXIN
-							data.paymentMode = 1
-							data.subPaymentMode = 1
-							// #endif
-
-							// #ifdef APP-PLUS
-							data.paymentMode = 1
-							// #endif
-
-							// #ifdef MP-ALIPAY
-							data.paymentMode = 2
-							data.subPaymentMode = 1
-							// #endif
-
-							uni.hideLoading()
-							uni.showLoading({
-								mask: true,
-								title: '结算中...',
-							})
-							NET.request(API.PlaceOrder, data, 'POST').then(res => {
-								uni.hideLoading()
-								if (this.type == 2) {
-									let carSkusData = data.shops
-									let skusArr = []
-									for (let i = 0; i < carSkusData.length; i++) {
-										carSkusData[i].skus.map(item => {
-											skusArr.push(item.skuId)
-										})
-									}
-									// 从购物车中点击结算时删除对应购物车商品
-									/*NET.request(API.DeleteCart, {
-									  ids: skusArr
-									}, 'POST').then(res => {
-									  console.log(res, '删除对应购物车商品')
-									}).catch(res => {
-									})*/
-								}
-								let submitResult = res.data
-								that.orderId = res.data.orderId
-								//console.log(submitResult, '测试')
-								submitResult.type = 1
-								submitResult.paymentMode = data.paymentMode
-								// #ifdef H5
-								let ua = navigator.userAgent.toLowerCase();
-								if (ua.match(/MicroMessenger/i) == "micromessenger") {
-									this.payRequest(submitResult)
-								} else {
-									NET.request(API.gotoH5Pay, submitResult, 'POST').then(res => {
-										//console.dir(res)
-										location.replace(res.data.mwebUrl)
-										// window.location.replace(url)
-									}).catch(err => {
-										this.submitActive = true
-										uni.hideLoading()
-										uni.showToast({
-											title: '支付失败',
-											icon: 'none'
-										})
-										uni.navigateTo({
-											url: '../orderModule/index?type=1'
-										})
-									})
-								}
-								// #endif
-								// #ifdef MP-ALIPAY
-								submitResult.huabeiPeriod = this.huabeiPeriod
-								submitResult.paymentMode = this.paymentMode
-								this.aliPay(submitResult)
-								// #endif
-
-								// #ifdef MP-WEIXIN
-								uni.showLoading({
-									mask: true,
-									title: '支付中...',
-								})
-								NET.request(API.gotoPay, submitResult, 'POST').then(res => {
-									uni.hideLoading()
-									let param = {
-										orderId: submitResult.orderId,
-										collageId: submitResult.collageId
-									}
-									uni.requestPayment({
-										provider: 'wxpay',
-										timeStamp: res.data.timeStamp,
-										nonceStr: res.data.nonceStr,
-										package: res.data.package,
-										signType: res.data.signType,
-										paySign: res.data.paySign,
-										success: function(payRes) {
-											// 拼团微信支付成功回调
-											if (param.collageId) {
-												NET.request(API.paySuccess, param, 'POST')
-													.then(res => {
-														console.log(res, '支付成功')
-													})
-											}
-											uni.showToast({
-												icon: 'none',
-												title: '支付成功'
-											})
-											//console.log(submitResult.orderId, 'order Id')
-											uni.navigateTo({
-												url: 'paySuccessful?orderId=' +
-													submitResult.orderId
-											})
-										},
-										fail: function(err) {
-											uni.showToast({
-												icon: 'none',
-												title: '支付取消'
-											})
-											uni.navigateTo({
-												url: '../orderModule/index?type=1'
-											})
-										}
-									})
-								}).catch(err => {
-									uni.showToast({
-										title: '支付失败',
-										icon: 'none'
-									})
-									uni.navigateTo({
-										url: '../orderModule/index?type=1'
-									})
-								})
-								// #endif
-								// #ifdef APP-PLUS
-								uni.showLoading({
-									mask: true,
-									title: '支付中...',
-								})
-								//console.log(submitResult, 'app-submitResult')
-								NET.request(API.gotoAppPay, submitResult, 'POST').then(res => {
-									uni.hideLoading()
-									var obj = {
-										appid: res.data.appId,
-										noncestr: res.data.nonceStr,
-										package: 'Sign=WXPay',
-										prepayid: res.data.prepayId,
-										timestamp: res.data.timeStamp,
-										sign: res.data.paySign,
-										partnerid: res.data.partnerId
-									}
-									uni.requestPayment({
-										provider: 'wxpay',
-										orderInfo: obj,
-										success: function(payRes) {
-											console.log('支付成功', payRes)
-											uni.showToast({
-												icon: 'none',
-												title: '支付成功'
-											})
-											uni.navigateTo({
-												url: 'paySuccessful?orderId=' + that
-													.orderId
-											})
-										},
-										fail: function(err) {
-											//console.log(err)
-											console.log('支付失败', err)
-											uni.showToast({
-												icon: 'none',
-												title: '支付取消'
-											})
-											uni.navigateTo({
-												url: '../orderModule/index?type=1'
-											})
-										}
-									})
-								}).catch(err => {
-									console.log(err, 'catch支付失败')
-									uni.hideLoading()
-									uni.showToast({
-										title: '支付失败',
-										icon: 'none'
-									})
-									uni.navigateTo({
-										url: '../orderModule/index?type=1'
-									})
-								})
-								// #endif
-							}).catch(res => {
-								uni.hideLoading()
-								this.oneClickSubmit = true
-								uni.showToast({
-									title: '提交失败',
-									icon: 'none'
-								})
-							})
-						} else {
-							uni.showToast({
-								icon: 'none',
-								title: '请选择收货地址'
-							})
-						}
-					} else {
-						uni.showToast({
-							title: "已提交,请勿重新操作!",
-							icon: 'none'
-						})
-					}
-				}
-			},
-			// H5支付微信内置浏览器支付
-			// #ifdef H5
-			payRequest(payInfo) {
-				payInfo.paymentMode = 1
-				const that = this
-				NET.request(API.gotoPay, payInfo, 'POST').then(res => {
-					jweixin.config({
-						debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-						appId: res.data.appId, // 必填,公众号的唯一标识
-						timestamp: res.data.timeStamp, // 必填,生成签名的时间戳
-						nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
-						signature: res.data.paySign, // 必填,签名,见附录1
-						jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-					});
-					jweixin.ready(function() {
-						jweixin.checkJsApi({
-							jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
-							success: function(res) {
-								// console.log('checkjsapi Success')
-								// console.log(res);
-							},
-							fail: function(res) {
-								// console.log('res')
-								// console.log(res);
-							}
-						});
-						jweixin.chooseWXPay({
-							timestamp: res.data
-							.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
-							nonceStr: res.data.nonceStr, // 支付签名随机串,不长于 32 位
-							package: res.data
-							.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
-							signType: res.data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
-							paySign: res.data.paySign, // 支付签名
-							success: function(res) {
-								// 支付成功后的回调函数
-								uni.showToast({
-									icon: 'none',
-									title: '支付成功'
-								})
-								uni.navigateTo({
-									url: 'paySuccessful?orderId=' + that.orderId
-								})
-							},
-							cancel: function(r) {
-								uni.showToast({
-									icon: 'none',
-									title: '取消支付'
-								})
-								uni.navigateTo({
-									url: '../orderModule/index?type=1'
-								})
-							},
-							fail: function(res) {
-								uni.showToast({
-									icon: 'none',
-									title: '支付失败'
-								})
-								uni.navigateTo({
-									url: '../orderModule/index?type=1'
-								})
-							}
-						});
-					});
-					jweixin.error(function(res) {
-						console.log('error')
-						console.log(res)
-						uni.showToast({
-							icon: 'none',
-							title: '支付失败了',
-							duration: 3000
-						});
-						uni.navigateTo({
-							url: '../orderModule/index?type=1'
-						})
-					});
-				}).catch(err => {})
-			},
-			// #endif
-			aliPay(payInfo) {
-				const that = this
-				NET.request(API.gotoPay, payInfo, 'POST').then(res => {
-					console.log('alipay gotoPay-----------')
-					console.dir(res)
-					uni.requestPayment({
-						provider: 'alipay',
-						orderInfo: res.data.tradeNo,
-						success: function(payRes) {
-							if (payRes.resultCode == '6001') {
-								uni.showToast({
-									icon: 'none',
-									title: '取消支付'
-								})
-								uni.navigateTo({
-									url: '../orderModule/index?type=1'
-								})
-							}
-							if (payRes.resultCode == '9000') {
-								uni.showToast({
-									icon: 'none',
-									title: '支付成功'
-								})
-								uni.navigateTo({
-									url: 'paySuccessful?orderId=' + that.orderId
-								})
-							}
-						},
-						fail: function(err) {
-							uni.showToast({
-								icon: 'none',
-								title: '支付取消'
-							})
-							uni.navigateTo({
-								url: '../orderModule/index?type=1'
-							})
-						}
-					});
-				}).catch(err => {
-					uni.hideLoading()
-					uni.showToast({
-						title: '支付失败',
-						icon: 'none'
-					})
-					uni.navigateTo({
-						url: '../orderModule/index?type=1'
-					})
-				})
-			},
-			decidePayType() {
-				// #ifdef H5 || MP-WEIXIN || APP-PLUS
-				this.showWechatPayType = true
-				this.paymentMode = 1
-				// #endif
-
-				// #ifdef MP-ALIPAY
-				this.showAlipayPayType = true
-				this.showHuabeiPayType = true
-				this.paymentMode = 2
-				// #endif
-			}
-		}
-	}
+import {hidden} from "../../utils/hidden";
+
+const NET = require('../../utils/request')
+const API = require('../../config/api')
+// #ifdef H5
+var jweixin = require('jweixin-module')
+// #endif
+export default {
+  data() {
+    return {
+      // 埋点ID
+      pointProductIds: '',
+      couponActiveShowFalg: false,
+      settlement: {},
+      type: 0,
+      skuItemDTOList: [],
+      userAddressInfo: {},
+      isShowDiscount: false,
+      isShopCoupons: false,
+      usableListLength: 0,
+      shopCouponsLength: 0,
+      shopCouponslist: [],
+      promotionInfoDTO: {
+        couponId: 0,
+        ifAdd: 1,
+        reduceMoney: 0
+      },
+      shopInfoDTO: {},
+      reduceMoney: 0,
+      submitActive: true,
+      distributionPrice: 0, //运费
+      totalPrice: 0, //合计
+      receiveId: '',
+      totalCount: 0,
+      skuItemList: {},
+      shopGroupWorkId: 0,
+      sumitType: '',
+      collageId: null,
+      couponIfAdd: true,
+      couponsList: [],
+      shopCouIndex: 0, //优惠券index
+      shopIndex: 0,
+      shopCheckedType: true,
+      discountPrice: 0,
+      selectShopCoupon: [], // 已选择店铺优惠券
+      chargeFee: 0,  //花呗分期手续费,如果是商户支付手续费,则为0,否则默认计算3期手续费
+      huabeiDetail: true,
+      showHuabeiPopup: false,
+      huabeiChargeType: 0,
+      huabeiFeerateList: [],
+      paymentMode: 0, //支付方式 1-微信支付 2-支付宝支付 3-花呗分期
+      huabeiPeriod: 3, //选择的花呗分期数 有 3 6 12 3种选项,默认是3
+      chargeFeeList: [], //花呗每期的手续费
+      fenqiFeeList: [], //花呗每期的支付额
+      showWechatPayType: false,
+      showAlipayPayType: false,
+      showHuabeiPayType: false,
+      orderId: null,
+      couponType: 0,
+      selectIntegral: true,
+      integralNum: 0,
+      ifShow: false,
+      integralRatio: 0, // 积分兑换比例
+      integralPrice: 0, // 总积分可减多少元
+      orderCreditThreshold: 0, // 满多少元可以抵扣
+      integralShow: false, // 显示隐藏积分
+      checkedPlatformCoupon: undefined,
+      oneClickSubmit: true, //只提交订单一次
+      isRegionalScope: false, //是否在商家配置范围内地址
+    }
+  },
+  onLoad(options) {
+    this.getQuery()
+    console.log(options, 'options')
+    this.type = options.type
+    if (options.receiveId) {
+      this.receiveId = options.receiveId
+    }
+    this.decidePayType()
+  },
+  onShow() {
+    if (uni.getStorageSync("receiveItem")) {
+      this.receiveId = uni.getStorageSync("receiveItem").receiveId
+    }
+    if (uni.getStorageSync("skuItemDTOList") != "") {
+      this.skuItemDTOList = uni.getStorageSync('skuItemDTOList')
+      console.log(this.skuItemDTOList, '66666')
+      if (this.skuItemDTOList[0].shopDiscountId > 0) {
+        this.sumitType = 4
+      } else if (this.skuItemDTOList[0].shopSeckillId > 0) {
+        this.sumitType = 3
+      }
+      this.getSettlement(false)
+    } else if (uni.getStorageSync("skuItemList") != "") {
+      this.skuItemList = uni.getStorageSync("skuItemList")
+      //console.log(this.skuItemList, 999)
+      this.shopGroupWorkId = this.skuItemList.shopGroupWorkId
+      this.sumitType = this.skuItemList.type
+      this.collageId = this.skuItemList.collageId
+      this.getSettlement(true)
+    }
+  },
+  onBackPress(e) {
+    if (e.from === 'navigateBack') {
+      return false;
+    }
+    this.back();
+    return true
+  },
+  filters: {
+    clip2Decimal(value) {
+      if (value === undefined || value === null) {
+        return "0.00"
+      }
+      return (parseInt(value * 100) / 100).toFixed(2)
+    }
+  },
+  methods: {
+    getQuery() {
+      NET.request(API.Query, {
+        name: 'credit_exchange_rate'
+      }, 'GET').then(res => {
+        this.integralRatio = parseFloat(res.data.dictDescribe)
+      }).catch(res => {
+        console.log('平台端未配置积分兑换比例(1积分抵扣多少金额)')
+      })
+    },
+    // 积分价格计算
+    changeIntegral() {
+      this.selectIntegral = !this.selectIntegral
+      if (this.selectIntegral) {
+        this.totalPrice = this.totalPrice - this.integralPrice
+      } else {
+        this.totalPrice = this.totalPrice + this.integralPrice
+      }
+    },
+    back() {
+      if (this.type == 2 || this.type) {
+        uni.switchTab({
+          url: '../../pages/tabbar/cart/index'
+        })
+      } else {
+        uni.navigateBack({
+          delta: 1
+        });
+      }
+    },
+    // 获取订单信息
+    getSettlement(isGroup) {
+      // uni.showLoading({
+      //   title: '加载中...',
+      // })
+      this.ifShow = true
+      let _url = '',
+          _data = ''
+      // 是否是拼团
+      if (isGroup) {
+        _url = API.getGroupSettlement
+        _data = this.skuItemList
+      } else {
+        _url = API.Settlement
+        _data = {
+          type: this.type,
+          shops: this.skuItemDTOList,
+          receiveId: this.receiveId
+        }
+        // composeId: 68
+        console.log(this.skuItemDTOList, 'this.skuItemDTOList')
+      }
+      NET.request(_url, _data, 'POST').then(res => {
+        uni.hideLoading()
+        this.settlement = res.data
+        this.couponsList = res.data.coupons
+        this.huabeiChargeType = res.data.huabeiChargeType
+        if (this.huabeiChargeType === 2) {
+          this.huabeiFeerateList = res.data.huabeiFeerateList
+        } else {
+          this.huabeiFeerateList = [0, 0, 0]
+        }
+        let shopLen = this.settlement.shops.length
+        this.settlement.shops.forEach((value) => {
+          value['totalNum'] = value.total
+          value['pricing'] = 0
+        })
+        // 如果没有地址时进入购买宝贝页面对下面的商品件数和总计进行赋值
+        if (!this.settlement.receive.receiveAdress) {
+          this.settlement.shops.map(item => {
+            this.totalCount += item.number
+            this.totalPrice += item.total || item.totalNum
+          })
+        }
+        // 初始化平台券选中状态
+        if (this.settlement.coupons.length > 0) {
+          this.settlement.coupons.forEach((item) => {
+            item.checked = false
+          })
+        }
+        // 默认选中商家的第一张优惠券
+        for (let s = 0; s < shopLen; s++) {
+          const curShop = this.settlement.shops[s]
+          curShop.skus.forEach((item) => {
+            item['skuTotalNum'] = item.total
+          })
+          if (curShop.shopCoupons.length > 0) {
+            curShop.shopCoupons.forEach((item) => {
+              item.checked = false
+            })
+            const firstShopCoupon = curShop.shopCoupons[0];
+            let useCoupon = this.useShopCoupon(s, 0)
+            if (useCoupon) {
+              firstShopCoupon.checked = true
+              this.selectShopCoupon.push(firstShopCoupon)
+              curShop['currentCoupon'] = firstShopCoupon
+            } else {
+              curShop.totalNum = curShop.total
+            }
+          }
+        }
+        if (uni.getStorageSync('receiveItem')) {
+          let receiveItem = uni.getStorageSync('receiveItem')
+          this.userAddressInfo = receiveItem
+          this.receiveId = receiveItem.receiveId
+          this.userAddressInfo.receivePhone = hidden(this.userAddressInfo.receivePhone, 3, 4)
+        } else if (res.data.receive) {
+          this.receiveId = res.data.receive.receiveId
+          this.userAddressInfo = res.data.receive
+          this.userAddressInfo.receivePhone = hidden(this.userAddressInfo.receivePhone, 3, 4)
+        }
+        uni.removeStorageSync('receiveItem')
+        this.usableListLength = res.data.coupons.length
+        this.getTotal()
+        this.isReceiveCan()
+
+      }).catch(res => {
+        uni.hideLoading()
+      })
+    },
+    // 根据地址判断是否能下单
+    isReceiveCan() {
+      this.settlement.shops.map(item => {
+        if (item.receiveNotMatch) {
+          this.isRegionalScope = item.receiveNotMatch
+        }
+        if (this.isRegionalScope) {
+          uni.showToast({
+            title: '当前地址不支持配送,请参与红色字提示',
+            icon: 'none'
+          })
+        }
+      })
+    },
+
+    addAddressTap() {
+      console.log(this.type, 'this.type')
+      uni.navigateTo({
+        url: '../../pages_category_page2/userModule/address?type=' + this.type,
+      })
+    },
+    getDate(time) {
+      if (!time) return '';
+      return time.split(' ')[0]
+    },
+    // 平台优惠券选择
+    couponItemTap(index, usableItem) {
+      if (!usableItem.checked && this.selectShopCoupon.length) { // 判断商家券情况
+        uni.showToast({
+          title: '不可与商家券券叠加使用!',
+          icon: 'none'
+        })
+        return false
+      }
+      // 已选中的情况下取消选中
+      if (usableItem.checked) {
+        let promotionInfoDTO = {}
+        if (usableItem.couponId) {
+          promotionInfoDTO['couponId'] = 0
+          promotionInfoDTO['ifAdd'] = 1
+          promotionInfoDTO['reduceMoney'] = 0
+        }
+        this.promotionInfoDTO = promotionInfoDTO
+        usableItem.checked = false
+        this.isShowDiscount = false
+        this.checkedPlatformCoupon = undefined
+        this.getTotal()
+      } else {
+        // 先把所有已选中的平台优惠券改为未选中
+        this.settlement.coupons.forEach((item) => {
+          item.checked = false
+        })
+        let shopSumPrice = 0 // 订单总价
+        let shopsLen = this.settlement.shops.length // 结算页店铺数量
+        for (let i = 0; i < shopsLen; i++) {
+          shopSumPrice += this.settlement.shops[i].totalNum
+        }
+        if (usableItem.couponType === 1 && usableItem.reduceMoney >= shopSumPrice) {
+          uni.showToast({
+            title: '不可使用大于等于合计金额的优惠劵!',
+            icon: 'none'
+          })
+          return false
+        }
+        let promotionInfoDTO = {}
+        if (usableItem.couponId) {
+          promotionInfoDTO['couponId'] = usableItem.couponId
+          promotionInfoDTO['ifAdd'] = usableItem.ifAdd
+          promotionInfoDTO['couponType'] = usableItem.couponType
+          promotionInfoDTO['reduceMoney'] = usableItem.reduceMoney
+        }
+        this.promotionInfoDTO = promotionInfoDTO
+        this.isShowDiscount = false
+        this.checkedPlatformCoupon = usableItem
+        this.getTotal()
+        // 选中优惠券
+        usableItem.checked = true
+      }
+    },
+    // 店铺优惠券选择
+    shopCouponItemTap(index, sItem) {
+      // 取消选择优惠券
+      if (sItem.checked) {
+        sItem.checked = false
+        this.settlement.shops[this.shopIndex].totalNum = this.settlement.shops[this.shopIndex].total
+        this.settlement.shops[this.shopIndex].currentCoupon = {}
+        this.isShopCoupons = false
+        this.selectShopCoupon = []
+        this.getTotal()
+        return false
+      }
+      if (sItem.couponType === 1 && this.settlement.shops[this.shopIndex].total < sItem.reduceMoney) {
+        uni.showToast({
+          title: '不可使用大于商品金额的优惠劵!',
+          icon: 'none'
+        })
+      } else {
+        // 选择优惠券
+        if (this.promotionInfoDTO.couponId !== 0) {
+          uni.showToast({
+            title: '此券不可与平台券叠加!',
+            icon: 'none'
+          })
+          return false
+        }
+        if (sItem.couponType === 1) {
+          if (sItem.reduceMoney >= this.settlement.shops[this.shopIndex].total) {
+            uni.showToast({
+              title: '优惠券优惠金额不能大于等于合计金额!',
+              icon: 'none'
+            })
+            return false
+          }
+        }
+
+        this.isShopCoupons = false
+        this.shopCouIndex = index
+        let useCoupon = this.useShopCoupon(this.shopIndex, this.shopCouIndex)
+        if (useCoupon) {
+          // 确认使用当前点击的商家券,先将所有的商家券取消选中
+          for (let i = 0; i < this.selectShopCoupon.length; i++) {
+            this.selectShopCoupon[i].checked = false
+          }
+          this.selectShopCoupon = []
+
+          sItem.checked = true
+          this.settlement.shops[this.shopIndex].currentCoupon = sItem
+          this.selectShopCoupon.push(sItem)
+        } else {
+          this.settlement.shops[this.shopIndex].totalNum = this.settlement.shops[this.shopIndex].total
+        }
+        this.getTotal()
+      }
+    },
+    useShopCoupon(shopIndex, couponIndex) {
+      const curShop = this.settlement.shops[shopIndex]
+      curShop.totalNum = 0
+      let curCoupon = undefined
+      if (curShop.shopCoupons && curShop.shopCoupons.length > 0) {
+        curCoupon = curShop.shopCoupons[couponIndex]
+      }
+      if (!curCoupon) {
+        return false
+      }
+      let useCoupon = false
+      if (curCoupon.couponType === 1) {
+        if (curShop.total > curCoupon.reduceMoney) {
+          curShop.totalNum = curShop.total - curCoupon.reduceMoney
+          useCoupon = true
+        }
+      } else {
+        let shopTotal = 0
+        let skuLen = curShop.skus.length
+        let priceCount = 0
+        let couponMatchPriceCount = 0
+        for (let k = 0; k < skuLen; k++) {
+          let idsLen = curCoupon.ids.length
+          // 定价捆绑的优惠额外处理
+          let priceId = curShop.skus[k].priceId
+          for (let i = 0; i < idsLen; i++) {
+            if (curShop.skus[k].productId === curCoupon.ids[i]) {
+              if (priceId > 0) {
+                couponMatchPriceCount++
+              } else {
+                curShop.skus[k].skuTotalNum = curShop.skus[k].total * (curCoupon.reduceMoney / 10)
+                useCoupon = true
+              }
+            }
+          }
+          if (priceId > 0) {
+            priceCount++;
+          } else {
+            shopTotal += curShop.skus[k].skuTotalNum
+            curShop.totalNum = parseFloat(shopTotal.toFixed(2))
+          }
+        }
+        if (couponMatchPriceCount >= priceCount && curShop.priceAfterDiscount >= curCoupon.fullMoney) {
+          let priceTotal = curShop.priceAfterDiscount * (curCoupon.reduceMoney / 10)
+          curShop.totalNum += priceTotal
+          useCoupon = true
+        }
+      }
+      return useCoupon
+    },
+    /**
+     * 计算总价,商家券的优惠计算,在调用本方法之前已经计算好在shops[].totalNum
+     */
+    getTotal() {
+      this.totalPrice = 0
+      this.totalCount = 0
+      this.integralPrice = 0
+      this.integralNum = 0
+      let shopSumPrice = 0
+      let shopsLen = this.settlement.shops.length
+
+      for (let i = 0; i < shopsLen; i++) {
+        this.totalPrice += parseFloat(this.settlement.shops[i].totalNum)
+        shopSumPrice += parseFloat(this.settlement.shops[i].totalNum)
+        this.totalCount += this.settlement.shops[i].number
+      }
+      console.log(this.settlement.shops, this.totalPrice)
+
+      if (this.checkedPlatformCoupon) {
+        if (this.checkedPlatformCoupon.couponType === 1 && this.totalPrice - this.checkedPlatformCoupon.reduceMoney > 0) { // 满减
+          this.totalPrice = shopSumPrice - this.checkedPlatformCoupon.reduceMoney
+        } else if (this.checkedPlatformCoupon.couponType === 2 && this.checkedPlatformCoupon.reduceMoney > 0) { // 折扣
+          this.totalPrice = shopSumPrice * this.checkedPlatformCoupon.reduceMoney / 10
+        }
+      }
+      // 积分支付计算
+      this.calcCredit()
+      // 加上每个商家的运费
+      this.settlement.shops.forEach((item) => {
+        this.totalPrice = this.totalPrice + (item.distribution.distributionPrice || 0)
+      })
+      this.recalcHuabei()
+    },
+    calcCredit() {
+      let shopsLen = this.settlement.shops.length
+      const skuRemainMap = this.calcSkuRemainMap()
+      const skuCreditMap = this.settlement.skuCreditMap;
+      if (skuCreditMap && this.integralRatio > 0) {
+        this.orderCreditThreshold = this.settlement.orderCreditThreshold
+        let remainUserCredit = this.settlement.userTotalCredit
+        let remainTotalPrice = Math.round((this.totalPrice + Number.EPSILON) * 100) / 100
+        let remainDeductLimit = this.settlement.creditDeductLimit
+        // 只有订单金额达到阈值,并且用户还有剩余的积分,才能进行积分抵扣
+        if (this.totalPrice >= this.orderCreditThreshold && remainUserCredit > 0 && remainDeductLimit > 0) {
+          for (let i = 0; i < shopsLen; i++) {
+            const curShop = this.settlement.shops[i]
+            let skuLen = curShop.skus.length
+            for (let j = 0; j < skuLen; j++) {
+              const curSku = curShop.skus[j]
+              const skuId = curSku.skuId
+              if (skuCreditMap[skuId] > 0 && skuRemainMap[skuId] > 0 && remainUserCredit > 0 && remainTotalPrice > 0) {
+                // 抵扣之后,必须保证整个订单至少还有0.01元,可用于支付
+                if (remainTotalPrice - skuRemainMap[skuId] < 0.01) {
+                  skuRemainMap[skuId] -= 0.01
+                }
+                // 按照比例换算成需要多少积分抵扣(取整)
+                let finalSkuCredit = parseInt((skuRemainMap[skuId] / this.integralRatio).toString());
+                // 优先以商家配置的商品可抵扣积分为准
+                if (skuCreditMap[skuId] < finalSkuCredit) {
+                  finalSkuCredit = skuCreditMap[skuId]
+                }
+                // 不能超过用户剩余积分
+                if (remainUserCredit < finalSkuCredit) {
+                  finalSkuCredit = remainUserCredit
+                }
+                // 不能超过整个订单可抵扣积分
+                if (remainDeductLimit < finalSkuCredit) {
+                  finalSkuCredit = remainDeductLimit
+                }
+                curSku.cachedCredit = finalSkuCredit
+                this.integralNum += finalSkuCredit
+                remainUserCredit -= finalSkuCredit
+                remainDeductLimit -= finalSkuCredit
+                remainTotalPrice -= finalSkuCredit
+              }
+            }
+          }
+        }
+        //计算抵扣价格
+        if (this.integralNum !== 0) {
+          this.integralNum = parseInt(this.integralNum)
+          this.integralPrice = this.integralNum * this.integralRatio
+          if (this.integralNum !== 0) {
+            this.integralShow = true
+          }
+          if (this.selectIntegral) {
+            this.totalPrice = this.totalPrice - this.integralPrice
+          }
+        } else {
+          this.integralShow = false
+        }
+      }
+    },
+    /**
+     * 计算sku在整个运单价格中的剩余价值 1元的订单,打1折优惠之后,剩余价值就是0.1元
+     */
+    calcSkuRemainMap() {
+      let skuRemainMap = {}
+      let shopsLen = this.settlement.shops.length
+      const skuCreditMap = this.settlement.skuCreditMap
+      for (let i = 0; i < shopsLen; i++) {
+        const curShop = this.settlement.shops[i]
+        let skuLen = curShop.skus.length
+        let checkedShopCoupon = undefined
+        curShop.shopCoupons.forEach((item) => {
+          if (item.checked) {
+            checkedShopCoupon = item
+          }
+        })
+        for (let j = 0; j < skuLen; j++) {
+          const curSku = curShop.skus[j]
+          const skuId = curSku.skuId
+          // 不是定价捆绑,并且有配置可抵扣的积分,才有必要计算比例
+          if (!curSku.priceId > 0 && skuCreditMap[skuId] > 0) {
+            let remainSkuMoney = curSku.price * curSku.number
+            if (checkedShopCoupon) {
+              let skuShopPercent = remainSkuMoney / curShop.total
+              let curReduceMoney = 0
+              if (checkedShopCoupon.couponType === 1) {
+                curReduceMoney = checkedShopCoupon.reduceMoney * skuShopPercent
+              } else {
+                curReduceMoney = remainSkuMoney * (10 - checkedShopCoupon.reduceMoney) / 10
+              }
+              remainSkuMoney = remainSkuMoney - curReduceMoney
+            }
+            // 使用平台券
+            if (this.checkedPlatformCoupon && remainSkuMoney > 0) {
+              // 满减
+              if (this.checkedPlatformCoupon.couponType === 1) {
+                let skuTotalPercent = remainSkuMoney / this.totalPrice
+                remainSkuMoney -= this.checkedPlatformCoupon.reduceMoney * skuTotalPercent
+              }
+              // 折扣
+              else {
+                remainSkuMoney = remainSkuMoney * this.checkedPlatformCoupon.reduceMoney / 10
+              }
+            }
+            skuRemainMap[skuId] = remainSkuMoney
+          }
+        }
+      }
+      return skuRemainMap
+    },
+    recalcHuabei() {
+      if (this.paymentMode === 3) {
+        this.fenqiFeeList[0] = this.totalPrice * (1 + this.huabeiFeerateList[0] / 100) / 3
+        this.fenqiFeeList[1] = this.totalPrice * (1 + this.huabeiFeerateList[1] / 100) / 6
+        this.fenqiFeeList[2] = this.totalPrice * (1 + this.huabeiFeerateList[2] / 100) / 12
+
+        this.chargeFeeList[0] = this.totalPrice * (this.huabeiFeerateList[0] / 100) / 3
+        this.chargeFeeList[1] = this.totalPrice * (this.huabeiFeerateList[1] / 100) / 6
+        this.chargeFeeList[2] = this.totalPrice * (this.huabeiFeerateList[2] / 100) / 12
+
+        var index = 0;
+        if (this.huabeiPeriod === 6) {
+          index = 1
+        } else if (this.huabeiPeriod === 12) {
+          index = 2
+        }
+        this.chargeFee = (this.totalPrice * (this.huabeiFeerateList[index] / 100)).toFixed(2)
+      }
+    },
+    // 展示平台端优惠券
+    showDiscount() {
+      // let shopifAdd = 1
+      // if(this.settlement.shops[this.shopIndex].shopCoupons.length>0){
+      // 	shopifAdd = this.settlement.shops[this.shopIndex].shopCoupons[this.shopCouIndex].ifAdd
+      // }
+      if (this.settlement.coupons.length > 0) {
+        for (let i = 0; i < this.selectShopCoupon.length; i++) {
+          if (this.selectShopCoupon[i].ifAdd == 0) {
+            uni.showToast({
+              title: '不可叠加已选择的店铺券',
+              icon: 'none'
+            })
+            return false
+          }
+        }
+        this.isShowDiscount = true
+      } else {
+        uni.showToast({
+          title: '暂无可用优惠券',
+          icon: 'none'
+        })
+      }
+    },
+    // 显示店铺优惠券
+    showShopCoupons(item, sIndex) {
+      if (item.shopCoupons.length > 0) {
+        this.isShopCoupons = true
+        this.shopCouponslist = item
+        this.shopCouponsLength = item.shopCoupons.length
+        this.shopIndex = sIndex
+      } else {
+        uni.showToast({
+          title: '暂无可用优惠券',
+          icon: 'none'
+        })
+      }
+    },
+    onDiscountClose() {
+      this.isShowDiscount = false
+    },
+    onshopClose() {
+      this.isShopCoupons = false
+    },
+    payTypeChange(event) {
+      this.paymentMode = event.target.value;
+      if (this.paymentMode === 3) {
+        this.huabeiDetail = true
+      } else {
+        this.huabeiDetail = false
+      }
+      this.recalcHuabei()
+    },
+    huabeiPeriodChange(event) {
+      this.huabeiPeriod = event.target.value
+      var feeRate = this.huabeiFeerateList[2]
+      if (this.huabeiPeriod === 3) {
+        feeRate = this.huabeiFeerateList[0]
+      } else if (this.huabeiPeriod === 6) {
+        feeRate = this.huabeiFeerateList[1]
+      }
+      this.chargeFee = (this.totalPrice * feeRate / 100).toFixed(2)
+    },
+    showHuabeiDetail() {
+      this.showHuabeiPopup = true
+    },
+    // submitOrder() {
+    // 	console.log('确认订单')
+    // },
+    submitOrder() {
+      const that = this
+      if (this.paymentMode === 0) {
+        uni.showToast({
+          title: '请选择支付方式',
+          icon: 'none'
+        })
+      } else {
+        if (this.oneClickSubmit) {
+          this.oneClickSubmit = false
+          if (this.userAddressInfo.receiveName) {
+            // uni.showLoading({
+            //   mask: true,
+            //   title: '订单提交中...',
+            // })
+            let couponIdinfo = 0
+            if (this.promotionInfoDTO.couponId) {
+              couponIdinfo = this.promotionInfoDTO.couponId
+            }
+            let data = {
+              shopDiscountId: null,
+              collageId: this.collageId,
+              type: this.sumitType,
+              shopGroupWorkId: null,
+              receiveId: this.receiveId,
+              couponId: couponIdinfo,
+              price: this.totalPrice,
+              remark: "",
+              shops: [],
+              discountPrice: this.discountPrice,
+              shopSeckillId: null
+            }
+            if (this.shopGroupWorkId > 0) {
+              data.shopGroupWorkId = this.shopGroupWorkId
+            }
+            if (this.skuItemDTOList != '') {
+              if (this.skuItemDTOList[0].shopDiscountId > 0) {
+                data.shopDiscountId = this.skuItemDTOList[0].shopDiscountId
+              } else if (this.skuItemDTOList[0].shopSeckillId > 0) {
+                data.shopSeckillId = this.skuItemDTOList[0].shopSeckillId
+              }
+            }
+            let datashopslen = this.settlement.shops.length
+            for (let n = 0; n < datashopslen; n++) {
+              let shopsobj = {}
+              shopsobj["shopId"] = this.settlement.shops[n].shopId
+              shopsobj["sceneId"] = this.settlement.shops[n].sceneId
+              shopsobj["distribution"] = {}
+              shopsobj["skus"] = []
+              if (this.settlement.shops[n].currentCoupon) {
+                shopsobj["id"] = this.settlement.shops[n].currentCoupon.id
+              }
+              data.shops.push(shopsobj)
+              data.shops[n].distribution.distributionPrice = this.settlement.shops[n].distribution.distributionPrice
+              data.shops[n].distribution.distributionName = this.settlement.shops[n].distribution.distributionName
+              let dataskuslen = this.settlement.shops[n].skus.length
+              for (let m = 0; m < dataskuslen; m++) {
+                let skusobj = {}
+                const curSku = this.settlement.shops[n].skus[m]
+                skusobj["skuId"] = curSku.skuId
+                skusobj["number"] = curSku.number
+                skusobj["ifLogistics"] = curSku.ifLogistics
+                skusobj["selected"] = curSku.selected
+                skusobj["platformSeckillId"] = curSku.platformSeckillId
+                skusobj["platformDiscountId"] = curSku.platformDiscountId
+                skusobj["shopSeckillId"] = curSku.shopSeckillId
+                skusobj["shopDiscountId"] = curSku.shopDiscountId
+                skusobj["sceneId"] = curSku.sceneId
+                skusobj["priceId"] = curSku.priceId
+                skusobj["useMember"] = curSku.useMember
+                skusobj["composeId"] = curSku.composeId
+                // 处理埋点id
+                this.pointProductIds += curSku.productId + ','
+                // 积分传参
+                if (this.selectIntegral && curSku.cachedCredit) {
+                  skusobj["useCredit"] = curSku.cachedCredit
+                  skusobj["useCreditAmount"] = (curSku.cachedCredit * this.integralRatio).toFixed(2)
+                }
+                data.shops[n].skus.push(skusobj)
+              }
+            }
+            // 去除最后一个,
+            // 先判断最后一位
+            if (this.pointProductIds.endsWith(',')) {
+              this.pointProductIds = this.pointProductIds.slice(0, -1)
+            }
+            // #ifdef H5
+            data.paymentMode = 1
+            data.subPaymentMode = 3
+            // #endif
+
+            // #ifdef MP-WEIXIN
+            data.paymentMode = 1
+            data.subPaymentMode = 1
+            // #endif
+
+            // #ifdef APP-PLUS
+            data.paymentMode = 1
+            // #endif
+
+            // #ifdef MP-ALIPAY
+            data.paymentMode = 2
+            data.subPaymentMode = 1
+            // #endif
+
+            // uni.hideLoading()
+            // uni.showLoading({
+            //   mask: true,
+            //   title: '结算中...',
+            // })
+            NET.request(API.PlaceOrder, data, 'POST').then(res => {
+              // 埋点
+              this.$store.dispatch('doPointer', {
+                eventType: 3,
+                productIds: this.pointProductIds
+              })
+              uni.hideLoading()
+              if (this.type == 2) {
+                let carSkusData = data.shops
+                let skusArr = []
+                for (let i = 0; i < carSkusData.length; i++) {
+                  carSkusData[i].skus.map(item => {
+                    skusArr.push(item.skuId)
+                  })
+                }
+                // 从购物车中点击结算时删除对应购物车商品
+                NET.request(API.DeleteCart, {
+                  ids: skusArr
+                }, 'POST').then(res => {
+                  console.log(res, '删除对应购物车商品')
+                }).catch(res => {
+                })
+              }
+              let submitResult = res.data
+              that.orderId = res.data.orderId
+              //console.log(submitResult, '测试')
+              submitResult.type = 1
+              submitResult.paymentMode = data.paymentMode
+              // #ifdef H5
+              let ua = navigator.userAgent.toLowerCase();
+              if (ua.match(/MicroMessenger/i) == "micromessenger") {
+                this.payRequest(submitResult)
+              } else {
+                NET.request(API.gotoH5Pay, submitResult, 'POST').then(res => {
+                  //console.dir(res)
+                  location.replace(res.data.mwebUrl)
+                  // window.location.replace(url)
+                }).catch(err => {
+                  this.submitActive = true
+                  uni.hideLoading()
+                  uni.showToast({
+                    title: '支付失败',
+                    icon: 'none'
+                  })
+                  uni.navigateTo({
+                    url: '../orderModule/index?type=1'
+                  })
+                })
+              }
+              // #endif
+              // #ifdef MP-ALIPAY
+              submitResult.huabeiPeriod = this.huabeiPeriod
+              submitResult.paymentMode = this.paymentMode
+              this.aliPay(submitResult)
+              // #endif
+
+              // #ifdef MP-WEIXIN
+              // uni.showLoading({
+              //   mask: true,
+              //   title: '支付中...',
+              // })
+              NET.request(API.gotoPay, submitResult, 'POST').then(res => {
+                uni.hideLoading()
+                console.dir(res, 'API.gotoPay')
+                let param = {
+                  orderId: submitResult.orderId,
+                  collageId: submitResult.collageId
+                }
+                uni.requestPayment({
+                  provider: 'wxpay',
+                  timeStamp: res.data.timeStamp,
+                  nonceStr: res.data.nonceStr,
+                  package: res.data.package,
+                  signType: res.data.signType,
+                  paySign: res.data.paySign,
+                  success: function (payRes) {
+                    // 拼团微信支付成功回调
+                    if (param.collageId) {
+                      console.log(param, ' param999999')
+                      NET.request(API.paySuccess, param, 'POST').then(res => {
+                        console.log(res, '支付成功')
+                      })
+                    }
+                    uni.showToast({
+                      icon: 'none',
+                      title: '支付成功'
+                    })
+                    //console.log(submitResult.orderId, 'order Id')
+                    uni.navigateTo({
+                      url: 'paySuccessful?orderId=' + submitResult.orderId
+                    })
+                  },
+                  fail: function (err) {
+                    uni.showToast({
+                      icon: 'none',
+                      title: '支付取消'
+                    })
+                    uni.navigateTo({
+                      url: '../orderModule/index?type=1'
+                    })
+                  }
+                })
+              }).catch(err => {
+                uni.showToast({
+                  title: '支付失败',
+                  icon: 'none'
+                })
+                uni.navigateTo({
+                  url: '../orderModule/index?type=1'
+                })
+              })
+              // #endif
+              // #ifdef APP-PLUS
+              // uni.showLoading({
+              //   mask: true,
+              //   title: '支付中...',
+              // })
+              //console.log(submitResult, 'app-submitResult')
+              NET.request(API.gotoAppPay, submitResult, 'POST').then(res => {
+                uni.hideLoading()
+                var obj = {
+                  appid: res.data.appId,
+                  noncestr: res.data.nonceStr,
+                  package: 'Sign=WXPay',
+                  prepayid: res.data.prepayId,
+                  timestamp: res.data.timeStamp,
+                  sign: res.data.paySign,
+                  partnerid: res.data.partnerId
+                }
+                uni.requestPayment({
+                  provider: 'wxpay',
+                  orderInfo: obj,
+                  success: function (payRes) {
+                    console.log('支付成功', payRes)
+                    uni.showToast({
+                      icon: 'none',
+                      title: '支付成功'
+                    })
+                    uni.navigateTo({
+                      url: 'paySuccessful?orderId=' + that.orderId
+                    })
+                  },
+                  fail: function (err) {
+                    //console.log(err)
+                    console.log('支付失败', err)
+                    uni.showToast({
+                      icon: 'none',
+                      title: '支付取消'
+                    })
+                    uni.navigateTo({
+                      url: '../orderModule/index?type=1'
+                    })
+                  }
+                })
+              }).catch(err => {
+                console.log(err, 'catch支付失败')
+                uni.hideLoading()
+                uni.showToast({
+                  title: '支付失败',
+                  icon: 'none'
+                })
+                uni.navigateTo({
+                  url: '../orderModule/index?type=1'
+                })
+              })
+              // #endif
+            }).catch(res => {
+              uni.hideLoading()
+              this.oneClickSubmit = true
+              uni.showToast({
+                title: '提交失败',
+                icon: 'none'
+              })
+            })
+          } else {
+            uni.showToast({
+              icon: 'none',
+              title: '请选择收货地址'
+            })
+          }
+        } else {
+          uni.showToast({
+            title: "已提交,请勿重新操作!",
+            icon: 'none'
+          })
+        }
+      }
+    },
+    // H5支付微信内置浏览器支付
+    // #ifdef H5
+    payRequest(payInfo) {
+      payInfo.paymentMode = 1
+      const that = this
+      NET.request(API.gotoPay, payInfo, 'POST').then(res => {
+        jweixin.config({
+          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+          appId: res.data.appId, // 必填,公众号的唯一标识
+          timestamp: res.data.timeStamp, // 必填,生成签名的时间戳
+          nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
+          signature: res.data.paySign, // 必填,签名,见附录1
+          jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+        });
+        jweixin.ready(function () {
+          jweixin.checkJsApi({
+            jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
+            success: function (res) {
+              // console.log('checkjsapi Success')
+              // console.log(res);
+            },
+            fail: function (res) {
+              // console.log('res')
+              // console.log(res);
+            }
+          });
+          jweixin.chooseWXPay({
+            timestamp: res.data.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
+            nonceStr: res.data.nonceStr, // 支付签名随机串,不长于 32 位
+            package: res.data.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
+            signType: res.data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
+            paySign: res.data.paySign, // 支付签名
+            success: function (res) {
+              // 支付成功后的回调函数
+              uni.showToast({
+                icon: 'none',
+                title: '支付成功'
+              })
+              uni.navigateTo({
+                url: 'paySuccessful?orderId=' + that.orderId
+              })
+            },
+            cancel: function (r) {
+              uni.showToast({
+                icon: 'none',
+                title: '取消支付'
+              })
+              uni.navigateTo({
+                url: '../orderModule/index?type=1'
+              })
+            },
+            fail: function (res) {
+              uni.showToast({
+                icon: 'none',
+                title: '支付失败'
+              })
+              uni.navigateTo({
+                url: '../orderModule/index?type=1'
+              })
+            }
+          });
+        });
+        jweixin.error(function (res) {
+          console.log('error')
+          console.log(res)
+          uni.showToast({
+            icon: 'none',
+            title: '支付失败了',
+            duration: 3000
+          });
+          uni.navigateTo({
+            url: '../orderModule/index?type=1'
+          })
+        });
+      }).catch(err => {
+      })
+    },
+    // #endif
+    aliPay(payInfo) {
+      const that = this
+      NET.request(API.gotoPay, payInfo, 'POST').then(res => {
+        console.log('alipay gotoPay-----------')
+        console.dir(res)
+        uni.requestPayment({
+          provider: 'alipay',
+          orderInfo: res.data.tradeNo,
+          success: function (payRes) {
+            if (payRes.resultCode == '6001') {
+              uni.showToast({
+                icon: 'none',
+                title: '取消支付'
+              })
+              uni.navigateTo({
+                url: '../orderModule/index?type=1'
+              })
+            }
+            if (payRes.resultCode == '9000') {
+              uni.showToast({
+                icon: 'none',
+                title: '支付成功'
+              })
+              uni.navigateTo({
+                url: 'paySuccessful?orderId=' + that.orderId
+              })
+            }
+          },
+          fail: function (err) {
+            uni.showToast({
+              icon: 'none',
+              title: '支付取消'
+            })
+            uni.navigateTo({
+              url: '../orderModule/index?type=1'
+            })
+          }
+        });
+      }).catch(err => {
+        uni.hideLoading()
+        uni.showToast({
+          title: '支付失败',
+          icon: 'none'
+        })
+        uni.navigateTo({
+          url: '../orderModule/index?type=1'
+        })
+      })
+    },
+    decidePayType() {
+      // #ifdef H5 || MP-WEIXIN || APP-PLUS
+      this.showWechatPayType = true
+      this.paymentMode = 1
+      // #endif
+
+      // #ifdef MP-ALIPAY
+      this.showAlipayPayType = true
+      this.showHuabeiPayType = true
+      this.paymentMode = 2
+      // #endif
+    }
+  }
+}
 </script>
 
 <style lang="scss">
-	page {
-		background-color: #F7F7F7;
-	}
-
-	.content {
-		padding: 0 30upx 198upx;
-		box-sizing: border-box;
-	}
-
-	.address-box {
-		margin-top: 20upx;
-		background: #fff;
-		border-radius: 10upx;
-		width: 100%;
-		padding: 30upx;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		margin-bottom: 20rpx;
-	}
-
-	.address-box .address-img {
-		width: 71upx;
-		height: 57upx;
-		margin-right: 20upx;
-	}
-
-	.address-box .address-r {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		font-size: 28upx;
-		color: #333;
-	}
-
-	.arrow-right-img {
-		width: 62upx;
-		height: 62upx;
-		margin-left: 20upx;
-	}
-
-	.address-name-box {
-		font-size: 30upx;
-		color: #333;
-	}
-
-	.phone {
-		font-size: 24upx;
-		color: #999;
-		margin-left: 20upx;
-	}
-
-	.address-info {
-		font-size: 28upx;
-		color: #333;
-		margin-top: 15upx;
-	}
-
-	.order-list-box .item {
-		background: #fff;
-		border-radius: 10upx;
-	}
-
-	.order-list-top {
-		height: 96upx;
-		padding: 0 30upx;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		border-bottom: 2rpx solid #eee;
-	}
-
-	.top-l {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.shop-img {
-		width: 34upx;
-		height: 34upx;
-		margin-right: 10upx;
-	}
-
-	.shop-name {
-		font-size: 30upx;
-		color: #333;
-		font-weight: bold;
-	}
-
-	.arrow-img {
-		margin-left: 15upx;
-		width: 62upx;
-		height: 62upx;
-	}
-
-	.order-info-box {
-		padding: 0 30upx;
-		box-sizing: border-box;
-	}
-
-	.order-info-item {
-		display: flex;
-		flex-direction: row;
-		padding: 20upx 0;
-	}
-
-	.product-img {
-		width: 180upx;
-		height: 180upx;
-		border-radius: 10upx;
-		margin-right: 30upx;
-	}
-
-	.info-box {
-		flex: 1;
-	}
-
-	.product-name {
-		font-size: 26upx;
-		color: #333;
-		height: 68upx;
-		line-height: 34upx;
-		display: -webkit-box;
-		overflow: hidden;
-		text-overflow: ellipsis;
-		word-break: break-all;
-		-webkit-box-orient: vertical;
-		-webkit-line-clamp: 2;
-	}
-
-	.price-sku-box {
-		width: 100%;
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-	}
-
-	.product-sku {
-		font-size: 24upx;
-		font-weight: 500;
-		color: #999;
-		margin-left: -20upx;
-		width: 100%;
-		display: flex;
-		flex-direction: row;
-	}
-
-	.product-price {
-		font-size: 32upx;
-		color: #C83732;
-		font-weight: 400;
-	}
-
-	.product-price .fuhao {
-		font-size: 28upx;
-	}
-
-	.product-num {
-		font-size: 28upx;
-		color: #999;
-		font-weight: 400;
-	}
-
-	.adressTips {
-		margin-bottom: 19rpx;
-		color: #D53912;
-	}
-
-	.delivery-way-box {
-		display: flex;
-		flex-direction: column;
-		border: 2rpx solid #E4E5E6;
-		padding: 20rpx;
-		margin-bottom: 20rpx;
-		box-sizing: content-box;
-	}
-
-	.delivery-way-box .item {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		font-size: 26upx;
-		color: #333;
-	}
-
-	.delivery-way-box .item .way {
-		color: #999;
-		margin-left: 30upx;
-	}
-
-	.order-total-box {
-		padding: 20upx 0;
-		text-align: right;
-	}
-
-	.total-num {
-		font-size: 26upx;
-		color: #333;
-	}
-
-	.total-price {
-		font-size: 46rpx;
-		color: #333333;
-	}
-
-	.ml10 {
-		margin-left: 10upx;
-	}
-
-	.order-flow-box {
-		display: flex;
-		flex-direction: column;
-	}
-
-	.flow-word {
-		font-size: 24upx;
-		color: #999;
-		display: flex;
-		flex-direction: column;
-	}
-
-	.mt25 {
-		margin-top: 20upx;
-	}
-
-	.mt50 {
-		margin-top: 30upx;
-		margin-bottom: 20upx;
-	}
-
-	.order-confirm-box {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		width: 100%;
-		background: #fff;
-		padding: 30upx;
-	}
-
-	.num-box {
-		font-size: 30upx;
-		color: #999;
-	}
-
-	.num-box .total {
-		color: #333;
-	}
-
-	.num-box .price {
-		color: #ff7911;
-		font-weight: bold;
-	}
-
-	.order-confirm-box .btn {
-		width: 100%;
-		height: 80rpx;
-		line-height: 80rpx;
-		background: #eee;
-		font-size: 28rpx;
-		color: #FFEBC4;
-		text-align: center;
-		margin-top: 20rpx;
-	}
-
-	.order-confirm-box .btn.active {
-		background: #333333;
-		color: #FFEBC4;
-	}
-
-	.order-confirm-box .btn.unActive {
-		background: #333333;
-		color: #FFEBC4;
-		opacity: 0.7;
-	}
-
-	.discount-item1 {
-		width: 100%;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		background: white;
-		padding: 20rpx;
-		border: 2rpx solid #E4E5E6;
-	}
-
-	.discount-item {
-		width: 100%;
-		height: 98upx;
-		box-sizing: border-box;
-		margin: 30upx 0;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: space-between;
-		padding: 0 20upx;
-		background: white;
-	}
-
-	.pay-type-item {
-		.pay-type-radio {
-			background-color: white;
-			border-bottom: 1upx solid #EDEDED;
-			margin-bottom: 20upx;
-			padding: 24upx 20upx 24upx 20upx;
-
-			.pay-type-img {
-				display: inline-block;
-
-				.pay-type-img-inner {
-					width: 50upx;
-					height: 50upx;
-					vertical-align: middle;
-				}
-			}
-
-			.pay-type-label {
-				vertical-align: middle;
-				margin-left: 30upx;
-			}
-
-			.pay-type-radio-item {
-				float: right;
-				width: 50upx;
-				height: 50upx;
-			}
-
-			.huabei-detail {
-				margin-top: 20upx;
-
-				.fenqi-wenzi {
-					display: inline-block;
-					margin-left: 64upx;
-				}
-
-				.fenqi-amount {
-					display: block;
-					margin-left: 64upx;
-					margin-top: 14upx;
-					color: #BABBBC;
-				}
-
-				.fenqi-charge-fee {
-					float: right;
-					margin-right: 68upx;
-					color: #BABBBC;
-				}
-
-				.fenqi-modal {
-					width: 40upx;
-					height: 40upx;
-					margin-left: 20upx;
-					float: right;
-					position: relative;
-					top: -80upx;
-				}
-			}
-		}
-	}
-
-	.period-radio {
-		margin: 30upx;
-		width: 95%;
-		border-bottom: 1px solid #EFEFEF;
-
-		.period-amount {
-			display: inline-block;
-
-			.period-each-charge {
-				display: inline-block;
-				margin-top: 12upx;
-				margin-left: 6upx;
-				font-size: 26upx;
-				color: #b7b7b7;
-				margin-bottom: 13upx;
-			}
-		}
-
-		.period-each {
-			display: block;
-		}
-
-		.period-type-radio-item {
-			float: right;
-		}
-	}
-
-	.huabei-confirm {
-		height: 120upx;
-		padding: 0upx 108upx 0upx 32upx;
-
-		.fenqi-all {
-			display: inline-block;
-			width: 100%;
-		}
-
-		.fenqi-total-amount {
-			float: left;
-		}
-
-		.fenqi-confirm {
-			float: right;
-			width: 160upx;
-			padding: 0upx 20upx;
-
-			.btn {
-				width: 216upx;
-				height: 80upx;
-				line-height: 80upx;
-				border-radius: 40upx;
-				font-size: 28upx;
-				text-align: center;
-				background: linear-gradient(90deg, rgba(255, 162, 0, 1), rgba(255, 121, 17, 1));
-				color: #fff;
-				display: inline-block;
-				margin-right: 66upx;
-			}
-		}
-	}
-
-	.discount-info-box {
-		display: flex;
-		flex-direction: row;
-	}
-
-	.discount-label,
-	.discount-info1 {
-		font-size: 26upx;
-		color: #333;
-	}
-
-	.discount-info2 {
-		color: #C5AA7B;
-	}
-
-	.discount-img {
-		width: 30upx;
-		height: 30upx;
-		margin-left: 20upx;
-	}
-
-	.activity-con {
-		.activity-box {
-			display: flex;
-			flex-direction: column;
-			width: 100%;
-			height: 1000upx;
-		}
-
-	}
-
-	.activity-box .title-box {
-		width: 100%;
-		height: 100upx;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-		border-bottom: solid 1px #EEEEEE;
-	}
-
-	.activity-coupon-box {
-		display: flex;
-		flex-direction: column;
-		width: 100%;
-		overflow: auto;
-		flex: 1;
-	}
-
-	.title-box .close-btn {
-		width: 100upx;
-		height: 100upx;
-		box-sizing: border-box;
-		padding: 30upx;
-		position: absolute;
-		top: 0;
-		right: 0;
-	}
-
-	.content-box {
-		width: 100%;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: column;
-		padding: 30upx;
-	}
-
-	.tag-box {
-		width: 100%;
-		box-sizing: border-box;
-		height: 80upx;
-		line-height: 80upx;
-		font-size: 28upx;
-		font-weight: 500;
-		color: #FF7911;
-	}
-
-	.label-lingqu {
-		width: 100%;
-		font-size: 28upx;
-		font-weight: 500;
-		color: rgba(51, 51, 51, 1);
-	}
-
-	.coupon-item1 {
-		width: 690upx;
-		height: 120upx;
-		margin-top: 20upx;
-		color: #FFFFFF;
-		flex-shrink: 0;
-	}
-
-	.coupon-item2 {
-		width: 690upx;
-		height: 120upx;
-		background-size: 690upx 120upx;
-		margin-top: 20upx;
-		color: rgba(255, 121, 17, 1);
-		flex-shrink: 0
-	}
-
-	.un-coupon-item {
-		color: #bbb;
-	}
-
-	.money-box {
-		font-size: 40upx;
-		font-weight: 500;
-
-	}
-
-	.info-box {
-		font-size: 24upx;
-		font-weight: 400;
-		margin: 10rpx;
-	}
-
-
-	.receive-success {
-		width: 100%;
-		position: fixed;
-		top: 0;
-		bottom: 0;
-		left: 0;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		z-index: 9999;
-	}
-
-	.success-box {
-		width: 380upx;
-		height: 280upx;
-		background: rgba(0, 0, 0, 0.5);
-		border-radius: 10upx;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.success-box .success-img {
-		width: 200upx;
-		height: 130upx;
-	}
-
-	.success-box .text {
-		font-size: 28upx;
-		margin-top: 50upx;
-		font-weight: 400;
-		color: rgba(255, 255, 255, 1);
-	}
-
-	.check-img {
-		width: 40upx;
-		height: 40upx;
-		margin-top: 40rpx;
-	}
-
-	.mt30 {
-		margin-top: 30upx;
-	}
-
-	.activity-con {
-		.activity-box {
-			display: flex;
-			flex-direction: column;
-			width: 100%;
-			height: 1000upx;
-		}
-
-	}
-
-	.activity-box .title-box {
-		width: 100%;
-		height: 100upx;
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-		border-bottom: solid 1px #EEEEEE;
-	}
-
-	.activity-coupon-box {
-		display: flex;
-		flex-direction: column;
-		width: 100%;
-		overflow: auto;
-		flex: 1;
-	}
-
-	.title-box .close-btn {
-		width: 100upx;
-		height: 100upx;
-		box-sizing: border-box;
-		padding: 30upx;
-		position: absolute;
-		top: 0;
-		right: 0;
-	}
-
-	.content-box {
-		width: 100%;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: column;
-		padding: 30upx;
-	}
-
-	.tag-box {
-		width: 100%;
-		box-sizing: border-box;
-		height: 80upx;
-		line-height: 80upx;
-		font-size: 28upx;
-		font-weight: 500;
-		color: #FF7911;
-	}
-
-	.label-lingqu {
-		width: 100%;
-		font-size: 28upx;
-		font-weight: 500;
-		color: rgba(51, 51, 51, 1);
-	}
-
-	.couponBox {
-		display: flex;
-		flex-flow: wrap;
-		margin-top: 30rpx;
-		justify-content: space-between;
-	}
-
-	.coupon-item {
-		width: 48%;
-		height: 291rpx;
-		background: url("https://ceres.zkthink.com/static/images/couponsIcon.png") no-repeat center top;
-		margin-top: 20upx;
-		color: #C5AA7B;
-		flex-shrink: 0;
-		text-align: center;
-		padding-top: 1rpx;
-		background-size: contain;
-	}
-
-	.un-coupon-item {
-		color: #bbb;
-	}
-
-	.money-box {
-		font-size: 40upx;
-		font-weight: 500;
-		margin-top: 30rpx;
-	}
-
-	.integralPayBox {
-		margin: 20rpx 0;
-
-		.integralBg {
-			height: 98rpx;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			background: #FFFFFF;
-			padding: 0 20rpx;
-
-			.maxDeduction {
-				margin-right: 15rpx;
-			}
-		}
-	}
+page {
+  background-color: #F7F7F7;
+}
+
+.content {
+  padding: 0 30rpx 198rpx;
+  box-sizing: border-box;
+}
+
+.address-box {
+  margin-top: 20rpx;
+  background: #fff;
+  border-radius: 10rpx;
+  width: 100%;
+  padding: 30rpx;
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  margin-bottom: 20rpx;
+}
+
+.address-box .address-img {
+  width: 71rpx;
+  height: 57rpx;
+  margin-right: 20rpx;
+}
+
+.address-box .address-r {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  font-size: 28rpx;
+  color: #333;
+}
+
+.arrow-right-img {
+  width: 62rpx;
+  height: 62rpx;
+  margin-left: 20rpx;
+}
+
+.address-name-box {
+  font-size: 30rpx;
+  color: #333;
+}
+
+.phone {
+  font-size: 24rpx;
+  color: #999;
+  margin-left: 20rpx;
+}
+
+.address-info {
+  font-size: 28rpx;
+  color: #333;
+  margin-top: 15rpx;
+}
+
+.order-list-box .item {
+  background: #fff;
+  border-radius: 10rpx;
+}
+
+.order-list-top {
+  height: 96rpx;
+  padding: 0 30rpx;
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  border-bottom: 2rpx solid #eee;
+}
+
+.top-l {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+
+.shop-img {
+  width: 34rpx;
+  height: 34rpx;
+  margin-right: 10rpx;
+}
+
+.shop-name {
+  font-size: 30rpx;
+  color: #333;
+  font-weight: bold;
+}
+
+.arrow-img {
+  margin-left: 15rpx;
+  width: 62rpx;
+  height: 62rpx;
+}
+
+.order-info-box {
+  padding: 0 30rpx;
+  box-sizing: border-box;
+}
+
+.order-info-item {
+  display: flex;
+  flex-direction: row;
+  padding: 20rpx 0;
+}
+
+.product-img {
+  width: 180rpx;
+  height: 180rpx;
+  border-radius: 10rpx;
+  margin-right: 30rpx;
+}
+
+.info-box {
+  flex: 1;
+}
+
+.product-name {
+  font-size: 26rpx;
+  color: #333;
+  height: 68rpx;
+  line-height: 34rpx;
+  display: -webkit-box;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  word-break: break-all;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+}
+
+.price-sku-box {
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+}
+
+.product-sku {
+  font-size: 24rpx;
+  font-weight: 500;
+  color: #999;
+  margin-left: -20upx;
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+}
+
+.product-price {
+  font-size: 32rpx;
+  color: #C83732;
+  font-weight: 400;
+}
+
+.product-price .fuhao {
+  font-size: 28rpx;
+}
+
+.product-num {
+  font-size: 28rpx;
+  color: #999;
+  font-weight: 400;
+}
+
+.adressTips {
+  margin-bottom: 19rpx;
+  color: #D53912;
+}
+
+.delivery-way-box {
+  display: flex;
+  flex-direction: column;
+  border: 2rpx solid #E4E5E6;
+  padding: 20rpx;
+  margin-bottom: 20rpx;
+  box-sizing: content-box;
+}
+
+.delivery-way-box .item {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 26rpx;
+  color: #333;
+}
+
+.delivery-way-box .item .way {
+  color: #999;
+  margin-left: 30rpx;
+}
+
+.order-total-box {
+  padding: 20rpx 0;
+  text-align: right;
+}
+
+.total-num {
+  font-size: 26rpx;
+  color: #333;
+}
+
+.total-price {
+  font-size: 46rpx;
+  color: #333333;
+}
+
+.ml10 {
+  margin-left: 10rpx;
+}
+
+.order-flow-box {
+  display: flex;
+  flex-direction: column;
+}
+
+.flow-word {
+  font-size: 24rpx;
+  color: #999;
+  display: flex;
+  flex-direction: column;
+}
+
+.mt25 {
+  margin-top: 20rpx;
+}
+
+.mt50 {
+  margin-top: 30rpx;
+  margin-bottom: 20rpx;
+}
+
+.order-confirm-box {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  background: #fff;
+  padding: 30rpx;
+}
+
+.num-box {
+  font-size: 30rpx;
+  color: #999;
+}
+
+.num-box .total {
+  color: #333;
+}
+
+.num-box .price {
+  color: #ff7911;
+  font-weight: bold;
+}
+
+.order-confirm-box .btn {
+  width: 100%;
+  height: 80rpx;
+  line-height: 80rpx;
+  background: #eee;
+  font-size: 28rpx;
+  color: #FFEBC4;
+  text-align: center;
+  margin-top: 20rpx;
+}
+
+.order-confirm-box .btn.active {
+  background: #333333;
+  color: #FFEBC4;
+}
+
+.order-confirm-box .btn.unActive {
+  background: #333333;
+  color: #FFEBC4;
+  opacity: 0.7;
+}
+
+.discount-item1 {
+  width: 100%;
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  background: white;
+  padding: 20rpx;
+  border: 2rpx solid #E4E5E6;
+}
+
+.discount-item {
+  width: 100%;
+  height: 98rpx;
+  box-sizing: border-box;
+  margin: 30rpx 0;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0 20rpx;
+  background: white;
+}
+
+.pay-type-item {
+  .pay-type-radio {
+    background-color: white;
+    border-bottom: 1rpx solid #EDEDED;
+    margin-bottom: 20rpx;
+    padding: 24rpx 20rpx 24rpx 20rpx;
+
+    .pay-type-img {
+      display: inline-block;
+
+      .pay-type-img-inner {
+        width: 50rpx;
+        height: 50rpx;
+        vertical-align: middle;
+      }
+    }
+
+    .pay-type-label {
+      vertical-align: middle;
+      margin-left: 30rpx;
+    }
+
+    .pay-type-radio-item {
+      float: right;
+      width: 50rpx;
+      height: 50rpx;
+    }
+
+    .huabei-detail {
+      margin-top: 20rpx;
+
+      .fenqi-wenzi {
+        display: inline-block;
+        margin-left: 64rpx;
+      }
+
+      .fenqi-amount {
+        display: block;
+        margin-left: 64rpx;
+        margin-top: 14rpx;
+        color: #BABBBC;
+      }
+
+      .fenqi-charge-fee {
+        float: right;
+        margin-right: 68rpx;
+        color: #BABBBC;
+      }
+
+      .fenqi-modal {
+        width: 40rpx;
+        height: 40rpx;
+        margin-left: 20rpx;
+        float: right;
+        position: relative;
+        top: -80upx;
+      }
+    }
+  }
+}
+
+.period-radio {
+  margin: 30rpx;
+  width: 95%;
+  border-bottom: 1px solid #EFEFEF;
+
+  .period-amount {
+    display: inline-block;
+
+    .period-each-charge {
+      display: inline-block;
+      margin-top: 12rpx;
+      margin-left: 6rpx;
+      font-size: 26rpx;
+      color: #b7b7b7;
+      margin-bottom: 13rpx;
+    }
+  }
+
+  .period-each {
+    display: block;
+  }
+
+  .period-type-radio-item {
+    float: right;
+  }
+}
+
+.huabei-confirm {
+  height: 120rpx;
+  padding: 0rpx 108rpx 0rpx 32rpx;
+
+  .fenqi-all {
+    display: inline-block;
+    width: 100%;
+  }
+
+  .fenqi-total-amount {
+    float: left;
+  }
+
+  .fenqi-confirm {
+    float: right;
+    width: 160rpx;
+    padding: 0rpx 20rpx;
+
+    .btn {
+      width: 216upx;
+      height: 80rpx;
+      line-height: 80rpx;
+      border-radius: 40rpx;
+      font-size: 28rpx;
+      text-align: center;
+      background: linear-gradient(90deg, rgba(255, 162, 0, 1), rgba(255, 121, 17, 1));
+      color: #fff;
+      display: inline-block;
+      margin-right: 66rpx;
+    }
+  }
+}
+
+.discount-info-box {
+  display: flex;
+  flex-direction: row;
+}
+
+.discount-label,
+.discount-info1 {
+  font-size: 26rpx;
+  color: #333;
+}
+
+.discount-info2 {
+  color: #C5AA7B;
+}
+
+.discount-img {
+  width: 30rpx;
+  height: 30rpx;
+  margin-left: 20rpx;
+}
+
+.activity-con {
+  .activity-box {
+    display: flex;
+    flex-direction: column;
+    width: 100%;
+    height: 1000rpx;
+  }
+
+}
+
+.activity-box .title-box {
+  width: 100%;
+  height: 100rpx;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  position: relative;
+  border-bottom: solid 1px #EEEEEE;
+}
+
+.activity-coupon-box {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  overflow: auto;
+  flex: 1;
+}
+
+.title-box .close-btn {
+  width: 100rpx;
+  height: 100rpx;
+  box-sizing: border-box;
+  padding: 30rpx;
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+
+.content-box {
+  width: 100%;
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  padding: 30rpx;
+}
+
+.tag-box {
+  width: 100%;
+  box-sizing: border-box;
+  height: 80rpx;
+  line-height: 80rpx;
+  font-size: 28rpx;
+  font-weight: 500;
+  color: #FF7911;
+}
+
+.label-lingqu {
+  width: 100%;
+  font-size: 28rpx;
+  font-weight: 500;
+  color: rgba(51, 51, 51, 1);
+}
+
+.coupon-item1 {
+  width: 690rpx;
+  height: 120rpx;
+  margin-top: 20rpx;
+  color: #FFFFFF;
+  flex-shrink: 0;
+}
+
+.coupon-item2 {
+  width: 690rpx;
+  height: 120rpx;
+  background-size: 690rpx 120rpx;
+  margin-top: 20rpx;
+  color: rgba(255, 121, 17, 1);
+  flex-shrink: 0
+}
+
+.un-coupon-item {
+  color: #bbb;
+}
+
+.money-box {
+  font-size: 40rpx;
+  font-weight: 500;
+
+}
+
+.info-box {
+  font-size: 24rpx;
+  font-weight: 400;
+  margin: 10rpx;
+}
+
+
+.receive-success {
+  width: 100%;
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  z-index: 9999;
+}
+
+.success-box {
+  width: 380rpx;
+  height: 280rpx;
+  background: rgba(0, 0, 0, 0.5);
+  border-radius: 10rpx;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+}
+
+.success-box .success-img {
+  width: 200rpx;
+  height: 130rpx;
+}
+
+.success-box .text {
+  font-size: 28rpx;
+  margin-top: 50rpx;
+  font-weight: 400;
+  color: rgba(255, 255, 255, 1);
+}
+
+.check-img {
+  width: 40rpx;
+  height: 40rpx;
+  margin-top: 40rpx;
+}
+
+.mt30 {
+  margin-top: 30rpx;
+}
+
+.activity-con {
+  .activity-box {
+    display: flex;
+    flex-direction: column;
+    width: 100%;
+    height: 1000rpx;
+  }
+
+}
+
+.activity-box .title-box {
+  width: 100%;
+  height: 100rpx;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  position: relative;
+  border-bottom: solid 1px #EEEEEE;
+}
+
+.activity-coupon-box {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  overflow: auto;
+  flex: 1;
+}
+
+.title-box .close-btn {
+  width: 100rpx;
+  height: 100rpx;
+  box-sizing: border-box;
+  padding: 30rpx;
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+
+.content-box {
+  width: 100%;
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  padding: 30rpx;
+}
+
+.tag-box {
+  width: 100%;
+  box-sizing: border-box;
+  height: 80rpx;
+  line-height: 80rpx;
+  font-size: 28rpx;
+  font-weight: 500;
+  color: #FF7911;
+}
+
+.label-lingqu {
+  width: 100%;
+  font-size: 28rpx;
+  font-weight: 500;
+  color: rgba(51, 51, 51, 1);
+}
+
+.couponBox {
+  display: flex;
+  flex-flow: wrap;
+  margin-top: 30rpx;
+  justify-content: space-between;
+}
+
+.coupon-item {
+  width: 48%;
+  height: 291rpx;
+  background: url("https://ceres.zkthink.com/static/images/couponsIcon.png") no-repeat center top;
+  margin-top: 20rpx;
+  color: #C5AA7B;
+  flex-shrink: 0;
+  text-align: center;
+  padding-top: 1rpx;
+  background-size: contain;
+}
+
+.un-coupon-item {
+  color: #bbb;
+}
+
+.money-box {
+  font-size: 40rpx;
+  font-weight: 500;
+  margin-top: 30rpx;
+}
+
+.integralPayBox {
+  margin: 20rpx 0;
+
+  .integralBg {
+    height: 98rpx;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    background: #FFFFFF;
+    padding: 0 20rpx;
+
+    .maxDeduction {
+      margin-right: 15rpx;
+    }
+  }
+}
 </style>
 <style>
-	.pay-type-item /deep/ .uni-radio-input-checked {
-		background-color: #C5AA7B !important;
-		border-color: #C5AA7B !important;
-	}
-
-	.maxIntegral /deep/ .uni-checkbox-input {
-		width: 30rpx;
-		height: 30rpx;
-	}
-
-	.maxIntegral /deep/ .uni-checkbox-input-checked:before {
-		font-size: 30rpx;
-	}
-
-	.maxIntegral /deep/ .uni-checkbox-input-checked {
-		border: 2rpx solid #C5AA7B !important;
-	}
+.pay-type-item /deep/ .uni-radio-input-checked {
+  background-color: #C5AA7B !important;
+  border-color: #C5AA7B !important;
+}
+
+.maxIntegral /deep/ .uni-checkbox-input {
+  width: 30rpx;
+  height: 30rpx;
+}
+
+.maxIntegral /deep/ .uni-checkbox-input-checked:before {
+  font-size: 30rpx;
+}
+
+.maxIntegral /deep/ .uni-checkbox-input-checked {
+  border: 2rpx solid #C5AA7B !important;
+}
 </style>

File diff ditekan karena terlalu besar
+ 578 - 491
pages_category_page1/orderModule/orderDetails.vue


+ 6 - 4
pages_category_page1/orderModule/paySuccessful.vue

@@ -1,5 +1,7 @@
 <template>
   <view class="payCourteous">
+    <global-loading />
+
     <view class="payTitBox flex-items flex-center" :style="{'padding-top': topHeight + 'px'}">
       <view class="payTit fs30">支付成功</view>
     </view>
@@ -88,10 +90,10 @@ export default {
       })
     },
     getOrderPoliteFn() {
-      uni.showLoading({
-        mask: true,
-        title: '加载中...',
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...',
+      // })
       NET.request(API.getOrderPolite,{
         orderId: this.orderId
       },'GET').then(res => {

+ 7 - 5
pages_category_page1/orderModule/platformJoin.vue

@@ -1,7 +1,9 @@
 <!-- 退货/退款上传凭证 -->
 <template>
 	<view>
-		<view class="content">
+    <global-loading />
+
+    <view class="content">
 			<view class="afterSale-select-box mt20">
 				<view class="item item-start">
 					<view class="l"><text class="font-color-C5AA7B">*</text>问题描述</view>
@@ -63,10 +65,10 @@ const API = require('../../config/api')
             this.commentImgs += this.fileList[i].response.data.url+','
           }
         }
-        uni.showLoading({
-          mask: true,
-          title:'正在申请介入...'
-        })
+        // uni.showLoading({
+        //   mask: true,
+        //   title:'正在申请介入...'
+        // })
         NET.request(API.platform, {
           afterId: this.afterId,
           orderId: this.orderId,

+ 7 - 5
pages_category_page1/store/index.vue

@@ -1,6 +1,8 @@
 <template>
 	<view class="container">
-		<!-- 店铺首页 -->
+    <global-loading />
+
+    <!-- 店铺首页 -->
 		<view class="content" v-if="id">
 			<view class="shop-top" :style="{'padding-top': topHeight + 'px'}">
 				<image src="https://ceres.zkthink.com/static/images/back_img04.png" class="back" @click="back"></image>
@@ -239,10 +241,10 @@
 					pageSize: this.pageSize,
 					groupId: this.classifyId
 				}
-				uni.showLoading({
-					title: '加载中...',
-					mask: true
-				});
+				// uni.showLoading({
+				// 	title: '加载中...',
+				// 	mask: true
+				// });
 				NET.request(API.GetStore, data, 'GET').then(res => {
 					uni.hideLoading()
 					if (res.data.page.list.length == 0) {

+ 15 - 12
pages_category_page2/channelCoupon/index.vue

@@ -1,5 +1,6 @@
 <template>
   <view class="channel-coupon">
+    <global-loading />
     <view class="details">
       <swiper class="swiper" :indicator-dots="true" :autoplay="true">
         <swiper-item v-for="(imgItem, index) in channelCouponData.productImageList" :key="index">
@@ -81,10 +82,12 @@
 </template>
 
 <script>
+import GlobalLoading from "../../components/GlobalLoading";
 const NET = require('../../utils/request')
 const API = require('../../config/api')
 export default {
   name: "channelCoupon",
+  components: {GlobalLoading},
   data() {
     return {
       channelCouponData:{},
@@ -110,15 +113,15 @@ export default {
   methods:{
     // 获取渠道优惠券
     getChannelCoupon(){
-      uni.showLoading({
-        mask: true,
-        title: '加载中...'
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...'
+      // })
       NET.request(API.getChannelCoupon, this.params, 'GET').then(res => {
         this.channelCouponData = res.data
-        uni.hideLoading()
+        // uni.hideLoading()
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
         uni.showToast({
           title: '失败',
           icon: "none"
@@ -127,10 +130,10 @@ export default {
     },
     // 获取推荐产品
     getProductList(){
-      uni.showLoading({
-        mask: true,
-        title: '加载中...'
-      })
+      // uni.showLoading({
+      //   mask: true,
+      //   title: '加载中...'
+      // })
       var params ={
         page: 1,
         pageSize: 10,
@@ -138,9 +141,9 @@ export default {
       }
       NET.request(API.getRandomProduct, params, 'GET').then(res => {
         this.productList = res.data.list
-        uni.hideLoading()
+        // uni.hideLoading()
       }).catch(res => {
-        uni.hideLoading()
+        // uni.hideLoading()
       })
     },
     // 领取优惠券

+ 8 - 7
pages_category_page2/distributionModule/distributionOrder.vue

@@ -1,6 +1,7 @@
 <template>
 	<view>
-		<view v-if="FindMySalesData.total>0">
+    <global-loading />
+    <view v-if="FindMySalesData.total>0">
 			<view  class="flex-center clientList-box" v-for="(item, index) in FindMySalesDatalist" :key="index">
 				<view class="directAward-box font-color-656 fs26">
 					<view class="directAward-icon flex-row-plus flex-items flex-sp-between" @click="arrowTypeChange(index)">
@@ -64,17 +65,17 @@
 		},
 		methods: {
 			getSalesOrderPage() {
-				uni.showLoading({
-          mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.FindMySalesPage, {
 					shopId: this.shopId,
 					distributorId: this.distributorId,
 					page:this.page,
 					pageSize:this.pageSize,
 				}, 'GET').then(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 					if(res.data.list.length == 0){
 						this.loadingType = 1
 						this.page = this.page
@@ -82,7 +83,7 @@
 					this.FindMySalesDatalist = this.FindMySalesDatalist.concat(res.data.list)
 					this.FindMySalesData = res.data
 				}).catch(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 
 				})
 			},

+ 17 - 16
pages_category_page2/orderModule/afterSale.vue

@@ -1,7 +1,8 @@
 <!-- 售后列表 -->
 <template>
 	<view>
-		<view class="content">
+    <global-loading />
+    <view class="content">
 			<view class="order-list-box">
 				<view>
 					<view class="item" v-for="item in FindReturnDatalist">
@@ -163,14 +164,14 @@
 			},
 			// 获取售后列表数据
 			getFindReturn() {
-				uni.showLoading({
-					title:'加载中...'
-				})
+				// uni.showLoading({
+				// 	title:'加载中...'
+				// })
 				NET.request(API.FindReturnList, {
 					page: this.page,
 					pageSize:this.pageSize,
 				}, 'GET').then(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 					if(res.data.list.length == 0){
 						this.loadingType = 1
 						this.page = this.page
@@ -181,7 +182,7 @@
           }
 					this.FindReturnData = res.data
 				}).catch(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 
 				})
 			},
@@ -192,13 +193,13 @@
       },
       delRecordFn () {
         this.delRecord = false
-        uni.showLoading({
-          title:'正在删除...'
-        })
+        // uni.showLoading({
+        //   title:'正在删除...'
+        // })
         NET.request(API.deleteAfter, {
           id: this.currentAfterId,
         }, 'POST').then(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
           uni.showToast({
             title:'删除成功',
             icon:'none',
@@ -211,7 +212,7 @@
             this.getFindReturn()
           }, 2000);
         }).catch(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
         })
       },
 			// 撤销申请
@@ -220,14 +221,14 @@
 			},
 			// 退款
 			Delete(item){
-				uni.showLoading({
-					title:'正在撤销退款...'
-				})
+				// uni.showLoading({
+				// 	title:'正在撤销退款...'
+				// })
 				NET.request(API.CancelRefund, {
 					afterId:item.afterId,
 					orderId:item.orderId
 				}, 'POST').then(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 					uni.showToast({
 						title:'撤销成功',
 						icon:'none',
@@ -239,7 +240,7 @@
 					  this.getFindReturn()
 					}, 2500);
 				}).catch(res => {
-					uni.hideLoading()
+					// uni.hideLoading()
 				})
 			},
 			// 撤销退货

+ 186 - 183
pages_category_page2/orderModule/refundDetails.vue

@@ -1,189 +1,192 @@
 <!-- 退货详情 -->
 <template>
-	<view v-if="ifShow">
-		<view>
-			<view class="order-details-status">
-				<view class="status-title-box" v-if='status == 1'>
-					<view class="l">
-						<text class="status">审核中</text>
-						<!-- <text class="label" v-if="deliveryfalse">还剩1天22时30分</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsTime.png"></image>-->
-				</view>
-				<!--  审核通过-->
-				<view class="status-title-box" v-if="status == 10">
-					<view class="l">
-						<text class="status">审核通过</text>
-						<!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
-				</view>
-				<!--  审核不通过-->
-				<view class="status-title-box" v-if="status == 6">
-					<view class="l">
-						<text class="status">审核不通过</text>
-						<!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
-				</view>
-        <view class="reason" v-if="status == 6">原因: {{ itemlist.reason }}</view>
-				<!--  退款中-->
-				<view class="status-title-box" v-if="status == 2">
-					<view class="l">
-						<text class="status">退款中</text>
-						<!-- <text class="label">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
-				</view>
-        <!--  退款中-->
-        <view class="status-title-box" v-if="status == 7">
-          <view class="l">
-            <text class="status">评审中</text>
+  <view>
+    <global-loading />
+    <view v-if="ifShow">
+      <view>
+        <view class="order-details-status">
+          <view class="status-title-box" v-if='status == 1'>
+            <view class="l">
+              <text class="status">审核中</text>
+              <!-- <text class="label" v-if="deliveryfalse">还剩1天22时30分</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsTime.png"></image>-->
+          </view>
+          <!--  审核通过-->
+          <view class="status-title-box" v-if="status == 10">
+            <view class="l">
+              <text class="status">审核通过</text>
+              <!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
+          </view>
+          <!--  审核不通过-->
+          <view class="status-title-box" v-if="status == 6">
+            <view class="l">
+              <text class="status">审核不通过</text>
+              <!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
+          </view>
+          <view class="reason" v-if="status == 6">原因: {{ itemlist.reason }}</view>
+          <!--  退款中-->
+          <view class="status-title-box" v-if="status == 2">
+            <view class="l">
+              <text class="status">退款中</text>
+              <!-- <text class="label">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
+          </view>
+          <!--  退款中-->
+          <view class="status-title-box" v-if="status == 7">
+            <view class="l">
+              <text class="status">评审中</text>
+            </view>
+            <!--          <image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
+          </view>
+          <!--  退货完成待退款-->
+          <view class="status-title-box" v-if="status == 4">
+            <view class="l">
+              <text class="status">退款成功</text>
+              <!-- <text class="label">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
+          </view>
+          <!--  退货完成拒绝退款-->
+          <view class="status-title-box" v-if="status == 5">
+            <view class="l">
+              <text class="status">退款失败</text>
+              <!-- <text class="label">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
+          </view>
+          <!--  平台介入拒绝-->
+          <view class="status-title-box" v-if="status == 9 && isPlaformState === 1">
+            <view class="l">
+              <text class="status">审核失败</text>
+            </view>
+          </view>
+          <!--  退款成功-->
+          <view class="status-title-box" v-if="status == 9">
+            <view class="l">
+              <text class="status">撤销申请</text>
+              <!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
+            </view>
+            <!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
+          </view>
+
+        </view>
+
+        <!-- 发起退款 -->
+        <view class="order-details-info-box mt20" v-if='status == 0'>
+          <view class="order-details-price" v-if='status != 0'>
+            <text>退款总金额</text>
+            <text class="price-box"><text class="fuhao">¥</text>{{itemlist.price}}</text>
+          </view>
+          <view class="address-box return-explain-box">
+            <view>您已成功发起退款申请,请耐心等待商家处理。</view>
+            <view class="address-info-r mt20 mar-top-20">
+              <view class="item fs24">
+                <text class="circle"></text>
+                <text class="">卖家同意或超时未处理,系统将退款给您</text>
+              </view>
+              <view class="item fs24">
+                <text class="circle"></text>
+                <text class="">如果卖家拒绝,您可以修改退款申请后再次发起,卖家会重新处理</text>
+              </view>
+            </view>
+            <view class="return-explain-btn">
+              <text class="btn" @click="cancelRefundTap">撤销申请</text>
+              <text class="btn" @click="platform(itemlist.afterId, itemlist.orderId)" v-if="status==6 || status==8">平台介入</text>
+            </view>
           </view>
-<!--          <image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
         </view>
-				<!--  退货完成待退款-->
-				<view class="status-title-box" v-if="status == 4">
-					<view class="l">
-						<text class="status">退款成功</text>
-						<!-- <text class="label">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
-				</view>
-				<!--  退货完成拒绝退款-->
-				<view class="status-title-box" v-if="status == 5">
-					<view class="l">
-						<text class="status">退款失败</text>
-						<!-- <text class="label">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsFalse.png"></image>-->
-				</view>
-				<!--  平台介入拒绝-->
-				<view class="status-title-box" v-if="status == 9 && isPlaformState === 1">
-					<view class="l">
-						<text class="status">审核失败</text>
-					</view>
-				</view>
-				<!--  退款成功-->
-				<view class="status-title-box" v-if="status == 9">
-					<view class="l">
-						<text class="status">撤销申请</text>
-						<!-- <text class="label" v-if="deliveryfalse">2020年4月24日 22:00:00</text> -->
-					</view>
-<!--					<image class='r' src="https://ceres.zkthink.com/static/images/afterSaleDetailsSuccess.png"></image>-->
-				</view>
-
-			</view>
-
-			<!-- 发起退款 -->
-			<view class="order-details-info-box mt20" v-if='status == 0'>
-				<view class="order-details-price" v-if='status != 0'>
-					<text>退款总金额</text>
-					<text class="price-box"><text class="fuhao">¥</text>{{itemlist.price}}</text>
-				</view>
-				<view class="address-box return-explain-box">
-					<view>您已成功发起退款申请,请耐心等待商家处理。</view>
-					<view class="address-info-r mt20 mar-top-20">
-						<view class="item fs24">
-							<text class="circle"></text>
-							<text class="">卖家同意或超时未处理,系统将退款给您</text>
-						</view>
-						<view class="item fs24">
-							<text class="circle"></text>
-							<text class="">如果卖家拒绝,您可以修改退款申请后再次发起,卖家会重新处理</text>
-						</view>
-					</view>
-					<view class="return-explain-btn">
-						<text class="btn" @click="cancelRefundTap">撤销申请</text>
-            <text class="btn" @click="platform(itemlist.afterId, itemlist.orderId)" v-if="status==6 || status==8">平台介入</text>
-					</view>
-				</view>
-			</view>
-      <view class="order-details-info-box mt20" v-if="status==6 || status==8">
-        <view class="return-explain-btn">
-          <text class="btn" @click="cancelRefundTap">撤销申请</text>
-          <text class="btn" @click="platform(itemlist.afterId, itemlist.orderId)">平台介入</text>
+        <view class="order-details-info-box mt20" v-if="status==6 || status==8">
+          <view class="return-explain-btn">
+            <text class="btn" @click="cancelRefundTap">撤销申请</text>
+            <text class="btn" @click="platform(itemlist.afterId, itemlist.orderId)">平台介入</text>
+          </view>
         </view>
-      </view>
-			<!-- 退款成功 -->
-			<view class="order-details-info-box mt20" v-if="status == 4">
-				<view class="order-details-price return-explain-box">
-					<text>已原路退回金额</text>
-					<text class="price-box"><text class="fuhao">¥</text>{{itemlist.price}}</text>
-				</view>
-			</view>
-			<!-- 平台介入关闭 -->
-			<view class="order-details-info-box mt20" v-if="status == 9 && isPlaformState === 1">
-				<view class="address-box return-explain-box">
-					<view>平台介入申请失败</view>
-				</view>
-			</view>
-			<!-- 退款关闭 -->
-			<view class="order-details-info-box mt20" v-if="status == 9">
-				<view class="address-box return-explain-box">
-					<view>因您撤销退款申请,退款已关闭</view>
-				</view>
-			</view>
-
-			<view class="order-list-box" >
-				<view class="title">退款信息</view>
-				<view class="item" >
-					<view class="order-info-box">
-						<view class="order-info" v-for="item in itemlist.skus">
-							<view class="order-info-item">
-								<image :src="item.image" class="product-img"></image>
-								<view class="info-box">
-									<text class="product-name">{{item.productName}}</text>
-									<view class="product-sku mt20">{{item.value}}</view>
-								</view>
-							</view>
-						</view>
-						<view class="delivery-way-box">
-							<view class="item" v-if="deliveryfalse">
-								<!-- <text class="way">退款原因:多拍/错拍/不想要</text> -->
-							</view>
-							<view class="item">
-								<text class="way">退款金额:¥{{itemlist.price}}</text>
-							</view>
-							<view class="item">
-								<text class="way">退款编号:{{itemlist.afterFormid}}</text>
-							</view>
-							<view class="item">
-								<text class="way">申请时间:{{itemlist.createTime}}</text>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="order-list-box negotiate">
-				<view class="title">协商历史</view>
-        <view class="orderLineBox">
-          <u-time-line>
-            <u-time-line-item v-if="itemlist.afterHistory.length>0" v-for="item in itemlist.afterHistory">
-              <!-- 此处没有自定义左边的内容,会默认显示一个点 -->
-              <template v-slot:content>
-                <view>
-                  <view class="u-order-desc">{{item.title}}</view>
-                  <view class="u-order-time">{{item.time}}</view>
+        <!-- 退款成功 -->
+        <view class="order-details-info-box mt20" v-if="status == 4">
+          <view class="order-details-price return-explain-box">
+            <text>已原路退回金额</text>
+            <text class="price-box"><text class="fuhao">¥</text>{{itemlist.price}}</text>
+          </view>
+        </view>
+        <!-- 平台介入关闭 -->
+        <view class="order-details-info-box mt20" v-if="status == 9 && isPlaformState === 1">
+          <view class="address-box return-explain-box">
+            <view>平台介入申请失败</view>
+          </view>
+        </view>
+        <!-- 退款关闭 -->
+        <view class="order-details-info-box mt20" v-if="status == 9">
+          <view class="address-box return-explain-box">
+            <view>因您撤销退款申请,退款已关闭</view>
+          </view>
+        </view>
+
+        <view class="order-list-box" >
+          <view class="title">退款信息</view>
+          <view class="item" >
+            <view class="order-info-box">
+              <view class="order-info" v-for="item in itemlist.skus">
+                <view class="order-info-item">
+                  <image :src="item.image" class="product-img"></image>
+                  <view class="info-box">
+                    <text class="product-name">{{item.productName}}</text>
+                    <view class="product-sku mt20">{{item.value}}</view>
+                  </view>
+                </view>
+              </view>
+              <view class="delivery-way-box">
+                <view class="item" v-if="deliveryfalse">
+                  <!-- <text class="way">退款原因:多拍/错拍/不想要</text> -->
+                </view>
+                <view class="item">
+                  <text class="way">退款金额:¥{{itemlist.price}}</text>
                 </view>
-              </template>
-            </u-time-line-item>
-          </u-time-line>
+                <view class="item">
+                  <text class="way">退款编号:{{itemlist.afterFormid}}</text>
+                </view>
+                <view class="item">
+                  <text class="way">申请时间:{{itemlist.createTime}}</text>
+                </view>
+              </view>
+            </view>
+          </view>
+        </view>
+        <view class="order-list-box negotiate">
+          <view class="title">协商历史</view>
+          <view class="orderLineBox">
+            <u-time-line>
+              <u-time-line-item v-if="itemlist.afterHistory.length>0" v-for="item in itemlist.afterHistory">
+                <!-- 此处没有自定义左边的内容,会默认显示一个点 -->
+                <template v-slot:content>
+                  <view>
+                    <view class="u-order-desc">{{item.title}}</view>
+                    <view class="u-order-time">{{item.time}}</view>
+                  </view>
+                </template>
+              </u-time-line-item>
+            </u-time-line>
+          </view>
         </view>
-			</view>
-		</view>
-    <u-popup v-model="intervention" mode="center" border-radius="14" close-icon-pos="top-right"
-             close-icon-size="20">
-      <view class="interventionBox">
-        <view class="intTit">你已申请平台介入正在审核中...</view>
-<!--        <textarea class="textarea-text" v-model="reason" placeholder-style="color:#BBBBBB" placeholder="请输入介入原因"/>-->
-<!--        <view class="btnBox">-->
-<!--          <button @click="interventionFn" class="primary">确定</button>-->
-<!--          <button @click="closeInterventionFn">取消</button>-->
-<!--        </view>-->
       </view>
-    </u-popup>
-	</view>
+      <u-popup v-model="intervention" mode="center" border-radius="14" close-icon-pos="top-right"
+               close-icon-size="20">
+        <view class="interventionBox">
+          <view class="intTit">你已申请平台介入正在审核中...</view>
+          <!--        <textarea class="textarea-text" v-model="reason" placeholder-style="color:#BBBBBB" placeholder="请输入介入原因"/>-->
+          <!--        <view class="btnBox">-->
+          <!--          <button @click="interventionFn" class="primary">确定</button>-->
+          <!--          <button @click="closeInterventionFn">取消</button>-->
+          <!--        </view>-->
+        </view>
+      </u-popup>
+    </view>
+  </view>
 </template>
 
 <script>
@@ -223,14 +226,14 @@
 				})
 			},
       cancelRefundTap(){
-        uni.showLoading({
-          title:'正在撤销退货...'
-        })
+        // uni.showLoading({
+        //   title:'正在撤销退货...'
+        // })
         NET.request(API.CancelReturnGoods, {
           afterId:this.item.afterId,
           orderId:this.item.orderId
         }, 'POST').then(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
           uni.showToast({
             title:'撤销成功',
           })
@@ -238,7 +241,7 @@
             url:'../../pages/tabbar/user/index'
           })
         }).catch(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
         })
       },
       // 平台介入

+ 15 - 12
pages_category_page2/orderModule/returnDetails.vue

@@ -1,6 +1,7 @@
 <!-- 退货详情 -->
 <template>
 	<view>
+    <global-loading />
 		<view class="">
 			<view class="order-details-status">
 				<view class="status-title-box" v-if='status == -1'>
@@ -209,10 +210,12 @@
 </template>
 
 <script>
-	const NET = require('../../utils/request')
+	import GlobalLoading from "../../components/GlobalLoading";
+  const NET = require('../../utils/request')
 	const API = require('../../config/api')
 	export default {
-		data() {
+    components: {GlobalLoading},
+    data() {
 			return {
 				item:{},
 				itemlist:{},
@@ -243,14 +246,14 @@
 				})
 			},
 			cancelRefundTap(){
-					uni.showLoading({
-						title:'正在撤销退货...'
-					})
+					// uni.showLoading({
+					// 	title:'正在撤销退货...'
+					// })
 					NET.request(API.CancelReturnGoods, {
 						afterId:this.item.afterId,
 						orderId:this.item.orderId
 					}, 'POST').then(res => {
-						uni.hideLoading()
+						// uni.hideLoading()
 						uni.showToast({
 							title:'撤销成功',
 						})
@@ -258,7 +261,7 @@
 							url:'../../pages/tabbar/user/index'
 						})
 					}).catch(res => {
-						uni.hideLoading()
+						// uni.hideLoading()
 					})
 			},
 			goAddLogistics(){
@@ -277,22 +280,22 @@
         // this.orderId = orderId
       },
       interventionFn() {
-        uni.showLoading({
-          title:'正在申请介入...'
-        })
+        // uni.showLoading({
+        //   title:'正在申请介入...'
+        // })
         NET.request(API.platform, {
           afterId: this.afterId,
           orderId: this.orderId,
           image: this.images,
           reason: this.reason
         }, 'POST').then(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
           this.intervention = false
           uni.showToast({
             title:'申请成功',
           })
         }).catch(res => {
-          uni.hideLoading()
+          // uni.hideLoading()
         })
       },
       closeInterventionFn() {

+ 48 - 37
pages_category_page2/userModule/accountLogin.vue

@@ -1,45 +1,60 @@
 <template>
   <!-- 登录 -->
   <view class="container flex-items-plus flex-column">
+    <global-loading />
     <view class="login-logoBox">
-      <image class="login-logo"
-             src="https://ceres.zkthink.com/static/images/loginLogo.png"></image>
+      <image
+          class="login-logo"
+          src="https://ceres.zkthink.com/static/images/loginLogo.png"
+      ></image>
     </view>
     <view class="iphoneNum-box flex-row-plus flex-items">
       <view style="margin-right: 30rpx">
-        <image class="loginIcon"
-               src="https://ceres.zkthink.com/static/images/phone.png"></image>
+        <image
+            class="loginIcon"
+            src="https://ceres.zkthink.com/static/images/phone.png"
+        ></image>
       </view>
       <view>
-        <input v-model="loginQuery.account"
-               placeholder-class="iphoneNum-input"
-               type="number"
-               maxlength='11'
-               placeholder="请输入您的手机号"/>
+        <input
+            v-model="loginQuery.account"
+            placeholder-class="iphoneNum-input"
+            type="number"
+            maxlength='11'
+            placeholder="请输入您的手机号"
+        />
       </view>
     </view>
     <view class="flex-row-plus mar-top-20">
       <view class="code-box">
         <view style="margin-right: 30rpx">
-          <image class="loginIcon"
-                 src="https://ceres.zkthink.com/static/images/code.png"></image>
+          <image
+              class="loginIcon"
+              src="https://ceres.zkthink.com/static/images/code.png"
+          ></image>
         </view>
         <view>
-          <input v-model="loginQuery.code"
-                 :maxlength="4"
-                 placeholder-class="codeNum-input"
-                 placeholder="请输入验证码"/>
+          <input
+              v-model="loginQuery.code"
+              :maxlength="4"
+              placeholder-class="codeNum-input"
+              placeholder="请输入验证码"
+          />
         </view>
       </view>
-      <view :class="disabled === true ? 'on' : ''"
-            :disabled="disabled"
-            class="getcode"
-            @click="codede">{{ text }}
+      <view
+          :class="disabled === true ? 'on' : ''"
+          :disabled="disabled"
+          class="getcode"
+          @click="codede"
+      >{{ text }}
       </view>
     </view>
     <view class="mar-top-60">
-      <view class="registerBut mar-top-100"
-            @click="login">登录
+      <view
+          class="registerBut mar-top-100"
+          @click="login"
+      >登录
       </view>
     </view>
   </view>
@@ -70,12 +85,11 @@ export default {
   },
   mixins: [sendVerifyCode],
   onLoad(options) {
-    if (options.inviteSpell && parseInt(options.inviteSpell) === 1) {
+    if (options.inviteSpell == 1) {
       this.inviteSpelltype = true
-      this.inviteSpell = uni.getStorageSync('inviteSpell')
-      console.log('this.inviteSpell', this.inviteSpell)
+      this.inviteSpell = uni.getStorageSync('inviteSpell');
     }
-    this.loginQuery.salesId = uni.getStorageSync('salesId')
+    this.loginQuery.salesId = uni.getStorageSync('salesId');
     var pages = getCurrentPages()
     if (pages.length >= 2) {
       this.beforePage = pages[pages.length - 2]
@@ -101,11 +115,11 @@ export default {
         });
       } else {
         const that = this
-        uni.showLoading({
-          mask: true,
-          title: '正在登录...',
-          duration: 2000,
-        });
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '正在登录...',
+        //   duration: 2000,
+        // });
         NET.request(API.Login, {
           type: 2,
           phone: this.loginQuery.account,
@@ -141,13 +155,10 @@ export default {
           if (this.inviteSpelltype == true) {
             setTimeout(function () {
               uni.reLaunch({
-                url: '../../pages_category_page1/goodsModule/inviteSpell?collageId='
-                        + that.inviteSpell.collageId
-                        + '&orderId=' + that.inviteSpell.orderId
-                        + '&type=0'
-                        + '&productId=' + that.inviteSpell.productId
-                        + '&skuId=' + that.inviteSpell.skuId
-                        + '&shopGroupWorkId=' + that.inviteSpell.shopGroupWorkId
+                url: '../../pages_category_page1/goodsModule/inviteSpell?collageId=' +
+                    this.inviteSpell.collageId + '&orderId=' + this.inviteSpell
+                        .orderId + '&type=0' + '&productId=' + this.inviteSpell
+                        .productId + '&skuId=' + this.inviteSpell.skuId
               })
               uni.removeStorageSync('inviteSpell');
             }, 2000)

+ 5 - 4
pages_category_page2/userModule/addAddress.vue

@@ -1,6 +1,7 @@
 <template>
 	<!-- 编辑/添加地址 -->
 	<view class="container flex-center flex-column">
+    <global-loading />
     <!-- #ifdef MP-WEIXIN -->
 <!--    <view class="wxAddress flex-items flex-end" v-if="type == 1">-->
 <!--      <view class="wxBtnBox flex-items" @click="addAddressWx">-->
@@ -124,10 +125,10 @@ const API = require('../../config/api')
 			let receiveId = options.receiveId
       this.id = receiveId
 			if(this.type == 2){
-        uni.showLoading({
-          mask: true,
-          title: '请稍后...',
-        })
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '请稍后...',
+        // })
         NET.request(API.receiveGetInfo,{receiveId:receiveId},"GET").then(res => {
           this.editAddress = res.data
           this.addressData.username = this.editAddress.receiveName

+ 10 - 9
pages_category_page2/userModule/address.vue

@@ -1,6 +1,7 @@
 <!-- 地址列表 -->
 <template>
 	<view class="container">
+    <global-loading />
 		<view v-if="addresListlist.length" class="pad-bot-140 addAddress">
 			<view class="addAddress-content flex-row-plus" v-for="(item, index) in addresListlist" :key="index">
 				<!--				<view class="address-hesd">{{item.username1}}</view>-->
@@ -10,7 +11,7 @@
 						<text class="font-color-999 mar-left-30">{{item.receivePhone}}</text>
 					</view>
 					<view class="defaultAD-box">
-						<text class="def" v-if="item.defult">默认</text>
+						<text class="def" v-if="item.ifDefault">默认</text>
 						<text class="lable font-color-999" v-else-if="item.label!=''">{{item.label}}</text>
 						<text class="user-address font-color-999">{{item.receiveAdress}}{{item.address}}</text>
 					</view>
@@ -110,10 +111,10 @@
 
 			},
 			getAddressData() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...',
+				// })
 				NET.request(API.QueryMemberAddres, {
 					page: this.page,
 					pageSize: this.pageSize
@@ -166,10 +167,10 @@
 						self.addData['address'] = res.detailInfo
 						self.addData['province'] = res.provinceName
 						self.addData['city'] = res.cityName
-						uni.showLoading({
-							mask: true,
-							title: '导入中...',
-						})
+						// uni.showLoading({
+						// 	mask: true,
+						// 	title: '导入中...',
+						// })
 						setTimeout(() => {
 							uni.hideLoading();
 							uni.navigateTo({

+ 5 - 4
pages_category_page2/userModule/bankcard.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="container">
+    <global-loading />
 		<view class="bankcardList">
 			<view class="addBankcard-content flex-row-plus" v-for="(item, index) in bankcardList" :key="index">
 				<view class="bankcard-detail" @click="itemTap(item.bankId)">
@@ -68,10 +69,10 @@
 				})
 			},
 			getBankcardData(){
-        uni.showLoading({
-          mask: true,
-          title: '加载中...',
-        })
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '加载中...',
+        // })
 				NET.request(API.QueryBankcardList,{
 					page: this.page,
 					pageSize:this.pageSize,

+ 8 - 4
pages_category_page2/userModule/bindPhone.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="container flex-items-plus flex-column">
+    <global-loading />
 		<view class="login-logoBox">
 			<image class="login-logo" src="https://ceres.zkthink.com/static/images/loginLogo.png"></image>
 		</view>
@@ -141,16 +142,19 @@
 			},
 			onGetAuthorize() {
 				const that = this
-				uni.showLoading({
-          mask: true,
-					title: '验证中...',
-				})
+				// uni.showLoading({
+        //   mask: true,
+				// 	title: '验证中...',
+				// })
+        this.$showLoading()
 				my.getPhoneNumber({
 					success: (res) => {
+            this.$hideLoading()
 						let encryptedData = res.response;
 						that.updateAliPhone(encryptedData, true)
 					},
 					fail: (res) => {
+            this.$hideLoading()
 						console.log('getPhoneNumber failed', res);
 						uni.hideLoading()
 						uni.showToast({

+ 11 - 10
pages_category_page2/userModule/collection.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="collection-box">
+    <global-loading />
 		<view class="tabsbox">
 			<u-tabs :list="collectionTypeList" bar-width="60" :bold="false" active-color="#333333"
 				inactive-color="#CCCCCC" :is-scroll="false" :current="collectionTypeFlag"
@@ -46,7 +47,7 @@
 													<image v-if="item.activityType === 3" class="iconImg discountIcon" src="https://zk-cereshop.oss-cn-shenzhen.aliyuncs.com/zkthink/2022-03-14/38184785db4b4fbca767ada611097ae9_discount.png" alt="限时折扣活动"></image>
 													<image v-if="item.activityType === 4" class="iconImg" src="https://ceres.zkthink.com/static/images/spikeIcon.png" alt="平台秒杀"></image>
 													<image v-if="item.activityType===5" class="iconImg" src="https://ceres.zkthink.com/static/images/discountListIcon.png" alt="平台折扣"></image>
-													<image v-if="item.activityType===9" class="iconImg" src="https://ceres.zkthink.com/static/images/memberCenterIcon.png" alt="会员价"></image>			
+													<image v-if="item.activityType===9" class="iconImg" src="https://ceres.zkthink.com/static/images/memberCenterIcon.png" alt="会员价"></image>
 													<image v-if="item.activityType === 8" class="iconImg" src="https://zk-cereshop.oss-cn-shenzhen.aliyuncs.com/zkthink/2022-02-15/d0d8d96f28904167b271de4ae924d1a8_sceneMarketing.png" alt="场景营销"></image>
 												<text class="fs40 font-color-C83732">¥</text>
 												<text class="fs40 font-color-C83732 mar-right-20">{{item.price}}</text>
@@ -470,10 +471,10 @@
 			},
 			//收藏商品查询
 			getProductCollect() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.getProductCollect, {
 						page: this.productPage,
 						pageSize: this.productPageSize
@@ -502,11 +503,11 @@
 			},
 			//收藏店铺查询
 			getStoreCollect() {
-        console.log(111)
-				uni.showLoading({
-					mask: true,
-					title: '加载中...'
-				})
+        // console.log(111)
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.getStoreCollect, {
 						page: this.storePage,
 						pageSize: this.storePageSize

+ 5 - 4
pages_category_page2/userModule/coupon.vue

@@ -1,6 +1,7 @@
 <!-- 优惠券列表 -->
 <template>
 	<view class="container">
+    <global-loading />
 		<view class="list">
 			<view
 				class="item"
@@ -53,10 +54,10 @@
 	  },
 		methods: {
 			getFindCouponList(){
-			    uni.showLoading({
-            mask: true,
-			      title: '加载中...',
-			    })
+			    // uni.showLoading({
+          //   mask: true,
+			    //   title: '加载中...',
+			    // })
 			    NET.request(API.FindCouponList,"GET").then(res => {
 			      uni.hideLoading()
 				    this.list = res.data

+ 11 - 10
pages_category_page2/userModule/footprintList.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="footprint-box">
+    <global-loading />
 		<view v-if="!tipsShow">
 			<view class="wid function-box">
 				<view class="finishbox" @click="finishClick" v-if="allCheckShow">完成</view>
@@ -31,7 +32,7 @@
 										<image v-if="item.activityType === 3" class="iconType discountIcon" src="https://zk-cereshop.oss-cn-shenzhen.aliyuncs.com/zkthink/2022-03-14/38184785db4b4fbca767ada611097ae9_discount.png" alt="限时折扣活动"></image>
 										<image v-if="item.activityType === 4" class="iconType" src="https://ceres.zkthink.com/static/images/spikeIcon.png" alt="平台秒杀"></image>
 										<image v-if="item.activityType===5" class="iconType" src="https://ceres.zkthink.com/static/images/discountListIcon.png" alt="平台折扣"></image>
-										<image v-if="item.activityType===9" class="iconType" src="https://ceres.zkthink.com/static/images/memberCenterIcon.png" alt="会员价"></image>			
+										<image v-if="item.activityType===9" class="iconType" src="https://ceres.zkthink.com/static/images/memberCenterIcon.png" alt="会员价"></image>
 						        <image v-if="item.activityType === 8" class="iconType" src="https://zk-cereshop.oss-cn-shenzhen.aliyuncs.com/zkthink/2022-02-15/d0d8d96f28904167b271de4ae924d1a8_sceneMarketing.png" alt="场景营销"></image>
                     <label class="fs40 mar-right-20 font-color-C83732">¥{{ item.price }}</label>
                     <label class="font-color-CCC discountsPriceLine fs24">¥{{ item.originalPrice }}</label>
@@ -58,7 +59,7 @@
 			<image class="footprint-empty" src="https://datumstar.oss-cn-shenzhen.aliyuncs.com/dkyaemtmfwfxbvtuyyhi.png"></image>
 			<view class="tohome-box flex-items-plus">去首页逛逛</view>
 		</view>
-		
+
 		<!-- 删除确认弹窗 -->
 		<tui-modal :show="cardModal" :custom="true" :fadein="true">
 			<view class="Put-box1">
@@ -210,10 +211,10 @@
 					this.footprintList = []
 					this.footEmpty = false
 				}
-				uni.showLoading({
-            mask: true,
-					  title: '加载中...',
-				})
+				// uni.showLoading({
+        //     mask: true,
+				// 	  title: '加载中...',
+				// })
 				NET.request(API.getFootprintList,
 				{
 					page:this.page,
@@ -287,7 +288,7 @@
 			finishClick(){
 				this.allCheckShow = false
 			},
-			
+
       goToIndex() {
         uni.switchTab({
           url:'/pages/tabbar/index/index'
@@ -453,18 +454,18 @@ page {
 			width: 100%;
 			color: #333333;
 		}
-	
+
 		.submit {
 			background-color: #333333;
 			color: #FFEBC4;
 		}
 	}
-	
+
 	.cancelDel {
 		position: absolute;
 		bottom: -50px;
 		left: 45%;
-	
+
 		image {
 			width: 60upx;
 			height: 60upx;

+ 7 - 6
pages_category_page2/userModule/login.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="container flex-items-plus flex-column">
+    <global-loading />
 		<view class="login-logoBox">
 			<image class="login-logo" src="https://ceres.zkthink.com/static/images/loginLogo.png"></image>
 		</view>
@@ -35,8 +36,7 @@
 				WXloginQuery: {
 					"code": "",
 					"salesId": 0,
-					"headImg": '',
-          "terminal":1
+					"headImg": ''
 				},
 				noMp: false,
 				// beforePage: undefined,
@@ -82,10 +82,11 @@
 			},
 			// 微信登录
 			GetUserInfo() {
-				uni.showLoading({
-					title: '正在加载...',
-					mask: true
-				});
+				// uni.showLoading({
+				// 	title: '正在加载...',
+				// 	mask: true
+				// });
+
 				const that = this
 				// // #ifdef APP-PLUS
 				// uni.login({

+ 7 - 4
pages_category_page2/userModule/memberAccount.vue

@@ -1,5 +1,7 @@
 <!-- 我的账户 -->
 <template>
+  <view>
+    <global-loading />
 	<view class="container" v-if="ifShow">
 		<view class="balance">
 		</view>
@@ -18,6 +20,7 @@
 			</view>
 		</view>
 	</view>
+  </view>
 </template>
 
 <script>
@@ -48,10 +51,10 @@
 			},
 			getBalance(){
 				const _ = this
-        uni.showLoading({
-          mask: true,
-          title: '加载中...'
-        })
+        // uni.showLoading({
+        //   mask: true,
+        //   title: '加载中...'
+        // })
 				NET.request(API.GetDistributor,{},"GET").then(res => {
           uni.hideLoading()
           this.ifShow = true

+ 9 - 8
pages_category_page2/userModule/messageCenter.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="messageCenter">
+    <global-loading />
 		<view>
 			<view v-if="messageList.length" class="flex-items flex-sp-between fs26 topTitBox">
 				<view>
@@ -119,10 +120,10 @@
 				return newContent;
 			},
 			getAllMessage() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...'
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...'
+				// })
 				NET.request(API.getMessage, {
 					'page': this.page,
 					'pageSize': this.pageSize
@@ -177,10 +178,10 @@
 			},
 			// 删除消息
 			productClick(item) {
-				uni.showLoading({
-					mask: true,
-					title: '正在删除...'
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '正在删除...'
+				// })
 				NET.request(API.delMessage, {
 					noticeId: item.noticeId
 				}, 'post').then(res => {

+ 7 - 4
pages_category_page2/userModule/messageDetail.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="messageDetail">
+    <global-loading />
 		<h3 class="detailTit">{{messageDateils.noticeTitle}}</h3>
 		<view class="detailTime" v-if="messageDateils.createTime">时间:{{messageDateils.createTime}}</view>
 		<view class="detailInfo">
@@ -11,11 +12,13 @@
 
 <script>
 	import parse from 'mini-html-parser2';
+  import GlobalLoading from "../../components/GlobalLoading";
 	const NET = require('../../utils/request')
 	const API = require('../../config/api')
 	export default {
 		name: "messageDetail",
-		data() {
+    components: {GlobalLoading},
+    data() {
 			return {
 				onlyid: 0,
 				messageDateils: {},
@@ -68,9 +71,9 @@
 				})
 			},
 			getNotice() {
-				uni.showLoading({
-					title: '加载中...',
-				})
+				// uni.showLoading({
+				// 	title: '加载中...',
+				// })
 				NET.request(API.readNotice, {
 					noticeId: this.onlyid
 				}, 'POST').then(res => {

+ 26 - 22
pages_category_page2/userModule/personalDetails.vue

@@ -1,6 +1,7 @@
 <!-- 修改个人信息 -->
 <template>
 	<view class="container fs28" :style="{height:screenHeight+'px'}">
+    <global-loading />
 		<view class="headBox">
 			<view class="personalHead-box flex-sp-between flex-display flex-items">
 				<label>头像</label>
@@ -189,10 +190,10 @@
 					})
 					return false
 				}
-				uni.showLoading({
-					mask: true,
-					title: "正在加载中"
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: "正在加载中"
+				// })
 				NET.request(API.UpdateUser, {
 					name: newName
 				}, 'POST').then(res => {
@@ -210,10 +211,10 @@
 			ConfirmTime(content) {
 				if (this.birthday == '1970-01-01' || this.birthday == '') {
 					let birthday = content.year + '-' + content.month + '-' + content.day
-					uni.showLoading({
-						mask: true,
-						title: "正在加载中"
-					})
+					// uni.showLoading({
+					// 	mask: true,
+					// 	title: "正在加载中"
+					// })
 					NET.request(API.UpdateUser, {
 						birthday
 					}, 'POST').then(res => {
@@ -234,10 +235,10 @@
 			},
 			// 提交修改性别
 			ConfirmSex(content) {
-				uni.showLoading({
-					mask: true,
-					title: "正在加载中"
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: "正在加载中"
+				// })
 				let sex = content[0].label
 				NET.request(API.UpdateUser, {
 					sex
@@ -281,11 +282,11 @@
 				return
 			},
 			quit() {
-				uni.showLoading({
-					mask: true,
-					title: '正在退出...',
-					duration: 2000,
-				});
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '正在退出...',
+				// 	duration: 2000,
+				// });
 				setTimeout(function() {
 					uni.removeStorageSync('storage_key');
 					uni.removeStorageSync('distributorId');
@@ -300,12 +301,14 @@
 			},
 			onGetAuthorize() {
 				const that = this
-				uni.showLoading({
-					mask: true,
-					title: '验证中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '验证中...',
+				// })
+        this.$showLoading()
 				my.getPhoneNumber({
 					success: (res) => {
+            this.$hideLoading()
 						let encryptedData = res.response;
 						console.log('encryptedData:', encryptedData)
 						NET.request(API.UpdateAliPhone, {
@@ -315,12 +318,13 @@
 							const item = res.data
 							uni.setStorageSync('storage_key', item);
 							that.phone = item.phone
-							uni.hideLoading()
+							// uni.hideLoading()
 						}).finally(res => {
 							uni.hideLoading()
 						})
 					},
 					fail: (res) => {
+            this.$hideLoading()
 						console.log('getPhoneNumber failed', res);
 						uni.hideLoading()
 						uni.showToast({

+ 10 - 9
pages_category_page2/userModule/questionList.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="question-box">
+    <global-loading />
 		<view class="tabsbox">
 			<u-tabs :list="questionTypeList" bar-width="140" :bold="false" active-color="#C5AA7B"
 				inactive-color="#999999" :is-scroll="false" :current="questionTypeFlag" @change="questionTypeActive">
@@ -17,7 +18,7 @@
 				</view>
 				<view class="swipe-box">
 					<u-swipe-action :show="item.show" :index="index" v-for="(item, index) in problemList"
-						:key="item.problemId" :disabled="allCheckShow" ref="problemActionSwipe" @click="problemClick" :autoClose="false" 
+						:key="item.problemId" :disabled="allCheckShow" ref="problemActionSwipe" @click="problemClick" :autoClose="false"
 						@open="problemOpen" :options="options">
 						<view class="flex-item itemBox" @click="goQuestionDetails(item.productId,item.problemId)">
 							<view class="item u-border-bottom wid flex-row-plus flex-items">
@@ -391,10 +392,10 @@
 			},
 			//我的提问列表
 			getProblemList() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...',
+				// })
 				NET.request(API.getProblemList, {
 						page: this.problemPage,
 						pageSize: this.problemPageSize
@@ -423,10 +424,10 @@
 			},
 			//我的回答列表
 			getAnswerList() {
-				uni.showLoading({
-					mask: true,
-					title: '加载中...',
-				})
+				// uni.showLoading({
+				// 	mask: true,
+				// 	title: '加载中...',
+				// })
 				NET.request(API.getAnswerList, {
 						page: this.answerPage,
 						pageSize: this.answerPageSize

+ 10 - 27
pages_category_page2/userModule/register.vue

@@ -1,6 +1,7 @@
 <!-- 注册 -->
 <template>
 	<view class="container flex-items flex-column">
+    <global-loading />
 		<view class="login-logoBox">
 			<image class="login-logo" src="https://ceres.zkthink.com/static/images/loginLogo.png"></image>
 		</view>
@@ -20,8 +21,8 @@
 						<image class="loginIcon" src="https://ceres.zkthink.com/static/images/code.png"></image>
 					</view>
 					<view style="margin-left: 40rpx;">
-						<input :maxlength="4" v-model="RegisterQuery.code" class="codeNum-inputbox"
-							placeholder-class="codeNum-input" placeholder="请输入验证码" />
+						<input v-model="RegisterQuery.code" :maxlength="4" class="codeNum-inputbox" placeholder-class="codeNum-input"
+							placeholder="请输入验证码" />
 					</view>
 				</view>
 				<view :class="disabled === true ? 'on' : ''" :disabled="disabled" class="getcode" @click="codede">
@@ -93,39 +94,22 @@
 						duration: 2000,
 						icon: 'none'
 					});
-				} else if (!this.agreement) {
+				} else if(!this.agreement){
 					uni.showToast({
 						title: '请先阅读并同意《用户服务协议和个人隐私协议》',
 						duration: 2000,
 						icon: 'none'
 					});
 				} else {
-					uni.showLoading({
-						mask: true,
-						title: '正在注册...',
-						duration: 2000,
-					})
-
-					// 判断用户类型
-					let terminal = 0
-					//#ifdef APP-PLUS
-					terminal = 1
-					//#endif
-					//#ifdef MP-WEIXIN
-					terminal = 2
-					//#endif
-					//#ifdef H5
-					terminal = 3
-					//#endif
-					//#ifdef MP-ALIPAY
-					terminal = 4
-					//#endif
-
+					// uni.showLoading({
+					// 	mask: true,
+					// 	title: '正在注册...',
+					// 	duration: 2000,
+					// })
 					NET.request(API.Login, {
 						type: 1,
 						phone: this.phone,
 						verificationCode: this.RegisterQuery.code,
-						terminal
 					}, 'POST').then(res => {
 						uni.hideLoading()
 						uni.showToast({
@@ -338,8 +322,7 @@
 		.agreement {
 			margin: 100rpx 50rpx;
 			line-height: 50rpx;
-
-			image {
+			image{
 				width: 34rpx;
 				height: 34rpx;
 				margin-right: 15upx;

+ 8 - 7
pages_category_page2/userModule/unsubscribeCode.vue

@@ -1,7 +1,8 @@
 <template>
 	<!-- 登录 -->
 	<view class="container flex-items-plus flex-column">
-		<view class="login-logoBox">
+    <global-loading />
+    <view class="login-logoBox">
 			<image class="login-logo" src="https://ceres.zkthink.com/static/images/loginLogo.png"></image>
 		</view>
 		<view class="iphoneNum-box flex-row-plus flex-items">
@@ -71,18 +72,18 @@
 				NET.request(API.delUser + this.code, {}, "delete").then(res => {
 					console.log(res)
 					if (res.code == '200') {
-						uni.showLoading({
-							mask: true,
-							title: '注销成功,正在退出...',
-							duration: 2000,
-						});
+						// uni.showLoading({
+						// 	mask: true,
+						// 	title: '注销成功,正在退出...',
+						// 	duration: 2000,
+						// });
 						setTimeout(function() {
 							uni.removeStorageSync('storage_key');
 							uni.removeStorageSync('distributorId');
 							uni.reLaunch({
 								url: 'login',
 								success() {
-									uni.hideLoading()
+									// uni.hideLoading()
 								}
 							})
 						}, 1000)

TEMPAT SAMPAH
static/empty.png


TEMPAT SAMPAH
static/images/img.png


TEMPAT SAMPAH
static/images/logo.png


+ 69 - 127
utils/request.js

@@ -1,135 +1,77 @@
-const API = require("../config/api")
-let antiShake = false
+import {showLoading,hideLoading} from "../components/GlobalLoading";
 const request = (url, data, method = 'GET') => {
-    return new Promise((resolve, reject) => {
-        let header = {
-            "Content-Type": "application/json"
-        }
-        const res = uni.getStorageSync('storage_key');
-        const token = res.token
-        if (token) {
-            header['Authorization'] = token
-        }
-        uni.request({
-            url: url,
-            data: data,
-            method: method,
-            header: header,
-            success: async res => {
-                if (res.statusCode == 200) {
-                    if (res.data.code === "200" || res.data.code === "") {
-                        resolve(res.data)
-                    } else if (res.data.code === "20004" || res.data.code === "20005") {
-                       if(token){
-                           //  refreshToken
-                           try {
-                               await refreshToken();
-                               //  重新发送上一次请求
-                               setTimeout(async () => {
-                                   const retryRequest =  await request(url, data, method)
-                                   resolve(retryRequest)
-                               },500)
-                           } catch (e) {
-                               goLogin()
-                           }
-                       }else{
-                           goLogin()
-                       }
-                    } else {
-                        uni.showToast({
-                            title: res.data.message,
-                            icon: "none"
-                        })
-                    }
-                } else {
-                    reject(res)
-                }
-            },
-            fail: res => {
-                reject(res)
-            }
-        })
-    });
+	return new Promise((resolve, reject) => {
+		let header = {
+			"Content-Type": "application/json"
+		}
+		const res = uni.getStorageSync('storage_key');
+		const token = res.token
+		if (token) {
+			header['Authorization'] = token
+		}
+		showLoading()
+		uni.request({
+			url: url,
+			data: data,
+			method: method,
+			header: header,
+			success: res => {
+				hideLoading()
+				if (res.statusCode == 200) {
+					if (res.data.code === "200" || res.data.code === "") {
+						resolve(res.data)
+					} else if (res.data.code === "20004" || res.data.code === "20005") {
+						uni.removeStorageSync("storage_key")
+						uni.navigateTo({
+							url: '/pages_category_page2/userModule/login'
+						})
+					} else {
+						uni.showToast({
+							title: res.data.message,
+							icon: "none"
+						})
+					}
+				} else {
+					reject(res)
+				}
+			},
+			fail: res => {
+				hideLoading()
+				reject(res)
+			},
+		})
+	});
 }
 //不带token接口请求,首页
 const request1 = (url, data, method = 'GET') => {
-    return new Promise((resolve, reject) => {
-        let header = {
-            'Content-Type': 'application/json',
-            'tenant': 'MDAwMA==',
-        }
-        uni.request({
-            url: url,
-            data: data,
-            method: method,
-            header: header,
-            success: res => {
-                if (res.data.code === "200" || data.code === "") {
-                    resolve(res.data)
-                } else {
-                    reject(res)
-                }
-            },
-            fail: res => {
-                reject(res)
-            }
-        })
-    });
-}
-
-// refreshToken
-const refreshToken = () => {
-    // 防抖
-    if(antiShake) return
-    antiShake = true
-    setTimeout(()=>{
-        antiShake = false
-    },3000)
-    return new Promise((resolve, reject) => {
-        let header = {
-            "Content-Type": "application/json"
-        }
-        const res = uni.getStorageSync('storage_key');
-        const token = res.token
-        if (token) {
-            header['Authorization'] = token
-        }
-        const data = {
-            refreshToken: res.refreshToken
-        }
-        console.log("原有token过期,请求refreshToken")
-        uni.request({
-            url: API.RefreshToken,
-            data: data,
-            method: "POST",
-            header: header,
-            success: res => {
-                if (res.statusCode == 200) {
-                    if (res.data.code === "200" || res.data.code === "") {
-                        resolve(res.data.data)
-                        uni.setStorageSync('storage_key', res.data.data);
-                        return
-                    }
-                }
-                reject()
-                goLogin()
-            },
-            fail: res => {
-                reject(res)
-                goLogin()
-            }
-        })
-    });
-}
-
-const goLogin = () => {
-    uni.removeStorageSync("storage_key")
-    uni.navigateTo({
-        url: '/pages_category_page2/userModule/login'
-    })
+	return new Promise((resolve, reject) => {
+		let header = {
+			'Content-Type': 'application/json',
+			'tenant': 'MDAwMA==',
+		}
+		showLoading()
+		uni.request({
+			url: url,
+			data: data,
+			method: method,
+			header: header,
+			success: res => {
+				hideLoading()
+				if (res.data.code === "200" || data.code === "") {
+					resolve(res.data)
+				} else {
+					reject(res)
+				}
+			},
+			fail: res => {
+				hideLoading()
+				reject(res)
+			}
+		})
+	});
 }
 
 module.exports = {
-    request: request,
-    request1: request1
+	request: request,
+	request1: request1
 }

+ 20 - 1
uview-ui/package.json

@@ -3,7 +3,26 @@
 	"version": "1.6.2",
 	"description": "uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
 	"main": "index.js",
-	"keywords": ["uview", "uView", "uni-app", "uni-app ui", "uniapp", "uviewui", "uview ui", "uviewUI", "uViewui", "uViewUI", "uView UI", "uni ui", "uni UI", "uniapp ui", "ui", "UI框架", "uniapp ui框架", "uniapp UI"],
+	"keywords": [
+		"uview",
+		"uView",
+		"uni-app",
+		"uni-app ui",
+		"uniapp",
+		"uviewui",
+		"uview ui",
+		"uviewUI",
+		"uViewui",
+		"uViewUI",
+		"uView UI",
+		"uni ui",
+		"uni UI",
+		"uniapp ui",
+		"ui",
+		"UI框架",
+		"uniapp ui框架",
+		"uniapp UI"
+	],
 	"scripts": {
 		"test": "echo \"Error: no test specified\" && exit 1"
 	},

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini