beefast-mini-deliveryman/pages/index/mark-up/index.js
2025-03-12 20:18:01 +08:00

118 lines
2.5 KiB
JavaScript

import orderApi from '../../../api/order';
const app = getApp();
Component({
relations:{
"/components/img-uploader":{
type:'child'
}
},
/**
* 组件的属性列表
*/
properties: {
orderId:{
type:String,
value:''
}
},
/**
* 组件的初始数据
*/
data: {
imgUploading:false,
money:1,
reason:'',
reasonFocus:false,
requestId:'',
isShowMarkup:false,
},
/**
* 组件的方法列表
*/
methods: {
async apply(){
const urls = await this.imgUploader.getUploadedUrl();
const valid = app.validateForm({
reason:{required:true,autoFocus:true,shake:true},
money:{min:1,shake:true}
},this)
if(valid.length>0){
return;
}
if(this.data.requestId){
orderApi.markUp.update({
id:this.data.requestId,
reason:this.data.reason,
photo_urls:urls,
additional_fee_amount:this.data.money
}).then(()=>{
this._updateSuccessAction();
});
}else{
orderApi.markUp.add({
orderid:this.currentOrder.orderid,
reason:this.data.reason,
photo_urls:urls,
additional_fee_amount:this.data.money
}).then((data)=>{
this._updateSuccessAction();
})
}
},
_updateSuccessAction(){
this.triggerEvent('success');
this.setData({
reason:'',
money:0,
isShowMarkup:false
});
this.imgUploader.setUploadedImgs([]);
wx.showToast({
title: '保存成功',
})
},
show(order){
this.setData({
isShowMarkup:true
})
this.currentOrder = order;
orderApi.markUp.get(order.orderid).then((data)=>{
let imgs = [];
data.photo_urls.map((item)=>{
imgs.push({
serverUrl:item,
uploaded:true
});
});
this.setData({
reason:data.reason,
money:data.additional_fee_amount,
requestId:data.id
})
this.imgUploader.setUploadedImgs(imgs);
}).catch((error)=>{
this.setData({
reason:'',
requestId:'',
money:0,
});
this.imgUploader.setUploadedImgs([]);
}).finally(()=>{
wx.nextTick(()=>{
this.setData({
reasonFocus:true
})
})
})
}
},
lifetimes:{
attached(){
this.imgUploader = this.selectComponent('#imgUploader')
}
}
})