Commit e1bfe137 authored by 黄媛媛's avatar 黄媛媛

update

parent db35e64c
......@@ -47,8 +47,8 @@ import PAGE_CONFIG from './config/pageConfig.js'
const { Provider } = WeAppRedux;
const store = createStore(reducer) // redux store
let md5 = require('utils/md5.js')
// let netUrl = 'http://testapi.oytour.com/api/common/post';
let netUrl = 'https://reborn.oytour.com/api/common/post';
let netUrl = 'http://testapi.oytour.com/api/common/post';
// let netUrl = 'https://reborn.oytour.com/api/common/post';
App(
Provider(store)(
......
......@@ -2,7 +2,6 @@
"pages": [
"pages/index/index",
"pages/msg/index/index",
"pages/welcome/welcome",
"pages/validateForm/validate/validate",
"pages/validateForm/validateEnd/validateEnd",
......@@ -20,14 +19,17 @@
"pages/index/strateDateil/strateDateil",
"pages/Clockin/Clockin",
"pages/validateForm/allPerson",
"pages/validateForm/yzCard/yzCard"
"pages/validateForm/yzCard/yzCard",
"pages/tripover/tripover",
"pages/comments/comments",
"pages/VoucherDetails/VoucherDetails"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black",
"navigationStyle": "custom"
"navigationBarTextStyle": "black"
},
"style": "v2",
"sitemapLocation": "sitemap.json",
......
// pages/Voucher/VoucherDetails/VoucherDetails.js
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
nameID: '',
orderId: null,
tcId: null,
GuestId: null,
leaderData: {},
voucherData: {},
rating: '',
Message: '',
showYouJi: false,
showBadYouJi: false,
wxInfo: '',
tips: false,
},
goGouwu: function () {
let _this = this
wx.navigateToMiniProgram({
appId: 'wxb6bcc99626870225',
path: 'pages/Home/home?GuestId=' + _this.data.GuestId,
extraData: {
foo: 'bar'
},
envVersion: 'trial',
success(res) {
// 打开成功
}
})
},
setTips(){
this.setData({
tips: !this.data.tips
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// this.setTips()
// let info = wx.getStorageSync('info'),
// wxInfo = wx.getStorageSync('self'),
// orderId = options.orderId,
// tcId = options.tcId;
let userInfo = wx.getStorageSync('userInfo'),
info = wx.getStorageSync('info'),
wxInfo = wx.getStorageSync('self'),
tcid = wx.getStorageSync('tcid'),
orderId = userInfo.OrderId,
tcId = tcid;
this.setData({
nameID: info.nameID,
GuestId: userInfo.GuestId,
orderId: orderId,
tcId: tcId,
wxInfo: wxInfo,
})
this.getinfo()
this.getVoucher()
},
// 差评直接退出小程序
logOut: function () {
wx.reLaunch({
url: '../Voucher?finish=true',
})
},
// 保存数据
saveMessage: function () {
this.setData({
voucherData: this.data.voucherData
})
let data = JSON.parse(JSON.stringify(this.data.voucherData)),
showYouJi = true;
data.forEach(x=>{
x.TCID = this.data.tcId;
x.OrderID = this.data.orderId;
x.GuestId = this.data.GuestId;
if (x.SurveyType === 2 || x.SurveyType === 3) {
x.SurveyOptionsList.forEach(y=>{
y.IsCheck = y.IsCheckS ? '1' : '0'
})
}
if (x.SurveyType === 1 && x.ScoreNum < 3) {
showYouJi = false
}
})
if (this.data.Message === '') {
wx.showToast({
title: '请填写留言',
icon: 'none',
duration: 1000
})
return
}
data[0].NickName = this.data.wxInfo.nickName
data[0].HeadPic = this.data.wxInfo.avatarUrl
app.$api('survey_post_SetGuestSurvey', data).then(res => {
if (showYouJi) {
this.setData({
showYouJi: true
})
} else {
this.setData({
showBadYouJi: true
})
}
wx.showToast({
title: '提交成功!',
icon: 'none',
duration: 1000
})
}).catch(err => {
wx.showToast({
title: err.message,
icon: 'none',
duration: 1000
})
})
},
goWrite: function () {
wx.switchTab({ url: '/pages/index/index' })
},
//评分
handleChange: function (e) {
let index = e.target.id
this.data.voucherData[index].ScoreNum = e.detail.value
this.setData({
voucherData: this.data.voucherData,
rating: e.detail.value
})
},
// 输入留言
inputMessage: function (e) {
let index = e.target.id
this.data.voucherData[index].TextContent = e.detail.value
this.setData({
voucherData: this.data.voucherData,
Message: e.detail.value
})
},
//获取领队导游信息
getinfo: function () {
let data = {
tcid: this.data.tcId
}
app.$api('miniProgram_post_GetBasePrice', data).then(res => {
console.log(res)
this.setData({
leaderData: res
})
}).catch(err => {
wx.showToast({
title: err.message,
icon: 'none',
duration: 1000
})
})
},
checkboxChange: function (e) {
let ID = [],checkd = e.detail.value,index = e.target.id;
for (let i = 0; i < checkd.length ; i++) {
ID.push(Number(checkd[i]))
}
this.data.voucherData[index].SurveyOptionsList.forEach(o=>{
o.IsCheckS = false
ID.forEach(i=>{
if (i === o.ID) {
o.IsCheckS = true
}
})
})
this.setData({
voucherData: this.data.voucherData
})
},
radioChange: function (e) {
let ID = Number(e.detail.value),index = e.target.id;
this.data.voucherData[index].SurveyOptionsList.forEach(o => {
if (ID === o.ID) {
o.IsCheckS = true
} else {
o.IsCheckS = false
}
})
this.setData({
voucherData: this.data.voucherData
})
},
// 获取问券列表
getVoucher: function () {
let data = {
IsShow: 1,
SurveyType: -1
}
app.$api('survey_post_GetSurveyShowList', data).then(res => {
console.log(res)
res.map(item => {
if (item.SurveyType === 2) {
item.SurveyOptionsList.map((cItem, cIndex) => {
// if (cIndex === 0) {
// cItem.IsCheckS = true
// } else {
cItem.IsCheckS = false
// }
})
}
if (item.SurveyType === 3) {
item.SurveyOptionsList.map((cItem, cIndex) => {
cItem.IsCheckS = false
})
}
if (item.SurveyType === 1) {
item.ScoreNum = 5;
}
})
this.setData({
voucherData: res
})
}).catch(err => {
wx.showToast({
title: err.message,
icon: 'none',
duration: 1000
})
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"usingComponents": {
"com-rating": "/pages/rating/rating"
}
}
\ No newline at end of file
<view class='page-details commonF'>
<view>
<text class='text'>感谢{{nameID}}参与意见调查</text>
</view>
<view class='leader-info'>
<view class='top'>
<text>领队:{{leaderData.LeaderName ? leaderData.LeaderName : '无'}}</text>
<text>导游:{{leaderData.GuideName? leaderData.GuideName : '无'}}</text>
</view>
<view>
<text>团期:{{leaderData.StartDateStr}}-{{leaderData.EndDateStr}}</text>
</view>
</view>
<view wx:for="{{voucherData}}" wx:for-item="item" wx:for-index="index" wx:key="index" class='pingfen-item'>
<view>
<text class='tittle'>{{index+1}}、{{item.Title}}</text>
</view>
<com-rating max="5" rating='5' bindchange='handleChange' wx:if="{{item.SurveyType === 1}}" id="{{index}}"/>
<radio-group wx:elif="{{item.SurveyType === 2}}" class="radio-group" bindchange="radioChange" id="{{index}}">
<label class="radio" wx:for="{{item.SurveyOptionsList}}" wx:for-item="CItem" wx:for-index="CIndex" wx:key="CIndex">
<radio value="{{CItem.ID}}" checked="{{CItem.IsCheckS}}"/>{{CItem.OptionsName}}
</label>
</radio-group>
<checkbox-group wx:elif="{{item.SurveyType === 3}}" bindchange="checkboxChange" id="{{index}}">
<label class="checkbox" wx:for="{{item.SurveyOptionsList}}" wx:for-item="CItem" wx:for-index="CIndex" wx:key="CIndex">
<checkbox value="{{CItem.ID}}" checked="{{CItem.IsCheckS}}"/>{{CItem.OptionsName}}
</label>
</checkbox-group>
<textarea wx:elif="{{item.SurveyType === 4 && !showYouJi}}" bindinput='inputMessage' id="{{index}}" placeholder='点击输入'></textarea>
</view>
<view class='btn'>
<button class='next' type="default" size="mini" bindtap="saveMessage">确认</button>
</view>
<view wx:if="{{showYouJi}}" class='dialog' >
<view class='box'>
<view class='tit'>感谢参与调查</view>
<!-- <image src='http://imgfile.oytour.com/New/Upload/Cloud/2019-07/20190719084607628.png'></image> -->
<view class='btn'>
<button class='next' type="default" size="mini" bindtap="goWrite">返回</button>
</view>
<!-- <view class='btn'>
<button class='next cancle' type="default" size="mini" bindtap="logOut"><navigator open-type="exit" target="miniProgram">取消</navigator></button>
</view>
<view class='tips'>
根据自身经历写游记,还可获得惊喜小礼品
</view> -->
</view>
</view>
<view class='dialog' wx:if="{{showBadYouJi}}">
<view class='box'>
<view class='tit'>感谢参与调查</view>
<!-- <image src='http://imgfile.oytour.com/New/Upload/Cloud/2019-07/20190719084607628.png'></image>
<view class='tips'>
非常感谢您的配合,祝您生活愉快~
</view> -->
<view class='btn'>
<button class='next' type="default" size="mini" bindtap="goWrite">返回</button>
<!-- <button class='next cancle' type="default" size="mini"><navigator open-type="exit" target="miniProgram">好的</navigator></button> -->
<!-- <button class='next' type="default" size="mini" bindtap="logOut">好的,不用谢~</button> -->
</view>
</view>
</view>
<view class='dialog dialog2' wx:if="{{tips}}">
<view class='box'>
<view class='tit f30'>各位贵宾,感谢你参加印象之旅日本旅游</view>
<view class="f28 c33 text-left">以下请各位贵宾特别注意:</view>
<scroll-view scroll-y class="scroll-header f28">
<view class="t-left">1)由于非洲猪瘟的原因,日本入境严禁携带肉制品入境,重则罚款百万日元,严重者会坐牢。</view>
<view class="t-left">2)日本是一个高度发达的国家,社保制度以及法律制度也是非常严格。日本处方药属于日本社会福利药品,管控相当严格,你在任何一个药妆店买不到一个处方药,却可以在朋友圈买到大量处方药,请购买时三思同时我公司严禁在日本团上,车上,酒店内,行程中购买处方药。同时目前市场上大量的处方药来路不明,公司不做违法的事情,同时也告知各位如果你在日本购买的处方药也是没有任何保障的。
  如果出境海关检查你行李中有夹带处方药,你将被罚款或永不能入境日本。
如果任何人,在日本行程中任何地点在车上或景点行程中推荐处方药,如购买后请检举揭发。你将得到药品的全额退款,同时奖励日币10万日元一次。
</view>
</scroll-view>
<view class='btn'>
<button class='next' type="default" size="mini" bindtap="setTips">确定</button>
</view>
</view>
</view>
</view>
\ No newline at end of file
page{
height: 100%;
width: 100%;
}
.page-details{
padding: 34rpx 49rpx 0 ;
background-color: white;
}
.page-details .text{
font-size:42rpx;
font-weight:500;
color:rgba(0,0,0,1);
}
.page-details .leader-info{
margin: 30rpx 0;
padding: 30rpx;
background-color: #F5F5F5;
font-size: 28rpx;
color: #000000
}
.page-details .leader-info .top text {
display: inline-block;
width: 50%;
}
.pingfen-item{
margin-bottom: 40rpx;
}
.tittle{
font-size: 32rpx;
}
.pingfen-item label{
font-size: 28rpx;
padding-right: 30rpx;
display:flex;
align-items:center;
}
.pingfen-item .radio-group,.pingfen-item checkbox-group{
display: flex;
margin-top: 20rpx;
padding-left: 10rpx;
}
.pingfen-item textarea{
padding: 27rpx 34rpx;
font-size: 32rpx;
background-color: #F5F5F5;
box-sizing: border-box;
width: 100%;
margin: 10rpx 0 0 10rpx;
}
.btn{
text-align: center;
}
button.next{
width: 350rpx;
height: 84rpx;
line-height:84rpx;
margin-top: 50rpx;
font-size: 32rpx;
margin-bottom: 30rpx;
background:rgba(238,68,84,1);
border-color: rgba(238,68,84,1);
color: white;
}
button.next:active{
background:rgba(238,68,84,1);
border-color: rgba(238,68,84,1);
color: white;
}
.dialog{
height: 100%;
width: 100%;
position: fixed;
left: 0;
top: 0;
z-index: 2;
background:rgba(44,44,44,.5);
display: flex;
align-items: center;
justify-content: center;
}
.dialog .box{
padding: 50rpx 40rpx;
border-radius:20rpx;
min-height: 300rpx;
box-sizing: border-box;
background-color: white;
width: 634rpx;
text-align: center;
}
.dialog .box .tit{
font-size: 36rpx;
margin-bottom: 75rpx;
}
.dialog .box image{
width: 278rpx;
height: 218rpx;
}
.dialog .box .btn button.next{
background:rgba(238,68,84,1) !important;
border-color: rgba(238,68,84,1) !important;
color: white;
display:flex;
justify-content:center;
}
.dialog .box .btn button.next.cancle{
background:white !important;
border-color: #999999 !important;
color: #999999;
margin-top: 0rpx;
}
.dialog .box .tips{
font-size: 28rpx;
color: #999999;
margin-top: 25rpx;
}
navigator{
position: absolute;z-index: 2;
width: 100%;
height: 100%;
}
.scroll-header{
height: 200px;
}
.dialog2 .box .tit{
margin-bottom: 20rpx;
}
.text-left{
text-align: left;
margin-bottom: 20rpx;
}
\ No newline at end of file
// pages/comments/comments.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
msg: {
Id: '2162',
Type: 2,
GuestId: '37284'
},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log("options", options)
let msg = this.data.msg;
if (options.GuestId) {
msg.GuestId = options.GuestId;
msg.Id = options.Id;
msg.Type = options.Type;
this.setData({
msg: msg
})
}
this.getPinglunList();
},
getPinglunList() {
console.log(" this.data.msg", this.data.msg)
let msg = {};
msg.pageIndex = 1;
msg.pageSize = 100;
msg.SourceId = this.data.msg.Id;
msg.Type = this.data.msg.Type;
app.$api('b2b_get_GetMXYPunchCardPageList', msg).then(res => {
this.setData({
plList: res.pageData
})
}).catch(err => { })
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"usingComponents": {},
"navigationBarTitleText": "评论",
"navigationStyle": "default"
}
\ No newline at end of file
<view wx:if="{{plList.length>0}}" class="comments">
<view class="item" wx:for="{{plList}}" wx:key="index">
<view class="itemHead">
<view class="colorView"></view>
<view class="f24">{{item.GuestName}}
<text class="c22 c99" style="position:relative;top:25rpx;float:right">{{item.CreateTime}}</text>
</view>
<view class="f22 c99" style="padding-top:10rpx">
<image wx:for="{{item.Score}}" wx:key="index" style="width:30rpx;height:30rpx" src="../../images/index/all.png"></image>
<image wx:for="{{5-item.Score}}" wx:key="index" style="width:30rpx;height:30rpx" src="../../images/index/grey.png"></image>
<text style="position:relative;top:-5rpx;margin-left:10rpx">{{item.Score}}分</text>
</view>
</view>
<view style="margin-top:10rpx" class="f28">{{item.Description}}</view>
<view style="margin-top:20rpx">
<image wx:for="{{item.ImgList}}" wx:for-item="img" wx:key="index" style="width:250rpx;height:250rpx;margin-right:24rpx;border-radius:20rpx;" src="{{img}}"></image>
</view>
</view>
</view>
<view wx:else style="padding-top:280rpx;text-align:center">
<image style="width:438rpx;height:215rpx" src="../../images/index/nodata.png"></image>
</view>
\ No newline at end of file
/* pages/comments/comments.wxss */
.comments{
width: 100%;
padding:0 30rpx;
box-sizing: border-box;
}
.comments .item{
margin-top:40rpx;
}
.itemHead{
position: relative;
padding-left:30rpx;
box-sizing: border-box;
}
.colorView{
position: absolute;
left: 0;
}
.colorView{
width:6rpx;
height:50rpx;
background:linear-gradient(180deg,rgba(255,49,102,0.3),rgba(255,49,102,0.05));
border-radius:2rpx;
}
\ No newline at end of file
......@@ -36,6 +36,16 @@ Page({
pathUrl: pathUrl
})
},
modeImg(e) {
let img = [];
img[0] = e.currentTarget.dataset.img;
wx.previewImage({
current: img[0],
urls: img,
success: function (res) {
}
})
},
DakaBtn(e) {
let that = this;
let info = that.data.msg;
......
......@@ -14,7 +14,7 @@
</view>
</view>
<view wx:for="{{dataInfo.ImageList}}" wx:key="index" style="margin:20rpx 0 20rpx 0">
<image wx:if="item" style="width:100%" src="{{item}}"></image>
<image bindtap="modeImg" data-img="{{item}}" wx:if="item" mode="widthFix" style="max-width:100%" src="{{item}}"></image>
<image wx:else style="width:100%" src="../../../images/index/default.png"></image>
</view>
<view style="padding-bottom: 20rpx;" class="f28">
......
......@@ -25,13 +25,24 @@ Page({
},
todayList:[],
contactState:true,
contactState: true,
contactInfo:{},
airState:true,
configId:'',
tcid:'',
pathUrl:'/pages/index/index',
optionTCID:'7003',
// 8705
getimg:true,
guidegrey:5,
guidemsg:{
LeaderId:0,
Type:0,
CreateBy:'',
Score:0,
Description:'',
},
},
//事件处理函数
......@@ -73,7 +84,6 @@ Page({
if (!openId) {
wx.login({
success(res) {
console.log("ressdfasf", res)
if (res.code) {
//发起网络请求
let msg={
......@@ -81,7 +91,7 @@ Page({
type: 2
}
app.$api('miniProgram_customer_HelpByLoginByOpenId', msg).then(res => {
console.log("res", res);
wx.setStorageSync('openId', res)
that.setData({
openId: res
......@@ -94,6 +104,57 @@ Page({
})
}
},
goVoucher(){
wx.navigateTo({
url: '/pages/VoucherDetails/VoucherDetails'
})
},
goMsg(){
wx.switchTab({ url: '/pages/msg/index/index' })
},
scoreColor(e) {
let index = e.currentTarget.dataset.index;
let guidemsg = this.data.guidemsg;
guidemsg.Score = index;
let guidegrey = 5 - guidemsg.Score;
this.setData({
guidemsg: guidemsg,
guidegrey: guidegrey
})
},
scoreGrey(e) {
let index = e.currentTarget.dataset.index;
let guidemsg = this.data.guidemsg;
guidemsg.Score = index + guidemsg.Score;
let guidegrey = 5 - guidemsg.Score;
this.setData({
guidemsg: guidemsg,
guidegrey: guidegrey
})
},
bindinputText(e) {
let val = e.detail.value;
let guidemsg = this.data.guidemsg;
guidemsg.Description = val;
this.setData({
guidemsg: guidemsg
})
},
setGuide() {
let userInfo = (wx.getStorageSync('userInfo'))
if (!userInfo) {
util.showToast('text', '请先核对身份!', { duration: 3000 })
return;
}
this.data.guidemsg.CreateBy = userInfo.GuestId;
app.$api('b2b_set_SetLeaderGuideScore', this.data.guidemsg).then(res => {
this.setData({
contactState:true
})
}).catch(err => { })
},
dYBtn(){
let userInfo = (wx.getStorageSync('userInfo'))
let openId = (wx.getStorageSync('openId'))
......@@ -129,6 +190,16 @@ Page({
}
that.getData();
},
goComment(e){
let that = this;
let userInfo = (wx.getStorageSync('userInfo'))
let info = e.currentTarget.dataset.item;
let Id = info.Id;
let GuestId = userInfo.GuestId;
wx.navigateTo({
url: '/pages/comments/comments?GuestId=' + GuestId + '&Id=' + Id + '&Type=' + info.Type
})
},
DakaBtn(e) {
let that = this;
let userInfo = (wx.getStorageSync('userInfo'))
......@@ -190,6 +261,11 @@ Page({
})
},
makePhone(e){
let userInfo = (wx.getStorageSync('userInfo'))
if (!userInfo) {
util.showToast('text', '请先核对身份!', { duration: 3000 })
return;
}
let phone = e.currentTarget.dataset.item.MobilePhone;
wx.makePhoneCall({
phoneNumber: phone,
......@@ -220,35 +296,68 @@ Page({
})
},
getContact(e){
let guidemsg = this.data.guidemsg;
guidemsg={
LeaderId: 0,
Type: 0,
CreateBy: '',
Score: 0,
Description: '',
}
this.setData({
guidemsg: guidemsg,
guidegrey:5,
})
let info = e.currentTarget.dataset.item;
let type = e.currentTarget.dataset.type;
let contactInfo = this.data.contactInfo;
contactInfo.type = type;
console.log("info", info)
console.log("type", type)
contactInfo.LeaderId=info.Id;
guidemsg.LeaderId = info.Id;
guidemsg.Type = type;
if(type==1){
contactInfo.Name = info.Surname + info.Name;
contactInfo.MobilePhone = info.MobilePhone;
contactInfo.LdNum = info.LdNum;
contactInfo.LdPhoto = info.LdPhoto;
contactInfo.Score = parseInt(info.MyScore.Score);
contactInfo.geryScore = 5 - contactInfo.Score;
contactInfo.CommentState = info.IsLdComment;
contactInfo.Description = info.MyScore.Description;
}
if (type == 2) {
contactInfo.Name = info.Surname + info.Name;
contactInfo.MobilePhone = info.MobilePhone;
contactInfo.DyNum = info.DyNum;
contactInfo.LdPhoto = info.DyPhoto;
contactInfo.Score = parseInt(info.DyScore);
contactInfo.geryScore = 5 - contactInfo.Score;
contactInfo.CommentState = info.IsDyComment;
contactInfo.Description = info.MyScore.Description;
}
if (type == 3) {
contactInfo.Name = info.Contact;
contactInfo.MobilePhone = info.ContactNumber;
contactInfo.DyNum =info.CustomerNum;
contactInfo.LdPhoto = info.CustomerPhoto;
contactInfo.Score = parseInt(info.CustomerScore);
contactInfo.geryScore = 5 - contactInfo.Score;
contactInfo.CommentState = info.IsCustomerComment;
contactInfo.Description = info.MyScore.Description;
}
this.setData({
contactState:false,
contactInfo: contactInfo,
guidemsg: guidemsg,
})
},
getData(){
let userInfo = this.data.userInfo;
let msg={
......@@ -258,6 +367,12 @@ Page({
CityId: userInfo.DepartureCityId ? userInfo.DepartureCityId:''
};
app.$api('b2b_get_GetMXYTravelIndexInfo', msg).then(res => {
wx.setStorageSync('tcid', res.tcid)
if (res.IsTravelEnd){
// wx.navigateTo({
// url: '/pages/tripover/tripover'
// })
}
if (res.CityList.length>0){
res.CityList.forEach(item=>{
item.all = parseInt(item.Score);
......@@ -274,6 +389,39 @@ Page({
configId: res.configId,
tcid: res.tcid
})
console.log("res", res)
let chartOtherList=[];
if (res.LeaderModel){
let obj={};
obj.name = res.LeaderModel.Surname + res.LeaderModel.Name;
obj.LdPhoto = res.LeaderModel.LdPhoto;
obj.Id = res.LeaderModel.Id;
obj.LdIMAccount = res.LeaderModel.LdIMAccount;
obj.MobilePhone = res.LeaderModel.MobilePhone;
obj.typename = "领队";
chartOtherList.push(obj);
}
if (res.GuideModel) {
let obj = {};
obj.name = res.GuideModel.Surname + res.GuideModel.Name;
obj.LdPhoto = res.GuideModel.DyPhoto;
obj.Id = res.GuideModel.Id;
obj.LdIMAccount = res.GuideModel.DyIMAccount;
obj.MobilePhone = res.GuideModel.MobilePhone;
obj.typename = "导游";
chartOtherList.push(obj);
}
if (res.CustomerModel) {
let obj = {};
obj.name = res.CustomerModel.Contact;
obj.LdPhoto = res.CustomerModel.CustomerPhoto;
obj.Id = res.CustomerModel.Id;
obj.LdIMAccount = res.CustomerModel.CustomerIMAccount;
obj.MobilePhone = res.CustomerModel.ContactNumber;
obj.typename = "销售顾问";
chartOtherList.push(obj);
}
wx.setStorageSync('chartOtherList', chartOtherList)
this.getToday();
}).catch(err => { })
},
......@@ -290,6 +438,10 @@ Page({
app.$api('b2b_get_GetMXYToDayTourList', todayMsg).then(res => {
if (res.Status==1){
res.List.forEach(item=>{
item.all = parseInt(item.Score);
item.grey = 5 - parseInt(item.Score);
})
this.setData({
todayList: res.List
})
......@@ -298,15 +450,27 @@ Page({
}).catch(err => { })
},
goCard(){
wx.navigateTo({
url: `/pages/validateForm/validate/validate?TCID${this.data.tcid}`
})
let self = wx.getStorageSync('self')
if(!self){
this.setData({
getimg:false
})
}
else{
wx.navigateTo({
url: `/pages/validateForm/validate/validate?TCID${this.data.tcid}`
})
}
},
getUserInfo: function(e) {
app.globalData.userInfo = e.detail.userInfo
let self = e.detail.userInfo;
wx.setStorageSync('self', self)
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
getimg: true
})
wx.navigateTo({
url: `/pages/validateForm/validate/validate?TCID${this.data.tcid}`
})
}
})
<!--index.wxml-->
<!-- <view class="container">
<view hidden="{{getimg}}" class="getUserInfo">
<view class="userinfo">
<button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
<block wx:else>
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
</block>
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 应用授权 </button>
</view>
<view class="usermotto">
<text class="user-motto">{{motto}}</text>
</view>
</view> -->
<!-- // -->
<!-- <view hidden="{{!loginState}}" class="titleContent">
<view class="f40" style="font-weight:600">尊敬的客户您好,请进行您的身份识别</view>
<view class="qhd">
<text bindtap="goCard">去核对</text>
</view>
</view> -->
<!-- hidden="{{loginState}}" -->
</view>
<!-- -->
<view wx:if="{{dataInfo.IsCanOpinionaire}}" class="yjdc">
<view bindtap="goVoucher" class="f26">
<image style="width:24rpx;height:26rpx" src="../../images/index/wr.png"></image>
意见调查</view>
</view>
<view class="Index">
<view class="titleContent">
<view class="f40" style="font-weight:600">{{dataInfo.LtName}}
<view class="f40" style="font-weight:600">{{dataInfo.LtName}}
<view hidden="{{loginState}}" style="float:right;position:relative;top:8rpx" bindtap="dYBtn">
<image style="width:50rpx;height:50rpx" src="../../images/more.png"></image>
</view>
......@@ -77,7 +68,7 @@
</block>
<block>
<swiper-item>
<view class="item" style="padding: 0 30rpx;box-sizing: border-box;">
<view class="item" style="padding: 0 30rpx;box-sizing: border-box;">
<!-- <view class="itemView">
<image style="width:44rpx;height:44rpx" src="../../images/index/time.png"></image>
<text class="title">集合时间</text>
......@@ -104,7 +95,7 @@
<view bindtap="getContact" data-item="{{dataInfo.LeaderModel}}" data-type="{{1}}" class="scroll-view-item">
<view>
<image wx:if="{{dataInfo.LeaderModel.LdPhoto && dataInfo.LeaderModel.LdPhoto!=''}}" src="{{dataInfo.LeaderModel.LdPhoto}}"></image>
<image wx:else src="../../images/index/default.png"></image>
<image wx:else src="../../images/index/dperson.png"></image>
</view>
<view class="f24 c11">{{dataInfo.LeaderModel.Surname}}{{dataInfo.LeaderModel.Name}}</view>
<view style="padding:15rpx 0" class="f22 c99">领队</view>
......@@ -114,7 +105,7 @@
<view bindtap="getContact" data-item="{{dataInfo.GuideModel}}" data-type="{{2}}" class="scroll-view-item">
<view>
<image wx:if="{{dataInfo.GuideModel.DyPhoto && dataInfo.GuideModel.DyPhoto!=''}}" src="{{dataInfo.GuideModel.DyPhoto}}"></image>
<image wx:else src="../../images/index/default.png"></image>
<image wx:else src="../../images/index/dperson.png"></image>
</view>
<view class="f24 c11">{{dataInfo.GuideModel.Surname}}{{dataInfo.GuideModel.Name}}</view>
<view style="padding:15rpx 0" class="f22 c99">导游</view>
......@@ -124,7 +115,7 @@
<view wx:if="{{dataInfo.CustomerModel && dataInfo.CustomerModel.Contact}}" bindtap="getContact" data-item="{{dataInfo.CustomerModel}}" data-type="{{3}}" class="scroll-view-item">
<view>
<image wx:if="{{dataInfo.CustomerModel.CustomerPhoto && dataInfo.CustomerModel.CustomerPhoto!=''}}" src="{{dataInfo.CustomerModel.CustomerPhoto}}"></image>
<image wx:else src="../../images/index/default.png"></image>
<image wx:else src="../../images/index/dperson.png"></image>
</view>
<view class="f24 c11">{{dataInfo.CustomerModel.Contact}}</view>
<view style="padding:15rpx 0" class="f22 c99">销售顾问</view>
......@@ -140,7 +131,7 @@
<view bindtap="tripDay" data-item="{{item}}" wx:for="{{dataInfo.JourneyDayImgList}}" wx:key="index" class="scroll-view-item">
<image class="img" wx:if="{{item.Images.Url && item.Images.Url!=''}}" src="{{item.Images.Url}}"></image>
<image wx:else src="../../images/index/default.png"></image>
<text style="color:#fff;font-size:36rpx;font-weight:700">Day{{item.DayNum}}</text>
<text style="color:#fff;font-size:36rpx">Day{{item.DayNum}}</text>
</view>
</scroll-view>
</view>
......@@ -168,7 +159,16 @@
<view class="right">
<view style="margin-top:10rpx" class="text2 c11 f30">{{item.Name}}</view>
<view style="margin:15rpx 0" class="text2 c99 f24">{{item.Address}}</view>
<view style="text-align:right;margin-top:20rpx">
<view catchtap="goComment" data-item="{{item}}" style="margin-top:40rpx" class="c99 f30">
<block wx:key="index" wx:for="{{item.all}}">
<image style="width:24rpx;height:24rpx" src="../../images/index/all.png"></image>
</block>
<block wx:key="index" wx:for="{{item.grey}}">
<image style="width:24rpx;height:24rpx" src="../../images/index/grey.png"></image>
</block>
{{item.Score}}分
</view>
<view class="dakaView" style="text-align:right;margin-top:20rpx">
<text catchtap="DakaBtn" data-item="{{item}}" wx:if="{{item.IsPunchCard==2}}" class="daka">打卡</text>
<text wx:if="{{item.IsPunchCard==1}}" class="yidaka">已打卡</text>
......@@ -201,10 +201,11 @@
</view> -->
</view>
<!-- 弹窗 -->
<view catchtap="closeState" data-self="self" hidden="{{contactState}}" class="ContactTc">
<!---->
<view hidden="{{contactState}}" catchtap="closeState" data-self="self" class="ContactTc">
<view catchtap="noThing" data-self="no" class="contentView">
<image wx:if="{{contactInfo.LdPhoto && contactInfo.LdPhoto!=''}}" class="photo" src="{{contactInfo.LdPhoto}}"></image>
<image wx:else class="photo" src="../../images/index/default.png"></image>
<image wx:else class="photo" src="../../images/index/dperson.png"></image>
<view style="padding-top:85rpx">
<view class="c11 f32">
<text class="bold">{{contactInfo.Name}}</text>
......@@ -212,22 +213,63 @@
<text class="typeView" wx:if="{{contactInfo.type==2}}">导游</text>
<text class="typeView" wx:if="{{contactInfo.type==3}}">销售顾问</text>
</view>
<view style="margin:30rpx 0 30rpx 0" class="f24 c99">
<view bindtap="makePhone" data-item="{{contactInfo}}" style="margin:20rpx 0 20rpx 0" class="f24 c99">
<image style="width:22rpx;height:22rpx" src="../../images/index/phone.png"></image>
{{contactInfo.MobilePhone}}
</view>
<view style="margin:14rpx 0 14rpx 0" class="f22">
带团次数
<text class="f32">{{contactInfo.LdNum}}</text>
</view>
<view style="color:#E2E2E2">————
<text class="c11 f22" wx:if="{{contactInfo.type==1 || contactInfo.type==2}}">带团信息</text>
<text class="c11 f22" wx:else>收客信息</text> ————
<text class="c11 f22">评分</text> ————
</view>
</view>
<view wx:if="{{contactInfo.CommentState}}">
<view style="padding-top:20rpx">
<image wx:for="{{contactInfo.Score}}" wx:key="index" style="width:40rpx;height:40rpx;margin-right:30rpx" src="../../images/index/all.png"></image>
<image wx:for="{{contactInfo.geryScore}}" wx:key="index" style="width:40rpx;height:40rpx;margin-right:30rpx" src="../../images/index/grey.png"></image>
<text class="c99 f32">{{contactInfo.Score}}分</text>
</view>
<view>
<view style="background:#fff" wx:if="{{contactInfo.Description && contactInfo.Description!=''}}" class="noDes">
{{contactInfo.Description}}
</view>
<view wx:else class="noDes" >
暂无
</view>
</view>
<view bindtap="goMsg" class="lxView">
<image style="width:30rpx;height:30rpx;position: relative;top:4rpx" src="../../images/index/lx.png"></image>
联系他
</view>
</view>
<view style="margin:30rpx 0 30rpx 0" class="f32 bold">30</view>
<view wx:if="{{contactInfo.type==3}}" class="f22">报名数量</view>
<view wx:else class="f22">带团次数</view>
<view bindtap="makePhone" data-item="{{contactInfo}}" class="lxView">
<image style="width:30rpx;height:30rpx;position: relative;top:4rpx" src="../../images/index/lx.png"></image>
联系他
<view wx:else>
<view>
<text class="f26" style="margin-right:30rpx;position:relative;top:-10rpx">评分</text>
<image bindtap="scoreColor" wx:for="{{guidemsg.Score}}" data-index="{{index+1}}" wx:key="index" style="width:40rpx;height:40rpx;margin-right:14rpx" src="../../images/index/all.png"></image>
<image bindtap="scoreGrey" wx:for="{{guidegrey}}" data-index="{{index+1}}" wx:key="index" style="width:40rpx;height:40rpx;margin-right:14rpx" src="../../images/index/grey.png"></image>
<text class="f26" style="margin-right:12rpx;position:relative;top:-10rpx;color:#BAB9C1">{{guidemsg.Score}}.0</text>
</view>
<view class="noDes">
<textarea bindinput="bindinputText" value="{{guidemsg.Description}}" placeholder="" />
</view>
<view class="nowrite f30" style="margin-top:40rpx">
<view style="background:#FF3166;color:#fff;margin-right:20rpx">
<image style="width:30rpx;height:30rpx;position: relative;top:4rpx" src="../../images/index/lx.png"></image>
联系他
</view>
<view bindtap="setGuide" style="color:#FF3166">
提交评论
</view>
</view>
</view>
<view class="bottomView"></view>
</view>
......@@ -260,4 +302,4 @@
</view>
</view>
</view>
\ No newline at end of file
/**index.wxss**/
.getUserInfo{
position: fixed;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
z-index: 2000;
}
.getUserInfo .userinfo{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.getUserInfo .userinfo button{
background: #FF3166;
color: #fff;
font-size: 40rpx;
font-weight: 100;
width:440rpx;
border-radius:45rpx;
}
.dyView{
position: fixed;
top: 0;
......@@ -71,10 +94,13 @@
position: relative;
margin-right: 30rpx;
overflow: hidden;
border-radius: 20rpx;
box-sizing: border-box;
}
.headView .scroll-header .scroll-view-item .image{
max-width: 100%;
min-height:100%;
width: 100%;
}
.headView .scroll-header .scroll-view-item:last-child{
margin-right: 0;
......@@ -250,6 +276,12 @@
padding-left: 290rpx;
box-sizing: border-box;
text-align: left;
position: relative;
}
.toDayView .dakaView{
position: absolute;
right: 0rpx;
bottom: -10rpx;
}
.toDayView .daka{
width:128rpx;
......@@ -292,7 +324,7 @@
}
.ContactTc .contentView{
width:560rpx;
height:640rpx;
height:830rpx;
background:rgba(255,255,255,1);
border-radius:20rpx;
margin: 0 auto;
......@@ -308,6 +340,14 @@
position: absolute;
left: 200rpx;
}
.ContactTc .noDes{
width:440rpx;
height:200rpx;
background:rgba(243,243,243,1);
border-radius:20rpx;
margin: 0 auto;
margin-top: 30rpx;
}
.ContactTc .contentView .lxView{
width:440rpx;
height:90rpx;
......@@ -317,10 +357,18 @@
text-align: center;
display: inline-block;
font-size: 30rpx;
margin-top: 80rpx;
margin-top: 40rpx;
color:#fff;
position: relative;
}
.ContactTc .contentView .bottomView{
width:440rpx;
height:6rpx;
background:rgba(255,49,102,1);
border-radius:3rpx;
margin: 0 auto;
margin-top:40rpx;
}
.ContactTc .contentView .typeView{
padding:8rpx 16rpx;
background:rgba(255,49,102,0.3);
......@@ -332,13 +380,30 @@
margin-left: 15rpx;
}
.ContactTc .noDes{
font-size: 26rpx;
padding: 20rpx 0;
}
.ContactTc .noDes textarea{
height: 200rpx;
width: 100%;
text-align: left;
}
.ContactTc .nowrite>view{
display: inline-block;
width:210rpx;
height:90rpx;
line-height:90rpx;
background:rgba(255,255,255,1);
border:1px solid rgba(255, 49, 102, 1);
border-radius:45rpx;
}
.AirTc .contentView1{
text-align: left;
box-sizing: border-box;
background:rgba(255,255,255,1);
border-radius:20rpx;
height:670rpx;
height:760rpx;
}
.AirTc .contentView1 .photo{
width:150rpx;
......@@ -350,7 +415,7 @@
z-index: 100000;
}
.AirTc .contentView1 .Content{
height:650rpx;
height:740rpx;
overflow: scroll;
padding: 0 30rpx;
width: 100%;
......@@ -387,4 +452,17 @@
right: 0;
padding-bottom: 20rpx;
}
.yjdc{
position: fixed;
z-index: 100;
bottom: 230rpx;
width:170rpx;
height:66rpx;
line-height:66rpx;
background:rgba(255,255,255,1);
box-shadow:0px 4rpx 10rpx 0px rgba(207,207,207,0.2);
border-radius:33rpx 0px 0px 33rpx;
text-align: center;
right: 0;
}
......@@ -36,6 +36,16 @@ Page({
pathUrl: pathUrl
})
},
modeImg(e) {
let img = [];
img[0] = e.currentTarget.dataset.img;
wx.previewImage({
current: img[0],
urls: img,
success: function (res) {
}
})
},
DakaBtn(e) {
let that = this;
let info = that.data.msg;
......
......@@ -17,7 +17,7 @@
<view wx:if="{{dataInfo.SupportCount && dataInfo.SupportCount!=''}}" style="margin-top:10rpx" class="f24 c99">餐厅人数:{{dataInfo.SupportCount}}</view>
<view wx:if="{{dataInfo.ParkInfo && dataInfo.ParkInfo!=''}}" style="margin-top:10rpx" class="f24 c99">停车说明:{{dataInfo.ParkInfo}}</view>
<view wx:for="{{dataInfo.ImageList}}" wx:key="index" style="margin:40rpx 0 30rpx 0">
<image wx:if="{{item}}" style="width:100%" src="{{item}}"></image>
<image bindtap="modeImg" data-img="{{item}}" wx:if="{{item}}" mode="widthFix" style="max-width:100%" src="{{item}}"></image>
<image wx:else style="width:100%" src="../../../images/index/default.png"></image>
</view>
<view style="padding-bottom: 20rpx;" class="f28">
......
......@@ -37,6 +37,16 @@ Page({
this.getPinglunList();
},
modeImg(e){
let img=[];
img[0] = e.currentTarget.dataset.img;
wx.previewImage({
current: img[0],
urls: img,
success: function (res) {
}
})
},
DakaBtn(e) {
let that = this;
let info = that.data.msg;
......
......@@ -15,7 +15,7 @@
</view>
<view style="margin-top:12rpx" class="f26">{{dataInfo.Remark}}</view>
<view wx:for="{{dataInfo.ImageList}}" wx:key="index" style="margin:30rpx 0 30rpx 0">
<image wx:if="{{item}}" style="width:100%" src="{{item}}"></image>
<image bindtap="modeImg" data-img="{{item}}" wx:if="{{item}}" mode="widthFix" style="max-width:100%" src="{{item}}"></image>
<image wx:else style="width:100%" src="../../../images/index/default.png"></image>
</view>
<view style="padding-bottom: 20rpx;" class="f28">
......
......@@ -36,6 +36,16 @@ Page({
pathUrl: pathUrl
})
},
modeImg(e) {
let img = [];
img[0] = e.currentTarget.dataset.img;
wx.previewImage({
current: img[0],
urls: img,
success: function (res) {
}
})
},
DakaBtn(e) {
let that = this;
let info = that.data.msg;
......
......@@ -15,7 +15,7 @@
</view>
<view style="margin-top:12rpx" class="f26">{{dataInfo.Remark}}</view>
<view wx:for="{{dataInfo.ImageList}}" wx:key="index" style="margin:30rpx 0 30rpx 0">
<image wx:if="{{item}}" style="width:100%;border-radius:20rpx" src="{{item}}"></image>
<image bindtap="modeImg" data-img="{{item}}" wx:if="{{item}}" mode="widthFix" style="max-width:100%" src="{{item}}"></image>
<image wx:else style="width:100%;border-radius:20rpx" src="../../../images/index/default.png"></image>
</view>
<view style="padding-bottom: 20rpx;" class="f28">
......
......@@ -21,7 +21,9 @@ let pageConfig = {
chatAccount: {}, // {accountName: accountName} 备注:消息通知key为notification
showSearchBox: 0,
searchConten: '',
isFocus: false
isFocus: false,
isShow: false,
chartOtherList:[],
},
/**
* 生命周期函数--监听页面加载
......@@ -30,12 +32,37 @@ let pageConfig = {
new IMController({
token: '111111',
account: '17308037817'
})
// 条目题目展示我的电脑
this.setData({
iconNoMessage,
defaultUserLogo: app.globalData.PAGE_CONFIG.defaultUserLogo
})
let that = this;
let openId = (wx.getStorageSync('openId'))
if (!openId) {
wx.login({
success(res) {
if (res.code) {
//发起网络请求
let msg = {
code: res.code,
type: 2
}
app.$api('miniProgram_customer_HelpByLoginByOpenId', msg).then(res => {
wx.setStorageSync('openId', res)
that.setData({
openId: res
})
that.login(res);
}).catch(err => { })
} else {
}
}
})
}
},
/**
* 阻止事件冒泡空函数
......@@ -47,6 +74,31 @@ let pageConfig = {
*/
onShow() {
// this.sortChatList()
let userInfo = (wx.getStorageSync('userInfo'))
if (!userInfo){
this.setData({
isShow:true
})
}else{
this.setData({
isShow: false
})
}
let chartOtherList = (wx.getStorageSync('chartOtherList'))
this.setData({
chartOtherList: chartOtherList
})
},
getUserInfo: function (e) {
let info = e.detail.userInfo;
let self = (wx.getStorageSync('self'))
let tcid = (wx.getStorageSync('tcid'))
if(!self){
wx.setStorageSync('self', info)
}
wx.navigateTo({
url: `/pages/validateForm/validate/validate?TCID${tcid}`
})
},
changeSearchBox: function (e) {
console.log(e.currentTarget.dataset.type)
......@@ -184,6 +236,7 @@ let pageConfig = {
* 单击进入聊天页面
*/
switchToChating(e) {
let account = e.currentTarget.dataset.account
let session = e.currentTarget.dataset.session
// 更新会话对象
......@@ -210,6 +263,16 @@ let pageConfig = {
url: `../../../partials/chating/chating?chatTo=${account}&type=${chatType}`,
})
},
switchToChatingOther(e){
// 跳转
console.log("e", e)
let account = e.currentTarget.dataset.account
let chatType = "p2p";
// let chatType="p2p";
wx.navigateTo({
url: `../../../partials/chating/chating?chatTo=${account}&type=${chatType}`,
})
},
/**
* 单击进入个人区域
*/
......
<!-- <view class='title'>
<text>消息(20)</text>
</view> -->
<wxs module="m1">
function fn(str, arg) {
return str.indexOf(arg);
}
module.exports.fn = fn;
</wxs>
<view class="search">
<view class="{{showSearchBox==0?'':'hide'}}" bindtap="changeSearchBox" data-type="1">
<image src="/images/im/search.png"></image>
<text>搜索</text>
<view hidden="{{!isShow}}">
<view class="userinfo">
<view class="f22 c99 center" style="padding:24rpx 0">
您还未实名认证,请先进行实名认证哦!
</view>
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 实名认证 </button>
</view>
<input type='text' bindinput='searchInput' class="search-input {{showSearchBox==1?'':'hide'}}" bindblur="changeSearchBox" data-type="0" focus='{{isFocus}}' />
</view>
<view class="msg-box">
<view wx:if="{{chatList.length != 0}}" wx:for="{{chatList}}" wx:for-item="message" wx:key="message.time">
<view class="msg-item" data-session='{{message.session}}' data-account='{{message.account}}' wx:if="{{searchConten=='' || m1.fn(message.nick,searchConten)!=-1}}" data-session='{{message.session}}' bindtap='switchToChating'>
<view hidden="{{isShow}}">
<wxs module="m1">
function fn(str, arg) {
return str.indexOf(arg);
}
module.exports.fn = fn;
</wxs>
<view class="search">
<view class="{{showSearchBox==0?'':'hide'}}" bindtap="changeSearchBox" data-type="1">
<image src="/images/im/search.png"></image>
<text>搜索</text>
</view>
<input type='text' bindinput='searchInput' class="search-input {{showSearchBox==1?'':'hide'}}" bindblur="changeSearchBox" data-type="0" focus='{{isFocus}}' />
</view>
<view class="msg-box">
<view wx:if="{{chatList.length != 0}}" wx:for="{{chatList}}" wx:for-item="message" wx:key="message.time">
<view class="msg-item" data-session='{{message.session}}' data-account='{{message.account}}' wx:if="{{searchConten=='' || m1.fn(message.nick,searchConten)!=-1}}" data-session='{{message.session}}' bindtap='switchToChating'>
<image class="avater" src="{{message.avatar}}"></image>
<view class="msg-content">
<view class="item-name">
......@@ -33,6 +41,30 @@
<text class="pops">{{message.unread || ''}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
<!-- 其他信息 -->
<view class="msg-box">
<view wx:if="{{chartOtherList.length != 0}}" wx:for="{{chartOtherList}}" wx:for-item="message" wx:key="message.time">
<view class="msg-item" data-account='{{message.LdIMAccount}}' bindtap='switchToChatingOther'>
<image wx:if="{{message.LdPhoto && message.LdPhoto!=''}}" class="avater" src="{{message.LdPhoto}}"></image>
<image wx:else class="avater" src="../../../images/index/person.png"></image>
<view class="msg-content">
<view class="item-name">
{{message.name}}
</view>
<view class="lst-msg">
{{message.typename}}
</view>
</view>
<!-- <view class="times">
<view class="timer">44</view>
<view wx:if="{{message.unread}}">
<text class="pops">{{message.unread || ''}}</text>
</view>
</view> -->
</view>
</view>
</view>
</view>
......@@ -110,4 +110,15 @@ page{
}
.hide{
display: none;
}
.userinfo{
margin-top:170rpx;
}
.userinfo button{
width:440rpx;
background:rgba(255,49,102,1);
border-radius:45rpx;
font-size:30rpx;
font-weight: 500;
color: #fff;
}
\ No newline at end of file
Component({
// 声明组件属性及默认值
properties: {
rating: {
type: Number, // 必需 指定属性类型 [String, Number, Boolean, Object, Array, null(任意类型)]
value: 5
},
max: {
type: Number,
value: 5
},
disabled: {
type: Boolean,
value: false
}
},
// 组件私有和公开的方法,组件所使用的方法需在此声明
methods: {
_handleTap: function (e) {
if (this.data.disabled) return;
const { max } = this.data;
const { num } = e.currentTarget.dataset;
this.setData({
rating: max / 5 * num
})
// 自定义组件事件
this.triggerEvent('change', { value: max / 5 * num }, e);
}
}
})
\ No newline at end of file
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<view class='com-rating'>
<text class='pingfen'>评分</text>
<view class='rating-icon' wx:for='{{[1,2,3,4,5]}}' wx:key='*this'
bindtap='_handleTap' data-num='{{item}}'>
<view class='rating-on' style='width:{{rating >= (max/5)*item ? 1.5 : rating < (max/5)*(item-1) ? 0 : (rating*15)%(max/5*15)/(max/5*15)}}em'>
<image src='../../images/voucher/rating_on_icon.png' mode='widthFix' style='width:1.5em' />
</view>
<view class='rating-off' style='width:1.5em;'>
<image src='../../images/voucher/rating_off_icon.png' mode='widthFix' style='width:1.5em' />
</view>
</view>
<view class='pingfen-tips'>
<text wx:if="{{rating === 1}}">非常不满意</text>
<text wx:elif="{{rating === 2}}">不满意</text>
<text wx:elif="{{rating === 3}}">感觉一般</text>
<text wx:elif="{{rating === 4}}">满意</text>
<text wx:elif="{{rating === 5}}">非常满意</text>
</view>
</view>
\ No newline at end of file
.com-rating {
letter-spacing: .3em;
position: relative;
display:flex;
align-items:center;
padding-left: 10rpx;
margin-top: 20rpx;
}
.com-rating .rating-icon,
.com-rating .rating-on,
.com-rating .rating-off {
display: inline-block;
}
.com-rating .rating-icon:not(:last-child) {
margin-right: .2em;
}
.com-rating .rating-on {
color: black;
position: absolute;
overflow: hidden;
padding: 0;
margin: 0;
}
.com-rating .rating-off {
color: #DBDBDB;
padding: 0;
margin: 0;
}
.pingfen,.pingfen-tips{
font-size: 28rpx;
padding-right: 28rpx;
}
.pingfen-tips{
padding-left: 28rpx;
padding-right: 0;
}
\ No newline at end of file
// pages/tripover/tripover.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": {},
"navigationBarTitleText": "行程结束",
"navigationStyle": "default"
}
\ No newline at end of file
<view class="tripover">
<view style="text-align:center;margin-top:250rpx">
<image style="width:611rpx;height:669rpx" src="../../images/index/trip.png"></image>
</view>
</view>
\ No newline at end of file
/* pages/tripover/tripover.wxss */
.tripover{
position: absolute;
width: 100%;
height: 100%;
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ Page({
arr: ['', '', '', '', '', ''],
numNo: '',
msg: {
IdCard: "510102194902023508",
IdCard: "51010519410613971x",
Name: "付淑清",
PassportNo: "ED3495877",
choosetype:"1",
......@@ -25,7 +25,6 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
console.log("options", options);
let msg = this.data.msg;
if (options.IdCard) {
msg = {
......@@ -45,7 +44,6 @@ Page({
let index = e.currentTarget.dataset.index;
let val = e.detail.value;
let newArr = val.split('');
console.log("newArr", newArr)
this.setData({
arr: newArr
......@@ -57,19 +55,31 @@ Page({
})
},
yzBtn() {
let openId = (wx.getStorageSync('openId'))
let self = (wx.getStorageSync('self'))
let arr = this.data.arr;
let msg = this.data.msg;
let number = arr[0] + arr[1] + arr[2] + arr[3] + arr[4] + arr[5];
console.log("number", number)
let str='';
let str = '';
let str1='';
let tips='';
let info = {
Type: msg.choosetype,
TCID: msg.TCID,
Number: '',
OpenId: openId,
Photo: self.avatarUrl,
};
if (msg.choosetype=='1'){
str=msg.IdCard.substring(msg.IdCard.length - 6);
let str_6 = msg.IdCard.substring(msg.IdCard.length - 6);
let last = msg.IdCard.substring(msg.IdCard.length - 1);
let p = /[a-z]/i;
let b = p.test(str_6);
if(b){
str1 = str_6.toUpperCase();
}
str = str_6.toLowerCase();
tips ="身份证号码";
info.Number = msg.IdCard;
}
......@@ -77,16 +87,13 @@ Page({
str = msg.PassportNo.substring(msg.PassportNo.length - 6);
tips = "护照";
info.Number = msg.PassportNo;
}
if (str != number){
if (str != number && str1 !=number){
util.showToast('text', tips+'不一致!', { duration: 3000 })
return;
}
app.$api('b2b_get_GetMXYTravelOrderInfo', info).then(res => {
console.log("res", res);
if (res.IsOK == 1) {
let userInfo = res.Info
wx.setStorageSync('userInfo', userInfo)
......
<view class="card">
<view>
<image style="width:70rpx;height:70rpx;margin-right:40rpx;position:relative;top:16rpx" src="../../../images/index/person.png"></image>
<text class="bold f50">{{msg.Name}},欢迎您</text>
<text class="bold f50">{{msg.Name}},欢迎您!感谢您的信任!</text>
<text class="f30">小于18岁的同学,需要带出认证徽章或标识</text>
</view>
<view class="f26" style="margin-top:136rpx;color:#BCBCBC;">
请输入
......@@ -10,7 +11,8 @@
后6位核对身份
</view>
<view class="inputView">
<input bindinput="numer" focus="{{focusShow}}" data-index="{{0}}" class="input" maxlength="6" placeholder="" />
<input wx:if="{{msg.choosetype=='1'}}" bindinput="numer" type="idcard" focus="{{focusShow}}" data-index="{{0}}" class="input" maxlength="6" placeholder="" />
<input wx:if="{{msg.choosetype=='2'}}" bindinput="numer" type="number" focus="{{focusShow}}" data-index="{{0}}" class="input" maxlength="6" placeholder="" />
<view catchtap='showKeyboard' class="flex" style="width:100%">
<view class="view">{{arr[0] == "undefind" ? "" : arr[0]}}</view>
<view class="view">{{arr[1] == "undefind" ? "" : arr[1]}}</view>
......
{
"usingComponents": {},
"navigationBarTitleText": "详情",
"navigationStyle": "default"
}
\ No newline at end of file
......@@ -137,6 +137,35 @@
"id": -1,
"name": "验证身份",
"pathName": "pages/validateForm/yzCard/yzCard",
"query": "",
"scene": null
},
{
"id": -1,
"name": "行程结束",
"pathName": "pages/tripover/tripover",
"query": "",
"scene": null
},
{
"id": -1,
"name": "评论列表",
"pathName": "pages/comments/comments",
"query": "",
"scene": null
},
{
"id": -1,
"name": "意见调查",
"pathName": "pages/VoucherDetails/VoucherDetails",
"query": "",
"scene": null
},
{
"id": -1,
"name": "消息",
"pathName": "pages/msg/index/index",
"query": "",
"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