queryRouteaircraft.vue 13.1 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 :label-position="labelPosition" :model="queryRouteaircraft"  ref="queryRouteaircraft"
                         label-width="130px" class="demo-ruleForm">
                    <el-col :span="8" style="margin-left: 10px">
                        <el-form-item label="航空器所有人代码:" prop="airwayCode" label-width="130px">
                            <el-input v-model="queryRouteaircraft.airwayCode" style="width:190px"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8" >
                        <el-form-item label="航空器注册号:" prop="aircraftNo" label-width="110px">
                            <el-input v-model="queryRouteaircraft.aircraftNo" style="width:190px"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="6" >
                        <el-button type="primary" @click="submitForm('queryRouteaircraft')">查询</el-button>
                    </el-col>
                </el-form>
            </el-row>
            <!--            表单区域-->
            <el-row>
                <el-table
                        :data="tableData"
                        border
                        height="500"
                        v-loading="tableloading"
                        style="width: 100%;margin-bottom: 10px">
                    <el-table-column
                            fixed="left"
                            label="操作"
                            width="100">
                        <template slot-scope="scope">
                            <el-button
                                    size="mini"
                                    type="primary"
                                    @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
                        </template>
                    </el-table-column>
                    <el-table-column
                            prop=ownerCo"
                            label="航空器所有人代码">
                    </el-table-column>
                    <el-table-column
                            prop="airwayNameEn"
                            label="所有人英文名称">
                    </el-table-column>
                    <el-table-column
                            prop="airwayNameCn"
                            label="所有人中文名称">
                    </el-table-column>
                    <el-table-column
                            prop="aircraftNo"
                            label="航空器注册编号">
                    </el-table-column>
                    <el-table-column
                            prop="certNo"
                            label="国际证书编号">
                    </el-table-column>
                    <el-table-column
                            prop="owner"
                            label="航空器所有人">
                    </el-table-column>
                    <el-table-column
                            prop="areoNationality"
                            label="国籍">
                    </el-table-column>
                    <el-table-column
                            prop="areoModel"
                            label="机型">
                    </el-table-column>
                    <el-table-column
                            prop="deliverDate"
                            label="交付日期">
                    </el-table-column>
                    <el-table-column
                            prop="statusMsg"
                            label="海关回执">
                    </el-table-column>
                    <el-table-column
                            prop="supervisoryProperty"
                            label="所有权监管">
                    </el-table-column>
                    <el-table-column
                            fixed="right"
                            prop=""
                            label="报文操作"
                            width="400">
                        <template slot-scope="scope">
                            <el-button
                                    size="mini"
                                    type="primary"
                                    @click="selectDetail(scope.$index,scope.row)">查看回执</el-button>
                            <el-button
                                    size="mini"
                                    type="success"
                                    @click="change(scope.$index, scope.row)">变更申请</el-button>
                            <el-button
                                    size="mini"
                                    type="warning"
                                    @click="cancle(scope.$index, scope.row)">撤销申请</el-button>
                            <el-button
                                    size="mini"
                                    type="danger"
                                    @click="handleDel(scope.$index, scope.row)">删除</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-row>
            <el-row>
                <div class="block">
                    <el-pagination
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                            :current-page="currentPage"
                            :page-sizes="[10, 20, 30, 40]"
                            :page-size="pageSize"
                            layout="total, sizes, prev, pager, next, jumper"
                            :total="total">
                    </el-pagination>
                </div>
            </el-row>
            <!--查看回执弹框-->
            <el-dialog title="回执明细" :visible.sync="dialogTableVisible">
                <el-table :data="gridData">
                    <el-table-column property="sendtime" label="操作时间" ></el-table-column>
                    <el-table-column property="createBy" label="操作人" ></el-table-column>
                    <el-table-column property="flightNo" label="航班号"></el-table-column>
                    <el-table-column property="flightDate" label="航班日期" ></el-table-column>
                    <el-table-column property="receiptContent" label="回执内容" ></el-table-column>
                </el-table>
            </el-dialog>
        </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;
    }

</style>
<script>
    import {
        editAirLineAircraft,
        selectAirLineAircraft,
        selectReturnMsg,
        cancleAirLineAircraft,
        changeAirLineAircraft,
        changeAircraft, cancleAircraft
    } from "../../api/transport";

    export default {
        data(){
            return{
                queryRouteaircraft:{
                    airwayCode:undefined,
                    aircraftNo:undefined,
                },
                labelPosition:'left',
                currentPage: 1,
                pageSize:10,
                total:0,
                tableData:[],
                tableloading:false,
                gridData:[],
                dialogTableVisible: false,
            }
        },
        methods: {
            //更改申请
            change(index, row) {
                this.$confirm('变更申请, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    changeAirLineAircraft(row).then(res => {
                        let response = res.data;
                        if (response.code == '200') {
                            this.$message({
                                type: 'success',
                                message: '变更申请成功'
                            });
                            this.submitForm();
                        } else {
                            this.$message({
                                type: 'info',
                                message: '变更申请失败'
                            });
                        }
                    });
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消变更申请'
                    });
                });
            },
            //撤销申请
            cancle(index, row) {
                this.$confirm('撤销申请, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    cancleAirLineAircraft(row).then(res => {
                        let response = res.data;
                        if (response.code == '200') {
                            this.$message({
                                type: 'success',
                                message: '撤销申请成功'
                            });
                            this.submitForm();
                        } else {
                            this.$message({
                                type: 'info',
                                message: '撤销申请失败'
                            });
                        }
                    });
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消撤销申请'
                    });
                });
            },
            //查询回执列表
            selectDetail(index,row){
                this.gridData=[];
                this.dialogTableVisible=true;
                let params={messageid:row.messageid};
                selectReturnMsg(params).then(res=>{
                    let response=res.data.data;
                    console.log(response)
                    this.gridData=response;
                });
            },
            //分页
            handleSizeChange(val) {
                this.pageSize=val;
            },
            handleCurrentChange(val) {
                this.currentPage=val;
                this.submitForm();
            },
            //获取航线航空器列表
            submitForm() {
                let params = {
                    currentPage: this.currentPage, pageSize: this.pageSize, airwayCode: this.queryRouteaircraft.airwayCode,
                    aircraftNo: this.queryRouteaircraft.aircraftNo
                };
                this.tableloading = true;
                selectAirLineAircraft(params).then(res => {
                    let response = res.data.data;
                    this.tableData = response.list;
                    this.tableloading = false;
                    this.total = response.total;
                });
            },
            //列表删除功能
            handleDel(index, row) {
                this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    editAirLineAircraft(row).then(res => {
                        let response = res.data;
                        if (response.code == '200') {
                            this.$message({
                                type: 'info',
                                message: '删除成功'
                            });
                            this.submitForm();
                        } else {
                            this.$message({
                                type: 'info',
                                message: '删除失败'
                            });
                        }
                    });
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消删除'
                    });
                });
            },
            //获取默认值
            defaultData() {
                Object.assign(this.queryRouteaircraft, this.$route.query);

                // this.airwayCode = JSON.parse(this.$route.query.airwayCode);
                // this.aircraftNo = JSON.parse(this.$route.query.aircraftNo);
            },
            //编辑航线航空器
            handleEdit(index,row){
                this.$router.push({path:'/routeaircraft',query: row})
            },

        },
//渲染方法
        mounted(){
            this.defaultData();
            this.submitForm();
        }
    }
</script>