<template>
    <section>
        <!--工具条-->
        <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
            <el-form :inline="true" :model="filters">
                <el-form-item>
                    <el-input v-model="filters.billno" placeholder="主单号"></el-input>
                </el-form-item>
                <el-form-item>
                    <el-input v-model="filters.flightNo" placeholder="航班号"></el-input>
                </el-form-item>
                <el-form-item>
                    <el-date-picker
                            v-model="filters.flightDate"
                            type="date"
                            value-format="yyyy-MM-dd"
                            placeholder="选择航班日期">
                    </el-date-picker>
                </el-form-item>
                <el-form-item>
                    <el-button type="warning" style="width:150px" size="medium" icon="el-icon-plus" @click="getList()">查询</el-button>
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" style="width:150px" size="medium" icon="el-icon-plus" @click="expressAdd()">新增主单</el-button>
                </el-form-item>
            </el-form>
        </el-col>
        <!--列表-->
        <el-table :data="expressDate"
                  :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}"
                  style="border-radius: 10px 10px 0px 0px;line-height: 25px;" size="small"
                  row-key="id"
                  border
                  v-loading="listLoading"
                  lazy
                  default-expand-all
                  :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
                  @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55">
            </el-table-column>
            <el-table-column prop="billno"  label="主单号" width="170px">
            </el-table-column>
            <el-table-column prop="assbillno" label="分单号" width="110px">
            </el-table-column>
            <el-table-column prop="flightNo" label="航班号" width="75px">
            </el-table-column>
            <el-table-column prop="flightDate" label="航班日期" width="110px">
            </el-table-column>
