Files
lichebao/pages/allot/detail/index.js
T
2022-03-07 17:34:31 +08:00

418 lines
10 KiB
JavaScript

import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
imgUrl:_.config.imgUrl,
photos:[],//异常报备
note:'',
isShowReport:false,//是否显示报备异常弹窗
isShowTransfer:false,//是否显示确认弹窗
transport:[],//请上传运输单
id:'',//查看id
tran_id:'',//操作ID
mileage:'',//里程数
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppTransfer()
},
onShow: function () {
},
//获取订单详情
getAppTransfer(){
let params = {};
if(this.data.id != ''){
params['id'] = this.data.id;
}
if(this.data.tran_id != ''){
params['tran_id'] = this.data.tran_id;
}
_.apiQuery.getAppTransfer(params).then(res=>{
this.setData({
info:res.data,
transport:res.data.transport.imgs,
})
wx.stopPullDownRefresh()
})
},
//选择图片
chooseImg(e) {
let that = this
wx.chooseImage({
count: e.currentTarget.dataset.amount - this.data.photos.length, // 默认10
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
that.uploadImg(res1.tempFilePaths[i])
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
},
//上传图片
uploadImg(img){
let that = this
setTimeout(function () {
wx.showLoading({
title: '图片上传中',
})
}, 500);
wx.uploadFile({
url: _.config.api.upImg,
filePath: img,
name: 'img',
formData: {
'app': 'liche'
},
success(res) {
setTimeout(function () {
wx.hideLoading()
}, 500);
let imgdata = JSON.parse(res.data)
let list = []
list.push({
value:imgdata.data.url,
src:imgdata.data.full_url,
})
that.setData({
photos: that.data.photos.concat(list),
})
},
fail(res) {
wx.hideLoading()
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
})
},
// 编辑页面删除图片
delPic(e){
let photos = this.data.photos
photos.splice(e.currentTarget.dataset.index, 1)
this.setData({
photos: photos,
})
},
//显示报备异常弹框
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
photos:[],
note:'',
optid:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
})
},
//显示确认弹框
optShowTransfer(e){
this.setData({
isShowTransfer:!this.data.isShowTransfer,
photos:[],
mileage:'',
optType:e.currentTarget.dataset.type?e.currentTarget.dataset.type:'',
optid:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
})
},
//拨打电话
call(e) {
wx.makePhoneCall({
phoneNumber:this.data.info.transport.mobile,
})
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='abnormal'){
wx.previewImage({
current:this.data.info.abnormal.imgs[0],
urls:this.data.info.abnormal.imgs,
})
}else if(e.currentTarget.dataset.type=='transport'){
let transportImg = []
this.data.info.transport.imgs.forEach(item => {
transportImg.push(item.src)
})
wx.previewImage({
current:transportImg[0],
urls:transportImg,
})
}else if(e.currentTarget.dataset.type=='start_mileage'){
let start_mileage = []
this.data.info.transport.start_mileage.imgs.forEach(item => {
start_mileage.push(item.src)
})
wx.previewImage({
current:start_mileage[0],
urls:start_mileage,
})
}else if(e.currentTarget.dataset.type=='end_mileage'){
let end_mileage = []
this.data.info.transport.end_mileage.imgs.forEach(item => {
end_mileage.push(item.src)
})
wx.previewImage({
current:end_mileage[0],
urls:end_mileage,
})
}
},
//确认发车/接车
putAppTransfer() {
let that = this
if (that.data.mileage == ''){
wx.showToast({
title: '请填定里程数',
icon: 'none'
})
}else if(that.data.photos.length==0){
wx.showToast({
title: '请拍照上传',
icon: 'none'
})
}else{
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.optid;
if(that.data.optType==2){
let start_mileage = that.data.info.transport.start_mileage?that.data.info.transport.start_mileage:{}
start_mileage.value = that.data.mileage
start_mileage.imgs = that.data.photos
params['start_mileage'] = start_mileage;
}else if(that.data.optType==3){
let end_mileage = that.data.info.transport.end_mileage?that.data.info.transport.end_mileage:{}
end_mileage.value = that.data.mileage
end_mileage.imgs = that.data.photos
params['end_mileage'] = end_mileage;
}
_.apiQuery.putAppTransfer(params).then(res => {
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/allot/list/index'){
prevPage.onPullDownRefresh()
}
}
that.setData({
submitFlag: false,
isShowTransfer: false,
})
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//报备异常
postAppTransfer() {
let that = this
if (that.data.photos.length==0) {
wx.showToast({
title: '请拍照上传',
icon: 'none'
})
}else if(that.data.note == ''){
wx.showToast({
title: '请填定备注信息',
icon: 'none'
})
}else{
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.optid;
params['note'] = that.data.note;
if(that.data.photos.length > 0){
let imgs = []
that.data.photos.forEach(item => {
imgs.push(item.value)
})
params['imgs'] = imgs;
}
_.apiQuery.postAppTransfer(params).then(res => {
that.setData({
submitFlag: false,
isShowReport: false,
})
wx.showModal({
title: '异常报备成功',
content: '',
confirmText: "知道了",
confirmColor: "#36afa2",
cancelText: "返回",
cancelColor: "#666",
success(res) {
if (res.confirm) {
that.getAppTransfer()
} else if (res.cancel) {
wx.navigateBack({
delta: 1
})
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
/*上传运输单*/
transportUpload(e) {
let that = this
wx.chooseImage({
count: 10 - that.data.transport.length, //
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
wx.showLoading({
title: '图片上传中',
})
let transport=that.data.transport
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
url:_.config.api.upImg,
filePath:res1.tempFilePaths[i],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let imgdata = resp.data
let list = []
list.push({
value:imgdata.data.url,
src:imgdata.data.full_url,
})
transport=transport.concat(list)
if(i+1==res1.tempFilePaths.length){
setTimeout(function () {
let params = {};
params['id'] = that.data.info.id;
params['type'] = 0;
let imgs = []
transport.forEach(item => {
imgs.push(item.value)
})
params['imgs'] = imgs;
_.apiQuery.postAppTransferTransport(params).then(res => {
that.setData({
transport,
})
})
}, 500);
}
}else{
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
},
// 编辑页面删除图片
delTransport(e){
let transport = this.data.transport
transport.splice(e.currentTarget.dataset.index, 1)
let params = {};
params['id'] = this.data.info.id;
let imgs = []
transport.forEach(item => {
imgs.push(item.value)
})
params['imgs'] = imgs;
_.apiQuery.postAppTransferTransport(params).then(res => {
this.setData({
transport,
})
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppTransfer()
},
})