MergeDetail.vue 4.29 KB
Newer Older
dragondean@qq.com's avatar
dragondean@qq.com committed
1 2
<!--拆单审核中的申请信息部分-->
<template>
3 4
    <div v-if="orders">
        <el-table :data="orders">
5
            <el-table-column :label="$t('订单编号')">
dragondean@qq.com's avatar
dragondean@qq.com committed
6
                <template slot-scope="scope">{{scope.row.orderNo}}</template>
dragondean@qq.com's avatar
dragondean@qq.com committed
7
            </el-table-column>
8
            <el-table-column :label="$t('唛头')">
dragondean@qq.com's avatar
dragondean@qq.com committed
9
                <template slot-scope="{row}">{{row.marks}}</template>
dragondean@qq.com's avatar
dragondean@qq.com committed
10
            </el-table-column>
11 12 13
            <!-- <el-table-column label="已到箱数/总箱数">
                <template slot-scope="{row}">/{{row.sumNum}}/{{row.sumNum}}</template>
            </el-table-column> -->
14
            <el-table-column :label="$t('下单统计')">
dragondean@qq.com's avatar
dragondean@qq.com committed
15
                <template slot-scope="{row}">
16
                    {{row.costVO.totalNum}}{{$t('')}}<br/>{{row.costVO.totalVolume}}<br/>{{row.costVO.totalWeight}}kg
dragondean@qq.com's avatar
dragondean@qq.com committed
17 18
                </template>
            </el-table-column>
19
            <el-table-column :label="$t('入仓你统计')">
20
                <template slot-scope="{row}">
21
                    {{row.sumNum}}{{$t('')}}<br/>{{row.sumVolume}}<br/>{{row.sumWeight}}kg
22
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
23
            </el-table-column>
24
            <el-table-column :label="$t('入仓时间')">
dragondean@qq.com's avatar
dragondean@qq.com committed
25
                <template slot-scope="{row}">
26
                    {{row.rucangTime|parseTime}}
dragondean@qq.com's avatar
dragondean@qq.com committed
27 28
                </template>
            </el-table-column>
29
            <el-table-column :label="$t('运输方式')">
30 31 32
                <template slot-scope="{row}">
                    <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId" />
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
33
            </el-table-column>
34
            <el-table-column :label="$t('出货渠道')">
35 36 37
                <template slot-scope="{row}">
                    {{getChannelName(row.channelId)}}
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
38
            </el-table-column>
39
            <el-table-column :label="$t('始发仓')">
40
                <template slot-scope="{row}">{{jsonParse(row.departureVO.departure).titleZh}}</template>
dragondean@qq.com's avatar
dragondean@qq.com committed
41
            </el-table-column>
42
            <el-table-column :label="$t('目的仓')">
43 44 45
                <template slot-scope="{row}">
                    {{jsonParse(row.objectiveVO.objective).titleZh}}
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
46
            </el-table-column>
47
            <el-table-column :label="$t('发货人')">
48 49 50
                <template slot-scope="{row}">
                    {{row.consignorVO.name}}
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
51
            </el-table-column>
52
            <el-table-column :label="$t('收货人')">
53 54 55
                <template slot-scope="{row}">
                    {{row.consigneeVO.name}}
                </template>
dragondean@qq.com's avatar
dragondean@qq.com committed
56 57
            </el-table-column>        
        </el-table>
dragondean@qq.com's avatar
dragondean@qq.com committed
58 59 60 61
    </div>
</template>
<script>
import {getApproval, getOrder} from '@/api/ecw/order'
dragondean@qq.com's avatar
dragondean@qq.com committed
62
import {getMergeListByMergeId} from '@/api/ecw/orderHandle'
63 64
import {getChannelListByIds} from '@/api/ecw/channel'
import {parseTime} from '@/utils/ruoyi'
dragondean@qq.com's avatar
dragondean@qq.com committed
65 66
export default {
    name: 'MergeDetail',
67
    filters: {parseTime},
dragondean@qq.com's avatar
dragondean@qq.com committed
68 69 70 71 72
    props:{
        id: [String, Number]
    },
    data(){
        return {
73 74
            orders: null,
            channels: []
dragondean@qq.com's avatar
dragondean@qq.com committed
75 76 77 78 79
        }
    },
    watch:{
        id(){
            this.getData()
80 81 82 83 84 85 86
        }
    },
    computed:{
        jsonParse(){
            return d => {
                return JSON.parse(d)
            }
dragondean@qq.com's avatar
dragondean@qq.com committed
87
        },
88 89 90 91
        getChannelName(){
            return id => {
                let channel = this.channels.find(item => item.channelId == id)
                return channel ? channel.nameZh : '/'
dragondean@qq.com's avatar
dragondean@qq.com committed
92
            }
93
        }
dragondean@qq.com's avatar
dragondean@qq.com committed
94 95 96 97 98 99 100 101
    },
    created(){
        if(this.id){
            this.getData()
        }
    },
    methods:{
        getData(){
dragondean@qq.com's avatar
dragondean@qq.com committed
102
            getMergeListByMergeId({id: this.id}).then(res => {
103 104
                this.orders = res.data
                this.getChannels()
dragondean@qq.com's avatar
dragondean@qq.com committed
105 106
            })
        },
107 108 109 110 111 112
        getChannels(){
            let ids = []
            this.orders.forEach(order => {
                if(order.channelId){
                    ids.push(order.channelId)
                }
dragondean@qq.com's avatar
dragondean@qq.com committed
113
            })
114 115 116
            if(!ids.length) return false
            getChannelListByIds({ids: ids.join(',')}).then(res => {
                this.channels = res.data
dragondean@qq.com's avatar
dragondean@qq.com committed
117
            })
118
        }
dragondean@qq.com's avatar
dragondean@qq.com committed
119 120 121 122 123 124 125 126 127 128 129 130
    }
}
</script>
<style scoped lang="scss">
.title{
    padding: 10px 0;
    span{
        font-size: 14px;
        font-weight: bold;
    }
}
</style>