123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551 |
- // nova-tourism/pages/my/merchant/merchant-home/gift-order/index.js
- const Parse = getApp().Parse;
- const company = getApp().globalData.company
- const dateF = require('../../../../../../utils/date')
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- orderList: [], //订单列表
- storeId: '', //本店id
- statusMap_shop: {
- '100': '待支付',
- '200': '已支付',
- '300': '已发货',
- '400': '已收货',
- '500': '申请退款',
- '601': '退款申请通过',
- '602': '退款被驳回',
- '700': '退款成功',
- '800': '订单完成',
- },
- isShipments: false, //发货弹框
- shipments_order: null, //发货订单
- shipments_index: 0, //发货订单下标
- trackingNumber: null, //快递单号
- isShowExpress: false, //快递公司弹框
- expVal: '', //快递公司搜索关键字
- timeout: null, //搜索框计时器
- expComList: [], //快递公司列表
- checkExp: null, //选中的公司
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- let storeId = options.storeId;
- this.setData({
- storeId: storeId
- })
- this.refersh()
- },
- async refersh() {
- this.getOrder()
- },
- /**获取订单 */
- async getOrder() {
- let {
- storeId,
- orderList
- } = this.data
- let query = new Parse.Query('Order')
- query.include('targetObject', 'store', 'expressCompany')
- query.equalTo('company', company)
- query.equalTo('store', storeId)
- query.notEqualTo('isDeleted', true)
- query.containedIn('status', ['200', '300', '400', '500', '601', '602', '700', '800'])
- query.limit(10)
- query.skip(orderList?.length || 0)
- query.descending('createdAt')
- let r = await query.find()
- if (r?.length <= 0) wx.showToast({
- title: '到底了~',
- icon: 'none',
- duration: 500
- })
- let list = r?.map(item => {
- let obj = item?.toJSON()
- obj.createdAt = dateF.formatTime("YYYY-mm-dd HH:MM", obj.createdAt)
- if (obj.payTime) obj.payTime = dateF.formatTime("YYYY-mm-dd HH:MM", obj.payTime.iso)
- return obj
- }) || []
- this.setData({
- orderList: [...(orderList || []), ...(list || [])]
- })
- // console.log(this.data.orderList)
- },
- /**
- * 更新订单状态
- * @param {*} index 订单下标
- */
- async refershOrder(index) {
- let {
- orderList
- } = this.data
- let item = orderList[index]
- let query = new Parse.Query('Order')
- query.include('targetObject', 'store', 'expressCompany')
- query.notEqualTo('isDeleted', true)
- query.containedIn('status', ['200', '300', '400', '500', '601', '602', '700', '800'])
- query.equalTo('objectId', item.objectId)
- let r = await query.first()
- if (!r.id) {
- orderList.splice(index, 1)
- this.setData({
- orderList
- })
- return
- }
- let obj = r?.toJSON()
- obj.createdAt = dateF.formatTime("YYYY-mm-dd HH:MM", obj.createdAt)
- if (obj.payTime) obj.payTime = dateF.formatTime("YYYY-mm-dd HH:MM", obj.payTime.iso)
- orderList[index] = obj
- this.setData({
- orderList
- })
- },
- /**快递订单-确认发货 */
- async confirmShipment() {
- let {
- shipments_order,
- trackingNumber,
- checkExp,shipments_index
- } = this.data
- if ((!trackingNumber) || (!checkExp?.objectId)) {
- wx.showToast({
- title: '存在未填项',
- icon: 'none'
- })
- return
- }
- let query = new Parse.Query('Order')
- let o = await query.get(shipments_order?.objectId)
- o.set('trackingNumber', trackingNumber)
- o.set('expressCompany', {
- __type: 'Pointer',
- className: 'ExpressCompany',
- objectId: checkExp?.objectId
- })
- o.set('status','300')
- await o.save()
- await this.refershOrder(shipments_index)
- this.closeShipments()
- wx.showToast({
- title: '保存成功',
- icon:'success'
- })
- },
- /**发货弹框-开 */
- openShipments(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- orderList,statusMap_shop
- } = this.data
- let shipments_order = orderList[index]
- if (shipments_order.distributeType != 'delivery') return
- if(shipments_order.status != '200'){
- wx.showToast({
- title: `当前订单 ${statusMap_shop[shipments_order.status]} ,无需发货。`,
- icon:'none'
- })
- return
- }
- // console.log(shipments_order)
- this.setData({
- isShipments: true,
- shipments_order,
- shipments_index: index,
- checkExp: shipments_order.expressCompany || null,
- expVal: '',
- trackingNumber:shipments_order.trackingNumber||'',
- })
- },
- /**发货弹框-关 */
- closeShipments() {
- this.setData({
- isShipments: false
- })
- },
- /**确认退款 */
- confirm_refund(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- orderList
- } = this.data
- let _this = this
- wx.showModal({
- title: '',
- content: '已确认顾客退款到账吗?',
- showCancel: true,
- cancelText: '取消',
- cancelColor: '#000000',
- confirmText: '确定',
- confirmColor: '#3CC51F',
- success: async (result) => {
- if (result.confirm) {
- wx.showLoading({
- title: '加载中',
- })
- let ShopOrder = new Parse.Query('Order')
- let order = await ShopOrder.get(orderList[index]?.objectId)
- if (order && order?.id) {
- order.set('status', '700')
- await order.save()
- this.refershOrder(index)
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '出错了',
- icon: 'error',
- image: '',
- duration: 1500,
- });
- return
- }
- orderList.splice(index, 1)
- _this.setData({
- orderList
- })
- wx.hideLoading()
- wx.showToast({
- title: '已取消',
- icon: 'none',
- image: '',
- duration: 1500,
- });
- }
- },
- fail: () => {},
- complete: () => {}
- });
- },
- /**驳回退款 */
- overrule_refund(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- orderList
- } = this.data
- let _this = this
- wx.showModal({
- title: '',
- content: '驳回当前退款申请吗?',
- showCancel: true,
- cancelText: '取消',
- cancelColor: '#000000',
- confirmText: '确定',
- confirmColor: '#3CC51F',
- success: async (result) => {
- if (result.confirm) {
- wx.showLoading({
- title: '加载中',
- })
- let ShopOrder = new Parse.Query('Order')
- let order = await ShopOrder.get(orderList[index]?.objectId)
- if (order && order?.id) {
- order.set('status', '602')
- await order.save()
- this.refershOrder(index)
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '出错了',
- icon: 'error',
- image: '',
- duration: 1500,
- });
- return
- }
- orderList.splice(index, 1)
- _this.setData({
- orderList
- })
- wx.hideLoading()
- wx.showToast({
- title: '已取消',
- icon: 'none',
- image: '',
- duration: 1500,
- });
- }
- },
- fail: () => {},
- complete: () => {}
- });
- },
- /**同意退款 */
- agree_refund(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- orderList
- } = this.data
- let _this = this
- wx.showModal({
- title: '',
- content: '确认当前退款申请吗?',
- showCancel: true,
- cancelText: '取消',
- cancelColor: '#000000',
- confirmText: '确定',
- confirmColor: '#3CC51F',
- success: async (result) => {
- if (result.confirm) {
- wx.showLoading({
- title: '加载中',
- })
- let ShopOrder = new Parse.Query('Order')
- let order = await ShopOrder.get(orderList[index]?.objectId)
- if (order && order?.id) {
- order.set('status', '601')
- await order.save()
- this.refershOrder(index)
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '出错了',
- icon: 'error',
- image: '',
- duration: 1500,
- });
- return
- }
- orderList.splice(index, 1)
- _this.setData({
- orderList
- })
- wx.hideLoading()
- wx.showToast({
- title: '已取消',
- icon: 'none',
- image: '',
- duration: 1500,
- });
- }
- },
- fail: () => {},
- complete: () => {}
- });
- },
- /**确认收货 */
- confirm_receipt(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- orderList
- } = this.data
- let _this = this
- wx.showModal({
- title: '',
- content: '确认当前自提订单已取货吗',
- showCancel: true,
- cancelText: '取消',
- cancelColor: '#000000',
- confirmText: '确定',
- confirmColor: '#3CC51F',
- success: async (result) => {
- if (result.confirm) {
- wx.showLoading({
- title: '加载中',
- })
- let ShopOrder = new Parse.Query('Order')
- let order = await ShopOrder.get(orderList[index]?.objectId)
- if (order && order?.id) {
- order.set('status', '800')
- await order.save()
- this.refershOrder(index)
- } else {
- wx.hideLoading()
- wx.showToast({
- title: '出错了',
- icon: 'error',
- image: '',
- duration: 1500,
- });
- return
- }
- orderList.splice(index, 1)
- _this.setData({
- orderList
- })
- wx.hideLoading()
- wx.showToast({
- title: '已取消',
- icon: 'none',
- image: '',
- duration: 1500,
- });
- }
- },
- fail: () => {},
- complete: () => {}
- });
- },
- closeExpress() {
- this.setData({
- isShowExpress: false
- });
- },
- openExpress() {
- this.getPointerItem()
- this.setData({
- isShowExpress: true
- });
- },
- /**指针搜索框变化 */
- async valChange(e) {
- await this.setData({
- expVal: e.detail || ''
- })
- let {
- timeout
- } = this.data
- clearTimeout(timeout)
- timeout = setTimeout(async () => {
- await this.setData({
- expComList: [],
- })
- this.getPointerItem()
- }, 1000);
- this.setData({
- timeout
- })
- },
- /**选中快递公司 */
- checkPointer(e) {
- let {
- index
- } = e.currentTarget.dataset
- let {
- expComList
- } = this.data
- this.setData({
- checkExp: expComList[index]
- })
- // console.log(expComList[index])
- this.closeExpress()
- },
- /** 查询快递公司*/
- async getPointerItem() {
- let {
- expVal,
- expComList
- } = this.data
- let query = new Parse.Query('ExpressCompany')
- query.contains('name', expVal || '')
- query.limit(30)
- query.skip(expComList?.length || 0)
- let d = await query.find()
- let list = d?.map(item => item.toJSON())
- this.setData({
- expComList: [...(expComList || []), ...(list || [])]
- })
- },
- /**预览图片 */
- previewImg: function (e) {
- let {
- list
- } = e.currentTarget.dataset
- var photo = list || []
- wx.previewImage({
- current: photo[0],
- urls: photo
- });
- },
- /**复制文本 */
- onCopy(e) {
- let {
- text
- } = e.currentTarget.dataset
- wx.setClipboardData({
- data: text,
- success: function (res) {
- wx.getClipboardData({
- success: function (res) {
- wx.showToast({
- title: '复制成功',
- })
- }
- })
- }
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- this.getOrder()
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- }
- })
|