正在显示
22 个修改的文件
包含
5429 行增加
和
441 行删除
src/api/exitArrive.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server/nmms/mt3201' | ||
| 4 | + | ||
| 5 | +export const getMt3201ListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt3201ListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMT3201 = params => { return http.put(`${baseUrl}/updateMt3201`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt3201 = params => { return http.post(`${baseUrl}/addMt3201`,params)}; |
src/api/exitFlight.js
0 → 100644
src/api/exitLoading.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server/nmms/mt4201' | ||
| 4 | + | ||
| 5 | +export const getMt4201ListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt4201ListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMT4201 = params => { return http.put(`${baseUrl}/updateMt4201`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt4201 = params => { return http.post(`${baseUrl}/addMt4201`,params)}; |
src/api/exitManifest.js
0 → 100644
src/api/exitPre.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server/nmms/mt2201' | ||
| 4 | + | ||
| 5 | +export const getMt2201ListForParam = params => { return http.get(`${baseUrl}/getMt2201ListForParam`, params)}; | ||
| 6 | + | ||
| 7 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 8 | + | ||
| 9 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params) }; | ||
| 10 | + | ||
| 11 | +export const updateMT2201 = params => { return http.put(`${baseUrl}/updateMT2201`,params)}; | ||
| 12 | + | ||
| 13 | +export const addMt2201 = params => { return http.post(`${baseUrl}/addMt2201`,params)}; | ||
| 14 | + | ||
| 15 | +export const getLostLoadChange = params => { return http.get(`${baseUrl}/getLostLoadChange`, params)}; | ||
| 16 | + | ||
| 17 | +export const saveLostChange = params => { return http.get(`${baseUrl}/saveLostChange`, params)}; | ||
| 18 | + | ||
| 19 | +export const saveLostLoad = params => { return http.put(`${baseUrl}/saveLostLoad`,params)}; |
src/api/exitTidy.js
0 → 100644
| 1 | +import http from './http.js' | ||
| 2 | + | ||
| 3 | +let baseUrl = 'nmms-server/nmms/mt520x' | ||
| 4 | + | ||
| 5 | +export const getMt520XListForParam = params => { | ||
| 6 | + return http.get(`${baseUrl}/getMt520xListForParam`, params); | ||
| 7 | +}; | ||
| 8 | +export const deleteByIsDelete = params => { return http.del(`${baseUrl}/deleteByIsDelete`,params)}; | ||
| 9 | + | ||
| 10 | +export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus`, params)}; | ||
| 11 | + | ||
| 12 | +export const updateMt520X = params => { return http.put(`${baseUrl}/updateMt520x`,params)}; | ||
| 13 | + | ||
| 14 | +export const addMt520X = params => { return http.post(`${baseUrl}/addMt520x`,params)}; |
| @@ -17,22 +17,12 @@ export default { | @@ -17,22 +17,12 @@ export default { | ||
| 17 | return axios({ | 17 | return axios({ |
| 18 | method: 'GET', | 18 | method: 'GET', |
| 19 | url: url, | 19 | url: url, |
| 20 | - data: params, | 20 | + params: params, |
| 21 | headers: { | 21 | headers: { |
| 22 | 'Content-Type': 'application/json;charset=UTF-8', | 22 | 'Content-Type': 'application/json;charset=UTF-8', |
| 23 | } | 23 | } |
| 24 | }); | 24 | }); |
| 25 | }, | 25 | }, |
| 26 | - getUrlEnclode(url, params) { | ||
| 27 | - return axios({ | ||
| 28 | - method: 'GET', | ||
| 29 | - url: url, | ||
| 30 | - data: qs.stringify(params), | ||
| 31 | - headers: { | ||
| 32 | - 'Content-Type': 'application/x-www-form-urlencoded', | ||
| 33 | - } | ||
| 34 | - }); | ||
| 35 | - }, | ||
| 36 | put(url, params){ | 26 | put(url, params){ |
| 37 | return axios({ | 27 | return axios({ |
| 38 | method: 'PUT', | 28 | method: 'PUT', |
src/api/responseDetail.js
0 → 100644
| @@ -8,6 +8,15 @@ import Perm from './views/nav1/perm.vue' | @@ -8,6 +8,15 @@ import Perm from './views/nav1/perm.vue' | ||
| 8 | import LOG from './views/nav1/Log.vue' | 8 | import LOG from './views/nav1/Log.vue' |
| 9 | import PreManifest from './views/agent/PreManifest.vue' | 9 | import PreManifest from './views/agent/PreManifest.vue' |
| 10 | import OrgManifest from './views/nmms/orgManifest.vue' | 10 | import OrgManifest from './views/nmms/orgManifest.vue' |
| 11 | +import ExitFlight from './views/nmms/ExitFlight.vue' | ||
| 12 | +import ExitPre from './views/nmms/ExitPre.vue' | ||
| 13 | +import ExitTidy from './views/nmms/ExitTidy.vue' | ||
| 14 | +import ExitArrive from './views/nmms/ExitArrive.vue' | ||
| 15 | +import ExitManifest from './views/nmms/ExitManifest.vue' | ||
| 16 | +import ExitLoading from './views/nmms/ExitLoading.vue' | ||
| 17 | +import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue' | ||
| 18 | +import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue' | ||
| 19 | +import LostLoad from './views/lostLoadChange/lostLoading.vue' | ||
| 11 | // import Form from './views/nav1/Form.vue' | 20 | // import Form from './views/nav1/Form.vue' |
| 12 | 21 | ||
| 13 | import User from './views/nav1/user.vue' | 22 | import User from './views/nav1/user.vue' |
| @@ -36,7 +45,7 @@ let routes = [ | @@ -36,7 +45,7 @@ let routes = [ | ||
| 36 | leaf: true, | 45 | leaf: true, |
| 37 | iconCls: 'el-icon-menu', | 46 | iconCls: 'el-icon-menu', |
| 38 | children: [ | 47 | children: [ |
| 39 | - { path: '/main', component: Main, name: '首页'}, | 48 | + {path: '/main', component: Main, name: '首页'}, |
| 40 | ] | 49 | ] |
| 41 | }, | 50 | }, |
| 42 | // { path: '/test', component: Main }, | 51 | // { path: '/test', component: Main }, |
| @@ -46,10 +55,10 @@ let routes = [ | @@ -46,10 +55,10 @@ let routes = [ | ||
| 46 | name: '系统设置', | 55 | name: '系统设置', |
| 47 | iconCls: 'el-icon-setting',//图标样式class | 56 | iconCls: 'el-icon-setting',//图标样式class |
| 48 | children: [ | 57 | children: [ |
| 49 | - { path: '/user', component: User, name: '用户管理' }, | ||
| 50 | - { path: '/role', component: Role, name: '角色管理' }, | ||
| 51 | - { path: '/perm', component: Perm, name: '权限管理' }, | ||
| 52 | - { path: '/log', component: LOG, name: '系统日志' }, | 58 | + {path: '/user', component: User, name: '用户管理'}, |
| 59 | + {path: '/role', component: Role, name: '角色管理'}, | ||
| 60 | + {path: '/perm', component: Perm, name: '权限管理'}, | ||
| 61 | + {path: '/log', component: LOG, name: '系统日志'}, | ||
| 53 | ] | 62 | ] |
| 54 | }, | 63 | }, |
| 55 | { | 64 | { |
| @@ -58,8 +67,32 @@ let routes = [ | @@ -58,8 +67,32 @@ let routes = [ | ||
| 58 | name: '代理人', | 67 | name: '代理人', |
| 59 | iconCls: 'fa fa-id-card-o', | 68 | iconCls: 'fa fa-id-card-o', |
| 60 | children: [ | 69 | children: [ |
| 61 | - { path: '/pre', component: PreManifest, name: '预配' }, | ||
| 62 | - { path: '/org', component: OrgManifest, name: '进港' } | 70 | + {path: '/pre1', component: PreManifest, name: '预配'}, |
| 71 | + ] | ||
| 72 | + }, | ||
| 73 | + { | ||
| 74 | + path: '/output', | ||
| 75 | + component: Home, | ||
| 76 | + name: '出港业务申报', | ||
| 77 | + iconCls: 'el-icon-collection', | ||
| 78 | + children: [ | ||
| 79 | + {path: '/flight', component: ExitFlight, name: '出港航班申报'}, | ||
| 80 | + {path: '/pre', component: ExitPre, name: '出港预配舱单'}, | ||
| 81 | + {path: '/manifest', component: ExitManifest, name: '出港运单申报'}, | ||
| 82 | + {path: '/arrive', component: ExitArrive, name: '出港运抵'}, | ||
| 83 | + {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'}, | ||
| 84 | + {path: '/loading', component: ExitLoading, name: '出港装载'}, | ||
| 85 | + {path: '/tidy', component: ExitTidy, name: '出港理货'} | ||
| 86 | + ] | ||
| 87 | + }, | ||
| 88 | + { | ||
| 89 | + path: '/lost', | ||
| 90 | + component: Home, | ||
| 91 | + name: '落装改配申报', | ||
| 92 | + iconCls:'el-icon-goods', | ||
| 93 | + children:[ | ||
| 94 | + {path:'/lostLoad',component:LostLoad,name:'落装业务申报'}, | ||
| 95 | + // {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'} | ||
| 63 | ] | 96 | ] |
| 64 | }, | 97 | }, |
| 65 | { | 98 | { |
| @@ -68,8 +101,8 @@ let routes = [ | @@ -68,8 +101,8 @@ let routes = [ | ||
| 68 | name: '导航二', | 101 | name: '导航二', |
| 69 | iconCls: 'fa fa-id-card-o', | 102 | iconCls: 'fa fa-id-card-o', |
| 70 | children: [ | 103 | children: [ |
| 71 | - { path: '/page4', component: Page4, name: '页面4' }, | ||
| 72 | - { path: '/page5', component: Page5, name: '页面5' } | 104 | + {path: '/page4', component: Page4, name: '页面4'}, |
| 105 | + {path: '/page5', component: Page5, name: '页面5'} | ||
| 73 | ] | 106 | ] |
| 74 | }, | 107 | }, |
| 75 | { | 108 | { |
| @@ -79,7 +112,7 @@ let routes = [ | @@ -79,7 +112,7 @@ let routes = [ | ||
| 79 | iconCls: 'fa fa-address-card', | 112 | iconCls: 'fa fa-address-card', |
| 80 | leaf: true,//只有一个节点 | 113 | leaf: true,//只有一个节点 |
| 81 | children: [ | 114 | children: [ |
| 82 | - { path: '/page6', component: Page6, name: '导航三' } | 115 | + {path: '/page6', component: Page6, name: '导航三'} |
| 83 | ] | 116 | ] |
| 84 | }, | 117 | }, |
| 85 | { | 118 | { |
| @@ -88,13 +121,13 @@ let routes = [ | @@ -88,13 +121,13 @@ let routes = [ | ||
| 88 | name: 'Charts', | 121 | name: 'Charts', |
| 89 | iconCls: 'fa fa-bar-chart', | 122 | iconCls: 'fa fa-bar-chart', |
| 90 | children: [ | 123 | children: [ |
| 91 | - { path: '/echarts', component: echarts, name: 'echarts' } | 124 | + {path: '/echarts', component: echarts, name: 'echarts'} |
| 92 | ] | 125 | ] |
| 93 | }, | 126 | }, |
| 94 | { | 127 | { |
| 95 | path: '*', | 128 | path: '*', |
| 96 | hidden: true, | 129 | hidden: true, |
| 97 | - redirect: { path: '/404' } | 130 | + redirect: {path: '/404'} |
| 98 | } | 131 | } |
| 99 | ]; | 132 | ]; |
| 100 | let initRouters = routes.concat(); | 133 | let initRouters = routes.concat(); |
| @@ -105,7 +138,7 @@ let setUserMenus = function (list) { | @@ -105,7 +138,7 @@ let setUserMenus = function (list) { | ||
| 105 | * 处理登陆后的账号对应的菜单 | 138 | * 处理登陆后的账号对应的菜单 |
| 106 | * @param menuList | 139 | * @param menuList |
| 107 | */ | 140 | */ |
| 108 | -let handleMenuList = function (router,menu) { | 141 | +let handleMenuList = function (router, menu) { |
| 109 | var _self = this; | 142 | var _self = this; |
| 110 | var routerName = ""; | 143 | var routerName = ""; |
| 111 | router.forEach(function (v_router) { | 144 | router.forEach(function (v_router) { |
| @@ -118,16 +151,16 @@ let handleMenuList = function (router,menu) { | @@ -118,16 +151,16 @@ let handleMenuList = function (router,menu) { | ||
| 118 | 151 | ||
| 119 | //匹配到继续判断是否子元素,有子元素继续递归 | 152 | //匹配到继续判断是否子元素,有子元素继续递归 |
| 120 | if (result) { | 153 | if (result) { |
| 121 | - if(v_router.children) { | ||
| 122 | - _self.handleMenuList(v_router.children,result.children); | 154 | + if (v_router.children) { |
| 155 | + _self.handleMenuList(v_router.children, result.children); | ||
| 123 | } | 156 | } |
| 124 | //没有则可以移除 | 157 | //没有则可以移除 |
| 125 | - }else { | ||
| 126 | - router.splice(router.findIndex(itm => itm.name === routerName ),1); | 158 | + } else { |
| 159 | + router.splice(router.findIndex(itm => itm.name === routerName), 1); | ||
| 127 | } | 160 | } |
| 128 | }) | 161 | }) |
| 129 | }); | 162 | }); |
| 130 | } | 163 | } |
| 131 | export default { | 164 | export default { |
| 132 | - routes,setUserMenus,handleMenuList,initRouters | 165 | + routes, setUserMenus, handleMenuList, initRouters |
| 133 | }; | 166 | }; |
| @@ -35,6 +35,18 @@ export function validAlphabets(str) { | @@ -35,6 +35,18 @@ export function validAlphabets(str) { | ||
| 35 | return reg.test(str) | 35 | return reg.test(str) |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | +/* 大小写字母数字*/ | ||
| 39 | +export function validAlphabetsAndNum(str) { | ||
| 40 | + const reg = /^[0-9A-Za-z]+$/ | ||
| 41 | + return reg.test(str) | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +/* 大小写字母数字空格*/ | ||
| 45 | +export function validAlphabetsAndSpanceKey(str) { | ||
| 46 | + const reg = /^[0-9a-zA-Z ]+$/ | ||
| 47 | + return reg.test(str) | ||
| 48 | +} | ||
| 49 | + | ||
| 38 | /** | 50 | /** |
| 39 | * 航班校验 | 51 | * 航班校验 |
| 40 | */ | 52 | */ |
| 1 | <template> | 1 | <template> |
| 2 | - <el-row class="container"> | ||
| 3 | - <el-col :span="24" class="header"> | ||
| 4 | - <el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'"> | ||
| 5 | - {{collapsed?'':sysName}} | ||
| 6 | - </el-col> | ||
| 7 | - <el-col :span="10"> | ||
| 8 | - <div class="tools" @click.prevent="collapse"> | ||
| 9 | - <i class="fa fa-align-justify"></i> | ||
| 10 | - </div> | ||
| 11 | - </el-col> | ||
| 12 | - <el-col :span="4" class="userinfo"> | ||
| 13 | - <el-dropdown trigger="hover"> | ||
| 14 | - <span class="el-dropdown-link userinfo-inner"><img :src="this.sysUserAvatar" /> {{sysUserName}}</span> | ||
| 15 | - <el-dropdown-menu slot="dropdown"> | ||
| 16 | - <el-dropdown-item>我的消息</el-dropdown-item> | ||
| 17 | - <el-dropdown-item>设置</el-dropdown-item> | ||
| 18 | - <el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item> | ||
| 19 | - </el-dropdown-menu> | ||
| 20 | - </el-dropdown> | ||
| 21 | - </el-col> | ||
| 22 | - </el-col> | ||
| 23 | - <el-col :span="24" class="main"> | ||
| 24 | - <aside :class="collapsed?'menu-collapsed':'menu-expanded'"> | ||
| 25 | - <!--导航菜单--> | ||
| 26 | - <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px"> | ||
| 27 | - <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden"> | ||
| 28 | - <el-submenu :index="index+''" v-if="!item.leaf"> | ||
| 29 | - <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template> | ||
| 30 | - <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">{{child.name}}</el-menu-item> | ||
| 31 | - </el-submenu> | ||
| 32 | - <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item> | ||
| 33 | - </template> | ||
| 34 | - </el-menu> | ||
| 35 | - <!--导航菜单-折叠后--> | ||
| 36 | - <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed"> | ||
| 37 | - <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> | ||
| 38 | - <template v-if="!item.leaf"> | ||
| 39 | - <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> | ||
| 40 | - <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" @mouseout="showMenu(index,false)"> | ||
| 41 | - <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" class="el-menu-item" style="padding-left: 40px;" :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">{{child.name}}</li> | ||
| 42 | - </ul> | ||
| 43 | - </template> | ||
| 44 | - <template v-else> | ||
| 45 | - <li class="el-submenu"> | ||
| 46 | - <div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div> | ||
| 47 | - </li> | ||
| 48 | - </template> | ||
| 49 | - </li> | ||
| 50 | - </ul> | ||
| 51 | - </aside> | ||
| 52 | - <section class="content-container"> | ||
| 53 | - <div class="grid-content bg-purple-light"> | ||
| 54 | - <el-col :span="24" class="breadcrumb-container"> | ||
| 55 | - <strong class="title">{{$route.name}}</strong> | ||
| 56 | - <el-breadcrumb separator="/" class="breadcrumb-inner"> | ||
| 57 | - <el-breadcrumb-item v-for="item in $route.matched" :key="item.path"> | ||
| 58 | - {{ item.name }} | ||
| 59 | - </el-breadcrumb-item> | ||
| 60 | - </el-breadcrumb> | ||
| 61 | - </el-col> | ||
| 62 | - <el-col :span="24" class="content-wrapper"> | ||
| 63 | - <transition name="fade" mode="out-in"> | ||
| 64 | - <router-view></router-view> | ||
| 65 | - </transition> | ||
| 66 | - </el-col> | ||
| 67 | - </div> | ||
| 68 | - </section> | ||
| 69 | - </el-col> | ||
| 70 | - </el-row> | 2 | + <el-row class="container"> |
| 3 | + <el-col :span="24" class="header"> | ||
| 4 | + <el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'"> | ||
| 5 | + {{collapsed?'':sysName}} | ||
| 6 | + </el-col> | ||
| 7 | + <el-col :span="10"> | ||
| 8 | + <div class="tools" @click.prevent="collapse"> | ||
| 9 | + <i class="fa fa-align-justify"></i> | ||
| 10 | + </div> | ||
| 11 | + </el-col> | ||
| 12 | + <el-col :span="4" class="userinfo"> | ||
| 13 | + <el-dropdown trigger="hover"> | ||
| 14 | + <span class="el-dropdown-link userinfo-inner"><img | ||
| 15 | + :src="this.sysUserAvatar"/> {{sysUserName}}</span> | ||
| 16 | + <el-dropdown-menu slot="dropdown"> | ||
| 17 | + <el-dropdown-item>我的消息</el-dropdown-item> | ||
| 18 | + <el-dropdown-item>设置</el-dropdown-item> | ||
| 19 | + <el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item> | ||
| 20 | + </el-dropdown-menu> | ||
| 21 | + </el-dropdown> | ||
| 22 | + </el-col> | ||
| 23 | + </el-col> | ||
| 24 | + <el-col :span="24" class="main"> | ||
| 25 | + <aside :class="collapsed?'menu-collapsed':'menu-expanded'"> | ||
| 26 | + <!--导航菜单--> | ||
| 27 | + <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" | ||
| 28 | + @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" | ||
| 29 | + style="min-width: 230px"> | ||
| 30 | + <template v-for="(item,index) in $router.options.routes" v-if="!item.hidden"> | ||
| 31 | + <el-submenu :index="index+''" v-if="!item.leaf"> | ||
| 32 | + <template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template> | ||
| 33 | + <el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" | ||
| 34 | + v-if="!child.hidden">{{child.name}} | ||
| 35 | + </el-menu-item> | ||
| 36 | + </el-submenu> | ||
| 37 | + <el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i | ||
| 38 | + :class="item.iconCls"></i>{{item.children[0].name}} | ||
| 39 | + </el-menu-item> | ||
| 40 | + </template> | ||
| 41 | + </el-menu> | ||
| 42 | + <!--导航菜单-折叠后--> | ||
| 43 | + <ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed"> | ||
| 44 | + <li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item"> | ||
| 45 | + <template v-if="!item.leaf"> | ||
| 46 | + <div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)" | ||
| 47 | + @mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div> | ||
| 48 | + <ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)" | ||
| 49 | + @mouseout="showMenu(index,false)"> | ||
| 50 | + <li v-for="child in item.children" v-if="!child.hidden" :key="child.path" | ||
| 51 | + class="el-menu-item" style="padding-left: 40px;" | ||
| 52 | + :class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)"> | ||
| 53 | + {{child.name}} | ||
| 54 | + </li> | ||
| 55 | + </ul> | ||
| 56 | + </template> | ||
| 57 | + <template v-else> | ||
| 58 | + <li class="el-submenu"> | ||
| 59 | + <div class="el-submenu__title el-menu-item" | ||
| 60 | + style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" | ||
| 61 | + :class="$route.path==item.children[0].path?'is-active':''" | ||
| 62 | + @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div> | ||
| 63 | + </li> | ||
| 64 | +</template> | ||
| 65 | +</li> | ||
| 66 | +</ul> | ||
| 67 | +</aside> | ||
| 68 | +<section class="content-container"> | ||
| 69 | + <div class="grid-content bg-purple-light"> | ||
| 70 | + <el-col :span="24" class="breadcrumb-container"> | ||
| 71 | + <strong class="title">{{$route.name}}</strong> | ||
| 72 | + <el-breadcrumb separator="/" class="breadcrumb-inner"> | ||
| 73 | + <el-breadcrumb-item v-for="item in $route.matched" :key="item.path"> | ||
| 74 | + {{ item.name }} | ||
| 75 | + </el-breadcrumb-item> | ||
| 76 | + </el-breadcrumb> | ||
| 77 | + </el-col> | ||
| 78 | + <el-col :span="24" class="content-wrapper"> | ||
| 79 | + <transition name="fade" mode="out-in"> | ||
| 80 | + <router-view :key="$route.path +$route.query.t"></router-view> | ||
| 81 | + </transition> | ||
| 82 | + </el-col> | ||
| 83 | + </div> | ||
| 84 | +</section> | ||
| 85 | +</el-col> | ||
| 86 | +</el-row> | ||
| 71 | </template> | 87 | </template> |
| 72 | 88 | ||
| 73 | <script> | 89 | <script> |
| 74 | import rt from '../routes' | 90 | import rt from '../routes' |
| 91 | + | ||
| 75 | export default { | 92 | export default { |
| 76 | 93 | ||
| 77 | - data() { | ||
| 78 | - return { | ||
| 79 | - sysName:'流浪地球管理系统', | ||
| 80 | - collapsed:false, | ||
| 81 | - sysUserName: '', | ||
| 82 | - sysUserAvatar: '', | ||
| 83 | - form: { | ||
| 84 | - name: '', | ||
| 85 | - region: '', | ||
| 86 | - date1: '', | ||
| 87 | - date2: '', | ||
| 88 | - delivery: false, | ||
| 89 | - type: [], | ||
| 90 | - resource: '', | ||
| 91 | - desc: '' | ||
| 92 | - } | ||
| 93 | - } | ||
| 94 | - }, | ||
| 95 | - methods: { | ||
| 96 | - onSubmit() { | ||
| 97 | - console.log('submit!'); | ||
| 98 | - }, | ||
| 99 | - handleopen() { | ||
| 100 | - console.log('handleopen'); | ||
| 101 | - }, | ||
| 102 | - handleclose() { | ||
| 103 | - console.log('handleclose'); | ||
| 104 | - }, | ||
| 105 | - handleselect: function (a, b) { | ||
| 106 | - console.log('handleselect!'); | ||
| 107 | - }, | ||
| 108 | - //退出登录 | ||
| 109 | - logout: function () { | ||
| 110 | - var _this = this; | ||
| 111 | - this.$confirm('确认退出吗?', '提示', { | ||
| 112 | - //type: 'warning' | ||
| 113 | - }).then(() => { | ||
| 114 | - sessionStorage.removeItem('user'); | 94 | + provide() { |
| 95 | + return { | ||
| 96 | + reload: this.reload | ||
| 97 | + } | ||
| 98 | + }, | ||
| 99 | + data() { | ||
| 100 | + return { | ||
| 101 | + sysName: '流浪地球管理系统', | ||
| 102 | + collapsed: false, | ||
| 103 | + sysUserName: '', | ||
| 104 | + sysUserAvatar: '', | ||
| 105 | + isRouterAlive: true, | ||
| 106 | + form: { | ||
| 107 | + name: '', | ||
| 108 | + region: '', | ||
| 109 | + date1: '', | ||
| 110 | + date2: '', | ||
| 111 | + delivery: false, | ||
| 112 | + type: [], | ||
| 113 | + resource: '', | ||
| 114 | + desc: '' | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + }, | ||
| 118 | + methods: { | ||
| 119 | + reload() { | ||
| 120 | + this.$nextTick(function () { | ||
| 121 | + this.$router.push({ | ||
| 122 | + path: this.$router.path, | ||
| 123 | + query:{ | ||
| 124 | + t: new Date().getTime() | ||
| 125 | + } | ||
| 126 | + }) | ||
| 127 | + }) | ||
| 128 | + }, | ||
| 129 | + onSubmit() { | ||
| 130 | + console.log('submit!'); | ||
| 131 | + }, | ||
| 132 | + handleopen() { | ||
| 133 | + console.log('handleopen'); | ||
| 134 | + }, | ||
| 135 | + handleclose() { | ||
| 136 | + console.log('handleclose'); | ||
| 137 | + }, | ||
| 138 | + handleselect: function (a, b) { | ||
| 139 | + this.reload() | ||
| 140 | + }, | ||
| 141 | + //退出登录 | ||
| 142 | + logout: function () { | ||
| 143 | + var _this = this; | ||
| 144 | + this.$confirm('确认退出吗?', '提示', { | ||
| 145 | + //type: 'warning' | ||
| 146 | + }).then(() => { | ||
| 147 | + sessionStorage.removeItem('user'); | ||
| 115 | sessionStorage.removeItem('menu'); | 148 | sessionStorage.removeItem('menu'); |
| 116 | 149 | ||
| 117 | //退出后初始化原来的路由 | 150 | //退出后初始化原来的路由 |
| 118 | - let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); | ||
| 119 | - console.log(sysRoutes); | ||
| 120 | - _this.$router.options.routes = sysRoutes; | ||
| 121 | - | ||
| 122 | - _this.$router.push('/login'); | ||
| 123 | - }).catch(() => { | ||
| 124 | - | ||
| 125 | - }); | ||
| 126 | - | ||
| 127 | - | ||
| 128 | - }, | ||
| 129 | - //折叠导航栏 | ||
| 130 | - collapse:function(){ | ||
| 131 | - this.collapsed=!this.collapsed; | ||
| 132 | - }, | ||
| 133 | - showMenu(i,status){ | ||
| 134 | - this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none'; | ||
| 135 | - } | ||
| 136 | - }, | ||
| 137 | - mounted() { | 151 | + let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); |
| 152 | + // console.log(sysRoutes); | ||
| 153 | + _this.$router.options.routes = sysRoutes; | ||
| 154 | + | ||
| 155 | + _this.$router.push('/login'); | ||
| 156 | + }).catch(() => { | ||
| 157 | + | ||
| 158 | + }); | ||
| 159 | + | ||
| 160 | + | ||
| 161 | + }, | ||
| 162 | + //折叠导航栏 | ||
| 163 | + collapse: function () { | ||
| 164 | + this.collapsed = !this.collapsed; | ||
| 165 | + }, | ||
| 166 | + showMenu(i, status) { | ||
| 167 | + this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-' + i)[0].style.display = status ? 'block' : 'none'; | ||
| 168 | + } | ||
| 169 | + }, | ||
| 170 | + mounted() { | ||
| 138 | var _this = this; | 171 | var _this = this; |
| 139 | - var user = sessionStorage.getItem('user'); | ||
| 140 | - if (user) { | ||
| 141 | - user = JSON.parse(user); | ||
| 142 | - this.sysUserName = user.username || ''; | ||
| 143 | - this.sysUserAvatar = user.userface || '/static/images/faceDefault.jpg'; | ||
| 144 | - } | ||
| 145 | - //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 | ||
| 146 | - var userRouters = sessionStorage.getItem('menu'); | ||
| 147 | - if (userRouters) { | 172 | + var user = sessionStorage.getItem('user'); |
| 173 | + if (user) { | ||
| 174 | + user = JSON.parse(user); | ||
| 175 | + this.sysUserName = user.username || ''; | ||
| 176 | + this.sysUserAvatar = user.userface || '/static/images/faceDefault.jpg'; | ||
| 177 | + } | ||
| 178 | + //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 | ||
| 179 | + var userRouters = sessionStorage.getItem('menu'); | ||
| 180 | + if (userRouters) { | ||
| 148 | userRouters = JSON.parse(userRouters); | 181 | userRouters = JSON.parse(userRouters); |
| 149 | _this.$router.options.routes = userRouters; | 182 | _this.$router.options.routes = userRouters; |
| 150 | - console.log("home:"); | ||
| 151 | - console.log(_this.$router.options.routes); | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - } | 183 | + // console.log("home:"); |
| 184 | + // console.log(_this.$router.options.routes); | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + } | ||
| 155 | 188 | ||
| 156 | </script> | 189 | </script> |
| 157 | 190 | ||
| 158 | <style scoped lang="scss"> | 191 | <style scoped lang="scss"> |
| 159 | - @import '~scss_vars'; | ||
| 160 | - | ||
| 161 | - .container { | ||
| 162 | - position: absolute; | ||
| 163 | - top: 0px; | ||
| 164 | - bottom: 0px; | ||
| 165 | - width: 100%; | ||
| 166 | - .header { | ||
| 167 | - height: 60px; | ||
| 168 | - line-height: 60px; | ||
| 169 | - background: $color-primary; | ||
| 170 | - color:#fff; | ||
| 171 | - .userinfo { | ||
| 172 | - text-align: right; | ||
| 173 | - padding-right: 35px; | ||
| 174 | - float: right; | ||
| 175 | - .userinfo-inner { | ||
| 176 | - cursor: pointer; | ||
| 177 | - color:#fff; | ||
| 178 | - img { | ||
| 179 | - width: 40px; | ||
| 180 | - height: 40px; | ||
| 181 | - border-radius: 20px; | ||
| 182 | - margin: 10px 0px 10px 10px; | ||
| 183 | - float: right; | ||
| 184 | - } | ||
| 185 | - } | ||
| 186 | - } | ||
| 187 | - .logo { | ||
| 188 | - //width:230px; | ||
| 189 | - height:60px; | ||
| 190 | - font-size: 22px; | ||
| 191 | - padding-left:20px; | ||
| 192 | - padding-right:20px; | ||
| 193 | - border-color: rgba(238,241,146,0.3); | ||
| 194 | - border-right-width: 1px; | ||
| 195 | - border-right-style: solid; | ||
| 196 | - img { | ||
| 197 | - width: 40px; | ||
| 198 | - float: left; | ||
| 199 | - margin: 10px 10px 10px 18px; | ||
| 200 | - } | ||
| 201 | - .txt { | ||
| 202 | - color:#fff; | ||
| 203 | - } | ||
| 204 | - } | ||
| 205 | - .logo-width{ | ||
| 206 | - width:230px; | ||
| 207 | - } | ||
| 208 | - .logo-collapse-width{ | ||
| 209 | - width:60px | ||
| 210 | - } | ||
| 211 | - .tools{ | ||
| 212 | - padding: 0px 23px; | ||
| 213 | - width:14px; | ||
| 214 | - height: 60px; | ||
| 215 | - line-height: 60px; | ||
| 216 | - cursor: pointer; | ||
| 217 | - } | ||
| 218 | - } | ||
| 219 | - .main { | ||
| 220 | - display: flex; | ||
| 221 | - // background: #324057; | ||
| 222 | - position: absolute; | ||
| 223 | - top: 60px; | ||
| 224 | - bottom: 0px; | ||
| 225 | - overflow: hidden; | ||
| 226 | - aside { | ||
| 227 | - flex:0 0 230px; | ||
| 228 | - width: 230px; | ||
| 229 | - // position: absolute; | ||
| 230 | - // top: 0px; | ||
| 231 | - // bottom: 0px; | ||
| 232 | - .el-menu{ | ||
| 233 | - height: 100%; | ||
| 234 | - } | ||
| 235 | - .collapsed{ | ||
| 236 | - width:60px; | ||
| 237 | - .item{ | ||
| 238 | - position: relative; | ||
| 239 | - } | ||
| 240 | - .submenu{ | ||
| 241 | - position:absolute; | ||
| 242 | - top:0px; | ||
| 243 | - left:60px; | ||
| 244 | - z-index:99999; | ||
| 245 | - height:auto; | ||
| 246 | - display:none; | ||
| 247 | - } | ||
| 248 | - | ||
| 249 | - } | ||
| 250 | - } | ||
| 251 | - .menu-collapsed{ | ||
| 252 | - flex:0 0 60px; | ||
| 253 | - width: 60px; | ||
| 254 | - } | ||
| 255 | - .menu-expanded{ | ||
| 256 | - flex:0 0 230px; | ||
| 257 | - width: 230px; | ||
| 258 | - } | ||
| 259 | - .menu-expanded ul{ | ||
| 260 | - width: 230px; | ||
| 261 | - } | ||
| 262 | - .content-container { | ||
| 263 | - // background: #f1f2f7; | ||
| 264 | - flex:1; | ||
| 265 | - // position: absolute; | ||
| 266 | - // right: 0px; | ||
| 267 | - // top: 0px; | ||
| 268 | - // bottom: 0px; | ||
| 269 | - // left: 230px; | ||
| 270 | - overflow-y: scroll; | ||
| 271 | - padding: 20px; | ||
| 272 | - .breadcrumb-container { | ||
| 273 | - //margin-bottom: 15px; | ||
| 274 | - .title { | ||
| 275 | - width: 200px; | ||
| 276 | - float: left; | ||
| 277 | - color: #475669; | ||
| 278 | - } | ||
| 279 | - .breadcrumb-inner { | ||
| 280 | - float: right; | ||
| 281 | - } | ||
| 282 | - } | ||
| 283 | - .content-wrapper { | ||
| 284 | - background-color: #fff; | ||
| 285 | - box-sizing: border-box; | ||
| 286 | - } | ||
| 287 | - } | ||
| 288 | - } | ||
| 289 | - } | 192 | + @import '~scss_vars'; |
| 193 | + | ||
| 194 | + .container { | ||
| 195 | + position: absolute; | ||
| 196 | + top: 0px; | ||
| 197 | + bottom: 0px; | ||
| 198 | + width: 100%; | ||
| 199 | + | ||
| 200 | + .header { | ||
| 201 | + height: 60px; | ||
| 202 | + line-height: 60px; | ||
| 203 | + background: $color-primary; | ||
| 204 | + color: #fff; | ||
| 205 | + | ||
| 206 | + .userinfo { | ||
| 207 | + text-align: right; | ||
| 208 | + padding-right: 35px; | ||
| 209 | + float: right; | ||
| 210 | + | ||
| 211 | + .userinfo-inner { | ||
| 212 | + cursor: pointer; | ||
| 213 | + color: #fff; | ||
| 214 | + | ||
| 215 | + img { | ||
| 216 | + width: 40px; | ||
| 217 | + height: 40px; | ||
| 218 | + border-radius: 20px; | ||
| 219 | + margin: 10px 0px 10px 10px; | ||
| 220 | + float: right; | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + } | ||
| 224 | + | ||
| 225 | + .logo { | ||
| 226 | + //width:230px; | ||
| 227 | + height: 60px; | ||
| 228 | + font-size: 22px; | ||
| 229 | + padding-left: 20px; | ||
| 230 | + padding-right: 20px; | ||
| 231 | + border-color: rgba(238, 241, 146, 0.3); | ||
| 232 | + border-right-width: 1px; | ||
| 233 | + border-right-style: solid; | ||
| 234 | + | ||
| 235 | + img { | ||
| 236 | + width: 40px; | ||
| 237 | + float: left; | ||
| 238 | + margin: 10px 10px 10px 18px; | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + .txt { | ||
| 242 | + color: #fff; | ||
| 243 | + } | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + .logo-width { | ||
| 247 | + width: 230px; | ||
| 248 | + } | ||
| 249 | + | ||
| 250 | + .logo-collapse-width { | ||
| 251 | + width: 60px | ||
| 252 | + } | ||
| 253 | + | ||
| 254 | + .tools { | ||
| 255 | + padding: 0px 23px; | ||
| 256 | + width: 14px; | ||
| 257 | + height: 60px; | ||
| 258 | + line-height: 60px; | ||
| 259 | + cursor: pointer; | ||
| 260 | + } | ||
| 261 | + } | ||
| 262 | + | ||
| 263 | + .main { | ||
| 264 | + display: flex; | ||
| 265 | + // background: #324057; | ||
| 266 | + position: absolute; | ||
| 267 | + top: 60px; | ||
| 268 | + bottom: 0px; | ||
| 269 | + overflow: hidden; | ||
| 270 | + | ||
| 271 | + aside { | ||
| 272 | + flex: 0 0 230px; | ||
| 273 | + width: 230px; | ||
| 274 | + // position: absolute; | ||
| 275 | + // top: 0px; | ||
| 276 | + // bottom: 0px; | ||
| 277 | + .el-menu { | ||
| 278 | + height: 100%; | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + .collapsed { | ||
| 282 | + width: 60px; | ||
| 283 | + | ||
| 284 | + .item { | ||
| 285 | + position: relative; | ||
| 286 | + } | ||
| 287 | + | ||
| 288 | + .submenu { | ||
| 289 | + position: absolute; | ||
| 290 | + top: 0px; | ||
| 291 | + left: 60px; | ||
| 292 | + z-index: 99999; | ||
| 293 | + height: auto; | ||
| 294 | + display: none; | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | + } | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + .menu-collapsed { | ||
| 301 | + flex: 0 0 60px; | ||
| 302 | + width: 60px; | ||
| 303 | + } | ||
| 304 | + | ||
| 305 | + .menu-expanded { | ||
| 306 | + flex: 0 0 230px; | ||
| 307 | + width: 230px; | ||
| 308 | + } | ||
| 309 | + | ||
| 310 | + .menu-expanded ul { | ||
| 311 | + width: 230px; | ||
| 312 | + } | ||
| 313 | + | ||
| 314 | + .content-container { | ||
| 315 | + // background: #f1f2f7; | ||
| 316 | + flex: 1; | ||
| 317 | + // position: absolute; | ||
| 318 | + // right: 0px; | ||
| 319 | + // top: 0px; | ||
| 320 | + // bottom: 0px; | ||
| 321 | + // left: 230px; | ||
| 322 | + overflow-y: scroll; | ||
| 323 | + padding: 20px; | ||
| 324 | + | ||
| 325 | + .breadcrumb-container { | ||
| 326 | + //margin-bottom: 15px; | ||
| 327 | + .title { | ||
| 328 | + width: 200px; | ||
| 329 | + float: left; | ||
| 330 | + color: #475669; | ||
| 331 | + } | ||
| 332 | + | ||
| 333 | + .breadcrumb-inner { | ||
| 334 | + float: right; | ||
| 335 | + } | ||
| 336 | + } | ||
| 337 | + | ||
| 338 | + .content-wrapper { | ||
| 339 | + background-color: #fff; | ||
| 340 | + box-sizing: border-box; | ||
| 341 | + } | ||
| 342 | + } | ||
| 343 | + } | ||
| 344 | + } | ||
| 290 | </style> | 345 | </style> |
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <el-button v-waves :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">{{ $t('table.export') }}</el-button> | 9 | <el-button v-waves :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">{{ $t('table.export') }}</el-button> |
| 10 | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message" @click="handleCreate">批量发送</el-button> | 10 | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-message" @click="handleCreate">批量发送</el-button> |
| 11 | </div> | 11 | </div> |
| 12 | - <tree-table :data="data" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe style="font-size: 13px" border @selection-change="handleSelectionChange"> | 12 | + <tree-table :data="tableData" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe style="font-size: 13px" border @selection-change="handleSelectionChange"> |
| 13 | <el-table-column prop="waybillNo" label="主单号" width="110px" align="center" sortable> | 13 | <el-table-column prop="waybillNo" label="主单号" width="110px" align="center" sortable> |
| 14 | <template slot-scope="scope"> | 14 | <template slot-scope="scope"> |
| 15 | <span>{{ scope.row.waybillNo }}</span> | 15 | <span>{{ scope.row.waybillNo }}</span> |
| @@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
| 79 | </tree-table> | 79 | </tree-table> |
| 80 | <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> | 80 | <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> |
| 81 | 81 | ||
| 82 | - <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" fullscreen="true"> | 82 | + <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" fullscreen> |
| 83 | <el-form ref="" :inline="true" :rules="rules" :model="temp" label-width="100px" style="font-size: 13px"> | 83 | <el-form ref="" :inline="true" :rules="rules" :model="temp" label-width="100px" style="font-size: 13px"> |
| 84 | <div> | 84 | <div> |
| 85 | <el-tag type="info" effect="plain"> | 85 | <el-tag type="info" effect="plain"> |
| @@ -402,6 +402,7 @@ export default { | @@ -402,6 +402,7 @@ export default { | ||
| 402 | return { | 402 | return { |
| 403 | func: treeToArray, | 403 | func: treeToArray, |
| 404 | expandAll: true, | 404 | expandAll: true, |
| 405 | + fullscreen:true, | ||
| 405 | total: 1, | 406 | total: 1, |
| 406 | resend: true, | 407 | resend: true, |
| 407 | loading:false, | 408 | loading:false, |
| @@ -427,6 +428,7 @@ export default { | @@ -427,6 +428,7 @@ export default { | ||
| 427 | flightDate: '', | 428 | flightDate: '', |
| 428 | custom: '' | 429 | custom: '' |
| 429 | }, | 430 | }, |
| 431 | + tableData:[], | ||
| 430 | temp: { | 432 | temp: { |
| 431 | id: undefined, | 433 | id: undefined, |
| 432 | waybillNo: '', | 434 | waybillNo: '', |
| @@ -440,99 +442,7 @@ export default { | @@ -440,99 +442,7 @@ export default { | ||
| 440 | maniWeight: undefined | 442 | maniWeight: undefined |
| 441 | }, | 443 | }, |
| 442 | manifestCustoms: ['4604', '4620', '4613'], | 444 | manifestCustoms: ['4604', '4620', '4613'], |
| 443 | - data: [ | ||
| 444 | - { | ||
| 445 | - id: 0, | ||
| 446 | - waybillNo: '580-20728399', | ||
| 447 | - houseWaybillNo: '', | ||
| 448 | - custom: '4604', | ||
| 449 | - flight: 'CV9733', | ||
| 450 | - flightDate: '2019-06-21', | ||
| 451 | - oriStation: 'LUX', | ||
| 452 | - desStation: 'CGO', | ||
| 453 | - maniPiece: 50, | ||
| 454 | - maniWeight: 21321, | ||
| 455 | - status: '41301', | ||
| 456 | - customText: ' 预配舱单主要数据传输成功。', | ||
| 457 | - customComplate: 25 | ||
| 458 | - }, | ||
| 459 | - { | ||
| 460 | - id: 1, | ||
| 461 | - waybillNo: '580-20728396', | ||
| 462 | - houseWaybillNo: '', | ||
| 463 | - custom: '4604', | ||
| 464 | - flight: 'CV9731', | ||
| 465 | - flightDate: '2019-06-21', | ||
| 466 | - oriStation: 'LUX', | ||
| 467 | - desStation: 'CGO', | ||
| 468 | - maniPiece: 50, | ||
| 469 | - maniWeight: 21321, | ||
| 470 | - status: 'wrong', | ||
| 471 | - customText: ' 预配回执异常 ', | ||
| 472 | - customComplate: 25, | ||
| 473 | - children: [ | ||
| 474 | - { | ||
| 475 | - id: 2, | ||
| 476 | - waybillNo: '580-20728396', | ||
| 477 | - houseWaybillNo: 'ADDSS21231', | ||
| 478 | - custom: '4604', | ||
| 479 | - flight: 'CV9731', | ||
| 480 | - flightDate: '2019-06-21', | ||
| 481 | - oriStation: 'LUX', | ||
| 482 | - desStation: 'CGO', | ||
| 483 | - maniPiece: 50, | ||
| 484 | - maniWeight: 21321, | ||
| 485 | - status: '10002', | ||
| 486 | - customText: ' 已暂存', | ||
| 487 | - customComplate: 0 | ||
| 488 | - }, | ||
| 489 | - { | ||
| 490 | - id: 3, | ||
| 491 | - waybillNo: '580-20728396', | ||
| 492 | - houseWaybillNo: 'SDE3411', | ||
| 493 | - custom: '4604', | ||
| 494 | - flight: 'CV9731', | ||
| 495 | - flightDate: '2019-06-21', | ||
| 496 | - oriStation: 'LUX', | ||
| 497 | - desStation: 'CGO', | ||
| 498 | - maniPiece: 50, | ||
| 499 | - maniWeight: 21321, | ||
| 500 | - status: '45103', | ||
| 501 | - customText: ' 45103 该提(运)单的运抵报告重复申报,海关审核不通过。 关区代码:4604。', | ||
| 502 | - customComplate: 100 | ||
| 503 | - }, | ||
| 504 | - { | ||
| 505 | - id: 4, | ||
| 506 | - waybillNo: '580-20728396', | ||
| 507 | - houseWaybillNo: 'SDE3411', | ||
| 508 | - custom: '4604', | ||
| 509 | - flight: 'CV9731', | ||
| 510 | - flightDate: '2019-06-21', | ||
| 511 | - oriStation: 'LUX', | ||
| 512 | - desStation: 'CGO', | ||
| 513 | - maniPiece: 50, | ||
| 514 | - maniWeight: 21321, | ||
| 515 | - status: '10000', | ||
| 516 | - customText: ' 已删除 ', | ||
| 517 | - customComplate: 50 | ||
| 518 | - } | ||
| 519 | - ] | ||
| 520 | - }, | ||
| 521 | - { | ||
| 522 | - id: 4, | ||
| 523 | - waybillNo: '580-20728391', | ||
| 524 | - houseWaybillNo: '', | ||
| 525 | - custom: '4604', | ||
| 526 | - flight: 'KA740', | ||
| 527 | - flightDate: '2019-06-29', | ||
| 528 | - oriStation: 'LUX', | ||
| 529 | - desStation: 'CGO', | ||
| 530 | - maniPiece: 50, | ||
| 531 | - maniWeight: 21321, | ||
| 532 | - status: '10003', | ||
| 533 | - customText: ' 已发送预配舱单 ' | ||
| 534 | - } | ||
| 535 | - ], | 445 | + |
| 536 | pickerOptions: { | 446 | pickerOptions: { |
| 537 | shortcuts: [ | 447 | shortcuts: [ |
| 538 | { | 448 | { |
| @@ -580,6 +490,10 @@ export default { | @@ -580,6 +490,10 @@ export default { | ||
| 580 | } | 490 | } |
| 581 | } | 491 | } |
| 582 | }, | 492 | }, |
| 493 | + created(){ | ||
| 494 | + console.log(this.$route.params.scopeRow) | ||
| 495 | + this.getList() | ||
| 496 | + }, | ||
| 583 | methods: { | 497 | methods: { |
| 584 | message(row) { | 498 | message(row) { |
| 585 | this.$message.info(row.event) | 499 | this.$message.info(row.event) |
| @@ -624,7 +538,369 @@ export default { | @@ -624,7 +538,369 @@ export default { | ||
| 624 | row.status = status | 538 | row.status = status |
| 625 | }, | 539 | }, |
| 626 | getList() { | 540 | getList() { |
| 541 | + this.tableData = [ | ||
| 542 | + { | ||
| 543 | + id: 0, | ||
| 544 | + waybillNo: '580-20728399', | ||
| 545 | + houseWaybillNo: '', | ||
| 546 | + custom: '4604', | ||
| 547 | + flight: 'CV9733', | ||
| 548 | + flightDate: '2019-06-21', | ||
| 549 | + oriStation: 'LUX', | ||
| 550 | + desStation: 'CGO', | ||
| 551 | + maniPiece: 50, | ||
| 552 | + maniWeight: 21321, | ||
| 553 | + status: '41301', | ||
| 554 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 555 | + customComplate: 25 | ||
| 556 | + }, | ||
| 557 | + { | ||
| 558 | + id: 1, | ||
| 559 | + waybillNo: '580-20728396', | ||
| 560 | + houseWaybillNo: '', | ||
| 561 | + custom: '4604', | ||
| 562 | + flight: 'CV9731', | ||
| 563 | + flightDate: '2019-06-21', | ||
| 564 | + oriStation: 'LUX', | ||
| 565 | + desStation: 'CGO', | ||
| 566 | + maniPiece: 50, | ||
| 567 | + maniWeight: 21321, | ||
| 568 | + status: 'wrong', | ||
| 569 | + customText: ' 预配回执异常 ', | ||
| 570 | + customComplate: 25, | ||
| 571 | + children: [ | ||
| 572 | + { | ||
| 573 | + id: 2, | ||
| 574 | + waybillNo: '580-20728396', | ||
| 575 | + houseWaybillNo: 'ADDSS21231', | ||
| 576 | + custom: '4604', | ||
| 577 | + flight: 'CV9731', | ||
| 578 | + flightDate: '2019-06-21', | ||
| 579 | + oriStation: 'LUX', | ||
| 580 | + desStation: 'CGO', | ||
| 581 | + maniPiece: 50, | ||
| 582 | + maniWeight: 21321, | ||
| 583 | + status: '10002', | ||
| 584 | + customText: ' 已暂存', | ||
| 585 | + customComplate: 0 | ||
| 586 | + }, | ||
| 587 | + { | ||
| 588 | + id: 3, | ||
| 589 | + waybillNo: '580-20728396', | ||
| 590 | + houseWaybillNo: 'SDE3411', | ||
| 591 | + custom: '4604', | ||
| 592 | + flight: 'CV9731', | ||
| 593 | + flightDate: '2019-06-21', | ||
| 594 | + oriStation: 'LUX', | ||
| 595 | + desStation: 'CGO', | ||
| 596 | + maniPiece: 50, | ||
| 597 | + maniWeight: 21321, | ||
| 598 | + status: '45103', | ||
| 599 | + customText: ' 45103 该提(运)单的运抵报告重复申报,海关审核不通过。 关区代码:4604。', | ||
| 600 | + customComplate: 100 | ||
| 601 | + }, | ||
| 602 | + { | ||
| 603 | + id: 4, | ||
| 604 | + waybillNo: '580-20728396', | ||
| 605 | + houseWaybillNo: 'SDE3411', | ||
| 606 | + custom: '4604', | ||
| 607 | + flight: 'CV9731', | ||
| 608 | + flightDate: '2019-06-21', | ||
| 609 | + oriStation: 'LUX', | ||
| 610 | + desStation: 'CGO', | ||
| 611 | + maniPiece: 50, | ||
| 612 | + maniWeight: 21321, | ||
| 613 | + status: '10000', | ||
| 614 | + customText: ' 已删除 ', | ||
| 615 | + customComplate: 50 | ||
| 616 | + } | ||
| 617 | + ] | ||
| 618 | + }, | ||
| 619 | + { | ||
| 620 | + id: 4, | ||
| 621 | + waybillNo: '580-20728391', | ||
| 622 | + houseWaybillNo: '', | ||
| 623 | + custom: '4604', | ||
| 624 | + flight: 'KA740', | ||
| 625 | + flightDate: '2019-06-29', | ||
| 626 | + oriStation: 'LUX', | ||
| 627 | + desStation: 'CGO', | ||
| 628 | + maniPiece: 50, | ||
| 629 | + maniWeight: 21321, | ||
| 630 | + status: '10003', | ||
| 631 | + customText: ' 已发送预配舱单 ' | ||
| 632 | + }, | ||
| 633 | + { | ||
| 634 | + id: 5, | ||
| 635 | + waybillNo: '580-20728399', | ||
| 636 | + houseWaybillNo: '', | ||
| 637 | + custom: '4604', | ||
| 638 | + flight: 'CV9733', | ||
| 639 | + flightDate: '2019-06-21', | ||
| 640 | + oriStation: 'LUX', | ||
| 641 | + desStation: 'CGO', | ||
| 642 | + maniPiece: 50, | ||
| 643 | + maniWeight: 21321, | ||
| 644 | + status: '41301', | ||
| 645 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 646 | + customComplate: 25 | ||
| 647 | + }, | ||
| 648 | + { | ||
| 649 | + id: 6, | ||
| 650 | + waybillNo: '580-20728399', | ||
| 651 | + houseWaybillNo: '', | ||
| 652 | + custom: '4604', | ||
| 653 | + flight: 'CV9733', | ||
| 654 | + flightDate: '2019-06-21', | ||
| 655 | + oriStation: 'LUX', | ||
| 656 | + desStation: 'CGO', | ||
| 657 | + maniPiece: 50, | ||
| 658 | + maniWeight: 21321, | ||
| 659 | + status: '41301', | ||
| 660 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 661 | + customComplate: 25 | ||
| 662 | + }, | ||
| 663 | + { | ||
| 664 | + id: 7, | ||
| 665 | + waybillNo: '580-20728399', | ||
| 666 | + houseWaybillNo: '', | ||
| 667 | + custom: '4604', | ||
| 668 | + flight: 'CV9733', | ||
| 669 | + flightDate: '2019-06-21', | ||
| 670 | + oriStation: 'LUX', | ||
| 671 | + desStation: 'CGO', | ||
| 672 | + maniPiece: 50, | ||
| 673 | + maniWeight: 21321, | ||
| 674 | + status: '41301', | ||
| 675 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 676 | + customComplate: 25 | ||
| 677 | + }, | ||
| 678 | + { | ||
| 679 | + id: 8, | ||
| 680 | + waybillNo: '580-20728399', | ||
| 681 | + houseWaybillNo: '', | ||
| 682 | + custom: '4604', | ||
| 683 | + flight: 'CV9733', | ||
| 684 | + flightDate: '2019-06-21', | ||
| 685 | + oriStation: 'LUX', | ||
| 686 | + desStation: 'CGO', | ||
| 687 | + maniPiece: 50, | ||
| 688 | + maniWeight: 21321, | ||
| 689 | + status: '41301', | ||
| 690 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 691 | + customComplate: 25 | ||
| 692 | + }, | ||
| 693 | + { | ||
| 694 | + id: 9, | ||
| 695 | + waybillNo: '580-20728399', | ||
| 696 | + houseWaybillNo: '', | ||
| 697 | + custom: '4604', | ||
| 698 | + flight: 'CV9733', | ||
| 699 | + flightDate: '2019-06-21', | ||
| 700 | + oriStation: 'LUX', | ||
| 701 | + desStation: 'CGO', | ||
| 702 | + maniPiece: 50, | ||
| 703 | + maniWeight: 21321, | ||
| 704 | + status: '41301', | ||
| 705 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 706 | + customComplate: 25 | ||
| 707 | + }, | ||
| 708 | + { | ||
| 709 | + id: 10, | ||
| 710 | + waybillNo: '580-20728399', | ||
| 711 | + houseWaybillNo: '', | ||
| 712 | + custom: '4604', | ||
| 713 | + flight: 'CV9733', | ||
| 714 | + flightDate: '2019-06-21', | ||
| 715 | + oriStation: 'LUX', | ||
| 716 | + desStation: 'CGO', | ||
| 717 | + maniPiece: 50, | ||
| 718 | + maniWeight: 21321, | ||
| 719 | + status: '41301', | ||
| 720 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 721 | + customComplate: 25 | ||
| 722 | + }, | ||
| 723 | + { | ||
| 724 | + id: 11, | ||
| 725 | + waybillNo: '580-20728399', | ||
| 726 | + houseWaybillNo: '', | ||
| 727 | + custom: '4604', | ||
| 728 | + flight: 'CV9733', | ||
| 729 | + flightDate: '2019-06-21', | ||
| 730 | + oriStation: 'LUX', | ||
| 731 | + desStation: 'CGO', | ||
| 732 | + maniPiece: 50, | ||
| 733 | + maniWeight: 21321, | ||
| 734 | + status: '41301', | ||
| 735 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 736 | + customComplate: 25 | ||
| 737 | + }, | ||
| 738 | + { | ||
| 739 | + id: 12, | ||
| 740 | + waybillNo: '580-20728399', | ||
| 741 | + houseWaybillNo: '', | ||
| 742 | + custom: '4604', | ||
| 743 | + flight: 'CV9733', | ||
| 744 | + flightDate: '2019-06-21', | ||
| 745 | + oriStation: 'LUX', | ||
| 746 | + desStation: 'CGO', | ||
| 747 | + maniPiece: 50, | ||
| 748 | + maniWeight: 21321, | ||
| 749 | + status: '41301', | ||
| 750 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 751 | + customComplate: 25 | ||
| 752 | + }, | ||
| 753 | + { | ||
| 754 | + id: 13, | ||
| 755 | + waybillNo: '580-20728399', | ||
| 756 | + houseWaybillNo: '', | ||
| 757 | + custom: '4604', | ||
| 758 | + flight: 'CV9733', | ||
| 759 | + flightDate: '2019-06-21', | ||
| 760 | + oriStation: 'LUX', | ||
| 761 | + desStation: 'CGO', | ||
| 762 | + maniPiece: 50, | ||
| 763 | + maniWeight: 21321, | ||
| 764 | + status: '41301', | ||
| 765 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 766 | + customComplate: 25 | ||
| 767 | + },{ | ||
| 768 | + id: 14, | ||
| 769 | + waybillNo: '580-20728399', | ||
| 770 | + houseWaybillNo: '', | ||
| 771 | + custom: '4604', | ||
| 772 | + flight: 'CV9733', | ||
| 773 | + flightDate: '2019-06-21', | ||
| 774 | + oriStation: 'LUX', | ||
| 775 | + desStation: 'CGO', | ||
| 776 | + maniPiece: 50, | ||
| 777 | + maniWeight: 21321, | ||
| 778 | + status: '41301', | ||
| 779 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 780 | + customComplate: 25 | ||
| 781 | + }, | ||
| 782 | + { | ||
| 783 | + id: 15, | ||
| 784 | + waybillNo: '580-20728399', | ||
| 785 | + houseWaybillNo: '', | ||
| 786 | + custom: '4604', | ||
| 787 | + flight: 'CV9733', | ||
| 788 | + flightDate: '2019-06-21', | ||
| 789 | + oriStation: 'LUX', | ||
| 790 | + desStation: 'CGO', | ||
| 791 | + maniPiece: 50, | ||
| 792 | + maniWeight: 21321, | ||
| 793 | + status: '41301', | ||
| 794 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 795 | + customComplate: 25 | ||
| 796 | + }, | ||
| 797 | + { | ||
| 798 | + id: 16, | ||
| 799 | + waybillNo: '580-20728399', | ||
| 800 | + houseWaybillNo: '', | ||
| 801 | + custom: '4604', | ||
| 802 | + flight: 'CV9733', | ||
| 803 | + flightDate: '2019-06-21', | ||
| 804 | + oriStation: 'LUX', | ||
| 805 | + desStation: 'CGO', | ||
| 806 | + maniPiece: 50, | ||
| 807 | + maniWeight: 21321, | ||
| 808 | + status: '41301', | ||
| 809 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 810 | + customComplate: 25 | ||
| 811 | + }, | ||
| 812 | + { | ||
| 813 | + id: 17, | ||
| 814 | + waybillNo: '580-20728399', | ||
| 815 | + houseWaybillNo: '', | ||
| 816 | + custom: '4604', | ||
| 817 | + flight: 'CV9733', | ||
| 818 | + flightDate: '2019-06-21', | ||
| 819 | + oriStation: 'LUX', | ||
| 820 | + desStation: 'CGO', | ||
| 821 | + maniPiece: 50, | ||
| 822 | + maniWeight: 21321, | ||
| 823 | + status: '41301', | ||
| 824 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 825 | + customComplate: 25 | ||
| 826 | + }, | ||
| 827 | + { | ||
| 828 | + id: 18, | ||
| 829 | + waybillNo: '580-20728399', | ||
| 830 | + houseWaybillNo: '', | ||
| 831 | + custom: '4604', | ||
| 832 | + flight: 'CV9733', | ||
| 833 | + flightDate: '2019-06-21', | ||
| 834 | + oriStation: 'LUX', | ||
| 835 | + desStation: 'CGO', | ||
| 836 | + maniPiece: 50, | ||
| 837 | + maniWeight: 21321, | ||
| 838 | + status: '41301', | ||
| 839 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 840 | + customComplate: 25 | ||
| 841 | + }, | ||
| 842 | + { | ||
| 843 | + id: 19, | ||
| 844 | + waybillNo: '580-20728399', | ||
| 845 | + houseWaybillNo: '', | ||
| 846 | + custom: '4604', | ||
| 847 | + flight: 'CV9733', | ||
| 848 | + flightDate: '2019-06-21', | ||
| 849 | + oriStation: 'LUX', | ||
| 850 | + desStation: 'CGO', | ||
| 851 | + maniPiece: 50, | ||
| 852 | + maniWeight: 21321, | ||
| 853 | + status: '41301', | ||
| 854 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 855 | + customComplate: 25 | ||
| 856 | + }, | ||
| 857 | + { | ||
| 858 | + id: 20, | ||
| 859 | + waybillNo: '580-20728399', | ||
| 860 | + houseWaybillNo: '', | ||
| 861 | + custom: '4604', | ||
| 862 | + flight: 'CV9733', | ||
| 863 | + flightDate: '2019-06-21', | ||
| 864 | + oriStation: 'LUX', | ||
| 865 | + desStation: 'CGO', | ||
| 866 | + maniPiece: 50, | ||
| 867 | + maniWeight: 21321, | ||
| 868 | + status: '41301', | ||
| 869 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 870 | + customComplate: 25 | ||
| 871 | + }, | ||
| 872 | + { | ||
| 873 | + id: 23, | ||
| 874 | + waybillNo: '580-20728399', | ||
| 875 | + houseWaybillNo: '', | ||
| 876 | + custom: '4604', | ||
| 877 | + flight: 'CV9733', | ||
| 878 | + flightDate: '2019-06-21', | ||
| 879 | + oriStation: 'LUX', | ||
| 880 | + desStation: 'CGO', | ||
| 881 | + maniPiece: 50, | ||
| 882 | + maniWeight: 21321, | ||
| 883 | + status: '41301', | ||
| 884 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 885 | + customComplate: 25 | ||
| 886 | + }, { | ||
| 887 | + id: 22, | ||
| 888 | + waybillNo: '580-20728399', | ||
| 889 | + houseWaybillNo: '', | ||
| 890 | + custom: '4604', | ||
| 891 | + flight: 'CV9733', | ||
| 892 | + flightDate: '2019-06-21', | ||
| 893 | + oriStation: 'LUX', | ||
| 894 | + desStation: 'CGO', | ||
| 895 | + maniPiece: 50, | ||
| 896 | + maniWeight: 21321, | ||
| 897 | + status: '41300', | ||
| 898 | + customText: ' 预配舱单主要数据传输成功。', | ||
| 899 | + customComplate: 25 | ||
| 900 | + } | ||
| 627 | 901 | ||
| 902 | + ] | ||
| 903 | + this.total = this.tableData.length | ||
| 628 | }, | 904 | }, |
| 629 | handleSelectionChange(val) { | 905 | handleSelectionChange(val) { |
| 630 | this.multipleSelection = val | 906 | this.multipleSelection = val |
src/views/lostLoadChange/lostLoadChange.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div class="app-content"> | ||
| 4 | + <div class="filter-container"> | ||
| 5 | + <el-input v-model="listQuery.awba" clearable style="width: 200px;" class="filter-item" placeholder="运单号"/> | ||
| 6 | + <el-input v-model="listQuery.carrier" clearable style="width: 200px;" class="filter-item" placeholder="承运人"/> | ||
| 7 | + <el-input v-model="listQuery.flightno" clearable style="width: 200px;" class="filter-item" placeholder="航班号"/> | ||
| 8 | + <el-date-picker v-model="listQuery.flightDate" type="date" placeholder="航班日期" | ||
| 9 | + value-format="yyyy-MM-dd" class="filter-item"></el-date-picker> | ||
| 10 | + </div> | ||
| 11 | + <div class="filter-container"> | ||
| 12 | + <el-select v-model="listQuery.messageType" clearable class="filter-item" placeholder="请选择报文类型" style="width: 200px;"> | ||
| 13 | + <el-option v-for="item in messageTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 14 | + </el-select> | ||
| 15 | + <el-select v-model="listQuery.messageStatus" clearable class="filter-item" placeholder="请选择报文状态" style="width: 200px;"> | ||
| 16 | + <el-option v-for="item in messageStatusList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 17 | + </el-select> | ||
| 18 | + <el-select v-model="listQuery.customStatus" clearable class="filter-item" placeholder="请选择海关状态" style="width: 200px;"> | ||
| 19 | + <el-option v-for="item in customStatusList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 20 | + </el-select> | ||
| 21 | + <el-button class="filter-item" type="primary" @click="handleSearch">查询</el-button> | ||
| 22 | + <el-button class="filter-item" style="margin-left: 10px;" type="warning" | ||
| 23 | + @click="handleUpdateStatus">批量修改状态</el-button> | ||
| 24 | + </div> | ||
| 25 | + <div class="midSpan"> | ||
| 26 | + <el-row> | ||
| 27 | + <el-col :span="0.5"> | ||
| 28 | + <span style="color: red">注:</span> | ||
| 29 | + </el-col> | ||
| 30 | + <el-col :span="1" style="background: oldlace; margin-right: 5px" align="center"> | ||
| 31 | + <span>预配舱单</span> | ||
| 32 | + </el-col> | ||
| 33 | + <el-col :span="1" style="background: #f0f9eb; margin-right: 5px" align="center"> | ||
| 34 | + <span>出港运抵</span> | ||
| 35 | + </el-col> | ||
| 36 | + <el-col :span="1" style="background: #bce7fd; margin-right: 5px" align="center"> | ||
| 37 | + <span>出港装载</span> | ||
| 38 | + </el-col> | ||
| 39 | + <el-col :span="1" style="background: #f5ffc0" align="center"> | ||
| 40 | + <span>出港理货</span> | ||
| 41 | + </el-col> | ||
| 42 | + </el-row> | ||
| 43 | + </div> | ||
| 44 | + <tree-table v-loading="listLoading" :data="manifestData" :eval-func="func" :expand-all="true" | ||
| 45 | + style="font-size: 13px" border @selection-change="handleSelectionChange" | ||
| 46 | + :row-class-name="tableRowClassName"> | ||
| 47 | + <el-table-column label="航班号" width="80px" align="center"> | ||
| 48 | + <template slot-scope="scope"> | ||
| 49 | + <span>{{ scope.row.carrier }}{{ scope.row.flightno }}</span> | ||
| 50 | + </template> | ||
| 51 | + </el-table-column> | ||
| 52 | + <el-table-column label="航班日期" width="100px" align="center"> | ||
| 53 | + <template slot-scope="scope"> | ||
| 54 | + <span>{{ scope.row.flightdate }}</span> | ||
| 55 | + </template> | ||
| 56 | + </el-table-column> | ||
| 57 | + <el-table-column label="航段" width="100px" align="center"> | ||
| 58 | + <template slot-scope="scope"> | ||
| 59 | + <span>{{ scope.row.originstation }}-{{ scope.row.destinationstation }}</span> | ||
| 60 | + </template> | ||
| 61 | + </el-table-column> | ||
| 62 | + <el-table-column label="主单号" width="120px" align="center" > | ||
| 63 | + <template slot-scope="scope" > | ||
| 64 | + <span>{{ scope.row.awba }}</span> | ||
| 65 | + </template> | ||
| 66 | + </el-table-column> | ||
| 67 | + <el-table-column label="分单号" width="150px" align="center"> | ||
| 68 | + <template slot-scope="scope"> | ||
| 69 | + <span>{{ scope.row.awbh }}</span> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 72 | + <el-table-column label="件数" width="60px" align="center"> | ||
| 73 | + <template slot-scope="scope"> | ||
| 74 | + <span>{{ scope.row.piece }}</span> | ||
| 75 | + </template> | ||
| 76 | + </el-table-column> | ||
| 77 | + <el-table-column label="重量" width="60px" align="center"> | ||
| 78 | + <template slot-scope="scope"> | ||
| 79 | + <span>{{ scope.row.weight }}</span> | ||
| 80 | + </template> | ||
| 81 | + </el-table-column> | ||
| 82 | + <el-table-column label="关区" width="60px" align="center"> | ||
| 83 | + <template slot-scope="scope"> | ||
| 84 | + <span>{{ scope.row.customcode }}</span> | ||
| 85 | + </template> | ||
| 86 | + </el-table-column> | ||
| 87 | + <el-table-column label="时间" width="150px" align="center"> | ||
| 88 | + <template slot-scope="scope"> | ||
| 89 | + <span>{{ scope.row.actime }}</span> | ||
| 90 | + </template> | ||
| 91 | + </el-table-column> | ||
| 92 | + <el-table-column label="状态" width="90px" align="center"> | ||
| 93 | + <template slot-scope="scope"> | ||
| 94 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 95 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 96 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 97 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 98 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 99 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 100 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 101 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 102 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 103 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 104 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 105 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 106 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 107 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 108 | + </template> | ||
| 109 | + </el-table-column> | ||
| 110 | + <el-table-column label="回执内容" align="center" show-overflow-tooltip> | ||
| 111 | + <template slot-scope="scope"> | ||
| 112 | + <span>{{ scope.row.customText }}</span> | ||
| 113 | + <!--<div>--> | ||
| 114 | + <!--<el-progress :percentage="scope.row.customComplate" :status="scope.row.status | statusFilter"/>--> | ||
| 115 | + <!--</div>--> | ||
| 116 | + </template> | ||
| 117 | + </el-table-column> | ||
| 118 | + <el-table-column label="操作" width="180px" align="center"> | ||
| 119 | + <template slot-scope="scope"> | ||
| 120 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT2201'" @click="handleUpdate(scope.row)">预配舱单</a> | ||
| 121 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT3201'" @click="handleUpdate(scope.row)">出港运抵</a> | ||
| 122 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT4201'" @click="handleUpdate(scope.row)">出港装载</a> | ||
| 123 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT5202'" @click="handleUpdate(scope.row)">出港理货</a> | ||
| 124 | + <a style="color: #1d8ce0" @click="handleUpdateStatus(scope.row)">更改状态</a> | ||
| 125 | + </template> | ||
| 126 | + </el-table-column> | ||
| 127 | + </tree-table> | ||
| 128 | + <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | ||
| 129 | + @pagination="getList"/> | ||
| 130 | + </div> | ||
| 131 | +</template> | ||
| 132 | +<script> | ||
| 133 | + import treeTable from '@/components/TreeTable' | ||
| 134 | + import treeToArray from '@/utils/customEval' | ||
| 135 | + import Pagination from '@/components/Pagination' | ||
| 136 | + import {getManifests} from "@/api/exitManifest" | ||
| 137 | + | ||
| 138 | + import {getMt520XListForParam} from "@/api/exitTidy"; | ||
| 139 | + import {getMt3201ListForParam} from "@/api/exitArrive"; | ||
| 140 | + import {getMt4201ListForParam} from "@/api/exitLoading"; | ||
| 141 | + | ||
| 142 | + export default { | ||
| 143 | + name: "LostLoadChange", | ||
| 144 | + components: {treeTable, Pagination}, | ||
| 145 | + inject:['reload'], | ||
| 146 | + data() { | ||
| 147 | + return { | ||
| 148 | + func: treeToArray, | ||
| 149 | + total: 1, | ||
| 150 | + listLoading: false, | ||
| 151 | + listQuery: { | ||
| 152 | + pageSize: 1, | ||
| 153 | + limitSize: 100, | ||
| 154 | + awba:undefined, | ||
| 155 | + carrier: undefined, | ||
| 156 | + flightno:undefined, | ||
| 157 | + flightDate: new Date(), | ||
| 158 | + messageType: undefined, | ||
| 159 | + messageStatus: undefined, | ||
| 160 | + customStatus: undefined, | ||
| 161 | + }, | ||
| 162 | + manifestData: [], | ||
| 163 | + messageTypeList: [ | ||
| 164 | + {label:'预配舱单',value:'MT2201'}, | ||
| 165 | + {label:'出港运抵',value:'MT3201'}, | ||
| 166 | + {label:'出港装载',value:'MT4201'}, | ||
| 167 | + {label:'出港理货',value:'MT5202'} | ||
| 168 | + ], | ||
| 169 | + messageStatusList: [ | ||
| 170 | + {label:'未发送',value:'01'}, | ||
| 171 | + {label:'已发舱单报',value:'02'}, | ||
| 172 | + {label:'舱单报退单',value:'05'}, | ||
| 173 | + {label:'舱单转人工',value:'06'}, | ||
| 174 | + {label:'舱单报申报成功',value:'07'}, | ||
| 175 | + {label:'已发舱单删除报',value:'08'}, | ||
| 176 | + {label:'舱单删除报退单',value:'09'}, | ||
| 177 | + {label:'舱单删除报转人工',value:'10'}, | ||
| 178 | + {label:'舱单删除成功',value:'11'}, | ||
| 179 | + {label:'已发舱单修改报',value:'12'}, | ||
| 180 | + {label:'舱单修改报退单',value:'13'}, | ||
| 181 | + {label:'舱单修改报转人工',value:'14'}, | ||
| 182 | + {label:'舱单修改报成功',value:'15'}, | ||
| 183 | + {label:'海关已存在',value:'16'}, | ||
| 184 | + ], | ||
| 185 | + customStatusList: [ | ||
| 186 | + {label:'普通货物',value:'001'}, | ||
| 187 | + {label:'国际转运货物',value:'002'}, | ||
| 188 | + {label:'国内转关',value:'003'}, | ||
| 189 | + {label:'空箱',value:'004'}, | ||
| 190 | + {label:'快件',value:'006'}, | ||
| 191 | + ] | ||
| 192 | + } | ||
| 193 | + }, | ||
| 194 | + methods: { | ||
| 195 | + getList() { | ||
| 196 | + this.listLoading = true | ||
| 197 | + getManifests(this.listQuery).then(res =>{ | ||
| 198 | + this.manifestData = res.data.dataList | ||
| 199 | + this.total = res.data.count | ||
| 200 | + setTimeout(() =>{ | ||
| 201 | + this.listLoading = false | ||
| 202 | + },1500) | ||
| 203 | + }) | ||
| 204 | + }, | ||
| 205 | + handleSelectionChange() { | ||
| 206 | + | ||
| 207 | + }, | ||
| 208 | + handleSearch(){ | ||
| 209 | + this.getList() | ||
| 210 | + }, | ||
| 211 | + handleUpdateStatus(row){ | ||
| 212 | + | ||
| 213 | + }, | ||
| 214 | + handleUpdate(row){ | ||
| 215 | + if(row.messageType === 'MT2201'){ | ||
| 216 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 217 | + } | ||
| 218 | + if(row.messageType === 'MT3201'){ | ||
| 219 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 220 | + } | ||
| 221 | + if(row.messageType === 'MT4201'){ | ||
| 222 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 223 | + } | ||
| 224 | + if(row.messageType === 'MT5201'){ | ||
| 225 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 226 | + } | ||
| 227 | + }, | ||
| 228 | + tableRowClassName({row,index}){ | ||
| 229 | + if(row.messageType === 'MT2201'){ | ||
| 230 | + return 'MT2201-row' | ||
| 231 | + } | ||
| 232 | + if(row.messageType === 'MT3201'){ | ||
| 233 | + return 'MT3201-row' | ||
| 234 | + } | ||
| 235 | + if(row.messageType === 'MT4201'){ | ||
| 236 | + return 'MT4201-row' | ||
| 237 | + } | ||
| 238 | + if(row.messageType === 'MT5202'){ | ||
| 239 | + return 'MT5202-row' | ||
| 240 | + } | ||
| 241 | + } | ||
| 242 | + } | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | +</script> | ||
| 246 | +<style> | ||
| 247 | + .el-table .MT2201-row { | ||
| 248 | + background: oldlace; | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + .el-table .MT3201-row { | ||
| 252 | + background: #f0f9eb; | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + .el-table .MT4201-row { | ||
| 256 | + background: #bce7fd; | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + .el-table .MT5202-row { | ||
| 260 | + background: #f5ffc0; | ||
| 261 | + } | ||
| 262 | + .app-content{ | ||
| 263 | + margin-top: 20px; | ||
| 264 | + } | ||
| 265 | + .midSpan{ | ||
| 266 | + margin-bottom: 10px; | ||
| 267 | + } | ||
| 268 | +</style> |
src/views/lostLoadChange/lostLoading.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div class="app-content"> | ||
| 4 | + <div class="filter-container"> | ||
| 5 | + <el-input v-model="listQuery.awba" clearable style="width: 200px;" class="filter-item" placeholder="主单号"/> | ||
| 6 | + <el-input v-model="listQuery.awbh" clearable style="width: 200px;" class="filter-item" placeholder="分单号"/> | ||
| 7 | + <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button> | ||
| 8 | + </div> | ||
| 9 | + <div> | ||
| 10 | + <span style="color: red">注:主分单必须同时为空或者同时不为空</span> | ||
| 11 | + </div> | ||
| 12 | + <tree-table v-loading="listLoading" :data="lostLoadData" :eval-func="func" :expand-all="true" | ||
| 13 | + style="font-size: 12px" border> | ||
| 14 | + <el-table-column label="航班号" width="70px" align="center"> | ||
| 15 | + <template slot-scope="scope"> | ||
| 16 | + <span>{{ scope.row.carrier }}{{ scope.row.flightno }}</span> | ||
| 17 | + </template> | ||
| 18 | + </el-table-column> | ||
| 19 | + <el-table-column label="航班日期" width="100px" align="center"> | ||
| 20 | + <template slot-scope="scope"> | ||
| 21 | + <span>{{ scope.row.flightdate }}</span> | ||
| 22 | + </template> | ||
| 23 | + </el-table-column> | ||
| 24 | + <el-table-column label="航段" width="90px" align="center"> | ||
| 25 | + <template slot-scope="scope"> | ||
| 26 | + <span>{{ scope.row.originstation }}-{{ scope.row.destinationstation }}</span> | ||
| 27 | + </template> | ||
| 28 | + </el-table-column> | ||
| 29 | + <el-table-column label="主单号" width="120px" align="center"> | ||
| 30 | + <template slot-scope="scope"> | ||
| 31 | + <span>{{ scope.row.awba }}</span> | ||
| 32 | + </template> | ||
| 33 | + </el-table-column> | ||
| 34 | + <el-table-column label="分单号" width="150px" align="center"> | ||
| 35 | + <template slot-scope="scope"> | ||
| 36 | + <span>{{ scope.row.awbh }}</span> | ||
| 37 | + </template> | ||
| 38 | + </el-table-column> | ||
| 39 | + <el-table-column label="件数" width="60px" align="center"> | ||
| 40 | + <template slot-scope="scope"> | ||
| 41 | + <span>{{ scope.row.piece }}</span> | ||
| 42 | + </template> | ||
| 43 | + </el-table-column> | ||
| 44 | + <el-table-column label="重量" width="60px" align="center"> | ||
| 45 | + <template slot-scope="scope"> | ||
| 46 | + <span>{{ scope.row.weight }}</span> | ||
| 47 | + </template> | ||
| 48 | + </el-table-column> | ||
| 49 | + <el-table-column label="关区" width="60px" align="center"> | ||
| 50 | + <template slot-scope="scope"> | ||
| 51 | + <span>{{ scope.row.customcode }}</span> | ||
| 52 | + </template> | ||
| 53 | + </el-table-column> | ||
| 54 | + <el-table-column label="时间" width="150px" align="center"> | ||
| 55 | + <template slot-scope="scope"> | ||
| 56 | + <span>{{ scope.row.actime }}</span> | ||
| 57 | + </template> | ||
| 58 | + </el-table-column> | ||
| 59 | + <el-table-column label="落装状态" width="90px" align="center"> | ||
| 60 | + <template slot-scope="scope"> | ||
| 61 | + <span v-if="scope.row.offload ==='001'">未落装</span> | ||
| 62 | + <span v-if="scope.row.offload ==='002'">已落装</span> | ||
| 63 | + <span v-if="scope.row.offload ==='003'">以落装改配</span> | ||
| 64 | + </template> | ||
| 65 | + </el-table-column> | ||
| 66 | + <el-table-column label="状态" width="90px" align="center"> | ||
| 67 | + <template slot-scope="scope"> | ||
| 68 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 69 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 70 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 71 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 72 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 73 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 74 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 75 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 76 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 77 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 78 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 79 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 80 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 81 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 82 | + </template> | ||
| 83 | + </el-table-column> | ||
| 84 | + <el-table-column label="回执内容" align="center" show-overflow-tooltip> | ||
| 85 | + <template slot-scope="scope"> | ||
| 86 | + <span>{{ scope.row.ext5 }}</span> | ||
| 87 | + </template> | ||
| 88 | + </el-table-column> | ||
| 89 | + <el-table-column label="操作" width="220px" align="center"> | ||
| 90 | + <template slot-scope="scope"> | ||
| 91 | + <el-button size="mini" type="primary" @click="handleLostLoad(scope.row)" | ||
| 92 | + :disabled="scope.row.offload ==='002'">落装申请 | ||
| 93 | + </el-button> | ||
| 94 | + <el-button size="mini" type="success" @click="handleLostChange(scope.row)" | ||
| 95 | + :disabled="scope.row.offload ==='003'">落装改配 | ||
| 96 | + </el-button> | ||
| 97 | + </template> | ||
| 98 | + </el-table-column> | ||
| 99 | + </tree-table> | ||
| 100 | + <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | ||
| 101 | + @pagination="getList"/> | ||
| 102 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible"> | ||
| 103 | + <el-form ref="lostChangeData" :model="lostChangeModel" :rules="lostChangeRules" label-width="120px"> | ||
| 104 | + <el-form-item label="需改配主单号" prop="manifest"> | ||
| 105 | + <el-input v-model="lostChangeModel.awba" style="width: 300px"></el-input> | ||
| 106 | + </el-form-item> | ||
| 107 | + <el-form-item label="需改配分单号" prop="manifest"> | ||
| 108 | + <el-input v-model="lostChangeModel.awbh" style="width: 300px"></el-input> | ||
| 109 | + </el-form-item> | ||
| 110 | + <el-form-item label="改配后主单号" prop="manifest"> | ||
| 111 | + <el-input v-model="lostChangeModel.manifest" style="width: 300px"></el-input> | ||
| 112 | + </el-form-item> | ||
| 113 | + </el-form> | ||
| 114 | + <div slot="footer" class="dialog-footer"> | ||
| 115 | + <el-button @click="dialogFormVisible = false">取消</el-button> | ||
| 116 | + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | ||
| 117 | + </div> | ||
| 118 | + </el-dialog> | ||
| 119 | + </div> | ||
| 120 | + | ||
| 121 | +</template> | ||
| 122 | +<script> | ||
| 123 | + import treeTable from '@/components/TreeTable' | ||
| 124 | + import treeToArray from '@/utils/customEval' | ||
| 125 | + import Pagination from '@/components/Pagination' | ||
| 126 | + import {getMt2201ListForParam, getLostLoadChange, saveLostChange, saveLostLoad} from "@/api/exitPre"; | ||
| 127 | + import {Message} from 'element-ui' | ||
| 128 | + export default { | ||
| 129 | + name: "LostLoad", | ||
| 130 | + components: {treeTable, Pagination}, | ||
| 131 | + inject: ['reload'], | ||
| 132 | + data() { | ||
| 133 | + return { | ||
| 134 | + func: treeToArray, | ||
| 135 | + preTableStatus: true, | ||
| 136 | + lostTableStatus: false, | ||
| 137 | + total: 1, | ||
| 138 | + listLoading: false, | ||
| 139 | + listQuery: { | ||
| 140 | + pageSize: 1, | ||
| 141 | + limitSize: 100, | ||
| 142 | + awba: undefined, | ||
| 143 | + awbh: undefined, | ||
| 144 | + }, | ||
| 145 | + dialogFormVisible: false, | ||
| 146 | + dialogStatus: undefined, | ||
| 147 | + dialogMap: { | ||
| 148 | + create: '发送落装改配' | ||
| 149 | + }, | ||
| 150 | + lostLoadData: [], | ||
| 151 | + lostChangeModel:{ | ||
| 152 | + uuid: undefined, | ||
| 153 | + awba: undefined, | ||
| 154 | + awbh: undefined, | ||
| 155 | + manifest: undefined | ||
| 156 | + }, | ||
| 157 | + lostChangeRules:{} | ||
| 158 | + } | ||
| 159 | + }, | ||
| 160 | + methods: { | ||
| 161 | + getList() { | ||
| 162 | + this.listLoading = true | ||
| 163 | + if (this.listQuery.awba !== undefined && this.listQuery.awbh !== undefined && | ||
| 164 | + this.listQuery.awba !== '' && this.listQuery.awbh !== '') { | ||
| 165 | + getLostLoadChange(this.listQuery).then(res => { | ||
| 166 | + this.lostLoadData = res.data.dataList | ||
| 167 | + this.total = res.data.count | ||
| 168 | + setTimeout(() => { | ||
| 169 | + this.listLoading = false | ||
| 170 | + }, 1500) | ||
| 171 | + }) | ||
| 172 | + } else { | ||
| 173 | + this.listQuery.awba = undefined | ||
| 174 | + this.listQuery.awbh = undefined | ||
| 175 | + getMt2201ListForParam(this.listQuery).then(res => { | ||
| 176 | + this.lostLoadData = res.data.dataList | ||
| 177 | + this.total = res.data.count | ||
| 178 | + setTimeout(() => { | ||
| 179 | + this.listLoading = false | ||
| 180 | + }, 1500) | ||
| 181 | + }) | ||
| 182 | + } | ||
| 183 | + }, | ||
| 184 | + handleSearch() { | ||
| 185 | + this.getList() | ||
| 186 | + }, | ||
| 187 | + handleLostLoad(row) { | ||
| 188 | + console.log(row) | ||
| 189 | + this.$confirm("是否发送落装申请", "确认消息", { | ||
| 190 | + distinguishCancelAndClose: true, | ||
| 191 | + confirmButtonText: '确认发送', | ||
| 192 | + cancelButtonText: '取消发送' | ||
| 193 | + }).then(() => { | ||
| 194 | + delete row.parent | ||
| 195 | + delete row.children | ||
| 196 | + saveLostLoad(row).then(res => { | ||
| 197 | + if (res.data.count > 0) { | ||
| 198 | + this.$message({ | ||
| 199 | + type: 'success', | ||
| 200 | + message: res.data.respMessage | ||
| 201 | + }) | ||
| 202 | + this.getList() | ||
| 203 | + } else { | ||
| 204 | + this.$message({ | ||
| 205 | + type: 'error', | ||
| 206 | + message: res.data.respMessage | ||
| 207 | + }) | ||
| 208 | + } | ||
| 209 | + }) | ||
| 210 | + | ||
| 211 | + }).catch(action => { | ||
| 212 | + this.$message({ | ||
| 213 | + type: 'info', | ||
| 214 | + message: action === 'cancel' | ||
| 215 | + ? '取消发送' | ||
| 216 | + : '发送取消' | ||
| 217 | + }) | ||
| 218 | + }) | ||
| 219 | + }, | ||
| 220 | + handleLostChange(row) { | ||
| 221 | + this.lostChangeModel = { | ||
| 222 | + uuid: undefined, | ||
| 223 | + awba: undefined, | ||
| 224 | + awbh: undefined, | ||
| 225 | + manifest: undefined | ||
| 226 | + } | ||
| 227 | + const preModel = Object.assign({},row) | ||
| 228 | + this.lostChangeModel.awba = preModel.awba | ||
| 229 | + this.lostChangeModel.awbh = preModel.awbh | ||
| 230 | + this.lostChangeModel.uuid = preModel.uuid | ||
| 231 | + this.dialogStatus = 'create' | ||
| 232 | + this.dialogFormVisible = true | ||
| 233 | + this.$nextTick(()=>{ | ||
| 234 | + this.$refs.lostChangeData.clearValidate() | ||
| 235 | + }) | ||
| 236 | + }, | ||
| 237 | + createData(){ | ||
| 238 | + saveLostChange(this.lostChangeModel).then(res =>{ | ||
| 239 | + if(res.data.count >0){ | ||
| 240 | + Message.success(res.data.respMessage) | ||
| 241 | + this.dialogFormVisible = false | ||
| 242 | + this.getList() | ||
| 243 | + } else { | ||
| 244 | + Message.error(res.data.respMessage) | ||
| 245 | + } | ||
| 246 | + }) | ||
| 247 | + } | ||
| 248 | + } | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | +</script> | ||
| 252 | +<style> | ||
| 253 | + | ||
| 254 | +</style> |
src/views/nmms/ExitArrive.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div> | ||
| 4 | + <div> | ||
| 5 | + <el-row class="row-bg"> | ||
| 6 | + <el-col :span="24"> | ||
| 7 | + <div class="grid-content content">航班信息</div> | ||
| 8 | + </el-col> | ||
| 9 | + <el-col :span="24"> | ||
| 10 | + <div class="grid-content co"> | ||
| 11 | + <el-col :span="1"> | ||
| 12 | + <div class="grid-content"></div> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="20"> | ||
| 15 | + <div class="grid-content"> | ||
| 16 | + <span class="titleSpan">航班号:{{this.arriveQuery.carrier}}{{this.arriveQuery.flightno}}</span> | ||
| 17 | + <span class="titleSpan">航班日期:{{this.arriveQuery.flightdate}}</span> | ||
| 18 | + <span class="titleSpan">航段:{{this.arriveQuery.originstation}}-{{this.arriveQuery.destinationstation}}</span> | ||
| 19 | + </div> | ||
| 20 | + </el-col> | ||
| 21 | + </div> | ||
| 22 | + </el-col> | ||
| 23 | + <el-col :span="24"> | ||
| 24 | + <div class="grid-content content">出港运抵查询</div> | ||
| 25 | + </el-col> | ||
| 26 | + <el-col :span="24"> | ||
| 27 | + <div class="grid-content co"> | ||
| 28 | + <el-col :span="1"> | ||
| 29 | + <div class="grid-content"></div> | ||
| 30 | + </el-col> | ||
| 31 | + <el-col :span="22"> | ||
| 32 | + <div class="grid-content"> | ||
| 33 | + <el-col :span="4"> | ||
| 34 | + <div class="grid-content"> | ||
| 35 | + <el-input v-model="awba" placeholder="请输入主单号"></el-input> | ||
| 36 | + </div> | ||
| 37 | + </el-col> | ||
| 38 | + <div class="grid-content el-btn"> | ||
| 39 | + <el-button type="primary" size="mini" @click="handleSerach">查询</el-button> | ||
| 40 | + <el-button v-if="arriveQuery.flightno ===undefined && arriveData.length<1" | ||
| 41 | + type="primary" size="mini" | ||
| 42 | + @click="handleAddArrive">新增运抵 | ||
| 43 | + </el-button> | ||
| 44 | + </div> | ||
| 45 | + </div> | ||
| 46 | + </el-col> | ||
| 47 | + </div> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="24"> | ||
| 50 | + <div class="grid-content content" style="margin-top: 6px">出港运抵明细</div> | ||
| 51 | + </el-col> | ||
| 52 | + </el-row> | ||
| 53 | + </div> | ||
| 54 | + <el-table v-loading="listLoading" :data="arriveData" stripe fit highlight-current-row | ||
| 55 | + style="font-size: 12px" border @selection-change="handleSelectionChange"> | ||
| 56 | + <el-table-column type="selection" width="55" align="center"></el-table-column> | ||
| 57 | + <el-table-column label="航班号" width="70" align="center"> | ||
| 58 | + <template slot-scope="scope"> | ||
| 59 | + <span>{{scope.row.carrier}}{{scope.row.flightno}}</span> | ||
| 60 | + </template> | ||
| 61 | + </el-table-column> | ||
| 62 | + <el-table-column label="运单号" width="120" align="center"> | ||
| 63 | + <template slot-scope="scope"> | ||
| 64 | + <span>{{scope.row.awba}}</span> | ||
| 65 | + </template> | ||
| 66 | + </el-table-column> | ||
| 67 | + <el-table-column label="分单号" width="120" align="center"> | ||
| 68 | + <template slot-scope="scope"> | ||
| 69 | + <span>{{scope.row.awbh}}</span> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 72 | + <el-table-column label="运抵件数" width="70" align="center"> | ||
| 73 | + <template slot-scope="scope"> | ||
| 74 | + <span>{{scope.row.piece}}</span> | ||
| 75 | + </template> | ||
| 76 | + </el-table-column> | ||
| 77 | + <el-table-column label="运抵重量" width="70" align="center"> | ||
| 78 | + <template slot-scope="scope"> | ||
| 79 | + <span>{{scope.row.weight}}</span> | ||
| 80 | + </template> | ||
| 81 | + </el-table-column> | ||
| 82 | + <el-table-column label="货物描述" width="100" align="center"> | ||
| 83 | + <template slot-scope="scope"> | ||
| 84 | + <span>{{scope.row.goodsname}}</span> | ||
| 85 | + </template> | ||
| 86 | + </el-table-column> | ||
| 87 | + <el-table-column label="运抵时间" width="140" align="center"> | ||
| 88 | + <template slot-scope="scope"> | ||
| 89 | + <span>{{scope.row.arrivetime}}</span> | ||
| 90 | + </template> | ||
| 91 | + </el-table-column> | ||
| 92 | + <el-table-column label="状态" width="100" align="center"> | ||
| 93 | + <template slot-scope="scope"> | ||
| 94 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 95 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 96 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 97 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 98 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 99 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 100 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 101 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 102 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 103 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 104 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 105 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 106 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 107 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 108 | + </template> | ||
| 109 | + </el-table-column> | ||
| 110 | + <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | ||
| 111 | + <template slot-scope="scope"> | ||
| 112 | + <span>{{scope.row.ext5}}</span> | ||
| 113 | + </template> | ||
| 114 | + </el-table-column> | ||
| 115 | + <el-table-column prop="operation" label="操作" align="center"> | ||
| 116 | + <template slot-scope="scope"> | ||
| 117 | + <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | ||
| 118 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑运单</el-button> | ||
| 119 | + <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | ||
| 120 | + :disabled="scope.row.status !=='00'">发送舱单报 | ||
| 121 | + </el-button> | ||
| 122 | + <el-button size="mini" type="danger" @click="handleAwbDelete(scope.row)">发删除报</el-button> | ||
| 123 | + | ||
| 124 | + <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | ||
| 125 | + :disabled="scope.row.status ==='00'">修改状态 | ||
| 126 | + </el-button> | ||
| 127 | + </template> | ||
| 128 | + </el-table-column> | ||
| 129 | + </el-table> | ||
| 130 | + <div class="btnFoot"> | ||
| 131 | + <el-row> | ||
| 132 | + <el-button type="primary" size="mini" v-if="arriveQuery.flightno !==undefined || arriveData.length>0" | ||
| 133 | + @click="handelAddArriveInfo">新增出港运抵 | ||
| 134 | + </el-button> | ||
| 135 | + <el-button type="primary" size="mini" v-if="arriveModel.flightno !== undefined || arriveData.length>0" | ||
| 136 | + @click="handelBackStep">返回 | ||
| 137 | + </el-button> | ||
| 138 | + </el-row> | ||
| 139 | + </div> | ||
| 140 | + <pagination v-show="total>0" :total="total" :page.sync="arriveQuery.pageSize" | ||
| 141 | + :limit.sync="arriveQuery.limitSize" | ||
| 142 | + @pagination="getList"/> | ||
| 143 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible"> | ||
| 144 | + <el-form ref="arriveFormData" :model="arriveModel" :rules="arriveRoles" label-position="right" | ||
| 145 | + label-width="90px"> | ||
| 146 | + <div class="grid-content content"> | ||
| 147 | + <span>航班信息</span> | ||
| 148 | + </div> | ||
| 149 | + <el-row> | ||
| 150 | + <el-col :span="7.5"> | ||
| 151 | + <el-form-item label="主单号" prop="awba"> | ||
| 152 | + <el-input v-model="arriveModel.awba"></el-input> | ||
| 153 | + </el-form-item> | ||
| 154 | + </el-col> | ||
| 155 | + <el-col :span="7.5"> | ||
| 156 | + <el-form-item label="分单号" prop="awbh"> | ||
| 157 | + <el-input v-model="awbh"></el-input> | ||
| 158 | + </el-form-item> | ||
| 159 | + </el-col> | ||
| 160 | + </el-row> | ||
| 161 | + <div class="grid-content content"> | ||
| 162 | + <span>航班信息</span> | ||
| 163 | + </div> | ||
| 164 | + <el-row> | ||
| 165 | + <el-col :span="7.5"> | ||
| 166 | + <el-form-item label="承运人" prop="carrier"> | ||
| 167 | + <el-input v-model="carrier" | ||
| 168 | + :disabled="dialogFormVisible === 'update'"></el-input> | ||
| 169 | + </el-form-item> | ||
| 170 | + </el-col> | ||
| 171 | + <el-col :span="7.5"> | ||
| 172 | + <el-form-item label="航班号" prop="flightno"> | ||
| 173 | + <el-input v-model="flightno" | ||
| 174 | + :disabled="dialogFormVisible === 'update'"></el-input> | ||
| 175 | + </el-form-item> | ||
| 176 | + </el-col> | ||
| 177 | + <el-col :span="7.5"> | ||
| 178 | + <el-form-item label="航班日期" prop="flightdate"> | ||
| 179 | + <el-date-picker v-model="arriveModel.flightdate" value-format="yyyy-MM-dd" type="date" | ||
| 180 | + placeholder="请输入" | ||
| 181 | + :disabled="dialogFormVisible === 'update'"></el-date-picker> | ||
| 182 | + </el-form-item> | ||
| 183 | + </el-col> | ||
| 184 | + </el-row> | ||
| 185 | + <el-row> | ||
| 186 | + <el-col :span="7.5"> | ||
| 187 | + <el-form-item label="起始站" prop="originstation"> | ||
| 188 | + <el-input v-model="originstation" | ||
| 189 | + :disabled="dialogFormVisible === 'update'"></el-input> | ||
| 190 | + </el-form-item> | ||
| 191 | + </el-col> | ||
| 192 | + <el-col :span="7.5"> | ||
| 193 | + <el-form-item label="目的站" prop="destinationstation"> | ||
| 194 | + <el-input v-model="destinationstation" | ||
| 195 | + :disabled="dialogFormVisible === 'update'"></el-input> | ||
| 196 | + </el-form-item> | ||
| 197 | + </el-col> | ||
| 198 | + </el-row> | ||
| 199 | + <div class="grid-content content"> | ||
| 200 | + <span>货物信息</span> | ||
| 201 | + </div> | ||
| 202 | + <el-row> | ||
| 203 | + <el-col :span="7.5"> | ||
| 204 | + <el-form-item label="运抵件数" prop="piece"> | ||
| 205 | + <el-input v-model.number="arriveModel.piece"></el-input> | ||
| 206 | + </el-form-item> | ||
| 207 | + </el-col> | ||
| 208 | + <el-col :span="7.5"> | ||
| 209 | + <el-form-item label="运抵重量" prop="weight"> | ||
| 210 | + <el-input v-model.number="arriveModel.weight"></el-input> | ||
| 211 | + </el-form-item> | ||
| 212 | + </el-col> | ||
| 213 | + <el-col :span="7.5"> | ||
| 214 | + <el-form-item label="运抵时间" prop="arrivetime"> | ||
| 215 | + <el-date-picker v-model="arriveModel.arrivetime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 216 | + type="datetime" | ||
| 217 | + placeholder="请输入"></el-date-picker> | ||
| 218 | + </el-form-item> | ||
| 219 | + </el-col> | ||
| 220 | + </el-row> | ||
| 221 | + <el-row> | ||
| 222 | + <el-col :span="7.5"> | ||
| 223 | + <el-form-item label="货物描述" prop="goodsname"> | ||
| 224 | + <el-input v-model="goodsname" placeholder="请输入"></el-input> | ||
| 225 | + </el-form-item> | ||
| 226 | + </el-col> | ||
| 227 | + <el-col :span="7.5"> | ||
| 228 | + <el-form-item label="海关关区" prop="customcode"> | ||
| 229 | + <el-select v-model="arriveModel.customcode"> | ||
| 230 | + <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
| 231 | + :value="item"></el-option> | ||
| 232 | + </el-select> | ||
| 233 | + </el-form-item> | ||
| 234 | + </el-col> | ||
| 235 | + </el-row> | ||
| 236 | + </el-form> | ||
| 237 | + <div slot="footer" class="dialog-footer"> | ||
| 238 | + <el-button @click="dialogFormVisible = false">取消</el-button> | ||
| 239 | + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | ||
| 240 | + <el-button type="success" @click="SaveAndSend">保存并发送</el-button> | ||
| 241 | + </div> | ||
| 242 | + </el-dialog> | ||
| 243 | + <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | ||
| 244 | + <el-table :data="detailData" border> | ||
| 245 | + <el-table-column label="操作时间" width="150"> | ||
| 246 | + <template slot-scope="scope"> | ||
| 247 | + {{scope.row.busdate}} | ||
| 248 | + </template> | ||
| 249 | + </el-table-column> | ||
| 250 | + <el-table-column label="航班号" width="80"> | ||
| 251 | + <template slot-scope="scope"> | ||
| 252 | + {{scope.row.carrier}}{{scope.row.flightno}} | ||
| 253 | + </template> | ||
| 254 | + </el-table-column> | ||
| 255 | + <el-table-column label="航班日期" width="100"> | ||
| 256 | + <template slot-scope="scope"> | ||
| 257 | + {{scope.row.flightdate}} | ||
| 258 | + </template> | ||
| 259 | + </el-table-column> | ||
| 260 | + <el-table-column label="件数" width="70"> | ||
| 261 | + <template slot-scope="scope"> | ||
| 262 | + {{scope.row.buspiece}} | ||
| 263 | + </template> | ||
| 264 | + </el-table-column> | ||
| 265 | + <el-table-column label="重量" width="70"> | ||
| 266 | + <template slot-scope="scope"> | ||
| 267 | + {{scope.row.busweight}} | ||
| 268 | + </template> | ||
| 269 | + </el-table-column> | ||
| 270 | + <el-table-column label="回执信息" width=""> | ||
| 271 | + <template slot-scope="scope"> | ||
| 272 | + {{scope.row.cusrestext}} | ||
| 273 | + </template> | ||
| 274 | + </el-table-column> | ||
| 275 | + <el-table-column label="操作人" width="100"> | ||
| 276 | + <template slot-scope="scope"> | ||
| 277 | + {{scope.row.operusername}} | ||
| 278 | + </template> | ||
| 279 | + </el-table-column> | ||
| 280 | + </el-table> | ||
| 281 | + </el-dialog> | ||
| 282 | + </div> | ||
| 283 | +</template> | ||
| 284 | +<script> | ||
| 285 | + import treeTable from '@/components/TreeTable' | ||
| 286 | + import treeToArray from '@/utils/customEval' | ||
| 287 | + import Pagination from '@/components/Pagination' | ||
| 288 | + | ||
| 289 | + import {getMt3201ListForParam, deleteByIsDelete, updateStatus, updateMT3201, addMt3201} from '@/api/exitArrive' | ||
| 290 | + import {Message} from "element-ui"; | ||
| 291 | + import {validAwb, validAlphabets, validAlphabetsAndNum,validAlphabetsAndSpanceKey} from "@/utils/validate"; | ||
| 292 | + import {getResponseForParam} from '@/api/responseDetail' | ||
| 293 | + | ||
| 294 | + export default { | ||
| 295 | + name: "ExitArrive", | ||
| 296 | + components: {treeTable, Pagination}, | ||
| 297 | + inject: ['reload'], | ||
| 298 | + data() { | ||
| 299 | + const validatorAwb = (rule, value, callback) => { | ||
| 300 | + if (!validAwb(value)) { | ||
| 301 | + callback("请正确书写主单号") | ||
| 302 | + } | ||
| 303 | + callback() | ||
| 304 | + } | ||
| 305 | + const validatorAwbh = (rule, value, callback) => { | ||
| 306 | + if (!validAlphabetsAndNum(value)) { | ||
| 307 | + callback("只能输入字母和数字") | ||
| 308 | + } | ||
| 309 | + callback() | ||
| 310 | + } | ||
| 311 | + const validatorAlphabets = (rule, value, callback) => { | ||
| 312 | + if (!validAlphabets(value)) { | ||
| 313 | + callback("只能输入字母") | ||
| 314 | + } | ||
| 315 | + callback() | ||
| 316 | + } | ||
| 317 | + const validAlphabetsSpanceKey = (rule,value,callback) =>{ | ||
| 318 | + if(!validAlphabetsAndSpanceKey(value)){ | ||
| 319 | + callback("只能输入字母、数字、空格") | ||
| 320 | + } | ||
| 321 | + callback() | ||
| 322 | + } | ||
| 323 | + return { | ||
| 324 | + func: treeToArray, | ||
| 325 | + total: 1, | ||
| 326 | + arriveQuery: { | ||
| 327 | + pageSize: 1, | ||
| 328 | + limitSize: 100, | ||
| 329 | + awba: undefined, | ||
| 330 | + carrier: undefined, | ||
| 331 | + flightno: undefined, | ||
| 332 | + flightdate: undefined, | ||
| 333 | + originstation: undefined, | ||
| 334 | + destinationstation: undefined, | ||
| 335 | + customcode: undefined | ||
| 336 | + }, | ||
| 337 | + dialogMap: { | ||
| 338 | + update: '编辑出港运抵', | ||
| 339 | + create: '添加出港运抵', | ||
| 340 | + }, | ||
| 341 | + dialogTableVisible: false, | ||
| 342 | + multipleSelection: [], | ||
| 343 | + customcodeList: [4604, 4620], | ||
| 344 | + dialogStatus: undefined, | ||
| 345 | + awbhStatus: false, | ||
| 346 | + dialogFormVisible: false, | ||
| 347 | + listLoading: false, | ||
| 348 | + arriveRoles: { | ||
| 349 | + awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | ||
| 350 | + awbh: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 351 | + goodsname: [{required: true, trigger: 'blur', validator: validAlphabetsSpanceKey}], | ||
| 352 | + carrier: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 353 | + flightno: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 354 | + originstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 355 | + destinationstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 356 | + piece: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 357 | + weight: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 358 | + }, | ||
| 359 | + arriveData: [], | ||
| 360 | + detailData: [], | ||
| 361 | + arriveModel: { | ||
| 362 | + carrier: undefined, | ||
| 363 | + flightno: undefined, | ||
| 364 | + flightdate: undefined, | ||
| 365 | + originstation: undefined, | ||
| 366 | + destinationstation: undefined, | ||
| 367 | + awba: undefined, | ||
| 368 | + awbh: undefined, | ||
| 369 | + piece: undefined, | ||
| 370 | + weight: undefined, | ||
| 371 | + goodsname: undefined, | ||
| 372 | + customcode: undefined, | ||
| 373 | + arrivetime: undefined, | ||
| 374 | + messageType: 'MT3201' | ||
| 375 | + } | ||
| 376 | + } | ||
| 377 | + }, | ||
| 378 | + created() { | ||
| 379 | + if (this.$route.params.flightData !== undefined) { | ||
| 380 | + // 给查询条件赋值 | ||
| 381 | + if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { | ||
| 382 | + this.arriveQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + "-" + this.$route.params.flightData.awba.substring(3) | ||
| 383 | + } | ||
| 384 | + | ||
| 385 | + this.arriveQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | ||
| 386 | + this.arriveQuery.flightno = this.$route.params.flightData.flightno.substring(2) | ||
| 387 | + this.arriveQuery.flightdate = this.$route.params.flightData.flightdate | ||
| 388 | + this.arriveQuery.originstation = this.$route.params.flightData.originstation | ||
| 389 | + this.arriveQuery.destinationstation = this.$route.params.flightData.destinationstation | ||
| 390 | + this.getList() | ||
| 391 | + } | ||
| 392 | + }, | ||
| 393 | + computed: { | ||
| 394 | + awba: { | ||
| 395 | + get: function () { | ||
| 396 | + return this.arriveQuery.awba | ||
| 397 | + }, | ||
| 398 | + set: function (val) { | ||
| 399 | + this.arriveQuery.awba = val.trim() | ||
| 400 | + } | ||
| 401 | + }, | ||
| 402 | + awbh: { | ||
| 403 | + get: function () { | ||
| 404 | + return this.arriveModel.awbh | ||
| 405 | + }, | ||
| 406 | + set: function (val) { | ||
| 407 | + this.arriveModel.awbh = val.toUpperCase().trim() | ||
| 408 | + } | ||
| 409 | + }, | ||
| 410 | + carrier: { | ||
| 411 | + get: function () { | ||
| 412 | + return this.arriveModel.carrier | ||
| 413 | + }, | ||
| 414 | + set: function (val) { | ||
| 415 | + this.arriveModel.carrier = val.toUpperCase().trim() | ||
| 416 | + } | ||
| 417 | + }, | ||
| 418 | + goodsname: { | ||
| 419 | + get: function () { | ||
| 420 | + return this.arriveModel.goodsname | ||
| 421 | + }, | ||
| 422 | + set: function (val) { | ||
| 423 | + this.arriveModel.goodsname = val.toUpperCase().trim() | ||
| 424 | + } | ||
| 425 | + }, | ||
| 426 | + flightno: { | ||
| 427 | + get: function () { | ||
| 428 | + return this.arriveModel.flightno | ||
| 429 | + }, | ||
| 430 | + set: function (val) { | ||
| 431 | + this.arriveModel.flightno = val.toUpperCase().trim() | ||
| 432 | + } | ||
| 433 | + }, | ||
| 434 | + originstation: { | ||
| 435 | + get: function () { | ||
| 436 | + return this.arriveModel.originstation | ||
| 437 | + }, | ||
| 438 | + set: function (val) { | ||
| 439 | + this.arriveModel.originstation = val.toUpperCase().trim() | ||
| 440 | + } | ||
| 441 | + }, | ||
| 442 | + destinationstation: { | ||
| 443 | + get: function () { | ||
| 444 | + return this.arriveModel.destinationstation | ||
| 445 | + }, | ||
| 446 | + set: function (val) { | ||
| 447 | + this.arriveModel.destinationstation = val.toUpperCase().trim() | ||
| 448 | + } | ||
| 449 | + } | ||
| 450 | + }, | ||
| 451 | + methods: { | ||
| 452 | + getList() { | ||
| 453 | + this.listLoading = true | ||
| 454 | + if (this.arriveQuery.awba !== undefined) { | ||
| 455 | + getMt3201ListForParam(this.arriveQuery).then(res => { | ||
| 456 | + this.arriveData = res.data.dataList | ||
| 457 | + this.total = res.data.count | ||
| 458 | + if (res.data.count > 0) { | ||
| 459 | + this.arriveQuery.carrier = this.arriveData[0].carrier | ||
| 460 | + this.arriveQuery.flightno = this.arriveData[0].flightno | ||
| 461 | + this.arriveQuery.flightdate = this.arriveData[0].flightdate | ||
| 462 | + this.arriveQuery.originstation = this.arriveData[0].originstation | ||
| 463 | + this.arriveQuery.destinationstation = this.arriveData[0].destinationstation | ||
| 464 | + this.arriveQuery.customcode = this.arriveData[0].customcode | ||
| 465 | + } | ||
| 466 | + setTimeout(() => { | ||
| 467 | + this.listLoading = false | ||
| 468 | + }, 1.5 * 1000) | ||
| 469 | + }) | ||
| 470 | + } else { | ||
| 471 | + getMt3201ListForParam(this.arriveQuery).then(res => { | ||
| 472 | + this.arriveData = res.data.dataList | ||
| 473 | + this.total = res.data.count | ||
| 474 | + setTimeout(() => { | ||
| 475 | + this.listLoading = false | ||
| 476 | + }, 1.5 * 1000) | ||
| 477 | + }) | ||
| 478 | + } | ||
| 479 | + | ||
| 480 | + }, | ||
| 481 | + handleSerach() { | ||
| 482 | + this.arriveQuery.carrier = undefined | ||
| 483 | + this.arriveQuery.flightno = undefined | ||
| 484 | + this.arriveQuery.originstation = undefined | ||
| 485 | + this.arriveQuery.flightdate = undefined | ||
| 486 | + this.arriveQuery.destinationstation = undefined | ||
| 487 | + this.getList() | ||
| 488 | + }, | ||
| 489 | + handleSelectionChange(val) { | ||
| 490 | + this.multipleSelection = val | ||
| 491 | + }, | ||
| 492 | + // 新增出港运抵 | ||
| 493 | + handelAddArriveInfo() { | ||
| 494 | + this.restModel() | ||
| 495 | + // 给model赋值,所使用数据是以单独单号查询数据所得 | ||
| 496 | + this.arriveModel.carrier = this.arriveQuery.carrier | ||
| 497 | + this.arriveModel.flightdate = this.arriveQuery.flightdate | ||
| 498 | + this.arriveModel.flightno = this.arriveQuery.flightno | ||
| 499 | + this.arriveModel.originstation = this.arriveQuery.originstation | ||
| 500 | + this.arriveModel.destinationstation = this.arriveQuery.destinationstation | ||
| 501 | + this.arriveModel.customcode = this.arriveQuery.customcode | ||
| 502 | + this.dialogStatus = 'create' | ||
| 503 | + this.dialogFormVisible = true | ||
| 504 | + this.$nextTick(() => { | ||
| 505 | + this.$refs.arriveFormData.clearValidate() | ||
| 506 | + }) | ||
| 507 | + }, | ||
| 508 | + createData() { | ||
| 509 | + this.$refs.arriveFormData.validate(valid => { | ||
| 510 | + if (valid) { | ||
| 511 | + addMt3201(this.arriveModel).then(res => { | ||
| 512 | + if (res.data.count > 0) { | ||
| 513 | + this.dialogFormVisible = false | ||
| 514 | + Message.success("出港运抵新增成功") | ||
| 515 | + this.getList() | ||
| 516 | + } else { | ||
| 517 | + Message.error("数据更新失败,请检查数据") | ||
| 518 | + } | ||
| 519 | + }) | ||
| 520 | + } | ||
| 521 | + }) | ||
| 522 | + | ||
| 523 | + }, | ||
| 524 | + | ||
| 525 | + // 重置实体 | ||
| 526 | + restModel() { | ||
| 527 | + this.arriveModel = { | ||
| 528 | + carrier: undefined, | ||
| 529 | + flightno: undefined, | ||
| 530 | + flightdate: undefined, | ||
| 531 | + originstation: undefined, | ||
| 532 | + destinationstation: undefined, | ||
| 533 | + awba: undefined, | ||
| 534 | + awbh: undefined, | ||
| 535 | + piece: undefined, | ||
| 536 | + weight: undefined, | ||
| 537 | + goodsname: undefined, | ||
| 538 | + customcode: undefined, | ||
| 539 | + arrivetime: undefined, | ||
| 540 | + } | ||
| 541 | + }, | ||
| 542 | + // 编辑 | ||
| 543 | + handleEdit(row) { | ||
| 544 | + this.arriveModel = Object.assign({}, row) // copy obj | ||
| 545 | + this.dialogStatus = 'update' | ||
| 546 | + this.dialogFormVisible = true | ||
| 547 | + this.$nextTick(() => { | ||
| 548 | + this.$refs.arriveFormData.clearValidate() | ||
| 549 | + }) | ||
| 550 | + }, | ||
| 551 | + updateData() { | ||
| 552 | + this.$refs.arriveFormData.validate(valid => { | ||
| 553 | + if (valid) { | ||
| 554 | + updateMT3201(this.arriveModel).then(res => { | ||
| 555 | + if (res.data.count > 0) { | ||
| 556 | + this.dialogFormVisible = false | ||
| 557 | + Message.success("出港运抵修改成功") | ||
| 558 | + this.getList() | ||
| 559 | + } else { | ||
| 560 | + Message.error("数据更新失败,请检查数据") | ||
| 561 | + } | ||
| 562 | + }) | ||
| 563 | + } | ||
| 564 | + | ||
| 565 | + }) | ||
| 566 | + }, | ||
| 567 | + //保存并发送 | ||
| 568 | + SaveAndSend() { | ||
| 569 | + | ||
| 570 | + }, | ||
| 571 | + // 收发明细 | ||
| 572 | + handleSend(row) { | ||
| 573 | + const resQuery = { | ||
| 574 | + carrier: row.carrier, | ||
| 575 | + flightNo: row.flightno, | ||
| 576 | + flightDate: row.flightdate, | ||
| 577 | + awba: row.awba, | ||
| 578 | + awbh: row.awbh, | ||
| 579 | + messageType: 'MT3201' | ||
| 580 | + } | ||
| 581 | + this.dialogTableVisible = true | ||
| 582 | + getResponseForParam(resQuery).then(res => { | ||
| 583 | + this.detailData = res.data | ||
| 584 | + }) | ||
| 585 | + }, | ||
| 586 | + // 发送舱单报 | ||
| 587 | + handleAwbSend() { | ||
| 588 | + | ||
| 589 | + }, | ||
| 590 | + // 发送修改报 | ||
| 591 | + handleAwbEdit() { | ||
| 592 | + | ||
| 593 | + }, | ||
| 594 | + //发送删除报 | ||
| 595 | + handleAwbDelete(row) { | ||
| 596 | + this.$confirm("是否删除", "确认消息", { | ||
| 597 | + distinguishCancelAndClose: true, | ||
| 598 | + confirmButtonText: '删除', | ||
| 599 | + cancelButtonText: '取消' | ||
| 600 | + }).then(() => { | ||
| 601 | + deleteByIsDelete(row).then(res => { | ||
| 602 | + if (res.data.count > 0) { | ||
| 603 | + this.$message({ | ||
| 604 | + type: 'success', | ||
| 605 | + message: '删除成功' | ||
| 606 | + }) | ||
| 607 | + this.getList() | ||
| 608 | + } else { | ||
| 609 | + this.$message({ | ||
| 610 | + type: 'danger', | ||
| 611 | + message: '删除异常,请稍后重试' | ||
| 612 | + }) | ||
| 613 | + } | ||
| 614 | + }) | ||
| 615 | + }).catch(action => { | ||
| 616 | + this.$message({ | ||
| 617 | + type: 'info', | ||
| 618 | + message: action === 'cancel' | ||
| 619 | + ? '取消删除' | ||
| 620 | + : '删除取消' | ||
| 621 | + }) | ||
| 622 | + }) | ||
| 623 | + }, | ||
| 624 | + //更改状态 | ||
| 625 | + handleAwbStatus(row) { | ||
| 626 | + this.$confirm("是否发送更改状态", "确认消息", { | ||
| 627 | + distinguishCancelAndClose: true, | ||
| 628 | + confirmButtonText: '确认更改', | ||
| 629 | + cancelButtonText: '取消更改' | ||
| 630 | + }).then(() => { | ||
| 631 | + updateStatus(row).then(res => { | ||
| 632 | + if (res.data.count > 0) { | ||
| 633 | + this.$message({ | ||
| 634 | + type: 'success', | ||
| 635 | + message: '当前运单状态已更改' | ||
| 636 | + }) | ||
| 637 | + this.getList() | ||
| 638 | + } else { | ||
| 639 | + this.$message({ | ||
| 640 | + type: 'error', | ||
| 641 | + message: '状态更改失败,请稍后重试' | ||
| 642 | + }) | ||
| 643 | + } | ||
| 644 | + }) | ||
| 645 | + | ||
| 646 | + }).catch(action => { | ||
| 647 | + this.$message({ | ||
| 648 | + type: 'info', | ||
| 649 | + message: action === 'cancel' | ||
| 650 | + ? '取消状态更改' | ||
| 651 | + : '状态更改取消' | ||
| 652 | + }) | ||
| 653 | + }) | ||
| 654 | + }, | ||
| 655 | + // 携数据跳转 新增运抵 | ||
| 656 | + handleAddArrive() { | ||
| 657 | + const row = { | ||
| 658 | + 'messageType': 'MT3201' | ||
| 659 | + } | ||
| 660 | + this.$router.push({name: "出港航班信息", params: {scopeRow: row}}) | ||
| 661 | + }, | ||
| 662 | + handelBackStep() { | ||
| 663 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.arriveModel}}) | ||
| 664 | + } | ||
| 665 | + | ||
| 666 | + } | ||
| 667 | + } | ||
| 668 | + | ||
| 669 | +</script> | ||
| 670 | + | ||
| 671 | +<style> | ||
| 672 | + .grid-content { | ||
| 673 | + height: 36px; | ||
| 674 | + line-height: 36px; | ||
| 675 | + } | ||
| 676 | + | ||
| 677 | + .content { | ||
| 678 | + border-left: 4px #409EFF solid; | ||
| 679 | + padding-left: 10px; | ||
| 680 | + background-color: #f9fafc; | ||
| 681 | + margin-bottom: 2px | ||
| 682 | + } | ||
| 683 | + | ||
| 684 | + .row-bg, .co { | ||
| 685 | + background-color: white; | ||
| 686 | + } | ||
| 687 | + | ||
| 688 | + .titleSpan { | ||
| 689 | + font-weight: bold; | ||
| 690 | + margin-right: 35px; | ||
| 691 | + } | ||
| 692 | + | ||
| 693 | + .el-row { | ||
| 694 | + margin-top: 10px; | ||
| 695 | + margin-bottom: 0px; | ||
| 696 | + } | ||
| 697 | + | ||
| 698 | + .btnFoot { | ||
| 699 | + margin-top: 10px; | ||
| 700 | + } | ||
| 701 | + | ||
| 702 | + .el-table td, .el-table th { | ||
| 703 | + text-align: center | ||
| 704 | + } | ||
| 705 | + | ||
| 706 | + .el-btn { | ||
| 707 | + margin-left: 10px; | ||
| 708 | + display: inline-block; | ||
| 709 | + } | ||
| 710 | +</style> | ||
| 711 | + |
src/views/nmms/ExitFlight.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-content"> | ||
| 3 | + <!--<div class="app-container">--> | ||
| 4 | + <div class="filter-container"> | ||
| 5 | + <el-input v-model="listQuery.flightNo" clearable style="width: 270px;" class="filter-item" | ||
| 6 | + placeholder="航班号"/> | ||
| 7 | + <el-date-picker v-model="listQuery.flightDate" clearable type="date" style="width: 270px;" | ||
| 8 | + placeholder="航班日期" | ||
| 9 | + class="filter-item" value-format="yyyy-MM-dd"></el-date-picker> | ||
| 10 | + <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button> | ||
| 11 | + </div> | ||
| 12 | + <el-table :data="flightData" stripe style="font-size: 14px" border> | ||
| 13 | + <el-table-column label="航班号" width="280px" align="center"> | ||
| 14 | + <template slot-scope="scope"> | ||
| 15 | + <span>{{ scope.row.carrier }}{{ scope.row.flightNo }}</span> | ||
| 16 | + </template> | ||
| 17 | + </el-table-column> | ||
| 18 | + <el-table-column label="航班日期" width="280px" align="center"> | ||
| 19 | + <template slot-scope="scope"> | ||
| 20 | + <i class="el-icon-time"></i> | ||
| 21 | + <span>{{ scope.row.flightDate }}</span> | ||
| 22 | + </template> | ||
| 23 | + </el-table-column> | ||
| 24 | + <el-table-column label="始发站" width="280px" align="center"> | ||
| 25 | + <template slot-scope="scope"> | ||
| 26 | + <span>{{ scope.row.originstation }}</span> | ||
| 27 | + </template> | ||
| 28 | + </el-table-column> | ||
| 29 | + <el-table-column label="目的站" width="280px" align="center"> | ||
| 30 | + <template slot-scope="scope"> | ||
| 31 | + <span>{{ scope.row.destinationstation }}</span> | ||
| 32 | + </template> | ||
| 33 | + </el-table-column> | ||
| 34 | + <el-table-column label="操作" align="center"> | ||
| 35 | + <template slot-scope="scope"> | ||
| 36 | + <el-button type="primary" size="mini" @click="handleLoading(scope.row)">装载舱单</el-button> | ||
| 37 | + <el-button type="primary" size="mini" @click="handleTidy(scope.row)">出港理货</el-button> | ||
| 38 | + <el-button type="primary" size="mini" @click="handleArrive(scope.row)">出港运抵</el-button> | ||
| 39 | + <el-button type="primary" size="mini" @click="handlePre(scope.row)">预配舱单</el-button> | ||
| 40 | + </template> | ||
| 41 | + </el-table-column> | ||
| 42 | + </el-table> | ||
| 43 | + <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | ||
| 44 | + @pagination="getList"/> | ||
| 45 | + </div> | ||
| 46 | + | ||
| 47 | +</template> | ||
| 48 | +<script> | ||
| 49 | + import Pagination from '@/components/Pagination' | ||
| 50 | + import {getFlightListForParam} from '@/api/exitFlight' | ||
| 51 | + export default { | ||
| 52 | + name: "ExitFlight", | ||
| 53 | + components: {Pagination}, | ||
| 54 | + inject: ['reload'], | ||
| 55 | + data() { | ||
| 56 | + return { | ||
| 57 | + total: 1, | ||
| 58 | + listQuery: { | ||
| 59 | + pageSize: 1, | ||
| 60 | + limitSize: 10, | ||
| 61 | + flightNo: undefined, | ||
| 62 | + flightDate: undefined | ||
| 63 | + }, | ||
| 64 | + flightData: [], | ||
| 65 | + } | ||
| 66 | + }, | ||
| 67 | + created(){ | ||
| 68 | + this.getList() | ||
| 69 | + }, | ||
| 70 | + methods: { | ||
| 71 | + getList() { | ||
| 72 | + getFlightListForParam(this.listQuery).then(res =>{ | ||
| 73 | + this.flightData = res.data.dataList | ||
| 74 | + this.total = res.data.count | ||
| 75 | + }) | ||
| 76 | + }, | ||
| 77 | + handleSearch() { | ||
| 78 | + this.getList() | ||
| 79 | + }, | ||
| 80 | + handleLoading(row) { | ||
| 81 | + row.messageType = 'MT4201' | ||
| 82 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 83 | + }, | ||
| 84 | + handleTidy(row) { | ||
| 85 | + row.messageType = 'MT5201' | ||
| 86 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 87 | + }, | ||
| 88 | + handleArrive(row) { | ||
| 89 | + row.messageType = 'MT3201' | ||
| 90 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 91 | + }, | ||
| 92 | + handlePre(row) { | ||
| 93 | + row.messageType = 'MT2201' | ||
| 94 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | +</script> | ||
| 100 | +<style scoped> | ||
| 101 | + .app-content{ | ||
| 102 | + margin-top: 20px; | ||
| 103 | + } | ||
| 104 | +</style> |
src/views/nmms/ExitFlightDesc.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <el-container> | ||
| 3 | + <el-main> | ||
| 4 | + <el-row> | ||
| 5 | + <el-col :span="24"> | ||
| 6 | + <div class="grid-content"><p>请输入航班信息:</p></div> | ||
| 7 | + </el-col> | ||
| 8 | + </el-row> | ||
| 9 | + <el-row> | ||
| 10 | + <el-col :span="24"> | ||
| 11 | + <div class="grid-content"><h1>Please Enter The Flight Information:</h1></div> | ||
| 12 | + </el-col> | ||
| 13 | + </el-row> | ||
| 14 | + <el-row type="flex" class="row-bg" justify="center"> | ||
| 15 | + <el-col :span="4"> | ||
| 16 | + <el-input placeholder="必填" v-model="flightno"> | ||
| 17 | + <template slot="prepend">航班号</template> | ||
| 18 | + </el-input> | ||
| 19 | + </el-col> | ||
| 20 | + <el-col :span="4"> | ||
| 21 | + <el-date-picker | ||
| 22 | + v-model="flight.flightdate" | ||
| 23 | + type="date" | ||
| 24 | + value-format="yyyy-MM-dd" | ||
| 25 | + placeholder="选择日期"> | ||
| 26 | + </el-date-picker> | ||
| 27 | + </el-col> | ||
| 28 | + <el-col :span="4"> | ||
| 29 | + <el-input placeholder="必填" v-model="originstation"> | ||
| 30 | + <template slot="prepend">始发站</template> | ||
| 31 | + </el-input> | ||
| 32 | + </el-col> | ||
| 33 | + <el-col :span="4" style="margin-left: 20px"> | ||
| 34 | + <el-input placeholder="必填" v-model="destinationstation"> | ||
| 35 | + <template slot="prepend">目的站</template> | ||
| 36 | + </el-input> | ||
| 37 | + </el-col> | ||
| 38 | + <el-col :span="4" style="margin-left: 20px"> | ||
| 39 | + <el-input placeholder="可为空" v-model="awba"> | ||
| 40 | + <template slot="prepend">主单号</template> | ||
| 41 | + </el-input> | ||
| 42 | + </el-col> | ||
| 43 | + </el-row> | ||
| 44 | + <el-row> | ||
| 45 | + <el-col :span="4" :offset="10"> | ||
| 46 | + <div class="grid-content"> | ||
| 47 | + <el-button type="primary" @click="nstep">下一步</el-button> | ||
| 48 | + </div> | ||
| 49 | + </el-col> | ||
| 50 | + </el-row> | ||
| 51 | + </el-main> | ||
| 52 | + </el-container> | ||
| 53 | +</template> | ||
| 54 | + | ||
| 55 | + | ||
| 56 | +<script> | ||
| 57 | + import {Message} from "element-ui"; | ||
| 58 | + | ||
| 59 | + export default { | ||
| 60 | + name: 'ExitFlightDesc', | ||
| 61 | + data() { | ||
| 62 | + return { | ||
| 63 | + flight: { | ||
| 64 | + flightno: undefined, | ||
| 65 | + flightdate: undefined, | ||
| 66 | + originstation: undefined, | ||
| 67 | + destinationstation: undefined, | ||
| 68 | + awba: undefined, | ||
| 69 | + messageType:undefined | ||
| 70 | + }, | ||
| 71 | + btnStatus: true | ||
| 72 | + }; | ||
| 73 | + }, | ||
| 74 | + created() { | ||
| 75 | + if (this.$route.params.scopeRow !== undefined) { | ||
| 76 | + if(this.$route.params.scopeRow.carrier === undefined){ | ||
| 77 | + this.flight.flightno = this.$route.params.scopeRow.flightno | ||
| 78 | + } else { | ||
| 79 | + this.flight.flightno = this.$route.params.scopeRow.carrier + this.$route.params.scopeRow.flightno | ||
| 80 | + } | ||
| 81 | + this.flight.flightdate = this.$route.params.scopeRow.flightdate | ||
| 82 | + this.flight.originstation = this.$route.params.scopeRow.originstation | ||
| 83 | + this.flight.destinationstation = this.$route.params.scopeRow.destinationstation | ||
| 84 | + this.flight.messageType = this.$route.params.scopeRow.messageType | ||
| 85 | + if(this.$route.params.scopeRow.awba !== undefined){ | ||
| 86 | + this.flight.awba = this.$route.params.scopeRow.awba.replace('-','') | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + } | ||
| 90 | + }, | ||
| 91 | + computed:{ | ||
| 92 | + flightno : { | ||
| 93 | + get: function () { | ||
| 94 | + return this.flight.flightno | ||
| 95 | + }, | ||
| 96 | + set: function(val){ | ||
| 97 | + this.flight.flightno = val.toUpperCase().trim() | ||
| 98 | + } | ||
| 99 | + }, | ||
| 100 | + originstation :{ | ||
| 101 | + get: function () { | ||
| 102 | + return this.flight.originstation | ||
| 103 | + }, | ||
| 104 | + set: function(val){ | ||
| 105 | + this.flight.originstation = val.toUpperCase().trim() | ||
| 106 | + } | ||
| 107 | + }, | ||
| 108 | + destinationstation :{ | ||
| 109 | + get: function () { | ||
| 110 | + return this.flight.destinationstation | ||
| 111 | + }, | ||
| 112 | + set: function(val){ | ||
| 113 | + this.flight.destinationstation = val.toUpperCase().trim() | ||
| 114 | + } | ||
| 115 | + }, | ||
| 116 | + awba :{ | ||
| 117 | + get: function () { | ||
| 118 | + return this.flight.awba | ||
| 119 | + }, | ||
| 120 | + set: function(val){ | ||
| 121 | + this.flight.awba = val.trim() | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + }, | ||
| 125 | + methods: { | ||
| 126 | + nstep() { | ||
| 127 | + if (this.flight.flightno !== undefined && this.flight.flightno !==''&& | ||
| 128 | + this.flight.flightdate !== undefined &&this.flight.flightdate !== '' && | ||
| 129 | + this.flight.destinationstation !== undefined && this.flight.destinationstation !==''&& | ||
| 130 | + this.flight.originstation !== undefined && this.flight.originstation !=='') { | ||
| 131 | + if(this.flight.awba !== '' && this.flight.awba !== undefined){ | ||
| 132 | + const manifest = this.flight.awba; | ||
| 133 | + const reg = /^[0-9]{11}$/ | ||
| 134 | + if(!reg.test(manifest)){ | ||
| 135 | + Message.error("主单号只支持数字并且最多11位") | ||
| 136 | + return | ||
| 137 | + } | ||
| 138 | + const num = (manifest.substring(3,10)) % 7 | ||
| 139 | + if(num !== eval(manifest.substring(10))){ | ||
| 140 | + Message.error("主单号不符合模7校验") | ||
| 141 | + return | ||
| 142 | + } | ||
| 143 | + } else { | ||
| 144 | + this.flight.awba = undefined | ||
| 145 | + } | ||
| 146 | + | ||
| 147 | + if(this.flight.messageType ==="MT5201"){ | ||
| 148 | + this.$router.push({name: '出港理货', params: {flightData: this.flight}}); | ||
| 149 | + } | ||
| 150 | + if(this.flight.messageType ==="MT4201"){ | ||
| 151 | + this.$router.push({name: '出港装载', params: {flightData: this.flight}}); | ||
| 152 | + } | ||
| 153 | + if(this.flight.messageType ==="MT3201"){ | ||
| 154 | + this.$router.push({name:'出港运抵',params:{flightData: this.flight}}) | ||
| 155 | + } | ||
| 156 | + if(this.flight.messageType ==="MT2201"){ | ||
| 157 | + this.$router.push({name:'出港预配舱单',params:{flightData: this.flight}}) | ||
| 158 | + } | ||
| 159 | + } else { | ||
| 160 | + Message.warning("请将航班信息填写完整") | ||
| 161 | + } | ||
| 162 | + | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | + }; | ||
| 166 | +</script> | ||
| 167 | +<style scoped> | ||
| 168 | + .el-container { | ||
| 169 | + text-align: center | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + .el-main { | ||
| 173 | + margin: 0 auto; | ||
| 174 | + height: 400px; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + p { | ||
| 178 | + font-size: 25px; | ||
| 179 | + font-weight: bold; | ||
| 180 | + } | ||
| 181 | +</style> |
src/views/nmms/ExitLoading.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div> | ||
| 4 | + <div> | ||
| 5 | + <el-row class="row-bg"> | ||
| 6 | + <el-col :span="24"> | ||
| 7 | + <div class="grid-content content">航班信息</div> | ||
| 8 | + </el-col> | ||
| 9 | + <el-col :span="24"> | ||
| 10 | + <div class="grid-content co"> | ||
| 11 | + <el-col :span="1"> | ||
| 12 | + <div class="grid-content"></div> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="20"> | ||
| 15 | + <div class="grid-content"> | ||
| 16 | + <span class="titleSpan">航班号:{{this.loadingQuery.carrier}}{{this.loadingQuery.flightno}}</span> | ||
| 17 | + <span class="titleSpan">航班日期:{{this.loadingQuery.flightdate}}</span> | ||
| 18 | + <span class="titleSpan">航段:{{this.loadingQuery.originstation}}-{{this.loadingQuery.destinationstation}}</span> | ||
| 19 | + </div> | ||
| 20 | + </el-col> | ||
| 21 | + </div> | ||
| 22 | + </el-col> | ||
| 23 | + <el-col :span="24"> | ||
| 24 | + <div class="grid-content content">进港舱单查询</div> | ||
| 25 | + </el-col> | ||
| 26 | + <el-col :span="24"> | ||
| 27 | + <div class="grid-content co"> | ||
| 28 | + <el-col :span="1"> | ||
| 29 | + <div class="grid-content"></div> | ||
| 30 | + </el-col> | ||
| 31 | + <el-col :span="22"> | ||
| 32 | + <div class="grid-content"> | ||
| 33 | + <el-col :span="4"> | ||
| 34 | + <div class="grid-content"> | ||
| 35 | + <el-input v-model="loadingQuery.awba" placeholder="请输入主单号"></el-input> | ||
| 36 | + </div> | ||
| 37 | + </el-col> | ||
| 38 | + <div class="el-btn"> | ||
| 39 | + <el-button type="primary" size="mini" @click="handleSearch">查询</el-button> | ||
| 40 | + <el-button v-if="loadingModel.flightno === undefined && loadingData.length <1" | ||
| 41 | + type="primary" size="mini" @click="handleAddLoading">新增装载 | ||
| 42 | + </el-button> | ||
| 43 | + </div> | ||
| 44 | + </div> | ||
| 45 | + </el-col> | ||
| 46 | + </div> | ||
| 47 | + </el-col> | ||
| 48 | + <el-col :span="24"> | ||
| 49 | + <div class="grid-content content" style="margin-top: 6px">出港装载明细</div> | ||
| 50 | + </el-col> | ||
| 51 | + </el-row> | ||
| 52 | + <tree-table v-loading="listLoading" :data="loadingData" :eval-func="func" :expand-all="true" stripe | ||
| 53 | + style="font-size: 12px" border @selection-change="handleSelectionChange"> | ||
| 54 | + <el-table-column label="运单号" width="160" align="center"> | ||
| 55 | + <template slot-scope="scope"> | ||
| 56 | + <span>{{scope.row.awba}}</span> | ||
| 57 | + </template> | ||
| 58 | + </el-table-column> | ||
| 59 | + <el-table-column label="运载件数" width="70" align="center"> | ||
| 60 | + <template slot-scope="scope"> | ||
| 61 | + <span>{{scope.row.lodingpiece}}</span> | ||
| 62 | + </template> | ||
| 63 | + </el-table-column> | ||
| 64 | + <el-table-column label="运载重量" width="70" align="center"> | ||
| 65 | + <template slot-scope="scope"> | ||
| 66 | + <span>{{scope.row.lodingweight}}</span> | ||
| 67 | + </template> | ||
| 68 | + </el-table-column> | ||
| 69 | + <el-table-column label="货物描述" width="120" align="center"> | ||
| 70 | + <template slot-scope="scope"> | ||
| 71 | + <span>{{scope.row.goodsname}}</span> | ||
| 72 | + </template> | ||
| 73 | + </el-table-column> | ||
| 74 | + <el-table-column label="装载时间" width="150" align="center"> | ||
| 75 | + <template slot-scope="scope"> | ||
| 76 | + <span>{{scope.row.loadingtime}}</span> | ||
| 77 | + </template> | ||
| 78 | + </el-table-column> | ||
| 79 | + <el-table-column label="状态" width="100" align="center"> | ||
| 80 | + <template slot-scope="scope"> | ||
| 81 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 82 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 83 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 84 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 85 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 86 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 87 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 88 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 89 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 90 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 91 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 92 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 93 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 94 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 95 | + </template> | ||
| 96 | + </el-table-column> | ||
| 97 | + <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | ||
| 98 | + <template slot-scope="scope"> | ||
| 99 | + <span>{{scope.row.ext5}}</span> | ||
| 100 | + </template> | ||
| 101 | + </el-table-column> | ||
| 102 | + <el-table-column prop="operation" label="操作" align="center"> | ||
| 103 | + <template slot-scope="scope"> | ||
| 104 | + <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | ||
| 105 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑主单 | ||
| 106 | + </el-button> | ||
| 107 | + <el-button size="mini" type="primary" @click="handleSendAwb(scope.row)" | ||
| 108 | + :disabled="scope.row.status !=='00'">发送舱单报 | ||
| 109 | + </el-button> | ||
| 110 | + <el-button size="mini" type="danger" @click="handleAwbDelete(scope.row)">发删除报</el-button> | ||
| 111 | + <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | ||
| 112 | + :disabled="scope.row.status ==='00'">更改状态 | ||
| 113 | + </el-button> | ||
| 114 | + </template> | ||
| 115 | + </el-table-column> | ||
| 116 | + </tree-table> | ||
| 117 | + <div class="btnFoot"> | ||
| 118 | + <el-row> | ||
| 119 | + <el-button type="primary" size="mini" | ||
| 120 | + v-if="loadingModel.flightno !== undefined || loadingData.length >0" | ||
| 121 | + @click="handelAddLoadingInfo">新增出港装载 | ||
| 122 | + </el-button> | ||
| 123 | + <el-button type="primary" size="mini" v-if="loadingModel.flightno !== undefined || loadingData.length>0" | ||
| 124 | + @click="handelBackStep">返回</el-button> | ||
| 125 | + </el-row> | ||
| 126 | + </div> | ||
| 127 | + <pagination v-show="total>0" :total="total" :page.sync="loadingQuery.page" :limit.sync="loadingQuery.limit" | ||
| 128 | + @pagination="getList"/> | ||
| 129 | + | ||
| 130 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible"> | ||
| 131 | + <el-form ref="loadingFormData" :model="loadingModel" :rules="loadingRoles" label-position="right" | ||
| 132 | + label-width="90px"> | ||
| 133 | + <div class="grid-content content"> | ||
| 134 | + <span>航班信息</span> | ||
| 135 | + </div> | ||
| 136 | + <el-row> | ||
| 137 | + <el-col :span="7.5"> | ||
| 138 | + <el-form-item label="主单号" prop="awba"> | ||
| 139 | + <el-input v-model="loadingModel.awba"></el-input> | ||
| 140 | + </el-form-item> | ||
| 141 | + </el-col> | ||
| 142 | + <el-col :span="7.5"> | ||
| 143 | + <el-form-item label="承运人" prop="carrier"> | ||
| 144 | + <el-input v-model="carrier" :disabled="dialogStatus ==='update'"></el-input> | ||
| 145 | + </el-form-item> | ||
| 146 | + </el-col> | ||
| 147 | + <el-col :span="7.5"> | ||
| 148 | + <el-form-item label="航班号" prop="flightno"> | ||
| 149 | + <el-input v-model="flightno" :disabled="dialogStatus ==='update'"></el-input> | ||
| 150 | + </el-form-item> | ||
| 151 | + </el-col> | ||
| 152 | + | ||
| 153 | + </el-row> | ||
| 154 | + <el-row> | ||
| 155 | + | ||
| 156 | + <el-col :span="7.5"> | ||
| 157 | + <el-form-item label="起始站" prop="originstation"> | ||
| 158 | + <el-input v-model="originstation" | ||
| 159 | + :disabled="dialogStatus ==='update'"></el-input> | ||
| 160 | + </el-form-item> | ||
| 161 | + </el-col> | ||
| 162 | + <el-col :span="7.5"> | ||
| 163 | + <el-form-item label="目的站" prop="flightno"> | ||
| 164 | + <el-input v-model="destinationstation" :disabled="dialogStatus ==='update'"></el-input> | ||
| 165 | + </el-form-item> | ||
| 166 | + </el-col> | ||
| 167 | + <el-col :span="7.5"> | ||
| 168 | + <el-form-item label="航班日期" prop="flightdate"> | ||
| 169 | + <el-date-picker v-model="loadingModel.flightdate" value-format="yyyy-MM-dd" type="date" | ||
| 170 | + placeholder="请输入" :disabled="dialogStatus ==='update'"></el-date-picker> | ||
| 171 | + </el-form-item> | ||
| 172 | + </el-col> | ||
| 173 | + </el-row> | ||
| 174 | + <div class="grid-content content"> | ||
| 175 | + <span>货物信息</span> | ||
| 176 | + </div> | ||
| 177 | + <el-row> | ||
| 178 | + <el-col :span="7.5"> | ||
| 179 | + <el-form-item label="装载件数" prop="piece"> | ||
| 180 | + <el-input v-model.number="loadingModel.lodingpiece"></el-input> | ||
| 181 | + </el-form-item> | ||
| 182 | + </el-col> | ||
| 183 | + <el-col :span="7.5"> | ||
| 184 | + <el-form-item label="装载重量" prop="weight"> | ||
| 185 | + <el-input v-model.number="loadingModel.lodingweight"></el-input> | ||
| 186 | + </el-form-item> | ||
| 187 | + </el-col> | ||
| 188 | + <el-col :span="7.5"> | ||
| 189 | + <el-form-item label="装载时间" prop="loadingtime"> | ||
| 190 | + <el-date-picker v-model="loadingModel.loadingtime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 191 | + type="datetime" | ||
| 192 | + placeholder="请输入"></el-date-picker> | ||
| 193 | + </el-form-item> | ||
| 194 | + </el-col> | ||
| 195 | + </el-row> | ||
| 196 | + <el-row> | ||
| 197 | + <el-col :span="7.5"> | ||
| 198 | + <el-form-item label="运单件数" prop="price"> | ||
| 199 | + <el-input v-model.number="loadingModel.awbprice"></el-input> | ||
| 200 | + </el-form-item> | ||
| 201 | + </el-col> | ||
| 202 | + <el-col :span="7.5"> | ||
| 203 | + <el-form-item label="运单重量" prop="weight"> | ||
| 204 | + <el-input v-model.number="loadingModel.awbweight"></el-input> | ||
| 205 | + </el-form-item> | ||
| 206 | + </el-col> | ||
| 207 | + <el-col :span="7.5"> | ||
| 208 | + <el-form-item label="海关关区" prop="customcode"> | ||
| 209 | + <el-select v-model="loadingModel.customcode"> | ||
| 210 | + <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
| 211 | + :value="item"></el-option> | ||
| 212 | + </el-select> | ||
| 213 | + </el-form-item> | ||
| 214 | + | ||
| 215 | + </el-col> | ||
| 216 | + </el-row> | ||
| 217 | + <el-row> | ||
| 218 | + <el-col :span="7.5"> | ||
| 219 | + <el-form-item label="特货代码" prop="awbh"> | ||
| 220 | + <el-input v-model="loadingModel.specialgoods"></el-input> | ||
| 221 | + </el-form-item> | ||
| 222 | + </el-col> | ||
| 223 | + <el-col :span="7.5"> | ||
| 224 | + <el-form-item label="货物描述" prop="goodsname"> | ||
| 225 | + <el-input v-model="goodsname" placeholder="请输入"></el-input> | ||
| 226 | + </el-form-item> | ||
| 227 | + </el-col> | ||
| 228 | + </el-row> | ||
| 229 | + </el-form> | ||
| 230 | + <div slot="footer" class="dialog-footer"> | ||
| 231 | + <el-button @click="dialogFormVisible = false">取消</el-button> | ||
| 232 | + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | ||
| 233 | + <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | ||
| 234 | + </div> | ||
| 235 | + </el-dialog> | ||
| 236 | + <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | ||
| 237 | + <el-table :data="detailData" border> | ||
| 238 | + <el-table-column label="操作时间" width="150"> | ||
| 239 | + <template slot-scope="scope"> | ||
| 240 | + {{scope.row.busdate}} | ||
| 241 | + </template> | ||
| 242 | + </el-table-column> | ||
| 243 | + <el-table-column label="航班号" width="80"> | ||
| 244 | + <template slot-scope="scope"> | ||
| 245 | + {{scope.row.carrier}}{{scope.row.flightno}} | ||
| 246 | + </template> | ||
| 247 | + </el-table-column> | ||
| 248 | + <el-table-column label="航班日期" width="100"> | ||
| 249 | + <template slot-scope="scope"> | ||
| 250 | + {{scope.row.flightdate}} | ||
| 251 | + </template> | ||
| 252 | + </el-table-column> | ||
| 253 | + <el-table-column label="件数" width="70"> | ||
| 254 | + <template slot-scope="scope"> | ||
| 255 | + {{scope.row.buspiece}} | ||
| 256 | + </template> | ||
| 257 | + </el-table-column> | ||
| 258 | + <el-table-column label="重量" width="70"> | ||
| 259 | + <template slot-scope="scope"> | ||
| 260 | + {{scope.row.busweight}} | ||
| 261 | + </template> | ||
| 262 | + </el-table-column> | ||
| 263 | + <el-table-column label="回执信息" width=""> | ||
| 264 | + <template slot-scope="scope"> | ||
| 265 | + {{scope.row.cusrestext}} | ||
| 266 | + </template> | ||
| 267 | + </el-table-column> | ||
| 268 | + <el-table-column label="操作人" width="100"> | ||
| 269 | + <template slot-scope="scope"> | ||
| 270 | + {{scope.row.operusername}} | ||
| 271 | + </template> | ||
| 272 | + </el-table-column> | ||
| 273 | + </el-table> | ||
| 274 | + </el-dialog> | ||
| 275 | + </div> | ||
| 276 | + </div> | ||
| 277 | +</template> | ||
| 278 | +<script> | ||
| 279 | + import treeTable from '@/components/TreeTable' | ||
| 280 | + import treeToArray from '@/utils/customEval' | ||
| 281 | + import Pagination from '@/components/Pagination' | ||
| 282 | + import {getMt4201ListForParam, deleteByIsDelete, updateStatus, updateMT4201, addMt4201} from '@/api/exitLoading' | ||
| 283 | + import {Message} from "element-ui"; | ||
| 284 | + import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey} from "@/utils/validate" | ||
| 285 | + export default { | ||
| 286 | + name: "ExitLoading", | ||
| 287 | + components: {treeTable, Pagination}, | ||
| 288 | + inject: ['reload'], | ||
| 289 | + data() { | ||
| 290 | + const validatorAwb = (rule, value, callback) => { | ||
| 291 | + if (!validAwb(value)) { | ||
| 292 | + callback("请正确书写主单号") | ||
| 293 | + } | ||
| 294 | + callback() | ||
| 295 | + } | ||
| 296 | + const validatorAwbh = (rule, value, callback) => { | ||
| 297 | + if (!validAlphabetsAndNum(value)) { | ||
| 298 | + callback("只能输入字母和数字") | ||
| 299 | + } | ||
| 300 | + callback() | ||
| 301 | + } | ||
| 302 | + const validatorAlphabets = (rule, value, callback) => { | ||
| 303 | + if (!validAlphabets(value)) { | ||
| 304 | + callback("只能输入字母") | ||
| 305 | + } | ||
| 306 | + callback() | ||
| 307 | + } | ||
| 308 | + const validAlphabetsSpanceKey = (rule,value,callback) =>{ | ||
| 309 | + if(!validAlphabetsAndSpanceKey(value)){ | ||
| 310 | + callback("只能输入字母、数字、空格") | ||
| 311 | + } | ||
| 312 | + callback() | ||
| 313 | + } | ||
| 314 | + return { | ||
| 315 | + func: treeToArray, | ||
| 316 | + total: 1, | ||
| 317 | + dialogMap: { | ||
| 318 | + update: '编辑出港装载', | ||
| 319 | + create: '添加出港装载', | ||
| 320 | + }, | ||
| 321 | + customcodeList: [4604, 4620], | ||
| 322 | + dialogStatus: undefined, | ||
| 323 | + dialogTableVisible: false, | ||
| 324 | + dialogFormVisible: false, | ||
| 325 | + listLoading: false, | ||
| 326 | + loadingQuery: { | ||
| 327 | + pageSize: 1, | ||
| 328 | + limitSize: 100, | ||
| 329 | + awba: undefined, | ||
| 330 | + carrier: undefined, | ||
| 331 | + flightno: undefined, | ||
| 332 | + flightdate: undefined, | ||
| 333 | + originstation: undefined, | ||
| 334 | + destinationstation: undefined, | ||
| 335 | + customcode: undefined | ||
| 336 | + }, | ||
| 337 | + loadingRoles: { | ||
| 338 | + awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | ||
| 339 | + awbh: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 340 | + goodsname: [{required: true, trigger: 'blur', validator: validAlphabetsSpanceKey}], | ||
| 341 | + carrier: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 342 | + flightno: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 343 | + originstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 344 | + destinationstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 345 | + piece: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 346 | + weight: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 347 | + customcode:[{required: true, trigger: 'change',message:'不能为空'}] | ||
| 348 | + }, | ||
| 349 | + loadingData: [], | ||
| 350 | + detailData: [], | ||
| 351 | + loadingModel: { | ||
| 352 | + carrier:undefined, | ||
| 353 | + flightno: undefined, | ||
| 354 | + flightdate: undefined, | ||
| 355 | + originstation: undefined, | ||
| 356 | + destinationstation: undefined, | ||
| 357 | + awba: undefined, | ||
| 358 | + lodingpiece: undefined, | ||
| 359 | + lodingweight: undefined, | ||
| 360 | + goodsname: undefined, | ||
| 361 | + customcode: undefined, | ||
| 362 | + specialgoods: undefined, | ||
| 363 | + loadingtime: undefined, | ||
| 364 | + messageType: 'MT4201', | ||
| 365 | + awbprice: undefined, | ||
| 366 | + awbweight: undefined | ||
| 367 | + } | ||
| 368 | + } | ||
| 369 | + }, | ||
| 370 | + created() { | ||
| 371 | + if (this.$route.params.flightData !== undefined) { | ||
| 372 | + // 给查询条件赋值 | ||
| 373 | + if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { | ||
| 374 | + this.loadingQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + '-' + this.$route.params.flightData.awba.substring(3) | ||
| 375 | + } | ||
| 376 | + this.loadingQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | ||
| 377 | + this.loadingQuery.flightno = this.$route.params.flightData.flightno.substring(2) | ||
| 378 | + this.loadingQuery.flightdate = this.$route.params.flightData.flightdate | ||
| 379 | + this.loadingQuery.originstation = this.$route.params.flightData.originstation | ||
| 380 | + this.loadingQuery.destinationstation = this.$route.params.flightData.destinationstation | ||
| 381 | + this.getList() | ||
| 382 | + } | ||
| 383 | + }, | ||
| 384 | + computed: { | ||
| 385 | + carrier: { | ||
| 386 | + get: function () { | ||
| 387 | + return this.loadingModel.carrier | ||
| 388 | + }, | ||
| 389 | + set: function (val) { | ||
| 390 | + this.loadingModel.carrier = val.toUpperCase().trim() | ||
| 391 | + } | ||
| 392 | + }, | ||
| 393 | + goodsname: { | ||
| 394 | + get: function () { | ||
| 395 | + return this.loadingModel.goodsname | ||
| 396 | + }, | ||
| 397 | + set: function (val) { | ||
| 398 | + this.loadingModel.goodsname = val.toUpperCase().trim() | ||
| 399 | + } | ||
| 400 | + }, | ||
| 401 | + flightno: { | ||
| 402 | + get: function () { | ||
| 403 | + return this.loadingModel.flightno | ||
| 404 | + }, | ||
| 405 | + set: function (val) { | ||
| 406 | + this.loadingModel.flightno = val.toUpperCase().trim() | ||
| 407 | + } | ||
| 408 | + }, | ||
| 409 | + originstation: { | ||
| 410 | + get: function () { | ||
| 411 | + return this.loadingModel.originstation | ||
| 412 | + }, | ||
| 413 | + set: function (val) { | ||
| 414 | + this.loadingModel.originstation = val.toUpperCase().trim() | ||
| 415 | + } | ||
| 416 | + }, | ||
| 417 | + destinationstation: { | ||
| 418 | + get: function () { | ||
| 419 | + return this.loadingModel.destinationstation | ||
| 420 | + }, | ||
| 421 | + set: function (val) { | ||
| 422 | + this.loadingModel.destinationstation = val.toUpperCase().trim() | ||
| 423 | + } | ||
| 424 | + } | ||
| 425 | + }, | ||
| 426 | + methods: { | ||
| 427 | + getList() { | ||
| 428 | + this.listLoading = true | ||
| 429 | + if (this.loadingQuery.awba !== undefined && this.loadingQuery.awba !== '') { | ||
| 430 | + getMt4201ListForParam(this.loadingQuery).then(res => { | ||
| 431 | + this.loadingData = res.data.dataList | ||
| 432 | + this.total = res.data.count | ||
| 433 | + if (res.data.count > 0) { | ||
| 434 | + this.loadingQuery.carrier = this.loadingData[0].carrier | ||
| 435 | + this.loadingQuery.flightno = this.loadingData[0].flightno | ||
| 436 | + this.loadingQuery.flightdate = this.loadingData[0].flightdate | ||
| 437 | + this.loadingQuery.originstation = this.loadingData[0].originstation | ||
| 438 | + this.loadingQuery.destinationstation = this.loadingData[0].destinationstation | ||
| 439 | + this.loadingQuery.customcode = this.loadingData[0].customcode | ||
| 440 | + } | ||
| 441 | + setTimeout(() => { | ||
| 442 | + this.listLoading = false | ||
| 443 | + }, 1.5 * 1000) | ||
| 444 | + }) | ||
| 445 | + } else { | ||
| 446 | + getMt4201ListForParam(this.loadingQuery).then(res => { | ||
| 447 | + this.loadingData = res.data.dataList | ||
| 448 | + this.total = res.data.count | ||
| 449 | + setTimeout(() => { | ||
| 450 | + this.listLoading = false | ||
| 451 | + }, 1.5 * 1000) | ||
| 452 | + }) | ||
| 453 | + } | ||
| 454 | + | ||
| 455 | + }, | ||
| 456 | + // 多选 | ||
| 457 | + handleSelectionChange() { | ||
| 458 | + | ||
| 459 | + }, | ||
| 460 | + // 查询 | ||
| 461 | + handleSearch() { | ||
| 462 | + this.loadingQuery.carrier = undefined | ||
| 463 | + this.loadingQuery.flightno = undefined | ||
| 464 | + this.loadingQuery.originstation = undefined | ||
| 465 | + this.loadingQuery.flightdate = undefined | ||
| 466 | + this.loadingQuery.destinationstation = undefined | ||
| 467 | + this.getList() | ||
| 468 | + }, | ||
| 469 | + // 收发明细 | ||
| 470 | + handleSend() { | ||
| 471 | + const resQuery = { | ||
| 472 | + carrier: row.carrier, | ||
| 473 | + flightNo: row.flightno, | ||
| 474 | + flightDate: row.flightdate, | ||
| 475 | + awba: row.awba, | ||
| 476 | + awbh: row.awbh, | ||
| 477 | + messageType: 'MT4201' | ||
| 478 | + } | ||
| 479 | + this.dialogTableVisible = true | ||
| 480 | + getResponseForParam(resQuery).then(res => { | ||
| 481 | + this.detailData = res.data | ||
| 482 | + }) | ||
| 483 | + }, | ||
| 484 | + // 编辑 弹框 | ||
| 485 | + handleEdit(row) { | ||
| 486 | + this.loadingModel = Object.assign({}, row) | ||
| 487 | + console.log(this.loadingModel) | ||
| 488 | + this.dialogStatus = 'update' | ||
| 489 | + this.dialogFormVisible = true | ||
| 490 | + this.$nextTick(() => { | ||
| 491 | + this.$refs.loadingFormData.clearValidate() | ||
| 492 | + }) | ||
| 493 | + }, | ||
| 494 | + // 更新数据 | ||
| 495 | + updateData() { | ||
| 496 | + this.$refs.loadingFormData.validate(valid => { | ||
| 497 | + if (valid) { | ||
| 498 | + updateMT4201(this.loadingModel).then(res => { | ||
| 499 | + if (res.data.count > 0) { | ||
| 500 | + this.dialogFormVisible = false | ||
| 501 | + Message.success("数据更新成功") | ||
| 502 | + this.getList() | ||
| 503 | + } else { | ||
| 504 | + Message.error("数据更新失败,请检查数据") | ||
| 505 | + } | ||
| 506 | + }) | ||
| 507 | + } | ||
| 508 | + }) | ||
| 509 | + }, | ||
| 510 | + | ||
| 511 | + // 发送舱单报 | ||
| 512 | + handleSendAwb() { | ||
| 513 | + | ||
| 514 | + }, | ||
| 515 | + // 删除 发送删除报 | ||
| 516 | + handleAwbDelete(row) { | ||
| 517 | + this.$confirm("是否删除", "确认消息", { | ||
| 518 | + distinguishCancelAndClose: true, | ||
| 519 | + confirmButtonText: '删除', | ||
| 520 | + cancelButtonText: '取消' | ||
| 521 | + }).then(() => { | ||
| 522 | + deleteByIsDelete(row).then(res => { | ||
| 523 | + if (res.data.count > 0) { | ||
| 524 | + this.$message({ | ||
| 525 | + type: 'success', | ||
| 526 | + message: '删除成功' | ||
| 527 | + }) | ||
| 528 | + this.getList() | ||
| 529 | + } else { | ||
| 530 | + this.$message({ | ||
| 531 | + type: 'danger', | ||
| 532 | + message: '删除异常,请稍后重试' | ||
| 533 | + }) | ||
| 534 | + } | ||
| 535 | + }) | ||
| 536 | + }).catch(action => { | ||
| 537 | + this.$message({ | ||
| 538 | + type: 'info', | ||
| 539 | + message: action === 'cancel' | ||
| 540 | + ? '取消删除' | ||
| 541 | + : '删除取消' | ||
| 542 | + }) | ||
| 543 | + }) | ||
| 544 | + }, | ||
| 545 | + // 更改当前运单发送状态 | ||
| 546 | + handleAwbStatus(row) { | ||
| 547 | + this.$confirm("是否发送更改状态", "确认消息", { | ||
| 548 | + distinguishCancelAndClose: true, | ||
| 549 | + confirmButtonText: '确认更改', | ||
| 550 | + cancelButtonText: '取消更改' | ||
| 551 | + }).then(() => { | ||
| 552 | + updateStatus(row).then(res => { | ||
| 553 | + if (res.data.count > 0) { | ||
| 554 | + this.$message({ | ||
| 555 | + type: 'success', | ||
| 556 | + message: '当前运单状态已更改' | ||
| 557 | + }) | ||
| 558 | + this.getList() | ||
| 559 | + } else { | ||
| 560 | + this.$message({ | ||
| 561 | + type: 'error', | ||
| 562 | + message: '状态更改失败,请稍后重试' | ||
| 563 | + }) | ||
| 564 | + } | ||
| 565 | + }) | ||
| 566 | + | ||
| 567 | + }).catch(action => { | ||
| 568 | + this.$message({ | ||
| 569 | + type: 'info', | ||
| 570 | + message: action === 'cancel' | ||
| 571 | + ? '取消状态更改' | ||
| 572 | + : '状态更改取消' | ||
| 573 | + }) | ||
| 574 | + }) | ||
| 575 | + }, | ||
| 576 | + // 保存并发送 | ||
| 577 | + handleSaveAndSend() { | ||
| 578 | + | ||
| 579 | + }, | ||
| 580 | + // 重置实体 | ||
| 581 | + restModel() { | ||
| 582 | + this.loadingModel = { | ||
| 583 | + carrier:undefined, | ||
| 584 | + flightno: undefined, | ||
| 585 | + flightdate: undefined, | ||
| 586 | + originstation: undefined, | ||
| 587 | + destinationstation: undefined, | ||
| 588 | + awba: undefined, | ||
| 589 | + lodingpiece: undefined, | ||
| 590 | + lodingweight: undefined, | ||
| 591 | + goodsname: undefined, | ||
| 592 | + customcode: undefined, | ||
| 593 | + specialgoods: undefined, | ||
| 594 | + loadingtime: undefined, | ||
| 595 | + messageType: 'MT4201', | ||
| 596 | + awbprice: undefined, | ||
| 597 | + awbweight: undefined | ||
| 598 | + } | ||
| 599 | + }, | ||
| 600 | + // 新增出港装载 弹框 | ||
| 601 | + handelAddLoadingInfo() { | ||
| 602 | + this.restModel() | ||
| 603 | + // 给model赋值,所使用数据是以单独单号查询数据所得 | ||
| 604 | + this.loadingModel.carrier = this.loadingQuery.carrier | ||
| 605 | + this.loadingModel.flightdate = this.loadingQuery.flightdate | ||
| 606 | + this.loadingModel.flightno = this.loadingQuery.flightno | ||
| 607 | + this.loadingModel.originstation = this.loadingQuery.originstation | ||
| 608 | + this.loadingModel.destinationstation = this.loadingQuery.destinationstation | ||
| 609 | + this.loadingModel.customcode = this.loadingQuery.customcode | ||
| 610 | + this.dialogStatus = 'create' | ||
| 611 | + this.dialogFormVisible = true | ||
| 612 | + this.$nextTick(() => { | ||
| 613 | + this.$refs.loadingFormData.clearValidate() | ||
| 614 | + }) | ||
| 615 | + }, | ||
| 616 | + // 新增出港装载 请求 | ||
| 617 | + createData() { | ||
| 618 | + this.$refs.loadingFormData.validate(valid => { | ||
| 619 | + if (valid) { | ||
| 620 | + addMt4201(this.loadingModel).then(res => { | ||
| 621 | + if (res.data.count > 0) { | ||
| 622 | + this.dialogFormVisible = false | ||
| 623 | + Message.success("新增出港装载成功") | ||
| 624 | + this.getList() | ||
| 625 | + } else { | ||
| 626 | + Message.error("数据新增失败,请检查数据") | ||
| 627 | + } | ||
| 628 | + }) | ||
| 629 | + } | ||
| 630 | + }) | ||
| 631 | + }, | ||
| 632 | + handleAddLoading() { | ||
| 633 | + const row = { | ||
| 634 | + 'messageType': 'MT4201' | ||
| 635 | + } | ||
| 636 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 637 | + }, | ||
| 638 | + handelBackStep() { | ||
| 639 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.loadingModel}}) | ||
| 640 | + } | ||
| 641 | + } | ||
| 642 | + } | ||
| 643 | + | ||
| 644 | +</script> | ||
| 645 | +<style> | ||
| 646 | + .grid-content { | ||
| 647 | + height: 36px; | ||
| 648 | + line-height: 36px; | ||
| 649 | + } | ||
| 650 | + | ||
| 651 | + .content { | ||
| 652 | + border-left: 4px #409EFF solid; | ||
| 653 | + padding-left: 10px; | ||
| 654 | + background-color: #f9fafc; | ||
| 655 | + margin-bottom: 2px | ||
| 656 | + } | ||
| 657 | + | ||
| 658 | + .row-bg, .co { | ||
| 659 | + background-color: white; | ||
| 660 | + } | ||
| 661 | + | ||
| 662 | + .titleSpan { | ||
| 663 | + font-weight: bold; | ||
| 664 | + margin-right: 35px; | ||
| 665 | + } | ||
| 666 | + | ||
| 667 | + .el-row { | ||
| 668 | + margin-top: 10px; | ||
| 669 | + margin-bottom: 0px; | ||
| 670 | + } | ||
| 671 | + | ||
| 672 | + .btnFoot { | ||
| 673 | + margin-top: 10px; | ||
| 674 | + } | ||
| 675 | + | ||
| 676 | + .el-table td, .el-table th { | ||
| 677 | + text-align: center | ||
| 678 | + } | ||
| 679 | + | ||
| 680 | + .el-btn { | ||
| 681 | + margin-left: 10px; | ||
| 682 | + display: inline-block; | ||
| 683 | + } | ||
| 684 | +</style> |
src/views/nmms/ExitManifest.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div class="app-content"> | ||
| 4 | + <div class="filter-container"> | ||
| 5 | + <el-input v-model="listQuery.awba" clearable style="width: 200px;" class="filter-item" placeholder="运单号"/> | ||
| 6 | + <el-input v-model="listQuery.carrier" clearable style="width: 200px;" class="filter-item" placeholder="承运人"/> | ||
| 7 | + <el-input v-model="listQuery.flightno" clearable style="width: 200px;" class="filter-item" placeholder="航班号"/> | ||
| 8 | + <el-date-picker v-model="listQuery.flightDate" type="date" placeholder="航班日期" | ||
| 9 | + value-format="yyyy-MM-dd" class="filter-item"></el-date-picker> | ||
| 10 | + </div> | ||
| 11 | + <div class="filter-container"> | ||
| 12 | + <el-select v-model="listQuery.messageType" clearable class="filter-item" placeholder="请选择报文类型" style="width: 200px;"> | ||
| 13 | + <el-option v-for="item in messageTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 14 | + </el-select> | ||
| 15 | + <el-select v-model="listQuery.messageStatus" clearable class="filter-item" placeholder="请选择报文状态" style="width: 200px;"> | ||
| 16 | + <el-option v-for="item in messageStatusList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 17 | + </el-select> | ||
| 18 | + <el-select v-model="listQuery.customStatus" clearable class="filter-item" placeholder="请选择海关状态" style="width: 200px;"> | ||
| 19 | + <el-option v-for="item in customStatusList" :key="item.value" :label="item.label" :value="item.value"></el-option> | ||
| 20 | + </el-select> | ||
| 21 | + <el-button class="filter-item" type="primary" @click="handleSearch">查询</el-button> | ||
| 22 | + <el-button class="filter-item" style="margin-left: 10px;" type="warning" | ||
| 23 | + @click="handleUpdateStatus">批量修改状态</el-button> | ||
| 24 | + </div> | ||
| 25 | + <div class="midSpan"> | ||
| 26 | + <el-row> | ||
| 27 | + <el-col :span="0.5"> | ||
| 28 | + <span style="color: red">注:</span> | ||
| 29 | + </el-col> | ||
| 30 | + <el-col :span="1" style="background: oldlace; margin-right: 5px" align="center"> | ||
| 31 | + <span>预配舱单</span> | ||
| 32 | + </el-col> | ||
| 33 | + <el-col :span="1" style="background: #f0f9eb; margin-right: 5px" align="center"> | ||
| 34 | + <span>出港运抵</span> | ||
| 35 | + </el-col> | ||
| 36 | + <el-col :span="1" style="background: #bce7fd; margin-right: 5px" align="center"> | ||
| 37 | + <span>出港装载</span> | ||
| 38 | + </el-col> | ||
| 39 | + <el-col :span="1" style="background: #f5ffc0" align="center"> | ||
| 40 | + <span>出港理货</span> | ||
| 41 | + </el-col> | ||
| 42 | + </el-row> | ||
| 43 | + </div> | ||
| 44 | + <tree-table v-loading="listLoading" :data="manifestData" :eval-func="func" :expand-all="true" | ||
| 45 | + style="font-size: 13px" border @selection-change="handleSelectionChange" | ||
| 46 | + :row-class-name="tableRowClassName"> | ||
| 47 | + <el-table-column label="航班号" width="80px" align="center"> | ||
| 48 | + <template slot-scope="scope"> | ||
| 49 | + <span>{{ scope.row.carrier }}{{ scope.row.flightno }}</span> | ||
| 50 | + </template> | ||
| 51 | + </el-table-column> | ||
| 52 | + <el-table-column label="航班日期" width="100px" align="center"> | ||
| 53 | + <template slot-scope="scope"> | ||
| 54 | + <span>{{ scope.row.flightdate }}</span> | ||
| 55 | + </template> | ||
| 56 | + </el-table-column> | ||
| 57 | + <el-table-column label="航段" width="100px" align="center"> | ||
| 58 | + <template slot-scope="scope"> | ||
| 59 | + <span>{{ scope.row.originstation }}-{{ scope.row.destinationstation }}</span> | ||
| 60 | + </template> | ||
| 61 | + </el-table-column> | ||
| 62 | + <el-table-column label="主单号" width="120px" align="center" > | ||
| 63 | + <template slot-scope="scope" > | ||
| 64 | + <span>{{ scope.row.awba }}</span> | ||
| 65 | + </template> | ||
| 66 | + </el-table-column> | ||
| 67 | + <el-table-column label="分单号" width="150px" align="center"> | ||
| 68 | + <template slot-scope="scope"> | ||
| 69 | + <span>{{ scope.row.awbh }}</span> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 72 | + <el-table-column label="件数" width="60px" align="center"> | ||
| 73 | + <template slot-scope="scope"> | ||
| 74 | + <span>{{ scope.row.piece }}</span> | ||
| 75 | + </template> | ||
| 76 | + </el-table-column> | ||
| 77 | + <el-table-column label="重量" width="60px" align="center"> | ||
| 78 | + <template slot-scope="scope"> | ||
| 79 | + <span>{{ scope.row.weight }}</span> | ||
| 80 | + </template> | ||
| 81 | + </el-table-column> | ||
| 82 | + <el-table-column label="关区" width="60px" align="center"> | ||
| 83 | + <template slot-scope="scope"> | ||
| 84 | + <span>{{ scope.row.customcode }}</span> | ||
| 85 | + </template> | ||
| 86 | + </el-table-column> | ||
| 87 | + <el-table-column label="时间" width="150px" align="center"> | ||
| 88 | + <template slot-scope="scope"> | ||
| 89 | + <span>{{ scope.row.actime }}</span> | ||
| 90 | + </template> | ||
| 91 | + </el-table-column> | ||
| 92 | + <el-table-column label="状态" width="90px" align="center"> | ||
| 93 | + <template slot-scope="scope"> | ||
| 94 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 95 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 96 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 97 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 98 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 99 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 100 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 101 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 102 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 103 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 104 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 105 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 106 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 107 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 108 | + </template> | ||
| 109 | + </el-table-column> | ||
| 110 | + <el-table-column label="回执内容" align="center" show-overflow-tooltip> | ||
| 111 | + <template slot-scope="scope"> | ||
| 112 | + <span>{{ scope.row.customText }}</span> | ||
| 113 | + <!--<div>--> | ||
| 114 | + <!--<el-progress :percentage="scope.row.customComplate" :status="scope.row.status | statusFilter"/>--> | ||
| 115 | + <!--</div>--> | ||
| 116 | + </template> | ||
| 117 | + </el-table-column> | ||
| 118 | + <el-table-column label="操作" width="180px" align="center"> | ||
| 119 | + <template slot-scope="scope"> | ||
| 120 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT2201'" @click="handleUpdate(scope.row)">预配舱单</a> | ||
| 121 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT3201'" @click="handleUpdate(scope.row)">出港运抵</a> | ||
| 122 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT4201'" @click="handleUpdate(scope.row)">出港装载</a> | ||
| 123 | + <a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT5202'" @click="handleUpdate(scope.row)">出港理货</a> | ||
| 124 | + <a style="color: #1d8ce0" @click="handleUpdateStatus(scope.row)">更改状态</a> | ||
| 125 | + </template> | ||
| 126 | + </el-table-column> | ||
| 127 | + </tree-table> | ||
| 128 | + <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | ||
| 129 | + @pagination="getList"/> | ||
| 130 | + </div> | ||
| 131 | +</template> | ||
| 132 | +<script> | ||
| 133 | + import treeTable from '@/components/TreeTable' | ||
| 134 | + import treeToArray from '@/utils/customEval' | ||
| 135 | + import Pagination from '@/components/Pagination' | ||
| 136 | + import {getManifests} from "@/api/exitManifest" | ||
| 137 | + | ||
| 138 | + import {getMt520XListForParam} from "@/api/exitTidy"; | ||
| 139 | + import {getMt3201ListForParam} from "@/api/exitArrive"; | ||
| 140 | + import {getMt4201ListForParam} from "@/api/exitLoading"; | ||
| 141 | + | ||
| 142 | + export default { | ||
| 143 | + name: "ExitManifest", | ||
| 144 | + components: {treeTable, Pagination}, | ||
| 145 | + inject:['reload'], | ||
| 146 | + data() { | ||
| 147 | + return { | ||
| 148 | + func: treeToArray, | ||
| 149 | + total: 1, | ||
| 150 | + listLoading: false, | ||
| 151 | + listQuery: { | ||
| 152 | + pageSize: 1, | ||
| 153 | + limitSize: 100, | ||
| 154 | + awba:undefined, | ||
| 155 | + carrier: undefined, | ||
| 156 | + flightno:undefined, | ||
| 157 | + flightDate: new Date(), | ||
| 158 | + messageType: undefined, | ||
| 159 | + messageStatus: undefined, | ||
| 160 | + customStatus: undefined, | ||
| 161 | + }, | ||
| 162 | + manifestData: [], | ||
| 163 | + messageTypeList: [ | ||
| 164 | + {label:'预配舱单',value:'MT2201'}, | ||
| 165 | + {label:'出港运抵',value:'MT3201'}, | ||
| 166 | + {label:'出港装载',value:'MT4201'}, | ||
| 167 | + {label:'出港理货',value:'MT5202'} | ||
| 168 | + ], | ||
| 169 | + messageStatusList: [ | ||
| 170 | + {label:'未发送',value:'01'}, | ||
| 171 | + {label:'已发舱单报',value:'02'}, | ||
| 172 | + {label:'舱单报退单',value:'05'}, | ||
| 173 | + {label:'舱单转人工',value:'06'}, | ||
| 174 | + {label:'舱单报申报成功',value:'07'}, | ||
| 175 | + {label:'已发舱单删除报',value:'08'}, | ||
| 176 | + {label:'舱单删除报退单',value:'09'}, | ||
| 177 | + {label:'舱单删除报转人工',value:'10'}, | ||
| 178 | + {label:'舱单删除成功',value:'11'}, | ||
| 179 | + {label:'已发舱单修改报',value:'12'}, | ||
| 180 | + {label:'舱单修改报退单',value:'13'}, | ||
| 181 | + {label:'舱单修改报转人工',value:'14'}, | ||
| 182 | + {label:'舱单修改报成功',value:'15'}, | ||
| 183 | + {label:'海关已存在',value:'16'}, | ||
| 184 | + ], | ||
| 185 | + customStatusList: [ | ||
| 186 | + {label:'普通货物',value:'001'}, | ||
| 187 | + {label:'国际转运货物',value:'002'}, | ||
| 188 | + {label:'国内转关',value:'003'}, | ||
| 189 | + {label:'空箱',value:'004'}, | ||
| 190 | + {label:'快件',value:'006'}, | ||
| 191 | + ] | ||
| 192 | + } | ||
| 193 | + }, | ||
| 194 | + methods: { | ||
| 195 | + getList() { | ||
| 196 | + this.listLoading = true | ||
| 197 | + getManifests(this.listQuery).then(res =>{ | ||
| 198 | + this.manifestData = res.data.dataList | ||
| 199 | + this.total = res.data.count | ||
| 200 | + setTimeout(() =>{ | ||
| 201 | + this.listLoading = false | ||
| 202 | + },1500) | ||
| 203 | + }) | ||
| 204 | + }, | ||
| 205 | + handleSelectionChange() { | ||
| 206 | + | ||
| 207 | + }, | ||
| 208 | + handleSearch(){ | ||
| 209 | + this.getList() | ||
| 210 | + }, | ||
| 211 | + handleUpdateStatus(row){ | ||
| 212 | + | ||
| 213 | + }, | ||
| 214 | + handleUpdate(row){ | ||
| 215 | + if(row.messageType === 'MT2201'){ | ||
| 216 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 217 | + } | ||
| 218 | + if(row.messageType === 'MT3201'){ | ||
| 219 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 220 | + } | ||
| 221 | + if(row.messageType === 'MT4201'){ | ||
| 222 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 223 | + } | ||
| 224 | + if(row.messageType === 'MT5201'){ | ||
| 225 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 226 | + } | ||
| 227 | + }, | ||
| 228 | + tableRowClassName({row,index}){ | ||
| 229 | + if(row.messageType === 'MT2201'){ | ||
| 230 | + return 'MT2201-row' | ||
| 231 | + } | ||
| 232 | + if(row.messageType === 'MT3201'){ | ||
| 233 | + return 'MT3201-row' | ||
| 234 | + } | ||
| 235 | + if(row.messageType === 'MT4201'){ | ||
| 236 | + return 'MT4201-row' | ||
| 237 | + } | ||
| 238 | + if(row.messageType === 'MT5202'){ | ||
| 239 | + return 'MT5202-row' | ||
| 240 | + } | ||
| 241 | + } | ||
| 242 | + } | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | +</script> | ||
| 246 | +<style> | ||
| 247 | + .el-table .MT2201-row { | ||
| 248 | + background: oldlace; | ||
| 249 | + } | ||
| 250 | + | ||
| 251 | + .el-table .MT3201-row { | ||
| 252 | + background: #f0f9eb; | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + .el-table .MT4201-row { | ||
| 256 | + background: #bce7fd; | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + .el-table .MT5202-row { | ||
| 260 | + background: #f5ffc0; | ||
| 261 | + } | ||
| 262 | + .app-content{ | ||
| 263 | + margin-top: 20px; | ||
| 264 | + } | ||
| 265 | + .midSpan{ | ||
| 266 | + margin-bottom: 10px; | ||
| 267 | + } | ||
| 268 | +</style> |
src/views/nmms/ExitPre.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div> | ||
| 4 | + <div> | ||
| 5 | + <el-row class="row-bg"> | ||
| 6 | + <el-col :span="24"> | ||
| 7 | + <div class="grid-content content">航班信息</div> | ||
| 8 | + </el-col> | ||
| 9 | + <el-col :span="24"> | ||
| 10 | + <div class="grid-content co"> | ||
| 11 | + <el-col :span="1"> | ||
| 12 | + <div class="grid-content"></div> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="20"> | ||
| 15 | + <div class="grid-content"> | ||
| 16 | + <span class="titleSpan">航班号:{{this.listQuery.carrier}}{{this.listQuery.flightNo}}</span> | ||
| 17 | + <span class="titleSpan">航班日期:{{this.listQuery.flightDate}}</span> | ||
| 18 | + <span class="titleSpan">航段:{{this.listQuery.originStation}}-{{this.listQuery.destinationStation}}</span> | ||
| 19 | + </div> | ||
| 20 | + </el-col> | ||
| 21 | + </div> | ||
| 22 | + </el-col> | ||
| 23 | + <el-col :span="24"> | ||
| 24 | + <div class="grid-content content">预配舱单查询</div> | ||
| 25 | + </el-col> | ||
| 26 | + <el-col :span="24"> | ||
| 27 | + <div class="grid-content co"> | ||
| 28 | + <el-col :span="1"> | ||
| 29 | + <div class="grid-content"></div> | ||
| 30 | + </el-col> | ||
| 31 | + <el-col :span="22"> | ||
| 32 | + <div class="grid-content"> | ||
| 33 | + <el-col :span="4"> | ||
| 34 | + <div class="grid-content"> | ||
| 35 | + <el-input v-model="listQuery.awba" placeholder="请输入主单号"></el-input> | ||
| 36 | + </div> | ||
| 37 | + </el-col> | ||
| 38 | + <div class="grid-content el-btn"> | ||
| 39 | + <el-button type="primary" size="mini" @click="handleSerach">查询</el-button> | ||
| 40 | + <el-button v-if="preModel.flightno === undefined && preData.length<1" type="primary" | ||
| 41 | + size="mini" | ||
| 42 | + @click="handleAddpre">新增预配舱单 | ||
| 43 | + </el-button> | ||
| 44 | + </div> | ||
| 45 | + </div> | ||
| 46 | + </el-col> | ||
| 47 | + </div> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="24"> | ||
| 50 | + <div class="grid-content content" style="margin-top: 6px">预配舱单明细</div> | ||
| 51 | + </el-col> | ||
| 52 | + </el-row> | ||
| 53 | + </div> | ||
| 54 | + | ||
| 55 | + <tree-table :data="preData" stripe style="font-size: 12px" :eval-func="func" :expand-all="true" border | ||
| 56 | + @selection-change="handleSelectionChange" v-loading="listLoading"> | ||
| 57 | + <el-table-column label="航班信息" width="90" align="center"> | ||
| 58 | + <template slot-scope="scope"> | ||
| 59 | + <p class="tableInline">{{scope.row.carrier}}{{scope.row.flightno}}</p> | ||
| 60 | + <p class="tableInline">{{scope.row.flightdate}}</p> | ||
| 61 | + <p class="tableInline">{{scope.row.originstation}}-{{scope.row.destinationstation}}</p> | ||
| 62 | + </template> | ||
| 63 | + </el-table-column> | ||
| 64 | + <el-table-column label="运单号" width="120" align="center"> | ||
| 65 | + <template slot-scope="scope"> | ||
| 66 | + <p class="tableInline">{{scope.row.awba}}</p> | ||
| 67 | + <p class="tableInline" v-if="scope.row.awbh !==null">{{scope.row.awbh}}</p> | ||
| 68 | + </template> | ||
| 69 | + </el-table-column> | ||
| 70 | + <el-table-column label="运单件数/重量" width="100" align="center"> | ||
| 71 | + <template slot-scope="scope"> | ||
| 72 | + {{scope.row.piece}} | ||
| 73 | + </template> | ||
| 74 | + </el-table-column> | ||
| 75 | + <el-table-column label="预配件数/重量" width="100" align="center"> | ||
| 76 | + <template slot-scope="scope"> | ||
| 77 | + {{scope.row.weight}} | ||
| 78 | + </template> | ||
| 79 | + </el-table-column> | ||
| 80 | + <el-table-column label="货物描述" width="120" align="center"> | ||
| 81 | + <template slot-scope="scope"> | ||
| 82 | + {{scope.row.goodsname}} | ||
| 83 | + </template> | ||
| 84 | + </el-table-column> | ||
| 85 | + <el-table-column label="配载时间" width="140" align="center"> | ||
| 86 | + <template slot-scope="scope"> | ||
| 87 | + {{scope.row.actime}} | ||
| 88 | + </template> | ||
| 89 | + </el-table-column> | ||
| 90 | + <el-table-column label="代理人代码" width="120" align="center"> | ||
| 91 | + <template slot-scope="scope"> | ||
| 92 | + {{scope.row.status}} | ||
| 93 | + </template> | ||
| 94 | + </el-table-column> | ||
| 95 | + <el-table-column label="状态" width="100" align="center"> | ||
| 96 | + <template slot-scope="scope"> | ||
| 97 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 98 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 99 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 100 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 101 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 102 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 103 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 104 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 105 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 106 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 107 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 108 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 109 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 110 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 111 | + </template> | ||
| 112 | + </el-table-column> | ||
| 113 | + <el-table-column prop="receipt" label="回执信息" align="center"> | ||
| 114 | + <template slot-scope="scope"> | ||
| 115 | + {{scope.row.ext5}} | ||
| 116 | + <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | ||
| 117 | + </template> | ||
| 118 | + </el-table-column> | ||
| 119 | + <el-table-column label="操作" width="300"> | ||
| 120 | + <template slot-scope="scope"> | ||
| 121 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑运单</el-button> | ||
| 122 | + <el-button size="mini" type="success" v-if="scope.row.awbh ===null" | ||
| 123 | + @click="handleAddAwbh(scope.row)">新增分单 | ||
| 124 | + </el-button> | ||
| 125 | + <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | ||
| 126 | + :disabled="scope.row.status !== '01'">发舱单报 | ||
| 127 | + </el-button> | ||
| 128 | + <p></p> | ||
| 129 | + <el-button size="mini" type="primary" @click="handleAwbEdit(scope.row)">发修改报</el-button> | ||
| 130 | + | ||
| 131 | + <el-button size="mini" type="danger" @click="handleAwbDelete(scope.row)">发删除报</el-button> | ||
| 132 | + <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | ||
| 133 | + :disabled="scope.row.status === '01'">更改状态 | ||
| 134 | + </el-button> | ||
| 135 | + | ||
| 136 | + | ||
| 137 | + </template> | ||
| 138 | + </el-table-column> | ||
| 139 | + </tree-table> | ||
| 140 | + <div class="btnFoot"> | ||
| 141 | + <el-row> | ||
| 142 | + <el-button type="primary" size="mini" | ||
| 143 | + @click="handleAddpreInfo">新增预配舱单 | ||
| 144 | + </el-button> | ||
| 145 | + <el-button type="primary" size="mini" @click="handelBackStep" | ||
| 146 | + v-if="preModel.flightno !== undefined || preData.length >0">返回 | ||
| 147 | + </el-button> | ||
| 148 | + </el-row> | ||
| 149 | + </div> | ||
| 150 | + <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | ||
| 151 | + @pagination="getList"/> | ||
| 152 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible" width="60%"> | ||
| 153 | + <el-form ref="preFormData" :model="preModel" :rules="preRoles" label-position="right" | ||
| 154 | + label-width="120px" class="el-dialog-div"> | ||
| 155 | + <div class="grid-content content"> | ||
| 156 | + 运单信息 | ||
| 157 | + </div> | ||
| 158 | + <el-row> | ||
| 159 | + <el-col :span="7.5"> | ||
| 160 | + <el-form-item label="主单号" prop="awba"> | ||
| 161 | + <el-input :disabled="dialogStatus !== 'create'" v-model="awba" clearable/> | ||
| 162 | + </el-form-item> | ||
| 163 | + </el-col> | ||
| 164 | + <el-col :span="7.5" v-if="dialogStatus === 'addAwbh'"> | ||
| 165 | + <el-form-item label="分单号"> | ||
| 166 | + <el-input v-model="awbh" clearable/> | ||
| 167 | + </el-form-item> | ||
| 168 | + </el-col> | ||
| 169 | + </el-row> | ||
| 170 | + <div class="grid-content content"> | ||
| 171 | + 航班信息 | ||
| 172 | + </div> | ||
| 173 | + <el-row> | ||
| 174 | + <el-col :span="7.5"> | ||
| 175 | + <el-form-item label="承运人" prop="carrier"> | ||
| 176 | + <el-input v-model="carrier" :disabled="dialogStatus === 'addAwbh'" clearable/> | ||
| 177 | + </el-form-item> | ||
| 178 | + </el-col> | ||
| 179 | + <el-col :span="7.5"> | ||
| 180 | + <el-form-item label="航班号" prop="flightno"> | ||
| 181 | + <el-input v-model="flightno" :disabled="dialogStatus === 'addAwbh'" clearable/> | ||
| 182 | + </el-form-item> | ||
| 183 | + </el-col> | ||
| 184 | + <el-col :span="7.5"> | ||
| 185 | + <el-form-item label="航班日期" prop="flightdate"> | ||
| 186 | + <el-date-picker :disabled="dialogStatus === 'addAwbh'" | ||
| 187 | + value-format="yyyy-MM-dd" | ||
| 188 | + v-model="preModel.flightdate" align="right" | ||
| 189 | + type="date" placeholder="请输入航班日期" clearable/> | ||
| 190 | + </el-form-item> | ||
| 191 | + </el-col> | ||
| 192 | + | ||
| 193 | + </el-row> | ||
| 194 | + <el-row> | ||
| 195 | + <el-col :span="7.5"> | ||
| 196 | + <el-form-item label="起始站" prop="originstation"> | ||
| 197 | + <el-input v-model="originstation" :disabled="dialogStatus === 'addAwbh'" clearable/> | ||
| 198 | + </el-form-item> | ||
| 199 | + </el-col> | ||
| 200 | + <el-col :span="7.5"> | ||
| 201 | + <el-form-item label="目的站" prop="destinationstation"> | ||
| 202 | + <el-input v-model="destinationstation" :disabled="dialogStatus === 'addAwbh'" clearable/> | ||
| 203 | + </el-form-item> | ||
| 204 | + </el-col> | ||
| 205 | + </el-row> | ||
| 206 | + <div class="grid-content content"> | ||
| 207 | + 货物信息 | ||
| 208 | + </div> | ||
| 209 | + | ||
| 210 | + <el-row> | ||
| 211 | + <el-col :span="7.5"> | ||
| 212 | + <el-form-item label="运单件数" prop="piece"> | ||
| 213 | + <el-input v-model.number="preModel.awbinfo.pcs" clearable/> | ||
| 214 | + </el-form-item> | ||
| 215 | + </el-col> | ||
| 216 | + <el-col :span="7.5"> | ||
| 217 | + <el-form-item label="运单重量" prop="weight"> | ||
| 218 | + <el-input v-model.number="preModel.awbinfo.weight" clearable/> | ||
| 219 | + </el-form-item> | ||
| 220 | + </el-col> | ||
| 221 | + <el-col :span="7.5"> | ||
| 222 | + <el-form-item label="货物描述" prop="goodsname"> | ||
| 223 | + <el-input v-model="goodsname" clearable/> | ||
| 224 | + </el-form-item> | ||
| 225 | + </el-col> | ||
| 226 | + </el-row> | ||
| 227 | + <el-row> | ||
| 228 | + <el-col :span="7.5" v-if="dialogStatus !=='addAwbh'"> | ||
| 229 | + <el-form-item label="预配件数" prop="piece"> | ||
| 230 | + <el-input v-model.number="preModel.piece" clearable/> | ||
| 231 | + </el-form-item> | ||
| 232 | + </el-col> | ||
| 233 | + <el-col :span="8" v-if="dialogStatus ==='addAwbh'"> | ||
| 234 | + <el-col :span="13"> | ||
| 235 | + <el-form-item label="预配件数" prop="piece"> | ||
| 236 | + <el-input v-model.number="preModel.piece" clearable/> | ||
| 237 | + </el-form-item> | ||
| 238 | + </el-col> | ||
| 239 | + <el-col :span="8"> | ||
| 240 | + <span>剩余件数:{{awbPiece}}</span> | ||
| 241 | + </el-col> | ||
| 242 | + </el-col> | ||
| 243 | + <el-col :span="7.5" v-if="dialogStatus !=='addAwbh'"> | ||
| 244 | + <el-form-item label="预配重量" prop="weight"> | ||
| 245 | + <el-input v-model.number="preModel.weight" clearable/> | ||
| 246 | + </el-form-item> | ||
| 247 | + </el-col> | ||
| 248 | + <el-col :span="8" v-if="dialogStatus ==='addAwbh'"> | ||
| 249 | + <el-col :span="13"> | ||
| 250 | + <el-form-item label="预配重量" prop="weight"> | ||
| 251 | + <el-input v-model.number="preModel.weight" clearable/> | ||
| 252 | + </el-form-item> | ||
| 253 | + </el-col> | ||
| 254 | + <el-col :span="8"> | ||
| 255 | + <span>剩余重量:{{awbWeight}}</span> | ||
| 256 | + </el-col> | ||
| 257 | + </el-col> | ||
| 258 | + | ||
| 259 | + <el-col :span="7.5"> | ||
| 260 | + <el-form-item label="预配时间" prop="pretime"> | ||
| 261 | + <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" | ||
| 262 | + v-model="preModel.actime" align="right" | ||
| 263 | + type="date" placeholder="请选择"/> | ||
| 264 | + </el-form-item> | ||
| 265 | + </el-col> | ||
| 266 | + </el-row> | ||
| 267 | + <el-row> | ||
| 268 | + <el-col :span="7.5"> | ||
| 269 | + <el-form-item label="关区代码" prop="customcode"> | ||
| 270 | + <el-select v-model="preModel.customcode" class="filter-item" placeholder="请选择关区代码" | ||
| 271 | + :disabled="dialogStatus === 'addAwbh'"> | ||
| 272 | + <el-option v-for="item in customcodeList" :key="item.value" :label="item.label" | ||
| 273 | + :value="item.value"></el-option> | ||
| 274 | + </el-select> | ||
| 275 | + </el-form-item> | ||
| 276 | + </el-col> | ||
| 277 | + <el-col :span="7.5"> | ||
| 278 | + <el-form-item label="海关状态" prop="ex5"> | ||
| 279 | + <el-select v-model="preModel.awbtype" class="filter-item" placeholder="请录入货物类型"> | ||
| 280 | + <el-option v-for="item in customTypes" :key="item.value" :label="item.label" | ||
| 281 | + :value="item.value"/> | ||
| 282 | + </el-select> | ||
| 283 | + </el-form-item> | ||
| 284 | + </el-col> | ||
| 285 | + <el-col :span="7.5"> | ||
| 286 | + <el-form-item label="付费方式" prop="awbinfo.collected"> | ||
| 287 | + <el-select v-model="preModel.awbinfo.collected" class="filter-item" placeholder="付费方式"> | ||
| 288 | + <el-option | ||
| 289 | + v-for="item in payTypes" | ||
| 290 | + :key="item.value" | ||
| 291 | + :label="item.label" | ||
| 292 | + :value="item.value"/> | ||
| 293 | + </el-select> | ||
| 294 | + </el-form-item> | ||
| 295 | + </el-col> | ||
| 296 | + </el-row> | ||
| 297 | + <el-row> | ||
| 298 | + | ||
| 299 | + <el-col :span="7.5"> | ||
| 300 | + <el-form-item label="卸货地" prop=""> | ||
| 301 | + <el-input v-model="specopeid" clearable/> | ||
| 302 | + </el-form-item> | ||
| 303 | + </el-col> | ||
| 304 | + <el-col :span="7.5"> | ||
| 305 | + <el-form-item label="代理人代码" prop=""> | ||
| 306 | + <el-input v-model="preModel.awbinfo.shpcustomerid" clearable/> | ||
| 307 | + </el-form-item> | ||
| 308 | + </el-col> | ||
| 309 | + <el-col :span="7.5"> | ||
| 310 | + <el-form-item label="代理人名称" prop=""> | ||
| 311 | + <el-input v-model="preModel.awbinfo.shpcustomerid" clearable/> | ||
| 312 | + </el-form-item> | ||
| 313 | + </el-col> | ||
| 314 | + </el-row> | ||
| 315 | + <el-row> | ||
| 316 | + | ||
| 317 | + </el-row> | ||
| 318 | + <div class="grid-content content"> | ||
| 319 | + 发货人信息 | ||
| 320 | + </div> | ||
| 321 | + <el-row> | ||
| 322 | + <el-col :span="7.5"> | ||
| 323 | + <el-form-item label="发货人名称" prop="awbinfo.shprname"> | ||
| 324 | + <el-input v-model="shprname" clearable/> | ||
| 325 | + </el-form-item> | ||
| 326 | + </el-col> | ||
| 327 | + <el-col :span="7.5"> | ||
| 328 | + <el-form-item label="地址" prop="awbinfo.shpraddress"> | ||
| 329 | + <el-input v-model="shpraddress" clearable/> | ||
| 330 | + </el-form-item> | ||
| 331 | + </el-col> | ||
| 332 | + <el-col :span="7.5"> | ||
| 333 | + <el-form-item label="城市代码"> | ||
| 334 | + <el-input v-model="preModel.awbinfo.shpcitycode" clearable/> | ||
| 335 | + </el-form-item> | ||
| 336 | + </el-col> | ||
| 337 | + </el-row> | ||
| 338 | + <el-row> | ||
| 339 | + <el-col :span="7.5"> | ||
| 340 | + <el-form-item label="电话" prop="awbinfo.shprtel"> | ||
| 341 | + <el-input v-model="preModel.awbinfo.shprtel" clearable/> | ||
| 342 | + </el-form-item> | ||
| 343 | + </el-col> | ||
| 344 | + <el-col :span="7.5"> | ||
| 345 | + <el-form-item label="传真"> | ||
| 346 | + <el-input v-model="preModel.awbinfo.shprmobiletype" clearable/> | ||
| 347 | + </el-form-item> | ||
| 348 | + </el-col> | ||
| 349 | + <el-col :span="7.5"> | ||
| 350 | + <el-form-item label="发货人AEO编码" prop="awbinfo.shpaeocode"> | ||
| 351 | + <el-input v-model="shpaeocode" clearable/> | ||
| 352 | + </el-form-item> | ||
| 353 | + </el-col> | ||
| 354 | + </el-row> | ||
| 355 | + <el-row> | ||
| 356 | + <el-col :span="7.5"> | ||
| 357 | + <el-form-item label="国家代码" prop="awbinfo.shprcountyr"> | ||
| 358 | + <el-select | ||
| 359 | + :remote-method="remoteMethod" | ||
| 360 | + :loading="listLoading" | ||
| 361 | + v-model="shprcountyr" | ||
| 362 | + filterable | ||
| 363 | + remote | ||
| 364 | + placeholder="请选择" clearable> | ||
| 365 | + <el-option | ||
| 366 | + v-for="item in countryOption" | ||
| 367 | + :key="item.value" | ||
| 368 | + :label="item.value" | ||
| 369 | + :value="item.value"> | ||
| 370 | + <span style="float: left">{{ item.label }}</span> | ||
| 371 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span> | ||
| 372 | + </el-option> | ||
| 373 | + </el-select> | ||
| 374 | + </el-form-item> | ||
| 375 | + </el-col> | ||
| 376 | + <!--<el-col :span="7.5">--> | ||
| 377 | + <!--<el-form-item label="企业代码类型" prop="awbinfo.shpcomidpre">--> | ||
| 378 | + <!--<el-select--> | ||
| 379 | + <!--v-model="shpcomidpre"--> | ||
| 380 | + <!--filterable--> | ||
| 381 | + <!--placeholder="请选择企业代码类型" style="width: 200px;">--> | ||
| 382 | + <!--<el-option--> | ||
| 383 | + <!--v-for="item in shpCompnyTypeOption"--> | ||
| 384 | + <!--:key="item.value"--> | ||
| 385 | + <!--:label="item.label"--> | ||
| 386 | + <!--:value="item.value"/>--> | ||
| 387 | + <!--</el-select>--> | ||
| 388 | + <!--</el-form-item>--> | ||
| 389 | + <!--</el-col>--> | ||
| 390 | + <!--<el-col :span="7.5">--> | ||
| 391 | + <!--<el-form-item prop="awbinfo.shpcomidpno" label-width="10px">--> | ||
| 392 | + <!--<el-input v-model="shpcomidpno" placeholder="企业代码"/>--> | ||
| 393 | + <!--</el-form-item>--> | ||
| 394 | + <!--</el-col>--> | ||
| 395 | + </el-row> | ||
| 396 | + <div class="grid-content content"> | ||
| 397 | + 收货人信息 | ||
| 398 | + </div> | ||
| 399 | + <el-row> | ||
| 400 | + <el-col :span="7.5"> | ||
| 401 | + <el-form-item label="收货人名称" prop="awbinfo.cnsnname"> | ||
| 402 | + <el-input v-model="cnsnname" clearable/> | ||
| 403 | + </el-form-item> | ||
| 404 | + </el-col> | ||
| 405 | + <el-col :span="7.5"> | ||
| 406 | + <el-form-item label="地址" prop="awbinfo.cnsnaddress"> | ||
| 407 | + <el-input v-model="cnsnaddress" clearable/> | ||
| 408 | + </el-form-item> | ||
| 409 | + </el-col> | ||
| 410 | + <el-col :span="7.5"> | ||
| 411 | + <el-form-item label="城市代码"> | ||
| 412 | + <el-input v-model="preModel.awbinfo.cnscitycode" clearable/> | ||
| 413 | + </el-form-item> | ||
| 414 | + </el-col> | ||
| 415 | + </el-row> | ||
| 416 | + <el-row> | ||
| 417 | + <el-col :span="7.5"> | ||
| 418 | + <el-form-item label="电话" prop="awbinfo.cnsntel"> | ||
| 419 | + <el-input v-model="preModel.awbinfo.cnsntel" clearable/> | ||
| 420 | + </el-form-item> | ||
| 421 | + </el-col> | ||
| 422 | + <el-col :span="7.5"> | ||
| 423 | + <el-form-item label="传真"> | ||
| 424 | + <el-input v-model="preModel.awbinfo.cnsrmobiletype" clearable/> | ||
| 425 | + </el-form-item> | ||
| 426 | + </el-col> | ||
| 427 | + <el-col :span="7.5"> | ||
| 428 | + <el-form-item label="收货人AEO编码" prop="awbinfo.cnsaeocode"> | ||
| 429 | + <el-input v-model="cnsaeocode" clearable/> | ||
| 430 | + </el-form-item> | ||
| 431 | + </el-col> | ||
| 432 | + </el-row> | ||
| 433 | + <el-row> | ||
| 434 | + <el-col :span="7.5"> | ||
| 435 | + <el-form-item label="国家代码" prop="awbinfo.cnscountyr"> | ||
| 436 | + <el-select | ||
| 437 | + :remote-method="remoteMethod" | ||
| 438 | + :listLoading="listLoading" | ||
| 439 | + v-model="cnscountyr" | ||
| 440 | + filterable | ||
| 441 | + remote | ||
| 442 | + placeholder="请选择" clearable> | ||
| 443 | + <el-option | ||
| 444 | + v-for="item in countryOption" | ||
| 445 | + :key="item.value" | ||
| 446 | + :label="item.value" | ||
| 447 | + :value="item.value"> | ||
| 448 | + <span style="float: left">{{ item.label }}</span> | ||
| 449 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span> | ||
| 450 | + </el-option> | ||
| 451 | + </el-select> | ||
| 452 | + </el-form-item> | ||
| 453 | + </el-col> | ||
| 454 | + <el-col :span="7.5"> | ||
| 455 | + <el-form-item label="具体收货人名称" prop="awbinfo.cnsrctcname"> | ||
| 456 | + <el-input v-model="cnsrctcname" clearable/> | ||
| 457 | + </el-form-item> | ||
| 458 | + </el-col> | ||
| 459 | + <el-col :span="7.5"> | ||
| 460 | + <el-form-item label="具体收货人电话" prop="awbinfo.cnsrctctel"> | ||
| 461 | + <el-input v-model="preModel.awbinfo.cnsrctctel" clearable/> | ||
| 462 | + </el-form-item> | ||
| 463 | + </el-col> | ||
| 464 | + <!--<el-col :span="7.5">--> | ||
| 465 | + <!--<el-form-item label="企业代码类型" prop="awbinfo.csgcustomerid">--> | ||
| 466 | + <!--<el-select--> | ||
| 467 | + <!--v-model="cnscomidpre"--> | ||
| 468 | + <!--filterable--> | ||
| 469 | + <!--placeholder="请选择企业代码类型" style="width: 200px;">--> | ||
| 470 | + <!--<el-option--> | ||
| 471 | + <!--v-for="item in shpCompnyTypeOption"--> | ||
| 472 | + <!--:key="item.value"--> | ||
| 473 | + <!--:label="item.label"--> | ||
| 474 | + <!--:value="item.value"/>--> | ||
| 475 | + <!--</el-select>--> | ||
| 476 | + <!--</el-form-item>--> | ||
| 477 | + <!--</el-col>--> | ||
| 478 | + <!--<el-col :span="7.5">--> | ||
| 479 | + <!--<el-form-item prop="awbinfo.cnscomidno" label-width="10px">--> | ||
| 480 | + <!--<el-input v-model="cnscomidno" placeholder="企业代码"/>--> | ||
| 481 | + <!--</el-form-item>--> | ||
| 482 | + <!--</el-col>--> | ||
| 483 | + </el-row> | ||
| 484 | + </el-form> | ||
| 485 | + <div slot="footer" class="dialog-footer"> | ||
| 486 | + <el-button @click="dialogFormVisible = false">取消</el-button> | ||
| 487 | + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | ||
| 488 | + <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | ||
| 489 | + </div> | ||
| 490 | + </el-dialog> | ||
| 491 | + <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | ||
| 492 | + <el-table :data="detailData" border> | ||
| 493 | + <el-table-column label="操作时间" width="150"> | ||
| 494 | + <template slot-scope="scope"> | ||
| 495 | + {{scope.row.busdate}} | ||
| 496 | + </template> | ||
| 497 | + </el-table-column> | ||
| 498 | + <el-table-column label="航班号" width="80"> | ||
| 499 | + <template slot-scope="scope"> | ||
| 500 | + {{scope.row.carrier}}{{scope.row.flightno}} | ||
| 501 | + </template> | ||
| 502 | + </el-table-column> | ||
| 503 | + <el-table-column label="航班日期" width="100"> | ||
| 504 | + <template slot-scope="scope"> | ||
| 505 | + {{scope.row.flightdate}} | ||
| 506 | + </template> | ||
| 507 | + </el-table-column> | ||
| 508 | + <el-table-column label="件数" width="70"> | ||
| 509 | + <template slot-scope="scope"> | ||
| 510 | + {{scope.row.buspiece}} | ||
| 511 | + </template> | ||
| 512 | + </el-table-column> | ||
| 513 | + <el-table-column label="重量" width="70"> | ||
| 514 | + <template slot-scope="scope"> | ||
| 515 | + {{scope.row.busweight}} | ||
| 516 | + </template> | ||
| 517 | + </el-table-column> | ||
| 518 | + <el-table-column label="回执信息" width=""> | ||
| 519 | + <template slot-scope="scope"> | ||
| 520 | + {{scope.row.cusrestext}} | ||
| 521 | + </template> | ||
| 522 | + </el-table-column> | ||
| 523 | + <el-table-column label="操作人" width="100"> | ||
| 524 | + <template slot-scope="scope"> | ||
| 525 | + {{scope.row.operusername}} | ||
| 526 | + </template> | ||
| 527 | + </el-table-column> | ||
| 528 | + </el-table> | ||
| 529 | + </el-dialog> | ||
| 530 | + </div> | ||
| 531 | +</template> | ||
| 532 | +<script> | ||
| 533 | + import treeTable from '@/components/TreeTable' | ||
| 534 | + import treeToArray from '@/utils/customEval' | ||
| 535 | + import Pagination from '@/components/Pagination' | ||
| 536 | + | ||
| 537 | + import {getCountry, getByCountryCode, getByCountryCodeForName} from "@/api/country"; | ||
| 538 | + import {getMt2201ListForParam, deleteByIsDelete, updateStatus, updateMT2201, addMt2201} from '@/api/exitPre' | ||
| 539 | + import {Message} from "element-ui"; | ||
| 540 | + import {getResponseForParam} from '@/api/responseDetail' | ||
| 541 | + import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey} from "@/utils/validate" | ||
| 542 | + | ||
| 543 | + export default { | ||
| 544 | + name: "ExitPre", | ||
| 545 | + components: {treeTable, Pagination}, | ||
| 546 | + inject: ['reload'], | ||
| 547 | + data() { | ||
| 548 | + const validatorAwb = (rule, value, callback) => { | ||
| 549 | + if (!validAwb(value)) { | ||
| 550 | + callback("请正确书写主单号") | ||
| 551 | + } | ||
| 552 | + callback() | ||
| 553 | + } | ||
| 554 | + const validatorAwbh = (rule, value, callback) => { | ||
| 555 | + if (!validAlphabetsAndNum(value)) { | ||
| 556 | + callback("只能输入字母和数字") | ||
| 557 | + } | ||
| 558 | + callback() | ||
| 559 | + } | ||
| 560 | + const validatorAlphabets = (rule, value, callback) => { | ||
| 561 | + if (!validAlphabets(value)) { | ||
| 562 | + callback("只能输入字母") | ||
| 563 | + } | ||
| 564 | + callback() | ||
| 565 | + } | ||
| 566 | + const validAlphabetsSpanceKey = (rule, value, callback) => { | ||
| 567 | + if (!validAlphabetsAndSpanceKey(value)) { | ||
| 568 | + callback("只能输入字母、数字、空格") | ||
| 569 | + } | ||
| 570 | + callback() | ||
| 571 | + } | ||
| 572 | + return { | ||
| 573 | + func: treeToArray, | ||
| 574 | + total: 1, | ||
| 575 | + listQuery: { | ||
| 576 | + pageSize: 1, | ||
| 577 | + limitSize: 100, | ||
| 578 | + awba: undefined, | ||
| 579 | + carrier: undefined, | ||
| 580 | + flightNo: undefined, | ||
| 581 | + flightDate: undefined, | ||
| 582 | + originStation: undefined, | ||
| 583 | + destinationStation: undefined | ||
| 584 | + }, | ||
| 585 | + dialogMap: { | ||
| 586 | + update: '编辑预配舱单', | ||
| 587 | + create: '添加预配舱单', | ||
| 588 | + addAwbh: '添加分单' | ||
| 589 | + }, | ||
| 590 | + customTypes: [ | ||
| 591 | + {label: '普通货物', value: '001'}, | ||
| 592 | + {label: '国际转运货物', value: '002'}, | ||
| 593 | + {label: '国内转关', value: '003'}, | ||
| 594 | + {label: '空箱', value: '004'}, | ||
| 595 | + {label: '快件', value: '005'}], | ||
| 596 | + payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}], | ||
| 597 | + splitcodes: [{label: '是', value: 'T'}, {label: '否', value: 'P'}], | ||
| 598 | + customcodeList: [{label: '4604', value: '4604'}, {label: '4620', value: '4620'}], | ||
| 599 | + dialogStatus: undefined, | ||
| 600 | + dialogTableVisible: false, | ||
| 601 | + listLoading: false, | ||
| 602 | + disabledStatus: false, | ||
| 603 | + dialogFormVisible: false, | ||
| 604 | + countryOption: [], | ||
| 605 | + countryList: [], | ||
| 606 | + countryResultList: [], | ||
| 607 | + awbPiece: undefined, | ||
| 608 | + awbWeight: undefined, | ||
| 609 | + preRoles: { | ||
| 610 | + weight: [{type: 'number', required: true, message: '重量必须为数字', trigger: 'change'}], | ||
| 611 | + piece: [{type: 'number', required: true, message: '件数必须为数字', trigger: 'change'}], | ||
| 612 | + destinationstation: [{required: true, message: '运单目的地必须输入', trigger: 'change'}], | ||
| 613 | + originstation: [{required: true, message: '运单起始站必须数据', trigger: 'change'}], | ||
| 614 | + flightdate: [{required: true, message: '航班日期必须输入', trigger: 'change'}], | ||
| 615 | + carrier: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 616 | + flightno: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 617 | + pretime: [{required: true, trigger: 'blur', message: '预配时间不能为空'}], | ||
| 618 | + customcode: [{required: true, message: '关区代码必须选择', trigger: 'change'}], | ||
| 619 | + awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | ||
| 620 | + 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}], | ||
| 621 | + goodsname: [{required: true, trigger: 'change', validator: validAlphabetsSpanceKey}], | ||
| 622 | + ex5: [{required: true, message: '货物描述不能为空', trigger: 'change'}], | ||
| 623 | + 'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}], | ||
| 624 | + 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}], | ||
| 625 | + 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}], | ||
| 626 | + 'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'change'}], | ||
| 627 | + 'awbinfo.shprcountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}], | ||
| 628 | + 'awbinfo.cnsnname': [{required: true, message: '收货人不能为空', trigger: 'change'}], | ||
| 629 | + 'awbinfo.cnsntel': [{required: true, message: '收货电话不能为空', trigger: 'change'}], | ||
| 630 | + 'awbinfo.cnsnaddress': [{required: true, message: '收获地址不能为空', trigger: 'change'}], | ||
| 631 | + 'awbinfo.cnscountyr': [{required: true, message: '国家代码不能为空', trigger: 'change'}], | ||
| 632 | + }, | ||
| 633 | + preModel: { | ||
| 634 | + awba: undefined, | ||
| 635 | + awbh: undefined, | ||
| 636 | + customcode: undefined, | ||
| 637 | + flightno: undefined, | ||
| 638 | + carrier: undefined, | ||
| 639 | + flightdate: undefined, | ||
| 640 | + originstation: undefined, | ||
| 641 | + destinationstation: undefined, | ||
| 642 | + piece: undefined, | ||
| 643 | + weight: undefined, | ||
| 644 | + actime: undefined, | ||
| 645 | + goodsname: undefined, | ||
| 646 | + splitcode: undefined, | ||
| 647 | + uldType: undefined, | ||
| 648 | + uldNo: undefined, | ||
| 649 | + status: undefined, | ||
| 650 | + ex5: undefined, | ||
| 651 | + awbinfo: { | ||
| 652 | + pcs: undefined, | ||
| 653 | + weight: undefined, | ||
| 654 | + specopeid: undefined, | ||
| 655 | + shprname: undefined, | ||
| 656 | + shprmobiletype: undefined, | ||
| 657 | + shprtel: undefined, | ||
| 658 | + shpraddress: undefined, | ||
| 659 | + shprcountyr: undefined, | ||
| 660 | + shpcomidpre: undefined, | ||
| 661 | + shpaeocode: undefined, | ||
| 662 | + shpcomidpno: undefined, | ||
| 663 | + shpcitycode: undefined, | ||
| 664 | + shpcustomerid: undefined, | ||
| 665 | + cnsnname: undefined, | ||
| 666 | + cnsrmobiletype: undefined, | ||
| 667 | + cnsntel: undefined, | ||
| 668 | + cnsnaddress: undefined, | ||
| 669 | + cnscountyr: undefined, | ||
| 670 | + cnsrctcname: undefined, | ||
| 671 | + cnsaeocode: undefined, | ||
| 672 | + cnsrctctel: undefined, | ||
| 673 | + cnscitycode: undefined, | ||
| 674 | + cargonm: undefined, | ||
| 675 | + sairportid: undefined, | ||
| 676 | + dest1city: undefined, | ||
| 677 | + by1: undefined, | ||
| 678 | + dest1: undefined, | ||
| 679 | + by2: undefined, | ||
| 680 | + dest2: undefined, | ||
| 681 | + by3: undefined, | ||
| 682 | + dest3: undefined, | ||
| 683 | + eairportid: undefined, | ||
| 684 | + csgcustomerid: undefined, | ||
| 685 | + collected: '0', | ||
| 686 | + awbtype: undefined | ||
| 687 | + } | ||
| 688 | + }, | ||
| 689 | + preData: [], | ||
| 690 | + detailData: [] | ||
| 691 | + } | ||
| 692 | + }, | ||
| 693 | + mounted() { | ||
| 694 | + // 延迟加载,否则会出错 | ||
| 695 | + setTimeout(() => { | ||
| 696 | + this.countryResultList = this.countryList.map(item => { | ||
| 697 | + return {value: item.countryCode, label: item.countryNameCn} | ||
| 698 | + }) | ||
| 699 | + }, 1000) | ||
| 700 | + }, | ||
| 701 | + created() { | ||
| 702 | + if (this.$route.params.flightData !== undefined) { | ||
| 703 | + this.listQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | ||
| 704 | + this.listQuery.flightNo = this.$route.params.flightData.flightno.substring(2) | ||
| 705 | + this.listQuery.flightDate = this.$route.params.flightData.flightdate | ||
| 706 | + this.listQuery.originStation = this.$route.params.flightData.originstation | ||
| 707 | + this.listQuery.destinationStation = this.$route.params.flightData.destinationstation | ||
| 708 | + this.listQuery.awba = this.$route.params.flightData.awba | ||
| 709 | + this.getList() | ||
| 710 | + } | ||
| 711 | + this.getCountryList() | ||
| 712 | + }, | ||
| 713 | + computed: { | ||
| 714 | + awba: { | ||
| 715 | + get: function () { | ||
| 716 | + return this.preModel.awba | ||
| 717 | + }, | ||
| 718 | + set: function (val) { | ||
| 719 | + if (val.length == 3) { | ||
| 720 | + val = val + "-" | ||
| 721 | + } | ||
| 722 | + this.preModel.awba = val.trim() | ||
| 723 | + } | ||
| 724 | + }, | ||
| 725 | + awbh: { | ||
| 726 | + get: function () { | ||
| 727 | + return this.preModel.awbh | ||
| 728 | + }, | ||
| 729 | + set: function (val) { | ||
| 730 | + this.preModel.awbh = val.toUpperCase().trim() | ||
| 731 | + } | ||
| 732 | + }, | ||
| 733 | + flightno: { | ||
| 734 | + get: function () { | ||
| 735 | + return this.preModel.flightno | ||
| 736 | + }, | ||
| 737 | + set: function (val) { | ||
| 738 | + this.preModel.flightno = val.toUpperCase().trim() | ||
| 739 | + } | ||
| 740 | + }, | ||
| 741 | + carrier: { | ||
| 742 | + get: function () { | ||
| 743 | + return this.preModel.carrier | ||
| 744 | + }, | ||
| 745 | + set: function (val) { | ||
| 746 | + this.preModel.carrier = val.toUpperCase().trim() | ||
| 747 | + } | ||
| 748 | + }, | ||
| 749 | + originstation: { | ||
| 750 | + get: function () { | ||
| 751 | + return this.preModel.originstation | ||
| 752 | + }, | ||
| 753 | + set: function (val) { | ||
| 754 | + this.preModel.originstation = val.toUpperCase().trim() | ||
| 755 | + } | ||
| 756 | + }, | ||
| 757 | + destinationstation: { | ||
| 758 | + get: function () { | ||
| 759 | + return this.preModel.destinationstation | ||
| 760 | + }, | ||
| 761 | + set: function (val) { | ||
| 762 | + this.preModel.destinationstation = val.toUpperCase().trim() | ||
| 763 | + } | ||
| 764 | + }, | ||
| 765 | + | ||
| 766 | + goodsname: { | ||
| 767 | + get: function () { | ||
| 768 | + return this.preModel.goodsname | ||
| 769 | + }, | ||
| 770 | + set: function (val) { | ||
| 771 | + this.preModel.goodsname = val.toUpperCase().trim() | ||
| 772 | + } | ||
| 773 | + }, | ||
| 774 | + specopeid: { | ||
| 775 | + get: function () { | ||
| 776 | + return this.preModel.awbinfo.specopeid | ||
| 777 | + }, | ||
| 778 | + set: function (val) { | ||
| 779 | + this.preModel.awbinfo.specopeid = val.toUpperCase().trim() | ||
| 780 | + } | ||
| 781 | + }, | ||
| 782 | + shprname: { | ||
| 783 | + get: function () { | ||
| 784 | + return this.preModel.awbinfo.shprname | ||
| 785 | + }, | ||
| 786 | + set: function (val) { | ||
| 787 | + this.preModel.awbinfo.shprname = val.toUpperCase().trim() | ||
| 788 | + } | ||
| 789 | + }, | ||
| 790 | + shpraddress: { | ||
| 791 | + get: function () { | ||
| 792 | + return this.preModel.awbinfo.shpraddress | ||
| 793 | + }, | ||
| 794 | + set: function (val) { | ||
| 795 | + this.preModel.awbinfo.shpraddress = val.toUpperCase().trim() | ||
| 796 | + } | ||
| 797 | + }, | ||
| 798 | + shprcountyr: { | ||
| 799 | + get: function () { | ||
| 800 | + return this.preModel.awbinfo.shprcountyr | ||
| 801 | + }, | ||
| 802 | + set: function (val) { | ||
| 803 | + this.preModel.awbinfo.shprcountyr = val.toUpperCase().trim() | ||
| 804 | + } | ||
| 805 | + }, | ||
| 806 | + shpaeocode: { | ||
| 807 | + get: function () { | ||
| 808 | + return this.preModel.awbinfo.shpaeocode | ||
| 809 | + }, | ||
| 810 | + set: function (val) { | ||
| 811 | + this.preModel.awbinfo.shpaeocode = val.toUpperCase().trim() | ||
| 812 | + } | ||
| 813 | + }, | ||
| 814 | + cnsnname: { | ||
| 815 | + get: function () { | ||
| 816 | + return this.preModel.awbinfo.cnsnname | ||
| 817 | + }, | ||
| 818 | + set: function (val) { | ||
| 819 | + this.preModel.awbinfo.cnsnname = val.toUpperCase().trim() | ||
| 820 | + } | ||
| 821 | + }, | ||
| 822 | + cnsnaddress: { | ||
| 823 | + get: function () { | ||
| 824 | + return this.preModel.awbinfo.cnsnaddress | ||
| 825 | + }, | ||
| 826 | + set: function (val) { | ||
| 827 | + this.preModel.awbinfo.cnsnaddress = val.toUpperCase().trim() | ||
| 828 | + } | ||
| 829 | + }, | ||
| 830 | + cnscountyr: { | ||
| 831 | + get: function () { | ||
| 832 | + return this.preModel.awbinfo.cnscountyr | ||
| 833 | + }, | ||
| 834 | + set: function (val) { | ||
| 835 | + this.preModel.awbinfo.cnscountyr = val.toUpperCase().trim() | ||
| 836 | + } | ||
| 837 | + }, | ||
| 838 | + cnsrctcname: { | ||
| 839 | + get: function () { | ||
| 840 | + return this.preModel.awbinfo.cnsrctcname | ||
| 841 | + }, | ||
| 842 | + set: function (val) { | ||
| 843 | + this.preModel.awbinfo.cnsrctcname = val.toUpperCase().trim() | ||
| 844 | + } | ||
| 845 | + }, | ||
| 846 | + cnsaeocode: { | ||
| 847 | + get: function () { | ||
| 848 | + return this.preModel.awbinfo.cnsaeocode | ||
| 849 | + }, | ||
| 850 | + set: function (val) { | ||
| 851 | + this.preModel.awbinfo.cnsaeocode = val.toUpperCase().trim() | ||
| 852 | + } | ||
| 853 | + }, | ||
| 854 | + sairportid: { | ||
| 855 | + get: function () { | ||
| 856 | + return this.preModel.awbinfo.sairportid | ||
| 857 | + }, | ||
| 858 | + set: function (val) { | ||
| 859 | + this.preModel.awbinfo.sairportid = val.toUpperCase().trim() | ||
| 860 | + } | ||
| 861 | + }, | ||
| 862 | + by1: { | ||
| 863 | + get: function () { | ||
| 864 | + return this.preModel.awbinfo.by1 | ||
| 865 | + }, | ||
| 866 | + set: function (val) { | ||
| 867 | + this.preModel.awbinfo.by1 = val.toUpperCase().trim() | ||
| 868 | + } | ||
| 869 | + }, | ||
| 870 | + dest1: { | ||
| 871 | + get: function () { | ||
| 872 | + return this.preModel.awbinfo.dest1 | ||
| 873 | + }, | ||
| 874 | + set: function (val) { | ||
| 875 | + this.preModel.awbinfo.dest1 = val.toUpperCase().trim() | ||
| 876 | + } | ||
| 877 | + }, | ||
| 878 | + by2: { | ||
| 879 | + get: function () { | ||
| 880 | + return this.preModel.awbinfo.by2 | ||
| 881 | + }, | ||
| 882 | + set: function (val) { | ||
| 883 | + this.preModel.awbinfo.by2 = val.toUpperCase().trim() | ||
| 884 | + } | ||
| 885 | + }, | ||
| 886 | + dest2: { | ||
| 887 | + get: function () { | ||
| 888 | + return this.preModel.awbinfo.dest2 | ||
| 889 | + }, | ||
| 890 | + set: function (val) { | ||
| 891 | + this.preModel.awbinfo.dest2 = val.toUpperCase().trim() | ||
| 892 | + } | ||
| 893 | + }, | ||
| 894 | + by3: { | ||
| 895 | + get: function () { | ||
| 896 | + return this.preModel.awbinfo.by3 | ||
| 897 | + }, | ||
| 898 | + set: function (val) { | ||
| 899 | + this.preModel.awbinfo.by3 = val.toUpperCase().trim() | ||
| 900 | + } | ||
| 901 | + }, | ||
| 902 | + dest3: { | ||
| 903 | + get: function () { | ||
| 904 | + return this.preModel.awbinfo.dest3 | ||
| 905 | + }, | ||
| 906 | + set: function (val) { | ||
| 907 | + this.preModel.awbinfo.dest3 = val.toUpperCase().trim() | ||
| 908 | + } | ||
| 909 | + }, | ||
| 910 | + eairportid: { | ||
| 911 | + get: function () { | ||
| 912 | + return this.preModel.awbinfo.eairportid | ||
| 913 | + }, | ||
| 914 | + set: function (val) { | ||
| 915 | + this.preModel.awbinfo.eairportid = val.toUpperCase().trim() | ||
| 916 | + } | ||
| 917 | + } | ||
| 918 | + }, | ||
| 919 | + methods: { | ||
| 920 | + // >>>>>>>>>>>>>>>>获取list集合<<<<<<<<<<<<<<<<<< | ||
| 921 | + getList() { | ||
| 922 | + this.listLoading = true | ||
| 923 | + if (this.listQuery.awba !== undefined && this.listQuery.awba !== '') { | ||
| 924 | + getMt2201ListForParam(this.listQuery).then(res => { | ||
| 925 | + this.preData = res.data.dataList | ||
| 926 | + this.total = res.data.count | ||
| 927 | + if (res.data.count > 0) { | ||
| 928 | + this.listQuery.carrier = this.preData[0].carrier | ||
| 929 | + this.listQuery.flightNo = this.preData[0].flightno | ||
| 930 | + this.listQuery.flightDate = this.preData[0].flightdate | ||
| 931 | + this.listQuery.originStation = this.preData[0].originstation | ||
| 932 | + this.listQuery.destinationStation = this.preData[0].destinationstation | ||
| 933 | + this.listQuery.customcode = this.preData[0].customcode | ||
| 934 | + } | ||
| 935 | + setTimeout(() => { | ||
| 936 | + this.listLoading = false | ||
| 937 | + }, 1500) | ||
| 938 | + }) | ||
| 939 | + } else { | ||
| 940 | + getMt2201ListForParam(this.listQuery).then(res => { | ||
| 941 | + this.preData = res.data.dataList | ||
| 942 | + this.total = res.data.count | ||
| 943 | + setTimeout(() => { | ||
| 944 | + this.listLoading = false | ||
| 945 | + }, 1500) | ||
| 946 | + }) | ||
| 947 | + } | ||
| 948 | + | ||
| 949 | + }, | ||
| 950 | + // >>>>>>>>>>>>>>>>重置实体<<<<<<<<<<<<<<<<<< | ||
| 951 | + restModel() { | ||
| 952 | + this.preModel = { | ||
| 953 | + awba: undefined, | ||
| 954 | + awbh: undefined, | ||
| 955 | + customcode: undefined, | ||
| 956 | + flightno: undefined, | ||
| 957 | + carrier: undefined, | ||
| 958 | + flightdate: undefined, | ||
| 959 | + originstation: undefined, | ||
| 960 | + destinationstation: undefined, | ||
| 961 | + piece: undefined, | ||
| 962 | + weight: undefined, | ||
| 963 | + goodsname: undefined, | ||
| 964 | + splitcode: undefined, | ||
| 965 | + uldType: undefined, | ||
| 966 | + uldNo: undefined, | ||
| 967 | + status: undefined, | ||
| 968 | + ex5: undefined, | ||
| 969 | + awbinfo: { | ||
| 970 | + pcs: undefined, | ||
| 971 | + weight: undefined, | ||
| 972 | + specopeid: undefined, | ||
| 973 | + shprname: undefined, | ||
| 974 | + shprmobiletype: undefined, | ||
| 975 | + shprtel: undefined, | ||
| 976 | + shpraddress: undefined, | ||
| 977 | + shprcountyr: undefined, | ||
| 978 | + shpcomidpre: undefined, | ||
| 979 | + shpaeocode: undefined, | ||
| 980 | + shpcomidpno: undefined, | ||
| 981 | + shpcitycode: undefined, | ||
| 982 | + shpcustomerid: undefined, | ||
| 983 | + cnsnname: undefined, | ||
| 984 | + cnsrmobiletype: undefined, | ||
| 985 | + cnsntel: undefined, | ||
| 986 | + cnsnaddress: undefined, | ||
| 987 | + cnscountyr: undefined, | ||
| 988 | + cnscomidpre: undefined, | ||
| 989 | + cnscomidno: undefined, | ||
| 990 | + cnsrctcname: undefined, | ||
| 991 | + cnsaeocode: undefined, | ||
| 992 | + cnsrctctel: undefined, | ||
| 993 | + cnscitycode: undefined, | ||
| 994 | + cargonm: undefined, | ||
| 995 | + sairportid: undefined, | ||
| 996 | + dest1city: undefined, | ||
| 997 | + by1: undefined, | ||
| 998 | + dest1: undefined, | ||
| 999 | + by2: undefined, | ||
| 1000 | + dest2: undefined, | ||
| 1001 | + by3: undefined, | ||
| 1002 | + dest3: undefined, | ||
| 1003 | + eairportid: undefined, | ||
| 1004 | + csgcustomerid: undefined, | ||
| 1005 | + collected: '0', | ||
| 1006 | + } | ||
| 1007 | + } | ||
| 1008 | + }, | ||
| 1009 | + // >>>>>>>>>>>>>>>>新增主单<<<<<<<<<<<<<<<<<< | ||
| 1010 | + handleAddpreInfo() { | ||
| 1011 | + this.restModel() | ||
| 1012 | + this.preModel.carrier = this.listQuery.carrier | ||
| 1013 | + this.preModel.flightno = this.listQuery.flightno | ||
| 1014 | + this.preModel.flightdate = this.listQuery.flightdate | ||
| 1015 | + this.preModel.originstation = this.listQuery.originstation | ||
| 1016 | + this.preModel.destinationstation = this.listQuery.carrier | ||
| 1017 | + this.preModel.customcode = this.listQuery.customcode | ||
| 1018 | + this.dialogStatus = 'create' | ||
| 1019 | + this.dialogFormVisible = true | ||
| 1020 | + this.$nextTick(() => { | ||
| 1021 | + this.$refs.preFormData.clearValidate() | ||
| 1022 | + }) | ||
| 1023 | + }, | ||
| 1024 | + createData() { | ||
| 1025 | + this.$refs.preFormData.validate(valid => { | ||
| 1026 | + if (valid) { | ||
| 1027 | + updateMT2201(this.preModel).then(res => { | ||
| 1028 | + if (res.data.count > 0) { | ||
| 1029 | + Message.success("新增成功") | ||
| 1030 | + this.dialogFormVisible = false | ||
| 1031 | + this.getList() | ||
| 1032 | + } else { | ||
| 1033 | + Message.error("新增失败,请检查数据") | ||
| 1034 | + } | ||
| 1035 | + }) | ||
| 1036 | + } | ||
| 1037 | + }) | ||
| 1038 | + }, | ||
| 1039 | + // >>>>>>>>>>>>>>>>多选<<<<<<<<<<<<<<<<<< | ||
| 1040 | + handleSelectionChange() { | ||
| 1041 | + | ||
| 1042 | + }, | ||
| 1043 | + // >>>>>>>>>>>>>>>>搜索<<<<<<<<<<<<<<<<<< | ||
| 1044 | + handleSerach() { | ||
| 1045 | + this.listQuery.carrier = undefined | ||
| 1046 | + this.listQuery.flightno = undefined | ||
| 1047 | + this.listQuery.originstation = undefined | ||
| 1048 | + this.listQuery.flightdate = undefined | ||
| 1049 | + this.listQuery.destinationstation = undefined | ||
| 1050 | + this.getList() | ||
| 1051 | + }, | ||
| 1052 | + // >>>>>>>>>>>>>>>>收发明细<<<<<<<<<<<<<<<<<< | ||
| 1053 | + handleSend(row) { | ||
| 1054 | + const resQuery = { | ||
| 1055 | + carrier: row.carrier, | ||
| 1056 | + flightNo: row.flightno, | ||
| 1057 | + flightDate: row.flightdate, | ||
| 1058 | + awba: row.awba, | ||
| 1059 | + awbh: row.awbh, | ||
| 1060 | + messageType: 'MT2201' | ||
| 1061 | + } | ||
| 1062 | + this.dialogTableVisible = true | ||
| 1063 | + getResponseForParam(resQuery).then(res => { | ||
| 1064 | + this.detailData = res.data | ||
| 1065 | + }) | ||
| 1066 | + }, | ||
| 1067 | + // >>>>>>>>>>>>>>>>发送舱单报<<<<<<<<<<<<<<<<<< | ||
| 1068 | + handleAwbSend() { | ||
| 1069 | + | ||
| 1070 | + }, | ||
| 1071 | + // >>>>>>>>>>>>>>>>更新运单数据<<<<<<<<<<<<<<<<<< | ||
| 1072 | + handleEdit(row) { | ||
| 1073 | + this.preModel = Object.assign({}, row) | ||
| 1074 | + this.dialogStatus = 'update' | ||
| 1075 | + this.dialogFormVisible = true | ||
| 1076 | + this.$nextTick(() => { | ||
| 1077 | + this.$refs.preFormData.clearValidate() | ||
| 1078 | + }) | ||
| 1079 | + }, | ||
| 1080 | + updateData() { | ||
| 1081 | + this.$refs.preFormData.validate(valid => { | ||
| 1082 | + if (valid) { | ||
| 1083 | + delete this.preModel.parent | ||
| 1084 | + delete this.preModel.children | ||
| 1085 | + updateMT2201(this.preModel).then(res => { | ||
| 1086 | + if (res.data.count > 0) { | ||
| 1087 | + Message.success("修改成功") | ||
| 1088 | + this.dialogFormVisible = false | ||
| 1089 | + this.getList() | ||
| 1090 | + } else { | ||
| 1091 | + Message.error("修改失败,请检查数据") | ||
| 1092 | + } | ||
| 1093 | + }) | ||
| 1094 | + } | ||
| 1095 | + }) | ||
| 1096 | + }, | ||
| 1097 | + // >>>>>>>>>>>>>>>>发送修改报<<<<<<<<<<<<<<<<<< | ||
| 1098 | + handleAwbEdit() { | ||
| 1099 | + | ||
| 1100 | + }, | ||
| 1101 | + // >>>>>>>>>>>>>>>>保存并发送<<<<<<<<<<<<<<<<<< | ||
| 1102 | + handleSaveAndSend() { | ||
| 1103 | + | ||
| 1104 | + }, | ||
| 1105 | + // >>>>>>>>>>>>>>>>发送删除报<<<<<<<<<<<<<<<<<< | ||
| 1106 | + handleAwbDelete(row) { | ||
| 1107 | + delete row.parent | ||
| 1108 | + delete row.children | ||
| 1109 | + this.$confirm("是否删除", "确认消息", { | ||
| 1110 | + distinguishCancelAndClose: true, | ||
| 1111 | + confirmButtonText: '删除', | ||
| 1112 | + cancelButtonText: '取消' | ||
| 1113 | + }).then(() => { | ||
| 1114 | + deleteByIsDelete(row).then(res => { | ||
| 1115 | + if (res.data.count > 0) { | ||
| 1116 | + this.$message({ | ||
| 1117 | + type: 'success', | ||
| 1118 | + message: '删除成功' | ||
| 1119 | + }) | ||
| 1120 | + this.getList() | ||
| 1121 | + } else { | ||
| 1122 | + this.$message({ | ||
| 1123 | + type: 'danger', | ||
| 1124 | + message: '删除异常,请稍后重试' | ||
| 1125 | + }) | ||
| 1126 | + } | ||
| 1127 | + }) | ||
| 1128 | + }).catch(action => { | ||
| 1129 | + this.$message({ | ||
| 1130 | + type: 'info', | ||
| 1131 | + message: action === 'cancel' | ||
| 1132 | + ? '取消删除' | ||
| 1133 | + : '删除取消' | ||
| 1134 | + }) | ||
| 1135 | + }) | ||
| 1136 | + }, | ||
| 1137 | + // >>>>>>>>>>>>>>>>更改运单状态<<<<<<<<<<<<<<<<<< | ||
| 1138 | + handleAwbStatus(row) { | ||
| 1139 | + delete row.parent | ||
| 1140 | + delete row.children | ||
| 1141 | + this.$confirm("是否发送更改状态", "确认消息", { | ||
| 1142 | + distinguishCancelAndClose: true, | ||
| 1143 | + confirmButtonText: '确认更改', | ||
| 1144 | + cancelButtonText: '取消更改' | ||
| 1145 | + }).then(() => { | ||
| 1146 | + updateStatus(row).then(res => { | ||
| 1147 | + if (res.data.count > 0) { | ||
| 1148 | + this.$message({ | ||
| 1149 | + type: 'success', | ||
| 1150 | + message: '当前运单状态已更改' | ||
| 1151 | + }) | ||
| 1152 | + this.getList() | ||
| 1153 | + } else { | ||
| 1154 | + this.$message({ | ||
| 1155 | + type: 'error', | ||
| 1156 | + message: '状态更改失败,请稍后重试' | ||
| 1157 | + }) | ||
| 1158 | + } | ||
| 1159 | + }) | ||
| 1160 | + | ||
| 1161 | + }).catch(action => { | ||
| 1162 | + this.$message({ | ||
| 1163 | + type: 'info', | ||
| 1164 | + message: action === 'cancel' | ||
| 1165 | + ? '取消状态更改' | ||
| 1166 | + : '状态更改取消' | ||
| 1167 | + }) | ||
| 1168 | + }) | ||
| 1169 | + }, | ||
| 1170 | + // >>>>>>>>>>>>>>>>新增分单<<<<<<<<<<<<<<<<<< | ||
| 1171 | + handleAddAwbh(row) { | ||
| 1172 | + this.restModel() | ||
| 1173 | + const template = Object.assign({}, row) // copy obj | ||
| 1174 | + this.preModel.awba = template.awba | ||
| 1175 | + this.preModel.flightdate = template.flightdate | ||
| 1176 | + this.preModel.flightno = template.flightno | ||
| 1177 | + this.preModel.destinationstation = template.destinationstation | ||
| 1178 | + this.preModel.customcode = template.customcode | ||
| 1179 | + this.preModel.carrier = template.carrier | ||
| 1180 | + this.preModel.awbinfo.shprcountyr = template.awbinfo.shprcountyr | ||
| 1181 | + this.preModel.originstation = template.originstation | ||
| 1182 | + this.preModel.awbinfo.collected = template.awbinfo.collected | ||
| 1183 | + this.preModel.awbinfo.sairportid = template.awbinfo.sairportid | ||
| 1184 | + this.preModel.awbinfo.eairportid = template.awbinfo.eairportid | ||
| 1185 | + this.preModel.awbinfo.ex5 = template.awbinfo.ex5 | ||
| 1186 | + this.listQuery.awba = template.awba | ||
| 1187 | + this.listQuery.flightDate = template.flightdate | ||
| 1188 | + this.listQuery.flightNo = template.flightno | ||
| 1189 | + this.listQuery.originStation = template.originstation | ||
| 1190 | + this.listQuery.destinationStation = template.destinationstation | ||
| 1191 | + this.listQuery.customcode = template.customcode | ||
| 1192 | + this.listQuery.carrier = template.carrier | ||
| 1193 | + getMt2201ListForParam(this.listQuery).then(res => { | ||
| 1194 | + this.awbPiece = 0 | ||
| 1195 | + this.awbWeight = 0 | ||
| 1196 | + let residuePiece = 0 | ||
| 1197 | + let residueWeight = 0 | ||
| 1198 | + const childrenList = res.data.dataList[0].children | ||
| 1199 | + if (childrenList.length < 1) { | ||
| 1200 | + this.awbPiece = res.data.dataList[0].piece | ||
| 1201 | + this.awbWeight = res.data.dataList[0].weight | ||
| 1202 | + } else { | ||
| 1203 | + for (var i = 0; i < childrenList.length; i++) { | ||
| 1204 | + residuePiece += childrenList[i].piece | ||
| 1205 | + residueWeight += childrenList[i].weight | ||
| 1206 | + } | ||
| 1207 | + this.awbPiece =res.data.dataList[0].piece- residuePiece | ||
| 1208 | + this.awbWeight = res.data.dataList[0].weight- residueWeight | ||
| 1209 | + } | ||
| 1210 | + }) | ||
| 1211 | + this.dialogStatus = 'addAwbh' | ||
| 1212 | + this.dialogFormVisible = true | ||
| 1213 | + this.$nextTick(() => { | ||
| 1214 | + this.$refs.preFormData.clearValidate() | ||
| 1215 | + }) | ||
| 1216 | + }, | ||
| 1217 | + | ||
| 1218 | + //获取城市列表 | ||
| 1219 | + getCountryList() { | ||
| 1220 | + getCountry().then(res => { | ||
| 1221 | + this.countryList = res.data.dataList | ||
| 1222 | + }) | ||
| 1223 | + }, | ||
| 1224 | + remoteMethod(query) { | ||
| 1225 | + if (query !== '') { | ||
| 1226 | + this.listLoading = true | ||
| 1227 | + setTimeout(() => { | ||
| 1228 | + this.listLoading = false | ||
| 1229 | + this.countryOption = this.countryResultList.filter(item => { | ||
| 1230 | + return item.value.toUpperCase().trim() | ||
| 1231 | + .indexOf(query.toUpperCase()) > -1 | ||
| 1232 | + }) | ||
| 1233 | + }, 200) | ||
| 1234 | + // if (query.length > 1) { | ||
| 1235 | + // this.selectCountry.countryCode = query | ||
| 1236 | + // getByCountryCode(this.selectCountry).then(res => { | ||
| 1237 | + // this.shpCompnyList = res.data.dataList | ||
| 1238 | + // this.shpCompnyTypeOption = this.shpCompnyList.map(item => { | ||
| 1239 | + // console.log(item) | ||
| 1240 | + // return {value: item.enterpriseCode, label: item.enterpriseCode} | ||
| 1241 | + // }) | ||
| 1242 | + // }) | ||
| 1243 | + // } | ||
| 1244 | + } else { | ||
| 1245 | + this.countryOption = [] | ||
| 1246 | + } | ||
| 1247 | + | ||
| 1248 | + | ||
| 1249 | + }, | ||
| 1250 | + handleAddpre() { | ||
| 1251 | + const row = { | ||
| 1252 | + 'messageType': 'MT2201' | ||
| 1253 | + } | ||
| 1254 | + this.$router.push({name: "出港航班信息", params: {scopeRow: row}}) | ||
| 1255 | + }, | ||
| 1256 | + | ||
| 1257 | + handelBackStep() { | ||
| 1258 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.preModel}}) | ||
| 1259 | + } | ||
| 1260 | + } | ||
| 1261 | + } | ||
| 1262 | + | ||
| 1263 | +</script> | ||
| 1264 | +<style> | ||
| 1265 | + .grid-content { | ||
| 1266 | + height: 36px; | ||
| 1267 | + line-height: 36px; | ||
| 1268 | + } | ||
| 1269 | + | ||
| 1270 | + .content { | ||
| 1271 | + border-left: 4px #409EFF solid; | ||
| 1272 | + padding-left: 10px; | ||
| 1273 | + background-color: #f9fafc; | ||
| 1274 | + margin-bottom: 2px | ||
| 1275 | + } | ||
| 1276 | + | ||
| 1277 | + .row-bg, .co { | ||
| 1278 | + background-color: white; | ||
| 1279 | + } | ||
| 1280 | + | ||
| 1281 | + .titlespan { | ||
| 1282 | + font-weight: bold; | ||
| 1283 | + margin-right: 35px; | ||
| 1284 | + } | ||
| 1285 | + | ||
| 1286 | + .el-row { | ||
| 1287 | + margin-top: 10px; | ||
| 1288 | + margin-bottom: 0px; | ||
| 1289 | + } | ||
| 1290 | + | ||
| 1291 | + .btnFoot { | ||
| 1292 | + margin-top: 10px; | ||
| 1293 | + } | ||
| 1294 | + | ||
| 1295 | + .el-btn { | ||
| 1296 | + margin-left: 10px; | ||
| 1297 | + display: inline-block; | ||
| 1298 | + } | ||
| 1299 | + | ||
| 1300 | + .el-dialog-div { | ||
| 1301 | + height: 60vh; | ||
| 1302 | + overflow: auto; | ||
| 1303 | + } | ||
| 1304 | + | ||
| 1305 | + .tableInline { | ||
| 1306 | + line-height: 8px; | ||
| 1307 | + } | ||
| 1308 | +</style> |
src/views/nmms/ExitTidy.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <!--<div class="app-container">--> | ||
| 3 | + <div> | ||
| 4 | + <div> | ||
| 5 | + <el-row class="row-bg"> | ||
| 6 | + <el-col :span="24"> | ||
| 7 | + <div class="grid-content content">航班信息</div> | ||
| 8 | + </el-col> | ||
| 9 | + <el-col :span="24"> | ||
| 10 | + <div class="grid-content co"> | ||
| 11 | + <el-col :span="1"> | ||
| 12 | + <div class="grid-content"></div> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="20"> | ||
| 15 | + <div class="grid-content"> | ||
| 16 | + <span class="titleSpan">航班号:{{this.tidyQuery.carrier}}{{this.tidyQuery.flightno}}</span> | ||
| 17 | + <span class="titleSpan">航班日期:{{this.tidyQuery.flightdate}}</span> | ||
| 18 | + <span class="titleSpan">航段:{{this.tidyQuery.originstation}}-{{this.tidyQuery.destinationstation}}</span> | ||
| 19 | + </div> | ||
| 20 | + </el-col> | ||
| 21 | + </div> | ||
| 22 | + </el-col> | ||
| 23 | + <el-col :span="24"> | ||
| 24 | + <div class="grid-content content">进港舱单查询</div> | ||
| 25 | + </el-col> | ||
| 26 | + <el-col :span="24"> | ||
| 27 | + <div class="grid-content co"> | ||
| 28 | + <el-col :span="1"> | ||
| 29 | + <div class="grid-content"></div> | ||
| 30 | + </el-col> | ||
| 31 | + <el-col :span="22"> | ||
| 32 | + <div class="grid-content"> | ||
| 33 | + <el-col :span="4"> | ||
| 34 | + <div class="grid-content"> | ||
| 35 | + <el-input v-model="tidyQuery.awba" placeholder="请输入主单号"></el-input> | ||
| 36 | + </div> | ||
| 37 | + </el-col> | ||
| 38 | + <div class="grid-content el-btn"> | ||
| 39 | + <el-button type="primary" size="mini" @click="handleSerach">查询</el-button> | ||
| 40 | + <el-button v-if="tidyQuery.flightno === undefined && tidyData.length <1" | ||
| 41 | + type="primary" size="mini" | ||
| 42 | + @click="handleAddTidy">新增理货 | ||
| 43 | + </el-button> | ||
| 44 | + </div> | ||
| 45 | + </div> | ||
| 46 | + </el-col> | ||
| 47 | + </div> | ||
| 48 | + </el-col> | ||
| 49 | + <el-col :span="24"> | ||
| 50 | + <div class="grid-content content" style="margin-top: 6px">出港理货明细</div> | ||
| 51 | + </el-col> | ||
| 52 | + </el-row> | ||
| 53 | + </div> | ||
| 54 | + <tree-table v-loading="listLoading" :data="tidyData" :eval-func="func" :expand-all="true" stripe | ||
| 55 | + style="font-size: 12px" border @selection-change="handleSelectionChange"> | ||
| 56 | + <el-table-column label="运单号" width="110" align="center"> | ||
| 57 | + <template slot-scope="scope"> | ||
| 58 | + <span>{{scope.row.awba}}</span> | ||
| 59 | + </template> | ||
| 60 | + </el-table-column> | ||
| 61 | + <el-table-column label="运单号" width="120" align="center"> | ||
| 62 | + <template slot-scope="scope"> | ||
| 63 | + <span>{{scope.row.awbh}}</span> | ||
| 64 | + </template> | ||
| 65 | + </el-table-column> | ||
| 66 | + <el-table-column label="运单件数/重量" width="100" align="center"> | ||
| 67 | + <template slot-scope="scope"> | ||
| 68 | + <span>{{scope.row.awbpiece}} / {{scope.row.awbweight}}</span> | ||
| 69 | + </template> | ||
| 70 | + </el-table-column> | ||
| 71 | + <el-table-column label="理货件数/重量" width="100" align="center"> | ||
| 72 | + <template slot-scope="scope"> | ||
| 73 | + <span>{{scope.row.piece}} / {{scope.row.weight}}</span> | ||
| 74 | + </template> | ||
| 75 | + </el-table-column> | ||
| 76 | + <el-table-column label="装载开始/结束时间" width="260" align="center"> | ||
| 77 | + <template slot-scope="scope"> | ||
| 78 | + <span>{{scope.row.starttime}} - {{scope.row.endtime}}</span> | ||
| 79 | + </template> | ||
| 80 | + </el-table-column> | ||
| 81 | + <el-table-column label="状态" width="100" align="center"> | ||
| 82 | + <template slot-scope="scope"> | ||
| 83 | + <span v-if="scope.row.status ==='01'">未发送</span> | ||
| 84 | + <span v-if="scope.row.status ==='02'">已发舱单报</span> | ||
| 85 | + <span v-if="scope.row.status ==='05'">舱单报退单</span> | ||
| 86 | + <span v-if="scope.row.status ==='06'">舱单转人工</span> | ||
| 87 | + <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | ||
| 88 | + <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
| 89 | + <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | ||
| 90 | + <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | ||
| 91 | + <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
| 92 | + <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
| 93 | + <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | ||
| 94 | + <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | ||
| 95 | + <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | ||
| 96 | + <span v-if="scope.row.status ==='16'">海关已存在</span> | ||
| 97 | + </template> | ||
| 98 | + </el-table-column> | ||
| 99 | + <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | ||
| 100 | + <template slot-scope="scope"> | ||
| 101 | + <span>{{scope.row.ext5}}</span> | ||
| 102 | + </template> | ||
| 103 | + </el-table-column> | ||
| 104 | + <el-table-column prop="operation" label="操作" show-overflow-tooltip align="center"> | ||
| 105 | + <template slot-scope="scope"> | ||
| 106 | + | ||
| 107 | + <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | ||
| 108 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑</el-button> | ||
| 109 | + <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | ||
| 110 | + :disabled="scope.row.status !=='00'">发舱单报 | ||
| 111 | + </el-button> | ||
| 112 | + <el-button size="mini" type="danger" @click="handleAwbDelete(scope.row)">发删除报</el-button> | ||
| 113 | + | ||
| 114 | + <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | ||
| 115 | + :disabled="scope.row.status ==='00'">更改状态 | ||
| 116 | + </el-button> | ||
| 117 | + <el-button size="mini" type="primary" v-if="scope.row.awbh ===null" | ||
| 118 | + @click="handleAddAwbh(scope.row)">新增分单 | ||
| 119 | + </el-button> | ||
| 120 | + </template> | ||
| 121 | + </el-table-column> | ||
| 122 | + </tree-table> | ||
| 123 | + <div class="btnFoot"> | ||
| 124 | + <el-row> | ||
| 125 | + <el-button type="primary" size="mini" v-if="tidyModel.flightno !== undefined || tidyData.length> 0" | ||
| 126 | + @click="handelAddTidyInfo">新增出港理货 | ||
| 127 | + </el-button> | ||
| 128 | + <el-button type="primary" size="mini" v-if="tidyModel.flightno !== undefined || tidyData.length> 0" | ||
| 129 | + @click="handelBackStep">返回 | ||
| 130 | + </el-button> | ||
| 131 | + </el-row> | ||
| 132 | + </div> | ||
| 133 | + <pagination v-show="total>0" :total="total" :page.sync="tidyQuery.pageSize" :limit.sync="tidyQuery.limitSize" | ||
| 134 | + @pagination="getList"/> | ||
| 135 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible" style="width: 110%"> | ||
| 136 | + <el-form ref="tidyFormData" :model="tidyModel" :rules="tidyRoles" label-position="right" | ||
| 137 | + label-width="120px"> | ||
| 138 | + <el-row> | ||
| 139 | + <div class="grid-content content"> | ||
| 140 | + <span>航班信息</span> | ||
| 141 | + </div> | ||
| 142 | + </el-row> | ||
| 143 | + | ||
| 144 | + <el-row> | ||
| 145 | + <el-col :span="7.5"> | ||
| 146 | + <el-form-item label="主单号" prop="awba"> | ||
| 147 | + <el-input v-model="tidyModel.awba" :disabled="dialogStatus === 'update'"></el-input> | ||
| 148 | + </el-form-item> | ||
| 149 | + </el-col> | ||
| 150 | + <el-col :span="7.5"> | ||
| 151 | + <el-form-item label="分单号" prop="awbh"> | ||
| 152 | + <el-input v-model="awbh" :disabled="dialogStatus === 'addAwbh'"></el-input> | ||
| 153 | + </el-form-item> | ||
| 154 | + </el-col> | ||
| 155 | + </el-row> | ||
| 156 | + <el-row> | ||
| 157 | + <el-col :span="7.5"> | ||
| 158 | + <el-form-item label="承运人" prop="carrier"> | ||
| 159 | + <el-input v-model="carrier" :disabled="dialogStatus === 'update'"></el-input> | ||
| 160 | + </el-form-item> | ||
| 161 | + </el-col> | ||
| 162 | + <el-col :span="7.5"> | ||
| 163 | + <el-form-item label="航班号" prop="flightno"> | ||
| 164 | + <el-input v-model="flightno" :disabled="dialogStatus === 'update'"></el-input> | ||
| 165 | + </el-form-item> | ||
| 166 | + </el-col> | ||
| 167 | + <el-col :span="7.5"> | ||
| 168 | + <el-form-item label="航班日期" prop="flightdate"> | ||
| 169 | + <el-date-picker v-model="tidyModel.flightdate" value-format="yyyy-MM-dd" type="date" | ||
| 170 | + placeholder="请输入" :disabled="dialogStatus === 'update'"></el-date-picker> | ||
| 171 | + </el-form-item> | ||
| 172 | + </el-col> | ||
| 173 | + </el-row> | ||
| 174 | + <el-row> | ||
| 175 | + <el-col :span="7.5"> | ||
| 176 | + <el-form-item label="起始站" prop="originstation"> | ||
| 177 | + <el-input v-model="originstation" | ||
| 178 | + :disabled="dialogStatus === 'update'"></el-input> | ||
| 179 | + </el-form-item> | ||
| 180 | + </el-col> | ||
| 181 | + <el-col :span="7.5"> | ||
| 182 | + <el-form-item label="目的站" prop="destinationstation"> | ||
| 183 | + <el-input v-model="destinationstation" | ||
| 184 | + :disabled="dialogStatus === 'update'"></el-input> | ||
| 185 | + </el-form-item> | ||
| 186 | + </el-col> | ||
| 187 | + | ||
| 188 | + </el-row> | ||
| 189 | + <div class="grid-content content"> | ||
| 190 | + <span>货物信息</span> | ||
| 191 | + </div> | ||
| 192 | + | ||
| 193 | + <el-row> | ||
| 194 | + <el-col :span="7.5"> | ||
| 195 | + <el-form-item label="运单件数" prop="price"> | ||
| 196 | + <el-input v-model.number="tidyModel.awbprice"></el-input> | ||
| 197 | + </el-form-item> | ||
| 198 | + </el-col> | ||
| 199 | + <el-col :span="7.5"> | ||
| 200 | + <el-form-item label="运单重量" prop="weight"> | ||
| 201 | + <el-input v-model.number="tidyModel.awbweight"></el-input> | ||
| 202 | + </el-form-item> | ||
| 203 | + </el-col> | ||
| 204 | + <el-col :span="7.5"> | ||
| 205 | + <el-col :span="7.5"> | ||
| 206 | + <el-form-item label="装载开始时间" prop="endtime"> | ||
| 207 | + <el-date-picker v-model="tidyModel.starttime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 208 | + type="datetime" | ||
| 209 | + placeholder="请输入"></el-date-picker> | ||
| 210 | + </el-form-item> | ||
| 211 | + </el-col> | ||
| 212 | + </el-col> | ||
| 213 | + </el-row> | ||
| 214 | + <el-row> | ||
| 215 | + <el-col :span="7.5"> | ||
| 216 | + <el-form-item label="装载件数" prop="piece"> | ||
| 217 | + <el-input v-model.number="tidyModel.piece"></el-input> | ||
| 218 | + </el-form-item> | ||
| 219 | + </el-col> | ||
| 220 | + <el-col :span="7.5"> | ||
| 221 | + <el-form-item label="装载重量" prop="weight"> | ||
| 222 | + <el-input v-model.number="tidyModel.weight"></el-input> | ||
| 223 | + </el-form-item> | ||
| 224 | + </el-col> | ||
| 225 | + <el-col :span="7.5"> | ||
| 226 | + <el-form-item label="装载结束时间" prop="endtime"> | ||
| 227 | + <el-date-picker v-model="tidyModel.endtime" value-format="yyyy-MM-dd HH:mm:ss" | ||
| 228 | + type="datetime" | ||
| 229 | + placeholder="请输入"></el-date-picker> | ||
| 230 | + </el-form-item> | ||
| 231 | + </el-col> | ||
| 232 | + </el-row> | ||
| 233 | + <el-row> | ||
| 234 | + <el-col :span="7.5"> | ||
| 235 | + <el-form-item label="货物描述" prop="goodsname"> | ||
| 236 | + <el-input v-model="goodsname" placeholder="请输入"></el-input> | ||
| 237 | + </el-form-item> | ||
| 238 | + </el-col> | ||
| 239 | + <el-col :span="7.5"> | ||
| 240 | + <el-form-item label="海关关区" prop="customcode"> | ||
| 241 | + <el-select v-model="tidyModel.customcode"> | ||
| 242 | + <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
| 243 | + :value="item"></el-option> | ||
| 244 | + </el-select> | ||
| 245 | + </el-form-item> | ||
| 246 | + </el-col> | ||
| 247 | + </el-row> | ||
| 248 | + </el-form> | ||
| 249 | + <div slot="footer" class="dialog-footer"> | ||
| 250 | + <el-button @click="dialogFormVisible = false">取消</el-button> | ||
| 251 | + <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | ||
| 252 | + <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | ||
| 253 | + </div> | ||
| 254 | + </el-dialog> | ||
| 255 | + <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | ||
| 256 | + <el-table :data="detailData" border> | ||
| 257 | + <el-table-column label="操作时间" width="150"> | ||
| 258 | + <template slot-scope="scope"> | ||
| 259 | + {{scope.row.busdate}} | ||
| 260 | + </template> | ||
| 261 | + </el-table-column> | ||
| 262 | + <el-table-column label="航班号" width="80"> | ||
| 263 | + <template slot-scope="scope"> | ||
| 264 | + {{scope.row.carrier}}{{scope.row.flightno}} | ||
| 265 | + </template> | ||
| 266 | + </el-table-column> | ||
| 267 | + <el-table-column label="航班日期" width="100"> | ||
| 268 | + <template slot-scope="scope"> | ||
| 269 | + {{scope.row.flightdate}} | ||
| 270 | + </template> | ||
| 271 | + </el-table-column> | ||
| 272 | + <el-table-column label="件数" width="70"> | ||
| 273 | + <template slot-scope="scope"> | ||
| 274 | + {{scope.row.buspiece}} | ||
| 275 | + </template> | ||
| 276 | + </el-table-column> | ||
| 277 | + <el-table-column label="重量" width="70"> | ||
| 278 | + <template slot-scope="scope"> | ||
| 279 | + {{scope.row.busweight}} | ||
| 280 | + </template> | ||
| 281 | + </el-table-column> | ||
| 282 | + <el-table-column label="回执信息" width=""> | ||
| 283 | + <template slot-scope="scope"> | ||
| 284 | + {{scope.row.cusrestext}} | ||
| 285 | + </template> | ||
| 286 | + </el-table-column> | ||
| 287 | + <el-table-column label="操作人" width="100"> | ||
| 288 | + <template slot-scope="scope"> | ||
| 289 | + {{scope.row.operusername}} | ||
| 290 | + </template> | ||
| 291 | + </el-table-column> | ||
| 292 | + </el-table> | ||
| 293 | + </el-dialog> | ||
| 294 | + | ||
| 295 | + </div> | ||
| 296 | +</template> | ||
| 297 | +<script> | ||
| 298 | + import treeTable from '@/components/TreeTable' | ||
| 299 | + import treeToArray from '@/utils/customEval' | ||
| 300 | + import Pagination from '@/components/Pagination' | ||
| 301 | + | ||
| 302 | + import {getMt520XListForParam, deleteByIsDelete, updateStatus, updateMt520X, addMt520X} from '@/api/exitTidy' | ||
| 303 | + import {Message} from "element-ui"; | ||
| 304 | + import {getResponseForParam} from '@/api/responseDetail' | ||
| 305 | + import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey} from "@/utils/validate" | ||
| 306 | + | ||
| 307 | + export default { | ||
| 308 | + name: "ExitTidy", | ||
| 309 | + components: {treeTable, Pagination}, | ||
| 310 | + inject: ['reload'], | ||
| 311 | + data() { | ||
| 312 | + const validatorAwb = (rule, value, callback) => { | ||
| 313 | + if (!validAwb(value)) { | ||
| 314 | + callback("请正确书写主单号") | ||
| 315 | + } | ||
| 316 | + callback() | ||
| 317 | + } | ||
| 318 | + const validatorAwbh = (rule, value, callback) => { | ||
| 319 | + if (!validAlphabetsAndNum(value)) { | ||
| 320 | + callback("只能输入字母和数字") | ||
| 321 | + } | ||
| 322 | + callback() | ||
| 323 | + } | ||
| 324 | + const validatorAlphabets = (rule, value, callback) => { | ||
| 325 | + if (!validAlphabets(value)) { | ||
| 326 | + callback("只能输入字母") | ||
| 327 | + } | ||
| 328 | + callback() | ||
| 329 | + } | ||
| 330 | + const validAlphabetsSpanceKey = (rule, value, callback) => { | ||
| 331 | + if (!validAlphabetsAndSpanceKey(value)) { | ||
| 332 | + callback("只能输入字母、数字、空格") | ||
| 333 | + } | ||
| 334 | + callback() | ||
| 335 | + } | ||
| 336 | + return { | ||
| 337 | + func: treeToArray, | ||
| 338 | + total: 1, | ||
| 339 | + dialogMap: { | ||
| 340 | + update: '编辑出港理货', | ||
| 341 | + create: '添加出港理货', | ||
| 342 | + addAwbh: '添加分单理货' | ||
| 343 | + }, | ||
| 344 | + customcodeList: [4604, 4620], | ||
| 345 | + tidyQuery: { | ||
| 346 | + pageSize: 1, | ||
| 347 | + limitSize: 100, | ||
| 348 | + awba: undefined, | ||
| 349 | + carrier: undefined, | ||
| 350 | + flightno: undefined, | ||
| 351 | + flightdate: undefined, | ||
| 352 | + originstation: undefined, | ||
| 353 | + destinationstation: undefined, | ||
| 354 | + customcode: undefined | ||
| 355 | + }, | ||
| 356 | + tidyRoles: { | ||
| 357 | + awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | ||
| 358 | + awbh: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 359 | + goodsname: [{required: true, trigger: 'blur', validator: validAlphabetsSpanceKey}], | ||
| 360 | + carrier: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 361 | + flightno: [{required: true, trigger: 'blur', validator: validatorAwbh}], | ||
| 362 | + originstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 363 | + destinationstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | ||
| 364 | + piece: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 365 | + weight: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | ||
| 366 | + }, | ||
| 367 | + tidyData: [], | ||
| 368 | + detailData: [], | ||
| 369 | + dialogTableVisible: false, | ||
| 370 | + dialogStatus: undefined, | ||
| 371 | + disabledStatus: false, | ||
| 372 | + listLoading: false, | ||
| 373 | + dialogFormVisible: false, | ||
| 374 | + tidyModel: { | ||
| 375 | + carrier: undefined, | ||
| 376 | + flightno: undefined, | ||
| 377 | + flightdate: undefined, | ||
| 378 | + originstation: undefined, | ||
| 379 | + destinationstation: undefined, | ||
| 380 | + awba: undefined, | ||
| 381 | + awbh: undefined, | ||
| 382 | + piece: undefined, | ||
| 383 | + weight: undefined, | ||
| 384 | + goodsname: undefined, | ||
| 385 | + customcode: undefined, | ||
| 386 | + specialgoods: undefined, | ||
| 387 | + starttime: undefined, | ||
| 388 | + endtime: undefined, | ||
| 389 | + awbpiece: undefined, | ||
| 390 | + awbweight: undefined, | ||
| 391 | + rcfdep: 'MT5202', | ||
| 392 | + } | ||
| 393 | + } | ||
| 394 | + }, | ||
| 395 | + created() { | ||
| 396 | + if (this.$route.params.flightData !== undefined) { | ||
| 397 | + this.tidyQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | ||
| 398 | + this.tidyQuery.flightno = this.$route.params.flightData.flightno.substring(2) | ||
| 399 | + this.tidyQuery.flightdate = this.$route.params.flightData.flightdate | ||
| 400 | + this.tidyQuery.originstation = this.$route.params.flightData.originstation | ||
| 401 | + this.tidyQuery.destinationstation = this.$route.params.flightData.destinationstation | ||
| 402 | + if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { | ||
| 403 | + this.tidyQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + "-" + this.$route.params.flightData.awba.substring(3) | ||
| 404 | + } | ||
| 405 | + this.getList() | ||
| 406 | + } | ||
| 407 | + }, | ||
| 408 | + watch: { | ||
| 409 | + 'tidyModel.endtime': function (newValue, oldValue) { | ||
| 410 | + let startData = new Date(this.tidyModel.starttime) | ||
| 411 | + let endDate = new Date(newValue) | ||
| 412 | + if (startData.getTime() > endDate.getTime()) { | ||
| 413 | + this.tidyModel.endtime = undefined | ||
| 414 | + Message.error("理货结束时间不得早于开始时间") | ||
| 415 | + } | ||
| 416 | + }, | ||
| 417 | + 'tidyModel.starttime': function (newValue, oldValue) { | ||
| 418 | + let startData = new Date(newValue) | ||
| 419 | + let endDate = new Date(this.tidyModel.endtime) | ||
| 420 | + if (startData.getTime() > endDate.getTime()) { | ||
| 421 | + this.tidyModel.starttime = undefined | ||
| 422 | + Message.error("理货开始时间不得晚于结束时间") | ||
| 423 | + } | ||
| 424 | + } | ||
| 425 | + }, | ||
| 426 | + computed: { | ||
| 427 | + awbh: { | ||
| 428 | + get: function () { | ||
| 429 | + return this.tidyModel.awbh | ||
| 430 | + }, | ||
| 431 | + set: function (val) { | ||
| 432 | + this.tidyModel.awbh = val.toUpperCase().trim() | ||
| 433 | + } | ||
| 434 | + }, | ||
| 435 | + goodsname: { | ||
| 436 | + get: function () { | ||
| 437 | + return this.tidyModel.goodsname | ||
| 438 | + }, | ||
| 439 | + set: function (val) { | ||
| 440 | + this.tidyModel.goodsname = val.toUpperCase() | ||
| 441 | + } | ||
| 442 | + }, | ||
| 443 | + carrier: { | ||
| 444 | + get: function () { | ||
| 445 | + return this.tidyModel.carrier | ||
| 446 | + }, | ||
| 447 | + set: function (val) { | ||
| 448 | + this.tidyModel.carrier = val.toUpperCase().trim() | ||
| 449 | + } | ||
| 450 | + }, | ||
| 451 | + flightno: { | ||
| 452 | + get: function () { | ||
| 453 | + return this.tidyModel.flightno | ||
| 454 | + }, | ||
| 455 | + set: function (val) { | ||
| 456 | + this.tidyModel.flightno = val.toUpperCase().trim() | ||
| 457 | + } | ||
| 458 | + }, | ||
| 459 | + originstation: { | ||
| 460 | + get: function () { | ||
| 461 | + return this.tidyModel.originstation | ||
| 462 | + }, | ||
| 463 | + set: function (val) { | ||
| 464 | + this.tidyModel.originstation = val.toUpperCase().trim() | ||
| 465 | + } | ||
| 466 | + }, | ||
| 467 | + destinationstation: { | ||
| 468 | + get: function () { | ||
| 469 | + return this.tidyModel.destinationstation | ||
| 470 | + }, | ||
| 471 | + set: function (val) { | ||
| 472 | + this.tidyModel.destinationstation = val.toUpperCase().trim() | ||
| 473 | + } | ||
| 474 | + }, | ||
| 475 | + }, | ||
| 476 | + methods: { | ||
| 477 | + // 查询出港理货列表 | ||
| 478 | + getList() { | ||
| 479 | + this.listLoading = true | ||
| 480 | + //根据是否有主单号 来给查询条件赋值 | ||
| 481 | + if (this.tidyQuery.awba != undefined && this.tidyQuery.awba != '') { | ||
| 482 | + getMt520XListForParam(this.tidyQuery).then(res => { | ||
| 483 | + this.tidyData = res.data.dataList | ||
| 484 | + this.total = res.data.count | ||
| 485 | + if (res.data.count > 0) { | ||
| 486 | + this.tidyQuery.carrier = this.tidyData[0].carrier | ||
| 487 | + this.tidyQuery.flightno = this.tidyData[0].flightno | ||
| 488 | + this.tidyQuery.flightdate = this.tidyData[0].flightdate | ||
| 489 | + this.tidyQuery.originstation = this.tidyData[0].originstation | ||
| 490 | + this.tidyQuery.destinationstation = this.tidyData[0].destinationstation | ||
| 491 | + this.tidyQuery.customcode = this.tidyData[0].customcode | ||
| 492 | + } | ||
| 493 | + setTimeout(() => { | ||
| 494 | + this.listLoading = false | ||
| 495 | + }, 1500) | ||
| 496 | + }) | ||
| 497 | + } else { | ||
| 498 | + getMt520XListForParam(this.tidyQuery).then(res => { | ||
| 499 | + this.tidyData = res.data.dataList | ||
| 500 | + this.total = res.data.count | ||
| 501 | + setTimeout(() => { | ||
| 502 | + this.listLoading = false | ||
| 503 | + }, 1500) | ||
| 504 | + }) | ||
| 505 | + } | ||
| 506 | + | ||
| 507 | + }, | ||
| 508 | + // 多选 | ||
| 509 | + handleSelectionChange() { | ||
| 510 | + | ||
| 511 | + }, | ||
| 512 | + // 搜索 | ||
| 513 | + handleSerach() { | ||
| 514 | + this.tidyQuery.carrier = undefined | ||
| 515 | + this.tidyQuery.flightno = undefined | ||
| 516 | + this.tidyQuery.originstation = undefined | ||
| 517 | + this.tidyQuery.flightdate = undefined | ||
| 518 | + this.tidyQuery.destinationstation = undefined | ||
| 519 | + this.getList() | ||
| 520 | + }, | ||
| 521 | + // 收发明细 | ||
| 522 | + handleSend(row) { | ||
| 523 | + const resQuery = { | ||
| 524 | + carrier: row.carrier, | ||
| 525 | + flightNo: row.flightno, | ||
| 526 | + flightDate: row.flightdate, | ||
| 527 | + awba: row.awba, | ||
| 528 | + awbh: row.awbh, | ||
| 529 | + messageType: 'MT5202' | ||
| 530 | + } | ||
| 531 | + this.dialogTableVisible = true | ||
| 532 | + getResponseForParam(resQuery).then(res => { | ||
| 533 | + this.detailData = res.data | ||
| 534 | + }) | ||
| 535 | + }, | ||
| 536 | + | ||
| 537 | + //发送舱单报 | ||
| 538 | + handleAwbSend(row) { | ||
| 539 | + | ||
| 540 | + }, | ||
| 541 | + //新增分单理货 | ||
| 542 | + handleAddAwbh(row) { | ||
| 543 | + this.tidyModel.carrier = row.carrier | ||
| 544 | + this.tidyModel.awba = row.awba | ||
| 545 | + this.tidyModel.flightdate = row.flightdate | ||
| 546 | + this.tidyModel.flightno = row.flightno | ||
| 547 | + this.tidyModel.originstation = row.originstation | ||
| 548 | + this.tidyModel.destinationstation = row.destinationstation | ||
| 549 | + this.tidyModel.customcode = row.customcode | ||
| 550 | + this.dialogStatus = 'addAwbh' | ||
| 551 | + this.dialogFormVisible = true | ||
| 552 | + this.$nextTick(() => { | ||
| 553 | + this.$refs.tidyFormData.clearValidate() | ||
| 554 | + }) | ||
| 555 | + }, | ||
| 556 | + // 删除当前运单 | ||
| 557 | + handleAwbDelete(row) { | ||
| 558 | + delete row.parent | ||
| 559 | + delete row.children | ||
| 560 | + this.$confirm("是否删除", "确认消息", { | ||
| 561 | + distinguishCancelAndClose: true, | ||
| 562 | + confirmButtonText: '删除', | ||
| 563 | + cancelButtonText: '取消' | ||
| 564 | + }).then(() => { | ||
| 565 | + deleteByIsDelete(row).then(res => { | ||
| 566 | + if (res.data.count > 0) { | ||
| 567 | + this.$message({ | ||
| 568 | + type: 'success', | ||
| 569 | + message: '删除成功' | ||
| 570 | + }) | ||
| 571 | + this.getList() | ||
| 572 | + } else { | ||
| 573 | + this.$message({ | ||
| 574 | + type: 'error', | ||
| 575 | + message: '删除异常,请稍后重试' | ||
| 576 | + }) | ||
| 577 | + } | ||
| 578 | + }) | ||
| 579 | + }).catch(action => { | ||
| 580 | + this.$message({ | ||
| 581 | + type: 'info', | ||
| 582 | + message: action === 'cancel' | ||
| 583 | + ? '取消删除' | ||
| 584 | + : '删除取消' | ||
| 585 | + }) | ||
| 586 | + }) | ||
| 587 | + | ||
| 588 | + }, | ||
| 589 | + // 更新运单为可发送状态 | ||
| 590 | + handleAwbStatus(row) { | ||
| 591 | + delete row.parent | ||
| 592 | + delete row.children | ||
| 593 | + this.$confirm("是否发送更改状态", "确认消息", { | ||
| 594 | + distinguishCancelAndClose: true, | ||
| 595 | + confirmButtonText: '确认更改', | ||
| 596 | + cancelButtonText: '取消更改' | ||
| 597 | + }).then(() => { | ||
| 598 | + updateStatus(row).then(res => { | ||
| 599 | + if (res.data.count > 0) { | ||
| 600 | + this.$message({ | ||
| 601 | + type: 'success', | ||
| 602 | + message: '当前运单状态已更改' | ||
| 603 | + }) | ||
| 604 | + this.getList() | ||
| 605 | + } else { | ||
| 606 | + this.$message({ | ||
| 607 | + type: 'error', | ||
| 608 | + message: '更新失败,请稍后重试' | ||
| 609 | + }) | ||
| 610 | + } | ||
| 611 | + }) | ||
| 612 | + }).catch(action => { | ||
| 613 | + this.$message({ | ||
| 614 | + type: 'info', | ||
| 615 | + message: action === 'cancel' | ||
| 616 | + ? '取消状态更改' | ||
| 617 | + : '取消状态更改' | ||
| 618 | + }) | ||
| 619 | + }) | ||
| 620 | + | ||
| 621 | + }, | ||
| 622 | + // 重置实体 并赋值refdep为出港理货MT5202 | ||
| 623 | + restModel() { | ||
| 624 | + this.tidyModel = { | ||
| 625 | + carrier: undefined, | ||
| 626 | + flightno: undefined, | ||
| 627 | + flightdate: undefined, | ||
| 628 | + originstation: undefined, | ||
| 629 | + destinationstation: undefined, | ||
| 630 | + awba: undefined, | ||
| 631 | + awbh: undefined, | ||
| 632 | + piece: undefined, | ||
| 633 | + weight: undefined, | ||
| 634 | + goodsname: undefined, | ||
| 635 | + customcode: undefined, | ||
| 636 | + specialgoods: undefined, | ||
| 637 | + starttime: undefined, | ||
| 638 | + endtime: undefined, | ||
| 639 | + awbpiece: undefined, | ||
| 640 | + awbweight: undefined, | ||
| 641 | + rcfdep: 'MT5202', | ||
| 642 | + } | ||
| 643 | + }, | ||
| 644 | + // 新增出港理货弹框 | ||
| 645 | + handelAddTidyInfo() { | ||
| 646 | + this.restModel() | ||
| 647 | + // 给model赋值,所使用数据是以单独单号查询数据所得 | ||
| 648 | + this.tidyModel.carrier = this.tidyQuery.carrier | ||
| 649 | + this.tidyModel.flightdate = this.tidyQuery.flightdate | ||
| 650 | + this.tidyModel.flightno = this.tidyQuery.flightno | ||
| 651 | + this.tidyModel.originstation = this.tidyQuery.originstation | ||
| 652 | + this.tidyModel.destinationstation = this.tidyQuery.destinationstation | ||
| 653 | + this.tidyModel.customcode = this.tidyQuery.customcode | ||
| 654 | + this.dialogStatus = 'create' | ||
| 655 | + this.dialogFormVisible = true | ||
| 656 | + this.$nextTick(() => { | ||
| 657 | + this.$refs.tidyFormData.clearValidate() | ||
| 658 | + }) | ||
| 659 | + }, | ||
| 660 | + // 新增出港理货请求 | ||
| 661 | + createData() { | ||
| 662 | + this.$refs.tidyFormData.validate(valid => { | ||
| 663 | + if (valid) { | ||
| 664 | + addMt520X(this.tidyModel).then(res => { | ||
| 665 | + if (res.data.count > 0) { | ||
| 666 | + Message.success("出港理货新增成功") | ||
| 667 | + this.dialogFormVisible = false | ||
| 668 | + this.getList() | ||
| 669 | + } else { | ||
| 670 | + Message.error("出港理货新增失败,请检查数据") | ||
| 671 | + } | ||
| 672 | + }) | ||
| 673 | + } | ||
| 674 | + }) | ||
| 675 | + }, | ||
| 676 | + // 更新出港理货弹框 | ||
| 677 | + handleEdit(row) { | ||
| 678 | + this.tidyModel = Object.assign({}, row) | ||
| 679 | + this.dialogStatus = 'update' | ||
| 680 | + this.dialogFormVisible = true | ||
| 681 | + this.$nextTick(() => { | ||
| 682 | + this.$refs.tidyFormData.clearValidate() | ||
| 683 | + }) | ||
| 684 | + }, | ||
| 685 | + // 更新出港理货请求 | ||
| 686 | + updateData() { | ||
| 687 | + this.$refs.tidyFormData.validate(valid => { | ||
| 688 | + if (valid) { | ||
| 689 | + delete this.tidyModel.parent | ||
| 690 | + delete this.tidyModel.children | ||
| 691 | + updateMt520X(this.tidyModel).then(res => { | ||
| 692 | + console.log(res.data) | ||
| 693 | + if (res.data.count > 0) { | ||
| 694 | + Message.success("出港理货更新成功") | ||
| 695 | + this.dialogFormVisible = false | ||
| 696 | + this.getList() | ||
| 697 | + } else { | ||
| 698 | + Message.error("出港理货更新失败,请检查数据") | ||
| 699 | + } | ||
| 700 | + }) | ||
| 701 | + } | ||
| 702 | + }) | ||
| 703 | + }, | ||
| 704 | + // 保存并发送 | ||
| 705 | + handleSaveAndSend() { | ||
| 706 | + | ||
| 707 | + }, | ||
| 708 | + // 新增理货弹框 | ||
| 709 | + handleAddTidy() { | ||
| 710 | + const row = { | ||
| 711 | + 'messageType': 'MT5201' | ||
| 712 | + } | ||
| 713 | + this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | ||
| 714 | + }, | ||
| 715 | + // 返回 | ||
| 716 | + handelBackStep() { | ||
| 717 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.tidyModel}}) | ||
| 718 | + } | ||
| 719 | + } | ||
| 720 | + } | ||
| 721 | + | ||
| 722 | +</script> | ||
| 723 | +<style scoped> | ||
| 724 | + .grid-content { | ||
| 725 | + height: 36px; | ||
| 726 | + line-height: 36px; | ||
| 727 | + } | ||
| 728 | + | ||
| 729 | + .content { | ||
| 730 | + border-left: 4px #409EFF solid; | ||
| 731 | + padding-left: 10px; | ||
| 732 | + background-color: #f9fafc; | ||
| 733 | + margin-bottom: 2px | ||
| 734 | + } | ||
| 735 | + | ||
| 736 | + .row-bg, .co { | ||
| 737 | + background-color: white; | ||
| 738 | + } | ||
| 739 | + | ||
| 740 | + .titleSpan { | ||
| 741 | + font-weight: bold; | ||
| 742 | + margin-right: 35px; | ||
| 743 | + } | ||
| 744 | + | ||
| 745 | + .el-btn { | ||
| 746 | + margin-left: 10px; | ||
| 747 | + display: inline-block; | ||
| 748 | + } | ||
| 749 | + | ||
| 750 | + .el-row { | ||
| 751 | + margin-top: 10px; | ||
| 752 | + margin-bottom: 0px; | ||
| 753 | + } | ||
| 754 | + | ||
| 755 | + .btnFoot { | ||
| 756 | + margin-top: 10px; | ||
| 757 | + } | ||
| 758 | +</style> |
| 1 | -<script src="../../api/log_api.js"></script> | ||
| 2 | <template> | 1 | <template> |
| 3 | <div class="app-container"> | 2 | <div class="app-container"> |
| 4 | <div class="filter-container"> | 3 | <div class="filter-container"> |
| 5 | - <el-input v-model="listQuery.awba" style="width: 200px;" class="filter-item" placeholder="运单号"/> | ||
| 6 | - <el-input v-model="listQuery.flightno" style="width: 200px;" class="filter-item" placeholder="航班号"/> | ||
| 7 | - <el-date-picker v-model="listQuery.flightdate" type="datetime" placeholder="航班日期" | ||
| 8 | - class="filter-item"></el-date-picker> | 4 | + <el-input v-model="listQuery.awba" clearable style="width: 200px;" class="filter-item" placeholder="运单号"/> |
| 5 | + <el-input v-model="listQuery.flightno" clearable style="width: 200px;" class="filter-item" placeholder="航班号"/> | ||
| 6 | + <el-date-picker v-model="listQuery.flightdate" clearable type="date" style="width: 200px;" placeholder="航班日期" | ||
| 7 | + value-format="yyyy-MM-dd" class="filter-item"></el-date-picker> | ||
| 9 | 8 | ||
| 10 | - <el-select v-model="listQuery.customcode" class="filter-item" placeholder="请选择关区代码"> | 9 | + <el-select v-model="listQuery.customcode" clearable style="width: 200px;" class="filter-item" placeholder="请选择关区代码"> |
| 11 | <el-option v-for="item in manifestCustoms" :key="item" :label="item" :value="item"></el-option> | 10 | <el-option v-for="item in manifestCustoms" :key="item" :label="item" :value="item"></el-option> |
| 12 | </el-select> | 11 | </el-select> |
| 13 | <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleSearch">{{ | 12 | <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="handleSearch">{{ |
| @@ -22,7 +21,7 @@ | @@ -22,7 +21,7 @@ | ||
| 22 | </div> | 21 | </div> |
| 23 | <tree-table :data="orgData" :eval-func="func" :expand-all="expandAll" stripe | 22 | <tree-table :data="orgData" :eval-func="func" :expand-all="expandAll" stripe |
| 24 | style="font-size: 12px" border @selection-change="handleSelectionChange"> | 23 | style="font-size: 12px" border @selection-change="handleSelectionChange"> |
| 25 | - <el-table-column prop="waybillNo" label="主单号" width="130px" align="center"> | 24 | + <el-table-column label="主单号" width="130px" align="center"> |
| 26 | <template slot-scope="scope"> | 25 | <template slot-scope="scope"> |
| 27 | <span>{{ scope.row.awba }}</span> | 26 | <span>{{ scope.row.awba }}</span> |
| 28 | </template> | 27 | </template> |
| @@ -83,6 +82,7 @@ | @@ -83,6 +82,7 @@ | ||
| 83 | <el-button size="mini" type="danger" @click="handleDel(scope.$index,scope.row)">删除</el-button> | 82 | <el-button size="mini" type="danger" @click="handleDel(scope.$index,scope.row)">删除</el-button> |
| 84 | <el-button size="mini" type="warning" @click="handleSwitch(scope.row)">更改状态</el-button> | 83 | <el-button size="mini" type="warning" @click="handleSwitch(scope.row)">更改状态</el-button> |
| 85 | <el-button size="mini" type="primary" v-if="scope.row.awbh ===null" @click="handleAddAwbh(scope.row)">新增分单</el-button> | 84 | <el-button size="mini" type="primary" v-if="scope.row.awbh ===null" @click="handleAddAwbh(scope.row)">新增分单</el-button> |
| 85 | + <!--<el-button size="mini" type="primary" @click="handleRedirct(scope.row)">跳转测试</el-button>--> | ||
| 86 | </template> | 86 | </template> |
| 87 | </el-table-column> | 87 | </el-table-column> |
| 88 | </tree-table> | 88 | </tree-table> |
| @@ -329,27 +329,27 @@ | @@ -329,27 +329,27 @@ | ||
| 329 | </el-select> | 329 | </el-select> |
| 330 | </el-form-item> | 330 | </el-form-item> |
| 331 | </el-col> | 331 | </el-col> |
| 332 | - <el-col :span="14"> | ||
| 333 | - <el-col :span="16"> | ||
| 334 | - <el-form-item label="企业代码类型" prop="awbinfo.shpcomidpre"> | ||
| 335 | - <el-select | ||
| 336 | - v-model="shpcomidpre" | ||
| 337 | - filterable | ||
| 338 | - placeholder="请选择企业代码类型"> | ||
| 339 | - <el-option | ||
| 340 | - v-for="item in shpCompnyTypeOption" | ||
| 341 | - :key="item.value" | ||
| 342 | - :label="item.label" | ||
| 343 | - :value="item.value"/> | ||
| 344 | - </el-select> | ||
| 345 | - </el-form-item> | ||
| 346 | - </el-col> | ||
| 347 | - <el-col :span="7"> | ||
| 348 | - <el-form-item prop="awbinfo.shpcomidpno"> | ||
| 349 | - <el-input v-model="shpcomidpno" placeholder="企业代码"/> | ||
| 350 | - </el-form-item> | ||
| 351 | - </el-col> | ||
| 352 | - </el-col> | 332 | + <!--<el-col :span="14">--> |
| 333 | + <!--<el-col :span="16">--> | ||
| 334 | + <!--<el-form-item label="企业代码类型" prop="awbinfo.shpcomidpre">--> | ||
| 335 | + <!--<el-select--> | ||
| 336 | + <!--v-model="shpcomidpre"--> | ||
| 337 | + <!--filterable--> | ||
| 338 | + <!--placeholder="请选择企业代码类型">--> | ||
| 339 | + <!--<el-option--> | ||
| 340 | + <!--v-for="item in shpCompnyTypeOption"--> | ||
| 341 | + <!--:key="item.value"--> | ||
| 342 | + <!--:label="item.label"--> | ||
| 343 | + <!--:value="item.value"/>--> | ||
| 344 | + <!--</el-select>--> | ||
| 345 | + <!--</el-form-item>--> | ||
| 346 | + <!--</el-col>--> | ||
| 347 | + <!--<el-col :span="7">--> | ||
| 348 | + <!--<el-form-item prop="awbinfo.shpcomidpno">--> | ||
| 349 | + <!--<el-input v-model="shpcomidpno" placeholder="企业代码"/>--> | ||
| 350 | + <!--</el-form-item>--> | ||
| 351 | + <!--</el-col>--> | ||
| 352 | + <!--</el-col>--> | ||
| 353 | </el-row> | 353 | </el-row> |
| 354 | </div> | 354 | </div> |
| 355 | <div class="tags"> | 355 | <div class="tags"> |
| @@ -404,27 +404,27 @@ | @@ -404,27 +404,27 @@ | ||
| 404 | </el-select> | 404 | </el-select> |
| 405 | </el-form-item> | 405 | </el-form-item> |
| 406 | </el-col> | 406 | </el-col> |
| 407 | - <el-col :span="14"> | 407 | + <!--<el-col :span="14"> |
| 408 | <el-col :span="16"> | 408 | <el-col :span="16"> |
| 409 | - <el-form-item label="企业代码类型" prop="awbinfo.csgcustomerid"> | ||
| 410 | - <el-select | ||
| 411 | - v-model="cnscomidpre" | ||
| 412 | - filterable | ||
| 413 | - placeholder="请选择企业代码类型"> | ||
| 414 | - <el-option | ||
| 415 | - v-for="item in shpCompnyTypeOption" | ||
| 416 | - :key="item.value" | ||
| 417 | - :label="item.label" | ||
| 418 | - :value="item.value"/> | ||
| 419 | - </el-select> | ||
| 420 | - </el-form-item> | ||
| 421 | - </el-col> | 409 | + <el-form-item label="企业代码类型" prop="awbinfo.csgcustomerid"> |
| 410 | + <el-select | ||
| 411 | + v-model="cnscomidpre" | ||
| 412 | + filterable | ||
| 413 | + placeholder="请选择企业代码类型"> | ||
| 414 | + <el-option | ||
| 415 | + v-for="item in shpCompnyTypeOption" | ||
| 416 | + :key="item.value" | ||
| 417 | + :label="item.label" | ||
| 418 | + :value="item.value"/> | ||
| 419 | + </el-select> | ||
| 420 | + </el-form-item> | ||
| 421 | + </el-col> | ||
| 422 | <el-col :span="7"> | 422 | <el-col :span="7"> |
| 423 | <el-form-item prop="awbinfo.cnscomidno"> | 423 | <el-form-item prop="awbinfo.cnscomidno"> |
| 424 | <el-input v-model="cnscomidno" placeholder="企业代码"/> | 424 | <el-input v-model="cnscomidno" placeholder="企业代码"/> |
| 425 | </el-form-item> | 425 | </el-form-item> |
| 426 | </el-col> | 426 | </el-col> |
| 427 | - </el-col> | 427 | + </el-col>--> |
| 428 | </el-row> | 428 | </el-row> |
| 429 | <el-row> | 429 | <el-row> |
| 430 | <el-col :span="10"> | 430 | <el-col :span="10"> |
| @@ -552,6 +552,7 @@ | @@ -552,6 +552,7 @@ | ||
| 552 | shprcountyr: undefined, | 552 | shprcountyr: undefined, |
| 553 | shpcomidpre: undefined, | 553 | shpcomidpre: undefined, |
| 554 | shpcomidpno: undefined, | 554 | shpcomidpno: undefined, |
| 555 | + shpcustomerid: undefined, | ||
| 555 | cnsnname: undefined, | 556 | cnsnname: undefined, |
| 556 | cnsrmobiletype: undefined, | 557 | cnsrmobiletype: undefined, |
| 557 | cnsntel: undefined, | 558 | cnsntel: undefined, |
| @@ -635,7 +636,6 @@ | @@ -635,7 +636,6 @@ | ||
| 635 | 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}], | 636 | 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}], |
| 636 | goodsname: [{required: true, message: '货物描述不能为空', trigger: 'change'}], | 637 | goodsname: [{required: true, message: '货物描述不能为空', trigger: 'change'}], |
| 637 | ex5: [{required: true, message: '货物描述不能为空', trigger: 'change'}], | 638 | ex5: [{required: true, message: '货物描述不能为空', trigger: 'change'}], |
| 638 | - 'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}], | ||
| 639 | 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}], | 639 | 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}], |
| 640 | 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}], | 640 | 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}], |
| 641 | 'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'change'}], | 641 | 'awbinfo.shpraddress': [{required: true, message: '发货地址不能为空', trigger: 'change'}], |
| @@ -661,7 +661,6 @@ | @@ -661,7 +661,6 @@ | ||
| 661 | this.countryResultList = this.countryList.map(item => { | 661 | this.countryResultList = this.countryList.map(item => { |
| 662 | return {value: item.countryCode, label: item.countryNameCn} | 662 | return {value: item.countryCode, label: item.countryNameCn} |
| 663 | }) | 663 | }) |
| 664 | - | ||
| 665 | }, 1000) | 664 | }, 1000) |
| 666 | }, | 665 | }, |
| 667 | computed: { | 666 | computed: { |
| @@ -1101,6 +1100,7 @@ | @@ -1101,6 +1100,7 @@ | ||
| 1101 | } | 1100 | } |
| 1102 | 1101 | ||
| 1103 | 1102 | ||
| 1103 | + | ||
| 1104 | }, | 1104 | }, |
| 1105 | 1105 | ||
| 1106 | // >>>>>>>>>>>>>>>>更新发送状态<<<<<<<<<<<<<<<<<< | 1106 | // >>>>>>>>>>>>>>>>更新发送状态<<<<<<<<<<<<<<<<<< |
| @@ -1183,6 +1183,10 @@ | @@ -1183,6 +1183,10 @@ | ||
| 1183 | this.$nextTick(() => { | 1183 | this.$nextTick(() => { |
| 1184 | this.$refs.formData.clearValidate() | 1184 | this.$refs.formData.clearValidate() |
| 1185 | }) | 1185 | }) |
| 1186 | + }, | ||
| 1187 | + | ||
| 1188 | + handleRedirct(row){ | ||
| 1189 | + this.$router.push({name:'预配',params:{scopeRow: row}}) | ||
| 1186 | } | 1190 | } |
| 1187 | 1191 | ||
| 1188 | } | 1192 | } |
-
请 注册 或 登录 后发表评论