Commit 42c847a484cb097a6b3de7f716f815b07bd25182

Authored by 后端开发-许程
2 parents 7e47a326 94dd68ab

Merge branch 'work1.1_20190926' of http://git.vipzhuang.cn/wxd/MShopWeApp into work1.1_20190926

pages/user/add_comment/add_comment.js
1   -var t = getApp(),oo=t.globalData, a = t.globalData.setting,os=a, e = t.request, s = require("../../../utils/util.js"),
2   - i = require("../../../utils/selectFiles.js");
  1 +var t = getApp(), oo = t.globalData, a = t.globalData.setting, os = a, e = t.request, s = require("../../../utils/util.js"),
  2 + i = require("../../../utils/selectFiles.js");
3 3 var regeneratorRuntime = require('../../../utils/runtime.js');
4 4  
5 5 Page({
6   - data: {
7   - url: a.url,
8   - resourceUrl: a.resourceUrl,
9   - iurl: a.imghost,
10   - defaultPhoto: a.resourceUrl + "/static/images/camera.png",
11   - filePaths: [],
12   - uploadPath: [],
13   - maxWord: 0,
14   - is_anonymous: !1,
15   - goods_rank: 0,
16   - service_rank: 0,
17   - deliver_rank: 0,
18   - content: "",
19   - options: null,
20   - isLongPress: !1,
21   - userinfo:null,
22   - },
23   - onLoad:async function(a) {
24   - var th=this;
25   - console.log('onLoad');
26   - console.log(a);
  6 + data: {
  7 + url: a.url,
  8 + resourceUrl: a.resourceUrl,
  9 + iurl: a.imghost,
  10 + defaultPhoto: a.resourceUrl + "/static/images/camera.png",
  11 + filePaths: [],
  12 + uploadPath: [],
  13 + maxWord: 0,
  14 + is_anonymous: !1,
  15 + goods_rank: 0,
  16 + service_rank: 0,
  17 + deliver_rank: 0,
  18 + content: "",
  19 + options: null,
  20 + isLongPress: !1,
  21 + userinfo: null,
  22 + imgs: [],
  23 + lenMore:0
  24 + },
  25 + onLoad: async function (a) {
  26 + var th = this;
  27 + console.log('onLoad');
  28 + console.log(a);
27 29  
28   - await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+a.goods_id,{1:1}).then(res=>{
29   - a.img=th.data.iurl+res.data.data.original_img
30   - })
  30 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + a.goods_id, { 1: 1 }).then(res => {
  31 + a.img = th.data.iurl + res.data.data.original_img
  32 + })
31 33  
32 34  
33   - this.setData({options: a});
34   - t.getUserInfo(function(e){
35   - console.log(e);
36   - th.setData({
37   - userinfo:e
38   - })
39   - })
40   - },
41   - keyUpChangeNum: function(t) {
42   - this.setData({
43   - maxWord: t.detail.value.length
44   - }), this.data.content = t.detail.value;
45   - },
46   - checkAnonymous: function() {
47   - this.setData({
48   - is_anonymous: !this.data.is_anonymous
  35 + this.setData({ options: a });
  36 + t.getUserInfo(function (e) {
  37 + console.log(e);
  38 + th.setData({
  39 + userinfo: e
  40 + })
  41 + })
  42 + },
  43 + keyUpChangeNum: function (t) {
  44 + this.setData({
  45 + maxWord: t.detail.value.length
  46 + }), this.data.content = t.detail.value;
  47 + },
  48 + checkAnonymous: function () {
  49 + this.setData({
  50 + is_anonymous: !this.data.is_anonymous
  51 + });
  52 + },
  53 + checkGoodsRank: function (t) {
  54 + this.setData({
  55 + goods_rank: parseInt(t.currentTarget.dataset.i) + 1
  56 + });
  57 + },
  58 + checkServiceRank: function (t) {
  59 + this.setData({
  60 + service_rank: parseInt(t.currentTarget.dataset.i) + 1
  61 + });
  62 + },
  63 + checkDeliverRank: function (t) {
  64 + this.setData({
  65 + deliver_rank: parseInt(t.currentTarget.dataset.i) + 1
  66 + });
  67 + },
  68 + selectPhotos: function (t) {
  69 + if (this.data.isLongPress) this.data.isLongPress = !1; else {
  70 + var a = this;
  71 + i.selectPhotos(this.data.filePaths, t.currentTarget.dataset.idx, function (t) {
  72 + a.setData({
  73 + filePaths: t
49 74 });
50   - },
51   - checkGoodsRank: function(t) {
52   - this.setData({
53   - goods_rank: parseInt(t.currentTarget.dataset.i) + 1
54   - });
55   - },
56   - checkServiceRank: function(t) {
57   - this.setData({
58   - service_rank: parseInt(t.currentTarget.dataset.i) + 1
59   - });
60   - },
61   - checkDeliverRank: function(t) {
62   - this.setData({
63   - deliver_rank: parseInt(t.currentTarget.dataset.i) + 1
64   - });
65   - },
66   - selectPhotos: function(t) {
67   - if (this.data.isLongPress) this.data.isLongPress = !1; else {
68   - var a = this;
69   - i.selectPhotos(this.data.filePaths, t.currentTarget.dataset.idx, function(t) {
70   - a.setData({
71   - filePaths: t
72   - });
73   - });
  75 + });
  76 + }
  77 + },
  78 + removePhoto: function (t) {
  79 + var a = this;
  80 + this.data.isLongPress = !0, i.removePhoto(this.data.filePaths, t.currentTarget.dataset.idx, function (t) {
  81 + a.setData({
  82 + filePaths: t
  83 + });
  84 + });
  85 + },
  86 + submitComment: function () {
  87 + var a = this;
  88 + if (!a.data.service_rank || !a.data.goods_rank || !a.data.deliver_rank) return t.showWarning("请先打完分~");
  89 + this.uploadPhotos(function () {
  90 + e.post("/api/weshop/comment/savecomment", {
  91 + data: {
  92 + email: ' ',
  93 + is_show: 1,
  94 + goods_rank: a.data.goods_rank,
  95 + service_rank: a.data.service_rank,
  96 + deliver_rank: a.data.deliver_rank,
  97 + content: a.data.content,
  98 + goods_id: a.data.options.goods_id,
  99 + order_id: a.data.options.order_id,
  100 + user_id: oo.user_id,
  101 + store_id: os.stoid,
  102 + username: a.data.userinfo.nickname
  103 + },
  104 + success: function (a) {
  105 + wx.setStorageSync("user:comment:update", !0), t.showSuccess("评论成功", function () {
  106 + wx.navigateBack();
  107 + });
74 108 }
75   - },
76   - removePhoto: function(t) {
77   - var a = this;
78   - this.data.isLongPress = !0, i.removePhoto(this.data.filePaths, t.currentTarget.dataset.idx, function(t) {
79   - a.setData({
80   - filePaths: t
81   - });
82   - });
83   - },
84   - submitComment: function() {
85   - var a = this;
86   - if (!a.data.service_rank || !a.data.goods_rank || !a.data.deliver_rank) return t.showWarning("请先打完分~");
87   - this.uploadPhotos(function() {
88   - e.post("/api/weshop/comment/savecomment", {
89   - data: {
90   - email:' ',
91   - is_show:1,
92   - goods_rank: a.data.goods_rank,
93   - service_rank: a.data.service_rank,
94   - deliver_rank: a.data.deliver_rank,
95   - content: a.data.content,
96   - goods_id: a.data.options.goods_id,
97   - order_id: a.data.options.order_id,
98   - user_id: oo.user_id,
99   - store_id:os.stoid,
100   - username: a.data.userinfo.nickname
101   - },
102   - success: function(a) {
103   - wx.setStorageSync("user:comment:update", !0), t.showSuccess("评论成功", function() {
104   - wx.navigateBack();
105   - });
106   - }
107   - });
108   - });
109   - },
110   - uploadPhotos: function(t, a) {
111   - if (0 == this.data.filePaths.length) return t();
112   - if ("number" != typeof a) a = 0; else if (a >= this.data.filePaths.length) return t();
113   - var s = this;
114   - e.uploadFile("/api/user/upload_comment_img", {
115   - filePath: s.data.filePaths[a],
116   - name: "img_file",
117   - success: function(e) {
118   - s.data.uploadPath[a] = e.data.result, s.uploadPhotos(t, a + 1);
119   - }
120   - });
121   - },
  109 + });
  110 + });
  111 + },
  112 + uploadPhotos: function (t, a) {
  113 + if (0 == this.data.filePaths.length) return t();
  114 + if ("number" != typeof a) a = 0; else if (a >= this.data.filePaths.length) return t();
  115 + var s = this;
  116 + e.uploadFile("/api/user/upload_comment_img", {
  117 + filePath: s.data.filePaths[a],
  118 + name: "img_file",
  119 + success: function (e) {
  120 + s.data.uploadPath[a] = e.data.result, s.uploadPhotos(t, a + 1);
  121 + }
  122 + });
  123 + },
122 124  
123   - //图片失败,默认图片
124   - bind_bnerr2: function (e) {
  125 + //图片失败,默认图片
  126 + bind_bnerr2: function (e) {
125 127 var _errImg = e.target.dataset.errorimg;
126 128 var _errObj = {};
127   - _errObj[_errImg] = a.imghost+"/public/images/default_goods_image_240.gif";
  129 + _errObj[_errImg] = a.imghost + "/public/images/default_goods_image_240.gif";
128 130 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
129   - }
  131 + },
  132 + // 上传图片
  133 + chooseImg: function (e) {
  134 + var that = this;
  135 + var imgs = this.data.imgs;
  136 + if (imgs.length >= 3) {
  137 + this.setData({
  138 + lenMore: 1
  139 + });
  140 + setTimeout(function () {
  141 + that.setData({
  142 + lenMore: 0
  143 + });
  144 + }, 2500);
  145 + return false;
  146 + }
  147 + wx.chooseImage({
  148 + // count: 1, // 默认9
  149 + sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  150 + sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  151 + success: function (res) {
  152 + // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
  153 + var tempFilePaths = res.tempFilePaths;
  154 + var imgs = that.data.imgs;
  155 + // console.log(tempFilePaths + '----');
  156 + for (var i = 0; i < tempFilePaths.length; i++) {
  157 + if (imgs.length >= 3) {
  158 + that.setData({
  159 + imgs: imgs
  160 + });
  161 + return false;
  162 + } else {
  163 + imgs.push(tempFilePaths[i]);
  164 + }
  165 + }
  166 + // console.log(imgs);
  167 + that.setData({
  168 + imgs: imgs
  169 + });
  170 + }
  171 + });
  172 + },
  173 + // 删除图片
  174 + deleteImg: function (e) {
  175 + var imgs = this.data.imgs;
  176 + var index = e.currentTarget.dataset.index;
  177 + imgs.splice(index, 1);
  178 + this.setData({
  179 + imgs: imgs
  180 + });
  181 + },
  182 + // 预览图片
  183 + previewImg: function (e) {
  184 + //获取当前图片的下标
  185 + var index = e.currentTarget.dataset.index;
  186 + //所有图片
  187 + var imgs = this.data.imgs;
  188 + wx.previewImage({
  189 + //当前显示图片
  190 + current: imgs[index],
  191 + //所有图片
  192 + urls: imgs
  193 + })
  194 + },
  195 +
  196 +
130 197 });
131 198 \ No newline at end of file
... ...
pages/user/add_comment/add_comment.json
1 1 {
2   - "navigationBarTitleText": "评价晒单",
  2 + "navigationBarTitleText": "评价宝贝",
3 3 "enablePullDownRefresh": false
4 4 }
5 5 \ No newline at end of file
... ...
pages/user/add_comment/add_comment.wxml
1   -<view class="goods-mes pd-bg-fff">
  1 +<!-- <view class="goods-mes pd-bg-fff">
2 2 <view class="goods-img">
3 3 <image class="wh100" src="{{options.img}}" binderror="bind_bnerr2" data-errorimg="options.img"></image>
4 4 </view>
... ... @@ -22,7 +22,7 @@
22 22 <!-- <view class="anonymous">
23 23 <icon bindtap="checkAnonymous" color="{{is_anonymous?'red':'gray'}}" size="20" type="success"></icon> 匿名评价
24 24 </view> -->
25   -<view class="score-list pd-bg-fff">
  25 +<!-- <view class="score-list pd-bg-fff">
26 26 <view class="score-title">
27 27 <view>评分</view>
28 28 <view>满意请给5分哦</view>
... ... @@ -48,4 +48,134 @@
48 48 </view>
49 49 <view class="btn-wrap">
50 50 <view bindtap="submitComment" class="submit-btn">提 交</view>
  51 +</view> -->
  52 +<view>
  53 + <!-- 商品评价 -->
  54 + <view class='commodity'>
  55 + <!-- 商品信息 -->
  56 + <view class='information flex-vertical'>
  57 + <image src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3117916781,836883337&fm=26&gp=0.jpg"></image>
  58 + <view class="goods_name xc-black">
  59 + <!-- 商品名称 -->
  60 + <view class='ellipsis-2 fs32'>{{options.goods_name}}我弄饭v的v哦女v绝我弄饭v的v哦女v绝望愤怒冻死我弄饭v的v哦女v绝望愤怒冻死望愤怒冻死</view>
  61 + <!-- 商品价格,数量 -->
  62 + <view class='flex jc_sb balin'>
  63 + <!-- 价格 -->
  64 + <view class='flex-vertical balin'>
  65 + <view class="fs24">¥</view>
  66 + <view class="fs35">{{options.price}}3333.00</view>
  67 + </view>
  68 +
  69 + <!-- 商品数量 -->
  70 + <view class='sum flex-vertical balin xc-black'>
  71 + <view class="fs24">x</view>
  72 + <view class="fs28">1</view>
  73 + </view>
  74 +
  75 + </view>
  76 +
  77 + </view>
  78 +
  79 + </view>
  80 +
  81 +
  82 + <!-- 商品评价信息 -->
  83 + <view class="addComment">
  84 + <textarea class="fs24" placeholder="已经收到商品,快跟大家分享一下宝贝吧!" placeholder-class="fs24" maxlength="500"></textarea>
  85 + <view class="flex addimages">
  86 + <!-- 评论图片集合 -->
  87 + <view class="images">
  88 + <image class="rel" catchtap="previewImg" data-index="{{index}}" src="{{item}}" wx:for="{{imgs}}">
  89 + <image class="abs" src="../../../images/cancel.png" data-index="{{index}}" bindtap="deleteImg"></image>
  90 + </image>
  91 +
  92 + </view>
  93 +
  94 + <!-- 添加图片按钮框架 -->
  95 + <view class="addimage flex-center xc-ash" bindtap="chooseImg">
  96 + <view>
  97 + <view class="flex-center">
  98 + <image src="../../../images/camera.png"></image>
  99 + </view>
  100 + <view class="flex-center fs20">添加图片</view>
  101 + <view class="flex-center fs20">{{imgs.length>0?imgs.length:0}}/3</view>
  102 + </view>
  103 + </view>
  104 +
  105 + </view>
  106 +
  107 +
  108 +
  109 +
  110 +
  111 +
  112 +
  113 +
  114 + </view>
  115 +
  116 +
  117 +
  118 +
  119 +
  120 +
  121 + </view>
  122 +
  123 + <!-- 评价等级 -->
  124 +
  125 + <view class="Grade">
  126 + <!-- 宝贝评分 -->
  127 + <view class="title flex-vertical">
  128 + <view class="column"></view>
  129 + <view class="fs28">宝贝评分</view>
  130 + </view>
  131 +
  132 + <!-- 服务评级 -->
  133 + <view class="score-items">
  134 + <view class="score-item flex-vertical">
  135 + <view class="fs24">描述相符</view>
  136 + <view class="stars flex-vertical">
  137 + <image data-i="{{index}}" src="{{index<goods_rank?iurl+'/miniapp/images/StarsredCk.png':iurl+'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{5}}" wx:key="{{index}}" bindtap="checkGoodsRank"></image>
  138 +
  139 + </view>
  140 + </view>
  141 +
  142 + <view class="score-item flex-vertical">
  143 + <view class="fs24">物流服务</view>
  144 + <view class="stars flex-vertical">
  145 + <image bindtap="checkDeliverRank" data-i="{{index}}" src="{{index<deliver_rank?iurl+'/miniapp/images/StarsredCk.png':iurl+'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{5}}" wx:key="{{index}}"></image>
  146 +
  147 + </view>
  148 + </view>
  149 + <view class="score-item flex-vertical">
  150 + <view class="fs24">服务态度</view>
  151 + <view class="stars flex-vertical">
  152 + <image src="{{index<service_rank?iurl+'/miniapp/images/StarsredCk.png':iurl+'/miniapp/images/StarswhiteUnCk.png'}}" bindtap="checkServiceRank" data-i="{{index}}" wx:for="{{5}}" wx:key="{{index}}"></image>
  153 +
  154 +
  155 + </view>
  156 +
  157 + </view>
  158 +
  159 + </view>
  160 +
  161 + </view>
51 162 </view>
  163 +
  164 +<!-- 是否匿名评价 -->
  165 +<view class=" Whether ">
  166 +
  167 + <!-- 选择是否匿名 -->
  168 + <view class="allClick flex-right-vertical ">
  169 + <icon class="radio " bindtap="checkAnonymous " color="{{is_anonymous? 'white': 'red'}} " size="15 " type="success "></icon>
  170 + <view class="fs24 ">匿名评价</view>
  171 + </view>
  172 +
  173 + <view class="Submission flex-level ">
  174 + <view class="fs30 flex-level white " bindtap="submitComment ">
  175 + 提交评价
  176 + </view>
  177 + </view>
  178 +
  179 +
  180 +
  181 +</view>
52 182 \ No newline at end of file
... ...
pages/user/add_comment/add_comment.wxss
1   -.goods-mes {
  1 +/* .goods-mes {
2 2 height: 100rpx;
3 3 display: flex;
4 4 padding: 30rpx;
... ... @@ -119,4 +119,157 @@
119 119 background-color: #f15353;
120 120 color: #fff;
121 121 margin: auto;
122   -}
123 122 \ No newline at end of file
  123 +} */
  124 +
  125 +/* 商品详情和评价 */
  126 +
  127 +.commodity {
  128 + height: 715rpx;
  129 + border-top: 6rpx solid rgb(245, 245, 245);
  130 + border-bottom: 6rpx solid rgb(245, 245, 245);
  131 + padding: 0rpx 30rpx;
  132 +}
  133 +
  134 +.commodity .information {
  135 + height: 286rpx;
  136 +}
  137 +
  138 +.commodity .information image {
  139 + width: 186rpx;
  140 + height: 186rpx;
  141 +}
  142 +
  143 +.information .goods_name {
  144 + width: 480rpx;
  145 + margin-left: 25rpx;
  146 + height: 186rpx;
  147 +}
  148 +
  149 +.information .goods_name .ellipsis-2 {
  150 + line-height: 40rpx;
  151 + height: 80rpx;
  152 +}
  153 +
  154 +.information .goods_name .jc_sb {
  155 + margin-top: 60rpx;
  156 + color: rgb(212, 28, 52);
  157 + margin-right: 7rpx;
  158 +}
  159 +
  160 +.information .goods_name .jc_sb .fs32 {
  161 + line-height: 40rpx;
  162 +}
  163 +
  164 +.information .goods_name .jc_sb .sum {
  165 + margin-right: 5rpx;
  166 +}
  167 +
  168 +.balin {
  169 + align-items: baseline;
  170 +}
  171 +
  172 +.addComment {
  173 + height: 345rpx;
  174 + width: 690rpx;
  175 + background-color: rgb(248, 248, 248);
  176 + padding: 32rpx 0rpx 21rpx 0rpx;
  177 +}
  178 +
  179 +.addComment textarea {
  180 + padding: 0rpx 18rpx;
  181 + height: 175rpx;
  182 + width: 654rpx;
  183 +}
  184 +
  185 +.addComment .addimages {
  186 + padding: 0rpx 18rpx;
  187 + margin-top: 20rpx;
  188 + align-items: flex-end;
  189 + width: 652rpx;
  190 +}
  191 +
  192 +.addComment .addimages .images {
  193 + height: 140rpx;
  194 +}
  195 +
  196 +.addComment .addimages .images .rel {
  197 + width: 140rpx;
  198 + height: 100%;
  199 + overflow: visible;
  200 + margin-right: 15rpx;
  201 +}
  202 +
  203 +.addComment .addimages .images image .abs {
  204 + width: 30rpx;
  205 + height: 30rpx;
  206 + top: -7rpx;
  207 + right: -7rpx;
  208 +}
  209 +
  210 +.addComment .addimage {
  211 + width: 139rpx;
  212 + height: 139rpx;
  213 + border: 2rpx dashed rgb(196, 196, 196);
  214 + font-size: 16rpx;
  215 + margin-left: 6rpx;
  216 +}
  217 +
  218 +.addComment .addimage image {
  219 + width: 60rpx;
  220 + height: 58rpx;
  221 +}
  222 +
  223 +.Grade {
  224 + width: 100%;
  225 + height: 310rpx;
  226 + border-bottom: 6rpx solid rgb(245, 245, 245);
  227 + padding-left: 45rpx;
  228 +}
  229 +
  230 +.Grade .title {
  231 + width: 100%;
  232 + height: 105rpx;
  233 +}
  234 +
  235 +.Grade .title .column {
  236 + height: 30rpx;
  237 + border-left: 6rpx solid rgb(211, 27, 58);
  238 + margin-right: 12rpx;
  239 +}
  240 +
  241 +.Grade .score-item {
  242 + height: 55rpx;
  243 + line-height: 55rpx;
  244 +}
  245 +
  246 +.Grade .score-item .stars {
  247 + margin-left: 83rpx;
  248 +}
  249 +
  250 +.Grade .score-item .stars image {
  251 + width: 35rpx;
  252 + height: 35rpx;
  253 + margin-right: 28rpx;
  254 +}
  255 +
  256 +.Whether .flex-right-vertical {
  257 + height: 67rpx;
  258 + padding-right: 31rpx;
  259 +}
  260 +
  261 +.Whether .flex-right-vertical .radio {
  262 + margin-right: 15rpx;
  263 +}
  264 +
  265 +.Whether .Submission {
  266 + margin-top: 40rpx;
  267 +}
  268 +
  269 +.Whether .white {
  270 + width: 364rpx;
  271 + height: 58rpx;
  272 + background-color: rgb(212, 28, 52);
  273 + border-radius: 40rpx;
  274 + line-height: 58rpx;
  275 +}
  276 +
... ...
pages/user/collect_list/collect_list.js
1 1 var t = function(t) {
2 2 return t && t.__esModule ? t : {
3   - default: t
  3 + default: t
4 4 };
5   -}(require("../../../utils/LoadMore.js")), e = getApp(), a = e.request, o = new t.default();
6   -var oo = e.globalData.setting, app_d = e.globalData;
  5 + }(require("../../../utils/LoadMore.js")),
  6 + e = getApp(),
  7 + a = e.request,
  8 + o = new t.default();
  9 +var oo = e.globalData.setting,
  10 + app_d = e.globalData;
7 11  
8 12 Page({
9   - data: {
10   - url: e.globalData.setting.imghost,
11   - resourceUrl: e.globalData.setting.resourceUrl,
12   - iurl: e.globalData.setting.imghost,
13   - collects: null,
14   - currentPage: 1
15   - },
16   - onLoad: function() {
17   - o.init(this, "", "collects"), this.requestCollectList();
18   - },
19   - requestCollectList: function() {
20   - var t = this, e = "/api/weshop/goodscollect/list?pageSize=10&user_id="
21   - +app_d.user_id+"&store_id=" + oo.stoid+"&page=" + t.data.currentPage;
22   - o.request(e, function(e) {
23   - console.log("requestCollectList");
24   - console.log(e);
25   - t.data.currentPage++;
  13 + data: {
  14 + url: e.globalData.setting.imghost,
  15 + resourceUrl: e.globalData.setting.resourceUrl,
  16 + iurl: e.globalData.setting.imghost,
  17 + collects: null,
  18 + currentPage: 1,
  19 + curpage: 1,
  20 + collects_Recommend: [],
  21 + ismore: 0,
  22 + iscollects: 0,
  23 + loadName: null,
  24 + editEd: 0, //商品编辑按钮是否点击
  25 + isall: false, //是否全选
  26 + sum: 0,
  27 + total_collects:0,
  28 + total_goods:0,
  29 + pageSize:8,//分页数量
  30 + },
  31 + onLoad: function() {
  32 + o.init(this, "", "collects"),
  33 + this.requestCollectList();
  34 + // this.requestList();
  35 + },
  36 + requestCollectList: function() {
  37 + isShowLoading: 0;
  38 + var th = this;
  39 + e = "/api/weshop/goodscollect/list?" + "pageSize=" + th.data.pageSize +"&user_id=" +
  40 + app_d.user_id + "&store_id=" + oo.stoid + "&page=" + th.data.currentPage;
  41 + o.request(e, function(e) {
  42 + th.data.currentPage++;
  43 +
  44 + if(th.data.total_collects)
  45 + th.setData({ iscollects: 1, total_collects:e.data.data.total})
  46 +
  47 + if (th.data.total_collects<th.data.pageSize){
  48 + th.requestList();
  49 + }
  50 + });
  51 + },
  52 +
  53 + //--到底部刷新---
  54 + onReachBottom: function() {
  55 + if (this.data.currentPage*this.data.pageSize<this.data.total_collects){
  56 + this.requestCollectList();
  57 + }else{
  58 + this.requestList();
  59 + }
  60 +
  61 + },
  62 + cancelCollect: function(t) {
  63 + var e = t.currentTarget.dataset.id,
  64 + o = this;
  65 + a.delete("/api/weshop/goodscollect/del/" + oo.stoid + "/" + e, {
  66 + success: function(t) {
  67 + o.deleteItemData(e);
  68 + }
  69 + });
  70 + },
  71 + deleteItemData: function(t) {
  72 + for (var e = 0; e < this.data.collects.length; e++)
  73 + if (this.data.collects[e].collect_id == t) {
  74 + this.data.collects.splice(e, 1), this.setData({
  75 + collects: this.data.collects
26 76 });
27   - },
28   - onReachBottom: function() {
29   - o.canloadMore() && this.requestCollectList();
30   - },
31   - cancelCollect: function(t) {
32   - var e = t.currentTarget.dataset.id, o = this;
33   - a.delete("/api/weshop/goodscollect/del/" + oo.stoid+"/"+e, {
34   - success: function(t) {
35   - o.deleteItemData(e);
  77 + break;
  78 + }
  79 + },
  80 + //图片失败,默认图片
  81 + bind_bnerr: function (e) {
  82 + var _errImg = e.target.dataset.errorimg;
  83 + var _errObj = {};
  84 + _errObj[_errImg] = this.data.url + "/miniapp/images/del/logo.jpg";
  85 + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  86 +
  87 + },
  88 +
  89 + //图片失败,默认图片
  90 + bind_bnerr2: function(e) {
  91 + var _errImg = e.target.dataset.errorimg;
  92 + var th = this;
  93 + this.setData({
  94 + [_errImg]: th.data.iurl + "/miniapp/images/default_g_img.gif",
  95 + })
  96 + },
  97 +
  98 +
  99 + requestList: function() {
  100 + this.setData({
  101 + loadName: '加载中...'
  102 + })
  103 + var e = this;
  104 + a.get("/api/weshop/goods/page", {
  105 + isShowLoading: 0,
  106 + data: {
  107 + store_id: 1,
  108 + user_id: oo.user_id,
  109 + page: e.data.curpage,
  110 + pageSize: 10
  111 + },
  112 + success: function(t) {
  113 + e.data.curpage++;
  114 + var arr1 = e.data.collects_Recommend;
  115 + var arr2 = t.data.data.pageData;
  116 + var arr3 = [...arr1, ...arr2];
  117 +
  118 + var ismore = 0;
  119 + if (arr3.length == t.data.data.total) ismore = 1
  120 +
  121 + e.setData({
  122 + collects_Recommend: arr3,
  123 + total_goods: t.data.data.total,
  124 + ismore_goods: ismore,
  125 + loadName: null
  126 + }), wx.stopPullDownRefresh();
  127 + }
  128 + });
  129 + },
  130 +
  131 +
  132 + goto: function(ee) {
  133 + // e.goto("/pages/index/index/index");
  134 + wx.switchTab({
  135 + url: '/pages/index/index/index',
  136 + })
  137 + },
  138 + //编辑商品显示
  139 + editcollects: function() {
  140 + var th = this.data;
  141 + var t = this;
  142 + if (th.editEd == 0) {
  143 + t.select_checked(false, null)
  144 + t.setData({
  145 + editEd: 1,
  146 + })
  147 + } else {
  148 + t.select_checked(false, null)
  149 + t.setData({
  150 + editEd: 0
  151 + })
  152 + }
  153 + },
  154 + iconClick: function(e) {
  155 + var th = this.data;
  156 + var index = e.currentTarget.dataset.index;
  157 + var collect = "collects[" + index + "].checked";
  158 + if (this.data.collects[index].checked == true) {
  159 + this.setData({
  160 + [collect]: false,
  161 + isall: 0,
  162 + sum: --th.sum
  163 + })
  164 + } else {
  165 + var id = th.collects[index].collect_id;
  166 + this.setData({
  167 + [collect]: true,
  168 + sum: ++th.sum
  169 + })
  170 + if (th.sum == th.collects.length) {
  171 + this.setData({
  172 + isall: 1
  173 + })
  174 + }
  175 + }
  176 + },
  177 + //全选为收藏商品checked为true
  178 + allClick: function() {
  179 + var th = this;
  180 + //判断是否全选
  181 + if (th.data.isall) {
  182 + for (var i = 0; i <= th.data.collects.length; i++) {
  183 + var collect = "collects[" + i + "].checked";
  184 + this.setData({
  185 + [collect]: false,
  186 + isall: 0
  187 + })
  188 + }
  189 + this.setData({
  190 + sum: 0
  191 + })
  192 + } else {
  193 + for (var i = 0; i <= th.data.collects.length; i++) {
  194 + var collect = "collects[" + i + "].checked";
  195 + this.setData({
  196 + [collect]: true,
  197 + isall: 1
  198 + })
  199 + }
  200 + this.setData({
  201 + sum: th.data.collects.length
  202 + })
  203 + }
  204 + },
  205 + //分页删除
  206 + alldelete: function(e) {
  207 + var th = this;
  208 + // 全选的话直接删除
  209 + if (th.data.isall) {
  210 + a.delete("/api/weshop/goodscollect/removeUser/" + oo.stoid + "/" + app_d.user_id, {
  211 + isShowLoading: 0,
  212 + success: function(e) {
  213 + th.setData({
  214 + collects: []
  215 + })
  216 + getApp().my_warnning("取消成功", 1, th);
  217 +
  218 + }
  219 + })
  220 + } else { //按照多个id删除收藏商品
  221 +
  222 + var new_colls= [];
  223 + var collectId = th.data.collects;
  224 +
  225 + var str="";
  226 + for (var i = 0; i < th.data.collects.length; i++) {
  227 + if (collectId[i].checked) {
  228 + str+= collectId[i].collect_id+",";
  229 + }else{
  230 + new_colls.push(collectId[i]);
  231 + }
  232 + }
  233 + str = str.substr(0, str.length - 1);
  234 + var url = "/api/weshop/goodscollect/removeByIds/" + oo.stoid + "/" + app_d.user_id + "/" + str;
  235 +
  236 + a.delete(url, {
  237 + isShowLoading: 0,
  238 + success: function(e) {
  239 +
  240 + th.setData({
  241 + collects: new_colls,
  242 + sum: 0
  243 + })
  244 + // th.select_checked(false,null);
  245 + getApp().my_warnning("取消收藏成功", 1, th);
36 246 }
37   - });
38   - },
39   - deleteItemData: function(t) {
40   - for (var e = 0; e < this.data.collects.length; e++) if (this.data.collects[e].collect_id== t) {
41   - this.data.collects.splice(e, 1), this.setData({
42   - collects: this.data.collects
43   - });
44   - break;
  247 +
  248 + })
  249 +
  250 + }
  251 + },
  252 + select_checked:function(check,sum){
  253 + var th = this;
  254 + if(sum==null){
  255 + for (var i = 0; i < this.data.collects.length; i++) {
  256 + var collect = "collects[" + i + "].checked";
  257 + th.setData({
  258 + [collect]: check
  259 + })
45 260 }
46   - },
47   -
48   - //图片失败,默认图片
49   - bind_bnerr2: function (e) {
50   - var _errImg = e.target.dataset.errorimg;
51   - var th=this;
52   - this.setData({
53   - [_errImg]: th.data.iurl+"/miniapp/images/default_g_img.gif",
  261 + }else{
  262 + var collect = "collects[" + sum + "].checked";
  263 + th.setData({
  264 + [collect]: check
54 265 })
55   - }
  266 + }
  267 + }
56 268 });
57 269 \ No newline at end of file
... ...
pages/user/collect_list/collect_list.json
1 1 {
2 2 "navigationBarTitleText": "我的收藏",
3   - "enablePullDownRefresh": false
  3 + "enablePullDownRefresh": false,
  4 + "usingComponents": {
  5 + "warn": "/components/long_warn/long_warn"
  6 + }
4 7 }
5 8 \ No newline at end of file
... ...
pages/user/collect_list/collect_list.wxml
1   -<view class="container">
  1 +<!-- <view class="container">
2 2 <view class="collect-ul">
3 3 <view class="collect-li" wx:for="{{collects}}" wx:key="{{index}}">
4 4 <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}">
... ... @@ -18,4 +18,185 @@
18 18 <view class="no-data-title">没有相关的数据</view>
19 19 <navigator class="lookat" openType="switchTab" url="/pages/index/index/index"> 去逛逛 </navigator>
20 20 </view>
  21 +</view> -->
  22 +<!-- 无收藏时显示 -->
  23 +<view class="noCollection" wx:if="{{iscollects==0?false:true && collects.length<1}}">
  24 + <view class="flex-level">
  25 + <image src="../../../images/Nocollection.png"></image>
  26 + </view>
  27 + <view class="flex-level fs30 xc-ash">当前暂无收藏</view>
  28 + <view class="flex-level">
  29 + <navigator url="/pages/index/index/index" bindtap="goto">
  30 + <view class="flex-center fs28 white">去首页逛逛</view>
  31 + </navigator>
  32 + </view>
21 33 </view>
  34 +
  35 +<view class="Collection" wx:if="{{collects.length>0}}">
  36 + <!-- 收藏商品 -->
  37 + <view class="commodity">
  38 + <!-- 商品数量 -->
  39 + <view class="sum flex-vertical-between">
  40 + <view class="flex-center">共{{collects.length}}件商品</view>
  41 + <view class="flex-right-vertical editEd" bindtap="editcollects">{{editEd?'完成':'编辑'}}</view>
  42 + </view>
  43 + <!-- 商品集合 -->
  44 + <view class="{{editEd?'collects_max colls_max':'collects_max'}}">
  45 + <view class="collect flex-vertical" bindtap="iconClick" data-index="{{index}}" wx:for="{{collects}}" wx:key="{{index}}">
  46 + <view class="radioCheck iconClick" wx:if="{{editEd}}">
  47 + <radio color="rgb(214,1,33)" class="scale" checked="{{item.checked==true?true:false}}"></radio>
  48 + </view>
  49 + <!-- 商品图片 -->
  50 + <view class="flex">
  51 + <view class="{{editEd?'collect_image iconrp':'collect_image'}}">
  52 + <image src="{{item.original_img}}" onerror="this.src='../../../images/right.png'"></image>
  53 + </view>
  54 +
  55 + <!-- 商品属性 -->
  56 + <view class="attribute">
  57 +
  58 + <view class="attribute_name ellipsis-2">
  59 + <view class="name fs32">{{item.goods_name}}</view>
  60 + </view>
  61 +
  62 + <!-- 商品价格 -->
  63 + <view class="attribute_money flex-vertical line">
  64 + <view class="money_left flex-vertical line">
  65 + <!-- 优惠价 -->
  66 + <view class="price flex xc-wc">
  67 + <view class="fs24">¥</view>
  68 + <view class="fs40">{{item.shop_price}}</view>
  69 + </view>
  70 + <!-- 原价 -->
  71 + <view class="flex fs20 line through xc-ash">
  72 + <view>零售价:</view>
  73 + <view>¥{{item.market_price}}</view>
  74 + </view>
  75 + </view>
  76 +
  77 + <view class="money_right flex" wx:if="{{!editEd}}">
  78 + <view class="similar flex-level fs20">
  79 + <view>找相似</view>
  80 + </view>
  81 + <image src="../../../images/delete.png" bindtap="cancelCollect" data-id="{{item.collect_id}}"></image>
  82 + </view>
  83 +
  84 + </view>
  85 +
  86 + </view>
  87 +
  88 + </view>
  89 + </view>
  90 +
  91 + </view>
  92 +
  93 + </view>
  94 +
  95 +
  96 +
  97 + <view class="title" wx:if="{{collects.length>0}}">
  98 +
  99 + <!-- <view>
  100 +
  101 + <view class="China flex-level">
  102 + <view class="le flex-vertical">
  103 + <view class="one"></view>
  104 + <view class="two"></view>
  105 + <view class="three"></view>
  106 + </view>
  107 +
  108 + <view class="Recommend flex-level" bindtap="requestList">热门好物</view>
  109 +
  110 + <view class="le flex-vertical">
  111 + <view class="three flex-vertical"></view>
  112 + <view class="two"></view>
  113 + <view class="one"></view>
  114 + </view>
  115 + </view>
  116 +
  117 +
  118 + <view class="english flex-center">
  119 + <view class="silk"></view>
  120 + <view class="esh five-level-word">GOOD HOT THING</view>
  121 + <view class="silk"></view>
  122 + </view>
  123 +
  124 + </view> -->
  125 + <view class="Recommend flex-center">
  126 + <view class="lin"></view>
  127 + <view class="flex-center">
  128 + <image src="../../../images/Diamonds.png"></image>
  129 + <view class="fs28">好物推荐</view>
  130 + </view>
  131 + <view class="lin"></view>
  132 + </view>
  133 +
  134 + <view class="collects">
  135 + <view class="hang ">
  136 +
  137 + <!-- 商品详情 -->
  138 + <view class="collect ib" wx:for="{{collects_Recommend}}">
  139 + <!-- 商品图片 -->
  140 + <image class="sp" src="{{iurl}}{{item.original_img}}" lazy-load="true" binderror="bind_bnerr2" data-url="../../../images/starsred" data-errorimg="../../../images/starsred"></image>
  141 + <view class="bottom">
  142 + <!-- 商品名称 -->
  143 + <view class="goods_name ellipsis-2 fs24">{{item.goods_name}}</view>
  144 + <!-- 商品价格 -->
  145 + <view class="money flex line">
  146 + <!-- 办卡价 -->
  147 + <view class="flex xc-wc line">
  148 + <view class="fs24">¥</view>
  149 + <view class="fs35">{{item.shop_price}}</view>
  150 + </view>
  151 + <!-- 原价 -->
  152 + <view class="price flex xc-ash">
  153 + <view class="fs24">¥</view>
  154 + <view class="fs24">{{item.market_price}}</view>
  155 + </view>
  156 +
  157 + </view>
  158 +
  159 + </view>
  160 +
  161 + </view>
  162 +
  163 + <view wx:if="{{loadName!=null}}" class="load fs26 xc-ash flex-center">{{loadName}}</view>
  164 + </view>
  165 +
  166 + <!-- 加载完毕提示 -->
  167 + <view class="nothing flex-center" wx:if="{{ismore!=0}}">
  168 + <view class="Foil"></view>
  169 + <view class="no_content fs24">没有更多内容了</view>
  170 + <view class="Foil"></view>
  171 + </view>
  172 +
  173 +
  174 +
  175 + </view>
  176 +
  177 + </view>
  178 +
  179 +
  180 +</view>
  181 +<!-- 全选收藏 -->
  182 +<view class="abs flex-vertical" wx:if="{{editEd && collects.length>0}}">
  183 + <view class="left">
  184 + <!-- 全选收藏按钮 -->
  185 + <view class="flex-vertical fs28" bindtap="allClick">
  186 + <radio class="iconUn" color="rgb(214,1,33)" checked="{{isall}}"></radio>
  187 + <view>全选</view>
  188 + </view>
  189 +
  190 + <view class="Number flex-vertical">
  191 + 已选
  192 + <text class="co-red">{{sum>0?sum:'0'}}</text> 件
  193 + </view>
  194 + </view>
  195 + <view class="delete fs30 flex-center white" bindtap="alldelete">
  196 + 删除
  197 + </view>
  198 +
  199 +
  200 +</view>
  201 +
  202 +<warn id="warn"></warn>
22 203 \ No newline at end of file
... ...
pages/user/collect_list/collect_list.wxss
1   -.collect-ul {
  1 +/* .collect-ul {
2 2 width: 100%;
3 3 background-color: #f0f2f5;
4 4 }
... ... @@ -46,4 +46,465 @@
46 46 border-radius: 5rpx;
47 47 color: #686868;
48 48 font-size: 30rpx;
49   -}
50 49 \ No newline at end of file
  50 +} */
  51 +
  52 +page {
  53 + width: 100%;
  54 + background-color: rgb(245, 245, 245);
  55 + overflow-x: hidden;
  56 +}
  57 +
  58 +.Collection {
  59 + overflow-x: hidden;
  60 +}
  61 +
  62 +/* vip开卡框架 */
  63 +
  64 +.vip {
  65 + width: 100%;
  66 + height: 70rpx;
  67 + background-color: rgb(250, 242, 219);
  68 + font-size: 25rpx;
  69 + padding: 0rpx 31rpx;
  70 +}
  71 +
  72 +.vip .vip_image {
  73 + width: 40rpx;
  74 + height: 40rpx;
  75 + background-color: rgb(55, 45, 13);
  76 + border-radius: 50%;
  77 + line-height: 70rpx;
  78 +}
  79 +
  80 +.vip .vip_image image {
  81 + width: 25rpx;
  82 + height: 25rpx;
  83 + line-height: 70rpx;
  84 +}
  85 +
  86 +.vip .vip_describe {
  87 + width: 502prx;
  88 + margin-left: 20rpx;
  89 + padding-right: 172rpx;
  90 + line-height: 70rpx;
  91 + border-right: 4rpx solid #000;
  92 + height: 25rpx;
  93 +}
  94 +
  95 +.vip .vip_describe .vip_province_money {
  96 + color: rgb(254, 0, 0);
  97 +}
  98 +
  99 +.vip .vip_card {
  100 + margin-left: 17rpx;
  101 + line-height: 70rpx;
  102 +}
  103 +
  104 +.vip .vip_card .vip_go_image {
  105 + margin-left: 10rpx;
  106 +}
  107 +
  108 +.vip .vip_card .vip_immediately {
  109 + color: rgb(56, 47, 14);
  110 +}
  111 +
  112 +.vip .vip_card .vip_go_image image {
  113 + width: 35rpx;
  114 + height: 35rpx;
  115 +}
  116 +
  117 +.commodity {
  118 + width: 100%;
  119 +}
  120 +
  121 +/* 无收藏样式 */
  122 +
  123 +.noCollection image {
  124 + width: 329rpx;
  125 + height: 229rpx;
  126 + margin-top: 202rpx;
  127 +}
  128 +
  129 +.noCollection .xc-ash {
  130 + margin-top: 41rpx;
  131 + font-weight: 600px;
  132 +}
  133 +
  134 +.noCollection navigator {
  135 + margin-top: 73rpx;
  136 + border-radius: 40rpx;
  137 +}
  138 +
  139 +.noCollection navigator view {
  140 + width: 247rpx;
  141 + height: 56rpx;
  142 + background-color: rgb(255, 72, 72);
  143 + border-radius: 40rpx;
  144 +}
  145 +
  146 +/* 商品详情 */
  147 +
  148 +.commodity .sum {
  149 + font-size: 25rpx;
  150 + height: 70rpx;
  151 + background-color: rgb(245, 245, 245);
  152 + padding-left: 31rpx;
  153 + color: rgb(131, 131, 131);
  154 +}
  155 +
  156 +.commodity .sum view {
  157 + height: 100%;
  158 + letter-spacing: 1rpx;
  159 +}
  160 +
  161 +.commodity .sum .editEd {
  162 + width: 100rpx;
  163 + padding-right: 31rpx;
  164 +}
  165 +
  166 +.colls_max {
  167 + padding-left: 30rpx;
  168 +}
  169 +
  170 +.commodity .collects_max .collect {
  171 + width: 100%;
  172 + height: 244rpx;
  173 + border-bottom: 4rpx solid rgb(245, 245, 245);
  174 + background-color: rgb(255, 255, 255);
  175 + padding-right: 31rpx;
  176 +}
  177 +
  178 +.commodity .collects_max .collect .collect_image {
  179 + height: 183rpx;
  180 + width: 183rpx;
  181 + margin-left: 31rpx;
  182 +}
  183 +
  184 +.commodity .collects_max .collect .iconrp {
  185 + margin-left: 0rpx;
  186 +}
  187 +
  188 +.commodity .collects_max .collect .collect_image image {
  189 + width: 100%;
  190 + height: 100%;
  191 +}
  192 +
  193 +.commodity .collects_max .collect .attribute {
  194 + line-height: 68rpx;
  195 + height: 183rpx;
  196 + margin-left: 21rpx;
  197 +}
  198 +
  199 +.commodity .collects_max .collect .attribute .attribute_name {
  200 + height: 68rpx;
  201 + align-items: center;
  202 + width: 474rpx;
  203 +}
  204 +
  205 +.commodity .collects_max .collect .attribute .attribute_name .name {
  206 + line-height: 35rpx;
  207 +}
  208 +
  209 +.commodity .collects_max .collect .attribute .attribute_money {
  210 + margin-top: 60rpx;
  211 + display: flex;
  212 + justify-content: space-between;
  213 + height: 50rpx;
  214 + align-items: flex-end;
  215 +}
  216 +
  217 +.commodity .collects_max .money_left {
  218 + height: 54rpx;
  219 +}
  220 +
  221 +.commodity .collects_max .collect .attribute .attribute_money .money_left .price {
  222 + font-weight: 1000rpx;
  223 + color: rgb(212, 28, 52);
  224 + margin-right: 10rpx;
  225 + align-items: baseline;
  226 +}
  227 +
  228 +.commodity .collects_max .collect .attribute .attribute_money .money_right {
  229 + align-items: flex-end;
  230 + padding-bottom: 1rpx;
  231 +}
  232 +
  233 +.commodity .collects_max .collect .attribute .attribute_money .money_right .similar {
  234 + width: 90rpx;
  235 + height: 29rpx;
  236 + border-radius: 21rpx;
  237 + border: 1rpx solid rgb(147, 147, 147);
  238 + font-size: 18rpx;
  239 + margin-right: 22rpx;
  240 + color: rgb(89, 89, 89);
  241 + align-items: center;
  242 +}
  243 +
  244 +.commodity .collects_max .collect .attribute .attribute_money .money_right view {
  245 + height: 27rpx;
  246 + line-height: 27rpx;
  247 +}
  248 +
  249 +.commodity .collects_max .collect .attribute .attribute_money .money_right image {
  250 + width: 25rpx;
  251 + height: 29rpx;
  252 + margin-right: 10rpx;
  253 + margin-bottom: 1rpx;
  254 +}
  255 +
  256 +.line {
  257 + align-items: baseline;
  258 +}
  259 +
  260 +.title .collect {
  261 + background-color: rgb(255, 255, 255);
  262 +}
  263 +
  264 +/* 热门好物 */
  265 +
  266 +/* .title .China {
  267 + width: 100%;
  268 + margin-top: 50rpx;
  269 + margin-bottom: 10rpx;
  270 + line-height: 0rpx;
  271 +}
  272 +
  273 +.title .China .lin view {
  274 + width: 2rpx;
  275 +}
  276 +
  277 +.title .China .le {
  278 + height: 40rpx;
  279 + color: rgb(51,51, 51);
  280 +}
  281 +
  282 +.title .China .line .one {
  283 + height: 23rpx;
  284 + background-color: #000;
  285 + margin-left: 5rpx;
  286 +}
  287 +
  288 +.title .China .line .two {
  289 + height: 15rpx;
  290 + background-color: #000;
  291 + margin-left: 5rpx;
  292 +}
  293 +
  294 +.title .China .line .three {
  295 + height: 18rpx;
  296 + background-color: #000;
  297 + margin-left: 5rpx;
  298 +}
  299 +
  300 +.title .China .Recommend {
  301 + margin: 0rpx 20rpx;
  302 + font-size: 28rpx;
  303 + line-height: 39rpx;
  304 + font-weight: bold;
  305 +}
  306 +
  307 +.title .english .silk {
  308 + width: 214rpx;
  309 + height: 2rpx;
  310 + background-color: #000;
  311 +}
  312 +
  313 +.title .english .esh {
  314 + margin: 0rpx 15rpx;
  315 +} */
  316 +
  317 +/* .collects {
  318 + margin-top: 40rpx;
  319 +} */
  320 +
  321 +.Recommend {
  322 + height: 95rpx;
  323 + padding-top: 7rpx;
  324 +}
  325 +
  326 +.Recommend .lin {
  327 + width: 210rpx;
  328 + height: 2rpx;
  329 + background-color: rgb(167, 167, 167);
  330 +}
  331 +
  332 +.Recommend .flex-center {
  333 + margin: 0 20rpx;
  334 + color: rgb(51, 51, 51);
  335 + font-weight: bold;
  336 +}
  337 +
  338 +.Recommend .flex-center image {
  339 + margin-right: 5rpx;
  340 + width: 32rpx;
  341 + height: 29rpx;
  342 +}
  343 +
  344 +.hang {
  345 + width: 100%;
  346 + margin: auto;
  347 + padding-left: 31rpx;
  348 +}
  349 +
  350 +.hang .collect {
  351 + width: 335rpx;
  352 + height: 503rpx;
  353 + border-radius: 23rpx;
  354 + border: 1rpx solid rgb(214, 214, 214);
  355 + overflow: hidden;
  356 + margin-right: 14rpx;
  357 + margin-bottom: 10rpx;
  358 +}
  359 +
  360 +.collect .bottom {
  361 + padding: 0rpx 16rpx;
  362 +}
  363 +
  364 +.collect .bottom .goods_name {
  365 + height: 68rpx;
  366 +}
  367 +
  368 +.collect .sp {
  369 + width: 100%;
  370 + height: 315rpx;
  371 +}
  372 +
  373 +.collect .money {
  374 + margin-top: 40rpx;
  375 + line-height: 28rpx;
  376 + align-items: baseline;
  377 +}
  378 +
  379 +.collect .money view {
  380 + display: flex;
  381 + align-items: baseline;
  382 + font-weight: 1000rpx;
  383 +}
  384 +
  385 +.collect .Discount {
  386 + width: 156rpx;
  387 + height: 28rpx;
  388 + border-radius: 20rpx;
  389 + background-color: rgb(56, 56, 56);
  390 + font-size: 18rpx;
  391 + color: rgb(255, 255, 255);
  392 +}
  393 +
  394 +.collect .Discount image {
  395 + height: 18rpx;
  396 + width: 18rpx;
  397 + line-height: 28rpx;
  398 + margin-right: 3rpx;
  399 +}
  400 +
  401 +.collect.ml20 {
  402 + margin-left: 13rpx;
  403 +}
  404 +
  405 +.fs24.dollar {
  406 + padding: 0rpx;
  407 +}
  408 +
  409 +.through {
  410 + text-decoration: line-through;
  411 + color: rgb(155, 155, 155);
  412 + margin-left: 7rpx;
  413 +}
  414 +
  415 +.money .price {
  416 + margin-left: 12rpx;
  417 + text-decoration: line-through;
  418 +}
  419 +
  420 +.money .price view {
  421 + display: flex;
  422 + align-items: flex-end;
  423 +}
  424 +
  425 +.province {
  426 + line-height: 28rpx;
  427 +}
  428 +
  429 +.nothing {
  430 + height: 75rpx;
  431 + width: 100%;
  432 +}
  433 +
  434 +.nothing .no_content {
  435 + margin: 0rpx 11rpx;
  436 + color: rgb(138, 138, 138);
  437 +}
  438 +
  439 +.nothing .Foil {
  440 + width: 80rpx;
  441 + height: 2rpx;
  442 + background-color: rgb(138, 138, 138);
  443 +}
  444 +
  445 +.iconUn {
  446 + margin-left: 15rpx;
  447 + margin-right: 21rpx;
  448 + transform: scale(1.0);
  449 +}
  450 +
  451 +.Un {
  452 + margin-left: 0rpx;
  453 +}
  454 +
  455 +.iconClick {
  456 + margin-left: 21rpx;
  457 + margin-right: 16rpx;
  458 +}
  459 +
  460 +.radioCheck {
  461 + height: 100%;
  462 + display: flex;
  463 + align-items: center;
  464 + width: 65rpx;
  465 + justify-content: center;
  466 +}
  467 +
  468 +.scale {
  469 + transform: scale(0.8);
  470 +}
  471 +
  472 +.load {
  473 + width: 100%;
  474 + height: 80rpx;
  475 + padding: 0rpx 31rpx;
  476 +}
  477 +
  478 +.abs {
  479 + position: fixed;
  480 + left: 0rpx;
  481 + bottom: 0rpx;
  482 + height: 100rpx;
  483 + background-color: rgb(255, 255, 255);
  484 + width: 100%;
  485 +}
  486 +
  487 +.abs .left {
  488 + display: flex;
  489 + justify-content: space-between;
  490 + width: 515rpx;
  491 + padding-left: 31rpx;
  492 +}
  493 +
  494 +.abs .allClick {
  495 + margin-left: 31rpx;
  496 +}
  497 +
  498 +.abs icon {
  499 + margin-right: 31rpx;
  500 +}
  501 +
  502 +.abs .delete {
  503 + width: 235rpx;
  504 + height: 100%;
  505 + background-color: rgb(219, 27, 52);
  506 +}
  507 +
  508 +.abs .Number {
  509 + margin-right: 18rpx;
  510 + letter-spacing: 0rpx;
  511 +}
... ...