This repository has been archived on 2024-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
yoshop-wechat/pages/sharing/order/refund/apply/apply.js
2020-04-25 22:59:04 +08:00

199 lines
4.4 KiB
JavaScript

const App = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
// 订单商品id
order_goods_id: null,
// 订单商品详情
detail: {},
// 图片列表
imageList: [],
// 服务类型
serviceType: 10,
},
disable: false,
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
// 记录页面参数
this.data.order_goods_id = options.order_goods_id;
// 获取订单商品详情
this.getGoodsDetail();
},
/**
* 获取订单商品详情
*/
getGoodsDetail: function() {
let _this = this;
App._get('sharing.refund/apply', {
order_goods_id: this.data.order_goods_id
}, function(result) {
_this.setData(result.data);
});
},
/**
* 切换标签
*/
onSwitchService: function(e) {
// 记录formId
App.saveFormId(e.detail.formId);
this.setData({
serviceType: e.detail.target.dataset.type
});
},
/**
* 跳转商品详情
*/
onGoodsDetail: function(e) {
// 记录formId
App.saveFormId(e.detail.formId);
wx.navigateTo({
url: '../../../goods/index?goods_id=' + e.detail.target.dataset.id
});
},
/**
* 选择图片
*/
chooseImage: function(e) {
let _this = this,
index = e.currentTarget.dataset.index,
imageList = _this.data.imageList;
// 记录formId
App.saveFormId(e.detail.formId);
// 选择图片
wx.chooseImage({
count: 6 - imageList.length,
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function(res) {
_this.setData({
imageList: imageList.concat(res.tempFilePaths)
});
}
});
},
/**
* 删除图片
*/
deleteImage: function(e) {
let dataset = e.currentTarget.dataset,
imageList = this.data.imageList;
imageList.splice(dataset.imageIndex, 1);
this.setData({
imageList
});
},
/**
* 表单提交
*/
onSubmit: function(e) {
let _this = this;
if (!e.detail.value.content) {
App.showError('申请原因不能为空');
return false;
}
// 判断是否重复提交
if (_this.disable === true) {
return false;
}
// 表单提交按钮设为禁用 (防止重复提交)
_this.disable = true;
wx.showLoading({
title: '正在处理...',
mask: true
});
// form参数
let postParams = {
order_goods_id: _this.data.order_goods_id,
type: _this.data.serviceType,
content: e.detail.value.content,
};
// form提交执行函数
let fromPostCall = function(params) {
console.log('fromPostCall');
App._post_form('sharing.refund/apply', params, function(result) {
if (result.code === 1) {
App.showSuccess(result.msg, function() {
// 跳转售后管理页面
wx.navigateTo({
url: "../index"
});
});
} else {
App.showError(result.msg);
}
},
false,
function() {
wx.hideLoading();
_this.disable = false;
});
};
// 统计图片数量
let imagesLength = _this.data.imageList.length;
// 判断是否需要上传图片
imagesLength > 0 ? _this.uploadFile(imagesLength, fromPostCall, postParams) : fromPostCall(postParams);
},
/**
* 上传图片
*/
uploadFile: function(imagesLength, callBack, formData) {
let uploaded = [];
// 文件上传
let i = 0;
this.data.imageList.forEach(function(filePath, fileKey) {
wx.uploadFile({
url: App.api_root + 'upload/image',
filePath: filePath,
name: 'iFile',
formData: {
wxapp_id: App.getWxappId(),
token: wx.getStorageSync('token')
},
success: function(res) {
let result = typeof res.data === "object" ? res.data : JSON.parse(res.data);
if (result.code === 1) {
uploaded[fileKey] = result.data.file_id;
}
},
complete: function() {
i++;
if (imagesLength === i) {
// 所有文件上传完成
console.log('upload complete');
formData['images'] = uploaded;
// 执行回调函数
callBack && callBack(formData);
}
}
});
});
},
})