Commit 39a1415c authored by June's avatar June

1.0.0

parent c2d6013b
......@@ -29,7 +29,7 @@
index
}"
:max="~~item.inventory"
:min="~~item.origin_number_sku"
:min="0"
@change="numberChange"
/>
</view>
......@@ -61,7 +61,7 @@
v-for="tiered_pri in item.tiered_pri"
:key="tiered_pri.num"
>
¥{{tiered_pri.price }}<text class="ml-1">≥{{tiered_pri.num +'/' + item.unit}}</text>
¥{{tiered_pri.price }}<text class="ml-1">≥{{tiered_pri.num + item.unit}}</text>
</view>
</view>
</view>
......@@ -125,7 +125,7 @@ export default {
this.skuData = JSON.parse(JSON.stringify(params.skuData))
this.skuData.forEach(item => {
item.tiered_pri = item.tiered_pri && typeof item.tiered_pri === 'string' ? JSON.parse(item.tiered_pri) : ''
item.counts = ~~item.origin_number_sku
item.counts = 0
})
this.total()
this.$refs.goodsPopup.open()
......@@ -178,7 +178,7 @@ export default {
handleCart() {
const skuData = this.skuData
if(this.totalCounts === 0) return this.$toast({title: '请选择购买数量'})
if(!this.judgePay(skuData)) return this.$toast({title: '购买数量不能少于起购数量'})
// if(!this.judgePay(skuData)) return this.$toast({title: '购买数量不能少于起购数量'})
const fn = []
for(let i = 0, j = skuData.length; i < j; i ++) {
if(skuData[i].counts) {
......@@ -207,7 +207,6 @@ export default {
console.log(skuData)
if(skuData.length === 0) return
if(this.totalCounts === 0) return this.$toast({title: '请选择购买数量'})
// if(this.totalPrice === 0) return this.$toast({title: '请选择规格数量'})
if(!this.judgePay(skuData)) return this.$toast({title: '购买数量不能少于起购数量'})
const sku_ids = []
const cart_numbers = []
......
......@@ -10,9 +10,10 @@
type="number"
v-model="calVal"
@confirm="inputVal"
@focus="inputFocus"
@blur="inputVal"
/>
<view
<view
class="btn iconfont icon-hao flex j-center a-center"
:class="(max && (calVal >= max)) ? 'disabled' : null"
@click.stop="add"
......@@ -85,6 +86,7 @@ export default {
this.calVal += 1
},
inputVal(e) {
this.$emit('inputBlur')
let inputVal = ~~e.detail.value
const max = this.max
const min = this.min
......@@ -96,6 +98,9 @@ export default {
this.$toast({title: `数量不能少于${min}`})
}
this.calVal = inputVal
},
inputFocus() {
this.$emit('inputFocus')
}
}
}
......
......@@ -48,6 +48,10 @@ export default {
refresherStatus: false // 设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发
}
},
created() {
console.log(this.refresherEnabled)
},
methods: {
// 触底
scrolltolower() {
......
// 详细看文档
export const cOrder_status = {
'os0_osd1': {
text: '待接单',
},
'os1_osd11': {
text: '待付款',
},
'os1_osd12': {
text: '待付款(已支付定金)',
},
'os6_osd61': {
text: '待发货',
},
'os7_osd71': {
text: '待收货',
},
'os10_osd101': {
text: '已收货',
},
'os11_osd111': {
text: '退款审核中',
},
'os11_osd112': {
text: '退款审核中',
},
'os11_osd113': {
text: '退款审核中',
},
'os11_osd114': {
text: '退货审核中',
},
'os11_osd115': {
text: '退货审核中',
},
'os11_osd116': {
text: '退款退货审核中',
},
'os11_osd117': {
text: '退款退货审核中',
},
'os9_osd91': {
text: '退款中',
},
'os9_osd93': {
text: '退货中',
},
'os9_osd92': {
text: '退货退款中',
},
'os5_osd53': {
text: '交易完成',
},
//2是关闭,osd(order_status_d) 看文档吧,2全部关闭
'os2_osd28': {
text: '交易关闭'
},
'os2_osd29': {
text: '交易关闭',
},
'os2_osd21': {
text: '交易关闭'
},
'os2_osd23': {
text: '交易关闭',
},
'os2_osd26': {
text: '交易关闭'
},
'os2_osd210': {
text: '交易关闭',
},
'os2_osd211': {
text: '交易关闭',
},
'os2_osd22': {
text: '交易关闭'
},
'os2_osd25': {
text: '交易关闭',
},
'os2_osd27': {
text: '交易关闭',
},
'os2_osd212': {
text: '交易关闭',
},
'os2_osd213': {
text: '交易关闭'
},
'os2_osd214': {
text: '交易关闭',
},
'os2_osd215': {
text: '交易关闭'
},
'os2_osd216': {
text: '交易关闭',
},
'os2_osd217': {
text: '交易关闭',
},
}
export const pay_type = {
0: '——',
1: '微信',
2: '支付宝',
3: '线下4余额',
6: '格利支付',
7: '现金',
8: '欠款',
9: '转账(私)',
10: '转账(公)',
11: '转账(微信)',
12: '转账(支付宝)',
13: '微信-格利',
14: '支付宝-格利',
15: '企业网银-格利',
16: '个人网银-格利'
}
export const weeks = {
1: '周一',
2: '周二',
3: '周三',
4: '周四',
5: '周五',
6: '周六',
7: '周日',
}
\ No newline at end of file
const env = {
release: 'https://www.gelifood.com', // 正式版
trial: 'https://d.gelifood.com', // 体验版
develop: 'https://d.gelifood.com' // 开发版
trial: 'https://www.gelifood.com', // 体验版
develop: 'https://www.gelifood.com' // 开发版
}
// 不考虑其他端小程序直接这样配置
......
{
"extEnable": true,
"extAppid": "wxd170058f4ad8fecd",
"extAppid": "wx537e892e36fbf79d",
"ext": {
"appid": "wxd170058f4ad8fecd"
}
......
/**
* @desc 事件通讯
*/
class EventBus {
constructor(arg) {
this.events = {}
}
/**
* @desc 事件监听
*/
$on(key, fn) {
if(!this.events[key]) {
this.events[key] = []
}
this.events.push(fn)
}
/**
* @desc 事件派发
*/
$emit() {
const key = Array.prototype.splice.call(arguments)
const curE = this.events[key]
curE.apply(this, arguments)
}
/**
* @desc 取消事件监听
*/
$off(key) {
const events = this.events
for(let i = 0, j = events.length; i++) {
if(events[key]) { // 移除事件的监听
this.events.splice(i, 1)
}
}
}
}
export default EventBus
\ No newline at end of file
import { cancelOrder, remindOrder, applyBack, undoOrder, recieveOrder, recieveOrderRefund, addRefundTime } from "@/apis/order.js"
import createOrder from '@/utils/modules/pay.js'
import { isFunction } from '@/utils/types.js'
// 详细看文档
const cOrder_status = {
'os0_osd1': {
text: '待接单',
},
'os1_osd11': {
text: '待付款',
},
'os1_osd12': {
text: '待付款(已支付定金)',
},
'os6_osd61': {
text: '待发货',
},
'os7_osd71': {
text: '待收货',
},
'os10_osd101': {
text: '已收货',
},
'os11_osd111': {
text: '待发货退款审核',
},
'os11_osd112': {
text: '待收货退款审核',
},
'os11_osd113': {
text: '已收货退款审核',
},
'os11_osd114': {
text: '待收货退货审核',
},
'os11_osd115': {
text: '已收货退货审核',
},
'os11_osd116': {
text: '待收货退款退货审核',
},
'os11_osd117': {
text: '已收货退款退货审核',
},
'os9_osd91': {
text: '退款中',
},
'os9_osd93': {
text: '退货中',
},
'os9_osd92': {
text: '退货退款中',
},
'os5_osd53': {
text: '交易完成',
},
//2是关闭,osd(order_status_d) 看文档吧,2全部关闭
'os2_osd28': {
text: '交易关闭'
},
'os2_osd29': {
text: '交易关闭',
},
'os2_osd21': {
text: '交易关闭'
},
'os2_osd23': {
text: '交易关闭',
},
'os2_osd26': {
text: '交易关闭'
},
'os2_osd211': {
text: '交易关闭',
},
'os2_osd22': {
text: '交易关闭'
},
'os2_osd25': {
text: '交易关闭',
},
'os2_osd27': {
text: '交易关闭',
},
'os2_osd212': {
text: '交易关闭',
},
'os2_osd213': {
text: '交易关闭'
},
'os2_osd214': {
text: '交易关闭',
},
'os2_osd215': {
text: '交易关闭'
},
'os2_osd216': {
text: '交易关闭',
},
'os2_osd217': {
text: '交易关闭',
},
}
import { cOrder_status } from '@/config/global.js'
const order_mixin = {
filters: {
cOrderStatus(key) {
......@@ -137,7 +33,7 @@ const order_mixin = {
this.$toast({title: '提醒成功'})
}
}catch(e){
this.$toast({title: '提醒失败'})
this.$toast({title: e.msg || '提醒失败'})
//TODO handle the exception
}
},
......@@ -158,9 +54,12 @@ const order_mixin = {
},
// 支付
async orderPay(order_sn) {
async orderPay(order_sn, fn) {
await createOrder({
order_sn
order_sn,
successCb: () => {
fn && isFunction(fn) && fn()
}
})
},
......
import { cOrder_status } from '@/config/global.js'
const order_status = {
filters: {
cOrderStatus(key) {
return cOrder_status[key].text || ''
}
},
}
export default order_status
\ No newline at end of file
......@@ -39,12 +39,14 @@
:key="item.goods_id"
@click.stop="handleDetail(item.goods_id)"
>
<view class="w-100 flex j-star a-center">
<view
class="mr-1"
:class="item.checked ? 'agreement-icon_active' : 'agreement-icon'"
@click.stop="selectGoods(index, item)"
/>
<view class="w-100 flex j-star a-center" style="position: relative;">
<view class="flex a-center j-center checked_box" @click.stop="selectGoods(index, item)">
<view
class="mr-1"
:class="item.checked ? 'agreement-icon_active' : 'agreement-icon'"
/>
</view>
<image
class="goods-cover mr-2"
:src="baseUrl + '/' + item.goods_thumb"
......@@ -77,6 +79,8 @@
innerIdx: cartIdx
}"
@change="numberChange"
@inputFocus="inputFocus"
@inputBlur="inputBlur"
/>
</view>
</view>
......@@ -110,7 +114,7 @@
<text>{{totalPrice}}</text>
</template>
<template v-else>
<text>待确认</text>
<text>¥—</text>
</template>
</text>
<view class="font-28 py-2 px-1 primary" @click="removeCart">移除</view>
......@@ -119,7 +123,6 @@
</template>
</template>
</template>
</view>
</template>
......@@ -144,7 +147,14 @@
if(cartList[i].checked) {
for(var k = 0; k < cartList[i].list.length; k ++) {
if(cartList[i].list[k].checked) {
counts += +cartList[i].list[k].cart_number
var cart_number = +cartList[i].list[k].cart_number
var origin_number_sku = +cartList[i].list[k].origin_number_sku
if(origin_number_sku && origin_number_sku >= cart_number) {
counts += origin_number_sku
} else {
counts += cart_number
}
}
}
}
......@@ -172,7 +182,8 @@ export default {
data() {
return {
baseUrl,
cartList: []
cartList: [],
showMask: false
}
},
......@@ -192,7 +203,6 @@ export default {
filters: {
defaultCounts(origin_number_sku, cart_number) {
// ~~cart.origin_number_sku > ~~cart.cart_number ? cart.origin_number_sku : cart.cart_number
console.log(origin_number_sku, cart_number)
return ~~origin_number_sku > ~~cart_number ? origin_number_sku : cart_number
}
},
......@@ -207,7 +217,14 @@ export default {
totalPrice() {
return this.cartList.filter(item => item.checked).reduce((pre, cur) => {
return pre + cur.list.filter(i => i.checked).reduce((p, c) => {
return p + (c.cart_price * c.cart_number)
const cart_number = +c.cart_number
const origin_number_sku = +c.origin_number_sku
if(origin_number_sku && origin_number_sku >= cart_number) {
return p + (c.cart_price * origin_number_sku)
} else {
return p + (c.cart_price * cart_number)
}
return
}, 0)
}, 0).toFixed(2)
}
......@@ -232,6 +249,7 @@ export default {
},
handleDetail(id) {
if(this.showMask) return
uni.navigateTo({
url: `/pages/goods/detail?goods_id=${id}`
})
......@@ -269,7 +287,6 @@ export default {
},
// 移除购物车
removeCart() {
const cartList = this.cartList
......@@ -320,6 +337,14 @@ export default {
uni.navigateTo({
url: `/pages/order/confirm-order?params=${encodeURIComponent(JSON.stringify(params))}`
})
},
inputFocus() {
this.showMask = true
},
inputBlur() {
this.showMask = false
}
}
}
......@@ -355,7 +380,16 @@ export default {
.agreement-icon_active {
@include selected(34rpx, 34rpx);
}
.checked_box {
position: absolute;
top: 50%;
z-index: 1;
transform:translateY(-50%);
width: 48rpx;
height: 160rpx;
}
.goods-cover {
margin-left: 48rpx;
flex: 0 0 160rpx;
width: 160rpx;
height: 160rpx;
......@@ -410,5 +444,17 @@ export default {
background-color: $primary;
}
}
.mask {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0);
z-index: 999;
}
}
</style>
......@@ -161,10 +161,11 @@ export default {
storeInfo: state => state.user.storeInfo
})
},
async created() {
this.getCate()
},
// async created() {
// this.getCate()
// },
onShow() {
this.getCate()
this.getCateGoods()
if(this.token) {
this.setCount()
......
This diff is collapsed.
This diff is collapsed.
<template>
<view class="wrapper">
<view class="order-status w-100">
{{order_detail.order.order_status | orderStatus}}
<view class="order-status w-100" v-if='order_detail.order.order_status_d'>
{{'os' + order_detail.order.order_status + '_osd' + order_detail.order.order_status_d | cOrderStatus}}
</view>
<view class="goods w-100">
......@@ -18,48 +18,67 @@
/>
<view class="title flex-1">{{item.goods_name}}</view>
</view>
<block
v-for="(s, sidx) in item.list"
<view
class="sku-item"
v-for="(s, sidx) in item.goods"
:key="sidx"
>
<view class="mt-2">规格:{{s.goods_attr}}</view>
<view class="mt-2">单价:{{s.goods_price}}</view>
<view class="mt-2">{{s.goods_attr}}</view>
<view class="mt-2">单价:{{s.goods_price + '/' + s.goods_unit}}</view>
<view class="mt-2 flex j-between a-center">
<text>数量:{{s.cart_number}}</text>
<text class="primary">小计:¥{{s.amount}}</text>
</view>
</block>
</view>
</view>
</block>
</view>
<view class="wrap mt-2 flex j-end a-center">
合计:<text class="primary">{{order_detail.totalCount || 0}}</text><text class="mr-2"></text>合计:<text class="primary">{{order_detail.order.sum_amount || 0}}</text>
<text class="primary">{{order_detail.totalCount || 0}}</text><text class="mr-2"></text>合计:<text class="primary">{{order_detail.order.sum_amount || 0}}</text>
</view>
<view class="mt-2 box" v-if="order_detail.order.shipping_type === '1'">
<view>商家派送: 商家自行派送<text class="primary ml-1" @click="makePhoneCall()">联系商家</text></view>
<view class="mt-2">派送地址: {{order_detail.order.address_json.address1 + order_detail.order.address_json.address2}}</view>
<view class="mt-2">
<text class="mr-2">{{order_detail.order.address_json.consignee}}</text>
<text>{{order_detail.order.address_json.mobile}}</text>
<view class="mt-2">配送方式: 商家配送<text class="primary ml-1" @click="makePhoneCall()">联系商家</text></view>
<view class="item mt-2 w-100 flex j-start a-start">
<view class="hd">配送地址:</view>
<view class="flex-1 flex flex-column j-start a-start">
<text class="mb-2">{{order_detail.order.address_json.address1 + order_detail.order.address_json.address2}}</text>
<view>
<text class="mr-2">{{order_detail.order.address_json.consignee}}</text>
<text>{{order_detail.order.address_json.mobile}}</text>
</view>
</view>
</view>
</view>
<view class="mt-2 box" v-else>
<view>商家派送: 买家自提<text class="primary ml-1" @click="makePhoneCall()">联系商家</text></view>
<view class="mt-2">派送地址: {{order_detail.order.pickup_address}}</view>
<view class="mt-2">
<text class="mr-2">店铺名称:</text>
<text>{{order_detail.order.shop_name}}</text>
<view>配送方式: 买家自提<text class="primary ml-1" @click="makePhoneCall()">联系商家</text></view>
<view class="item mt-2 w-100 flex j-start a-start">
<view class="hd">自提地址: </view>
<view class="flex-1">
<text>{{order_detail.order.pickup_address}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-start">
<view class="hd">自提时间:</view>
<view class="flex-1">
<text class="mr-2">{{order_detail.order.pickup_start_day | parseWeek}}{{order_detail.order.pickup_end_day | parseWeek}}</text>
<text>{{order_detail.order.pickup_hours}}</text>
</view>
</view>
<view class="mt-2">
<text class="mr-2">自提时间:</text>
<text>{{order_detail.order.pickup_hours}}</text>
<view class="item mt-2 w-100 flex j-start a-start">
<view class="hd">联系电话:</view>
<view class="flex-1">
<text>{{order_detail.order.shop_tel}}</text>
</view>
</view>
</view>
<view class="wrap mt-2">发票: 发票信息参数(文字/图片等)</view>
<!-- <view class="wrap mt-2">发票: 发票信息参数(文字/图片等)</view> -->
<view class="mt-2 box">
<view class="item w-100 flex j-start a-center">
......@@ -69,26 +88,57 @@
<text class="primary" @click="copyOrderSn">复制</text>
</view>
</view>
<view class="item w-100 flex j-start a-center">
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">创建时间:</view>
<view class="flex-1">
<text>{{order_detail.order.add_time | parseTime}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">先货后款:</view>
<view class="flex-1">
<text>{{order_detail.order.goods_before_pay === '0' ? '' : ''}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">付款时间:</view>
<view class="flex-1">
<text>{{order_detail.order.pay_time | parseTime}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">发货时间:</view>
<view class="flex-1">
<text>{{order_detail.order.shipping_time | parseTime}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">支付方式:</view>
<view class="flex-1">
<text>{{order_detail.order.pay_type | payType}}</text>
</view>
</view>
<view class="item mt-2 w-100 flex j-start a-center">
<view class="hd">买家留言:</view>
<view class="flex-1">
<text>{{order_detail.order.postscript || '——'}}</text>
</view>
</view>
</view>
<view class="mt-2 flex j-end a-center">
<order-btn :item="order_detail.order" @changeData='changeData'>
<countdown-t
slot="time"
v-if="order_detail.order.goods_before_pay === '0' && order_detail.order.countdownT > 0"
:countdownNum="order_detail.order.countdownT"
:pauseTimer="pauseTimer"
:params="{
index
}"
@timerEnd="timerEnd"
/>
<view class="btn-wrap mt-2 flex j-end a-center" v-if="!['0', '2', '5'].includes(order_detail.order.order_status)">
<order-btn :item="order_detail.order" :otherData="order_detail" @changeData='changeData'>
<template v-if="data.order.countdownT.goods_before_pay === '0' && data.order.countdownT.countdownT > 0">
<countdown-t
slot="time"
:countdownNum="order_detail.order.countdownT"
:pauseTimer="pauseTimer"
:params="{
index
}"
@timerEnd="timerEnd"
/>
</template>
</order-btn>
</view>
......@@ -101,19 +151,11 @@ import countdownT from './components/countdownT.vue'
import { orderDetail } from '@/apis/order.js'
import { makePhoneCall } from '@/utils/common.js'
import { baseUrl } from '@/config/index.js'
import order_status from '@/mixins/order_status.js'
import { pay_type } from '@/config/global.js'
import { weeks } from '@/config/global.js'
let order_sn = null
const order_statsu = {
'0': '待接单',
'1': '待付款',
'2': '交易关闭',
'5': '交易完成',
'6': '待发货',
'7': '待收货',
'9': '退货退款中',
'10': '已收货',
'11': '退款退货审核'
}
export default {
data() {
return {
......@@ -125,7 +167,7 @@ export default {
}
}
},
mixins: [order_status],
components: {
countdownT,
orderBtn
......@@ -137,9 +179,12 @@ export default {
},
filters: {
orderStatus(val) {
console.log(val)
return order_statsu[val] || ''
payType(key) {
console.log(key)
return pay_type[key] || ''
},
parseWeek(key) {
return weeks[key]
}
},
......@@ -156,7 +201,7 @@ export default {
if(status) {
if(data.order.order_status === '1') {
// item.pay_endTime = item.confirm_time === '0' ? 0 : ~~item.confirm_time + 3600
data.order.countdownT = ~~data.order.confirm_time + 3600 - data.order.confirm_time
data.order.countdownT = ~~data.order.confirm_time + 3600 - data.time
// item.last_payTime = ''
} else {
data.order.countdownT = 0
......@@ -166,7 +211,7 @@ export default {
goods: data.goods2 || [],
order: data.order || {},
totalCount: data.goods2.reduce((pre, cur) => {
return pre + cur.list.reduce((p, c) => {
return pre + cur.goods.reduce((p, c) => {
return p + ~~c.cart_number
}, 0)
}, 0)
......@@ -217,6 +262,14 @@ export default {
height: 160rpx;
margin-right: 20rpx;
}
.sku-item {
padding-bottom: 20rpx;
border-bottom: 1rpx solid $line;
&:last-child {
padding-bottom: 0;
border-bottom: none;
}
}
}
}
......@@ -233,10 +286,7 @@ export default {
@include borderBox(20rpx, 30rpx);
background-color: #fff;
.item {
margin-bottom: 20rpx;
&:last-child {
border-bottom: none;
}
.hd {
flex: 0 0 140rpx;
}
......
......@@ -36,8 +36,8 @@
:key="item.order_sn"
>
<view class="w-100 item-inner">
<view>orderStatus=={{item.order_status}}————orderStatusD=={{item.order_status_d}}</view>
<view>{{item.order_sn}}</view>
<!-- <view>orderStatus=={{item.order_status}}————orderStatusD=={{item.order_status_d}}</view>
<view>{{item.order_sn}}</view> -->
<view class="flex j-between a-center">
<text class="order-item">{{item.add_time | parseTime}}</text>
<!-- <text class="order-status">{{item.order_status | orderStatus(item.goods_before_pay)}}</text> -->
......@@ -45,7 +45,7 @@
<text v-else class="order-status">{{'os' + item.order_status + '_osd' + item.order_status_d | cOrderStatus}}</text>
</view>
<view
class="w-100 mb-2"
class="w-100 mb-2 sku-item"
v-for="(good, idx) in item.goods"
:key="idx"
>
......@@ -57,7 +57,10 @@
/>
<view class="goods-info flex-1 flex j-between flex-column">
<view class="title">{{good.goods_name}}</view>
<view class="desc">{{good.specification}}</view>
<view class="desc flex j-between a-center font-24">
<text>{{good.specification}}</text>
<text class="primaryColor" v-if="['212', '213', '214'].includes(item.order_status_d)">{{item.order_status_d | showTKStatus}}</text>
</view>
<view class="w-100 flex j-between a-center">
<text class="price">{{good.goods_price}}</text>
<text class="desc">x{{good.cart_number}}</text>
......@@ -71,7 +74,7 @@
<order-btn :item="item" @changeData='changeData'>
<view class="w-100 flex j-end a-center mb-2" slot="total">
<text class="mr-2"><text class="primary">{{item.sum_counts}}</text></text>
<text class="primary">{{item.sum_amount}}</text>
<text class="primary">合计:{{item.sum_amount}}</text>
</view>
<countdown-t
slot="time"
......@@ -108,6 +111,12 @@ const formParams = {
let timer = null
let serviceTime = 0
const order_statusD = {
212: '退款成功',
213: '退货成功',
214: '退款退货成功'
}
export default {
data() {
return {
......@@ -137,7 +146,7 @@ export default {
},
{
status: 5,
name: '退货退款',
name: '退款退货',
data: []
},
{
......@@ -159,8 +168,13 @@ export default {
this.loadMore = new LoadMore()
},
mixins: [order_mixin],
filters: {
// 单独显示退款状态
showTKStatus(val) {
return order_statusD[val] || ''
}
},
onLoad(options) {
console.log(options)
const { id } = options
this.current_tab = Number(id) || 0
},
......@@ -187,7 +201,6 @@ export default {
const idx = this.current_tab
formParams.status = tab_list[idx].status
const { status, data, time } = await this.loadMore.getList(formParams, orderList)
console.log(data, time)
if(status && data) {
// 计算总数
data.forEach(item => {
......@@ -203,7 +216,6 @@ export default {
})
serviceTime = time
this.tab_list[idx].data.push(...data)
// this.runTimer()
}
},
......@@ -218,106 +230,9 @@ export default {
this.$set(tab_list[current_tab].data[index], 'countdownT', 0)
},
// // 取消订单
// handleCancle(orderSn, idx) {
// this.$modal({
// content: '您确定取消该订单吗?',
// cb: () => {
// this.orderCancel(orderSn, this.init)
// }
// })
// },
// // 提醒发货
// async handleRemind(orderSn, orderId, idx) {
// uni.showLoading()
// await this.orderRemind(orderSn, orderId)
// uni.hideLoading()
// },
// // 申请退款
// handleBackMoney(orderSn, type, idx) {
// this.$modal({
// content: '您确定退款吗?',
// cb: () => {
// this.applyBack(orderSn, type, this.init)
// }
// })
// },
// // 支付
// handlePay(orderSn, idx) {
// this.orderPay(orderSn, this.init)
// },
// // 撤销
// handleUndo(orderSn, type, idx) {
// const cancle_type = {
// 1: {
// text: '退款',
// nextCode: '91'
// },
// 2: {
// text: '退货退款',
// nextCode: '92'
// },
// 3: {
// text: '取消订单',
// nextCode: '0' // ?、?
// },
// 4: {
// text: '退货',
// nextCode: '93'
// }
// }
// this.$modal({
// content: `您确定撤销${cancle_type[type].text}吗?`,
// cb: () => {
// this.orderUndo(orderSn, type, this.init)
// }
// })
// },
// // 确认收货
// handleRecieve(orderSn) {
// this.$modal({
// content: '您确定收货吗?',
// cb: () => {
// this.orderRecieve(orderSn, this.init)
// }
// })
// },
// handleRefundMoney(orderSn) {
// this.$modal({
// content: '您确定签收退款吗?',
// cb: () => {
// this.orderRefund(orderSn, this.init)
// }
// })
// },
// handleAddRefund(orderSn) {
// this.$modal({
// content: '您确定签收退款吗?',
// cb: () => {
// this.orderAddRefund(orderSn, this.init)
// }
// })
// },
// // 已收货申请售后
// handleApplyRefund(item) {
// uni.navigateTo({
// url: '/subPages/afterSales/apply',
// success: res => {
// res.eventChannel.emit('acceptDataFromOpenerPage', item)
// }
// })
// },
// 下拉刷新
refresh(e) {
console.log('3333')
this.init()
},
......@@ -400,6 +315,14 @@ export default {
color: $primary;
}
}
.sku-item {
padding-bottom: 20rpx;
border-bottom: 1rpx solid $line;
&:last-child {
padding-bottom: 0;
border-bottom: none;
}
}
}
.order-info {
@include borderBox(20rpx, 30rpx);
......
......@@ -38,4 +38,7 @@
+ 自定义的导航栏的样式计算可以在vuex中处理(wxs计算)
+ 详情有个深拷贝的问题。暂时通过JSON.stringify()处理
+ 所有的价格都是通过toFixed会可能出现精度问题。一般发现不了
+ 确认订单页面要跳到地址列表页面选择
\ No newline at end of file
+ 确认订单页面要跳到地址列表页面选择
签收退款 + 退款成功状态显示
\ No newline at end of file
......@@ -35,12 +35,19 @@ import LoadMore from '@/utils/load-more.js'
export default {
data() {
return {
list: []
list: [],
navType: true // 如果从确认订单过来,那么navType=false, 不能进入地址详情,只能选择
}
},
created() {
this.loadmore = new LoadMore()
console.log(getCurrentPages())
const pages = getCurrentPages()
const prePages = pages[pages.length - 2].__route__
if(prePages === 'pages/order/confirm-order') {
this.navType = false
}
},
onShow() {
......@@ -88,27 +95,34 @@ export default {
},
// 删除地址
async handleDel(id, wrapIdx, innerIdx) {
try{
const { status, data } = await delAddress(id)
if(status) {
// 这里不会重新请求刷新数据
this.list[wrapIdx].splice(innerIdx, 1)
this.$toast({title: '删除成功'})
}
}catch(e){
this.$toast({title: e.msg || '程序错误'})
//TODO handle the exception
}
},
// async handleDel(id, wrapIdx, innerIdx) {
// try{
// const { status, data } = await delAddress(id)
// if(status) {
// // 这里不会重新请求刷新数据
// this.list[wrapIdx].splice(innerIdx, 1)
// this.$toast({title: '删除成功'})
// }
// }catch(e){
// this.$toast({title: e.msg || '程序错误'})
// //TODO handle the exception
// }
// },
handleDetail(address) {
address.is_default = Number(address.is_default)
address.is_send_default =Number(address.is_send_default)
const params = encodeURIComponent(JSON.stringify(address))
uni.navigateTo({
url: `/subPages/address/edit?params=${params}`
})
if(this.navType) {
address.is_default = Number(address.is_default)
address.is_send_default =Number(address.is_send_default)
const params = encodeURIComponent(JSON.stringify(address))
uni.navigateTo({
url: `/subPages/address/edit?params=${params}`
})
} else {
console.log('选择地址')
uni.$emit('getAddress', address)
uni.navigateBack()
}
}
}
}
......
......@@ -35,6 +35,7 @@ export default {
onLoad(ops) {
const eventChannel = this.getOpenerEventChannel()
eventChannel.on('acceptDataFromOpenerPage', data => {
console.log(data)
this.detail = data
})
},
......
......@@ -9,7 +9,7 @@
/>
<view class="introduct flex j-between flex-column">
<view class="title">{{item.goods_name}}</view>
<view class="desc">规格:{{item.specification}}</view>
<view class="desc">{{item.specification || item.goods_attr}}</view>
<viwe class="primaryColor">{{item.goods_price}}</viwe>
</view>
</view>
......@@ -34,6 +34,11 @@ export default {
type: Object,
required: true
}
},
mounted() {
console.log(this.goods)
}
}
</script>
......
......@@ -41,7 +41,7 @@ export default {
submit() {
applyBack(this.form)
.then(() => {
this.$toast({title: '申请成功', cb: () => uni.navigateBack()})
this.$toast({title: '申请成功', cb: () => uni.navigateBack({delta: 2})})
})
.catch(() => this.$toast({title: '申请失败'}))
}
......
......@@ -50,15 +50,7 @@
import { mapState } from 'vuex'
import { baseUrl } from '@/config/index.js'
import dayjs from 'dayjs'
let weeks = {
1: '周一',
2: '周二',
3: '周三',
4: '周四',
5: '周五',
6: '周六',
7: '周日',
}
import { weeks } from '@/config/global.js'
export default {
data() {
return {
......
......@@ -12,6 +12,6 @@ Vue.prototype.$modal = Modal
Vue.prototype.$checkLogin = checkLogin
Vue.filter('parseTime', timestamp => {
if (!timestamp) return ''
return dayjs(timestamp * 1000).format('YYYY-MM-DD HH-mm-ss')
if (!~~timestamp) return '——'
return dayjs(timestamp * 1000).format('YYYY-MM-DD HH:mm:ss')
})
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment