| | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | type: 'customer', |
| | | query: { |
| | | status: '', |
| | | }, |
| | | status: [ |
| | | {name: '全部', value: ''}, |
| | | {name: '待付款', value: 'PENDING'}, |
| | | {name: '待发货', value: 'SEND'}, |
| | | {name: '待收货', value: 'RECEIVE'}, |
| | | {name: '待评价', value: 'EVALUATE'}, |
| | | {name: '售后', value: 'COMPLETED'}, |
| | | {name: '已退款', value: 'REFUND'}, |
| | | ] |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | | this.query.status = options.status || '' |
| | | this.listApi = `/api/customer/list` |
| | | this.getList() |
| | | }, |
| | | onReachBottom() { |
| | | this.page.current += 1 |
| | | this.getMore() |
| | | }, |
| | | async onPullDownRefresh() { |
| | | this.page.current = 1 |
| | | await this.getList() |
| | | uni.stopPullDownRefresh() |
| | | }, |
| | | methods: { |
| | | toDetail(item) { |
| | | // 订单详情页面 |
| | | uni.navigateTo({ |
| | | url: 'pages/order/order-detail?id=' + item.id |
| | | }) |
| | | }, |
| | | }, |
| | | } |
| | | export default { |
| | | |
| | | data() { |
| | | return { |
| | | type: 'customer', |
| | | query: { |
| | | status: '', |
| | | }, |
| | | timer: undefined, |
| | | status: [{ |
| | | name: '全部', |
| | | value: '' |
| | | }, |
| | | { |
| | | name: '待付款', |
| | | value: 'PENDING' |
| | | }, |
| | | { |
| | | name: '待发货', |
| | | value: 'SEND' |
| | | }, |
| | | { |
| | | name: '待收货', |
| | | value: 'RECEIVE' |
| | | }, |
| | | { |
| | | name: '待评价', |
| | | value: 'EVALUATE' |
| | | }, |
| | | { |
| | | name: '已完成', |
| | | value: 'COMPLETED' |
| | | }, |
| | | { |
| | | name: '已退款', |
| | | value: 'REFUND' |
| | | }, |
| | | ] |
| | | }; |
| | | }, |
| | | onUnload() { |
| | | this.timer && clearTimeout(this.timer) |
| | | }, |
| | | async onLoad(options) { |
| | | this.query.status = options.status || '' |
| | | this.listApi = `/api/customer/order/list` |
| | | await this.getList() |
| | | this.timer = setInterval(() => { |
| | | //倒计时 |
| | | var nowdate = new Date().getTime() - 1000 * 60 * 5 |
| | | var change = false |
| | | for (var item of this.list) { |
| | | if (item.statusBackend === 'PENDING') { |
| | | //计算倒计时 |
| | | var diff = new Date(item.createTime).getTime() - nowdate |
| | | // console.log('diff', diff, item) |
| | | if (diff <= 2000 && true) { |
| | | //超过了5分钟 |
| | | item.statusBackend = 'CANCEL' |
| | | item.statusBackend = '已取消' |
| | | item.status = 'CANCEL' |
| | | item.statusStr = '已取消' |
| | | |
| | | item.bctime = '' |
| | | change = true |
| | | |
| | | } else { |
| | | //相差 |
| | | var alltime = parseInt(diff / 1000) |
| | | var tt = 0 |
| | | if (alltime > 60) { |
| | | tt = alltime - parseInt(alltime / 60) * 60 |
| | | } else { |
| | | tt = alltime |
| | | } |
| | | item.bctime = `0${parseInt(alltime / 60)}:${tt<10?'0':''}${tt}` |
| | | change = true |
| | | |
| | | } |
| | | } |
| | | } |
| | | if (change) |
| | | this.$forceUpdate() |
| | | }, 1000) |
| | | }, |
| | | onReachBottom() { |
| | | this.getMore() |
| | | }, |
| | | async onPullDownRefresh() { |
| | | this.page.current = 1 |
| | | await this.getList() |
| | | uni.stopPullDownRefresh() |
| | | }, |
| | | async onShow() { |
| | | // 支付回调 |
| | | // #ifdef PUB_CUSTOMER |
| | | let options = wx.getEnterOptionsSync(); |
| | | if (options.scene == '1038' && options.referrerInfo.appId == 'wxef277996acc166c3') { |
| | | // 代表从收银台小程序返回 |
| | | let extraData = options.referrerInfo.extraData; |
| | | this.$store.dispatch('sign_add', 'order') |
| | | this.refreshList() |
| | | return |
| | | } |
| | | // #endif |
| | | }, |
| | | methods: { |
| | | |
| | | |
| | | openbrand(item) { |
| | | console.log(item) |
| | | //也要判断一下是否重复进入 |
| | | //判断堆栈,如果是店铺,就直接返回 |
| | | //或者是:从商铺到列表再到详情,再到商铺,这种也不行 |
| | | const pages = getCurrentPages(); |
| | | console.log('toShopping', pages) |
| | | if (pages && pages.length >= 2) { |
| | | if (pages[pages.length - 2].route === "sub_pages/customer/shop/shop") { |
| | | uni.navigateBack() |
| | | return |
| | | } |
| | | } |
| | | if (pages && pages.length >= 3) { |
| | | if (pages[pages.length - 3].route === "sub_pages/customer/shop/shop" && |
| | | pages[pages.length - 2].route === "sub_pages/customer/trade/list" |
| | | ) { |
| | | uni.navigateBack({ |
| | | delta: 2 |
| | | }) |
| | | return |
| | | } |
| | | } |
| | | |
| | | if (pages.length >= 10) { |
| | | //直接强制购物车 |
| | | uni.reLaunch({ |
| | | url: '/sub_pages/customer/shop/shop?id=' + (item.supplierId || '') |
| | | }) |
| | | } else { |
| | | uni.navigateTo({ |
| | | url: '/sub_pages/customer/shop/shop?id=' + (item.supplierId || '') |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | toFlowerDetail(item) { |
| | | uni.navigateTo({ |
| | | url: `/sub_pages/customer/trade/detail?id=${item.flowerId}` |
| | | }) |
| | | }, |
| | | getList_after() { |
| | | var nowdate = new Date().getTime() - 1000 * 60 * 5 |
| | | var change = false |
| | | for (var item of this.list) { |
| | | if (item.statusBackend === 'PENDING') { |
| | | //计算倒计时 |
| | | var diff = new Date(item.createTime).getTime() - nowdate |
| | | if (diff <= 2000 && true) { |
| | | //超过了5分钟 |
| | | item.statusBackend = 'CANCEL' |
| | | item.statusBackend = '已取消' |
| | | item.status = 'CANCEL' |
| | | item.statusStr = '已取消' |
| | | |
| | | item.bctime = '' |
| | | change = true |
| | | |
| | | } |
| | | } |
| | | } |
| | | if (change) |
| | | this.$forceUpdate() |
| | | }, |
| | | toDetail(item) { |
| | | // 订单详情页面 |
| | | // console.log(' toDetail item', item) |
| | | uni.navigateTo({ |
| | | url: '/pages/order/order-detail?id=' + item.id |
| | | }) |
| | | }, |
| | | |
| | | commentButtonClick(item){ |
| | | uni.navigateTo({ |
| | | url: '/pages/order/comment/order-comment?id='+item.id |
| | | }) |
| | | }, |
| | | |
| | | |
| | | async copyOrder(item) { |
| | | await this.$message.confirm('是否确定再来一单') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await this.$http.request('get', '/api/customer/order/copyOrder', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | //微信接口 |
| | | if (msg && msg != "") { |
| | | this.$message.showToast(msg) |
| | | } |
| | | |
| | | } |
| | | }, |
| | | |
| | | toDetailSaleInfo(dto, flower) { |
| | | console.log('flower', dto, flower) |
| | | uni.navigateTo({ |
| | | url: '/pages/order/order-detail?showsales=1&id=' + dto.id + '&flowerId=' + flower.id |
| | | }) |
| | | }, |
| | | toOrderItemDetail(item, op, opstr) { |
| | | uni.navigateTo({ |
| | | url: `/sub_pages/supplier/order-manage/order-manage-settlement-op-detail?opStr=${opstr}&op=${op}&orderItemId=${item.id || item.orderItemId}` |
| | | }) |
| | | }, |
| | | async buttonClick(item, buttontype) { |
| | | switch (buttontype) { |
| | | case 'refund': { |
| | | await this.$message.confirm('是否确定申请退款') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/refund', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.$store.dispatch('sign_add', 'order') |
| | | this.refreshList() |
| | | } |
| | | } |
| | | break |
| | | case 'confirm': { |
| | | await this.$message.confirm('是否确定收货') |
| | | var tryCallWx = false |
| | | // #ifdef MPOLD |
| | | let tmp = this |
| | | if (wx.openBusinessView && item.paymentTrId) { |
| | | tryCallWx = true |
| | | wx.openBusinessView({ |
| | | businessType: 'weappOrderConfirm', |
| | | extraData: { |
| | | // merchant_id: '1230000109', |
| | | // merchant_trade_no: '1234323JKHDFE1243252', |
| | | // merchant_id: '1661512517', |
| | | // merchant_trade_no: item.orderId || item.id || '', |
| | | transaction_id: item.paymentTrId |
| | | }, |
| | | async success(info) { |
| | | console.log('确认收货 info success', info) |
| | | //dosomething |
| | | if (info.extraData && info.extraData.status === 'fail') { |
| | | tmp.$message.showToast('支付和确认收货需要是同一微信号,请联系实际支付人登录确认') |
| | | } else if (info.extraData && info.extraData.status === 'cancel') { |
| | | |
| | | } else { |
| | | |
| | | |
| | | // 发送请求 |
| | | tmp.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await tmp.$http.request('get', |
| | | '/api/customer/order/receive/confirm', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | tmp.$message.hideLoading() |
| | | if (code === 0) { |
| | | tmp.refreshList() |
| | | //刷新积分 |
| | | tmp.$store.dispatch('getCurrentInfo') |
| | | tmp.$message.showToast('收货成功') |
| | | } |
| | | } |
| | | }, |
| | | fail(e) { |
| | | console.log('确认收货 info error', e) |
| | | // console.log('error fail', e) |
| | | tmp.$message.showToast('收货失败') |
| | | }, |
| | | complete(info) { |
| | | //dosomething |
| | | console.log('确认收货 info complete', info) |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // #endif |
| | | |
| | | if (!tryCallWx) { |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/receive/confirm', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.refreshList() |
| | | //刷新积分 |
| | | this.$store.dispatch('getCurrentInfo') |
| | | this.$message.showToast('收货成功') |
| | | } |
| | | } |
| | | |
| | | } |
| | | break |
| | | case 'payAgain': { |
| | | await this.$message.confirm('是否确定重新支付') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code, |
| | | data |
| | | } = await this.$http.request('get', '/api/customer/order/payAgain', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | //微信接口 |
| | | let that = this |
| | | // #ifndef PUB_CUSTOMER |
| | | wx.requestPayment({ |
| | | ...data, |
| | | async success(res) { |
| | | console.log('pay success', res) |
| | | that.$message.showToast('支付成功') |
| | | setTimeout(() => { |
| | | that.$store.dispatch('sign_add', 'order') |
| | | that.refreshList() |
| | | }, 200) |
| | | }, |
| | | fail(err) { |
| | | console.error('pay fail', err) |
| | | that.$message.showToast('支付失败') |
| | | } |
| | | }) |
| | | // #endif |
| | | // #ifdef PUB_CUSTOMER |
| | | var param = { |
| | | // cusid: "平台分配的商户号", |
| | | // appid: "平台分配的appid", |
| | | // orgid: "平台分配的机构号", |
| | | // version: "12", |
| | | // trxamt: "1", |
| | | // reqsn: "商户唯一订单号", |
| | | // notify_url: "服务器异步通知页面路径", |
| | | // body: "标题", |
| | | // remark: "备注", |
| | | // validtime: "订单有效时间", |
| | | // limit_pay: "no_credit", |
| | | // randomstr: "随机字符串", |
| | | // paytype: "W06", |
| | | // signtype: "签名方式", |
| | | // sign: "签名,参考2.1", |
| | | ...data |
| | | } |
| | | wx.openEmbeddedMiniProgram({ |
| | | appId: 'wxef277996acc166c3', |
| | | extraData: param |
| | | }) |
| | | // if (compareVersion(version, '2.26.2') >= 0) { |
| | | |
| | | // wx.openEmbeddedMiniProgram({ |
| | | // appId: 'wxef277996acc166c3', |
| | | // extraData: param |
| | | // }) |
| | | |
| | | // } else { |
| | | // wx.navigateToMiniProgram({ |
| | | // appId: 'wxef277996acc166c3', |
| | | // extraData: param |
| | | // }) |
| | | |
| | | // } |
| | | // #endif |
| | | |
| | | } |
| | | |
| | | } |
| | | break |
| | | case 'evaluate': { |
| | | const res = await this.$message.confirm('', { |
| | | editable: true, |
| | | title: '请输入评价信息' |
| | | }) |
| | | if (res.content && res.confirm) { |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('post', '/api/customer/order/evaluate', { |
| | | data: { |
| | | id: item.id, |
| | | evaluate: res.content |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.refreshList() |
| | | } |
| | | } |
| | | } |
| | | break |
| | | // case 'sales': { |
| | | |
| | | |
| | | // }, |
| | | case 'cancelOrder': { |
| | | await this.$message.confirm('是否取消订单') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/cancel', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.$store.dispatch('sign_add', 'order') |
| | | this.refreshList() |
| | | } |
| | | } |
| | | break |
| | | case 'delOrder': { |
| | | await this.$message.confirm('是否删除此订单') |
| | | // 发送请求 |
| | | this.$message.showLoading() |
| | | const { |
| | | code |
| | | } = await this.$http.request('get', '/api/customer/order/delete', { |
| | | params: { |
| | | id: item.id, |
| | | } |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | // this.$store.dispatch('sign_add', 'order') |
| | | this.refreshList() |
| | | |
| | | } |
| | | } |
| | | break |
| | | default: |
| | | break |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | } |
| | | </script> |
| | | <template> |
| | | <view class="order-container"> |
| | | <view class="order-top"> |
| | | <view class="title">订单信息</view> |
| | | <view class="flex"> |
| | | <image class="image img100" |
| | | src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/67/67acf980f310460a97d305c6ffc7e811位图@2x (1).png"></image> |
| | | <view>消费订单:¥<span>{{ '0' }}</span> 总消费:¥<span>{{ '0' }}</span></view> |
| | | </view> |
| | | </view> |
| | | <view class="status-list m-t-12 flex"> |
| | | <view v-for="each of status" :key="each.value" class="status-each" :class="[query.status===each.value?'cur':'']"> |
| | | {{ each.name }} |
| | | </view> |
| | | </view> |
| | | <no-data v-if="!list||list.length==0" style="width: 100%;" class="m-t-12"></no-data> |
| | | <view v-for="(item,index) in list" :key="index" class="m-t-12"> |
| | | <view @click.stop="toDetail(item)" class="order-item list-item"> |
| | | <view class="title flex"> |
| | | <view> |
| | | 订单:{{ item.orderNo }} |
| | | </view> |
| | | <view class="status t-red m-l-a m-r-0">¥{{ item.paymentAmount || item.totalAmount || '0'}}</view> |
| | | </view> |
| | | <view class="desc flex" v-if="!query.status"> |
| | | <view class="label"> |
| | | 订单状态: |
| | | </view> |
| | | <view class="value">{{ item.statusBackendStr }}</view> |
| | | </view> |
| | | <view class="desc flex"> |
| | | <view class="label"> |
| | | 收货人: |
| | | </view> |
| | | <view class="value">{{ item.customer }}</view> |
| | | </view> |
| | | <view class="desc flex"> |
| | | <view class="label"> |
| | | 收货人手机号码: |
| | | </view> |
| | | <view class="value">{{ item.customerTel }}</view> |
| | | </view> |
| | | <view class="desc flex"> |
| | | <view class="label"> |
| | | 收货地址: |
| | | </view> |
| | | <view class="value">{{ item.customerAddress }}</view> |
| | | </view> |
| | | <view class="desc flex"> |
| | | <view class="label"> |
| | | 支付时间: |
| | | </view> |
| | | <view class="value">{{ item.paymentTime }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="order-container"> |
| | | <view class="order-top" v-if="false"> |
| | | <view class="title">订单信息</view> |
| | | <view class="flex"> |
| | | <image class="image img100" |
| | | src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/67/67acf980f310460a97d305c6ffc7e811位图@2x (1).png"> |
| | | </image> |
| | | <view>消费订单:¥<span class="m-r-10">{{ '0' }}</span> 总消费:¥<span>{{ '0' }}</span></view> |
| | | </view> |
| | | </view> |
| | | <view class="status-list m-t-12 flex flex-wrap-normal"> |
| | | <view v-for="each of status" :key="each.value" @click.stop="(e)=>{ |
| | | query.status = each.value || ''; |
| | | refreshList(); |
| | | }" class="status-each" :class="[query.status===each.value?'cur':'']"> |
| | | {{ each.name }} |
| | | </view> |
| | | </view> |
| | | <no-data v-if="!list||list.length===0" style="width: 100%;" class="m-t-12"></no-data> |
| | | <view v-for="(dto,index) in list" :key="index" class="m-t-12"> |
| | | <view class="order-item list-item"> |
| | | <view class="title flex"> |
| | | <view> |
| | | 订单:{{ dto.orderNo }} |
| | | </view> |
| | | <view class="status t-red m-l-a m-r-0">¥{{ dto.paymentAmount || dto.totalAmount || '0'}}</view> |
| | | </view> |
| | | <view class=" desc flex" v-if="!query.status"> |
| | | <view class="label"> |
| | | 订单状态: |
| | | </view> |
| | | <view class="value" style="color: #000">{{ dto.statusBackendStr || '-' }}</view> |
| | | </view> |
| | | <view class="desc flex" v-if="dto.deliveryNo" @click="copyTxt(dto.deliveryNo)"> |
| | | <view class="label"> |
| | | 快递单号: |
| | | </view> |
| | | <view class="value">{{ dto.deliveryNo }}</view> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="flex"> |
| | | <view class="desc flex flex1"> |
| | | <view class="label"> |
| | | 收货人: |
| | | </view> |
| | | <view class="value">{{ dto.customer || '-' }}</view> |
| | | </view> |
| | | <view class="desc flex flex1"> |
| | | <view class="label"> |
| | | 收货人手机号码: |
| | | </view> |
| | | <view class="value">{{ dto.customerTel || '-' }}</view> |
| | | </view> |
| | | </view> |
| | | <view class="flex"> |
| | | <view class="desc flex flex1"> |
| | | <view class="label"> |
| | | 收货地址: |
| | | </view> |
| | | <view class="value">{{ dto.customerAddress }}</view> |
| | | </view> |
| | | <view class="desc flex flex1" v-if="dto.deliveryName"> |
| | | <view class="label"> |
| | | 快递名称: |
| | | </view> |
| | | <view class="value">{{ dto.deliveryName }}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="desc flex" v-if="dto.statusBackend!=='PENDING'&&dto.statusBackend!=='CANCEL'"> |
| | | <view class="label"> |
| | | 支付时间: |
| | | </view> |
| | | <view class="value">{{ dto.paymentTime || '-' }}</view> |
| | | </view> |
| | | <view class="flower-info m-b-5 m-t-8 br-4" v-for="(item,j) of dto.items" :key="j"> |
| | | <!-- <view class="line-gray"></view> --> |
| | | |
| | | <view class="supplier-name w-fit m-l-0 m-r-a" @click.stop="openbrand(item)"> |
| | | <image class="icon-dp br-4" src="/static/common/icon-dp.png"></image> |
| | | {{ item.supplierName|| '' }} > |
| | | </view> |
| | | <view class="flex m-t-12 flex-wrap-normal"> |
| | | <!-- @click="previewImg(item.flowerCover)" --> |
| | | <image class="flower-img img100 m-r-6" :src="item.flowerCover" @click.stop="toDetail(dto)"> |
| | | </image> |
| | | <!-- <view class="flex1" @click.stop="toFlowerDetail(item)"> --> |
| | | <view class="flex1"> |
| | | |
| | | <view class=" flex"> |
| | | <view class="title flex flex1"> |
| | | <!-- <span class="level">{{ item.flowerCategory }}</span> --> |
| | | <span class="m-r-10" @click.stop="toDetail(dto)">{{ item.flowerName }}</span> |
| | | <span class="level" @click.stop="toDetail(dto)">{{ item.flowerLevelStr }}</span> |
| | | <view class="m-l-a m-r-10 flex"> |
| | | <view class="m-r-10 button-icon" @click="toOrderItemDetail(item,'lack','缺货')" |
| | | v-if="item.lackNum"> |
| | | 缺货<uni-icons type="right" size="14" color="#ffffff"></uni-icons> |
| | | </view> |
| | | <view class="m-r-10 button-icon" @click="toOrderItemDetail(item,'reduce','降级')" |
| | | v-if="item.reduceNum"> |
| | | 降级<uni-icons type="right" size="14" color="#ffffff"></uni-icons> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="each-list" @click.stop="toDetail(dto)"> |
| | | <view class="each-item"> |
| | | <view class="label">颜色</view> |
| | | <view class="value">{{ item.flowerColor || '-' }}</view> |
| | | |
| | | </view> |
| | | <view class="each-item"> |
| | | <view class="label">规格</view> |
| | | <view class="value">{{ item.flowerUnit || '-' }}</view> |
| | | </view> |
| | | |
| | | <view class="each-item"> |
| | | <view class="label">数量</view> |
| | | <view class="value">{{ item.num || 0 }}</view> |
| | | |
| | | </view> |
| | | <view class="each-item"> |
| | | <view class="label">售价</view> |
| | | <view class="value">¥{{ item.price || 0 }}</view> |
| | | |
| | | </view> |
| | | <view class="each-item"> |
| | | <view class="label">商品总金额</view> |
| | | <view class="value">¥{{ item.total || 0 }}</view> |
| | | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="line-gray" |
| | | v-if="dto.statusBackend!=='COMPLETED'&&dto.statusBackend!=='SEND'&&dto.statusBackend=='RECEIVE'"> |
| | | </view> |
| | | <!-- dtoId:{{dto.id}} --> |
| | | <!-- flowerId:{{item.id}} --> |
| | | <view class="flex buttons" |
| | | v-if="dto.statusBackend!=='COMPLETED'&&dto.statusBackend!=='SEND'&&dto.statusBackend=='RECEIVE'"> |
| | | <view class="button button-1 m-l-a m-r-0" @click="toDetailSaleInfo(dto,item)" |
| | | v-if="dto.statusBackend === 'RECEIVE'"> 申请售后 |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | <view class="line-gray"></view> |
| | | |
| | | <view class="flex buttons"> |
| | | <view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='CANCEL'" |
| | | @click="buttonClick(dto,'delOrder')">删除订单</view> |
| | | <view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='PENDING'" |
| | | @click="buttonClick(dto,'cancelOrder')">取消订单</view> |
| | | <view class="button button-1 m-l-15 m-r-15" v-if="dto.statusBackend==='PENDING'" |
| | | @click="buttonClick(dto,'payAgain')">重新支付<span v-if="dto.bctime">({{dto.bctime}})</span></view> |
| | | |
| | | <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')" |
| | | v-if="dto.couldRefund"> |
| | | 申请退款 |
| | | </view> |
| | | <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'confirm')" |
| | | v-if="dto.statusBackend ==='RECEIVE'"> 确认收货 |
| | | </view> |
| | | <!-- ||item.statusBackend=='COMPLETED' --> |
| | | <!-- <view class="button button-1 m-l-a m-r-15" @click="toDetailSale(dto)" |
| | | v-if="dto.statusBackend === 'RECEIVE'"> 申请售后 |
| | | </view> --> |
| | | <!-- <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'evaluate')" |
| | | v-if="dto.statusBackend === 'EVALUATE'"> 评价 |
| | | </view> --> |
| | | <view class="button button-0 m-l-a m-r-15" @click="commentButtonClick(dto)" |
| | | v-if="dto.statusBackend === 'EVALUATE'"> 评价 |
| | | </view> |
| | | |
| | | |
| | | <!-- <view class="button button-0 m-l-a m-r-15" @click="copyOrder(dto)">再来一单</view> --> |
| | | <view class="button button-1 m-l-a m-r-0" @click="toDetail(dto)">查看详情</view> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped> |
| | | .order-container { |
| | | padding: 24rpx 30rpx; |
| | | .order-item { |
| | | margin-bottom: 20rpx; |
| | | padding: 28rpx; |
| | | .order-container { |
| | | padding: 24rpx 30rpx; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | line-height: 40rpx; |
| | | .status { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #20613D; |
| | | line-height: 40rpx; |
| | | } |
| | | } |
| | | .desc{ |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | line-height: 34rpx; |
| | | } |
| | | .order-item { |
| | | margin-bottom: 20rpx; |
| | | padding: 28rpx; |
| | | background-color: #fff; |
| | | border-radius: 8rpx; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | line-height: 40rpx; |
| | | |
| | | .status { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #20613D; |
| | | line-height: 40rpx; |
| | | } |
| | | } |
| | | |
| | | .desc { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | line-height: 34rpx; |
| | | } |
| | | |
| | | |
| | | .line { |
| | | height: 2rpx solid #EEEEEE; |
| | | margin-top: 16rpx; |
| | | margin-bottom: 16rpx; |
| | | } |
| | | .line { |
| | | height: 2rpx solid #EEEEEE; |
| | | margin-top: 16rpx; |
| | | margin-bottom: 16rpx; |
| | | } |
| | | |
| | | .buttons { |
| | | display: flex; |
| | | margin-left: auto; |
| | | width: fit-content; |
| | | |
| | | .button { |
| | | // width: 216rpx; |
| | | padding: 10rpx 20rpx; |
| | | line-height: 34rpx; |
| | | font-size: 24rpx; |
| | | height: 34rpx; |
| | | background: #20613D; |
| | | text-align: center; |
| | | border-radius: 30rpx; |
| | | min-width: 80rpx; |
| | | |
| | | } |
| | | |
| | | .button-1 { |
| | | background: #fff; |
| | | color: #333; |
| | | border: 2rpx solid #333; |
| | | |
| | | } |
| | | |
| | | .button-0 { |
| | | color: #fff; |
| | | border: 2rpx solid #20613D; |
| | | } |
| | | } |
| | | |
| | | .flower-info { |
| | | padding: 0rpx; |
| | | |
| | | background: #FFFFFF; |
| | | border-radius: 8rpx; |
| | | |
| | | .supplier-name { |
| | | border-bottom: 2rpx solid #EEEEEE; |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | padding-bottom: 10rpx; |
| | | line-height: 40rpx; |
| | | |
| | | .icon-dp { |
| | | width: 27rpx; |
| | | height: 27rpx; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | } |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | line-height: 40rpx; |
| | | flex: 1; |
| | | |
| | | .level { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #20613D; |
| | | line-height: 40rpx; |
| | | margin-right: 20rpx; |
| | | } |
| | | |
| | | .button-icon { |
| | | color: #fff; |
| | | padding-left: 10rpx; |
| | | padding-right: 10rpx; |
| | | background-color: darkred; |
| | | } |
| | | } |
| | | |
| | | .flower-img { |
| | | width: 128rpx; |
| | | height: 118rpx; |
| | | min-width: 128rpx; |
| | | min-height: 118rpx; |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | .status-list { |
| | | overflow-x: scroll; |
| | | .each-list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin-top: 6rpx; |
| | | |
| | | .status-each { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #666666; |
| | | line-height: 40rpx; |
| | | margin: 0 auto; |
| | | //min-width: ; |
| | | padding-left: 20rpx; |
| | | padding-right: 20rpx; |
| | | width: fit-content; |
| | | text-align: center; |
| | | } |
| | | .each-item { |
| | | min-width: 40%; |
| | | max-width: 50%; |
| | | text-align: center; |
| | | margin-left: 0rpx; |
| | | margin-right: auto; |
| | | display: flex; |
| | | |
| | | .status-each.cur { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #20613D; |
| | | line-height: 44rpx; |
| | | } |
| | | .label { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | text-align: left; |
| | | padding-right: 10rpx; |
| | | } |
| | | |
| | | .status-each:first-child { |
| | | margin-left: 0 |
| | | } |
| | | .label::after { |
| | | content: ": " |
| | | } |
| | | |
| | | .status-each:last-child { |
| | | margin-right: 0; |
| | | } |
| | | } |
| | | .value { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .order-top { |
| | | position: relative; |
| | | min-height: 182rpx; |
| | | background: #E1F0E7; |
| | | border-radius: 8rpx; |
| | | padding: 45rpx 35rpx; |
| | | } |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: #000000; |
| | | line-height: 42rpx; |
| | | } |
| | | |
| | | .desc { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | line-height: 34rpx; |
| | | } |
| | | } |
| | | |
| | | .image { |
| | | position: absolute; |
| | | right: 0rpx; |
| | | width: 288rpx; |
| | | height: 148rpx; |
| | | bottom: 0rpx; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | .status-list { |
| | | overflow-x: scroll; |
| | | |
| | | .status-each { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: #666666; |
| | | line-height: 40rpx; |
| | | margin: 0 auto; |
| | | //min-width: ; |
| | | // padding-left: 10rpx; |
| | | // padding-right: 10rpx; |
| | | width: fit-content; |
| | | min-width: 120rpx; |
| | | text-align: center; |
| | | } |
| | | |
| | | .status-each.cur { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #20613D; |
| | | // line-height: 44rpx; |
| | | } |
| | | |
| | | .status-each:first-child { |
| | | margin-left: 0 |
| | | } |
| | | |
| | | .status-each:last-child { |
| | | margin-right: 0; |
| | | } |
| | | } |
| | | |
| | | .order-top { |
| | | position: relative; |
| | | min-height: 182rpx; |
| | | background: #E1F0E7; |
| | | border-radius: 8rpx; |
| | | padding: 45rpx 35rpx; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: #000000; |
| | | line-height: 42rpx; |
| | | } |
| | | |
| | | .desc { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | line-height: 34rpx; |
| | | } |
| | | |
| | | .image { |
| | | position: absolute; |
| | | right: 0rpx; |
| | | width: 288rpx; |
| | | height: 148rpx; |
| | | bottom: 0rpx; |
| | | } |
| | | } |
| | | } |
| | | </style> |