Commit 120c72ad9367fe98daebe41e11fc586632aeea31

Authored by 后端研发-苏泰源
1 parent ef0d3dcb

美业卡项

app.wxss
... ... @@ -135,6 +135,7 @@
135 135 box-sizing: border-box;
136 136 }
137 137  
  138 +
138 139 .c-green {
139 140 color: #7CFC00;
140 141 }
... ... @@ -159,6 +160,14 @@
159 160 color: #c7c7c7;
160 161 }
161 162  
  163 +.c-6 {
  164 + color: #666;
  165 +}
  166 +
  167 +.c-9 {
  168 + color: #999;
  169 +}
  170 +
162 171  
163 172  
164 173 .c-d {
... ... @@ -232,6 +241,11 @@
232 241 margin-top: 30rpx;
233 242 }
234 243  
  244 +.mgt40 {
  245 + margin-top: 40rpx;
  246 +}
  247 +
  248 +
235 249 .h68 {
236 250 height: 68rpx;
237 251 }
... ... @@ -729,9 +743,9 @@ background: #ffe3e2;
729 743 /* 图标字体(ty) */
730 744 @font-face {
731 745 font-family: 'iconfont'; /* Project id 2054717 */
732   - src: url('//at.alicdn.com/t/font_2054717_kwrwze5y6c.woff2?t=1635844276600') format('woff2'),
733   - url('//at.alicdn.com/t/font_2054717_kwrwze5y6c.woff?t=1635844276600') format('woff'),
734   - url('//at.alicdn.com/t/font_2054717_kwrwze5y6c.ttf?t=1635844276600') format('truetype');
  746 + src: url('//at.alicdn.com/t/font_2054717_y42sikta7lc.woff2?t=1642407649188') format('woff2'),
  747 + url('//at.alicdn.com/t/font_2054717_y42sikta7lc.woff?t=1642407649188') format('woff'),
  748 + url('//at.alicdn.com/t/font_2054717_y42sikta7lc.ttf?t=1642407649188') format('truetype');
735 749 }
736 750  
737 751 .iconfont {
... ... @@ -742,6 +756,18 @@ background: #ffe3e2;
742 756 -moz-osx-font-smoothing: grayscale;
743 757 }
744 758  
  759 +.icon-shangpin:before {
  760 + content: "\e661";
  761 +}
  762 +
  763 +.icon-bankcard:before {
  764 + content: "\e693";
  765 +}
  766 +
  767 +.icon-tongbu:before {
  768 + content: "\e6ca";
  769 +}
  770 +
745 771 .icon-luck:before {
746 772 content: "\e621";
747 773 }
... ...
packageA/pages/details_serviceCard/details_serviceCard.js
1 1 // packageA/pages/details_serviceCard/details_serviceCard.js
  2 +const app = getApp();
  3 +const os = app.globalData.setting;
  4 +let self = null;
  5 +
