You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

185 lines
5.3 KiB

<template>
<v-page>
<v-header :title="$t('otc.a4')">
<template #right>
<v-picker :list="list" v-model="status" @input="changeStatus">
<template #default="{ label }">
<view class="color-light">
{{ label || $t('otc.c1') }}
<van-icon name="arrow-down" />
</view>
</template>
</v-picker>
</template>
</v-header>
<van-tabs
:ellipsis="false"
:border="false"
class="border-b"
:active="tab"
@change="tabChange($event.detail.name)"
>
<van-tab :title="$t('otc.a5')" :name="1"></van-tab>
<van-tab :title="$t('otc.a6')" :name="2"></van-tab>
</van-tabs>
<v-paging
:ajax="myEntrusts"
:data="{ side: tab, status }"
ref="scroll"
class="layout-main"
>
<template #box="list">
<view class="list">
<view
class="item bg-panel-3 box-shadow rounded-sm p-md m-md"
v-for="item in $list(list)"
:key="item.id"
>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.c2')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.order_sn }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.c1')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.status_text }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.c3')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.money }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.b0')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.price }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.c4')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.amount }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.a8')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.cur_amount }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.b1')}} </view>
<view class="flex-fill fn-right color-light">
<template v-for="minItem in item.pay_type">
{{ payTypeMap[minItem] }},
</template>
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.c5')}} </view>
<view class="flex-fill fn-right color-light">
{{ item.created_at }}
</view>
</view>
<view class="row m-t-sm d-flex align-center">
<view class="label"> {{$t('otc.b2')}} </view>
<view class="flex-fill fn-right color-light">
<v-button
type="red"
size="mini"
class="rounded-xs"
v-if="item.status == 1"
@click="ifCancelEntrust(item)"
>
{{$t('otc.c6')}}
</v-button>
</view>
</view>
</view>
</view>
</template>
</v-paging>
</v-page>
</template>
<script>
import Otc from "@/api/otc";
import vPaging from "../../layout/vPaging.vue";
export default {
components: { vPaging },
name: "order",
data() {
return {
tab: 1,
status: 1,
};
},
computed: {
payTypeMap() {
return {
alipay: this.$t('otc.b7'),
wechat: this.$t('otc.b8'),
bank_card: this.$t('otc.b9'),
};
},
list(){
return [
{
label: this.$t('otc.c7'),
value: 0,
},
{
label: this.$t('otc.c8'),
value: 1,
},
{
label: this.$t('otc.c9'),
value: 2,
},
]
}
},
methods: {
myEntrusts: Otc.myEntrusts,
tabChange(idx) {
this.tab = idx;
this.$nextTick(() => {
this.$refs.scroll.ref();
});
},
changeStatus() {
this.$nextTick(() => {
this.$refs.scroll.ref();
});
},
// 下架
ifCancelEntrust(item) {
this.$dialog
.confirm({
title: this.$t('otc.d0'),
message: this.$t('otc.d1')+"?",
confirmButtonText: this.$t('common.confirm'),
cancelButtonText: this.$t('common.cancel'),
})
.then(() => {
this.cancelEntrust(item);
});
},
cancelEntrust(item) {
let data = {
entrust_id: item.id,
};
Otc.cancelEntrust(data).then((res) => {
this.$toast.success(this.$t('otc.d4'));
this.$nextTick(() => {
this.$refs.scroll.ref();
});
});
},
},
};
</script>