...
|
...
|
@@ -10,14 +10,14 @@ |
|
|
<el-select v-model="listQuery.customcode" class="filter-item" placeholder="请选择关区代码">
|
|
|
<el-option v-for="item in manifestCustoms" :key="item" :label="item" :value="item"></el-option>
|
|
|
</el-select>
|
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">{{
|
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleSearch">{{
|
|
|
$t('table.search') }}
|
|
|
</el-button>
|
|
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-edit"
|
|
|
@click="handleCreate">{{ $t('table.add') }}
|
|
|
</el-button>
|
|
|
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message"
|
|
|
@click="handleCreate">批量发送
|
|
|
@click="handleDelList">批量发送
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<tree-table :data="orgData" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe
|
...
|
...
|
@@ -63,39 +63,26 @@ |
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!--<el-table-column :label="$t('table.status')" width="90px" sortable>-->
|
|
|
<!--<template slot-scope="scope">-->
|
|
|
<!--<el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag>-->
|
|
|
<!--</template>-->
|
|
|
<!--<template slot-scope="scope">-->
|
|
|
<!--<el-tag :type="scope.row.status | statusFilter">{{ scope.row.status }}</el-tag>-->
|
|
|
<!--</template>-->
|
|
|
<!--</el-table-column>-->
|
|
|
<el-table-column label="回执内容" width="300px" align="center">
|
|
|
<el-table-column label="回执内容" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ scope.row.customText }}</span>
|
|
|
<!--<div>-->
|
|
|
<!--<el-progress :percentage="scope.row.customComplate" :status="scope.row.status | statusFilter"/>-->
|
|
|
<!--<el-progress :percentage="scope.row.customComplate" :status="scope.row.status | statusFilter"/>-->
|
|
|
<!--</div>-->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column :label="$t('table.actions')" align="center">
|
|
|
<el-table-column :label="$t('table.actions')" width="500px" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">快速编辑</el-button>
|
|
|
<el-button v-if="scope.row.status!='41301'" size="mini" type="success"
|
|
|
@click="handleModifyStatus(scope.row,'41301')">{{ $t('table.publish') }}
|
|
|
</el-button>
|
|
|
<el-button v-if="scope.row.status!='10002'" size="mini"
|
|
|
@click="handleModifyStatus(scope.row,'10002')">客服反馈
|
|
|
</el-button>
|
|
|
<el-button v-if="scope.row.status=='10002'" size="mini" type="danger"
|
|
|
@click="handleModifyStatus(scope.row,'deleted')">{{ $t('table.delete') }}
|
|
|
</el-button>
|
|
|
<el-switch
|
|
|
v-model="scope.row.resend"
|
|
|
@change="handleSwitch(scope.row)"
|
|
|
active-color="#13ce66"
|
|
|
inactive-color="#ff4949"
|
|
|
:key="scope.row.id"
|
|
|
active-text="可发"
|
|
|
inactive-text="禁发">
|
|
|
</el-switch>
|
|
|
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>
|
|
|
<el-button size="mini" type="success" @click="handleSend(scope.row)">发送</el-button>
|
|
|
<el-button size="mini" @click="handleFeedBack(scope.row)">客服反馈</el-button>
|
|
|
<el-button size="mini" type="danger" @click="handleDel(scope.$index,scope.row)">删除</el-button>
|
|
|
<el-button size="mini" type="warning" @click="handleSwitch(scope.row)">更改状态</el-button>
|
|
|
<el-button size="mini" type="primary" v-if="scope.row.awbh ===null" @click="handleAddAwbh(scope.row)">新增分单</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</tree-table>
|
...
|
...
|
@@ -114,52 +101,27 @@ |
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="航班号" prop="flightno">
|
|
|
<div v-if="dialogStatus === 'update'">
|
|
|
<el-input disabled="" v-model="flightno"/>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-input v-model="flightno"/>
|
|
|
</div>
|
|
|
|
|
|
<el-input :disabled="dialogStatus !== 'create'" v-model="flightno"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="航班日期" prop="flightdate">
|
|
|
<div v-if="dialogStatus === 'update'">
|
|
|
<el-date-picker disabled="" :picker-options="pickerOptions"
|
|
|
v-model="temp.flightdate" align="right"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
type="date" placeholder="请输入航班日期" style="width: 87%"/>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-date-picker :picker-options="pickerOptions" v-model="temp.flightdate"
|
|
|
align="right" value-format="yyyy-MM-dd"
|
|
|
type="date" placeholder="请输入航班日期" style="width: 87%"/>
|
|
|
</div>
|
|
|
<el-date-picker :disabled="dialogStatus !== 'create'" :picker-options="pickerOptions"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
v-model="temp.flightdate" align="right"
|
|
|
type="date" placeholder="请输入航班日期" style="width: 87%"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<div v-if="dialogStatus === 'update'">
|
|
|
<el-form-item label="起始站" prop="originstation">
|
|
|
<el-input disabled="" v-model="originstation"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-form-item label="起始站" prop="originstation">
|
|
|
<el-input v-model="originstation"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item label="起始站" prop="originstation">
|
|
|
<el-input :disabled="dialogStatus !== 'create'" v-model="originstation"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="目的站" prop="destinationstation">
|
|
|
<div v-if="dialogStatus === 'update'">
|
|
|
<el-input disabled="" v-model="destinationstation"/>
|
|
|
</div>
|
|
|
<div v-else prop="destinationstation">
|
|
|
<el-input v-model="destinationstation"/>
|
|
|
</div>
|
|
|
<el-input :disabled="dialogStatus !== 'create'" v-model="destinationstation"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
...
|
...
|
@@ -168,8 +130,10 @@ |
|
|
<el-form-item label="是否分批" prop="splitcode">
|
|
|
<el-select v-model="temp.splitcode" class="filter-item" placeholder="请选择是否分批"
|
|
|
style="width: 93%">
|
|
|
<el-option v-for="item in splitcodes" :key="item" :label="item"
|
|
|
:value="item"></el-option>
|
|
|
<el-option v-for="item in splitcodes" :key="item.value" :label="item.value"
|
|
|
:value="item.value">
|
|
|
<span>{{item.label}}</span>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
...
|
...
|
@@ -189,20 +153,33 @@ |
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="目的地" prop="awbinfo.eairportid">
|
|
|
<el-input v-model="eairportid"/>
|
|
|
<el-form-item label="目的地" prop="destinationstation">
|
|
|
<el-input v-model="destinationstation"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="承运人" prop="carrier">
|
|
|
<el-input v-model="carrier"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="到达航站" prop="awbinfo.eairportid">
|
|
|
<el-input v-model="eairportid"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="承运人1" prop="awbinfo.by1">
|
|
|
<el-form-item label="承运人1" >
|
|
|
<el-input v-model="by1"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="到达航站1" prop="awbinfo.dest1">
|
|
|
<el-form-item label="到达航站1">
|
|
|
<el-input v-model="dest1"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
...
|
...
|
@@ -221,19 +198,7 @@ |
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="承运人3">
|
|
|
<el-input v-model="by3"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="到达航站3">
|
|
|
<el-input v-model="dest3"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<div class="tags">
|
|
|
<el-tag type="info" effect="plain">
|
...
|
...
|
@@ -243,26 +208,14 @@ |
|
|
<div class="row-bg">
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<div v-if="dialogStatus === 'update'">
|
|
|
<el-form-item label="主单号">
|
|
|
<el-input disabled="" v-model="temp.awba"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-form-item label="主单号" prop="awba">
|
|
|
<el-input v-model="temp.awba"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item label="主单号" prop="awba">
|
|
|
<el-input :disabled="dialogStatus !== 'create'" v-model="awba"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="分单号" >
|
|
|
<div v-if="dialogStatus === 'update' ">
|
|
|
<el-input disabled v-model="awbh"/>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-input v-model="awbh"/>
|
|
|
</div>
|
|
|
<el-form-item label="分单号">
|
|
|
<el-input :disabled="dialogStatus !== 'addAwh'" v-model="awbh"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
...
|
...
|
@@ -290,8 +243,8 @@ |
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="海关状态" prop="goodsType">
|
|
|
<el-select v-model="temp.goodsType" class="filter-item" placeholder="请录入货物类型"
|
|
|
<el-form-item label="海关状态" prop="ex5">
|
|
|
<el-select v-model="temp.ex5" class="filter-item" placeholder="请录入货物类型"
|
|
|
style="width: 93%">
|
|
|
<el-option v-for="item in customTypes" :key="item" :label="item" :value="item"/>
|
|
|
</el-select>
|
...
|
...
|
@@ -490,7 +443,7 @@ |
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogFormVisible = false">{{ $t('table.cancel') }}</el-button>
|
|
|
<el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">{{
|
|
|
<el-button type="primary" @click="dialogStatus==='update'?createData():updateData()">{{
|
|
|
$t('table.confirm') }}
|
|
|
</el-button>
|
|
|
</div>
|
...
|
...
|
@@ -512,11 +465,7 @@ |
|
|
import {addMt1201, updateMT1201, updateStatus, deleteByIsDelete, getMt1201ListForParam} from '@/api/orgManifest'
|
|
|
import {Message} from "element-ui";
|
|
|
|
|
|
|
|
|
treeTable.expandAll = {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
}
|
|
|
import {validAwb, validFlightNo} from '@/utils/validate'
|
|
|
|
|
|
export default {
|
|
|
name: 'OrgManifest',
|
...
|
...
|
@@ -539,12 +488,24 @@ |
|
|
}
|
|
|
},
|
|
|
data() {
|
|
|
const validatorAwb = (rule, value, callback) =>{
|
|
|
if(!validAwb(value)){
|
|
|
callback("请正确书写主单号")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
const validatorFlightno = (rule, value, callback) =>{
|
|
|
if(!validFlightNo(value)){
|
|
|
callback("请正确书写航班号")
|
|
|
}
|
|
|
callback()
|
|
|
}
|
|
|
return {
|
|
|
func: treeToArray,
|
|
|
expandAll: true,
|
|
|
total: 0,
|
|
|
loading: false,
|
|
|
listLoading: true,
|
|
|
listLoading: false,
|
|
|
downloadLoading: false,
|
|
|
multipleSelection: [],
|
|
|
dialogFormVisible: false,
|
...
|
...
|
@@ -556,7 +517,8 @@ |
|
|
goodsPackage: goodsPackage,
|
|
|
textMap: {
|
|
|
update: '编辑',
|
|
|
create: '添加'
|
|
|
create: '添加',
|
|
|
addAwbh:'新增分单'
|
|
|
},
|
|
|
listQuery: {
|
|
|
pageSize: 1,
|
...
|
...
|
@@ -566,11 +528,13 @@ |
|
|
flightdate: undefined,
|
|
|
customcode: undefined
|
|
|
},
|
|
|
//实体对象声明最好使用undefined,后台不会更改数据库默认值
|
|
|
temp: {
|
|
|
awba: undefined,
|
|
|
awbh: undefined,
|
|
|
customcode: undefined,
|
|
|
flightno: undefined,
|
|
|
carrier: undefined,
|
|
|
flightdate: undefined,
|
|
|
originstation: undefined,
|
|
|
destinationstation: undefined,
|
...
|
...
|
@@ -581,6 +545,7 @@ |
|
|
uldType: undefined,
|
|
|
uldNo: undefined,
|
|
|
status: undefined,
|
|
|
ex5:undefined,
|
|
|
awbinfo: {
|
|
|
specopeid: undefined,
|
|
|
shprname: undefined,
|
...
|
...
|
@@ -588,7 +553,7 @@ |
|
|
shprtel: undefined,
|
|
|
shpraddress: undefined,
|
|
|
shprcountyr: undefined,
|
|
|
shpcomidpre:undefined,
|
|
|
shpcomidpre: undefined,
|
|
|
shpcomidpno: undefined,
|
|
|
cnsnname: undefined,
|
|
|
cnsrmobiletype: undefined,
|
...
|
...
|
@@ -616,7 +581,7 @@ |
|
|
manifestCustoms: ['4604', '4620', '4613'],
|
|
|
customTypes: ['普通货物', '国际转运货物', '国内转关', '空箱', '快件'],
|
|
|
payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}],
|
|
|
splitcodes: ['是', '否'],
|
|
|
splitcodes:[{label: '是', value: 'T'}, {label: '否', value: 'P'}],
|
|
|
orgData: [],
|
|
|
countryList: [],
|
|
|
countryResultList: [],
|
...
|
...
|
@@ -666,14 +631,14 @@ |
|
|
destinationstation: [{required: true, message: '运单目的地必须输入', trigger: 'change'}],
|
|
|
originstation: [{required: true, message: '运单起始站必须数据', trigger: 'change'}],
|
|
|
flightdate: [{required: true, message: '航班日期必须输入', trigger: 'change'}],
|
|
|
flightno: [{required: true, message: '航班号必须输入', trigger: 'change'}],
|
|
|
flightno: [{required: true, trigger: 'blur', validator: validatorFlightno}],
|
|
|
carrier: [{required: true, trigger: 'blur', message: '承运人不能为空'}],
|
|
|
customcode: [{required: true, message: '关区代码必须选择', trigger: 'change'}],
|
|
|
awba: [{required: true, message: '运单号必须输入', trigger: 'change'}],
|
|
|
awba: [{required: true, trigger:'blur', validator: validatorAwb}],
|
|
|
'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}],
|
|
|
goodsname: [{required: true, message: '货物描述不能为空', trigger: 'change'}],
|
|
|
ex5: [{required: true, message: '货物描述不能为空', trigger: 'change'}],
|
|
|
'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}],
|
|
|
'awbinfo.by1': [{required: true, message: '承运人不能为空', trigger: 'change'}],
|
|
|
'awbinfo.dest1': [{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'}],
|
...
|
...
|
@@ -702,211 +667,231 @@ |
|
|
|
|
|
}, 1000)
|
|
|
},
|
|
|
computed:{
|
|
|
computed: {
|
|
|
awba: {
|
|
|
get: function () {
|
|
|
return this.temp.awba
|
|
|
},
|
|
|
set: function (val) {
|
|
|
if(val.length==3){
|
|
|
val = val+"-"
|
|
|
}
|
|
|
this.temp.awba = val.trim()
|
|
|
}
|
|
|
},
|
|
|
awbh: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbh
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbh = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbh = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
flightno: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.flightno
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.flightno = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.flightno = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
carrier:{
|
|
|
get: function () {
|
|
|
return this.temp.carrier
|
|
|
},
|
|
|
set: function (val) {
|
|
|
this.temp.carrier = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
originstation: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.originstation
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.originstation = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.originstation = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
destinationstation: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.destinationstation
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.destinationstation = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.destinationstation = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
|
|
|
goodsname: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.goodsname
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.goodsname = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.goodsname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
specopeid: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.specopeid
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.specopeid = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.specopeid = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shprname: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.shprname
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.shprname = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.shprname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shpraddress: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.shpraddress
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.shpraddress = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.shpraddress = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shprcountyr: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.shprcountyr
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.shprcountyr = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.shprcountyr = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shpcomidpre: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.shpcomidpre
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.shpcomidpre = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.shpcomidpre = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
shpcomidpno: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.shpcomidpno
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.shpcomidpno = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.shpcomidpno = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsnname: {
|
|
|
get: function (){
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnsnname
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnsnname = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnsnname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsnaddress: {
|
|
|
get: function (){
|
|
|
cnsnaddress: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnsnaddress
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnsnaddress = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnsnaddress = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnscountyr: {
|
|
|
get: function (){
|
|
|
cnscountyr: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnscountyr
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnscountyr = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnscountyr = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnscomidno: {
|
|
|
get: function (){
|
|
|
cnscomidno: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnscomidno
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnscomidno = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnscomidno = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnsrctcname: {
|
|
|
get: function (){
|
|
|
cnsrctcname: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnsrctcname
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnsrctcname = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnsrctcname = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
sairportid: {
|
|
|
get: function (){
|
|
|
sairportid: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.sairportid
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.sairportid = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.sairportid = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by1: {
|
|
|
get: function (){
|
|
|
by1: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.by1
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.by1 = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.by1 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest1: {
|
|
|
get: function (){
|
|
|
dest1: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.dest1
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.dest1 = val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.dest1 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by2: {
|
|
|
get: function (){
|
|
|
by2: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.by2
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.by2= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.by2 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest2: {
|
|
|
get: function (){
|
|
|
dest2: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.dest2
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.dest2= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.dest2 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
by3: {
|
|
|
get: function (){
|
|
|
by3: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.by3
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.by3= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.by3 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
dest3: {
|
|
|
get: function (){
|
|
|
dest3: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.dest3
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.dest3= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.dest3 = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
eairportid: {
|
|
|
get: function (){
|
|
|
eairportid: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.eairportid
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.eairportid= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.eairportid = val.toUpperCase().trim()
|
|
|
}
|
|
|
},
|
|
|
cnscomidpre: {
|
|
|
get: function (){
|
|
|
cnscomidpre: {
|
|
|
get: function () {
|
|
|
return this.temp.awbinfo.cnscomidpre
|
|
|
},
|
|
|
set: function (val){
|
|
|
this.temp.awbinfo.cnscomidpre= val.toUpperCase()
|
|
|
set: function (val) {
|
|
|
this.temp.awbinfo.cnscomidpre = val.toUpperCase().trim()
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
'temp.awbinfo.cnscountyr': function (newValue, oldValue) {
|
|
|
if (newValue != null && newValue!='') {
|
|
|
if (newValue != null && newValue != '') {
|
|
|
this.selectCountry.countryCode = newValue
|
|
|
getByCountryCode(this.selectCountry).then(res => {
|
|
|
this.temp.awbinfo.cnscomidpre = res.data.dataList[0].enterpriseCode
|
...
|
...
|
@@ -914,7 +899,7 @@ |
|
|
}
|
|
|
},
|
|
|
'temp.awbinfo.shprcountyr': function (newValue, oldValue) {
|
|
|
if (newValue != null && newValue!='') {
|
|
|
if (newValue != null && newValue != '') {
|
|
|
this.selectCountry.countryCode = newValue
|
|
|
getByCountryCode(this.selectCountry).then(res => {
|
|
|
this.temp.awbinfo.shpcomidpre = res.data.dataList[0].enterpriseCode
|
...
|
...
|
@@ -923,6 +908,8 @@ |
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
// >>>>>>>>>>>>>>>>页面加载运行<<<<<<<<<<<<<<<<<<
|
|
|
//获取MT1201列表
|
|
|
getList() {
|
|
|
getMt1201ListForParam(this.listQuery).then(res => {
|
|
|
this.total = res.data.count
|
...
|
...
|
@@ -932,14 +919,20 @@ |
|
|
}, 1.5 * 1000)
|
|
|
})
|
|
|
},
|
|
|
//获取城市列表
|
|
|
getCountryList() {
|
|
|
getCountry().then(res => {
|
|
|
this.countryList = res.data.dataList
|
|
|
})
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>页面加载运行<<<<<<<<<<<<<<<<<<
|
|
|
|
|
|
|
|
|
message(row) {
|
|
|
this.$message.info(row.event)
|
|
|
},
|
|
|
|
|
|
|
|
|
sortChange(data) {
|
|
|
const {prop, order} = data
|
|
|
if (prop === 'id') {
|
...
|
...
|
@@ -952,14 +945,31 @@ |
|
|
} else {
|
|
|
this.listQuery.sort = '-id'
|
|
|
}
|
|
|
this.handleFilter()
|
|
|
this.handleSearch()
|
|
|
},
|
|
|
handleDownload() {
|
|
|
|
|
|
},
|
|
|
handleFilter() {
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>批量删除<<<<<<<<<<<<<<<<<<
|
|
|
handleSelectionChange(val) {
|
|
|
this.multipleSelection = val
|
|
|
},
|
|
|
handleDelList() {
|
|
|
const val = this.multipleSelection
|
|
|
if (val) {
|
|
|
val.forEach((val, index) => {
|
|
|
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>搜索<<<<<<<<<<<<<<<<<<
|
|
|
handleSearch() {
|
|
|
this.getList()
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>更新数据<<<<<<<<<<<<<<<<<<
|
|
|
handleUpdate(row) {
|
|
|
this.temp = Object.assign({}, row) // copy obj
|
|
|
this.dialogStatus = 'update'
|
...
|
...
|
@@ -968,17 +978,31 @@ |
|
|
this.$refs.formData.clearValidate()
|
|
|
})
|
|
|
},
|
|
|
handleModifyStatus(row, status) {
|
|
|
updateData() {
|
|
|
this.$refs.formData.validate(valid => {
|
|
|
if (valid) {
|
|
|
updateMT1201(this.temp).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
Message.success(res.data.respMessage)
|
|
|
} else {
|
|
|
Message.success("数据异常清稍后重试")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>客服反馈<<<<<<<<<<<<<<<<<<
|
|
|
handleFeedBack(row) {
|
|
|
this.$message({
|
|
|
message: '操作成功',
|
|
|
message: '操作成功,请前往微信查看',
|
|
|
type: 'success'
|
|
|
})
|
|
|
row.status = status
|
|
|
},
|
|
|
|
|
|
handleSelectionChange(val) {
|
|
|
this.multipleSelection = val
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>重置实体<<<<<<<<<<<<<<<<<<
|
|
|
resetTemp() {
|
|
|
this.temp = {
|
|
|
awba: undefined,
|
...
|
...
|
@@ -1001,7 +1025,7 @@ |
|
|
shprtel: undefined,
|
|
|
shpraddress: undefined,
|
|
|
shprcountyr: undefined,
|
|
|
shpcomidpre:undefined,
|
|
|
shpcomidpre: undefined,
|
|
|
shpcomidpno: undefined,
|
|
|
cnsnname: undefined,
|
|
|
cnsrmobiletype: undefined,
|
...
|
...
|
@@ -1027,6 +1051,8 @@ |
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>新增数据<<<<<<<<<<<<<<<<<<
|
|
|
handleCreate() {
|
|
|
this.resetTemp()
|
|
|
this.dialogStatus = 'create'
|
...
|
...
|
@@ -1035,13 +1061,31 @@ |
|
|
this.$refs.formData.clearValidate()
|
|
|
})
|
|
|
},
|
|
|
createData() {
|
|
|
this.$refs.formData.validate(valid => {
|
|
|
if (valid) {
|
|
|
addMt1201(this.temp).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
Message.success(res.data.respMessage)
|
|
|
} else {
|
|
|
Message.success("数据异常清稍后重试")
|
|
|
}
|
|
|
})
|
|
|
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>下拉远程搜索<<<<<<<<<<<<<<<<<<
|
|
|
remoteMethod(query) {
|
|
|
if (query !== '') {
|
|
|
this.loading = true
|
|
|
setTimeout(() => {
|
|
|
this.loading = false
|
|
|
this.countryOption = this.countryResultList.filter(item => {
|
|
|
return item.value.toUpperCase()
|
|
|
return item.value.toUpperCase().trim()
|
|
|
.indexOf(query.toUpperCase()) > -1
|
|
|
})
|
|
|
}, 200)
|
...
|
...
|
@@ -1061,68 +1105,98 @@ |
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>更新发送状态<<<<<<<<<<<<<<<<<<
|
|
|
handleSwitch(row) {
|
|
|
console.log(row)
|
|
|
this.$confirm("是否发送更改状态", "确认消息", {
|
|
|
distinguishCancelAndClose: true,
|
|
|
confirmButtonText: '确认更改',
|
|
|
cancelButtonText: '取消更改'
|
|
|
}).then(() => {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
message: '状态更改成功'
|
|
|
})
|
|
|
}).catch(action => {
|
|
|
this.$message({
|
|
|
type: 'info',
|
|
|
message: action === 'cancel'
|
|
|
? '取消状态更改'
|
|
|
: '停留在当前页面'
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
createData() {
|
|
|
this.$refs.formData.validate(valid =>{
|
|
|
if(valid){
|
|
|
addMt1201(this.temp).then(res => {
|
|
|
if(res.data.count>0){
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
Message.success(res.data.respMessage)
|
|
|
}else {
|
|
|
Message.success("数据异常清稍后重试")
|
|
|
}
|
|
|
})
|
|
|
|
|
|
}
|
|
|
// >>>>>>>>>>>>>>>>删除<<<<<<<<<<<<<<<<<<
|
|
|
handleDel(index, row) {
|
|
|
this.$confirm("是否删除", "确认消息", {
|
|
|
distinguishCancelAndClose: true,
|
|
|
confirmButtonText: '删除',
|
|
|
cancelButtonText: '取消'
|
|
|
}).then(() => {
|
|
|
deleteByIsDelete(row).then(res => {
|
|
|
if (res.data.count > 0) {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
message: '删除成功'
|
|
|
})
|
|
|
this.orgData.splice(index, 1)
|
|
|
} else {
|
|
|
this.$message({
|
|
|
type: 'danger',
|
|
|
message: '删除异常,请稍后重试'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}).catch(action => {
|
|
|
this.$message({
|
|
|
type: 'info',
|
|
|
message: action === 'cancel'
|
|
|
? '取消删除'
|
|
|
: '停留在当前页面'
|
|
|
})
|
|
|
})
|
|
|
|
|
|
},
|
|
|
updateData() {
|
|
|
this.$refs.formData.validate(valid => {
|
|
|
if (valid) {
|
|
|
updateMT1201(this.temp).then(res => {
|
|
|
if(res.data.count>0){
|
|
|
this.dialogFormVisible = false
|
|
|
this.getList()
|
|
|
Message.success(res.data.respMessage)
|
|
|
}else {
|
|
|
Message.success("数据异常清稍后重试")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// >>>>>>>>>>>>>>>>发送<<<<<<<<<<<<<<<<<<
|
|
|
handleSend(row) {
|
|
|
console.log(row)
|
|
|
},
|
|
|
// >>>>>>>>>>>>>>>>新增分单<<<<<<<<<<<<<<<<<<
|
|
|
handleAddAwbh(row){
|
|
|
const template = Object.assign({}, row) // copy obj
|
|
|
console.log(template)
|
|
|
this.temp.awba = template.awba
|
|
|
this.temp.flightdate = template.flightdate
|
|
|
this.temp.flightno = template.flightno
|
|
|
this.temp.destinationstation = template.destinationstation
|
|
|
this.temp.customcode = template.customcode
|
|
|
this.temp.carrier = template.carrier
|
|
|
this.temp.awbinfo.shprcountyr = template.awbinfo.shprcountyr
|
|
|
this.temp.originstation = template.originstation
|
|
|
this.temp.goodsname = template.goodsname
|
|
|
this.temp.awbinfo.collected = template.awbinfo.collected
|
|
|
this.temp.awbinfo.sairportid = template.awbinfo.sairportid
|
|
|
this.temp.awbinfo.eairportid = template.awbinfo.eairportid
|
|
|
this.temp.awbinfo.ex5 = template.awbinfo.ex5
|
|
|
|
|
|
this.dialogStatus = 'addAwh'
|
|
|
this.dialogFormVisible = true
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.formData.clearValidate()
|
|
|
})
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
|
|
|
|
|
|
.bg-purple {
|
|
|
background: #d3dce6;
|
|
|
}
|
|
|
|
|
|
.el-row {
|
|
|
margin-bottom: 0px;
|
|
|
}
|
|
|
|
|
|
.el-dialog .el-dialog--samll {
|
|
|
width: 60%;
|
|
|
}
|
|
|
|
|
|
.row-bg {
|
|
|
padding: 10px 0;
|
|
|
background-color: #f9fafc;
|
|
|
}
|
|
|
|
|
|
.el-progress.is-warning .el-progress-bar__inner {
|
|
|
background-color: #E6A23C
|
|
|
}
|
|
|
|
|
|
.remark textarea {
|
|
|
width: 575px;
|
|
|
}
|
...
|
...
|
@@ -1136,5 +1210,9 @@ |
|
|
margin-top: 10px;
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
|
|
|
.disabledClass {
|
|
|
}
|
|
|
|
|
|
</style>
|
|
|
|
...
|
...
|
|