Browse Source

refactor: format

joe 2 years ago
parent
commit
a6e4edab90
100 changed files with 10221 additions and 3657 deletions
  1. 4 0
      view/xcx/.babel.config.js
  2. 30 0
      view/xcx/.eslintrc.js
  3. 66 0
      view/xcx/.prettierrc.js
  4. 4 0
      view/xcx/README.md
  5. 149 147
      view/xcx/app.json
  6. 0 2
      view/xcx/app.wxss
  7. 65 68
      view/xcx/components/address-window/index.js
  8. 3 3
      view/xcx/components/address-window/index.json
  9. 25 18
      view/xcx/components/address-window/index.wxml
  10. 50 50
      view/xcx/components/address-window/index.wxss
  11. 179 181
      view/xcx/components/authorize/authorize.js
  12. 2 2
      view/xcx/components/authorize/authorize.json
  13. 25 16
      view/xcx/components/authorize/authorize.wxml
  14. 48 48
      view/xcx/components/authorize/authorize.wxss
  15. 54 57
      view/xcx/components/coupon-list-window/index.js
  16. 3 3
      view/xcx/components/coupon-list-window/index.json
  17. 32 26
      view/xcx/components/coupon-list-window/index.wxml
  18. 51 51
      view/xcx/components/coupon-list-window/index.wxss
  19. 17 21
      view/xcx/components/coupon-window/index.js
  20. 2 2
      view/xcx/components/coupon-window/index.json
  21. 20 20
      view/xcx/components/coupon-window/index.wxml
  22. 0 0
      view/xcx/components/coupon-window/index.wxss
  23. 16 16
      view/xcx/components/general-window/index.js
  24. 2 2
      view/xcx/components/general-window/index.json
  25. 10 10
      view/xcx/components/general-window/index.wxml
  26. 54 54
      view/xcx/components/general-window/index.wxss
  27. 36 36
      view/xcx/components/goodList/index.js
  28. 3 3
      view/xcx/components/goodList/index.json
  29. 27 34
      view/xcx/components/goodList/index.wxml
  30. 43 43
      view/xcx/components/goodList/index.wxss
  31. 61 77
      view/xcx/components/home/index.js
  32. 3 3
      view/xcx/components/home/index.json
  33. 25 15
      view/xcx/components/home/index.wxml
  34. 32 32
      view/xcx/components/home/index.wxss
  35. 171 170
      view/xcx/components/mine/index.js
  36. 5 5
      view/xcx/components/mine/index.json
  37. 38 38
      view/xcx/components/mine/index.wxml
  38. 99 99
      view/xcx/components/mine/index.wxss
  39. 78 77
      view/xcx/components/navbar/index.js
  40. 3 3
      view/xcx/components/navbar/index.json
  41. 19 15
      view/xcx/components/navbar/index.wxml
  42. 55 55
      view/xcx/components/navbar/index.wxss
  43. 17 17
      view/xcx/components/orderGoods/index.js
  44. 4 4
      view/xcx/components/orderGoods/index.json
  45. 29 22
      view/xcx/components/orderGoods/index.wxml
  46. 10 10
      view/xcx/components/orderGoods/index.wxss
  47. 148 127
      view/xcx/components/payment/index.js
  48. 3 3
      view/xcx/components/payment/index.json
  49. 22 16
      view/xcx/components/payment/index.wxml
  50. 46 46
      view/xcx/components/payment/index.wxss
  51. 157 155
      view/xcx/components/price-change/index.js
  52. 3 3
      view/xcx/components/price-change/index.json
  53. 52 44
      view/xcx/components/price-change/index.wxml
  54. 26 26
      view/xcx/components/price-change/index.wxss
  55. 100 100
      view/xcx/components/product-window/index.js
  56. 3 3
      view/xcx/components/product-window/index.json
  57. 65 41
      view/xcx/components/product-window/index.wxml
  58. 87 87
      view/xcx/components/product-window/index.wxss
  59. 35 35
      view/xcx/components/productConSwiper/index.js
  60. 3 3
      view/xcx/components/productConSwiper/index.json
  61. 39 23
      view/xcx/components/productConSwiper/index.wxml
  62. 40 40
      view/xcx/components/productConSwiper/index.wxss
  63. 35 41
      view/xcx/components/promotionGood/index.js
  64. 3 3
      view/xcx/components/promotionGood/index.json
  65. 21 26
      view/xcx/components/promotionGood/index.wxml
  66. 26 26
      view/xcx/components/promotionGood/index.wxss
  67. 35 35
      view/xcx/components/recommend/index.js
  68. 3 3
      view/xcx/components/recommend/index.json
  69. 24 21
      view/xcx/components/recommend/index.wxml
  70. 24 24
      view/xcx/components/recommend/index.wxss
  71. 22 24
      view/xcx/components/share-red-packets/index.js
  72. 3 3
      view/xcx/components/share-red-packets/index.json
  73. 11 11
      view/xcx/components/share-red-packets/index.wxml
  74. 47 47
      view/xcx/components/share-red-packets/index.wxss
  75. 25 25
      view/xcx/components/swipers/index.js
  76. 3 3
      view/xcx/components/swipers/index.json
  77. 20 15
      view/xcx/components/swipers/index.wxml
  78. 19 19
      view/xcx/components/swipers/index.wxss
  79. 18 22
      view/xcx/components/userEvaluation/index.js
  80. 2 2
      view/xcx/components/userEvaluation/index.json
  81. 28 22
      view/xcx/components/userEvaluation/index.wxml
  82. 47 47
      view/xcx/components/userEvaluation/index.wxss
  83. 14 18
      view/xcx/components/write-off/index.js
  84. 2 2
      view/xcx/components/write-off/index.json
  85. 13 12
      view/xcx/components/write-off/index.wxml
  86. 63 63
      view/xcx/components/write-off/index.wxss
  87. 31 31
      view/xcx/config.js
  88. 19 1
      view/xcx/css/animate.wxss
  89. 0 7
      view/xcx/css/guildford.wxss
  90. 152 158
      view/xcx/css/style.wxss
  91. 4541 0
      view/xcx/css/wxbase.wxss
  92. 1834 6
      view/xcx/package-lock.json
  93. 22 15
      view/xcx/package.json
  94. 117 117
      view/xcx/pages/activity/goods_bargain/index.js
  95. 5 5
      view/xcx/pages/activity/goods_bargain/index.json
  96. 17 18
      view/xcx/pages/activity/goods_bargain/index.wxml
  97. 7 7
      view/xcx/pages/activity/goods_bargain/index.wxss
  98. 340 340
      view/xcx/pages/activity/goods_bargain_details/index.js
  99. 5 5
      view/xcx/pages/activity/goods_bargain_details/index.json
  100. 125 126
      view/xcx/pages/activity/goods_bargain_details/index.wxml

+ 4 - 0
view/xcx/.babel.config.js

@@ -0,0 +1,4 @@
+module.exports = {
+  presets: [],
+  plugins: [],
+}

+ 30 - 0
view/xcx/.eslintrc.js

@@ -0,0 +1,30 @@
+module.exports = {
+  root: true,
+  env: {
+    es6: true,
+    browser: true,
+    node: true,
+  },
+  parser: '@babel/eslint-parser',
+  parserOptions: {
+    ecmaVersion: 2018,
+    sourceType: 'module',
+    ecmaFeatures: {
+      arrowFunctions: true,
+      destructuring: true,
+      classes: true,
+    },
+    requireConfigFile: false,
+  },
+  globals: {
+    wx: true,
+    App: true,
+    Page: true,
+    getCurrentPage: true,
+    getApp: true,
+    Component: true,
+    requirePlugin: true,
+    requireMiniProgram: true,
+  },
+  rules: {},
+}

+ 66 - 0
view/xcx/.prettierrc.js

@@ -0,0 +1,66 @@
+// .prettierrc.js
+module.exports = {
+  printWidth: 120,
+  tabWidth: 2,
+  useTabs: false,
+  semi: false,
+  singleQuote: true,
+
+  // 对象的 key 仅在必要时用引号
+  quoteProps: 'as-needed',
+
+  // jsx 不使用单引号,而使用双引号
+  jsxSingleQuote: false,
+
+  // 末尾不需要逗号
+  trailingComma: 'none',
+
+  // 大括号内的首尾需要空格
+  bracketSpacing: true,
+
+  // jsx 标签的反尖括号需要换行
+  jsxBracketSameLine: false,
+
+  // 箭头函数,只有一个参数的时候,无需括号
+  arrowParens: 'avoid',
+
+  // 每个文件格式化的范围是文件的全部内容
+  rangeStart: 0,
+
+  rangeEnd: Infinity,
+
+  // 不需要写文件开头的 @prettier
+  requirePragma: false,
+
+  // 不需要自动在文件开头插入 @prettier
+  insertPragma: false,
+
+  // 使用默认的折行标准
+  proseWrap: 'preserve',
+
+  // 根据显示样式决定 html 要不要折行
+  htmlWhitespaceSensitivity: 'css',
+
+  // 换行符使用 lf
+  endOfLine: 'lf',
+  // Prettier 支持对某些文件扩展名,文件夹和特定文件进行不同的配置
+  overrides: [{
+      files: ['*.wxss', '*.acss'],
+      options: {
+        parser: 'css'
+      }
+    },
+    {
+      files: ['*.wxml', '*.axml'],
+      options: {
+        parser: 'html'
+      }
+    },
+    {
+      files: ['*.wxs', '*.sjs'],
+      options: {
+        parser: 'babel'
+      }
+    }
+  ]
+}

+ 4 - 0
view/xcx/README.md

@@ -107,3 +107,7 @@
   └─project.config.json 项目配置
 
 ~~~
+## 格式化代码
+```shell
+npx prettier --write --config .prettierrc.js components/**/*.wxss
+```

+ 149 - 147
view/xcx/app.json

@@ -1,150 +1,152 @@
 {
-    "pages": [
-        "pages/index/index",
-        "pages/goods_cate/goods_cate",
-        "pages/order_details/index",
-        "pages/user_sgin/index",
-        "pages/user/user",
-        "pages/user_get_coupon/index",
-        "pages/order_confirm/index",
-        "pages/goods_list/goods_list",
-        "pages/user_coupon/index",
-        "pages/goods_comment_list/index",
-        "pages/user_goods_collection/index",
-        "pages/user_address_list/index",
-        "pages/news_list/index",
-        "pages/user_phone/index",
-        "pages/user_pwd_edit/index",
-        "pages/goods_search/index",
-        "pages/user_vip/index",
-        "pages/user_license/license",
-        "pages/user_spread_money/index",
-        "pages/user_integral/index",
-        "pages/user_bill/index",
-        "pages/user_money/index",
-        "pages/user_spread_user/index",
-        "pages/user_sgin_list/index",
-        "pages/order_list/index",
-        "pages/goods_details/index",
-        "pages/goods_details_store/index",
-        "pages/news_details/index",
-        "pages/promoter-list/index",
-        "pages/promoter-order/index",
-        "pages/cash-audit/index",
-        "pages/user_cash/index",
-        "pages/user_return_list/index",
-        "pages/goods_return/index",
-        "pages/goods_comment_con/index",
-        "pages/promotional-items/index",
-        "pages/first-new-product/index",
-        "pages/user_spread_code/index",
-        "pages/user_info/index",
-        "pages/order_pay_status/index",
-        "pages/goods_logistics/index",
-        "pages/user_address/index",
-        "pages/order_addcart/order_addcart",
-        "pages/user_payment/index",
-        "pages/order_cancellation/index",
-        "pages/commission_rank/index",
-        "pages/promoter_rank/index",
-        "components/navbar/index",
-        "components/recommend/index",
-        "components/share-red-packets/index",
-        "components/orderGoods/index",
-        "components/swipers/index",
-        "components/goodList/index",
-        "components/promotionGood/index",
-        "components/productConSwiper/index",
-        "components/userEvaluation/index",
-        "components/coupon-window/index",
-        "components/product-window/index",
-        "components/coupon-list-window/index",
-        "components/address-window/index",
-        "components/home/index",
-        "components/write-off/index",
-        "components/price-change/index",
-        "components/general-window/index",
-        "pages/message/index",
-        "pages/mine_rule/index",
-        "pages/leader_board/index",
-        "pages/message_details/index"
-    ],
-    "subPackages": [{
-            "root": "pages/activity",
-            "name": "activity",
-            "pages": [
-                "goods_combination/index",
-                "goods_combination_details/index",
-                "goods_combination_status/index",
-                "goods_seckill_details/index",
-                "goods_seckill/index",
-                "goods_bargain_details/index",
-                "goods_bargain/index",
-                "poster-poster/index",
-                "user_goods_bargain_list/index"
-            ]
-        },
-        {
-            "root": "pages/admin",
-            "name": "admin",
-            "pages": [
-                "order_cancellation/index",
-                "order/index",
-                "order_list/index",
-                "order_details/index",
-                "order_deliver/index",
-                "order_statistics/index",
-                "order_statistics_time/index"
-            ]
-        }
-    ],
-    "window": {
-        "backgroundTextStyle": "dark",
-        "navigationBarBackgroundColor": "#fff",
-        "navigationBarTitleText": "WeChat",
-        "navigationBarTextStyle": "black",
-        "navigationStyle": "custom"
+  "pages": [
+    "pages/index/index",
+    "pages/goods_cate/goods_cate",
+    "pages/order_details/index",
+    "pages/user_sgin/index",
+    "pages/user/user",
+    "pages/user_get_coupon/index",
+    "pages/order_confirm/index",
+    "pages/goods_list/goods_list",
+    "pages/user_coupon/index",
+    "pages/goods_comment_list/index",
+    "pages/user_goods_collection/index",
+    "pages/user_address_list/index",
+    "pages/news_list/index",
+    "pages/user_phone/index",
+    "pages/user_pwd_edit/index",
+    "pages/goods_search/index",
+    "pages/user_vip/index",
+    "pages/user_license/license",
+    "pages/user_spread_money/index",
+    "pages/user_integral/index",
+    "pages/user_bill/index",
+    "pages/user_money/index",
+    "pages/user_spread_user/index",
+    "pages/user_sgin_list/index",
+    "pages/order_list/index",
+    "pages/goods_details/index",
+    "pages/goods_details_store/index",
+    "pages/news_details/index",
+    "pages/promoter-list/index",
+    "pages/promoter-order/index",
+    "pages/cash-audit/index",
+    "pages/user_cash/index",
+    "pages/user_return_list/index",
+    "pages/goods_return/index",
+    "pages/goods_comment_con/index",
+    "pages/promotional-items/index",
+    "pages/first-new-product/index",
+    "pages/user_spread_code/index",
+    "pages/user_info/index",
+    "pages/order_pay_status/index",
+    "pages/goods_logistics/index",
+    "pages/user_address/index",
+    "pages/order_addcart/order_addcart",
+    "pages/user_payment/index",
+    "pages/order_cancellation/index",
+    "pages/commission_rank/index",
+    "pages/promoter_rank/index",
+    "components/navbar/index",
+    "components/recommend/index",
+    "components/share-red-packets/index",
+    "components/orderGoods/index",
+    "components/swipers/index",
+    "components/goodList/index",
+    "components/promotionGood/index",
+    "components/productConSwiper/index",
+    "components/userEvaluation/index",
+    "components/coupon-window/index",
+    "components/product-window/index",
+    "components/coupon-list-window/index",
+    "components/address-window/index",
+    "components/home/index",
+    "components/write-off/index",
+    "components/price-change/index",
+    "components/general-window/index",
+    "pages/message/index",
+    "pages/mine_rule/index",
+    "pages/leader_board/index",
+    "pages/message_details/index",
+    "pages/login/login"
+  ],
+  "subPackages": [{
+      "root": "pages/activity",
+      "name": "activity",
+      "pages": [
+        "goods_combination/index",
+        "goods_combination_details/index",
+        "goods_combination_status/index",
+        "goods_seckill_details/index",
+        "goods_seckill/index",
+        "goods_bargain_details/index",
+        "goods_bargain/index",
+        "poster-poster/index",
+        "user_goods_bargain_list/index"
+      ]
     },
-    "tabBar": {
-        "backgroundColor": "#ffffff",
-        "color": "#282828",
-        "selectedColor": "#e93323",
-        "borderStyle": "white",
-        "list": [{
-                "pagePath": "pages/index/index",
-                "iconPath": "images/0-001.png",
-                "selectedIconPath": "images/0-002.png",
-                "text": "活动"
-            },
-            {
-                "pagePath": "pages/user_money/index",
-                "iconPath": "images/6-001.png",
-                "selectedIconPath": "images/6-002.png",
-                "text": "钱包"
-            },
-            {
-                "pagePath": "pages/message/index",
-                "iconPath": "images/5-001.png",
-                "selectedIconPath": "images/5-002.png",
-                "text": "消息"
-            },
-            {
-                "pagePath": "pages/order_addcart/order_addcart",
-                "iconPath": "images/3-001.png",
-                "selectedIconPath": "images/3-002.png",
-                "text": "购物车"
-            },
-            {
-                "pagePath": "pages/user/user",
-                "iconPath": "images/4-001.png",
-                "selectedIconPath": "images/4-002.png",
-                "text": "我的"
-            }
-        ]
-    },
-    "permission": {
-    },
-    "requiredBackgroundModes": [
-    ],
-    "sitemapLocation": "sitemap.json"
+    {
+      "root": "pages/admin",
+      "name": "admin",
+      "pages": [
+        "order_cancellation/index",
+        "order/index",
+        "order_list/index",
+        "order_details/index",
+        "order_deliver/index",
+        "order_statistics/index",
+        "order_statistics_time/index"
+      ]
+    }
+  ],
+  "window": {
+    "backgroundTextStyle": "dark",
+    "navigationBarBackgroundColor": "#fff",
+    "navigationBarTitleText": "WeChat",
+    "navigationBarTextStyle": "black",
+    "navigationStyle": "custom"
+  },
+  "tabBar": {
+    "backgroundColor": "#ffffff",
+    "color": "#282828",
+    "selectedColor": "#e93323",
+    "borderStyle": "white",
+    "list": [{
+        "pagePath": "pages/index/index",
+        "iconPath": "images/0-001.png",
+        "selectedIconPath": "images/0-002.png",
+        "text": "活动"
+      },
+      {
+        "pagePath": "pages/user_money/index",
+        "iconPath": "images/6-001.png",
+        "selectedIconPath": "images/6-002.png",
+        "text": "钱包"
+      },
+      {
+        "pagePath": "pages/message/index",
+        "iconPath": "images/5-001.png",
+        "selectedIconPath": "images/5-002.png",
+        "text": "消息"
+      },
+      {
+        "pagePath": "pages/order_addcart/order_addcart",
+        "iconPath": "images/3-001.png",
+        "selectedIconPath": "images/3-002.png",
+        "text": "购物车"
+      },
+      {
+        "pagePath": "pages/user/user",
+        "iconPath": "images/4-001.png",
+        "selectedIconPath": "images/4-002.png",
+        "text": "我的"
+      }
+    ]
+  },
+  "permission": {},
+  "requiredPrivateInfos": [
+    "chooseAddress"
+  ],
+  "requiredBackgroundModes": [],
+  "sitemapLocation": "sitemap.json"
 }

File diff suppressed because it is too large
+ 0 - 2
view/xcx/app.wxss


+ 65 - 68
view/xcx/components/address-window/index.js

@@ -1,82 +1,79 @@
-import {
-    getAddressList
-} from '../../api/user.js';
+import { getAddressList } from '../../api/user.js'
 
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        //跳转url链接
-        pagesUrl: {
-            type: String,
-            value: '',
-        },
-        address: {
-            type: Object,
-            value: {
-                address: true,
-                addressId: 0,
-            }
-        },
-        isLog: {
-            type: Boolean,
-            value: false,
-        },
+  properties: {
+    //跳转url链接
+    pagesUrl: {
+      type: String,
+      value: ''
     },
-    data: {
-        active: 0,
-        //地址列表
-        addressList: [],
-        is_loading: true,
+    address: {
+      type: Object,
+      value: {
+        address: true,
+        addressId: 0
+      }
     },
+    isLog: {
+      type: Boolean,
+      value: false
+    }
+  },
+  data: {
+    active: 0,
+    //地址列表
+    addressList: [],
+    is_loading: true
+  },
 
-    attached: function () {
+  attached: function () {},
 
+  methods: {
+    tapAddress: function (e) {
+      this.setData({
+        active: e.currentTarget.dataset.id
+      })
+      this.triggerEvent('OnChangeAddress', e.currentTarget.dataset.addressid)
     },
 
-    methods: {
-        tapAddress: function (e) {
-            this.setData({
-                active: e.currentTarget.dataset.id
-            });
-            this.triggerEvent('OnChangeAddress', e.currentTarget.dataset.addressid);
-        },
+    close: function () {
+      this.setData({
+        'address.address': false
+      })
+      this.triggerEvent('changeTextareaStatus')
+    },
 
-        close: function () {
-            this.setData({
-                'address.address': false
-            });
-            this.triggerEvent('changeTextareaStatus');
-        },
+    goAddressPages: function () {
+      this.setData({
+        'address.address': false
+      })
+      this.triggerEvent('changeTextareaStatus')
+      wx.navigateTo({
+        url: this.data.pagesUrl
+      })
+    },
 
-        goAddressPages: function () {
-            this.setData({
-                'address.address': false
-            });
-            this.triggerEvent('changeTextareaStatus');
-            wx.navigateTo({
-                url: this.data.pagesUrl
-            });
-        },
-        
-        getAddressList: function () {
-            var that = this;
-            getAddressList({
-                page: 1,
-                limit: 5
-            }).then(res => {
-                var addressList = res.data;
-                //处理默认选中项
-                for (var i = 0, leng = addressList.length; i < leng; i++) {
-                    if (addressList[i].id == that.data.address.addressId) that.setData({
-                        active: i
-                    });
-                }
-                that.setData({
-                    addressList: addressList,
-                    is_loading: false
-                });
+    getAddressList: function () {
+      var that = this
+      getAddressList({
+        page: 1,
+        limit: 5
+      }).then(res => {
+        var addressList = res.data
+        //处理默认选中项
+        for (var i = 0, leng = addressList.length; i < leng; i++) {
+          if (addressList[i].id == that.data.address.addressId)
+            that.setData({
+              active: i
             })
         }
+        that.setData({
+          addressList: addressList,
+          is_loading: false
+        })
+      })
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/address-window/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 25 - 18
view/xcx/components/address-window/index.wxml

@@ -1,21 +1,28 @@
 <view class="address-window {{address.address==true?'on':''}}">
-    <view class='title'>选择地址<text class='iconfont icon-guanbi' bindtap='close'></text></view>
-    <view class='list'>
-        <view class='item acea-row row-between-wrapper {{active==index?"font-color":""}}' wx:for="{{addressList}}"
-            data-id='{{index}}' bindtap='tapAddress' wx:key='index' data-addressId="{{item.id}}">
-            <text class='iconfont icon-ditu {{active==index?"font-color":""}}'></text>
-            <view class='address'>
-                <view class='name {{active==index?"font-color":""}}'>{{item.real_name}}<text
-                        class='phone'>{{item.phone}}</text></view>
-                <view class='line1'>{{item.province}}{{item.city}}{{item.district}}{{item.detail}}</view>
-            </view>
-            <text class='iconfont icon-complete{{active==index?" font-color":""}}'></text>
-        </view>
+  <view class="title">选择地址<text class="iconfont icon-guanbi" bindtap="close"></text></view>
+  <view class="list">
+    <view
+      class='item acea-row row-between-wrapper {{active==index?"font-color":""}}'
+      wx:for="{{addressList}}"
+      data-id="{{index}}"
+      bindtap="tapAddress"
+      wx:key="index"
+      data-addressId="{{item.id}}"
+    >
+      <text class='iconfont icon-ditu {{active==index?"font-color":""}}'></text>
+      <view class="address">
+        <view class='name {{active==index?"font-color":""}}'
+          >{{item.real_name}}<text class="phone">{{item.phone}}</text></view
+        >
+        <view class="line1">{{item.province}}{{item.city}}{{item.district}}{{item.detail}}</view>
+      </view>
+      <text class='iconfont icon-complete{{active==index?" font-color":""}}'></text>
     </view>
-    <!-- 无地址 -->
-    <view class='pictrue' wx:if="{{!is_loading && !addressList.length}}">
-        <image src='/images/noAddress.png'></image>
-    </view>
-    <view class='addressBnt bg-color' bindtap='goAddressPages'>选择其地址</view>
+  </view>
+  <!-- 无地址 -->
+  <view class="pictrue" wx:if="{{!is_loading && !addressList.length}}">
+    <image src="/images/noAddress.png"></image>
+  </view>
+  <view class="addressBnt bg-color" bindtap="goAddressPages">选择其地址</view>
 </view>
-<view class='mask' catchtouchmove="true" hidden='{{address.address==false}}' bindtap='close'></view>
+<view class="mask" catchtouchmove="true" hidden="{{address.address==false}}" bindtap="close"></view>

+ 50 - 50
view/xcx/components/address-window/index.wxss

@@ -1,89 +1,89 @@
 @import '/app.wxss';
 
 .address-window {
-    background-color: #fff;
-    position: fixed;
-    bottom: 0;
-    left: 0;
-    width: 100%;
-    z-index: 101;
-    transform: translate3d(0, 100%, 0);
-    transition: all .3s cubic-bezier(.25, .5, .5, .9);
+  background-color: #fff;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  z-index: 101;
+  transform: translate3d(0, 100%, 0);
+  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
 }
 
 .address-window.on {
-    transform: translate3d(0, 0, 0);
+  transform: translate3d(0, 0, 0);
 }
 
 .address-window .title {
-    font-size: 32rpx;
-    font-weight: bold;
-    text-align: center;
-    height: 123rpx;
-    line-height: 123rpx;
-    position: relative;
+  font-size: 32rpx;
+  font-weight: bold;
+  text-align: center;
+  height: 123rpx;
+  line-height: 123rpx;
+  position: relative;
 }
 
 .address-window .title .iconfont {
-    position: absolute;
-    right: 30rpx;
-    color: #8a8a8a;
-    font-size: 35rpx;
+  position: absolute;
+  right: 30rpx;
+  color: #8a8a8a;
+  font-size: 35rpx;
 }
 
 .address-window .list .item {
-    margin-left: 30rpx;
-    padding-right: 30rpx;
-    border-bottom: 1px solid #eee;
-    height: 129rpx;
-    font-size: 25rpx;
-    color: #333;
+  margin-left: 30rpx;
+  padding-right: 30rpx;
+  border-bottom: 1px solid #eee;
+  height: 129rpx;
+  font-size: 25rpx;
+  color: #333;
 }
 
 .address-window .list .item .iconfont {
-    font-size: 37rpx;
-    color: #2c2c2c;
+  font-size: 37rpx;
+  color: #2c2c2c;
 }
 
 .address-window .list .item .iconfont.icon-complete {
-    font-size: 30rpx;
-    color: #fff;
+  font-size: 30rpx;
+  color: #fff;
 }
 
 .address-window .list .item .address {
-    width: 560rpx;
+  width: 560rpx;
 }
 
 .address-window .list .item .address .name {
-    font-size: 28rpx;
-    font-weight: bold;
-    color: #282828;
-    margin-bottom: 4rpx;
+  font-size: 28rpx;
+  font-weight: bold;
+  color: #282828;
+  margin-bottom: 4rpx;
 }
 
 .address-window .list .item .address .name .phone {
-    margin-left: 18rpx;
+  margin-left: 18rpx;
 }
 
 .address-window .addressBnt {
-    font-size: 30rpx;
-    font-weight: bold;
-    color: #fff;
-    width: 690rpx;
-    height: 86rpx;
-    border-radius: 43rpx;
-    text-align: center;
-    line-height: 86rpx;
-    margin: 85rpx auto;
+  font-size: 30rpx;
+  font-weight: bold;
+  color: #fff;
+  width: 690rpx;
+  height: 86rpx;
+  border-radius: 43rpx;
+  text-align: center;
+  line-height: 86rpx;
+  margin: 85rpx auto;
 }
 
 .address-window .pictrue {
-    width: 414rpx;
-    height: 336rpx;
-    margin: 0 auto;
+  width: 414rpx;
+  height: 336rpx;
+  margin: 0 auto;
 }
 
 .address-window .pictrue image {
-    width: 100%;
-    height: 100%;
-}
+  width: 100%;
+  height: 100%;
+}

+ 179 - 181
view/xcx/components/authorize/authorize.js

@@ -1,194 +1,192 @@
-import {
-    CACHE_USERINFO,
-    CACHE_TOKEN,
-    CACHE_EXPIRES_TIME
-} from '../../config.js';
-import Util from '../../utils/util.js';
-import {
-    getLogo
-} from '../../api/api.js';
-import {
-    login
-} from '../../api/user.js';
+import { CACHE_USERINFO, CACHE_TOKEN, CACHE_EXPIRES_TIME } from '../../config.js'
+import Util from '../../utils/util.js'
+import { getLogo } from '../../api/api.js'
+import { login } from '../../api/user.js'
 
-let app = getApp();
+let app = getApp()
 
 Component({
-    properties: {
-        // 当前授权窗口是否隐藏
-        isHidden: {
-            type: Boolean,
-            value: true,
-        },
-        // 是否自动登录
-        isAuto: {
-            type: Boolean,
-            value: true,
-        },
-        // 是否跳转到首页
-        isGoIndex: {
-            type: Boolean,
-            value: true,
-        },
-    }, // properties
+  properties: {
+    // 当前授权窗口是否隐藏
+    isHidden: {
+      type: Boolean,
+      value: true
+    },
+    // 是否自动登录
+    isAuto: {
+      type: Boolean,
+      value: true
+    },
+    // 是否跳转到首页
+    isGoIndex: {
+      type: Boolean,
+      value: true
+    }
+  }, // properties
 
-    data: {
-        errorCount: 0,
-        errorMaxNum: 3,
-        code: null, // wx login code
-        canIUseGetUserProfile: false, // 判断是否为最新获取用户信息函数
-        canIUseGetUserInfo: false
-    }, // data
+  data: {
+    errorCount: 0,
+    errorMaxNum: 3,
+    code: null, // wx login code
+    canIUseGetUserProfile: false, // 判断是否为最新获取用户信息函数
+    canIUseGetUserInfo: false
+  }, // data
 
-    attached() {
-        this.get_logo_url();
-        this.setAuthStatus();
-        if (wx.getUserProfile) {
-            this.setData({
-                canIUseGetUserProfile: true
-            })
-        }
-        if (wx.getUserInfo) {
-            this.setData({
-                canIUseGetUserInfo: true
-            })
-        }
-    }, // attached
-
-    methods: {
-        close() {
-            wx.hideLoading();
-            let pages = getCurrentPages();
-            let currPage = pages[pages.length - 1];
-            if (this.data.isGoIndex) {
-                wx.switchTab({
-                    url: '/pages/index/index'
-                });
-            } else {
-                this.setData({
-                    isHidden: true
-                });
-                if (currPage && currPage.data.isHidden != undefined) {
-                    currPage.setData({
-                        isHidden: true
-                    });
-                }
-            }
-        }, // close()
+  attached() {
+    this.get_logo_url()
+    this.setAuthStatus()
+    if (wx.getUserProfile) {
+      this.setData({
+        canIUseGetUserProfile: true
+      })
+    }
+    if (wx.getUserInfo) {
+      this.setData({
+        canIUseGetUserInfo: true
+      })
+    }
+  }, // attached
 
-        get_logo_url: function () {
-            var that = this;
-            if (wx.getStorageSync('logo_url')) {
-                return this.setData({
-                    logo_url: wx.getStorageSync('logo_url')
-                });
-            }
-            getLogo().then(res => {
-                wx.setStorageSync('logo_url', res.data.logo_url);
-                that.setData({
-                    logo_url: res.data.logo_url
-                });
-            });
-        }, // get_logo_url()
+  methods: {
+    close() {
+      wx.hideLoading()
+      let pages = getCurrentPages()
+      let currPage = pages[pages.length - 1]
+      if (this.data.isGoIndex) {
+        wx.switchTab({
+          url: '/pages/index/index'
+        })
+      } else {
+        this.setData({
+          isHidden: true
+        })
+        if (currPage && currPage.data.isHidden != undefined) {
+          currPage.setData({
+            isHidden: true
+          })
+        }
+      }
+    }, // close()
 
-        //检测登录状态并执行自动登录
-        setAuthStatus() {
-            var that = this;
-            Util.checkWxLogin().then((res) => {
-                let pages = getCurrentPages();
-                let currPage = pages[pages.length - 1];
-                if (currPage && currPage.data.isHidden != undefined) {
-                    currPage.setData({
-                        isHidden: true
-                    });
-                }
-                that.triggerEvent('onLoadFun', app.globalData.userInfo);
-            }).catch(err => {
-                console.log(err);
-            })
-        }, // setAuthStatus()
+    get_logo_url: function () {
+      var that = this
+      if (wx.getStorageSync('logo_url')) {
+        return this.setData({
+          logo_url: wx.getStorageSync('logo_url')
+        })
+      }
+      getLogo().then(res => {
+        wx.setStorageSync('logo_url', res.data.logo_url)
+        that.setData({
+          logo_url: res.data.logo_url
+        })
+      })
+    }, // get_logo_url()
 
-        wxSilentLogin: function () {
-            return new Promise((resolve, reject) => {
-                wx.login({
-                    success(res) {
-                        resolve(res.code)
-                    },
-                    fail(err) {
-                        reject(err)
-                    }
-                })
+    //检测登录状态并执行自动登录
+    setAuthStatus() {
+      var that = this
+      Util.checkWxLogin()
+        .then(res => {
+          let pages = getCurrentPages()
+          let currPage = pages[pages.length - 1]
+          if (currPage && currPage.data.isHidden != undefined) {
+            currPage.setData({
+              isHidden: true
             })
-        }, // wxSilentLogin
+          }
+          that.triggerEvent('onLoadFun', app.globalData.userInfo)
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    }, // setAuthStatus()
 
-        // 获取用户信息
-        agreeAndAuth() {
-            let that = this;
-            wx.showLoading({
-                title: '正在登录中'
-            });
-            let p1 = this.wxSilentLogin()
-            let p2 = Util.wxGetUserProfile()
-            Promise.all([p1, p2]).then((res) => {
-                let userInfo = res[1];
-                userInfo.code = res[0];
-                // console.log(userInfo);
-                that.loginAuth(userInfo);
-            }).catch((err) => {
-                wx.hideLoading();
-                console.log('err:', err)
-            })
-        }, // agreeAndAuth
+    wxSilentLogin: function () {
+      return new Promise((resolve, reject) => {
+        wx.login({
+          success(res) {
+            resolve(res.code)
+          },
+          fail(err) {
+            reject(err)
+          }
+        })
+      })
+    }, // wxSilentLogin
 
-        // 从后台获取详细信息
-        loginAuth: function (userInfo) {
-            let that = this;
-            userInfo.spread_spid = app.globalData.spid; //获取推广人ID
-            userInfo.spread_code = app.globalData.code; //获取推广人分享二维码ID
-            userInfo.ch = app.globalData.channel // 注册渠道
-            // 发送到后台
-            login(userInfo).then(res => {
-                app.globalData.token = res.data.token;
-                app.globalData.isLog = true;
-                app.globalData.userInfo = res.data.userInfo;
-                app.globalData.expiresTime = res.data.expires_time;
-                wx.setStorageSync(CACHE_TOKEN, res.data.token);
-                wx.setStorageSync(CACHE_EXPIRES_TIME, res.data.expires_time);
-                wx.setStorageSync(CACHE_USERINFO, JSON.stringify(res.data.userInfo));
-                if (res.data.cache_key) {
-                    wx.setStorage({
-                        key: 'cache_key',
-                        data: res.data.cache_key
-                    });
-                }
-                //取消登录提示
-                wx.hideLoading();
-                //关闭登录弹出窗口
-                that.setData({
-                    isHidden: true,
-                    errorCount: 0
-                });
-                //执行登录完成回调
-                that.triggerEvent('onLoadFun', app.globalData.userInfo);
-            }).catch((err) => {
-                wx.hideLoading();
-                that.data.errorCount++;
-                that.setData({
-                    errorCount: that.data.errorCount
-                });
-                if (that.data.errorCount >= that.data.errorMaxNum) {
-                    Util.Tips({
-                        title: err
-                    });
-                }
-            });
-        }, // loginAuth()
+    // 获取用户信息
+    agreeAndAuth() {
+      let that = this
+      wx.showLoading({
+        title: '正在登录中'
+      })
+      let p1 = this.wxSilentLogin()
+      let p2 = Util.wxGetUserProfile()
+      Promise.all([p1, p2])
+        .then(res => {
+          let userInfo = res[1]
+          userInfo.code = res[0]
+          // console.log(userInfo);
+          that.loginAuth(userInfo)
+        })
+        .catch(err => {
+          wx.hideLoading()
+          console.log('err:', err)
+        })
+    }, // agreeAndAuth
 
-        // 点击打开用户协议
-        onTabRegular: function () {
-            wx.navigateTo({
-                url: `/pages/user_license/license`
+    // 从后台获取详细信息
+    loginAuth: function (userInfo) {
+      let that = this
+      userInfo.spread_spid = app.globalData.spid //获取推广人ID
+      userInfo.spread_code = app.globalData.code //获取推广人分享二维码ID
+      userInfo.ch = app.globalData.channel // 注册渠道
+      // 发送到后台
+      login(userInfo)
+        .then(res => {
+          app.globalData.token = res.data.token
+          app.globalData.isLog = true
+          app.globalData.userInfo = res.data.userInfo
+          app.globalData.expiresTime = res.data.expires_time
+          wx.setStorageSync(CACHE_TOKEN, res.data.token)
+          wx.setStorageSync(CACHE_EXPIRES_TIME, res.data.expires_time)
+          wx.setStorageSync(CACHE_USERINFO, JSON.stringify(res.data.userInfo))
+          if (res.data.cache_key) {
+            wx.setStorage({
+              key: 'cache_key',
+              data: res.data.cache_key
             })
-        } //onTabRegular
-    }, // methods
-})
+          }
+          //取消登录提示
+          wx.hideLoading()
+          //关闭登录弹出窗口
+          that.setData({
+            isHidden: true,
+            errorCount: 0
+          })
+          //执行登录完成回调
+          that.triggerEvent('onLoadFun', app.globalData.userInfo)
+        })
+        .catch(err => {
+          wx.hideLoading()
+          that.data.errorCount++
+          that.setData({
+            errorCount: that.data.errorCount
+          })
+          if (that.data.errorCount >= that.data.errorMaxNum) {
+            Util.Tips({
+              title: err
+            })
+          }
+        })
+    }, // loginAuth()
+
+    // 点击打开用户协议
+    onTabRegular: function () {
+      wx.navigateTo({
+        url: `/pages/user_license/license`
+      })
+    } //onTabRegular
+  } // methods
+})

+ 2 - 2
view/xcx/components/authorize/authorize.json

@@ -1,3 +1,3 @@
 {
-    "component": true
-}
+  "component": true
+}

+ 25 - 16
view/xcx/components/authorize/authorize.wxml

@@ -1,18 +1,27 @@
 <!--pages/authorize/authorize.wxml-->
-<view class='Popup' hidden='{{isHidden}}'>
-    <image src='{{logo_url}}'></image>
-    <view class='title'>请授权并同意协议</view>
-    <view class='tip'>请授权微信头像,用户名等信息,并遵守
-        <a href='/pages/user_license/license' bindtap='onTabRegular'>《美天旺平台规则》</a>,
-        以便更好地为您服务。
-    </view>
-    <view class='bottom flex'>
-        <view class='item' bindtap='close'>随便逛逛</view>
-        <!-- 在高版本中获取用户信息已改成uni.getUserProfile-->
-        <button class='item grant' type="primary" wx:if="{{canIUseGetUserProfile}}" lang="zh_CN"
-            bindtap="agreeAndAuth">同意并授权</button>
-        <button class='item grant' type="primary" wx:else open-type="getUserInfo" lang="zh_CN"
-            bindgetuserinfo="agreeAndAuth">同意并授权</button>
-    </view>
+<view class="Popup" hidden="{{isHidden}}">
+  <image src="{{logo_url}}"></image>
+  <view class="title">请授权并同意协议</view>
+  <view class="tip"
+    >请授权微信头像,用户名等信息,并遵守
+    <a href="/pages/user_license/license" bindtap="onTabRegular">《美天旺平台规则》</a>, 以便更好地为您服务。
+  </view>
+  <view class="bottom flex">
+    <view class="item" bindtap="close">随便逛逛</view>
+    <!-- 在高版本中获取用户信息已改成uni.getUserProfile-->
+    <button class="item grant" type="primary" wx:if="{{canIUseGetUserProfile}}" lang="zh_CN" bindtap="agreeAndAuth">
+      同意并授权
+    </button>
+    <button
+      class="item grant"
+      type="primary"
+      wx:else
+      open-type="getUserInfo"
+      lang="zh_CN"
+      bindgetuserinfo="agreeAndAuth"
+    >
+      同意并授权
+    </button>
+  </view>
 </view>
-<view class='mask' hidden='{{isHidden}}' catchtouchmove="true" bindtap='close'></view>
+<view class="mask" hidden="{{isHidden}}" catchtouchmove="true" bindtap="close"></view>

+ 48 - 48
view/xcx/components/authorize/authorize.wxss

@@ -1,78 +1,78 @@
 /* pages/authorize/authorize.wxss */
-@import "../../app.wxss";
+@import '../../app.wxss';
 
 .Popup {
-    width: 500rpx;
-    background-color: #fff;
-    position: fixed;
-    top: 50%;
-    left: 50%;
-    margin-left: -250rpx;
-    transform: translateY(-50%);
-    z-index: 320;
+  width: 500rpx;
+  background-color: #fff;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  margin-left: -250rpx;
+  transform: translateY(-50%);
+  z-index: 320;
 }
 
 .Popup image {
-    width: 150rpx;
-    height: 150rpx;
-    margin: -67rpx auto 0 auto;
-    display: block;
-    border: 8rpx solid #fff;
-    border-radius: 50%
+  width: 150rpx;
+  height: 150rpx;
+  margin: -67rpx auto 0 auto;
+  display: block;
+  border: 8rpx solid #fff;
+  border-radius: 50%;
 }
 
 .Popup .title {
-    font-size: 28rpx;
-    color: #000;
-    text-align: center;
-    margin-top: 30rpx
+  font-size: 28rpx;
+  color: #000;
+  text-align: center;
+  margin-top: 30rpx;
 }
 
 .Popup .tip {
-    font-size: 22rpx;
-    color: #555;
-    padding: 0 24rpx;
-    margin-top: 25rpx;
+  font-size: 22rpx;
+  color: #555;
+  padding: 0 24rpx;
+  margin-top: 25rpx;
 }
 
 .Popup .tip a {
-    color: rgb(243, 70, 70);
+  color: rgb(243, 70, 70);
 }
 
 .Popup .bottom .item {
-    width: 50%;
-    height: 80rpx;
-    background-color: #eeeeee;
-    text-align: center;
-    line-height: 80rpx;
-    font-size: 24rpx;
-    color: #666;
-    margin-top: 54rpx;
+  width: 50%;
+  height: 80rpx;
+  background-color: #eeeeee;
+  text-align: center;
+  line-height: 80rpx;
+  font-size: 24rpx;
+  color: #666;
+  margin-top: 54rpx;
 }
 
 .Popup .bottom .item.on {
-    width: 100%
+  width: 100%;
 }
 
 .flex {
-    display: flex;
+  display: flex;
 }
 
 .Popup .bottom .item.grant {
-    font-size: 28rpx;
-    color: #fff;
-    font-weight: bold;
-    background-color: #e93323;
-    border-radius: 0;
-    padding: 0;
+  font-size: 28rpx;
+  color: #fff;
+  font-weight: bold;
+  background-color: #e93323;
+  border-radius: 0;
+  padding: 0;
 }
 
 .mask {
-    position: fixed;
-    top: 0;
-    right: 0;
-    left: 0;
-    bottom: 0;
-    background-color: rgba(0, 0, 0, 0.65);
-    z-index: 310;
-}
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  bottom: 0;
+  background-color: rgba(0, 0, 0, 0.65);
+  z-index: 310;
+}

+ 54 - 57
view/xcx/components/coupon-list-window/index.js

@@ -1,65 +1,62 @@
-import {
-    setCouponReceive
-} from '../../api/api.js';
+import { setCouponReceive } from '../../api/api.js'
 
-const app = getApp();
+const app = getApp()
 
 Component({
-    properties: {
-        coupon: {
-            type: Object,
-            value: {
-                list: [],
-                statusTile: ''
-            },
-        },
-        cartId: {
-            type: String,
-            value: '',
-        },
-        //打开状态 0=领取优惠券,1=使用优惠券
-        openType: {
-            type: Number,
-            value: 0,
-        }
+  properties: {
+    coupon: {
+      type: Object,
+      value: {
+        list: [],
+        statusTile: ''
+      }
     },
-
-    data: {},
-    
-    attached: function () {
-        console.log(this.data.cartId)
+    cartId: {
+      type: String,
+      value: ''
     },
-    
-    methods: {
+    //打开状态 0=领取优惠券,1=使用优惠券
+    openType: {
+      type: Number,
+      value: 0
+    }
+  },
+
+  data: {},
 
-        close: function () {
-            this.triggerEvent('ChangCouponsClone');
-        },
+  attached: function () {
+    console.log(this.data.cartId)
+  },
+
+  methods: {
+    close: function () {
+      this.triggerEvent('ChangCouponsClone')
+    },
 
-        getCouponUser: function (e) {
-            var that = this;
-            var id = e.currentTarget.dataset.id;
-            var index = e.currentTarget.dataset.index;
-            var list = that.data.coupon.list;
-            if (list[index].is_use == true && this.data.openType == 0) return true;
-            switch (this.data.openType) {
-                case 0:
-                    //领取优惠券
-                    setCouponReceive(id).then(res => {
-                        list[index].is_use = true;
-                        that.setData({
-                            ['coupon.list']: list
-                        });
-                        app.Tips({
-                            title: '领取成功'
-                        });
-                        that.triggerEvent('ChangCoupons', list[index]);
-                    });
-                    break;
-                case 1:
-                    that.triggerEvent('ChangCoupons', index);
-                    break;
-            }
-        },
+    getCouponUser: function (e) {
+      var that = this
+      var id = e.currentTarget.dataset.id
+      var index = e.currentTarget.dataset.index
+      var list = that.data.coupon.list
+      if (list[index].is_use == true && this.data.openType == 0) return true
+      switch (this.data.openType) {
+        case 0:
+          //领取优惠券
+          setCouponReceive(id).then(res => {
+            list[index].is_use = true
+            that.setData({
+              ['coupon.list']: list
+            })
+            app.Tips({
+              title: '领取成功'
+            })
+            that.triggerEvent('ChangCoupons', list[index])
+          })
+          break
+        case 1:
+          that.triggerEvent('ChangCoupons', index)
+          break
+      }
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/coupon-list-window/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 32 - 26
view/xcx/components/coupon-list-window/index.wxml

@@ -1,30 +1,36 @@
 <view class='coupon-list-window {{coupon.coupon==true?"on":""}}'>
-    <view class='title'>优惠券<text class='iconfont icon-guanbi' bindtap='close'></text></view>
-    <view class='coupon-list' wx:if="{{coupon.list.length}}">
-        <view class='item acea-row row-center-wrapper' wx:for="{{coupon.list}}" bindtap='getCouponUser'
-            data-index='{{index}}' data-id="{{item.id}}" wx:key='index'>
-            <view class='money {{item.is_use?"moneyGray":""}} acea-row row-column row-center-wrapper'>
-                <view>¥<text class='num'>{{item.coupon_price}}</text></view>
-                <view class="pic-num">满{{item.use_min_price}}元可用</view>
-            </view>
-            <view class='text'>
-                <view class='condition line1'>
-                    <span class='line-title {{item.is_use?"gray":""}}' wx:if="{{item.type===0}}">通用劵</span>
-                    <span class='line-title {{item.is_use?"gray":""}}' wx:elif="{{item.type===1}}">品类券</span>
-                    <span class='line-title {{item.is_use?"gray":""}}' wx:else>商品券</span>
-                    <span>{{item.title}}</span>
-                </view>
-                <view class='data acea-row row-between-wrapper'>
-                    <view>{{item.start_time ? item.start_time+'-' : ''}}{{item.end_time}}</view>
-                    <view class='bnt gray' wx:if="{{item.is_use}}">{{item.use_title || '已领取'}}</view>
-                    <view class='bnt bg-color' wx:else>{{coupon.statusTile || '立即领取'}}</view>
-                </view>
-            </view>
+  <view class="title">优惠券<text class="iconfont icon-guanbi" bindtap="close"></text></view>
+  <view class="coupon-list" wx:if="{{coupon.list.length}}">
+    <view
+      class="item acea-row row-center-wrapper"
+      wx:for="{{coupon.list}}"
+      bindtap="getCouponUser"
+      data-index="{{index}}"
+      data-id="{{item.id}}"
+      wx:key="index"
+    >
+      <view class='money {{item.is_use?"moneyGray":""}} acea-row row-column row-center-wrapper'>
+        <view>¥<text class="num">{{item.coupon_price}}</text></view>
+        <view class="pic-num">满{{item.use_min_price}}元可用</view>
+      </view>
+      <view class="text">
+        <view class="condition line1">
+          <span class='line-title {{item.is_use?"gray":""}}' wx:if="{{item.type===0}}">通用劵</span>
+          <span class='line-title {{item.is_use?"gray":""}}' wx:elif="{{item.type===1}}">品类券</span>
+          <span class='line-title {{item.is_use?"gray":""}}' wx:else>商品券</span>
+          <span>{{item.title}}</span>
         </view>
+        <view class="data acea-row row-between-wrapper">
+          <view>{{item.start_time ? item.start_time+'-' : ''}}{{item.end_time}}</view>
+          <view class="bnt gray" wx:if="{{item.is_use}}">{{item.use_title || '已领取'}}</view>
+          <view class="bnt bg-color" wx:else>{{coupon.statusTile || '立即领取'}}</view>
+        </view>
+      </view>
     </view>
-    <!-- 无优惠券 -->
-    <view class='pictrue' wx:else>
-        <image src='/images/noCoupon.png'></image>
-    </view>
+  </view>
+  <!-- 无优惠券 -->
+  <view class="pictrue" wx:else>
+    <image src="/images/noCoupon.png"></image>
+  </view>
 </view>
-<view class='mask' catchtouchmove="true" hidden='{{coupon.coupon==false}}' bindtap='close'></view>
+<view class="mask" catchtouchmove="true" hidden="{{coupon.coupon==false}}" bindtap="close"></view>

+ 51 - 51
view/xcx/components/coupon-list-window/index.wxss

@@ -1,81 +1,81 @@
 @import '/app.wxss';
 
 .coupon-list-window {
-    position: fixed;
-    bottom: 0;
-    left: 0;
-    width: 100%;
-    background-color: #f5f5f5;
-    border-radius: 16rpx 16rpx 0 0;
-    transform: translate3d(0, 100%, 0);
-    transition: all .3s cubic-bezier(.25, .5, .5, .9);
-    z-index: 1000
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  background-color: #f5f5f5;
+  border-radius: 16rpx 16rpx 0 0;
+  transform: translate3d(0, 100%, 0);
+  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
+  z-index: 1000;
 }
 
 .coupon-list-window.on {
-    transform: translate3d(0, 0, 0);
+  transform: translate3d(0, 0, 0);
 }
 
 .coupon-list-window .title {
-    height: 124rpx;
-    width: 100%;
-    text-align: center;
-    line-height: 124rpx;
-    font-size: 32rpx;
-    font-weight: bold;
-    position: relative;
+  height: 124rpx;
+  width: 100%;
+  text-align: center;
+  line-height: 124rpx;
+  font-size: 32rpx;
+  font-weight: bold;
+  position: relative;
 }
 
 .coupon-list-window .title .iconfont {
-    position: absolute;
-    right: 30rpx;
-    top: 50%;
-    transform: translateY(-50%);
-    font-size: 35rpx;
-    color: #8a8a8a;
-    font-weight: normal;
-    width: 100rpx;
-    display: block;
-    text-align: right;
+  position: absolute;
+  right: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  font-size: 35rpx;
+  color: #8a8a8a;
+  font-weight: normal;
+  width: 100rpx;
+  display: block;
+  text-align: right;
 }
 
 .coupon-list-window .coupon-list {
-    margin: 0 0 50rpx 0;
-    height: 550rpx;
-    overflow: auto;
+  margin: 0 0 50rpx 0;
+  height: 550rpx;
+  overflow: auto;
 }
 
 .coupon-list-window .pictrue {
-    width: 414rpx;
-    height: 336rpx;
-    margin: 0 auto 50rpx auto;
+  width: 414rpx;
+  height: 336rpx;
+  margin: 0 auto 50rpx auto;
 }
 
 .coupon-list-window .pictrue image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .pic-num {
-    color: #fff;
-    font-size: 24rpx;
+  color: #fff;
+  font-size: 24rpx;
 }
 
 .line-title {
-    width: 90rpx;
-    padding: 0 10rpx;
-    box-sizing: border-box;
-    background: rgba(255, 247, 247, 1);
-    border: 1px solid rgba(232, 51, 35, 1);
-    opacity: 1;
-    border-radius: 20rpx;
-    font-size: 20rpx;
-    color: #E83323;
-    margin-right: 12rpx;
+  width: 90rpx;
+  padding: 0 10rpx;
+  box-sizing: border-box;
+  background: rgba(255, 247, 247, 1);
+  border: 1px solid rgba(232, 51, 35, 1);
+  opacity: 1;
+  border-radius: 20rpx;
+  font-size: 20rpx;
+  color: #e83323;
+  margin-right: 12rpx;
 }
 
 .line-title.gray {
-    border-color: #BBB;
-    color: #bbb;
-    background-color: #F5F5F5;
-}
+  border-color: #bbb;
+  color: #bbb;
+  background-color: #f5f5f5;
+}

+ 17 - 21
view/xcx/components/coupon-window/index.js

@@ -1,24 +1,20 @@
-var app = getApp();
+var app = getApp()
 Component({
-    properties: {
-        window: {
-            type: Boolean,
-            value: false,
-        },
-        couponList: {
-            type: Array,
-            value: [],
-        }
+  properties: {
+    window: {
+      type: Boolean,
+      value: false
     },
-    data: {
-
-    },
-    attached: function () {
-
-    },
-    methods: {
-        close: function () {
-            this.triggerEvent('onClose');
-        }
+    couponList: {
+      type: Array,
+      value: []
+    }
+  },
+  data: {},
+  attached: function () {},
+  methods: {
+    close: function () {
+      this.triggerEvent('onClose')
     }
-})
+  }
+})

+ 2 - 2
view/xcx/components/coupon-window/index.json

@@ -1,3 +1,3 @@
 {
-    "usingComponents": {}
-}
+  "usingComponents": {}
+}

+ 20 - 20
view/xcx/components/coupon-window/index.wxml

@@ -1,24 +1,24 @@
 <view class='coupon-window {{window==true?"on":""}}'>
-    <view class='couponWinList'>
-        <view class='item acea-row row-center-wrapper' wx:for="{{couponList}}" wx:key='index'>
-            <view class='money font-color acea-row row-column row-center-wrapper'>
-                <view>¥<text class='num'>{{item.coupon_price}}</text></view>
-                <view class="pic-num">满{{item.use_min_price}}元可用</view>
-            </view>
-            <view class="text acea-row row-between">
-                <view class='pic acea-row row-column row-center'>
-                    <view class='name line1'>{{item.title}}</view>
-                    <view>{{item.start_time ? item.start_time+'-' : ''}}{{item.end_time}}</view>
-                </view>
-                <view class="type" wx:if="{{item.type===0}}">通用劵</view>
-                <view class="type" wx:elif="{{item.type===1}}">品类券</view>
-                <view class="type" wx:else>商品券</view>
-            </view>
+  <view class="couponWinList">
+    <view class="item acea-row row-center-wrapper" wx:for="{{couponList}}" wx:key="index">
+      <view class="money font-color acea-row row-column row-center-wrapper">
+        <view>¥<text class="num">{{item.coupon_price}}</text></view>
+        <view class="pic-num">满{{item.use_min_price}}元可用</view>
+      </view>
+      <view class="text acea-row row-between">
+        <view class="pic acea-row row-column row-center">
+          <view class="name line1">{{item.title}}</view>
+          <view>{{item.start_time ? item.start_time+'-' : ''}}{{item.end_time}}</view>
         </view>
+        <view class="type" wx:if="{{item.type===0}}">通用劵</view>
+        <view class="type" wx:elif="{{item.type===1}}">品类券</view>
+        <view class="type" wx:else>商品券</view>
+      </view>
     </view>
-    <view class='lid'>
-        <navigator hover-class='none' url='/pages/user_get_coupon/index' class='bnt font-color'>立即领取</navigator>
-        <view class='iconfont icon-guanbi3' bindtap='close'></view>
-    </view>
+  </view>
+  <view class="lid">
+    <navigator hover-class="none" url="/pages/user_get_coupon/index" class="bnt font-color">立即领取</navigator>
+    <view class="iconfont icon-guanbi3" bindtap="close"></view>
+  </view>
 </view>
-<view class='mask' catchtouchmove="true" hidden='{{window==false}}'></view>
+<view class="mask" catchtouchmove="true" hidden="{{window==false}}"></view>

File diff suppressed because it is too large
+ 0 - 0
view/xcx/components/coupon-window/index.wxss


+ 16 - 16
view/xcx/components/general-window/index.js

@@ -1,22 +1,22 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        generalActive: {
-            type: Boolean
-        },
-        generalContent: {
-            type: Object
-        }
+  properties: {
+    generalActive: {
+      type: Boolean
     },
+    generalContent: {
+      type: Object
+    }
+  },
+
+  data: {},
 
-    data: {},
+  attached: function () {},
 
-    attached: function () {},
-    
-    methods: {
-        close: function () {
-            this.triggerEvent('generalWindow');
-        }
+  methods: {
+    close: function () {
+      this.triggerEvent('generalWindow')
     }
-})
+  }
+})

+ 2 - 2
view/xcx/components/general-window/index.json

@@ -1,3 +1,3 @@
 {
-    "usingComponents": {}
-}
+  "usingComponents": {}
+}

+ 10 - 10
view/xcx/components/general-window/index.wxml

@@ -1,11 +1,11 @@
-<view class='generalWindow'>
-    <view class='generalTip {{generalActive==true?"on":""}}'>
-        <view class='pictrue'>
-            <image src='./../../images/promoter.png'></image>
-        </view>
-        <view class='name'>{{generalContent.title}}</view>
-        <view class='info'>{{generalContent.promoterNum}}</view>
-        <view class='tipBnt' bindtap='close'>我知道了</view>
+<view class="generalWindow">
+  <view class='generalTip {{generalActive==true?"on":""}}'>
+    <view class="pictrue">
+      <image src="./../../images/promoter.png"></image>
     </view>
-    <view class='mask' catchtouchmove="true" hidden='{{generalActive==false}}' bindtap='close'></view>
-</view>
+    <view class="name">{{generalContent.title}}</view>
+    <view class="info">{{generalContent.promoterNum}}</view>
+    <view class="tipBnt" bindtap="close">我知道了</view>
+  </view>
+  <view class="mask" catchtouchmove="true" hidden="{{generalActive==false}}" bindtap="close"></view>
+</view>

+ 54 - 54
view/xcx/components/general-window/index.wxss

@@ -2,84 +2,84 @@
 @import '/css/style.wxss';
 
 .generalWindow .generalTip {
-    position: fixed;
-    top: 50%;
-    left: 50%;
-    width: 560rpx;
-    margin-left: -280rpx;
-    z-index: 99;
-    border-radius: 20rpx;
-    background-color: #fff;
-    transition: all 0.3s ease-in-out 0s;
-    opacity: 0;
-    transform: scale(0);
-    padding-bottom: 60rpx;
-    margin-top: -330rpx;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  width: 560rpx;
+  margin-left: -280rpx;
+  z-index: 99;
+  border-radius: 20rpx;
+  background-color: #fff;
+  transition: all 0.3s ease-in-out 0s;
+  opacity: 0;
+  transform: scale(0);
+  padding-bottom: 60rpx;
+  margin-top: -330rpx;
 }
 
 .generalWindow .generalTip.on {
-    opacity: 1;
-    transform: scale(1);
+  opacity: 1;
+  transform: scale(1);
 }
 
 .generalWindow .generalTip .pictrue {
-    width: 100%;
-    height: 270rpx;
+  width: 100%;
+  height: 270rpx;
 }
 
 .generalWindow .generalTip .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 20rpx 20rpx 0 0;
+  width: 100%;
+  height: 100%;
+  border-radius: 20rpx 20rpx 0 0;
 }
 
 .generalWindow .generalTip .name {
-    font-size: 36rpx;
-    font-weight: bold;
-    color: #282828;
-    text-align: center;
-    padding: 0 29rpx;
-    margin-top: 37rpx;
+  font-size: 36rpx;
+  font-weight: bold;
+  color: #282828;
+  text-align: center;
+  padding: 0 29rpx;
+  margin-top: 37rpx;
 }
 
 .generalWindow .generalTip .info {
-    font-size: 30rpx;
-    color: #666;
-    padding: 0 29rpx;
-    text-align: center;
-    margin-top: 21rpx;
+  font-size: 30rpx;
+  color: #666;
+  padding: 0 29rpx;
+  text-align: center;
+  margin-top: 21rpx;
 }
 
 .generalWindow .generalTip .info .money {
-    font-weight: bold;
-    margin: 0 10rpx;
+  font-weight: bold;
+  margin: 0 10rpx;
 }
 
 .generalWindow .generalTip .help {
-    font-size: 32rpx;
-    font-weight: bold;
-    text-align: center;
-    margin-top: 40rpx;
+  font-size: 32rpx;
+  font-weight: bold;
+  text-align: center;
+  margin-top: 40rpx;
 }
 
 .generalWindow .generalTip .tipBnt {
-    font-size: 32rpx;
-    color: #fff;
-    width: 360rpx;
-    height: 82rpx;
-    border-radius: 41rpx;
-    background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
-    text-align: center;
-    line-height: 82rpx;
-    margin: 50rpx auto 0 auto;
+  font-size: 32rpx;
+  color: #fff;
+  width: 360rpx;
+  height: 82rpx;
+  border-radius: 41rpx;
+  background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
+  text-align: center;
+  line-height: 82rpx;
+  margin: 50rpx auto 0 auto;
 }
 
 .generalWindow .mask {
-    position: fixed;
-    top: 0;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    background-color: rgba(0, 0, 0, 0.7);
-    z-index: 55;
-}
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background-color: rgba(0, 0, 0, 0.7);
+  z-index: 55;
+}

+ 36 - 36
view/xcx/components/goodList/index.js

@@ -1,41 +1,41 @@
 // components/goodList/index.js
 Component({
-    properties: {
-        status: {
-            type: String,
-            value: 0,
-        },
-        bastList: {
-            type: Object,
-            value: [],
-        }
+  properties: {
+    status: {
+      type: String,
+      value: 0
     },
+    bastList: {
+      type: Object,
+      value: []
+    }
+  },
+
+  data: {},
 
-    data: {},
-    
-    methods: {
-        /**
-         * 商品详情跳转
-         */
-        goDetail: function (e) {
-            let item = e.currentTarget.dataset.items
-            if (item.activity && item.activity.type === "1") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
-                });
-            } else if (item.activity && item.activity.type === "2") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
-                });
-            } else if (item.activity && item.activity.type === "3") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
-                });
-            } else {
-                wx.navigateTo({
-                    url: `/pages/goods_details/index?id=${item.id}`
-                });
-            }
-        },
+  methods: {
+    /**
+     * 商品详情跳转
+     */
+    goDetail: function (e) {
+      let item = e.currentTarget.dataset.items
+      if (item.activity && item.activity.type === '1') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
+        })
+      } else if (item.activity && item.activity.type === '2') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
+        })
+      } else if (item.activity && item.activity.type === '3') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
+        })
+      } else {
+        wx.navigateTo({
+          url: `/pages/goods_details/index?id=${item.id}`
+        })
+      }
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/goodList/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 27 - 34
view/xcx/components/goodList/index.wxml