<!--            <el-table-column prop="maingname" label="分单主商品名称" width="180px">-->
<!--            </el-table-column>-->
            <el-table-column prop="ieflag" :formatter="ieflagType" label="进出口标识" width="100px">
            </el-table-column>
            <el-table-column prop="grosswt" label="毛重" width="100px">
            </el-table-column>
            <el-table-column prop="packno" label="件数" width="100px">
            </el-table-column>
            <el-table-column prop="billnum" label="分运单总数" width="100px">
            </el-table-column>
            <el-table-column prop="iedate" label="进出口日期" width="100px">
            </el-table-column>
            <el-table-column prop="" label="回执状态" width="100px">
            </el-table-column>
            <el-table-column prop="" label="回执内容" width="180px">
            </el-table-column>
            <el-table-column label="操作"  align="center" fixed="right"  width="300px">
                <template slot-scope="scope" >
                    <el-row>
                        <el-col :span="5" style="margin-right: 70px">
                            <el-button type="warning" icon="el-icon-plus" style="width: 110px" size="mini" v-if="scope.row.ext1 == 'awba'" @click="expressAwbhAdd(scope.$index, scope.row)">新增分单</el-button>
                        </el-col>
                        <el-col :span="5">
                            <el-button type="primary" icon="el-icon-edit" style="width: 150px" size="mini" v-if="scope.row.ext1 == 'awba'"  @click="expressEditAwbaAdd(scope.$index, scope.row)">编辑主单</el-button>
                            <el-button type="primary" icon="el-icon-edit" style="width: 110px" size="mini" v-else  @click="expressEditAwbhAdd(scope.$index, scope.row)">编辑分单</el-button>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :span="5" style="margin-right: 70px">
                            <el-button type="success" icon="el-icon-plus" size="mini" style="width: 110px" v-if="scope.row.ext1 == 'awba'" @click="expressBulidAbwa(scope.$index, scope.row)">发送主单报</el-button>
                            <el-button type="success" icon="el-icon-plus" size="mini"  style="width: 110px" v-else @click="expressBulidAbwh(scope.$index, scope.row)">发送分单报</el-button>
                        </el-col>
                        <el-col :span="5">
                            <el-button type="danger" icon="el-icon-plus" size="mini" style="width: 150px" v-if="scope.row.ext1 == 'awba'" @click="expressEditBulidAbwa(scope.$index, scope.row)">发送修改主单表头报</el-button>
                            <el-button type="warning" icon="el-icon-plus" size="mini" style="width: 150px"  v-else @click="expressEditBulidAbwh(scope.$index, scope.row)">发送追加表体分单报</el-button>
                        </el-col>
                    </el-row>
                </template>
            </el-table-column>
        </el-table>
        <!--分页-->
        <el-col :span="24" class="toolbar">
            <el-pagination
                    @size-change="handleSizeChange"
                    @current-change="handleCurrentChange"
                    background
                    :current-page="currentPage4"
                    :page-sizes="[10, 50, 100, 200]"
                    :page-size="10"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total=this.total>
            </el-pagination>
        </el-col>
        <!--新增主单弹框-->
        <el-dialog :title="'快邮舱单'+awbatitle[dialogCommon]" :visible.sync="expressAwbaAddVisible" width="80%">
            <el-form :model="expressAwbaAddModel" :rules="expressAwbaRules" ref="expressAwbaAddModel" style="margin-left: -50px">
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="billno">
                            <el-input  v-if="dialogCommon == 'add'" v-model="expressAwbaAddModel.billno" autocomplete="off" size="small">
                                <template  slot="prepend" >主单号</template>
                            </el-input>
                            <el-input  v-else disabled v-model="expressAwbaAddModel.billno" autocomplete="off" size="small">
                                <template  slot="prepend" >主单号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="flightNo">
                            <el-input v-model="expressAwbaAddModel.flightNo" autocomplete="off"  size="small">
                                <template  slot="prepend" >航班号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="flightDate">
                            <el-date-picker
                                    v-model="expressAwbaAddModel.flightDate"
                                    value-format="yyyy-MM-dd"
                                    type="date"   size="small" style="width: 240px"
                                    placeholder="选择航班日期">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="grosswt">
                            <el-input  v-model="expressAwbaAddModel.grosswt" autocomplete="off" size="small">
                                <template  slot="prepend" >毛重</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="packno">
                            <el-input  type="number" v-model="expressAwbaAddModel.packno" autocomplete="off" size="small">
                                <template  slot="prepend" >件数</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="billnum">
                            <el-input  type="number" v-model="expressAwbaAddModel.billnum" autocomplete="off" size="small">
                                <template  slot="prepend" >分运单总数</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>

                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="trafcnname">
                            <el-input  v-model="expressAwbaAddModel.trafcnname" autocomplete="off" size="small">
                                <template  slot="prepend" >运输工具中文名称</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="trafenname">
                            <el-input  v-model="expressAwbaAddModel.trafenname" autocomplete="off" size="small">
                                <template  slot="prepend" >运输工具英文名称</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="ieflag">
                            <el-select v-model="expressAwbaAddModel.ieflag" placeholder="请选择进出口标志" size="small"  style="width: 240px">
                                <el-option
                                        v-for="item in options"
                                        :key="item.value"
                                        :label="item.label"
                                        :value="item.value"
                                >
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="trafmode">
                            <el-input v-model="expressAwbaAddModel.trafmode" autocomplete="off" size="small">
                                <template  slot="prepend" >运输方式代码</template>
                            </el-input>
                        </el-form-item>
                    </el-col>

                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="destinationport">
                            <el-input  v-model="expressAwbaAddModel.destinationport" autocomplete="off" size="small">
                                <template  slot="prepend" >指运港(抵运港)</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="iedate">
                            <el-date-picker
                                    v-model="expressAwbaAddModel.iedate"
                                    value-format="yyyy-MM-dd"
                                    type="date"  size="small"  style="width: 240px"
                                    placeholder="选择进出口日期">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="ieport">
                            <el-input v-model="expressAwbaAddModel.ieport" autocomplete="off" size="small">
                                <template  slot="prepend" >进出口岸代码</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="tradeco">
                            <el-input  v-model="expressAwbaAddModel.tradeco" autocomplete="off" size="small">
                                <template  slot="prepend" >经营单位编号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="tradename">
                            <el-input v-model="expressAwbaAddModel.tradename" autocomplete="off" size="small">
                                <template  slot="prepend" >经营单位名称</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="inputno">
                            <el-input  v-model="expressAwbaAddModel.inputno" autocomplete="off" size="small">
                                <template  slot="prepend" >录入人卡号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="inputopname">
                            <el-input  v-model="expressAwbaAddModel.inputopname" autocomplete="off" size="small">
                                <template  slot="prepend" >录入人姓名</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="inputcompanycode">
                            <el-input  v-model="expressAwbaAddModel.inputcompanycode" autocomplete="off" size="small">
                                <template  slot="prepend" >录入单位代码</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="inputcompanyname">
                            <el-input v-model="expressAwbaAddModel.inputcompanyname" autocomplete="off" size="small">
                                <template  slot="prepend" >录入单位名称</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <div slot="footer" class="dialog-footer" style="text-align: center">
                <el-button size="medium"
                           style="width: 100px;background-color: #6F8294;color: #ffffff" @click="expressAwbaAddVisible = false">取消</el-button>
                <el-button type="primary" size="medium" style="width: 100px" @click="dialogCommon=='add'?expressAwbaAddSubmit():expressAwbaEditSubmit()">提交</el-button>
            </div>
        </el-dialog>
        <!--新增分单弹框-->
        <el-dialog :title="'快邮舱单'+awbhtitle[dialogCommon]" :visible.sync="expressAwbhAddVisible" width="80%">
            <el-form :model="expressAwbhAddModel" :rules="expressAwbhRules" ref="expressAwbhAddModel">
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="billno">
                            <el-input size="small" disabled v-model="expressAwbhAddModel.billno" autocomplete="off">
                                <template  slot="prepend" >主单号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="flightNo">
                            <el-input size="small" v-model="expressAwbhAddModel.flightNo" autocomplete="off">
                                <template  slot="prepend" >航班号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="flightDate">
                            <el-date-picker
                                    v-model="expressAwbhAddModel.flightDate"
                                    value-format="yyyy-MM-dd"
                                    type="date" size="small"
                                    placeholder="选择航班日期">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="assbillno">
                            <el-input size="small" v-model="expressAwbhAddModel.assbillno" autocomplete="off">
                                <template  slot="prepend" >分单号</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="tradetotal">
                            <el-input size="small" v-model="expressAwbhAddModel.tradetotal" autocomplete="off">
                                <template  slot="prepend" >价值</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="packno">
                            <el-input size="small" type="number" v-model="expressAwbhAddModel.packno" autocomplete="off">
                                <template  slot="prepend" >件数</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="grosswt">
                            <el-input size="small"  v-model="expressAwbhAddModel.grosswt" autocomplete="off">
                                <template  slot="prepend" >商品毛重</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="maingname">
                            <el-input size="small" v-model="expressAwbhAddModel.maingname" autocomplete="off">
                                <template  slot="prepend" >主要商品名称</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <el-form-item label="" :label-width="expressAddlWidth" prop="tradecurr">
                            <el-input size="small" v-model="expressAwbhAddModel.tradecurr" autocomplete="off">
                                <template  slot="prepend" >成交币制</template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <div slot="footer" class="dialog-footer" style="text-align: center">
                <el-button size="medium"
                           style="width: 100px;background-color: #6F8294;color: #ffffff"  @click="expressAwbhAddVisible = false">取消</el-button>
                <el-button type="primary" size="medium" style="width: 100px" @click="dialogCommon=='add'?expressAwbhAddSubmit():expressAwbhEditSubmit()">提交</el-button>
            </div>
        </el-dialog>
    </section>
