Commit 7d59bf69 authored by huangyuanyuan's avatar huangyuanyuan

解决冲突

parents 66b8cbde 244d660b
......@@ -52,6 +52,7 @@ App({
let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '')
wx.request({
url: 'http://192.168.2.214:8082/api/Common/Post',
// url: 'http://192.168.2.65:8025/api/Common/Post', //春姐
// url: 'https://reborn.oytour.com/api/common/post', //线上
// url: ' http://test.viitto.com/api/common/post',
......@@ -65,7 +66,7 @@ App({
},
success(res) {
wx.hideLoading()
if (res.data.resultCode === 1) {
if (res.data.resultCode === 1) {
resolve(res.data.data);
} else if (res.data.resultCode === 10000 || res.data.resultCode === 10001) {
wx.reLaunch({
......@@ -81,6 +82,32 @@ App({
}
}
})
})
return promise;
},
// 请求接口
$apiSaveFormId: function (url, data) {
var promise = new Promise((resolve, reject) => {
let timestamp = (new Date()).valueOf()
let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '')
wx.request({
url: 'http://192.168.2.214:8082/api/Common/Post',
url: 'http://192.168.2.65:8025/api/Common/Post', //春姐
// url: 'https://reborn.oytour.com/api/common/post', //线上
// url: ' http://test.viitto.com/api/common/post',
method: 'POST',
data: {
cmd: url,
msg: data,
timestamp: timestamp,
token: getApp().state.admin.token,
sign: sign
},
success(res) {
}
})
})
return promise;
},
......@@ -98,6 +125,7 @@ App({
let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey)
wx.request({
// url: 'https://reborn.oytour.com/api/common/post'+ url, //线上
// url: 'http://efficient.oytour.com/'+ url, //线上
// url: 'http://47.96.12.235:9001/' + url, //测试
url: 'http://192.168.2.215:9000/'+ url,
......
......@@ -20,6 +20,13 @@
"pages/member/memberCenter/memberCenter",
"pages/member/memberInfo/memberInfo",
"pages/member/memberInfoED/memberInfoED",
"pages/member/memberInfoEDPasswod/memberInfoEDPasswod",
"pages/member/memberInfoEDAddr/memberInfoEDAddr",
"pages/member/orderCenter/orderCenter",
"pages/member/orderDeatils/orderDeatils",
"pages/member/investigation/investigation",
"pages/member/nameList/nameList",
"pages/member/invesDetails/invesDetails",
"pages/visa/visa",
"pages/Voucher/Voucher",
"pages/Voucher/rating/rating",
......
This diff is collapsed.
/* ---=*--*=*-=*-=-*-=* 🌹 *---=*--*=*-=*-=-*-=*
Lizus核心库
Author: lizus.com
---=*--*=*-=*-=-*-=* 🌹 *---=*--*=*-=*-=-*-=* */
//用于获取x的类型
//getType :: a -> string
var getType = function getType(x) {
var type=Object.prototype.toString.call(x);
return type.slice(8,-1);
};
//用于切换谓词函数的返回值
//not :: () -> ( a -> boolean )
var not = function not(fn) {
return function () {
return !fn.apply(null,[].slice.apply(arguments,[0]));
}
};
//用于判断x是否存在
// isExist :: a -> boolean
var isExist=function isExist(x) {
return x!=null;
};
//判断x是否为真,使用Boolean的结果
// isTrue :: a -> boolean
var isTrue = Boolean;
//判断x是否为空,此处判断空对象不算empty
//isEmpty :: a -> boolean
var isEmpty = function isEmpty(x) {
if (isTrue(x) && Math.abs(Number(x)) != 0) return false;
return true;
};
//生成返回自身的函数
//of :: x -> () -> x
var of=function (x) {
return function () {
return x;
};
};
//用于生成只接受len个参数的fn
//arity :: number -> () -> ()
var arity = function arity(len,fn) {
if (len<1) len=1;
if (typeof fn != 'function') return null;
return function () {
var args=[].slice.apply(arguments,[0,len]);
return fn.apply(null,args);
}
};
//生成反转参数的函数
//reverseArg :: () -> ()
var reverseArg = function reverseArg(fn) {
if (typeof fn != 'function') return null;
return function () {
var args=[].slice.apply(arguments,[0]).reverse();
return fn.apply(null,args);
}
};
//curry函数
//curry :: () -> ()
var curry=function curry(fn) {
if (typeof fn != 'function') return null;
return function curryMe() {
var args=[].slice.apply(arguments,[0]);
if (args.length >= fn.length) return fn.apply(null,args);
return function () {
return curryMe.apply(null,args.concat([].slice.apply(arguments,[0])));
}
}
};
//用于调试,tag用于标识调试信息,x为调试项,最终返回x不阻止程序运行
//trace :: string -> a -> a
var trace=curry(function trace(tag,x) {
if (isExist(console)) {
console.log(tag,x);
}else{
alert(tag);
alert(opt);
}
return x;
});
//compose函数,用于组合函数,从右至左执行
//compose :: () -> a
var compose=function compose() {
var args=[].slice.apply(arguments,[0]).reverse();
return function () {
var result=[].slice.apply(arguments,[0]);
for (var i=0;i<args.length;i++) {
if (typeof args[i] != 'function') return trace('the arguments is not a function',args[i]);
result=args[i].apply(null,[].concat(result));
}
return result;
}
};
//同compose,但是从左至右执行
//flow:: () -> a
var flow=reverseArg(compose);
//用于判断两个参数是否相等
//e :: a -> b -> boolean
var e = curry(function e(a,b) {
return a == b;
});
//用于判断b < a
//lt :: a -> b -> boolean
var lt = curry(function lt(a,b) {
return b < a;
});
//用于判断b > a
//gt :: a -> b -> boolean
var gt = curry(function (a,b) {
return b > a;
});
//用于判断x是否是a类型
//isType :: a -> x -> boolean
var isType = curry(function isType(a,x) {
return e(a,getType(x));
});
//判断a是否是数组
//isArray :: a -> boolean
var isArray = isType('Array');
//判断a是否是对象
//isObject :: a -> boolean
var isObject = isType('Object');
//判断a是否是字符串
//isString :: a -> boolean
var isString = isType('String');
//判断a是否是数字
//isNumber :: a -> boolean
var isNumber = isType('Number');
//判断a是否是函数
//isFunction :: a -> boolean
var isFunction = isType('Function');
//判断a是否是正则表达式
//isRegExp :: a -> boolean
var isRegExp = isType('RegExp');
//判断a是否是布尔值
//isBoolean :: a -> boolean
var isBoolean = isType('Boolean');
//判断a是否是日期对象
//isDate :: a -> boolean
var isDate = isType('Date');
//curry化的Array重要函数,并将fn放在第一个参数位置上
//map :: () -> array -> array
var map = curry(function map(fn,col) {
return Array.prototype.map.call(col,fn);
});
//filter :: () -> array -> array
var filter = curry(function filter(fn,col) {
return Array.prototype.filter.call(col,fn);
});
//reduce :: () -> array -> array
var reduce = curry(function reduce(fn,col) {
return Array.prototype.reduce.call(col,fn);
});
//深度复制,主要解决数组和对象的引用问题,通过深度复制去除引用
//deepCopy :: a -> b
var deepCopy=function (sth) {
var re;
if (isObject(sth)) {
re={};
for (var key in sth) {
if (sth.hasOwnProperty(key)) {
re[key]=deepCopy(sth[key]);
}
}
}else if(isArray(sth)){
re=map(deepCopy,sth);
}else{
re=sth;
}
return re;
};
//转变为数组
//toArray :: a -> b
var toArray = function (sth) {
var re=[];
if (isObject(sth)) {
for (var key in sth) {
if (sth.hasOwnProperty(key)) {
if (isObject(sth[key])) {
re.push([key,toArray(sth[key])]);
}else{
re.push([key,sth[key]]);
}
}
}
}else{
re=re.concat(deepCopy(sth));
}
return re;
};
module.exports={
trace:trace,
arity:arity,
reverseArg:reverseArg,
curry:curry,
compose:compose,
flow:flow,
not:not,
of:of,
e:e,
lt:lt,
gt:gt,
getType:getType,
isType:isType,
isArray:isArray,
isObject:isObject,
isString:isString,
isDate:isDate,
isNumber:isNumber,
isBoolean:isBoolean,
isFunction:isFunction,
isRegExp:isRegExp,
isExist:isExist,
isTrue:isTrue,
isEmpty:isEmpty,
map:map,
filter:filter,
reduce:reduce,
deepCopy:deepCopy,
toArray:toArray
};
\ No newline at end of file
const lizus = require('./lizus');
/**
* 用于查询匹配,正确返回匹配数组,错误返回false
*/
lizus.match=lizus.curry(function (q,str) {
if (lizus.isEmpty(str)) return false;
return String.prototype.match.call(str,q) || false;
});
module.exports=lizus;
/** ---=*--*=*-=*-=-*-=* ^.^ *---=*--*=*-=*-=-*-=*
* 省市县三联picker选择组件
*
* @author lizus.com
* @updated 20190429
*
* @数据源 https://docs.alipay.com/isv/10327
*
* @使用范例:
<region-picker bind:change="regionChange" province="浙江省" city="台州市" county="天台县"></region-picker>
* @获取到的数据示例:
e.detail={
province:'浙江省',
city:'台州市',
county:'天台县'
};
---=*--*=*-=*-=-*-=* ^.^ *---=*--*=*-=*-=-*-=* */
const area = require('./area');
const orz = require('./orz');
const areaArr=area.data;//省市县数据数组
/** provinces,cities,counties以数组的形式存储省市区数据,单位数组格式为[地方名称,地方名称在areaArr中的索引号] */
let provinces=[];//所有省,ready设定后不变
let cities=[];//城市数据,根据省的选择而变
let counties=[];//县区数据,根据市的选择而变
const matchProvince=orz.match(/([1-9]\d|\d[1-9])0000/);//省的编号特征
const matchCity=orz.match(/\d\d([1-9]\d|\d[1-9])00/);//市的编号特征
const matchCounty=orz.match(/\d\d\d\d([1-9]\d|\d[1-9])/);//县的编号特征
const notCounty=orz.not(matchCounty);
/** 用于获取某索引后符合fn条件的索引,fn为谓词函数 */
const getNextIndex=orz.curry(function (fn,index) {
let n=areaArr.length;
for (let i=index+1;i<n;i++) {
if(fn(areaArr[i][0])) {
n=i;
break;
}
}
return n;
});
const getNextCountyIndex=getNextIndex(notCounty);
const getNextCityIndex=getNextIndex(matchProvince);
/** 用于获取省市区各数据数组中的地区名称 */
const getName=function (arr,index) {
if (index>=arr.length) return '';
return arr[index][0];
};
/** 用于获取某数组中元素的索引号 */
const getIndex=orz.curry(function (arr,name) {
let idx=Array.prototype.indexOf.call(arr,name);
return (idx< 1) ? 0 : idx;
});
/** 用于获取省份数据,并传递给全局provinces,此函数只在ready中执行一次就可以了 */
const getProvinces=function () {
let col=[];
areaArr.forEach(function (item,index) {
let num=item[0];
let val=item[1];
if(matchProvince(num)){
provinces.push([val,index]);
col.push(val);
}
});
return col;
};
/**
* 用于获取某一省份下市的数据,返回市名称的列表数组,同时重写全局cities数组
* @param provinceIndex 省份在provinces数组中索引值
* @returns {Array}
*/
const getCities=function (provinceIndex) {
cities=[];
let targetProvince=provinces[provinceIndex];
let targetIndex=targetProvince[1];
let nextIndex=getNextCityIndex(targetIndex);
let col=[];
for (let i=targetIndex;i<nextIndex;i++) {
let item=areaArr[i];
let num=item[0];
let val=item[1];
if(matchCity(num)){
cities.push([val,i]);
col.push(val);
}
}
return col;
};
const getCounties=function (cityIndex) {
counties=[];
let targetCity=cities[cityIndex];
let targetIndex=targetCity[1];
let nextIndex=getNextCountyIndex(targetIndex);
let col=[];
for (let i=targetIndex+1;i<nextIndex;i++) {
let item=areaArr[i];
let val=item[1];
counties.push([val,i]);
col.push(val);
}
return col;
};
Component({
properties:{
province:{ type: String },
city:{ type: String },
county:{ type: String }
},
data:{
province:'北京',//省
city:'北京市',//市
county:'东城区',//县区
value:[0,0,0],//省,市,县在pickArr中的索引值
pickArr:[[],[],[]]//省,市,县
},
methods:{
colChange:function (e) {
let col=e.detail.column;
let val=e.detail.value;
let pickArr=this.data.pickArr;
let value=this.data.value;
if (col==0) {//用户更换第一列数据,联动二三列,并重置二三列索引为0
pickArr[1]=getCities(val);
pickArr[2]=getCounties(0);
value=[val,0,0];
this.setData({
value:value
});
}
if (col==1) {//用户更换第二列数据,联动第三列,并重置第三列索引为0
pickArr[2]=getCounties(val);
value[1]=val;
value[2]=0;
this.setData({
value:value
});
}
this.setData({
pickArr:pickArr,
});
},
valChange:function (e) {
let val=e.detail.value;
let obj={
province:getName(provinces,val[0]),
city:getName(cities,val[1]),
county:getName(counties,val[2])
};
this.setData(obj);
this.triggerEvent('change',obj);
},
},
ready: function () {
let col1=getProvinces();
let provinceIndex=getIndex(col1,this.data.province);
let col2=getCities(provinceIndex);
let cityIndex=getIndex(col2,this.data.city);
let col3=getCounties(cityIndex);
let countyIndex=getIndex(col3,this.data.county);
let value=[provinceIndex,cityIndex,countyIndex];
let pickArr=[col1,col2,col3];
this.setData({
pickArr:pickArr,
value:value
});
}
});
\ No newline at end of file
{
"component": true,
"usingComponents": {}
}
\ No newline at end of file
<picker value="{{value}}" mode="multiSelector" range="{{pickArr}}" bindcolumnchange="colChange" bindchange="valChange">
<view class="region-picker ">
<block wx:if="{{province.length>0}}">
<text class="province">{{province}}</text>
</block>
<block wx:if="{{city.length>0}}">
<text class="line"> - </text>
<text class="city">{{city}}</text>
</block>
<block wx:if="{{county.length>0}}">
<text class="line"> - </text>
<text class="county">{{county}}</text>
</block>
<block wx:if="{{county.length<1 && city.length<1 && province.length<1}}">
<text class="empty-region">请选择所在地</text>
</block>
</view>
</picker>
\ No newline at end of file
.region-picker {
color: #999;
white-space: nowrap;
overflow: hidden;
}
\ No newline at end of file
......@@ -21,7 +21,8 @@ Page({
} else {
let data = {
guestMobile: this.data.telPhone,
TCID: this.data.tcId
// TCID: this.data.tcId
TCID: 4018
}
app.$api('miniProgram_price_GetGuestByPhone', data).then(res => {
if (res.Id === 0) {
......@@ -70,7 +71,7 @@ Page({
onLoad: function (options) {
const scene = decodeURIComponent(options.scene)
if (scene) {
let tcId = scene.split('=')[1];
let tcId = scene.split('=')[1] ? scene.split('=')[1] : options.tcid;
console.log(tcId)
this.setData({
tcId: tcId
......
// pages/member/invesDetails/invesDetails.js
Page({
/**
* 页面的初始数据
*/
data: {
url: ''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
this.setData({
url: "http://www.test.com:8084/html/invesDetails.html" + '?ID=' + options.ID + '&name=' + encodeURI(options.name) + '&MobilePhone=' + options.MobilePhone
})
console.log(this.data.url)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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
<view>
<web-view src="{{url}}"></web-view>
</view>
\ No newline at end of file
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
active: 0,
tagBoxShow: false,
tagBoxActive: 0,
getOrderMsg: {
pageIndex: 1,
pageSize: 10,
orderType: 1,
queryDays: 0,
orderState: 1,
CustomerId: ""
},
userInfo: {},
dataList: [],
pageIndex: 1,
totalPage: 1,
count: 0,
tagID: 1,
tagIndex: 0,
},
formSubmit: function (e) {
wx.getStorage({
key: 'admin',
success: res => {
let url = e.detail.target.dataset.url;
let index = e.detail.target.dataset.index;
let formId = e.detail.formId;
console.log(formId, code)
app.$apiSaveFormId('survey_post_SaveFormId', { formId: formId, customerId: res.data.id }).then(res => {
console.log(res)
}).catch(err => { })
if (this.data.dataList[Number(index)].getScoreNum > -1) {
wx.navigateTo({
url: url + '?orderId=' + this.data.dataList[Number(index)].orderId,
})
}
}
})
},
// 加载更多
scrollGetMore: function () {
console.log(1)
this.setData({
'getOrderMsg.pageIndex': this.data.pageIndex + 1
})
this.getOrderList(1)
},
// 获取数据
getOrderList: function (type) {
let url = 'api/b2b/user/getrecentorder',
msg = this.data.getOrderMsg;
if (this.data.pageIndex >= this.data.totalPage && type) {
return
}
this.data.getOrderMsg.CustomerId = this.data.userInfo.id
app.$apiJavaNew(url, msg).then(res => {
let arr = this.data.dataList;
let arr2 = res.pageData
for (let i = 0; i < arr2.length; i++) {
arr2[i].day = arr2[i].createDate.replace(/-/g, '.').substring(0, 10)
}
if (type) {
for (let i = 0; i < arr2.length; i++) {
arr.push(arr2[i])
}
} else {
arr = arr2
}
this.setData({
dataList: arr,
totalPage: res.pageCount,
pageIndex: res.pageIndex,
count: res.count
})
}).catch(err => { })
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let userInfo = wx.getStorageSync('admin');
this.setData({
userInfo: userInfo,
})
this.getOrderList()
wx.setNavigationBarTitle({
title: '意见调查列表'
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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
<view class='order-center'>
<scroll-view class='data_body' scroll-y bindscrolltolower="scrollGetMore">
<view wx:if="{{tagID !== 6 && tagID !== 8}}">
<view class='list-item' wx:for="{{dataList}}" wx:for-item="item" wx:key="index" wx:for-index="index">
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/nameList/nameList" data-index='{{index}}'>
<text class='list-item-tag tuan}}'>跟团游</text>
<view class='list-item-info'>
<view class='list-item-info-top'>
<view class='list-item-name'>{{item.title}}</view>
<view class='getScoreNum {{item.getScoreNum == -1 ? "" :"getScoreNum-red" }}'>{{item.getScoreNum == -1 ? '无评分' : item.getScoreNum + '分'}}</view>
</view>
<view class='list-item-detail'>
<view class='list-item-detail-left'>
<text>{{item.ltName+item.guestNum+'人'}}</text>
<text>订单号:{{item.orderId}}</text>
</view>
</view>
<view class='list-item-detail'>
<view class='list-item-detail-left'>
<text>下单日期:{{item.day}}</text>
</view>
<view>¥{{item.preferPrice}}</view>
</view>
</view>
</button>
</form>
</view>
</view>
<view class='body_footer'>{{pageIndex >= totalPage ? '没有更多了...' : '上拉获取更多数据'}}</view>
</scroll-view>
</view>
\ No newline at end of file
page{background-color: #F8F5F5}
.order-center{
padding: 0 30rpx;
}
.data_body{
padding: 0 0 30rpx 0;
width: 100%;
height: 100VH;
}
.list-item-tag{
position: absolute;
left: 29rpx;
top: 0;
display: inline-block;
padding: 5rpx 12rpx;
border-radius:0px 0px 4rpx 4rpx;
color: #1D9890;
background:rgba(97,220,212,.5);
}
.list-item-info{
text-align: left;
margin-top: 50rpx;
}
.list-item{
margin: 30rpx 0;
/* height: 222rpx; */
background:rgba(255,255,255,1);
border-radius:20rpx;
padding: 23rpx 29rpx;
font-size: 24rpx;
position: relative;
}
.list-item-name{
width: 484rpx;
color: #333;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.list-item-detail-left{
color: #666666;
}
.list-item-btn{
display: flex;
margin-top: 15rpx;
justify-content: flex-end;
}
.list-item-btn>view{
width: 136rpx;
height: 46rpx;
line-height: 42rpx;
text-align: center;
font-size: 24rpx;
border:1px solid #D2D2D2;
border-radius:12px;
color: #666666;
margin-left: 30rpx;
}
.list-item-btn>view.btn-red{
border:1px solid #FFC8CD;
color: #EE4454;
}
.list-item-detail-left text:nth-child(1){
padding-right: 30rpx;
}
.list-item-detail{
display: flex;
justify-content: space-between;
margin-top: 10rpx;
}
.body_footer{
display: flex;
justify-content: center;
align-items: center;
height: 30px;
font-size: 12px;
color: #666666;
background-color:#F5F5F5;
}
button{
padding: 0;
font-size: 22rpx;
border: none;
background-color: transparent;
line-height: initial;
}
button::after{
border: none
}
.btn-hover{
background-color: transparent;
}
.list-item-info-top{
display: flex;
justify-content: space-between;
}
.getScoreNum{
color: #666666
}
.getScoreNum-red{
color: #EE4454;
}
\ No newline at end of file
......@@ -12,6 +12,25 @@ Page({
gap: 0,
nextExp: 0,
},
formSubmit: function (e) {
wx.getStorage({
key: 'admin',
success: res => {
let url = e.detail.target.dataset.url;
let formId = e.detail.formId
app.$apiSaveFormId('survey_post_SaveFormId', { formId: formId, customerId: res.data.id }).then(res => {
console.log(res)
}).catch(err => { })
wx.navigateTo({
url: url,
})
}
})
},
formReset: function () {
console.log('form发生了reset事件')
},
getInfo: function () {
app.$apiJavaNew("api/b2b/user/getSimpleUser", { account: this.data.userInfo.account }).then(res => {
this.setData({
......@@ -45,7 +64,9 @@ Page({
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
wx.setNavigationBarTitle({
title: '个人中心'
})
},
/**
......
......@@ -53,38 +53,54 @@
<view class='order-menu'>
<view class='order-menu-tit'>
<view>我的近期订单</view>
<view class='_more'>全部订单>></view>
<view class='_more'>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/orderCenter/orderCenter">
全部订单>>
</button>
</form>
</view>
</view>
<view class="tablist">
<view>
<navigator hover-class="Home_hover" url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/order-icon-tuan.png"></image>
<view class='order-type-name'>跟团游</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/order-icon-tuan.png"></image>
<view class='order-type-name'>跟团游</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/freeTravel/free">
<image mode="aspectFit" src="../../images/menber/order-icon-zi.png"></image>
<view class='order-type-name'>自由行</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/freeTravel/free">
<image mode="aspectFit" src="../../images/menber/order-icon-zi.png"></image>
<view class='order-type-name'>自由行</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/local/localhome">
<image mode="aspectFit" src="../../images/menber/order-icon-dang.png"></image>
<view class='order-type-name'>当地游</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/local/localhome">
<image mode="aspectFit" src="../../images/menber/order-icon-dang.png"></image>
<view class='order-type-name'>当地游</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/order-icon-ji.png"></image>
<view class='order-type-name'>机票</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/order-icon-ji.png"></image>
<view class='order-type-name'>机票</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/visa/visa">
<image mode="aspectFit" src="../../images/menber/order-icon-gai.png"></image>
<view class='order-type-name'>签证</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/visa/visa">
<image mode="aspectFit" src="../../images/menber/order-icon-gai.png"></image>
<view class='order-type-name'>签证</view>
</button>
</form>
</view>
</view>
</view>
......@@ -94,34 +110,52 @@
</view>
<view class="tablist">
<view>
<navigator hover-class="Home_hover" url="/pages/member/memberCenter/memberCenter?progress={{progress}}&gap={{gap}}&vip={{custormInfo.vipRate}}&nextExp={{nextExp}}">
<image mode="aspectFit" src="../../images/menber/menu-hui.png"></image>
<view class='order-type-name'>会员中心</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/memberCenter/memberCenter?progress={{progress}}&gap={{gap}}&vip={{custormInfo.vipRate}}&nextExp={{nextExp}}">
<image mode="aspectFit" src="../../images/menber/menu-hui.png"></image>
<view class='order-type-name'>会员中心</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/freeTravel/free">
<image mode="aspectFit" src="../../images/menber/menu-ding.png"></image>
<view class='order-type-name'>定制游</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/freeTravel/free">
<image mode="aspectFit" src="../../images/menber/menu-ding.png"></image>
<view class='order-type-name'>定制游</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/member/memberInfo/memberInfo">
<image mode="aspectFit" src="../../images/menber/menu-ge.png"></image>
<view class='order-type-name'>个人信息</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/memberInfo/memberInfo">
<image mode="aspectFit" src="../../images/menber/menu-ge.png"></image>
<view class='order-type-name'>个人信息</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/menu-ji.png"></image>
<view class='order-type-name'>我的积分</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/Ticket/Ticket">
<image mode="aspectFit" src="../../images/menber/menu-ji.png"></image>
<view class='order-type-name'>我的积分</view>
</button>
</form>
</view>
<view>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/visa/visa">
<image mode="aspectFit" src="../../images/menber/menu-you.png"></image>
<view class='order-type-name'>我的优惠券</view>
</button>
</form>
</view>
<view>
<navigator hover-class="Home_hover" url="/pages/visa/visa">
<image mode="aspectFit" src="../../images/menber/menu-you.png"></image>
<view class='order-type-name'>我的优惠券</view>
</navigator>
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/investigation/investigation">
<image mode="aspectFit" src="../../images/menber/menu-you.png"></image>
<view class='order-type-name'>旅客调查</view>
</button>
</form>
</view>
</view>
</view>
......
......@@ -193,7 +193,6 @@
margin: 0 31rpx;
}
.order-menu{
height:244rpx;
background:rgba(255,255,255,1);
border-radius:20rpx;
padding: 30rpx;
......@@ -210,14 +209,29 @@
}
.tablist{
display: flex;
justify-content: space-around;
flex-wrap:wrap;
margin-top: 46rpx;
}
.tablist>view{
width: 18%;
text-align: center;
font-size: 22rpx;
color: #000000;
margin-right: 12rpx;
margin-bottom: 20rpx;
}
.tablist>view button,._more button{
padding: 0;
font-size: 22rpx;
border: none;
background-color: transparent;
margin-bottom: 10rpx;
line-height: initial;
}
.tablist>view button::after,._more button::after{
border: none
}
button:active{
background-color: transparent;
}
.tablist image{
height: 54rpx;
......@@ -231,4 +245,7 @@
}
.order-menu2 image{
width: 54rpx;
}
\ No newline at end of file
}
.btn-hover{
background-color: transparent;
}
// pages/member/memberInfo/memberInfo.js
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
active: 1,
active: 5,
userInfo: {},
custormInfo: {},
branchList: [],
sanImg: '',
sanImg1: '',
sanImg2: '',
sanImg3: '',
orderAdd: {},
verificationMsg: {
CertificationPics: [],
CustomerID: 0,
ApplyType: 1,
ID: 0
},
},
seveSanMsg: function (e) {
let index = e.target.id.split('save')[1];
this.data.verificationMsg.CustomerID = this.data.userInfo.id;
if (index == '0') {
if (this.data.sanImg === '') {
wx.showToast({
title: '请先上传图片',
icon: 'none',
duration: 1000
})
return
}
this.data.verificationMsg.ApplyType = 2;
this.data.verificationMsg.CertificationPics.push(this.data.sanImg);
} else {
if (this.data.sanImg1 === '' || this.data.sanImg2 === '' || this.data.sanImg3 === '') {
wx.showToast({
title: '请先上传图片',
icon: 'none',
duration: 1000
})
return
}
this.data.verificationMsg.CertificationPics = [this.data.sanImg1, this.data.sanImg2, this.data.sanImg3];
}
app.$api("app_customer_SetCertification", this.data.verificationMsg).then(res => {
wx.showToast({
title: '保存成功',
icon: 'none',
duration: 1000
})
}).catch(err => { })
},
chooseImage: function (e) {
let index = e.target.id.split('img')[1];
console.log(index)
let _this = this,
path = '/Upload/DMC/';
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success(res) {
const tempFilePaths = res.tempFilePaths
res.tempFilePaths.map(x => {
wx.uploadFile({
url: 'http://upload.oytour.com/Upload?filePath=' + path, //仅为示例,非真实的接口地址
filePath: x,
name: 'file',
formData: {
'user': x
},
success: function (res) {
var data = JSON.parse(res.data)
let img = "http://imgfile.oytour.com" + data.FilePath
if (index == '0') {
_this.setData({
sanImg: img
})
} else if (index == '1') {
_this.setData({
sanImg1: img
})
} else if (index == '2') {
_this.setData({
sanImg2: img
})
} else if (index == '3') {
_this.setData({
sanImg3: img
})
}
}
})
})
}
})
},
setActive: function (e) {
let type = e.target.id.split('active')[1]
......@@ -13,14 +106,47 @@ Page({
active: Number(type)
})
},
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 => { })
}).catch(err => { })
},
getUserInfo: function () {
app.$api("b2b_get_GetCustomerManagerInfo", {}).then(res => {
this.setData({
custormInfo: res,
branchList: res.branchList
})
this.getOrderAdd()
}).catch(err => { })
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
//修改title
let data = {},_this = this;
wx.setNavigationBarTitle({
title: '个人信息'
})
this.getUserInfo()
wx.getStorage({
key: 'admin',
success(res) {
data = res.data
_this.setData({
userInfo: data
})
}
})
},
/**
......@@ -34,7 +160,17 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
let _this = this;
this.getUserInfo()
wx.getStorage({
key: 'admin',
success(res) {
let data = res.data
_this.setData({
userInfo: data
})
}
})
},
/**
......
<view class='memberInfo'>
<view class='memberInfo-info' wx:if="{{active === 1}}">
<view class='head'>
<view class='memberInfo' style='margin-top: {{active === 3 || active === 4 ? "0px" : "57rpx"}};min-height: {{active === 3 || active === 4 ? "1080rpx" : "987rpx"}}'>
<view class='memberInfo-info'>
<view class='head' wx:if="{{active === 1 || active === 2}}">
<view class="boxF">
<view class="boxS">
<view class="boxT" style="background-image: url(http://b.hiphotos.baidu.com/image/pic/item/10dfa9ec8a1363272bc51737938fa0ec08fac78e.jpg);"></view>
<view wx:if="{{!userInfo.photo}}" class="boxT" style="background-image: url(http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190628030353039.png);"></view>
<view wx:else class="boxT" style="background-image: url({{userInfo.photo}});"></view>
</view>
</view>
</view>
<view class='name'>
<text>唐先生</text>
<navigator url="/pages/member/memberInfoED/memberInfoED" hover-class="navigator-hover"><image src='../../../images/memberInfo/qianbi.png'></image></navigator>
<view class='name' wx:if="{{active === 1 || active === 2}}">
<text>{{userInfo.name}}</text>
<navigator url="/pages/member/memberInfoEDPasswod/memberInfoEDPasswod" hover-class="Home_hover"><image src='../../../images/memberInfo/qianbi.png'></image></navigator>
</view>
<view class='info-box'>
<view class='info-box' wx:if="{{active === 1}}">
<view class='info-box-tit'>
<text>门店基本资料</text>
<view class='line'></view>
......@@ -19,30 +20,125 @@
<view class='info-box-info'>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/fangzi.png'></image>
<text>唐菲旅行社</text>
<text>{{custormInfo.customerName}}</text>
</view>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/hehe.png'></image>
<text>wr15645646123</text>
<text>{{custormInfo.account}}</text>
</view>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/phone.png'></image>
<text>1895678489</text>
<text>{{custormInfo.account}}</text>
</view>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/dizhi.png'></image>
<text>中国四川成都锦江区,成都锦江区东风南路288号168号楼5楼44</text>
<text>{{custormInfo.address}}</text>
</view>
<view class='info-box-info-item'>
<view class='info-box-info-item info-span'>
<image mode='widthFix' src='../../../images/memberInfo/biaoqian.png'></image>
<text>驴妈妈/七彩旅行社/省国旅</text>
<view>
<text wx:for="{{branchList}}" wx:for-item="item" wx:for-index="index" wx:key="index">{{item.brandName}}</text>
</view>
</view>
</view>
</view>
<view class='info-box' wx:if="{{active === 2}}">
<view class='info-box-tit'>
<text>个人安全设置</text>
<view class='line'></view>
</view>
<view class='info-box-info'>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/hehe.png'></image>
<text>{{custormInfo.account}}</text>
</view>
<view class='info-box-info-item'>
<image mode='widthFix' src='../../../images/memberInfo/passwod.png'></image>
<text>******</text>
</view>
</view>
</view>
<view class='info-box' wx:if="{{active === 3 || active === 4}}" style='margin-top: -50rpx;'>
<view class='info-box-tit'>
<text>实名认证</text>
<view class='line'></view>
</view>
<view wx:if="{{active === 3}}">
<view class='winxin-tips'>
<view>温馨提示:</view>
<view>1.照片要求:jpg/png格式,大小不超过1M;</view>
<view>2.请确保三证合一的营业执照照片边框完整,字体清晰,亮度均匀。</view>
</view>
<view class='shangchuan-box'>
<view class='left'>
<view>
<view class='img-box tianjia' id="img0" bindtap='chooseImage' wx:if="{{sanImg===''}}">+</view>
<view class='img-box' id="img0" bindtap='chooseImage' wx:else><image src='{{sanImg}}'></image></view>
</view>
<view class='text'>上传<text class='b'>三证合一</text>的营业执照</view>
</view>
<view class='right'>
<view class='img-box shili'></view>
<view class='text'>营业执照 <text class='b'>示例图</text></view>
</view>
</view>
<view style='text-align: center'>
<view class='save-btn' id="save0" bindtap='seveSanMsg'>
保存
</view>
</view>
</view>
<view wx:elif="{{active === 4}}">
<view class='winxin-tips'>
<view>温馨提示:</view>
<view>1.照片要求:jpg/png格式,大小不超过1M;</view>
<view>2.请确保身份证照片边框完整,字体清晰,亮度均匀。</view>
</view>
<view class='shangchuan-box2'>
<view class='img-box'>
<view class='img-box tianjia' id="img1" bindtap='chooseImage' wx:if="{{sanImg1===''}}">+</view>
<view class='img-box' id="img1" bindtap='chooseImage' wx:else><image id="img1" src='{{sanImg1}}'></image></view>
</view>
<view class='text'>上传身份证<text class='b'>人像面</text></view>
<view class='img-box'>
<view class='img-box tianjia' id="img2" bindtap='chooseImage' wx:if="{{sanImg2===''}}">+</view>
<view class='img-box' id="img2" bindtap='chooseImage' wx:else><image id="img2" src='{{sanImg2}}'></image></view>
</view>
<view class='text'>上传身份证<text class='b'>国徽面</text></view>
<view class='img-box'>
<view class='img-box tianjia' id="img3" bindtap='chooseImage' wx:if="{{sanImg3===''}}">+</view>
<view class='img-box' id="img3" bindtap='chooseImage' wx:else><image id="img3" src='{{sanImg3}}'></image></view>
</view>
<view class='text'>上传身份证<text class='b'>名片</text>有姓名、联系方式的一面</view>
</view>
<view style='text-align: center'>
<view class='save-btn' id="save1" bindtap='seveSanMsg'>
保存
</view>
</view>
</view>
</view>
<view wx:elif="{{active === 5}}" style='margin-top: -50rpx;'>
<view class='info-box-tit'>
<text>收货地址管理</text>
<view class='line'></view>
</view>
<view class='dizhi'>
<view>
<text class='name'>{{orderAdd.uname}}</text>
<text class='phone'>{{orderAdd.uphone}}</text>
</view>
<view class='addr-info'>
<text class='addr-info-tag'>默认</text>
<text class='addr-info-detais'>{{orderAdd.address}}</text>
<navigator url="/pages/member/memberInfoEDAddr/memberInfoEDAddr?id={{orderAdd.id}}" hover-class="Home_hover"><image mode='widthFix' src='../../../images/memberInfo/qianbi.png'></image></navigator>
</view>
</view>
</view>
</view>
</view>
<view>
<scroll-view scroll-x style="width: 100%;white-space: nowrap;">
<scroll-view scroll-x style="width: 100%;white-space: nowrap;padding-right: 80rpx;">
<view class='bottom-nav'>
<view class='{{active === 1? "active" : ""}}' id="active1" bindtap='setActive'>
门店基本资料
......@@ -56,9 +152,6 @@
<view class='{{active === 4? "active" : ""}}' id="active4" bindtap='setActive'>
个人认证
</view>
<view class='{{active === 4? "active" : ""}}' id="active4" bindtap='setActive'>
个人认证
</view>
<view class='{{active === 5? "active" : ""}}' id="active5" bindtap='setActive'>
收货地址管理
</view>
......
......@@ -8,7 +8,7 @@ page {
background: transparent;
}
.memberInfo{
height: 987rpx;
min-height: 987rpx;
margin-top: 57rpx;
background: url(http://imgfile.oytour.com/New/Upload/Cloud/2019-06/20190628101804297.png) no-repeat;
background-size:100% 100%;
......@@ -60,13 +60,13 @@ page {
-webkit-transform: rotate(-60deg);
visibility: visible;
}
.name{
.memberInfo-info>.name{
text-align: center;
font-size: 32rpx;
position: relative;
margin: 0 65rpx;
}
.name image{
.memberInfo-info>.name image{
position: absolute;
right: 0;
top: -48rpx;
......@@ -99,12 +99,18 @@ page {
align-items:center;
margin-bottom: 58rpx;
}
.info-box-info-item.info-span view{
flex-wrap:wrap;
display:flex;
}
.info-box-info image{
width: 33rpx;
}
.info-box-info text{
font-size: 28rpx;
margin-left: 29rpx;
/* word-break: keep-all;
word-wrap: break-word; */
}
.bottom-nav{
padding: 0 60rpx 0 285rpx;
......@@ -122,3 +128,110 @@ page {
background: #AFE4F8;
color:#4393B1;
}
.winxin-tips{
font-size: 24rpx;
color: rgba(102,102,102,1);
line-height: 42rpx;
}
.shangchuan-box{
display: flex;
justify-content: space-between;
padding: 28rpx 27rpx;
text-align: center;
}
.shangchuan-box2{
height: 470rpx;
overflow: auto;
padding: 28rpx 27rpx;
margin-bottom: 40rpx;
text-align: center;
}
.shangchuan-box2 .img-box{
margin-bottom: 28rpx;
}
.shangchuan-box2 .tianjia{
font-size: 120rpx;
color: #E1E1E1;
line-height: 322rpx;
}
.shangchuan-box2 .img-box{
width:590rpx;
height:362rpx;
background:rgba(244,244,244,1);
border:1rpx solid rgba(229,229,229,1);
}
.shangchuan-box .img-box{
width: 268rpx;
height: 362rpx;
background: rgba(244,244,244,1);
border: 1px solid rgba(229,229,229,1);
margin-bottom: 28rpx;
}
.shangchuan-box .img-box.tianjia{
font-size: 120rpx;
color: #E1E1E1;
line-height: 322rpx;
}
.shangchuan-box .img-box.shili{
background: url(http://imgfile.oytour.com/New/Upload/Cloud/2019-07/20190701024832288.png) no-repeat;
background-size:100% 100%;
border: none;
}
.shangchuan-box .text,.shangchuan-box2 .text{
font-size: 24rpx;
}
.shangchuan-box .text .b,.shangchuan-box2 .text .b{
color: #1468F3;
}
.shangchuan-box2 .text{
margin-bottom: 30rpx;
}
.save-btn{
padding: 30rpx 0;
width: 360rpx;
margin: 0 auto 25rpx;
text-align: center;
font-size: 28rpx;
background:rgba(238,68,84,1);
border-radius:12rpx;
color: #FFFFFF
}
.dizhi{
padding: 0 76rpx;
}
.dizhi>view{
margin-bottom: 10rpx;
}
.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;
/* height: 38rpx; */
}
.addr-info-tag{
display: inline-block;
width: 66rpx;
background:rgba(238, 68, 84, .2);
color: #EE4454;
text-align: center;
}
.addr-info-detais{
display: inline-block;
margin: 0 32rpx;
}
\ No newline at end of file
// pages/member/memberInfoED/memberInfoED.js
let app = getApp()
Page({
/**
......@@ -6,36 +7,118 @@ Page({
*/
data: {
index: 0,
objectArrayobjectArray: [
{
id: 0,
name: '美国'
},
{
id: 1,
name: '中国'
},
{
id: 2,
name: '巴西'
},
{
id: 3,
name: '日本'
}
],
branchList: [],
custormInfo: {},
brandList: [],
},
inputName: function (e) {
this.data.custormInfo.customerName = e.detail.value
},
inputNumber: function (e) {
this.data.custormInfo.contactNumber = e.detail.value
},
inputAddr: function (e) {
this.data.custormInfo.address = e.detail.value
},
seveMsg: function () {
const phoneReg = /(^1[3|4|5|7|8|6]\d{9}$)|(^09\d{8}$)/;
//电话 验证
let _this = this;
let phone = this.data.custormInfo.contactNumber.replace(/^\s+|\s+$/gm, "");
if (!phoneReg.test(_this.data.custormInfo.contactNumber)) {
wx.showToast({
title: '请输入有效的手机号码!',
icon: 'none',
duration: 1000
})
return
}
if (!_this.data.custormInfo.address) {
wx.showToast({
title: '请填写所在地址',
icon: 'none',
duration: 1000
})
return
}
if (!_this.data.custormInfo.customerName) {
wx.showToast({
title: '请填写门店名称',
icon: 'none',
duration: 1000
})
return
}
let list = [];
this.data.branchList.forEach(x => {
list.push(x.brandId)
})
this.data.custormInfo.brandIds = list;
app.$api('b2b_post_ModifyCustomerManagerInfo', this.data.custormInfo).then(res => {
wx.navigateBack({
delta: 2
})
}).catch(err => {
})
},
deleteItem: function (e) {
let index = e.target.id.split('item')[1]
this.data.branchList.splice(index, 1)
this.setData({
branchList: this.data.branchList
})
},
getUserInfo: function () {
app.$api("b2b_get_GetCustomerManagerInfo", {}).then(res => {
this.setData({
custormInfo: res,
branchList: res.branchList
})
}).catch(err => { })
},
app_get_customer_brand: function () { // 获取品牌
app.$api('app_get_customer_brand', {}).then(res => {
this.setData({
brandList: res
})
}).catch(err => { })
},
bindPickerChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
let index = e.detail.value
let list = this.data.branchList
let isTags = false;
this.data.brandList.map((x, i)=>{
console.log(index, typeof index)
if (index == i) {
console.log(x)
list.map(y=>{
console.log(y)
if (y.brandId == x.id) {
isTags = true
}
})
if (!isTags) {
list.push({
brandName: x.name,
brandId: x.id
})
}
}
})
this.setData({
index: e.detail.value
branchList: list
})
console.log('picker发送选择改变,携带值为', e.detail.value)
// this.setData({
// index: e.detail.value
// })
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getUserInfo();
this.app_get_customer_brand()
},
/**
......
<view class='edit'>
<view class='edit-item'>
<label>登录账户:</label><input disabled='disabled'></input>
<label>登录账户:</label><input disabled='disabled' value='{{custormInfo.account}}'></input>
</view>
<view class='edit-item'>
<label>门店名称:</label><input></input>
<label>门店名称:</label><input bindinput='inputName' value='{{custormInfo.customerName}}'></input>
</view>
<view class='edit-item'>
<label>联系电话:</label><input></input>
<label>联系电话:</label><input bindinput='inputNumber' value='{{custormInfo.contactNumber}}'></input>
</view>
<view class='edit-item'>
<label>详细地址:</label><input></input>
<label>详细地址:</label><input bindinput='inputAddr' value='{{custormInfo.address}}'></input>
</view>
<view class='edit-item'>
<label>所属品牌:</label>
<view class='brand-box'>
<text>四川华夏国旅</text>
<text>四川国旅</text>
<text>四川国旅</text>
<text>四川国旅</text>
<text>四川国旅</text>
<view wx:for="{{branchList}}" wx:for-item="item" wx:for-index="index" wx:key="index">{{item.brandName}}<text class='delete-item' bindtap='deleteItem' id="item{{index}}">x</text></view>
</view>
</view>
<view class="section">
<picker mode="selector" bindchange="bindPickerChange" range-key="{{'name'}}" value="{{'name'}}" range="{{objectArrayobjectArray}}">
<picker mode="selector" bindchange="bindPickerChange" range-key="{{'name'}}" value="{{'name'}}" range="{{brandList}}">
<view class="picker">
请选择
<image mode='widthFix' src='../../../images/memberInfo/sanjiao.png'></image>
</view>
</picker>
</view>
<view class='save-btn'>
<view class='save-btn' bindtap='seveMsg'>
保存
</view>
</view>
\ No newline at end of file
......@@ -29,12 +29,16 @@ page {
.picker image{
width: 24px;
}
.brand-box text{
.brand-box{
position: relative;
}
.brand-box>view{
padding: 17rpx 37rpx;
background:rgba(201,240,254,.4);
border-radius:30rpx;
display: inline-block;
margin: 0 30rpx 15rpx 0;
position: relative;
}
.save-btn{
padding: 30rpx 0;
......@@ -44,4 +48,15 @@ page {
background:rgba(238,68,84,1);
border-radius:12rpx;
color: #FFFFFF
}
.delete-item{
position: absolute;
right: -5rpx;
top: -5rpx;
display: inline-block;
width: 10rpx;
height: 10rpx;
text-align: center;
line-height: 10rpx;
font-size: 24rpx;
}
\ No newline at end of file
let app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
msg: {
id: 0,
province: '',
city: '',
district: '',
address: '',
uname: '',
uphone: '',
postcode: '',
},
province: '',
city: '',
county: '',
},
seveMsg: function () {
if (!this.data.msg.uname){
wx.showToast({
title: '请填写收货人',
icon: 'none',
duration: 1000
})
return
}
if (!this.data.msg.uphone) {
wx.showToast({
title: '请填写手机号',
icon: 'none',
duration: 1000
})
return
}
if (!this.data.msg.address) {
wx.showToast({
title: '请填写详细地址',
icon: 'none',
duration: 1000
})
return
}
app.$apiJavaNew("api/orderForm/saveOrUpdateOrderAdd", this.data.msg).then(res => {
wx.showToast({
title: '修改成功',
icon: 'none',
duration: 1000
})
setTimeout(() => {
wx.navigateBack({
delta: 2
})
}, 1000)
}).catch(err => { })
},
regionChange: function (e) {
console.log(e)
this.setData({
province: e.detail.province,
city: e.detail.city,
county: e.detail.county,
'msg.province': e.detail.province,
'msg.city': e.detail.city,
'msg.district': e.detail.district,
});
},
inputName: function (e) {
console.log(e)
let id = e.target.id,
value = e.detail.value;
if (id == 'name') {
this.setData({
'msg.uname': value
})
} else if (id == 'phone') {
this.setData({
'msg.uphone': value
})
}else if (id == 'details') {
this.setData({
'msg.address': value
})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
'msg.id': options.id
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//修改title
wx.setNavigationBarTitle({
title: '修改收货地址'
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"usingComponents": {
"region-picker": "../../../component/region-picker/region-picker"
}
}
\ No newline at end of file
<view class='edit'>
<view class='edit-item'>
<input bindinput='inputName' id="name" placeholder='收货人' value='{{custormInfo.account}}'></input>
</view>
<view class='edit-item'>
<input bindinput='inputName' id="phone" placeholder='手机号码' value='{{custormInfo.customerName}}'></input>
</view>
<view class='edit-item section-box'>
<region-picker bind:change="regionChange" province="{{province}}" city="{{city}}" county="{{county}}"></region-picker>
</view>
<view class='edit-item'>
<input bindinput='inputName' id="details" placeholder='详细地址:如街道、门牌号和小区单元等' value='{{custormInfo.address}}'></input>
</view>
<view class='save-btn' bindtap='seveMsg'>
保存
</view>
</view>
\ No newline at end of file
page {
width: 100%;
height: 100VH;
background:#f8f5f5;
overflow: hidden;
}
.edit{
font-size: 28rpx;
color: #999999;
padding: 40rpx 0;
}
.edit .edit-item{
padding: 34rpx 28rpx;
border-bottom: 1px solid #E8E8E8;
}
input{
width: 100%;
}
.save-btn{
padding: 30rpx 0;
margin: 61rpx 25rpx 0 25rpx;
text-align: center;
font-size: 28rpx;
background:rgba(238,68,84,1);
border-radius:12rpx;
color: #FFFFFF
}
.section-box{
display: flex;
}
\ No newline at end of file
// pages/member/memberInfoED/memberInfoED.js
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
userInfo: {},
saveMsg: {
oldPassword: '',
newPassword: '',
},
newPassword: '',
},
inputOldPwd: function (e) {
this.data.saveMsg.oldPassword = e.detail.value
},
inputNewPwd: function (e) {
this.data.saveMsg.newPassword = e.detail.value
},
inputNewPwdS: function (e) {
this.data.newPassword = e.detail.value
},
seveMsg: function () {
if (this.data.saveMsg.oldPassword === ''){
wx.showToast({
title: '请填写旧密码',
icon: 'none',
duration: 1000
})
return
}
if (this.data.saveMsg.newPassword === '') {
wx.showToast({
title: '请填写新密码',
icon: 'none',
duration: 1000
})
return
}
if (this.data.saveMsg.newPassword !== this.data.newPassword) {
wx.showToast({
title: '两次新密码不一致',
icon: 'none',
duration: 1000
})
return
}
app.$api('b2b_post_ModifyAccountPassowrd', this.data.saveMsg).then(res => {
wx.showToast({
title: '修改成功',
icon: 'none',
duration: 1000
})
setTimeout(()=>{
wx.navigateBack({
delta: 2
})
}, 1000)
}).catch(err => {
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//修改title
wx.setNavigationBarTitle({
title: '个人安全设置'
})
let _this = this;
wx.getStorage({
key: 'admin',
success(res) {
let data = res.data
_this.setData({
userInfo: data
})
}
})
},
/**
* 生命周期函数--监听页面显示
*/
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
<view class='edit'>
<view class='edit-item'>
<label>登录账户:</label><input disabled='disabled' value='{{userInfo.account}}'></input>
</view>
<view class='edit-item'>
<label>输入密码:</label><input bindinput='inputOldPwd' value='{{saveMsg.oldPassword}}'></input>
</view>
<view class='edit-item'>
<label>输入新密码:</label><input bindinput='inputNewPwd' value='{{saveMsg.newPassword}}'></input>
</view>
<view class='edit-item'>
<label>再次输入新密码:</label><input bindinput='inputNewPwdS' value='{{newPassword}}'></input>
</view>
<view class='save-btn' bindtap='seveMsg'>
保存
</view>
</view>
\ No newline at end of file
page {
width: 100%;
height: 100VH;
background:#f8f5f5;
overflow: hidden;
}
.edit{
font-size: 28rpx;
color: #999999;
padding: 40rpx 0;
}
.edit .edit-item{
padding: 34rpx 28rpx;
border-bottom: 1px solid #E8E8E8;
display: flex;
}
.edit .edit-item label{
flex: 2;
}
.edit .edit-item input{
flex: 3;
}
.save-btn{
padding: 30rpx 0;
margin: 61rpx 25rpx 0 25rpx;
text-align: center;
font-size: 28rpx;
background:rgba(238,68,84,1);
border-radius:12rpx;
color: #FFFFFF
}
\ No newline at end of file
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
dataList: [],
},
getList: function (OrderId) {
app.$api('sellorder_get_GetTravelGuestList', { OrderId: OrderId}).then(res => {
this.setData({
dataList: res.list
})
}).catch(err => { })
},
formSubmit: function (e) {
wx.getStorage({
key: 'admin',
success: res => {
let url = e.detail.target.dataset.url;
let index = e.detail.target.dataset.index;
let formId = e.detail.formId
console.log(formId, code)
app.$apiSaveFormId('survey_post_SaveFormId', { formId: formId, customerId: res.data.id }).then(res => {
console.log(res)
}).catch(err => { })
if (this.data.dataList[Number(index)].GuestSurveyID > 0) {
wx.navigateTo({
url: url + '?ID=' + this.data.dataList[Number(index)].GuestSurveyID + '&name=' + this.data.dataList[Number(index)].Name + '&MobilePhone=' + this.data.dataList[Number(index)].MobilePhone,
})
}
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getList(options.orderId)
wx.setNavigationBarTitle({
title: '旅客名单'
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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
<view>
<view wx:if="{{dataList.length>0}}" class="list-box">
<form bindsubmit="formSubmit" report-submit wx:for="{{dataList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/invesDetails/invesDetails" data-index='{{index}}'>
<view class='list-item' >
<text class='name'>{{item.Name}}</text>
<text class='name'>{{item.Sex}}</text>
<text class='phone'>{{item.MobilePhone}}</text>
<text class='fen' wx:if="{{item.ScoreNum == '-1.00'}}">评分: <text class='no-fen'>未评分</text></text>
<text class='fen' wx:else>评分: <text class='yes-fen'>{{item.ScoreNum}}</text></text>
</view>
</button>
</form>
</view>
<view wx:else class='no-data'>
暂无数据...
</view>
</view>
\ No newline at end of file
page{
}
.list-item{
font-size: 24rpx;
background-color: white;
margin: 20rpx;
padding: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.list-item .fen{
width: 180rpx;
}
.no-data{
padding: 30rpx;
text-align: center;
font-size: 24rpx;
color:#666666;
}
button{
padding: 0;
font-size: 22rpx;
border: none;
background-color: transparent;
line-height: initial;
}
button::after{
border: none
}
.btn-hover{
background-color: transparent;
}
.no-fen{
color: #666666;
}
.yes-fen{
color: #EE4454;
}
\ No newline at end of file
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
active: 0,
TitList: [],
TitListTc: [
{
Type: "待付定金",
ID: 1,
},
{
Type: "待付尾款",
ID: 2,
},
{
Type: "待发团",
ID: 3,
},
{
Type: "交易完成",
ID: 4,
},
{
Type: "取消",
ID: 0,
}
],
TitListMenJi: [
{
Type: "正常",
ID: 1,
},
{
Type: "取消",
ID: 2,
},
{
Type: "待付款",
ID: 3,
}
],
tagList: [
{
id: 1,
name: '跟团游',
Class: 'tuan'
},
{
id: 2,
name: '自由行',
Class: 'ziyou'
},
{
id: 3,
name: '当地游',
Class: 'dangdi'
},
{
id: 4,
name: '机票',
Class: 'jipiao'
},
{
id: 5,
name: '签证',
Class: 'qianzheng'
},
{
id: 6,
name: '门票',
Class: 'menpiao'
},
{
id: 7,
name: '定制游',
Class: 'dingzhi'
},
{
id: 8,
name: '美食',
Class: 'meishi'
},
],
tagBoxShow: false,
tagBoxActive: 0,
getOrderMsg: {
pageIndex: 1,
pageSize: 5,
orderType: 1,
queryDays: 0,
orderState: 1,
CustomerId: ""
},
userInfo: {},
dataList: [],
pageIndex: 1,
totalPage: 1,
count: 0,
listClass: 'tuan',
tagID: 1,
tagIndex: 0,
},
formSubmit: function (e) {
wx.getStorage({
key: 'admin',
success: res => {
console.log('form发生了submit事件,携带数据为:', e)
let index = e.detail.target.dataset.index;
let formId = e.detail.formId
app.$apiSaveFormId('survey_post_SaveFormId', { formId: formId, customerId: res.data.id }).then(res => {
console.log(res)
}).catch(err => { })
console.log(formId, code)
this.goDetails(index)
}
})
},
// 跳转详情页面
goDetails: function (e) {
let index = e,
item = this.data.dataList[index];
wx.setStorage({
key: "DetailsItem",
data: item
})
wx.navigateTo({
url: '/pages/member/orderDeatils/orderDeatils?tagID=' + this.data.tagID + '&tagIndex=' + this.data.tagIndex,
})
},
// 加载更多
scrollGetMore: function () {
console.log(1)
this.setData({
'getOrderMsg.pageIndex': this.data.pageIndex + 1
})
this.getOrderList(1)
},
// 获取数据
getOrderList: function (type) {
let url = 'api/b2b/user/getrecentorder',
tagID = this.data.tagID,
msg = this.data.getOrderMsg;
if (tagID !== 6 && tagID !== 8) {
console.log(tagID)
url = 'api/b2b/user/getrecentorder'
} else{ // 8美食 6门票
msg.status = msg.orderState
url = tagID == 8 ? 'api/b2b/food/getFoodOrder' : 'api/b2b/scenic/getTicketCouponsOrder'
}
this.data.getOrderMsg.CustomerId = this.data.userInfo.id
if (this.data.pageIndex >= this.data.totalPage && type){
return
}
app.$apiJavaNew(url, msg).then(res => {
let arr = this.data.dataList;
let arr2 = res.pageData
for (let i = 0; i < arr2.length; i++) {
if (tagID !== 6 && tagID !== 8) {
arr2[i].day = arr2[i].createDate.replace(/-/g, '.').substring(0, 10)
} else {
arr2[i].day = arr2[i].useDate.replace(/-/g, '.')
}
}
if (type) {
for (let i = 0; i < arr2.length; i++){
arr.push(arr2[i])
}
} else {
arr = arr2
}
this.setData({
dataList: arr,
totalPage: res.pageCount,
pageIndex: res.pageIndex,
count: res.count
})
}).catch(err => { })
},
// 切换订单类型
setActiveTag: function (e) {
let index = e.target.id.split('active')[1], TitList = [];
if (index == this.data.tagBoxActive) {
index = 0
} else {
index = Number(e.target.id.split('active')[1])
}
if (this.data.tagList[index].name !== '美食' && this.data.tagList[index].name !== '门票'){
TitList = this.data.TitListTc
} else {
TitList = this.data.TitListMenJi
}
this.setData({
tagBoxActive: index,
tagBoxShow: false,
'getOrderMsg.orderType': this.data.tagList[index].id,
pageIndex: 1,
TitList: TitList,
tagID: this.data.tagList[index].id,
tagIndex: index
})
this.getOrderList()
},
// 切换类型显示?
setShow: function () {
this.setData({
tagBoxShow: !this.data.tagBoxShow
})
},
// 切换订单状态
setActive: function (e) {
this.setData({
active: e.target.id.split('active')[1],
'getOrderMsg.orderState': Number(e.target.id.split('active')[1]) + 1,
pageIndex: 1,
})
this.getOrderList()
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let userInfo = wx.getStorageSync('admin');
this.setData({
userInfo: userInfo,
TitList: this.data.TitListTc
})
this.getOrderList()
wx.setNavigationBarTitle({
title: '订单中心'
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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
<view class='order-center'>
<view class='top-nav'>
<view class='left-btn'>
<text bindtap='setShow'>{{tagList[tagBoxActive].name}}</text>
<image mode='widthFix' src='../../../images/group/bx.png'></image>
</view>
<view class='right-nav'>
<scroll-view scroll-x style="width: 100%;white-space: nowrap;padding-right: 80rpx;padding-left: 147rpx;">
<view class='bottom-nav'>
<view wx:for="{{TitList}}" class='{{active == index ? "active" : ""}}' wx:for-item="item" wx:for-index="index" wx:key="index" id="active{{index}}" bindtap='setActive'>
{{item.Type}}
</view>
</view>
</scroll-view>
</view>
<view wx:if="{{tagBoxShow}}" class='tab-box'>
<text wx:for="{{tagList}}" bindtap='setActiveTag' class='tag{{index}} {{tagBoxActive == index ? "active" : ""}}' wx:for-item="item" wx:for-index="index" wx:key="index" id="active{{index}}">{{item.name}}</text>
</view>
</view>
<scroll-view class='data_body' scroll-y bindscrolltolower="scrollGetMore">
<view wx:if="{{tagID !== 6 && tagID !== 8}}">
<view class='list-item' wx:for="{{dataList}}" wx:for-item="item" wx:key="index" wx:for-index="index">
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/orderCenter/orderCenter" data-index='{{index}}'>
<text class='list-item-tag {{tagList[tagBoxActive].Class}}'>{{tagList[tagBoxActive].name}}</text>
<view class='list-item-states'>
<text wx:if="{{item.orderState == 1}}">待付定金</text>
<text wx:elif="{{item.orderState == 2}}">待付尾款</text>
<text wx:elif="{{item.orderState == 3}}">待发团</text>
<text wx:elif="{{item.orderState == 4}}">交易完成</text>
<text wx:elif="{{item.orderState == 5}}">取消</text>
</view>
<view class='list-item-info' data-index='{{index}}' bindtap='goDetails'>
<view class='list-item-name'>{{item.title}}</view>
<view class='list-item-detail'>
<view class='list-item-detail-left'>
<text>{{item.ltName+item.guestNum+'人'}}</text>
<text>{{item.day}}</text>
</view>
<view>¥{{item.preferPrice}}</view>
</view>
</view>
<view class='list-item-btn'>
<view wx:if="{{item.orderState == 1}}">联系客服</view>
<view wx:if="{{item.orderState == 3 || item.orderState == 2}}">取消订单</view>
<view wx:if="{{item.orderState == 1 || item.orderState == 2}}" class='btn-red'>付款</view>
<!-- <view class='btn-red'>确认收货</view> -->
<view class='btn-red' wx:if="{{item.orderState == 5 || item.orderState == 4}}">再次购买</view>
</view>
</button>
</form>
</view>
</view>
<view wx:elif="{{tagID ==8}}">
<view class='list-item' wx:for="{{dataList}}" wx:for-item="item" wx:key="index" wx:for-index="index">
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-url="/pages/member/orderCenter/orderCenter" data-index='{{index}}'>
<text class='list-item-tag {{tagList[tagBoxActive].Class}}'>{{tagList[tagBoxActive].name}}</text>
<view class='list-item-states'>
<text wx:if="{{item.status == 1}}">正常</text>
<text wx:elif="{{item.status == 2}}">取消</text>
<text wx:elif="{{item.status == 3}}">待付款</text>
</view>
<view class='list-item-info'>
<view class='list-item-name'>{{item.diningName}}</view>
<view class='list-item-detail'>
<view class='list-item-detail-left'>
<text>{{item.guestNum+'人'}}</text>
<text>{{item.day}}</text>
</view>
<view>¥{{item.preferPrice}}</view>
</view>
</view>
<view class='list-item-btn'>
<view wx:if="{{item.status == 1}}">联系客服</view>
<view wx:if="{{item.status == 1 || item.status == 3}}">取消订单</view>
<view wx:if="{{item.status == 3}}" class='btn-red'>付款</view>
<view class='btn-red' wx:if="{{item.orderState == 1}}">再次购买</view>
</view>
</button>
</form>
</view>
</view>
<view wx:elif="{{tagID ==6}}">
<view class='list-item' wx:for="{{dataList}}" wx:for-item="item" wx:key="index" wx:for-index="index">
<form bindsubmit="formSubmit" report-submit>
<button hover-class="btn-hover" form-type="submit" data-index='{{index}}'>
<text class='list-item-tag {{tagList[tagBoxActive].Class}}'>{{tagList[tagBoxActive].name}}</text>
<view class='list-item-states'>
<text wx:if="{{item.status == 1}}">正常</text>
<text wx:elif="{{item.status == 2}}">取消</text>
<text wx:elif="{{item.status == 3}}">待付款</text>
</view>
<view class='list-item-info' data-index='{{index}}' bindtap='goDetails'>
<view class='list-item-name'>{{item.couponsName}}</view>
<view class='list-item-detail'>
<view class='list-item-detail-left'>
<text>{{item.purchaseQuantity+'张'}}</text>
<text>{{item.day}}</text>
</view>
<view>¥{{item.preferPrice}}</view>
</view>
</view>
<view class='list-item-btn'>
<view wx:if="{{item.status == 1}}">联系客服</view>
<view wx:if="{{item.status == 1 || item.status == 3}}">取消订单</view>
<view wx:if="{{item.status == 3}}" class='btn-red'>付款</view>
<view class='btn-red' wx:if="{{item.orderState == 1}}">再次购买</view>
</view>
</button>
</form>
</view>
</view>
<view class='body_footer'>{{pageIndex >= totalPage ? '没有更多了...' : '上拉获取更多数据'}}</view>
</scroll-view>
</view>
\ No newline at end of file
page{background-color: #F8F5F5}
.top-nav{
position: fixed;
z-index: 10;
top: 0repx;
left: 0rpx;
width: 100%;
padding: 27rpx 0 10rpx 54rpx;
font-size: 28rpx;
color: #000000;
box-shadow:0px 2px 18px 0px rgba(177,177,177,1);
background-color: white;
}
.left-btn{
position: absolute;
padding-right: 10rpx;
border-right: 1px solid #CFCFCF;
display: flex;
align-items: center;
width: 140rpx;
}
.bottom-nav{
display: flex;
padding-left: 34rpx;
}
.bottom-nav>view{
margin-right: 43rpx;
padding-bottom: 15rpx;
border-bottom: 4rpx solid transparent;
}
.bottom-nav>view.active{
color: #EE4454;
border-bottom: 4rpx solid #EE4454;
}
.left-btn image{
width: 13rpx;
}
.left-btn text{
padding-right: 20rpx;
}
.tab-box{
display: flex;
flex-wrap:wrap;
position: relative;
left: -18rpx;
padding: 25rpx 0;
}
.tab-box text{
width: 142rpx;
height: 60rpx;
color: #000000;
background:#EEEEEE;
line-height: 60rpx;
text-align: center;
font-size: 28rpx;
display: inline-block;
border-radius: 10rpx;
margin: 10rpx 0 20rpx 38rpx;
}
.tab-box text.active{
color: #EE4454;
background:rgba(238,68,84,.2);
}
.tab-box text.tag0,.tab-box text.tag4{
margin-left: 0;
}
.data_body{
padding: 0 30rpx;
width: 100%;
height: 100VH;
padding-top: 100rpx;
}
.list-item{
margin: 30rpx 0;
height: 222rpx;
background:rgba(255,255,255,1);
border-radius:20rpx;
padding: 23rpx 29rpx;
font-size: 24rpx;
position: relative;
}
.list-item-tag{
position: absolute;
left: 29rpx;
top: 0;
display: inline-block;
padding: 5rpx 12rpx;
border-radius:0px 0px 4rpx 4rpx;
}
.list-item-tag.ziyou{
color: #D4542A;
background:rgba(253,127,86,.5);
}
.list-item-tag.tuan{
color: #1D9890;
background:rgba(97,220,212,.5);
}
.list-item-tag.menpiao{
color: #3C67A0;
background:rgba(106,168,249,.5);
}
.list-item-tag.dangdi{
color: #CC3C6E;
background:rgba(243,108,155,.5);
}
.list-item-tag.dingzhi{
color: #2884A3;
background:rgba(24,184,237,.5);
}
.list-item-tag.qianzheng{
color: #B8A313;
background:rgba(233,235,51,.5);
}
.list-item-tag.jipiao{
color: #BA6E01;
background:rgba(255,150,0,.5);
}
.list-item-tag.meishi{
color: #378F47;
background:rgba(31,193,62,.5);
}
.list-item-states{
text-align: right;
color: #EE4454;
font-size: 15px;
}
.list-item-name{
width: 484rpx;
color: #333;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.list-item-detail-left{
color: #666666;
}
.list-item-btn{
display: flex;
margin-top: 15rpx;
justify-content: flex-end;
}
.list-item-btn>view{
width: 136rpx;
height: 46rpx;
line-height: 42rpx;
text-align: center;
font-size: 24rpx;
border:1px solid #D2D2D2;
border-radius:12px;
color: #666666;
margin-left: 30rpx;
}
.list-item-btn>view.btn-red{
border:1px solid #FFC8CD;
color: #EE4454;
}
.list-item-detail-left text:nth-child(1){
padding-right: 30rpx;
}
.list-item-detail{
display: flex;
justify-content: space-between;
margin-top: 10rpx;
}
.body_footer{
display: flex;
justify-content: center;
align-items: center;
height: 30px;
font-size: 12px;
color: #666666;
background-color:#F5F5F5;
}
button{
padding: 0;
font-size: 22rpx;
border: none;
background-color: transparent;
line-height: initial;
}
button::after{
border: none
}
.btn-hover{
background-color: transparent;
}
// pages/member/orderDeatils/orderDeatils.js
Page({
/**
* 页面的初始数据
*/
data: {
tagID: 0,
datilse: {},
tagBoxActive: 0,
tagName: '',
tagList: [
{
id: 1,
name: '跟团游',
Class: 'tuan'
},
{
id: 2,
name: '自由行',
Class: 'ziyou'
},
{
id: 3,
name: '当地游',
Class: 'dangdi'
},
{
id: 4,
name: '机票',
Class: 'jipiao'
},
{
id: 5,
name: '签证',
Class: 'qianzheng'
},
{
id: 6,
name: '门票',
Class: 'menpiao'
},
{
id: 7,
name: '定制游',
Class: 'dingzhi'
},
{
id: 8,
name: '美食',
Class: 'meishi'
},
],
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
let _this = this;
wx.getStorage({
key: 'DetailsItem',
success: function (res) {
_this.setData({
datilse: res.data,
tagID: options.tagID,
tagBoxActive: Number(options.tagIndex),
tagName: _this.data.tagList[Number(options.tagIndex)].name
})
},
})
wx.setNavigationBarTitle({
title: '订单详情'
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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
<view class='order-deatils'>
<view class='order-deatils-top'>
<view class='order-deatils-top-s'>
<view class='list-item-tag {{tagList[tagBoxActive].Class}}'>{{tagName}}</view>
<view>
<view class='list-datilse-states ' wx:if="{{tagName!='美食' && tagName!='门票'}}" class='list-item-states'>
<text wx:if="{{datilse.orderState == 1}}">待付定金</text>
<text wx:elif="{{datilse.orderState == 2}}">待付尾款</text>
<text wx:elif="{{datilse.orderState == 3}}">待发团</text>
<text wx:elif="{{datilse.orderState == 4}}">交易完成</text>
<text wx:elif="{{datilse.orderState == 5}}">取消</text>
</view>
<view class='list-datilse-states' wx:else class='list-item-states'>
<text wx:if="{{datilse.status == 1}}">正常</text>
<text wx:elif="{{datilse.status == 2}}">取消</text>
<text wx:elif="{{datilse.status == 3}}">待付款</text>
</view>
</view>
</view>
<view class='title'>
{{tagName!='美食' && tagName!='门票' ? datilse.title : tagName!='门票' ? datilse.diningName : datilse.couponsName}}
</view>
<view class='details-info'>
<view class='details-info-item'>
<view>
成人,¥ <text>6998.00</text>
</view>
<view>*1</view>
</view>
<view class='details-info-item'>
<view>
老人,¥ <text>6998.00</text>
</view>
<view>*1</view>
</view>
<view class='details-info-item'>
<view>
大床
</view>
<view>*1</view>
</view>
<view class='details-info-item'>
<view>
双人床
</view>
<view>*1</view>
</view>
<view class='details-info-item'>
<view>
联运段,¥ <text>6998.00</text>
</view>
<view>*1</view>
</view>
<view class='line-line'></view>
<view class='details-info-item'>
<view>
费用合计
</view>
<view class='item-price'>¥866.00</view>
</view>
<view class='details-info-item'>
<view>
幸福存折
</view>
<view class='item-price'>¥866.00</view>
</view>
<view class='details-info-item'>
<view>
优惠券抵扣
</view>
<view class='item-price'>¥866.00</view>
</view>
<view class='details-info-item'>
<view>
已付金额
</view>
<view class='item-price'>¥866.00</view>
</view>
<view class='details-info-item'>
<view>
待付金额
</view>
<view class='item-price'>¥866.00</view>
</view>
</view>
</view>
<view class='order-deatils-bottom'>
<view class='b-tit'>
<text>订单信息</text>
</view>
<view class='oreder-info'>
<view class='oreder-info-item copy-box'>
<view>
订单号:12FS2F5DF4SD23F43
</view>
<view class='copy'>
复制
</view>
</view>
<view class='oreder-info-item'>
<view>
团队编号:1165464646SDS1541
</view>
</view>
<view class='oreder-info-item'>
<view>
创建时间:2019-06-26 12:01:05
</view>
</view>
</view>
</view>
<view class='btn-box'>
<view wx:if="{{datilse.orderState == 1 || datilse.status == 1}}">联系客服</view>
<view>旅客名单</view>
<view wx:if="{{datilse.orderState == 3 || datilse.orderState == 2 || datilse.status == 1 || datilse.status == 3}}">取消订单</view>
<view wx:if="{{datilse.orderState == 1 || datilse.orderState == 2 || datilse.status == 3}}" class='btn-red'>付款</view>
</view>
</view>
\ No newline at end of file
page{
background-color: #F8F5F5;
}
.order-deatils{
padding: 20rpx 30rpx;
}
.order-deatils-top{
padding: 30rpx;
background-color: #FFFFFF;
}
.order-deatils-top-s{
display: flex;
justify-content: space-between;
}
.list-item-tag{
padding: 5rpx 12rpx;
border-radius:0px 0px 4rpx 4rpx;
font-size: 24rpx;
}
.list-item-tag.ziyou{
color: #D4542A;
background:rgba(253,127,86,.5);
}
.list-item-tag.tuan{
color: #1D9890;
background:rgba(97,220,212,.5);
}
.list-item-tag.menpiao{
color: #3C67A0;
background:rgba(106,168,249,.5);
}
.list-item-tag.dangdi{
color: #CC3C6E;
background:rgba(243,108,155,.5);
}
.list-item-tag.dingzhi{
color: #2884A3;
background:rgba(24,184,237,.5);
}
.list-item-tag.qianzheng{
color: #B8A313;
background:rgba(233,235,51,.5);
}
.list-item-tag.jipiao{
color: #BA6E01;
background:rgba(255,150,0,.5);
}
.list-item-tag.meishi{
color: #378F47;
background:rgba(31,193,62,.5);
}
.list-item-states{
text-align: right;
color: #EE4454;
font-size: 15px;
}
.title{
padding: 40rpx 20rpx;
font-size:24rpx;
color:rgba(0,0,0,1);
}
.details-info{
padding: 24rpx 30rpx;
font-size: 24rpx;
color: #666666;
}
.details-info-item{
display: flex;
justify-content: space-between;
margin-bottom: 21rpx;
}
.line-line{
border:1px dashed rgba(220,220,220,1);
margin: 31rpx 0;
}
.item-price{
color: #000000;
}
.item-price.item-price-red{
color: #EE4454;
}
.order-deatils-bottom{
margin: 30rpx 0 100rpx 0;
padding: 33rpx 60rpx;
background-color: white;
}
.b-tit{
border-left: 4rpx solid #61DCD4;
display: inline-block;
padding-left: 10rpx;
font-size: 24rpx;
margin-bottom: 33rpx;
}
.oreder-info-item{
color: #666666;
margin-bottom: 10rpx;
font-size: 24rpx;
}
.copy-box{
display: flex;
justify-content: space-between;
}
.copy{
color: #EE4454
}
.btn-box{
position: fixed;
width: 100%;
height: 98rpx;
box-shadow:0px -2px 18px 0px rgba(177,177,177,1);
font-size: 24rpx;
color: #666666;
left: 0;
bottom: 0;
background-color: white;
z-index: 99;
display: flex;
justify-content: flex-end;
align-items: center;
padding-right: 30rpx;
}
.btn-box>view{
width: 136rpx;
height: 46rpx;
line-height: 42rpx;
text-align: center;
font-size: 24rpx;
border:1px solid #D2D2D2;
border-radius:12px;
margin-left: 30rpx;
}
.btn-red{
border:1px solid #FFC8CD;
color: #EE4454;
}
\ No newline at end of file
......@@ -20,7 +20,6 @@ Page({
orderByDate: 0,
orderBySales: 0
},
/**
* 跳转至站点选择
*/
......
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