@@ -1,39 +1,32 @@
-<view class='goodList'>
-    <block wx:for="{{bastList}}" wx:key='index'>
-        <view bindtap="goDetail" data-items='{{item}}' class='item acea-row row-between-wrapper'>
+<view class="goodList">
+  <block wx:for="{{bastList}}" wx:key="index">
+    <view bindtap="goDetail" data-items="{{item}}" class="item acea-row row-between-wrapper">
+      <!-- 首发新品 商品图片 -->
+      <view class="pictrue">
+        <image src="{{item.image}}"></image>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type ==='1'}}">秒杀</text>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type === '2'}}">砍价</text>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type === '3'}}">拼团</text>
+      </view>
 
-            <!-- 首发新品 商品图片 -->
-            <view class='pictrue'>
-                <image src='{{item.image}}'></image>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type ==='1'}}">秒杀</text>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '2'}}">砍价</text>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '3'}}">拼团</text>
-            </view>
-
-            <view class='underline'>
-                <view class='text'>
-                    <view class='line1'>{{item.store_name}}</view>
-                    <view class='money font-color'>
-                        ¥<text class='num'>{{item.price}}</text>
-                    </view>
-                    <view class='vip-money acea-row row-middle' wx:if='{{item.vip_price && item.vip_price > 0}}'>
-                        <!-- 暂时不再显示会员价
+      <view class="underline">
+        <view class="text">
+          <view class="line1">{{item.store_name}}</view>
+          <view class="money font-color"> ¥<text class="num">{{item.price}}</text> </view>
+          <view class="vip-money acea-row row-middle" wx:if="{{item.vip_price && item.vip_price > 0}}">
+            <!-- 暂时不再显示会员价
             ¥{{item.vip_price || 0}}
             <image  src='/images/vip.png'></image>
             -->
-                        <text class='num'>已售{{item.sales}}{{item.unit_name}}</text>
-                    </view>
-                    <view class='vip-money acea-row row-middle' wx:else>
-                        <text class='num'>已售{{item.sales}}{{item.unit_name}}</text>
-                    </view>
-                </view>
-            </view>
-
-            <view class='iconfont icon-gouwuche cart-color acea-row row-center-wrapper'>
-            </view>
+            <text class="num">已售{{item.sales}}{{item.unit_name}}</text>
+          </view>
+          <view class="vip-money acea-row row-middle" wx:else>
+            <text class="num">已售{{item.sales}}{{item.unit_name}}</text>
+          </view>
         </view>
-    </block>
-</view>
+      </view>
+
+      <view class="iconfont icon-gouwuche cart-color acea-row row-center-wrapper"> </view>
+    </view>
+  </block>
+</view>

+ 43 - 43
view/xcx/components/goodList/index.wxss

@@ -1,82 +1,82 @@
 @import '/app.wxss';
 
 .goodList .item {
-    position: relative;
-    padding-left: 30rpx;
+  position: relative;
+  padding-left: 30rpx;
 }
 
 .goodList .item .pictrue {
-    width: 180rpx;
-    height: 180rpx;
-    position: relative;
+  width: 180rpx;
+  height: 180rpx;
+  position: relative;
 }
 
 .goodList .item .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 6rpx;
+  width: 100%;
+  height: 100%;
+  border-radius: 6rpx;
 }
 
 .goodList .item .pictrue .numPic {
-    position: absolute;
-    left: 7rpx;
-    top: 7rpx;
-    width: 50rpx;
-    height: 50rpx;
-    border-radius: 50%;
+  position: absolute;
+  left: 7rpx;
+  top: 7rpx;
+  width: 50rpx;
+  height: 50rpx;
+  border-radius: 50%;
 }
 
 .goodList .item .underline {
-    padding: 30rpx 30rpx 30rpx 0;
-    border-bottom: 1px solid #f5f5f5;
+  padding: 30rpx 30rpx 30rpx 0;
+  border-bottom: 1px solid #f5f5f5;
 }
 
 .goodList .item:nth-last-child(1) .underline {
-    border-bottom: 0;
+  border-bottom: 0;
 }
 
 .goodList .item .text {
-    font-size: 30rpx;
-    color: #222;
-    width: 489rpx;
+  font-size: 30rpx;
+  color: #222;
+  width: 489rpx;
 }
 
 .goodList .item .text .money {
-    font-size: 26rpx;
-    font-weight: bold;
-    margin-top: 50rpx;
+  font-size: 26rpx;
+  font-weight: bold;
+  margin-top: 50rpx;
 }
 
 .goodList .item .text .money .num {
-    font-size: 34rpx;
+  font-size: 34rpx;
 }
 
 .goodList .item .text .vip-money {
-    font-size: 24rpx;
-    color: #282828;
-    font-weight: bold;
-    margin-top: 15rpx;
+  font-size: 24rpx;
+  color: #282828;
+  font-weight: bold;
+  margin-top: 15rpx;
 }
 
 .goodList .item .text .vip-money image {
-    width: 46rpx;
-    height: 21rpx;
-    margin-left: 5rpx;
+  width: 46rpx;
+  height: 21rpx;
+  margin-left: 5rpx;
 }
 
 .goodList .item .text .vip-money .num {
-    font-size: 22rpx;
-    color: #aaa;
-    font-weight: normal;
-    margin: -2rpx 0 0 22rpx;
+  font-size: 22rpx;
+  color: #aaa;
+  font-weight: normal;
+  margin: -2rpx 0 0 22rpx;
 }
 
 .goodList .item .iconfont {
-    position: absolute;
-    right: 30rpx;
-    width: 50rpx;
-    height: 50rpx;
-    border-radius: 50%;
-    font-size: 30rpx;
-    bottom: 38rpx;
-}
+  position: absolute;
+  right: 30rpx;
+  width: 50rpx;
+  height: 50rpx;
+  border-radius: 50%;
+  font-size: 30rpx;
+  bottom: 38rpx;
+}

+ 61 - 77
view/xcx/components/home/index.js

