Authored by QC-L

添加我的拼团相关按钮, 以及 JQ 方法

... ... @@ -5,6 +5,7 @@ const headerModel = require('../../../doraemon/models/header'); // 头部model
const _ = require('lodash');
const utils = '../../../utils';
const detailProcess = require(`${utils}/detail-process`);
const helpers = global.yoho.helpers;
function index(req, res, next) {
Promise.all([req.ctx(GroupService).index(),
... ... @@ -152,6 +153,47 @@ function goodsDetail(req, res, next) {
}).catch(next);
}
function changeOrderStatus(orderItem) {
const orderBtn = [];
if (!orderItem) {
return {};
}
_.each(orderItem.links, function(val) {
switch (val) {
case 'buyNow':
orderBtn.push({
buyNow: true,
link: helpers.urlFormat('/home/orders/paynew', {order_code: orderItem.order_code}),
});
break;
case 'closeOrder':// 取消订单
orderBtn.push({
closeOrder: true
});
break;
case 'delOrder':// 删除订单
orderBtn.push({
delOrder: true,
});
break;
case 'groupInvite':
orderBtn.push({
groupInvite: true,
link: helpers.urlFormat('/activity/group/progress', {
groupNo: orderItem.group_no,
activityId: orderItem.activity_id
}),
});
break;
default:
break;
}
});
return orderBtn;
}
function order(req, res, next) {
const uid = req.user.uid;
const {
... ... @@ -161,7 +203,7 @@ function order(req, res, next) {
const param = {
page: 1,
limit: 50,
type: type || 1,
type: type || 2,
uid
};
... ... @@ -170,6 +212,11 @@ function order(req, res, next) {
if (_.isEmpty(result)) {
return next();
}
_.each(result.order_list, function(orderItem) {
const orderBtn = changeOrderStatus(orderItem);
orderItem.orderBtn = orderBtn;
});
return res.render('group/order', {
title: '我的拼团',
page: 'group-order',
... ...
<div class="group-order">
<div class="group-order" data-result={{result}}>
{{#if navs.length}}
<div class="group-order-header">
{{#each navs}}
... ... @@ -50,14 +50,19 @@
<div class="list-cell-footer">
<p class="buy-info">{{this.buy_total}}件商品 实付<span class="sum-cost price-color">¥{{this.amount}}</span>(含运费¥{{this.shipping_cost}})</p>
<div class="links-array">
{{#each this.links}}
{{#ifcond this '==' "buyNow" }}
<div class="invite-btn">立即付款</div>
{{^}}
{{#ifcond this '==' "groupInvite" }}
<div class="invite-btn">查看拼团详情</div>
{{/ifcond}}
{{/ifcond}}
{{#each this.orderBtn}}
{{#if this.closeOrder}}
<a class="btn cancel">取消订单</a>
{{/if}}
{{#if this.delOrder}}
<a class="btn del">删除订单</a>
{{/if}}
{{#if this.buyNow}}
<a href={{this.link}} class="invite-btn">立即付款</a>
{{/if}}
{{#if this.groupInvite }}
<a href={{this.link}} class="invite-btn">查看拼团详情</a>
{{/if}}
{{/each}}
</div>
</div>
... ...
import 'scss/activity/group/group-order.page.scss';
import $ from 'yoho-jquery';
import Page from 'js/yoho-page';
class GroupOrder extends Page {
constructor() {
super();
this.selector = {
$cancel: $('.cancel'),
$del: $('.del'),
$page: $('.group-order')
};
this.data = {
};
this.init();
}
init() {
this.initData();
}
initData() {
let result = this.selector.$page.data('result');
this.data.result = result;
}
}
$(() => {
new GroupOrder();
});
... ...
... ... @@ -2,6 +2,20 @@
background-color: #f0f0f0;
}
.btn {
display: inline-block;
box-sizing: border-box;
height: 1.5rem;
line-height: 1.5rem;
width: 3.5rem;
font-size: 0.6rem;
text-align: center;
border: 1px solid #000;
border-radius: 10px;
margin-left: 0.375rem;
margin-top: 0.125rem;
}
.group-order {
.group-order-header {
border-bottom: 2px solid #e0e0e0;
... ...