审查视图

src/views/airtransport/aircraft.vue 18.2 KB
1 2 3 4 5
<template>
    <el-container>
        <el-main>
            <el-row class="row-bg">
                <el-col :span="24">
6
                    <div class="grid-content content">航空器备案申报</div>
7 8 9 10 11
                </el-col>
            </el-row>
            <el-row>
                <el-form :model="aircraft" :rules="rules" ref="aircraft" label-width="130px" class="demo-ruleForm">
                    <el-col :span="6">
小范 authored
12 13
                        <el-form-item label="海关关区" prop="customcode" label-width="130px">
                            <el-input v-model="aircraft.customcode" placeholder="请输入关区号" oninput="value=value.replace(/[^\d]/g,'')" maxLength='4'></el-input>
14 15 16
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
小范 authored
17 18
                        <el-form-item label="代理企业海关编码" prop="agentcode" label-width="140px">
                            <el-input v-model="aircraft.agentcode" placeholder="请输入编码" ></el-input>
19 20 21
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
小范 authored
22
                        <el-form-item label="航空公司英文名称" prop="airwayNameEn" label-width="140px">
小范 authored
23
                            <el-input v-model="aircraft.airwayNameEn" placeholder="请输入英文名称" ></el-input>
24 25 26
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
小范 authored
27 28
                        <el-form-item label="航空公司中文名称" prop="airwayNameCn" label-width="130px">
                            <el-input v-model="aircraft.airwayNameCn" placeholder="请输入中文名称"></el-input>
29 30 31 32
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="航空器注册编号" prop="aircraftNo" label-width="130px">
小范 authored
33
                            <el-input v-model.trim="aircraft.aircraftNo" placeholder="请输入编号"></el-input>
34 35 36
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
小范 authored
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
                        <el-form-item label="航空器国籍/地区" prop="areoNationality" label-width="140px">
<!--                            <el-input v-model="aircraft.areoNationality" placeholder="请输入"  maxLength='2' @input="e => aircraft.areoNationality=inputMe(e)"></el-input>-->
                            <el-select v-model="aircraft.areoNationality"
                                       filterable
                                       @click.native="getCountry"
                                       :loading="loading" placeholder="请选择" @input="e => aircraft.areoNationality=inputMe(e)"
                                       style="text-transform:uppercase">
                                <el-option
                                        v-for="item in countryOptions"
                                        :key="item.countryid"
                                        :label="item.countryid+'-'+item.countrydescchn"
                                        :value="item.countryid">
                                    <span style="float: left">{{ item.countryid }}</span>
                                    <span style="float: right; color: #8492a6; font-size: 13px">{{ item.countrydescchn }}</span>
                                </el-option>
                            </el-select>
53 54
                        </el-form-item>
                    </el-col>
55 56 57 58 59
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="航空器类型" prop="areoNationality" label-width="140px">-->
<!--                            <el-input v-model="aircraft.areoNationality" placeholder="请输入"  maxLength='2' @input="e => aircraft.areoNationality=inputMe(e)"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
60
                    <el-col :span="6">
61
                        <el-form-item label="机型" prop="areoModel" label-width="140px">
小范 authored
62
                            <el-input v-model="aircraft.areoModel" placeholder="请输入机型"></el-input>
63 64 65
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
66 67
                        <el-form-item label="标客舱载客人数" prop="passengerLimit" label-width="130px">
                            <el-input v-model="aircraft.passengerLimit" placeholder="请输入数量(单位:人)"  oninput="value=value.replace(/[^\d]/g,'')"></el-input>
68 69 70
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
71
                        <el-form-item label="航空器所有人" prop="ownerCo" label-width="130px">
72
                            <el-input v-model="aircraft.ownerCo"  placeholder="请输入"></el-input>
73 74 75 76
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="所有人证件类型" prop="credentialType" label-width="140px">
小范 authored
77 78 79 80 81 82 83 84 85 86 87 88 89 90
<!--                            <el-input v-model="aircraft.credentialType" placeholder="请输入"></el-input>-->
                            <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>
91 92 93 94 95
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="所有人证件号码" prop="credentialNo" label-width="140px">
                            <el-input v-model="aircraft.credentialNo" placeholder="请输入"></el-input>
96 97 98 99
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
                        <el-form-item label="最大起飞重量" prop="grossWeight" label-width="130px">
小范 authored
100
                            <el-input v-model="aircraft.grossWeight" placeholder="请输入重量(单位:KG)"  oninput="value=value.replace(/[^\d]/g,'')"></el-input>
101 102
                        </el-form-item>
                    </el-col>
103 104 105
                    <el-col :span="24">
                        <el-form-item label="备注" prop="meno" label-width="130px">
                            <el-input v-model="aircraft.meno" placeholder="请输入" ></el-input>
106 107
                        </el-form-item>
                    </el-col>
108 109 110 111 112 113 114 115
<!--                    <el-col :sapn="6">-->
<!--                        <el-form-item label="备注" prop="meno" label-width="130px">-->
<!--                            <el-input v-model="aircraft.meno" placeholder="请输入"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->


116 117 118 119 120 121 122 123 124 125
<!--                    <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="useRelation" label-width="140px">-->
<!--                            <el-input v-model="aircraft.useRelation" placeholder="请输入"></el-input>-->
<!--                        </el-form-item>-->
<!--                    </el-col>-->
126
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
<!--                    <el-col :span="6">-->
<!--                        <el-form-item label="国际证书编号" prop="certNo" label-width="140px">-->
<!--                            <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>-->
144
145 146 147 148
                </el-form>
            </el-row>
            <el-row style="margin-left: 130px">
                <el-col :span="24">   <el-button type="primary" @click="submitForm('aircraft')">保 存</el-button>
