routeaircraft.vue 16.0 KB
<template>
    <el-container>
        <el-main>
            <el-row class="row-bg">
                <el-col :span="24">
                    <div class="grid-content content">航线航空器注册</div>
                </el-col>
            </el-row>
            <el-row>
                <el-form :model="aircraft" :rules="rules" ref="aircraft" label-width="130px" class="demo-ruleForm">
                    <el-col :span="6">
                        <el-form-item label="海关关区"  label-width="130px" prop="customcode">
                            <el-input  v-model="aircraft.customcode" placeholder="请输入"  oninput="value=value.replace(/[^\d]/g,'')" maxLength='4'></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="运营企业海关编码" prop="operatcode" label-width="140px">
                            <el-input v-model="aircraft.operatcode" placeholder="请输入" ></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="航空公司英文名称" prop="airwayNameEn" label-width="140px">
                            <el-input v-model="aircraft.airwayNameEn" placeholder="请输入"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="航空公司中文名称" prop="airwayNameCn" label-width="140px">
                            <el-input v-model="aircraft.airwayNameCn" placeholder="请输入"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="航空器注册编号" prop="aircraftNo" label-width="130px">
                            <el-input v-model.trim="aircraft.aircraftNo" placeholder="请输入" ></el-input>
                        </el-form-item>
                    </el-col>
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="航空器国籍/地区" prop="aeroNationality" label-width="130px">-->
<!--                            <el-input v-model="aircraft.aeroNationality" placeholder="请输入"  maxLength='2' @input="e => aircraft.aeroNationality=inputMe(e)"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
                    <el-col :span="6">
                        <el-form-item label="机型" prop="aeroModel" label-width="140px">
                            <el-input v-model="aircraft.aeroModel" placeholder="请输入"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="标客舱载客人数" prop="passengerLimit" label-width="140px">
                            <el-input v-model="aircraft.passengerLimit" placeholder="请输入数量(单位:人)"   oninput="value=value.replace(/[^\d]/g,'')"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="最大起飞重量" prop="grossWeight" label-width="140px">
                            <el-input v-model="aircraft.grossWeight" placeholder="请输入重量(单位:KG)"   oninput="value=value.replace(/[^\d]/g,'')"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :sapn="24">
                        <el-form-item label="备注" prop="meno" label-width="130px">
                            <el-input v-model="aircraft.meno" placeholder="请输入"></el-input>
                        </el-form-item>
                    </el-col>






<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="航空公司代码" prop="airwayCode" label-width="130px">-->
<!--                            <el-input v-model="aircraft.airwayCode" placeholder="请输入" @input="e => aircraft.airwayCode=inputMe(e)" maxLength='2'></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="证书类型" prop="credentialType" label-width="130px">-->
<!--&lt;!&ndash;                            <el-input v-model="aircraft.credentialType" placeholder="请输入"></el-input>&ndash;&gt;-->
<!--                            <el-select v-model="aircraft.credentialType"-->
<!--                                       filterable  oninput="value=value.replace(/[^\d]/g,'')"-->
<!--                                       @click.native="getCreden"-->
<!--                                       :loading="loading" placeholder="请选择">-->
<!--                                <el-option-->
<!--                                        v-for="item in certOptions"-->
<!--                                        :key="item.serialno"-->
<!--                                        :label="item.serialno+'-'+item.credenname"-->
<!--                                        :value="item.serialno">-->
<!--                                    <span style="float: left">{{ item.serialno }}</span>-->
<!--                                    <span style="float: right; color: #8492a6; font-size: 13px">{{ item.credenname }}</span>-->
<!--                                </el-option>-->
<!--                            </el-select>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="证书编号" prop="credentialNo" label-width="130px">-->
<!--                            <el-input v-model="aircraft.credentialNo" placeholder="请输入"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="航空器所有方式" prop="useRelation" label-width="130px">-->
<!--                            <el-input v-model="aircraft.useRelation" placeholder="请输入"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="航空器所有人代码" prop="ownerCo" label-width="140px">-->
<!--                            <el-input v-model="aircraft.ownerCo" placeholder="请输入" ></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="国际证书编号" prop="certNo" label-width="130px">-->
<!--                            <el-input v-model="aircraft.certNo" placeholder="请输入"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="交付日期" prop="deliverDate" label-width="120px">-->
<!--                            <el-date-picker-->
<!--                                    v-model="aircraft.deliverDate"-->
<!--                                    type="date"-->
<!--                                    value-format="yyyyMMdd"-->
<!--                                    format="yyyyMMdd"-->
<!--                                    style="width:100%"-->
<!--                                    placeholder="选择日期">-->
<!--                            </el-date-picker>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->

                </el-form>
            </el-row>
            <el-row style="margin-left: 130px">
                <el-col :span="24">   <el-button type="primary" @click="submitForm('aircraft')">保 存</el-button>
                    <el-button type="success" @click="sendForm('aircraft')">保存并发送</el-button></el-col>
            </el-row>
            <!--对话提示框-->
            <el-row>
                <el-dialog
                        title="系统提示"
                        :visible.sync="centerDialogVisible"
                        width="30%"
                        center>
                    <span>{{msg}}</span>
                    <span slot="footer" class="dialog-footer">
                          <el-button @click="centerDialogVisible = false">取 消</el-button>
                        <el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
                      </span>
                </el-dialog>
            </el-row>
        </el-main>
    </el-container>