@@ -1,80 +1,64 @@
 // components/home/index.js
 Page({
-    /**
-     * 页面的初始数据
-     */
-    data: {
-        homeActive: false
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad: function (options) {
-
-    },
-
-    setTouchMove: function (e) {
-        var that = this;
-        if (e.touches[0].clientY < 545 && e.touches[0].clientY > 66) {
-            that.setData({
-                top: e.touches[0].clientY
-            })
-        }
-    },
-
-    open: function () {
-        this.setData({
-            homeActive: !this.data.homeActive
-        })
-    },
-    
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload: function () {
-
-    },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh: function () {
-
-    },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom: function () {
-
-    },
-
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage: function () {
-
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    homeActive: false
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {},
+
+  setTouchMove: function (e) {
+    var that = this
+    if (e.touches[0].clientY < 545 && e.touches[0].clientY > 66) {
+      that.setData({
+        top: e.touches[0].clientY
+      })
     }
-})
+  },
+
+  open: function () {
+    this.setData({
+      homeActive: !this.data.homeActive
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {},
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {},
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {},
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {},
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {},
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {},
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {}
+})

+ 3 - 3
view/xcx/components/home/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 25 - 15
view/xcx/components/home/index.wxml

@@ -1,15 +1,25 @@
-<view class='home acea-row row-middle {{homeActive==true?"on":""}}' style=" top:{{top*2}}rpx;"
-    catchtouchmove="setTouchMove">
-
-    <view class='homeCon acea-row row-between-wrapper {{homeActive==true?"on":""}}'>
-        <navigator hover-class='none' url='/pages/index/index' open-type='switchTab'
-            class='iconfont icon-shouye-xianxing'></navigator>
-        <navigator hover-class='none' url='/pages/order_addcart/order_addcart' open-type='switchTab'
-            class='iconfont icon-caigou-xianxing'></navigator>
-        <navigator hover-class='none' url='/pages/user/user' open-type='switchTab' class='iconfont icon-yonghu1'>
-        </navigator>
-    </view>
-    <view class='pictrue {{homeActive==true?"on":""}}' bindtap='open'>
-        <image src='{{homeActive==false?"/images/close.gif":"/images/open.gif"}}'></image>
-    </view>
-</view>
+<view
+  class='home acea-row row-middle {{homeActive==true?"on":""}}'
+  style=" top:{{top*2}}rpx;"
+  catchtouchmove="setTouchMove"
+>
+  <view class='homeCon acea-row row-between-wrapper {{homeActive==true?"on":""}}'>
+    <navigator
+      hover-class="none"
+      url="/pages/index/index"
+      open-type="switchTab"
+      class="iconfont icon-shouye-xianxing"
+    ></navigator>
+    <navigator
+      hover-class="none"
+      url="/pages/order_addcart/order_addcart"
+      open-type="switchTab"
+      class="iconfont icon-caigou-xianxing"
+    ></navigator>
+    <navigator hover-class="none" url="/pages/user/user" open-type="switchTab" class="iconfont icon-yonghu1">
+    </navigator>
+  </view>
+  <view class='pictrue {{homeActive==true?"on":""}}' bindtap="open">
+    <image src='{{homeActive==false?"/images/close.gif":"/images/open.gif"}}'></image>
+  </view>
+</view>

+ 32 - 32
view/xcx/components/home/index.wxss

@@ -7,56 +7,56 @@
 .home .pictrue image{width:100%;height:100%;border-radius:50%;} */
 
 .home {
-    position: fixed;
-    bottom: 100rpx;
-    color: white;
-    text-align: center;
-    z-index: 99;
-    right: 10rpx;
-    height: 86rpx;
-    width: 96rpx;
-    overflow: hidden;
+  position: fixed;
+  bottom: 100rpx;
+  color: white;
+  text-align: center;
+  z-index: 99;
+  right: 10rpx;
+  height: 86rpx;
+  width: 96rpx;
+  overflow: hidden;
 }
 
 .home.on {
-    width: 396rpx;
+  width: 396rpx;
 }
 
 .home .homeCon {
-    border-radius: 50rpx;
-    box-sizing: border-box;
-    transform: translate3d(500rpx, 0, 0);
-    transition: all .3s cubic-bezier(.25, .5, .5, .9);
-    height: 86rpx;
-    background-color: #f44939;
-    color: #f44939;
+  border-radius: 50rpx;
+  box-sizing: border-box;
+  transform: translate3d(500rpx, 0, 0);
+  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
+  height: 86rpx;
+  background-color: #f44939;
+  color: #f44939;
 }
 
 .home .homeCon.on {
-    transform: translate3d(0, 0, 0);
-    color: #fff;
+  transform: translate3d(0, 0, 0);
+  color: #fff;
 }
 
 .home .homeCon .iconfont {
-    font-size: 48rpx;
-    width: 100rpx;
+  font-size: 48rpx;
+  width: 100rpx;
 }
 
 .home .pictrue {
-    width: 86rpx;
-    height: 86rpx;
-    border-radius: 50%;
-    margin-left: 10rpx;
-    margin-top: -86rpx;
+  width: 86rpx;
+  height: 86rpx;
+  border-radius: 50%;
+  margin-left: 10rpx;
+  margin-top: -86rpx;
 }
 
 .home .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 50%;
-    transform: rotate(90deg);
+  width: 100%;
+  height: 100%;
+  border-radius: 50%;
+  transform: rotate(90deg);
 }
 
 .home .pictrue.on {
-    margin-top: 0;
-}
+  margin-top: 0;
+}

+ 171 - 170
view/xcx/components/mine/index.js

@@ -1,191 +1,192 @@
 // components/mine/index.js
-import {
-    getMineStatus,
-    bootCoin,
-    coinHistory
-} from "../../api/mine"
-import {
-    strip,
-    tsToStringDate
-} from "../../utils/util"
-import d from '../../utils/d.js';
+import { getMineStatus, bootCoin, coinHistory } from '../../api/mine'
+import { strip, tsToStringDate } from '../../utils/util'
+import d from '../../utils/d.js'
 
 var app = getApp()
 
 Component({
-    /**
-     * 组件的属性列表
-     */
-    properties: {},
+  /**
+   * 组件的属性列表
+   */
+  properties: {},
 
-    /**
-     * 组件的初始数据
-     */
-    data: {
-        history: [],
-        symbol: "DOGE",
-        icon: "/images/one.png",
-        total: 0.00,
-        progress: 0.00, // 0 表示已停止
-        step: 0.00001, // 步长
-        price: 0.0,
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    history: [],
+    symbol: 'DOGE',
+    icon: '/images/one.png',
+    total: 0.0,
+    progress: 0.0, // 0 表示已停止
+    step: 0.00001, // 步长
+    price: 0.0,
 
-        displaying: false, // 当前是否在这个界面
-        // isHidden: false,
-        // isGoIndex: false,
-        stepTimer: null,
-        syncTimer: null
-    },
+    displaying: false, // 当前是否在这个界面
+    // isHidden: false,
+    // isGoIndex: false,
+    stepTimer: null,
+    syncTimer: null
+  },
 
-    /**
-     * 组件的方法列表
-     */
-    methods: {
-        show: function () {
-            d.debug('mine show:', app.globalData.token)
-            if (app.globalData.isLog) {
-                // this.setData({
-                //     isHidden: true
-                // })
-                this.getStatus()
-                this.getHistory()
-            } else {
-                this.triggerEvent('onNeedLogin');
-            }
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    show: function () {
+      d.debug('mine show:', app.globalData.token)
+      if (app.globalData.isLog) {
+        // this.setData({
+        //     isHidden: true
+        // })
+        this.getStatus()
+        this.getHistory()
+      } else {
+        this.triggerEvent('onNeedLogin')
+      }
 
-            this.setData({
-                displaying: true,
-            })
-        },
+      this.setData({
+        displaying: true
+      })
+    },
 
-        hide: function () {
-            d.debug('mine hidden')
-            if (this.data.stepTimer) {
-                clearInterval(this.data.stepTimer);
-            }
-            if (this.data.syncTimer) {
-                clearInterval(this.data.syncTimer);
-            }
-            this.setData({
-                stepTimer: null,
-                syncTimer: null,
-                displaying: false,
+    hide: function () {
+      d.debug('mine hidden')
+      if (this.data.stepTimer) {
+        clearInterval(this.data.stepTimer)
+      }
+      if (this.data.syncTimer) {
+        clearInterval(this.data.syncTimer)
+      }
+      this.setData({
+        stepTimer: null,
+        syncTimer: null,
+        displaying: false
+      })
+    },
+    // 获取数据 1
+    getStatus: function () {
+      d.debug('isLog:', app.globalData.isLog)
+      if (app.globalData.isLog) {
+        var that = this
+        getMineStatus().then(
+          res => {
+            that.setData({
+              symbol: res.data.symbol,
+              icon: res.data.icon,
+              total: res.data.total,
+              progress: res.data.progress,
+              step: res.data.step,
+              price: res.data.price
             })
-        },
-        // 获取数据 1
-        getStatus: function () {
-            d.debug('isLog:', app.globalData.isLog)
-            if (app.globalData.isLog) {
-                var that = this;
-                getMineStatus().then(res => {
-                    that.setData({
-                        symbol: res.data.symbol,
-                        icon: res.data.icon,
-                        total: res.data.total,
-                        progress: res.data.progress,
-                        step: res.data.step,
-                        price: res.data.price,
-                    });
 
-                    if (that.data.progress > 0.0) {
-                        that.setupTimers();
-                    }
-                }, err => {
-                    console.log(err);
-                    that.setData({
-                        total: 0,
-                        progress: 0
-                    });
-                });
+            if (that.data.progress > 0.0) {
+              that.setupTimers()
             }
-        },
+          },
+          err => {
+            console.log(err)
+            that.setData({
+              total: 0,
+              progress: 0
+            })
+          }
+        )
+      }
+    },
 
-        // 获取数据 2
-        getHistory: function () {
-            if (app.globalData.isLog) {
-                var that = this
-                coinHistory().then(res => {
-                    if (res.data.length > 0) {
-                        res.data.forEach(function (e) {
-                            e.ts = tsToStringDate(e.ts)
-                        })
-                    }
-                    that.setData({
-                        history: res.data,
-                    })
-                })
-            }
-        },
+    // 获取数据 2
+    getHistory: function () {
+      if (app.globalData.isLog) {
+        var that = this
+        coinHistory().then(res => {
+          if (res.data.length > 0) {
+            res.data.forEach(function (e) {
+              e.ts = tsToStringDate(e.ts)
+            })
+          }
+          that.setData({
+            history: res.data
+          })
+        })
+      }
+    },
 
-        onLoadFun: function () {
-            if (this.data.displaying && app.globalData.isLog) {
-                d.debug("mine onLoadFun")
-                this.getStatus()
-                this.getHistory()
-            }
-        },
+    onLoadFun: function () {
+      if (this.data.displaying && app.globalData.isLog) {
+        d.debug('mine onLoadFun')
+        this.getStatus()
+        this.getHistory()
+      }
+    },
 
-        // 客户端走进度,定时同步
-        clientStep: function () {
-            if (this.data.progress > 0 && this.data.step > 0) {
-                var harfStep = this.data.step / 2
-                var curStep = Math.floor(Math.random() * 10) * harfStep / 10 + harfStep
-                var curProgress = strip(this.data.progress + curStep)
-                this.setData({
-                    progress: curProgress,
-                })
-            }
-        },
+    // 客户端走进度,定时同步
+    clientStep: function () {
+      if (this.data.progress > 0 && this.data.step > 0) {
+        var harfStep = this.data.step / 2
+        var curStep = (Math.floor(Math.random() * 10) * harfStep) / 10 + harfStep
+        var curProgress = strip(this.data.progress + curStep)
+        this.setData({
+          progress: curProgress
+        })
+      }
+    },
 
-        setupTimers: function () {
-            var that = this
-            if (this.data.syncTimer == null) {
-                this.setData({
-                    syncTimer: setInterval(() => {
-                        that.getStatus()
-                    }, 1000 * 60 * 2),
-                })
-            }
+    setupTimers: function () {
+      var that = this
+      if (this.data.syncTimer == null) {
+        this.setData({
+          syncTimer: setInterval(
+            () => {
+              that.getStatus()
+            },
+            1000 * 60 * 2
+          )
+        })
+      }
 
-            if (this.data.stepTimer == null && this.data.step > 0.0) {
-                this.setData({
-                    stepTimer: setInterval(() => {
-                        that.clientStep();
-                    }, 1000),
-                })
-            }
-        },
+      if (this.data.stepTimer == null && this.data.step > 0.0) {
+        this.setData({
+          stepTimer: setInterval(() => {
+            that.clientStep()
+          }, 1000)
+        })
+      }
+    },
 
-        onClickStart: function () {
-            if (!app.globalData.isLog) {
-                this.triggerEvent('onNeedLogin')
-                return
-            }
-            if (this.data.progress > 0.0) {
-                return
-            }
-            var that = this
-            bootCoin().then(res => {
-                if (res.status === 200) {
-                    that.setData({
-                        symbol: res.data.symbol,
-                        coin: res.data.coin,
-                        price: res.data.price,
-                        step: res.data.step,
-                        progress: res.data.progress,
-                        total: res.data.total,
-                    })
-                    if (that.data.progress > 0.0) {
-                        that.setupTimers();
-                    }
-                }
-            }).catch(err => {
-                wx.showToast({
-                    title: err,
-                    icon: 'none',
-                    duration: 2000,
-                })
+    onClickStart: function () {
+      if (!app.globalData.isLog) {
+        this.triggerEvent('onNeedLogin')
+        return
+      }
+      if (this.data.progress > 0.0) {
+        return
+      }
+      var that = this
+      bootCoin()
+        .then(res => {
+          if (res.status === 200) {
+            that.setData({
+              symbol: res.data.symbol,
+              coin: res.data.coin,
+              price: res.data.price,
+              step: res.data.step,
+              progress: res.data.progress,
+              total: res.data.total
             })
-        },
+            if (that.data.progress > 0.0) {
+              that.setupTimers()
+            }
+          }
+        })
+        .catch(err => {
+          wx.showToast({
+            title: err,
+            icon: 'none',
+            duration: 2000
+          })
+        })
     }
-})
+  }
+})

+ 5 - 5
view/xcx/components/mine/index.json

@@ -1,6 +1,6 @@
 {
-    "component": true,
-    "usingComponents": {
-        "authorize": "/components/authorize/authorize"
-    }
-}
+  "component": true,
+  "usingComponents": {
+    "authorize": "/components/authorize/authorize"
+  }
+}

+ 38 - 38
view/xcx/components/mine/index.wxml

@@ -1,44 +1,44 @@
 <view class="mine">
-    <!-- total -->
-    <view class="head">
-        <image src="{{icon}}"></image>
-        <text class="balance">{{ symbol }}:</text>
-        <text class="balance">{{total}}</text>
+  <!-- total -->
+  <view class="head">
+    <image src="{{icon}}"></image>
+    <text class="balance">{{ symbol }}:</text>
+    <text class="balance">{{total}}</text>
+  </view>
+  <!-- digging -->
+  <view class="main">
+    <view class="left">
+      <button class="{{ progress > 0 ? 'started': 'stopped'}}" bindtap="onClickStart">
+        {{ progress > 0 ? '运行中': '启动'}}
+      </button>
     </view>
-    <!-- digging -->
-    <view class="main">
-        <view class="left">
-            <button class="{{ progress > 0 ? 'started': 'stopped'}}" bindtap="onClickStart">
-                {{ progress > 0 ? '运行中': '启动'}}
-            </button>
-        </view>
-        <view class="right">
-            <view class="current">
-                <text class="progress">{{progress}}</text>
-            </view>
-        </view>
+    <view class="right">
+      <view class="current">
+        <text class="progress">{{progress}}</text>
+      </view>
     </view>
-    <!-- history -->
-    <view class="his">
-        <view class="his-img">
-            <image src="/images/historyTitle.png"></image>
-        </view>
-        <view class="no-record" wx:if="{{history.length <= 0}}">
-            <text>没有记录</text>
-        </view>
-        <view wx:else>
-            <scroll-view class="records" scroll-y="true" scroll-with-animation="true">
-                <view wx:for="{{history}}" wx:key="index" class="item {{ item.out != 0 ? 'color' : '' }}">
-                    <view class="icon">
-                        <image src="{{item.icon}}"></image>
-                    </view>
-                    <text class="symbol">{{item.symbol}}</text>
-                    <text class="direction">{{ item.out == 0 ? "获取" : "导出" }}</text>
-                    <text class="amount">{{item.out == 0 ? item.amount : -item.amount}}</text>
-                    <text class="time">{{ item.ts }}</text>
-                </view>
-            </scroll-view>
+  </view>
+  <!-- history -->
+  <view class="his">
+    <view class="his-img">
+      <image src="/images/historyTitle.png"></image>
+    </view>
+    <view class="no-record" wx:if="{{history.length <= 0}}">
+      <text>没有记录</text>
+    </view>
+    <view wx:else>
+      <scroll-view class="records" scroll-y="true" scroll-with-animation="true">
+        <view wx:for="{{history}}" wx:key="index" class="item {{ item.out != 0 ? 'color' : '' }}">
+          <view class="icon">
+            <image src="{{item.icon}}"></image>
+          </view>
+          <text class="symbol">{{item.symbol}}</text>
+          <text class="direction">{{ item.out == 0 ? "获取" : "导出" }}</text>
+          <text class="amount">{{item.out == 0 ? item.amount : -item.amount}}</text>
+          <text class="time">{{ item.ts }}</text>
         </view>
+      </scroll-view>
     </view>
+  </view>
 </view>
-<!-- <authorize bind:onLoadFun='onLoadFun' isGoIndex="{{isGoIndex}}" isHidden="{{isHidden}}"></authorize> -->
+<!-- <authorize bind:onLoadFun='onLoadFun' isGoIndex="{{isGoIndex}}" isHidden="{{isHidden}}"></authorize> -->

+ 99 - 99
view/xcx/components/mine/index.wxss

@@ -1,174 +1,174 @@
 .mine {
-    display: flex;
-    flex-direction: column;
-    width: 100%;
-    background-color: #fff;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  background-color: #fff;
 }
 
 .mine .head {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-    margin-top: 20rpx;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  margin-top: 20rpx;
 }
 
 .mine .head image {
-    height: 64rpx;
-    width: 64rpx;
-    margin: 0 10rpx;
+  height: 64rpx;
+  width: 64rpx;
+  margin: 0 10rpx;
 }
 
 .mine .head .balance {
-    color: #301310;
-    font-size: 36rpx;
+  color: #301310;
+  font-size: 36rpx;
 }
 
 .mine .main {
-    display: flex;
-    flex-direction: row;
-    margin-top: 36rpx;
-    height: 240rpx;
+  display: flex;
+  flex-direction: row;
+  margin-top: 36rpx;
+  height: 240rpx;
 }
 
 .mine .main .left {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    width: 40%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  width: 40%;
 }
 
 .main .left .stopped {
-    width: 200rpx;
-    height: 200rpx;
-    background: #838383 !important;
-    color: #fff;
-    border-radius: 50%;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
+  width: 200rpx;
+  height: 200rpx;
+  background: #838383 !important;
+  color: #fff;
+  border-radius: 50%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
 }
 
 .main .left .started {
-    width: 200rpx;
-    height: 200rpx;
-    background-color: rgba(214, 31, 31, 0.9) !important;
-    color: #fff;
-    border-radius: 50%;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
+  width: 200rpx;
+  height: 200rpx;
+  background-color: rgba(214, 31, 31, 0.9) !important;
+  color: #fff;
+  border-radius: 50%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
 
-    transform: scale(1);
-    animation: heartbeat 3s;
-    animation-iteration-count: infinite;
+  transform: scale(1);
+  animation: heartbeat 3s;
+  animation-iteration-count: infinite;
 }
 
 @keyframes heartbeat {
-    60% {
-        transform: scale(1.1);
-    }
+  60% {
+    transform: scale(1.1);
+  }
 
-    100% {
-        transform: scale(1);
-    }
+  100% {
+    transform: scale(1);
+  }
 }
 
 .mine .main .right {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
 }
 
 .mine .main .right .current {
-    display: flex;
-    flex-direction: row;
-    justify-content: flex-start;
-    align-items: flex-start;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: flex-start;
 }
 
 .mine .main .right .current .progress {
-    font-size: 48rpx;
-    color: #e93323;
+  font-size: 48rpx;
+  color: #e93323;
 }
 
 .mine .his {
-    display: flex;
-    flex-direction: column;
-    justify-content: flex-start;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
 }
 
 .mine .his .his-img {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
 }
 
 .mine .his .his-img image {
-    width: 431rpx;
-    height: 88rpx;
+  width: 431rpx;
+  height: 88rpx;
 }
 
 .mine .his .no-record {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    margin-top: 32rpx;
-    color: gray;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  margin-top: 32rpx;
+  color: gray;
 }
 
 .mine .his .records {
-    display: flex;
-    flex-direction: column;
-    width: 100%;
-    margin: 32rpx 20rpx;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  margin: 32rpx 20rpx;
 }
 
 .mine .his .records .item {
-    display: flex;
-    flex-direction: row;
-    justify-content: flex-start;
-    align-items: center;
-    height: 54rpx;
-    margin: 10rpx;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  height: 54rpx;
+  margin: 10rpx;
 }
 
 .mine .his .records .color {
-    color: #e93323;
+  color: #e93323;
 }
 
 .mine .his .records .item .icon {
-    display: flex;
-    flex-direction: row;
-    justify-content: flex-start;
-    align-items: center;
-    width: 10%;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  width: 10%;
 }
 
 .mine .his .records .item .icon image {
-    width: 48rpx;
-    height: 48rpx;
+  width: 48rpx;
+  height: 48rpx;
 }
 
 .mine .his .records .item .symbol {
-    display: flex;
-    width: 15%;
+  display: flex;
+  width: 15%;
 }
 
 .mine .his .records .item .direction {
-    display: flex;
-    width: 15%;
+  display: flex;
+  width: 15%;
 }
 
 .mine .his .records .item .amount {
-    display: flex;
-    width: 30%;
+  display: flex;
+  width: 30%;
 }
 
 .mine .his .records .item .time {
-    display: flex;
-    width: 30%;
-}
+  display: flex;
+  width: 30%;
+}

+ 78 - 77
view/xcx/components/navbar/index.js

@@ -1,87 +1,88 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        parameter: {
-            type: Object,
-            value: {
-                class: '0'
-            },
-        },
-        logoUrl: {
-            type: String,
-            value: '',
-        }
+  properties: {
+    parameter: {
+      type: Object,
+      value: {
+        class: '0'
+      }
     },
+    logoUrl: {
+      type: String,
+      value: ''
+    }
+  },
 
-    data: {
-        navH: ""
-    },
+  data: {
+    navH: ''
+  },
+
+  ready: function () {
+    this.setClass()
+    var pages = getCurrentPages()
+    if (pages.length <= 1)
+      this.setData({
+        'parameter.return': 0
+      })
+  },
+
+  attached: function () {
+    this.setData({
+      navH: app.globalData.navHeight
+    })
+  },
 
-    ready: function () {
-        this.setClass();
-        var pages = getCurrentPages();
-        if (pages.length <= 1) this.setData({
-            'parameter.return': 0
-        });
+  methods: {
+    return: function () {
+      wx.navigateBack({
+        delta: 1
+      })
+      // var pages = getCurrentPages();
+      // wx.navigateBack({
+      //   delta: pages.length-2
+      // });
     },
 
-    attached: function () {
-        this.setData({
-            navH: app.globalData.navHeight
-        });
+    setGoodsSearch: function () {
+      wx.navigateTo({
+        url: '/pages/goods_search/index'
+      })
     },
 
-    methods: {
-        return: function () {
-            wx.navigateBack({
-                delta: 1
-            });
-            // var pages = getCurrentPages();
-            // wx.navigateBack({
-            //   delta: pages.length-2
-            // });
-        },
-        
-        setGoodsSearch: function () {
-            wx.navigateTo({
-                url: '/pages/goods_search/index',
-            })
-        },
-        
-        setClass: function () {
-            var color = '';
-            switch (this.data.parameter.class) {
-                case "0":
-                case 'on':
-                    color = 'on'
-                    break;
-                case '1':
-                case 'black':
-                    color = 'black'
-                    break;
-                case '2':
-                case 'gray':
-                    color = 'gray'
-                    break;
-                case '3':
-                case "red":
-                    color = 'red'
-                    break;
-                case '4':
-                case "gradual01":
-                    color = 'gradual01'
-                    break;
-                case '5':
-                case "gradual02":
-                    color = 'gradual02'
-                    break;
-                default:
-                    break;
-            }
-            this.setData({
-                'parameter.class': color
-            })
-        }
+    setClass: function () {
+      var color = ''
+      switch (this.data.parameter.class) {
+        case '0':
+        case 'on':
+          color = 'on'
+          break
+        case '1':
+        case 'black':
+          color = 'black'
+          break
+        case '2':
+        case 'gray':
+          color = 'gray'
+          break
+        case '3':
+        case 'red':
+          color = 'red'
+          break
+        case '4':
+        case 'gradual01':
+          color = 'gradual01'
+          break
+        case '5':
+        case 'gradual02':
+          color = 'gradual02'
+          break
+        default:
+          break
+      }
+      this.setData({
+        'parameter.class': color
+      })
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/navbar/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 19 - 15
view/xcx/components/navbar/index.wxml

@@ -1,17 +1,21 @@
-<view class='navbar {{parameter.class}}' style='height:{{navH}}rpx'>
-    <view class='navbarH' style='height:{{navH}}rpx;'>
-        <view class='navbarCon acea-row row-center-wrapper' wx:if='{{parameter.navbar==0}}'>
-            <view class='search acea-row row-middle' bindtap='setGoodsSearch'><text
-                    class='iconfont icon-xiazai5'></text>搜索商品</view>
-            <view class='logo'>
-                <image src='{{logoUrl}}'></image>
-            </view>
-        </view>
-        <view class='navbarCon acea-row row-center-wrapper' wx:if='{{parameter.navbar==1}}'>
-            <view class='name {{parameter.color==true?"on":""}} line1'>{{parameter.title}}</view>
-            <view class='iconfont icon-xiangzuo {{parameter.color==true?"on":""}}' wx:if='{{parameter.return==1}}'
-                bindtap='return'></view>
-        </view>
+<view class="navbar {{parameter.class}}" style="height:{{navH}}rpx">
+  <view class="navbarH" style="height:{{navH}}rpx;">
+    <view class="navbarCon acea-row row-center-wrapper" wx:if="{{parameter.navbar==0}}">
+      <view class="search acea-row row-middle" bindtap="setGoodsSearch"
+        ><text class="iconfont icon-xiazai5"></text>搜索商品</view
+      >
+      <view class="logo">
+        <image src="{{logoUrl}}"></image>
+      </view>
     </view>
+    <view class="navbarCon acea-row row-center-wrapper" wx:if="{{parameter.navbar==1}}">
+      <view class='name {{parameter.color==true?"on":""}} line1'>{{parameter.title}}</view>
+      <view
+        class='iconfont icon-xiangzuo {{parameter.color==true?"on":""}}'
+        wx:if="{{parameter.return==1}}"
+        bindtap="return"
+      ></view>
+    </view>
+  </view>
 </view>
-<view style='height:{{navH}}rpx'></view>
+<view style="height:{{navH}}rpx"></view>

+ 55 - 55
view/xcx/components/navbar/index.wxss

@@ -1,107 +1,107 @@
 @import '/app.wxss';
 
 .navbar {
-    position: fixed;
-    background-color: #fff;
-    top: 0;
-    left: 0;
-    z-index: 999;
-    width: 100%;
+  position: fixed;
+  background-color: #fff;
+  top: 0;
+  left: 0;
+  z-index: 999;
+  width: 100%;
 }
 
 .navbar.on {
-    background-color: #e93323;
+  background-color: #e93323;
 }
 
 .navbar.black {
-    background-color: #232323;
+  background-color: #232323;
 }
 
 .navbar.gray {
-    background-color: #666;
+  background-color: #666;
 }
 
 .navbar.red {
-    background-color: #eb5447;
+  background-color: #eb5447;
 }
 
 /* .navbar.gradual01{background-image: linear-gradient(to right,#f67837 0%,#f11d09 100%);} */
 .navbar.gradual01 {
-    background-image: linear-gradient(to right, #f67837 0%, #f11d09 100%);
+  background-image: linear-gradient(to right, #f67837 0%, #f11d09 100%);
 }
 
 .navbar.gradual02 {
-    background-image: linear-gradient(to right, #ff3366 0%, #ff6533 100%);
+  background-image: linear-gradient(to right, #ff3366 0%, #ff6533 100%);
 }
 
 .navbar .navbarH {
-    position: relative;
+  position: relative;
 }
 
 .navbar .navbarH .navbarCon {
-    position: absolute;
-    bottom: 0;
-    height: 100rpx;
-    width: 100%;
+  position: absolute;
+  bottom: 0;
+  height: 100rpx;
+  width: 100%;
 }
 
 .navbar .navbarH .navbarCon .name {
-    color: #000;
-    font-size: 36rpx;
-    font-weight: bold;
-    width: 300rpx;
-    text-align: center;
+  color: #000;
+  font-size: 36rpx;
+  font-weight: bold;
+  width: 300rpx;
+  text-align: center;
 }
 
 .navbar .navbarH .navbarCon .name.on {
-    color: #fff;
+  color: #fff;
 }
 
 .navbar .navbarH .navbarCon .icon-xiangzuo {
-    color: #000;
-    font-weight: bold;
-    position: absolute;
-    font-size: 40rpx;
-    left: 16rpx;
-    width: 100rpx;
-    height: 56rpx;
-    line-height: 54rpx;
-    top: 50%;
-    transform: translateY(-50%);
+  color: #000;
+  font-weight: bold;
+  position: absolute;
+  font-size: 40rpx;
+  left: 16rpx;
+  width: 100rpx;
+  height: 56rpx;
+  line-height: 54rpx;
+  top: 50%;
+  transform: translateY(-50%);
 }
 
 .navbar .navbarH .navbarCon .icon-xiangzuo.on {
-    color: #fff;
+  color: #fff;
 }
 
 .navbar .navbarH .navbarCon .logo {
-    width: 116rpx;
-    height: 45rpx;
-    position: absolute;
-    left: 30rpx;
-    top: 50%;
-    transform: translateY(-50%);
+  width: 116rpx;
+  height: 45rpx;
+  position: absolute;
+  left: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
 }
 
 .navbar .navbarH .navbarCon .logo image {
-    width: 100%;
-    height: 100%;
-    display: block;
+  width: 100%;
+  height: 100%;
+  display: block;
 }
 
 .navbar .navbarH .navbarCon .search {
-    width: 360rpx;
-    height: 64rpx;
-    background-color: #f7f7f7;
-    border-radius: 50rpx;
-    padding: 0 28rpx;
-    box-sizing: border-box;
-    font-size: 28rpx;
-    color: #bbb;
-    margin-right: 26rpx;
+  width: 360rpx;
+  height: 64rpx;
+  background-color: #f7f7f7;
+  border-radius: 50rpx;
+  padding: 0 28rpx;
+  box-sizing: border-box;
+  font-size: 28rpx;
+  color: #bbb;
+  margin-right: 26rpx;
 }
 
 .navbar .navbarH .navbarCon .search .icon-xiazai5 {
-    font-size: 34rpx;
-    margin-right: 16rpx;
-}
+  font-size: 34rpx;
+  margin-right: 16rpx;
+}

+ 17 - 17
view/xcx/components/orderGoods/index.js

@@ -1,20 +1,20 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        evaluate: {
-            type: Number,
-            value: 0,
-        },
-        cartInfo: {
-            type: Object,
-            value: [],
-        },
-        orderId: {
-            type: String,
-            value: '',
-        },
+  properties: {
+    evaluate: {
+      type: Number,
+      value: 0
     },
-    data: {},
-    methods: {}
-})
+    cartInfo: {
+      type: Object,
+      value: []
+    },
+    orderId: {
+      type: String,
+      value: ''
+    }
+  },
+  data: {},
+  methods: {}
+})

+ 4 - 4
view/xcx/components/orderGoods/index.json

@@ -1,4 +1,4 @@
- {
-     "usingComponents": {},
-     "component": true
- }
+{
+  "usingComponents": {},
+  "component": true
+}

+ 29 - 22
view/xcx/components/orderGoods/index.wxml

@@ -1,25 +1,32 @@
 <view class="orderGoods">
-    <view class='total'>共{{cartInfo.length}}件商品</view>
-    <view class='goodWrapper'>
-        <view class='item acea-row row-between-wrapper' wx:for="{{cartInfo}}" wx:key='index'>
-            <view class='pictrue'>
-                <image src='{{item.productInfo.attrInfo.image}}' wx:if="{{item.productInfo.attrInfo}}"></image>
-                <image src='{{item.productInfo.image}}' wx:else></image>
-            </view>
-            <view class='text'>
-                <view class='acea-row row-between-wrapper'>
-                    <view class='name line1 {{ item.reparation && "font-color"}}'>{{item.productInfo.store_name +
-                        (item.reparation && " -- 已赔付") }}</view>
-                    <view class='num'>x {{item.cart_num}}</view>
-                </view>
-                <view class='attr line1' wx:if="{{item.productInfo.attrInfo}}">{{item.productInfo.attrInfo.suk}}</view>
-                <view class='money font-color' wx:if="{{item.productInfo.attrInfo}}">
-                    ¥{{item.productInfo.attrInfo.price}}</view>
-                <view class='money font-color' wx:else>¥{{item.productInfo.price}}</view>
-                <navigator class='evaluate font-color' wx:if='{{item.is_reply==0 && evaluate==3}}' hover-class="none"
-                    url='/pages/goods_comment_con/index?unique={{item.unique}}&uni={{orderId}}'>评价</navigator>
-                <view class='evaluate' wx:elif='{{item.is_reply==1 && evaluate==3}}'>已评价</view>
-            </view>
+  <view class="total">共{{cartInfo.length}}件商品</view>
+  <view class="goodWrapper">
+    <view class="item acea-row row-between-wrapper" wx:for="{{cartInfo}}" wx:key="index">
+      <view class="pictrue">
+        <image src="{{item.productInfo.attrInfo.image}}" wx:if="{{item.productInfo.attrInfo}}"></image>
+        <image src="{{item.productInfo.image}}" wx:else></image>
+      </view>
+      <view class="text">
+        <view class="acea-row row-between-wrapper">
+          <view class='name line1 {{ item.reparation && "font-color"}}'
+            >{{item.productInfo.store_name + (item.reparation && " -- 已赔付") }}</view
+          >
+          <view class="num">x {{item.cart_num}}</view>
         </view>
+        <view class="attr line1" wx:if="{{item.productInfo.attrInfo}}">{{item.productInfo.attrInfo.suk}}</view>
+        <view class="money font-color" wx:if="{{item.productInfo.attrInfo}}">
+          ¥{{item.productInfo.attrInfo.price}}</view
+        >
+        <view class="money font-color" wx:else>¥{{item.productInfo.price}}</view>
+        <navigator
+          class="evaluate font-color"
+          wx:if="{{item.is_reply==0 && evaluate==3}}"
+          hover-class="none"
+          url="/pages/goods_comment_con/index?unique={{item.unique}}&uni={{orderId}}"
+          >评价</navigator
+        >
+        <view class="evaluate" wx:elif="{{item.is_reply==1 && evaluate==3}}">已评价</view>
+      </view>
     </view>
-</view>
+  </view>
+</view>

+ 10 - 10
view/xcx/components/orderGoods/index.wxss

@@ -1,16 +1,16 @@
 @import '/app.wxss';
 
 .orderGoods {
-    background-color: #fff;
-    margin-top: 12rpx;
+  background-color: #fff;
+  margin-top: 12rpx;
 }
 
 .orderGoods .total {
-    width: 100%;
-    height: 86rpx;
-    padding: 0 30rpx;
-    border-bottom: 2rpx solid #f0f0f0;
-    font-size: 30rpx;
-    color: #282828;
-    line-height: 86rpx;
-}
+  width: 100%;
+  height: 86rpx;
+  padding: 0 30rpx;
+  border-bottom: 2rpx solid #f0f0f0;
+  font-size: 30rpx;
+  color: #282828;
+  line-height: 86rpx;
+}

+ 148 - 127
view/xcx/components/payment/index.js

@@ -1,137 +1,158 @@
-import {
-    orderPay
-} from '../../api/order.js';
+import { orderPay } from '../../api/order.js'
 
-const app = getApp();
+const app = getApp()
 
 Component({
-    properties: {
-        payMode: {
-            type: Array,
-            value: [],
-        },
-        pay_close: {
-            type: Boolean,
-            value: false,
-        },
-        order_id: {
-            type: String,
-            value: ''
-        },
-        totalPrice: {
-            type: String,
-            value: '0'
-        },
+  properties: {
+    payMode: {
+      type: Array,
+      value: []
     },
+    pay_close: {
+      type: Boolean,
+      value: false
+    },
+    order_id: {
+      type: String,
+      value: ''
+    },
+    totalPrice: {
+      type: String,
+      value: '0'
+    }
+  },
 
-    data: {},
+  data: {},
 
-    attached: function () {},
+  attached: function () {},
 
-    methods: {
-        close: function () {
-            this.triggerEvent('onChangeFun', {
-                action: 'pay_close'
-            });
-        },
-        
-        goPay: function (e) {
-            let that = this;
-            let paytype = e.currentTarget.dataset.value;
-            let number = e.currentTarget.dataset.number
-            if (!that.data.order_id) return app.Tips({
-                title: '请选择要支付的订单'
-            });
-            if (paytype == 'yue' && parseFloat(number) < parseFloat(that.data.totalPrice)) return app.Tips({
-                title: '余额不足!'
-            });
-            wx.showLoading({
-                title: '支付中'
-            });
-            orderPay({
-                uni: that.data.order_id,
-                paytype: paytype,
-                'from': 'routine'
-            }).then(res => {
-                switch (paytype) {
-                    case 'weixin':
-                        if (res.data.result === undefined) return app.Tips({
-                            title: '缺少支付参数'
-                        });
-                        var jsConfig = res.data.result.jsConfig;
-                        wx.requestPayment({
-                            timeStamp: jsConfig.timestamp,
-                            nonceStr: jsConfig.nonceStr,
-                            package: jsConfig.package,
-                            signType: jsConfig.signType,
-                            paySign: jsConfig.paySign,
-                            success: function (res) {
-                                wx.hideLoading();
-                                return app.Tips({
-                                    title: res.msg,
-                                    icon: 'success'
-                                }, () => {
-                                    that.triggerEvent('onChangeFun', {
-                                        action: 'pay_complete'
-                                    });
-                                });
-                            },
-                            fail: function (e) {
-                                wx.hideLoading();
-                                return app.Tips({
-                                    title: '取消支付'
-                                }, () => {
-                                    that.triggerEvent('onChangeFun', {
-                                        action: 'pay_fail'
-                                    });
-                                });
-                            },
-                            complete: function (e) {
-                                wx.hideLoading();
-                                if (e.errMsg == 'requestPayment:cancel') return app.Tips({
-                                    title: '取消支付'
-                                }, () => {
-                                    that.triggerEvent('onChangeFun', {
-                                        action: 'pay_fail'
-                                    });
-                                });
-                            },
-                        });
-                        break;
-                    case 'yue':
-                        wx.hideLoading();
-                        return app.Tips({
-                            title: res.msg,
-                            icon: 'success'
-                        }, () => {
-                            that.triggerEvent('onChangeFun', {
-                                action: 'pay_complete'
-                            });
-                        });;
-                        break;
-                    case 'offline':
-                        wx.hideLoading();
-                        return app.Tips({
-                            title: res.msg,
-                            icon: 'success'
-                        }, () => {
-                            that.triggerEvent('onChangeFun', {
-                                action: 'pay_complete'
-                            });
-                        });;
-                        break;
-                }
-            }).catch(err => {
-                wx.hideLoading();
+  methods: {
+    close: function () {
+      this.triggerEvent('onChangeFun', {
+        action: 'pay_close'
+      })
+    },
+
+    goPay: function (e) {
+      let that = this
+      let paytype = e.currentTarget.dataset.value
+      let number = e.currentTarget.dataset.number
+      if (!that.data.order_id)
+        return app.Tips({
+          title: '请选择要支付的订单'
+        })
+      if (paytype == 'yue' && parseFloat(number) < parseFloat(that.data.totalPrice))
+        return app.Tips({
+          title: '余额不足!'
+        })
+      wx.showLoading({
+        title: '支付中'
+      })
+      orderPay({
+        uni: that.data.order_id,
+        paytype: paytype,
+        from: 'routine'
+      })
+        .then(res => {
+          switch (paytype) {
+            case 'weixin':
+              if (res.data.result === undefined)
                 return app.Tips({
-                    title: err
-                }, () => {
-                    that.triggerEvent('onChangeFun', {
+                  title: '缺少支付参数'
+                })
+              var jsConfig = res.data.result.jsConfig
+              wx.requestPayment({
+                timeStamp: jsConfig.timestamp,
+                nonceStr: jsConfig.nonceStr,
+                package: jsConfig.package,
+                signType: jsConfig.signType,
+                paySign: jsConfig.paySign,
+                success: function (res) {
+                  wx.hideLoading()
+                  return app.Tips(
+                    {
+                      title: res.msg,
+                      icon: 'success'
+                    },
+                    () => {
+                      that.triggerEvent('onChangeFun', {
+                        action: 'pay_complete'
+                      })
+                    }
+                  )
+                },
+                fail: function (e) {
+                  wx.hideLoading()
+                  return app.Tips(
+                    {
+                      title: '取消支付'
+                    },
+                    () => {
+                      that.triggerEvent('onChangeFun', {
                         action: 'pay_fail'
-                    });
-                });
-            })
-        },
+                      })
+                    }
+                  )
+                },
+                complete: function (e) {
+                  wx.hideLoading()
+                  if (e.errMsg == 'requestPayment:cancel')
+                    return app.Tips(
+                      {
+                        title: '取消支付'
+                      },
+                      () => {
+                        that.triggerEvent('onChangeFun', {
+                          action: 'pay_fail'
+                        })
+                      }
+                    )
+                }
+              })
+              break
+            case 'yue':
+              wx.hideLoading()
+              return app.Tips(
+                {
+                  title: res.msg,
+                  icon: 'success'
+                },
+                () => {
+                  that.triggerEvent('onChangeFun', {
+                    action: 'pay_complete'
+                  })
+                }
+              )
+              break
+            case 'offline':
+              wx.hideLoading()
+              return app.Tips(
+                {
+                  title: res.msg,
+                  icon: 'success'
+                },
+                () => {
+                  that.triggerEvent('onChangeFun', {
+                    action: 'pay_complete'
+                  })
+                }
+              )
+              break
+          }
+        })
+        .catch(err => {
+          wx.hideLoading()
+          return app.Tips(
+            {
+              title: err
+            },
+            () => {
+              that.triggerEvent('onChangeFun', {
+                action: 'pay_fail'
+              })
+            }
+          )
+        })
     }
-
-})
+  }
+})

+ 3 - 3
view/xcx/components/payment/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 22 - 16
view/xcx/components/payment/index.wxml

@@ -1,20 +1,26 @@
 <view class="payment {{pay_close ? 'on' : ''}}">
-    <view class="title acea-row row-center-wrapper">
-        选择付款方式<text class="iconfont icon-guanbi" bindtap='close'></text>
-    </view>
-    <view class="item acea-row row-between-wrapper" bindtap='goPay' data-number="{{item.number || 0}}"
-        data-value='{{item.value}}' wx:for="{{payMode}}" wx:key='index'>
-        <view class="left acea-row row-between-wrapper">
-            <view class="iconfont {{item.icon}}"></view>
-            <view class="text">
-                <view class="name">{{item.name}}</view>
-                <view class="info" wx:if="{{item.number}}">
-                    {{item.title}} <span class="money">¥{{ item.number }}</span>
-                </view>
-                <view class="info" wx:else>{{item.title}}</view>
-            </view>
+  <view class="title acea-row row-center-wrapper">
+    选择付款方式<text class="iconfont icon-guanbi" bindtap="close"></text>
+  </view>
+  <view
+    class="item acea-row row-between-wrapper"
+    bindtap="goPay"
+    data-number="{{item.number || 0}}"
+    data-value="{{item.value}}"
+    wx:for="{{payMode}}"
+    wx:key="index"
+  >
+    <view class="left acea-row row-between-wrapper">
+      <view class="iconfont {{item.icon}}"></view>
+      <view class="text">
+        <view class="name">{{item.name}}</view>
+        <view class="info" wx:if="{{item.number}}">
+          {{item.title}} <span class="money">¥{{ item.number }}</span>
         </view>
-        <view class="iconfont icon-xiangyou"></view>
+        <view class="info" wx:else>{{item.title}}</view>
+      </view>
     </view>
+    <view class="iconfont icon-xiangyou"></view>
+  </view>
 </view>
-<view class="mask" wx:if='{{pay_close}}' bindtap='close'></view>
+<view class="mask" wx:if="{{pay_close}}" bindtap="close"></view>

+ 46 - 46
view/xcx/components/payment/index.wxss

@@ -2,91 +2,91 @@
 @import '/app.wxss';
 
 .payment {
-    position: fixed;
-    bottom: 0;
-    left: 0;
-    width: 100%;
-    border-radius: 16rpx 16rpx 0 0;
-    background-color: #fff;
-    padding-bottom: 60rpx;
-    z-index: 99;
-    transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
-    transform: translate3d(0, 100%, 0);
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  border-radius: 16rpx 16rpx 0 0;
+  background-color: #fff;
+  padding-bottom: 60rpx;
+  z-index: 99;
+  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
+  transform: translate3d(0, 100%, 0);
 }
 
 .payment.on {
-    transform: translate3d(0, 0, 0);
+  transform: translate3d(0, 0, 0);
 }
 
 .payment .title {
-    text-align: center;
-    height: 123rpx;
-    font-size: 32rpx;
-    color: #282828;
-    font-weight: bold;
-    padding-right: 30rpx;
-    margin-left: 30rpx;
-    position: relative;
-    border-bottom: 1rpx solid #eee;
+  text-align: center;
+  height: 123rpx;
+  font-size: 32rpx;
+  color: #282828;
+  font-weight: bold;
+  padding-right: 30rpx;
+  margin-left: 30rpx;
+  position: relative;
+  border-bottom: 1rpx solid #eee;
 }
 
 .payment .title .iconfont {
-    position: absolute;
-    right: 30rpx;
-    top: 50%;
-    transform: translateY(-50%);
-    font-size: 43rpx;
-    color: #8a8a8a;
-    font-weight: normal;
+  position: absolute;
+  right: 30rpx;
+  top: 50%;
+  transform: translateY(-50%);
+  font-size: 43rpx;
+  color: #8a8a8a;
+  font-weight: normal;
 }
 
 .payment .item {
-    border-bottom: 1rpx solid #eee;
-    height: 130rpx;
-    margin-left: 30rpx;
-    padding-right: 30rpx;
+  border-bottom: 1rpx solid #eee;
+  height: 130rpx;
+  margin-left: 30rpx;
+  padding-right: 30rpx;
 }
 
 .payment .item .left {
-    width: 610rpx;
+  width: 610rpx;
 }
 
 .payment .item .left .text {
-    width: 540rpx;
+  width: 540rpx;
 }
 
 .payment .item .left .text .name {
-    font-size: 32rpx;
-    color: #282828;
+  font-size: 32rpx;
+  color: #282828;
 }
 
 .payment .item .left .text .info {
-    font-size: 24rpx;
-    color: #999;
+  font-size: 24rpx;
+  color: #999;
 }
 
 .payment .item .left .text .info .money {
-    color: #ff9900;
+  color: #ff9900;
 }
 
 .payment .item .left .iconfont {
-    font-size: 45rpx;
-    color: #09bb07;
+  font-size: 45rpx;
+  color: #09bb07;
 }
 
 .payment .item .left .iconfont.icon-zhifubao {
-    color: #00aaea;
+  color: #00aaea;
 }
 
 .payment .item .left .iconfont.icon-yuezhifu {
-    color: #ff9900;
+  color: #ff9900;
 }
 
 .payment .item .left .iconfont.icon-yuezhifu1 {
-    color: #eb6623;
+  color: #eb6623;
 }
 
 .payment .item .iconfont {
-    font-size: 0.3rpx;
-    color: #999;
-}
+  font-size: 0.3rpx;
+  color: #999;
+}

+ 157 - 155
view/xcx/components/price-change/index.js

@@ -1,170 +1,172 @@
 import {
-    getAdminOrderList,
-    setAdminOrderPrice,
-    setAdminOrderRemark,
-    setOfflinePay,
-    setOrderRefund
-} from "../../api/admin";
+  getAdminOrderList,
+  setAdminOrderPrice,
+  setAdminOrderRemark,
+  setOfflinePay,
+  setOrderRefund
+} from '../../api/admin'
 