2 6 Page({
3 7  
4   - /**
5   - * 页面的初始数据
6   - */
7   - data: {
  8 + /**
  9 + * 页面的初始数据
  10 + */
  11 + data: {
  12 + is_summit_ing: 0,
  13 + },
  14 +
  15 + /**
  16 + * 生命周期函数--监听页面加载
  17 + */
  18 + onLoad: function(options) {
  19 + self = this;
  20 + this.data.options = options;
  21 + app.isLogin().then(function(data) {
  22 + self.setData({
  23 + userInfo: data,
  24 + });
  25 + self.getConfig();
  26 + });
  27 + },
  28 +
  29 + /**
  30 + * 生命周期函数--监听页面初次渲染完成
  31 + */
  32 + onReady: function() {
  33 +
  34 + },
  35 +
  36 + /**
  37 + * 生命周期函数--监听页面显示
  38 + */
  39 + onShow: function() {
  40 + if (app.globalData.userInfo) {
  41 + if (!this.data.isLogin) {
  42 + this.setData({
  43 + userInfo: app.globalData.userInfo,
  44 + imghost: app.globalData.setting.imghost,
  45 + isLogin: true,
  46 + });
  47 +
  48 + let url = '/api/weshop/recharge/user/page'
  49 + let data = {
  50 + store_id: app.globalData.setting.stoid,
  51 + user_id: this.data.userInfo.user_id,
  52 + order_id: this.data.options.order_id,
  53 + };
  54 +
  55 + // 请求数据
  56 + app.promiseGet(url, {
  57 + data: data,
  58 + }).then(res => {
  59 + if (res.data.code == 0) {
  60 + console.log('请求成功', res);
  61 + this.setData({
  62 + details: res.data.data.pageData[0],
  63 + });
  64 + } else {
  65 + throw (res);
  66 + };
  67 + }).catch(err => {
  68 + wx.showToast({
  69 + title: err.data.data,
  70 + icon: 'error',
  71 + });
  72 + });
  73 +
  74 + };
  75 + };
  76 + },
  77 +
  78 + /**
  79 + * 生命周期函数--监听页面隐藏
  80 + */
  81 + onHide: function() {
  82 +
  83 + },
  84 +
  85 + /**
  86 + * 生命周期函数--监听页面卸载
  87 + */
  88 + onUnload: function() {
  89 +
  90 + },
  91 +
  92 + /**
  93 + * 页面相关事件处理函数--监听用户下拉动作
  94 + */
  95 + onPullDownRefresh: function() {
  96 +
  97 + },
  98 +
  99 + /**
  100 + * 页面上拉触底事件的处理函数
  101 + */
  102 + onReachBottom: function() {
  103 +
  104 + },
  105 +
  106 + /**
  107 + * 用户点击右上角分享
  108 + */
  109 + onShareAppMessage: function() {
  110 +
  111 + },
  112 +
  113 +
  114 + // 内容复制到剪贴板
  115 + copy() {
  116 + console.log('点击了复制按钮');
  117 + wx.setClipboardData({
  118 + data: this.data.details.order_sn,
  119 + success(res) {
  120 + wx.getClipboardData({
  121 + success(res) {
  122 + console.log(res.data);
  123 + }
  124 + })
  125 + }
  126 + })
  127 + },
  128 +
  129 +
  130 + // 图片异常时加载默认图片
  131 + bind_bnerr(e) {
  132 + var errImg = e.currentTarget.dataset.errorimg;
  133 + var errObj = {};
  134 + errObj[errImg] = 'public/images/default_goods_image_240.gif';
  135 + this.setData(errObj); // this.setData({ details.list[0].img_url});
  136 + },
  137 +
  138 +
  139 + // 查看商品详情
  140 + viewDetails(e) {
  141 + let goods_id = e.currentTarget.dataset.gid;
  142 + let url = '/packageA/pages/goodsInfo/goodsInfo?goods_id=' + goods_id;
  143 + app.goto(url);
  144 + },
  145 +
  146 + // 获取系统参数
  147 + getConfig() {
  148 + app.getConfig2(function(e) {
  149 + // console.log('101',e);
  150 + let json_d = JSON.parse(e.switch_list);
  151 + self.setData({
  152 + sys_switch: json_d,
  153 + // weapp_customertype: json_d.weapp_customertype,
  154 + });
  155 + }, 1);
  156 + },
  157 +
  158 +
  159 + // 联系微信客服
  160 + contact_wx() {
  161 + var url = this.data.sys_switch.weapp_customertype_url;
  162 + var id = this.data.sys_switch.weapp_customertype_appid;
  163 + wx.openCustomerServiceChat({
  164 + extInfo: {
  165 + url: url
  166 + },
  167 + corpId: id,
  168 + success(res) {}
  169 + })
  170 + },
  171 +
  172 +
  173 + // 联系电话客服
  174 + contactService() {
  175 + app.getConfig(function(t) {
  176 + if (t.store_tel == undefined) {
  177 + app.request.get('/api/weshop/store/get/' + os.stoid, {
  178 + isShowLoading: 1,
  179 + data: {},
  180 + success: function(rs) {
  181 + app.globalData.config = rs.data.data;
  182 + if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
  183 + app.my_warnning('商家未设置电话', 0, self);
  184 + return false;
  185 + }
  186 + app.confirmBox('请联系客服:' + rs.data.data.store_tel);
  187 + }
  188 + })
  189 + } else {
  190 + app.confirmBox('请联系客服:' + t.store_tel);
  191 + }
  192 + });
  193 + },
  194 +
  195 +
  196 + // 评价商品
  197 + access() {
  198 + let listLength = this.data.details.list.length;
  199 + let order_id = this.data.details.order_id;
  200 + let url = '';
  201 +
  202 + // 卡项订单跳转到评论页要多加个参数card=1
  203 + // 卡项订单goods_id要带card_id
  204 + if (listLength == 1) {
  205 + let price = this.data.details.list[0].price;
  206 + let card_id = this.data.details.list[0].card_id;
  207 + url =
  208 + `/packageB/pages/user/add_comment/add_comment?card=1&goods_id=${card_id}&order_id=${order_id}&price=${price}`
  209 + };
  210 + if (listLength > 1) {
  211 + url = `/packageB/pages/user/comment/comment?card=1&status=0&order_id=${order_id}`;
  212 + };
  213 + f
  214 + // console.log('url', url);
  215 + app.goto(url);
  216 + },
  217 +
  218 +
  219 + // 查看评论
  220 + viewComment() {
  221 + let order_id = this.data.details.order_id;
  222 + let card_id = this.data.details.list[0].card_id;
  223 + let listLength = this.data.details.list.length;
  224 + let url = '';
  225 +
  226 + // 卡项订单单个商品
  227 + if (listLength == 1) {
  228 + url = `/packageB/pages/user/view_comment/view_comment?card=1&goods_id=${card_id}&order_id=${order_id}`;
  229 + };
  230 + // 卡项订单多个商品
  231 + if (listLength > 1) {
  232 + // status控制评论列表页的activeStatus
  233 + url = `/packageB/pages/user/comment/comment?card=1&status=1&order_id=${order_id}`;
  234 + };
  235 +
  236 + app.goto(url);
  237 + },
  238 +
  239 +
  240 + // 再来一单
  241 + buy2(t) {
  242 + let details = this.data.details;
  243 + var th = this;
  244 + var ind = 1; // 1:加入购物车
  245 + // var ind = t.currentTarget.dataset.openSpecModal_ind;
  246 + // var action= t.currentTarget.dataset.action;
  247 + var action = 'add'; //
  248 + // if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind;
  249 +
  250 + th.setData({
  251 + open_ind_store: ind
  252 + });
  253 +
  254 + // if(!th.data.sto_sele_name){
  255 + // getApp().my_warnning('请选择门店', 1, th, 450);
  256 + // return false;
  257 + // }
  258 +
  259 +
  260 + if (action == "buy") {
  261 + //--------------此时操作的数据------------
  262 + // var newd = {
  263 + // id: th.data.data.id,
  264 + // goods_num: th.data.goodsInputNum,
  265 + // pick_id: th.data.sto_sele_id,
  266 + // keyid: th.data.sto_sele_keyid,
  267 + // };
  268 + // newd['pick_name'] = th.data.sto_sele_name;
  269 + // newd['guide_id'] = getApp().globalData.guide_id;
  270 + // newd['guide_type']=0;
  271 + // th.buyNow(newd);
  272 + } else {
  273 +
  274 + var newd = {
  275 + // service_id: th.data.data.id,
  276 + // service_sn:th.data.data.service_sn,
  277 + // service_name:th.data.data.goods_name,
  278 + // goods_num: th.data.goodsInputNum,
  279 + // pick_id: th.data.sto_sele_id,
  280 + // user_id:oo.user_id,
  281 + // store_id:os.stoid,
  282 + // money:th.data.data.shop_price,
  283 +
  284 + service_id: details.list[0].card_id,
  285 + service_sn: details.list[0].service_sn,
  286 + service_name: details.list[0].service_name,
  287 + goods_num: details.list[0].qty,
  288 + pick_id: details.list[0].pickup_id,
  289 + user_id: this.data.userInfo.user_id,
  290 + store_id: app.globalData.setting.stoid,
  291 + money: details.list[0].price,
  292 + };
  293 + if (getApp().globalData.guide_id) {
  294 + newd['guide_id'] = getApp().globalData.guide_id;
  295 + newd['guide_type'] = 0;
  296 + }
  297 +
  298 + //----先看会员在购物车中是否加入了该商品-----
  299 + app.request.get("/api/weshop/cartService/page", {
  300 + data: {
  301 + store_id: app.globalData.setting.stoid,
  302 + user_id: this.data.userInfo.user_id,
  303 + service_id: details.list[0].card_id,
  304 + pick_id: details.list[0].pickup_id,
  305 + },
  306 + success: function(re) {
  307 +
  308 + //-------如果购物车中有相关的数据---------
  309 + if (re.data.data.total > 0) {
  310 + var item = re.data.data.pageData[0];
  311 + var updata = {
  312 + id: item.id,
  313 + goods_num: details.list[0].qty + item.goods_num,
  314 + money: details.list[0].price,
  315 + store_id: app.globalData.setting.stoid,
  316 + };
  317 +
  318 + if (getApp().globalData.guide_id) {
  319 + updata['guide_id'] = getApp().globalData.guide_id;
  320 + updata['guide_type'] = 1;
  321 + }
  322 + getApp().request.put("/api/weshop/cartService/update", {
  323 + data: updata,
  324 + success: function(t) {
  325 + // getApp().my_warnning('加入购物车成功', 1, th, 450);
  326 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  327 + th.setData({
  328 + cartGoodsNum: c_num
  329 + });
  330 + app.goto('/pages/cart/cart/cart');
  331 + // th.closeSpecModal();
  332 + }
  333 + });
  334 + } else {
  335 +
  336 + getApp().request.post("/api/weshop/cartService/save", {
  337 + data: newd,
  338 + success: function(t) {
  339 + // getApp().my_warnning('加入购物车成功', 1, th, 450);
  340 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  341 + th.setData({
  342 + cartGoodsNum: c_num
  343 + });
  344 + app.goto('/pages/cart/cart/cart');
  345 + // th.closeSpecModal();
  346 + }
  347 + });
  348 + }
  349 + }
  350 + });
  351 +
  352 + }
  353 + },
  354 +
  355 +
  356 + // 取消订单
  357 + // api/weshop/recharge/update?store_id=&order_id=&order_status=3
  358 + cancle() {
  359 + wx.showModal({
  360 + title: '提示',
  361 + content: '确定取消订单吗?',
  362 + success(res) {
  363 + if (res.confirm) {
  364 + console.log('用户点击确定');
  365 + let order_id = self.data.details.order_id;
  366 + let order_sn = self.data.details.order_sn;
  367 + app.request.put('/api/weshop/recharge/update', {
  368 + data: {
  369 + store_id: os.stoid,
  370 + order_id: order_id,
  371 + order_sn: order_sn,
  372 + order_status: 3,
  373 + },
  374 + success: function(res) {
8 375  
9   - },
  376 + //取消成功刷新订单
  377 + let url = '/api/weshop/recharge/user/page'
  378 + let data = {
  379 + store_id: app.globalData.setting.stoid,
  380 + user_id: self.data.userInfo.user_id,
  381 + order_id: self.data.options.order_id,
  382 + };
10 383  
11   - /**
12   - * 生命周期函数--监听页面加载
13   - */
14   - onLoad: function (options) {
  384 + // 请求数据
  385 + app.promiseGet(url, {
  386 + data: data,
  387 + }).then(res => {
  388 + if (res.data.code == 0) {
  389 + console.log('请求成功', res);
  390 + wx.showToast({
  391 + title: '取消成功',
  392 + });
  393 + self.setData({
  394 + details: res.data.data.pageData[0],
  395 + });
  396 + } else {
  397 + throw (res);
  398 + };
  399 + }).catch(err => {
  400 + wx.showToast({
  401 + title: err.data.data,
  402 + icon: 'error',
  403 + });
  404 + });
15 405  
16   - },
  406 + },
  407 + })
  408 + } else if (res.cancel) {
  409 + console.log('用户点击取消');
  410 + }
  411 + }
  412 + });
  413 + },
17 414  
18   - /**
19   - * 生命周期函数--监听页面初次渲染完成
20   - */
21   - onReady: function () {
22 415  
23   - },
  416 + // 立即支付
  417 + pay() {
  418 + let order_sn = this.data.details.order_sn;
  419 + let store_id = app.globalData.setting.stoid;
24 420  
25   - /**
26   - * 生命周期函数--监听页面显示
27   - */
28   - onShow: function () {
  421 + app.request.post('/api/weshop/order/pay/createRechargeOrder', {
  422 + data: {
  423 + parentSn: order_sn,
  424 + store_id: store_id,
  425 + },
29 426  
30   - },
  427 + success: function(res) {
  428 + var n = res.data.data;
  429 + self.weixinPay(n, function() {
  430 + app.showWarning('支付成功');
  431 + // setTimeout(function() {
  432 + // wx.reLaunch({
  433 + // url: '/pages/user/my_service/i_service',
  434 + // })
  435 + // }, 1000)
  436 + }, function() {
  437 + app.showWarning('支付失败');
  438 + // setTimeout(function() {
  439 + // wx.reLaunch({
  440 + // url: '/packageA/pages/cardList/cardList',
  441 + // })
  442 + // }, 1000)
  443 + });
  444 + }
  445 + })
  446 + },
31 447  
32   - /**
33   - * 生命周期函数--监听页面隐藏
34   - */
35   - onHide: function () {
36 448  
37   - },
  449 + //------调起支付框--------
  450 + weixinPay: function(n, success, fail) {
  451 + if (!n) return false;
  452 + wx.requestPayment({
  453 + timeStamp: String(n.timeStamp),
  454 + nonceStr: n.nonceStr,
  455 + package: n.packageValue,
  456 + signType: n.signType,
  457 + paySign: n.paySign,
  458 + success: function(n) {
  459 + console.log(n), getApp().showSuccess("支付成功!");
  460 + "function" == typeof success && success();
  461 + wx.redirectTo({
  462 + url: "../deposit/deposit"
  463 + });
  464 + },
  465 + fail: function(n) {
  466 + console.log(n), "requestPayment:fail" == n.errMsg ? getApp().showWarning("支付失败") :
  467 + "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败:" + n
  468 + .errMsg.substr("requestPayment:fail ".length)),
  469 + "function" == typeof fail && fail();
  470 + }
  471 + });
  472 + },
38 473  
39   - /**
40   - * 生命周期函数--监听页面卸载
41   - */
42   - onUnload: function () {
43 474  
44   - },
45 475  
46   - /**
47   - * 页面相关事件处理函数--监听用户下拉动作
48   - */
49   - onPullDownRefresh: function () {
50 476  
51   - },
52 477  
53   - /**
54   - * 页面上拉触底事件的处理函数
55   - */
56   - onReachBottom: function () {
57 478  
58   - },
59 479  
60   - /**
61   - * 用户点击右上角分享
62   - */
63   - onShareAppMessage: function () {
64 480  
65   - }
66   -})
67 481 \ No newline at end of file
  482 +})
... ...
packageA/pages/details_serviceCard/details_serviceCard.wxml
  1 +<wxs module="filter" src="../../../utils/filter.wxs"></wxs>
  2 +
