logistics.vue 2.66 KB
<template>
    <div class="edit-logistics-page">
        <div class="edit-logistics">
            <label @click="companylist">
                选择快递公司<input class="company-val" type="text" value="{{company_name}}" readonly>
                <span class="icon icon-right"></span>
            </label>
            <label>
                快递单号
                <input class="num" maxlength="20" v-model='num'>
            </label>
        </div>
        <div class="submit" @click="submit">确认</div>
    </div>
</template>

<script>
    const $ = require('jquery');
    const tip = require('common/tip');
    const yoho = require('yoho');
    const modal = require('common/modal');

    module.exports = {
        props: ['applyid', 'type', 'company_id', 'company_name'],
        data() {
            return {
                num: '',
            };
        },
        methods: {
            companylist() {
                this.$dispatch('changeView', {
                    view: 'logisticsCompany'
                });
            },
            submit() {
                if (!this.company_name) {
                    tip('请选择快递公司');
                    return false;
                }
                if (!this.num || !/^[0-9]*$/.test(this.num)) {
                    tip('请输入正确的快递单号');
                    return false;
                }

                const text = `快递公司:${this.company_name} <br>单号:${this.num}`;
                const _this = this;

                modal.confirm(text, '请确认寄回信息是否正确?', function() {
                    this.hide();
                    $.ajax({
                        url: '/me/return/save-logistics',
                        type: 'post',
                        data: {
                            applyid: _this.applyid,
                            type: _this.type,
                            expressId: _this.company_id,
                            expressCompany: _this.company_name,
                            expressNumber: _this.num
                        }
                    }).then(res => {
                        if ($.type(res) !== 'object') {
                            res = {};
                        }
                        if (res.code !== 200) {
                            tip(res.message || '网络错误');
                        } else {
                            yoho.goBack();
                            yoho.store.set('refundStatus', true);
                            return false;
                        }
                    });
                });
            }
        }
    };
</script>

<style>
    @import "../../../scss/me/_logistics.css";
</style>