Authored by lijing

联调bug:修改预约时间,潮流之旅详情页,顾问接口修改

... ... @@ -209,7 +209,8 @@ exports.travel = function(req, res, next) {
id: req.query.id,
storeId: req.query.storeId,
activityType: 3,
isFront: req.query.isFront || req.cookies.isFront
isFront: req.query.isFront || req.cookies.isFront,
res: res
};
trendModel.travel(params).then((result) => {
... ... @@ -441,6 +442,7 @@ exports.chosenTime = function(req, res, next) {
let params = {
activityType: req.query.typeStatus,
activityId: req.cookies.packageId || req.query.activityId || req.cookies.adviserId,
travelId: req.cookies.travelId,
isFront: req.query.isFront || req.cookies.isFront
};
... ... @@ -476,7 +478,8 @@ exports.chosenAdviser = function(req, res, next) {
let params = {
storeId: req.query.storeId,
activityType: req.query.typeStatus,
isFront: req.query.isFront || req.cookies.isFront
isFront: req.query.isFront || req.cookies.isFront,
hairStylistId: req.cookies.travelId
};
trendModel.chosenAdviser(params).then((result) => {
... ... @@ -496,6 +499,7 @@ exports.getTimeList = function(req, res, next) {
dateTime: req.query.dateTime,
appointType: req.query.appointType,
activityId: req.cookies.packageId || req.query.activityId || req.cookies.adviserId,
travelId: req.cookies.travelId,
isFront: req.query.isFront || req.cookies.isFront,
userId: req.query.userId
};
... ...
... ... @@ -336,14 +336,27 @@ const classActDetail = (params) => {
// 潮流之旅详情
const travelDetail = (params) => {
return service.get('MenuConfigController/getFrontMenuById', {
id: params.id,
return service.get('MenuConfigController/getFrontMainTour', {
storeId: params.storeId,
isFront: params.isFront
}, {
cache: true,
code: 200
}).then(result => {
return result;
let resu = '';
Object.assign(params, {hairStylistId: result.data.id});
params.res.cookie('travelId', result.data.id, {
domain: 'yohobuy.com'
});
return Promise.all([
adviserList(params),
getDate2(params)
]).then(newResult => {
resu = Object.assign(result.data, {advisersList: newResult[0].data});
resu = Object.assign(result.data, {dateList: newResult[1].data});
return resu;
});
});
};
... ... @@ -353,6 +366,7 @@ const adviserList = (params) => {
storeId: params.storeId,
activityType: params.activityType,
id: params.id || '',
hairStylistId: params.hairStylistId || '',
isFront: params.isFront
}, {
cache: true,
... ... @@ -365,9 +379,7 @@ const adviserList = (params) => {
// 潮流之旅
const travel = (params) => {
return Promise.all([
travelDetail(params),
adviserList(params),
getDate2(params)
travelDetail(params)
]).then(result => {
let resu = {
... ... @@ -377,47 +389,36 @@ const travel = (params) => {
storeId: params.storeId
};
if (result) {
if (result[0] && result[0].data) {
resu.content = result[0].data.detail;
}
if (result[1] && result[1].data) {
if (result && result[0]) {
resu.content = result[0].tourDetail;
let build = [];
let build = [];
result[1].data.forEach(val => {
build.push({
name: val.activityName,
summary: val.summary,
image: val.image,
id: val.id,
typeStatus: params.activityType,
storeId: params.storeId
});
result[0].advisersList.forEach(val => {
build.push({
name: val.activityName,
summary: val.summary,
image: val.image,
id: val.id,
typeStatus: params.activityType,
storeId: params.storeId
});
});
resu.adviser = build;
}
resu.adviser = build;
if (result[2] && result[2].data) {
let build = [];
if (result && result[2] && result[2].data) {
for(let item in result[2].data){
build.push({
date: _MD(item),
week: result[2].data[item],
dateOrigin: item,
dateParse: Date.parse(item) / 1000
});
}
let build2 = [];
resu.dateList = build;
}
for(let item in result[0].dateList){
build2.push({
date: _MD(item),
week: result[0].dateList[item],
dateOrigin: item,
dateParse: Date.parse(item) / 1000
});
}
resu.dateList = build2;
}
return resu;
... ... @@ -509,6 +510,10 @@ const getStyle = (params) => {
// 获取日期,星期
const getDate = (params) => {
if (!params.activityId) {
params.activityId = params.travelId;
params.activityType = 6;
}
return service.get('ActivityConfigController/getAppointInfoById', {
activityId: params.activityId,
activityType: params.activityType,
... ... @@ -552,13 +557,15 @@ const getStylePush = (params) => {
// 获取时间列表
const getTimeList = (params) => {
if (!params.activityId) {
params.activityId = params.travelId;
params.appointType = 6;
}
let ajaxUrl = '';
if (params.userId) {
ajaxUrl = 'ActivityConfigController/getAppointTimeForTour';
} else {
ajaxUrl = 'AppointmentController/getAppointTime';
}
... ... @@ -588,7 +595,8 @@ const getTimeList = (params) => {
time: _HM(new Date(item * 1000)),
originTime: item,
use: result.data.timeMap[item],
date: _MDHm(new Date(item * 1000)),
date2: _MDHm(new Date(item * 1000)),
date: _MYDHm(new Date(item * 1000)),
});
}
resu.appointNum = result.data.appointNum;
... ... @@ -757,6 +765,7 @@ const appointment = (params) => {
babyName: params.activityType === '4' || params.activityType === '5',
classChosen: params.activityType === '1',
actChosen: params.activityType === '2',
hideChosen: params.activityType === '3' ? false : true,
};
if (result && result[0] && result[0].data) {
... ... @@ -1055,7 +1064,38 @@ const orderDetail = (params) => {
}
}
return resu;
let newNarams = '';
if (result[0] && result[0].data) {
newNarams = {
id: result[0].data[0].activityId,
isFront: params.isFront
};
}
return adviserDetail(newNarams).then(newResult => {
let adviserDetail= '';
if (newResult && newResult.data) {
adviserDetail = {
name: newResult.data.activityName,
summary: newResult.data.summary,
free: newResult.data.isFree === 1,
price: newResult.data.price,
id: newResult.data.id,
package: newResult.data.activityType === 4 || newResult.data.activityType === 5,
adviser: newResult.data.activityType === 3,
act: newResult.data.activityType === 2,
class: newResult.data.activityType === 1,
activityType: newResult.data.activityType,
storeId: params.storeId,
startDate: newResult.data.activityStartDate,
endDate: newResult.data.activityEndDate,
startTime: newResult.data.activityDayStartTime,
endTime: newResult.data.activityDayEndTime
};
}
resu = Object.assign(resu, {adviserDetail: adviserDetail});
return resu;
});
});
};
... ...
... ... @@ -178,8 +178,8 @@ router.get('/trend/kid-style', trend.kidStyle);
router.get('/trend/cutter', trend.cutter);
// 潮流之旅-我的预约
router.get('/trend/order-list', trend.orderList);
router.get('/trend/order-detail', trend.orderDetail);
router.get('/trend/order-list', auth, trend.orderList);
router.get('/trend/order-detail', auth, trend.orderDetail);
// 选择页
router.get('/trend/chosen-package', trend.chosenPackage);
... ...
... ... @@ -57,7 +57,7 @@
</div>
{{/ styleChosen}}
{{# adviserChosen}}
<div class="chose-item select depend">
<div class="chose-item select{{#if hideChosen}} depend{{/if}}">
<span class="label">潮流顾问</span>
<a href="http://m.yohobuy.com/activity/trend/chosen-adviser?storeId={{storeId}}&chosenType=3&typeStatus={{typeStatus}}">
<input class="inp chosen-adviser eps require" type="text" label="顾问" placeholder="未选择" readonly="readonly" />
... ... @@ -65,7 +65,7 @@
<span class="iconfont icon-arr">&#xe604;</span>
</div>
{{/ adviserChosen}}
<div class="chose-item select need">
<div class="chose-item select{{#if hideChosen}} need{{/if}}">
<span class="label">选择时间</span>
<a href="http://m.yohobuy.com/activity/trend/chosen-time?storeId={{storeId}}&chosenType=2&typeStatus={{typeStatus}}">
<input class="inp chosen-time require" type="text" label="时间" placeholder="未选择" readonly="readonly" />
... ...
... ... @@ -27,23 +27,49 @@
<span class="iconfont icon-arr">&#xe604;</span>
</a>
</div>
{{# adviserDetail}}
<div class="detail-list">
<div class="list-item">
<div class="package-item">
<div class="top clearfix">
<div class="name">NICOFACE系列-F1套餐</div>
<div class="price"><span>¥</span>100</div>
</div>
<div class="main">
<p>棚拍,共3组。亲子和大头照。</p>
<p>照片数量:300张。精修:50张。附赠光碟所有底片。</p>
<p>拍摄时间:2小时</p>
<div class="name">{{name}}</div>
<div class="price">
{{#if free}}
免费
{{else}}
<span>¥</span>{{price}}
{{/if}}
</div>
</div>
<div class="main">{{summary}}</div>
</div>
<span class="big">查看套餐详情</span>
<span class="iconfont icon-arr">&#xe604;</span>
{{# package}}
<a href="//m.yohobuy.com/activity/trend/package-detail?id={{id}}" class="order-a">
<span class="big">查看套餐详情</span>
<span class="iconfont icon-arr">&#xe604;</span>
</a>
{{/ package}}
{{# adviser}}
<a href="//m.yohobuy.com/activity/trend/adviser?id={{id}}&typeStatus={{activityType}}&storeId={{storeId}}" class="order-a">
<span class="big">查看顾问详情</span>
<span class="iconfont icon-arr">&#xe604;</span>
</a>
{{/ adviser}}
{{# act}}
<a href="//m.yohobuy.com/activity/trend/act-detail?activityId={{id}}&name={{name}}&price={{price}}&startDate={{startDate}}&endDate={{endDate}}&startTime={{startTime}}&endTime={{endTime}}&status=1&storeId={{storeId}}" class="order-a">
<span class="big">查看活动详情</span>
<span class="iconfont icon-arr">&#xe604;</span>
</a>
{{/ act}}
{{# class}}
<a href="//m.yohobuy.com/activity/trend/act-detail?activityId={{id}}&name={{name}}&price={{price}}&startDate={{startDate}}&endDate={{endDate}}&startTime={{startTime}}&endTime={{endTime}}&status=1&storeId={{storeId}}" class="order-a">
<span class="big">查看课堂详情</span>
<span class="iconfont icon-arr">&#xe604;</span>
</a>
{{/ class}}
</div>
</div>
{{/ adviserDetail}}
<div class="detail-list">
{{# userInfo}}
<div class="list-item padding">
... ...
<div class="trend-c share-order" style="background-color: #fff;">
<div class="trend-c share-order" {{#if noOrder}}style="background-color: #fff;"{{/if}}>
{{#if noOrder}}
<div class="success">
<div class="success-pic fail-pic"></div>
... ...
<div class="trend-c travel">
<div class="box">
<div class="content content-padding">
<div class="content content-padding2">
{{{content}}}
</div>
</div>
... ...
... ... @@ -113,31 +113,33 @@ $(
// 瀑布流
if ($('.pull-pic-list').length > 0) {
var box = $('.pull-pic-list .box');
var boxWidth = box.eq(0).width();
var num = 2;
var boxArr = [];
var maxHeight = 0;
box.each(function(index, value) {
var boxHeight = box.eq(index).height();
if (index < num) {
boxArr[index] = boxHeight;
} else {
var minBoxHeight = Math.min.apply(null, boxArr);
var minBoxIndex = $.inArray(minBoxHeight, boxArr);
$(value).css({
'position': 'absolute',
'top': minBoxHeight,
'left': box.eq(minBoxIndex).position().left
});
boxArr[minBoxIndex] += box.eq(index).height();
var newHeight = $(this).position().top + box.eq(index).height();
if (newHeight > maxHeight) {
maxHeight = newHeight;
}
$('.pull-pic-list').css('height', maxHeight + 'px');
}
});
setTimeout(function() {
var box = $('.pull-pic-list .box');
var boxWidth = box.eq(0).width();
var num = 2;
var boxArr = [];
var maxHeight = 0;
box.each(function(index, value) {
var boxHeight = box.eq(index).height();
if (index < num) {
boxArr[index] = boxHeight;
} else {
var minBoxHeight = Math.min.apply(null, boxArr);
var minBoxIndex = $.inArray(minBoxHeight, boxArr);
$(value).css({
'position': 'absolute',
'top': minBoxHeight,
'left': box.eq(minBoxIndex).position().left
});
boxArr[minBoxIndex] += box.eq(index).height();
var newHeight = $(this).position().top + box.eq(index).height();
if (newHeight > maxHeight) {
maxHeight = newHeight;
}
$('.pull-pic-list').css('height', maxHeight + 'px');
}
});
}, 500);
}
if ($('.adviser-info').length > 0) {
... ... @@ -155,6 +157,8 @@ $(
if ($(this).find('input').val() === '') {
var errText = $(this).closest('.depend').find('.label').text();
tip.show('请先选择' + errText);
chosenAble = false;
return false;
} else {
chosenAble = true;
}
... ... @@ -276,7 +280,7 @@ $(
if (result.code === 200) {
// tip.show('修改成功');
} else {
tip.show('网络断开了~~~');
// tip.show(result.message);
}
},
error: function() {
... ... @@ -298,6 +302,23 @@ $(
if (!window.cookie('chosenCutter') && window.cookie('chosenPackage')) {
$('.chosen-cutter').val('不预约发型师');
}
if (!window.cookie('chosenAdviser') && window.cookie('chosenTime')) {
$('.chosen-adviser').val('不预约潮流顾问');
}
if ($('.chosen-adviser').val() === '不预约潮流顾问') {
window.setCookie('adviserId', '');
}
if (($('.chosen-select .chose-item:eq(0)').find('input').val() !== '') && window.cookie('chosenTime')) {
$('.chosen-select .chose-item:eq(0)').addClass('depend');
$('.chosen-select .chose-item:eq(1)').addClass('need');
$('.chosen-select .depend').on('click', function() {
if ($(this).find('.chosen-cutter').length > 0) {
clearCookieArr(2);
} else {
clearCookieArr(1);
}
});
}
}
$cookie = $('.chosen-info').find('.cookie');
$cookie2 = $('.chosen-info').find('.cookie2');
... ... @@ -350,7 +371,7 @@ $(
window.setCookie('chosenAdviser', $('.adviser-info').find('.name').text());
}
if ($('.style-detail').length > 0) {
window.setCookie('chosenStyle', window.queryString.styleName);
window.setCookie('chosenStyle', decodeURI(window.queryString.styleName));
}
if ($('.package-detail').length > 0) {
window.setCookie('chosenPackage', $('.package-detail').find('.name').text());
... ... @@ -382,7 +403,7 @@ $(
tip.show('请选择' + tipMsg);
} else {
var chosenText = $checkedItem.attr('data') || $chosenItem.text();
var chosenText2 = $chosenItem.attr('date');
var chosenText2 = $chosenItem.attr('date2');
var packageId = $checkedItem.attr('id');
switch (chosenType) {
case '4' :
... ... @@ -427,7 +448,7 @@ $(
if (result.code === 200) {
document.location.href = '//m.yohobuy.com/activity/trend/order-list?storeId=' + window.queryString.storeId;
} else {
tip.show('网络断开了~~~');
tip.show(result.message);
}
},
error: function() {
... ... @@ -610,7 +631,8 @@ function getTimeList() {
dateTime: $date,
storeId: window.queryString.storeId,
appointType: window.queryString.typeStatus || window.cookie('travelType'),
activityId: window.queryString.activityId || window.queryString.id ||'',
activityId: window.queryString.activityId || window.queryString.id || '',
travelId: window.cookie('travelId'),
userId: window.queryString.id
},
success: function(result) {
... ... @@ -621,7 +643,7 @@ function getTimeList() {
if (result.getTimeList[i].use === 2) {
var useClass = 'disable';
}
timeList = timeList + '<a date="' + result.getTimeList[i].date + '" data="' + result.getTimeList[i].originTime + '" class="time-item ' + useClass + '">' + result.getTimeList[i].time + '</a>';
timeList = timeList + '<a date2="' + result.getTimeList[i].date2 + '" date="' + result.getTimeList[i].date + '" data="' + result.getTimeList[i].originTime + '" class="time-item ' + useClass + '">' + result.getTimeList[i].time + '</a>';
}
if ($('.time-list').length > 0) {
$('.time-list').append(timeList);
... ... @@ -681,7 +703,7 @@ function orderSubmit() {
if (result.code === 200) {
document.location.href = '//m.yohobuy.com/activity/trend/success?storeId=' + window.queryString.storeId + '&typeStatus=' + window.queryString.typeStatus;
} else {
tip.show('网络断开了~~~');
tip.show(result.message);
}
},
error: function() {
... ... @@ -809,7 +831,7 @@ function getAbleTime() {
$('.chosen-time').parents('a').attr('href', 'javascript:void(0)');
}
} else {
tip.show('网络断开了~~~');
tip.show(result.message);
}
},
error: function() {
... ...
... ... @@ -230,6 +230,10 @@
padding: 0 30px 30px;
}
.content-padding2 {
padding: 30px;
}
.icon {
float: left;
color: #b0b0b0;
... ... @@ -921,8 +925,10 @@
padding-bottom: 80px;
.swiper-pagination-bullet {
width: 20px;
height: 20px;
width: 25px;
height: 25px;
font-size: 16px;
line-height: 25px;
background-color: #b2b2b2;
color: #fff;
}
... ... @@ -1322,6 +1328,10 @@
border-top: solid 1px #e0e0e0;
border-bottom: solid 1px #e0e0e0;
.order-a {
display: block;
}
.list-item {
display: block;
line-height: 88px;
... ...