</template>
<style scoped>
    .grid-content {
        height: 36px;
        line-height: 36px;
    }
    .el-dialog__body{text-align: center}
    .content {
        border-left: 4px #409EFF solid;
        padding-left: 10px;
        background-color: #f9fafc;
        margin-bottom: 2px
    }

    .row-bg{
        background-color: white;
    }
    .el-col{margin-right: 0px;}
</style>
<script>
    import {addAirLineAircraft, selectCreden, sendAirLineAircraft} from "../../api/transport";
    import loginUserInfo from "../../api/base";

    export default {
        data(){
            return{
                aircraft:{
                    createBy:loginUserInfo.username,
                    updateBy:loginUserInfo.username,
                    uuid:undefined,
                    customcode:undefined,
                    operatcode:undefined,
                    airwayCode:undefined,
                    airwayNameEn:undefined,
                    airwayNameCn:undefined,
                    aircraftNo:undefined,
                    aeroModel:undefined,
                    aeroNationality:undefined,
                    certNo:undefined,
                    grossWeight:undefined,
                    passengerLimit:undefined,
                    useRelation:undefined,
                    deliverDate:undefined,
                    ownerCo:undefined,
                    supervisoryProperty:undefined,
                    credentialNo:undefined,
                    statusMsg:undefined,
                    status:undefined,
                    createTime:undefined,
                    updateTime:undefined,
                    meno:undefined,
                    isDelete:undefined,
                    messageid:undefined
                },
                loading:false,
                certOptions:[],

                rules:{
                    customcode: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    operatcode: [
                        {required: true, message: '请输入编码', trigger: 'blur'}
                    ],
                    // meno: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    airwayNameEn: [
                        {required: true, message: '请输入英文名称', trigger: 'blur'}
                    ],
                    // airwayNameCn: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    aeroNationality: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    aircraftNo: [
                        {required: true, message: '请输入编号', trigger: 'blur'}
                    ],
                    // credentialType: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    // credentialNo: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    aeroModel: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    grossWeight: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    passengerLimit: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    // useRelation: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    // ownerCo: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    // certNo: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    // deliverDate: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                },
                centerDialogVisible:false,
                msg:undefined
            }
        },
        methods:{
            /*获取证件*/
            getCreden:function(query){
                this.certOptions=[];
                let params={serialno:query};
                this.loading = true;
                selectCreden(params).then(res =>{
                    if (res!=null) {
                        console.log(res.data.data)
                        setTimeout(() => {
                            this.loading = false;
                            this.certOptions=res.data.data;
                        }, 200);
                    } else {
                        this.certOptions = [];
                    }

                });
            },
            //新增航线航空器(保存按钮)
            submitForm(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        addAirLineAircraft(this.aircraft).then(res=>{
                            let response=res.data;
                            if(response.code=='200'){
                                //this.centerDialogVisible=true;
                                //this.msg=response.msg;
                                this.$router.push({path:'/queryRouteaircraft',query:{airwayCode:this.aircraft.airwayCode,aircraftNo:this.aircraft.aircraftNo},});
                                this.$message.success(response.msg)
                            }else{
                                this.$message.error(response.msg)
                            }
                        });
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            },
            //保存并发送
            sendForm(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        this.aircraft.createBy=loginUserInfo.username
                        sendAirLineAircraft(this.aircraft).then(res=>{
                            let response=res.data;
                            if(response.code=='200'){
                                //this.centerDialogVisible=true;
                                //this.msg=response.msg;
                                this.$router.push({path:'/queryRouteaircraft',query:{airwayCode:this.aircraft.airwayCode,aircraftNo:this.aircraft.aircraftNo},});
                                this.$message.success(response.msg)
                            }else{
                                this.$message.error(response.msg)
                            }
                        });
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            },
            //加载默认值
            defaultData(){
                if(this.$route.query!=null){
                    Object.assign(this.aircraft, this.$route.query);
                }
            },
            // 过滤中英文
            inputMe(e){
                return e.replace(/[^a-zA-Z0-9.-]/g,'').toUpperCase();
            }

        },
        activated(){
            this.defaultData();
        }
    }
</script>