1 3 <view class="main">
2 4 <view class="bg-white pdh20 bdr12">
3   - <!-- 门店名称栏 -->
4   - <view class="flex jc_sb ai_c pdv20">
5   - <view class="ellipsis-1 pdr40 fs30"><text class="iconfont icon-shop c-red pdr10"></text>门店名称名称名称名称名称名称名称名称名称名称</view>
6   - <text class="c-red shrink0 fs26">待评价</text>
7   - </view>
8   - <!-- 列表栏 -->
9   - <view>
10   - <view class="flex pdv20">
11   - <view class="pic-box shrink0"><image class="img-block" src="../../images/wx2.png"></image></view>
12   - <view class="pdl20 f1">
13   - <view class="flex jc_sb ai_c">
14   - <view class="title ellipsis-2 pdr40">我是商品标题</view>
15   - <text class="rmb c-6">10</text>
  5 + <block wx:for="{{details.list}}">
  6 + <!-- 门店名称栏 -->
  7 + <view class="flex jc_sb ai_c pdv20">
  8 + <view class="ellipsis-1 pdr40 fs30"><text class="iconfont icon-shop c-red pdr10"></text>{{item.pickup_name}}</view>
  9 + <!-- 订单状态 -->
  10 + <block>
  11 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 0}}">待支付</text>
  12 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 1}}">待评价</text>
  13 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 2}}">已评价</text>
  14 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 3}}">已取消</text>
  15 + <text class="c-red shrink0 fs26" wx:if="{{details.order_status == 5}}">已作废</text>
  16 + </block>
  17 + </view>
  18 +
  19 + <!-- 列表栏 -->
  20 + <view>
  21 + <!-- <view class="flex pdv20" wx:for="{{details.list}}" bindtap="viewDetails" data-gid="{{item.card_id}}"> -->
  22 + <view class="flex pdv20" bindtap="viewDetails" data-gid="{{item.card_id}}">
  23 + <view class="pic-box shrink0">
  24 + <image class="img-block" src="{{imghost + item.img_url}}" binderror="bind_bnerr" lazy-load="{{true}}" data-errorimg="details.list[{{index}}].img_url"></image>
16 25 </view>
17   - <view class="flex jc_sb ai_c c-9 fs24">
18   - <text>10个/蓝色</text>
19   - <text>x1</text>
  26 + <view class="pdl20 f1">
  27 + <view class="flex jc_sb ai_c">
  28 + <view class="title ellipsis-2 pdr40">{{item.service_name}}</view>
  29 + <text class="rmb c-6">{{item.price}}</text>
  30 + </view>
  31 + <view class="flex jc_sb ai_c c-9 fs24">
  32 + <!-- <text>10个/蓝色</text> -->
  33 + <text>x{{item.qty}}</text>
  34 + </view>
20 35 </view>
21 36 </view>
22 37 </view>
23   - </view>
  38 + </block>
  39 +
  40 +
24 41 <!-- 统计栏 -->
25   - <view class="t-r bdt pdv20">共2件商品,合计:<text class="rmb c-red bold fs30">21.00</text></view>
  42 + <view class="t-r bdt pdv20">共{{filter.count(details.list)}}件商品,合计:<text class="rmb c-red bold fs30">{{details.account}}</text></view>
26 43 </view>
  44 +
  45 +
27 46 <view class="bg-white pdh20 mgt20 bdr12">
28 47 <!-- 订单信息栏 -->
29 48 <view class="pdv20">订单信息</view>
  49 +
30 50 <view class="flex jc_sb pdb20 ai_c">
31   - <view><text class="c-9">订单编号:</text>fwk20221252125222212 </view>
32   - <text class="btn-copy">复制</text>
  51 + <view><text class="c-9">订单编号:</text>{{details.order_sn}}</view>
  52 + <text class="btn-copy" bindtap="copy">复制</text>
33 53 </view>
34   - <view class="pdb20"><text class="c-9">下单时间:</text>2021-12-27 18:00:00</view>
  54 + <view class="pdb20"><text class="c-9">下单时间:</text>{{filter.format_time(details.ctime, 1)}}</view>
  55 +
35 56 <!-- 联系客服栏 -->
36 57 <view class="flex t-c bdt">
37   - <view class="f1 pd20"><text class="iconfont icon-kefu c29f pdr20"></text>联系客服</view>
38   - <view class="f1 pd20 separator"><text class="iconfont icon-tongbu c-orange pdr20"></text>卡项同步</view>
  58 + <!-- 客服 -->
  59 + <block>
  60 + <button class="f1" wx:if="{{sys_switch.weapp_customertype == 1}}" hover-class="none" open-type="contact"
  61 + session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"><text class="iconfont icon-kefu c29f pdr10 fs36"></text>联系客服</button>
  62 + <view class="f1 pd20" wx:elif="{{sys_switch.weapp_customertype== 2}}" bindtap="contact_wx"><text class="iconfont icon-kefu c29f pdr10 fs36"></text>联系客服</view>
  63 + <view class="f1 pd20" wx:else bindtap="contactService"><text class="iconfont icon-kefu c29f pdr10 fs36"></text>联系客服</view>
  64 + </block>
  65 + <!-- 卡项同步先不做 -->
  66 + <!-- <view class="f1 pd20 separator"><text class="iconfont icon-tongbu c-orange pdr20"></text>卡项同步</view> -->
39 67 </view>
40 68 </view>
  69 +
41 70 <!-- 底部按钮栏 -->
42 71 <view class="btn-bar t-r bg-white pd20">
43   - <text class="btn btn-border">立即评价</text>
44   - <text class="btn bg-red white mgl20">再来一单</text>
  72 + <!-- 待支付 -->
  73 + <block wx:if="{{details.order_status == 0}}">
  74 + <text class="btn btn-border" bindtap="cancle">取消订单</text>
  75 + <text class="btn bg-red white mgl20" bindtap="pay">立即支付</text>
  76 + </block>
  77 + <!-- 已支付/未评价 -->
  78 + <block wx:if="{{details.order_status == 1}}">
  79 + <text class="btn bg-orange white" bindtap="buy2">再来一单</text>
  80 + <text class="btn bg-red white mgl20" bindtap="access">立即评价</text>
  81 + </block>
  82 + <!-- 已评价 -->
  83 + <block wx:if="{{details.order_status == 2}}">
  84 + <text class="btn bg-orange white" bindtap="buy2">再来一单</text>
  85 + <text class="btn bg-red white mgl20" bindtap="viewComment">查看评价</text>
  86 + </block>
45 87 </view>
46 88 </view>
... ...
packageA/pages/details_serviceCard/details_serviceCard.wxss
... ... @@ -18,6 +18,7 @@ page {
18 18 border: 2rpx solid #808080;
19 19 }
20 20  
  21 +
