Commit bfb8ca37 authored by 华国豪's avatar 华国豪 🙄

签证

parent 790ce436
......@@ -188,4 +188,20 @@ image{
text-align: center;
font-size: 24rpx;
color: #999;
}
.commonF .bb1e9{
border-bottom: 1px solid #E9E9E9;
}
.commonF .mg10{
display: inline-block;
margin-right: 10rpx;
}
.commonF .mgtb10{
margin: 10rpx 0;
}
.commonF .mglr20{
margin: 0 20rpx;
}
.commonF .flex1{
flex: 1;
}
\ No newline at end of file
......@@ -30,11 +30,15 @@
"pages/member/Coupon/Coupon",
"pages/visa/visa",
"pages/visa/visaList/visaList",
"pages/visa/visaDetails/visaDetails",
"pages/visa/visaChDate/visaChDate",
"pages/visa/visaOrder/visaOrder",
"pages/Voucher/Voucher",
"pages/Voucher/rating/rating",
"pages/Voucher/VoucherDetails/VoucherDetails",
"pages/Voucher/write/write",
"pages/Ticket/Ticket",
"pages/Ticket/TicketList/TicketList",
"pages/login/smsLogin/smsLogin",
"pages/login/revisePwd/revisePwd",
"pages/product/SametradeZW/prizelist/prizelist",
......
......@@ -17,6 +17,12 @@ Component({
selectIndex: {
type: Number
},
isVisa: {
type: Number
},
visaB2CPrice: {
type: String
}
},
/**
......@@ -149,6 +155,15 @@ Component({
item.color=true;
}
})
// 签证价格日历
if (that.data.isVisa) {
let _this = this
Arr.forEach(item=>{
if (item.day!='0 ') {
item.price = _this.data.visaB2CPrice
}
})
}
wx.hideLoading()
that.setData({
daysData: Arr
......
......@@ -399,7 +399,7 @@ Page({
obj.datalist = new_arr[key];
dataList.push(obj);
}
console.log(dataList)
if (dataList.length > 0) {
this.setData({
......
// pages/Ticket/TicketList/TicketList.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"usingComponents": {}
}
\ No newline at end of file
<!--pages/Ticket/TicketList/TicketList.wxml-->
<text>pages/Ticket/TicketList/TicketList.wxml</text>
/* pages/Ticket/TicketList/TicketList.wxss */
\ No newline at end of file
......@@ -7,7 +7,7 @@ Page({
*/
data: {
telPhone: '',
tcId: 904,
tcId: null,
orderId: null,
dataList: [],
},
......
......@@ -6,7 +6,7 @@ Page({
* 页面的初始数据
*/
data: {
active: 5,
active: 1,
userInfo: {},
custormInfo: {},
branchList: [],
......@@ -107,16 +107,11 @@ Page({
})
},
getOrderAdd: function () {
app.$api('b2b_post_MiniProgramGetAccountInfoByPhone', { account: this.data.custormInfo.contactNumber, }).then(res => {
var token = this.data.userInfo.token;
var secretKey = this.data.userInfo.secretKey;
var uid = res.customerId;
var groupId = res.groupId;
app.$apiJava("api/orderForm/getOrderAdd", {}, groupId, uid, token, secretKey,).then(res => {
this.setData({
orderAdd: res
})
}).catch(err => { })
app.$apiJavaData("api/orderForm/getOrderAdd", {}).then(res => {
console.log(res)
this.setData({
orderAdd: res.data
})
}).catch(err => { })
},
getUserInfo: function () {
......
......@@ -45,7 +45,7 @@
<text class="f30 bold">限时优惠</text>
</view>
<view class="VisaView">
<view class="VisaList XianItem" wx:for="{{timeList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="VisaList XianItem" bindtap='goListPage' wx:for="{{timeList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<image src='http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190626102629935.png'></image>
<view class="XianDes">
<view>
......@@ -85,7 +85,7 @@
<text class="f24" style="color:#888888;float:right" bindtap='goListPage'>查看更多</text>
</view>
<view class="VisaView">
<view class="VisaList hotCountry" wx:for="{{hotcountry}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="VisaList hotCountry" bindtap='goListPage' wx:for="{{hotcountry}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<image src='{{item.countryImage[0]}}'></image>
<view class="CountryDes">
<image src='{{item.countryIcon}}'></image>
......@@ -99,7 +99,7 @@
<text class="f24" style="color:#888888;float:right" bindtap='goListPage'>查看更多</text>
</view>
<view class="VisaView" style='margin-left: -40rpx;'>
<view class="VisaList hotVisa" wx:for="{{hotvisa}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="VisaList hotVisa" bindtap='goListPage' wx:for="{{hotvisa}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view style="width:142rpx;height:98rpx">
<image src='{{item.countryIcon}}'></image>
</view >
......
let app = getApp();
var util = require('../../../utils/util.js')
Page({
/**
* 页面的初始数据
*/
data: {
monthList: [],
isLogin: app.isLogin,
activeTab: 0,
currentDay: util.YYMMDD(new Date()),
visaB2CPrice: '',
selectIndex: -1,
selectDate: '',
id: '',
edit: false,
},
StartYd: function () {
if (this.data.selectDate == '') {
wx.showToast({
title: '请选择日期',
icon: 'none',
duration: 1000
})
return
}
let id = this.data.id
let pages = getCurrentPages()
let prevPage = pages[pages.length - 2];
prevPage.setData({
selectDate: this.data.selectDate
})
if (this.data.edit) {
wx.navigateBack({
delta: 1
})
} else {
wx.navigateTo({
url: '/pages/visa/visaOrder/visaOrder?id=' + id + '&visaB2CPrice=' + this.data.visaB2CPrice + '&visaPrice=' + this.data.visaPrice + '&selectDate=' + this.data.selectDate,
})
}
},
childrenEvent(e) {
let that = this;
let val = e.detail;
console.log(val)
let msg = {
configId: val.configId,
cityId: that.data.cityId,
tcid: val.tcid,
teamType: that.data.teamType,
};
that.setData({
selectIndex: val.selectIndex,
selectDate: val.ymd
})
},
CreatCalendar() {
this.calendar = this.selectComponent('#calendar');
this.calendar.getYearMonthDay();
},
selectMonth(e) {
let item = e.currentTarget.dataset.item;
let index = e.currentTarget.dataset.index;
this.setData({
activeTab: index,
currentDay: item.date + '-01',
})
this.CreatCalendar();
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
var dataArr = [];
var data = new Date();
var year = data.getFullYear();
var visaB2CPrice = options.visaB2CPrice
var visaPrice = options.visaPrice
data.setMonth(data.getMonth() - 1, 1); //获取到当前月份,设置月份
for (var i = 0; i < 6; i++) {
data.setMonth(data.getMonth() + 1); //每次循环一次 月份值减1
var m = data.getMonth() + 1;
m = m < 10 ? "0" + m : m;
dataArr.push({
date: data.getFullYear() + "-" + m,
b2BPrice: visaB2CPrice
});
}
console.log(dataArr);
this.setData({
monthList: dataArr,
visaB2CPrice: visaB2CPrice,
visaPrice: visaPrice,
id: options.id,
edit: options.edit ? true : false
})
this.CreatCalendar();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"navigationBarTitleText": "选择日期",
"usingComponents": {
"calendar": "/component/calendar/calendar",
"amount": "/component/amount/amount"
}
}
\ No newline at end of file
<view class="DateNum commonF">
<view style="margin:15rpx;">
<text class="f30 bold">选择出行时间</text>
</view>
<scroll-view scroll-x class="scroll-header">
<view bindtap="selectMonth" data-item="{{item}}" data-index="{{index}}" wx:for="{{monthList}}" wx:key="index" class="{{activeTab==index?'ScrollActive scroll-view-item':'scroll-view-item'}}">
<view>{{item.date}}</view>
<view>¥{{item.b2BPrice}}起</view>
</view>
</scroll-view>
<!-- 日历 -->
<view style="padding-bottom:10rpx">
<calendar bind:childrenEvent="childrenEvent" isVisa="{{true}}" isLogin="{{isLogin}}" selectIndex="{{selectIndex}}" visaB2CPrice="{{visaB2CPrice}}" currentDay="{{currentDay}}" id="calendar"></calendar>
</view>
<view class="PayView">
<view style="width:310rpx;">
<text class="f20">¥</text>
<text class="f46 cee" wx:if="{{selectDate}}">{{isLogin!=1? visaB2CPrice :visaPrice}}</text>
<text class="f46 cee" wx:else>0.00</text>
<text class="f20 c88">/人</text>
</view>
<view style="width:100rpx;border-left:1px solid #E9E9E9;padding-top:29rpx;">
<image style="width:45rpx;height:45rpx" src="/images/group/pay.png"></image>
</view>
<view bindtap='StartYd' class="startPay">确定</view>
</view>
</view>
\ No newline at end of file
page{
height: 100%;
background-color: #F4F4F4;
}
.DateNum .scroll-header {
display: flex;
white-space: nowrap;
background: #e5efff;
/* height: 95rpx; */
}
.DateNum .scroll-header .scroll-view-item {
display: inline-flex;
font-size: 24rpx;
color: #111;
width: 166rpx;
height: 82rpx;
align-items: center;
flex-direction: column;
position: relative;
}
.DateNum .scroll-header .ScrollActive {
color: #5597ff;
border-bottom: 1rpx solid #5597ff;
}
.PayView{
width:100%;
height:100rpx;
line-height:100rpx;
border-top:1px solid #E9E9E9;
display: flex;
align-items: center;
position: fixed;
bottom: 0;
}
.PayView>view{
display: inline-flex;
justify-content: center;
height: 100%;
}
.startPay{
width:341rpx;
background:rgba(238,68,84,1);
color: #fff;
font-size: 30rpx;
}
.personItem {
width: 100%;
height: 90rpx;
border-top: 1px solid #f4f4f4;
display: flex;
justify-content: space-between;
padding:0 30rpx;
align-items: center;
position: relative;
}
.personItem>view {
display: inline-block;
font-size: 24rpx;
}
.personItem>view text{
position: absolute;
left: 200rpx;
top: 25rpx;
}
\ No newline at end of file
let app = getApp();
var WxParse = require('../../wxParse/wxParse.js');
Page({
/**
* 页面的初始数据
*/
data: {
isLogin: app.isLogin,
imgList: [],
dataList: {},
visaId: null
},
StartYd: function () {
let id = this.data.visaId
wx.navigateTo({
url: '/pages/visa/visaChDate/visaChDate?id=' + encodeURIComponent(id) + '&visaB2CPrice=' + this.data.dataList.visaB2CPrice + '&visaPrice=' + this.data.dataList.visaPrice,
})
},
getDetails: function (id) {
app.$api('b2b_get_GetVisaProductInfo', { productId: id}).then(res => {
console.log(res)
// 费用包含
if (res.feeInclude){
WxParse.wxParse('feeInclude', 'html', res.feeInclude, this, 0);
}
// 费用不包含
if (res.feeNonInclude) {
WxParse.wxParse('feeNonInclude', 'html', res.feeNonInclude, this, 0);
}
// 签证材料
if (res.visaMaterials) {
WxParse.wxParse('visaMaterials', 'html', res.visaMaterials, this, 0);
}
// 温馨提示
if (res.warmTip) {
WxParse.wxParse('warmTip', 'html', res.warmTip, this, 0);
}
let imgList = []
if (res.coverImageList.length) {
imgList = res.coverImageList
} else {
imgList.push("/images/visa/bg_c2@3x.png")
}
this.setData({
imgList: imgList,
dataList: res
})
}).catch(err => { });
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
let id = decodeURIComponent(options.id)
this.setData({
visaId: id
})
this.getDetails(id)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"navigationBarTitleText": "签证详情",
"usingComponents": {}
}
\ No newline at end of file
<view class='commonF'>
<scroll-view style='height: calc(100vh - 100rpx);' scroll-y>
<swiper>
<block wx:for="{{imgList}}" wx:key="*this">
<swiper-item>
<image src="{{item}}"></image>
</swiper-item>
</block>
</swiper>
<view class='price-content'>
<view>
<text class='yang'>¥</text><text class='_price'>{{isLogin!=1?dataList.visaB2CPrice:dataList.visaPrice}}</text><text class='_text'>/人起</text>
</view>
<view class='_tit'>
<text class='_type'>{{dataList.visaType == 1 ? '个签' : '团签'}}</text><text class='_name'>{{dataList.name}}</text>
</view>
<view>
<text class='visa-tag'>一年三次</text><text class='visa-tag'>天气不错</text>
</view>
</view>
<view class='tai-content'>
<view>
<view class='_lable'>签证类型</view>
<view class='_info'>{{dataList.visaType == 1 ? '个签' : '团签'}}</view>
</view>
<view>
<view class='_lable'>办理时长</view>
<view class='_info'>{{dataList.manageDuration ? dataList.manageDuration : ''}}</view>
</view>
<view>
<view class='_lable'>入境次数</view>
<view class='_info'>{{dataList.entryType == 1 ? '单次' : '多次'}}</view>
</view>
<view>
<view class='_lable'>可停留时间</view>
<view class='_info'>{{dataList.stayDays ? dataList.stayDays : ''}}</view>
</view>
<view>
<view class='_lable'>签证有效期</view>
<view class='_info'>{{dataList.visaValidity ? dataList.visaValidity : ''}}</view>
</view>
<!-- <view>
<view class='_lable'>受理范围</view>
<view class='_info'>{{dataList.visaValidity}}</view>
</view> -->
</view>
<!-- <view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/xuzhi.png'></image>
<text>预订须知</text>
</view>
<view class='info-content'>
</view>
</view> -->
<view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/feiyong.png'></image>
<text>费用说明</text>
</view>
<view class='info-content'>
<view class='baohan'>
<view class='baohan-tit'><text>费用包含:</text></view>
<template wx:if="{{dataList.feeInclude}}" is="wxParse" data="{{wxParseData:feeInclude.nodes}}"/>
<view wx:else class='nothing'>无</view>
</view>
<view class='baohan'>
<view class='baohan-tit'><text>费用自理:</text></view>
<template wx:if="{{dataList.feeNonInclude}}" is="wxParse" data="{{wxParseData:feeNonInclude.nodes}}"/>
<view wx:else class='nothing'>无</view>
</view>
</view>
</view>
<view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/qianzheng.png'></image>
<text>签证</text>
</view>
<view class='info-content'>
<template wx:if="{{dataList.visaMaterials}}" is="wxParse" data="{{wxParseData:visaMaterials.nodes}}"/>
<view wx:else class='nothing'>无</view>
</view>
</view>
<!-- <view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/biao.png'></image>
<text>日本团签资料收集表新.doc</text>
</view>
<view class='info-content'>
</view>
</view> -->
<view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/tishi.png'></image>
<text>温馨提示</text>
</view>
<view class='info-content'>
<template wx:if="{{dataList.warmTip}}" is="wxParse" data="{{wxParseData:warmTip.nodes}}"/>
<view wx:else class='nothing'>无</view>
</view>
</view>
<view class='info-item yudingxuzhi'>
<view class='tit'>
<image src='../../../images/visa/liucheng.png'></image>
<text>预定流程</text>
</view>
<view class='info-content'>
<view>
<view>
<image src='../../../images/visa/yuding.png'></image>
</view>
<view class="number">
<text>1</text>
</view>
<view>网上预定及付款</view>
</view>
<view>
<view>
<image src='../../../images/visa/cailiao.png'></image>
</view>
<view class="number">
<text>2</text>
</view>
<view>递交材料</view>
</view>
<view>
<view>
<image src='../../../images/visa/shenhe.png'></image>
</view>
<view class="number">
<text>3</text>
</view>
<view>材料审核</view>
</view>
<view>
<view>
<image src='../../../images/visa/banli.png'></image>
</view>
<view class="number">
<text>4</text>
</view>
<view>使馆办理</view>
</view>
<view>
<view>
<image src='../../../images/visa/songqian.png'></image>
</view>
<view class="number">
<text>5</text>
</view>
<view>出签送签</view>
</view>
<text class='line'></text>
</view>
</view>
</scroll-view>
<view class="PayView">
<view style="width:310rpx;">
<text class="f20">¥</text>
<text class="f46 cee">{{isLogin!=1?dataList.visaB2CPrice:dataList.visaPrice}}</text>
<text class="f20 c88">/人起</text>
</view>
<view style="width:100rpx;border-left:1px solid #E9E9E9;padding-top:29rpx;">
<image style="width:45rpx;height:45rpx" src="/images/group/pay.png"></image>
</view>
<view bindtap='StartYd' class="startPay">开始预定</view>
</view>
</view>
\ No newline at end of file
page{
background-color: #F4F4F4;
}
swiper{
width: 100%;
height: 500rpx;
}
.price-content{
padding: 30rpx;
margin-bottom: 30rpx;
background-color: white;
}
.price-content .yang{
font-size: 22rpx;
color: #EE4454;
}
.price-content ._price{
color: #EE4454;
font-size: 46rpx;
font-weight: bold;
}
.price-content ._text{
color: #888888;
font-size: 22rpx;
}
.price-content ._type{
background-color: #61DCD4;
padding: 7rpx 12rpx;
color: #fff;
font-size: 20rpx;
position: relative;
top: -2rpx;
}
.visa-tag{
background-color: rgba(85,151,255,.5);
padding: 4rpx 11rpx;
color: #5597FF;
font-size: 20rpx;
margin-right: 10rpx;
border-radius:3rpx;
}
.tai-content{
padding: 30rpx;
background-color: white;
}
.tai-content>view{
display: flex;
}
.tai-content>view ._lable{
width: 120rpx;
color: #888888;
font-size: 24rpx;
margin-right: 40rpx;
}
.tai-content>view ._info{
color: #111111;
font-size: 26rpx;
flex: 1;
}
.info-item{
padding: 30rpx;
margin-top: 30rpx;
background-color: white;
}
.info-item .tit image{
width: 24rpx;
height: 26rpx;
margin-right: 11rpx;
}
.info-item .tit {
color: #111111;
font-size: 26rpx;
display: flex;
align-items: center;
margin-bottom: 15rpx;
}
.baohan .baohan-tit{
margin-bottom: 14rpx;
}
.nothing{
font-size: 22rpx;
color: #888888;
}
.baohan .baohan-tit text{
color: #111111;
font-size: 22rpx;
border-left: 4px solid #EE4454;
padding-left: 10rpx;
}
.info-content{
display: flex;
width: 100%;
text-align: center;
font-size: 22rpx;
color: #333333;
position: relative;
}
.info-content>view{
width: 20%;
position: relative;
z-index: 2;
}
.info-content image{
width: 81rpx;
height: 81rpx;
}
.info-content .number text{
width: 21rpx;
height: 21rpx;
border-radius: 50%;
background-color: #333333;
font-size: 14rpx;
color: #FFFFFF;
display: inline-block;
}
.info-content .line{
position: absolute;
left: -5%;
bottom: 81rpx;
height: 2rpx;
width: 110%;
z-index: 1;
background-color: #999999;
}
.PayView{
width:100%;
height:100rpx;
line-height:100rpx;
border-top:1px solid #E9E9E9;
display: flex;
align-items: center;
}
.PayView>view{
display: inline-flex;
justify-content: center;
height: 100%;
}
.startPay{
width:341rpx;
background:rgba(238,68,84,1);
color: #fff;
font-size: 30rpx;
}
\ No newline at end of file
......@@ -32,6 +32,13 @@ Page({
pageIndex: 1,
totalPage: 1,
},
//跳转详情
geDetails: function (e) {
let id = encodeURIComponent(e.currentTarget.dataset.id)
wx.navigateTo({
url: '/pages/visa/visaDetails/visaDetails?id=' + id,
})
},
// 加载更多
scrollGetMore: function () {
this.setData({
......@@ -137,13 +144,11 @@ Page({
this.data.listmsg.tags.push(tagItem[i].id)
}
}
console.log(this.data.listmsg)
this.setData({
listmsg: this.data.listmsg,
showBox: false,
})
app.$apiJavaNew('api/b2b/visa/getVisaProductList', this.data.listmsg).then(res => {
console.log(res)
let data = res.pageData
for(let i = 0; i < data.length; i++) {
if (data[i].tagTames) {
......
......@@ -29,12 +29,13 @@
</view>
<scroll-view scroll-y style="height: calc(100vh - 384rpx);width: 100%;">
<view class='item-box'>
<view class='list-item' wx:for="{{dataList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class='list-item' bindtap='geDetails' data-id="{{item.idDes}}" wx:for="{{dataList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="ListItem">
<view class="imgView">
<image src="{{item.coverImage[0].url}}"></image>
<view class="ListDays">
个签
<text wx:if="{{item.visaType==1}}">个签</text>
<text wx:else>团签</text>
</view>
</view>
<view class="ItemRight" style="width:460rpx;padding-left:15rpx">
......
let app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
dataList: {},
selectDate: '',
id: '',
ppType: ['成人', '儿童'],
DutyList: ['在职', '自由职业', '在校学生', '退休', '学龄前儿童'],
ppList: [],
onePp: {
SurName: '',
Name: '',
ESurName: '',
EName: '',
Duty: '在职',
IdentityType: '',
MobilePhone: '',
IdCard: '',
DutyIndex: 0,
ppTypeIndex: 0,
},
saveMsg: {
VisaId: '',
AdultPeopleNum: '',
ChildPeopleNum: '',
TotalPrice: '',
Id: 0,
CustomerId: '',
EnterCountryTime: '',
GuestList: [],
VisaOrderRelation: {
RelationName: '',
RelationPhone: '',
RelationEmail: '',
IsNeedInvoice: 0, // 0不需要 1 需要
InvoiceName: '',
InvoiceType: 1, // 1 个人 2 企业 3 非企业的营业机构
DutyParagraph: '',
Receiver: '',
ReceiverPhone: '',
ReceiverProvince: '',
ReceiverCity: '',
ReceiverAddress: ''
}
},
needFapiao: false,
fapiaoShow: false,
fapiaoType: 1,
orderAdd: {},
addrShow: false,
addActive: false,
},
MyshowToast: function(text){
wx.showToast({
title: text,
icon: 'none',
duration: 2000
})
},
//开始预订
StartYd: function (){
let list = this.data.ppList,
phone = false,
isOk = true,
cr = 0,
xh = 0;;
if (list.length < 1) {
this.MyshowToast('请添加申请人')
return
} else {
for (let i = 0; i < list.length; i++) {
if (list[i].ppTypeIndex == 0){
cr = cr + 1
} else {
xh = xh + 1
}
if (list[i].SurName == '' || list[i].Name == '') {
this.MyshowToast('请填写第' + (i + 1) +'位申请人的中文姓或名!')
isOk = false
return
} else if (list[i].ESurName == '' || list[i].EName == '') {
this.MyshowToast('请填写第' + (i + 1) + '位申请人的英文姓或名!')
isOk = false
return
} else if (list[i].IdCard == '') {
this.MyshowToast('请填写第' + (i + 1) + '位申请人的证件号码!')
isOk = false
return
}
if (list[i].MobilePhone) {
phone = true
}
}
if (!phone) {
this.MyshowToast('请至少填写一个申请人的手机号码!')
return
}
if (!isOk) {
return
}
}
if (!this.data.addActive) {
this.MyshowToast('请选择收货地址!')
return
}
if (!this.data.saveMsg.VisaOrderRelation.RelationName || !this.data.saveMsg.VisaOrderRelation.RelationPhone) {
this.MyshowToast('请填写联系人信息!')
return
}
this.data.saveMsg.AdultPeopleNum = cr;
this.data.saveMsg.ChildPeopleNum = xh;
this.data.saveMsg.TotalPrice = this.data.isLogin != 1 ? list.length * this.data.dataList.visaB2CPrice : list.length * this.data.dataList.visaB2CPrice;
this.data.saveMsg.CustomerId = app.state.admin.id;
this.data.saveMsg.GuestList = list;
console.log(this.data.saveMsg)
app.$api('b2b_get_SetB2BVisaOrder', this.data.saveMsg).then(res => {
console.log(res)
}).catch(err => { });
},
//确认收货地址
queRenAdd: function (){
if (!this.data.addActive) {
wx.showToast({
title: '请选择地址!',
icon: 'none',
duration: 2000
})
return
} else {
this.setData({
'saveMsg.VisaOrderRelation.ReceiverProvince': this.data.orderAdd.province,
'saveMsg.VisaOrderRelation.ReceiverCity': this.data.orderAdd.city,
'saveMsg.VisaOrderRelation.ReceiverAddress': this.data.orderAdd.address,
'saveMsg.VisaOrderRelation.Receiver': this.data.orderAdd.uname,
'saveMsg.VisaOrderRelation.ReceiverPhone': this.data.orderAdd.uphone,
})
this.closeAddrw()
}
},
// 收货地址选择
addChange: function () {
console.log(1111)
this.setData({
addActive: !this.data.addActive
})
},
// 收货地址关闭 显示
closeAddrw: function () {
this.setData({
addrShow: !this.data.addrShow
})
},
// 确认发票信息
queRenFp: function () {
if (this.data.saveMsg.VisaOrderRelation.InvoiceName == '' && this.data.needFapiao) {
wx.showToast({
title: '请填写发票抬头!',
icon: 'none',
duration: 2000
})
return
}
if (this.data.saveMsg.VisaOrderRelation.InvoiceType !== 1 && this.data.saveMsg.VisaOrderRelation.DutyParagraph == '' && this.data.needFapiao) {
wx.showToast({
title: '请填写税号!',
icon: 'none',
duration: 2000
})
return
}
if (this.data.saveMsg.VisaOrderRelation.RelationEmail == '' && this.data.needFapiao) {
wx.showToast({
title: '请填写邮箱!',
icon: 'none',
duration: 2000
})
return
}
this.closeFapiaow()
},
// 修改发票相关信息
changeFpInfo: function (e) {
let name = e.currentTarget.dataset.type
this.data.saveMsg.VisaOrderRelation[name] = e.detail.value
this.setData({
saveMsg: this.data.saveMsg
})
},
// 切换发票类型
changeFapiaoType: function (e) {
let i = e.currentTarget.dataset.index
if (i == 1) {
this.setData({
'saveMsg.VisaOrderRelation.InvoiceType': Number(i),
'saveMsg.VisaOrderRelation.DutyParagraph': '',
})
} else {
this.setData({
'saveMsg.VisaOrderRelation.InvoiceType': Number(i)
})
}
},
// 是否需要发票切换
changeNeedFp: function (e) {
let i = e.currentTarget.dataset.index
this.setData({
needFapiao: i == 1 ? true : false,
'saveMsg.VisaOrderRelation.IsNeedInvoice': i,
'saveMsg.VisaOrderRelation.RelationEmail': '',
'saveMsg.VisaOrderRelation.InvoiceName': '',
'saveMsg.VisaOrderRelation.DutyParagraph': '',
})
},
// 关闭发票窗口
closeFapiaow: function () {
this.setData({
fapiaoShow: !this.data.fapiaoShow
})
},
//信息数据绑定
lianxirenChange: function (e) {
let name = e.currentTarget.dataset.type
this.data.saveMsg.VisaOrderRelation[name] = e.detail.value
this.setData({
saveMsg: this.data.saveMsg
})
},
// 删除
deletePP: function (e) {
let index = e.currentTarget.dataset.index
let list = JSON.parse(JSON.stringify(this.data.ppList))
list.splice(index, 1)
this.setData({
ppList: list
})
},
// 绑定数据
bindPickerChange: function (e) {
let index = e.currentTarget.dataset.index
let name = e.currentTarget.dataset.type
let picker = e.currentTarget.dataset.picker
this.data.ppList[index][name] = e.detail.value
if (picker) { // 客户类型
this.data.ppList[index][picker] = this.data.DutyList[e.detail.value]
this.setData({
ppList: this.data.ppList
})
} else {
this.setData({
ppList: this.data.ppList
})
}
},
addPP: function () {
let list = this.data.ppList
list.push(this.data.onePp)
this.setData({
ppList: list
})
},
editDate: function () {
let id = this.data.id
wx.navigateTo({
url: '/pages/visa/visaChDate/visaChDate?id=' + encodeURIComponent(id) + '&visaB2CPrice=' + this.data.dataList.visaB2CPrice + '&visaPrice=' + this.data.dataList.visaPrice + '&edit=' + true,
})
},
// 获取地址
getOrderAdd: function () {
app.$apiJavaData("api/orderForm/getOrderAdd", {}).then(res => {
console.log(res)
this.setData({
orderAdd: res.data
})
}).catch(err => { })
},
getDetails: function (id) {
app.$api('b2b_get_GetVisaProductInfo', { productId: id }).then(res => {
console.log(res)
this.setData({
dataList: res,
'saveMsg.VisaId': res.id
})
}).catch(err => { });
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
let id = decodeURIComponent(options.id)
this.getDetails(id)
this.setData({
id: id,
selectDate: options.selectDate,
'saveMsg.EnterCountryTime': options.selectDate,
})
this.getOrderAdd()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function (options) {
console.log('onShow', options)
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"navigationBarTitleText": "填写订单"
}
\ No newline at end of file
This diff is collapsed.
.commonF{
background-color: transparent;
}
.FillOrder .top{
padding: 30rpx;
}
.FillOrder .OrderDes {
background: rgba(255, 255, 255, 1);
box-shadow: 0px 6rpx 10rpx 0px rgba(76, 76, 76, 0.15);
border-radius: 12rpx;
}
.edit-date{
display: flex;
align-items: center;
justify-content: space-between;
}
.FillOrder .OrderDes .title {
width: 100%;
height: 90rpx;
line-height: 90rpx;
background: rgba(244, 244, 244, 1);
padding: 0 30rpx;
border-radius: 12rpx 12rpx 0px 0px;
}
.FillOrder .OrderDes .body>view {
padding: 15rpx 0 10rpx 30rpx;
}
.people-box{
margin: 30rpx 0;
padding: 30rpx;
background-color: white;
}
.addpeople-btn .btn{
display: flex;
justify-content: center;
}
.addpeople-btn view.btn view{
width:300rpx;
height:66rpx;
border:1px solid rgba(85, 151, 255, 1);
border-radius:12rpx;
font-size: 28rpx;
color: #5597FF;
display: flex;
align-items: center;
justify-content: center;
}
.addpeople-btn view.btn view image{
width: 28rpx;
height: 28rpx;
}
.peisong,.fapiao-info-item{
background-color: white;
}
.peisong .tit>text:nth-child(1){
margin-right: 30rpx;
}
.peisong .tit,.peisong .tips,.peisong .info-item ,.fapiao-info-item{
display: flex;
align-items: center;
padding: 30rpx;
}
.peisong .tips{
margin-top: 20rpx;
}
.tips-img{
width: 22rpx;
height: 22rpx;
margin-right: 10rpx;
}
.info-item .name,.fapiao-info-item .name{
display: inline-block;
width: 150rpx;
}
.info-item{
height: 90rpx;
line-height: 90rpx;
position: relative;
}
.right-arr{
width: 14rpx;
height: 27rpx;
position: absolute;
right: 30rpx;
}
.fapiao{
margin: 30rpx 0;
}
.fapiao-arr{
position: absolute;
right: 30rpx;
}
.fapiao-arr text{
margin-right: 24rpx;
}
.fapiao-arr image{
width: 14rpx;
height: 27rpx;
position: relative;
top: 4rpx;
}
.lvke-item{
display: flex;
margin-bottom: 30rpx;
position: relative;
}
.lvke-item .remove{
position: absolute;
right: 0;
top: 0;
padding: 5rpx 11rpx;
}
.lvke-item-info{
flex: 1;
display: flex;
align-items: center;
margin-bottom: 20rpx;
}
.lvke-item-info input{
flex: 1;
}
.PayView{
width:100%;
height:100rpx;
line-height:100rpx;
border-top:1px solid #E9E9E9;
display: flex;
align-items: center;
}
.PayView>view{
display: inline-flex;
justify-content: center;
height: 100%;
}
.startPay{
width:341rpx;
background:rgba(238,68,84,1);
color: #fff;
font-size: 30rpx;
}
.fapiao-box,.addr-box{
height: 100vh;
width: 100%;
background:rgba(17,17,17, .5);
position: fixed;
left: 0;
top: 0;
z-index: 2;
}
.fapiao-box .fapiao-box-info,.addr-box .addr-box-info{
width: 100%;
padding: 30rpx;
position: absolute;
bottom: 0;
left: 0;
border-top-left-radius: 12rpx;
border-top-right-radius: 12rpx;
background-color: white;
z-index: 3
}
.fapiao-box .fapiao-box-info .info-box-tit,.addr-box .addr-box-info .info-box-tit{
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
}
.fapiao-box-type{
display: flex;
justify-content: space-between;
}
.fapiao-box-type view{
width: 330rpx;
height: 64rpx;
border: 1px solid rgba(204, 204, 204, 1);
border-radius:4rpx;
color: #666;
display: flex;
align-items: center;
justify-content: center;
}
.addr-detail{
width: 450rpx;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
line-height: 33rpx;
}
.fapiao-box-type view.active{
color: #EE4454;
border:1px solid rgba(238, 68, 84, 1);
}
.xuanzhong{
width: 34rpx;
height: 34rpx;
}
.info-content-item{
display: flex;
align-items: center;
padding: 30rpx 6rpx;
}
.info-content-item-lable{
width: 150rpx;
}
.fapiao-type{
flex: 1;
}
.raduis{
width:34rpx;
height:34rpx;
border-radius: 50%;
border:1px solid rgba(153, 153, 153, 1);
}
.fapiao-type,.fapiao-type view{
display: flex;
align-items: center;
}
.fapiao-type .text{
margin: 0 30rpx 0 15rpx;
}
.info-tips-img{
width: 24rpx;
height: 24rpx;
margin-right: 11rpx;
}
.dizhi{
display: flex;
align-items: center;
justify-content: space-between;
}
.dizhi>view:nth-child(2){
margin-left: 30rpx;
}
.dizhi .name{
font-size:28rpx;
color:rgba(0,0,0,1);
padding-right: 32rpx;
/* width: 66rpx; */
display: inline-block;
margin-right: 18rpx;
}
.dizhi .phone{
font-size:28rpx;
color: #666666;
}
.addr-info{
display: flex;
font-size: 24rpx;
align-items:center;
}
.addr-info image{
width: 35rpx;
}
\ No newline at end of file
......@@ -13,7 +13,7 @@
},
"compileType": "miniprogram",
"libVersion": "2.7.2",
"appid": "wx84f47e77fa67edb7",
"appid": "wx2e070bb923f858fd",
"projectname": "FLASHMAN",
"debugOptions": {
"hidedInDevtools": []
......@@ -39,7 +39,7 @@
"list": []
},
"miniprogram": {
"current": 11,
"current": 14,
"list": [
{
"id": 2,
......@@ -122,6 +122,28 @@
"id": -1,
"name": "签证列表页",
"pathName": "pages/visa/visaList/visaList",
"query": "",
"scene": null
},
{
"id": 12,
"name": "签证详情",
"pathName": "pages/visa/visaDetails/visaDetails",
"query": "id=dRvFC7rQ4Lg%3D%0A",
"scene": null
},
{
"id": 13,
"name": "签证详情日期",
"pathName": "pages/visa/visaChDate/visaChDate",
"query": "id=dRvFC7rQ4Lg%3D%0A&visaB2CPrice=500&visaPrice=350",
"scene": null
},
{
"id": 14,
"name": "签证下单",
"pathName": "pages/visa/visaOrder/visaOrder",
"query": "id=dRvFC7rQ4Lg%3D%0A&selectDate=2019-07-11",
"scene": null
}
]
......
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