-const app = getApp();
+const app = getApp()
 
 Component({
-    properties: {
-        orderInfo: {
-            type: Object,
-            value: null,
-        },
-        change: {
-            type: Boolean,
-            value: false,
-        },
-        status: {
-            type: Number,
-            value: 0
-        }
+  properties: {
+    orderInfo: {
+      type: Object,
+      value: null
     },
-
-    data: {
-        remark: '', //备注信息
-        price: '', //实际支付
-        refund_price: '' //退款金额
+    change: {
+      type: Boolean,
+      value: false
     },
+    status: {
+      type: Number,
+      value: 0
+    }
+  },
+
+  data: {
+    remark: '', //备注信息
+    price: '', //实际支付
+    refund_price: '' //退款金额
+  },
 
-    attached: function () {
-        this.setData({
-            price: this.properties.orderInfo.pay_price ? this.properties.orderInfo.pay_price : ''
-        });
+  attached: function () {
+    this.setData({
+      price: this.properties.orderInfo.pay_price ? this.properties.orderInfo.pay_price : ''
+    })
+  },
+
+  methods: {
+    /**
+     * 事件回调
+     */
+    bindHideKeyboard: function (e) {
+      this.setData({
+        remark: e.detail.value
+      })
     },
 
-    methods: {
-        /**
-         * 事件回调 
-         */
-        bindHideKeyboard: function (e) {
-            this.setData({
-                remark: e.detail.value
-            });
-        },
+    /**
+     * 实际支付
+     */
+    bindPrice: function (e) {
+      this.setData({
+        price: e.detail.value
+      })
+    },
 
-        /**
-         * 实际支付
-         */
-        bindPrice: function (e) {
-            this.setData({
-                price: e.detail.value
-            });
-        },
+    /**
+     * 退款金额
+     */
+    bindRefundPrice: function (e) {
+      this.setData({
+        refund_price: e.detail.value
+      })
+    },
 
-        /**
-         * 退款金额
-         */
-        bindRefundPrice: function (e) {
-            this.setData({
-                refund_price: e.detail.value
-            });
-        },
+    /**
+     * 提交
+     */
+    save: function (e) {
+      let type = e.currentTarget.dataset.type
+      this.savePrice(type)
+    },
 
-        /**
-         * 提交
-         */
-        save: function (e) {
-            let type = e.currentTarget.dataset.type;
-            this.savePrice(type);
-        },
+    /**
+     * 拒绝退款
+     */
+    refuse: function (e) {
+      let type = e.currentTarget.dataset.type
+      this.savePrice(type)
+    },
 
-        /**
-         * 拒绝退款
-         */
-        refuse: function (e) {
-            let type = e.currentTarget.dataset.type;
-            this.savePrice(type);
-        },
+    /**
+     * 事件回调
+     */
+    savePrice: function (type) {
+      let that = this,
+        data = {},
+        price = this.data.price,
+        remark = this.data.remark,
+        refund_price = this.data.refund_price
+      data.order_id = that.data.orderInfo.order_id
+      if (that.data.status == 0 && that.data.orderInfo.refund_status === 0) {
+        if (!that.data.price)
+          return app.Tips({
+            title: '请输入价格'
+          })
+        data.price = price
+        // 订单改价
+        setAdminOrderPrice(data).then(
+          function () {
+            that.close()
+            app.Tips({
+              title: '改价成功'
+            })
+            that.triggerEvent('getIndex')
+          },
+          function () {
+            that.close()
+            app.Tips({
+              title: '改价失败'
+            })
+          }
+        )
+      } else if (that.data.status == 0 && that.data.orderInfo.refund_status == 1) {
+        if (type === '1' && !refund_price)
+          return app.Tips({
+            title: '请输入退款金额'
+          })
+        data.price = refund_price
+        data.type = type
+        // 确认退款 拒绝退款
+        setOrderRefund(data).then(
+          res => {
+            that.close()
+            app.Tips({
+              title: res.msg
+            })
+            that.triggerEvent('getIndex')
+          },
+          err => {
+            that.close()
+            app.Tips({
+              title: err
+            })
+          }
+        )
+      } else {
+        if (!this.data.remark)
+          return app.Tips({
+            title: '请输入订单备注'
+          })
+        data.remark = remark
+        // 订单备注
+        setAdminOrderRemark(data).then(
+          res => {
+            that.close()
+            that.setData({
+              remark: ''
+            })
+            that.triggerEvent('getIndex')
+            app.Tips({
+              title: res.msg
+            })
+          },
+          err => {
+            that.close()
+            app.Tips({
+              title: err
+            })
+          }
+        )
+      }
+    },
 
-        /**
-         * 事件回调
-         */
-        savePrice: function (type) {
-            let that = this,
-                data = {},
-                price = this.data.price,
-                remark = this.data.remark,
-                refund_price = this.data.refund_price;
-            data.order_id = that.data.orderInfo.order_id;
-            if (that.data.status == 0 && that.data.orderInfo.refund_status === 0) {
-                if (!that.data.price) return app.Tips({
-                    title: '请输入价格'
-                });
-                data.price = price;
-                // 订单改价
-                setAdminOrderPrice(data).then(
-                    function () {
-                        that.close();
-                        app.Tips({
-                            title: '改价成功'
-                        });
-                        that.triggerEvent('getIndex');
-                    },
-                    function () {
-                        that.close();
-                        app.Tips({
-                            title: '改价失败'
-                        });
-                    }
-                );
-            } else if (that.data.status == 0 && that.data.orderInfo.refund_status == 1) {
-                if (type === '1' && !refund_price) return app.Tips({
-                    title: '请输入退款金额'
-                });
-                data.price = refund_price;
-                data.type = type;
-                // 确认退款 拒绝退款
-                setOrderRefund(data).then(
-                    res => {
-                        that.close();
-                        app.Tips({
-                            title: res.msg
-                        });
-                        that.triggerEvent('getIndex');
-                    },
-                    err => {
-                        that.close();
-                        app.Tips({
-                            title: err
-                        });
-                    }
-                );
-            } else {
-                if (!this.data.remark) return app.Tips({
-                    title: '请输入订单备注'
-                });
-                data.remark = remark;
-                // 订单备注
-                setAdminOrderRemark(data).then(
-                    res => {
-                        that.close();
-                        that.setData({
-                            remark: ''
-                        });
-                        that.triggerEvent('getIndex');
-                        app.Tips({
-                            title: res.msg
-                        });
-                    },
-                    err => {
-                        that.close();
-                        app.Tips({
-                            title: err
-                        });
-                    }
-                );
-            }
-        },
-        
-        close: function () {
-            this.triggerEvent('onChangeFun', {
-                action: 'change'
-            });
-        }
+    close: function () {
+      this.triggerEvent('onChangeFun', {
+        action: 'change'
+      })
     }
-
-})
+  }
+})

+ 3 - 3
view/xcx/components/price-change/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 52 - 44
view/xcx/components/price-change/index.wxml

@@ -1,51 +1,59 @@
 <view class="priceChange" class="priceChange {{change ? 'on' : ''}}">
-    <view class="priceTitle">
-        {{status == 0? orderInfo.refund_status === 1? "立即退款": "一键改价": "订单备注"}}
-        <span class="iconfont icon-guanbi" bindtap="close"></span>
+  <view class="priceTitle">
+    {{status == 0? orderInfo.refund_status === 1? "立即退款": "一键改价": "订单备注"}}
+    <span class="iconfont icon-guanbi" bindtap="close"></span>
+  </view>
+  <view class="listChange" wx:if="{{status == 0}}">
+    <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
+      <view>商品总价(¥)</view>
+      <view class="money"> {{ orderInfo.total_price }}<span class="iconfont icon-suozi"></span> </view>
     </view>
-    <view class="listChange" wx:if="{{status == 0}}">
-        <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
-            <view>商品总价(¥)</view>
-            <view class="money">
-                {{ orderInfo.total_price }}<span class="iconfont icon-suozi"></span>
-            </view>
-        </view>
-        <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
-            <view>原始邮费(¥)</view>
-            <view class="money">
-                {{ orderInfo.pay_postage }}<span class="iconfont icon-suozi"></span>
-            </view>
-        </view>
-        <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
-            <view>实际支付(¥)</view>
-            <view class="money">
-                <input type="text" bindinput="bindPrice" data-name="orderInfo.pay_price" value='{{orderInfo.pay_price}}'
-                    class="{{focus === true ? 'on' : ''}}" />
-            </view>
-        </view>
-        <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 1}}">
-            <view>实际支付(¥)</view>
-            <view class="money">
-                {{ orderInfo.pay_price }}<span class="iconfont icon-suozi"></span>
-            </view>
-        </view>
-        <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 1}}">
-            <view>退款金额(¥)</view>
-            <view class="money">
-                <input type="text" bindinput="bindRefundPrice" data-name="refund_price" value='{{refund_price}}'
-                    class="{{focus === true ? 'on' : ''}}" />
-            </view>
-        </view>
+    <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
+      <view>原始邮费(¥)</view>
+      <view class="money"> {{ orderInfo.pay_postage }}<span class="iconfont icon-suozi"></span> </view>
     </view>
-    <view class="listChange" wx:else>
-        <textarea placeholder="{{orderInfo.remark ? orderInfo.remark : '请填写备注信息...'}}" bindinput="bindHideKeyboard"
-            data-name="remark" value='{{remark}}'></textarea>
+    <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 0}}">
+      <view>实际支付(¥)</view>
+      <view class="money">
+        <input
+          type="text"
+          bindinput="bindPrice"
+          data-name="orderInfo.pay_price"
+          value="{{orderInfo.pay_price}}"
+          class="{{focus === true ? 'on' : ''}}"
+        />
+      </view>
     </view>
-    <view class="modify" bindtap="save" data-type="1">
-        {{ status === 1 || orderInfo.refund_status === 0 ? "立即修改" : "确认退款" }}
+    <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 1}}">
+      <view>实际支付(¥)</view>
+      <view class="money"> {{ orderInfo.pay_price }}<span class="iconfont icon-suozi"></span> </view>
     </view>
-    <view class="modify1" bindtap="refuse" data-type="2" wx:if="{{orderInfo.refund_status === 1 && status === 0}}">
-        拒绝退款
+    <view class="item acea-row row-between-wrapper" wx:if="{{orderInfo.refund_status === 1}}">
+      <view>退款金额(¥)</view>
+      <view class="money">
+        <input
+          type="text"
+          bindinput="bindRefundPrice"
+          data-name="refund_price"
+          value="{{refund_price}}"
+          class="{{focus === true ? 'on' : ''}}"
+        />
+      </view>
     </view>
+  </view>
+  <view class="listChange" wx:else>
+    <textarea
+      placeholder="{{orderInfo.remark ? orderInfo.remark : '请填写备注信息...'}}"
+      bindinput="bindHideKeyboard"
+      data-name="remark"
+      value="{{remark}}"
+    ></textarea>
+  </view>
+  <view class="modify" bindtap="save" data-type="1">
+    {{ status === 1 || orderInfo.refund_status === 0 ? "立即修改" : "确认退款" }}
+  </view>
+  <view class="modify1" bindtap="refuse" data-type="2" wx:if="{{orderInfo.refund_status === 1 && status === 0}}">
+    拒绝退款
+  </view>
 </view>
-<view class="mask" wx:if='{{change}}' bindtap='close'></view>
+<view class="mask" wx:if="{{change}}" bindtap="close"></view>

File diff suppressed because it is too large
+ 26 - 26
view/xcx/components/price-change/index.wxss


+ 100 - 100
view/xcx/components/product-window/index.js

@@ -1,114 +1,114 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        iSplus: {
-            type: Boolean,
-            value: true
-        },
-        iSbnt: {
-            type: Number,
-            value: 0
-        },
-        limitNum: {
-            type: Number,
-            value: 0
-        },
-        attribute: {
-            type: Object,
-            value: {}
-        },
-        attrList: {
-            type: Object,
-            value: [],
-        },
-        productAttr: {
-            type: Object,
-            value: [],
-        },
-        productSelect: {
-            type: Object,
-            value: {
-                image: '',
-                store_name: '',
-                price: 0,
-                unique: '',
-                stock: 0,
-            }
-        },
+  properties: {
+    iSplus: {
+      type: Boolean,
+      value: true
     },
-
-    data: {
-        attrValue: [],
-        attrIndex: 0,
-        isShow: false
+    iSbnt: {
+      type: Number,
+      value: 0
+    },
+    limitNum: {
+      type: Number,
+      value: 0
+    },
+    attribute: {
+      type: Object,
+      value: {}
+    },
+    attrList: {
+      type: Object,
+      value: []
     },
+    productAttr: {
+      type: Object,
+      value: []
+    },
+    productSelect: {
+      type: Object,
+      value: {
+        image: '',
+        store_name: '',
+        price: 0,
+        unique: '',
+        stock: 0
+      }
+    }
+  },
 
-    attached: function () {
-        let pages = getCurrentPages();
-        let currPage = null;
-        if (pages.length) {
-            currPage = pages[pages.length - 1];
-        }
-        let route = currPage.route
-        this.setData({
-            isShow: route.indexOf("goods_details") !== -1
-        });
+  data: {
+    attrValue: [],
+    attrIndex: 0,
+    isShow: false
+  },
+
+  attached: function () {
+    let pages = getCurrentPages()
+    let currPage = null
+    if (pages.length) {
+      currPage = pages[pages.length - 1]
+    }
+    let route = currPage.route
+    this.setData({
+      isShow: route.indexOf('goods_details') !== -1
+    })
+  },
+
+  methods: {
+    /**
+     * 购物车手动输入数量
+     */
+    bindCode: function (e) {
+      this.triggerEvent('iptCartNum', e.detail.value)
     },
 
-    methods: {
-        /**
-         * 购物车手动输入数量
-         */
-        bindCode: function (e) {
-            this.triggerEvent('iptCartNum', e.detail.value);
-        },
+    close: function () {
+      this.triggerEvent('myevent', {
+        window: false
+      })
+    },
 
-        close: function () {
-            this.triggerEvent('myevent', {
-                'window': false
-            });
-        },
+    goCat: function () {
+      this.triggerEvent('goCat')
+    },
 
-        goCat: function () {
-            this.triggerEvent('goCat');
-        },
+    CartNumDes: function () {
+      this.triggerEvent('ChangeCartNum', false)
+    },
 
-        CartNumDes: function () {
-            this.triggerEvent('ChangeCartNum', false);
-        },
+    CartNumInt: function () {
+      this.triggerEvent('ChangeCartNum', true)
+    },
 
-        CartNumInt: function () {
-            this.triggerEvent('ChangeCartNum', true);
-        },
+    tapAttr: function (e) {
+      //父级index
+      var indexw = e.currentTarget.dataset.indexw
+      //子集index
+      var indexn = e.currentTarget.dataset.indexn
+      //每次点击获得的属性
+      var attr = this.data.productAttr[indexw].attr_value[indexn]
+      //设置当前点击属性
+      this.data.productAttr[indexw].checked = attr['attr']
+      this.setData({
+        productAttr: this.data.productAttr
+      })
+      var value = this.getCheckedValue().sort().join(',')
+      this.triggerEvent('ChangeAttr', value)
+    },
 
-        tapAttr: function (e) {
-            //父级index
-            var indexw = e.currentTarget.dataset.indexw;
-            //子集index
-            var indexn = e.currentTarget.dataset.indexn;
-            //每次点击获得的属性
-            var attr = this.data.productAttr[indexw].attr_value[indexn];
-            //设置当前点击属性
-            this.data.productAttr[indexw].checked = attr['attr'];
-            this.setData({
-                productAttr: this.data.productAttr,
-            });
-            var value = this.getCheckedValue().sort().join(',');
-            this.triggerEvent('ChangeAttr', value);
-        },
+    getCheckedValue: function () {
+      return this.data.productAttr.map(function (attr) {
+        return attr.checked
+      })
+    },
 
-        getCheckedValue: function () {
-            return this.data.productAttr.map(function (attr) {
-                return attr.checked;
-            });
-        },
-        
-        ResetAttr: function () {
-            for (var k in this.data.productAttr) this.data.productAttr[k].checked = '';
-            this.setData({
-                productAttr: this.data.productAttr
-            });
-        },
+    ResetAttr: function () {
+      for (var k in this.data.productAttr) this.data.productAttr[k].checked = ''
+      this.setData({
+        productAttr: this.data.productAttr
+      })
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/product-window/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 65 - 41
view/xcx/components/product-window/index.wxml

@@ -1,46 +1,70 @@
 <view class='product-window {{attribute.cartAttr==true?"on":""}} {{iSbnt?"join":""}}'>
-    <view class='textpic acea-row row-between-wrapper'>
-        <view class='pictrue'>
-            <image src='{{productSelect.image}}'></image>
-        </view>
-        <view class='text'>
-            <view class='line1'>{{productSelect.store_name}}</view>
-            <view class='money font-color'>
-                ¥<text class='num'>{{productSelect.price}}</text>
-                <text class='stock' wx:if="{{isShow}}">库存: {{productSelect.stock}}</text>
-                <text class='stock' wx:if="{{limitNum}}">限量: {{productSelect.quota_show}}</text>
-            </view>
-        </view>
-        <view class='iconfont icon-guanbi' bindtap='close'></view>
+  <view class="textpic acea-row row-between-wrapper">
+    <view class="pictrue">
+      <image src="{{productSelect.image}}"></image>
     </view>
-    <view class='productWinList'>
-        <view class='item' wx:for='{{productAttr}}' wx:key='index'>
-            <view class='title'>{{item.attr_name}}</view>
-            <view class='listn acea-row row-middle'>
-                <view class='itemn {{item.checked==itemn.attr ?"on":""}}' wx:for='{{item.attr_value}}'
-                    wx:for-item='itemn' wx:for-index='indexn' data-indexw='{{index}}' data-indexn='{{indexn}}'
-                    bindtap='tapAttr' wx:key='index'>{{itemn.attr}}</view>
-            </view>
-        </view>
+    <view class="text">
+      <view class="line1">{{productSelect.store_name}}</view>
+      <view class="money font-color">
+        ¥<text class="num">{{productSelect.price}}</text>
+        <text class="stock" wx:if="{{isShow}}">库存: {{productSelect.stock}}</text>
+        <text class="stock" wx:if="{{limitNum}}">限量: {{productSelect.quota_show}}</text>
+      </view>
     </view>
-    <view class='cart'>
-        <view class='title'>数量</view>
-        <view class='carnum acea-row row-left'>
-            <view class='reduce {{productSelect.cart_num <= 1 ? "on":""}}' bindtap='CartNumDes'>-</view>
-            <view class='num'>
-                <input type="number" value="{{productSelect.cart_num}}" data-name="productSelect.cart_num"
-                    bindinput="bindCode"></input>
-            </view>
-            <view wx:if="{{iSplus}}" class='plus {{productSelect.cart_num >= productSelect.stock? "on":""}}'
-                bindtap='CartNumInt'>+</view>
-            <view wx:else
-                class='plus {{(productSelect.cart_num >= productSelect.quota_show) || (productSelect.cart_num >= productSelect.product_stock) || (productSelect.cart_num >= productSelect.num)? "on":""}}'
-                bindtap='CartNumInt'>+</view>
-        </view>
+    <view class="iconfont icon-guanbi" bindtap="close"></view>
+  </view>
+  <view class="productWinList">
+    <view class="item" wx:for="{{productAttr}}" wx:key="index">
+      <view class="title">{{item.attr_name}}</view>
+      <view class="listn acea-row row-middle">
+        <view
+          class='itemn {{item.checked==itemn.attr ?"on":""}}'
+          wx:for="{{item.attr_value}}"
+          wx:for-item="itemn"
+          wx:for-index="indexn"
+          data-indexw="{{index}}"
+          data-indexn="{{indexn}}"
+          bindtap="tapAttr"
+          wx:key="index"
+          >{{itemn.attr}}</view
+        >
+      </view>
     </view>
-    <view class="joinBnt bg-color" wx:if="{{iSbnt && productSelect.product_stock>0 &&productSelect.quota>0}}"
-        bindtap="goCat">我要参团</view>
-    <view class="joinBnt on" wx:elif="{{(iSbnt && productSelect.quota<=0)||(iSbnt &&productSelect.product_stock<=0)}}">
-        已售罄</view>
+  </view>
+  <view class="cart">
+    <view class="title">数量</view>
+    <view class="carnum acea-row row-left">
+      <view class='reduce {{productSelect.cart_num <= 1 ? "on":""}}' bindtap="CartNumDes">-</view>
+      <view class="num">
+        <input
+          type="number"
+          value="{{productSelect.cart_num}}"
+          data-name="productSelect.cart_num"
+          bindinput="bindCode"
+        />
+      </view>
+      <view
+        wx:if="{{iSplus}}"
+        class='plus {{productSelect.cart_num >= productSelect.stock? "on":""}}'
+        bindtap="CartNumInt"
+        >+</view
+      >
+      <view
+        wx:else
+        class='plus {{(productSelect.cart_num >= productSelect.quota_show) || (productSelect.cart_num >= productSelect.product_stock) || (productSelect.cart_num >= productSelect.num)? "on":""}}'
+        bindtap="CartNumInt"
+        >+</view
+      >
+    </view>
+  </view>
+  <view
+    class="joinBnt bg-color"
+    wx:if="{{iSbnt && productSelect.product_stock>0 &&productSelect.quota>0}}"
+    bindtap="goCat"
+    >我要参团</view
+  >
+  <view class="joinBnt on" wx:elif="{{(iSbnt && productSelect.quota<=0)||(iSbnt &&productSelect.product_stock<=0)}}">
+    已售罄</view
+  >
 </view>
-<view class='mask' catchtouchmove="true" hidden='{{attribute.cartAttr==false}}' bindtap='close'></view>
+<view class="mask" catchtouchmove="true" hidden="{{attribute.cartAttr==false}}" bindtap="close"></view>

+ 87 - 87
view/xcx/components/product-window/index.wxss

@@ -1,170 +1,170 @@
 @import '/app.wxss';
 
 .product-window {
-    position: fixed;
-    bottom: 0;
-    width: 100%;
-    left: 0;
-    background-color: #fff;
-    z-index: 88;
-    border-radius: 16rpx 16rpx 0 0;
-    padding-bottom: 140rpx;
-    transform: translate3d(0, 100%, 0);
-    transition: all .3s cubic-bezier(.25, .5, .5, .9);
+  position: fixed;
+  bottom: 0;
+  width: 100%;
+  left: 0;
+  background-color: #fff;
+  z-index: 88;
+  border-radius: 16rpx 16rpx 0 0;
+  padding-bottom: 140rpx;
+  transform: translate3d(0, 100%, 0);
+  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
 }
 
 .product-window.on {
-    transform: translate3d(0, 0, 0);
+  transform: translate3d(0, 0, 0);
 }
 
 .product-window.join {
-    padding-bottom: 30rpx;
+  padding-bottom: 30rpx;
 }
 
 .product-window .textpic {
-    padding: 0 130rpx 0 30rpx;
-    margin-top: 29rpx;
-    position: relative;
+  padding: 0 130rpx 0 30rpx;
+  margin-top: 29rpx;
+  position: relative;
 }
 
 .product-window .textpic .pictrue {
-    width: 150rpx;
-    height: 150rpx;
+  width: 150rpx;
+  height: 150rpx;
 }
 
 .product-window .textpic .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 10rpx;
+  width: 100%;
+  height: 100%;
+  border-radius: 10rpx;
 }
 
 .product-window .textpic .text {
-    width: 410rpx;
-    font-size: 32rpx;
-    color: #202020;
+  width: 410rpx;
+  font-size: 32rpx;
+  color: #202020;
 }
 
 .product-window .textpic .text .money {
-    font-size: 24rpx;
-    margin-top: 40rpx;
+  font-size: 24rpx;
+  margin-top: 40rpx;
 }
 
 .product-window .textpic .text .money .num {
-    font-size: 36rpx;
+  font-size: 36rpx;
 }
 
 .product-window .textpic .text .money .stock {
-    color: #999;
-    margin-left: 18rpx;
+  color: #999;
+  margin-left: 18rpx;
 }
 
 .product-window .textpic .iconfont {
-    position: absolute;
-    right: 30rpx;
-    top: -5rpx;
-    font-size: 35rpx;
-    color: #8a8a8a;
+  position: absolute;
+  right: 30rpx;
+  top: -5rpx;
+  font-size: 35rpx;
+  color: #8a8a8a;
 }
 
 .product-window .productWinList {
-    max-height: 395rpx;
-    overflow: auto;
-    margin-top: 36rpx;
+  max-height: 395rpx;
+  overflow: auto;
+  margin-top: 36rpx;
 }
 
-.product-window .productWinList .item~.item {
-    margin-top: 36rpx;
+.product-window .productWinList .item ~ .item {
+  margin-top: 36rpx;
 }
 
 .product-window .productWinList .item .title {
-    font-size: 30rpx;
-    color: #999;
-    padding: 0 30rpx;
+  font-size: 30rpx;
+  color: #999;
+  padding: 0 30rpx;
 }
 
 .product-window .productWinList .item .listn {
-    padding: 0 30rpx 0 16rpx;
+  padding: 0 30rpx 0 16rpx;
 }
 
 .product-window .productWinList .item .listn .itemn {
-    border: 1px solid #bbb;
-    font-size: 26rpx;
-    color: #282828;
-    padding: 7rpx 33rpx;
-    border-radius: 6rpx;
-    margin: 14rpx 0 0 14rpx;
+  border: 1px solid #bbb;
+  font-size: 26rpx;
+  color: #282828;
+  padding: 7rpx 33rpx;
+  border-radius: 6rpx;
+  margin: 14rpx 0 0 14rpx;
 }
 
 .product-window .productWinList .item .listn .itemn.on {
-    color: #fff;
-    background-color: #ff3700;
-    border-color: #ff3700;
+  color: #fff;
+  background-color: #ff3700;
+  border-color: #ff3700;
 }
 
 .product-window .cart {
-    margin-top: 36rpx;
-    padding: 0 30rpx;
+  margin-top: 36rpx;
+  padding: 0 30rpx;
 }
 
 .product-window .cart .title {
-    font-size: 30rpx;
-    color: #999;
+  font-size: 30rpx;
+  color: #999;
 }
 
 .product-window .cart .carnum {
-    height: 54rpx;
-    margin-top: 24rpx;
+  height: 54rpx;
+  margin-top: 24rpx;
 }
 
 .product-window .cart .carnum view {
-    border: 1px solid #a4a4a4;
-    width: 84rpx;
-    text-align: center;
-    height: 100%;
-    line-height: 54rpx;
-    color: #a4a4a4;
-    font-size: 45rpx;
+  border: 1px solid #a4a4a4;
+  width: 84rpx;
+  text-align: center;
+  height: 100%;
+  line-height: 54rpx;
+  color: #a4a4a4;
+  font-size: 45rpx;
 }
 
 .product-window .cart .carnum .reduce {
-    border-right: 0;
-    border-radius: 6rpx 0 0 6rpx;
-    line-height: 48rpx;
+  border-right: 0;
+  border-radius: 6rpx 0 0 6rpx;
+  line-height: 48rpx;
 }
 
 .product-window .cart .carnum .reduce.on {
-    border-color: #e3e3e3;
-    color: #dedede;
+  border-color: #e3e3e3;
+  color: #dedede;
 }
 
 .product-window .cart .carnum .plus {
-    border-left: 0;
-    border-radius: 0 6rpx 6rpx 0;
-    line-height: 46rpx;
+  border-left: 0;
+  border-radius: 0 6rpx 6rpx 0;
+  line-height: 46rpx;
 }
 
 .product-window .cart .carnum .plus.on {
-    border-color: #e3e3e3;
-    color: #dedede;
+  border-color: #e3e3e3;
+  color: #dedede;
 }
 
 .product-window .cart .carnum .num {
-    color: #282828;
-    font-size: 28rpx;
+  color: #282828;
+  font-size: 28rpx;
 }
 
 .product-window .joinBnt {
-    font-size: 30rpx;
-    width: 620rpx;
-    height: 86rpx;
-    border-radius: 50rpx;
-    text-align: center;
-    line-height: 86rpx;
-    color: #fff;
-    margin: 21rpx auto 0 auto;
+  font-size: 30rpx;
+  width: 620rpx;
+  height: 86rpx;
+  border-radius: 50rpx;
+  text-align: center;
+  line-height: 86rpx;
+  color: #fff;
+  margin: 21rpx auto 0 auto;
 }
 
 .product-window .joinBnt.on {
-    background-color: #bbb;
-    color: #fff;
-}
+  background-color: #bbb;
+  color: #fff;
+}

+ 35 - 35
view/xcx/components/productConSwiper/index.js

@@ -1,42 +1,42 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        imgUrls: {
-            type: Object,
-            value: []
-        },
-        videoline: {
-            type: String,
-            value: ""
-        }
+  properties: {
+    imgUrls: {
+      type: Object,
+      value: []
     },
+    videoline: {
+      type: String,
+      value: ''
+    }
+  },
 
-    data: {
-        indicatorDots: true,
-        circular: true,
-        autoplay: false,
-        interval: 3000,
-        duration: 500,
-        currents: "1",
-        controls: true
-    },
+  data: {
+    indicatorDots: true,
+    circular: true,
+    autoplay: false,
+    interval: 3000,
+    duration: 500,
+    currents: '1',
+    controls: true
+  },
+
+  ready: function () {
+    this.videoContext = wx.createVideoContext('myVideo', this)
+  },
 
-    ready: function () {
-        this.videoContext = wx.createVideoContext('myVideo', this);
+  methods: {
+    bindPause: function () {
+      this.videoContext.play()
+      this.setData({
+        controls: false
+      })
     },
-    
-    methods: {
-        bindPause: function () {
-            this.videoContext.play();
-            this.setData({
-                controls: false
-            });
-        },
-        change: function (e) {
-            this.setData({
-                currents: e.detail.current + 1
-            })
-        }
+    change: function (e) {
+      this.setData({
+        currents: e.detail.current + 1
+      })
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/productConSwiper/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 39 - 23
view/xcx/components/productConSwiper/index.wxml

@@ -1,23 +1,39 @@
-<view class='product-bg'>
-    <swiper indicator-dots="{{indicatorDots}}" indicator-active-color="#e93323" autoplay="{{autoplay}}"
-        circular="{{circular}}" interval="{{interval}}" duration="{{duration}}" bindchange="change">
-        <swiper-item wx:if='{{videoline}}'>
-            <view class="item">
-                <video id="myVideo" src='{{videoline}}' objectFit="cover" controls style="width:100%;height:100% "
-                    show-center-play-btn show-mute-btn="true" auto-pause-if-navigate custom-cache="{{false}}"></video>
-                <cover-view class="poster" wx:if="{{controls}}">
-                    <cover-image class="image" src="{{imgUrls[0]}}"></cover-image>
-                </cover-view>
-                <cover-view class="stop" wx:if="{{controls}}" bindtap="bindPause">
-                    <cover-image class="image" src="../../images/stop.png"></cover-image>
-                </cover-view>
-            </view>
-        </swiper-item>
-        <block wx:for="{{imgUrls}}" wx:key='index'>
-            <swiper-item>
-                <image src="{{item}}" class="slide-image" />
-            </swiper-item>
-        </block>
-    </swiper>
-    <!-- <view class='pages'>{{currents}}/{{imgUrls.length || 1}}</view> -->
-</view>
+<view class="product-bg">
+  <swiper
+    indicator-dots="{{indicatorDots}}"
+    indicator-active-color="#e93323"
+    autoplay="{{autoplay}}"
+    circular="{{circular}}"
+    interval="{{interval}}"
+    duration="{{duration}}"
+    bindchange="change"
+  >
+    <swiper-item wx:if="{{videoline}}">
+      <view class="item">
+        <video
+          id="myVideo"
+          src="{{videoline}}"
+          objectFit="cover"
+          controls
+          style="width: 100%; height: 100%"
+          show-center-play-btn
+          show-mute-btn="true"
+          auto-pause-if-navigate
+          custom-cache="{{false}}"
+        ></video>
+        <cover-view class="poster" wx:if="{{controls}}">
+          <cover-image class="image" src="{{imgUrls[0]}}"></cover-image>
+        </cover-view>
+        <cover-view class="stop" wx:if="{{controls}}" bindtap="bindPause">
+          <cover-image class="image" src="../../images/stop.png"></cover-image>
+        </cover-view>
+      </view>
+    </swiper-item>
+    <block wx:for="{{imgUrls}}" wx:key="index">
+      <swiper-item>
+        <image src="{{item}}" class="slide-image" />
+      </swiper-item>
+    </block>
+  </swiper>
+  <!-- <view class='pages'>{{currents}}/{{imgUrls.length || 1}}</view> -->
+</view>

+ 40 - 40
view/xcx/components/productConSwiper/index.wxss

@@ -1,68 +1,68 @@
 .product-bg {
-    width: 100%;
-    height: 750rpx;
-    position: relative;
+  width: 100%;
+  height: 750rpx;
+  position: relative;
 }
 
 .product-bg swiper {
-    width: 100%;
-    height: 100%;
-    position: relative;
+  width: 100%;
+  height: 100%;
+  position: relative;
 }
 
 .product-bg .slide-image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .product-bg .pages {
-    position: absolute;
-    background-color: #fff;
-    height: 34rpx;
-    padding: 0 10rpx;
-    border-radius: 3rpx;
-    right: 30rpx;
-    bottom: 30rpx;
-    line-height: 34rpx;
-    font-size: 24rpx;
-    color: #050505;
+  position: absolute;
+  background-color: #fff;
+  height: 34rpx;
+  padding: 0 10rpx;
+  border-radius: 3rpx;
+  right: 30rpx;
+  bottom: 30rpx;
+  line-height: 34rpx;
+  font-size: 24rpx;
+  color: #050505;
 }
 
 #myVideo {
-    width: 100%;
-    height: 100%
+  width: 100%;
+  height: 100%;
 }
 
 .product-bg .item {
-    position: relative;
-    width: 100%;
-    height: 100%;
+  position: relative;
+  width: 100%;
+  height: 100%;
 }
 
 .product-bg .item .poster {
-    position: absolute;
-    top: 0;
-    left: 0;
-    height: 750rpx;
-    width: 100%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  height: 750rpx;
+  width: 100%;
 }
 
 .product-bg .item .poster .image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .product-bg .item .stop {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    width: 136rpx;
-    height: 136rpx;
-    margin-top: -68rpx;
-    margin-left: -68rpx;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  width: 136rpx;
+  height: 136rpx;
+  margin-top: -68rpx;
+  margin-left: -68rpx;
 }
 
 .product-bg .item .stop .image {
-    width: 100%;
-    height: 100%;
-}
+  width: 100%;
+  height: 100%;
+}

+ 35 - 41
view/xcx/components/promotionGood/index.js

@@ -1,48 +1,42 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        benefit: {
-            type: Object,
-            value: [],
-        }
-    },
-
-    data: {
-
-    },
+  properties: {
+    benefit: {
+      type: Object,
+      value: []
+    }
+  },
 
-    ready: function () {
+  data: {},
 
-    },
+  ready: function () {},
 
-    attached: function () {
+  attached: function () {},
 
-    },
-    
-    methods: {
-        /**
-         * 商品详情跳转
-         */
-        goDetail: function (e) {
-            let item = e.currentTarget.dataset.items
-            if (item.activity && item.activity.type === "1") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
-                });
-            } else if (item.activity && item.activity.type === "2") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
-                });
-            } else if (item.activity && item.activity.type === "3") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
-                });
-            } else {
-                wx.navigateTo({
-                    url: `/pages/goods_details/index?id=${item.id}`
-                });
-            }
-        }
+  methods: {
+    /**
+     * 商品详情跳转
+     */
+    goDetail: function (e) {
+      let item = e.currentTarget.dataset.items
+      if (item.activity && item.activity.type === '1') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
+        })
+      } else if (item.activity && item.activity.type === '2') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
+        })
+      } else if (item.activity && item.activity.type === '3') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
+        })
+      } else {
+        wx.navigateTo({
+          url: `/pages/goods_details/index?id=${item.id}`
+        })
+      }
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/promotionGood/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 21 - 26
view/xcx/components/promotionGood/index.wxml

@@ -1,29 +1,24 @@
 <!-- 促销单品 -->