</template>

<script>
    import {getExpressList, awbaAdd, awbaEdit, selectAwba, awbhAdd,
        awbhEdit, selectAwbh, awbaAddBulid, awbhAddBulid} from '../../api/express/express'
    import loginUserInfo from "../../api/base";
    export default {
        name: "express",
        data() {
            return {
                expressDate: [],
                options: [{
                    value: 'I',
                    label: '进口申报'
                }, {
                    value: 'E',
                    label: '出口申报'
                }],
                multipleSelection: [],
                currentPage4: 1,
                filters:{
                    billno: '',
                    flightNo: '',
                    flightDate: '',
                },
                expressAwbaRules: {
                    billno: [
                        { required: true, message: '请输入主单号', trigger: 'blur' },
                    ],
                    flightNo: [
                        { required: true, message: '请输入航班号', trigger: 'blur' }
                    ],
                    flightDate: [
                        { type: 'string', required: true, message: '请选择航班日期', trigger: 'change' }
                    ],
                    ieflag: [
                        { required: true, message: '请选择进出口标识', trigger: 'blur' }
                    ],
                    trafcnname: [
                        { required: true, message: '请输入运输工具中文名称', trigger: 'blur' }
                    ],
                    trafenname: [
                        { required: true, message: '请输入运输工具英文名称', trigger: 'blur' }
                    ],
                    grosswt: [
                        { required: true, message: '请输入毛重', trigger: 'blur' }
                    ],
                    packno: [
                        { required: true, message: '请输入件数', trigger: 'blur' }
                    ],
                    billnum: [
                        { required: true, message: '请输入分单总数', trigger: 'blur' }
                    ],
                    trafmode: [
                        { required: true, message: '请输入运输方式代码', trigger: 'blur' }
                    ],
                    iedate: [
                        { type: 'string', required: true, message: '请选择进出口日期', trigger: 'change' }
                    ],
                    destinationport: [
                        { required: true, message: '请输入指运抵', trigger: 'blur' }
                    ],
                    ieport: [
                        { required: true, message: '请输入进出口代码', trigger: 'blur' }
                    ],
                    tradeco: [
                        { required: true, message: '请输入经营单位编号', trigger: 'blur' }
                    ],
                    tradename: [
                        { required: true, message: '请输入经营单位名称', trigger: 'blur' }
                    ],
                    inputno: [
                        { required: true, message: '请输入录入人卡号', trigger: 'blur' }
                    ],
                    inputopname: [
                        { required: true, message: '请输入录入人名称', trigger: 'blur' }
                    ],
                    inputcompanycode: [
                        { required: true, message: '请输入录入单位', trigger: 'blur' }
                    ],
                    inputcompanyname: [
                        { required: true, message: '请输入库如单位名称', trigger: 'blur' }
                    ]
                },
                expressAwbhRules: {
                    flightNo: [
                        { required: true, message: '请输入航班号', trigger: 'blur' }
                    ],
                    flightDate: [
                        { type: 'string', required: true, message: '请选择航班日期', trigger: 'change' }
                    ],
                    assbillno: [
                        { required: true, message: '请输入分单号', trigger: 'blur' }
                    ],
                    maingname: [
                        { required: true, message: '请输入商品名称', trigger: 'blur' }
                    ],
                    packno: [
                        { required: true, message: '请输入件数', trigger: 'blur' }
                    ],
                    grosswt: [
                        { required: true, message: '请输入毛重', trigger: 'blur' }
                    ],
                    tradetotal: [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                    tradecurr: [
                        { required: true, message: '不能为空', trigger: 'blur' }
                    ],
                },
                pageNum: 0,
                pageSize: 0,
                total: 0,
                listLoading: false,
                expressAwbaAddVisible: false,
                expressAwbhAddVisible: false,
                expressAddlWidth: '150px',
                expressAwbaAddModel: {
                    billno: "",
                    flightNo: "",
                    flightDate: "",
                    voyageno: "",
                    ieflag: "",
                    trafcnname: "",
                    trafenname: "",
                    grosswt: "",
                    packno: "",
                    billnum: "",
                    trafmode: "",
                    iedate: "",
                    destinationport: "",
                    ieport: "",
                    tradeco: "",
                    tradename: "",
                    inputno: "",
                    inputopname: "",
                    inputcompanycode: "",
                    inputcompanyname: "",
                    userid: "",
                    userName: "",
                },
                expressAwbhAddModel: {
                    billno: "",
                    flightNo: "",
                    flightDate: "",
                    voyageno: "",
                    assbillno:"",
                    maingname:"",
                    packno:"",
                    grosswt:"",
                    tradetotal:"",
                    tradecurr:"",
                    userid:"",
                    userName:"",
                },
                awbatitle:{
                    add:'主单新增',
                    edit:'主单编辑'
                },
                awbhtitle:{
                    add:'分单新增',
                    edit:'分单编辑'
                },
                dialogCommon: ''
            }
        },
        methods: {
            /**
             * 获取列表集合
             */
            getList(){
                let para = {
                    pageNum: this.pageNum,
                    pageSize: this.pageSize,
                    billno: this.filters.billno,
                    flightNo: this.filters.flightNo,
                    flightDate: this.filters.flightDate,

                }
                this.listLoading = true;
                getExpressList(para).then((res) => {
                    this.total = res.data.data.total;
                    this.expressDate = res.data.data.list;
                    this.listLoading = false;
                }).catch((error) => {
                    this.listLoading = false;
                });
            },
            ieflagType: function(row, column){
                if (row.ieflag == 'I'){
                    return "进口";
                }else if(row.ieflag == 'E'){
                    return "出口";
                }
            },
            /**
             * 多选单选
              * @param val
             */
            handleSelectionChange(val) {
                this.multipleSelection = val;
            },
            /**
             * 分页
             * @param val
             */
            handleSizeChange(val) {
                this.pageSize = val;
                this.getList();
            },
            handleCurrentChange(val) {
                this.pageNum = val;
            },
            /**
             * 新增主单页面
             */
            expressAdd(){
                this.dialogCommon = 'add';
                this.expressAwbaAddVisible = true;
                if (this.$refs.expressAwbaAddModel != undefined){
                    this.$refs.expressAwbaAddModel.resetFields();
                }
            },
            /**
             * 主单新增提交
             */
            expressAwbaAddSubmit(){
                this.$refs.expressAwbaAddModel.validate((valid) => {
                    if (valid) {
                        this.$confirm('确认提交吗?', '提示', {}).then(() => {
                            let para = {
                                billno: this.expressAwbaAddModel.billno
                            }
                            this.listLoading = true;
                            // 查询主单是否重复
                            selectAwba(para).then((res) => {
                                if (res.data.code == 200){
                                    //NProgress.start();
                                    this.listLoading = true;
                                    this.expressAwbaAddModel.userName = loginUserInfo.username;
                                    this.expressAwbaAddModel.userid = loginUserInfo.userId;
                                    let para = Object.assign({}, this.expressAwbaAddModel);
                                    awbaAdd(para).then((res) => {
                                        if (res.data.code == 200){
                                            this.$message({
                                                message: '提交成功',
                                                type: 'success'
                                            });
                                            this.$refs.expressAwbaAddModel.resetFields();
                                            this.expressAwbaAddVisible = false;
                                            this.getList();
                                        }else {
                                            this.$message({
                                                message: '提交失败',
                                                type: 'error'
                                            });
                                        }
                                    }).catch(error => alert(error));
                                }else {
                                    this.$message({
                                        message: '此单号已存在,请勿重复添加',
                                        type: 'error'
                                    });
                                }
                            }).catch((error) => {
                                this.listLoading = false;
                            });
                        }).catch(() =>{

                        });
                    }
                });
            },
            /**
             * 主单编辑
             */
            expressEditAwbaAdd(index, row){
                if (this.$refs.expressAwbhAddModel != undefined){
                    this.$refs.expressAwbhAddModel.resetFields();
                }
                this.dialogCommon = 'edit';
                this.expressAwbaAddVisible = true;
                this.expressAwbaAddModel = Object.assign({}, row);
            },
            /**
             * 主单编辑提交
             */
            expressAwbaEditSubmit(){
                this.$refs.expressAwbaAddModel.validate((valid) => {
                    if (valid) {
                        this.$confirm('确认提交吗?', '提示', {}).then(() => {
                            //NProgress.start();
                            this.listLoading = true;
                            let para = Object.assign({}, this.expressAwbaAddModel);
                            awbaEdit(para).then((res) => {
                                if (res.data.code == 200){
                                    this.$message({
                                        message: '提交成功',
                                        type: 'success'
                                    });
                                    this.$refs.expressAwbaAddModel.resetFields();
                                    this.expressAwbaAddVisible = false;
                                    this.getList();
                                }else {
                                    this.$message({
                                        message: '提交失败',
                                        type: 'error'
                                    });
                                }
                            }).catch(error => alert(error));
                        }).catch(() =>{

                        });
                    }
                });
            },
            /**
             * 新增分单页面
             */
            expressAwbhAdd(index, row){
                this.dialogCommon = 'add'
                this.expressAwbhAddModel.billno = row.billno;
                this.expressAwbhAddModel.flightNo = row.flightNo;
                this.expressAwbhAddModel.flightDate = row.flightDate;
                this.expressAwbhAddModel.voyageno = row.voyageno;
                this.expressAwbhAddVisible = true;
                if (this.$refs.expressAwbhAddModel != undefined){
                    this.$refs.expressAwbhAddModel.resetFields();
                }

            },
            /**
             * 新增分单提交
             */
            expressAwbhAddSubmit(){
                this.$refs.expressAwbhAddModel.validate((valid) => {
                    if (valid) {
                        this.$confirm('确认提交吗?', '提示', {}).then(() => {
                            let para = {
                                billno: this.expressAwbhAddModel.billno,
                                assbillno: this.expressAwbhAddModel.assbillno
                            }
                            selectAwbh(para).then((res) => {
                                if(res.data.code == 200){
                                    //NProgress.start();
                                    this.listLoading = true;
                                    this.expressAwbhAddModel.userName = loginUserInfo.username;
                                    this.expressAwbhAddModel.userid = loginUserInfo.userId;
                                    let para = Object.assign({}, this.expressAwbhAddModel);
                                    awbhAdd(para).then((res) => {
                                        if (res.data.code == 200){
                                            this.$message({
                                                message: '提交成功',
                                                type: 'success'
                                            });
                                            this.$refs.expressAwbhAddModel.resetFields();
                                            this.expressAwbhAddVisible = false;
                                            this.getList();
                                        }else {
                                            this.$message({
                                                message: '提交失败',
                                                type: 'error'
                                            });
                                        }
                                    }).catch(error => alert(error));
                                }else {
                                    this.$message({
                                        message: "同一主单下分单号不可以重复",
                                        type: "error"
                                    });
                                }

                            }).catch((error) => {
                                this.listLoading = false;
                            });
                        }).catch(() =>{

                        });
                    }
                });
            },
            /**
             * 编辑分单页面
             */
            expressEditAwbhAdd(index, row){
                if (this.$refs.expressAwbhAddModel != undefined){
                    this.$refs.expressAwbhAddModel.resetFields();
                }
                this.dialogCommon = 'edit';
                this.expressAwbhAddVisible = true;
                this.expressAwbhAddModel = Object.assign({}, row);
            },
            /**
             * 分单编辑
             */
            expressAwbhEditSubmit(){
                this.$refs.expressAwbhAddModel.validate((valid) => {
                    if (valid) {
                        this.$confirm('确认提交吗?', '提示', {}).then(() => {
                            //NProgress.start();
                            this.listLoading = true;
                            let para = Object.assign({}, this.expressAwbhAddModel);
                            awbhEdit(para).then((res) => {
                                if (res.data.code == 200){
                                    this.$message({
                                        message: '提交成功',
                                        type: 'success'
                                    });
                                    this.$refs.expressAwbhAddModel.resetFields();
                                    this.expressAwbhAddVisible = false;
                                    this.getList();
                                }else {
                                    this.$message({
                                        message: '提交失败',
                                        type: 'error'
                                    });
                                }
                            }).catch(error => alert(error));
                        }).catch(() =>{

                        });
                    }
                });
            },
            /**
             * 发送主单报文
             */
            expressBulidAbwa(index, row){
                this.$confirm('发送主单报该下面所有分单会一起发送确定吗?', '提示', {}).then(() => {
                    row.optype = "ADD";
                    awbaAddBulid(row).then((res) => {
                        if (res.data.code == 200){
                            this.$message({
                                message: '发送成功',
                                type: 'success'
                            });
                            this.listLoading = true;
                            this.getList();
                        }else {
                            this.$message({
                                message: '发送失败',
                                type: 'error'
                            });
                        }
                    }).catch(error => alert(error));

                }).catch((error) => {
                    this.listLoading = false;
                });
            },
            /**
             * 追加主单报文
             */
            expressEditBulidAbwa(index, row){
                this.$confirm('发送修改主单报表头该下面所有分单会一起发送确定吗?', '提示', {}).then(() => {
                    row.optype = "APD";
                    awbaAddBulid(row).then((res) => {
                        if (res.data.code == 200){
                            this.$message({
                                message: '发送成功',
                                type: 'success'
                            });
                            this.listLoading = true;
                            this.getList();
                        }else {
                            this.$message({
                                message: '发送失败',
                                type: 'error'
                            });
                        }
                    }).catch(error => alert(error));

                }).catch((error) => {
                    this.listLoading = false;
                });
            },
            /**
             * 发送分单报文
             */
            expressBulidAbwh(index, row){
                this.$confirm('发送分单报文会和主单一起发送?', '提示', {}).then(() => {
                    row.ext2 = "ADD";
                    awbhAddBulid(row).then((res) => {
                        if (res.data.code == 200){
                            this.$message({
                                message: '发送成功',
                                type: 'success'
                            });
                            this.listLoading = true;
                            this.getList();
                        }else {
                            this.$message({
                                message: '发送失败',
                                type: 'error'
                            });
                        }
                    }).catch(error => alert(error));

                }).catch((error) => {
                    this.listLoading = false;
                });
            },
            /**
             * 追加分单报文
             */
            expressEditBulidAbwh(index, row){
                this.$confirm('追加分单报文会和主单一起发送?', '提示', {}).then(() => {
                    row.ext2 = "APD";
                    awbhAddBulid(row).then((res) => {
                        if (res.data.code == 200){
                            this.$message({
                                message: '发送成功',
                                type: 'success'
                            });
                            this.listLoading = true;
                            this.getList();
                        }else {
                            this.$message({
                                message: '发送失败',
                                type: 'error'
                            });
                        }
                    }).catch(error => alert(error));

                }).catch((error) => {
                    this.listLoading = false;
                });
            },
        },
        mounted() {
            this.getList();
        }
    }
</script>

<style scoped>

</style>