order-info.vue 2.37 KB
<template>
    <layout-body>
        <Table border :columns="columns" :data="dataList" :show-header="false"></Table>
        <handle-area :other-info="otherInfo" :work-id="workOrderId"></handle-area>
    </layout-body>
</template>

<script>
    import _ from 'lodash';
    import HandleArea from './handle-area';
    import {DiffService} from 'services/repository';

    export default {
        props: {
            id: {
                type: Number
            }
        },
        data() {
            return {
                columns: [{
                    width: 200,
                    align: 'right',
                    key: 'label'
                }, {
                    key: 'value',
                    className: 'value-column'
                }],
                dataList: [],
                workOrderId: 0,
                otherInfo: {}
            };
        },
        created() {
            this.diffService = new DiffService();
            this.$Loading.start();
            this.workOrderId = +this.id;
            this.diffService.detail({id: this.workOrderId})
                .then(res => {
                    const data = res.data;

                    let fields = [{
                        label: '主题:',
                        value: 'subject'
                    }, {
                        label: '分类:',
                        value: 'typeName'
                    }, {
                        label: '到货单号:',
                        value: 'orderNumber'
                    }, {
                        label: '紧急程度:',
                        value: 'emergencyDegreeName'
                    }, {
                        label: '品牌:',
                        value: 'brandName'
                    }, {
                        label: '描述:',
                        value: 'content'
                    }];

                    _.each(fields, item => {
                        item.value = data[item.value] || '-';
                    });

                    this.dataList = fields;
                    this.otherInfo = data.workOrderOrtherInfoBo || {};
                    this.$Loading.finish();
                });
        },
        methods: {
        },
        components: {
            HandleArea
        }
    };
</script>

<style lang="scss">
    .value-column {
        img {
            max-width: 400px;
        }
    }
</style>