作者 朱兆平

适配角色的属性结构1

... ... @@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>项目</title>
<title>易通快速通关申报管理系统</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
</head>
... ...
import http from './http.js'
let baseUrl = 'nmms-server-import/nmms/allocat'
export const addAllocatImport=params=>{return http.post(`${baseUrl}/addAllocatImport`, params);};
export const addAllocatArrive=params=>{return http.post(`${baseUrl}/addAllocatArrive`, params);};
export const QueryData=params=>{return http.get(`${baseUrl}/QueryData`, params);};
export const ediAllocat=params=>{return http.put(`${baseUrl}/ediAllocat`, params);};
\ No newline at end of file
... ...
import http from './http.js'
let baseUrl = 'nmms-server-import/nmms/mt1201'
export const selectFlightLists = params => { return http.get(`${baseUrl}/selectFlightLists`, params); };
export const getMt1201List=params=>{return http.get(`${baseUrl}/getMt1201List`, params);};
export const getFenList=params=>{return http.get(`${baseUrl}/getFenList`, params);};
export const addMt1201=params=>{return http.post(`${baseUrl}/addMt1201`, params);};
export const ediMt1201=params=>{return http.put(`${baseUrl}/ediMt1201`, params);};
... ...
import http from './http.js'
let baseUrl = 'nmms-server-import/nmms/mt5201'
export const getMt5201List=params=>{return http.get(`${baseUrl}/getMt5201List`, params);};
export const addMt5201=params=>{return http.post(`${baseUrl}/addMt5201`, params);};
export const ediMt5201=params=>{return http.put(`${baseUrl}/ediMt5201`, params);};
export const delMt5201 = params => { return http.del(`${baseUrl}/delMt5201`,params)};
... ...
import http from './http.js'
let baseUrl = 'nmms-server-import/nmms/wayDeclaration'
export const QueryData=params=>{return http.get(`${baseUrl}/Query`, params);};
\ No newline at end of file
... ...
... ... @@ -14,6 +14,7 @@ import Process from './views/hqpt/Process.vue'
import Job from './views/hqpt/Job.vue'
// import Form from './views/nav1/Form.vue'
import OrgManifest from './views/nmms/orgManifest.vue'
import ExitFlight from './views/nmms/ExitFlight.vue'
import ExitPre from './views/nmms/ExitPre.vue'
... ... @@ -25,6 +26,15 @@ import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue'
import LostLoad from './views/lostLoadChange/lostLoading.vue'
import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue'
import OrigFlightList from './views/nmms_import/OrigFlightList.vue'
import EnterFlightInfo from './views/nmms_import/EnterFlightInfo.vue'
import OrigMaster from './views/nmms_import/OrigMaster.vue'
import EnterTally from './views/nmms_import/EnterFlightTally.vue'
import TallyMster from './views/nmms_import/TallyMster.vue'
import Waybill from './views/nmms_import/Waybill.vue'
import AllocateSearch from './views/nmms_import/AllocateSearch.vue'
import Importallocation from './views/nmms_import/Importallocation.vue'
import Allocatearrive from './views/nmms_import/Allocatearrive.vue'
import User from './views/nav1/user.vue'
import Page4 from './views/nav2/Page4.vue'
... ... @@ -70,7 +80,7 @@ let routes = [
iconCls: 'el-icon-setting',//图标样式class
children: [
{ path: '/user', component: User, name: '用户管理' },
{ path: '/role', component: Role, name: '岗位管理' },
{ path: '/role', component: Role, name: '组织机构' },
{ path: '/perm', component: Perm, name: '权限管理' },
{ path: '/log', component: LOG, name: '系统日志' },
{ path: '/department', component: Department, name: '部门管理' },
... ... @@ -105,6 +115,23 @@ let routes = [
]
},
{
path: '/nmms2',
component: Home,
name: '进港业务申报',
iconCls: 'fa fa-id-card-o',
children: [
{ path: '/orig', component: OrigFlightList, name: '进港航班申报' },
{path:'/waybill',component:Waybill,name:'进港运单申报'},
{path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'},
{ path: '/enter', component: EnterFlightInfo, name: '原始舱单'},
{ path:'/origmaster',component:OrigMaster,name:'进港原始舱单'},
{path:'/entertall',component:EnterTally,name:'进港理货'},
{path:'/tallymaster',component:TallyMster,name:'进港理货舱单'},
{path:'/importallocation',component:Importallocation,name:'进港分拨'},
{path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'}
]
},
{
path: '/lost',
component: Home,
name: '落装改配申报',
... ...
... ... @@ -75,7 +75,7 @@
export default {
data() {
return {
sysName:'流浪地球管理系统',
sysName:'易通快速通关申报管理系统',
collapsed:false,
sysUserName: '',
sysUserAvatar: '',
... ...
... ... @@ -16,18 +16,22 @@
</el-col>
<!--列表-->
<el-table :data="roles" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table :data="roles" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"
default-expand-all
row-key="roleId"
border
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index" width="60">
</el-table-column>
<el-table-column prop="roleId" label="ID" width="100" sortable>
</el-table-column>
<!--<el-table-column prop="roleId" label="ID" width="100" sortable>-->
<!--</el-table-column>-->
<el-table-column prop="roleName" label="岗位/角色名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="departmentName" label="部门名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="description" label="岗位/角色描述" min-width="200" sortable>
<!--<el-table-column prop="departmentName" label="部门名称" min-width="200" sortable>-->
<!--</el-table-column>-->
<el-table-column prop="description" label="描述" min-width="200" sortable>
</el-table-column>
<el-table-column label="操作" min-width="260">
<template slot-scope="scope">
... ... @@ -37,7 +41,6 @@
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
... ...
... ... @@ -168,10 +168,10 @@
<el-form-item label="账号">
<span>{{roleEditForm.username}}</span>
</el-form-item>
<el-checkbox-group v-model="roleIds" size="small">
<el-checkbox-button v-for="role in roles" :label="role.roleId" :key="role.roleId" >{{role.description}}</el-checkbox-button>
</el-checkbox-group>
<el-tree :data="roles" :props="treeDefaultProps" show-checkbox node-key="roleId" ref="tree">
</el-tree>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="roleFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="roleEditSubmit" :loading="addLoading">提交</el-button>
... ... @@ -193,6 +193,10 @@
userName: '',
realName: ''
},
treeDefaultProps: {
children: 'children',
label: 'roleName',
},
users: [],
total: 0,
pageNum: 1,
... ...
<template>
<el-container>
<el-main>
<el-row class="row-bg">
<el-col :span="24"><div class="grid-content content co">进港运单分拨申报</div></el-col>
</el-row>
<!--查询条件-->
<el-row>
<el-col :span="6">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.awba">
<template slot="prepend">主单号</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.carrier">
<template slot="prepend">承运人</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.flightno">
<template slot="prepend">航班号</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<div class="block">
<el-date-picker
v-model="defaultQuery.flightdate"
value-format="yyyy-MM-dd"
type="date"
placeholder="航班日期">
</el-date-picker>
</div>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="grid-content">
<el-select v-model="defaultQuery.status" placeholder="选择状态" class="sel">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="5">
<el-select v-model="defaultQuery.turntype" placeholder="报文类型" class="sel">
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="5">
<el-col :span="8" style="margin-right: 0px">
<el-button v-on:click="Query" type="primary">查询</el-button>
</el-col>
</el-col>
</el-row>
<!--查询列表-->
<el-row>
<el-col :span="24">
<template>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%">
<el-table-column
fixed="left"
label="修改状态"
width="140">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">修改状态</el-button>
<el-button v-if="scope.row.turntype=='MT6202'" type="text" @click="seeimport(scope.row)" size="mini">分拨申请</el-button>
<el-button v-else type="text" @click="seearrive(scope.row)" size="mini">分拨运抵</el-button>
</template>
</el-table-column>
<el-table-column
prop="awba"
label="运单号"
width="115">
</el-table-column>
<el-table-column
prop="carrier"
label="承运人"
width="65">
</el-table-column>
<el-table-column
prop="flightno"
label="航班号"
width="65">
</el-table-column>
<el-table-column
prop="flightdate"
label="航班日期"
width="95">
</el-table-column>
<el-table-column
prop="turnpiece"
label="件数"
width="65">
</el-table-column>
<el-table-column
prop="turnweight"
label="重量"
width="80">
</el-table-column>
<el-table-column
prop="customcode"
label="关区号"
width="65">
</el-table-column>
<el-table-column
prop="turnunloading"
label="到达/卸货地"
width="155">
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="100">
</el-table-column>
<el-table-column
prop="repick"
label="回执内容"
width="250">
</el-table-column>
<el-table-column
label="修改状态"
width="400">
<template slot-scope="scope">
<el-button
v-if="scope.row.turntype=='MT6202'"
size="mini"
type="primary"
@click="importDetail(scope.$index, scope.row)">收发明细
</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="arriveDetail(scope.$index, scope.row)">收发明细
</el-button>
<el-button
v-if="scope.row.turntype=='MT6202'"
size="mini"
type="primary"
@click="importSend(scope.$index, scope.row)">申请分拨
</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="arriveSend(scope.$index, scope.row)">分拨运抵
</el-button>
<el-button
v-if="scope.row.turntype=='MT6202'"
size="mini"
type="primary"
@click="importEdit(scope.$index, scope.row)">编辑
</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="arriveEdit(scope.$index, scope.row)">编辑
</el-button>
<el-button
v-if="scope.row.turntype=='MT6202'"
size="mini"
type="primary"
@click="arriveDel(scope.$index, scope.row)">申请分拨删除
</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="arriveDel(scope.$index, scope.row)">分拨运抵删除
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
<!--分页部分-->
<el-row>
<el-col>
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</div>
</el-col>
</el-row>
<!--编辑分拨运抵信息-->
<el-dialog :title="'分拨运抵信息'+textMap[dialogStatus]" :visible.sync="AouterVisible" width="90%">
<el-form :model="AruleForm" :rules="Arules" ref="AruleForm" :label-position="labelPosition"
label-width="78px" size="mini">
<!--分拨运抵管理-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" style="height: 36px;line-height: 36px;border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;">分拨运抵管理</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="运单号" prop="awba">
<el-input disabled="" v-model="AruleForm.awba"></el-input>
</el-form-item>
</el-col>
<el-col :span="15">
<el-button v-if="dialogStatus === 'update'" size="mini" type="primary" @click="AupdateData('AruleForm')" style="float: right">保存</el-button>
<el-button else size="mini" type="primary" style="display: none">保存</el-button>
</el-col>
</el-row>
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" style="height: 36px;line-height: 36px;border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;">货物信息</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="承运人" prop="carrier">
<el-input disabled="" v-model="AruleForm.carrier"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班号" prop="flightno">
<el-input disabled="" v-model="AruleForm.flightno"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker disabled="" type="date" placeholder="选择日期" v-model="AruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="海关关区" prop="customcode">
<el-col :span="24">
<el-select v-model="AruleForm.customcode" placeholder="请选择海关关区" style="width:100%">
<div v-if="dialogStatus === 'update'">
<el-option v-for="item in options3" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</div>
<div v-else>
<el-option disabled="" v-for="item in options3" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</div>
</el-select>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="运抵件数" prop="turnpiece">
<div v-if="dialogStatus === 'update'">
<el-input v-model="AruleForm.turnpiece"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="AruleForm.turnpiece"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="运抵重量" prop="turnweight">
<div v-if="dialogStatus === 'update'">
<el-input v-model="AruleForm.turnweight"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="AruleForm.turnweight"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="卸货地" prop="turnunloading">
<div v-if="dialogStatus === 'update'">
<el-input v-model="AruleForm.turnunloading"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="AruleForm.turnunloading"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="货物描述" prop="turnunloading">
<div v-if="dialogStatus === 'update'">
<el-input v-model="AruleForm.goodsname"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="AruleForm.goodsname"></el-input>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!--编辑分拨申请信息-->
<el-dialog :title="'申请分拨信息'+textMap[dialogStatus]" :visible.sync="IouterVisible" width="90%">
<el-form :model="IruleForm" :rules="Irules" ref="IruleForm" :label-position="labelPosition"
label-width="78px" size="mini">
<!--分拨运抵管理-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" style="height: 36px;line-height: 36px;border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;">分拨运单管理</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="运单号" prop="awba">
<el-input disabled="" v-model="IruleForm.awba"></el-input>
</el-form-item>
</el-col>
<el-col :span="15">
<el-button v-if="dialogStatus === 'update'" size="mini" type="primary" @click="IupdateData('IruleForm')" style="float: right">保存</el-button>
<el-button v-else size="mini" type="primary" style="display: none">保存</el-button>
</el-col>
</el-row>
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" style="height: 36px;line-height: 36px;border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;">货物信息</div>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="承运人" prop="carrier">
<el-input disabled="" v-model="IruleForm.carrier"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班号" prop="flightno">
<el-input disabled="" v-model="IruleForm.flightno"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker disabled="" type="date" placeholder="选择日期" v-model="IruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="海关关区" prop="customcode">
<el-col :span="24">
<el-select v-model="IruleForm.customcode" placeholder="请选择海关关区" style="width:100%">
<div v-if="dialogStatus === 'update'">
<el-option v-for="item in options3" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</div>
<div v-else>
<el-option disabled="" v-for="item in options3" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</div>
</el-select>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="运抵件数" prop="turnpiece">
<div v-if="dialogStatus === 'update'">
<el-input v-model="IruleForm.turnpiece"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="IruleForm.turnpiece"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="运抵重量" prop="turnweight">
<div v-if="dialogStatus === 'update'">
<el-input v-model="IruleForm.turnweight"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="IruleForm.turnweight"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="到达地" prop="turnunloading">
<div v-if="dialogStatus === 'update'">
<el-input v-model="IruleForm.turnunloading"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="IruleForm.turnunloading"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="拖车号" prop="pno">
<div v-if="dialogStatus === 'update'">
<el-input v-model="IruleForm.pno"></el-input>
</div>
<div v-else>
<el-input disabled="" v-model="IruleForm.pno"></el-input>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!--对话提示框-->
<el-row>
<el-dialog
title="系统提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{msg}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<style scoped>
.co{height: 36px;line-height: 36px;}
.co{border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;margin-bottom: 2px}
.row-bg{background-color: white;padding:0px;}
.el-row{margin-bottom: 10px;}
.sel{display: inline;}
.mark{height:24px;}
.bg{height:24px;text-align: center;line-height:24px;min-height: 24px}
</style>
<script>
import { QueryData,ediAllocat } from '../../api/Allocat'
export default{
data(){
return{
defaultQuery:{
awba:'',
carrier:'',
flighto:'',
flightdate:'',
status:'',
turntype:''
},
options: [
{
value: '',
label: '选择状态'
}, {
value: '01',
label: '未发送'
}, {
value: '02',
label: '已发舱单报'
}, {
value: '03',
label: '收到舱单报回执'
}, {
value: '04',
label: '收到舱单报回执'
}, {
value: '05',
label: '舱单报申报成功'
}, {
value: '06',
label: '已发舱单删除报'
}, {
value: '07',
label: '舱单删除报退单'
}, {
value: '08',
label: '舱单删除报转人工'
}],
options2: [
{
value: '',
label: '选择状态'
}, {
value: 'MT6202',
label: '分拨申请'
}, {
value: 'MT3202',
label: '分拨运抵'
}],
options3: [
{
value: '4604',
label: '4604'
}, {
value: '4620',
label: '4620'
}, {
value: '4613',
label: '4613'
}],
tableData: [],
multipleSelection: [],
labelPosition:'left',
currentPage4: 4,
dialogStatus:'',
IouterVisible: false,
AouterVisible: false,
centerDialogVisible:false,
msg:'',
code:'',
textMap:{
update: '编辑',
detail: ''
},
AruleForm:{
awba:'',
carrier:'',
flightno:'',
flightdate:'',
customcode:'',
turnpiece:'',
turnweight:'',
turnunloading:'',
goodsname:''
},
Arules: {
awba: [
{ required: true, message: '请输入运单号', trigger: 'blur' },
],
carrier: [
{ required: true, message: '请输入承运人', trigger: 'blur' }
],
flightno: [
{ required: true, message: '请输入航班号', trigger: 'blur' }
],
goodsname: [
{ required: true, message: '请输入货物描述', trigger: 'blur' }
],
turnpiece: [
{ required: true, message: '请输入分拨件数', trigger: 'blur' }
],
turnweight: [
{ required: true, message: '请输入分拨重量', trigger: 'blur' }
],
flightdate: [
{required: true, message: '航班日期必须选择', trigger: 'change'}
],
customcode: [
{ required: true, message: '请选择海关关区', trigger: 'change' }
],
turnunLoading: [
{ required: true, message: '请选择分拨到达地', trigger: 'change' }
],
},
IruleForm:{
awba:undefined,
carrier:undefined,
flightno:undefined,
flightdate:undefined,
customcode:undefined,
turnpiece:undefined,
turnweight:undefined,
turnunloading:undefined,
pno:undefined
},
Irules: {
awba: [
{ required: true, message: '请输入运单号', trigger: 'blur' },
],
carrier: [
{ required: true, message: '请输入承运人', trigger: 'blur' }
],
flightno: [
{ required: true, message: '请输入航班号', trigger: 'blur' }
],
goodsname: [
{ required: true, message: '请输入货物描述', trigger: 'blur' }
],
turnpiece: [
{ required: true, message: '请输入分拨件数', trigger: 'blur' }
],
turnweight: [
{ required: true, message: '请输入分拨重量', trigger: 'blur' }
],
flightdate: [
{required: true, message: '航班日期必须选择', trigger: 'change'}
],
customcode: [
{ required: true, message: '请选择海关关区', trigger: 'change' }
],
turnunLoading: [
{ required: true, message: '请选择分拨到达地', trigger: 'change' }
],
},
}
},
methods:{
handleClick(row) {
console.log(row);
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
//条件查询
Query(){
QueryData(this.defaultQuery).then(res =>{
//console.log(res);
let response=res.data.data;
this.tableData=response;
});
},
getList(){
this.defaultQuery=this.$route.params;
QueryData(this.defaultQuery).then(res =>{
//console.log(res);
let response=res.data.data;
this.tableData=response;
});
},
//运抵信息编辑
arriveEdit(index,row){
this.AouterVisible=true;
this.dialogStatus="update";
this.AruleForm=row;
},
//申请分拨编辑
importEdit(index,row){
this.IouterVisible=true;
this.dialogStatus="update";
this.IruleForm=row;
},
//查看分拨申请信息
seeimport(row){
this.IouterVisible=true;
this.dialogStatus="detail";
this.IruleForm=row;
},
//查看分拨运抵信息
seearrive(row){
this.AouterVisible=true;
this.dialogStatus="detail";
this.AruleForm=row;
},
//分拨运抵更新
AupdateData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
ediAllocat(this.AruleForm).then(res=>{
let response=res.data;
this.code=response.code;
if(this.code=='200'){
this.AouterVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}else{
this.AouterVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
//分拨申请更新
IupdateData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
ediAllocat(this.IruleForm).then(res=>{
let response=res.data;
//console.log(res);
this.code=response.code;
if(this.code=='200'){
this.IouterVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}else{
this.IouterVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
}
},
mounted(){
this.getList();
}
}
</script>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main>
<el-row class="row-bg">
<el-col :span="24"><div class="grid-content content co">分拨运抵管理</div></el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm":label-position="labelPosition">
<el-form-item label="运单号" prop="awba">
<el-input v-model="ruleForm.awba"></el-input>
</el-form-item>
<el-form-item label="承运人" prop="carrier">
<el-input v-model="ruleForm.carrier"></el-input>
</el-form-item>
<el-form-item label="航班号" prop="flightno">
<el-input v-model="ruleForm.flightno"></el-input>
</el-form-item>
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="运抵件数" prop="turnpiece">
<el-input v-model="ruleForm.turnpiece"></el-input>
</el-form-item>
<el-form-item label="运抵重量" prop="turnweight">
<el-input v-model="ruleForm.turnweight"></el-input>
</el-form-item>
<el-form-item label="海关关区" prop="customcode">
<el-col :span="24">
<el-select v-model="ruleForm.customcode" placeholder="请选择海关关区" style="width:100%">
<el-option v-for="item in options2" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="运抵到达" prop="turnunloading">
<el-col :span="24">
<el-select v-model="ruleForm.turnunloading" placeholder="请选择运抵到达地" style="width:100%">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="货物描述" prop="goodsname">
<el-input v-model="ruleForm.goodsname"></el-input>
</el-form-item>
</el-form>
</el-col>
<el-col :span="12">
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">保存发送</el-button>
</el-col>
</el-row>
<!--对话提示框-->
<el-row>
<el-dialog
title="系统提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{msg}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="DialogVisible">取 消</el-button>
<el-button type="primary" @click="DialogVisible">确 定</el-button>
</span>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<style scoped>
.co{height: 36px;line-height: 36px;}
.co{border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;margin-bottom: 2px}
.row-bg{background-color: white;padding:0px;}
</style>
<script>
import { addAllocatArrive } from '../../api/Allocat'
export default {
data(){
return{
ruleForm: {
awba: '',
carrier: '',
flightno: '',
flightdate:'',
turnpiece:'',
turnweight:'',
customcode:'',
turnunloading:'',
goodsname:''
},
rules: {
awba: [
{ required: true, message: '请输入运单号', trigger: 'blur' },
],
carrier: [
{ required: true, message: '请输入承运人', trigger: 'blur' }
],
flightno: [
{ required: true, message: '请输入航班号', trigger: 'blur' }
],
goodsname: [
{ required: true, message: '请输入货物描述', trigger: 'blur' }
],
turnpiece: [
{ required: true, message: '请输入分拨件数', trigger: 'blur' }
],
turnweight: [
{ required: true, message: '请输入分拨重量', trigger: 'blur' }
],
flightdate: [
{required: true, message: '航班日期必须选择', trigger: 'change'}
],
customcode: [
{ required: true, message: '请选择海关关区', trigger: 'change' }
],
turnunLoading: [
{ required: true, message: '请选择分拨到达地', trigger: 'change' }
],
},
options2: [
{
value: '4604',
label: '4604'
}, {
value: '4620',
label: '4620'
}, {
value: '4613',
label: '4613'
}],
options: [
{
value: 'CNZGZ460044/4620',
label: 'CNZGZ460044/4620'
}, {
value: 'CNCGO460011/4604',
label: 'CNCGO460011/4604'
}, {
value: 'CNCGO460011/4613',
label: 'CNCGO460011/4613'
}],
labelPosition:'left',
centerDialogVisible:false,
msg:'',
code:''
}
},
methods:{
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
addAllocatArrive(this.ruleForm).then(res=>{
let response=res.data;
//console.log(res);
this.code=response.code;
if(this.code=='200'){
this.centerDialogVisible=true;
this.msg=response.msg;
}else{
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
getDefaultData(){
this.ruleForm=this.$route.params;
},
DialogVisible(){
this.centerDialogVisible=false;
this.$router.push({name:'运单分拨申报',params:{awba:this.ruleForm.awba}});
}
},
mounted(){
this.getDefaultData();
}
}
</script>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main>
<!--检索条件-->
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-row>
<el-col :span="24"><div class="grid-content"><p>请输入航班信息:</p></div></el-col>
</el-row>
<el-row>
<el-col :span="24"><div class="grid-content"><h1>Please Enter The Flight Information:</h1></div></el-col>
</el-row>
<el-row type="flex" class="row-bg" justify="center">
<el-col :span="5">
<el-form-item label="航班号" prop="flightno">
<el-input placeholder="" v-model="ruleForm.flightno" style="width:100%"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker type="date" placeholder="选择日期" :clearable="false" v-model="ruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="始发站" prop="originstation">
<el-input placeholder="" v-model="ruleForm.originstation"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="目的站" prop="destinationstation">
<el-input placeholder="" v-model="ruleForm.destinationstation" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :offset="10">
<div class="grid-content">
<el-button type="primary" @click="submitForm('ruleForm')">下一步</el-button>
</div>
</el-col>
</el-row>
</el-form>
</el-main>
</el-container>
</template>
<!--自定义CSS-->
<style scoped>
.el-container{text-align: center}
.el-main{margin:0 auto;height:400px;}
p{font-size:25px;font-weight: bold;}
.row-bg{padding:30px 0;}
.el-form-item {margin-bottom: 0px;}
</style>
<script>
export default {
data() {
return {
/*初始化值*/
ruleForm: {
flightno:'',
flightdate:'',
originstation:'',
destinationstation:'CGO'
},
/*表单校验规则*/
rules: {
flightno: [
{required: true, message: '请输入航班号', trigger: 'blur'},
{min: 3, max: 6, message: '输入不符合规范', trigger: 'blur'}
],
originstation: [
{required: true, message: '请输入航班起始站', trigger: 'blur'},
{min: 3, max: 5, message: '长度为 3 ', trigger: 'blur'}
],
destinationstation: [
{required: true, message: '请输入目的站', trigger: 'blur'},
{min: 3, max: 5, message: '长度为 3 ', trigger: 'blur'}
],
flightdate: [
{ required: true, message: '请选择日期', trigger: 'blur' }
]
}
};
},
methods:{
/*按钮点击请求方法*/
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$router.push({name:'进港原始舱单',params:{flightno:this.ruleForm.flightno,flightdate:this.dateConversion(this.ruleForm.flightdate),originstation:this.ruleForm.originstation,destinationstation:this.ruleForm.destinationstation}});
} else {
console.log('error submit!!');
return false;
}
});
},
/*航班日期格式化方法*/
dateConversion(value){
var date = new Date(value);
date = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
return date;
},
/*加载默认参数*/
getDefaultData(){
if(this.$route.params.row!=null){
this.ruleForm.flightno=this.$route.params.row.flightno;
this.ruleForm.flightdate=this.$route.params.row.flightdate;
this.ruleForm.originstation=this.$route.params.row.originstation;
}
}
},
/*渲染方法*/
mounted(){
this.getDefaultData();
}
};
</script>
... ...
<template>
<el-container>
<el-main>
<!--表单检索条件-->
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-row>
<el-col :span="24"><div class="grid-content"><p>请输入航班信息:</p></div></el-col>
</el-row>
<el-row>
<el-col :span="24"><div class="grid-content"><h1>Please Enter The Flight Information:</h1></div></el-col>
</el-row>
<el-row type="flex" class="row-bg" justify="center">
<el-col :span="5">
<el-form-item label="航班号" prop="flightno">
<el-input placeholder="" v-model="ruleForm.flightno" style="width:100%"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker type="date" placeholder="选择日期" :clearable="false" v-model="ruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="始发站" prop="originstation">
<el-input placeholder="" v-model="ruleForm.originstation"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="目的站" prop="destinationstation">
<el-input placeholder="" v-model="ruleForm.destinationstation" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :offset="10">
<div class="grid-content">
<el-button type="primary" @click="submitForm('ruleForm')">下一步</el-button>
</div>
</el-col>
</el-row>
</el-form>
</el-main>
</el-container>
</template>
<!--自定义CSS-->
<style scoped>
.el-container{text-align: center}
.el-main{margin:0 auto;height:400px;}
p{font-size:25px;font-weight: bold;}
.row-bg{padding:30px 0;}
.el-form-item {margin-bottom: 0px;}
</style>
<script>
export default {
data() {
return {
/*初始化值*/
ruleForm: {
flightno: '',
flightdate:'',
originstation:'',
destinationstation:'CGO'
},
/*表单验证方法*/
rules: {
flightno: [
{required: true, message: '请输入航班号', trigger: 'blur'},
{min: 3, max: 6, message: '输入不符合规范', trigger: 'blur'}
],
originstation: [
{required: true, message: '请输入航班起始站', trigger: 'blur'},
{min: 3, max: 5, message: '长度为 3 ', trigger: 'blur'}
],
destinationstation: [
{required: true, message: '请输入目的站', trigger: 'blur'},
{min: 3, max: 5, message: '长度为 3 ', trigger: 'blur'}
],
flightdate: [
{ required: true, message: '请选择日期', trigger: 'change' }
]
}
};
},
methods:{
/*按钮点击请求方法*/
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$router.push({name:'进港理货舱单',params:{flightno:this.ruleForm.flightno,flightdate:this.dateConversion(this.ruleForm.flightdate),originstation:this.ruleForm.originstation,destinationstation:this.ruleForm.destinationstation}})
} else {
//console.log('error submit!!');
return false;
}
});
},
/*航班日期格式化方法*/
dateConversion(value){
var date = new Date(value);
var date = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
return date;
},
/*获取默认值方法*/
getDefaultData(){
if(this.$route.params.row!=null){
this.ruleForm.flightno=this.$route.params.row.flightno;
this.ruleForm.flightdate=this.$route.params.row.flightdate;
this.ruleForm.originstation=this.$route.params.row.originstation;
}
}
},
/*渲染方法*/
mounted(){
this.getDefaultData();
}
};
</script>
... ...
<template>
<el-container>
<el-main>
<el-row class="row-bg">
<el-col :span="24"><div class="grid-content content co">分拨运单管理</div></el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm":label-position="labelPosition">
<el-form-item label="运单号" prop="awba">
<el-input v-model="ruleForm.awba"></el-input>
</el-form-item>
<el-form-item label="承运人" prop="carrier">
<el-input v-model="ruleForm.carrier"></el-input>
</el-form-item>
<el-form-item label="航班号" prop="flightno">
<el-input v-model="ruleForm.flightno"></el-input>
</el-form-item>
<el-form-item label="拖车号" prop="pno">
<el-input v-model="ruleForm.pno"></el-input>
</el-form-item>
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.flightdate" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item label="分拨件数" prop="turnpiece">
<el-input v-model="ruleForm.turnpiece"></el-input>
</el-form-item>
<el-form-item label="分拨重量" prop="turnweight">
<el-input v-model="ruleForm.turnweight"></el-input>
</el-form-item>
<el-form-item label="海关关区" prop="customcode">
<el-col :span="24">
<el-select v-model="ruleForm.customcode" placeholder="请选择海关关区" style="width:100%">
<el-option v-for="item in options2" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item label="分拨到达" prop="turnunloading">
<el-col :span="24">
<el-select v-model="ruleForm.turnunloading" placeholder="请选择分拨到达地" style="width:100%">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select>
</el-col>
</el-form-item>
</el-form>
</el-col>
<el-col :span="12">
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
<el-button type="primary" @click="submitSend('ruleForm')">保存发送</el-button>
</el-col>
</el-row>
<!--对话提示框-->
<el-row>
<el-dialog
title="系统提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{msg}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="DialogVisible">取 消</el-button>
<el-button type="primary" @click="DialogVisible">确 定</el-button>
</span>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<style scoped>
.co{height: 36px;line-height: 36px;}
.co{border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;margin-bottom: 2px}
.row-bg{background-color: white;padding:0px;}
</style>
<script>
import { addAllocatImport } from '../../api/Allocat'
export default {
data(){
return{
ruleForm: {
awba: '',
carrier: '',
flightno: '',
flightdate:'',
turnpiece:'',
turnweight:'',
customcode:'',
turnunloading:'',
pno:''
},
rules: {
awba: [
{ required: true, message: '请输入运单号', trigger: 'blur' },
],
carrier: [
{ required: true, message: '请输入承运人', trigger: 'blur' }
],
flightno: [
{ required: true, message: '请输入航班号', trigger: 'blur' }
],
turnpiece: [
{ required: true, message: '请输入分拨件数', trigger: 'blur' }
],
turnweight: [
{ required: true, message: '请输入分拨重量', trigger: 'blur' }
],
flightdate: [
{required: true, message: '航班日期必须选择', trigger: 'change'}
],
customcode: [
{ required: true, message: '请选择海关关区', trigger: 'change' }
],
turnunLoading: [
{ required: true, message: '请选择分拨到达地', trigger: 'change' }
],
},
options2: [
{
value: '4604',
label: '4604'
}, {
value: '4620',
label: '4620'
}, {
value: '4613',
label: '4613'
}],
options: [
{
value: 'CNZGZ460044/4620',
label: 'CNZGZ460044/4620'
}, {
value: 'CNCGO460011/4604',
label: 'CNCGO460011/4604'
}, {
value: 'CNCGO460011/4613',
label: 'CNCGO460011/4613'
}],
labelPosition:'left',
centerDialogVisible:false,
msg:'',
code:''
}
},
methods:{
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
addAllocatImport(this.ruleForm).then(res=>{
let response=res.data;
//console.log(res);
this.code=response.code;
if(this.code=='200'){
this.centerDialogVisible=true;
this.msg=response.msg;
}else{
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
getDefaultData(){
this.ruleForm=this.$route.params;
},
DialogVisible(){
this.centerDialogVisible=false;
this.$router.push({name:'运单分拨申报',params:{awba:this.ruleForm.awba}});
}
},
mounted(){
this.getDefaultData();
}
}
</script>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main >
<!--检索条件-->
<el-row>
<el-col :span="4">
<div class="grid-content bg-purple">
<el-input v-model="carrier" placeholder="">
<template slot="prepend">航班号</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="block">
<el-date-picker
v-model="flighttime"
type="date"
value-format="yyyy-MM-dd"
placeholder="航班日期">
</el-date-picker>
</div>
</el-col>
<el-col :span="2">
<div class="grid-content">
<el-button type="primary" v-on:click="getFlightList">航班查询</el-button>
</div>
</el-col>
</el-row>
<!--TableList-->
<el-row>
<template>
<el-table
:data="tableData"
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<el-table-column
prop="flightno"
label="航班号"
>
</el-table-column>
<el-table-column
prop="flightdate"
label="航班日期"
>
</el-table-column>
<el-table-column
prop="originstation"
label="始发站"
>
</el-table-column>
<el-table-column
prop="destinationstation"
label="目的站"
>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleEdit(scope.$index, scope.row)">原始舱单</el-button>
<el-button
size="mini"
type="primary"
@click="handleDelete(scope.$index, scope.row)">进港理货</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-row>
<!--分页模块-->
<el-row style="float: right">
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</el-row>
</el-main>
</el-container>
</template>
<script>
import { selectFlightLists } from '../../api/mt1201'
export default {
data() {
/*初始化值*/
return {
carrier:undefined,
tableData: [],
flighttime: undefined,
currentPage:1,
pageSize:10,
total:0
}
},
methods: {
/*设置默认航班时间*/
getdatatime(){
this.flighttime=new Date();
},
/*分页方法*/
handleSizeChange(val) {
this.pageSize=val;
this.getFlightList();
},
handleCurrentChange(val) {
this.currentPage=val;
this.getFlightList();
},
/*查询列表请求*/
getFlightList:function() {
let params={currentPage:this.currentPage,pageSize:this.pageSize,flighttime:this.flighttime,carrier:this.carrier};
this.listLoading = true;
selectFlightLists(params).then(res=>{
let response=res.data.data;
this.tableData=response.list;
this.total=response.total;
this.listLoading = false;
});
},
/*原始舱单跳转*/
handleEdit(index, row) {
this.$router.push({name:'原始舱单',params:{index,row}})
},
/*进港理货跳转*/
handleDelete(index, row) {
this.$router.push({name:'进港理货',params:{index,row}})
}
},
/*渲染方法*/
mounted() {
let that=this;
that.getdatatime();
that.getFlightList();
},
}
</script>
<style>
.el-main{padding: 10px 0px 10px 0px; }
.el-col{margin-right: 10px;}
</style>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main style="background-color: white">
<!--检索条目部分-->
<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>航班号:{{defaultQuery.flightno}}</span>
<span>航班日期:{{defaultQuery.flightdate}}</span>
<span>航段:{{defaultQuery.originstation}}-{{defaultQuery.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.5" class="pub">
<div class="grid-content">
<el-input v-model="defaultQuery.awba" placeholder="请输入主单号"></el-input>
</div>
</el-col>
<el-col :span="1.5" class="pub">
<div class="grid-content">
<el-button type="primary" size="mini" v-on:click="getList">查询</el-button>
</div>
</el-col>
<el-col :span="4" class="pub">
<div class="grid-content">
<el-button type="primary" size="mini">导出PDF</el-button>
</div>
</el-col>
</div>
</el-col>
</div>
</el-col>
<el-col :span="24">
<div class="grid-content content" style="margin-top: 6px">舱单明细</div>
</el-col>
</el-row>
<!--查询列表部分-->
<el-row>
<el-col :span="24">
<template>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
row-key="uuid"
border
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column
type="selection"
width="50">
</el-table-column>
<el-table-column
prop="waybill"
label="运单号"
width="160"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="awbinfo.pcs"
label="总件数"
width="70"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="awbinfo.weight"
label="总重量"
width="70"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="piece"
label="舱单件数"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="weight"
label="舱单重量"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="goodsname"
label="货品名称"
width="140">
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="100">
</el-table-column>
<el-table-column
prop="customText"
label="回执信息"
width="180">
</el-table-column>
</el-table-column>
<el-table-column
prop="operation"
label="操作"
width="750"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleDetail(scope.$index, scope.row)">收发明细
</el-button>
<el-button
v-if="scope.row.awbh==''||scope.row.awbh==null"
size="mini"
type="primary"
@click="handleEdit(scope.$index, scope.row)">编辑主单
</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="handleFen(scope.$index, scope.row)">编辑分单
</el-button>
<el-button
size="mini"
type="primary"
@click="handleSend(scope.$index, scope.row)">发送舱单报
</el-button>
<el-button
size="mini"
type="primary"
@click="handleUpdate(scope.$index, scope.row)">发送舱单修改报
</el-button>
<el-button
size="mini"
type="primary"
@click="handleDelete(scope.$index, scope.row)">发送舱单删除报
</el-button>
<el-button
v-if="scope.row.awbh==''||scope.row.awbh==null"
size="mini"
type="primary"
@click="Importallocation(scope.$index, scope.row)">分拨申请
</el-button>
<el-button
v-else
disabled=""
size="mini"
type="primary"
@click="Importallocation(scope.$index, scope.row)">分拨申请
</el-button>
<el-button
v-if="scope.row.awbh==''||scope.row.awbh==null"
size="mini"
type="primary"
@click="Allocatearrive(scope.$index, scope.row)">分拨运抵
</el-button>
<el-button
v-else
disabled=""
size="mini"
type="primary"
@click="Allocatearrive(scope.$index, scope.row)">分拨运抵
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
<!--编辑主单-->
<el-dialog :title="'原始舱单信息'+textMap[dialogStatus]" :visible.sync="outerVisible" width="90%">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="labelPosition"
label-width="78px" size="mini">
<!--航班信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content">航班信息</div>
</el-col>
<el-row class="flightInfo">
<el-col :span="4">
<el-form-item label="运单号" prop="awba">
<div v-if="dialogStatus === 'update'">
<el-input disabled="" v-model="ruleForm.awba"></el-input>
</div>
<div v-else>
<el-input v-model="ruleForm.awba"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="航班号" prop="flightno">
<el-input disabled="" v-model="ruleForm.flightno"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker disabled="" type="date" placeholder="选择日期" :clearable="false"
v-model="ruleForm.flightdate"
style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="航段" prop="originstation">
<el-input disabled="" v-model="ruleForm.originstation"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否分批" prop="splitcode">
<el-select v-model="ruleForm.splitcode" placeholder="">
<el-option v-for="item in splitcodes" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-button size="mini" type="primary" @click="dialogStatus==='create'?createData('ruleForm'):updateData('ruleForm')" style="float: right">保存</el-button>
</el-col>
</el-row>
<el-row class="flightInfo">
<el-col :span="4">
<div v-if="FenStatus === 'addAwbh'">
<el-form-item label="分单号" prop="awbh">
<el-input v-model="ruleForm.awbh"></el-input>
</el-form-item>
</div>
<div v-else>
<el-form-item style="display: none" label="分单号" prop="awbh">
<el-input v-model="ruleForm.awbh"></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
</el-row>
<!--运单信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content">运单信息</div>
</el-col>
</el-row>
<!--航程信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<el-divider content-position="left">航程信息</el-divider>
</el-col>
</el-row>
<el-row style="margin-bottom: 0px;">
<el-col :span="3">
<el-form-item label="起始站" prop="awbinfo.sairportid" >
<el-input v-model="ruleForm.awbinfo.sairportid"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="承运人1" prop="awbinfo.by1">
<el-input v-model="ruleForm.awbinfo.by1"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="到达站1" prop="awbinfo.dest1">
<el-input v-model="ruleForm.awbinfo.dest1"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="承运人2" prop="awbinfo.by2">
<el-input v-model="ruleForm.awbinfo.by2"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="到达站2" prop="awbinfo.dest2">
<el-input v-model="ruleForm.awbinfo.dest2"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="承运人3" prop="awbinfo.by3">
<el-input v-model="ruleForm.awbinfo.by3"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="到达站3" prop="awbinfo.dest3">
<el-input v-model="ruleForm.awbinfo.dest3"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="目的站" prop="awbinfo.eairportid">
<el-input v-model="ruleForm.awbinfo.eairportid"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--货物信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<el-divider content-position="left">货物信息</el-divider>
</el-col>
</el-row>
<el-row style="margin-bottom: 0px;">
<el-row class="product">
<el-col :span="6">
<el-form-item label="总件数" prop="awbinfo.pcs">
<el-input v-model="ruleForm.awbinfo.pcs"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="总重量" prop="awbinfo.weight">
<el-input v-model="ruleForm.awbinfo.weight"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="舱单件数" prop="piece">
<el-input v-model="ruleForm.piece"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="舱单重量" prop="weight">
<el-input v-model="ruleForm.weight"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="product">
<el-col :span="6">
<el-form-item label="特货代码" prop="specopeid">
<el-input v-model="ruleForm.awbinfo.specopeid"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="付费方式" prop="paymodel">
<el-select v-model="ruleForm.awbinfo.paymodel" placeholder="" style="display:inline">
<el-option v-for="item in paymodel" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="海关状态" prop="ext5">
<el-select v-model="ruleForm.ext5" placeholder="" style="display:inline">
<el-option v-for="(item,index) in customext5" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="海关关区" prop="customcode">
<el-select v-model="ruleForm.customcode" placeholder="" style="display:inline">
<el-option v-for="(item,index) in customcodes" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row class="product">
<el-col :span="12">
<el-form-item label="货物描述" prop="goodsname">
<el-input v-model="ruleForm.goodsname"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<!--发货人信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<el-divider content-position="left">发货人信息</el-divider>
</el-col>
</el-row>
<el-row style="margin-bottom: 0px;">
<el-col :span="6">
<el-form-item label="发货人称" prop="awbinfo.shprname">
<el-input v-model="ruleForm.awbinfo.shprname"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="国家代码" prop="awbinfo.shprcountyr">
<el-select v-model="ruleForm.awbinfo.shprcountyr" placeholder="" style="display:inline">
<el-option v-for="item in shprcountyrs" :key="item" :label="item"
:value="item"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="地址" prop="awbinfo.shpraddress">
<el-input v-model="ruleForm.awbinfo.shpraddress"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="电话" prop="awbinfo.shprtel">
<el-input v-model="ruleForm.awbinfo.shprtel"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--收货人信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<el-divider content-position="left">收货人信息</el-divider>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px">
<el-col :span="6">
<el-form-item label="收货人称" prop="awbinfo.cnsnname">
<el-input v-model="ruleForm.awbinfo.cnsnname"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="国家代码" prop="awbinfo.cnscountyr">
<el-select v-model="ruleForm.awbinfo.cnscountyr" placeholder="" style="display:inline">
<el-option v-for="item in cnscountyrs" :key="item" :label="item"
:value="item"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="地址" prop="awbinfo.cnsnaddress">
<el-input v-model="ruleForm.awbinfo.cnsnaddress"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="电话" prop="awbinfo.cnsntel">
<el-input v-model="ruleForm.awbinfo.cnsntel"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--分单信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" v-if="dialogStatus === 'update'">
<span>航班信息</span>
<el-button type="primary" v-on:click="addFen('ruleForm')" size="mini">新增分单</el-button>
</div>
<div class="grid-content content" v-else>
<span>航班信息</span>
<el-button type="primary" disabled="" @click="innerVisible = true" size="mini">新增分单</el-button>
</div>
</el-col>
</el-row>
<!--分单列表-->
<el-row>
<el-col :span="24">
<template>
<el-table
:data="tableData2"
style="width: 100%">
<el-table-column
prop="awbh"
label="分单号"
width="150">
</el-table-column>
<el-table-column
prop="pcs"
label="件数"
width="120">
</el-table-column>
<el-table-column
prop="wei"
label="重量"
width="120">
</el-table-column>
<el-table-column
prop="piece"
label="舱单件数"
width="120">
</el-table-column>
<el-table-column
prop="weight"
label="舱单重量"
width="120">
</el-table-column>
<el-table-column
prop="goodsname"
label="货物名称"
width="300">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="130">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">编辑
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!--footer部分-->
<el-row>
<el-col :span="2.5" class="pub">
<div class="grid-content">
<el-button type="primary" size="mini" v-on:click="addOrig">新增原始舱单</el-button>
</div>
</el-col>
<el-col :span="2.5" class="pub">
<div class="grid-content">
<el-button type="primary" size="mini">批量发送删除报</el-button>
</div>
</el-col>
<el-col :span="2" class="pub">
<div class="grid-content">
<el-button type="primary" size="mini">返回</el-button>
</div>
</el-col>
<el-col :span="2.5" class="pub">
<div class="grid-content"><span>主单数:999</span></div>
</el-col>
<el-col :span="3.5" class="pub">
<div class="grid-content"><span>舱单总件数:999999</span></div>
</el-col>
<el-col :span="4" class="pub">
<div class="grid-content"><span>舱单总重量:999999</span></div>
</el-col>
</el-row>
<!--对话提示框-->
<el-row>
<el-dialog
title="系统提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{msg}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<!--自定义CSS样式-->
<style scoped>
.grid-content {
height: 36px;
line-height: 36px;
}
.el-dialog__body{text-align: center}
.content {
border-left: 4px #409EFF solid;
padding-left: 10px;
background-color: #f9fafc;
margin-bottom: 2px
}
.row-bg, .co {
background-color: white;
}
span {
font-weight: bold;
margin-right: 35px;
}
.el-table td, .el-table th {
text-align: center
}
.el-form-item {
margin-bottom: 2px;
}
.flightInfo {
margin-bottom: 0px
}
.el-dialog__body {
padding: 10px 20px;
}
.el-col {
margin-right: 0px
}
.product {
margin-bottom: 5px;
}
.pub {
margin-right: 10px;
}
</style>
<script>
import { getMt1201List,addMt1201,ediMt1201,getFenList } from '../../api/mt1201'
export default {
data() {
/*初始数据*/
return {
defaultQuery:{
flightno: undefined,
flightdate: undefined,
originstation: undefined,
destinationstation: undefined,
awba: undefined
},
FenQuery:{
flightno: undefined,
flightdate: undefined,
originstation: undefined,
destinationstation: undefined,
awba: undefined
},
tableData: [],
tableData2: [],
multipleSelection: [],
outerVisible: false,
innerVisible: false,
dialogStatus:'',
textMap:{
update: '编辑',
create: '添加'
},
ruleForm: {
awba: undefined,
awbh: undefined,
passage: undefined,
customcode: '-1',
flightno: undefined,
flightdate: undefined,
originstation: undefined,
destinationstation: undefined,
piece: undefined,
weight: undefined,
goodsname: undefined,
splitcode: 'T',
uldType: undefined,
uldNo: undefined,
status: undefined,
ext5:'-1',
awbinfo: {
specopeid: undefined,
shprname: undefined,
shprmobiletype: undefined,
shprtel: undefined,
shpraddress: undefined,
shprcountyr: undefined,
shpcomidpre: undefined,
shpcomidpno: undefined,
cnsnname: undefined,
cnsrmobiletype: undefined,
cnsntel: undefined,
cnsnaddress: undefined,
cnscountyr: undefined,
cnscomidpre: undefined,
cnscomidno: undefined,
cnsrctcname: undefined,
cnsrctctel: undefined,
cargonm: undefined,
sairportid: undefined,
dest1city: undefined,
by1: undefined,
dest1: undefined,
by2: undefined,
dest2: undefined,
by3: undefined,
dest3: undefined,
eairportid: undefined,
csgcustomerid: undefined,
paymodel: 'PP',
pcs: undefined,
weight: undefined
},
waybill:undefined
},
paymodel:[{value:'PP',label:'预付'},{value:'DP',label:'到付'}],
customext5: [
{
value: '-1',
label: '请选择'
},
{
value: '001',
label: '进出口货物'
},
{
value: '002',
label: '国际转运货物'
},
{
value: '003',
label: '过境货物'
},
{
value: '004',
label: '暂时进出境集装箱'
},
{
value: '007',
label: '互市贸易'
},
{
value: '008',
label: '惰性物料'
}],
customcodes:[
{
value: '-1',
label: '请选择'
},
{
value: '4604',
label: '4604'
},
{
value: '4620',
label: '4620'
},
{
value: '4613',
label: '4613'
}],
rules: {
waybill: [{required: true, message: '请输入运单号', trigger: 'blur'}],
flightno: [{required: true, message: '航班号必须输入', trigger: 'blur'}],
flightdate: [{required: true, message: '航班日期必须选择', trigger: 'blur'}],
originstation: [{required: true, message: '航段必须输入', trigger: 'blur'}],
splitcode: [{required: true, message: '必须选择', trigger: 'blur'}],
piece: [{required: true, message: '舱单件数必须输入且为数字', trigger: 'blur'}],
weight: [{required: true, message: '舱单重量必须输入且为数字', trigger: 'blur'}],
'awbinfo.sairportid': [{required: true, message: '起始站必须输入', trigger: 'blur'}],
'awbinfo.eairportid': [{required: true, message: '目的站必须输入', trigger: 'blur'}],
'awbinfo.by1': [{required: true, message: '第一承运人必须输入', trigger: 'blur'}],
'awbinfo.dest1': [{required: true, message: '第一到达站人必须输入', trigger: 'blur'}],
'awbinfo.pcs': [{required: true, message: '总件数必须输入且为数字', trigger: 'blur'}],
'awbinfo.weight': [{required: true, message: '总重量必须输入且为数字', trigger: 'blur'}],
'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'blur'}],
'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'blur'}],
'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'blur'}],
'awbinfo.shprcountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
'awbinfo.cnsnname': [{required: true, message: '收货人不能为空', trigger: 'blur'}],
'awbinfo.cnsntel': [{required: true, message: '收货电话不能为空', trigger: 'blur'}],
'awbinfo.cnsnaddress': [{required: true, message: '收获地址不能为空', trigger: 'blur'}],
'awbinfo.cnscountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}],
'awbinfo.paymodel':[{required: true, message: '付费方式必须选择', trigger: 'change'}],
customcode:[{required: true, message: '海关关区必须选择', trigger: 'change'}],
goodsname:[{required: true, message: '货物描述必须填写', trigger: 'blur'}]
},
labelPosition: 'left',
splitcodes: [{value:'T',label:'否'},{value:'P',label:'是'}],
shprcountyrs:['US','CN'],
cnscountyrs:['US','CN'],
msg:'',
code:'',
centerDialogVisible:false,
FenStatus:''
}
},
methods: {
/*多选框功能*/
handleSelectionChange(val) {
this.multipleSelection = val;
},
/*编辑主单信息*/
handleEdit(index, row){
this.outerVisible = true;
this.dialogStatus='update';
this.FenStatus='ediAwbh';
this.ruleForm=row;
this.ruleForm.originstation=row.originstation+"-"+row.destinationstation;
this.FenQuery.awba=row.awba;
this.FenQuery.flightno= row.flightno;
this.FenQuery.flightdate=row.flightdate
this.FenQuery.originstation=this.defaultQuery.originstation;
this.FenQuery.destinationstation=row.destinationstation;
this.getFenList(this.FenQuery);
},
/*编辑分单信息*/
handleFen(index,row){
this.outerVisible = true;
this.dialogStatus='update';
this.FenStatus='addAwbh';
this.ruleForm=row;
this.ruleForm.flightno=row.carrier+row.flightno;
this.ruleForm.originstation=row.originstation+"-"+row.destinationstation;
},
//发送舱单报
handleSend(index,row){},
/*编辑分单列表信息*/
handleClick(row) {
this.outerVisible = true;
this.dialogStatus='update';
this.FenStatus='addAwbh';
this.ruleForm=row;
this.ruleForm.flightno=row.carrier+row.flightno;
this.ruleForm.originstation=row.originstation+"-"+row.destinationstation;
},
/*获取默认值*/
getDefaultData(){
this.defaultQuery.flightno = this.$route.params.flightno;
this.defaultQuery.flightdate = this.$route.params.flightdate;
this.defaultQuery.originstation = this.$route.params.originstation;
this.defaultQuery.destinationstation = this.$route.params.destinationstation;
this.defaultQuery.awba=this.$route.params.awba;
},
/*获取默认数据列表*/
getList(){
getMt1201List(this.defaultQuery).then(res =>{
//console.log(res);
let response=res.data.data;
this.tableData=response;
});
},
//新增原始舱单按钮
addOrig(){
this.dialogStatus="create";
this.outerVisible = true;
this.FenStatus='ediAwbh';
this.ruleForm.flightno=this.$route.params.flightno;
this.ruleForm.flightdate=this.$route.params.flightdate;
this.ruleForm.originstation=this.$route.params.originstation+"-"+this.$route.params.destinationstation;
},
//新增原始分单
addFen(formName){
this.dialogStatus="create";
this.outerVisible = true;
this.FenStatus='addAwbh';
},
//新增原始舱单数据
createData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
addMt1201(this.ruleForm).then(res=>{
let response=res.data;
//console.log(res);
this.code=response.code;
if(this.code=='200'){
this.outerVisible = false;
this.$refs[formName].resetFields();
this.centerDialogVisible=true;
this.msg=response.msg;
this.getList();
}else{
this.outerVisible = false;
this.centerDialogVisible=true;
this.$refs[formName].resetFields();
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
//修改原始舱单数据
updateData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
ediMt1201(this.ruleForm).then(res=>{
let response=res.data;
//console.log(res);
this.code=response.code;
if(this.code=='200'){
this.outerVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
this.getList();
}else{
this.outerVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
//获取分单列表
getFenList(data){
getFenList(data).then(res =>{
//console.log(res);
let response=res.data.data;
this.tableData2=response;
});
},
//分拨申请
Importallocation(index,row){
this.$router.push({name:'进港分拨',params:{carrier:row.carrier,flightno:row.flightno.substr(2),awba:row.awba,flightdate:row.flightdate,
turnpiece:row.awbinfo.pcs,turnweight:row.awbinfo.weight,customcode:row.customcode}});
},
//分拨运抵
Allocatearrive(index,row){
this.$router.push({name:'分拨运抵',params:{carrier:row.carrier,flightno:row.flightno.substr(2),awba:row.awba,flightdate:row.flightdate,
turnpiece:row.awbinfo.pcs,turnweight:row.awbinfo.weight,customcode:row.customcode,goodsname:row.goodsname}});
}
},
/*渲染方法*/
mounted(){
this.getDefaultData();
this.getList();
}
}
</script>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main style="background-color: white">
<!--航班信息部分-->
<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>航班号:{{defaultQuery.flightno}}</span>
<span>航班日期:{{defaultQuery.flightdate}}</span>
<span>航段:{{defaultQuery.originstation}}-{{defaultQuery.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.5">
<div class="grid-content">
<el-input v-model="defaultQuery.awba" placeholder="请输入主单号" ></el-input>
</div>
</el-col>
<el-col :span="1.5"><div class="grid-content"><el-button type="primary" v-on:click="getMt5201List" size="mini">查询</el-button></div></el-col>
</div>
</el-col>
</div>
</el-col>
<el-col :span="24"><div class="grid-content content" style="margin-top: 6px">进港理货单明细</div></el-col>
</el-row>
<!--进港理货列表-->
<el-row>
<el-col :span="24">
<template>
<el-table
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
row-key="uuid"
border
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column
type="selection"
width="50">
</el-table-column>
<el-table-column
prop="waybill"
label="运单号"
width="160"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="totalpiece"
label="舱单件数"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="totalweight"
label="舱单重量"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="piece"
label="理货件数"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="weight"
label="理货重量"
width="80"
show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="starttime"
label="卸货时间"
type="date"
width="160">
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="100">
</el-table-column>
<el-table-column
prop="receipt"
label="回执信息"
width="180">
</el-table-column>
<el-table-column
prop="operation"
label="操作"
width="450"
show-overflow-tooltip>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleEdit(scope.$index, scope.row)">收发明细</el-button>
<el-button
v-if="scope.row.awbh==''||scope.row.awbh==null"
size="mini"
type="primary"
@click="handleMain(scope.$index, scope.row)">编辑主单</el-button>
<el-button
v-else
size="mini"
type="primary"
@click="handleFen(scope.$index, scope.row)">编辑分单
</el-button>
<el-button
size="mini"
type="primary"
@click="handleDelete(scope.$index, scope.row)">发送理货报</el-button>
<el-button
size="mini"
type="primary"
@click="handleDelete(scope.$index, scope.row)">发送舱单删除报</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
<!--编辑主单-->
<el-dialog :title="'进港理货信息'+textMap[dialogStatus]" :visible.sync="outerVisible" width="90%">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="labelPosition"
label-width="78px" size="mini">
<!--航班信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" style="margin-bottom: 10px;">航班信息</div>
</el-col>
<el-row class="flightInfo">
<el-col :span="6">
<el-form-item label="运单号" prop="awba">
<div v-if="dialogStatus === 'update'">
<el-input disabled="" v-model="ruleForm.awba"></el-input>
</div>
<div v-else>
<el-input v-model="ruleForm.awba"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
<div v-if="FenStatus === 'addAwbh'">
<el-form-item label="分单号" prop="awbh">
<el-input v-model="ruleForm.awbh"></el-input>
</el-form-item>
</div>
<div v-else>
<el-form-item style="display: none" label="分单号" prop="awbh">
<el-input v-model="ruleForm.awbh"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<el-form-item label="航班号" prop="flightno">
<el-input disabled="" v-model="ruleForm.flightno"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班日期" required>
<el-col :span="24">
<el-form-item prop="flightdate">
<el-date-picker disabled="" type="date" placeholder="选择日期" :clearable="false"
v-model="ruleForm.flightdate"
style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row class="flightInfo">
<el-col :span="6">
<el-form-item label="起始站" prop="originstation">
<el-input disabled="" v-model="ruleForm.originstation"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="目的站" prop="destinationstation">
<el-input disabled="" v-model="ruleForm.destinationstation"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button size="mini" type="primary" @click="dialogStatus==='create'?createData('ruleForm'):updateData('ruleForm')" style="float: right">保存</el-button>
</el-col>
</el-row>
</el-row>
<!--货物信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content">货物信息</div>
</el-col>
</el-row>
<el-row style="margin-bottom: 0px;">
<el-row class="product">
<el-col :span="6">
<el-form-item label="舱单件数" prop="pcs">
<el-input v-model="ruleForm.pcs"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="舱单重量" prop="wei">
<el-input v-model="ruleForm.wei"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="理货件数" prop="piece">
<el-input v-model="ruleForm.piece"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="理货重量" prop="weight">
<el-input v-model="ruleForm.weight"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row class="flightInfo">
<el-col :span="6">
<el-form-item label="海关关区" prop="customcode">
<el-select v-model="ruleForm.customcode" placeholder="" style="display:inline">
<el-option v-for="(item,index) in customcodes" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="卸货时间" required>
<el-col :span="24">
<el-form-item prop="starttime">
<el-date-picker type="datetime" placeholder="选择日期" :clearable="false" value-format="yyyy-MM-dd HH:mm:ss"
v-model="ruleForm.starttime"
style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
</el-row>
<!--分单信息部分-->
<el-row class="flightInfo">
<el-col :span="24">
<div class="grid-content content" v-if="dialogStatus === 'update'">
<span>分单信息</span>
<el-button type="primary" v-on:click="addFen('ruleForm')" size="mini">新增分单</el-button>
</div>
<div class="grid-content content" v-else>
<span>分单信息</span>
<el-button type="primary" disabled="" @click="innerVisible = true" size="mini">新增分单</el-button>
</div>
</el-col>
</el-row>
<!--分单列表-->
<el-row>
<el-col :span="24">
<template>
<el-table
:data="tableData2"
style="width: 100%">
<el-table-column
prop="awbh"
label="分单号"
width="250">
</el-table-column>
<el-table-column
prop="piece"
label="舱单件数"
width="200">
</el-table-column>
<el-table-column
prop="weight"
label="舱单重量"
width="200">
</el-table-column>
<el-table-column
prop="goodsname"
label="卸货时间"
width="250">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="230">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">编辑
</el-button>
<el-button @click="handleClick(scope.row)" type="text" size="small">删除
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!--底部按钮及理货信息-->
<el-row>
<el-col :span="2.5"><div class="grid-content"><el-button type="primary" v-on:click="addTally" size="mini">新增进港理货</el-button></div></el-col>
<el-col :span="2.5"><div class="grid-content"><el-button type="primary" size="mini">批量发送删除报</el-button></div></el-col>
<el-col :span="2"><div class="grid-content"><el-button type="primary" size="mini">返回</el-button></div></el-col>
<el-col :span="2.5"><div class="grid-content"><span>主单数:999</span></div></el-col>
<el-col :span="3.5"><div class="grid-content"><span>理货总件数:999999</span></div></el-col>
<el-col :span="4"><div class="grid-content"><span>理货总重量:999999</span></div></el-col>
</el-row>
<!--对话提示框-->
<el-row>
<el-dialog
title="系统提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{msg}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<style scoped>
.grid-content{height: 36px;line-height: 36px;margin-right: 5px;}
.content{border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;margin-bottom: 2px}
.row-bg,.co{background-color: white;}
span{font-weight: bold;margin-right: 35px;}
.el-table td,.el-table th{text-align: center}
.flightInfo {
margin-bottom: 0px
}
.el-form-item {
margin-bottom: 2px;
}
.flightInfo {
margin-bottom: 3px
}
.el-dialog__body {
padding: 10px 20px;
}
.el-col {
margin-right: 0px
}
.product {
margin-bottom: 5px;
}
.pub {
margin-right: 10px;
}
</style>
<script>
import { getMt5201List,addMt5201,ediMt5201,delMt5201} from '../../api/mt5201'
export default {
data() {
return {
defaultQuery:{
flightno:undefined,
flightdate:undefined,
originstation:undefined,
destinationstation:undefined,
awba:undefined
},
tableData: [],
tableData2: [],
multipleSelection: [],
outerVisible: false,
dialogStatus:'',
labelPosition: 'left',
textMap:{
update: '编辑',
create: '添加'
},
customcodes:[
{
value: '-1',
label: '请选择'
},
{
value: '4604',
label: '4604'
},
{
value: '4620',
label: '4620'
},
{
value: '4613',
label: '4613'
}],
ruleForm:{
awba:undefined,
awbh:undefined,
carrier:undefined,
flightno:undefined,
flightdate:undefined,
originstation:undefined,
destinationstation:undefined,
piece:undefined,
weight:undefined,
starttime:undefined,
endtime:undefined,
customcode:"-1",
goodsname:undefined,
actime:undefined,
rcfdep:"MT5201",
status:undefined,
isdelete:undefined,
pcs:undefined,
wei:undefined
},
FenStatus:'',
rules: {
awba: [{required: true, message: '请输入运单号', trigger: 'blur'}],
flightno: [{required: true, message: '航班号必须输入', trigger: 'blur'}],
flightdate: [{required: true, message: '航班日期必须选择', trigger: 'blur'}],
originstation: [{required: true, message: '航段必须输入', trigger: 'blur'}],
piece: [{required: true, message: '舱单件数必须输入且为数字', trigger: 'blur'}],
weight: [{required: true, message: '舱单重量必须输入且为数字', trigger: 'blur'}],
customcode:[{required: true, message: '海关关区必须选择', trigger: 'change'}],
goodsname:[{required: true, message: '货物描述必须填写', trigger: 'blur'}],
starttime: [{required: true, message: '卸货时间必须选择', trigger: 'blur'}]
},
centerDialogVisible:false,
msg:'',
}
},
methods: {
//批量选中事件
handleSelectionChange(val) {
this.multipleSelection = val;
},
//编辑主单
handleMain(index,row){
this.outerVisible = true;
this.dialogStatus='update';
this.FenStatus='ediAwbh';
this.ruleForm=row;
},
//编辑分单
handleFen(index,row){
this.outerVisible = true;
this.dialogStatus='update';
this.FenStatus='addAwbh';
this.ruleForm=row;
this.ruleForm.flightno=row.carrier+row.flightno;
},
//新增分单
addFen(formName){
this.dialogStatus="create";
this.outerVisible = true;
this.FenStatus='addAwbh';
},
//获取默认值
getDefaultData(){
this.defaultQuery.flightno=this.$route.params.flightno;
this.defaultQuery.flightdate=this.$route.params.flightdate;
this.defaultQuery.originstation=this.$route.params.originstation;
this.defaultQuery.destinationstation=this.$route.params.destinationstation;
},
//获取进港理货列表
getMt5201List(){
getMt5201List(this.defaultQuery).then(res =>{
console.log(res);
let response=res.data.data;
this.tableData=response;
});
},
//新增理货按钮事件
addTally(){
this.outerVisible = true;
this.dialogStatus="create";
this.FenStatus='ediAwbh';
this.ruleForm.flightno=this.$route.params.flightno;
this.ruleForm.flightdate=this.$route.params.flightdate;
this.ruleForm.originstation=this.$route.params.originstation;
this.ruleForm.destinationstation=this.$route.params.destinationstation;
},
//新增原始舱单数据
createData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
addMt5201(this.ruleForm).then(res=>{
let response=res.data;
this.code=response.code;
if(this.code=='200'){
this.outerVisible = false;
this.$refs[formName].resetFields();
this.centerDialogVisible=true;
this.msg=response.msg;
this.getMt5201List();
}else{
this.outerVisible = false;
this.centerDialogVisible=true;
this.$refs[formName].resetFields();
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
//修改进港理货数据
updateData(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
ediMt5201(this.ruleForm).then(res=>{
let response=res.data;
this.code=response.code;
if(this.code=='200'){
this.outerVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
this.getMt5201List();
}else{
this.outerVisible = false;
this.centerDialogVisible=true;
this.msg=response.msg;
}
});
} else {
console.log('error submit!!');
return false;
}
});
},
},
//渲染方法
mounted(){
this.getDefaultData();
this.getMt5201List();
}
}
</script>
\ No newline at end of file
... ...
<template>
<el-container>
<el-main>
<el-row class="row-bg">
<el-col :span="24"><div class="grid-content content co">进港运单申报</div></el-col>
</el-row>
<!--查询条件-->
<el-row>
<el-col :span="6">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.awba">
<template slot="prepend">主单号</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.carrier">
<template slot="prepend">承运人</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<el-input placeholder="" v-model="defaultQuery.flightno">
<template slot="prepend">航班号</template>
</el-input>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content">
<div class="block">
<el-date-picker
v-model="defaultQuery.flightdate"
type="date"
value-format="yyyy-MM-dd"
placeholder="航班日期">
</el-date-picker>
</div>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="grid-content">
<el-select v-model="defaultQuery.status" placeholder="选择状态" class="sel">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="5">
<el-select v-model="defaultQuery.messageType" placeholder="报文类型" class="sel">
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="5">
<el-col :span="8" style="margin-right: 0px">
<el-button type="primary" v-on:click="QueryData">查询</el-button>
</el-col>
<el-col :span="16" style="margin-right: 0px">
<el-button type="primary">批量修改状态</el-button>
</el-col>
</el-col>
</el-row>
<!--查询结果样式-->
<el-row>
<el-col :span="1" class="mark"><div class="grid-content bg" style="color: red"><span>注:</span></div></el-col>
<el-col :span="2" class="mark"><div class="grid-content bg mainse" ><span>主单原始舱单</span></div></el-col>
<el-col :span="2" class="mark"><div class="grid-content bg fense" ><span>分单原始舱单</span></div></el-col>
<el-col :span="2" class="mark"><div class="grid-content bg tallse" ><span>主单理货报告</span></div></el-col>
<el-col :span="2" class="mark"><div class="grid-content bg tallfense" ><span>分单理货报告</span></div></el-col>
</el-row>
<!--查询列表-->
<el-row>
<el-col :span="24">
<template>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="45">
</el-table-column>
<el-table-column
fixed="left"
label="操作"
width="135">
<template slot-scope="scope">
<el-button
v-if="scope.row.rcfdep=='MT1201'"
@click="handleClick(scope.row)" type="text" size="small">原始舱单</el-button>
<el-button
v-else
@click="handleTally(scope.row)" type="text" size="small">进港理货</el-button>
<el-button @click="handleClick(scope.row)" type="text" size="small">修改状态</el-button>
</template>
</el-table-column>
<el-table-column
prop="carrierno"
label="航班号"
width="75">
</el-table-column>
<el-table-column
prop="flightdate"
label="航班日期"
width="95">
</el-table-column>
<el-table-column
prop="segment"
label="航段"
width="85"
>
</el-table-column>
<el-table-column
prop="awba"
label="主单号"
width="115"
>
</el-table-column>
<el-table-column
prop="awbh"
label="分单号"
width="130">
</el-table-column>
<el-table-column
prop="piece"
label="件数"
width="50">
</el-table-column>
<el-table-column
prop="weight"
label="重量"
width="70">
</el-table-column>
<el-table-column
prop="customcode"
label="关区号"
width="65">
</el-table-column>
<el-table-column
prop="actime"
label="时间"
width="155">
<template slot-scope="scope">{{timestampToTime(scope.row.actime)}}</template>
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="90">
</el-table-column>
<el-table-column
prop="repick"
label="回执内容"
width="250">
</el-table-column>
</el-table>
</template>
</el-col>
</el-row>
<!--分页部分-->
<el-row>
<el-col>
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</div>
</el-col>
</el-row>
</el-main>
</el-container>
</template>
<style scoped>
.co{height: 36px;line-height: 36px;}
.co{border-left: 4px #409EFF solid;padding-left: 10px;background-color: #f9fafc;margin-bottom: 2px}
.row-bg{background-color: white;padding:0px;}
.el-row{margin-bottom: 10px;}
.sel{display: inline;}
.mark{height:24px;}
.bg{height:24px;text-align: center;line-height:24px;min-height: 24px}
.mainse{background: #5BB75B}
.fense{background-color: #12B399}
.tallse{background-color: #FA9403}
.tallfense{background-color: #C55124}
.cell{background: #5BB75B}
.cell2{background-color: #12B399}
</style>
<script>
import { QueryData } from '../../api/wayDeclaration'
export default {
data() {
return {
defaultQuery:{
awba:'',
carrier:'',
flightno:'',
flightdate:'',
status:'',
messageType:''
},
options: [
{
value: '01',
label: '选择状态'
}, {
value: '02',
label: '未发送'
}, {
value: '03',
label: '已发舱单报'
}, {
value: '04',
label: '舱单报退单'
}],
options2: [
{
value: '',
label: '选择状态'
}, {
value: 'MT1201',
label: '原始舱单'
}, {
value: 'MT5201',
label: '进港理货'
}],
tableData: [],
multipleSelection: [],
currentPage4: 4
}
},
methods:{
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleClick(row) {
console.log(row);
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
//条件查询方法
QueryData(){
QueryData(this.defaultQuery).then(res =>{
//console.log(res);
let response=res.data.data;
this.tableData=response;
});
},
//点击进入原始页面
handleClick(row){
this.$router.push({name:'进港原始舱单',params:{flightno:row.carrierno,destinationstation:row.destinationstation,awba:row.awba,flightdate:row.flightdate,originstation:row.originstation}});
},
//点击进入理货页面
handleTally(row){},
//table显示时间转换
timestampToTime(timestamp) {
var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
return Y+M+D+h+m+s;
},
}
}
</script>
\ No newline at end of file
... ...