| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127 |
- <template>
- <view class="flex-common-css box-border-box">
- <Nav class="nav-b" :leftShow='false' :customNav='true' bgckgroundBox='#fff'>
- <template>
- <view slot="custom" class="text-align-center fw-600 fs-36">
- 我的订单
- </view>
- </template>
- </Nav>
- <view class="nav-box box-border-box bgc-f display-flex">
- <view class="nav-item flex-1 text-align-center" :class="type == item.id?'fs-36 fw-600':'fs-34 fw-400'" v-for="(item,i) in navList"
- :key="i" @click="selectType(item.id)">
- {{item.name}}
- <view v-if="type == item.id" class="nav-item-x"></view>
- </view>
- </view>
- <scroll-view class="nav-type-box bgc-f p-12-24 box-border-box" :scroll-x="true">
- <view class="nav-type-item text-align-center fs-28" v-for="(item,index) in navTypeData"
- @click="navTypeClick(item.key)"
- :class="navTypeKey== item.key?'bgc-E4F3FD fw-600 fc-41ABF5':'bgc-F4F5F7 fw-400 fc-3'">
- {{item.name}}
- </view>
- </scroll-view>
- <view v-if="list.length == 0" class="scroll-view-css">
- <EnBlank :customSrc='true'>
- <template v-slot:blankImg>
- <image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
- </template>
- </EnBlank>
- </view>
- <scroll-view v-else :scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
- <view class="list-box">
- <view class="list-item bgc-f b-rad-20 mb-32 p-24 box-border-box" v-for="(item,index) in list"
- @click="goToInfo(item)">
- <view class="align-items-center flex-justify-space mb-24">
- <view class="align-items-center">
- <image v-if="item.site_logo" class="shops-img" :src="item.site_logo" mode="aspectFit">
- </image>
- <image v-else-if="item.shop_logo" class="shops-img" :src="item.shop_logo" mode="aspectFit">
- </image>
- <image v-else class="shops-img" src="@/static/img/logo/logo.png" mode=""></image>
- <view v-if="item.site_name" class="fs-32 fc-3 fw-600 shops-name text-overflow-ellipsis-one">
- {{item.site_name}}
- </view>
- <view @click="goToShop(item)" v-else-if="item.shop_name"
- class="fs-32 fc-3 fw-600 shops-name text-overflow-ellipsis-one">
- {{item.shop_name}}
- </view>
- <view v-else class="fs-32 fc-3 fw-600 shops-name text-overflow-ellipsis-one">
- 君子校园
- </view>
- <!-- <image class="icons" src="@/static/img/toRight.png" mode=""></image> -->
- </view>
- <view class="fc-41ABF5 fs-28">
- {{item.order_status_str}}
- </view>
- </view>
- <view class="align-items-center flex-justify-space mb-24">
- <view class="goods-box" v-if="type == 1 || type == 2 || type == 5">
- <view class="" v-if="item.item.length == 1">
- <view class="align-items-center" v-for="(itemGoods,indexGoods) in item.item">
- <image class="goods-img flex-shrink0" :src="itemGoods.goods_img" mode="aspectFit">
- </image>
- <view class="fs-28 fc-6 text-overflow-ellipsis">
- {{itemGoods.goods_name}}
- </view>
- </view>
- </view>
- <view class="align-items-center goods-two" v-else>
- <view class="flex-direction" v-for="(itemGoods,indexGoods) in item.item">
- <image class="goods-img flex-shrink0" :src="itemGoods.goods_img" mode="aspectFit">
- </image>
- <view
- class="fs-28 fc-6 text-overflow-ellipsis-one goods-two-name text-align-center">
- {{itemGoods.goods_name}}
- </view>
- </view>
- </view>
- </view>
- <view class="goods-box" v-else>
- <view class="align-items-center">
- <image class="goods-img flex-shrink0" :src="item.goods_img" mode="aspectFit">
- </image>
- <view class="fs-28 fc-6 text-overflow-ellipsis">
- {{item.goods_name}}
- </view>
- </view>
- </view>
- <view class="goods-num text-align-center">
- 共 {{item.goods_number}} 件
- </view>
- </view>
- <view class="align-items-center flex-justify-space mb-24">
- <view class="fs-24 fc-9">
- 下单时间:{{item.created_at}}
- </view>
- <view class="fs-28 fc-9">
- {{item.order_status == 1?'需付':'实付'}} <text
- class="fs-32 fc-3 fw-600">¥{{item.pay_money}}</text>
- </view>
- </view>
- <view class="align-items-center flex-justify-end">
- <view class="item-but but-class-two fs-28 mr-18" @click="assess(item)"
- v-if="type == 1 && item.order_status == 7 && item.is_comment == 0">
- 评价
- </view>
- <view class="item-but but-class-two fs-28 mr-18" @click.stop="tackOut(item)"
- v-if="type == 1 && item.order_status == 2 || type == 1 && item.order_status == 4">
- <!-- 外卖 -->
- 取消订单
- </view>
- <view class="item-but but-class-two fs-28 mr-18" @click.stop="cancel(item)"
- v-if="type == 5 && item.order_status == 2">
- <!-- 干洗 -->
- 取消订单
- </view>
- <view class="item-but but-class-two fs-28 mr-18" @click.stop="expressCancel(item)"
- v-if="type == 2 && item.order_status == 2">
- <!-- 代取 -->
- 取消订单
- </view>
- <view class="item-but but-class-one fs-28 mr-18" @click.stop="orderPay(item)"
- v-if="item.order_status == 1">
- 立即支付
- </view>
- <view class="item-but but-class-one fs-28" @click.stop="openCode(item)"
- v-if="type == 5 && item.order_status == 2 || type == 5 && item.order_status == 4">
- 二维码
- </view>
- <view class="item-but but-class-two fs-28 mr-18" @click.stop="goCode(item)"
- v-if="type == 3 && item.order_status == 2">
- <!-- 代取 -->
- 查看券码
- </view>
- <view @click.stop="goToUrl('takeOut', item)" class="item-but but-class-one fs-28 mr-18"
- v-if="type == 1 && item.order_status == 3 || type == 1 && item.order_status == 7 || type == 1 && item.order_status == 8 || type == 1 && item.order_status == 9 || type == 1 && item.order_status == 10">
- <!-- 外卖 -->
- 再来一单
- </view>
- <view @click.stop="goToUrl('express', item)" class="item-but but-class-one fs-28 mr-18"
- v-if="type == 2 && item.order_status == 4 || type == 2 && item.order_status == 5 || type == 2 && item.order_status == 6">
- <!-- 代取 -->
- 再来一单
- </view>
- <view @click.stop="goToUrl('group', item)" class="item-but but-class-one fs-28 mr-18"
- v-if="type == 3 && item.order_status == 2 || type == 3 && item.order_status == 4">
- <!-- 团购 -->
- 再来一单
- </view>
- <view @click.stop="goToUrl('ticket', item)" class="item-but but-class-one fs-28 mr-18"
- v-if="type == 4 && item.order_status == 2 || type == 4 && item.order_status == 4">
- <!-- 票务 -->
- 再来一单
- </view>
- <view @click.stop="goToUrl('laundry', item)" class="item-but but-class-one fs-28 mr-18"
- v-if="type == 5 && item.order_status == 5 || type == 5 && item.order_status == 6 || type == 5 && item.order_status == 7">
- <!-- 干洗 -->
- 再来一单
- </view>
- </view>
- </view>
- </view>
- </scroll-view>
- <uni-popup ref="popup" border-radius="10px 10px 10px 10px" @maskClick='maskClick'>
- <view class="bgc-f p-16 box-border-box b-rad-20" v-if="qrcodeData">
- <!-- <UniQrcode :text="qrcodeData"></UniQrcode> -->
- <uv-qrcode class="b-rad-20" ref="qrcode" :value="qrcodeData" :options="options2"></uv-qrcode>
- <view class="text-align-center fs-38">
- {{onlyCode}}
- </view>
- </view>
- </uni-popup>
- <uni-popup ref="popupReason" type="bottom" background-color="#fff" border-radius="10px 10px 0 0">
- <view class="popup-reason-box flex-direction">
- <view class="text-align-center fs-38 fw-600 fc-3 mb-18">
- 选择取消原因
- </view>
- <picker-view @change="bindChange" class="picker-view flex-1" :immediate-change='true'>
- <picker-view-column>
- <view class="picker-view-item" v-for="(item,index) in refundReason" :key="index">
- {{item.refund_msg}}</view>
- </picker-view-column>
- </picker-view>
- <view class="align-items-center flex-justify-space">
- <view class="flex-1 mr-20 pop-b text-align-center fs-36 b-r-ccc" @click="popCancel">
- 取消
- </view>
- <view class="flex-1 pop-b text-align-center bgc-41ABF5 fc-f fs-36" @click="popSure">
- 确定
- </view>
- </view>
- </view>
- </uni-popup>
- </view>
- </template>
- <script>
- // import UniQrcode from 'uniapp-qrcode'
- import tools from '@/service/tools';
- import EnBlank from "@/components/en-utils/en-blank/en-blank";
- import {
- commonRefundReason
- } from "@/api/common.js"
- import {
- orderStatus,
- orderList,
- orderCancel,
- orderPay
- } from "@/api/order.js"
- import {
- getExpressPay
- } from "@/api/express.js"
- import {
- expressOrderStatus,
- expressOrderList,
- expressOrderCancel
- } from "@/api/expressOrder.js"
- import {
- groupPay
- } from '@/api/groupOrder.js';
- import {
- groupOrderStatus,
- groupOrderList
- } from "@/api/groupOrder.js"
- import {
- ticketPay
- } from '@/api/ticket.js';
- import {
- ticketOrderStatus,
- ticketOrderList
- } from "@/api/ticketOrder.js"
- import {
- laundryOrderStatus,
- laundryOrderList,
- laundryOrderCancel,
- laundryPay
- } from "@/api/laundryOrder.js"
- export default {
- components: {
- EnBlank
- },
- data() {
- return {
- type: 1,
- navList: [{
- name: '外卖',
- id: 1
- },
- {
- name: '代取',
- id: 2
- },
- {
- name: '团购',
- id: 3
- }
- ],
- page: 1,
- list: [],
- total: 0,
- navTypeData: [],
- navTypeKey: 0,
- isAjax: false,
- qrcodeData: '',
- options2: {},
- onlyCode: '',
- refundReason: [],
- order_id: 0,
- refund_msg: '', // 退款理由
- sureType: 0
- };
- },
- onShow() {
- setTimeout(() => {
- uni.showTabBar()
- }, 400)
- let orderPayType = uni.getStorageSync('orderPayType')
- let orderInfoType = uni.getStorageSync('orderInfoType')
- console.log(orderPayType, 'orderPayType');
- console.log(orderInfoType, 'orderInfoType');
- if (orderPayType) {
- this.selectType(orderPayType)
- console.log('固定type');
- } else if (orderInfoType) {
- } else {
- this.resetList();
- }
- uni.$on('takeOutData', (data) => {
- console.log(data, '^^^^^^^^^^^^^^^^^^^^^^^^^');
- this.list.forEach((v, k) => {
- if (v.id == data.id) {
- v.order_status = data.order_status
- v.order_status_str = data.order_status_str
- }
- })
- this.$forceUpdate()
- uni.removeStorageSync('orderInfoType')
- console.log(this.list, 'this.list');
- })
- },
- onLoad() {},
- onHide() {
- console.log("onHide");
- uni.removeStorageSync('orderPayType')
- },
- onUnload() {
- console.log("onUnload");
- },
- mounted() {},
- methods: {
- goCode(item) {
- uni.navigateTo({
- url: '/pages-buy/group-code?order_id=' + item.id
- })
- },
- openCode(item) {
- this.onlyCode = item.only_code
- let m_id = uni.getStorageSync('m_id');
- this.qrcodeData = m_id + "_" + item.order_sn
- this.options2 = {
- size: 300,
- margin: 10
- }
- uni.hideTabBar()
- this.$refs.popup.open('center')
- },
- maskClick() {
- this.$refs.popup.close()
- this.qrcodeData = ''
- uni.showTabBar()
- },
- goToShop(item) {
- // 进入店铺
- uni.navigateTo({
- url: '/pages-takeout/shop?shop_id=' + item.shop_id
- })
- },
- goToUrl(type, item) {
- // 再来一单
- if (type == 'takeOut') {
- // uni.navigateTo({
- // url: '/pages-takeout/takeout'
- // })
- uni.navigateTo({
- url: '/pages-takeout/shop?shop_id=' + item.shop_id
- })
- } else if (type == 'express') {
- uni.navigateTo({
- url: '/pages-takeout/replace-take'
- })
- } else if (type == 'group') {
- uni.navigateTo({
- url: '/pages-buy/group-shop?shop_id=' + item.shop_id
- })
- } else if (type == 'ticket') {
- uni.navigateTo({
- url: '/pages-buy/ticket'
- })
- } else if (type == 'laundry') {
- uni.navigateTo({
- url: '/pages-buy/dry-clean'
- })
- }
- },
- goToInfo(item) {
- if (this.type === 1) {
- uni.navigateTo({
- url: `/pages-order/takeout-info?orderId=` + item.id
- })
- } else if (this.type === 2) {
- uni.navigateTo({
- url: `/pages-order/express-info?orderId=` + item.id
- })
- } else if (this.type === 3) {
- uni.navigateTo({
- url: `/pages-order/group-info?orderId=` + item.id
- })
- } else if (this.type === 4) {
- uni.navigateTo({
- url: `/pages-order/ticket-info?orderId=` + item.id
- })
- } else if (this.type === 5) {
- uni.navigateTo({
- url: `/pages-order/laundry-info?orderId=` + item.id
- })
- }
- uni.setStorageSync('orderInfoType', this.type)
- },
- orderPay(item) {
- // 立即支付
- if (this.type === 1) {
- this.takeawayPay(item.id)
- } else if (this.type === 2) {
- this.getExpressPay(item.id)
- } else if (this.type === 3) {
- this.groupPay(item.id)
- } else if (this.type === 4) {
- this.ticketPay(item.id)
- } else if (this.type === 5) {
- this.laundryPay(item.id)
- }
- },
- navTypeClick(key) {
- if (this.navTypeKey != key) {
- this.navTypeKey = key
- this.page = 1
- this.list = []
- if (this.type === 1) {
- this.orderList()
- } else if (this.type === 2) {
- this.expressOrderList()
- } else if (this.type === 3) {
- this.groupOrderList()
- } else if (this.type === 4) {
- this.ticketOrderList()
- } else if (this.type === 5) {
- this.laundryOrderList()
- }
- }
- },
- resetList() {
- this.page = 1;
- this.list = [];
- this.getList();
- uni.removeStorageSync('orderPayType')
- },
- selectType(type) {
- let orderPayType = uni.getStorageSync('orderPayType')
- if (type != this.type || orderPayType) {
- this.type = type;
- this.navTypeKey = 0
- this.resetList();
- }
- },
- assess(item) {
- // 外卖评价
- uni.navigateTo({
- url: `/pages-my/appraise?orderId=` + item.id + '&shopName=' + item.shop_name + '&shopLogo=' +
- item.shop_logo
- })
- },
- popCancel() {
- // 退款取消
- this.$refs.popupReason.close()
- uni.showTabBar()
- },
- popSure() {
- // 退款确认
- if (this.sureType === 1) {
- // 外卖退款
- if (this.isAJAX) {
- return
- }
- this.isAJAX = true;
- orderCancel({
- order_id: this.order_id,
- refund_msg: this.refund_msg
- }).then((res) => {
- if (res.code == 1) {
- tools.success(res.msg)
- this.$refs.popupReason.close()
- uni.showTabBar()
- setTimeout(() => {
- this.page = 1;
- this.list = [];
- this.orderList()
- }, 1500)
- this.isAJAX = false;
- } else {
- tools.error(res.msg)
- this.isAJAX = false;
- }
- })
- } else if (this.sureType === 2) {
- // 代取退款
- if (this.isAJAX) {
- return
- }
- this.isAJAX = true;
- expressOrderCancel({
- order_id: this.order_id,
- refund_msg: this.refund_msg
- }).then((res) => {
- if (res.code == 1) {
- tools.success(res.msg)
- this.$refs.popupReason.close()
- uni.showTabBar()
- setTimeout(() => {
- this.page = 1;
- this.list = [];
- this.expressOrderList()
- }, 1500)
- this.isAJAX = false;
- } else {
- tools.error(res.msg)
- this.isAJAX = false;
- }
- })
- } else if(this.sureType === 3) {
- //干洗退款
- if (this.isAJAX) {
- return
- }
- this.isAJAX = true;
- laundryOrderCancel({
- order_id: this.order_id,
- refund_msg: this.refund_msg
- }).then((res) => {
- if (res.code == 1) {
- tools.success(res.msg)
- this.$refs.popupReason.close()
- uni.showTabBar()
- setTimeout(() => {
- this.page = 1;
- this.list = [];
- this.laundryOrderList()
- }, 1500)
- this.isAJAX = false;
- } else {
- tools.error(res.msg)
- this.isAJAX = false;
- }
- })
- }
- },
- bindChange(e) {
- let num = e.detail.value[0]
- this.refund_msg = this.refundReason[num].refund_msg
- },
- tackOut(item) {
- // 外卖取消订单
- uni.hideTabBar()
- this.sureType = 1
- this.order_id = item.id
- commonRefundReason().then((res) => {
- if (res.code === 1) {
- this.refundReason = res.data
- }
- })
- this.$refs.popupReason.open()
- // uni.showModal({
- // title: '提示',
- // content: '是否取消订单?',
- // confirmText: '确定',
- // confirmColor: '#FB3D03',
- // success: (res) => {
- // if (res.confirm === true) {
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // orderCancel({
- // order_id: item.id
- // }).then((res) => {
- // if (res.code == 1) {
- // tools.success(res.msg)
- // setTimeout(() => {
- // this.page = 1;
- // this.list = [];
- // this.orderList()
- // }, 1500)
- // this.isAJAX = false;
- // } else {
- // tools.error(res.msg)
- // this.isAJAX = false;
- // }
- // })
- // }
- // }
- // });
- },
- expressCancel(item) {
- // 代取取消订单
- uni.hideTabBar()
- this.sureType = 2
- this.order_id = item.id
- commonRefundReason().then((res) => {
- if (res.code === 1) {
- this.refundReason = res.data
- }
- })
- this.$refs.popupReason.open()
- // uni.showModal({
- // title: '提示',
- // content: '是否取消订单?',
- // confirmText: '确定',
- // confirmColor: '#FB3D03',
- // success: (res) => {
- // if (res.confirm === true) {
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // expressOrderCancel({
- // order_id: item.id
- // }).then((res) => {
- // if (res.code == 1) {
- // tools.success(res.msg)
- // setTimeout(() => {
- // this.page = 1;
- // this.list = [];
- // this.expressOrderList()
- // }, 1500)
- // this.isAJAX = false;
- // } else {
- // tools.error(res.msg)
- // this.isAJAX = false;
- // }
- // })
- // }
- // }
- // });
- },
- cancel(item) {
- // 干洗取消订单
- uni.hideTabBar()
- this.sureType = 3
- this.order_id = item.id
- commonRefundReason().then((res) => {
- if (res.code === 1) {
- this.refundReason = res.data
- }
- })
- this.$refs.popupReason.open()
- // uni.showModal({
- // title: '提示',
- // content: '是否取消订单?',
- // confirmText: '确定',
- // confirmColor: '#FB3D03',
- // success: (res) => {
- // if (res.confirm === true) {
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // laundryOrderCancel({
- // order_id: item.id
- // }).then((res) => {
- // if (res.code == 1) {
- // tools.success(res.msg)
- // setTimeout(() => {
- // this.page = 1;
- // this.list = [];
- // this.laundryOrderList()
- // }, 1500)
- // this.isAJAX = false;
- // } else {
- // tools.error(res.msg)
- // this.isAJAX = false;
- // }
- // })
- // }
- // }
- // });
- },
- scrolltolower() {
- ++this.page
- if (this.type === 1) {
- this.orderList()
- } else if (this.type === 2) {
- this.expressOrderList()
- } else if (this.type === 3) {
- this.groupOrderList()
- } else if (this.type === 4) {
- this.ticketOrderList()
- } else if (this.type === 5) {
- this.laundryOrderList()
- }
- // console.log('触底');
- },
- getList() {
- if (this.type === 1) {
- this.orderStatus()
- this.orderList()
- } else if (this.type === 2) {
- this.expressOrderStatus()
- this.expressOrderList()
- } else if (this.type === 3) {
- this.groupOrderStatus()
- this.groupOrderList()
- } else if (this.type === 4) {
- this.ticketOrderStatus()
- this.ticketOrderList()
- } else if (this.type === 5) {
- this.laundryOrderStatus()
- this.laundryOrderList()
- }
- },
- expressOrderStatus() {
- // 代取订单状态
- expressOrderStatus().then((res) => {
- if (res.code == 1) {
- this.navTypeData = res.data
- }
- })
- },
- orderStatus() {
- // 外卖订单状态
- orderStatus().then((res) => {
- if (res.code == 1) {
- this.navTypeData = res.data
- }
- })
- },
- groupOrderStatus() {
- // 团购订单状态
- groupOrderStatus().then((res) => {
- if (res.code == 1) {
- this.navTypeData = res.data
- }
- })
- },
- ticketOrderStatus() {
- // 票务订单状态
- ticketOrderStatus().then((res) => {
- if (res.code == 1) {
- this.navTypeData = res.data
- }
- })
- },
- laundryOrderStatus() {
- // 干洗订单状态
- laundryOrderStatus().then((res) => {
- if (res.code == 1) {
- this.navTypeData = res.data
- }
- })
- },
- orderList() {
- // 外卖订单列表
- orderList({
- status: this.navTypeKey,
- page: this.page
- }).then((res) => {
- if (res.code == 1) {
- if (res.data.items.length > 0) {
- this.list.push(...res.data.items)
- }
- }
- })
- },
- expressOrderList() {
- // 代取订单列表
- expressOrderList({
- status: this.navTypeKey,
- page: this.page
- }).then((res) => {
- if (res.code == 1) {
- if (res.data.items.length > 0) {
- this.list.push(...res.data.items)
- }
- }
- })
- },
- groupOrderList() {
- // 团购订单列表
- groupOrderList({
- status: this.navTypeKey,
- page: this.page
- }).then((res) => {
- if (res.code == 1) {
- if (res.data.items.length > 0) {
- this.list.push(...res.data.items)
- }
- }
- })
- },
- ticketOrderList() {
- // 票务订单列表
- ticketOrderList({
- status: this.navTypeKey,
- page: this.page
- }).then((res) => {
- if (res.code == 1) {
- if (res.data.items.length > 0) {
- this.list.push(...res.data.items)
- }
- }
- })
- },
- laundryOrderList() {
- // 干洗订单列表
- laundryOrderList({
- status: this.navTypeKey,
- page: this.page
- }).then((res) => {
- if (res.code == 1) {
- if (res.data.items.length > 0) {
- this.list.push(...res.data.items)
- }
- }
- })
- },
- takeawayPay(id) {
- // 外卖支付
- uni.redirectTo({
- url: `/pages-takeout/pay-page?orderId=${id}`
- });
- return
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // orderPay({
- // order_id: id
- // }).then((ret) => {
- // if (ret.code === 1) {
- // uni.requestPayment({
- // provider: "wxpay", //支付类型-固定值
- // timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
- // nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
- // package: ret.data.wx_pay.package, // 固定值
- // signType: ret.data.wx_pay.signType, //固定值
- // paySign: ret.data.wx_pay.paySign, //签名
- // success: (ren) => {
- // tools.success("支付成功");
- // this.isAJAX = false;
- // this.page = 1;
- // this.list = [];
- // this.orderList()
- // },
- // fail: (err) => {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // },
- // });
- // } else {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // }
- // })
- },
- getExpressPay(id) {
- // 代取支付
- uni.redirectTo({
- url: `/pages-takeout/pick-up-pay?orderId=${id}`
- });
- return
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // getExpressPay({
- // order_id: id
- // }).then((ret) => {
- // if (ret.code === 1) {
- // uni.requestPayment({
- // provider: "wxpay", //支付类型-固定值
- // timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
- // nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
- // package: ret.data.wx_pay.package, // 固定值
- // signType: ret.data.wx_pay.signType, //固定值
- // paySign: ret.data.wx_pay.paySign, //签名
- // success: (ren) => {
- // tools.success("支付成功");
- // this.isAJAX = false;
- // this.page = 1;
- // this.list = [];
- // this.expressOrderList()
- // },
- // fail: (err) => {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // },
- // });
- // } else {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // }
- // })
- },
- groupPay(id) {
- // 团购支付
- uni.redirectTo({
- url: `/pages-buy/group-pay-page?orderId=${id}`
- });
- return
- // if (this.isAJAX) {
- // return
- // }
- // this.isAJAX = true;
- // groupPay({
- // order_id: id
- // }).then((ret) => {
- // if (ret.code === 1) {
- // uni.requestPayment({
- // provider: "wxpay", //支付类型-固定值
- // timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
- // nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
- // package: ret.data.wx_pay.package, // 固定值
- // signType: ret.data.wx_pay.signType, //固定值
- // paySign: ret.data.wx_pay.paySign, //签名
- // success: (ren) => {
- // tools.success("支付成功");
- // this.isAJAX = false;
- // this.page = 1;
- // this.list = [];
- // this.groupOrderList()
- // },
- // fail: (err) => {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // },
- // });
- // } else {
- // this.isAJAX = false;
- // tools.error("支付失败");
- // }
- // })
- },
- ticketPay(id) {
- // 票务支付
- if (this.isAJAX) {
- return
- }
- this.isAJAX = true;
- ticketPay({
- order_id: id
- }).then((ret) => {
- if (ret.code === 1) {
- uni.requestPayment({
- provider: "wxpay", //支付类型-固定值
- timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
- nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
- package: ret.data.wx_pay.package, // 固定值
- signType: ret.data.wx_pay.signType, //固定值
- paySign: ret.data.wx_pay.paySign, //签名
- success: (ren) => {
- tools.success("支付成功");
- this.isAJAX = false;
- this.page = 1;
- this.list = [];
- this.ticketOrderList()
- },
- fail: (err) => {
- this.isAJAX = false;
- tools.error("支付失败");
- },
- });
- } else {
- this.isAJAX = false;
- tools.error("支付失败");
- }
- })
- },
- laundryPay(id) {
- // 干洗支付
- if (this.isAJAX) {
- return
- }
- this.isAJAX = true;
- laundryPay({
- order_id: id
- }).then((ret) => {
- if (ret.code === 1) {
- uni.requestPayment({
- provider: "wxpay", //支付类型-固定值
- timeStamp: ret.data.wx_pay.timeStamp + "", // 时间戳(单位:秒)
- nonceStr: ret.data.wx_pay.nonceStr, // 随机字符串
- package: ret.data.wx_pay.package, // 固定值
- signType: ret.data.wx_pay.signType, //固定值
- paySign: ret.data.wx_pay.paySign, //签名
- success: (ren) => {
- tools.success("支付成功");
- this.isAJAX = false;
- this.page = 1;
- this.list = [];
- this.laundryOrderList()
- },
- fail: (err) => {
- this.isAJAX = false;
- tools.error("支付失败");
- },
- });
- } else {
- this.isAJAX = false;
- tools.error("支付失败");
- }
- })
- }
- },
- }
- </script>
- <style lang="scss" scoped>
- .pop-b {
- height: 80rpx;
- line-height: 80rpx;
- border-radius: 20rpx;
- // border: 1rpx solid #F9F9F9;
- }
- .popup-reason-box {
- width: 100%;
- height: 45vh;
- overflow: auto;
- border-radius: 20rpx 20rpx 0 0;
- background: #fff;
- padding: 24rpx 0 0;
- box-sizing: border-box;
- }
- .picker-view {
- width: 100%;
- // height: 70%;
- }
- .picker-view-item {
- // height: 90rpx;
- line-height: 68rpx;
- text-align: center;
- background: #F5F5F5;
- }
- .nav-b {
- position: relative;
- z-index: -1 !important;
- }
- .nav-box {
- padding: 26rpx 44rpx;
- overflow-x: scroll;
- .nav-item {
- white-space: nowrap;
- position: relative;
- .nav-item-x {
- position: absolute;
- width: 48rpx;
- height: 6rpx;
- border-radius: 20rpx;
- background-color: #41ABF5;
- left: calc(50% - 24rpx);
- bottom: -10rpx;
- }
- }
- }
- .nav-type-box {
- width: 100%;
- white-space: nowrap;
- }
- .nav-type-item {
- width: 144rpx;
- height: 64rpx;
- line-height: 64rpx;
- margin: 0 24rpx 0 0;
- border-radius: 200rpx;
- display: inline-block;
- }
- .nav-type-item:last-child {
- margin: 0;
- }
- .list-box {
- padding: 20rpx;
- box-sizing: border-box;
- }
- .shops-img {
- width: 48rpx;
- height: 48rpx;
- margin: 0 8rpx 0 0;
- border-radius: 50%;
- }
- .shops-name {
- max-width: 452rpx;
- margin: 0 8rpx 0 0;
- }
- .icons {
- width: 32rpx;
- height: 32rpx;
- }
- .goods-box {
- max-width: 506rpx;
- height: auto;
- }
- .goods-num {
- width: 24rpx;
- height: auto;
- }
- .goods-img {
- width: 144rpx;
- height: 144rpx;
- border-radius: 12rpx;
- margin: 0 16rpx 0 0;
- }
- .goods-two {
- overflow-x: scroll;
- overflow: auto;
- }
- .goods-two-name {
- width: 144rpx;
- }
- .item-but {
- width: 160rpx;
- height: 64rpx;
- line-height: 64rpx;
- text-align: center;
- border-radius: 200rpx;
- }
- .but-class-one {
- background: linear-gradient(225deg, #41ABF5 0%, #5BD8FB 100%);
- color: #fff;
- }
- .but-class-two {
- background: #fff;
- border: 2rpx solid #CCCCCC;
- color: #333;
- }
- </style>
|