21 22 .bg-red {
22 23 background-image: -webkit-linear-gradient(315deg,#f2140c,#f2270c 70%,#f24d0c);
23 24 background-image: linear-gradient(135deg,#f2140c,#f2270c 70%,#f24d0c);
... ...
pages/goods/categoryList/categoryList.js
... ... @@ -67,7 +67,10 @@ Page({
67 67 status_show:0,
68 68 currentTab: 0, //预设当前项的值
69 69  
70   - load:0,
  70 + load:0,
  71 + xmlist: null,
  72 +
  73 +
71 74 },
72 75  
73 76  
... ... @@ -134,6 +137,7 @@ Page({
134 137  
135 138 if (this.data.is_used_share==0){
136 139 this.get_nation();
  140 + this.getServiceCategory();
137 141 }
138 142  
139 143 //风格三
... ... @@ -202,7 +206,7 @@ Page({
202 206 if(this.data.load) return false;
203 207  
204 208 getApp().getConfig2(function (e) {
205   -
  209 + console.log('card------------>>>>', e);
206 210 var data=e;
207 211 var switch_list_data = data.switch_list;
208 212 var switch_list = JSON.parse(switch_list_data);
... ... @@ -215,13 +219,14 @@ Page({
215 219 if (e.categoryset.indexOf("," + 1 + ",") != -1) { that.setData({ is_show_pl: 1 }); }
216 220 if (e.categoryset.indexOf("," + 3 + ",") != -1) { that.setData({ is_show_pp: 1 }); }
217 221 if (e.categoryset.indexOf("," + 2 + ",") != -1) { that.setData({ is_show_gb: 1 }); }
  222 + if (e.categoryset.indexOf("," + 4 + ",") != -1) { that.setData({ is_show_xm: 1 }); }
218 223 that.setData({ store_config: e,is_do:1 });
219 224  
220 225 //---有勾品类---
221 226 if (that.data.is_show_pl){
222 227 that.requestFirstCategoris();
223 228 }
224   - if (that.data.is_show_gb != 1 && that.data.is_show_pp != 1 && that.data.is_show_pl){
  229 + if (that.data.is_show_xm != 1 && that.data.is_show_gb != 1 && that.data.is_show_pp != 1 && that.data.is_show_pl){
225 230 that.data.pl_timer = setInterval(function () {
226 231 if (that.data.one_level_classify.length>0){
227 232 var item=that.data.one_level_classify[0],arr=item.array;
... ... @@ -259,6 +264,7 @@ Page({
259 264 if (that.data.is_show_pl) that.setData({ currentTab: 0 });
260 265 else if (that.data.is_show_gb){ that.setData({ currentTab: 1 });that.get_nation(); }
261 266 else if (that.data.is_show_pp) {that.setData({ currentTab: 2 });that.get_brand(); }
  267 + else if (that.data.is_show_xm) {that.setData({ currentTab: 3 });that.getServiceCategory(); }
262 268  
263 269 //----求传参过来的控制-----
264 270 if (getApp().globalData.cat_type == 1 && that.data.is_show_gb ) {
... ... @@ -267,6 +273,9 @@ Page({
267 273 } else if (getApp().globalData.cat_type == 2 && that.data.is_show_pp ) {
268 274 that.setData({ currentTab: 2 });
269 275 that.get_brand();
  276 + } else if (getApp().globalData.cat_type == 3 && that.data.is_show_xm ) {
  277 + that.setData({ currentTab: 3 });
  278 + that.getServiceCategory();
270 279 } else if (that.data.is_show_pl) {
271 280 that.setData({ currentTab: 0 });
272 281 }
... ... @@ -277,7 +286,7 @@ Page({
277 286 that.setData({ status_show: 2 });
278 287 }
279 288  
280   - that.data.load=1;
  289 + that.data.load=1;
281 290 })
282 291  
283 292 },
... ... @@ -402,6 +411,13 @@ Page({
402 411 if (e.detail.current == 2 && that.data.groups == null) {
403 412 that.get_brand();
404 413 }
  414 +
  415 + //获取服务卡项
  416 + if (e.detail.current == 3 && that.data.xmlist == null) {
  417 + that.getServiceCategory();
  418 + }
  419 +
  420 +
405 421 },
406 422 //-----------点击切换-----------
407 423 clickTab: function (e) {
... ... @@ -422,9 +438,15 @@ Page({
422 438 if (e.detail.current == 2 && that.data.groups == null) {
423 439 that.get_brand();
424 440 }
  441 +
  442 + //获取服务卡项
  443 + if (e.detail.current == 3 && that.data.xmlist == null) {
  444 + that.getServiceCategory();
  445 + }
  446 +
425 447 },
426 448  
427   - tabLetter(e) {
  449 + tabLetter(e) {
428 450 const index = e.currentTarget.dataset.index;
429 451 this.setData({
430 452 selected: index,
... ... @@ -488,8 +510,9 @@ Page({
488 510 var lurl = "/pages/goods/goodsList/goodsList?nation_id=" + cid;
489 511 wx.navigateTo({ url: lurl });
490 512 },
  513 +
491 514 //获取国别
492   - get_nation:function(){
  515 + get_nation:function() {
493 516 var s = this;
494 517 e.get("/api/weshop/nation/page", {
495 518 data: {
... ... @@ -575,6 +598,33 @@ Page({
575 598 }
576 599 });
577 600 },
  601 +
  602 +
  603 + // 获取服务卡项分类
  604 + getServiceCategory: function() {
  605 + var s = this;
  606 + e.get("/api/weshop/serviceCategory/page", {
  607 + data: {
  608 + is_show: 1,
  609 + store_id:oo.stoid,
  610 + pageSize: 1000,
  611 + },
  612 + success: function (e) {
  613 + var dda = e.data.data.pageData;
  614 + s.setData({
  615 + xmlist:dda,
  616 + });
  617 + }
  618 + });
  619 + },
  620 +
  621 +
  622 + goServiceCategoryList: function(t) {
  623 + var cid = t.currentTarget.dataset.cid;
  624 + var lurl = "/packageA/pages/cardList/cardList?cat_id=" + cid;
  625 + wx.navigateTo({ url: lurl });
  626 + },
  627 +
578 628 //---------分享配置--------
579 629 onShareAppMessage: function (e) {
580 630  
... ... @@ -659,7 +709,7 @@ Page({
659 709 let cur = e.currentTarget.dataset.current;
660 710 if(cur) {
661 711 if (this.data.currentTab == cur) {
662   - if (this.data.select_classify_on != 220 && this.data.select_classify_on != 223) {
  712 + if (this.data.select_classify_on != 220 && this.data.select_classify_on != 221 && this.data.select_classify_on != 223) {
663 713 return false;
664 714 } else if (cur != 0) {
665 715 return false;
... ... @@ -746,6 +796,8 @@ Page({
746 796 _errObj[_errImg] = "/miniapp/images/default_g_img.gif";
747 797 this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
748 798 },
  799 +
  800 +
749 801 //选择更多
750 802 select_more:function(e){
751 803 var cid = e.currentTarget.dataset.cid;
... ... @@ -754,6 +806,8 @@ Page({
754 806 wx.navigateTo({ url: lurl });
755 807  
756 808 },
  809 +
  810 +
757 811 //扫一扫
758 812 getScancode:function(){
759 813 var _this = this;
... ... @@ -767,6 +821,8 @@ Page({
767 821 }
768 822 })
769 823 },
  824 +
  825 +
770 826 onUnload: function () {
771 827 //this.destroyActivityTimer();
772 828 },
... ...
pages/goods/categoryList/categoryList.wxml
... ... @@ -12,6 +12,8 @@
12 12 data-current="1" bindtap="clickTab">国家</view>
13 13 <view wx:if="{{is_show_pp}}" class="swiper-tab-item {{currentTab==2?'active':''}}"
14 14 data-current="2" bindtap="clickTab">品牌</view>
  15 + <view wx:if="{{is_show_xm}}" class="swiper-tab-item {{currentTab==3?'active':''}}"
  16 + data-current="3" bindtap="clickTab">项目</view>
15 17 </view>
16 18 </view>
17 19 <view class="search-box " bindtap="goseach">
... ... @@ -22,7 +24,7 @@
22 24 <input bindfocus="goseach" class="search-cont" placeholder="寻找好口碑" type="text"></input>
23 25 </view>
24 26 </view>
25   - <block wx:if="{{is_show_pl || is_show_gb || is_show_pp }}">
  27 + <block wx:if="{{is_show_pl || is_show_gb || is_show_pp || is_show_xm}}">
26 28 <swiper current="{{currentTab}}" duration="300" bindanimationfinish="swiperTab" style="height:{{abc}}rpx;margin-bottom:120rpx">
27 29 <!--------分类---------->
28 30 <swiper-item >
... ... @@ -86,6 +88,26 @@
86 88 </view>
87 89 </view>
88 90 </swiper-item>
  91 + <!-------项目---------->
  92 + <swiper-item wx:if="{{is_show_xm}}">
  93 + <scroll-view scroll-y="true" class="fenlei-list"
  94 + scroll-with-animation="true" lower-threshold="1" bindscrolltolower="scrolltolower" style="height: {{abc}}rpx;" >
  95 + <block wx:for="{{xmlist}}" wx:for-item="fitem" >
  96 + <view class='f_item'>
  97 + <view class="pic_view" bindtap="goServiceCategoryList" data-cid="{{fitem.id}}" data-pid="0">
  98 +
  99 + <image wx:if="{{fitem.showImgType==1}}" binderror="bind_bnerr2" class='fl_img' data-errorimg="catelist[{{index}}].items.image" src='{{fitem.showImg}}'></image>
  100 + <image wx:else class='fl_img' binderror="bind_bnerr2" data-errorimg="catelist[{{index}}].items.image" src='{{iurl}}{{fitem.showImg}}'></image>
  101 +
  102 + <view class='over_view'></view>
  103 + <text class='f_item_over_t'>{{fitem.name}}</text></view>
  104 + <view class='fenlei_text_v'>
  105 + <view class='f_text' wx:for="{{fitem.array}}" wx:for-item="item" bindtap="goServiceCategoryList" data-cid="{{item.id}}" data-pid="{{item.parent_id}}">{{item.name}}</view>
  106 + </view>
  107 + </view>
  108 + </block>
  109 + </scroll-view>
  110 + </swiper-item>
89 111 </swiper>
90 112 <view class="no-data" wx:if="{{!is_date}}">
91 113 <image class="cart-image" src="{{iurl}}/miniapp/images/cart-null.png"></image>
... ... @@ -103,7 +125,7 @@
103 125 </block>
104 126 <!-- 风格2 -->
105 127 <block wx:elif="{{is_used_share == 1}}">
106   - <block wx:if="{{is_show_pl || is_show_gb || is_show_pp }}">
  128 + <block wx:if="{{is_show_pl || is_show_gb || is_show_pp || is_show_xm}}">
107 129 <!-- 新版分类头部 -->
108 130 <view class="xc-search-box flex jc_sb ai-center" style="position:fixed;top:0;z-index:99">
109 131 <!-- <view class="xc-search-inner ">
... ... @@ -129,38 +151,48 @@
129 151 <!-- 分类项目的类型 -->
130 152 <view class="project_type" style="background-color:#f4f4f4;overflow-y:auto;position:fixed;left:0;z-index:99;top:108rpx;">
131 153 <view class="project_type-frame" style="margin-bottom:120rpx;">
132   - <view wx:if="{{is_show_gb}}" class="{{status_show == 1?'':''}}">
  154 + <view wx:if="{{is_show_gb}}" class="{{status_show == 1?'':''}}">
133 155 <!-- <view style="{{status_show == 1?'position: absolute;height: 52rpx;width: 6rpx;background-color: red;left: 0; margin-top: 24rpx;':''}}"></view> -->
134   - <view bindtap="click_classify" style="{{status_show == 1?'margin-top:0':'margin-top:40rpx'}}" class="fs30 {{select_classify_on==223?'select_classify':''}}"data-index="223"data-name="国家" wx:if="{{is_country}}">
135   -
136   - <!-- <view class="tab-bar-item sort-name ellipsis-1" style="letter-spacing:50rpx;">国家</view> -->
137   - <view class="tab-bar-item sort-name ellipsis-1" style="">国家</view>
  156 + <view bindtap="click_classify" style="{{status_show == 1?'margin-top:0':'margin-top:40rpx'}}" class="fs30 {{select_classify_on==223?'select_classify':''}}" data-index="223" data-name="国家" wx:if="{{is_country}}">
  157 +
  158 + <!-- <view class="tab-bar-item sort-name ellipsis-1" style="letter-spacing:50rpx;">国家</view> -->
  159 + <view class="tab-bar-item sort-name ellipsis-1" style="">国家</view>
138 160  
  161 + </view>
139 162 </view>
140   - </view>
141   - <view wx:if="{{is_show_pp}}" class="{{status_show == 2?'':''}}">
  163 +
  164 + <view wx:if="{{is_show_pp}}">
142 165 <!-- <view style="{{status_show == 2?'position: absolute;height: 52rpx;width: 6rpx;background-color: red;left: 0; margin-top: 24rpx;':''}}"></view> -->
143   - <view bindtap="click_classify" class="{{select_classify_on==220?'select_classify':''}} fs30" wx:if="{{is_brand}}"data-index="220"data-name="品牌">
  166 + <view bindtap="click_classify" class="{{select_classify_on==220?'select_classify':''}} fs30" wx:if="{{is_brand}}" data-index="220" data-name="品牌">
144 167  
145   - <!-- <view class="tab-bar-item sort-name ellipsis-1" style="letter-spacing:50rpx;">品牌</view> -->
146   - <view class="tab-bar-item sort-name ellipsis-1" style="">品牌</view>
147   - </view>
  168 + <!-- <view class="tab-bar-item sort-name ellipsis-1" style="letter-spacing:50rpx;">品牌</view> -->
  169 + <view class="tab-bar-item sort-name ellipsis-1" style="">品牌</view>
  170 + </view>
148 171 </view>
  172 +
  173 + <!-- 项目 -->
  174 + <view wx:if="{{is_show_xm}}">
  175 + <view bindtap="click_classify" class="fs30 {{select_classify_on==221?'select_classify':''}}" data-index="221" data-name="项目">
  176 + <view class="tab-bar-item sort-name ellipsis-1">项目</view>
  177 + </view>
  178 + </view>
  179 +
  180 +
  181 + <!-- 品类 -->
149 182 <view wx:if="{{is_show_pl}}">
150   -
151   - <view wx:for="{{one_level_classify}}" wx:for-item="ittms" >
152   - <view class="{{ittms.items.is_show_class == true?'is_show_class':''}}">
153   - <!-- 添加左边红色条 -->
154   - <!-- <view style="{{ittms.items.is_show_class == true?'position: absolute;height: 52rpx;width: 6rpx;background-color: red;left: 0; margin-top: 24rpx;':''}}"></view> -->
155   - <view bindtap="click_classify" data-arr="{{ittms.array}}" data-cid="{{ittms.items.id}}" data-pid="0" class="{{select_classify_on==index?'select_classify width80':''}} fs30 t-c {{select_classify_on==index&&ittms.items.name.length==2?'':''}} {{select_classify_on==index&&ittms.items.name.length==3?'':''}}"data-index="{{index}}"data-name="{{ittms.items.mobile_name}}">
156   -
157   - <view class="tab-bar-item sort-name ellipsis-1">{{ittms.items.name}}</view>
158   - </view>
159   -
160   - </view>
  183 + <view wx:for="{{one_level_classify}}" wx:for-item="ittms">
  184 + <view class="{{ittms.items.is_show_class == true?'is_show_class':''}}">
  185 + <!-- 添加左边红色条 -->
  186 + <!-- <view style="{{ittms.items.is_show_class == true?'position: absolute;height: 52rpx;width: 6rpx;background-color: red;left: 0; margin-top: 24rpx;':''}}"></view> -->
  187 + <view bindtap="click_classify" data-arr="{{ittms.array}}" data-cid="{{ittms.items.id}}" data-pid="0" class="{{select_classify_on==index?'select_classify width80':''}} fs30 t-c {{select_classify_on==index&&ittms.items.name.length==2?'':''}} {{select_classify_on==index&&ittms.items.name.length==3?'':''}}"data-index="{{index}}"data-name="{{ittms.items.mobile_name}}">
  188 +
  189 + <view class="tab-bar-item sort-name ellipsis-1">{{ittms.items.name}}</view>
  190 + </view>
  191 + </view>
  192 + </view>
  193 + </view>
  194 +
161 195 </view>
162   - </view>
163   - </view>
164 196  
165 197 </view>
166 198 <!-- 分类项目的内容 -->
... ... @@ -211,11 +243,32 @@
211 243 </block>
212 244 </view>
213 245 </block>
  246 +
  247 + <!-- 卡项 -->
  248 + <!-- <block wx:if="{{select_classify_on==220&&is_show_xm}}"> -->
  249 + <block wx:if="{{select_classify_on==221&&is_show_xm}}">
  250 + <view class="classify_name fs28 flex-space-between">
  251 + <view>{{classify_name}}</view>
  252 + </view>
  253 +
  254 + <view class="classify_content-frame flex flex-wrap" style="padding-bottom: 130rpx;">
  255 + <block wx:for="{{xmlist}}">
  256 + <view class="brand_img_frame" bindtap="goServiceCategoryList" data-cid="{{item.id}}" >
  257 + <view class="t-c">
  258 + <image class="brand_img" src="{{item.ico}}" data-errorimg="xmlist[{{index}}].ico" binderror="bind_bnerr_pp" mode="heightFix"></image>
  259 + <view class="brand_img_name ellipsis-1 fs24">{{item.name}}</view>
  260 + </view>
  261 + </view>
  262 + </block>
  263 + </view>
  264 + </block>
  265 +
214 266 <!-- 品类-->
215   - <block wx:if="{{is_show_pl}}">
216   - <block wx:if="{{select_classify_on!=220&&select_classify_on!=223&&is_level_three!=1}}">
  267 + <block wx:if="{{is_show_pl&&select_classify_on == 0}}">
  268 + <!-- <block wx:if="{{select_classify_on!=221&&select_classify_on!=220&&select_classify_on!=223&&is_level_three!=1}}"> -->
  269 + <block wx:if="{{select_classify_on == 0&&is_level_three!=1}}">
217 270 <view class="my-container">
218   - <view class="classify_name fs28 flex-space-between ai-center"data-pid="0"data-cid="{{cat_id}}" bindtap='select_more'>
  271 + <view class="classify_name fs28 flex-space-between ai-center" data-pid="0" data-cid="{{cat_id}}" bindtap='select_more'>
219 272 <view class="classify_title ellipsis-1">{{classify_name}}</view>
220 273 <view class="flex select_more ai-center" >
221 274 <view class="red-co fs24" >更多</view>
... ... @@ -241,8 +294,8 @@
241 294 </block>
242 295  
243 296 <!-- 商品 含有3级的-->
244   - <block wx:if="{{select_classify_on!=220&&select_classify_on!=223&&is_level_three==1}}">
245   - <block wx:for="{{goodslist}}"wx:for-item="goods"wx:for-index="inds">
  297 + <block wx:if="{{select_classify_on!=220&&select_classify_on!=221&&select_classify_on!=223&&is_level_three==1}}">
  298 + <block wx:for="{{goodslist}}" wx:for-item="goods" wx:for-index="inds">
246 299 <view>
247 300  
248 301 <view class="classify_name fs28 flex-space-between ai-center"data-pid="{{goods.items.parent_id}}" data-cid="{{goods.items.id}}" bindtap='select_more'>
... ... @@ -282,7 +335,7 @@
282 335 </block>
283 336 <!-- 风格3 -->
284 337 <block wx:elif="{{is_used_share == 2}}">
285   - <block wx:if="{{is_show_pl || is_show_gb || is_show_pp }}">
  338 + <block wx:if="{{is_show_pl || is_show_gb || is_show_pp || is_show_xm}}">
286 339 <!-- 头部 -->
287 340 <view class="xc-search-box flex-center white_b" id="navbar" style="position:fixed;top:0;z-index:99">
288 341 <!-- <view class="share-height t-c" bindtap="getScancode" >
... ... @@ -314,16 +367,27 @@
314 367 <view class="project_type" style="background-color:#f4f4f4;overflow-y:auto;position:fixed;left:0;z-index:99;top:108rpx;" id="thress_type3">
315 368 <view class="project_type-frame" style="margin-bottom:120rpx;">
316 369 <view wx:if="{{is_show_gb}}">
317   - <view bindtap="click_classify" class="tab-bar-item {{select_classify_on==223 ? 'active' : ''}}" data-current="223" data-index="223" data-name="国家" wx:if="{{is_country}}">
  370 + <view bindtap="click_classify" class="tab-bar-item {{select_classify_on==223 ? 'active' : ''}}" data-index="223" data-name="国家" wx:if="{{is_country}}">
318 371 <text style="">国家</text>
319 372 </view>
320 373 </view>
  374 +
321 375 <view wx:if="{{is_show_pp}}">
322   -
323   - <view bindtap="click_classify" class="tab-bar-item {{select_classify_on==220 ? 'active' : ''}}" wx:if="{{is_brand}}" data-current="220" data-index="220" data-name="品牌">
  376 + <view bindtap="click_classify" class="tab-bar-item {{select_classify_on==220 ? 'active' : ''}}" wx:if="{{is_brand}}" data-index="220" data-name="品牌">
324 377 <text style="">品牌</text>
325 378 </view>
326 379 </view>
  380 +
  381 +
  382 + <!-- 卡项 -->
  383 + <view wx:if="{{is_show_xm}}">
  384 + <view bindtap="click_classify" class="tab-bar-item {{select_classify_on == 221 ? 'active' : ''}}" data-index="221" data-name="项目">
  385 + <text>项目</text>
  386 + </view>
  387 + </view>
  388 +
  389 +
  390 +
327 391 <view wx:if="{{is_show_pl}}">
328 392 <!-- <view wx:for="{{one_level_classify}}" wx:for-item="ittms" class="class_set_height"> -->
329 393 <!-- <view class="{{ittms.items.is_show_class == true?'is_show_class':''}}"> -->
... ... @@ -356,6 +420,9 @@
356 420  
357 421 <!-- </view> -->
358 422 </view>
  423 +
  424 +
  425 +
359 426 </view>
360 427 </view>
361 428 <!-- 分类项目的内容 -->
... ... @@ -383,6 +450,8 @@
383 450 </view>
384 451 </view>
385 452 </block>
  453 +
  454 +
386 455 <!-- 品牌 -->
387 456 <block wx:if="{{select_classify_on==220&&is_show_pp}}">
388 457  
... ... @@ -405,9 +474,31 @@
405 474 </block>
406 475 </view>
407 476 </block>
  477 +
  478 +
  479 + <!-- 卡项 -->
  480 + <block wx:if="{{select_classify_on==221&&is_show_xm}}">
  481 + <view class="classify_name fs28 flex-space-between">
  482 + <view>{{classify_name}}</view>
  483 + </view>
  484 +
  485 + <view class="classify_content-frame flex flex-wrap" style="padding-bottom: 130rpx;">
  486 + <block wx:for="{{xmlist}}">
  487 + <view class="brand_img_frame" bindtap="goServiceCategoryList" data-cid="{{item.id}}" >
  488 + <view class="t-c">
  489 + <image class="brand_img" src="{{item.ico}}" data-errorimg="xmlist[{{index}}].ico" binderror="bind_bnerr_pp" mode="heightFix"></image>
  490 + <view class="brand_img_name ellipsis-1 fs24">{{item.name}}</view>
  491 + </view>
  492 + </view>
  493 + </block>
  494 + </view>
  495 + </block>
  496 +
  497 +
408 498 <!-- 品类-->
409   - <block wx:if="{{is_show_pl}}">
410   - <block wx:if="{{select_classify_on!=220&&select_classify_on!=223}}">
  499 + <block wx:if="{{select_classify_on==0&&is_show_pl}}">
  500 + <!-- <block wx:if="{{select_classify_on!=220&&select_classify_on!=223}}"> -->
  501 + <block wx:if="{{select_classify_on == 0}}">
411 502 <view style="width:100%;height:100%;position: relative;">
412 503 <view class="classify_name fs28 flex ai-center flex-space-between" id="header" data-pid="0" data-cid="{{cat_id}}" bindtap='select_more' style="box-sizing:border-box;position:fixed;z-index: 999;width:74%;background-color:#ffffff;padding:0 20rpx;">
413 504 <view class="classify_title ellipsis-1">{{classify_name}}</view>
... ...
pages/index/index/index.json
... ... @@ -17,10 +17,11 @@
17 17 "picMax": "/components/diy_picMax/diy_picMax",
18 18 "mvideo": "/components/diy_video/diy_video",
19 19 "service": "/components/diy_service/diy_service",
20   - "scan": "/components/diy_scan/diy_scan",
21   - "store_select": "/components/diy_store_select/diy_store_select",
  20 + "scan": "/components/diy_scan/diy_scan",
  21 + "store_select": "/components/diy_store_select/diy_store_select",
22 22 "presell": "/components/diy_pregoods/diy_pregoods",
23   - "luckyGo": "/components/diy_luckyGo/diy_luckyGo"
  23 + "luckyGo": "/components/diy_luckyGo/diy_luckyGo",
  24 + "serviceCard": "/components/diy_serviceCard/diy_serviceCard"
24 25 },
25 26 "enablePullDownRefresh": false
26 27 }
27 28 \ No newline at end of file
... ...
pages/index/index/index.wxml
... ... @@ -522,6 +522,10 @@
522 522 <luckyGo object="{{item.content}}"></luckyGo>
523 523 </block>
524 524  
  525 + <!-- 服务卡项 -->
  526 + <block wx:if="{{item.ename=='servicecategory'}}">
  527 + <serviceCard object="{{item.content}}"></serviceCard>
  528 + </block>
525 529  
526 530 </view>
527 531  
... ...
pages/payment/pay_success/pay_success.js
... ... @@ -24,44 +24,84 @@ Page({
24 24 wx.setNavigationBarTitle({
25 25 title: '支付成功',
26 26 });
27   -
  27 + this.setData({
  28 + options,
  29 + });
28 30 var type=options.type,order_sn=options.order_sn;
29 31 var th=this,order=null;
30   - //如果是等1,就是单个订单的订单号
31   - if(type==1){
32   - await getApp().request.promiseGet("/api/weshop/order/page",
33   - {data:{store_id:e.globalData.setting.stoid,order_sn:order_sn}}).then(res=>{
34   - if(ut.ajax_ok(res)){
35   - order=res.data.data.pageData[0];
36   - th.setData({order:order,order_sn:order_sn})
37   - }
38   -
39   - })
40   - }else{
41   - await getApp().request.promiseGet("/api/weshop/order/page",
42   - {data:{store_id:e.globalData.setting.stoid,parent_sn:order_sn}}).then(res=>{
43   -
44   - if(ut.ajax_ok(res)){
45   - var allmoney=0,user_money=0;
46   - for(var i in res.data.data.pageData){
47   - var item=res.data.data.pageData[i];
48   - allmoney+=item.order_amount;
49   - user_money += item.user_money?item.user_money:0;
50   - }
51   - order=res.data.data.pageData[0];
52   - th.setData({ order: order, type: 2, allmoney: allmoney, order_sn: order_sn, user_money: user_money})
53   - }
54   -
55   -
56   - })
57   - }
58   - //--获取门店--
59   - if(order.exp_type==1) {
60   - await getApp().request.promiseGet("/api/weshop/pickup/get/"+ e.globalData.setting.stoid+"/"+order.pickup_id,
61   - {1:1}).then(res => {
62   - th.setData({pick:res.data.data})
63   - });
64   - }
  32 +
  33 +
  34 + // 卡项订单
  35 + if(options.card == 1) {
  36 + let url = '/api/weshop/recharge/user/page'
  37 + let data = {
  38 + store_id: getApp().globalData.setting.stoid,
  39 + user_id: getApp().globalData.userInfo.user_id,
  40 + order_id: this.data.options.order_id,
  41 + };
  42 +
  43 + // 请求数据
  44 + getApp().promiseGet(url, {
  45 + data: data,
  46 + }).then(res => {
  47 + if (res.data.code == 0) {
  48 + console.log('请求成功', res);
  49 + this.setData({
  50 + order: res.data.data.pageData[0],
  51 + order_sn: res.data.data.pageData[0].order_sn,
  52 + });
  53 + } else {
  54 + throw (res);
  55 + };
  56 + }).catch(err => {
  57 + wx.showToast({
  58 + title: err.data.data,
  59 + icon: 'error',
  60 + });
  61 + });
  62 + } else {
  63 +
  64 + //如果是等1,就是单个订单的订单号
  65 + if(type==1){
  66 + await getApp().request.promiseGet("/api/weshop/order/page",
  67 + {data:{store_id:e.globalData.setting.stoid,order_sn:order_sn}}).then(res=>{
  68 + if(ut.ajax_ok(res)){
  69 + order=res.data.data.pageData[0];
  70 + th.setData({order:order,order_sn:order_sn})
  71 + }
  72 +
  73 + })
  74 + }else{
  75 + await getApp().request.promiseGet("/api/weshop/order/page",
  76 + {data:{store_id:e.globalData.setting.stoid,parent_sn:order_sn}}).then(res=>{
  77 +
  78 + if(ut.ajax_ok(res)){
  79 + var allmoney=0,user_money=0;
  80 + for(var i in res.data.data.pageData){
  81 + var item=res.data.data.pageData[i];
  82 + allmoney+=item.order_amount;
  83 + user_money += item.user_money?item.user_money:0;
  84 + }
  85 + order=res.data.data.pageData[0];
  86 + th.setData({ order: order, type: 2, allmoney: allmoney, order_sn: order_sn, user_money: user_money})
  87 + }
  88 +
  89 +
  90 + })
  91 + }
  92 + //--获取门店--
  93 + if(order.exp_type==1) {
  94 + await getApp().request.promiseGet("/api/weshop/pickup/get/"+ e.globalData.setting.stoid+"/"+order.pickup_id,
  95 + {1:1}).then(res => {
  96 + th.setData({pick:res.data.data})
  97 + });
  98 + };
  99 +
  100 +
  101 + };
  102 +
  103 +
  104 +
65 105 },
66 106  
67 107 goto: function() {
... ...
pages/payment/pay_success/pay_success.wxml
... ... @@ -25,25 +25,38 @@
25 25 <view class="payitem flex">
26 26 <view>实付金额 :</view>
27 27 <!-- {{filters.toFix()}} -->
28   - <view class="pay_money" wx:if="{{type==1}}">{{filters.toFix(order.order_amount+order.user_money+order.pt_tail_money,2)}}元</view>
29   - <view class="pay_money" wx:else>{{filters.toFix(allmoney+user_money,2) }}元</view>
  28 + <!-- 卡项订单 -->
  29 + <view class="pay_money" wx:if="{{options.card == 1}}">{{filters.toFix(order.account,2) }}元</view>
  30 +
  31 + <block wx:else>
  32 + <view class="pay_money" wx:if="{{type==1}}">{{filters.toFix(order.order_amount+order.user_money+order.pt_tail_money,2)}}元</view>
  33 + <view class="pay_money" wx:else>{{filters.toFix(allmoney+user_money,2) }}元</view>
  34 + </block>
30 35 </view>
31 36  
32 37 <!-- 支付方式 -->
33   - <view class="payitem flex" wx:if="type==1">
34   - <view>支付方式 :</view>
35   - <view wx:if="{{order.order_amount>0 && order.user_money>0 }}">微信支付,余额支付</view>
36   - <view wx:elif="{{order.order_amount>0}}">微信支付</view>
37   - <view wx:elif="{{order.user_money>0}}">余额支付</view>
38   - <view wx:else>免单</view>
39   - </view>
40   - <view class="payitem flex" wx:else>
41   - <view>支付方式 :</view>
42   - <view wx:if="{{allmoney>0 && user_money>0 }}">微信支付,余额支付</view>
43   - <view wx:elif="{{allmoney>0}}">微信支付</view>
44   - <view wx:elif="{{user_money>0}}">余额支付</view>
45   - <view wx:else>免单</view>
46   - </view>
  38 + <view class="payitem flex" wx:if="{{options.card == 1}}">
  39 + <view>支付方式 :</view>
  40 + <view>微信支付</view>
  41 + </view>
  42 +
  43 + <block wx:else>
  44 + <view class="payitem flex" wx:if="{{type==1}}">
  45 + <view>支付方式 :</view>
  46 + <view wx:if="{{order.order_amount>0 && order.user_money>0 }}">微信支付,余额支付</view>
  47 + <view wx:elif="{{order.order_amount>0}}">微信支付</view>
  48 + <view wx:elif="{{order.user_money>0}}">余额支付</view>
  49 + <view wx:else>免单</view>
  50 + </view>
  51 + <view class="payitem flex" wx:else>
  52 + <view>支付方式 :</view>
  53 + <view wx:if="{{allmoney>0 && user_money>0 }}">微信支付,余额支付</view>
  54 + <view wx:elif="{{allmoney>0}}">微信支付</view>
  55 + <view wx:elif="{{user_money>0}}">余额支付</view>
  56 + <view wx:else>免单</view>
  57 + </view>
  58 + </block>
  59 +
47 60  
48 61  
49 62  
... ... @@ -72,23 +85,42 @@
72 85 <view class="pay_User fs28" wx:else>
73 86 <view class="payitem flex">
74 87 <view class="pay_Receiving">门店 :</view>
75   - <view class="pay_name ellipsis-1">{{pick.pickup_name}}</view>
  88 + <view class="pay_name ellipsis-1" wx:if="{{options.card == 1}}">{{order.list[0].pickup_name}}</view>
  89 + <view class="pay_name ellipsis-1" wx:else>{{pick.pickup_name}}</view>
76 90 </view>
77 91 <view class="payitem flex">
78 92 <view class="pay_Receiving">门店地址 :</view>
79   - <view class="address ellipsis-2">{{pick.fulladdress}}</view>
  93 + <view class="pay_name" wx:if="{{options.card == 1}}">{{order.list[0].fulladdress}}</view>
  94 + <view class="address ellipsis-2" wx:else>{{pick.fulladdress}}</view>
80 95 </view>
81 96 </view>
82 97  
83 98 <!-- 链接 -->
84   - <view class="fs32">
85   - <view class="flex-center">
86   - <navigator class="pay_order flex-center" url="/pages/user/order_list/order_list">
87   - <view>查看订单</view>
88   - </navigator>
89   - </view>
90   - <view class="flex-center">
91   - <navigator class="pay_home flex-center" bindtap="goto">
  99 + <view class="fs28 pd20 mgt40">
  100 + <view class="flex">
  101 +
  102 + <block wx:if="{{options.card == 1}}">
  103 + <!-- <view class="flex-center"> -->
  104 + <navigator class="btn f1 bg-yellow white" url="/packageA/pages/details_serviceCard/details_serviceCard?order_id={{order.order_id}}">
  105 + <view>订单详情</view>
  106 + </navigator>
  107 + <!-- </view> -->
  108 + <!-- <view class="flex-center"> -->
  109 + <navigator class="btn f1 bg-red white mgl20" url="/pages/user/my_service/i_service">
  110 + <view>立即预约</view>
  111 + </navigator>
  112 + <!-- </view> -->
  113 + </block>
  114 +
  115 + <block wx:else>
  116 + <navigator class="btn f1 bg-yellow white" url="/pages/user/order_list/order_list">
  117 + <view>查看订单</view>
  118 + </navigator>
  119 + </block>
  120 +
  121 + </view>
  122 + <view class="mgt30">
  123 + <navigator class="btn border c-6" bindtap="goto">
92 124 <view>回到首页</view>
93 125 </navigator>
94 126 </view>
... ...
pages/payment/pay_success/pay_success.wxss
... ... @@ -59,26 +59,38 @@ page {
59 59  
60 60 .pay_User .payitem .pay_name {
61 61 margin-right: 38rpx;
62   - max-width: 250rpx;
  62 + /* max-width: 250rpx; */
63 63 }
64 64  
65   -.pay_order {
66   - margin-top: 115rpx;
67   - color: rgb(104, 104, 104);
68   - width: 560rpx;
69   - height: 62rpx;
70   - border-radius: 30rpx;
71   - border: 3rpx solid rgb(209, 209, 209);
  65 +.btn {
  66 + box-sizing: border-box;
  67 + height: 80rpx;
  68 + line-height: 80rpx;
  69 + /* padding: 10rpx; */
  70 + text-align: center;
  71 + border-radius: 40rpx;
72 72 }
73 73  
74 74 .pay_home {
75   - margin-top: 35rpx;
  75 + /* margin-top: 35rpx; */
76 76 color: rgb(255, 255, 255);
77   - width: 566rpx;
78   - height: 68rpx;
  77 + /* width: 566rpx;
  78 + height: 68rpx; */
79 79 border-radius: 30rpx;
80 80 background-color: rgb(219, 27, 52);
81 81 }
82 82 .address{
83 83 width: 470rpx;
84   -}
85 84 \ No newline at end of file
  85 +}
  86 +
  87 +.bg-red {
  88 + background-color: rgb(219, 27, 52);
  89 +}
  90 +
  91 +.bg-yellow {
  92 + background-color: #feca53;
  93 +}
  94 +
  95 +.border {
  96 + border: 2rpx solid #ccc;
  97 +}
... ...
pages/store/index.wxss
1   -.box{
  1 +/* .box{
2 2 padding: 10px;
3 3 border-bottom: 10px solid #f5f5f5;
4 4 color: #000000;
... ... @@ -44,5 +44,278 @@ position: relative;
44 44 .sear_inp{width: 490rpx; background-color:#eaeaea; height: 80rpx; border-radius:5rpx; margin: 25rpx;}
45 45 .sear_inp input{width: 400rpx;}
46 46 .select{height: 80rpx; width: 220rpx;background-color:#eaeaea; margin:25rpx; font-size: 28rpx; line-height: 80rpx;text-align: center }
47   -.sear_btn{ width: 50rpx; height: 100%; display: flex; align-items: center;}
  47 +.sear_btn{ width: 50rpx; height: 100%; display: flex; align-items: center;} */
  48 +
  49 +.border-bottom {
  50 + border-bottom: 2rpx solid #e0e0e0;
  51 +}
  52 +
  53 +.fs22 {
  54 + font-size: 22rpx;
  55 +}
  56 +
  57 +.flexShrink-0 {
  58 + flex-shrink: 0;
  59 +}
  60 +
  61 +.pt16 {
  62 + padding-top: 16rpx;
  63 +}
  64 +
  65 +.maxWidth-340 {
  66 + max-width: 340rpx;
  67 +}
  68 +
  69 +.maxWidth-400 {
  70 + max-width: 400rpx;
  71 +}
  72 +
  73 +
  74 +/* 图标字体 */
  75 +/* @font-face {
  76 + font-family: 'iconfont';
  77 + src: url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.eot');
  78 + src: url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.eot?#iefix') format('embedded-opentype'),
  79 + url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.woff2') format('woff2'),
  80 + url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.woff') format('woff'),
  81 + url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.ttf') format('truetype'),
  82 + url('//at.alicdn.com/t/font_2054717_8s87fgrotfo.svg#iconfont') format('svg');
  83 +}
  84 +
  85 +.iconfont {
  86 + font-family: "iconfont" !important;
  87 + font-size: 28rpx;
  88 + font-style: normal;
  89 + -webkit-font-smoothing: antialiased;
  90 + -moz-osx-font-smoothing: grayscale;
  91 +}
  92 +
  93 +.icon-weizhi:before {
  94 + content: "\e615";
  95 + color: #FFBA10;
  96 +}
  97 +
  98 +.icon-arrow_down:before {
  99 + content: "\e600";
  100 +}
  101 +
  102 +.icon-arrow_right:before {
  103 + content: "\e61f";
  104 +} */
  105 +/* 图标字体 */
  106 +
  107 +
  108 +
  109 +.icon-weizhi {
  110 + color: #FFBA10;
  111 +}
  112 +
  113 +page {
  114 + height: 100%;
  115 + font-size: 28rpx;
  116 +}
  117 +
  118 +.container {
  119 + height: 100%;
  120 +}
  121 +#map {
  122 + /* width: 100%;
  123 + height: ; */
  124 + display: block;
  125 + width: 100%;
  126 + height: 100%;
  127 +}
  128 +.tab-container.active {
  129 + height: calc(100% - 86rpx);
  130 +}
  131 +.map-container.active ~ .tab-container .list-container {
  132 + height: 204rpx;
  133 + overflow: hidden;
  134 +}
  135 +.map-container.active ~ .tab-container .list {
  136 + overflow: hidden;
  137 +}
  138 +.tab-container.active .list-container {
  139 + height: calc(100% - 108rpx - 84rpx);
  140 + background-color: #F7F7F7;
  141 +}
  142 +
  143 +
  144 +.search-container {
  145 + display: flex;
  146 + align-items: center;
  147 + padding: 0 32rpx;
  148 + border-bottom: 2rpx solid #F0F0F0;
  149 +}
  150 +
  151 +.city:after {
  152 + display: inline-block;
  153 + content: '◣';
  154 + font-size: 14rpx;
  155 + padding-left: 8rpx;
  156 + padding-right: 20rpx;
  157 + transform: rotateZ(-45deg);
  158 + position: relative;
  159 + top: -16rpx;
  160 +}
  161 +
  162 +.input-container {
  163 + padding: 12rpx 0;
  164 + flex: 1;
  165 +}
  166 +
  167 +.input {
  168 + padding: 0 20rpx;
  169 + height: 60rpx;
  170 + line-height: 60rpx;
  171 + border-radius: 30rpx;
  172 + background-color: #F3F3F3;
  173 +}
  174 +
  175 +.placeholder {
  176 + color: #676767;
  177 + font-size: 24rpx;
  178 +}
  179 +
  180 +
  181 +
  182 +
  183 +
  184 +/* 切换卡 */
  185 +.tab-title-container {
  186 + display: flex;
  187 + text-align: center;
  188 + border-bottom: 20rpx solid #F7F7F7;
  189 +}
  190 +.tab-title {
  191 + width: 50%;
  192 + line-height: 88rpx;
  193 + position: relative;
  194 +}
  195 +.tab-title.active {
  196 + font-weight: bold;
  197 +}
  198 +.tab-title.active::after {
  199 + position: absolute;
  200 + content: '';
  201 + width: 110rpx;
  202 + height: 4rpx;
  203 + left: 50%;
  204 + bottom: 0;
  205 + transform: translateX(-50%);
  206 + background-color: #FFBA10;
  207 +}
  208 +
  209 +.map-container {
  210 + transition: 0.1s all linear;
  211 + background-color: pink;
  212 +}
  213 +
  214 +.map-container.active {
  215 + height: calc(100% - 86rpx - 80rpx - 200rpx);
  216 + transition: 0.1s all linear;
  217 +}
  218 +
  219 +
  220 +
  221 +
  222 +/* 查看地图 */
  223 +.view-map {
  224 + line-height: 80rpx;
  225 + text-align: center;
  226 + font-size: 24rpx;
  227 + color: #000;
  228 + border-bottom: 2rpx solid #F0F0F0;
  229 +}
  230 +
  231 +
  232 +/* 列表 */
  233 +.list {
  234 + height: 100%;
  235 +}
  236 +.list-item {
  237 + padding: 40rpx 28rpx;
  238 + border-bottom: 2rpx solid #F0F0F0;
  239 + justify-content: space-between;
  240 + background-color: #fff;
  241 +}
  242 +.list-item:last-child {
  243 + border-bottom: none;
  244 +}
  245 +radio .wx-radio-input {
  246 + width: 32rpx;
  247 + height: 32rpx;
  248 +}
  249 +radio .wx-radio-input.wx-radio-input-checked {
  250 + border-color: #333;
  251 + /* border-color: #FFBA10; */
  252 + background-color: white;
  253 +}
  254 +radio .wx-radio-input.wx-radio-input-checked::before {
  255 + display: inline-block;
  256 + content: '';
  257 + width: 24rpx;
  258 + height: 24rpx;
  259 + border-radius: 50%;
  260 + background-color: #333;
  261 + /* background-color: #FFBA10; */
  262 +}
  263 +.name-container {
  264 + padding-left: 14rpx;
  265 + padding-right: 30rpx;
  266 + box-sizing: border-box;
  267 +}
  268 +.name {
  269 + display: flex;
  270 + align-items: center;
  271 + font-size: 30rpx;
  272 + position: relative;
  273 +}
  274 +.address {
  275 + color: #6E6E6E;
  276 + font-size: 26rpx;
  277 + line-height: 34rpx;
  278 + padding-top: 16rpx;
  279 + /* padding-right: 40rpx; */
  280 + text-align: justify;
  281 +}
  282 +.tag {
  283 + color: #FF5B5A;
  284 + border-radius: 6rpx;
  285 + border: 2rpx solid #FF5B5A;
  286 + font-size: 22rpx;
  287 + padding: 0 4rpx;
  288 + flex-shrink: 0;
  289 + margin-left: 4rpx;
  290 +}
  291 +
  292 +.distance {
  293 + color: #6E6E6E;
  294 + font-size: 22rpx;
  295 + line-height: 34rpx;
  296 + padding-top: 16rpx;
  297 + /* word-break: break-all; */
  298 +}
  299 +
  300 +.icon-arrow_right {
  301 + padding-left: 20rpx;
  302 +}
  303 +
  304 +.right {
  305 + min-width: 200rpx;
  306 + text-align: right;
  307 +}
  308 +
  309 +.icon-arrow_down.active {
  310 + display: inline-block;
  311 + transform: rotateZ(180deg);
  312 +}
  313 +
  314 +
  315 +
  316 +
  317 +
  318 +
  319 +
  320 +
48 321  
... ...
pages/user/order_list/order_list.js
... ... @@ -85,10 +85,12 @@ Page({
85 85 var startDate=date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
86 86  
87 87  
88   - if(t.index) {
  88 + if(t.index && t.tabindex) {
89 89 this.setData({
90   - currentIndex: t.index
  90 + currentIndex: t.index,
  91 + tabIndex: t.tabindex,
91 92 });
  93 + this.clickTab();
92 94 };
93 95  
94 96 this.setData({
... ... @@ -144,7 +146,7 @@ Page({
144 146 },1)
145 147  
146 148 this.resetData(), this.requestOrderList(this.data.activeCategoryId);
147   -
  149 + this.clickTab();
148 150 },
149 151 changeTab: function(t) {
150 152 if (this.data.activeCategoryId == t.currentTarget.id) return false;
... ... @@ -2138,8 +2140,15 @@ Page({
2138 2140  
2139 2141 // 点击卡项订单二级tabbar
2140 2142 clickTab(e) {
2141   - console.log('服务卡项index', e.target.dataset.index);
2142   - let currentIndex = e.target.dataset.index;
  2143 + // console.log('服务卡项index', e.target.dataset.index);
  2144 + let currentIndex = 0;
  2145 + if(e) {
  2146 + currentIndex = e.target.dataset.index;
  2147 + } else {
  2148 + currentIndex = this.data.tabIndex
  2149 + };
  2150 +
  2151 + // let || this.data.tabIndex;
2143 2152  
2144 2153 let url = '/api/weshop/recharge/user/page';
2145 2154 let data = {
... ...
pages/user/order_list/order_list.wxml
... ... @@ -4,7 +4,7 @@
4 4 <!-- 一级tabbar -->
5 5 <view class="tab-container" bindtap="onClickTab">
6 6 <view class="tab {{currentIndex == 0 ? 'active':''}}" data-index="0"><text class="iconfont icon-cloud"></text>线上订单</view>
7   - <view class="tab {{currentIndex == 2 ? 'active':''}}" data-index="2" style="display: none;"><text class="iconfont icon-bankcard"></text>卡项订单</view>
  7 + <view class="tab {{currentIndex == 2 ? 'active':''}}" data-index="2"><text class="iconfont icon-bankcard"></text>卡项订单</view>
8 8 <view class="tab {{currentIndex == 1 ? 'active':''}}" data-index="1"><text class="iconfont icon-shop"></text>线下订单</view>
9 9 </view>
10 10  
... ...
utils/filter.wxs
... ... @@ -171,7 +171,18 @@ var filters = {
171 171  
172 172 JSONStringify: function(val) {
173 173 return JSON.stringify(val);
174   - }
  174 + },
  175 +
  176 + // 循环列表计算数量
  177 + count: function(list) {
  178 + var sum = 0;
  179 + if(list && list.length != 0) {
  180 + list.forEach(function(item) {
  181 + sum += item.qty;
  182 + });
  183 + return sum;
  184 + };
  185 + },
175 186  
176 187  
177 188  
... ... @@ -194,4 +205,5 @@ module.exports = {
194 205 price: filters.price,
195 206 div100: filters.div100,
196 207 JSONStringify: filters.JSONStringify,
  208 + count: filters.count,
197 209 }
198 210 \ No newline at end of file
... ...
utils/request.js
... ... @@ -2,6 +2,10 @@ var t = require(&quot;util.js&quot;);
2 2  
3 3 module.exports = {
4 4 uniqueId: "",
  5 + // i: url
  6 + // e: method
  7 + // s: data
  8 + // a: header
5 9 request: function(e, i, o) {
6 10 var n = this, a = o.header ? o.header : {
7 11 "content-type": "application/x-www-form-urlencoded"
... ... @@ -39,7 +43,9 @@ module.exports = {
39 43  
40 44 uploadFile: function(t, e) {
41 45 var i = this;
42   - t = this.modifyUrl(t, e), console.log("app.request", t, e), e.isShowLoading = void 0 === e.isShowLoading || e.isShowLoading,
  46 + t = this.modifyUrl(t, e),
  47 + // console.log("app.request", t, e),
  48 + e.isShowLoading = void 0 === e.isShowLoading || e.isShowLoading,
43 49 e.isShowLoading && this.showLoading(), wx.uploadFile(Object.assign({}, e, {
44 50 url: t,
45 51 filePath: e.filePath,
... ...