-<view class='promotionGood'>
-    <block wx:for="{{benefit}}" wx:key='index'>
-        <view class='item acea-row row-between-wrapper' bindtap="goDetail" data-items='{{item}}'>
-            <view class='pictrue'>
-                <image src='{{item.image}}'></image>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type ==='1'}}">秒杀</text>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '2'}}">砍价</text>
-                <text class="pictrue_log pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '3'}}">拼团</text>
-            </view>
+<view class="promotionGood">
+  <block wx:for="{{benefit}}" wx:key="index">
+    <view class="item acea-row row-between-wrapper" bindtap="goDetail" data-items="{{item}}">
+      <view class="pictrue">
+        <image src="{{item.image}}"></image>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type ==='1'}}">秒杀</text>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type === '2'}}">砍价</text>
+        <text class="pictrue_log pictrue_log_class" wx:if="{{item.activity && item.activity.type === '3'}}">拼团</text>
+      </view>
 
-            <view class='text'>
-                <view class='name line1'>{{item.store_name}}</view>
-                <view class='sp-money acea-row'>
-                    <view class='moneyCon'>
-                        促销价: ¥<text class='num'>{{item.price}}</text>
-                    </view>
-                </view>
-                <view class='acea-row row-between-wrapper'>
-                    <view class='money'>日常价:¥{{item.ot_price}}</view>
-                    <view>仅剩:{{item.stock}}{{item.unit_name}}</view>
-                </view>
-            </view>
+      <view class="text">
+        <view class="name line1">{{item.store_name}}</view>
+        <view class="sp-money acea-row">
+          <view class="moneyCon"> 促销价: ¥<text class="num">{{item.price}}</text> </view>
         </view>
-    </block>
-</view>
+        <view class="acea-row row-between-wrapper">
+          <view class="money">日常价:¥{{item.ot_price}}</view>
+          <view>仅剩:{{item.stock}}{{item.unit_name}}</view>
+        </view>
+      </view>
+    </view>
+  </block>
+</view>

+ 26 - 26
view/xcx/components/promotionGood/index.wxss

@@ -1,56 +1,56 @@
 @import '/app.wxss';
 
 .promotionGood {
-    padding: 0 30rpx;
+  padding: 0 30rpx;
 }
 
 .promotionGood .item {
-    border-bottom: 1rpx solid #eee;
-    height: 250rpx;
+  border-bottom: 1rpx solid #eee;
+  height: 250rpx;
 }
 
 .promotionGood .item .pictrue {
-    width: 188rpx;
-    height: 188rpx;
-    position: relative;
+  width: 188rpx;
+  height: 188rpx;
+  position: relative;
 }
 
 .promotionGood .item .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 6rpx;
+  width: 100%;
+  height: 100%;
+  border-radius: 6rpx;
 }
 
 .promotionGood .item .text {
-    font-size: 24rpx;
-    color: #999;
-    width: 472rpx;
+  font-size: 24rpx;
+  color: #999;
+  width: 472rpx;
 }
 
 .promotionGood .item .text .name {
-    font-size: 30rpx;
-    color: #333;
+  font-size: 30rpx;
+  color: #333;
 }
 
 .promotionGood .item .text .sp-money {
-    margin: 34rpx 0 20rpx 0;
+  margin: 34rpx 0 20rpx 0;
 }
 
 .promotionGood .item .text .sp-money .moneyCon {
-    padding: 0 18rpx;
-    background-color: red;
-    height: 46rpx;
-    line-height: 46rpx;
-    background-image: linear-gradient(to right, #ff6248 0%, #ff3e1e 100%);
-    font-size: 20rpx;
-    color: #fff;
-    border-radius: 24rpx 3rpx 24rpx 3rpx;
+  padding: 0 18rpx;
+  background-color: red;
+  height: 46rpx;
+  line-height: 46rpx;
+  background-image: linear-gradient(to right, #ff6248 0%, #ff3e1e 100%);
+  font-size: 20rpx;
+  color: #fff;
+  border-radius: 24rpx 3rpx 24rpx 3rpx;
 }
 
 .promotionGood .item .text .sp-money .moneyCon .num {
-    font-size: 24rpx;
+  font-size: 24rpx;
 }
 
 .promotionGood .item .text .money {
-    text-decoration: line-through;
-}
+  text-decoration: line-through;
+}

+ 35 - 35
view/xcx/components/recommend/index.js

@@ -1,39 +1,39 @@
-var app = getApp();
+var app = getApp()
 Component({
-    properties: {
-        host_product: {
-            type: Object,
-            value: [],
-        }
-    },
+  properties: {
+    host_product: {
+      type: Object,
+      value: []
+    }
+  },
+
+  data: {},
 
-    data: {},
+  attached: function () {},
 
-    attached: function () {},
-    
-    methods: {
-        /**
-         * 商品详情跳转
-         */
-        goDetail: function (e) {
-            let item = e.currentTarget.dataset.items
-            if (item.activity && item.activity.type === "1") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
-                });
-            } else if (item.activity && item.activity.type === "2") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
-                });
-            } else if (item.activity && item.activity.type === "3") {
-                wx.navigateTo({
-                    url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
-                });
-            } else {
-                wx.navigateTo({
-                    url: `/pages/goods_details/index?id=${item.id}`
-                });
-            }
-        }
+  methods: {
+    /**
+     * 商品详情跳转
+     */
+    goDetail: function (e) {
+      let item = e.currentTarget.dataset.items
+      if (item.activity && item.activity.type === '1') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_seckill_details/index?id=${item.activity.id}&time=${item.activity.time}&status=1`
+        })
+      } else if (item.activity && item.activity.type === '2') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_bargain_details/index?id=${item.activity.id}`
+        })
+      } else if (item.activity && item.activity.type === '3') {
+        wx.navigateTo({
+          url: `/pages/activity/goods_combination_details/index?id=${item.activity.id}`
+        })
+      } else {
+        wx.navigateTo({
+          url: `/pages/goods_details/index?id=${item.id}`
+        })
+      }
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/recommend/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 24 - 21
view/xcx/components/recommend/index.wxml

@@ -1,22 +1,25 @@
-<view class='recommend'>
-    <view class='title acea-row row-center-wrapper'>
-        <text class='iconfont icon-zhuangshixian'></text>
-        <text class='name'>热门推荐</text>
-        <text class='iconfont icon-zhuangshixian lefticon'></text>
+<view class="recommend">
+  <view class="title acea-row row-center-wrapper">
+    <text class="iconfont icon-zhuangshixian"></text>
+    <text class="name">热门推荐</text>
+    <text class="iconfont icon-zhuangshixian lefticon"></text>
+  </view>
+  <view class="recommendList acea-row row-between-wrapper">
+    <view class="item" wx:for="{{host_product}}" wx:key="index" bindtap="goDetail" data-items="{{item}}">
+      <view class="pictrue">
+        <image src="{{item.image}}"></image>
+        <text class="pictrue_log_big pictrue_log_class" wx:if="{{item.activity && item.activity.type ==='1'}}"
+          >秒杀</text
+        >
+        <text class="pictrue_log_big pictrue_log_class" wx:if="{{item.activity && item.activity.type === '2'}}"
+          >砍价</text
+        >
+        <text class="pictrue_log_big pictrue_log_class" wx:if="{{item.activity && item.activity.type === '3'}}"
+          >拼团</text
+        >
+      </view>
+      <view class="name line1">{{item.store_name}}</view>
+      <view class="money font-color">¥<text class="num">{{item.price}}</text></view>
     </view>
-    <view class='recommendList acea-row row-between-wrapper'>
-        <view class='item' wx:for="{{host_product}}" wx:key='index' bindtap="goDetail" data-items='{{item}}'>
-            <view class='pictrue'>
-                <image src='{{item.image}}'></image>
-                <text class="pictrue_log_big pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type ==='1'}}">秒杀</text>
-                <text class="pictrue_log_big pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '2'}}">砍价</text>
-                <text class="pictrue_log_big pictrue_log_class"
-                    wx:if="{{item.activity && item.activity.type === '3'}}">拼团</text>
-            </view>
-            <view class='name line1'>{{item.store_name}}</view>
-            <view class='money font-color'>¥<text class='num'>{{item.price}}</text></view>
-        </view>
-    </view>
-</view>
+  </view>
+</view>

+ 24 - 24
view/xcx/components/recommend/index.wxss

@@ -1,60 +1,60 @@
 @import '/app.wxss';
 
 .recommend {
-    background-color: #fff;
+  background-color: #fff;
 }
 
 .recommend .title {
-    height: 135rpx;
-    font-size: 28rpx;
-    color: #282828;
+  height: 135rpx;
+  font-size: 28rpx;
+  color: #282828;
 }
 
 .recommend .title .name {
-    margin: 0 28rpx;
+  margin: 0 28rpx;
 }
 
 .recommend .title .iconfont {
-    font-size: 170rpx;
-    color: #454545;
+  font-size: 170rpx;
+  color: #454545;
 }
 
 .recommend .title .iconfont.lefticon {
-    transform: rotate(180deg);
+  transform: rotate(180deg);
 }
 
 .recommend .recommendList {
-    padding: 0 30rpx;
+  padding: 0 30rpx;
 }
 
 .recommend .recommendList .item {
-    width: 335rpx;
-    margin-bottom: 30rpx;
+  width: 335rpx;
+  margin-bottom: 30rpx;
 }
 
 .recommend .recommendList .item .pictrue {
-    width: 100%;
-    height: 335rpx;
-    position: relative;
+  width: 100%;
+  height: 335rpx;
+  position: relative;
 }
 
 .recommend .recommendList .item .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 10rpx;
+  width: 100%;
+  height: 100%;
+  border-radius: 10rpx;
 }
 
 .recommend .recommendList .item .name {
-    font-size: 28rpx;
-    color: #282828;
-    margin-top: 20rpx;
+  font-size: 28rpx;
+  color: #282828;
+  margin-top: 20rpx;
 }
 
 .recommend .recommendList .item .money {
-    font-size: 20rpx;
-    margin-top: 8rpx;
+  font-size: 20rpx;
+  margin-top: 8rpx;
 }
 
 .recommend .recommendList .item .money .num {
-    font-size: 28rpx;
-}
+  font-size: 28rpx;
+}

+ 22 - 24
view/xcx/components/share-red-packets/index.js

@@ -1,30 +1,28 @@
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        sharePacket: {
-            type: Object,
-            value: {
-                isState: true,
-                priceName: '',
-            }
-        }
-    },
+  properties: {
+    sharePacket: {
+      type: Object,
+      value: {
+        isState: true,
+        priceName: ''
+      }
+    }
+  },
 
-    data: {
+  data: {},
 
-    },
+  attached: function () {},
 
-    attached: function () {},
-
-    methods: {
-        closeShare: function () {
-            this.setData({
-                "sharePacket.isState": true
-            })
-        },
-        goShare: function () {
-            this.triggerEvent('listenerActionSheet');
-        },
+  methods: {
+    closeShare: function () {
+      this.setData({
+        'sharePacket.isState': true
+      })
+    },
+    goShare: function () {
+      this.triggerEvent('listenerActionSheet')
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/share-red-packets/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 11 - 11
view/xcx/components/share-red-packets/index.wxml

@@ -1,13 +1,13 @@
 <view class='sharing-packets {{sharePacket.isState==true?"on":""}}'>
-    <view class='iconfont icon-guanbi' bindtap='closeShare'></view>
-    <view class='line'></view>
-    <view class='sharing-con' bindtap='goShare'>
-        <image src='/images/red-packets.png'></image>
-        <view class='text font-color'>
-            <view>会员分享返</view>
-            <view class='money'><text class='label'>¥</text>{{sharePacket.priceName}}</view>
-            <view class='tip'>下单即返佣金</view>
-            <view class='shareBut'>立即分享</view>
-        </view>
+  <view class="iconfont icon-guanbi" bindtap="closeShare"></view>
+  <view class="line"></view>
+  <view class="sharing-con" bindtap="goShare">
+    <image src="/images/red-packets.png"></image>
+    <view class="text font-color">
+      <view>会员分享返</view>
+      <view class="money"><text class="label">¥</text>{{sharePacket.priceName}}</view>
+      <view class="tip">下单即返佣金</view>
+      <view class="shareBut">立即分享</view>
     </view>
-</view>
+  </view>
+</view>

+ 47 - 47
view/xcx/components/share-red-packets/index.wxss

@@ -1,80 +1,80 @@
 @import '/app.wxss';
 
 .sharing-packets {
-    position: fixed;
-    left: 30rpx;
-    z-index: 5;
-    transition: all 0.3s ease-in-out 0s;
-    opacity: 1;
-    transform: scale(1);
-    bottom: 150rpx;
+  position: fixed;
+  left: 30rpx;
+  z-index: 5;
+  transition: all 0.3s ease-in-out 0s;
+  opacity: 1;
+  transform: scale(1);
+  bottom: 150rpx;
 }
 
 .sharing-packets.on {
-    transform: scale(0);
-    opacity: 0;
+  transform: scale(0);
+  opacity: 0;
 }
 
 .sharing-packets .iconfont {
-    width: 44rpx;
-    height: 44rpx;
-    border-radius: 50%;
-    text-align: center;
-    line-height: 44rpx;
-    background-color: #999;
-    font-size: 20rpx;
-    color: #fff;
-    margin: 0 auto;
-    box-sizing: border-box;
-    padding-left: 1px;
+  width: 44rpx;
+  height: 44rpx;
+  border-radius: 50%;
+  text-align: center;
+  line-height: 44rpx;
+  background-color: #999;
+  font-size: 20rpx;
+  color: #fff;
+  margin: 0 auto;
+  box-sizing: border-box;
+  padding-left: 1px;
 }
 
 .sharing-packets .line {
-    width: 2rpx;
-    height: 40rpx;
-    background-color: #999;
-    margin: 0 auto;
+  width: 2rpx;
+  height: 40rpx;
+  background-color: #999;
+  margin: 0 auto;
 }
 
 .sharing-packets .sharing-con {
-    width: 187rpx;
-    height: 210rpx;
-    position: relative;
+  width: 187rpx;
+  height: 210rpx;
+  position: relative;
 }
 
 .sharing-packets .sharing-con image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .sharing-packets .sharing-con .text {
-    position: absolute;
-    top: 30rpx;
-    font-size: 20rpx;
-    width: 100%;
-    text-align: center;
+  position: absolute;
+  top: 30rpx;
+  font-size: 20rpx;
+  width: 100%;
+  text-align: center;
 }
 
 .sharing-packets .sharing-con .text .money {
-    font-size: 32rpx;
-    font-weight: bold;
-    margin-top: 5rpx;
+  font-size: 32rpx;
+  font-weight: bold;
+  margin-top: 5rpx;
 }
 
 .sharing-packets .sharing-con .text .money .label {
-    font-size: 20rpx;
+  font-size: 20rpx;
 }
 
 .sharing-packets .sharing-con .text .tip {
-    font-size: 18rpx;
-    color: #999;
-    margin-top: 5rpx;
+  font-size: 18rpx;
+  color: #999;
+  margin-top: 5rpx;
 }
 
 .sharing-packets .sharing-con .text .shareBut {
-    font-size: 22rpx;
-    color: #fff;
-    margin-top: 18rpx;
-    height: 50rpx;
-    line-height: 50rpx;
-}
+  font-size: 22rpx;
+  color: #fff;
+  margin-top: 18rpx;
+  height: 50rpx;
+  line-height: 50rpx;
+}

+ 25 - 25
view/xcx/components/swipers/index.js

@@ -1,31 +1,31 @@
 // components/swiper/index.js
-var app = getApp();
+var app = getApp()
 
 Component({
-    properties: {
-        imgUrls: {
-            type: Object,
-            value: []
-        }
-    },
+  properties: {
+    imgUrls: {
+      type: Object,
+      value: []
+    }
+  },
+
+  data: {
+    circular: true,
+    autoplay: true,
+    interval: 3000,
+    duration: 500,
+    currentSwiper: 0
+  },
 
-    data: {
-        circular: true,
-        autoplay: true,
-        interval: 3000,
-        duration: 500,
-        currentSwiper: 0
-    },
+  attached: function () {
+    console.log(this.data.imgUrls)
+  },
 
-    attached: function () {
-        console.log(this.data.imgUrls);
-    },
-    
-    methods: {
-        swiperChange: function (e) {
-            this.setData({
-                currentSwiper: e.detail.current
-            })
-        },
+  methods: {
+    swiperChange: function (e) {
+      this.setData({
+        currentSwiper: e.detail.current
+      })
     }
-})
+  }
+})

+ 3 - 3
view/xcx/components/swipers/index.json

@@ -1,4 +1,4 @@
 {
-    "usingComponents": {},
-    "component": true
-}
+  "usingComponents": {},
+  "component": true
+}

+ 20 - 15
view/xcx/components/swipers/index.wxml

@@ -1,15 +1,20 @@
-<view class='swiper'>
-    <swiper autoplay="{{autoplay}}" circular="{{circular}}" interval="{{interval}}" duration="{{duration}}"
-        bindchange="swiperChange">
-        <block wx:for="{{imgUrls}}" wx:key='index'>
-            <swiper-item>
-                <navigator url="{{item.link}}" style='width:100%;height:100%;' hover-class='none'>
-                    <image src="{{item.img}}" class="slide-image" />
-                </navigator>
-            </swiper-item>
-        </block>
-    </swiper>
-    <view class="dots acea-row">
-        <view class="dot {{index == currentSwiper ? 'active' : ''}}" wx:for="{{imgUrls}}" wx:key='index'></view>
-    </view>
-</view>
+<view class="swiper">
+  <swiper
+    autoplay="{{autoplay}}"
+    circular="{{circular}}"
+    interval="{{interval}}"
+    duration="{{duration}}"
+    bindchange="swiperChange"
+  >
+    <block wx:for="{{imgUrls}}" wx:key="index">
+      <swiper-item>
+        <navigator url="{{item.link}}" style="width: 100%; height: 100%" hover-class="none">
+          <image src="{{item.img}}" class="slide-image" />
+        </navigator>
+      </swiper-item>
+    </block>
+  </swiper>
+  <view class="dots acea-row">
+    <view class="dot {{index == currentSwiper ? 'active' : ''}}" wx:for="{{imgUrls}}" wx:key="index"></view>
+  </view>
+</view>

+ 19 - 19
view/xcx/components/swipers/index.wxss

@@ -1,37 +1,37 @@
 @import '/app.wxss';
 
 .swiper {
-    width: 100%;
-    height: 282rpx;
-    position: relative;
+  width: 100%;
+  height: 282rpx;
+  position: relative;
 }
 
 .swiper swiper {
-    width: 100%;
-    height: 100%;
-    position: relative;
+  width: 100%;
+  height: 100%;
+  position: relative;
 }
 
 .swiper swiper .slide-image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .swiper .dots {
-    position: absolute;
-    right: 40rpx;
-    bottom: 20rpx;
+  position: absolute;
+  right: 40rpx;
+  bottom: 20rpx;
 }
 
 .swiper .dots .dot {
-    width: 12rpx;
-    height: 12rpx;
-    border: 2rpx solid #fff;
-    border-radius: 50%;
-    margin-right: 15rpx;
+  width: 12rpx;
+  height: 12rpx;
+  border: 2rpx solid #fff;
+  border-radius: 50%;
+  margin-right: 15rpx;
 }
 
 .swiper .dots .dot.active {
-    border-color: #e93323;
-    background-color: #e93323;
-}
+  border-color: #e93323;
+  background-color: #e93323;
+}

+ 18 - 22
view/xcx/components/userEvaluation/index.js

@@ -1,24 +1,20 @@
-var app = getApp();
+var app = getApp()
 Component({
-    properties: {
-        reply: {
-            type: Object,
-            value: [],
-        }
-    },
-    data: {
-
-    },
-    attached: function () {
-
-    },
-    methods: {
-        getpreviewImage: function (e) {
-            var dataset = e.currentTarget.dataset;
-            wx.previewImage({
-                urls: this.data.reply[dataset.index].pics,
-                current: this.data.reply[dataset.index].pics[dataset.pic_index],
-            });
-        },
+  properties: {
+    reply: {
+      type: Object,
+      value: []
     }
-})
+  },
+  data: {},
+  attached: function () {},
+  methods: {
+    getpreviewImage: function (e) {
+      var dataset = e.currentTarget.dataset
+      wx.previewImage({
+        urls: this.data.reply[dataset.index].pics,
+        current: this.data.reply[dataset.index].pics[dataset.pic_index]
+      })
+    }
+  }
+})

+ 2 - 2
view/xcx/components/userEvaluation/index.json

@@ -1,3 +1,3 @@
 {
-    "component": true
-}
+  "component": true
+}

+ 28 - 22
view/xcx/components/userEvaluation/index.wxml

@@ -1,23 +1,29 @@
-<view class='evaluateWtapper'>
-    <view class='evaluateItem' wx:for="{{reply}}" wx:key='index'>
-        <view class='pic-text acea-row row-middle'>
-            <view class='pictrue'>
-                <image src='{{item.avatar}}'></image>
-            </view>
-            <view class='acea-row row-middle'>
-                <view class='name line1'>{{item.nickname}}</view>
-                <view class='start star{{item.star}}'></view>
-            </view>
-        </view>
-        <view class='time'>{{item.add_time}} {{item.suk}}</view>
-        <view class='evaluate-infor'>{{item.comment}}</view>
-        <view class='imgList acea-row'>
-            <view class='pictrue' wx:for="{{item.pics}}" wx:for-item="items" wx:for-index='pic_index' wx:key='index'>
-                <image wx:if="{{items}}" src='{{items}}' data-index="{{index}}" data-pic_index='{{pic_index}}'
-                    bindtap='getpreviewImage'></image>
-            </view>
-        </view>
-        <view class='reply' wx:if='{{item.merchant_reply_content}}'><text
-                class='font-color'>店小二</text>:{{item.merchant_reply_content}}</view>
+<view class="evaluateWtapper">
+  <view class="evaluateItem" wx:for="{{reply}}" wx:key="index">
+    <view class="pic-text acea-row row-middle">
+      <view class="pictrue">
+        <image src="{{item.avatar}}"></image>
+      </view>
+      <view class="acea-row row-middle">
+        <view class="name line1">{{item.nickname}}</view>
+        <view class="start star{{item.star}}"></view>
+      </view>
     </view>
-</view>
+    <view class="time">{{item.add_time}} {{item.suk}}</view>
+    <view class="evaluate-infor">{{item.comment}}</view>
+    <view class="imgList acea-row">
+      <view class="pictrue" wx:for="{{item.pics}}" wx:for-item="items" wx:for-index="pic_index" wx:key="index">
+        <image
+          wx:if="{{items}}"
+          src="{{items}}"
+          data-index="{{index}}"
+          data-pic_index="{{pic_index}}"
+          bindtap="getpreviewImage"
+        ></image>
+      </view>
+    </view>
+    <view class="reply" wx:if="{{item.merchant_reply_content}}"
+      ><text class="font-color">店小二</text>:{{item.merchant_reply_content}}</view
+    >
+  </view>
+</view>

+ 47 - 47
view/xcx/components/userEvaluation/index.wxss

@@ -1,85 +1,85 @@
 @import '/app.wxss';
 
 .evaluateWtapper .evaluateItem {
-    background-color: #fff;
-    padding-bottom: 25rpx;
+  background-color: #fff;
+  padding-bottom: 25rpx;
 }
 
-.evaluateWtapper .evaluateItem~.evaluateItem {
-    border-top: 1rpx solid #f5f5f5;
+.evaluateWtapper .evaluateItem ~ .evaluateItem {
+  border-top: 1rpx solid #f5f5f5;
 }
 
 .evaluateWtapper .evaluateItem .pic-text {
-    font-size: 26rpx;
-    color: #282828;
-    height: 95rpx;
-    padding: 0 30rpx;
+  font-size: 26rpx;
+  color: #282828;
+  height: 95rpx;
+  padding: 0 30rpx;
 }
 
 .evaluateWtapper .evaluateItem .pic-text .pictrue {
-    width: 56rpx;
-    height: 56rpx;
-    margin-right: 20rpx;
+  width: 56rpx;
+  height: 56rpx;
+  margin-right: 20rpx;
 }
 
 .evaluateWtapper .evaluateItem .pic-text .pictrue image {
-    width: 100%;
-    height: 100%;
-    border-radius: 50%;
+  width: 100%;
+  height: 100%;
+  border-radius: 50%;
 }
 
 .evaluateWtapper .evaluateItem .pic-text .name {
-    max-width: 450rpx;
-    margin-right: 15rpx;
+  max-width: 450rpx;
+  margin-right: 15rpx;
 }
 
 .evaluateWtapper .evaluateItem .time {
-    font-size: 24rpx;
-    color: #82848f;
-    padding: 0 30rpx;
+  font-size: 24rpx;
+  color: #82848f;
+  padding: 0 30rpx;
 }
 
 .evaluateWtapper .evaluateItem .evaluate-infor {
-    font-size: 28rpx;
-    color: #282828;
-    margin-top: 19rpx;
-    padding: 0 30rpx;
+  font-size: 28rpx;
+  color: #282828;
+  margin-top: 19rpx;
+  padding: 0 30rpx;
 }
 
 .evaluateWtapper .evaluateItem .imgList {
-    padding: 0 30rpx 0 15rpx;
-    margin-top: 25rpx;
+  padding: 0 30rpx 0 15rpx;
+  margin-top: 25rpx;
 }
 
 .evaluateWtapper .evaluateItem .imgList .pictrue {
-    width: 156rpx;
-    height: 156rpx;
-    margin: 0 0 15rpx 15rpx;
+  width: 156rpx;
+  height: 156rpx;
+  margin: 0 0 15rpx 15rpx;
 }
 
 .evaluateWtapper .evaluateItem .imgList .pictrue image {
-    width: 100%;
-    height: 100%;
+  width: 100%;
+  height: 100%;
 }
 
 .evaluateWtapper .evaluateItem .reply {
-    font-size: 26rpx;
-    color: #454545;
-    background-color: #f7f7f7;
-    border-radius: 5rpx;
-    margin: 20rpx 30rpx 0 30rpx;
-    padding: 30rpx;
-    position: relative;
+  font-size: 26rpx;
+  color: #454545;
+  background-color: #f7f7f7;
+  border-radius: 5rpx;
+  margin: 20rpx 30rpx 0 30rpx;
+  padding: 30rpx;
+  position: relative;
 }
 
 .evaluateWtapper .evaluateItem .reply::before {
-    content: "";
-    width: 0;
-    height: 0;
-    border-left: 0.3rem solid transparent;
-    border-right: 0.3rem solid transparent;
-    border-bottom: 0.4rem solid #f7f7f7;
-    position: absolute;
-    top: -0.4rem;
-    left: 2rem;
-}
+  content: '';
+  width: 0;
+  height: 0;
+  border-left: 0.3rem solid transparent;
+  border-right: 0.3rem solid transparent;
+  border-bottom: 0.4rem solid #f7f7f7;
+  position: absolute;
+  top: -0.4rem;
+  left: 2rem;
+}

+ 14 - 18
view/xcx/components/write-off/index.js

@@ -1,20 +1,16 @@
-var app = getApp();
+var app = getApp()
 Component({
-    properties: {
-        isHidden: {
-            type: Boolean,
-            value: false
-        }
-    },
-    data: {
-
-    },
-    attached: function () {
-
-    },
-    methods: {
-        cancel: function () {
-            this.triggerEvent('cancel', false);
-        }
+  properties: {
+    isHidden: {
+      type: Boolean,
+      value: false
     }
-})
+  },
+  data: {},
+  attached: function () {},
+  methods: {
+    cancel: function () {
+      this.triggerEvent('cancel', false)
+    }
+  }
+})

+ 2 - 2
view/xcx/components/write-off/index.json

@@ -1,3 +1,3 @@
 {
-    "component": true
-}
+  "component": true
+}

+ 13 - 12
view/xcx/components/write-off/index.wxml

@@ -1,14 +1,15 @@
 <view hidden="{{isHidden == false}}">
-    <view class="WriteOff">
-        <view class="pictrue">
-            <image src="/images/value.jpg"></image>
-        </view>
-        <view class="num acea-row row-center-wrapper">wx156687208866123509
-            <view class="see">查看<text class="iconfont icon-xiangyou"></text></view>
-        </view>
-        <view class="tip">确定要核销此订单吗?</view>
-        <view class="sure">确定核销</view>
-        <view class="sure cancel" bindtap="cancel">取消</view>
+  <view class="WriteOff">
+    <view class="pictrue">
+      <image src="/images/value.jpg"></image>
     </view>
-    <view class="mask" catchtouchmove="true"></view>
-</view>
+    <view class="num acea-row row-center-wrapper"
+      >wx156687208866123509
+      <view class="see">查看<text class="iconfont icon-xiangyou"></text></view>
+    </view>
+    <view class="tip">确定要核销此订单吗?</view>
+    <view class="sure">确定核销</view>
+    <view class="sure cancel" bindtap="cancel">取消</view>
+  </view>
+  <view class="mask" catchtouchmove="true"></view>
+</view>

+ 63 - 63
view/xcx/components/write-off/index.wxss

@@ -1,96 +1,96 @@
 @import '/app.wxss';
 
 .WriteOff {
-    width: 560rpx;
-    height: 800rpx;
-    background-color: #fff;
-    border-radius: 20rpx;
-    position: fixed;
-    top: 50%;
-    left: 50%;
-    margin-top: -400rpx;
-    margin-left: -280rpx;
-    z-index: 99;
-    padding-top: 55rpx;
+  width: 560rpx;
+  height: 800rpx;
+  background-color: #fff;
+  border-radius: 20rpx;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  margin-top: -400rpx;
+  margin-left: -280rpx;
+  z-index: 99;
+  padding-top: 55rpx;
 }
 
 .WriteOff .pictrue {
-    width: 340rpx;
-    height: 340rpx;
-    margin: 0 auto;
+  width: 340rpx;
+  height: 340rpx;
+  margin: 0 auto;
 }
 
 .WriteOff .pictrue image {
-    width: 100%;
-    height: 100%;
-    display: block;
-    border-radius: 10rpx;
+  width: 100%;
+  height: 100%;
+  display: block;
+  border-radius: 10rpx;
 }
 
 .WriteOff .num {
-    font-size: 30rpx;
-    color: #666;
-    margin: 28rpx 0 30rpx 0;
+  font-size: 30rpx;
+  color: #666;
+  margin: 28rpx 0 30rpx 0;
 }
 
 .WriteOff .num .see {
-    font-size: 16rpx;
-    color: #fff;
-    border-radius: 4rpx;
-    background-color: #c68937;
-    padding-left: 5rpx;
-    margin-left: 12rpx;
+  font-size: 16rpx;
+  color: #fff;
+  border-radius: 4rpx;
+  background-color: #c68937;
+  padding-left: 5rpx;
+  margin-left: 12rpx;
 }
 
 .WriteOff .num .see .iconfont {
-    font-size: 15rpx;
+  font-size: 15rpx;
 }
 
 .WriteOff .tip {
-    font-size: 36rpx;
-    color: #282828;
-    text-align: center;
-    border-top: 1px dashed #ccc;
-    padding-top: 40rpx;
-    position: relative;
+  font-size: 36rpx;
+  color: #282828;
+  text-align: center;
+  border-top: 1px dashed #ccc;
+  padding-top: 40rpx;
+  position: relative;
 }
 
 .WriteOff .tip:after {
-    content: "";
-    position: absolute;
-    width: 25rpx;
-    height: 25rpx;
-    border-radius: 50%;
-    background-color: #7f7f7f;
-    right: -12.5rpx;
-    top: -12.5rpx;
+  content: '';
+  position: absolute;
+  width: 25rpx;
+  height: 25rpx;
+  border-radius: 50%;
+  background-color: #7f7f7f;
+  right: -12.5rpx;
+  top: -12.5rpx;
 }
 
 .WriteOff .tip:before {
-    content: "";
-    position: absolute;
-    width: 25rpx;
-    height: 25rpx;
-    border-radius: 50%;
-    background-color: #7f7f7f;
-    left: -12.5rpx;
-    top: -12.5rpx;
+  content: '';
+  position: absolute;
+  width: 25rpx;
+  height: 25rpx;
+  border-radius: 50%;
+  background-color: #7f7f7f;
+  left: -12.5rpx;
+  top: -12.5rpx;
 }
 
 .WriteOff .sure {
-    font-size: 32rpx;
-    color: #fff;
-    text-align: center;
-    line-height: 82rpx;
-    height: 82rpx;
-    width: 460rpx;
-    border-radius: 41rpx;
-    margin: 40rpx auto 0 auto;
-    background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
+  font-size: 32rpx;
+  color: #fff;
+  text-align: center;
+  line-height: 82rpx;
+  height: 82rpx;
+  width: 460rpx;
+  border-radius: 41rpx;
+  margin: 40rpx auto 0 auto;
+  background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
 }
 
 .WriteOff .sure.cancel {
-    background-image: none;
-    color: #999;
-    margin-top: 10rpx;
-}
+  background-image: none;
+  color: #999;
+  margin-top: 10rpx;
+}

+ 31 - 31
view/xcx/config.js

@@ -1,34 +1,34 @@
 module.exports = {
-    // 请求域名 格式: https://您的域名
-    HTTP_REQUEST_URL: 'http://twong.h:9080',
-    // HTTP_REQUEST_URL:'https://twongd.shotshock.shop',
-    // HTTP_REQUEST_URL:'https://twong.shotshock.shop',
-    // Socket链接 暂不做配置
-    WSS_SERVER_URL: 'wss://twong.shotshock.shop',
+  // 请求域名 格式: https://您的域名
+  HTTP_REQUEST_URL: 'http://twong.h:9080',
+  // HTTP_REQUEST_URL:'https://twongd.shotshock.shop',
+  // HTTP_REQUEST_URL:'https://twong.shotshock.shop',
+  // Socket链接 暂不做配置
+  WSS_SERVER_URL: 'wss://twong.shotshock.shop',
 
-    // 以下配置非开发者,无需修改
-    // 请求头
-    HEADER: {
-        'content-type': 'application/json'
-    },
-    // Socket调试模式
-    SERVER_DEBUG: true,
-    // 心跳间隔
-    PINGINTERVAL: 3000,
-    // 回话密钥名称 
-    TOKENNAME: 'Authori-zation',
-    //用户信息缓存名称
-    CACHE_USERINFO: 'USERINFO',
-    //token缓存名称
-    CACHE_TOKEN: 'TOKEN',
-    //token过期事件
-    CACHE_EXPIRES_TIME: 'EXPIRES_TIME',
-    //模板缓存
-    CACHE_SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE',
-    //用户信息缓存名称
-    CACHE_USERINFO: 'USERINFO',
-    //缓存经度
-    CACHE_LONGITUDE: 'LONGITUDE',
-    //缓存纬度
-    CACHE_LATITUDE: 'LATITUDE',
+  // 以下配置非开发者,无需修改
+  // 请求头
+  HEADER: {
+    'content-type': 'application/json'
+  },
+  // Socket调试模式
+  SERVER_DEBUG: true,
+  // 心跳间隔
+  PINGINTERVAL: 3000,
+  // 回话密钥名称 
+  TOKENNAME: 'Authori-zation',
+  //用户信息缓存名称
+  CACHE_USERINFO: 'USERINFO',
+  //token缓存名称
+  CACHE_TOKEN: 'TOKEN',
+  //token过期事件
+  CACHE_EXPIRES_TIME: 'EXPIRES_TIME',
+  //模板缓存
+  CACHE_SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE',
+  //用户信息缓存名称
+  CACHE_USERINFO: 'USERINFO',
+  //缓存经度
+  CACHE_LONGITUDE: 'LONGITUDE',
+  //缓存纬度
+  CACHE_LATITUDE: 'LATITUDE',
 }

+ 19 - 1
view/xcx/css/animate.wxss

