Commit ac582dd7 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/zk123/jz_travel

parents 21a277ea c850082b
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
:src="goodsInfo.goodsTagPicUrl" :src="goodsInfo.goodsTagPicUrl"
mode="widthFix" mode="widthFix"
style="width: 100%" v-if="goodsInfo.goodsTagPicUrl.indexOf('goods-tag-xp.png')==-1"/> style="width: 100%" v-if="goodsInfo.goodsTagPicUrl.indexOf('goods-tag-xp.png')==-1"/>
<span style="background: #F7DFA4;border-radius: 4rpx;padding:4rpx 8rpx;font-size: 18rpx;color: #584825;">新品首发</span>
</view> </view>
<view style="position: absolute; z-index: 2; top:135rpx;left:12rpx;right: 12rpx;display: flex;font-size: 18rpx;color:#FFF"> <view style="position: absolute; z-index: 2; top:135rpx;left:12rpx;right: 12rpx;display: flex;font-size: 18rpx;color:#FFF">
<view style="height: 24rpx;line-height: 24prx;padding: 0 8rpx;background-color: #18A86B;"> <view style="height: 24rpx;line-height: 24prx;padding: 0 8rpx;background-color: #18A86B;">
...@@ -225,11 +224,11 @@ export default { ...@@ -225,11 +224,11 @@ export default {
overflow: hidden; overflow: hidden;
} }
.her-scoller .good-five .tips { .her-scoller .good-five .tips {
width: 64rpx; width: 94rpx;
height: 64rpx; height: 37rpx;
position: absolute; position: absolute;
top: 8rpx; top: 18rpx;
left: 10rpx; left: -4rpx;
z-index: 4; z-index: 4;
} }
.her-scoller .good-five .img-box-style5 { .her-scoller .good-five .img-box-style5 {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</view> </view>
</view> </view>
<view class="carrHeader-title"> <view class="carrHeader-title">
<slot>{{title}}</slot> <slot>{{title?title:''}}</slot>
</view> </view>
</view> </view>
</view> </view>
......
...@@ -201,7 +201,6 @@ ...@@ -201,7 +201,6 @@
} }
.couponDetailsHeadeBox{ .couponDetailsHeadeBox{
position: relative; position: relative;
/* position: fixed; */
width: 100%; width: 100%;
height: 328rpx; height: 328rpx;
top: 0; top: 0;
...@@ -270,7 +269,6 @@ ...@@ -270,7 +269,6 @@
.cdTiaojian_box{ .cdTiaojian_box{
padding: 0 66rpx; padding: 0 66rpx;
margin-top: 143rpx; margin-top: 143rpx;
/* margin-top: 480rpx; */
} }
.cdTiaojianB{ .cdTiaojianB{
display: flex; display: flex;
......
...@@ -567,6 +567,7 @@ ...@@ -567,6 +567,7 @@
}, 500); }, 500);
this.mainColor = this.$uiConfig.mainColor; this.mainColor = this.$uiConfig.mainColor;
this.getIsOpenReserve(); this.getIsOpenReserve();
this.$utils.VersionUpdate()
}, },
methods: { methods: {
......
<template>
<view class="lienHeader" :style="[titleStyle]">
<view class="lienHeaderBox">
<view class="lienHeader-left">
<view class="lienHeader-left-icon" @click="goBack">
<u-icon name="arrow-left" size="38" :color="type==1?'#000':'#000'"></u-icon>
</view>
</view>
<!-- <view class="lienHeader-title" :style="{'color':type==1?'#FFF':'#000'}">
<slot>{{title}}</slot>
</view> -->
</view>
</view>
</template>
<script>
export default {
props:['title','type'],
data() {
return {
titleStyle:{}
}
},
mounted() {
const that = this
uni.getSystemInfo({
success(res) {
that.titleStyle = {
paddingTop: `${res.statusBarHeight}px`
};
},
});
},
methods:{
goBack(){
uni.navigateBack({delta:-1})
}
}
}
</script>
<style>
.lienHeader-title{
width: 100%;
position: relative;
left: 0;
right: 0;
text-align: center;
font-size: 32rpx;
}
.lienHeader-left{
/* position: absolute;
left: 32rpx;
top: 83rpx;
z-index: 3; */
}
.lienHeaderBox{
width: 100%;
height: 88rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}
.lienHeader{
padding-top: 48rpx;
}
</style>
\ No newline at end of file
<style>
.jz_LineHeadeBox{
position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 1;
height: 310rpx;
overflow: hidden;
}
.jz_LineHeade{
height: 310rpx;
}
.jz_LineHeade.active1{
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638731577133752446.png') no-repeat;
background-size: 100% auto;
}
.jz_Line {}
.jz_Content {
margin: 20rpx 0rpx 30rpx 0rpx;
}
.jz_List {
display: flex;
justify-content: space-between;
}
.jz_TuDiv {
width: 220rpx;
height: 280rpx;
border-radius: 12px;
overflow: hidden;
position: relative;
}
.jz_TuDiv .jz_TuBigImg {
width: 100%;
height: 100%
}
.jz_TuDiv .none-image {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: #ECF1F4;
color: grey;
font-size: 28rpx;
font-family: 'nav-font';
}
.jz_Right {
width: 432rpx;
margin-top: 5px;
font-size: 14px;
position: relative;
}
.jz_LineName {
color: #111111;
font-size: 30rpx;
font-weight: 600;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
font-family: microsoft yahei ui light;
}
.jz_Canhoubu {
color: #FF3166;
margin-left: 10px;
}
.jz_redType {
color: #FF3166;
}
.jz_TuDivBotm {
position: absolute;
width: 100%;
height: 18px;
text-align: center;
bottom: 0;
color: #fff;
font-size: 12px;
line-height: 18px;
background-color: rgba(0, 0, 0, 0.3);
display: flex;
align-items: center;
justify-content: center;
}
.op_remark {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.jz_ListMain {
padding-bottom: 10px;
margin: 0 30rpx;
border-bottom: 1px solid #f1f1f1;
margin-bottom: 10px;
}
.jz_TuDivBotm img {
width: 12px;
height: 12px;
margin-right: 5px;
}
.jz_calederImg {
width: 16px;
height: 16px;
position: relative;
top: 2px;
margin-right: 5px;
}
.jz_Sort {
width: 100%;
margin: 20px 0;
}
.jz_SortItem {
display: inline-block;
width: 25%;
text-align: center;
}
.Jz_tanchu {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
background: #FFF;
position: absolute;
top: 100px;
left: 0;
z-index: 1999;
}
.Jz_tanchu_item {
width: 94%;
margin-left: 3%;
height: 45px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #f1f1f1;
}
.Jz_Mask {
width: 100%;
height: 100%;
background: #000000;
opacity: 0.3;
position: absolute;
left: 0;
top: 130px;
z-index: 999;
}
.jz_Recommend {
color: #999999;
font-size: 24rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-top: 10px;
line-height: 20px;
}
.jz_Content .search-box {
height: 88rpx;
background: #FFF;
border-radius:18rpx;
display: flex;
align-items: center;
padding: 19rpx 30rpx;
margin: 0 30rpx;
}
.jz_Content .search-box .date {
height: 50rpx;
font-size: 28rpx;
font-weight: 500;
color: #111111;
line-height: 50rpx;
margin-right: 30rpx;
display: flex;
align-items: center;
border-right: 1rpx solid #E5E3E1;
}
.jz_Content .team-box {
display: flex;
align-items: stretch;
justify-content: space-between;
flex-wrap: wrap;
}
.jz_Content .team-box:after {
content: "";
flex: auto;
}
.jz_Content .team-box .team {
width: calc(50% - 30rpx);
background: #ECF1F4;
border-radius: 10rpx;
font-size: 26rpx;
color: #999999;
text-align: center;
padding: 20rpx;
margin-top: 30rpx;
margin-right: 30rpx;
display: flex;
justify-content: center;
align-items: center;
}
.jz_Content .team-box .team.active {
background: #111111;
color: #FFFFFF;
}
.jz_Content .team-box .team .team-content {
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.jz_Content .start-range-box {
background: #ECF1F4;
border-radius: 10rpx;
margin-top: 30rpx;
display: flex;
align-items: center;
padding: 20rpx;
}
.jz_Content .start-range-box .date-box {
flex: 1;
font-weight: 400;
}
.jz_Content .start-range-box .split-box {
color: #bbb;
font-size: 24rpx;
margin: 0 20rpx
}
.jz_Content .start-range-box .date-box.right view {
text-align: right;
}
.jz_Content .start-range-box .date-box .label {
color: #bbb;
font-size: 24rpx;
}
.jz_Content .start-range-box .date-box .chosen-date {
color: #111;
font-size: 28rpx;
font-weight: 600;
}
.jz_Content .start-city {
display: inline-block;
position: relative;
}
.jz_Content .start-city text {
position: relative;
z-index: 2;
font-size: 30rpx;
line-height: 30rpx;
font-weight: 500;
color: #111;
}
.jz_Content .start-city::after {
background-color: #DFBE6E;
height: 6px;
bottom: 2px;
left: 0;
right: 0;
position: absolute;
z-index: 1;
display: block;
content: ' ';
}
.jz_Content .price {
margin-top: 10rpx;
font-weight: 500;
color: #111111;
font-size: 20rpx;
text-align: right;
}
.jz_Content .price .money {
font-size: 36rpx;
color: #FF3166;
font-family: nav-font;
}
</style>
<template>
<div class="jz_Line">
<view class="jz_Content">
<view class="jz_LineHeadeBox"
>
<view class="jz_LineHeade" :class="['active1']">
<headerLine :type="msg.teamType" :title="msg.teamType==1?'小包团':''"></headerLine>
<view class="search-box" style="margin-top: 76rpx;">
<view class="date" @click="showBranch=true">
<u-icon name="location" color="#B99846" size="24"></u-icon>
<text style="margin-left: 20rpx;color: #B99846;">{{currentBrachName}}</text>
</view>
<view style="width: 1px; flex: 1;">
<u-search placeholder="关键字搜索" v-model="msg.searchKey" @search="getList(1)" input-align="left" :value="msg.searchKey"
text-color="#111" bg-color="rgba(0,0,0,0)" :show-action="false"></u-search>
</view>
</view>
</view>
<view style="background-color: #FFF;">
<u-dropdown ref="uDropdown" @open="open" @close="close" active-color="#000" inactive-color="#444">
<u-dropdown-item v-model="msg.orderBy" :title="optionsTitle[0]" :options="orderBys" @change="changeOrderBy">
</u-dropdown-item>
<u-dropdown-item :title="optionsTitle[1]">
<view class="slot-content" style="padding:0 30rpx 30rpx 0;padding-top:0;background-color: #FFF;">
<view style="height: 50vh;display: flex;">
<view style="background-color: #f1f1f1;margin-right: 30rpx;height:100%">
<scroll-view scroll-y="true" style="height:100%">
<view style="text-align: center; padding: 15px 0;">
<u-tag mode="plain" border-color="#DFBE6E" color="#DFBE6E" text="出境游" size="mini"></u-tag>
</view>
<template v-for="x in lineList">
<view :style="{'background':x.LineID==currentLineId.LineID?'#FFF':'unset'}" @click="changeLineTeamsHandler(x)"
style="font-size: 15px;color:#111;padding:30rpx;text-align: center;" v-if="x.LineDirection==2" :key="x.LineID">{{x.LineShortName}}</view>
</template>
<view style="text-align: center; padding: 15px 0;">
<u-tag mode="plain" border-color="#DFBE6E" color="#DFBE6E" text="当地游" size="mini"></u-tag>
</view>
<template v-for="x in lineList">
<view :style="{'background':x.LineID==currentLineId.LineID?'#FFF':'unset'}" @click="changeLineTeamsHandler(x)"
style="font-size: 15px;color:#111;padding:30rpx;text-align: center;" v-if="x.LineDirection==3" :key="x.LineID">{{x.LineShortName}}</view>
</template>
</scroll-view>
</view>
<view style="flex:1;width:1px;height:100%">
<scroll-view scroll-y="true" style="height:100%" v-if="currentLineId && currentLineId.PlaceList">
<view style="text-align: right;">
<checkbox-group @change="allTeamsChangeHandler">
<label>
<checkbox value="all" :checked="allTeams" style="transform: scale(0.7)" /><text style="font-size: 12px;">全部系列</text>
</label>
</checkbox-group>
</view>
<template v-for="(x,i) in currentLineId.PlaceList">
<view style="padding-top:30rpx">
<text style="font-size: 28rpx;color:#111;font-weight: 800;margin-right: 10rpx;">{{x.DestinationName}}</text>
</view>
<view class="team-box">
<view v-for="(y,yi) in x.Teams" :key="yi" class="team" :class="{'active':msg.team.indexOf(y.TeamId)!=-1}"
@click="setTeams(y.TeamId)">
<view class="team-content">{{y.TeamName}}</view>
</view>
</view>
</template>
</scroll-view>
</view>
</view>
<view style="box-shadow: 0px -10px 30px 0px rgba(36, 36, 36, 0.06);margin-top:40rpx;display: flex;padding-left: 30rpx;">
<view style="flex:1;margin-right: 30rpx;">
<u-button :custom-style="btnStyle" @click="clearTeams">清除</u-button>
</view>
<view style="flex:1;">
<u-button :custom-style="btnStyle2" @click="changeTeams">完成</u-button>
</view>
</view>
</view>
</u-dropdown-item>
<u-dropdown-item :title="optionsTitle[2]">
<view class="slot-content" style="padding: 30rpx;padding-top:0;background-color: #FFF;">
<scroll-view scroll-y="true" style="max-height: 50vh;">
<view style="padding-top:30rpx">
<text style="font-size: 28rpx;color:#111;font-weight: 800;margin-right: 10rpx;">行程天数</text>
</view>
<view class="team-box">
<view v-for="x in days" class="team" style="width:calc(25% - 30rpx);" :class="{'active':msg.days.indexOf(x.day)!=-1}"
@click="setDays(x.day)">{{x.name}}</view>
</view>
<view style="padding-top:30rpx">
<text style="font-size: 28rpx;color:#111;font-weight: 800;margin-right: 10rpx;">出发日期</text>
</view>
<view class="start-range-box" @click="showTimePopup=true">
<view class="date-box">
<view class="label">最早出发日期</view>
<view class="date" style="font-weight: 400;" v-if="msg.startDate==''">选择日期</view>
<view class="date" v-else>{{msg.startDate}}</view>
</view>
<view class="split-box">-至-</view>
<view class="date-box right">
<view class="label">最晚出发日期</view>
<view class="date" style="font-weight: 400;" v-if="msg.endDate==''">选择日期</view>
<view class="date" v-else>{{msg.endDate}}</view>
</view>
</view>
</scroll-view>
<view style="box-shadow: 0px -10px 30px 0px rgba(36, 36, 36, 0.06);margin-top:40rpx;display: flex;">
<view style="flex:1;margin-right: 30rpx;">
<u-button :custom-style="btnStyle" @click="clearDayAndDate">清除</u-button>
</view>
<view style="flex:1;">
<u-button :custom-style="btnStyle2" @click="changeDayAndDate">完成</u-button>
</view>
</view>
</view>
</u-dropdown-item>
<u-dropdown-item v-model="msg.startCityId" :title="optionsTitle[3]" :options="startCitys" @change="changeStartCity">
</u-dropdown-item>
</u-dropdown>
</view>
</view>
<view style="margin-top: 390rpx;">
<view v-if="screenshow==true" class="Jz_Mask" @click="screenshow=false"></view>
<u-empty v-if="dataList.length==0 && !loading" text="暂无数据" mode="data"></u-empty>
<template v-else>
<view style="height: calc(100vh - 220px);overflow: hidden;">
<scroll-view :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower" :style="{ height: '100%' }">
<view class="jz_ListMain" v-for="(item,index) in dataList" :key="index" @click="goJzDetail(item)">
<view class="jz_List">
<view class="jz_TuDiv">
<img class="jz_TuBigImg" mode="aspectFill" :src="getImgs(item.imgCover)" alt="" v-if="item.imgCover && item.imgCover.length>0 && getImgs(item.imgCover)!=''" />
<view class="none-image" v-else>暂无图片</view>
</view>
<view class="jz_Right">
<view class="jz_LineName">{{item.title}}</view>
<view class="jz_Recommend" v-if="item.productRecommend && item.productRecommend!='null'">
{{item.productRecommend}}
</view>
<view style="margin:10px 0;display: flex;align-items: center;">
<view class="start-city" style="margin-right: 20rpx;" v-if="item.startCityName">
<text>{{item.startCityName}}出发</text>
</view>
<view style="margin-right: 20rpx;" v-if="item.companyUnions && item.companyUnions.length>1">
<u-tag border-color="#DFBE6E" color="#FFF" bg-color="#DFBE6E" text="多个出发城市" size="mini"></u-tag>
</view>
<view>
<u-tag mode="plain" border-color="#DFBE6E" color="#DFBE6E" :text="`${item.dayNum}天`" size="mini"></u-tag>
</view>
</view>
<view class="price" style="display:flex;justify-content: space-between;align-items: center;">
<view style="font-size:24rpx;color:#999999;">
最近团期:{{item.startDate}}
</view>
</view>
<view class="price" style="text-align: unset;">
<text></text>
<text class="money">{{parseFloat($utils.getretailer()?item.b2BPrice:item.b2CPrice).toFixed(2)}}</text>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
</view>
</view>
<auth v-if="showAuth&&is_show_auth==1" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
<u-picker mode="time" v-model="isShowDate" @confirm='getStratDate' :params="params"></u-picker>
<u-popup v-model="showTimePopup" mode="bottom" border-radius="20" length="90%" :safe-area-inset-bottom="true">
<canlendar @finish="chosenDateResult"></canlendar>
</u-popup>
<u-picker mode="selector" v-model="showBranch" :default-selector="[0]" :range="branchList" @confirm='changeBranch'
range-key="BName"></u-picker>
</div>
</template>
<script>
import canlendar from "./components/time/index.vue"
import auth from "@/components/auth/index.vue";
import headerLine from "./components/headerLine";
export default {
components: {
canlendar,
auth,
headerLine
},
data() {
return {
allTeams: false,
loading: true,
pageTitle: '线路',
showTimePopup: false,
msg: {
pageIndex: 1,
pageSize: 15,
orderBy: "",
team: [],
days: ['<100'],
startDate: '',
endDate: '',
startCityId: -1,
companyId: 0,
searchKey: '', //搜索数据
priceOrderByField: 2,
PlaceIds: '',
lineId: 0,
teamType: "", //团队类型 1-小包团
},
time: '',
currentLineId: null,
params: {
year: true,
month: true,
day: true,
hour: false,
minute: false,
second: false
},
btnStyle: {
borderRadius: '16rpx',
color: '#111',
fontSize: '30rpx',
width: '100%',
border: "1px solid #111",
background: "#FFF"
},
btnStyle2: {
borderRadius: '16rpx',
color: '#fff',
fontSize: '30rpx',
width: '100%',
background: "#111"
},
dataList: [], //数据
isShowDate: false,
orderBys: [],
lineList: [],
days: [{
name: "不限",
day: '<100'
},
{
name: "2日以下",
day: '<=2'
},
{
name: "3日",
day: '=3'
},
{
name: "4日",
day: '=4'
},
{
name: "5日",
day: '=5'
},
{
name: "6日",
day: '=6'
},
{
name: "7日",
day: '=7'
},
{
name: "8日以上",
day: '>=8'
}
],
loadText: {
loadmore: "轻轻上拉,加载更多",
loading: "努力加载中",
nomore: "没有更多了",
},
startCitys: [],
screenshow: false,
status: "加载中",
page_count: 0,
branchList: [],
currentBrachName: "",
showBranch: false,
optionsTitle: [
"推荐排序",
"线路玩法",
"天数日期",
"出发城市"
],
CityId: 0,
showAuth: false,
is_show_auth: 0, //是否显示授权弹窗
b2bUser: {}, //同行信息
mallUserInfo: {},
};
},
created() {
uni.setNavigationBarTitle({
title: "精品旅游线路"
})
},
onLoad(option) {
console.log("option", option);
if (option && option.LineTeamIds) {
let NewArr = [];
NewArr = option.LineTeamIds.split(",");
if (NewArr.length > 0) {
NewArr.forEach(x => {
this.msg.team.push(parseInt(x));
})
}
} else if (option && option.lineId) {
this.msg.lineId = option.lineId;
}
if (option && option.PlaceIds) {
this.msg.PlaceIds = option.PlaceIds;
}
if (option && option.teamType && option.teamType == "1") {
this.msg.teamType = option.teamType;
}
let basedata = uni.getStorageSync("basedata");
//判断后台是否开启自动授权
if (basedata && basedata.mall && basedata.mall.setting && basedata.mall.setting && basedata.mall.setting.is_show_auth ==
1) {
this.is_show_auth = 1;
}
this.b2bUser = uni.getStorageSync("b2b_user");
this.mallUserInfo = uni.getStorageSync("mall_UserInfo");
if (!this.mallUserInfo) {
this.mallUserInfo = {
nickName: "未登录",
avatarUrl: "",
};
this.showAuth = true;
} else if (!this.b2bUser && this.is_show_auth == 1) {
this.U = {
nickName: "未登录",
avatarUrl: "",
};
this.showAuth = true;
}
this.getLineQuery();
},
methods: {
reloadUserinfo() {
this.b2bUser = uni.getStorageSync("b2b_user");
this.mallUserInfo = uni.getStorageSync("mall_UserInfo");
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
},
allTeamsChangeHandler(e) {
this.allTeams = e.detail.value.length > 0
if (this.allTeams && this.msg.team.length > 0) {
this.msg.team = [];
}
this.$forceUpdate();
},
//线路切换
changeLineTeamsHandler(item) {
this.allTeams = false;
this.currentLineId = item;
this.msg.lineId = item.LineID;
this.msg.PlaceIds = "";
this.msg.team = [];
},
//获取查询条件
getLineQuery() {
let customerInfo = uni.getStorageSync("b2b_user")
this.apipost(
"b2b_get_GetMiniAppTravelQuery", {},
res => {
if (res.resultCode == 1) {
this.orderBys = res.data.OrderByList;
this.branchList = res.data.SiteList;
this.startCitys = res.data.CityList;
this.lineList = res.data.LineList;
this.msg.companyId = this.branchList[0].BId;
this.currentBrachName = this.branchList[0].BName;
this.CityId = this.branchList[0].CityId;
this.currentLineId = this.lineList[0]
if (this.msg.lineId != 0) {
let temp = this.lineList.find(x => x.LineID == this.msg.lineId)
if (temp) {
this.currentLineId = temp
this.optionsTitle[1] = temp.LineShortName
} else {
this.currentLineId = this.lineList[0]
}
} else {
this.currentLineId = this.lineList[0]
}
if (customerInfo && customerInfo.salesBaseInfo) {
let tempCompany = this.branchList.find(x => x.BId == customerInfo.salesBaseInfo.rB_Branch_id)
if (tempCompany && tempCompany.BId) {
this.msg.companyId = tempCompany.BId
this.currentBrachName = tempCompany.BName
}
}
}
this.research();
},
null
);
},
changeBranch(val) {
this.msg.companyId = this.branchList[val].BId
this.currentBrachName = this.branchList[val].BName
this.CityId = this.branchList[val].CityId;
this.research();
},
setDays(day) {
if (day == '<100') {
this.msg.days = ['<100']
} else {
if (this.msg.days.indexOf('<100') != -1) {
this.msg.days.splice(this.msg.days.indexOf('<100'), 1)
}
let temp = this.msg.days.indexOf(day)
if (temp == -1) {
this.msg.days.push(day)
} else {
this.msg.days.splice(temp, 1)
}
}
},
clearDayAndDate() {
this.msg.days = ['<100']
this.optionsTitle[2] = '天数日期'
this.msg.startDate = ''
this.msg.endDate = ''
this.$forceUpdate()
this.$refs.uDropdown.close();
this.research();
},
changeDayAndDate() {
let temp = ''
if (this.msg.days.indexOf("<100") == -1) {
this.msg.days.forEach(x => {
this.days.forEach(y => {
if (y.day == x) {
temp += y.name + ","
}
})
})
}
if (this.msg.startDate != '') {
temp += "最早:" + this.msg.startDate + ","
}
if (this.msg.endDate != '') {
temp += "最早:" + this.msg.endDate + ","
}
this.optionsTitle[2] = temp == '' ? '天数日期' : temp
this.$forceUpdate()
this.$refs.uDropdown.close();
this.research();
},
chosenDateResult(obj) {
this.msg.startDate = obj.start;
this.msg.endDate = obj.end;
this.showTimePopup = false
},
clearTeams() {
this.msg.team = []
this.optionsTitle[1] = '线路玩法'
this.currentLineId = null
this.msg.lineId = 0;
this.msg.PlaceIds = "";
this.allTeams = false
this.$forceUpdate()
this.$refs.uDropdown.close();
this.research();
},
changeTeams() {
if (this.msg.team.length == 0) {
this.optionsTitle[1] = '线路玩法'
if (this.allTeams && this.currentLineId) {
this.optionsTitle[1] = this.currentLineId.LineShortName
this.msg.lineId = this.currentLineId.LineID
}
} else {
let temp = ''
this.lineList.forEach(x => {
x.PlaceList.forEach(y => {
y.Teams.forEach(z => {
if (this.msg.team.indexOf(z.TeamId) != -1) {
temp += z.TeamName + ","
}
})
})
})
this.optionsTitle[1] = temp
}
if (this.optionsTitle[1] == '') {
this.optionsTitle[1] = '线路玩法'
}
this.$forceUpdate()
this.$refs.uDropdown.close();
this.research();
},
setTeams(teamId) {
this.msg.PlaceIds = "";
let id = teamId
let temp = this.msg.team.indexOf(id)
if (temp == -1) {
this.msg.team.push(id)
} else {
this.msg.team.splice(temp, 1)
}
if (this.allTeams && this.msg.team.length > 0) {
this.allTeams = false
this.msg.lineId = 0
}
this.$forceUpdate();
},
changeOrderBy(index) {
let temp = this.orderBys.find(x => {
if (x.value == index) {
return x
} else {
return false
}
})
this.optionsTitle[0] = temp.label
this.msg.orderBy = temp.value
this.$forceUpdate()
this.research();
},
changeStartCity(index) {
if (index == -1) {
this.optionsTitle[3] = "出发城市"
this.msg.startCity = -1
} else {
let temp = this.startCitys.find(x => {
if (x.value == index) {
return x
} else {
return false
}
})
this.optionsTitle[3] = temp.label + "出发"
this.msg.startCity = temp.value
}
this.$forceUpdate()
this.research();
},
open(index) {
this.$refs.uDropdown.highlight();
},
close(index) {
this.$refs.uDropdown.highlight(index);
},
research() {
this.msg.pageIndex = 1;
this.dataList = [];
this.getList();
},
//获取数据
getList(type) {
if (type == 1) {
this.dataList = [];
this.msg.pageIndex = 1;
}
if (this.msg.lineId != 0 && this.msg.team.length > 0) {
this.msg.lineId = 0
}
uni.showLoading({
title: '加载中',
icon: 'none'
})
this.apipost(
"b2b_get_GetLXYTravelPageList",
this.msg,
res => {
if (res.resultCode == 1) {
let format = this.getFormatUnionStartCityHandler(res.data.pageData)
this.dataList = this.dataList.concat(format);
this.page_count = res.data.pageCount;
}
this.loading = false
uni.hideLoading();
},
err => {
this.loading = false
}
);
},
getFormatUnionStartCityHandler(data) {
data.forEach(x => {
if (x.unionList && x.unionList.length > 0) {
let companyUnions = x.unionList.filter(y => y.unionBranchId == this.msg.companyId)
if (companyUnions && companyUnions.length > 0) {
if (companyUnions[0].unionCityId > 0) {
x.startCityId = companyUnions[0].unionCityId
x.startCityName = companyUnions[0].startCityName
} else {
let tempCity = this.branchList.find(y => y.BId == this.msg.companyId)
if (tempCity && tempCity.CityId) {
x.startCityId = tempCity.CityId
x.startCityName = tempCity.BName.replace('站', '')
}
}
x.companyUnions = companyUnions
}
}
})
return data
},
//获取日期
getStratDate(val) {
console.log(val, 'val');
},
lower(e) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
this.status = "loading";
this.getList();
} else {
this.status = "nomore";
}
},
//跳转至详情
goJzDetail(item) {
uni.navigateTo({
url: "/pages/jiuzhai/jz_LineDetail?tcid=" + item.tcid + '&configId=' + item.configId + '&cityId=' + (item.startCityId ?
item.startCityId : this.CityId) + '&lineId=' + this.msg.lineId
});
},
//获取第一张图
getImgs(imgObj) {
let imgArr = JSON.parse(imgObj);
if (imgArr && imgArr.length > 0) {
return imgArr[0].Url
}
}
},
};
</script>
<style> <style>
.jz_LineHeadeBox{ .jz_LineHeadeBox{
/* position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 1; */
padding-top: 41.2vw; padding-top: 41.2vw;
position: relative; position: relative;
} }
...@@ -63,6 +58,13 @@ ...@@ -63,6 +58,13 @@
font-size: 28rpx; font-size: 28rpx;
font-family: 'nav-font'; font-family: 'nav-font';
} }
.jz_TuNewImg{
width: 94rpx;
height: 37rpx;
position: absolute;
left: -4px;
top: 10px;
}
.jz_Right { .jz_Right {
width: 432rpx; width: 432rpx;
...@@ -193,7 +195,7 @@ ...@@ -193,7 +195,7 @@
} }
.jz_Content .search-box { .jz_Content .search-box {
height: 88rpx; height: 70rpx;
background: #FFF; background: #FFF;
border-radius:18rpx; border-radius:18rpx;
display: flex; display: flex;
...@@ -201,7 +203,7 @@ ...@@ -201,7 +203,7 @@
padding: 19rpx 30rpx; padding: 19rpx 30rpx;
margin: 0 30rpx; margin: 0 30rpx;
position: absolute; position: absolute;
bottom: 22rpx; bottom: 29rpx;
left: 0; left: 0;
right: 0; right: 0;
} }
...@@ -341,7 +343,7 @@ ...@@ -341,7 +343,7 @@
'active0':msg.teamType==0, 'active0':msg.teamType==0,
'active1':msg.teamType==1, 'active1':msg.teamType==1,
'active2':msg.teamType==2}"> 'active2':msg.teamType==2}">
<headerLine :type="msg.teamType" :title="msg.teamType==1?'小包团':''"></headerLine> <headerLine></headerLine>
<view class="search-box" style="margin-top: 24rpx;"> <view class="search-box" style="margin-top: 24rpx;">
<view class="date" @click="showBranch=true"> <view class="date" @click="showBranch=true">
<u-icon name="location" color="#B99846" size="24"></u-icon> <u-icon name="location" color="#B99846" size="24"></u-icon>
...@@ -359,7 +361,7 @@ ...@@ -359,7 +361,7 @@
</view> </view>
</view> </view>
</view> </view>
<view style="height: 100rpx;width: 100%;"> <view style="height: 80rpx;width: 100%;">
<u-dropdown ref="uDropdown" @open="open" @close="close" active-color="#000" inactive-color="#444"> <u-dropdown ref="uDropdown" @open="open" @close="close" active-color="#000" inactive-color="#444">
<u-dropdown-item v-model="msg.orderBy" :title="optionsTitle[0]" :options="orderBys" @change="changeOrderBy"> <u-dropdown-item v-model="msg.orderBy" :title="optionsTitle[0]" :options="orderBys" @change="changeOrderBy">
</u-dropdown-item> </u-dropdown-item>
...@@ -470,6 +472,7 @@ ...@@ -470,6 +472,7 @@
<view class="jz_TuDiv"> <view class="jz_TuDiv">
<img class="jz_TuBigImg" mode="aspectFill" :src="getImgs(item.imgCover)" alt="" v-if="item.imgCover && item.imgCover.length>0 && getImgs(item.imgCover)!=''" /> <img class="jz_TuBigImg" mode="aspectFill" :src="getImgs(item.imgCover)" alt="" v-if="item.imgCover && item.imgCover.length>0 && getImgs(item.imgCover)!=''" />
<view class="none-image" v-else>暂无图片</view> <view class="none-image" v-else>暂无图片</view>
<img v-if="item.isNewArrival&&item.isNewArrival==1" class="jz_TuNewImg" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638733097518452353.png" />
</view> </view>
<view class="jz_Right"> <view class="jz_Right">
<view class="jz_LineName">{{item.title}}</view> <view class="jz_LineName">{{item.title}}</view>
...@@ -518,7 +521,7 @@ ...@@ -518,7 +521,7 @@
<script> <script>
import canlendar from "./components/time/index.vue" import canlendar from "./components/time/index.vue"
import auth from "@/components/auth/index.vue"; import auth from "@/components/auth/index.vue";
import headerLine from "./components/headerLine"; import headerLine from "@/components/header/header";//"./components/headerLine";
export default { export default {
components: { components: {
canlendar, canlendar,
......
...@@ -44,99 +44,139 @@ ...@@ -44,99 +44,139 @@
</view> </view>
<view class="jz_TopPrice"> <view class="jz_TopPrice">
<view class="jz_LineTitle row items-center"> <view class="jz_LineTitle row items-center">
<view class="jz_LineTitleL" v-if="stepNumber>4">
<view class="jz_LineTitleLImg">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638733242185514996.png"/>
</view>
<view class="jz_LineTitleLText" v-if="dataList.lineId==168">9.5折</view>
<view class="jz_LineTitleLText" v-else>返100/人</view>
</view>
<view class="col"> <view class="col">
<text class="jz_renmin">¥</text><text class="jz_B2bPrice">{{ $utils.getretailer()?currentPrice.b2BPrice:currentPrice.b2CPrice }}</text> <text class="jz_renmin">¥</text><text class="jz_B2bPrice">{{ discountPrice }}</text>
<text style="color: #999999; font-size: 28rpx; font-weight: 400">/人起</text> <text style="color: #999999; font-size: 28rpx; font-weight: 400">/人起</text>
</view> </view>
<view class="row items-center" style="border-radius: 4px;overflow: hidden;font-size: 12px;" v-if="dataList.currentPriceInfo.teamType==1">
<view style="background-color: #111;padding: 2px 5px;color: #FFF;"> <view v-if="stepNumber==0&&dataList.currentPriceInfo.teamType==0" class="row items-center jz_LineDetaCZ" style="border-radius: 4px;overflow: hidden;font-size: 12px;" >
独家 <view class="jz_LineDetaCZL">
<view style="opacity: 0;">1</view>
</view> </view>
<view style="background-color: #dfbe6e;padding: 2px 5px; color: #111;"> <view class="jz_LineDetaCZR">
高端定制小团 <template v-if="dataList.lineId==168">80</template>
<template v-else>30</template>元/人
</view> </view>
</view> </view>
</view> </view>
<view class="jz_MainTitle"> <view v-if="TotalDiscount>0" class="jz_LineDetaYJDKQ" style="padding: 0rpx 0 0 0;">
<text v-if="dataList.title">{{ dataList.title }}</text> <view class="jz_LineDetaYJ">
<view class="jz_LineDetaYJL">原价 ¥{{ $utils.getretailer()?currentPrice.b2BPrice:currentPrice.b2CPrice }}/人起</view>
<view class="jz_LineDetaYJR">已减{{TotalDiscount}}</view>
</view> </view>
<view class="jz_Maidian"> <view v-if="couponList.length>0" class="jz_LineDetaRDKQ">
<text>{{ dataList.productRecommend }}</text> <view>共{{couponList.length}}张抵扣券</view>
<u-icon name="arrow" size="30" color="#cecece" style="margin-left: 5px;"></u-icon>
</view> </view>
</view> </view>
<view class="jz_LineDetaYJDKQ" v-if="stepNumber>0">
<view class="jz_TripDays"> <view class="jz_LineDetaFL">
<view style="display: flex; align-items: flex-start;"> <view v-if="dataList.currentPriceInfo.teamType==0" class="row items-center jz_LineDetaCZ"
<view style="margin-bottom: 40rpx;width:1px;flex:1;"> style="border-radius: 4px;overflow: hidden;font-size: 12px;margin-right: 15rpx;" >
<span style="display: inline-block; position: relative"> <view class="jz_LineDetaCZL">
<text style=" <view style="opacity: 0;">1</view>
position: relative; </view>
z-index: 2; <view class="jz_LineDetaCZR">
color: #1f1f1f; <template v-if="dataList.lineId==168">80</template>
font-size: 36rpx; <template v-else>30</template>元/人
font-weight: bold; </view>
"> </view>
下单福利多 <view class="jz_LineDetaFLJf" >
</text> 278.25积分
<span style=" </view>
width: 40px; </view>
background-color: #dfbe6e; <view class="jz_LineDetaRDKQ">
height: 6px; <view>共{{Discounts}}项福利</view>
bottom: 2px; <u-icon name="arrow" size="30" color="#cecece" style="margin-left: 5px;"></u-icon>
left: 0; </view>
right: 0;
position: absolute;
z-index: 1;
"></span>
</span>
</view> </view>
<view v-if="stepNumber==0" class="jz_LineDetaSC">
<view class="jz_LineDetaSCL">
<view class="jz_LineDetaSCLDl">
<view>¥</view>
</view>
<view class="jz_LineDetaSCQM">{{maxCouponDiscount}}</view>
</view>
<view class="jz_LineDetaSCR">
<view class="jz_LineDetaSCRTitle">首购抵扣券</view>
<view class="jz_LineDetaSCRText">新户注册即得</view>
</view>
</view> </view>
<view class="row items-center" style="padding: 5px 0;font-size: 12px;" v-if="maxCouponDiscount>0"> <view class="jz_LineDetaVip" v-if="stepNumber>0&&stepNumber<5">
<u-icon name="shouye" custom-prefix='tffont' color="#cecece" size="40" style="position: relative;z-index: 2;" ></u-icon> <view class="jz_LineDetaVipTop">
<text style="color:#cecece; margin-left: 5px;">优惠券</text> <view>
<view style="text-align: right;" class="col"> <template v-if="stepNumber<5">
<text>最高可减:</text> 再完成{{UnfOddNumber}}单即可成为VIP,享永久折扣!
<text style="color:#ff3166; ">{{ maxCouponDiscount.toFixed(2) }}</text> </template>
<text>;{{couponList.length}}张可用</text> <template v-else>
您已是VIP,将享永久折扣!
</template>
</view> </view>
<u-icon name="arrow" color="#cecece" size="30" style="margin-left: 5px;" ></u-icon> <view>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528690203686.png"/>
</view> </view>
<view class="row items-center" style="padding: 5px 0;font-size: 12px;" v-if="currentPrice.teamType==0">
<u-icon name="5wodejifen" custom-prefix='tffont' color="#cecece" size="40" style="position: relative;z-index: 2;" ></u-icon>
<text style="color:#cecece; margin-left: 5px;">会员积分</text>
<view style="text-align: right;" class="col">
<text>预计可返:</text>
<text style="color:#ff3166; ">{{ (currentPrice.b2BPrice/100).toFixed(2) }}</text>
<text></text>
</view> </view>
<u-icon name="arrow" color="#cecece" size="30" style="margin-left: 5px;" ></u-icon> <view class="jz_LineDetaVipPr">
<view class="jz_LineDetaVPB">
<view class="jz_LineDetaVPBBox" v-for="(item,index) in progress"
:key="index">
<view class="jz_LineDetaVPBLine" :style="{'opacity':index==0?'0':1}"></view>
<view class="jz_LineDetaVPBN">{{item.text}}</view>
<view class="jz_LineDetaVPBBoxI" v-if="item.img"><img :src="item.img"/></view>
<view class="jz_LineDetaVPBLine" v-else></view>
</view> </view>
<view class="row items-center" style="padding: 5px 0;font-size: 12px;" v-if="currentPrice.teamType==0">
<u-icon name="yongjin2" custom-prefix='tffont' color="#cecece" size="40" style="position: relative;z-index: 2;" ></u-icon>
<text style="color:#cecece; margin-left: 5px;">幸福存折</text>
<view style="text-align: right;" class="col">
<text>返佣:</text>
<text style="color:#ff3166; ">{{ currentPrice.lineId==168?80.00:30.00 }}</text>
<text>/人</text>
</view> </view>
<u-icon name="arrow" color="#cecece" size="30" style="margin-left: 5px;" ></u-icon> <view class="jz_LineDetaVPB jz_LineDetaVPBY">
<view class="jz_LineDetaVPBBox" v-for="(item,index) in progress"
:key="index"
:class="[item.colorStyle]">
<view class="jz_LineDetaVPBLine" :style="{'opacity':index==0?'0':1}"></view>
<view class="jz_LineDetaVPBN">{{item.text}}</view>
<view class="jz_LineDetaVPBBoxI" v-if="item.img"></view>
<view class="jz_LineDetaVPBLine"
:class="[item.radiusR]" v-else></view>
</view> </view>
<view class="row items-center" style="padding: 5px 0;font-size: 12px;" v-if='1==0'>
<u-icon name="f-vip" custom-prefix='tffont' color="#000" size="40" style="position: relative;z-index: 2;" ></u-icon>
<view style="background-color: #dfbe6e;margin-left: -11px;padding: 1px 5px;font-size: 8px;text-indent: 8px; color: #111;border-top-right-radius: 4px;border-bottom-right-radius: 4px;">
印象VIP
</view> </view>
<view style="text-align: right;" class="col">
<text>优惠:</text>
<text style="color:#ff3166; ">{{ currentPrice.lineId==168?95:100.00 }}</text>
<text>{{ currentPrice.lineId==168?'折':'/人'}}</text>
</view> </view>
<u-icon name="arrow" color="#cecece" size="30" style="margin-left: 5px;" ></u-icon>
</view> </view>
<view class="jz_LineDetaQTS" v-if="stepNumber==0">
<img class="jz_LineDetaQTSImg" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732463534129379.png" />
<view class="jz_LineDetaQTSText">
<view>完成首单,即可获得</view>
<view class="jz_LineDetaQTSTextRed">4张*150元</view>
<view>出境散拼团抵扣券</view>
</view>
</view> </view>
<view class="jz_MainTitle">
<view class="jz_MainTitleL"
v-if="dataList.currentPriceInfo
&&dataList.currentPriceInfo.isNewArrival
&&dataList.currentPriceInfo.isNewArrival==1">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638733081598389054.png"/>
</view>
<view class="jz_MainTitleR" v-if="dataList.title">
<text>{{ dataList.title }}</text>
</view>
</view>
<view class="jz_Maidian">
<text>{{ dataList.productRecommend }}</text>
</view>
</view>
<view class="jz_TripDays" v-if='1==0'> <view class="jz_TripDays" v-if='1==0'>
<view style="display: flex; align-items: flex-start;"> <view style="display: flex; align-items: flex-start;">
<view style="margin-bottom: 40rpx;width:1px;flex:1;"> <view style="margin-bottom: 40rpx;width:1px;flex:1;">
...@@ -989,7 +1029,7 @@ ...@@ -989,7 +1029,7 @@
<u-number-box size="28" @change="yeChange" :min="0" :max="crCount" v-model="yeCount"></u-number-box> <u-number-box size="28" @change="yeChange" :min="0" :max="crCount" v-model="yeCount"></u-number-box>
</view> </view>
<view class="line-flex" style="padding: 30rpx; background: #fff" <view class="line-flex" style="padding: 30rpx; background: #fff"
v-if="SaleList&&SaleList.length>1" @click="showSalePreviwe=true"> v-if="createBy==0&&SaleList&&SaleList.length>1" @click="showSalePreviwe=true">
<text style="font-size: 28rpx; color: #111; font-weight: 500">销售</text> <text style="font-size: 28rpx; color: #111; font-weight: 500">销售</text>
<text style=" <text style="
font-size: 22rpx; font-size: 22rpx;
...@@ -1042,7 +1082,7 @@ ...@@ -1042,7 +1082,7 @@
<view style="color: #ff3166; font-weight: bold"> <view style="color: #ff3166; font-weight: bold">
<text style="font-size: 22rpx">¥</text> <text style="font-size: 22rpx">¥</text>
<!-- b2b --> <!-- b2b -->
<text style="font-size: 40rpx;font-family: nav-font;">{{$utils.getretailer()?currentPrice.b2BPrice:currentPrice.b2CPrice}}</text> <text style="font-size: 40rpx;font-family: nav-font;">{{discountPrice}}</text>
<text style="font-size: 22rpx">/起</text> <text style="font-size: 22rpx">/起</text>
</view> </view>
<view style="display: flex; align-items: center"> <view style="display: flex; align-items: center">
...@@ -1154,6 +1194,7 @@ ...@@ -1154,6 +1194,7 @@
configId: 0, configId: 0,
tcnum: "", tcnum: "",
cityId: 0, cityId: 0,
customerId: 0,
}, },
d: {}, d: {},
scenicNum: 0, // 景点数量 scenicNum: 0, // 景点数量
...@@ -1200,13 +1241,110 @@ ...@@ -1200,13 +1241,110 @@
}, { }, {
name: '' name: ''
} }
] ],
createBy: 0,
progress:[
{
text:'1',
colorStyle: '',
radiusL: '',
radiusR: '',
},
{
text:'2',
colorStyle: '',
radiusL: '',
radiusR: '',
},
{
text:'3',
colorStyle: '',
radiusL: '',
radiusR: '',
},
{
text:'4',
colorStyle: '',
radiusL: '',
radiusR: '',
},
{
text:'',
colorStyle: '',
radiusL: '',
radiusR: '',
img:'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732528736165089.png'
},
],
stepNumber: 0,//当前完成单数
UnfOddNumber: 0,//剩余完成订单数 可成为vip
discountPrice: 0,//优惠后金额
Discounts: 1,//福利项
TotalDiscount: 0,//合计优惠金额
}; };
}, },
watch: {
stepNumber: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
this.progress.forEach((x,index)=>{
if(this.stepNumber==0){
x.colorStyle = ""
x.radiusR = ""
x.radiusL = ""
}
if(this.stepNumber>0&&index<1){
x.colorStyle = "active"
x.radiusR = "VPBLRadiusR"
}
if(this.stepNumber>1&&index<2){
x.colorStyle = "active"
x.radiusL = ""
if(index<1){
x.radiusR = ""
}else{
x.radiusR = "VPBLRadiusR"
}
}
if(this.stepNumber>2&&index<3){
x.colorStyle = "active"
x.radiusL = ""
if(index<2){
x.radiusR = ""
}else{
x.radiusR = "VPBLRadiusR"
}
}
if(this.stepNumber>3&&index<4){
x.colorStyle = "active"
x.radiusL = ""
if(index<3){
x.radiusR = ""
}else{
x.radiusR = "VPBLRadiusR"
}
}
if(this.stepNumber>4&&index<5){
x.colorStyle = "active"
x.radiusL = ""
if(index<4){
x.radiusR = ""
}else{
x.radiusR = "VPBLRadiusR"
x.radiusL = "VPBLRadiusL"
}
}
})
},
},
},
created() {}, created() {},
onLoad(option) { onLoad(option) {
this.mc = this.$uiConfig.mainColor; this.mc = this.$uiConfig.mainColor;
console.log("option",option);
this.customer = uni.getStorageSync("b2b_user"); this.customer = uni.getStorageSync("b2b_user");
this.delMsg.customerId = this.customer.customerId
if (!option.scene) { if (!option.scene) {
if (option.lineId) { if (option.lineId) {
this.delMsg.lineId = option.lineId; this.delMsg.lineId = option.lineId;
...@@ -1226,9 +1364,7 @@ ...@@ -1226,9 +1364,7 @@
}) })
} }
if (option.createBy) { if (option.createBy) {
this.SaleId = option.createBy this.createBy = option.createBy
}else{
this.getSale()
} }
} else { } else {
let t = decodeURIComponent(option.scene).split('&') let t = decodeURIComponent(option.scene).split('&')
...@@ -1239,10 +1375,13 @@ ...@@ -1239,10 +1375,13 @@
this.delMsg.tcid = item[1] this.delMsg.tcid = item[1]
} else if (item[0] === 'configId') { } else if (item[0] === 'configId') {
this.delMsg.configId = item[1] this.delMsg.configId = item[1]
} else if (item[0] === 'createBy') {
this.createBy = item[1]
} }
} }
}) })
} }
this.getSale()
this.getDetails(); this.getDetails();
this.U = uni.getStorageSync("mall_UserInfo"); this.U = uni.getStorageSync("mall_UserInfo");
this.b2bUser = uni.getStorageSync("b2b_user"); this.b2bUser = uni.getStorageSync("b2b_user");
...@@ -1280,6 +1419,17 @@ ...@@ -1280,6 +1419,17 @@
this.mainColor = this.$uiConfig.mainColor; this.mainColor = this.$uiConfig.mainColor;
}, },
methods: { methods: {
calcPzCouponHandler(){
this.couponList.forEach((x)=>{
if(x.expansionModel.denomination>0){
x.realDenomination = x.denomination
x.denomination =x.expansionModel.denomination
}
})
// setTimeout(()=>{
// console.log(this.currentPrice,'=======222')
// ,1000})
},
SelectSales(item){ SelectSales(item){
this.SaleName = item.EmName this.SaleName = item.EmName
this.SaleId = item.CreateBy this.SaleId = item.CreateBy
...@@ -1309,6 +1459,10 @@ ...@@ -1309,6 +1459,10 @@
(res) => { (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
this.couponList = res.data this.couponList = res.data
if(this.couponList.length>0) {
this.Discounts += 1
}
this.calcPzCouponHandler()
this.couponList.forEach(x=>{ this.couponList.forEach(x=>{
if(x.couponsType==1 && x.denomination>this.maxCouponDiscount) this.maxCouponDiscount=x.denomination if(x.couponsType==1 && x.denomination>this.maxCouponDiscount) this.maxCouponDiscount=x.denomination
if(x.couponsType==2){ if(x.couponsType==2){
...@@ -1316,6 +1470,25 @@ ...@@ -1316,6 +1470,25 @@
this.maxCouponDiscount = this.maxCouponDiscount<disMoney?disMoney:this.maxCouponDiscount this.maxCouponDiscount = this.maxCouponDiscount<disMoney?disMoney:this.maxCouponDiscount
} }
}) })
let money = this.$utils.getretailer()?this.currentPrice.b2BPrice:this.currentPrice.b2CPrice
let maxCouponDiscount = this.maxCouponDiscount
this.TotalDiscount = this.maxCouponDiscount
if(this.stepNumber<5){
this.discountPrice = money-this.maxCouponDiscount
}else{
let discountPrice = money-this.maxCouponDiscount
if(this.dataList.lineId==168){
this.discountPrice = (discountPrice*0.95).toFixed(2)
maxCouponDiscount += money-Number(this.discountPrice)
console.log(discountPrice*0.95,'-----欧洲线')
}else{
this.discountPrice = Number(discountPrice)-100
maxCouponDiscount+=100
console.log(Number(discountPrice)-100,'-----其他线')
}
console.log(maxCouponDiscount,'------已减')
this.TotalDiscount = maxCouponDiscount.toFixed(2)
}
} }
}, },
(err) => { } (err) => { }
...@@ -1332,7 +1505,7 @@ ...@@ -1332,7 +1505,7 @@
if (res.resultCode == 1) { if (res.resultCode == 1) {
if(res.data.length>0){ if(res.data.length>0){
this.SaleList = res.data this.SaleList = res.data
if(res.data.length==1){ if(res.data.length==1&&this.createBy==0){
this.SaleName = res.data[0].EmName this.SaleName = res.data[0].EmName
this.SaleId = res.data[0].CreateBy this.SaleId = res.data[0].CreateBy
} }
...@@ -1514,6 +1687,10 @@ ...@@ -1514,6 +1687,10 @@
this.getStartCitiesHandler() this.getStartCitiesHandler()
res.data.tempImgCover = JSON.parse(res.data.imgCover); res.data.tempImgCover = JSON.parse(res.data.imgCover);
this.dataList = res.data; this.dataList = res.data;
this.stepNumber = this.dataList.orderNum
this.UnfOddNumber = (Number(this.stepNumber)-5)*-1
if(this.stepNumber>4) this.Discounts += 1
if(this.dataList.currentPriceInfo.teamType==0) this.Discounts += 1
try { try {
this.formatDay(); this.formatDay();
} catch (e) { } catch (e) {
...@@ -1742,7 +1919,7 @@ ...@@ -1742,7 +1919,7 @@
this.is_show_auth = 1; this.is_show_auth = 1;
return; return;
} }
if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0) { if (this.SaleList&&this.SaleList.length>1&&this.SaleId==0&&this.createBy==0) {
uni.showToast({ uni.showToast({
title: "请选择销售", title: "请选择销售",
icon: "none", icon: "none",
...@@ -1782,8 +1959,7 @@ ...@@ -1782,8 +1959,7 @@
this.delMsg.cityId + this.delMsg.cityId +
"&lineId=" + "&lineId=" +
this.dataList.lineId + this.dataList.lineId +
"&CreateBy=" + "&CreateBy=" +(this.createBy?this.createBy:this.SaleId);
this.SaleId;
console.log("tParams", tParams); console.log("tParams", tParams);
uni.navigateTo({ uni.navigateTo({
url: "/pages/jiuzhai/jz_Reserve?currentPriceInfo=" + url: "/pages/jiuzhai/jz_Reserve?currentPriceInfo=" +
...@@ -2076,15 +2252,34 @@ ...@@ -2076,15 +2252,34 @@
.jz_LineTitle { .jz_LineTitle {
font-size: 25rpx; font-size: 25rpx;
color: #ff3166; color: #ff3166;
margin-bottom: 10px;
} }
.jz_MainTitle { .jz_MainTitle {
color: #111111; color: #111111;
font-size: 36rpx; font-size: 36rpx;
font-weight: 600; font-weight: 600;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
margin-top: 10rpx;
} }
.jz_MainTitleL{
}
.jz_MainTitleL img{
max-width: 88rpx;
max-height: 100rpx;
display: block;
position: relative;
top: 8rpx;
right: 15rpx;
}
.jz_MainTitleR{
width: 1px;
flex: 1;
font-size: 32rpx;
line-height: 1.5;
}
.jz_Maidian { .jz_Maidian {
color: #999999; color: #999999;
font-size: 28rpx; font-size: 28rpx;
...@@ -2559,4 +2754,265 @@ ...@@ -2559,4 +2754,265 @@
justify-content: space-between; justify-content: space-between;
border-bottom: 1rpx solid #eee; border-bottom: 1rpx solid #eee;
} }
.jz_LineDetaCZ{
height: 36rpx;
background: #FFE5EC;
border-radius: 0rpx 6rpx 6rpx 8rpx;
}
.jz_LineDetaCZL{
width: 112rpx;
height: 36rpx;
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732463439143641.png')no-repeat;
background-size: 100% auto;
}
.jz_LineDetaCZR{
font-family: PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FF3166;
line-height: 70rpx;
padding-right: 10rpx;
padding-left: 5rpx;
}
.jz_LineDetaYJDKQ{
display: flex;
padding: 18rpx 0 0 0;
}
.jz_LineDetaFL{
width: 1px;
flex: 1;
display: flex;
align-items: center;
}
.jz_LineDetaFLJf{
padding: 1rpx 8rpx;
border-radius: 6rpx;
border: 1rpx solid #FFE5EC;
font-family: PingFang SC;
font-weight: 800;
font-size: 24rpx;
color: #FF3166;
}
.jz_LineDetaCZ.jz_LineDetaCZL{
flex: auto;
}
.jz_LineDetaYJ{
display: flex;
align-items: center;
width: 1px;
flex: 1;
}
.jz_LineDetaYJL{
font-family: PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #ACACAC;
text-decoration: line-through
}
.jz_LineDetaYJR{
font-family: PingFang SC;
font-size: 28rpx;
color: #FF3166;
margin-left: 15rpx;
}
.jz_LineDetaRDKQ{
font-family: PingFang SC;
font-weight: 100;
font-size: 24rpx;
color: #949494;
display: flex;
align-items: center;
}
.jz_LineDetaRDKQ view{
font-size: 24rpx;
color: #949494;
}
.jz_LineDetaSC{
width: 100%;
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638732463500511302.png')no-repeat;
background-size: 100% auto;
display: flex;
padding: 5rpx;
margin-top: 18rpx;
}
.jz_LineDetaSCL{
height: 90rpx;
background: linear-gradient(90deg, #FE3D49, #FB2E1F);
border-radius: 16rpx 45rpx 45rpx 16rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0 23rpx;
}
.jz_LineDetaSCLDl{
font-family: PingFang SC;
font-size: 30rpx;
color: #FFFFFF;
line-height: 70rpx;
margin-right: 10rpx;
}
.jz_LineDetaSCLDl view{
position: relative;
top: 13rpx;
}
.jz_LineDetaSCQM{
font-family: PingFang SC;
font-weight: bold;
font-size: 56rpx;
color: #FFFFFF;
line-height: 70rpx;
}
.jz_LineDetaSCR{
color: #fff;
margin-left: 13rpx;
padding: 10rpx 0;
letter-spacing: .1rpx;
}
.jz_LineDetaSCRTitle{
font-family: PingFang SC;
font-weight: 200;
font-size: 28rpx;
color: #FFFFFF;
}
.jz_LineDetaSCRText{
font-family: PingFang SC;
font-weight: 100;
font-size: 24rpx;
color: #FFFFFF;
margin-top: 5rpx;
}
.jz_LineDetaQTS{
display: flex;
align-items: center;
padding: 18rpx 0 0 0;
}
.jz_LineDetaQTSImg{
width: 26rpx;
height: 29rpx;
display: inline-block;
margin-right: 6rpx;
}
.jz_LineDetaQTSText{
font-size: 24rpx;
color: #000;
font-weight: 800;
display: flex;
}
.jz_LineDetaQTSTextRed{
color: rgba(255, 49, 102, 1);
}
.jz_LineDetaVipPr{
margin-top: 16rpx;
position: relative;
left: -20rpx;
}
.jz_LineDetaVip{
width: 100%;
height: 120rpx;
background: linear-gradient(90deg, #3F423F, #313131);
border-radius: 18rpx;
display: flex;
flex-direction: column;
padding: 15rpx 0 6rpx 0;
margin-top: 18rpx;
margin-bottom: 18rpx;
}
.jz_LineDetaVipTop{
font-family: PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #E2C27A;
letter-spacing: .1rpx;
display: flex;
align-content: center;
padding: 0 34rpx;
}
.jz_LineDetaVipTop img{
width: 21rpx;
height: 21rpx;
display: inline-block;
margin-left: 5rpx;
}
.jz_LineDetaVPB{
display: flex;
}
.jz_LineDetaVPBBox{
display: flex;
align-items: center;
width: 1px;
flex: 1;
}
.jz_LineDetaVPBN{
width: 30rpx;
height: 30rpx;
background: #2E2E2E;
border-radius: 50%;
text-align: center;
line-height: 28rpx;
font-family: DIN Black;
font-weight: bold;
font-size: 24rpx;
color: #494949;;
}
.jz_LineDetaVPBLine{
flex: 1;
height: 10rpx;
background: #2E2E2E;
}
.jz_LineDetaVPBBoxI{
position: relative;
flex: 1;
}
.jz_LineDetaVPBBoxI img{
width: 87rpx;
height: 99rpx;
position: absolute;
bottom: -35rpx;
right: 20rpx;
z-index: 2;
}
.jz_LineDetaVPBBox.active .jz_LineDetaVPBN{
background: linear-gradient(270deg, #C99E59, #FFFFB3);
}
.jz_LineDetaVPBBox.active .jz_LineDetaVPBLine{
background: #C99E59;
color: #583F2C;
}
.VPBLRadiusL{
border-radius: 20rpx 0 0 20rpx ;
}
.VPBLRadiusR{
border-radius: 0 20rpx 20rpx 0;
}
.jz_LineDetaVPBY{
position: absolute;
left: 0;
right: 0;
top: 0;
}
.jz_LineTitleL{
padding: 0 15rpx 3rpx 0;
background: #000;
border-radius: 17rpx;
display: flex;
margin-right: 20rpx;
}
.jz_LineTitleLImg{
position: relative;
margin-right: 40rpx;
}
.jz_LineTitleLImg img{
width: 38rpx;
height: 41rpx;
position: absolute;
top: -6rpx;
}
.jz_LineTitleLText{
font-family: PingFang SC;
font-size: 24rpx;
color: #E2C27A;
}
</style> </style>
...@@ -2,8 +2,13 @@ ...@@ -2,8 +2,13 @@
.jz_MyOrder { .jz_MyOrder {
height: 100vh; height: 100vh;
background-color: #ecf1f4; background-color: #ecf1f4;
display: flex;
flex-direction: column;
} }
.jz_OrderList:first-child{
margin-top: 15px;
}
.jz_OrderList { .jz_OrderList {
width: 100%; width: 100%;
min-height: 334rpx; min-height: 334rpx;
...@@ -91,7 +96,7 @@ ...@@ -91,7 +96,7 @@
bar-height="4" height="100"></u-tabs> bar-height="4" height="100"></u-tabs>
<u-empty v-if="dataList.length == 0" text="暂无数据" mode="data"></u-empty> <u-empty v-if="dataList.length == 0" text="暂无数据" mode="data"></u-empty>
<template v-else> <template v-else>
<view class="jz_MyOrderMain" style="height: calc(100vh - 140px); overflow: hidden"> <view class="jz_MyOrderMain" style="height: 1px; flex: 1; overflow: hidden">
<scroll-view :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower" :style="{ height: '100%' }"> <scroll-view :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower" :style="{ height: '100%' }">
<view class="jz_OrderList" v-for="(item, index) in dataList" :key="index" @click="goOrderDetail(item)"> <view class="jz_OrderList" v-for="(item, index) in dataList" :key="index" @click="goOrderDetail(item)">
<view class="jz_OrderTop"> <view class="jz_OrderTop">
......
...@@ -528,7 +528,7 @@ ...@@ -528,7 +528,7 @@
realCurrentPriceInfo: {}, realCurrentPriceInfo: {},
customer: {}, customer: {},
CreateBy: 0, CreateBy: 0,
showPz:true, showPz:false,
pzCoupon:null pzCoupon:null
}; };
}, },
......
...@@ -106,6 +106,9 @@ export default { ...@@ -106,6 +106,9 @@ export default {
showBar: true, showBar: true,
}; };
}, },
onShow() {
this.$utils.VersionUpdate()
},
created() { created() {
this.contentHeight = this.$utils.calcContentHeight(-40) + "px"; this.contentHeight = this.$utils.calcContentHeight(-40) + "px";
this.mainColor = this.$uiConfig.mainColor; this.mainColor = this.$uiConfig.mainColor;
......
...@@ -48,9 +48,7 @@ ...@@ -48,9 +48,7 @@
<view style="font-size:12px; margin-top:3px;"> <view style="font-size:12px; margin-top:3px;">
<template v-if="b2b_user_info&&b2b_user_info.customerName&&b2b_user_info.customerName!=''"> <template v-if="b2b_user_info&&b2b_user_info.customerName&&b2b_user_info.customerName!=''">
{{b2b_user_info.customerName}} {{b2b_user_info.customerName}}
<template v-if="b2b_user_info&&b2b_user_info.salesBaseInfo&&b2b_user_info.salesBaseInfo.emName!=''">
(销售经理:{{b2b_user_info.salesBaseInfo.emName}})
</template>
</template> </template>
<template v-else> <template v-else>
{{b2b_user_info ? b2b_user_info.name : ""}} {{b2b_user_info ? b2b_user_info.name : ""}}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment