|
|
- <template>
- <view class="order-detail">
- <u-navbar :title="$t('page.orderDetail.order-detail')" placeholder @leftClick="leftClick()"></u-navbar>
- <!-- <view class="user-info white">
- <img src="../../static/orderDetail/position@3x.png" alt="" />
- <view class="user-base-info">
- <text class="name">{{ $t('page.orderDetail.receiving-information-name') }}</text>
- <text class="phone">159****2932</text>
- <text class="deliver-to">{{ $t('page.orderDetail.receiving-information-deliver') }}</text>
- <text class="address">{{ $t('page.orderDetail.receiving-information-address') }}</text>
- </view>
- <u-icon name="arrow-down"></u-icon>
- </view> -->
- <view class="order-info white">
- <view class="order-info-top white inside-margin">
- <view class="merchant">
- <!-- xxxxxx商家 -->
- <!-- <u-icon name="arrow-right"></u-icon> -->
- </view>
- <text class="order-status">{{ classifyList[productList.state] }}</text>
- </view>
- <view class="product-list">
- <orderProductList :product="productList"></orderProductList>
- </view>
- <view class="unknown inside-margin">
- <!-- TôngcÃng:¥<text class="unknown-price">5280.0</text>(baogòmcàvànchuyên¥0.0) -->
- {{ $t('page.orderDetail.total') }}<text
- class="unknown-price">{{ productList.sumPrice }}</text>
- </view>
- <view class="account-payable">
- <view class="account-payable-title">
- <text>{{ $t('page.orderDetail.account-payable') }}</text>
- <!-- <u-icon name="arrow-down"></u-icon> -->
- </view>
- <view class="account-payable-price">
- <view class="money-symbol">
- <!-- {{ $t('$') }} -->
- </view>
- <view class="num">{{ productList.sumPrice }}</text>
- </view>
- </view>
- </view>
- <view class="order-number">
- <text class="order-number-title">{{ $t('page.orderDetail.order-number') }}</text>
- <view class="number">
- <text class="code">{{ productList.id }}</text>
- <text class="copy" @click="copy(productList.id)">{{ $t('page.orderDetail.copy') }}</text>
- </view>
- </view>
- <view v-if="productList.name && productList.state != '0'" class="receiving-information">
- <text class="receiving-information-title">{{ $t('page.orderDetail.receiving-information') }}</text>
- <!-- <text class="address">{{ productList.name + ", " + productList.phone + ", " +productList.detailAddress }}</text> -->
- <text
- class="address">{{ productList.name + ', ' + productList.phone + ', ' + productList.detailAddress }}</text>
- </view>
- <!-- <view class="transaction-number">
- <text class="transaction-number-title">{{ $t('page.orderDetail.transaction-number') }}</text>
- <text class="transaction-number-code">4750376583629697865656</text>
- </view> -->
- <view class="create-time">
- <text class="create-time-title">{{ $t('page.orderDetail.create-time') }}</text>
- <text class="create-time-detail">2024-04-27 12:23:22</text>
- </view>
- <!-- <view class="closing-time">
- <text class="closing-time-title">{{ $t('page.orderDetail.closing-time') }}</text>
- <text class="closing-time-detail">2024-04-27 12:23:56</text>
- </view> -->
- <!-- <view class="pack-more-information">
- <text>{{ $t('page.orderDetail.more') }}</text>
- <u-icon name="arrow-up"></u-icon>
- </view> -->
- </view>
- <view class="contact-seller white">
- <view @click="toServer()" class="box">
- <img src="../../static/orderDetail/server@3x.png" alt="" />
- <text>{{ $t('page.orderDetail.contact-seller') }}</text>
- </view>
- </view>
- <view class=" product-list">
- <productList :list="list"></productList>
- </view>
- <view v-if="productList.state != '0' && productList.state != '4'" class="order-detail-bottom">
- <view v-if="productList.state == '3'" @click="deleteOrder(productList)" class="btn">
- {{ $t('page.orderDetail.delete-order') }}
- </view>
- <view v-if="showRepurchase(productList.state)" @click="toRepurchase()" class="btn repurchaseBtn">
- {{ $t('page.orderDetail.repurchase') }}
- </view>
- </view>
- <orderPanel :open.sync="orderPanenOpen" @definiteExecution="definiteExecution" @closePanel="closePanel"
- :title="panelTitle" :desc="panelDesc" :num="panelNum" :url="imageUrl"></orderPanel>
- </view>
- </template>
-
- <script>
- import productList from '@/components/product/productList.vue'
- import orderProductList from '@/components/order-product/orderProductList.vue'
- import orderPanel from '../../components/order-panel/orderPanel.vue';
- export default {
- components: {
- orderProductList,
- productList,
- orderPanel
- },
- data() {
- return {
- classifyList: [
- this.$t('page.order.pendingPayment'),
- this.$t('page.order.pendingShipment'),
- this.$t('page.order.pendingReceipt'),
- this.$t('page.order.completed')
- ],
- //商品数据
- productList: {},
- orderPanenOpen: false,
- panelTitle: '',
- panelDesc: '',
- panelNum: '',
- list: [],
- imageUrl : '',
- queryParams: {
-
- }
- }
- },
- onShow() {
- this.getorderDetail();
- this.getProduct();
- },
- methods: {
- getorderDetail() { //获取订单详情
- this.request('getOrderOne', {}, {
- id: this.$route.query.id,
- }).then(res => {
- this.productList = res.result
- })
- },
- copy(e) {
- uni.setClipboardData({
- data: e + '',
- success: () => {
- uni.showToast({
- title: this.$t('success-operation'),
- icon: 'none'
- })
- }
- })
- },
- leftClick() {
- uni.switchTab({
- url: '/pages/order/order'
- })
- },
- toRepurchase() {
- uni.navigateTo({
- url: '/pages/repurchase/repurchase?id=' + this.$route.query.id
- })
- },
- closePanel() {
- this.orderPanenOpen = false;
- },
- definiteExecution() {
- this.$MyToast("操作成功!", {
- title: this.$t('myToactTitle'),
- icon: true //是否开启icon
- })
- this.orderPanenOpen = false;
- this.leftClick();
- },
- deleteOrder(item) { //删除订单
- this.panelTitle = this.$t('page.orderDetail.delete-order-title')
- this.panelDesc = this.$t('page.orderDetail.delete-order-desc')
- this.panelNum = this.$t('page.orderDetail.delete-product-num');
- this.imageUrl = item.image
- this.orderPanenOpen = true;
- },
- getProduct() { //获取商品列表
- this.request('getShopPage', {}, {
- "pageSize": 10,
- "currentPage": 1
- })
- .then(res => {
- this.list = parseList(res.result.records);
- })
- },
- showRepurchase(state) { //是否显示回购按钮
- return state != '4' && state == '1' || state == '2' || state == '3'
- },
- toServer(){ //找客服
- uni.navigateTo({
- url: `/pages/login/contactCustomerService?title=${this.$t('page.orderDetail.contact-seller')}&url=/pages/orderDetail/orderDetail&id=` + this.$route.query.id
- })
- }
- }
- }
- </script>
-
- <style lang="scss" scoped>
- .order-detail {
- padding-bottom: 100rpx;
-
- .inside-margin {
- padding: 10px;
- }
-
- .white {
- background: white;
- }
-
- .in-block {
- display: inline-block;
- }
-
- .user-info {
- display: flex;
- align-items: center;
- margin-top: 56px;
- padding: 25px 10px;
-
- img,
- .u-icon {
- width: 30rpx;
- height: 30rpx;
- }
-
- .user-base-info {
- width: calc(100% - 60rpx);
- padding-left: 10px;
- font-size: 24rpx;
-
- text {
- margin: 0px 3px;
- }
- }
- }
-
- .order-info {
- margin-top: 10px;
-
- .order-info-top {
- display: flex;
- justify-content: space-between;
- background: white;
- font-size: 28rpx;
-
- .merchant {
- display: flex;
- }
-
- .order-status {
- color: #ED762F;
- }
- }
-
- .product-list {
- padding: 0px 5px;
- }
-
- .unknown {
- display: flex;
- justify-content: flex-end;
- font-size: 24rpx;
-
- .unknown-price {
- font-size: 30rpx;
- }
- }
-
- .account-payable,
- .order-number,
- .receiving-information,
- .transaction-number,
- .create-time,
- .closing-time {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- padding: 12px 10px;
-
- >text,
- >view {
- width: 77%;
- font-size: 26rpx;
-
- &:nth-child(1) {
- width: 23%;
- font-weight: 600;
- }
-
- &:nth-child(2) {
- display: flex;
- justify-content: flex-end;
- text-align: right;
- color: #888;
- }
- }
-
- .account-payable-title {
- display: flex;
- align-items: center;
- }
-
- .number {
- display: flex;
- align-items: center;
-
- .copy {
- margin-left: 5px;
- border-left: 1px solid #ccc;
- padding-left: 5px;
- }
- }
-
- .account-payable-price {
- display: flex;
-
- .money-symbol {
- display: flex;
- align-items: center;
- }
-
- .num {
- display: flex;
- align-items: center;
- font-size: 35rpx;
- color: #E01717;
-
- text {
- font-size: 26rpx;
- }
- }
- }
- }
-
- .pack-more-information {
- display: flex;
- padding: 5px 10px;
- font-size: 25rpx;
- }
- }
-
- .contact-seller {
- display: flex;
- justify-content: center;
- align-items: center;
- padding: 15px 10px;
- margin-top: 15px;
- font-size: 26rpx;
-
- img {
- width: 35rpx;
- height: 35rpx;
- vertical-align: middle;
- margin-right: 10rpx;
- }
- }
-
- .order-detail-bottom {
- position: fixed;
- display: flex;
- justify-content: flex-end;
- align-items: center;
- bottom: 0;
- left: 0;
- height: 100rpx;
- background: white;
- width: 100%;
-
- .btn {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 70rpx;
- border-radius: 35rpx;
- padding: 0px 50rpx;
- border: 1px solid #ccc;
- margin: 0px 5px;
- text-align: center;
- font-size: 26rpx;
- }
-
- .repurchaseBtn {
- border: 1px solid #ED762F;
- color: #ED762F;
- }
- }
- }
- </style>
|