@@ -21,6 +21,7 @@
 }
 
 @-webkit-keyframes bounce {
+
   from,
   20%,
   53%,
@@ -54,6 +55,7 @@
 }
 
 @keyframes bounce {
+
   from,
   20%,
   53%,
@@ -94,6 +96,7 @@
 }
 
 @-webkit-keyframes flash {
+
   from,
   50%,
   to {
@@ -107,6 +110,7 @@
 }
 
 @keyframes flash {
+
   from,
   50%,
   to {
@@ -245,6 +249,7 @@
 }
 
 @-webkit-keyframes shake {
+
   from,
   to {
     -webkit-transform: translate3d(0, 0, 0);
@@ -270,6 +275,7 @@
 }
 
 @keyframes shake {
+
   from,
   to {
     -webkit-transform: translate3d(0, 0, 0);
@@ -584,6 +590,7 @@
 }
 
 @-webkit-keyframes jello {
+
   from,
   11.1%,
   to {
@@ -628,6 +635,7 @@
 }
 
 @keyframes jello {
+
   from,
   11.1%,
   to {
@@ -679,6 +687,7 @@
 }
 
 @-webkit-keyframes bounceIn {
+
   from,
   20%,
   40%,
@@ -724,6 +733,7 @@
 }
 
 @keyframes bounceIn {
+
   from,
   20%,
   40%,
@@ -776,6 +786,7 @@
 }
 
 @-webkit-keyframes bounceInDown {
+
   from,
   60%,
   75%,
@@ -814,6 +825,7 @@
 }
 
 @keyframes bounceInDown {
+
   from,
   60%,
   75%,
@@ -857,6 +869,7 @@
 }
 
 @-webkit-keyframes bounceInLeft {
+
   from,
   60%,
   75%,
@@ -895,6 +908,7 @@
 }
 
 @keyframes bounceInLeft {
+
   from,
   60%,
   75%,
@@ -938,6 +952,7 @@
 }
 
 @-webkit-keyframes bounceInRight {
+
   from,
   60%,
   75%,
@@ -976,6 +991,7 @@
 }
 
 @keyframes bounceInRight {
+
   from,
   60%,
   75%,
@@ -1019,6 +1035,7 @@
 }
 
 @-webkit-keyframes bounceInUp {
+
   from,
   60%,
   75%,
@@ -1057,6 +1074,7 @@
 }
 
 @keyframes bounceInUp {
+
   from,
   60%,
   75%,
@@ -3491,4 +3509,4 @@
 .slideOutUp {
   -webkit-animation-name: slideOutUp;
   animation-name: slideOutUp;
-}
+}

File diff suppressed because it is too large
+ 0 - 7
view/xcx/css/guildford.wxss


File diff suppressed because it is too large
+ 152 - 158
view/xcx/css/style.wxss


+ 4541 - 0
view/xcx/css/wxbase.wxss

@@ -0,0 +1,4541 @@
+/** colors */
+.dark {
+  --bg-color-primary: black;
+  --color-primary: white;
+}
+
+.light {
+  --bg-color-primary: white;
+  --color-primary: black;
+}
+
+/** unit in rpx of horizontal and vertical */
+/** basic font-size */
+.col,
+.vstake,
+.row,
+.hstake,
+.flex,
+.stake {
+  display: flex;
+}
+
+.row,
+.hstake {
+  flex-direction: row;
+}
+
+.col,
+.vstake {
+  flex-direction: column;
+}
+
+.justify-start {
+  justify-content: start;
+}
+
+.justify-end {
+  justify-content: end;
+}
+
+.justify-flex-start {
+  justify-content: flex-start;
+}
+
+.justify-flex-end {
+  justify-content: flex-end;
+}
+
+.justify-center {
+  justify-content: center;
+}
+
+.justify-space-between {
+  justify-content: space-between;
+}
+
+.justify-space-around {
+  justify-content: space-around;
+}
+
+.align-start {
+  align-items: start;
+}
+
+.align-end {
+  align-items: end;
+}
+
+.align-flex-start {
+  align-items: flex-start;
+}
+
+.align-flex-end {
+  align-items: flex-end;
+}
+
+.align-center {
+  align-items: center;
+}
+
+.gap-1 {
+  gap: 4rpx;
+}
+
+.fs-1 {
+  font-size: 10rpx;
+}
+
+.gap-2 {
+  gap: 8rpx;
+}
+
+.fs-2 {
+  font-size: 14rpx;
+}
+
+.gap-3 {
+  gap: 12rpx;
+}
+
+.fs-3 {
+  font-size: 18rpx;
+}
+
+.gap-4 {
+  gap: 16rpx;
+}
+
+.fs-4 {
+  font-size: 22rpx;
+}
+
+.gap-5 {
+  gap: 20rpx;
+}
+
+.fs-5 {
+  font-size: 26rpx;
+}
+
+.gap-6 {
+  gap: 24rpx;
+}
+
+.fs-6 {
+  font-size: 30rpx;
+}
+
+.gap-7 {
+  gap: 28rpx;
+}
+
+.fs-7 {
+  font-size: 34rpx;
+}
+
+.gap-8 {
+  gap: 32rpx;
+}
+
+.fs-8 {
+  font-size: 38rpx;
+}
+
+.gap-9 {
+  gap: 36rpx;
+}
+
+.fs-9 {
+  font-size: 42rpx;
+}
+
+.gap-10 {
+  gap: 40rpx;
+}
+
+.fs-10 {
+  font-size: 46rpx;
+}
+
+.gap-11 {
+  gap: 44rpx;
+}
+
+.fs-11 {
+  font-size: 50rpx;
+}
+
+.gap-12 {
+  gap: 48rpx;
+}
+
+.fs-12 {
+  font-size: 54rpx;
+}
+
+.gap-13 {
+  gap: 52rpx;
+}
+
+.fs-13 {
+  font-size: 58rpx;
+}
+
+.gap-14 {
+  gap: 56rpx;
+}
+
+.fs-14 {
+  font-size: 62rpx;
+}
+
+.gap-15 {
+  gap: 60rpx;
+}
+
+.fs-15 {
+  font-size: 66rpx;
+}
+
+.gap-16 {
+  gap: 64rpx;
+}
+
+.fs-16 {
+  font-size: 70rpx;
+}
+
+.gap-17 {
+  gap: 68rpx;
+}
+
+.fs-17 {
+  font-size: 74rpx;
+}
+
+.gap-18 {
+  gap: 72rpx;
+}
+
+.fs-18 {
+  font-size: 78rpx;
+}
+
+.gap-19 {
+  gap: 76rpx;
+}
+
+.fs-19 {
+  font-size: 82rpx;
+}
+
+.gap-20 {
+  gap: 80rpx;
+}
+
+.fs-20 {
+  font-size: 86rpx;
+}
+
+.gap-21 {
+  gap: 84rpx;
+}
+
+.fs-21 {
+  font-size: 90rpx;
+}
+
+.gap-22 {
+  gap: 88rpx;
+}
+
+.fs-22 {
+  font-size: 94rpx;
+}
+
+.gap-23 {
+  gap: 92rpx;
+}
+
+.fs-23 {
+  font-size: 98rpx;
+}
+
+.gap-24 {
+  gap: 96rpx;
+}
+
+.fs-24 {
+  font-size: 102rpx;
+}
+
+.gap-25 {
+  gap: 100rpx;
+}
+
+.fs-25 {
+  font-size: 106rpx;
+}
+
+.gap-26 {
+  gap: 104rpx;
+}
+
+.fs-26 {
+  font-size: 110rpx;
+}
+
+.gap-27 {
+  gap: 108rpx;
+}
+
+.fs-27 {
+  font-size: 114rpx;
+}
+
+.gap-28 {
+  gap: 112rpx;
+}
+
+.fs-28 {
+  font-size: 118rpx;
+}
+
+.gap-29 {
+  gap: 116rpx;
+}
+
+.fs-29 {
+  font-size: 122rpx;
+}
+
+.gap-30 {
+  gap: 120rpx;
+}
+
+.fs-30 {
+  font-size: 126rpx;
+}
+
+.gap-31 {
+  gap: 124rpx;
+}
+
+.fs-31 {
+  font-size: 130rpx;
+}
+
+.gap-32 {
+  gap: 128rpx;
+}
+
+.fs-32 {
+  font-size: 134rpx;
+}
+
+.gap-33 {
+  gap: 132rpx;
+}
+
+.fs-33 {
+  font-size: 138rpx;
+}
+
+.gap-34 {
+  gap: 136rpx;
+}
+
+.fs-34 {
+  font-size: 142rpx;
+}
+
+.gap-35 {
+  gap: 140rpx;
+}
+
+.fs-35 {
+  font-size: 146rpx;
+}
+
+.gap-36 {
+  gap: 144rpx;
+}
+
+.fs-36 {
+  font-size: 150rpx;
+}
+
+.gap-37 {
+  gap: 148rpx;
+}
+
+.fs-37 {
+  font-size: 154rpx;
+}
+
+.gap-38 {
+  gap: 152rpx;
+}
+
+.fs-38 {
+  font-size: 158rpx;
+}
+
+.gap-39 {
+  gap: 156rpx;
+}
+
+.fs-39 {
+  font-size: 162rpx;
+}
+
+.gap-40 {
+  gap: 160rpx;
+}
+
+.fs-40 {
+  font-size: 166rpx;
+}
+
+.gap-41 {
+  gap: 164rpx;
+}
+
+.fs-41 {
+  font-size: 170rpx;
+}
+
+.gap-42 {
+  gap: 168rpx;
+}
+
+.fs-42 {
+  font-size: 174rpx;
+}
+
+.gap-43 {
+  gap: 172rpx;
+}
+
+.fs-43 {
+  font-size: 178rpx;
+}
+
+.gap-44 {
+  gap: 176rpx;
+}
+
+.fs-44 {
+  font-size: 182rpx;
+}
+
+.gap-45 {
+  gap: 180rpx;
+}
+
+.fs-45 {
+  font-size: 186rpx;
+}
+
+.gap-46 {
+  gap: 184rpx;
+}
+
+.fs-46 {
+  font-size: 190rpx;
+}
+
+.gap-47 {
+  gap: 188rpx;
+}
+
+.fs-47 {
+  font-size: 194rpx;
+}
+
+.gap-48 {
+  gap: 192rpx;
+}
+
+.fs-48 {
+  font-size: 198rpx;
+}
+
+.gap-49 {
+  gap: 196rpx;
+}
+
+.fs-49 {
+  font-size: 202rpx;
+}
+
+.gap-50 {
+  gap: 200rpx;
+}
+
+.fs-50 {
+  font-size: 206rpx;
+}
+
+.gap-51 {
+  gap: 204rpx;
+}
+
+.fs-51 {
+  font-size: 210rpx;
+}
+
+.gap-52 {
+  gap: 208rpx;
+}
+
+.fs-52 {
+  font-size: 214rpx;
+}
+
+.gap-53 {
+  gap: 212rpx;
+}
+
+.fs-53 {
+  font-size: 218rpx;
+}
+
+.gap-54 {
+  gap: 216rpx;
+}
+
+.fs-54 {
+  font-size: 222rpx;
+}
+
+.gap-55 {
+  gap: 220rpx;
+}
+
+.fs-55 {
+  font-size: 226rpx;
+}
+
+.gap-56 {
+  gap: 224rpx;
+}
+
+.fs-56 {
+  font-size: 230rpx;
+}
+
+.gap-57 {
+  gap: 228rpx;
+}
+
+.fs-57 {
+  font-size: 234rpx;
+}
+
+.gap-58 {
+  gap: 232rpx;
+}
+
+.fs-58 {
+  font-size: 238rpx;
+}
+
+.gap-59 {
+  gap: 236rpx;
+}
+
+.fs-59 {
+  font-size: 242rpx;
+}
+
+.gap-60 {
+  gap: 240rpx;
+}
+
+.fs-60 {
+  font-size: 246rpx;
+}
+
+.gap-61 {
+  gap: 244rpx;
+}
+
+.fs-61 {
+  font-size: 250rpx;
+}
+
+.gap-62 {
+  gap: 248rpx;
+}
+
+.fs-62 {
+  font-size: 254rpx;
+}
+
+.gap-63 {
+  gap: 252rpx;
+}
+
+.fs-63 {
+  font-size: 258rpx;
+}
+
+.gap-64 {
+  gap: 256rpx;
+}
+
+.fs-64 {
+  font-size: 262rpx;
+}
+
+.pt-1,
+.py-1,
+.p-1 {
+  padding-top: 4rpx;
+}
+
+.pr-1,
+.px-1,
+.p-1 {
+  padding-right: 4rpx;
+}
+
+.pb-1,
+.py-1,
+.p-1 {
+  padding-bottom: 4rpx;
+}
+
+.pl-1,
+.px-1,
+.p-1 {
+  padding-left: 4rpx;
+}
+
+.mt-1,
+.my-1,
+.m-1 {
+  margin-top: 4rpx;
+}
+
+.mr-1,
+.mx-1,
+.m-1 {
+  margin-right: 4rpx;
+}
+
+.mb-1,
+.my-1,
+.m-1 {
+  margin-bottom: 4rpx;
+}
+
+.ml-1,
+.mx-1,
+.m-1 {
+  margin-left: 4rpx;
+}
+
+.pt-2,
+.py-2,
+.p-2 {
+  padding-top: 8rpx;
+}
+
+.pr-2,
+.px-2,
+.p-2 {
+  padding-right: 8rpx;
+}
+
+.pb-2,
+.py-2,
+.p-2 {
+  padding-bottom: 8rpx;
+}
+
+.pl-2,
+.px-2,
+.p-2 {
+  padding-left: 8rpx;
+}
+
+.mt-2,
+.my-2,
+.m-2 {
+  margin-top: 8rpx;
+}
+
+.mr-2,
+.mx-2,
+.m-2 {
+  margin-right: 8rpx;
+}
+
+.mb-2,
+.my-2,
+.m-2 {
+  margin-bottom: 8rpx;
+}
+
+.ml-2,
+.mx-2,
+.m-2 {
+  margin-left: 8rpx;
+}
+
+.pt-3,
+.py-3,
+.p-3 {
+  padding-top: 12rpx;
+}
+
+.pr-3,
+.px-3,
+.p-3 {
+  padding-right: 12rpx;
+}
+
+.pb-3,
+.py-3,
+.p-3 {
+  padding-bottom: 12rpx;
+}
+
+.pl-3,
+.px-3,
+.p-3 {
+  padding-left: 12rpx;
+}
+
+.mt-3,
+.my-3,
+.m-3 {
+  margin-top: 12rpx;
+}
+
+.mr-3,
+.mx-3,
+.m-3 {
+  margin-right: 12rpx;
+}
+
+.mb-3,
+.my-3,
+.m-3 {
+  margin-bottom: 12rpx;
+}
+
+.ml-3,
+.mx-3,
+.m-3 {
+  margin-left: 12rpx;
+}
+
+.pt-4,
+.py-4,
+.p-4 {
+  padding-top: 16rpx;
+}
+
+.pr-4,
+.px-4,
+.p-4 {
+  padding-right: 16rpx;
+}
+
+.pb-4,
+.py-4,
+.p-4 {
+  padding-bottom: 16rpx;
+}
+
+.pl-4,
+.px-4,
+.p-4 {
+  padding-left: 16rpx;
+}
+
+.mt-4,
+.my-4,
+.m-4 {
+  margin-top: 16rpx;
+}
+
+.mr-4,
+.mx-4,
+.m-4 {
+  margin-right: 16rpx;
+}
+
+.mb-4,
+.my-4,
+.m-4 {
+  margin-bottom: 16rpx;
+}
+
+.ml-4,
+.mx-4,
+.m-4 {
+  margin-left: 16rpx;
+}
+
+.pt-5,
+.py-5,
+.p-5 {
+  padding-top: 20rpx;
+}
+
+.pr-5,
+.px-5,
+.p-5 {
+  padding-right: 20rpx;
+}
+
+.pb-5,
+.py-5,
+.p-5 {
+  padding-bottom: 20rpx;
+}
+
+.pl-5,
+.px-5,
+.p-5 {
+  padding-left: 20rpx;
+}
+
+.mt-5,
+.my-5,
+.m-5 {
+  margin-top: 20rpx;
+}
+
+.mr-5,
+.mx-5,
+.m-5 {
+  margin-right: 20rpx;
+}
+
+.mb-5,
+.my-5,
+.m-5 {
+  margin-bottom: 20rpx;
+}
+
+.ml-5,
+.mx-5,
+.m-5 {
+  margin-left: 20rpx;
+}
+
+.pt-6,
+.py-6,
+.p-6 {
+  padding-top: 24rpx;
+}
+
+.pr-6,
+.px-6,
+.p-6 {
+  padding-right: 24rpx;
+}
+
+.pb-6,
+.py-6,
+.p-6 {
+  padding-bottom: 24rpx;
+}
+
+.pl-6,
+.px-6,
+.p-6 {
+  padding-left: 24rpx;
+}
+
+.mt-6,
+.my-6,
+.m-6 {
+  margin-top: 24rpx;
+}
+
+.mr-6,
+.mx-6,
+.m-6 {
+  margin-right: 24rpx;
+}
+
+.mb-6,
+.my-6,
+.m-6 {
+  margin-bottom: 24rpx;
+}
+
+.ml-6,
+.mx-6,
+.m-6 {
+  margin-left: 24rpx;
+}
+
+.pt-7,
+.py-7,
+.p-7 {
+  padding-top: 28rpx;
+}
+
+.pr-7,
+.px-7,
+.p-7 {
+  padding-right: 28rpx;
+}
+
+.pb-7,
+.py-7,
+.p-7 {
+  padding-bottom: 28rpx;
+}
+
+.pl-7,
+.px-7,
+.p-7 {
+  padding-left: 28rpx;
+}
+
+.mt-7,
+.my-7,
+.m-7 {
+  margin-top: 28rpx;
+}
+
+.mr-7,
+.mx-7,
+.m-7 {
+  margin-right: 28rpx;
+}
+
+.mb-7,
+.my-7,
+.m-7 {
+  margin-bottom: 28rpx;
+}
+
+.ml-7,
+.mx-7,
+.m-7 {
+  margin-left: 28rpx;
+}
+
+.pt-8,
+.py-8,
+.p-8 {
+  padding-top: 32rpx;
+}
+
+.pr-8,
+.px-8,
+.p-8 {
+  padding-right: 32rpx;
+}
+
+.pb-8,
+.py-8,
+.p-8 {
+  padding-bottom: 32rpx;
+}
+
+.pl-8,
+.px-8,
+.p-8 {
+  padding-left: 32rpx;
+}
+
+.mt-8,
+.my-8,
+.m-8 {
+  margin-top: 32rpx;
+}
+
+.mr-8,
+.mx-8,
+.m-8 {
+  margin-right: 32rpx;
+}
+
+.mb-8,
+.my-8,
+.m-8 {
+  margin-bottom: 32rpx;
+}
+
+.ml-8,
+.mx-8,
+.m-8 {
+  margin-left: 32rpx;
+}
+
+.pt-9,
+.py-9,
+.p-9 {
+  padding-top: 36rpx;
+}
+
+.pr-9,
+.px-9,
+.p-9 {
+  padding-right: 36rpx;
+}
+
+.pb-9,
+.py-9,
+.p-9 {
+  padding-bottom: 36rpx;
+}
+
+.pl-9,
+.px-9,
+.p-9 {
+  padding-left: 36rpx;
+}
+
+.mt-9,
+.my-9,
+.m-9 {
+  margin-top: 36rpx;
+}
+
+.mr-9,
+.mx-9,
+.m-9 {
+  margin-right: 36rpx;
+}
+
+.mb-9,
+.my-9,
+.m-9 {
+  margin-bottom: 36rpx;
+}
+
+.ml-9,
+.mx-9,
+.m-9 {
+  margin-left: 36rpx;
+}
+
+.pt-10,
+.py-10,
+.p-10 {
+  padding-top: 40rpx;
+}
+
+.pr-10,
+.px-10,
+.p-10 {
+  padding-right: 40rpx;
+}
+
+.pb-10,
+.py-10,
+.p-10 {
+  padding-bottom: 40rpx;
+}
+
+.pl-10,
+.px-10,
+.p-10 {
+  padding-left: 40rpx;
+}
+
+.mt-10,
+.my-10,
+.m-10 {
+  margin-top: 40rpx;
+}
+
+.mr-10,
+.mx-10,
+.m-10 {
+  margin-right: 40rpx;
+}
+
+.mb-10,
+.my-10,
+.m-10 {
+  margin-bottom: 40rpx;
+}
+
+.ml-10,
+.mx-10,
+.m-10 {
+  margin-left: 40rpx;
+}
+
+.pt-11,
+.py-11,
+.p-11 {
+  padding-top: 44rpx;
+}
+
+.pr-11,
+.px-11,
+.p-11 {
+  padding-right: 44rpx;
+}
+
+.pb-11,
+.py-11,
+.p-11 {
+  padding-bottom: 44rpx;
+}
+
+.pl-11,
+.px-11,
+.p-11 {
+  padding-left: 44rpx;
+}
+
+.mt-11,
+.my-11,
+.m-11 {
+  margin-top: 44rpx;
+}
+
+.mr-11,
+.mx-11,
+.m-11 {
+  margin-right: 44rpx;
+}
+
+.mb-11,
+.my-11,
+.m-11 {
+  margin-bottom: 44rpx;
+}
+
+.ml-11,
+.mx-11,
+.m-11 {
+  margin-left: 44rpx;
+}
+
+.pt-12,
+.py-12,
+.p-12 {
+  padding-top: 48rpx;
+}
+
+.pr-12,
+.px-12,
+.p-12 {
+  padding-right: 48rpx;
+}
+
+.pb-12,
+.py-12,
+.p-12 {
+  padding-bottom: 48rpx;
+}
+
+.pl-12,
+.px-12,
+.p-12 {
+  padding-left: 48rpx;
+}
+
+.mt-12,
+.my-12,
+.m-12 {
+  margin-top: 48rpx;
+}
+
+.mr-12,
+.mx-12,
+.m-12 {
+  margin-right: 48rpx;
+}
+
+.mb-12,
+.my-12,
+.m-12 {
+  margin-bottom: 48rpx;
+}
+
+.ml-12,
+.mx-12,
+.m-12 {
+  margin-left: 48rpx;
+}
+
+.pt-13,
+.py-13,
+.p-13 {
+  padding-top: 52rpx;
+}
+
+.pr-13,
+.px-13,
+.p-13 {
+  padding-right: 52rpx;
+}
+
+.pb-13,
+.py-13,
+.p-13 {
+  padding-bottom: 52rpx;
+}
+
+.pl-13,
+.px-13,
+.p-13 {
+  padding-left: 52rpx;
+}
+
+.mt-13,
+.my-13,
+.m-13 {
+  margin-top: 52rpx;
+}
+
+.mr-13,
+.mx-13,
+.m-13 {
+  margin-right: 52rpx;
+}
+
+.mb-13,
+.my-13,
+.m-13 {
+  margin-bottom: 52rpx;
+}
+
+.ml-13,
+.mx-13,
+.m-13 {
+  margin-left: 52rpx;
+}
+
+.pt-14,
+.py-14,
+.p-14 {
+  padding-top: 56rpx;
+}
+
+.pr-14,
+.px-14,
+.p-14 {
+  padding-right: 56rpx;
+}
+
+.pb-14,
+.py-14,
+.p-14 {
+  padding-bottom: 56rpx;
+}
+
+.pl-14,
+.px-14,
+.p-14 {
+  padding-left: 56rpx;
+}
+
+.mt-14,
+.my-14,
+.m-14 {
+  margin-top: 56rpx;
+}
+
+.mr-14,
+.mx-14,
+.m-14 {
+  margin-right: 56rpx;
+}
+
+.mb-14,
+.my-14,
+.m-14 {
+  margin-bottom: 56rpx;
+}
+
+.ml-14,
+.mx-14,
+.m-14 {
+  margin-left: 56rpx;
+}
+
+.pt-15,
+.py-15,
+.p-15 {
+  padding-top: 60rpx;
+}
+
+.pr-15,
+.px-15,
+.p-15 {
+  padding-right: 60rpx;
+}
+
+.pb-15,
+.py-15,
+.p-15 {
+  padding-bottom: 60rpx;
+}
+
+.pl-15,
+.px-15,
+.p-15 {
+  padding-left: 60rpx;
+}
+
+.mt-15,
+.my-15,
+.m-15 {
+  margin-top: 60rpx;
+}
+
+.mr-15,
+.mx-15,
+.m-15 {
+  margin-right: 60rpx;
+}
+
+.mb-15,
+.my-15,
+.m-15 {
+  margin-bottom: 60rpx;
+}
+
+.ml-15,
+.mx-15,
+.m-15 {
+  margin-left: 60rpx;
+}
+
+.pt-16,
+.py-16,
+.p-16 {
+  padding-top: 64rpx;
+}
+
+.pr-16,
+.px-16,
+.p-16 {
+  padding-right: 64rpx;
+}
+
+.pb-16,
+.py-16,
+.p-16 {
+  padding-bottom: 64rpx;
+}
+
+.pl-16,
+.px-16,
+.p-16 {
+  padding-left: 64rpx;
+}
+
+.mt-16,
+.my-16,
+.m-16 {
+  margin-top: 64rpx;
+}
+
+.mr-16,
+.mx-16,
+.m-16 {
+  margin-right: 64rpx;
+}
+
+.mb-16,
+.my-16,
+.m-16 {
+  margin-bottom: 64rpx;
+}
+
+.ml-16,
+.mx-16,
+.m-16 {
+  margin-left: 64rpx;
+}
+
+.pt-17,
+.py-17,
+.p-17 {
+  padding-top: 68rpx;
+}
+
+.pr-17,
+.px-17,
+.p-17 {
+  padding-right: 68rpx;
+}
+
+.pb-17,
+.py-17,
+.p-17 {
+  padding-bottom: 68rpx;
+}
+
+.pl-17,
+.px-17,
+.p-17 {
+  padding-left: 68rpx;
+}
+
+.mt-17,
+.my-17,
+.m-17 {
+  margin-top: 68rpx;
+}
+
+.mr-17,
+.mx-17,
+.m-17 {
+  margin-right: 68rpx;
+}
+
+.mb-17,
+.my-17,
+.m-17 {
+  margin-bottom: 68rpx;
+}
+
+.ml-17,
+.mx-17,
+.m-17 {
+  margin-left: 68rpx;
+}
+
+.pt-18,
+.py-18,
+.p-18 {
+  padding-top: 72rpx;
+}
+
+.pr-18,
+.px-18,
+.p-18 {
+  padding-right: 72rpx;
+}
+
+.pb-18,
+.py-18,
+.p-18 {
+  padding-bottom: 72rpx;
+}
+
+.pl-18,
+.px-18,
+.p-18 {
+  padding-left: 72rpx;
+}
+
+.mt-18,
+.my-18,
+.m-18 {
+  margin-top: 72rpx;
+}
+
+.mr-18,
+.mx-18,
+.m-18 {
+  margin-right: 72rpx;
+}
+
+.mb-18,
+.my-18,
+.m-18 {
+  margin-bottom: 72rpx;
+}
+
+.ml-18,
+.mx-18,
+.m-18 {
+  margin-left: 72rpx;
+}
+
+.pt-19,
+.py-19,
+.p-19 {
+  padding-top: 76rpx;
+}
+
+.pr-19,
+.px-19,
+.p-19 {
+  padding-right: 76rpx;
+}
+
+.pb-19,
+.py-19,
+.p-19 {
+  padding-bottom: 76rpx;
+}
+
+.pl-19,
+.px-19,
+.p-19 {
+  padding-left: 76rpx;
+}
+
+.mt-19,
+.my-19,
+.m-19 {
+  margin-top: 76rpx;
+}
+
+.mr-19,
+.mx-19,
+.m-19 {
+  margin-right: 76rpx;
+}
+
+.mb-19,
+.my-19,
+.m-19 {
+  margin-bottom: 76rpx;
+}
+
+.ml-19,
+.mx-19,
+.m-19 {
+  margin-left: 76rpx;
+}
+
+.pt-20,
+.py-20,
+.p-20 {
+  padding-top: 80rpx;
+}
+
+.pr-20,
+.px-20,
+.p-20 {
+  padding-right: 80rpx;
+}
+
+.pb-20,
+.py-20,
+.p-20 {
+  padding-bottom: 80rpx;
+}
+
+.pl-20,
+.px-20,
+.p-20 {
+  padding-left: 80rpx;
+}
+
+.mt-20,
+.my-20,
+.m-20 {
+  margin-top: 80rpx;
+}
+
+.mr-20,
+.mx-20,
+.m-20 {
+  margin-right: 80rpx;
+}
+
+.mb-20,
+.my-20,
+.m-20 {
+  margin-bottom: 80rpx;
+}
+
+.ml-20,
+.mx-20,
+.m-20 {
+  margin-left: 80rpx;
+}
+
+.pt-21,
+.py-21,
+.p-21 {
+  padding-top: 84rpx;
+}
+
+.pr-21,
+.px-21,
+.p-21 {
+  padding-right: 84rpx;
+}
+
+.pb-21,
+.py-21,
+.p-21 {
+  padding-bottom: 84rpx;
+}
+
+.pl-21,
+.px-21,
+.p-21 {
+  padding-left: 84rpx;
+}
+
+.mt-21,
+.my-21,
+.m-21 {
+  margin-top: 84rpx;
+}
+
+.mr-21,
+.mx-21,
+.m-21 {
+  margin-right: 84rpx;
+}
+
+.mb-21,
+.my-21,
+.m-21 {
+  margin-bottom: 84rpx;
+}
+
+.ml-21,
+.mx-21,
+.m-21 {
+  margin-left: 84rpx;
+}
+
+.pt-22,
+.py-22,
+.p-22 {
+  padding-top: 88rpx;
+}
+
+.pr-22,
+.px-22,
+.p-22 {
+  padding-right: 88rpx;
+}
+
+.pb-22,
+.py-22,
+.p-22 {
+  padding-bottom: 88rpx;
+}
+
+.pl-22,
+.px-22,
+.p-22 {
+  padding-left: 88rpx;
+}
+
+.mt-22,
+.my-22,
+.m-22 {
+  margin-top: 88rpx;
+}
+
+.mr-22,
+.mx-22,
+.m-22 {
+  margin-right: 88rpx;
+}
+
+.mb-22,
+.my-22,
+.m-22 {
+  margin-bottom: 88rpx;
+}
+
+.ml-22,
+.mx-22,
+.m-22 {
+  margin-left: 88rpx;
+}
+
+.pt-23,
+.py-23,
+.p-23 {
+  padding-top: 92rpx;
+}
+
+.pr-23,
+.px-23,
+.p-23 {
+  padding-right: 92rpx;
+}
+
+.pb-23,
+.py-23,
+.p-23 {
+  padding-bottom: 92rpx;
+}
+
+.pl-23,
+.px-23,
+.p-23 {
+  padding-left: 92rpx;
+}
+
+.mt-23,
+.my-23,
+.m-23 {
+  margin-top: 92rpx;
+}
+
+.mr-23,
+.mx-23,
+.m-23 {
+  margin-right: 92rpx;
+}
+
+.mb-23,
+.my-23,
+.m-23 {
+  margin-bottom: 92rpx;
+}
+
+.ml-23,
+.mx-23,
+.m-23 {
+  margin-left: 92rpx;
+}
+
+.pt-24,
+.py-24,
+.p-24 {
+  padding-top: 96rpx;
+}
+
+.pr-24,
+.px-24,
+.p-24 {
+  padding-right: 96rpx;
+}
+
+.pb-24,
+.py-24,
+.p-24 {
+  padding-bottom: 96rpx;
+}
+
+.pl-24,
+.px-24,
+.p-24 {
+  padding-left: 96rpx;
+}
+
+.mt-24,
+.my-24,
+.m-24 {
+  margin-top: 96rpx;
+}
+
+.mr-24,
+.mx-24,
+.m-24 {
+  margin-right: 96rpx;
+}
+
+.mb-24,
+.my-24,
+.m-24 {
+  margin-bottom: 96rpx;
+}
+
+.ml-24,
+.mx-24,
+.m-24 {
+  margin-left: 96rpx;
+}
+
+.pt-25,
+.py-25,
+.p-25 {
+  padding-top: 100rpx;
+}
+
+.pr-25,
+.px-25,
+.p-25 {
+  padding-right: 100rpx;
+}
+
+.pb-25,
+.py-25,
+.p-25 {
+  padding-bottom: 100rpx;
+}
+
+.pl-25,
+.px-25,
+.p-25 {
+  padding-left: 100rpx;
+}
+
+.mt-25,
+.my-25,
+.m-25 {
+  margin-top: 100rpx;
+}
+
+.mr-25,
+.mx-25,
+.m-25 {
+  margin-right: 100rpx;
+}
+
+.mb-25,
+.my-25,
+.m-25 {
+  margin-bottom: 100rpx;
+}
+
+.ml-25,
+.mx-25,
+.m-25 {
+  margin-left: 100rpx;
+}
+
+.pt-26,
+.py-26,
+.p-26 {
+  padding-top: 104rpx;
+}
+
+.pr-26,
+.px-26,
+.p-26 {
+  padding-right: 104rpx;
+}
+
+.pb-26,
+.py-26,
+.p-26 {
+  padding-bottom: 104rpx;
+}
+
+.pl-26,
+.px-26,
+.p-26 {
+  padding-left: 104rpx;
+}
+
+.mt-26,
+.my-26,
+.m-26 {
+  margin-top: 104rpx;
+}
+
+.mr-26,
+.mx-26,
+.m-26 {
+  margin-right: 104rpx;
+}
+
+.mb-26,
+.my-26,
+.m-26 {
+  margin-bottom: 104rpx;
+}
+
+.ml-26,
+.mx-26,
+.m-26 {
+  margin-left: 104rpx;
+}
+
+.pt-27,
+.py-27,
+.p-27 {
+  padding-top: 108rpx;
+}
+
+.pr-27,
+.px-27,
+.p-27 {
+  padding-right: 108rpx;
+}
+
+.pb-27,
+.py-27,
+.p-27 {
+  padding-bottom: 108rpx;
+}
+
+.pl-27,
+.px-27,
+.p-27 {
+  padding-left: 108rpx;
+}
+
+.mt-27,
+.my-27,
+.m-27 {
+  margin-top: 108rpx;
+}
+
+.mr-27,
+.mx-27,
+.m-27 {
+  margin-right: 108rpx;
+}
+
+.mb-27,
+.my-27,
+.m-27 {
+  margin-bottom: 108rpx;
+}
+
+.ml-27,
+.mx-27,
+.m-27 {
+  margin-left: 108rpx;
+}
+
+.pt-28,
+.py-28,
+.p-28 {
+  padding-top: 112rpx;
+}
+
+.pr-28,
+.px-28,
+.p-28 {
+  padding-right: 112rpx;
+}
+
+.pb-28,
+.py-28,
+.p-28 {
+  padding-bottom: 112rpx;
+}
+
+.pl-28,
+.px-28,
+.p-28 {
+  padding-left: 112rpx;
+}
+
+.mt-28,
+.my-28,
+.m-28 {
+  margin-top: 112rpx;
+}
+
+.mr-28,
+.mx-28,
+.m-28 {
+  margin-right: 112rpx;
+}
+
+.mb-28,
+.my-28,
+.m-28 {
+  margin-bottom: 112rpx;
+}
+
+.ml-28,
+.mx-28,
+.m-28 {
+  margin-left: 112rpx;
+}
+
+.pt-29,
+.py-29,
+.p-29 {
+  padding-top: 116rpx;
+}
+
+.pr-29,
+.px-29,
+.p-29 {
+  padding-right: 116rpx;
+}
+
+.pb-29,
+.py-29,
+.p-29 {
+  padding-bottom: 116rpx;
+}
+
+.pl-29,
+.px-29,
+.p-29 {
+  padding-left: 116rpx;
+}
+
+.mt-29,
+.my-29,
+.m-29 {
+  margin-top: 116rpx;
+}
+
+.mr-29,
+.mx-29,
+.m-29 {
+  margin-right: 116rpx;
+}
+
+.mb-29,
+.my-29,
+.m-29 {
+  margin-bottom: 116rpx;
+}
+
+.ml-29,
+.mx-29,
+.m-29 {
+  margin-left: 116rpx;
+}
+
+.pt-30,
+.py-30,
+.p-30 {
+  padding-top: 120rpx;
+}
+
+.pr-30,
+.px-30,
+.p-30 {
+  padding-right: 120rpx;
+}
+
+.pb-30,
+.py-30,
+.p-30 {
+  padding-bottom: 120rpx;
+}
+
+.pl-30,
+.px-30,
+.p-30 {
+  padding-left: 120rpx;
+}
+
+.mt-30,
+.my-30,
+.m-30 {
+  margin-top: 120rpx;
+}
+
+.mr-30,
+.mx-30,
+.m-30 {
+  margin-right: 120rpx;
+}
+
+.mb-30,
+.my-30,
+.m-30 {
+  margin-bottom: 120rpx;
+}
+
+.ml-30,
+.mx-30,
+.m-30 {
+  margin-left: 120rpx;
+}
+
+.pt-31,
+.py-31,
+.p-31 {
+  padding-top: 124rpx;
+}
+
+.pr-31,
+.px-31,
+.p-31 {
+  padding-right: 124rpx;
+}
+
+.pb-31,
+.py-31,
+.p-31 {
+  padding-bottom: 124rpx;
+}
+
+.pl-31,
+.px-31,
+.p-31 {
+  padding-left: 124rpx;
+}
+
+.mt-31,
+.my-31,
+.m-31 {
+  margin-top: 124rpx;
+}
+
+.mr-31,
+.mx-31,
+.m-31 {
+  margin-right: 124rpx;
+}
+
+.mb-31,
+.my-31,
+.m-31 {
+  margin-bottom: 124rpx;
+}
+
+.ml-31,
+.mx-31,
+.m-31 {
+  margin-left: 124rpx;
+}
+
+.pt-32,
+.py-32,
+.p-32 {
+  padding-top: 128rpx;
+}
+
+.pr-32,
+.px-32,
+.p-32 {
+  padding-right: 128rpx;
+}
+
+.pb-32,
+.py-32,
+.p-32 {
+  padding-bottom: 128rpx;
+}
+
+.pl-32,
+.px-32,
+.p-32 {
+  padding-left: 128rpx;
+}
+
+.mt-32,
+.my-32,
+.m-32 {
+  margin-top: 128rpx;
+}
+
+.mr-32,
+.mx-32,
+.m-32 {
+  margin-right: 128rpx;
+}
+
+.mb-32,
+.my-32,
+.m-32 {
+  margin-bottom: 128rpx;
+}
+
+.ml-32,
+.mx-32,
+.m-32 {
+  margin-left: 128rpx;
+}
+
+.pt-33,
+.py-33,
+.p-33 {
+  padding-top: 132rpx;
+}
+
+.pr-33,
+.px-33,
+.p-33 {
+  padding-right: 132rpx;
+}
+
+.pb-33,
+.py-33,
+.p-33 {
+  padding-bottom: 132rpx;
+}
+
+.pl-33,
+.px-33,
+.p-33 {
+  padding-left: 132rpx;
+}
+
+.mt-33,
+.my-33,
+.m-33 {
+  margin-top: 132rpx;
+}
+
+.mr-33,
+.mx-33,
+.m-33 {
+  margin-right: 132rpx;
+}
+
+.mb-33,
+.my-33,
+.m-33 {
+  margin-bottom: 132rpx;
+}
+
+.ml-33,
+.mx-33,
+.m-33 {
+  margin-left: 132rpx;
+}
+
+.pt-34,
+.py-34,
+.p-34 {
+  padding-top: 136rpx;
+}
+
+.pr-34,
+.px-34,
+.p-34 {
+  padding-right: 136rpx;
+}
+
+.pb-34,
+.py-34,
+.p-34 {
+  padding-bottom: 136rpx;
+}
+
+.pl-34,
+.px-34,
+.p-34 {
+  padding-left: 136rpx;
+}
+
+.mt-34,
+.my-34,
+.m-34 {
+  margin-top: 136rpx;
+}
+
+.mr-34,
+.mx-34,
+.m-34 {
+  margin-right: 136rpx;
+}
+
+.mb-34,
+.my-34,
+.m-34 {
+  margin-bottom: 136rpx;
+}
+
+.ml-34,
+.mx-34,
+.m-34 {
+  margin-left: 136rpx;
+}
+
+.pt-35,
+.py-35,
+.p-35 {
+  padding-top: 140rpx;
+}
+
+.pr-35,
+.px-35,
+.p-35 {
+  padding-right: 140rpx;
+}
+
+.pb-35,
+.py-35,
+.p-35 {
+  padding-bottom: 140rpx;
+}
+
+.pl-35,
+.px-35,
+.p-35 {
+  padding-left: 140rpx;
+}
+
+.mt-35,
+.my-35,
+.m-35 {
+  margin-top: 140rpx;
+}
+
+.mr-35,
+.mx-35,
+.m-35 {
+  margin-right: 140rpx;
+}
+
+.mb-35,
+.my-35,
+.m-35 {
+  margin-bottom: 140rpx;
+}
+
+.ml-35,
+.mx-35,
+.m-35 {
+  margin-left: 140rpx;
+}
+
+.pt-36,
+.py-36,
+.p-36 {
+  padding-top: 144rpx;
+}
+
+.pr-36,
+.px-36,
+.p-36 {
+  padding-right: 144rpx;
+}
+
+.pb-36,
+.py-36,
+.p-36 {
+  padding-bottom: 144rpx;
+}
+
+.pl-36,
+.px-36,
+.p-36 {
+  padding-left: 144rpx;
+}
+
+.mt-36,
+.my-36,
+.m-36 {
+  margin-top: 144rpx;
+}
+
+.mr-36,
+.mx-36,
+.m-36 {
+  margin-right: 144rpx;
+}
+
+.mb-36,
+.my-36,
+.m-36 {
+  margin-bottom: 144rpx;
+}
+
+.ml-36,
+.mx-36,
+.m-36 {
+  margin-left: 144rpx;
+}
+
+.pt-37,
+.py-37,
+.p-37 {
+  padding-top: 148rpx;
+}
+
+.pr-37,
+.px-37,
+.p-37 {
+  padding-right: 148rpx;
+}
+
+.pb-37,
+.py-37,
+.p-37 {
+  padding-bottom: 148rpx;
+}
+
+.pl-37,
+.px-37,
+.p-37 {
+  padding-left: 148rpx;
+}
+
+.mt-37,
+.my-37,
+.m-37 {
+  margin-top: 148rpx;
+}
+
+.mr-37,
+.mx-37,
+.m-37 {
+  margin-right: 148rpx;
+}
+
+.mb-37,
+.my-37,
+.m-37 {
+  margin-bottom: 148rpx;
+}
+
+.ml-37,
+.mx-37,
+.m-37 {
+  margin-left: 148rpx;
+}
+
+.pt-38,
+.py-38,
+.p-38 {
+  padding-top: 152rpx;
+}
+
+.pr-38,
+.px-38,
+.p-38 {
+  padding-right: 152rpx;
+}
+
+.pb-38,
+.py-38,
+.p-38 {
+  padding-bottom: 152rpx;
+}
+
+.pl-38,
+.px-38,
+.p-38 {
+  padding-left: 152rpx;
+}
+
+.mt-38,
+.my-38,
+.m-38 {
+  margin-top: 152rpx;
+}
+
+.mr-38,
+.mx-38,
+.m-38 {
+  margin-right: 152rpx;
+}
+
+.mb-38,
+.my-38,
+.m-38 {
+  margin-bottom: 152rpx;
+}
+
+.ml-38,
+.mx-38,
+.m-38 {
+  margin-left: 152rpx;
+}
+
+.pt-39,
+.py-39,
+.p-39 {
+  padding-top: 156rpx;
+}
+
+.pr-39,
+.px-39,
+.p-39 {
+  padding-right: 156rpx;
+}
+
+.pb-39,
+.py-39,
+.p-39 {
+  padding-bottom: 156rpx;
+}
+
+.pl-39,
+.px-39,
+.p-39 {
+  padding-left: 156rpx;
+}
+
+.mt-39,
+.my-39,
+.m-39 {
+  margin-top: 156rpx;
+}
+
+.mr-39,
+.mx-39,
+.m-39 {
+  margin-right: 156rpx;
+}
+
+.mb-39,
+.my-39,
+.m-39 {
+  margin-bottom: 156rpx;
+}
+
+.ml-39,
+.mx-39,
+.m-39 {
+  margin-left: 156rpx;
+}
+
+.pt-40,
+.py-40,
+.p-40 {
+  padding-top: 160rpx;
+}
+
+.pr-40,
+.px-40,
+.p-40 {
+  padding-right: 160rpx;
+}
+
+.pb-40,
+.py-40,
+.p-40 {
+  padding-bottom: 160rpx;
+}
+
+.pl-40,
+.px-40,
+.p-40 {
+  padding-left: 160rpx;
+}
+
+.mt-40,
+.my-40,
+.m-40 {
+  margin-top: 160rpx;
+}
+
+.mr-40,
+.mx-40,
+.m-40 {
+  margin-right: 160rpx;
+}
+
+.mb-40,
+.my-40,
+.m-40 {
+  margin-bottom: 160rpx;
+}
+
+.ml-40,
+.mx-40,
+.m-40 {
+  margin-left: 160rpx;
+}
+
+.pt-41,
+.py-41,
+.p-41 {
+  padding-top: 164rpx;
+}
+
+.pr-41,
+.px-41,
+.p-41 {
+  padding-right: 164rpx;
+}
+
+.pb-41,
+.py-41,
+.p-41 {
+  padding-bottom: 164rpx;
+}
+
+.pl-41,
+.px-41,
+.p-41 {
+  padding-left: 164rpx;
+}
+
+.mt-41,
+.my-41,
+.m-41 {
+  margin-top: 164rpx;
+}
+
+.mr-41,
+.mx-41,
+.m-41 {
+  margin-right: 164rpx;
+}
+
+.mb-41,
+.my-41,
+.m-41 {
+  margin-bottom: 164rpx;
+}
+
+.ml-41,
+.mx-41,
+.m-41 {
+  margin-left: 164rpx;
+}
+
+.pt-42,
+.py-42,
+.p-42 {
+  padding-top: 168rpx;
+}
+
+.pr-42,
+.px-42,
+.p-42 {
+  padding-right: 168rpx;
+}
+
+.pb-42,
+.py-42,
+.p-42 {
+  padding-bottom: 168rpx;
+}
+
+.pl-42,
+.px-42,
+.p-42 {
+  padding-left: 168rpx;
+}
+
+.mt-42,
+.my-42,
+.m-42 {
+  margin-top: 168rpx;
+}
+
+.mr-42,
+.mx-42,
+.m-42 {
+  margin-right: 168rpx;
+}
+
+.mb-42,
+.my-42,
+.m-42 {
+  margin-bottom: 168rpx;
+}
+
+.ml-42,
+.mx-42,
+.m-42 {
+  margin-left: 168rpx;
+}
+
+.pt-43,
+.py-43,
+.p-43 {
+  padding-top: 172rpx;
+}
+
+.pr-43,
+.px-43,
+.p-43 {
+  padding-right: 172rpx;
+}
+
+.pb-43,
+.py-43,
+.p-43 {
+  padding-bottom: 172rpx;
+}
+
+.pl-43,
+.px-43,
+.p-43 {
+  padding-left: 172rpx;
+}
+
+.mt-43,
+.my-43,
+.m-43 {
+  margin-top: 172rpx;
+}
+
+.mr-43,
+.mx-43,
+.m-43 {
+  margin-right: 172rpx;
+}
+
+.mb-43,
+.my-43,
+.m-43 {
+  margin-bottom: 172rpx;
+}
+
+.ml-43,
+.mx-43,
+.m-43 {
+  margin-left: 172rpx;
+}
+
+.pt-44,
+.py-44,
+.p-44 {
+  padding-top: 176rpx;
+}
+
+.pr-44,
+.px-44,
+.p-44 {
+  padding-right: 176rpx;
+}
+
+.pb-44,
+.py-44,
+.p-44 {
+  padding-bottom: 176rpx;
+}
+
+.pl-44,
+.px-44,
+.p-44 {
+  padding-left: 176rpx;
+}
+
+.mt-44,
+.my-44,
+.m-44 {
+  margin-top: 176rpx;
+}
+
+.mr-44,
+.mx-44,
+.m-44 {
+  margin-right: 176rpx;
+}
+
+.mb-44,
+.my-44,
+.m-44 {
+  margin-bottom: 176rpx;
+}
+
+.ml-44,
+.mx-44,
+.m-44 {
+  margin-left: 176rpx;
+}
+
+.pt-45,
+.py-45,
+.p-45 {
+  padding-top: 180rpx;
+}
+
+.pr-45,
+.px-45,
+.p-45 {
+  padding-right: 180rpx;
+}
+
+.pb-45,
+.py-45,
+.p-45 {
+  padding-bottom: 180rpx;
+}
+
+.pl-45,
+.px-45,
+.p-45 {
+  padding-left: 180rpx;
+}
+
+.mt-45,
+.my-45,
+.m-45 {
+  margin-top: 180rpx;
+}
+
+.mr-45,
+.mx-45,
+.m-45 {
+  margin-right: 180rpx;
+}
+
+.mb-45,
+.my-45,
+.m-45 {
+  margin-bottom: 180rpx;
+}
+
+.ml-45,
+.mx-45,
+.m-45 {
+  margin-left: 180rpx;
+}
+
+.pt-46,
+.py-46,
+.p-46 {
+  padding-top: 184rpx;
+}
+
+.pr-46,
+.px-46,
+.p-46 {
+  padding-right: 184rpx;
+}
+
+.pb-46,
+.py-46,
+.p-46 {
+  padding-bottom: 184rpx;
+}
+
+.pl-46,
+.px-46,
+.p-46 {
+  padding-left: 184rpx;
+}
+
+.mt-46,
+.my-46,
+.m-46 {
+  margin-top: 184rpx;
+}
+
+.mr-46,
+.mx-46,
+.m-46 {
+  margin-right: 184rpx;
+}
+
+.mb-46,
+.my-46,
+.m-46 {
+  margin-bottom: 184rpx;
+}
+
+.ml-46,
+.mx-46,
+.m-46 {
+  margin-left: 184rpx;
+}
+
+.pt-47,
+.py-47,
+.p-47 {
+  padding-top: 188rpx;
+}
+
+.pr-47,
+.px-47,
+.p-47 {
+  padding-right: 188rpx;
+}
+
+.pb-47,
+.py-47,
+.p-47 {
+  padding-bottom: 188rpx;
+}
+
+.pl-47,
+.px-47,
+.p-47 {
+  padding-left: 188rpx;
+}
+
+.mt-47,
+.my-47,
+.m-47 {
+  margin-top: 188rpx;
+}
+
+.mr-47,
+.mx-47,
+.m-47 {
+  margin-right: 188rpx;
+}
+
+.mb-47,
+.my-47,
+.m-47 {
+  margin-bottom: 188rpx;
+}
+
+.ml-47,
+.mx-47,
+.m-47 {
+  margin-left: 188rpx;
+}
+
+.pt-48,
+.py-48,
+.p-48 {
+  padding-top: 192rpx;
+}
+
+.pr-48,
+.px-48,
+.p-48 {
+  padding-right: 192rpx;
+}
+
+.pb-48,
+.py-48,
+.p-48 {
+  padding-bottom: 192rpx;
+}
+
+.pl-48,
+.px-48,
+.p-48 {
+  padding-left: 192rpx;
+}
+
+.mt-48,
+.my-48,
+.m-48 {
+  margin-top: 192rpx;
+}
+
+.mr-48,
+.mx-48,
+.m-48 {
+  margin-right: 192rpx;
+}
+
+.mb-48,
+.my-48,
+.m-48 {
+  margin-bottom: 192rpx;
+}
+
+.ml-48,
+.mx-48,
+.m-48 {
+  margin-left: 192rpx;
+}
+
+.pt-49,
+.py-49,
+.p-49 {
+  padding-top: 196rpx;
+}
+
+.pr-49,
+.px-49,
+.p-49 {
+  padding-right: 196rpx;
+}
+
+.pb-49,
+.py-49,
+.p-49 {
+  padding-bottom: 196rpx;
+}
+
+.pl-49,
+.px-49,
+.p-49 {
+  padding-left: 196rpx;
+}
+
+.mt-49,
+.my-49,
+.m-49 {
+  margin-top: 196rpx;
+}
+
+.mr-49,
+.mx-49,
+.m-49 {
+  margin-right: 196rpx;
+}
+
+.mb-49,
+.my-49,
+.m-49 {
+  margin-bottom: 196rpx;
+}
+
+.ml-49,
+.mx-49,
+.m-49 {
+  margin-left: 196rpx;
+}
+
+.pt-50,
+.py-50,
+.p-50 {
+  padding-top: 200rpx;
+}
+
+.pr-50,
+.px-50,
+.p-50 {
+  padding-right: 200rpx;
+}
+
+.pb-50,
+.py-50,
+.p-50 {
+  padding-bottom: 200rpx;
+}
+
+.pl-50,
+.px-50,
+.p-50 {
+  padding-left: 200rpx;
+}
+
+.mt-50,
+.my-50,
+.m-50 {
+  margin-top: 200rpx;
+}
+
+.mr-50,
+.mx-50,
+.m-50 {
+  margin-right: 200rpx;
+}
+
+.mb-50,
+.my-50,
+.m-50 {
+  margin-bottom: 200rpx;
+}
+
+.ml-50,
+.mx-50,
+.m-50 {
+  margin-left: 200rpx;
+}
+
+.pt-51,
+.py-51,
+.p-51 {
+  padding-top: 204rpx;
+}
+
+.pr-51,
+.px-51,
+.p-51 {
+  padding-right: 204rpx;
+}
+
+.pb-51,
+.py-51,
+.p-51 {
+  padding-bottom: 204rpx;
+}
+
+.pl-51,
+.px-51,
+.p-51 {
+  padding-left: 204rpx;
+}
+
+.mt-51,
+.my-51,
+.m-51 {
+  margin-top: 204rpx;
+}
+
+.mr-51,
+.mx-51,
+.m-51 {
+  margin-right: 204rpx;
+}
+
+.mb-51,
+.my-51,
+.m-51 {
+  margin-bottom: 204rpx;
+}
+
+.ml-51,
+.mx-51,
+.m-51 {
+  margin-left: 204rpx;
+}
+
+.pt-52,
+.py-52,
+.p-52 {
+  padding-top: 208rpx;
+}
+
+.pr-52,
+.px-52,
+.p-52 {
+  padding-right: 208rpx;
+}
+
+.pb-52,
+.py-52,
+.p-52 {
+  padding-bottom: 208rpx;
+}
+
+.pl-52,
+.px-52,
+.p-52 {
+  padding-left: 208rpx;
+}
+
+.mt-52,
+.my-52,
+.m-52 {
+  margin-top: 208rpx;
+}
+
+.mr-52,
+.mx-52,
+.m-52 {
+  margin-right: 208rpx;
+}
+
+.mb-52,
+.my-52,
+.m-52 {
+  margin-bottom: 208rpx;
+}
+
+.ml-52,
+.mx-52,
+.m-52 {
+  margin-left: 208rpx;
+}
+
+.pt-53,
+.py-53,
+.p-53 {
+  padding-top: 212rpx;
+}
+
+.pr-53,
+.px-53,
+.p-53 {
+  padding-right: 212rpx;
+}
+
+.pb-53,
+.py-53,
+.p-53 {
+  padding-bottom: 212rpx;
+}
+
+.pl-53,
+.px-53,
+.p-53 {
+  padding-left: 212rpx;
+}
+
+.mt-53,
+.my-53,
+.m-53 {
+  margin-top: 212rpx;
+}
+
+.mr-53,
+.mx-53,
+.m-53 {
+  margin-right: 212rpx;
+}
+
+.mb-53,
+.my-53,
+.m-53 {
+  margin-bottom: 212rpx;
+}
+
+.ml-53,
+.mx-53,
+.m-53 {
+  margin-left: 212rpx;
+}
+
+.pt-54,
+.py-54,
+.p-54 {
+  padding-top: 216rpx;
+}
+
+.pr-54,
+.px-54,
+.p-54 {
+  padding-right: 216rpx;
+}
+
+.pb-54,
+.py-54,
+.p-54 {
+  padding-bottom: 216rpx;
+}
+
+.pl-54,
+.px-54,
+.p-54 {
+  padding-left: 216rpx;
+}
+
+.mt-54,
+.my-54,
+.m-54 {
+  margin-top: 216rpx;
+}
+
+.mr-54,
+.mx-54,
+.m-54 {
+  margin-right: 216rpx;
+}
+
+.mb-54,
+.my-54,
+.m-54 {
+  margin-bottom: 216rpx;
+}
+
+.ml-54,
+.mx-54,
+.m-54 {
+  margin-left: 216rpx;
+}
+
+.pt-55,
+.py-55,
+.p-55 {
+  padding-top: 220rpx;
+}
+
+.pr-55,
+.px-55,
+.p-55 {
+  padding-right: 220rpx;
+}
+
+.pb-55,
+.py-55,
+.p-55 {
+  padding-bottom: 220rpx;
+}
+
+.pl-55,
+.px-55,
+.p-55 {
+  padding-left: 220rpx;
+}
+
+.mt-55,
+.my-55,
+.m-55 {
+  margin-top: 220rpx;
+}
+
+.mr-55,
+.mx-55,
+.m-55 {
+  margin-right: 220rpx;
+}
+
+.mb-55,
+.my-55,
+.m-55 {
+  margin-bottom: 220rpx;
+}
+
+.ml-55,
+.mx-55,
+.m-55 {
+  margin-left: 220rpx;
+}
+
+.pt-56,
+.py-56,
+.p-56 {
+  padding-top: 224rpx;
+}
+
+.pr-56,
+.px-56,
+.p-56 {
+  padding-right: 224rpx;
+}
+
+.pb-56,
+.py-56,
+.p-56 {
+  padding-bottom: 224rpx;
+}
+
+.pl-56,
+.px-56,
+.p-56 {
+  padding-left: 224rpx;
+}
+
+.mt-56,
+.my-56,
+.m-56 {
+  margin-top: 224rpx;
+}
+
+.mr-56,
+.mx-56,
+.m-56 {
+  margin-right: 224rpx;
+}
+
+.mb-56,
+.my-56,
+.m-56 {
+  margin-bottom: 224rpx;
+}
+
+.ml-56,
+.mx-56,
+.m-56 {
+  margin-left: 224rpx;
+}
+
+.pt-57,
+.py-57,
+.p-57 {
+  padding-top: 228rpx;
+}
+
+.pr-57,
+.px-57,
+.p-57 {
+  padding-right: 228rpx;
+}
+
+.pb-57,
+.py-57,
+.p-57 {
+  padding-bottom: 228rpx;
+}
+
+.pl-57,
+.px-57,
+.p-57 {
+  padding-left: 228rpx;
+}
+
+.mt-57,
+.my-57,
+.m-57 {
+  margin-top: 228rpx;
+}
+
+.mr-57,
+.mx-57,
+.m-57 {
+  margin-right: 228rpx;
+}
+
+.mb-57,
+.my-57,
+.m-57 {
+  margin-bottom: 228rpx;
+}
+
+.ml-57,
+.mx-57,
+.m-57 {
+  margin-left: 228rpx;
+}
+
+.pt-58,
+.py-58,
+.p-58 {
+  padding-top: 232rpx;
+}
+
+.pr-58,
+.px-58,
+.p-58 {
+  padding-right: 232rpx;
+}
+
+.pb-58,
+.py-58,
+.p-58 {
+  padding-bottom: 232rpx;
+}
+
+.pl-58,
+.px-58,
+.p-58 {
+  padding-left: 232rpx;
+}
+
+.mt-58,
+.my-58,
+.m-58 {
+  margin-top: 232rpx;
+}
+
+.mr-58,
+.mx-58,
+.m-58 {
+  margin-right: 232rpx;
+}
+
+.mb-58,
+.my-58,
+.m-58 {
+  margin-bottom: 232rpx;
+}
+
+.ml-58,
+.mx-58,
+.m-58 {
+  margin-left: 232rpx;
+}
+
+.pt-59,
+.py-59,
+.p-59 {
+  padding-top: 236rpx;
+}
+
+.pr-59,
+.px-59,
+.p-59 {
+  padding-right: 236rpx;
+}
+
+.pb-59,
+.py-59,
+.p-59 {
+  padding-bottom: 236rpx;
+}
+
+.pl-59,
+.px-59,
+.p-59 {
+  padding-left: 236rpx;
+}
+
+.mt-59,
+.my-59,
+.m-59 {
+  margin-top: 236rpx;
+}
+
+.mr-59,
+.mx-59,
+.m-59 {
+  margin-right: 236rpx;
+}
+
+.mb-59,
+.my-59,
+.m-59 {
+  margin-bottom: 236rpx;
+}
+
+.ml-59,
+.mx-59,
+.m-59 {
+  margin-left: 236rpx;
+}
+
+.pt-60,
+.py-60,
+.p-60 {
+  padding-top: 240rpx;
+}
+
+.pr-60,
+.px-60,
+.p-60 {
+  padding-right: 240rpx;
+}
+
+.pb-60,
+.py-60,
+.p-60 {
+  padding-bottom: 240rpx;
+}
+
+.pl-60,
+.px-60,
+.p-60 {
+  padding-left: 240rpx;
+}
+
+.mt-60,
+.my-60,
+.m-60 {
+  margin-top: 240rpx;
+}
+
+.mr-60,
+.mx-60,
+.m-60 {
+  margin-right: 240rpx;
+}
+
+.mb-60,
+.my-60,
+.m-60 {
+  margin-bottom: 240rpx;
+}
+
+.ml-60,
+.mx-60,
+.m-60 {
+  margin-left: 240rpx;
+}
+
+.pt-61,
+.py-61,
+.p-61 {
+  padding-top: 244rpx;
+}
+
+.pr-61,
+.px-61,
+.p-61 {
+  padding-right: 244rpx;
+}
+
+.pb-61,
+.py-61,
+.p-61 {
+  padding-bottom: 244rpx;
+}
+
+.pl-61,
+.px-61,
+.p-61 {
+  padding-left: 244rpx;
+}
+
+.mt-61,
+.my-61,
+.m-61 {
+  margin-top: 244rpx;
+}
+
+.mr-61,
+.mx-61,
+.m-61 {
+  margin-right: 244rpx;
+}
+
+.mb-61,
+.my-61,
+.m-61 {
+  margin-bottom: 244rpx;
+}
+
+.ml-61,
+.mx-61,
+.m-61 {
+  margin-left: 244rpx;
+}
+
+.pt-62,
+.py-62,
+.p-62 {
+  padding-top: 248rpx;
+}
+
+.pr-62,
+.px-62,
+.p-62 {
+  padding-right: 248rpx;
+}
+
+.pb-62,
+.py-62,
+.p-62 {
+  padding-bottom: 248rpx;
+}
+
+.pl-62,
+.px-62,
+.p-62 {
+  padding-left: 248rpx;
+}
+
+.mt-62,
+.my-62,
+.m-62 {
+  margin-top: 248rpx;
+}
+
+.mr-62,
+.mx-62,
+.m-62 {
+  margin-right: 248rpx;
+}
+
+.mb-62,
+.my-62,
+.m-62 {
+  margin-bottom: 248rpx;
+}
+
+.ml-62,
+.mx-62,
+.m-62 {
+  margin-left: 248rpx;
+}
+
+.pt-63,
+.py-63,
+.p-63 {
+  padding-top: 252rpx;
+}
+
+.pr-63,
+.px-63,
+.p-63 {
+  padding-right: 252rpx;
+}
+
+.pb-63,
+.py-63,
+.p-63 {
+  padding-bottom: 252rpx;
+}
+
+.pl-63,
+.px-63,
+.p-63 {
+  padding-left: 252rpx;
+}
+
+.mt-63,
+.my-63,
+.m-63 {
+  margin-top: 252rpx;
+}
+
+.mr-63,
+.mx-63,
+.m-63 {
+  margin-right: 252rpx;
+}
+
+.mb-63,
+.my-63,
+.m-63 {
+  margin-bottom: 252rpx;
+}
+
+.ml-63,
+.mx-63,
+.m-63 {
+  margin-left: 252rpx;
+}
+
+.pt-64,
+.py-64,
+.p-64 {
+  padding-top: 256rpx;
+}
+
+.pr-64,
+.px-64,
+.p-64 {
+  padding-right: 256rpx;
+}
+
+.pb-64,
+.py-64,
+.p-64 {
+  padding-bottom: 256rpx;
+}
+
+.pl-64,
+.px-64,
+.p-64 {
+  padding-left: 256rpx;
+}
+
+.mt-64,
+.my-64,
+.m-64 {
+  margin-top: 256rpx;
+}
+
+.mr-64,
+.mx-64,
+.m-64 {
+  margin-right: 256rpx;
+}
+
+.mb-64,
+.my-64,
+.m-64 {
+  margin-bottom: 256rpx;
+}
+
+.ml-64,
+.mx-64,
+.m-64 {
+  margin-left: 256rpx;
+}
+
+.w-1 {
+  width: 4rpx;
+}
+
+.h-1 {
+  height: 4rpx;
+}
+
+.z-1 {
+  z-index: 1;
+}
+
+.w-2 {
+  width: 8rpx;
+}
+
+.h-2 {
+  height: 8rpx;
+}
+
+.z-2 {
+  z-index: 2;
+}
+
+.w-3 {
+  width: 12rpx;
+}
+
+.h-3 {
+  height: 12rpx;
+}
+
+.z-3 {
+  z-index: 3;
+}
+
+.w-4 {
+  width: 16rpx;
+}
+
+.h-4 {
+  height: 16rpx;
+}
+
+.z-4 {
+  z-index: 4;
+}
+
+.w-5 {
+  width: 20rpx;
+}
+
+.h-5 {
+  height: 20rpx;
+}
+
+.z-5 {
+  z-index: 5;
+}
+
+.w-6 {
+  width: 24rpx;
+}
+
+.h-6 {
+  height: 24rpx;
+}
+
+.z-6 {
+  z-index: 6;
+}
+
+.w-7 {
+  width: 28rpx;
+}
+
+.h-7 {
+  height: 28rpx;
+}
+
+.z-7 {
+  z-index: 7;
+}
+
+.w-8 {
+  width: 32rpx;
+}
+
+.h-8 {
+  height: 32rpx;
+}
+
+.z-8 {
+  z-index: 8;
+}
+
+.w-9 {
+  width: 36rpx;
+}
+
+.h-9 {
+  height: 36rpx;
+}
+
+.z-9 {
+  z-index: 9;
+}
+
+.w-10 {
+  width: 40rpx;
+}
+
+.h-10 {
+  height: 40rpx;
+}
+
+.z-10 {
+  z-index: 10;
+}
+
+.w-11 {
+  width: 44rpx;
+}
+
+.h-11 {
+  height: 44rpx;
+}
+
+.z-11 {
+  z-index: 11;
+}
+
+.w-12 {
+  width: 48rpx;
+}
+
+.h-12 {
+  height: 48rpx;
+}
+
+.z-12 {
+  z-index: 12;
+}
+
+.w-13 {
+  width: 52rpx;
+}
+
+.h-13 {
+  height: 52rpx;
+}
+
+.z-13 {
+  z-index: 13;
+}
+
+.w-14 {
+  width: 56rpx;
+}
+
+.h-14 {
+  height: 56rpx;
+}
+
+.z-14 {
+  z-index: 14;
+}
+
+.w-15 {
+  width: 60rpx;
+}
+
+.h-15 {
+  height: 60rpx;
+}
+
+.z-15 {
+  z-index: 15;
+}
+
+.w-16 {
+  width: 64rpx;
+}
+
+.h-16 {
+  height: 64rpx;
+}
+
+.z-16 {
+  z-index: 16;
+}
+
+.w-17 {
+  width: 68rpx;
+}
+
+.h-17 {
+  height: 68rpx;
+}
+
+.z-17 {
+  z-index: 17;
+}
+
+.w-18 {
+  width: 72rpx;
+}
+
+.h-18 {
+  height: 72rpx;
+}
+
+.z-18 {
+  z-index: 18;
+}
+
+.w-19 {
+  width: 76rpx;
+}
+
+.h-19 {
+  height: 76rpx;
+}
+
+.z-19 {
+  z-index: 19;
+}
+
+.w-20 {
+  width: 80rpx;
+}
+
+.h-20 {
+  height: 80rpx;
+}
+
+.z-20 {
+  z-index: 20;
+}
+
+.w-21 {
+  width: 84rpx;
+}
+
+.h-21 {
+  height: 84rpx;
+}
+
+.z-21 {
+  z-index: 21;
+}
+
+.w-22 {
+  width: 88rpx;
+}
+
+.h-22 {
+  height: 88rpx;
+}
+
+.z-22 {
+  z-index: 22;
+}
+
+.w-23 {
+  width: 92rpx;
+}
+
+.h-23 {
+  height: 92rpx;
+}
+
+.z-23 {
+  z-index: 23;
+}
+
+.w-24 {
+  width: 96rpx;
+}
+
+.h-24 {
+  height: 96rpx;
+}
+
+.z-24 {
+  z-index: 24;
+}
+
+.w-25 {
+  width: 100rpx;
+}
+
+.h-25 {
+  height: 100rpx;
+}
+
+.z-25 {
+  z-index: 25;
+}
+
+.w-26 {
+  width: 104rpx;
+}
+
+.h-26 {
+  height: 104rpx;
+}
+
+.z-26 {
+  z-index: 26;
+}
+
+.w-27 {
+  width: 108rpx;
+}
+
+.h-27 {
+  height: 108rpx;
+}
+
+.z-27 {
+  z-index: 27;
+}
+
+.w-28 {
+  width: 112rpx;
+}
+
+.h-28 {
+  height: 112rpx;
+}
+
+.z-28 {
+  z-index: 28;
+}
+
+.w-29 {
+  width: 116rpx;
+}
+
+.h-29 {
+  height: 116rpx;
+}
+
+.z-29 {
+  z-index: 29;
+}
+
+.w-30 {
+  width: 120rpx;
+}
+
+.h-30 {
+  height: 120rpx;
+}
+
+.z-30 {
+  z-index: 30;
+}
+
+.w-31 {
+  width: 124rpx;
+}
+
+.h-31 {
+  height: 124rpx;
+}
+
+.z-31 {
+  z-index: 31;
+}
+
+.w-32 {
+  width: 128rpx;
+}
+
+.h-32 {
+  height: 128rpx;
+}
+
+.z-32 {
+  z-index: 32;
+}
+
+.w-33 {
+  width: 132rpx;
+}
+
+.h-33 {
+  height: 132rpx;
+}
+
+.z-33 {
+  z-index: 33;
+}
+
+.w-34 {
+  width: 136rpx;
+}
+
+.h-34 {
+  height: 136rpx;
+}
+
+.z-34 {
+  z-index: 34;
+}
+
+.w-35 {
+  width: 140rpx;
+}
+
+.h-35 {
+  height: 140rpx;
+}
+
+.z-35 {
+  z-index: 35;
+}
+
+.w-36 {
+  width: 144rpx;
+}
+
+.h-36 {
+  height: 144rpx;
+}
+
+.z-36 {
+  z-index: 36;
+}
+
+.w-37 {
+  width: 148rpx;
+}
+
+.h-37 {
+  height: 148rpx;
+}
+
+.z-37 {
+  z-index: 37;
+}
+
+.w-38 {
+  width: 152rpx;
+}
+
+.h-38 {
+  height: 152rpx;
+}
+
+.z-38 {
+  z-index: 38;
+}
+
+.w-39 {
+  width: 156rpx;
+}
+
+.h-39 {
+  height: 156rpx;
+}
+
+.z-39 {
+  z-index: 39;
+}
+
+.w-40 {
+  width: 160rpx;
+}
+
+.h-40 {
+  height: 160rpx;
+}
+
+.z-40 {
+  z-index: 40;
+}
+
+.w-41 {
+  width: 164rpx;
+}
+
+.h-41 {
+  height: 164rpx;
+}
+
+.z-41 {
+  z-index: 41;
+}
+
+.w-42 {
+  width: 168rpx;
+}
+
+.h-42 {
+  height: 168rpx;
+}
+
+.z-42 {
+  z-index: 42;
+}
+
+.w-43 {
+  width: 172rpx;
+}
+
+.h-43 {
+  height: 172rpx;
+}
+
+.z-43 {
+  z-index: 43;
+}
+
+.w-44 {
+  width: 176rpx;
+}
+
+.h-44 {
+  height: 176rpx;
+}
+
+.z-44 {
+  z-index: 44;
+}
+
+.w-45 {
+  width: 180rpx;
+}
+
+.h-45 {
+  height: 180rpx;
+}
+
+.z-45 {
+  z-index: 45;
+}
+
+.w-46 {
+  width: 184rpx;
+}
+
+.h-46 {
+  height: 184rpx;
+}
+
+.z-46 {
+  z-index: 46;
+}
+
+.w-47 {
+  width: 188rpx;
+}
+
+.h-47 {
+  height: 188rpx;
+}
+
+.z-47 {
+  z-index: 47;
+}
+
+.w-48 {
+  width: 192rpx;
+}
+
+.h-48 {
+  height: 192rpx;
+}
+
+.z-48 {
+  z-index: 48;
+}
+
+.w-49 {
+  width: 196rpx;
+}
+
+.h-49 {
+  height: 196rpx;
+}
+
+.z-49 {
+  z-index: 49;
+}
+
+.w-50 {
+  width: 200rpx;
+}
+
+.h-50 {
+  height: 200rpx;
+}
+
+.z-50 {
+  z-index: 50;
+}
+
+.w-51 {
+  width: 204rpx;
+}
+
+.h-51 {
+  height: 204rpx;
+}
+
+.z-51 {
+  z-index: 51;
+}
+
+.w-52 {
+  width: 208rpx;
+}
+
+.h-52 {
+  height: 208rpx;
+}
+
+.z-52 {
+  z-index: 52;
+}
+
+.w-53 {
+  width: 212rpx;
+}
+
+.h-53 {
+  height: 212rpx;
+}
+
+.z-53 {
+  z-index: 53;
+}
+
+.w-54 {
+  width: 216rpx;
+}
+
+.h-54 {
+  height: 216rpx;
+}
+
+.z-54 {
+  z-index: 54;
+}
+
+.w-55 {
+  width: 220rpx;
+}
+
+.h-55 {
+  height: 220rpx;
+}
+
+.z-55 {
+  z-index: 55;
+}
+
+.w-56 {
+  width: 224rpx;
+}
+
+.h-56 {
+  height: 224rpx;
+}
+
+.z-56 {
+  z-index: 56;
+}
+
+.w-57 {
+  width: 228rpx;
+}
+
+.h-57 {
+  height: 228rpx;
+}
+
+.z-57 {
+  z-index: 57;
+}
+
+.w-58 {
+  width: 232rpx;
+}
+
+.h-58 {
+  height: 232rpx;
+}
+
+.z-58 {
+  z-index: 58;
+}
+
+.w-59 {
+  width: 236rpx;
+}
+
+.h-59 {
+  height: 236rpx;
+}
+
+.z-59 {
+  z-index: 59;
+}
+
+.w-60 {
+  width: 240rpx;
+}
+
+.h-60 {
+  height: 240rpx;
+}
+
+.z-60 {
+  z-index: 60;
+}
+
+.w-61 {
+  width: 244rpx;
+}
+
+.h-61 {
+  height: 244rpx;
+}
+
+.z-61 {
+  z-index: 61;
+}
+
+.w-62 {
+  width: 248rpx;
+}
+
+.h-62 {
+  height: 248rpx;
+}
+
+.z-62 {
+  z-index: 62;
+}
+
+.w-63 {
+  width: 252rpx;
+}
+
+.h-63 {
+  height: 252rpx;
+}
+
+.z-63 {
+  z-index: 63;
+}
+
+.w-64 {
+  width: 256rpx;
+}
+
+.h-64 {
+  height: 256rpx;
+}
+
+.z-64 {
+  z-index: 64;
+}
+
+.w-full {
+  width: 100%;
+}
+
+.round {
+  border-radius: 50%;
+}
+
+.pos-static {
+  position: static;
+}
+
+.pos-relative {
+  position: relative;
+}
+
+.pos-absolute {
+  position: absolute;
+}
+
+.pos-fixed {
+  position: fixed;
+}
+
+.pos-sticky {
+  position: sticky;
+}
+
+.mode-fill {
+  object-fit: fill;
+}
+
+.mode-contain {
+  object-fit: contain;
+}
+
+.mode-cover {
+  object-fit: cover;
+}
+
+.mode-none {
+  object-fit: none;
+}
+
+.mode-scale-down {
+  object-fit: scale-down;
+}
+
+.of-visible {
+  overflow: visible;
+}
+
+.of-x-visible {
+  overflow-x: visible;
+}
+
+.of-y-visible {
+  overflow-y: visible;
+}
+
+.of-hidden {
+  overflow: hidden;
+}
+
+.of-x-hidden {
+  overflow-x: hidden;
+}
+
+.of-y-hidden {
+  overflow-y: hidden;
+}
+
+.of-clip {
+  overflow: clip;
+}
+
+.of-x-clip {
+  overflow-x: clip;
+}
+
+.of-y-clip {
+  overflow-y: clip;
+}
+
+.of-scroll {
+  overflow: scroll;
+}
+
+.of-x-scroll {
+  overflow-x: scroll;
+}
+
+.of-y-scroll {
+  overflow-y: scroll;
+}
+
+.of-auto {
+  overflow: auto;
+}
+
+.of-x-auto {
+  overflow-x: auto;
+}
+
+.of-y-auto {
+  overflow-y: auto;
+}
+
+/*# sourceMappingURL=wxbase.css.map */

File diff suppressed because it is too large
+ 1834 - 6
view/xcx/package-lock.json


+ 22 - 15
view/xcx/package.json

@@ -1,16 +1,23 @@
 {
-    "name": "twong",
-    "version": "1.4.1",
-    "description": "twong",
-    "main": "app.js",
-    "scripts": {
-        "test": "echo \"Error: no test specified\" && exit 1"
-    },
-    "author": "",
-    "license": "ISC",
-    "dependencies": {
-        "mobx-miniprogram": "^4.13.2",
-        "mobx-miniprogram-bindings": "^2.1.5",
-        "vant-weapp": "^0.5.23"
-    }
-}
+  "name": "twong",
+  "version": "1.4.1",
+  "description": "twong",
+  "main": "app.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "mobx-miniprogram": "^4.13.2",
+    "mobx-miniprogram-bindings": "^2.1.5",
+    "vant-weapp": "^0.5.23"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.23.3",
+    "@babel/eslint-parser": "^7.23.3",
+    "eslint": "^8.54.0",
+    "eslint-plugin-prettier": "^5.0.1",
+    "prettier": "^3.1.0"
+  }
+}

+ 117 - 117
view/xcx/pages/activity/goods_bargain/index.js

@@ -1,127 +1,127 @@
 // pages/bargain-list/index.js
 import {
-    getBargainList
+  getBargainList
 } from '../../../api/activity.js';
 import {
-    openBargainSubscribe
+  openBargainSubscribe
 } from '../../../utils/SubscribeMessage.js';
 
 const app = getApp();
 
 Page({
-    /**
-     * 页面的初始数据
-     */
-    data: {
-        bargainList: [],
-        page: 0,
-        limit: 20,
-        loading: false,
-        loadend: false,
-        userInfo: {},
-        navH: ''
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad: function (options) {
-        this.setData({
-            navH: app.globalData.navHeight
-        });
-    },
-
-    goBack: function () {
-        wx.navigateBack({
-            delta: 1
-        })
-    },
-
-    onLoadFun: function (e) {
-        this.getBargainList();
-        this.setData({
-            userInfo: e.detail
-        })
-    },
-
-    openSubscribe: function (e) {
-        let page = e.currentTarget.dataset.url;
-        wx.showLoading({
-            title: '正在加载',
-        })
-        openBargainSubscribe().then(res => {
-            wx.hideLoading();
-            wx.navigateTo({
-                url: page,
-            });
-        }).catch(() => {
-            wx.hideLoading();
-        });
-    },
-
-    getBargainList: function () {
-        var that = this;
-        if (that.data.loadend) return;
-        if (that.data.loading) return;
-        that.setData({
-            loading: true
-        });
-        getBargainList({
-            page: that.data.page,
-            limit: that.data.limit
-        }).then(function (res) {
-            that.setData({
-                bargainList: that.data.bargainList.concat(res.data),
-                page: that.data.page + 1,
-                loadend: that.data.limit > res.data.length,
-                loading: false
-            });
-        }).catch(res => {
-            that.setData({
-                loading: false
-            });
-        });
-    },
-    
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide: function () {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload: function () {
-
-    },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh: function () {
-
-    },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom: function () {
-        this.getBargainList();
-    },
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    bargainList: [],
+    page: 0,
+    limit: 20,
+    loading: false,
+    loadend: false,
+    userInfo: {},
+    navH: ''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+    this.setData({
+      navH: app.globalData.navHeight
+    });
+  },
+
+  goBack: function () {
+    wx.navigateBack({
+      delta: 1
+    })
+  },
+
+  onLoadFun: function (e) {
+    this.getBargainList();
+    this.setData({
+      userInfo: e.detail
+    })
+  },
+
+  openSubscribe: function (e) {
+    let page = e.currentTarget.dataset.url;
+    wx.showLoading({
+      title: '正在加载',
+    })
+    openBargainSubscribe().then(res => {
+      wx.hideLoading();
+      wx.navigateTo({
+        url: page,
+      });
+    }).catch(() => {
+      wx.hideLoading();
+    });
+  },
+
+  getBargainList: function () {
+    var that = this;
+    if (that.data.loadend) return;
+    if (that.data.loading) return;
+    that.setData({
+      loading: true
+    });
+    getBargainList({
+      page: that.data.page,
+      limit: that.data.limit
+    }).then(function (res) {
+      that.setData({
+        bargainList: that.data.bargainList.concat(res.data),
+        page: that.data.page + 1,
+        loadend: that.data.limit > res.data.length,
+        loading: false
+      });
+    }).catch(res => {
+      that.setData({
+        loading: false
+      });
+    });
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+    this.getBargainList();
+  },
 })

+ 5 - 5
view/xcx/pages/activity/goods_bargain/index.json

@@ -1,7 +1,7 @@
 {
-    "usingComponents": {
-        "home": "/components/home/index",
-        "authorize": "/components/authorize/authorize"
-    },
-    "navigationBarTextStyle": "white"
+  "usingComponents": {
+    "home": "/components/home/index",
+    "authorize": "/components/authorize/authorize"
+  },
+  "navigationBarTextStyle": "white"
 }

+ 17 - 18
view/xcx/pages/activity/goods_bargain/index.wxml

@@ -1,22 +1,21 @@
 <authorize bind:onLoadFun="onLoadFun"></authorize>
 <view class='bargain-list'>
-    <view class='iconfont icon-xiangzuo' bindtap='goBack' style='top:{{navH/2}}rpx'></view>
-    <view class='header'></view>
-    <view class='list'>
-        <block wx:for="{{bargainList}}" wx:key='index'>
-            <view data-url='/pages/activity/goods_bargain_details/index?id={{item.id}}&bargain={{userInfo.uid}}'
-                class='item acea-row row-between-wrapper' hover-class='none' bindtap="openSubscribe">
-                <view class='pictrue'>
-                    <image src='{{item.image}}'></image>
-                </view>
-                <view class='text acea-row row-column-around'>
-                    <view class='line1'>{{item.title}}</view>
-                    <view class='num'><text class='iconfont icon-pintuan'></text>{{item.people}}人正在参与</view>
-                    <view class='money font-color'>最低: ¥<text class='price'>{{item.min_price}}</text></view>
-                </view>
-                <view class='cutBnt bg-color'><text class='iconfont icon-kanjia'></text>参与砍价</view>
-            </view>
-        </block>
-    </view>
+  <view class='iconfont icon-xiangzuo' bindtap='goBack' style='top:{{navH/2}}rpx'></view>
+  <view class='header'></view>
+  <view class='list'>
+    <block wx:for="{{bargainList}}" wx:key='index'>
+      <view data-url='/pages/activity/goods_bargain_details/index?id={{item.id}}&bargain={{userInfo.uid}}' class='item acea-row row-between-wrapper' hover-class='none' bindtap="openSubscribe">
+        <view class='pictrue'>
+          <image src='{{item.image}}'></image>
+        </view>
+        <view class='text acea-row row-column-around'>
+          <view class='line1'>{{item.title}}</view>
+          <view class='num'><text class='iconfont icon-pintuan'></text>{{item.people}}人正在参与</view>
+          <view class='money font-color'>最低: ¥<text class='price'>{{item.min_price}}</text></view>
+        </view>
+        <view class='cutBnt bg-color'><text class='iconfont icon-kanjia'></text>参与砍价</view>
+      </view>
+    </block>
+  </view>
 </view>
 <!-- <home></home> -->

File diff suppressed because it is too large
+ 7 - 7
view/xcx/pages/activity/goods_bargain/index.wxss


+ 340 - 340
view/xcx/pages/activity/goods_bargain_details/index.js

@@ -1,15 +1,15 @@
 import {
-    getBargainDetail,
-    postBargainStartUser,
-    postBargainStart,
-    postBargainHelpPrice,
-    postBargainHelpCount,
-    postBargainHelp,
-    postBargainHelpList,
-    postBargainShare
+  getBargainDetail,
+  postBargainStartUser,
+  postBargainStart,
+  postBargainHelpPrice,
+  postBargainHelpCount,
+  postBargainHelp,
+  postBargainHelpList,
+  postBargainShare
 } from '../../../api/activity.js';
 import {
-    postCartAdd
+  postCartAdd
 } from '../../../api/store.js';
 import wxh from '../../../utils/wxh.js';
 import WxParse from '../../../wxParse/wxParse.js';
@@ -18,364 +18,364 @@ import util from '../../../utils/util.js';
 const app = getApp();
 
 Page({
-    /**
-     * 页面的初始数据
-     */
-    data: {
-        countDownDay: '00',
-        countDownHour: '00',
-        countDownMinute: '00',
-        countDownSecond: '00',
-        active: false,
-        id: 0, //砍价产品编号
-        userInfo: {}, //当前用户信息
-        bargainUid: 0, //开启砍价用户
-        bargainUserInfo: {}, //开启砍价用户信息
-        bargainUserId: 0, //开启砍价编号
-        bargainInfo: [], //砍价产品
-        offset: 0,
-        limit: 20,
-        limitStatus: false,
-        bargainUserHelpList: [],
-        bargainUserHelpInfo: [],
-        bargainUserBargainPrice: 0,
-        status: '', // 0 开启砍价   1  朋友帮忙砍价  2 朋友帮忙砍价成功 3 完成砍价  4 砍价失败 5已创建订单
-        bargainCount: [], //分享人数  浏览人数 参与人数
-        retunTop: true,
-        bargainPartake: 0,
-        isHelp: false,
-        interval: null,
-        userBargainStatus: 0, //判断自己是否砍价
-        productStock: 0, //判断是否售罄;
-        quota: 0, //判断是否已限量;
-        userBargainStatusHelp: true,
-        navH: '',
-        statusPay: '',
-    },
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    countDownDay: '00',
+    countDownHour: '00',
+    countDownMinute: '00',
+    countDownSecond: '00',
+    active: false,
+    id: 0, //砍价产品编号
+    userInfo: {}, //当前用户信息
+    bargainUid: 0, //开启砍价用户
+    bargainUserInfo: {}, //开启砍价用户信息
+    bargainUserId: 0, //开启砍价编号
+    bargainInfo: [], //砍价产品
+    offset: 0,
+    limit: 20,
+    limitStatus: false,
+    bargainUserHelpList: [],
+    bargainUserHelpInfo: [],
+    bargainUserBargainPrice: 0,
+    status: '', // 0 开启砍价   1  朋友帮忙砍价  2 朋友帮忙砍价成功 3 完成砍价  4 砍价失败 5已创建订单
+    bargainCount: [], //分享人数  浏览人数 参与人数
+    retunTop: true,
+    bargainPartake: 0,
+    isHelp: false,
+    interval: null,
+    userBargainStatus: 0, //判断自己是否砍价
+    productStock: 0, //判断是否售罄;
+    quota: 0, //判断是否已限量;
+    userBargainStatusHelp: true,
+    navH: '',
+    statusPay: '',
+  },
 
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad: function (options) {
-        this.setData({
-            navH: app.globalData.navHeight
-        });
-        var that = this;
-        var pages = getCurrentPages();
-        if (pages.length <= 1) that.setData({
-            retunTop: false
-        });
-        //扫码携带参数处理
-        if (options.scene) {
-            var value = util.getUrlParams(decodeURIComponent(options.scene));
-            if (typeof value === 'object') {
-                if (value.id) options.id = value.id;
-                if (value.bargain) options.bargain = value.bargain;
-                //记录推广人uid
-                if (value.pid) app.globalData.spid = value.pid;
-            } else {
-                app.globalData.spid = value;
-            }
-        }
-        if (options.hasOwnProperty('id')) {
-            this.setData({
-                id: options.id,
-                bargainUid: options.bargain || 0
-            });
-        }
-    },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+    this.setData({
+      navH: app.globalData.navHeight
+    });
+    var that = this;
+    var pages = getCurrentPages();
+    if (pages.length <= 1) that.setData({
+      retunTop: false
+    });
+    //扫码携带参数处理
+    if (options.scene) {
+      var value = util.getUrlParams(decodeURIComponent(options.scene));
+      if (typeof value === 'object') {
+        if (value.id) options.id = value.id;
+        if (value.bargain) options.bargain = value.bargain;
+        //记录推广人uid
+        if (value.pid) app.globalData.spid = value.pid;
+      } else {
+        app.globalData.spid = value;
+      }
+    }
+    if (options.hasOwnProperty('id')) {
+      this.setData({
+        id: options.id,
+        bargainUid: options.bargain || 0
+      });
+    }
+  },
 
-    /**
-     * 跳转到商品页面
-     */
-    goProduct: function () {
-        return app.Tips('/pages/goods_details/index?id=' + this.data.bargainInfo.product_id);
-    },
+  /**
+   * 跳转到商品页面
+   */
+  goProduct: function () {
+    return app.Tips('/pages/goods_details/index?id=' + this.data.bargainInfo.product_id);
+  },
 
-    goBack: function () {
-        wx.navigateBack({
-            delta: 1
-        })
-    },
+  goBack: function () {
+    wx.navigateBack({
+      delta: 1
+    })
+  },
 
-    gobargainUserInfo: function () { //获取开启砍价用户信息
-        var that = this;
-        var data = {
-            bargainId: that.data.id,
-            bargainUserUid: that.data.bargainUid
-        };
-        postBargainStartUser(data).then(res => {
-            that.setData({
-                bargainUserInfo: res.data
-            });
-        });
-    },
+  gobargainUserInfo: function () { //获取开启砍价用户信息
+    var that = this;
+    var data = {
+      bargainId: that.data.id,
+      bargainUserUid: that.data.bargainUid
+    };
+    postBargainStartUser(data).then(res => {
+      that.setData({
+        bargainUserInfo: res.data
+      });
+    });
+  },
 
-    goPay: function () { //立即支付
-        var that = this;
-        var data = {
-            productId: that.data.bargainInfo.product_id,
-            bargainId: that.data.id,
-            cartNum: that.data.bargainInfo.num,
-            uniqueId: '',
-            combinationId: 0,
-            secKillId: 0,
-            'new': 1
-        };
-        postCartAdd(data).then(res => {
-            wx.navigateTo({
-                url: '/pages/order_confirm/index?cartId=' + res.data.cartId
-            });
-        }).catch(err => {
-            return app.Tips({
-                title: err
-            })
-        });
-    },
+  goPay: function () { //立即支付
+    var that = this;
+    var data = {
+      productId: that.data.bargainInfo.product_id,
+      bargainId: that.data.id,
+      cartNum: that.data.bargainInfo.num,
+      uniqueId: '',
+      combinationId: 0,
+      secKillId: 0,
+      'new': 1
+    };
+    postCartAdd(data).then(res => {
+      wx.navigateTo({
+        url: '/pages/order_confirm/index?cartId=' + res.data.cartId
+      });
+    }).catch(err => {
+      return app.Tips({
+        title: err
+      })
+    });
+  },
 
-    getBargainDetails: function () { //获取砍价产品详情
-        var that = this;
-        var id = that.data.id;
-        getBargainDetail(id).then(function (res) {
-            that.setData({
-                bargainInfo: res.data.bargain,
-                bargainPrice: res.data.bargain.price,
-                userInfo: res.data.userInfo,
-                bargainSumCount: res.data.bargainSumCount,
-                userBargainStatus: res.data.userBargainStatus,
-                productStock: res.data.bargain.attr.product_stock,
-                quota: res.data.bargain.attr.quota
-            });
-            app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + that.data.id + '&bargain=' + that.data.bargainUid + '&scene=' + that.data.userInfo.uid;
-            WxParse.wxParse('description', 'html', that.data.bargainInfo.description || '', that, 0);
-            WxParse.wxParse('rule', 'html', that.data.bargainInfo.rule || '', that, 0);
-            wxh.time2(that.data.bargainInfo.stop_time, that);
-            that.getBargainHelpCount();
-            that.setData({
-                bargainUserHelpList: []
-            });
-            that.getBargainUser();
-            that.gobargainUserInfo();
-        }).catch(function (err) {
-            return app.Tips({
-                title: err
-            }, {
-                tab: 3,
-                url: 1
-            });
-        })
-    },
+  getBargainDetails: function () { //获取砍价产品详情
+    var that = this;
+    var id = that.data.id;
+    getBargainDetail(id).then(function (res) {
+      that.setData({
+        bargainInfo: res.data.bargain,
+        bargainPrice: res.data.bargain.price,
+        userInfo: res.data.userInfo,
+        bargainSumCount: res.data.bargainSumCount,
+        userBargainStatus: res.data.userBargainStatus,
+        productStock: res.data.bargain.attr.product_stock,
+        quota: res.data.bargain.attr.quota
+      });
+      app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + that.data.id + '&bargain=' + that.data.bargainUid + '&scene=' + that.data.userInfo.uid;
+      WxParse.wxParse('description', 'html', that.data.bargainInfo.description || '', that, 0);
+      WxParse.wxParse('rule', 'html', that.data.bargainInfo.rule || '', that, 0);
+      wxh.time2(that.data.bargainInfo.stop_time, that);
+      that.getBargainHelpCount();
+      that.setData({
+        bargainUserHelpList: []
+      });
+      that.getBargainUser();
+      that.gobargainUserInfo();
+    }).catch(function (err) {
+      return app.Tips({
+        title: err
+      }, {
+        tab: 3,
+        url: 1
+      });
+    })
+  },
 
-    // 自己砍价;
-    userBargain: function () {
-        let that = this;
-        if (that.data.userInfo.uid == that.data.bargainUid) {
-            that.setBargain();
-        }
-    },
+  // 自己砍价;
+  userBargain: function () {
+    let that = this;
+    if (that.data.userInfo.uid == that.data.bargainUid) {
+      that.setBargain();
+    }
+  },
 
-    getBargainHelpCount: function () { //获取砍价帮总人数、剩余金额、进度条、已经砍掉的价格
-        var that = this;
-        var data = {
-            bargainId: that.data.id,
-            bargainUserUid: that.data.bargainUid
-        };
-        postBargainHelpCount(data).then(res => {
-            var price = util.$h.Sub(that.data.bargainPrice, res.data.alreadyPrice);
-            that.setData({
-                bargainUserHelpInfo: res.data,
-                'bargainInfo.price': parseFloat(price) <= 0 ? 0 : price,
-                userBargainStatusHelp: res.data.userBargainStatus,
-                statusPay: res.data.status
-            });
-        })
-    },
+  getBargainHelpCount: function () { //获取砍价帮总人数、剩余金额、进度条、已经砍掉的价格
+    var that = this;
+    var data = {
+      bargainId: that.data.id,
+      bargainUserUid: that.data.bargainUid
+    };
+    postBargainHelpCount(data).then(res => {
+      var price = util.$h.Sub(that.data.bargainPrice, res.data.alreadyPrice);
+      that.setData({
+        bargainUserHelpInfo: res.data,
+        'bargainInfo.price': parseFloat(price) <= 0 ? 0 : price,
+        userBargainStatusHelp: res.data.userBargainStatus,
+        statusPay: res.data.status
+      });
+    })
+  },
 
-    currentBargainUser: function () { //当前用户砍价
-        this.setData({
-            bargainUid: this.data.userInfo.uid
-        });
-        this.setBargain();
-    },
+  currentBargainUser: function () { //当前用户砍价
+    this.setData({
+      bargainUid: this.data.userInfo.uid
+    });
+    this.setBargain();
+  },
 
-    setBargain: function () { //参与砍价
-        var that = this;
-        postBargainStart(that.data.id).then(res => {
-            that.setData({
-                bargainUserId: res.data
-            });
-            that.getBargainUserBargainPrice();
-            that.setBargainHelp();
-            that.getBargainHelpCount();
-            that.setData({
-                userBargainStatus: 1
-            })
-        })
-    },
+  setBargain: function () { //参与砍价
+    var that = this;
+    postBargainStart(that.data.id).then(res => {
+      that.setData({
+        bargainUserId: res.data
+      });
+      that.getBargainUserBargainPrice();
+      that.setBargainHelp();
+      that.getBargainHelpCount();
+      that.setData({
+        userBargainStatus: 1
+      })
+    })
+  },
 
-    setBargainHelp: function () { //帮好友砍价
-        var that = this;
-        var data = {
-            bargainId: that.data.id,
-            bargainUserUid: that.data.bargainUid
-        };
-        postBargainHelp(data).then(res => {
-            that.setData({
-                bargainUserHelpList: [],
-                isHelp: true
-            });
-            that.getBargainUser();
-            that.getBargainUserBargainPrice();
-            that.getBargainHelpCount();
-        }).catch(err => {
-            that.setData({
-                bargainUserHelpList: []
-            });
-            that.getBargainUser();
-        })
-    },
+  setBargainHelp: function () { //帮好友砍价
+    var that = this;
+    var data = {
+      bargainId: that.data.id,
+      bargainUserUid: that.data.bargainUid
+    };
+    postBargainHelp(data).then(res => {
+      that.setData({
+        bargainUserHelpList: [],
+        isHelp: true
+      });
+      that.getBargainUser();
+      that.getBargainUserBargainPrice();
+      that.getBargainHelpCount();
+    }).catch(err => {
+      that.setData({
+        bargainUserHelpList: []
+      });
+      that.getBargainUser();
+    })
+  },
 
-    getBargainUser: function () { //获取砍价帮
-        var that = this;
-        var data = {
-            bargainId: that.data.id,
-            bargainUserUid: that.data.bargainUid,
-            offset: that.data.offset,
-            limit: that.data.limit,
-        };
-        postBargainHelpList(data).then(res => {
-            var bargainUserHelpListNew = [];
-            var bargainUserHelpList = that.data.bargainUserHelpList;
-            var len = res.data.length;
-            bargainUserHelpListNew = bargainUserHelpList.concat(res.data);
-            that.setData({
-                bargainUserHelpList: bargainUserHelpListNew,
-                limitStatus: data.limit > len,
-                offest: Number(data.offset) + Number(data.limit)
-            });
-        });
-    },
+  getBargainUser: function () { //获取砍价帮
+    var that = this;
+    var data = {
+      bargainId: that.data.id,
+      bargainUserUid: that.data.bargainUid,
+      offset: that.data.offset,
+      limit: that.data.limit,
+    };
+    postBargainHelpList(data).then(res => {
+      var bargainUserHelpListNew = [];
+      var bargainUserHelpList = that.data.bargainUserHelpList;
+      var len = res.data.length;
+      bargainUserHelpListNew = bargainUserHelpList.concat(res.data);
+      that.setData({
+        bargainUserHelpList: bargainUserHelpListNew,
+        limitStatus: data.limit > len,
+        offest: Number(data.offset) + Number(data.limit)
+      });
+    });
+  },
 
-    getBargainUserBargainPricePoster: function () {
-        var that = this;
-        wx.navigateTo({
-            url: '/pages/activity/poster-poster/index?type=1&id=' + that.data.id,
-        });
-    },
+  getBargainUserBargainPricePoster: function () {
+    var that = this;
+    wx.navigateTo({
+      url: '/pages/activity/poster-poster/index?type=1&id=' + that.data.id,
+    });
+  },
 
-    getBargainUserBargainPrice: function () { //获取帮忙砍价砍掉多少金额
-        var that = this;
-        var data = {
-            bargainId: that.data.id,
-            bargainUserUid: that.data.bargainUid
-        };
-        postBargainHelpPrice(data).then(res => {
-            that.setData({
-                bargainUserBargainPrice: res.data,
-                active: true
-            });
-        }).catch(err => {
-            that.setData({
-                active: false
-            });
-        });
-    },
+  getBargainUserBargainPrice: function () { //获取帮忙砍价砍掉多少金额
+    var that = this;
+    var data = {
+      bargainId: that.data.id,
+      bargainUserUid: that.data.bargainUid
+    };
+    postBargainHelpPrice(data).then(res => {
+      that.setData({
+        bargainUserBargainPrice: res.data,
+        active: true
+      });
+    }).catch(err => {
+      that.setData({
+        active: false
+      });
+    });
+  },
 
-    goBargainList: function () {
-        wx.navigateTo({
-            url: '/pages/activity/goods_bargain/index',
-        })
-    },
+  goBargainList: function () {
+    wx.navigateTo({
+      url: '/pages/activity/goods_bargain/index',
+    })
+  },
 
-    close: function () {
-        this.setData({
-            active: false
-        })
-    },
+  close: function () {
+    this.setData({
+      active: false
+    })
+  },
 
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady: function () {
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
 
-    },
+  },
 
-    onLoadFun: function (e) {
-        let uid = e.detail.uid;
-        if (!this.data.bargainUid && uid) {
-            this.setData({
-                bargainUid: uid
-            });
-        }
-        if (!this.data.bargainUid) {
-            return app.Tips({
-                title: '参数错误'
-            }, {
-                tab: 3,
-                url: 1
-            })
-        }
-        this.getBargainDetails();
-        this.addShareBargain();
-        app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + this.data.id + '&bargain=' + this.data.bargainUid + '&spid=' + e.detail.uid;
-        this.setData({
-            bargainPartake: e.detail.uid
-        });
-    },
+  onLoadFun: function (e) {
+    let uid = e.detail.uid;
+    if (!this.data.bargainUid && uid) {
+      this.setData({
+        bargainUid: uid
+      });
+    }
+    if (!this.data.bargainUid) {
+      return app.Tips({
+        title: '参数错误'
+      }, {
+        tab: 3,
+        url: 1
+      })
+    }
+    this.getBargainDetails();
+    this.addShareBargain();
+    app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + this.data.id + '&bargain=' + this.data.bargainUid + '&spid=' + e.detail.uid;
+    this.setData({
+      bargainPartake: e.detail.uid
+    });
+  },
 
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow: function () {},
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {},
 
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide: function () {
-        if (this.data.interval !== null) clearInterval(this.data.interval);
-    },
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+    if (this.data.interval !== null) clearInterval(this.data.interval);
+  },
 
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload: function () {
-        if (this.data.interval !== null) clearInterval(this.data.interval);
-    },
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+    if (this.data.interval !== null) clearInterval(this.data.interval);
+  },
 
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh: function () {
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
 
-    },
+  },
 
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom: function () {
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
 
-    },
+  },
 
