|
|
<template>
|
|
|
<!--<div class="app-container">-->
|
|
|
<div>
|
|
|
<div>
|
|
|
<el-row class="row-bg">
|
|
|
<el-col :span="24">
|
|
|
<div class="grid-content content">航班信息</div>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<div class="grid-content co">
|
|
|
<el-col :span="1">
|
|
|
<div class="grid-content"></div>
|
|
|
</el-col>
|
|
|
<el-col :span="20">
|
|
|
<div class="grid-content">
|
|
|
<span class="titleSpan">航班号:{{this.listQuery.carrier}}{{this.listQuery.flightNo}}</span>
|
|
|
<span class="titleSpan">航班日期:{{this.listQuery.flightDate}}</span>
|
|
|
<span class="titleSpan">航段:{{this.listQuery.originStation}}-{{this.listQuery.destinationStation}}</span>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<div class="grid-content content">预配舱单查询</div>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<div class="grid-content co">
|
|
|
<el-col :span="1">
|
|
|
<div class="grid-content"></div>
|
|
|
</el-col>
|
|
|
<el-col :span="22">
|
|
|
<div class="grid-content">
|
|
|
<el-col :span="4">
|
|
|
<div class="grid-content">
|
|
|
<el-input v-model="listQuery.awba" placeholder="请输入主单号"></el-input>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<div class="grid-content el-btn">
|
|
|
<el-button type="primary" size="mini" @click="handleSerach">查询</el-button>
|
|
|
<el-button v-if="preModel.flightno === undefined && preData.length<1" type="primary"
|
|
|
size="mini"
|
|
|
@click="handleAddpre">新增预配舱单
|
|
|
</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<div class="grid-content content" style="margin-top: 6px">预配舱单明细</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
|
|
|
<tree-table :data="preData" stripe style="font-size: 12px" :eval-func="func" :expand-all="true" border
|
|
|
@selection-change="handleSelectionChange" v-loading="listLoading">
|
|
|
<el-table-column label="航班信息" width="90" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<p class="tableInline">{{scope.row.carrier}}{{scope.row.flightno}}</p>
|
|
|
<p class="tableInline">{{scope.row.flightdate}}</p>
|
|
|
<p class="tableInline">{{scope.row.originstation}}-{{scope.row.destinationstation}}</p>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="运单号" width="120" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<p class="tableInline">{{scope.row.awba}}</p>
|
|
|
<p class="tableInline" v-if="scope.row.awbh !==null">{{scope.row.awbh}}</p>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="运单件数/重量" width="100" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.piece}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="预配件数/重量" width="100" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.weight}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="货物描述" width="120" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.goodsname}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="配载时间" width="140" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.actime}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="代理人代码" width="120" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.status}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="状态" width="100" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.status ==='01'">未发送</span>
|
|
|
<span v-if="scope.row.status ==='02'">已发舱单报</span>
|
|
|
<span v-if="scope.row.status ==='05'">舱单报退单</span>
|
|
|
<span v-if="scope.row.status ==='06'">舱单转人工</span>
|
|
|
<span v-if="scope.row.status ==='07'">舱单报申报成功</span>
|
|
|
<span v-if="scope.row.status ==='08'">已发舱单删除报</span>
|
|
|
<span v-if="scope.row.status ==='09'">舱单删除报退单</span>
|
|
|
<span v-if="scope.row.status ==='10'">舱单删除报转人工</span>
|
|
|
<span v-if="scope.row.status ==='11'">舱单删除成功</span>
|
|
|
<span v-if="scope.row.status ==='12'">已发舱单修改报</span>
|
|
|
<span v-if="scope.row.status ==='13'">舱单修改报退单</span>
|
|
|
<span v-if="scope.row.status ==='14'">舱单修改报转人工</span>
|
|
|
<span v-if="scope.row.status ==='15'">舱单修改报成功</span>
|
|
|
<span v-if="scope.row.status ==='16'">海关已存在</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="receipt" label="回执信息" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.ext5}}
|
|
|
<el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="300">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑运单</el-button>
|
|
|
<el-button size="mini" type="success" v-if="scope.row.awbh ===null"
|
|
|
@click="handleAddAwbh(scope.row)">新增分单
|
|
|
</el-button>
|
|
|
<el-button size="mini" type="primary" @click="handleAwbSend(scope.row)"
|
|
|
:disabled="scope.row.status !== '01'">发舱单报
|
|
|
</el-button>
|
|
|
<p></p>
|
|
|
<el-button size="mini" type="primary" @click="handleAwbEdit(scope.row)">发修改报</el-button>
|
|
|
|
|
|
<el-button size="mini" type="danger" @click="handleAwbDelete(scope.row)">发删除报</el-button>
|
|
|
<el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)"
|
|
|
:disabled="scope.row.status === '01'">更改状态
|
|
|
</el-button>
|
|
|
|
|
|
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</tree-table>
|
|
|
<div class="btnFoot">
|
|
|
<el-row>
|
|
|
<el-button type="primary" size="mini"
|
|
|
@click="handleAddpreInfo">新增预配舱单
|
|
|
</el-button>
|
|
|
<el-button type="primary" size="mini" @click="handelBackStep"
|
|
|
v-if="preModel.flightno !== undefined || preData.length >0">返回
|
|
|
</el-button>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize"
|
|
|
@pagination="getList"/>
|
|
|
<el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible" width="60%">
|
|
|
<el-form ref="preFormData" :model="preModel" :rules="preRoles" label-position="right"
|
|
|
label-width="120px" class="el-dialog-div">
|
|
|
<div class="grid-content content">
|
|
|
运单信息
|
|
|
</div>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="主单号" prop="awba">
|
|
|
<el-input :disabled="dialogStatus !== 'create'" v-model="awba" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5" v-if="dialogStatus === 'addAwbh'">
|
|
|
<el-form-item label="分单号">
|
|
|
<el-input v-model="awbh" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<div class="grid-content content">
|
|
|
航班信息
|
|
|
</div>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="承运人" prop="carrier">
|
|
|
<el-input v-model="carrier" :disabled="dialogStatus === 'addAwbh'" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="航班号" prop="flightno">
|
|
|
<el-input v-model="flightno" :disabled="dialogStatus === 'addAwbh'" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="航班日期" prop="flightdate">
|
|
|
<el-date-picker :disabled="dialogStatus === 'addAwbh'"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
v-model="preModel.flightdate" align="right"
|
|
|
type="date" placeholder="请输入航班日期" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="起始站" prop="originstation">
|
|
|
<el-input v-model="originstation" :disabled="dialogStatus === 'addAwbh'" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="目的站" prop="destinationstation">
|
|
|
<el-input v-model="destinationstation" :disabled="dialogStatus === 'addAwbh'" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<div class="grid-content content">
|
|
|
货物信息
|
|
|
</div>
|
|
|
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="运单件数" prop="piece">
|
|
|
<el-input v-model.number="preModel.awbinfo.pcs" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="运单重量" prop="weight">
|
|
|
<el-input v-model.number="preModel.awbinfo.weight" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="货物描述" prop="goodsname">
|
|
|
<el-input v-model="goodsname" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5" v-if="dialogStatus !=='addAwbh'">
|
|
|
<el-form-item label="预配件数" prop="piece">
|
|
|
<el-input v-model.number="preModel.piece" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8" v-if="dialogStatus ==='addAwbh'">
|
|
|
<el-col :span="13">
|
|
|
<el-form-item label="预配件数" prop="piece">
|
|
|
<el-input v-model.number="preModel.piece" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<span>剩余件数:{{awbPiece}}</span>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5" v-if="dialogStatus !=='addAwbh'">
|
|
|
<el-form-item label="预配重量" prop="weight">
|
|
|
<el-input v-model.number="preModel.weight" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8" v-if="dialogStatus ==='addAwbh'">
|
|
|
<el-col :span="13">
|
|
|
<el-form-item label="预配重量" prop="weight">
|
|
|
<el-input v-model.number="preModel.weight" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<span>剩余重量:{{awbWeight}}</span>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="预配时间" prop="pretime">
|
|
|
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
v-model="preModel.actime" align="right"
|
|
|
type="date" placeholder="请选择"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="关区代码" prop="customcode">
|
|
|
<el-select v-model="preModel.customcode" class="filter-item" placeholder="请选择关区代码"
|
|
|
:disabled="dialogStatus === 'addAwbh'">
|
|
|
<el-option v-for="item in customcodeList" :key="item.value" :label="item.label"
|
|
|
:value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="海关状态" prop="ex5">
|
|
|
<el-select v-model="preModel.awbtype" class="filter-item" placeholder="请录入货物类型">
|
|
|
<el-option v-for="item in customTypes" :key="item.value" :label="item.label"
|
|
|
:value="item.value"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="付费方式" prop="awbinfo.collected">
|
|
|
<el-select v-model="preModel.awbinfo.collected" class="filter-item" placeholder="付费方式">
|
|
|
<el-option
|
|
|
v-for="item in payTypes"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="卸货地" prop="">
|
|
|
<el-input v-model="specopeid" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="代理人代码" prop="">
|
|
|
<el-input v-model="preModel.awbinfo.shpcustomerid" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="代理人名称" prop="">
|
|
|
<el-input v-model="preModel.awbinfo.shpcustomerid" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
|
|
|
</el-row>
|
|
|
<div class="grid-content content">
|
|
|
发货人信息
|
|
|
</div>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="发货人名称" prop="awbinfo.shprname">
|
|
|
<el-input v-model="shprname" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="地址" prop="awbinfo.shpraddress">
|
|
|
<el-input v-model="shpraddress" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="城市代码">
|
|
|
<el-input v-model="preModel.awbinfo.shpcitycode" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="电话" prop="awbinfo.shprtel">
|
|
|
<el-input v-model="preModel.awbinfo.shprtel" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="传真">
|
|
|
<el-input v-model="preModel.awbinfo.shprmobiletype" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="发货人AEO编码" prop="awbinfo.shpaeocode">
|
|
|
<el-input v-model="shpaeocode" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="国家代码" prop="awbinfo.shprcountyr">
|
|
|
<el-select
|
|
|
:remote-method="remoteMethod"
|
|
|
:loading="listLoading"
|
|
|
v-model="shprcountyr"
|
|
|
filterable
|
|
|
remote
|
|
|
placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
v-for="item in countryOption"
|
|
|
:key="item.value"
|
|
|
:label="item.value"
|
|
|
:value="item.value">
|
|
|
<span style="float: left">{{ item.label }}</span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<!--<el-col :span="7.5">-->
|
|
|
<!--<el-form-item label="企业代码类型" prop="awbinfo.shpcomidpre">-->
|
|
|
<!--<el-select-->
|
|
|
<!--v-model="shpcomidpre"-->
|
|
|
<!--filterable-->
|
|
|
<!--placeholder="请选择企业代码类型" style="width: 200px;">-->
|
|
|
<!--<el-option-->
|
|
|
<!--v-for="item in shpCompnyTypeOption"-->
|
|
|
<!--:key="item.value"-->
|
|
|
<!--:label="item.label"-->
|
|
|
<!--:value="item.value"/>-->
|
|
|
<!--</el-select>-->
|
|
|
<!--</el-form-item>-->
|
|
|
<!--</el-col>-->
|
|
|
<!--<el-col :span="7.5">-->
|
|
|
<!--<el-form-item prop="awbinfo.shpcomidpno" label-width="10px">-->
|
|
|
<!--<el-input v-model="shpcomidpno" placeholder="企业代码"/>-->
|
|
|
<!--</el-form-item>-->
|
|
|
<!--</el-col>-->
|
|
|
</el-row>
|
|
|
<div class="grid-content content">
|
|
|
收货人信息
|
|
|
</div>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="收货人名称" prop="awbinfo.cnsnname">
|
|
|
<el-input v-model="cnsnname" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="地址" prop="awbinfo.cnsnaddress">
|
|
|
<el-input v-model="cnsnaddress" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="城市代码">
|
|
|
<el-input v-model="preModel.awbinfo.cnscitycode" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="电话" prop="awbinfo.cnsntel">
|
|
|
<el-input v-model="preModel.awbinfo.cnsntel" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="传真">
|
|
|
<el-input v-model="preModel.awbinfo.cnsrmobiletype" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="收货人AEO编码" prop="awbinfo.cnsaeocode">
|
|
|
<el-input v-model="cnsaeocode" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="国家代码" prop="awbinfo.cnscountyr">
|
|
|
<el-select
|
|
|
:remote-method="remoteMethod"
|
|
|
:listLoading="listLoading"
|
|
|
v-model="cnscountyr"
|
|
|
filterable
|
|
|
remote
|
|
|
placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
v-for="item in countryOption"
|
|
|
:key="item.value"
|
|
|
:label="item.value"
|
|
|
:value="item.value">
|
|
|
<span style="float: left">{{ item.label }}</span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="具体收货人名称" prop="awbinfo.cnsrctcname">
|
|
|
<el-input v-model="cnsrctcname" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="7.5">
|
|
|
<el-form-item label="具体收货人电话" prop="awbinfo.cnsrctctel">
|
|
|
<el-input v-model="preModel.awbinfo.cnsrctctel" clearable/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<!--<el-col :span="7.5">-->
|
|
|
<!--<el-form-item label="企业代码类型" prop="awbinfo.csgcustomerid">-->
|
|
|
<!--<el-select-->
|
|
|
<!--v-model="cnscomidpre"-->
|
|
|
<!--filterable-->
|
|
|
<!--placeholder="请选择企业代码类型" style="width: 200px;">-->
|
|
|
<!--<el-option-->
|
|
|
<!--v-for="item in shpCompnyTypeOption"-->
|
|
|
<!--:key="item.value"-->
|
|
|
<!--:label="item.label"-->
|
|
|
<!--:value="item.value"/>-->
|
|
|
<!--</el-select>-->
|
|
|
<!--</el-form-item>-->
|
|
|
<!--</el-col>-->
|
|
|
<!--<el-col :span="7.5">-->
|
|
|
<!--<el-form-item prop="awbinfo.cnscomidno" label-width="10px">-->
|
|
|
<!--<el-input v-model="cnscomidno" placeholder="企业代码"/>-->
|
|
|
<!--</el-form-item>-->
|
|
|
<!--</el-col>-->
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogFormVisible = false">取消</el-button>
|
|
|
<el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button>
|
|
|
<el-button type="success" @click="handleSaveAndSend">保存并发送</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<el-dialog title="收发明细" :visible.sync="dialogTableVisible">
|
|
|
<el-table :data="detailData" border>
|
|
|
<el-table-column label="操作时间" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.busdate}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="航班号" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.carrier}}{{scope.row.flightno}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="航班日期" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.flightdate}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="件数" width="70">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.buspiece}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="重量" width="70">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.busweight}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="回执信息" width="">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.cusrestext}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作人" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
{{scope.row.operusername}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import treeTable from '@/components/TreeTable'
|
|
|
import treeToArray from '@/utils/customEval'
|
|
|
import Pagination from '@/components/Pagination'
|
|
|
|
|
|
import {getCountry, getByCountryCode, getByCountryCodeForName} from "@/api/country";
|
|
|
import {getMt2201ListForParam, deleteByIsDelete, updateStatus, updateMT2201, addMt2201} from '@/api/exitPre'
|
|
|
import {Message} from "element-ui";
|
|
|
import {getResponseForParam} from '@/api/responseDetail'
|
|
|
import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey} from "@/utils/validate"
|
|
|
|
|
|
export default {
|
|
|
name: "ExitPre",
|
|
|
components: {treeTable, Pagination},
|
|
|
inject: ['reload'],
|
|
|
data() {
|
|
|
const validatorAwb = (rule, value, callback) => {
|
|
|
if (!validAwb(value)) {
|
|
|
callback("请正确书写主单号")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
const validatorAwbh = (rule, value, callback) => {
|
|
|
if (!validAlphabetsAndNum(value)) {
|
|
|
callback("只能输入字母和数字")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
const validatorAlphabets = (rule, value, callback) => {
|
|
|
if (!validAlphabets(value)) {
|
|
|
callback("只能输入字母")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
const validAlphabetsSpanceKey = (rule, value, callback) => {
|
|
|
if (!validAlphabetsAndSpanceKey(value)) {
|
|
|
callback("只能输入字母、数字、空格")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
return {
|
|
|
func: treeToArray,
|
|
|
total: 1,
|
|
|
listQuery: {
|
|
|
pageSize: 1,
|
|
|
limitSize: 100,
|
|
|
awba: undefined,
|
|
|
carrier: undefined,
|
|
|
flightNo: undefined,
|
|
|
flightDate: undefined,
|
|
|
originStation: undefined,
|
|
|
destinationStation: undefined
|
|
|
},
|
|
|
dialogMap: {
|
|
|
update: '编辑预配舱单',
|
|
|
create: '添加预配舱单',
|
|
|
addAwbh: '添加分单'
|
|
|
},
|
|
|
customTypes: [
|
|
|
{label: '普通货物', value: '001'},
|
|
|
{label: '国际转运货物', value: '002'},
|
|
|
{label: '国内转关', value: '003'},
|
|
|
{label: '空箱', value: '004'},
|
|
|
{label: '快件', value: '005'}],
|
|
|
payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}],
|
|
|
splitcodes: [{label: '是', value: 'T'}, {label: '否', value: 'P'}],
|
|
|
customcodeList: [{label: '4604', value: '4604'}, {label: '4620', value: '4620'}],
|
|
|
dialogStatus: undefined,
|
|
|
dialogTableVisible: false,
|
|
|
listLoading: false,
|
|
|
disabledStatus: false,
|
|
|
dialogFormVisible: false,
|
|
|
countryOption: [],
|
|
|
countryList: [],
|
|
|
countryResultList: [],
|
|
|
awbPiece: undefined,
|
|
|
awbWeight: undefined,
|
|
|
preRoles: {
|
|
|
weight: [{type: 'number', required: true, message: '重量必须为数字', trigger: 'change'}],
|
|
|
piece: [{type: 'number', required: true, message: '件数必须为数字', trigger: 'change'}],
|
|
|
destinationstation: [{required: true, message: '运单目的地必须输入', trigger: 'change'}],
|
|
|
originstation: [{required: true, message: '运单起始站必须数据', trigger: 'change'}],
|
|
|
flightdate: [{required: true, message: '航班日期必须输入', trigger: 'change'}],
|
|
|
carrier: [{required: true, trigger: 'blur', validator: validatorAwbh}],
|
|
|
flightno: [{required: true, trigger: 'blur', validator: validatorAwbh}],
|
|
|
pretime: [{required: true, trigger: 'blur', message: '预配时间不能为空'}],
|
|
|
customcode: [{required: true, message: '关区代码必须选择', trigger: 'change'}],
|
|
|
awba: [{required: true, trigger: 'blur', validator: validatorAwb}],
|
|
|
'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}],
|
|
|
goodsname: [{required: true, trigger: 'change', validator: validAlphabetsSpanceKey}],
|
|
|
ex5: [{required: true, message: '货物描述不能为空', trigger: 'change'}],
|
|
|
'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}],
|
|
|
'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}],
|
|
|
'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}],
|
|
|
'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'change'}],
|
|
|
'awbinfo.shprcountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
|
|
|
'awbinfo.cnsnname': [{required: true, message: '收货人不能为空', trigger: 'change'}],
|
|
|
'awbinfo.cnsntel': [{required: true, message: '收货电话不能为空', trigger: 'change'}],
|
|
|
'awbinfo.cnsnaddress': [{required: true, message: '收获地址不能为空', trigger: 'change'}],
|
|
|
'awbinfo.cnscountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
|
|
|
},
|
|
|
preModel: {
|
|
|
awba: undefined,
|
|
|
awbh: undefined,
|
|
|
customcode: undefined,
|
|
|
flightno: undefined,
|
|
|
carrier: undefined,
|
|
|
flightdate: undefined,
|
|
|
originstation: undefined,
|
|
|
destinationstation: undefined,
|
|
|
piece: undefined,
|
|
|
weight: undefined,
|
|
|
actime: undefined,
|
|
|
goodsname: undefined,
|
|
|
splitcode: undefined,
|
|
|
uldType: undefined,
|
|
|
uldNo: undefined,
|
|
|
status: undefined,
|
|
|
ex5: undefined,
|
|
|
awbinfo: {
|
|
|
pcs: undefined,
|
|
|
weight: undefined,
|
|
|
specopeid: undefined,
|
|
|
shprname: undefined,
|
|
|
shprmobiletype: undefined,
|
|
|
shprtel: undefined,
|
|
|
shpraddress: undefined,
|
|
|
shprcountyr: undefined,
|
|
|
shpcomidpre: undefined,
|
|
|
shpaeocode: undefined,
|
|
|
shpcomidpno: undefined,
|
|
|
shpcitycode: undefined,
|
|
|
shpcustomerid: undefined,
|
|
|
cnsnname: undefined,
|
|
|
cnsrmobiletype: undefined,
|
|
|
cnsntel: undefined,
|
|
|
cnsnaddress: undefined,
|
|
|
cnscountyr: undefined,
|
|
|
cnsrctcname: undefined,
|
|
|
cnsaeocode: undefined,
|
|
|
cnsrctctel: undefined,
|
|
|
cnscitycode: undefined,
|
|
|
cargonm: undefined,
|
|
|
sairportid: undefined,
|
|
|
dest1city: undefined,
|
|
|
by1: undefined,
|
|
|
dest1: undefined,
|
|
|
by2: undefined,
|
|
|
dest2: undefined,
|
|
|
by3: undefined,
|
|
|
dest3: undefined,
|
|
|
eairportid: undefined,
|
|
|
csgcustomerid: undefined,
|
|
|
collected: '0',
|
|
|
awbtype: undefined
|
|
|
}
|
|
|
},
|
|
|
preData: [],
|
|
|
detailData: []
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
// 延迟加载,否则会出错
|
|
|
setTimeout(() => {
|
|
|
this.countryResultList = this.countryList.map(item => {
|
|
|
return {value: item.countryCode, label: item.countryNameCn}
|
|
|
})
|
|
|
}, 1000)
|
|
|
},
|
|
|
created() {
|
|
|
if (this.$route.params.flightData !== undefined) {
|
|
|
this.listQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2)
|
|
|
this.listQuery.flightNo = this.$route.params.flightData.flightno.substring(2)
|
|
|
this.listQuery.flightDate = this.$route.params.flightData.flightdate
|
|
|
this.listQuery.originStation = this.$route.params.flightData.originstation
|
|
|
this.listQuery.destinationStation = this.$route.params.flightData.destinationstation
|
|
|
this.listQuery.awba = this.$route.params.flightData.awba
|
|
|
this.getList()
|
|
|
}
|
|
|
this.getCountryList()
|
|
|
},
|
|
|
computed: {
|
|
|
awba: {
|
|
|
get: function () {
|
|
|
return this.preModel.awba
|
|
|
},
|
|
|
set: function (val) {
|
|
|
if (val.length == 3) {
|
|
|
val = val + "-"
|
|
|
}
|
|
|
this.preModel.awba = val.trim()
|
|
|
}
|
|
|
},
|
|
|
awbh: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbh
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbh = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
flightno: {
|
|
|
get: function () {
|
|
|
return this.preModel.flightno
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.flightno = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
carrier: {
|
|
|
get: function () {
|
|
|
return this.preModel.carrier
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.carrier = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
originstation: {
|
|
|
get: function () {
|
|
|
return this.preModel.originstation
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.originstation = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
destinationstation: {
|
|
|
get: function () {
|
|
|
return this.preModel.destinationstation
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.destinationstation = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
|
|
|
goodsname: {
|
|
|
get: function () {
|
|
|
return this.preModel.goodsname
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.goodsname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
specopeid: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.specopeid
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.specopeid = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shprname: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.shprname
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.shprname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shpraddress: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.shpraddress
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.shpraddress = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shprcountyr: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.shprcountyr
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.shprcountyr = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shpaeocode: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.shpaeocode
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.shpaeocode = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsnname: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.cnsnname
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.cnsnname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsnaddress: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.cnsnaddress
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.cnsnaddress = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnscountyr: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.cnscountyr
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.cnscountyr = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsrctcname: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.cnsrctcname
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.cnsrctcname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsaeocode: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.cnsaeocode
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.cnsaeocode = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
sairportid: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.sairportid
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.sairportid = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by1: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.by1
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.by1 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest1: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.dest1
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.dest1 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by2: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.by2
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.by2 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest2: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.dest2
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.dest2 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by3: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.by3
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.by3 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest3: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.dest3
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.dest3 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
eairportid: {
|
|
|
get: function () {
|
|
|
return this.preModel.awbinfo.eairportid
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.preModel.awbinfo.eairportid = val.toUpperCase().trim()
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
// >>>>>>>>>>>>>>>>获取list集合<<<<<<<<<<<<<<<<<<
|
|
|
getList() {
|
|
|
this.listLoading = true
|
|
|
if (this.listQuery.awba !== undefined && this.listQuery.awba !== '') {
|
|
|
getMt2201ListForParam(this.listQuery).then(res => {
|
|
|
this.preData = res.data.dataList
|
|
|
this.total = res.data.count
|
|
|
if (res.data.count > 0) {
|
|
|
this.listQuery.carrier = this.preData[0].carrier
|
|
|
this.listQuery.flightNo = this.preData[0].flightno
|
|
|
this.listQuery.flightDate = this.preData[0].flightdate
|
|
|
this.listQuery.originStation = this.preData[0].originstation
|
|
|
this.listQuery.destinationStation = this.preData[0].destinationstation
|
|
|
this.listQuery.customcode = this.preData[0].customcode
|
|
|
}
|
|
|
setTimeout(() => {
|
|
|
this.listLoading = false
|
|
|
}, 1500)
|
|
|
})
|
|
|
} else {
|
|
|
getMt2201ListForParam(this.listQuery).then(res => {
|
|
|
this.preData = res.data.dataList
|
|
|
this.total = res.data.count
|
|
|
setTimeout(() => {
|
|
|
this.listLoading = false
|
|
|
}, 1500)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>重置实体<<<<<<<<<<<<<<<<<<
|
|
|
restModel() {
|
|
|
this.preModel = {
|
|
|
awba: undefined,
|
|
|
awbh: undefined,
|
|
|
customcode: undefined,
|
|
|
flightno: undefined,
|
|
|
carrier: undefined,
|
|
|
flightdate: undefined,
|
|
|
originstation: undefined,
|
|
|
destinationstation: undefined,
|
|
|
piece: undefined,
|
|
|
weight: undefined,
|
|
|
goodsname: undefined,
|
|
|
splitcode: undefined,
|
|
|
uldType: undefined,
|
|
|
uldNo: undefined,
|
|
|
status: undefined,
|
|
|
ex5: undefined,
|
|
|
awbinfo: {
|
|
|
pcs: undefined,
|
|
|
weight: undefined,
|
|
|
specopeid: undefined,
|
|
|
shprname: undefined,
|
|
|
shprmobiletype: undefined,
|
|
|
shprtel: undefined,
|
|
|
shpraddress: undefined,
|
|
|
shprcountyr: undefined,
|
|
|
shpcomidpre: undefined,
|
|
|
shpaeocode: undefined,
|
|
|
shpcomidpno: undefined,
|
|
|
shpcitycode: undefined,
|
|
|
shpcustomerid: undefined,
|
|
|
cnsnname: undefined,
|
|
|
cnsrmobiletype: undefined,
|
|
|
cnsntel: undefined,
|
|
|
cnsnaddress: undefined,
|
|
|
cnscountyr: undefined,
|
|
|
cnscomidpre: undefined,
|
|
|
cnscomidno: undefined,
|
|
|
cnsrctcname: undefined,
|
|
|
cnsaeocode: undefined,
|
|
|
cnsrctctel: undefined,
|
|
|
cnscitycode: undefined,
|
|
|
cargonm: undefined,
|
|
|
sairportid: undefined,
|
|
|
dest1city: undefined,
|
|
|
by1: undefined,
|
|
|
dest1: undefined,
|
|
|
by2: undefined,
|
|
|
dest2: undefined,
|
|
|
by3: undefined,
|
|
|
dest3: undefined,
|
|
|
eairportid: undefined,
|
|
|
csgcustomerid: undefined,
|
|
|
collected: '0',
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>新增主单<<<<<<<<<<<<<<<<<<
|
|
|
handleAddpreInfo() {
|
|
|
this.restModel()
|
|
|
this.preModel.carrier = this.listQuery.carrier
|
|
|
this.preModel.flightno = this.listQuery.flightno
|
|
|
this.preModel.flightdate = this.listQuery.flightdate
|
|
|
this.preModel.originstation = this.listQuery.originstation
|
|
|
this.preModel.destinationstation = this.listQuery.carrier
|
|
|
this.preModel.customcode = this.listQuery.customcode
|
|
|
this.dialogStatus = 'create'
|
|
|
this.dialogFormVisible = true
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.preFormData.clearValidate()
|
|
|
})
|
|
|
},
|
|
|
createData() {
|
|
|
this.$refs.preFormData.validate(valid => {
|
|
|
if (valid) {
|
|
|
updateMT2201(this.preModel).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
Message.success("新增成功")
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
} else {
|
|
|
Message.error("新增失败,请检查数据")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>多选<<<<<<<<<<<<<<<<<<
|
|
|
handleSelectionChange() {
|
|
|
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>搜索<<<<<<<<<<<<<<<<<<
|
|
|
handleSerach() {
|
|
|
this.listQuery.carrier = undefined
|
|
|
this.listQuery.flightno = undefined
|
|
|
this.listQuery.originstation = undefined
|
|
|
this.listQuery.flightdate = undefined
|
|
|
this.listQuery.destinationstation = undefined
|
|
|
this.getList()
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>收发明细<<<<<<<<<<<<<<<<<<
|
|
|
handleSend(row) {
|
|
|
const resQuery = {
|
|
|
carrier: row.carrier,
|
|
|
flightNo: row.flightno,
|
|
|
flightDate: row.flightdate,
|
|
|
awba: row.awba,
|
|
|
awbh: row.awbh,
|
|
|
messageType: 'MT2201'
|
|
|
}
|
|
|
this.dialogTableVisible = true
|
|
|
getResponseForParam(resQuery).then(res => {
|
|
|
this.detailData = res.data
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>发送舱单报<<<<<<<<<<<<<<<<<<
|
|
|
handleAwbSend() {
|
|
|
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>更新运单数据<<<<<<<<<<<<<<<<<<
|
|
|
handleEdit(row) {
|
|
|
this.preModel = Object.assign({}, row)
|
|
|
this.dialogStatus = 'update'
|
|
|
this.dialogFormVisible = true
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.preFormData.clearValidate()
|
|
|
})
|
|
|
},
|
|
|
updateData() {
|
|
|
this.$refs.preFormData.validate(valid => {
|
|
|
if (valid) {
|
|
|
delete this.preModel.parent
|
|
|
delete this.preModel.children
|
|
|
updateMT2201(this.preModel).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
Message.success("修改成功")
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
} else {
|
|
|
Message.error("修改失败,请检查数据")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>发送修改报<<<<<<<<<<<<<<<<<<
|
|
|
handleAwbEdit() {
|
|
|
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>保存并发送<<<<<<<<<<<<<<<<<<
|
|
|
handleSaveAndSend() {
|
|
|
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>发送删除报<<<<<<<<<<<<<<<<<<
|
|
|
handleAwbDelete(row) {
|
|
|
delete row.parent
|
|
|
delete row.children
|
|
|
this.$confirm("是否删除", "确认消息", {
|
|
|
distinguishCancelAndClose: true,
|
|
|
confirmButtonText: '删除',
|
|
|
cancelButtonText: '取消'
|
|
|
}).then(() => {
|
|
|
deleteByIsDelete(row).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
message: '删除成功'
|
|
|
})
|
|
|
this.getList()
|
|
|
} else {
|
|
|
this.$message({
|
|
|
type: 'danger',
|
|
|
message: '删除异常,请稍后重试'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}).catch(action => {
|
|
|
this.$message({
|
|
|
type: 'info',
|
|
|
message: action === 'cancel'
|
|
|
? '取消删除'
|
|
|
: '删除取消'
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>更改运单状态<<<<<<<<<<<<<<<<<<
|
|
|
handleAwbStatus(row) {
|
|
|
delete row.parent
|
|
|
delete row.children
|
|
|
this.$confirm("是否发送更改状态", "确认消息", {
|
|
|
distinguishCancelAndClose: true,
|
|
|
confirmButtonText: '确认更改',
|
|
|
cancelButtonText: '取消更改'
|
|
|
}).then(() => {
|
|
|
updateStatus(row).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
message: '当前运单状态已更改'
|
|
|
})
|
|
|
this.getList()
|
|
|
} else {
|
|
|
this.$message({
|
|
|
type: 'error',
|
|
|
message: '状态更改失败,请稍后重试'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
|
|
|
}).catch(action => {
|
|
|
this.$message({
|
|
|
type: 'info',
|
|
|
message: action === 'cancel'
|
|
|
? '取消状态更改'
|
|
|
: '状态更改取消'
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>新增分单<<<<<<<<<<<<<<<<<<
|
|
|
handleAddAwbh(row) {
|
|
|
this.restModel()
|
|
|
const template = Object.assign({}, row) // copy obj
|
|
|
this.preModel.awba = template.awba
|
|
|
this.preModel.flightdate = template.flightdate
|
|
|
this.preModel.flightno = template.flightno
|
|
|
this.preModel.destinationstation = template.destinationstation
|
|
|
this.preModel.customcode = template.customcode
|
|
|
this.preModel.carrier = template.carrier
|
|
|
this.preModel.awbinfo.shprcountyr = template.awbinfo.shprcountyr
|
|
|
this.preModel.originstation = template.originstation
|
|
|
this.preModel.awbinfo.collected = template.awbinfo.collected
|
|
|
this.preModel.awbinfo.sairportid = template.awbinfo.sairportid
|
|
|
this.preModel.awbinfo.eairportid = template.awbinfo.eairportid
|
|
|
this.preModel.awbinfo.ex5 = template.awbinfo.ex5
|
|
|
this.listQuery.awba = template.awba
|
|
|
this.listQuery.flightDate = template.flightdate
|
|
|
this.listQuery.flightNo = template.flightno
|
|
|
this.listQuery.originStation = template.originstation
|
|
|
this.listQuery.destinationStation = template.destinationstation
|
|
|
this.listQuery.customcode = template.customcode
|
|
|
this.listQuery.carrier = template.carrier
|
|
|
getMt2201ListForParam(this.listQuery).then(res => {
|
|
|
this.awbPiece = 0
|
|
|
this.awbWeight = 0
|
|
|
let residuePiece = 0
|
|
|
let residueWeight = 0
|
|
|
const childrenList = res.data.dataList[0].children
|
|
|
if (childrenList.length < 1) {
|
|
|
this.awbPiece = res.data.dataList[0].piece
|
|
|
this.awbWeight = res.data.dataList[0].weight
|
|
|
} else {
|
|
|
for (var i = 0; i < childrenList.length; i++) {
|
|
|
residuePiece += childrenList[i].piece
|
|
|
residueWeight += childrenList[i].weight
|
|
|
}
|
|
|
this.awbPiece =res.data.dataList[0].piece- residuePiece
|
|
|
this.awbWeight = res.data.dataList[0].weight- residueWeight
|
|
|
}
|
|
|
})
|
|
|
this.dialogStatus = 'addAwbh'
|
|
|
this.dialogFormVisible = true
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.preFormData.clearValidate()
|
|
|
})
|
|
|
},
|
|
|
|
|
|
//获取城市列表
|
|
|
getCountryList() {
|
|
|
getCountry().then(res => {
|
|
|
this.countryList = res.data.dataList
|
|
|
})
|
|
|
},
|
|
|
remoteMethod(query) {
|
|
|
if (query !== '') {
|
|
|
this.listLoading = true
|
|
|
setTimeout(() => {
|
|
|
this.listLoading = false
|
|
|
this.countryOption = this.countryResultList.filter(item => {
|
|
|
return item.value.toUpperCase().trim()
|
|
|
.indexOf(query.toUpperCase()) > -1
|
|
|
})
|
|
|
}, 200)
|
|
|
// if (query.length > 1) {
|
|
|
// this.selectCountry.countryCode = query
|
|
|
// getByCountryCode(this.selectCountry).then(res => {
|
|
|
// this.shpCompnyList = res.data.dataList
|
|
|
// this.shpCompnyTypeOption = this.shpCompnyList.map(item => {
|
|
|
// console.log(item)
|
|
|
// return {value: item.enterpriseCode, label: item.enterpriseCode}
|
|
|
// })
|
|
|
// })
|
|
|
// }
|
|
|
} else {
|
|
|
this.countryOption = []
|
|
|
}
|
|
|
|
|
|
|
|
|
},
|
|
|
handleAddpre() {
|
|
|
const row = {
|
|
|
'messageType': 'MT2201'
|
|
|
}
|
|
|
this.$router.push({name: "出港航班信息", params: {scopeRow: row}})
|
|
|
},
|
|
|
|
|
|
handelBackStep() {
|
|
|
this.$router.push({name: '出港航班信息', params: {scopeRow: this.preModel}})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
<style>
|
|
|
.grid-content {
|
|
|
height: 36px;
|
|
|
line-height: 36px;
|
|
|
}
|
|
|
|
|
|
.content {
|
|
|
border-left: 4px #409EFF solid;
|
|
|
padding-left: 10px;
|
|
|
background-color: #f9fafc;
|
|
|
margin-bottom: 2px
|
|
|
}
|
|
|
|
|
|
.row-bg, .co {
|
|
|
background-color: white;
|
|
|
}
|
|
|
|
|
|
.titlespan {
|
|
|
font-weight: bold;
|
|
|
margin-right: 35px;
|
|
|
}
|
|
|
|
|
|
.el-row {
|
|
|
margin-top: 10px;
|
|
|
margin-bottom: 0px;
|
|
|
}
|
|
|
|
|
|
.btnFoot {
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
|
|
|
.el-btn {
|
|
|
margin-left: 10px;
|
|
|
display: inline-block;
|
|
|
}
|
|
|
|
|
|
.el-dialog-div {
|
|
|
height: 60vh;
|
|
|
overflow: auto;
|
|
|
}
|
|
|
|
|
|
.tableInline {
|
|
|
line-height: 8px;
|
|
|
}
|
|
|
</style> |
...
|
...
|
|