Files
lcb/pages/order/detail/index2.js
T
2024-05-26 17:02:46 +08:00

994 lines
27 KiB
JavaScript

import _ from '../../../commons/js/commons'
const timer = require('../../../commons/js/lib/wxTimer');
var wxTimer = null
const app = getApp()
Page({
data: {
imgUrl:_.config.imgUrl,
submitFlag:false,
isShowOrderCode:false,
remark:'',//补充说明
carInfoList:[],//随车资料选项
ckcarInfo:[],//随车资料选中内容
carToolList:[],//随车随车工具选项
ckcarTool:[],//随车工具选中内容
cardida:{},//身份证正面照片
cardidb:{},//身份证反面照片
business_licence:{},//营业执照照片
car_img:{},//行驶证照片
register_img:{},//登记证照片
//ins_img:[],//保险照片
other_img:[],//交车合照
isShowCK:false,
isShowBill:false,
isShowConfirm: false, //是否显示确认窗口
confirm_count_down: 3,
wxTimerList: {},
wxTimer: null,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCusorderV2()
this.getUserInfo()
},
onShow: function () {
this.getAppCusorderdata()
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
if (wxTimer) {
wxTimer.stop();
wxTimer = null
}
this.setData({
wxTimerList: {},
wxTimer: null,
})
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
this.setData({
userInfo: res
})
});
},
//获取订单详情
getAppCusorderV2(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderV2(params).then(res=>{
this.setData({
info:res.data,
})
if(res.data.ckcar_status==1){
this.setData({
remark:res.data.ckcar_data.remark,//补充说明
ckcarInfo:res.data.ckcar_data.info,//随车资料选中内容
ckcarTool:res.data.ckcar_data.tool,//随车工具选中内容
})
this.getAppDelivery()
}
//匹配上牌城市
if(!!res.data.c_city_id){
_.apiQuery.getAppCityOncard().then(res1 => {
if(res1.data.list.length>0){
res1.data.list.forEach((item,index) => {
if(item.city_id == res.data.c_city_id){
this.setData({
c_city_name:item.name,
})
}
})
}
})
}
wx.stopPullDownRefresh()
})
},
//获取订单图片
getAppCusorderdata(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderdata(params).then(res=>{
this.setData({
imgInfo:res.data,
})
if(res.data.img_status == 1){
this.setData({
cardida:res.data.imgs.cardida.length==0?{}:res.data.imgs.cardida,
cardidb:res.data.imgs.cardidb.length==0?{}:res.data.imgs.cardidb,
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
//ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
})
if('delivery_ck_img' in res.data.imgs){
this.setData({
delivery_ck_img:res.data.imgs.delivery_ck_img.length==0?{}:res.data.imgs.delivery_ck_img,
})
}
}
wx.stopPullDownRefresh()
})
},
//获取车辆确认交付车辆
getAppDelivery(){
_.apiQuery.getAppDelivery().then(res=>{
let delivery = res.data
let carInfoList = []
let ckcar_data = this.data.info.ckcar_data
delivery.info.forEach(item => {
carInfoList.push({
title:item,
checked:false,
})
})
if(ckcar_data.info.length>0){
carInfoList.forEach(item1 => {
ckcar_data.info.forEach(item2 => {
if(item1.title == item2){
item1.checked = true
}
})
})
}
let carToolList = []
delivery.tool.forEach(item => {
carToolList.push({
title:item,
checked:false,
})
})
if(ckcar_data.tool.length>0){
carToolList.forEach(item1 => {
ckcar_data.tool.forEach(item2 => {
if(item1.title == item2){
item1.checked = true
}
})
})
}
this.setData({
carInfoList,
carToolList,
})
})
},
//显示短信弹框
showMessage(e){
this.setData({
isShowMessage:true,
content:'',
})
},
//关闭短信弹框
hideMessage(e){
this.setData({
isShowMessage:false,
})
},
// 输入
inputTx(e) {
this.setData({
[e.currentTarget.dataset.key]: e.detail.value
})
},
//发短信
postAppSmsCusorder(){
if (this.data.submitFlag) return;
if (this.data.content == '') {
wx.showToast({
title: '请填写短信内容',
icon: 'none'
})
} else {
this.setData({
submitFlag: true,
})
let params = {};
params['id'] = this.data.id;
params['content'] = this.data.content;
_.apiQuery.postAppSmsCusorder(params).then(res=>{
this.setData({
isShowMessage:false,
submitFlag:false,
content:'',
})
wx.showToast({
title: res.msg,
icon: 'none'
})
})
}
},
//选择图片
chooseImg(e) {
let that = this
//上传身份证正面
if(e.currentTarget.dataset.type=='cardida'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardida'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
}).catch(res2=>{
if(res2.code==418){
that.setData({
'cardida.err':!res2.data[0].caridA,
'cardida.errmsg':res2.data[0].errmsg,
})
}
});
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传身份证背面
if(e.currentTarget.dataset.type=='cardidb'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardidb'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
}).catch(res2=>{
if(res2.code==418){
that.setData({
'cardidb.err':!res2.data[1].caridB,
'cardidb.errmsg':res2.data[1].errmsg,
})
}
});
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传营业执照
if(e.currentTarget.dataset.type=='business_licence'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['business_licence'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
}).catch(res2=>{
if(res2.code==418){
that.setData({
'business_licence.err':!res2.data[0].business_licence,
'business_licence.errmsg':res2.data[0].errmsg,
})
}
});
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传登记证
if(e.currentTarget.dataset.type=='register_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['register_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
'register_img.value':resp.data.data.url,
'register_img.img':resp.data.data.full_url,
})
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传行驶证
if(e.currentTarget.dataset.type=='car_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['car_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
'car_img.value':resp.data.data.url,
'car_img.img':resp.data.data.full_url,
})
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传保单
if(e.currentTarget.dataset.type=='ins_img'){
wx.chooseImage({
count: 10 - that.data.ins_img.length, //
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
wx.showLoading({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
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) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
let list = []
list.push({
value:imgdata.data.url,
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
wx.hideLoading();
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}
}
},
})
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传交车合照
if(e.currentTarget.dataset.type=='other_img'){
wx.chooseImage({
count: 1, //
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
wx.showLoading({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
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) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
let list = []
list.push({
value:imgdata.data.url,
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
wx.hideLoading();
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}
}
},
})
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
// 编辑页面删除图片
delImg(e){
if(e.currentTarget.dataset.type=='ins_img'){
let ins_img = this.data.ins_img
ins_img.splice(e.currentTarget.dataset.index, 1)
let params = {};
params['id'] = this.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res => {
this.setData({
ins_img,
})
})
}else if(e.currentTarget.dataset.type=='other_img'){
let other_img = this.data.other_img
other_img.splice(e.currentTarget.dataset.index, 1)
let params = {};
params['id'] = this.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res => {
this.setData({
other_img,
})
})
}
},
//确认交付
putAppCusorderCkcar(){
if(this.data.ckcarInfo.length == 0){
wx.showToast({
title: '请选择随车资料',
icon: 'none'
})
}
else if(this.data.ckcarTool.length == 0){
wx.showToast({
title: '请选择随车工具',
icon: 'none'
})
}
else{
let that = this
wx.showModal({
title:'确认交付车辆?',
content:'',
success: function (res) {
if (res.confirm) {
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.id;
params['info'] = that.data.ckcarInfo;
params['tool'] = that.data.ckcarTool;
params['remark'] = that.data.remark;
_.apiQuery.putAppCusorderCkcar(params).then(res => {
that.setData({
submitFlag: false,
})
that.getAppCusorderV2()
wx.showToast({
title: '确认交付车辆成功',
icon: 'success'
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
}
})
}
},
//订单支付码
optShowOrderCode() {
this.setData({
isShowOrderCode:!this.data.isShowOrderCode,
})
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='bill_img'){
let urls = [this.data.info.bill_img]
wx.previewImage({
current:e.currentTarget.dataset.current,
urls,
})
}
else if(e.currentTarget.dataset.type=='bill_ck_img'){
let urls = this.data.imgInfo.imgs.bill_ck_img
wx.previewImage({
current:e.currentTarget.dataset.current,
urls,
})
}
else if(e.currentTarget.dataset.type=='cardida'){
wx.previewImage({
current:this.data.imgInfo.imgs.cardida.img,
urls:[this.data.imgInfo.imgs.cardida.img],
})
}
else if(e.currentTarget.dataset.type=='cardidb'){
wx.previewImage({
current:this.data.imgInfo.imgs.cardidb.img,
urls:[this.data.imgInfo.imgs.cardidb.img],
})
}
else if(e.currentTarget.dataset.type=='business_licence'){
wx.previewImage({
current:this.data.imgInfo.imgs.business_licence.img,
urls:[this.data.imgInfo.imgs.business_licence.img],
})
}
else if(e.currentTarget.dataset.type=='register_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.register_img.img,
urls:[this.data.imgInfo.imgs.register_img.img],
})
}
else if(e.currentTarget.dataset.type=='car_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.car_img.img,
urls:[this.data.imgInfo.imgs.car_img.img],
})
}
else if(e.currentTarget.dataset.type=='insurance_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.insurance_img.img,
urls:[this.data.imgInfo.imgs.insurance_img.img],
})
}
else if(e.currentTarget.dataset.type=='business_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.business_img.img,
urls:[this.data.imgInfo.imgs.business_img.img],
})
}
else if(e.currentTarget.dataset.type=='accident_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.accident_img.img,
urls:[this.data.imgInfo.imgs.accident_img.img],
})
}
// else if(e.currentTarget.dataset.type=='ins_img'){
// let img = []
// if(this.data.imgInfo.imgs.insurance_img.img){
// img.push(this.data.imgInfo.imgs.insurance_img.img)
// }
// if(this.data.imgInfo.imgs.business_img.img){
// img.push(this.data.imgInfo.imgs.business_img.img)
// }
// this.data.imgInfo.imgs.ins_img.forEach(item => {
// img.push(item.img)
// })
// wx.previewImage({
// current:this.data.imgInfo.imgs.insurance_img.img,
// urls:img,
// })
// }
else if(e.currentTarget.dataset.type=='other_img'){
let img = []
this.data.imgInfo.imgs.other_img.forEach(item => {
img.push(item.img)
})
wx.previewImage({
current:this.data.imgInfo.imgs.other_img[0].img,
urls:img,
})
}
else if(e.currentTarget.dataset.type=='delivery_ck_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.delivery_ck_img.img,
urls:[this.data.imgInfo.imgs.delivery_ck_img.img],
})
}
else if(e.currentTarget.dataset.type=='wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.wx_img.img,
urls:[this.data.imgInfo.imgs.wx_img.img],
})
}
else if(e.currentTarget.dataset.type=='mut_wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.mut_wx_img.img,
urls:[this.data.imgInfo.imgs.mut_wx_img.img],
})
}
else if(e.currentTarget.dataset.type=='destory_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.destory_img.img,
urls:[this.data.imgInfo.imgs.destory_img.img],
})
}
else if(e.currentTarget.dataset.type=='notify'){
let img = []
this.data.info.notify_file.forEach(item => {
img.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:img,
})
}
else if(e.currentTarget.dataset.type=='lend'){
wx.previewImage({
current:this.data.info.lend_file.src,
urls:[this.data.info.lend_file.src],
})
}
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//随车资料
changeMaterial(e) {
let carInfoList = this.data.carInfoList
let values = e.detail.value
carInfoList.forEach(item1 => {
item1.checked = false
values.forEach(item2 => {
if(item1.title == item2){
item1.checked = true
}
})
})
this.setData({
ckcarInfo:e.detail.value,
carInfoList,
})
},
//随车工具
changeTool(e) {
let carToolList = this.data.carToolList
let values = e.detail.value
carToolList.forEach(item1 => {
item1.checked = false
values.forEach(item2 => {
if(item1.title == item2){
item1.checked = true
}
})
})
this.setData({
ckcarTool:e.detail.value,
carToolList,
})
},
//显示隐藏合格证
optShowCK(){
this.setData({
isShowCK:!this.data.isShowCK,
})
},
//显示隐藏合格证
optShowBill(){
this.setData({
isShowBill:!this.data.isShowBill,
})
},
//删除订单
putAppCusorderV2Status(){
let that = this
wx.showModal({
title: '确定删除订单?',
content: '',
confirmColor: "#36afa2",
success(resW) {
if (resW.confirm) {
let params = {};
params['id'] = that.data.id;
_.apiQuery.putAppCusorderV2Status(params).then(res => {
//刷新列表页
let pages = getCurrentPages();
pages.forEach(item => {
if(item.route == 'pages/order/index2'){
item.onPullDownRefresh()
}
})
wx.showToast({
title: '删除成功',
icon: 'success',
duration: 2000
})
setTimeout(function () {
wx.navigateBack({
delta: 1
})
}, 500)
})
}
}
})
},
//20240526 确认弹窗
bindShowConfirm(){
this.setData({
isShowConfirm:true,
submitFlag: true
},()=>{
this.getTimes(this.data.confirm_count_down)
})
},
//关闭短信弹框
hideConfirm(e){
this.setData({
isShowConfirm:false,
})
},
//20240526 确定无误接口
postConfirmOrder(){
console.log('postConfirmOrder')
},
/**
* 生成倒计时
*/
getTimes(seconds) {
let that = this
return new Promise(function (resolve, reject) {
wxTimer = new timer({
name: 'wxTimer',
leftTime: seconds,
complete: function () {
// that.setData({
// isShow: false
// })
setTimeout(() => {
that.setData({
'submitFlag': false,
wxTimerList: {}
})
}, 1000);
// that.getAppActivityExchange()
resolve()
},
})
wxTimer.start(that);
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppCusorderdata()
this.getAppCusorderV2()
this.setData({
wxTimerList: {},
wxTimer: null
})
},
})