yuminge-app/yun-min-program-plugin-master/packageH/flightInformation/flightInformation.js

556 lines
13 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageH/flightInformation/flightInformation.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
show: false,
columns: [],
pickerValue: [0, 0, 0],
imgheights: 0,
nowDate: Date.parse(new Date()),
// 二期
form: {
destination: '',
terminus: '',
flight: '',
isDateName: ''
},
calendarShow: false,
selectShow: false,
minDate: new Date(2010, 0, 1).getTime(),
maxDate: new Date(2010, 0, 31).getTime(),
morePage:1,
page:1
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
minDate: new Date(this.fun_date(1)).getTime()
});
},
goDetail(){
wx.navigateTo({
url: '/packageH/flightInformation/flightInformationDetailList/flightInformationDetailList',
});
},
inpDes(e) {
this.setData({
['form.destination']: e.detail,
});
},
inpTerm(e) {
this.setData({
['form.terminus']: e.detail
});
},
inpFlight(e) {
this.setData({
['form.flight']: e.detail
});
},
calendarTap() {
this.setData({
calendarShow: true
});
},
onClose() {
this.setData({
calendarShow: false
});
},
popClose(e) {
this.setData({
show: false
});
},
popShow() {
this.setData({
show: true
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.getData();
},
imageLoad(e) {
var imgwidth = e.detail.width,
imgheight = e.detail.height,
ratio = imgwidth / imgheight;
var viewHeight = 750 / ratio;
this.setData({
imgheights: this.data.imgheights > viewHeight ? this.data.imgheights : viewHeight
});
},
linkUrl(e) {
console.log(e);
let img = e.currentTarget.dataset.img;
try {
wx.navigateTo({
url: img,
});
} catch (error) {
wx.redirectTo({
url: img,
});
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
dfsave(e) {
let arr = e.detail;
let json = {
start_id: this.data.start_id,
destination_id: this.data.destination_id,
flight_id: this.data.flight_id,
form_id: this.data.goodDYDormID,
form_data: JSON.stringify(arr),
form_data_id: this.data.form_data_id ? this.data.form_data_id : "",
flight_time: this.data.flight_time
};
let that = this;
console.log(json);
let urlStr = app.getNetAddresss('plugin.flight-collect.frontend.index.save-diy-form-data');
app._getNetWork({
url: urlStr,
data: json,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
wx.showToast({
title: '提交成功',
icon: 'none',
duration: 1000
});
that.setData({
start_id:'',
destination_id:'',
flight_id:'',
flight_time:'',
form:{
destination: '',
terminus: '',
flight: '',
isDateName: ''
}
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1000
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
gofunarr() {
if(app._isTextEmpty(this.data.start_id)){
wx.showToast({
title: '请填写出发地',
duration:1000,
icon:'none'
});
return;
}
if(app._isTextEmpty(this.data.destination_id)){
wx.showToast({
title: '请填写目的地',
duration:1000,
icon:'none'
});
return;
}
if(app._isTextEmpty(this.data.flight_id)){
wx.showToast({
title: '请填写航班',
duration:1000,
icon:'none'
});
return;
}
if(app._isTextEmpty(this.data.flight_time)){
wx.showToast({
title: '请填写飞行计划日期',
duration:1000,
icon:'none'
});
return;
}
let that = this;
if (this.data.info.is_submit) {
// 指定时间限制
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let start_Min = Date.parse(`${year}/${month}/${day} ${that.data.startTime}:00`);
let end_Min = Date.parse(`${year}/${month}/${day} ${that.data.endTime}:00`);
if (that.data.nowDate >= start_Min && that.data.nowDate <= end_Min) {
that.setData({
['info.is_submit']: 1
});
let child = this.selectComponent('.dsfrom');
child.submit();
} else {
that.setData({
['info.is_submit']: 0
});
return;
}
}
},
getData() {
let that = this;
let urlStr = app.getNetAddresss('plugin.flight-collect.frontend.index');
app._getNetWork({
url: urlStr,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
let _tips = res.data.information.replace(/<img/g, '<img style="width:100%"');
res.data.form_data.status = 0;
that.setData({
columns: res.data.flight,
information: _tips,
info: res.data,
goodDYDormID: res.data.diyform,
dfData: res.data.form_data,
startTime: res.data.hours_start,
endTime: res.data.hours_end,
});
if (res.data.is_submit) {
// 指定时间限制
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
console.log(year, month, day);
let start_Min = Date.parse(`${year}/${month}/${day} ${res.data.hours_start}:00`);
let end_Min = Date.parse(`${year}/${month}/${day} ${res.data.hours_end}:00`);
if (that.data.nowDate >= start_Min && that.data.nowDate <= end_Min) {
that.setData({
['info.is_submit']: 1
});
} else {
that.setData({
['info.is_submit']: 0
});
}
if (res.data.flight_time) {
let fun = that.fun_date(Number(res.data.flight_time));
console.log(fun);
let timeset = new Date(fun).getTime();
console.log(timeset);
that.setData({
maxDate: timeset
});
}
}
if (res.data.form_data) {
// 已填回显处理
if (res.data.form_data.form_data_id) {
// 编辑提交的id
that.setData({
form_data_id: res.data.form_data.form_data_id,
});
}
}
} else {
console.log(res.msg);
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
bindChange(e) {
this.setData({
pickerValue: e.detail.value
});
},
search(e) {
console.log(e);
let key = e.currentTarget.dataset.key;
if (key == 'des') {
this.setData({
noKey: 'des',
selectShow: true,
moreList: []
});
let e = {
detail: this.data.form.destination
};
this.searchGinfo(e);
}
if (key == 'ter') {
// this.searchGinfo(this.data.form.destination,key);
this.setData({
noKey: 'ter',
selectShow: true,
moreList: []
});
let e = {
detail: this.data.form.terminus
};
this.searchGinfo(e);
}
if (key == 'fli') {
this.setData({
noKey: 'fli',
moreList: [],
selectShow: true,
});
let e = {
detail: this.data.form.flight
};
this.searchFlight(e);
}
},
tapSelect(e) {
console.log(e);
let item = e.currentTarget.dataset.item;
console.log(this.data.noKey);
if (this.data.noKey == 'des') {
this.setData({
start_id: item.id,
['form.destination']: item.flight_city_name
});
console.log(item, this.data.start_id);
} else if (this.data.noKey == 'ter') {
this.setData({
destination_id: item.id,
['form.terminus']: item.flight_city_name
});
console.log(item, this.data.start_id);
} else if (this.data.noKey == 'fli') {
// this.flight_id = item.id;
// this.form.flight = item.flight_number;
this.setData({
flight_id: item.id,
['form.flight']: item.flight_number
});
}
this.setData({
selectShow: false
});
},
// 搜索航班
searchFlight(info,key) {
let that = this;
wx.showLoading({
title: '加载中',
});
let urlStr = app.getNetAddresss('plugin.flight-collect.frontend.index.get-flight-number');
app._getNetWork({
url: urlStr,
data: {
keyword: info.detail
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
if(key == 'more'){
this.setData({
moreList: that.data.moreList.concat(res.data.data),
});
}else{
this.setData({
moreList: res.data.data,
});
}
wx.hideLoading({
success: (res) => {},
});
} else {
wx.hideLoading({
success: (res) => {},
});
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1000
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
selectShowClose() {
this.setData({
selectShow: false
});
},
tapMore(){
let key = this.data.noKey;
this.setData({
page : this.data.page + 1
});
if(key == 'fli'){
let e = {
detail: this.data.form.flight
};
this.searchFlight(e,'more');
}else{
let e = {
detail: this.data.form.terminus
};
this.searchGinfo(e,'more');
}
},
// 搜索城市
searchGinfo(info,key) {
// this.noKey = key;
console.log(info);
if(key != 'more'){
this.setData({
page:1
});
}
let that = this;
let urlStr = app.getNetAddresss('plugin.flight-collect.frontend.index.get-city');
app._getNetWork({
url: urlStr,
data: {
keyword: info.detail,
page:this.data.page
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
if(key == 'more'){
this.setData({
moreList: that.data.moreList.concat(res.data.data),
morePage:res.data.last_page
});
}else{
this.setData({
moreList: res.data.data,
morePage:res.data.last_page
});
}
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1000
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
onConfirm(e) {
// console.log(e)
let date = e.detail;
this.calendarShow = false;
let timestr = (this.formartDateTime(this.formatDate(date)) / 1000);
this.setData({
calendarShow: false,
['form.isDateName']: this.formatDate(date),
flight_time: timestr
});
},
formatDate(date) {
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
},
formartDateTime(dateStr) {
dateStr = dateStr.replace(/-/g, '/');
dateStr = dateStr + " 00:00:00";
var timestamp = new Date(dateStr).getTime();
return timestamp;
},
// onConfirm(e) {
// let pickerValue = this.data.pickerValue;
// this.setData({
// columnsShow: false,
// start_id: this.data.columns[pickerValue[0]].start_id,
// destination_id: this.data.columns[pickerValue[0]].children[pickerValue[1]].destination_id,
// flight_id: this.data.columns[pickerValue[0]].children[pickerValue[1]].children[pickerValue[2]].flight_id,
// start_name: this.data.columns[pickerValue[0]].text,
// destination_name: this.data.columns[pickerValue[0]].children[pickerValue[1]].text,
// flight_name: this.data.columns[pickerValue[0]].children[pickerValue[1]].children[pickerValue[2]].text
// });
// console.log(this.data);
// },
tapShow() {
this.setData({
columnsShow: true
});
},
tapCanle() {
this.setData({
columnsShow: false
});
},
fun_date(num) {
var date1 = new Date();
//今天时间
var time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();
console.log(time1);
var date2 = new Date(date1);
date2.setDate(date1.getDate() + num);
//num是正数表示之后的时间num负数表示之前的时间0表示今天
var time2 = Number(date2.getFullYear()) + "/" + Number(date2.getMonth() + 1) + "/" + Number(date2.getDate());
return time2;
},
});