Commit 0fb97810 authored by huangyuanyuan's avatar huangyuanyuan

update

parents e6099954 0f97a1be
......@@ -30,7 +30,6 @@ export default {
}
this.apipost('admin_get_GetGroupDomain',msg,r=>{
let g={}
console.log("r",r)
g.i=r.data.data.GroupId
g.n=r.data.data.GroupName
g.l=r.data.data.Logo
......@@ -60,7 +59,7 @@ export default {
<style>
@import './assets/global/font.css';
@import '//at.alicdn.com/t/font_863923_mmwwh61s03g.css';
@import '//at.alicdn.com/t/font_863923_pxnr9ox66cp.css';
@import './assets/global/global.css';
body,html{
padding: 0px;
......
......@@ -88,12 +88,13 @@ color:rgba(51,51,51,1);
<el-menu-item index="2-2">一日游</el-menu-item>
</el-submenu> -->
<el-menu-item index="0" @click="goUrl('Home',true)"><a href="javascript:void(0);">首页</a></el-menu-item>
<!-- <el-menu-item index="0" @click="goUrl('Home',true)"><a href="javascript:void(0);">首页</a></el-menu-item> -->
<el-menu-item index="2-1" @click="handleSelect('2-1',false)"><a href="javascript:void(0);">跟团游</a></el-menu-item>
<el-menu-item index="2-2" @click="handleSelect('2-2',true)"><a href="javascript:void(0);">当地游</a></el-menu-item>
<el-menu-item index="3" @click="goUrl('TicketHome',true)"><a href="javascript:void(0);">机票</a></el-menu-item>
<el-menu-item index="2-2" @click="handleSelect('2-2',true)"><a href="javascript:void(0);">一日游</a></el-menu-item>
<el-menu-item index="2-3" @click="handleSelect('2-3',true)"><a href="javascript:void(0);">当地游</a></el-menu-item>
<!-- <el-menu-item index="3" @click="goUrl('TicketHome',true)"><a href="javascript:void(0);">机票</a></el-menu-item>
<el-menu-item index="4" @click="goUrl('VisaHomePage',true)"><a href="javascript:void(0);">签证</a></el-menu-item>
<el-menu-item index="5" @click="goUrl('IndependentTravel',true)"><a href="javascript:void(0);">自由行</a></el-menu-item>
<el-menu-item index="5" @click="goUrl('IndependentTravel',true)"><a href="javascript:void(0);">自由行</a></el-menu-item> -->
<!-- <el-menu-item index="5"><a href="javascript:void(0);">机票</a></el-menu-item>
<el-menu-item index="2"><a href="javascript:void(0);">酒店</a></el-menu-item>
......@@ -221,8 +222,10 @@ export default {
if(key === '2-1') {
this.$router.push({ path: '/heel'})
this.ifOneDay = false
} else if(key === '2-2') {
this.$router.push({ path: '/OneDayTour'})
} else if(key === '2-2' || key === '2-3') {
let path = '/OneDayTour'
path = path + (key === '2-3' ? '2' : '')
this.$router.push({ path: path})
this.ifOneDay = true
}
},
......
<template>
<div class="templatePayURL" style="display: inline-block; float: right; margin-right: 10px; display: flex;">
<div class="templatePayURL" style="display: inline-block; float: right; margin-right: 10px; ">
<el-popover width="320" @hide='clearTimer'>
<div>
<p style="margin:0 0 15px 0;">二维码收款</p>
......@@ -33,9 +33,9 @@
size="mini"
type="danger"
@click="isOpen(item,2)">立即付款</el-button>
</el-popover>
&nbsp;
</el-popover>
<el-button
style="margin-top: 10px;"
size="mini"
@click="deleteOrder(item)">取消订单</el-button>
</div>
......
......@@ -198,7 +198,8 @@ export default {
pageSize:4,
companyId:this.companyId,
lineId:x.id,
lineTeamId:y.id
lineTeamId:y.id,
Is_PacketGroup: 0, //是否小包团1-是0-否
}
this.apipost('b2b_get_GetB2BHomeLineTravelPageList',msg,res=>{
this.recoItems.line[index].lineTeam[sIndex].pageData=res.data.data.pageData
......
<style>
@import '../../assets/mall/heeltour.css';
</style>
<template>
<div class="heel-box">
<swiper />
<template v-for="(item,index) in recoItems.line">
<el-row :style="{'margin-top':`${index>0?'50px':'10px'}`}" v-for="(sItem, sIndex) in item.lineTeam" :key="sIndex">
<el-col :span="20" :offset="2">
<div class="title">
<div class="t1">
<span class="t2" style='font-size:20px'>{{sItem.name}}</span>
</div>
</div>
<div class="item-content-box none-margin">
<el-row style="background:#f1f1f1">
<el-col :span="4" >
<img src="../../assets/img/img-01.png" style="width:100%" v-if='sItem.name.indexOf("日本")!=-1'/>
<img src="../../assets/img/img-03.png" style="width:100%" v-else />
</el-col>
<el-col :span="20" style="padding-left:10px;position:relative;" :style="{'min-height':`${groupHeight}px`}" v-loading='item.pageDate==="undefined"'>
<div class="item-box">
<el-row :gutter="10">
<el-col :span="6" v-for='(data,index) in sItem.pageData' :key="index" >
<div class="group-item" :style="{'height':`${groupHeight}px`}" @click="goUrl('detail',data.id,data)">
<div class="team-item noradius" :style="{'height':`${groupItemHeight}`}">
<img class="notamin" v-if='data.imgCover!=null&&data.imgCover.length' :src='compressImg(JSON.parse(data.imgCover)[0].Url, "filt", 245, "")'/>
<img class="notamin" src="../../assets/img/bg_c2@3x.png" v-else />
<div class="company">
{{data.startCityName}}出发
</div>
<div class="group-new" v-if='index<2'>
新团上市
</div>
</div>
<div class="info none-border">
<div class="item-title"><a href="javascript:" :style="{'font-size':`${groupHeight>400?'16px':'14px'}`}">{{data.title}}</a></div>
<div class="seatinfo" :style="{'margin-top':`${groupHeight>400?'0px':'-10px'}`}">
<div class="seat" style='font-size:12px;'>最近团期:<span style='font-size:14px; color:#795548;'>{{data.startDate}}</span></div>
<div class="day">{{data.dayNum}}</div>
</div>
<div v-if='groupHeight>400 && data.discountPrice>0'>
<el-tag type="danger">早鸟立减{{data.discountPrice}}</el-tag>
</div>
<div class="price">{{isLogin!==1?data.b2CPrice:data.b2BPrice}}<span class="ful"></span></div>
<div class="yuding" v-if='groupHeight>300'>
<el-button type="danger" size="small">预订</el-button>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</template>
<!-- <el-row v-loading='loadingIndex==index' v-for="(item,index) in recoItems.line" :key="index" v-if="item.id==115" :style="{'margin-top':`${index>0?'50px':'10px'}`}">
<el-col :span="20" :offset="2">
<div class="title">
<div class="t1">
<span class="t2" style='font-size:20px'>{{item.name}}</span>
</div>
<el-tabs v-model="item.chosenLineTeam" style="max-width:70%" @tab-click="loadModuleDataNoLoop">
<el-tab-pane label="精选" :name="`0_${index}`"></el-tab-pane>
<el-tab-pane :label="lineItem.name" :name="`${lineItem.id}_${index}`" v-for="(lineItem,it) in item.lineTeam" :key="it"></el-tab-pane>
</el-tabs>
</div>
<div class="item-content-box none-margin">
<el-row style="background:#f1f1f1">
<el-col :span="4" >
<img src="../../assets/img/img-01.png" style="width:100%" v-if='item.name.indexOf("日本")!=-1'/>
<img src="../../assets/img/img-02.png" style="width:100%" v-else-if='item.name.indexOf("韩国")!=-1'/>
<img src="../../assets/img/img-03.png" style="width:100%" v-else />
</el-col>
<el-col :span="20" style="padding-left:10px;position:relative;" :style="{'min-height':`${groupHeight}px`}" v-loading='item.pageDate==="undefined"'>
<div class="item-box">
<el-row :gutter="10">
<el-col :span="6" v-for='(data,index) in item.pageData' :key="index" >
<div class="group-item" :style="{'height':`${groupHeight}px`}" @click="goUrl('detail',data.id,data)">
<div class="team-item noradius" :style="{'height':`${groupItemHeight}`}">
<img class="notamin" v-if='data.imgCover!=null&&data.imgCover.length' :src='compressImg(JSON.parse(data.imgCover)[0].Url, "filt", 245, "")'/>
<img class="notamin" src="../../assets/img/bg_c2@3x.png" v-else />
<div class="company">
{{data.startCityName}}出发
</div>
<div class="group-new" v-if='index<2'>
新团上市
</div>
</div>
<div class="info none-border">
<div class="item-title"><a href="javascript:" :style="{'font-size':`${groupHeight>400?'16px':'14px'}`}">{{data.title}}</a></div>
<div class="seatinfo" :style="{'margin-top':`${groupHeight>400?'0px':'-10px'}`}">
<div class="seat" style='font-size:12px;'>最近团期:<span style='font-size:14px; color:#795548;'>{{data.startDate}}</span></div>
<div class="day">{{data.dayNum}}天</div>
</div>
<div v-if='groupHeight>400 && data.discountPrice>0'>
<el-tag type="danger">早鸟立减{{data.discountPrice}}</el-tag>
</div>
<div class="price">¥{{isLogin!==1?data.b2CPrice:data.b2BPrice}}<span class="ful">起</span></div>
<div class="yuding" v-if='groupHeight>300'>
<el-button type="danger" size="small">预订</el-button>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</el-col>
</el-row> -->
</div>
</template>
<script>
import swiper from '@/components/mall/OneDaySwiper.vue'
import moment from 'moment'
export default {
components: {
swiper
},
data () {
return {
activeName:'1',
japActiveName:'1',
itemHeight:'0px',
groupItemHeight:'0px',
w:0,
h:0,
groupHeight:0,
site:0,
companyId:-1,
recoItems:[],
tehuis:[],
tiaoshui:[],
imgs:[],
isLogin:1,
loadingIndex:-1
}
},
created(){
this.loadSize();
this.companyId=localStorage.site
this.loadRecoItems();
this.isLogin=this.$store.state.isLogin
},
mounted () {
// this.apiJavaPost('/api/dmc/airticket/getB2BAirticketForMonthMinPrice',{"id":0,"flithtMonthDate":"2019-02","flight_number":"","airLineID":0,"ticketType":0,"lineId":0,"isPayOrder":0,"departure_city":0,"arrival_city":0,"freightSpace":0},res=>{
// console.log(res)
// },null)
},
methods: {
goSearch(txt){
let query={keywords:encodeURIComponent(txt)}
this.$router.push({
path:'OneDaySearch',
query
});
},
goUrl(path,id,obj){
path = 'OneDayDetailTwo'
path=`${path}/${encodeURIComponent(id)}/${obj.tcid}`;
this.$router.push({ path })
},
loadModuleDataNoLoop(tab, event){
let sno=tab.name.split('_')[1],ltId=tab.name.split('_')[0]
this.loadingIndex=sno
let msg={
pageIndex:1,
pageSize:4,
companyId:this.companyId,
lineId:115,
lineTeamId:ltId
}
this.apipost('b2b_get_GetB2BHomeLineTravelPageList',msg,r=>{
this.recoItems.line[sno].pageData=r.data.data.pageData
//this.$set(this.recoItems.line[sno],this.recoItems.line[sno])
this.loadingIndex=-1
},null)
},
loadRecoItems(){
if(this.companyId!=-1){
this.apipost('b2b_get_GetHomeSearchItem',{'companyId':this.companyId, lineDirection: 2, Is_PacketGroup: 1},r=>{
r.data.data.line.forEach(x=>{
x.chosenLineTeam='0'
})
this.recoItems=r.data.data
this.activeName=r.data.data.recommend[0].id.toString()
this.recoItems.line.forEach((x, index)=>{
x.lineTeam.forEach((y, sIndex)=>{
this.loadingIndex=index
let msg={
pageIndex:1,
pageSize:4,
companyId:this.companyId,
lineId:x.id,
lineTeamId:y.id,
TeamType:1
}
this.apipost('b2b_get_GetB2BHomeLineTravelPageList',msg,res=>{
this.recoItems.line[index].lineTeam[sIndex].pageData=res.data.data.pageData
//this.$set(this.recoItems.line[sno],this.recoItems.line[sno])
this.$forceUpdate()
this.loadingIndex=-1
},null)
})
})
},null)
}
},
loadSize(){
let w=screen.availWidth
w=w/24*20
w=w-(17*5)
w=w/6
this.itemHeight=w/1.5+'px'
this.w=Math.floor(w)
this.h=Math.floor((w/1.5))
// console.log(this.$refs.groupHeightId)
this.groupHeight=Math.floor(screen.availWidth*0.8333*0.1666/0.63)-6
w=screen.availWidth
w=w/24*20
w=w-(10*3)
w=w/4
this.groupItemHeight=w/1.8+'px'
}
}
}
</script>
......@@ -2,23 +2,25 @@
@import "../../../assets/css/newPersonalCenter/block/MemberCenter.css";
</style>
<template>
<el-row class="MemberCenter">
<el-row>
<el-row class="MemberCenter" v-show="!showRule">
<el-row class="level_info">
<el-row class="chart">
<el-col :span="6" class="left">
<div class="head_img">
<img src="../../../assets/img/head_normal1.png" alt="">
<img v-if="userInfo.photo" src="userInfo.photo" alt="">
<img v-else src="../../../assets/img/head_normal1.png" alt="">
</div>
<p class="name">李山田</p>
<p class="name">{{userInfo.name}}</p>
<p><i class="_vip_level">V0</i></p>
</el-col>
<el-col :span="18" class="right">
<p class="tit"><span>会员成长值</span><span class="__cp">等级规则</span></p>
<p class="tit"><span>会员成长值</span><span class="__cp" @click="showRule = true">等级规则</span></p>
<div id="chartsMap" style="height:155px;width:100%;"></div>
</el-col>
</el-row>
<el-row class="tequan">
<p class="tit"><span>我的会员特权</span><span class="__cp">等级权益</span></p>
<p class="tit"><span>我的会员特权</span><span class="__cp" @click="showRule = true">等级权益</span></p>
<el-carousel indicator-position="none" arrow="always" :autoplay="false" height="110px">
<el-carousel-item v-for="(item, index) in iconList" :key="index">
<div class="_icon_list">
......@@ -97,15 +99,22 @@
</el-row>
</el-row>
</el-row>
<Rule v-show="showRule" @childrenFun="changeShow"/>
</el-row>
</template>
<script>
import Rule from "./model/Rule.vue";
export default {
components: {
Rule: Rule,
},
data(){
return {
UserAllJursdictionsList: [],
UserMemberExp: {},
showRule: false,
point: 0,
userInfo: {},
iconList: [
{
......@@ -131,115 +140,216 @@ export default {
},
mounted() {
this.userInfo = this.getLocalStorage();
let myChart = this.$echarts.init(document.getElementById("chartsMap"));
myChart.setOption({
title: {
left: "left",
textStyle: {
fontWeight: "bold",
fontSize: 14,
color: "#333333",
height: "30px"
},
padding: [
20, // 上
20, // 右
20, // 下
20 // 左
]
},
tooltip: {
trigger: "item",
formatter: "{b} : {c}"
},
xAxis: {
type: "category",
axisLine: {
show: false,
lineStyle: {
width: 30
this.getUserMemberExp()
this.getUserAllJursdictions()
},
methods: {
// 获取用户所有特权
getUserAllJursdictions: function () {
this.apiJavaPost(
"/api/member/getUserAllJursdictions",
{customer: this.userInfo.customerId},
res => {
if (res.data.resultCode == 1) {
// console.log(res)
this.UserAllJursdictionsList = res.data.data
} else {
this.Error(res.data.message);
}
},
null
);
},
// 获取会员经验与下个会员等级信息
getUserMemberExp: function () {
this.apiJavaPost(
"/api/member/getUserMemberExp",
{customer: this.userInfo.customerId},
res => {
if (res.data.resultCode == 1) {
// console.log(res)
let UserMemberExp = res.data.data
let getExpArr = [0]
let getExpTimeArr = [{value: '-'}]
let getExpNullArr = [{value: '-'}]
UserMemberExp.exps.forEach((element, index) => {
getExpTimeArr.push(element.time)
if (index === UserMemberExp.exps.length-1) {
getExpArr.push({
value: element.exp,
label:{
normal: {
show: true,
formatter: [
'{b|当前}',
'{a|{c}}',
].join('\n'),
// textAlign: 'center',
// borderColor: 'rgb(199,86,83)',
// borderWidth: 2,
// borderRadius: 5,
// color: '#000',
// fontSize: 14,
// shadowBlur: 3,
// shadowColor: '#888',
// shadowOffsetX: 0,
// shadowOffsetY: 3,
// lineHeight: 30,
rich: {
b: {
color: 'rgba(255, 255, 255, 0.4)',
lineHeight: 25,
fontSize: 12,
padding: 5,
},
a: {
fontSize: 18,
fontFamily: 'Microsoft YaHei',
borderColor: '#449933',
paddingLeft: 15
},
}
}
},
})
getExpNullArr.push({value: element.exp})
this.point = index
} else {
getExpArr.push({value: element.exp})
getExpNullArr.push({value: '-'})
}
},
axisTick: false,
data: ['一月', '二月', '三月', '四月', '五月', '六月'],
},
grid: {
x: -100,
y: 20,
x2: 0,
y2: 0,
containLabel: true,
tooltip: {
textStyle:{
color: 'red'
});
getExpArr.push({value: '-'})
getExpTimeArr.push(UserMemberExp.next.rate)
getExpNullArr.push(UserMemberExp.next.gap)
this.creatChart(getExpArr, getExpTimeArr, getExpNullArr)
} else {
this.Error(res.data.message);
}
}
},
yAxis: {
type: "value",
// axisLine: {
// show: false
// },
min: '10',
axisTick: false,
splitLine: {
show: false,
lineStyle: {
color: "rgba(245,245,245,1)"
},
null
);
},
getColor:function (param) {
// console.log(param.dataIndex, this.point+1)
if (param.dataIndex === this.point+1) {
return '#67C23A';
} else {
return "#FFFFFF"
}
},
creatChart: function(getExpArr, getExpTimeArr, getExpNullArr) {
let that = this
// console.log(getExpArr, getExpTimeArr, getExpNullArr,[0, 1000, 2000, '-', '-','-'],['-', '-', 2000, 4000, 6000, 8000])
let myChart = this.$echarts.init(document.getElementById("chartsMap"));
myChart.setOption({
title: {
left: "left",
textStyle: {
fontWeight: "bold",
fontSize: 14,
color: "#333333",
height: "30px"
},
padding: [
20, // 上
20, // 右
20, // 下
20 // 左
]
},
tooltip: {
trigger: "item",
formatter: "{b} : {c}"
},
xAxis: {
type: "category",
axisLine: {
show: false,
lineStyle: {
width: 30
}
},
axisTick: false,
data: getExpTimeArr,
// data: ['一月', '二月', '三月', '四月', '五月', '六月'],
},
grid: {
x: -100,
y: 20,
x2: 0,
y2: 0,
containLabel: true,
tooltip: {
textStyle:{
color: 'red'
}
}, //去除网格线
// axisLable: {
// show: false,
// }
},
series: [
{
name:'',
type: "line",
smooth: false,
data: [0, 1000, 2000, '-', '-','-'],
markPoint: {
data: [
{name: '周最低', value: 1000, xAxis: 1, yAxis: -1.5},
]
},
// data: then.dateList,
lineStyle: {
width: 3,
color: "#E5AF63"
},
itemStyle: {
borderWidth: 5,
color: "#FFFFFF"
},
},
{
name:'',
type: "line",
smooth: false,
data: ['-', '-', 2000, 4000, 6000, 8000],
markPoint: {
data: [
{name: '周最低', value: 1000, xAxis: 1, yAxis: -1.5},
]
},
// data: then.dateList,
lineStyle: {
width: 3,
color: "#808290",
type: 'dashed'
},
itemStyle: {
borderWidth: 5,
color: "#FFFFFF"
},
}
]
},true);
},
methods: {
},
yAxis: {
type: "value",
// axisLine: {
// show: false
// },
min: '10',
axisTick: false,
splitLine: {
show: false,
lineStyle: {
color: "rgba(245,245,245,1)"
}
}, //去除网格线
// axisLable: {
// show: false,
// }
},
series: [
{
name:'',
type: "line",
smooth: false,
data: getExpArr,
// data: [0, 1000, 2000, '-', '-','-'],
lineStyle: {
width: 3,
color: "#E5AF63"
},
itemStyle: {
borderWidth: 5,
color: "#FFFFFF"
},
},
{
name:'',
type: "line",
smooth: false,
data: getExpNullArr,
// data: ['-', '-', 2000, 4000, 6000, 8000],
// data: then.dateList,
lineStyle: {
width: 3,
color: "#808290",
type: 'dashed'
},
itemStyle: {
borderWidth: 5,
color: that.getColor
},
markPoint: {
data: [
{name: '123', value: 700, xAxis: 2, yAxis: 2}
]
}
}
]
},true);
},
changeShow: function () {
this.showRule = false
}
}
}
</script>
<style>
</style>
<template>
<el-row>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="orderId" label="订单号" width="80"></el-table-column>
<el-table-column prop="title" label="团名" width="180">
<template slot-scope="scope">
<el-tooltip class="item" popper-class="w180" effect="dark" :content="scope.row.title" placement="bottom-end">
<p class="_row_2">{{scope.row.title}}</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="startDate" label="团期"></el-table-column>
<el-table-column prop="guestNum" label="人数" width="80"></el-table-column>
<el-table-column prop="preferPrice" label="金额" width="80"></el-table-column>
<el-table-column prop="orderState" label="订单状态" width="100">
<template slot-scope="scope">
<span v-if="scope.row.orderState === 1">待付定金</span>
<span v-else-if="scope.row.orderState === 2">待付尾款</span>
<span v-else-if="scope.row.orderState === 3">待发团</span>
<span v-else-if="scope.row.orderState === 4">交易完成</span>
<span v-else-if="scope.row.orderState === 0">取消</span>
</template>
</el-table-column>
<!-- 操作按钮 -->
<el-table-column align="left" label="操作">
<template slot-scope="scope">
<payurlItem
v-if="scope.row.orderState !== 0 && scope.row.orderState !== 4"
@b2b_get_GetWaitDealOrderPageList="b2b_get_GetWaitDealOrderPageList"
:item="scope.row"
></payurlItem>
</template>
</el-table-column>
</el-table>
</el-row>
</template>
<script>
import payURL from "../../../../global/pay.vue";
export default {
components: {
payurlItem: payURL,
},
props:["tableData"],
data() {
return {};
},
mounted() {},
methods: {
b2b_get_GetWaitDealOrderPageList() {
//获取待处理订单
let msg = {
pageIndex: 1,
pageSize: 100
};
this.apipost(
"b2b_get_GetWaitDealOrderPageList",
msg,
r => {
if (r.data.resultCode == 1) {
this.WaitDealOrderPageList = r.data.data.pageData;
} else {
this.$message.error(r.data.message);
}
},
null
);
},
}
};
</script>
<style>
.orderTable{
width: 100%;
border: solid 1px #EDEDED;
border-collapse: collapse;
}
.orderTable thead tr {
}
.orderTable thead tr th{
padding: 15px 0;
font-size: 12px;
color: #666666;
font-weight: initial;
}
.orderTable thead tr th:nth-child(1){
text-align: left;
padding-left: 20px;
}
.orderTable tbody tr td{
border: solid 1px #EDEDED;
}
.orderTable tbody .top td{
padding: 7px 20px;
font-size: 14px;
border: 1px solid #EDEDED;
}
.orderTable tbody .top td .time{
color: #999999;
padding-right: 20px;
}
.orderTable tbody .top td .num{
color: #666666;
padding-right: 20px;
}
.orderTable tbody .top td .num span{
color: #999999;
}
.orderTable tbody .top td .contacts{
color: #333333;
}
.orderTable tbody .top td .contacts .iconfont{
color: #5290FF;
padding-right: 10px;
}
.orderTable tbody .info td{
padding: 20px 15px;
}
.orderTable tbody .info .tc_info{
display: flex;
}
.orderTable tbody .info .tc_info ._left{
width:64px;
height:64px;
background-color: gray;
margin-right: 10px;
}
.orderTable tbody .info .tc_info ._right{
color: #666666;
font-size: 12px;
}
.color333{
color: #333333;
}
.color666{
color: #666666;
}
.font-size14{
font-size: 14px
}
.font-size12{
font-size: 12px
}
.orderTable tbody .info .tc_info ._right p:nth-child(2){
margin: 8px 0;
}
.orderTable tbody .info .name_list{
font-size: 12px;
text-align: center;
}
.orderTable tbody .info .name_list .__cp:hover{
color: #2299EE;
}
.orderTable tbody .info .name_list p{
margin-bottom: 5px;
}
.orderTable tbody .info .money{
font-size: 12px;
text-align: center;
}
.orderTable tbody .info .money p{
margin-bottom: 4px
}
.orderTable tbody .info .money .pay_ok{
color: #52BF7D;
padding-bottom: 2px;
}
.orderTable tbody .info .money .pay_no{
color: #FF8800 !important;
}
.orderTable tbody .info .money .pay_ok .iconfont{
color: #333333
}
.orderTable tbody .info .money .pay_list{
border-top: 1px solid #E6E6E6;
padding-top: 5px;
color: #666666;
/* height: 0;
overflow: hidden;
transition: all linear .5s; */
}
.orderTable tbody .info .money .pay_list.height_aotu{
height: 66px;
}
.shang{
transform: rotate(180deg);
display: inline-block;
}
.hover_bg{
background: rgba(255,240,240,1);
}
.list_details ul{
margin-top: 0px;
padding-top: 15px;
border-top: 1px solid #E6E6E6;
}
.list_details .__item{
display: flex;
font-size: 12px;
margin-bottom: 15px;
}
.list_details .__item .img{
height: 54px;
width: 72px;
background-color: gray;
margin-right: 10px;
}
.list_details .__item .img{
height: 54px;
width: 72px;
}
.list_details .__item .__name .iconfont{
color: #3EABFF
}
.list_details .__item .__name .icon-shiliangzhinengduixiang1{
color: #FF5151
}
</style>
<template>
<el-row>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="orderId" label="订单号" width="80"></el-table-column>
<el-table-column prop="title" label="团名" width="180">
<template slot-scope="scope">
<el-tooltip class="item" popper-class="w180" effect="dark" :content="scope.row.title" placement="bottom-end">
<p class="_row_2">{{scope.row.title}}</p>
</el-tooltip>
<table class="orderTable" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th width="328px">
<div class="__cp _drop">
<el-dropdown trigger="click" @command="handleCommandTwo">
<span class="el-dropdown-link">
{{dropTitTwo}}
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<template v-for="item in dayList">
<el-dropdown-item :command="item">{{item.Day}}</el-dropdown-item>
</template>
</el-dropdown-menu>
</el-dropdown>
</div>
</th>
<th width="159px">
订单详情
</th>
<th width="170px">
金额
</th>
<th width="">
订单状态
</th>
<th width="159px">
操作
</th>
</tr>
</thead>
<tbody>
<template v-for="(item, index) in tableData">
<tr class="top" :class="{hover_bg: activeRow === index}" @mouseenter="enter(index)" @mouseleave="enter()">
<td colspan="5">
<span class="time">2019-04-28 08:25:23</span>
<span class="num">订单号:<span>451648</span></span>
<span class="contacts"><i class="iconfont icon-dianhua"></i> <span>李晓敏 13880688956</span></span>
</td>
</tr>
<tr class="info" @mouseenter="enter(index)" @mouseleave="enter()" :class="{hover_bg: activeRow === index}">
<td>
<div class="tc_info">
<div class="_left"></div>
<div class="_right">
<p class="color333 font-size14">日本跟团游</p>
<p>系列名称系列名称系列名称...</p>
<p>团号:XY336889999</p>
</div>
</div>
</td>
<td class="name_list">
<p>成人:5 [ <span class="__cp">上传名单</span> ]</p>
<p>儿童:5
<el-popover
popper-class='list_details'
placement="bottom"
title="名单详情"
width="200"
trigger="click">
<ul>
<li class="__item">
<div class="img">
</div>
<div class="__info">
<p class="__name color333">李健国 <i class="iconfont icon-nan"></i></p>
<p class="color666">13880879660</p>
<p class="color666">房号:403 单人间</p>
</div>
</li>
<li class="__item">
<div class="img">
</div>
<div class="__info">
<p class="__name color333">李健国 <i class="iconfont icon-shiliangzhinengduixiang1"></i></p>
<p class="color666">13880879660</p>
<p class="color666">房号:403 单人间</p>
</div>
</li>
<li class="__item">
<div class="img">
</div>
<div class="__info">
<p class="__name color333">李健国 <i class="iconfont icon-nan"></i></p>
<p class="color666">13880879660</p>
<p class="color666">房号:403 单人间</p>
</div>
</li>
</ul>
<span slot="reference">[ <span class="__cp">名单详情</span> ]</span>
</el-popover>
</p>
<p>婴儿:0</p>
</td>
<td class="money">
<p>总额 ¥8680.00</p>
<p class="__cp pay_no" v-if="!item.payShow" @click="item.payShow = true">已付总额 ¥8680.00 <i class="iconfont icon-xia"></i></p>
<p class="__cp pay_no" v-if="item.payShow" @click="item.payShow = false">已付总额 ¥8680.00 <i class="iconfont icon-xia shang"></i></p>
<!-- :class="{height_aotu: item.payShow}" -->
<div class="pay_list" v-if="item.payShow">
<p>04-18 ¥8680.00 支付宝</p>
<p>04-18 ¥8680.00 支付宝</p>
<p>04-18 ¥8680.00 支付宝</p>
</div>
</td>
<td class="color333 font-size14">
<span v-if="item.orderState === 1">待付定金</span>
<span v-else-if="item.orderState === 2">待付尾款</span>
<span v-else-if="item.orderState === 3">待发团</span>
<span v-else-if="item.orderState === 4">交易完成</span>
<span v-else-if="item.orderState === 0">取消</span>
</td>
<td>
<payurlItem
v-if="item.orderState !== 0 && item.orderState !== 4"
@b2b_get_GetWaitDealOrderPageList="b2b_get_GetWaitDealOrderPageList"
:item="item"
></payurlItem>
</td>
</tr>
</template>
</el-table-column>
<el-table-column prop="startDate" label="团期"></el-table-column>
<el-table-column prop="guestNum" label="人数" width="80"></el-table-column>
<el-table-column prop="preferPrice" label="金额" width="80"></el-table-column>
<el-table-column prop="orderState" label="订单状态" width="100">
<template slot-scope="scope">
<span v-if="scope.row.orderState === 1">待付定金</span>
<span v-else-if="scope.row.orderState === 2">待付尾款</span>
<span v-else-if="scope.row.orderState === 3">待发团</span>
<span v-else-if="scope.row.orderState === 4">交易完成</span>
<span v-else-if="scope.row.orderState === 0">取消</span>
</template>
</el-table-column>
<!-- 操作按钮 -->
<el-table-column align="left" label="操作">
<template slot-scope="scope">
<payurlItem
v-if="scope.row.orderState !== 0 && scope.row.orderState !== 4"
@b2b_get_GetWaitDealOrderPageList="b2b_get_GetWaitDealOrderPageList"
:item="scope.row"
></payurlItem>
</template>
</el-table-column>
</el-table>
</tbody>
</table>
</el-row>
</template>
<script>
......@@ -43,12 +284,66 @@ export default {
components: {
payurlItem: payURL,
},
props:["tableData"],
// props:["tableData"],
data() {
return {};
return {
activeRow: '',
activeNames: ['1'],
dropTitTwo: "10天内",
tableData: [
{
title: '111',
payShow: false,
orderState: 1
},{
title: '222',
payShow: false,
orderState: 0
},
{
title: '333',
payShow: false,
orderState: 2
},
{
title: '444',
payShow: false,
orderState: 3
}
],
dayList: [
{
Day: "10天",
Number: 10,
ID: 1
},
{
Day: "30天",
Number: 30,
ID: 1
},
{
Day: "60天",
Number: 60,
ID: 1
}
],
};
},
mounted() {},
methods: {
enter: function (t) {
if (t+1) {
this.activeRow = t
} else {
this.activeRow = ''
}
},
handleCommandTwo(command) {
this.dropTitTwo = command.Day;
// this.getOrderMsg.queryDays = command.Number;
// this.gerOrderList();
},
b2b_get_GetWaitDealOrderPageList() {
//获取待处理订单
let msg = {
......
<style>
/* 等级权益 */
.level_equity{
margin: 20px 0;
background-color: white;
}
.level_equity>p,.level_rule>p,.level_question>p{
font-size: 16px;
color: #333333;
font-family: "PingFangR";
font-weight: bold;
padding: 22px;
border:1px solid rgba(230,230,230,1);
border-bottom: 0;
}
.level_equity>p span,.level_rule>p span,.level_question>p span{
display: inline-block;
height: 14px;
width: 4px;
background-color: #DBA261;
margin-right: 5px;
}
.MemberCenter .info_box table{
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
.MemberCenter .info_box table thead th{
color: #909399;
}
.MemberCenter .info_box table tbody th{
font-weight: normal;
}
.MemberCenter .info_box table tbody tr:hover{
background-color: #FFF0F0 !important;
}
.MemberCenter .info_box th{
background-color: #fff1f1
}
.MemberCenter .info_box th, .MemberCenter .info_box td {
height: 38px;
border: 1px solid #e8e8e8;
text-align: center;
color: #666;
font-size: 14px;
}
.MemberCenter .info_box td i.icon-xuanzhong2{
font-size: 12px;
width: 18px;
height: 18px;
border-radius: 50%;
display: inline-block;
background-color: #67c93c;
text-align: center;
line-height: 18px;
color: white
}
.level_rule{
margin-bottom: 20px;
background-color: white;
}
.level_rule td{
text-align: left !important;
padding:5px 20px;
}
.level_question{
margin-bottom: 20px;
background-color: white;
}
.level_question>p{
border-bottom: 1px solid rgba(230,230,230,1);
}
.level_question .modu_con {
width: auto;
padding: 0 20px 0 22px;
color: #666;
border: 1px solid rgba(230,230,230,1);
border-top: none;
}
.level_question .modu_con p {
padding: 16px 0 12px 0;
}
.return{
text-align: right;
font-size: 14px;
color: #EE4454;
padding-right: 20px;
}
.level_equity ._yes{
display: inline-block;
height: 15px;
width: 15px;
text-align: center;
line-height: 15px;
font-weight: bold;
font-size: 12px;
border-radius: 50%;
background-color: #67c93c;
color: white
}
</style>
<template>
<el-row class="MemberCenter">
<el-row class="return">
<span class="__cp" @click="childMethod">返回</span>
</el-row>
<el-row class="info_box">
<!-- 等级权益 -->
<el-row class="level_equity">
<p><span></span>等级权益</p>
<table>
<thead>
<tr>
<th width="200">权益\等级</th>
<th v-for="item in MemberRateSimpleList">{{item.name}}</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in privilege">
<th>{{item.name}}</th>
<td v-for="(s, sIndex) in MemberRateSimpleList">
<span v-if="item[`V${sIndex}`]" class="_yes iconfont icon-gou2"></span>
</td>
</tr>
</tbody>
</table>
</el-row>
<!-- 等级规则 -->
<el-row class="level_rule">
<p><span></span>等级规则</p>
<table class="group">
<tbody>
<tr>
<th class="modu_level_tit" width="80">会员级别</th>
<th>级别标准</th>
<th>等级说明</th>
</tr>
<tr v-for="(item, index) in RuleList">
<td>{{item.name}}</td>
<td>{{item.tradeMoneyReq}}{{index !== RuleList.length-1 ? `-${RuleList[index+1].tradeMoneyReq}` : ''}}</td>
<td colspan="2" style="text-align: center">{{item.remark}}</td>
</tr>
</tbody>
</table>
</el-row>
<!-- 常见问题 -->
<el-row class="level_question">
<p><span></span>常见问题</p>
<div class="modu_con">
<p>1.会员星级有效期多久?<br>二星以上会员的星级有效期为1年,自完成升星之日算起;注册及一星会员的星级有效期长期有效。</p>
<p>2.二星及以上会员的星级有效期限能延长吗?<br>当会员星级到期后,如未能达到升级标准,按照对应星级的保级标准,达到顺延一年,未达到顺次下调一个会员星级(最低只降到一星会员,不会再降到普通会员)同时按照下调日更新会员级别有效期。</p>
</div>
</el-row>
</el-row>
</el-row>
</template>
<script>
export default {
data(){
return {
dataList: [],
msg: {
state: -1,
name: '',
memberId: -1,
},
MemberRateSimpleList: [],
privilege: [],
RuleList: [],
}
},
computed: {
},
created(){
},
mounted() {
this.getMemberRateSimpleList()
this.getRuleList()
},
methods: {
//获取特权数据
getAllJurisdictions: function () {
this.loading = true;
this.apiJavaPost("/api/member/getAllJurisdictions", this.msg, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
this.getPrivilege()
} else {
this.Error(res.data.message)
}
}, null);
},
// 获取所有会员等级
getMemberRateSimpleList: function () {
this.apiJavaPost("/api/member/getMemberRateSimpleList", this.msg, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.MemberRateSimpleList = res.data.data;
this.getAllJurisdictions()
} else {
this.Error(res.data.message)
}
}, null);
},
//组装对应的等级权益
getPrivilege: function () {
let privilege = []
this.dataList.forEach(x=>{
if (x.state === '-1') return
let obj = {
name: x.name,
}
this.MemberRateSimpleList.forEach((y, index)=>{
obj[`V${index}`] = x.rateName.indexOf(y.name) != -1 ? true : false
})
privilege.push(obj)
})
this.privilege = privilege
},
//组装对应的等级规则
getRuleList: function () {
let msg = {
state: -1,
name: '',
}
this.apiJavaPost("/api/member/getmemberrate", msg, res => {
if (res.data.resultCode === 1) {
this.RuleList = res.data.data;
} else {
this.Error(res.data.message)
}
}, null);
},
childMethod: function () {
this.$emit('childrenFun');
}
}
}
</script>
\ No newline at end of file
......@@ -102,6 +102,15 @@ export default new Router({
title: "一日游-印象之旅~感动与世界同步"
}
},
{
path: "/OneDayTour2",
name: "OneDayTour2",
component: resolve =>
require(["@/components/mall/OneDayTour2"], resolve),
meta: {
title: "当地游-印象之旅~感动与世界同步"
}
},
{
path: "/coding",
name: "coding",
......
......@@ -4,8 +4,8 @@
<template>
<div class="home-box" v-if="isPhone">
<!-- <mallHead msg="" @forword='goUrl("2-1")' @siteCity="siteCity"/> -->
<newHead/>
<mallHead msg="" @forword='goUrl("2-1")' @siteCity="siteCity"/>
<!-- <newHead/> -->
<div :style='{"min-height":minHeight+"px"}'>
<transition name="slide">
<router-view :changeCity='changeCity'></router-view>
......
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