-    addShareBargain: function () { //添加分享次数 获取人数
-        var that = this;
-        postBargainShare(this.data.id).then(res => {
-            that.setData({
-                bargainCount: res.data
-            })
-        });
-    },
+  addShareBargain: function () { //添加分享次数 获取人数
+    var that = this;
+    postBargainShare(this.data.id).then(res => {
+      that.setData({
+        bargainCount: res.data
+      })
+    });
+  },
 
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage: function () {
-        var that = this;
-        that.close();
-        that.addShareBargain();
-        return {
-            title: '您的好友' + that.data.userInfo.nickname + '邀请您帮他砍' + that.data.bargainInfo.title + ' 快去帮忙吧!',
-            path: app.globalData.openPages,
-            imageUrl: that.data.bargainInfo.image,
-        }
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+    var that = this;
+    that.close();
+    that.addShareBargain();
+    return {
+      title: '您的好友' + that.data.userInfo.nickname + '邀请您帮他砍' + that.data.bargainInfo.title + ' 快去帮忙吧!',
+      path: app.globalData.openPages,
+      imageUrl: that.data.bargainInfo.image,
     }
+  }
 })

+ 5 - 5
view/xcx/pages/activity/goods_bargain_details/index.json

@@ -1,7 +1,7 @@
 {
-    "usingComponents": {
-        "home": "/components/home/index",
-        "authorize": "/components/authorize/authorize"
-    },
-    "navigationBarTextStyle": "white"
+  "usingComponents": {
+    "home": "/components/home/index",
+    "authorize": "/components/authorize/authorize"
+  },
+  "navigationBarTextStyle": "white"
 }

