作者 shenhailong

预配添加 批量发送报文 批量修改报文

... ... @@ -23,14 +23,14 @@
<el-col :span="24">
<div class="grid-content content">预配舱单查询</div>
</el-col>
<el-col :span="22">
<el-col :span="24">
<div class="grid-content co">
<el-col :span="1">
<div class="grid-content"></div>
</el-col>
<el-col :span="22">
<el-col :span="24">
<div class="grid-content">
<el-col :span="4">
<el-col :span="3">
<div class="grid-content">
<el-input size="small" v-model="preQuery.awba" placeholder="请输入主单号" clearable></el-input>
</div>
... ... @@ -41,7 +41,16 @@
style="width:150px" icon="el-icon-plus"
@click="handleAddpre">新增预配舱单
</el-button>
<el-button @click="download" style="width:150px" size="small" type="primary">
<el-button @click="handleAwbSend('')" v-if="batchChooseFlag" style="width:150px" size="small" type="primary">
批量发送申报
</el-button>
<el-button @click="handleAwbEdit('')" v-if="batchChooseFlag" style="width:150px" size="small" type="success">
批量发送修改申报
</el-button>
<el-button @click="download" v-if="batchChooseFlag" style="width:150px" size="small" type="danger">
批量发送删除申报
</el-button>
<el-button @click="download" style="width:150px" size="small" type="success">
模板下载
</el-button>
<el-upload
... ... @@ -52,7 +61,7 @@
:on-exceed="fileExceed"
accept="application/vnd.ms-excel,application/vnd.ms-excels"
ref="fileupload">
<el-button slot="trigger" style="width:150px" size="small" icon="el-icon-folder-add" type="success">导入excel</el-button>
<el-button slot="trigger" style="width:150px" size="small" icon="el-icon-folder-add" type="primary">导入excel</el-button>
</el-upload>
</div>
</div>
... ... @@ -68,7 +77,7 @@
<el-table :data="preData" stripe
style="border-radius: 10px 10px 0px 0px;line-height: 25px;"
:header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small"
@selection-change="handleSelectionChange" v-loading="listLoading"
@selection-change="handleSelectionChange" v-loading="listLoading"
default-expand-all
row-key="uuid"
border
... ... @@ -77,8 +86,6 @@
</el-table-column>
<el-table-column label="运单号" width="130" align="center">
<template slot-scope="scope">
<!-- <span class="tableInline" v-if="scope.row.awbh !==''">{{scope.row.awbh}}</span>-->
<!-- <span class="tableInline" v-else>{{scope.row.awba}}</span>-->
<a type="text" style="color: #409eff;text-decoration: underline" class="tableInline" @click="handleEdit(scope.row)" v-if="scope.row.awbh !==''">{{scope.row.awbh}}</a>
<a type="text" style="color: #409eff;text-decoration: underline" class="tableInline" @click="handleEdit(scope.row)" v-else>{{scope.row.awba}}</a>
</template>
... ... @@ -141,28 +148,25 @@
<el-col :span="5" style="margin-right: 10px">
<el-button type="warning" icon="el-icon-view" size="mini" @click="handleSend(scope.row)">收发明细</el-button>
</el-col>
<!-- <el-col :span="4" style="margin-right: 30px">-->
<!-- <el-button type="primary" icon="el-icon-edit" style="width: 100px" size="mini" @click="handleEdit(scope.row)" >编辑</el-button>-->
<!-- </el-col>-->
<el-col :span="5" style="margin-right: 10px">
<el-button type="info" icon="el-icon-edit" size="mini" @click="handleAwbStatus(scope.row)"
:disabled="scope.row.status === '22'">更改状态
</el-button>
</el-col>
<el-col :span="5" style="margin-right: 10px">
<el-button type="success" icon="el-icon-plus" size="mini" v-if="scope.row.awbh ===''"
<el-button type="primary" icon="el-icon-plus" size="mini" v-if="scope.row.awbh ===''"
@click="handleAddAwbh(scope.row)">新增分单
</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="7" style="margin-right: 10px">
<el-button type="success" icon="el-icon-plus" size="mini" style="width: 130px" @click="handleAwbSend(scope.row)"
<el-button type="primary" icon="el-icon-plus" size="mini" style="width: 130px" @click="handleAwbSend(scope.row.uuid)"
:disabled="addStatus(scope.row.status)">发送预配舱单报
</el-button>
</el-col>
<el-col :span="7" style="margin-right: 10px">
<el-button type="primary" icon="el-icon-plus" size="mini" style="width: 130px" @click="handleAwbEdit(scope.row)"
<el-button type="success" icon="el-icon-plus" size="mini" style="width: 130px" @click="handleAwbEdit(scope.row.uuid)"
:disabled="editStatus(scope.row.status)">发送预配修改报</el-button>
</el-col>
<el-col :span="7">
... ... @@ -583,42 +587,40 @@
</el-form-item>
</el-col>
</el-row>
<div v-if="dialogStatus === 'sendUpdate'">
<div class="grid-content content">
运单信息
</div>
<el-row>
<el-col :span="6">
<el-form-item label="" prop="reason">
<el-input v-model="preModel.reason" clearable>
<template slot="prepend" >修改原因</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="" prop="contactName">
<el-input v-model="preModel.contactName" clearable>
<template slot="prepend" >修改人</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="" prop="contactTel">
<el-input v-model="preModel.contactTel" clearable maxlength="5">
<template slot="prepend" >修改人Tel</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- <div v-if="dialogStatus === 'sendUpdate'">-->
<!-- <div class="grid-content content">-->
<!-- 运单信息-->
<!-- </div>-->
<!-- <el-row>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="" prop="reason">-->
<!-- <el-input v-model="preModel.reason" clearable>-->
<!-- <template slot="prepend" >修改原因</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="" prop="contactName">-->
<!-- <el-input v-model="preModel.contactName" clearable>-->
<!-- <template slot="prepend" >修改人名称</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="" prop="contactTel">-->
<!-- <el-input v-model="preModel.contactTel" clearable maxlength="5">-->
<!-- <template slot="prepend" >修改人电话</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </div>-->
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button @click="dialogFormVisible = false" size="medium" type="primary"
style="width: 100px">取消</el-button>
<el-button type="success" size="medium" style="width: 100px" v-show="dialogStatus!=='sendUpdate'"
<el-button type="success" size="medium" style="width: 100px"
@click="dialogStatus ==='create'? createData():updateData()" v-loading="addloading">保存</el-button>
<el-button type="primary" size="medium" style="width: 100px" v-show="dialogStatus==='sendUpdate'" @click="sendUpdate()">发送</el-button>
</div>
</el-dialog>
<el-dialog title="收发明细" :visible.sync="dialogTableVisible" width="70%">
... ... @@ -666,34 +668,38 @@
</el-table-column>
</el-table>
</el-dialog>
<el-dialog title="删除原因" :visible.sync="dialogDeleteVisble" width="50%">
<el-form ref="sendDeleteForm" :model="respModel" :rules="sendDeleteRules" label-width="120px"
<el-dialog :title="sendMap[sendStatus]" :visible.sync="dialogDeleteVisble" width="50%">
<el-form ref="sendDeleteForm" :model="respModel" :rules="sendDeleteRules" label-width="120px"
style="margin-right:50px;">
<el-form-item label="" prop="reason">
<el-input v-model="respModel.reason" placeholder="删除原因">
<template slot="prepend" >删除&nbsp;&nbsp;&nbsp;&nbsp;原因</template>
<el-input v-if="sendStatus==='remove'" v-model="respModel.reason" type="textarea" placeholder="删除原因">
<template slot="prepend" >删除原因</template>
</el-input>
<el-input v-else v-model="respModel.reason" type="textarea" placeholder="修改原因">
<template slot="prepend" >修改原因</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="contactName">
<el-input v-model="respModel.contactName" placeholder="操作人姓名">
<template slot="prepend" >删除操作人</template>
<template slot="prepend" >操作人名称</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="contactTel">
<el-input v-model="respModel.contactTel" placeholder="删除操作人联系方式">
<template slot="prepend" >操作人&nbsp;&nbsp; &nbsp;Tel</template>
<el-input v-model="respModel.contactTel" placeholder="操作人联系方式">
<template slot="prepend" >操作人电话</template>
</el-input>
</el-form-item>
<el-form-item label="">
<el-input v-model="respModel.content" type="textarea" placeholder="请输入备注">
<el-input v-if="sendStatus==='remove'" v-model="respModel.content" type="textarea" placeholder="请输入备注">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogDeleteVisble = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消</el-button>
<el-button type="primary" size="medium" style="width: 100px" @click="sendDelete()">发送</el-button>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogDeleteVisble = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消</el-button>
<el-button type="success" size="medium" style="width: 100px"
@click="sendStatus ==='edit'? sendUpdate():sendDelete()">发送</el-button>
</div>
</el-dialog>
<el-dialog title="发货人信息" :visible.sync="dialogSelectVisible" width="70%">
<!--工具条-->
... ... @@ -845,6 +851,8 @@
addloading: false,
consignerList: [],
dialogNeeVisible: false,
batchChooseFlag: false,
batchChooseSelection: '',
consigneeList: [],
consignerQuery: {
companyName: '',
... ... @@ -879,6 +887,10 @@
create: '添加预配舱单',
addAwbh: '添加分单'
},
sendMap: {
edit: '修改申报',
remove: '删除申报',
},
customTypess: [
{label: '普通货物', value: '001'},
{label: '国际转运货物', value: '002'},
... ... @@ -890,7 +902,6 @@
{label: '4604', value: '4604'},
{label: '4620', value: '4620'},
],
customsDeclarationType: [
{label: '本地报关', value: '001'},
{label: '转关', value: '002'},
... ... @@ -936,6 +947,7 @@
customCodeList: [],
airportCode:[],
dialogStatus: undefined,
sendStatus: undefined,
fenStatus:undefined,
dialogTableVisible: false,
dialogDeleteVisble: false,
... ... @@ -964,9 +976,6 @@
'awbinfo.paymodel': [{required: true, message: '付款方式必选', trigger: 'change'}],
goodsname: [{required: true, trigger: 'blur', validator: validAlphabetsSpanceKey}],
ex5: [{required: true, message: '货物描述不能为空', trigger: 'blur'}],
reason:[{required: true, message: '修改原因不能为空', trigger: 'blur'}],
contactName:[{required: true, message: '修改操作人不能为空', trigger: 'blur'}],
contactTel:[{required: true, message: '修改操作人联系方式不能为空', trigger: 'blur'}],
'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}],
'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}],
'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}],
... ... @@ -1055,16 +1064,22 @@
contactName: undefined,
contactTel: undefined,
content: '',
flightNo: undefined,
awba: undefined,
customCode: undefined,
flightDate: undefined,
awbh: ''
},
sendDeleteRules:{
reason:[{required:true,message:'删除原因不能为空',trigger:'blur'}],
contactName:[{required:true,message:'删除操作人不能为空',trigger:'blur'}],
contactTel:[{required:true,message:'操作人联系方式不能为空',trigger:'blur'}]
reason:[{required:true,message:'原因不能为空',trigger:'blur'}],
contactName:[{required:true,message:'操作人不能为空',trigger:'blur'}],
contactTel:[
{ required: true, message: '手机号不能为空', trigger: 'blur' },
{ type: 'number', message: '手机号格式不正确', trigger: 'blur',
transform(value){
var phone = 11 && /^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/
if (!phone.test(value)){
return false;
}else {
return Number(value);
}
}}
],
},
preData: [],
detailData: [],
... ... @@ -1450,10 +1465,6 @@
}
})
},
// >>>>>>>>>>>>>>>>多选<<<<<<<<<<<<<<<<<<
handleSelectionChange() {
},
// 远程获取发货人信息
consignerSelect(){
this.dialogSelectVisible = true;
... ... @@ -1552,32 +1563,46 @@
this.detailData = res.data
})
},
// >>>>>>>>>>>>>>>>多选<<<<<<<<<<<<<<<<<<
handleSelectionChange(val) {
this.batchChooseSelection = val;
this.batchChooseFlag = true;
if (this.batchChooseSelection.length == 0){
this.batchChooseFlag = false;
}
},
// >>>>>>>>>>>>>>>>发送舱单报<<<<<<<<<<<<<<<<<<
handleAwbSend(row) {
delete row.parent
delete row.children
this.rows = row;
handleAwbSend(id) {
let checkArr = "";
let ids = [];
if (id !== undefined && id !== ""){
ids.push(id);
}else {
checkArr = this.batchChooseSelection;
checkArr.forEach(function (item) {
ids.push(item.uuid);
})
}
this.$confirm("是否发送", "确认消息", {
distinguishCancelAndClose: true,
confirmButtonText: '发送',
cancelButtonText: '取消'
}).then(() => {
if (row.awbh === null) {
row.awbh = ''
}
row.user = {
username : JSON.parse(sessionStorage.getItem('user')).username
}
sendCreateMt2201(row).then(res => {
if (res.data.count > 0) {
Message.success(res.data.respMessage)
const form = new FormData()
form.append("username", loginUserInfo.username);
form.append("ids", ids);
sendCreateMt2201(form).then(res => {
if (res.data.code == "200") {
Message.success(res.data.msg)
this.rows.status="23";
this.rows.ext5="新增报发送成功";
} else {
Message.error(res.data.respMessage)
Message.error(res.data.msg)
}
})
})
},
// 发送舱单报 按钮自灰
addStatus(status){
... ... @@ -1634,15 +1659,13 @@
})
},
// >>>>>>>>>>>>>>>>发送修改报<<<<<<<<<<<<<<<<<<
handleAwbEdit(row) {
delete row.parent
delete row.children
this.rows = row;
this.preModel = Object.assign({}, row)
this.dialogStatus = 'sendUpdate'
this.dialogFormVisible = true
this.$nextTick(() => {
this.$refs.preFormData.clearValidate()
handleAwbEdit(id) {
this.batchModel();
this.restModel.uuid = id;
this.sendStatus = 'edit';
this.dialogDeleteVisble = true;
this.$nextTick(()=>{
this.$refs.sendDeleteForm.clearValidate()
})
},
// 发送修改报自灰
... ... @@ -1654,42 +1677,32 @@
}
},
sendUpdate(){
this.respModel.reason = this.preModel.reason
this.respModel.contactName = this.preModel.contactName
this.respModel.contactTel = this.preModel.contactTel
//
delete this.preModel._expanded
delete this.preModel._level
delete this.preModel._marginLeft
delete this.preModel._show
delete this.preModel._width
const reason = this.preModel.reason
const contactName = this.preModel.contactName
const contactTel = this.preModel.contactTel
const username = JSON.parse(sessionStorage.getItem('user')).username
this.$refs.preFormData.validate(valid =>{
let checkArr = "";
let ids = [];
if (this.restModel.uuid !== undefined && this.restModel.uuid !== ""){
ids.push(this.restModel.uuid);
}else {
checkArr = this.batchChooseSelection;
checkArr.forEach(function (item) {
ids.push(item.uuid);
})
}
this.$refs.sendDeleteForm.validate(valid =>{
if(valid){
delete this.preModel.reason
delete this.preModel.contactName
delete this.preModel.contactTel
const map = {
'mt2201': this.preModel,
'reason' : reason,
'contactName': contactName,
'contactTel': contactTel,
'username': username,
}
sendUpdateMt2201(map).then(res =>{
if(res.data.count >0){
Message.success(res.data.respMessage)
const form = new FormData()
form.append("username", loginUserInfo.username);
form.append("ids", ids);
form.append("reason", this.respModel.reason);
form.append("contactName", this.respModel.contactName);
form.append("contactTel", this.respModel.contactTel);
sendUpdateMt2201(form).then(res =>{
if(res.data.code =="200"){
Message.success(res.data.msg)
this.rows.status="25";
this.rows.ext5="修改报发送成功";
this.dialogFormVisible = false
this.dialogDeleteVisble = false
}else {
Message.error(res.data.respMessage)
Message.error(res.data.msg)
}
})
}
... ... @@ -1976,6 +1989,17 @@
}
})
}
},
// 批量实体充值
batchModel(){
this.respModel = {
uuid: undefined,
reason: undefined,
contactName: undefined,
contactTel: undefined,
content: '',
}
}
}
}
... ...