success.vue 5.86 KB
<template>
    <div v-if="order" style="width: 1120px">
      <div style="display: flex;justify-content: space-around;margin-top: 30px;">
        <div class="el-icon-check" style="font-size: 100px;color: #67C23A;" />
        <div>
          <el-row>
            <span style="font-weight: bold;font-size: 18px;">{{ $t('新建订单成功') }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 16px; font-weight: bold; color: #666;">{{ $t('您的订舱号') }}{{ order.orderNo }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('唛头') }}{{ order.marks }}</span>
          </el-row>
          <el-row v-if="order.channelId" style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('出货渠道') }}{{ order.channelName }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('路线') }}{{ $l(order.logisticsInfoDto, 'startTitle') }} >> {{ $l(order.logisticsInfoDto, 'destTitle') }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('单证报关') }}<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" /></span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('是否控货') }}<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCargoControl" /></span>
          </el-row>

          <el-row style="margin-top: 10px;">
          <span style="font-size: 14px;color: #666;">
            {{ $t('商品列表') }}
            <span v-for="(item, index) in order.orderItemVOList" :key="index">
              {{ $l(item, 'prodTitle') }}
              <template v-if="index < order.orderItemVOList.length - 1">{{ $t('') }}</template>
            </span>
          </span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('总件数') }}:{{ order.costVO.totalNum }}</span>
          </el-row>

          <el-row style="margin-top: 30px;">
            <span style="font-size: 14px;color: #666;">{{ $t('仓库地址') }}:{{ order.logisticsInfoDto.startAddressZh }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('仓库电话') }}:{{ order.logisticsInfoDto.startTell }}</span>
          </el-row>
          <el-row style="margin-top: 10px;">
            <span style="font-size: 14px;color: #666;">{{ $t('为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)') }}</span>
          </el-row>
          <el-row style="margin-top: 20px;">
            <span style="text-decoration: underline;font-size: 14px;color: #999;">{{ $t('您的订单已提交,谢谢您选择捷道物流!') }}</span>
          </el-row>
        </div>
      </div>
        <div class="actions mt-50">
            <el-button type="primary" @click="$redirect('detail?orderId=' + order.orderId)">{{$t('查看订单')}}</el-button>
            <el-button type="warning" @click="showNotice = true">{{$t('入仓须知')}}</el-button>
            <el-button type="info" @click="$redirect('create')">{{$t('再来一单')}}</el-button>
            <el-button class="copy-btn" :data-clipboard-text="orderInfoForCopy">{{$t('复制订单信息')}}</el-button>
        </div>

        <el-dialog :title="$t('查看须知')" :visible.sync="showNotice" width="700px">
            <!-- <img :src="noticeUrl" id="noticeImg" /> -->
            <need-know keyname="warehousing" ref="needKnow" />
            <div style="text-align:center">
                <el-button type="primary" @click="$refs.needKnow.downloadPdf()">{{$t('下载')}}</el-button>
            </div>
        </el-dialog>
    </div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import FileSaver from 'file-saver'
import {dataURLtoBlob} from '@/utils/index'
import NeedKnow from '@/components/NeedKnow'
import ClipboardJS from "clipboard";

let clipboard;

export default {
    components: {NeedKnow},
    data(){
        return {
            order: null,
            showNotice: false,
            // noticeUrl: 'http://v4.groupage.cn/Public/images/notice.png'
        }
    },
  computed:{
      orderInfoForCopy(){
        return `订单号:${this.order.orderNo}\n唛头:${this.order.marks}\n提货点:${this.order.logisticsInfoDto?.destTitleZh}\n送货地址:${this.order.logisticsInfoDto?.startAddressZh}\n仓库电话: ${this.order.logisticsInfoDto?.startTell}`
      }
  },
    async created(){
      await this.loadData()
      await this.$nextTick()
      clipboard = new ClipboardJS('.copy-btn')
      clipboard.on('success', () => {
        this.$message.success(this.$t('复制成功'))
      })
      clipboard.on('error', () => {
        this.$message.error(this.$t('复制失败'))
      })
    },
    destroyed() {
      clipboard.destroy()
    },
    methods:{
      async loadData(){
          await getOrder(this.$route.query.orderId)
              .then(res => {
                  this.order = res.data
              })
      }
    }
}
</script>
<style scoped lang="scss">
.wrapper{
    padding:100px;
    display: flex;
    justify-content: center;
    .icon{
        display: flex;
        justify-content: flex-end;
        margin-right: 50px;
        align-items: center;
        img{
            width: 100px;
            height: 100px;
        }
    }
    .title{
        font-size: 30px;
        margin-bottom: 20px;
    }

}
.line{
  font-size: 14px;
  margin-bottom: 10px;
}
.actions{
    display: flex;
    justify-content: center;
}
.bold{
  font-weight: bold;
}
.font-lg{
  font-size: 1.5rem !important;
}
</style>