123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- // nova-tourism/pages/my/my-order/my-refund/refund-good/index.js
- let Parse = getApp().Parse;
- const company = getApp().globalData.company
- const uid = Parse.User.current()?.id
- const dateF = require("../../../../../../utils/date")
- const qiniuUploader = require("../../../../../../utils/qiniuUploader");
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- order: null, //订单
- way: '退货退款', //退换方式
- wayList: [{
- name: '退货退款'
- },
- {
- name: '退款(无需退货)'
- },
- {
- name: '换货'
- },
- ], //可选退换方式
- cause: '不想要了', //原因
- causeList: [{
- name: '不想要了'
- },
- {
- name: '商品瑕疵'
- },
- {
- name: '少件漏发'
- },
- {
- name: '商家发错货'
- },
- {
- name: '其他原因'
- },
- ], //可选原因
- content: '', //描述
- tempFiles: [], //图片-本地
- refundImgs: [], //图片
- isShowWay: false, //选择退货方式弹框
- isShowCause: false, //选择原因弹框
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- this.getToken()
- let {
- oid
- } = options
- console.log(options)
- this.setData({
- oid
- })
- this.getOrder()
- },
- /**上传图片 */
- getTemp() {
- let {
- tempFiles
- } = this.data
- let that = this
- wx.chooseMedia({
- count: 9,
- mediaType: 'image',
- success: (res) => {
- console.log(res)
- let tempPathList = res.tempFiles?.map(item => item.tempFilePath)
- that.setData({
- tempFiles: [...tempFiles, ...(tempPathList || [])]
- })
- }
- })
- },
- /**删除图片 */
- del(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- tempFiles
- } = this.data
- tempFiles.splice(index, 1)
- this.setData({
- tempFiles
- })
- },
- /** 获取token 上传图片所需*/
- async getToken() {
- let res = await Parse.Cloud.run('qiniu_uptoken', {
- company: company
- })
- this.setData({
- uptokenURL: res.uptoken,
- domain: res.domain,
- uploadURL: res.zoneUrl
- })
- },
- /**转换图片链接 */
- async upFileCall() {
- let {
- tempFiles
- } = this.data
- console.log(tempFiles)
- let that = this
- for (let i in tempFiles) {
- let item = tempFiles[i]
- await qiniuUploader.upload(
- item,
- async (res) => {
- let {
- refundImgs
- } = that.data
- console.log(res)
- refundImgs.push(res?.imageURL)
- that.setData({
- refundImgs
- })
- },
- (error) => {
- console.log("error: " + error);
- }, {
- region: "SCN",
- uploadURL: that.data.uploadURL,
- domain: that.data.domain,
- uptoken: that.data.uptokenURL,
- }
- );
- }
- },
- /**提交 */
- async submit() {
- let {
- content
- } = this.data
- if (!content) {
- wx.showToast({
- title: '请描述退款原因',
- icon: 'none'
- })
- return
- }
- wx.showLoading()
- let that = this
- await this.upFileCall()
- let interval = setInterval(async () => {
- if (that.data.refundImgs?.length == that.data.tempFiles?.length) {
- await that.saveOrder()
- clearInterval(interval)
- }
- }, 1000);
- },
- async saveOrder() {
- let {
- way,
- cause,
- content,
- refundImgs,
- orderParse
- } = this.data
- orderParse.set('status', '500')
- orderParse.set('content', `退换方式:${way}。原因:${cause}。描述:${content}`)
- orderParse.set('refundImgs', refundImgs || [])
- wx.hideLoading()
- try {
- await orderParse.save()
- await wx.showToast({
- title: '已提交退款申请',
- icon: 'none'
- })
- setTimeout(() => {
- wx.navigateBack({
- delta: 2,
- })
- }, 900);
- } catch (error) {
- wx.showToast({
- title: '出错了请检查后重试',
- icon: 'error'
- })
- }
- },
- /**获取订单 */
- async getOrder() {
- let {
- oid
- } = this.data
- let query = new Parse.Query('Order')
- query.include('targetObject')
- let d = await query.get(oid)
- let order = d?.toJSON()
- console.log(order)
- this.setData({
- order,
- orderParse: d
- })
- },
- closeWay() {
- this.setData({
- isShowWay: false
- });
- },
- openWay() {
- this.setData({
- isShowWay: true
- });
- },
- selectWay(event) {
- this.setData({
- way: event?.detail?.name || '退货退款'
- })
- },
- closeCause() {
- this.setData({
- isShowCause: false
- });
- },
- openCause() {
- this.setData({
- isShowCause: true
- });
- },
- selectCause(event) {
- this.setData({
- cause: event?.detail?.name || '不想要了'
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- }
- })
|