小范 authored
149
                    <el-button type="success" @click="sendForm('aircraft')">保存并发送</el-button></el-col>
150
            </el-row>
小范 authored
151 152 153 154 155 156 157 158 159 160 161 162 163 164
            <!--对话提示框-->
            <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>
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
        </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>
小范 authored
187
    const fecha = require('fecha');
小范 authored
188
    import {addAircraft, selectCountry, selectCreden, sendAircraft} from "../../api/transport";
189 190
    import loginUserInfo from '../../api/base'
191 192 193 194
    export default {
        data(){
            return{
                aircraft:{
195 196
                    createBy:loginUserInfo.username,
                    updateBy:loginUserInfo.username,
小范 authored
197 198
                    agentcode:undefined,
                    customcode:undefined,
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
                    uuid:undefined,
                    airwayCode:undefined,
                    airwayNameEn:undefined,
                    airwayNameCn:undefined,
                    aircraftNo:undefined,
                    areoModel:undefined,
                    areoNationality:undefined,
                    certNo:undefined,
                    grossWeight:undefined,
                    passengerLimit:undefined,
                    useRelation:undefined,
                    deliverDate:undefined,
                    ownerCo:undefined,
                    credentialType:undefined,
                    credentialNo:undefined,
                    statusMsg:undefined,
                    status:undefined,
                    createTime:undefined,
                    updateTime:undefined,
                    meno:undefined,
                    isDelete:undefined,
                    messageid:undefined
                },
小范 authored
222 223 224 225
                loading:false,
                certOptions:[],
                countryOptions:[],
226
                rules:{
227 228 229
                    customcode: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
小范 authored
230
                    airwayNameEn: [
小范 authored
231
                        {required: true, message: '请输入英文名称', trigger: 'blur'}
小范 authored
232
                    ],
233 234 235
                    // airwayNameCn: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
小范 authored
236 237 238 239
                    areoNationality: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    aircraftNo: [
小范 authored
240
                        {required: true, message: '请输入编号', trigger: 'blur'}
小范 authored
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
                    ],
                    credentialType: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    credentialNo: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    areoModel: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    grossWeight: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
                    passengerLimit: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
257 258 259
                    // useRelation: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
小范 authored
260 261 262
                    ownerCo: [
                        {required: true, message: '请输入', trigger: 'blur'}
                    ],
小范 authored
263 264 265
                    agentcode: [
                        {required: true, message: '请输入编码', trigger: 'blur'}
                    ],
266 267 268 269 270 271
                    // certNo: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
                    // deliverDate: [
                    //     {required: true, message: '请输入', trigger: 'blur'}
                    // ],
小范 authored
272 273
                },
                centerDialogVisible:false,
小范 authored
274
                msg:undefined
275 276
            }
        },
小范 authored
277
        methods:{
小范 authored
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313
            /*获取国籍*/
            getCountry:function(query){
                this.countryOptions=[];
                let params={countryid:query};
                this.loading = true;
                selectCountry(params).then(res =>{
                    if (res!=null) {
                        console.log(res.data.data)
                        setTimeout(() => {
                            this.loading = false;
                            this.countryOptions=res.data.data;
                        }, 200);
                    } else {
                        this.countryOptions = [];
                    }

                });
            },
            /*获取证件*/
            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 = [];
                    }

                });
            },
小范 authored
314 315 316 317 318 319 320 321 322
            //新增当日飞行计划(保存按钮)
            submitForm(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        addAircraft(this.aircraft).then(res=>{
                            let response=res.data;
                            if(response.code=='200'){
                                this.centerDialogVisible=true;
                                this.msg=response.msg;
小范 authored
323
                                this.$router.push({path:'/queryAircraft',query:{airwayCode:this.aircraft.airwayCode,aircraftNo:this.aircraft.aircraftNo}});
小范 authored
324 325 326 327 328 329 330 331 332 333
                            }else{
                                this.msg=response.msg;
                            }
                        });
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            },
小范 authored
334 335 336 337
            //保存并发送
            sendForm(formName) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
338
                        this.aircraft.createBy=loginUserInfo.username
小范 authored
339 340
                        sendAircraft(this.aircraft).then(res=>{
                            let response=res.data;
341
                            console.log(response);
小范 authored
342 343 344 345 346 347 348 349 350 351 352 353 354 355
                            if(response.code=='200'){
                                this.centerDialogVisible=true;
                                this.msg=response.msg;
                                this.$router.push({path:'/queryAircraft',query:{airwayCode:this.aircraft.airwayCode,aircraftNo:this.aircraft.aircraftNo}});
                            }else{
                                this.msg=response.msg;
                            }
                        });
                    } else {
                        console.log('error submit!!');
                        return false;
                    }
                });
            },
小范 authored
356 357 358
            //加载默认值
            defaultData(){
                if(this.$route.query!=null){
小范 authored
359
                    Object.assign(this.aircraft, this.$route.query);
小范 authored
360 361 362 363 364 365
                    /*有时分秒时用fecha
                    this.flight.flightDate=ob.flightDate;
                    this.flight.currentLandingTime=fecha.parse(ob.currentLandingTime,'yyyyMMddHHmm');
                    this.flight.currentTakeoffTime=fecha.parse(ob.currentTakeoffTime,'yyyyMMddHHmm');*/
                }
            },
小范 authored
366 367 368 369
            // 过滤中英文
            inputMe(e){
                return e.replace(/[^a-zA-Z0-9.-]/g,'').toUpperCase();
            }
小范 authored
370 371 372 373
        },
        mounted(){
            this.defaultData();
        }
374
    }
小范 authored
375
</script>