+ 125 - 126
view/xcx/pages/activity/goods_bargain_details/index.wxml

@@ -1,140 +1,139 @@
 <view class='bargain'>
-    <view class='iconfont icon-xiangzuo' wx:if='{{retunTop}}' bindtap='goBack' style='top:{{navH/2}}rpx'></view>
-    <view class="header {{bargainUid != userInfo.uid ? 'on' : ''}}">
-        <view class='people' style="top:{{navH/2}}rpx">{{bargainCount.lookCount}}人查看 丨 {{bargainCount.shareCount}}人分享 丨
-            {{bargainCount.userCount}}人参与</view>
-        <view class='time font-color' wx:if="{{bargainUid == userInfo.uid}}">
-            倒计时 <text>{{countDownDay}}</text> 天
-            <text>{{countDownHour}}</text> 时
-            <text>{{countDownMinute}}</text> 分
-            <text>{{countDownSecond}}</text> 秒
-        </view>
-        <view wx:if="{{bargainUid != userInfo.uid }}" class='pictxt acea-row row-center-wrapper'>
-            <view class='pictrue'>
-                <image src='{{bargainUserInfo.avatar}}'></image>
-            </view>
-            <view class='text'>{{bargainUserInfo.nickname}}<text>邀请您帮忙砍价</text></view>
-        </view>
+  <view class='iconfont icon-xiangzuo' wx:if='{{retunTop}}' bindtap='goBack' style='top:{{navH/2}}rpx'></view>
+  <view class="header {{bargainUid != userInfo.uid ? 'on' : ''}}">
+    <view class='people' style="top:{{navH/2}}rpx">{{bargainCount.lookCount}}人查看 丨 {{bargainCount.shareCount}}人分享 丨
+      {{bargainCount.userCount}}人参与</view>
+    <view class='time font-color' wx:if="{{bargainUid == userInfo.uid}}">
+      倒计时 <text>{{countDownDay}}</text> 天
+      <text>{{countDownHour}}</text> 时
+      <text>{{countDownMinute}}</text> 分
+      <text>{{countDownSecond}}</text> 秒
     </view>
-    <view class='wrapper'>
-        <view class='pictxt acea-row row-between-wrapper' bindtap="goProduct">
-            <view class='pictrue'>
-                <image src='{{bargainInfo.image}}'></image>
-                <view class="bargain_view">
-                    查看商品
-                    <text class="iconfont icon-jiantou iconfonts"></text>
-                </view>
-            </view>
-            <view class='text acea-row row-column-around'>
-                <view class='line2'>{{bargainInfo.title}}</view>
-                <view class='money font-color'>当前: ¥<text class='num'>{{bargainInfo.price}}</text></view>
-                <view class='successNum'>已有{{bargainSumCount || 0}}人砍价成功</view>
-            </view>
-        </view>
-        <view class="cu-progress acea-row row-middle round margin-top">
-            <view class='acea-row row-middle bg-red' style="width:{{ bargainUserHelpInfo.pricePercent }}%;"></view>
-        </view>
-        <view class='money acea-row row-between-wrapper'>
-            <view>已砍{{bargainUserHelpInfo.alreadyPrice}}元</view>
-            <view>还剩{{bargainUserHelpInfo.price}}元</view>
-        </view>
-        <!-- 自己砍价 -->
-        <view wx:if="{{bargainUid == userInfo.uid && !userBargainStatus && bargainUserHelpInfo.price > 0}}">
-            <view class='bargainBnt' bindtap='userBargain' wx:if="{{productStock>0&&quota>0}}">立即参与砍价</view>
-            <view class='bargainBnt grey' wx:if="{{productStock<=0||quota<=0}}">立即参与砍价</view>
-        </view>
-        <!-- 帮助砍价、帮砍成功:-->
-        <view wx:if="{{bargainUid == userInfo.uid && bargainUserHelpInfo.price > 0 && userBargainStatus}}">
-            <view class='bargainBnt' bindtap='getBargainUserBargainPricePoster'>邀请好友帮砍价</view>
-        </view>
-        <view wx:if="{{bargainUid != userInfo.uid && userBargainStatusHelp}}">
-            <view class='bargainBnt' bindtap='setBargainHelp'>帮好友砍一刀</view>
-        </view>
-        <view wx:if="{{bargainUid != userInfo.uid && !userBargainStatusHelp}}">
-            <view class='bargainSuccess'><text class='iconfont icon-xiaolian'></text>已成功帮助好友砍价</view>
-            <view class='bargainBnt' bindtap='currentBargainUser'>我也要参与</view>
-        </view>
-        <view wx:if="{{bargainUserHelpInfo.price == 0 &&  bargainUid == userInfo.uid && statusPay!=3}}">
-            <view class='bargainBnt' bindtap='goPay'>立即支付</view>
-        </view>
-        <view class='bargainBnt on' bindtap='goBargainList'>抢更多商品</view>
-        <view class='tip'>已有<text class='font-color'>{{bargainUserHelpInfo.count}}</text> 位好友成功砍价</view>
-        <view class='lock'></view>
+    <view wx:if="{{bargainUid != userInfo.uid }}" class='pictxt acea-row row-center-wrapper'>
+      <view class='pictrue'>
+        <image src='{{bargainUserInfo.avatar}}'></image>
+      </view>
+      <view class='text'>{{bargainUserInfo.nickname}}<text>邀请您帮忙砍价</text></view>
     </view>
-    <view class='bargainGang'>
-        <view class='title font-color acea-row row-center-wrapper'>
-            <view class='pictrue'>
-                <image src='/images/left.png'></image>
-            </view>
-            <view class='titleCon'>砍价帮</view>
-            <view class='pictrue on'>
-                <image src='/images/left.png'></image>
-            </view>
-        </view>
-        <view class='list'>
-            <block wx:for="{{bargainUserHelpList}}" wx:key='index'>
-                <view class='item acea-row row-between-wrapper'>
-                    <view class='pictxt acea-row row-between-wrapper'>
-                        <view class='pictrue'>
-                            <image src='{{item.avatar}}'></image>
-                        </view>
-                        <view class='text'>
-                            <view class='name line1'>{{item.nickname}}</view>
-                            <view class='line1'>{{item.add_time}}</view>
-                        </view>
-                    </view>
-                    <view class='money font-color'><text class="iconfont icon-kanjia"></text>砍掉{{item.price}}元</view>
-                </view>
-            </block>
-        </view>
-        <view class='load font-color' wx:if="{{!limitStatus}}" bindtap='getBargainUser'>点击加载更多</view>
-        <view class='lock'></view>
+  </view>
+  <view class='wrapper'>
+    <view class='pictxt acea-row row-between-wrapper' bindtap="goProduct">
+      <view class='pictrue'>
+        <image src='{{bargainInfo.image}}'></image>
+        <view class="bargain_view">
+          查看商品
+          <text class="iconfont icon-jiantou iconfonts"></text>
+        </view>
+      </view>
+      <view class='text acea-row row-column-around'>
+        <view class='line2'>{{bargainInfo.title}}</view>
+        <view class='money font-color'>当前: ¥<text class='num'>{{bargainInfo.price}}</text></view>
+        <view class='successNum'>已有{{bargainSumCount || 0}}人砍价成功</view>
+      </view>
     </view>
-    <view class='goodsDetails'>
-        <view class='title font-color acea-row row-center-wrapper'>
-            <view class='pictrue'>
-                <image src='/images/left.png'></image>
-            </view>
-            <view class='titleCon'>商品详情</view>
-            <view class='pictrue on'>
-                <image src='/images/left.png'></image>
-            </view>
-        </view>
-        <view class='conter'>
-            <template is="wxParse" data="{{wxParseData:description.nodes}}" />
-        </view>
-        <view class='lock'></view>
+    <view class="cu-progress acea-row row-middle round margin-top">
+      <view class="acea-row row-middle bg-red" style="width:{{ bargainUserHelpInfo.pricePercent }}%"></view>
+    </view>
+    <view class='money acea-row row-between-wrapper'>
+      <view>已砍{{bargainUserHelpInfo.alreadyPrice}}元</view>
+      <view>还剩{{bargainUserHelpInfo.price}}元</view>
+    </view>
+    <!-- 自己砍价 -->
+    <view wx:if="{{bargainUid == userInfo.uid && !userBargainStatus && bargainUserHelpInfo.price > 0}}">
+      <view class='bargainBnt' bindtap='userBargain' wx:if="{{productStock>0&&quota>0}}">立即参与砍价</view>
+      <view class='bargainBnt grey' wx:if="{{productStock<=0||quota<=0}}">立即参与砍价</view>
+    </view>
+    <!-- 帮助砍价、帮砍成功:-->
+    <view wx:if="{{bargainUid == userInfo.uid && bargainUserHelpInfo.price > 0 && userBargainStatus}}">
+      <view class='bargainBnt' bindtap='getBargainUserBargainPricePoster'>邀请好友帮砍价</view>
+    </view>
+    <view wx:if="{{bargainUid != userInfo.uid && userBargainStatusHelp}}">
+      <view class='bargainBnt' bindtap='setBargainHelp'>帮好友砍一刀</view>
+    </view>
+    <view wx:if="{{bargainUid != userInfo.uid && !userBargainStatusHelp}}">
+      <view class='bargainSuccess'><text class='iconfont icon-xiaolian'></text>已成功帮助好友砍价</view>
+      <view class='bargainBnt' bindtap='currentBargainUser'>我也要参与</view>
+    </view>
+    <view wx:if="{{bargainUserHelpInfo.price == 0 &&  bargainUid == userInfo.uid && statusPay!=3}}">
+      <view class='bargainBnt' bindtap='goPay'>立即支付</view>
+    </view>
+    <view class='bargainBnt on' bindtap='goBargainList'>抢更多商品</view>
+    <view class='tip'>已有<text class='font-color'>{{bargainUserHelpInfo.count}}</text> 位好友成功砍价</view>
+    <view class='lock'></view>
+  </view>
+  <view class='bargainGang'>
+    <view class='title font-color acea-row row-center-wrapper'>
+      <view class='pictrue'>
+        <image src='/images/left.png'></image>
+      </view>
+      <view class='titleCon'>砍价帮</view>
+      <view class='pictrue on'>
+        <image src='/images/left.png'></image>
+      </view>
     </view>
-    <view class='goodsDetails'>
-        <view class='title font-color acea-row row-center-wrapper'>
+    <view class='list'>
+      <block wx:for="{{bargainUserHelpList}}" wx:key='index'>
+        <view class='item acea-row row-between-wrapper'>
+          <view class='pictxt acea-row row-between-wrapper'>
             <view class='pictrue'>
-                <image src='/images/left.png'></image>
+              <image src='{{item.avatar}}'></image>
             </view>
-            <view class='titleCon'>砍价规则</view>
-            <view class='pictrue on'>
-                <image src='/images/left.png'></image>
+            <view class='text'>
+              <view class='name line1'>{{item.nickname}}</view>
+              <view class='line1'>{{item.add_time}}</view>
             </view>
+          </view>
+          <view class='money font-color'><text class="iconfont icon-kanjia"></text>砍掉{{item.price}}元</view>
         </view>
-        <view class='conter'>
-            <template is="wxParse" data="{{wxParseData:rule.nodes}}" />
-        </view>
+      </block>
     </view>
-    <view class='bargainTip {{active==true?"on":""}}'>
-        <view class='pictrue'>
-            <image src='/images/bargainBg.jpg'></image>
-        </view>
-        <view wx:if="{{bargainUid == userInfo.uid }}">
-            <view class='cutOff'>您已砍掉<text
-                    class='font-color'>{{bargainUserBargainPrice.price}}</text>元,听说分享次数越多砍价成功的机会越大哦!</view>
-            <button open-type='share' class='tipBnt'>邀请好友帮砍价</button>
-        </view>
-        <view wx:else>
-            <view class='help font-color'>成功帮砍{{bargainUserBargainPrice.price}}元</view>
-            <view class='cutOff on'>您也可以砍价低价拿哦,快去挑选心仪的商品吧~</view>
-            <view bindtap='currentBargainUser' class='tipBnt'>我也要参与</view>
-        </view>
+    <view class='load font-color' wx:if="{{!limitStatus}}" bindtap='getBargainUser'>点击加载更多</view>
+    <view class='lock'></view>
+  </view>
+  <view class='goodsDetails'>
+    <view class='title font-color acea-row row-center-wrapper'>
+      <view class='pictrue'>
+        <image src='/images/left.png'></image>
+      </view>
+      <view class='titleCon'>商品详情</view>
+      <view class='pictrue on'>
+        <image src='/images/left.png'></image>
+      </view>
+    </view>
+    <view class='conter'>
+      <template is="wxParse" data="{{wxParseData:description.nodes}}" />
+    </view>
+    <view class='lock'></view>
+  </view>
+  <view class='goodsDetails'>
+    <view class='title font-color acea-row row-center-wrapper'>
+      <view class='pictrue'>
+        <image src='/images/left.png'></image>
+      </view>
+      <view class='titleCon'>砍价规则</view>
+      <view class='pictrue on'>
+        <image src='/images/left.png'></image>
+      </view>
+    </view>
+    <view class='conter'>
+      <template is="wxParse" data="{{wxParseData:rule.nodes}}" />
+    </view>
+  </view>
+  <view class='bargainTip {{active==true?"on":""}}'>
+    <view class='pictrue'>
+      <image src='/images/bargainBg.jpg'></image>
+    </view>
+    <view wx:if="{{bargainUid == userInfo.uid }}">
+      <view class='cutOff'>您已砍掉<text class='font-color'>{{bargainUserBargainPrice.price}}</text>元,听说分享次数越多砍价成功的机会越大哦!</view>
+      <button open-type='share' class='tipBnt'>邀请好友帮砍价</button>
+    </view>
+    <view wx:else>
+      <view class='help font-color'>成功帮砍{{bargainUserBargainPrice.price}}元</view>
+      <view class='cutOff on'>您也可以砍价低价拿哦,快去挑选心仪的商品吧~</view>
+      <view bindtap='currentBargainUser' class='tipBnt'>我也要参与</view>
     </view>
-    <view class='mask' catchtouchmove="true" hidden='{{active==false}}' bindtap='close'></view>
+  </view>
+  <view class='mask' catchtouchmove="true" hidden='{{active==false}}' bindtap='close'></view>
 </view>
 <authorize bind:onLoadFun="onLoadFun"></authorize>
 <import src="/wxParse/wxParse.wxml" />

Some files were not shown because too many files changed in this diff