Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
imac-vue
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
jinhui.wang
2022-05-30 17:22:39 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a6879f564eaf5835c51d2f518e557db3bca6f9cd
a6879f56
1 parent
131c33a4
version:1.2.0,货物查询增加释放仓位功能,航班信息查询增加cutoff字段,bug修复
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1588 additions
and
2557 deletions
src/api/caPreReviewImport.js
src/api/cargoSelect.js
src/api/findAllFltData.js
src/api/system/logConfig.js
src/api/system/user.js
src/assets/languages/dictLabels.js
src/assets/styles/FedEx.scss
src/assets/styles/index.scss
src/components/Table/index.vue
src/layout/components/Navbar.vue
src/permission.js
src/router/index.js
src/settings.js
src/utils/auth.js
src/utils/request.js
src/utils/zipdownload.js
src/views/allocationConfig/cargoAllocation/index.vue
src/views/allocationConfig/flightAllocConfig/index.vue
src/views/allocationConfig/flightAllocConfig/info.vue
src/views/allocationConfig/flightRandConfig/index.vue
src/views/basicInformation/caExportPreQualification/index.vue
src/views/basicInformation/caPreReviewImport/index.vue
src/views/basicInformation/flightInformationImport/index.vue
src/views/basicInformation/flightInformationMaintenance/index.vue
src/views/basicInformation/queryCargo/index.vue
src/views/systemConfig/menuConfig/drawer.vue
src/views/systemConfig/menuConfig/index.vue
src/views/systemConfig/roleConfig/drawer.vue
src/views/systemConfig/roleConfig/index.vue
src/views/systemConfig/userConfig/index.vue
vue.config.js
src/api/caPreReviewImport.js
View file @
a6879f5
import
request
from
'@/utils/request'
//航班预审模板下载
/**
* @param
*/
export
function
downLoadTemplate
(
template
)
{
return
request
({
url
:
'/caPreReviewImport/downLoadTemplate?template='
+
template
,
...
...
@@ -8,6 +12,11 @@ export function downLoadTemplate(template) {
})
}
//预审回执导入
/**
* @param file 文件 *
* @param type 状态 *
*/
export
function
importcaPreReview
(
file
,
type
){
let
formData
=
new
FormData
();
formData
.
append
(
"file"
,
file
);
...
...
src/api/cargoSelect.js
View file @
a6879f5
import
request
from
'@/utils/request'
// 货物查询查询条件数据
//货物查询查询条件数据
/**
* @param
*/
export
function
findConditionData
(
data
)
{
return
request
({
url
:
'/cargo/findConditionData'
,
...
...
@@ -10,6 +13,9 @@ export function findConditionData(data) {
}
//货物查询
/**
* @param
*/
export
function
findCargoData
(
data
)
{
return
request
({
url
:
'/cargo/findCargoData'
,
...
...
@@ -53,3 +59,12 @@ export function downloadExcel(data) {
responseType
:
'blob'
,
})
}
//释放仓位
export
function
releaseCargo
(
data
)
{
return
request
({
url
:
'/cargo/releaseCargo'
,
method
:
'post'
,
data
:
data
,
})
}
\ No newline at end of file
...
...
src/api/findAllFltData.js
View file @
a6879f5
...
...
@@ -27,11 +27,13 @@ export function findFltById(data) {
})
}
//删除航班
/**
* @param data id List *
*/
export
function
delFlight
(
data
)
{
return
request
({
url
:
'/FlightPreserveController/delFlight/'
+
data
,
url
:
'/FlightPreserveController/delFlight/'
+
data
,
method
:
'post'
})
}
//新增修改
...
...
@@ -54,10 +56,19 @@ export function findFltCommonConf(data) {
})
}
export
function
updateStatusBatch
(
data
){
export
function
updateStatusBatch
(
data
)
{
return
request
({
url
:
'/FlightPreserveController/updateStatusBatch'
,
method
:
'post'
,
data
:
data
})
}
//自动推送开关
export
function
updateAutoPushBatch
(
data
)
{
return
request
({
url
:
'/FlightPreserveController/updateAutoPushBatch'
,
method
:
'post'
,
data
:
data
})
}
...
...
src/api/system/logConfig.js
0 → 100644
View file @
a6879f5
import
request
from
'@/utils/request'
// DM数据查询
/**
* @param createTime 创建时间 *
* @param fltNo 航班号
* @param fltDate 航班日期
* @param status 状态
* @param portName 口岸名称
* @param page 页数 *
* @param size 数据长度
*/
export
function
getDmDataList
(
data
)
{
return
request
({
url
:
'/dmDataLog/getDmDataList'
,
method
:
'post'
,
data
:
data
})
}
\ No newline at end of file
src/api/system/user.js
View file @
a6879f5
...
...
@@ -93,6 +93,13 @@ import { praseStrEmpty } from "@/utils/FedEx";
// }
// 查询用户列表
/**
* @param page 页码 *
* @param size 数据长度 *
* @param isValid 用户状态
* @param username 用户名
* @param phone 手机号码
*/
export
function
listUser
(
data
)
{
return
request
({
url
:
'/sysUser/getUserList'
,
...
...
@@ -102,6 +109,9 @@ export function listUser(data) {
}
// 查询用户详细
/**
* @param id 用户id *
*/
export
function
detailUser
(
userId
)
{
return
request
({
url
:
'/sysUser/detailUser?id='
+
praseStrEmpty
(
userId
),
...
...
@@ -110,6 +120,15 @@ export function detailUser(userId) {
}
// 新增用户
/**
* @param loginName 员工号 *
* @param username 用户姓名 *
* @param phone 手机号
* @param email 电子邮箱
* @param portName 所属口岸 *
* @param roleIds 所属角色 *
* @param remark 备注
*/
export
function
addOrUpdateUser
(
data
)
{
return
request
({
url
:
'/sysUser/addOrUpdateUser'
,
...
...
@@ -119,6 +138,16 @@ export function addOrUpdateUser(data) {
}
// 修改用户状态
/**
* @param id 用户id *
* @param loginName 员工号 *
* @param username 用户姓名 *
* @param phone 手机号
* @param email 电子邮箱
* @param portName 所属口岸 *
* @param roleIds 所属角色 *
* @param remark 备注
*/
export
function
updateUserStatus
(
data
)
{
return
request
({
url
:
'/sysUser/updateUserStatus'
,
...
...
@@ -128,6 +157,9 @@ export function updateUserStatus(data) {
}
//菜单信息
/**
* @param
*/
export
function
getAllAuth
()
{
return
request
({
url
:
'/sysMenu/getAllAuth'
,
...
...
@@ -136,6 +168,10 @@ export function getAllAuth() {
}
//菜单开启关闭
/**
* @param id 菜单id *
* @param status 菜单状态 *
*/
export
function
updateStatus
(
data
)
{
return
request
({
url
:
'/sysMenu/updateStatus'
,
...
...
@@ -145,6 +181,14 @@ export function updateStatus(data) {
}
//角色列表
/**
* @param name 角色名称
* @param size 数据长度 *
* @param page 页码 *
* @param createStart 创建开始时间
* @param createEnd 创建结束时间
* @param valid 角色状态
*/
export
function
getRoleList
(
data
)
{
return
request
({
url
:
'/role/getRoleList'
,
...
...
@@ -154,6 +198,9 @@ export function getRoleList(data) {
}
//角色详情
/**
* @param id 角色id *
*/
export
function
detailRole
(
id
)
{
return
request
({
url
:
'/role/detailRole?id='
+
id
,
...
...
@@ -162,6 +209,13 @@ export function detailRole(id) {
}
//新增修改角色
/**
* @param id 角色id *
* @param name 角色名 *
* @param remark 角色描述
* @param menuIds 角色权限
* @param valid 角色状态
*/
export
function
addOrUpdateRole
(
data
)
{
return
request
({
url
:
'/role/addOrUpdateRole'
,
...
...
@@ -171,6 +225,10 @@ export function addOrUpdateRole(data) {
}
//角色状态修改
/**
* @param id 角色id *
* @param valid 角色状态 *
*/
export
function
updateRoleStatus
(
data
)
{
return
request
({
url
:
'/role/updateRoleStatus'
,
...
...
@@ -180,6 +238,9 @@ export function updateRoleStatus(data) {
}
//口岸列表
/**
* @param
*/
export
function
portNameList
()
{
return
request
({
url
:
'/dictionary/port'
,
...
...
@@ -188,6 +249,9 @@ export function portNameList() {
}
//口岸变更
/**
* @param
*/
export
function
changeCurrentPort
(
data
)
{
return
request
({
url
:
'/sysUser/changeCurrentPort'
,
...
...
src/assets/languages/dictLabels.js
View file @
a6879f5
let
ductLabels
=
{
"cargo"
:
{
//货物查询
"cargoRulesStatus"
:
{
"1"
:
"手动"
,
"2"
:
"自动"
},
"releasing"
:
{
"1"
:
"正在释放"
},
"cargoAllocationDataStatus"
:
{
"已推送"
:
"已推送"
,
"不推送"
:
"不推送"
,
"已配"
:
" "
,
"待推送"
:
"待推送"
,
"手动配舱"
:
' '
,
"已释放"
:
' '
,
"原航班配舱"
:
' '
,
"顺位配舱"
:
' '
,
},
},
"menu"
:
{
//菜单设置
"menuType"
:
{
"M"
:
"菜单"
,
"C"
:
"菜单"
,
...
...
@@ -12,14 +28,20 @@ let ductLabels = {
"1"
:
"启用"
,
"2"
:
"停用"
,
},
},
"role"
:
{
//角色设置
"valid"
:
{
"1"
:
"启用"
,
"2"
:
"关闭"
,
},
},
"user"
:
{
//用户设置
"isValid"
:
{
"1"
:
"启用"
,
"2"
:
"关闭"
,
},
},
"FlightInformation"
:
{
//航班信息维护
"ticketToPiece"
:
{
"1"
:
"是"
,
"0"
:
"否"
,
...
...
@@ -29,10 +51,25 @@ let ductLabels = {
"0"
:
"否"
,
},
"highLowPriceFlg"
:
{
"1"
:
"启用
"
,
"1"
:
"开启
"
,
"0"
:
"未开启"
,
},
"pushDateSwitch"
:
{
"1"
:
"是"
,
"2"
:
"否"
,
},
},
"logDmData"
:
{
//DM数据
"status"
:
{
"0"
:
"未处理"
,
"1"
:
"已处理"
,
"2"
:
"无需处理"
,
"3"
:
"处理失败"
,
"4"
:
"校验不通过"
,
"5"
:
"数据不能被多次处理"
,
"9"
:
"处理中"
,
},
}
}
export
default
ductLabels
;
\ No newline at end of file
...
...
src/assets/styles/FedEx.scss
View file @
a6879f5
...
...
@@ -4,61 +4,90 @@
*/
/** 基础通用 **/
.pt5
{
.wid100
{
width
:
100%
!
important
;
}
.wid90
{
width
:
90%
!
important
;
}
.wid80
{
width
:
80%
!
important
;
}
.pt5
{
padding-top
:
5px
;
}
.pr5
{
}
.pr5
{
padding-right
:
5px
;
}
.pb5
{
}
.pb5
{
padding-bottom
:
5px
;
}
.mt5
{
}
.mt5
{
margin-top
:
5px
;
}
.mr5
{
}
.mr5
{
margin-right
:
5px
;
}
.mb5
{
}
.mb5
{
margin-bottom
:
5px
;
}
.mb8
{
}
.mb8
{
margin-bottom
:
8px
;
}
.ml5
{
}
.ml5
{
margin-left
:
5px
;
}
.mt10
{
}
.mt10
{
margin-top
:
10px
;
}
.mr10
{
}
.mr10
{
margin-right
:
10px
;
}
.mb10
{
}
.mb10
{
margin-bottom
:
10px
;
}
.ml0
{
}
.ml0
{
margin-left
:
10px
;
}
.mt20
{
}
.mt20
{
margin-top
:
20px
;
}
.mr20
{
}
.mr20
{
margin-right
:
20px
;
}
.mb20
{
}
.mb20
{
margin-bottom
:
20px
;
}
.m20
{
}
.m20
{
margin-left
:
20px
;
}
}
.el-dialog
:not
(
.is-fullscreen
)
{
.el-dialog
:not
(
.is-fullscreen
)
{
margin-top
:
6vh
!
important
;
}
}
.el-table
{
.el-table
{
.el-table__header-wrapper
,
.el-table__fixed-header-wrapper
{
.el-table__header-wrapper
,
.el-table__fixed-header-wrapper
{
th
{
word-break
:
break-word
;
background-color
:
#f8f8f9
;
...
...
@@ -67,160 +96,162 @@
font-size
:
13px
;
}
}
.el-table__body-wrapper
{
.el-button
[
class
*=
"el-icon-"
]
+
span
{
.el-button
[
class
*=
"el-icon-"
]+
span
{
margin-left
:
1px
;
}
}
}
}
/** 表单布局 **/
.form-header
{
font-size
:
15px
;
color
:
#6379bb
;
border-bottom
:
1px
solid
#ddd
;
margin
:
8px
10px
25px
10px
;
padding-top
:
15px
;
padding-bottom
:
5px
;
/** 表单布局 **/
.form-header
{
font-size
:
15px
;
color
:
#6379bb
;
border-bottom
:
1px
solid
#ddd
;
margin
:
8px
10px
25px
10px
;
padding-top
:
15px
;
padding-bottom
:
5px
;
.formItem
{
width
:
100%
;
// max-width: 310px;
width
:
90%
;
// max-width: 300px;
}
}
}
/** 表格布局 **/
.pagination-container
{
/** 表格布局 **/
.pagination-container
{
position
:
relative
;
height
:
25px
;
margin-bottom
:
10px
;
margin-top
:
15px
;
padding
:
10px
20px
!
important
;
}
}
/* tree border */
.tree-border
{
/* tree border */
.tree-border
{
margin-top
:
5px
;
border
:
1px
solid
#e5e6e7
;
background
:
#FFFFFF
none
;
border-radius
:
4px
;
}
border-radius
:
4px
;
}
.pagination-container
.el-pagination
{
.pagination-container
.el-pagination
{
right
:
0
;
position
:
absolute
;
}
}
.el-table
.fixed-width
.el-button--mini
{
.el-table
.fixed-width
.el-button--mini
{
padding-left
:
0
;
padding-right
:
0
;
width
:
inherit
;
}
}
.el-tree-node__content
>
.el-checkbox
{
.el-tree-node__content
>
.el-checkbox
{
margin-right
:
8px
;
}
}
.list-group-striped
>
.list-group-item
{
.list-group-striped
>
.list-group-item
{
border-left
:
0
;
border-right
:
0
;
border-radius
:
0
;
padding-left
:
0
;
padding-right
:
0
;
}
}
.list-group
{
.list-group
{
padding-left
:
0px
;
list-style
:
none
;
}
}
.list-group-item
{
.list-group-item
{
border-bottom
:
1px
solid
#e7eaec
;
border-top
:
1px
solid
#e7eaec
;
margin-bottom
:
-1px
;
padding
:
11px
0px
;
font-size
:
13px
;
}
}
.pull-right
{
.pull-right
{
float
:
right
!
important
;
}
}
.el-card__header
{
.el-card__header
{
padding
:
14px
15px
7px
;
min-height
:
40px
;
}
}
.el-card__body
{
.el-card__body
{
padding
:
15px
20px
20px
20px
;
}
}
.card-box
{
.card-box
{
padding-right
:
15px
;
padding-left
:
15px
;
margin-bottom
:
10px
;
}
}
/* button color */
.el-button--cyan.is-active
,
.el-button--cyan
:active
{
/* button color */
.el-button--cyan.is-active
,
.el-button--cyan
:active
{
background
:
#20B2AA
;
border-color
:
#20B2AA
;
color
:
#FFFFFF
;
}
}
.el-button--cyan
:focus
,
.el-button--cyan
:hover
{
.el-button--cyan
:focus
,
.el-button--cyan
:hover
{
background
:
#48D1CC
;
border-color
:
#48D1CC
;
color
:
#FFFFFF
;
}
}
.el-button--cyan
{
.el-button--cyan
{
background-color
:
#20B2AA
;
border-color
:
#20B2AA
;
color
:
#FFFFFF
;
}
}
/* text color */
.text-navy
{
/* text color */
.text-navy
{
color
:
#1ab394
;
}
}
.text-primary
{
.text-primary
{
color
:
inherit
;
}
}
.text-success
{
.text-success
{
color
:
#1c84c6
;
}
}
.text-info
{
.text-info
{
color
:
#23c6c8
;
}
}
.text-warning
{
.text-warning
{
color
:
#f8ac59
;
}
}
.text-danger
{
.text-danger
{
color
:
#ed5565
;
}
}
.text-muted
{
.text-muted
{
color
:
#888888
;
}
}
/* image */
.img-circle
{
/* image */
.img-circle
{
border-radius
:
50%
;
}
}
.img-lg
{
.img-lg
{
width
:
120px
;
height
:
120px
;
}
}
.avatar-upload-preview
{
.avatar-upload-preview
{
position
:
absolute
;
top
:
50%
;
transform
:
translate
(
50%
,
-50%
);
...
...
@@ -229,16 +260,20 @@
border-radius
:
50%
;
box-shadow
:
0
0
4px
#ccc
;
overflow
:
hidden
;
}
}
/* 拖拽列样式 */
.sortable-ghost
{
/* 拖拽列样式 */
.sortable-ghost
{
opacity
:
.8
;
color
:
#fff
!
important
;
background
:
#42b983
!
important
;
}
color
:
#fff
!
important
;
background
:
#42b983
!
important
;
}
.top-right-btn
{
.top-right-btn
{
position
:
relative
;
float
:
right
;
}
}
.dialogColumn
.el-tooltip
{
white-space
:
pre-line
!
important
;
}
\ No newline at end of file
...
...
src/assets/styles/index.scss
View file @
a6879f5
...
...
@@ -189,3 +189,51 @@ aside {
.multiselect--active
{
z-index
:
1000
!
important
;
}
.el-table__body-wrapper
{
&
:
:-
webkit-scrollbar
{
height
:
10px
;
width
:
10px
;
}
&
:
:-
webkit-scrollbar-track
{
background-color
:
#fff
;
}
&
:
:-
webkit-scrollbar-thumb
{
background-color
:
#ccc
;
}
&
:
:-
webkit-scrollbar-thumb
:
hover
{
background-color
:
#409eff
;
}
}
// 解决表格固定列问题
.el-table__fixed
,
.el-table__fixed-right
{
height
:
calc
(
100%
-
7px
)
!
important
;
box-shadow
:
-5px
-2px
10px
rgba
(
0
,
0
,
0
,
.12
)
!
important
;
.el-table__fixed-body-wrapper
{
height
:
calc
(
100%
-
36px
)
!
important
;
}
}
// 当表格没有滚动条时
.el-table__body-wrapper.is-scrolling-none
~
.el-table__fixed-right
{
height
:
100%
!
important
;
bottom
:
0
!
important
;
box-shadow
:
none
!
important
;
}
// 当表格有纵向滚动条时
.el-table--scrollable-y
.el-table__fixed-right
{
right
:
7px
!
important
;
}
// 当表格只有横向滚动条,没有纵向滚动条时
.el-table--scrollable-x
:not
(
.el-table--scrollable-y
)
.el-table__fixed-right
{
right
:
0
!
important
;
}
\ No newline at end of file
...
...
src/components/Table/index.vue
View file @
a6879f5
<template>
<div class="w-table" :class="{ 'w-table_moving': dragState.dragging }">
<el-table
:ref="tableName"
:data="data"
:border="border"
:stripe="stripe"
:size="size"
:fit="fit"
:indent="indent"
:show-header="showHeader"
:height="height"
:highlight-current-row="highlightCurrentRow"
:lazy="lazy"
:downShiftKey="shiftKey"
:limitStart="limitStart"
:row-key="rowKey"
:default-expand-all="defaultExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
v-loading="loading"
@sort-change="sortChange"
@select="tableSelect"
@select-all="tableSelectAll"
@select-change="SelectChange"
>
<el-table-column
v-for="(item, index) in newHeader"
:type="item.type"
:prop="item.value"
:label="item.name"
:width="item.width"
:align="item.align"
:fixed="item.fixed"
:column-key="index.toString()"
:show-overflow-tooltip="showOverflowTooltip"
:sortable="item.sorTable"
:formatter="formatter"
header-align="center"
:sort-orders="['descending', 'ascending', null]"
:slotHeader="slotHeader"
:render-header="renderHeader"
:key="index"
v-if="item.disabled"
>
<!-- <template slot-scope="scope">
<exSlot
v-if="item.render"
:render="item.render"
:row="scope.row"
:index="scope.$index"
:column="item"
></exSlot>
<span v-else>{{ scope.row[item.value] || "" }}</span>
</template> -->
<el-table :ref="tableName" :data="data" :border="border" :stripe="stripe" :size="size" :fit="fit" :indent="indent"
:show-header="showHeader" :height="height" :highlight-current-row="highlightCurrentRow" :lazy="lazy"
:downShiftKey="shiftKey" :limitStart="limitStart" :row-key="rowKey" :default-expand-all="defaultExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" v-loading="loading"
:cell-class-name="cellClassName" :header-cell-class-name="headerCellClassName" @sort-change="sortChange"
@select="tableSelect" @select-all="tableSelectAll" @select-change="SelectChange">
<!-- 复选框 -->
<el-table-column v-if="selection" type="selection" :fixed="true" width="50" align="center"></el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="50" align="center"></el-table-column>
<template v-for="(item, index) in newHeader">
<!-- 自定义插槽 -->
<el-table-column v-if="item.slot" :prop="item.value" :label="item.name" :width="item.width" :align="item.align"
:fixed="item.fixed" :show-overflow-tooltip="showOverflowTooltip" :sortable="item.sorTable"
:formatter="formatter" header-align="center" :sort-orders="['descending', 'ascending', null]"
:slotHeader="slotHeader" :render-header="renderHeader" :key="index">
<template slot-scope="scope">
<slot :name="item.value" :row="scope.row"></slot>
</template>
</el-table-column>
<slot></slot>
<!-- 默认数据 -->
<el-table-column v-else :prop="item.value" :label="item.name" :index="item.index" :width="item.width"
:align="item.align" :fixed="item.fixed" :sortable="item.sorTable" :column-key="index.toString()"
:show-overflow-tooltip="showOverflowTooltip" header-align="center"
:sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader"
:formatter="formatter" :key="index">
</el-table-column>
</template>
<!-- 末端插槽 -->
<slot name="optionColumn"></slot>
</el-table>
<el-pagination
:total="totalCount"
:page-size.sync="limitSize"
:current-page.sync="pageNum"
background
layout="prev, pager, next, jumper, ->, sizes, total"
class="tablePagination"
@size-change="sizeChange"
@next-click="nextClick"
@prev-click="prevClick"
@current-change="currentChange"
>
<!-- 分页 -->
<el-pagination :total="totalCount" :page-size.sync="limitSize" :current-page.sync="pageNum" :page-sizes="pageSizes"
background layout="prev, pager, next, jumper, ->, sizes, total" class="tablePagination" @size-change="sizeChange"
@next-click="nextClick" @prev-click="prevClick" @current-change="currentChange">
</el-pagination>
<div class="tableInfo" v-if="infoShow">
<ul class="tableList" v-show="show">
<el-checkbox-group v-model="checkDisabled">
<li
class="flexList"
v-for="(item, index) in newHeader"
:key="index"
v-if="!item.type"
:title="item.name"
>
<div>
<el-checkbox
:label="item.name"
@change="newHeader[index].disabled = !item.disabled"
>{{ item.name }}</el-checkbox
>
</div>
</li>
</el-checkbox-group>
</ul>
<el-button
type="primary"
icon="el-icon-edit"
size="medium"
circle
@click="show = !show"
></el-button>
</div>
</div>
</template>
<script>
let exSlot = {
fucntional: true,
props: {
row: Object,
render: Function,
index: [Number, String],
column: {
type: Object,
default: null,
},
},
render: (h, data) => {
console.log(data);
if (data) {
const params = {
row: data.props.row,
index: data.props.index,
};
if (data.props.column) params.column = data.props.column;
return data.props.render(h, params);
}
},
};
import dictLabels from "../../assets/languages/dictLabels.js";
import { scrollTo } from "@/utils/scroll-to";
export default {
name: "Table",
components: {
exSlot,
},
props: {
//dom名称
tableName: { type: String, default: "tables" },
//表格数据
ductName: { type: String, default: null },
data: {
type: Array,
default() {
...
...
@@ -158,9 +73,13 @@ export default {
default: "mini",
},
height: {
type: [String,Number],
type: [String,
Number],
default: "400",
},
selection: {
type: Boolean,
default: false,
},
fit: {
type: Boolean,
default: true,
...
...
@@ -207,10 +126,10 @@ export default {
type: Number,
default: 1,
},
// pageSizes:
{
// type:
Array,
// default:[10, 20, 30, 40, 50, 100]
//
},
pageSizes:
{
type:
Array,
default: [10, 20, 30, 40, 50, 100],
},
//每页长度
limitSize: {
type: Number,
...
...
@@ -242,10 +161,6 @@ export default {
type: Boolean,
default: false,
},
infoShow:{
type:Boolean,
default:false,
}
},
inheritAttrs: false,
data() {
...
...
@@ -264,7 +179,6 @@ export default {
},
//表头数据格式
// {
// type: "",
// name: "",
// value: "",
// width: "",
...
...
@@ -288,17 +202,18 @@ export default {
this.data.forEach((item, index) => {
item.index = index;
});
this.$nextTick(()
=>
{
this.$refs.tables.doLayout()
})
this.$nextTick(()
=>
{
this.$refs.tables.doLayout()
;
})
;
},
headerData(val, oldVal) {
this.newHeader = val;
},
},
methods: {
sizeChange(val){
this.$emit("sizeChange",val)
//数据长度切换
sizeChange(val) {
this.$emit("sizeChange", val);
},
//下一页
nextClick() {
...
...
@@ -413,108 +328,37 @@ export default {
"div",
{
class: ["thead-cell"],
// on: {
// mousedown: ($event) => {
// this.handleMouseDown($event, column);
// },
// mousemove: ($event) => {
// this.handleMouseMove($event, column);
// },
// },
},
[
// 添加 <a> 用于显示表头 label
createElement("a", column.label),
// 添加一个空标签用于显示拖动动画
createElement("span", {
class: ["virtual"],
}),
createElement("div", column.label),
]
);
},
// 按下鼠标开始拖动
// handleMouseDown(e, column) {
// this.dragState.dragging = true;
// this.dragState.start = parseInt(column.columnKey);
// // 给拖动时的虚拟容器添加宽高
// let table = document.getElementsByClassName("w-table")[0];
// let virtual = document.getElementsByClassName("virtual");
// for (let item of virtual) {
// item.style.height = table.clientHeight - 1 + "px";
// item.style.width = item.parentElement.parentElement.clientWidth + "px";
// }
// document.addEventListener("mouseup", this.handleMouseUp);
// },
// 鼠标放开结束拖动
// handleMouseUp() {
// this.dragColumn(this.dragState);
// // 初始化拖动状态
// this.dragState = {
// start: -9,
// end: -9,
// dragging: false,
// direction: undefined,
// };
// document.removeEventListener("mouseup", this.handleMouseUp);
// },
// 拖动中
// handleMouseMove(e, column) {
// if (this.dragState.dragging) {
// let index = parseInt(column.columnKey); // 记录起始列
// if (index - this.dragState.start !== 0) {
// this.dragState.direction =
// index - this.dragState.start < 0 ? "left" : "right"; // 判断拖动方向
// this.dragState.end = parseInt(column.columnKey);
// } else {
// this.dragState.direction = undefined;
// }
// } else {
// return false;
// }
// },
// 拖动易位
// dragColumn({ start, end, direction }) {
// let tempData = [];
// let left = direction === "left";
// let min = left ? end : start - 1;
// let max = left ? start + 1 : end;
// for (let i = 0; i < this.newHeader.length; i++) {
// if (i === end) {
// tempData.push(this.newHeader[start]);
// } else if (i > min && i < max) {
// tempData.push(this.newHeader[left ? i - 1 : i + 1]);
// } else {
// tempData.push(this.newHeader[i]);
// }
// }
// this.newHeader = tempData;
// },
// headerCellClassName({ column, columnIndex }) {
// let active =
// columnIndex - 1 === this.dragState.end
// ? `darg_active_${this.dragState.direction}`
// : "";
// let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
// return `${active} ${start}`;
// },
// cellClassName({ column, columnIndex }) {
// return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
// },
headerCellClassName({ column, columnIndex }) {
let active =
columnIndex - 1 === this.dragState.end
? `darg_active_${this.dragState.direction}`
: "";
let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
return `${active} ${start}`;
},
cellClassName({ column, columnIndex }) {
return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
},
//数据格式化
formatter(row, column, cellValue, index) {
if (dictLabels[column.property]) {
if (dictLabels[column.property][cellValue]) {
return dictLabels[column.property][cellValue];
if (dictLabels[
this.ductName][
column.property]) {
if (dictLabels[
this.ductName][
column.property][cellValue]) {
return dictLabels[
this.ductName][
column.property][cellValue];
}
}
if (column.property == "roleNames") {
return cellValue.toString();
}
if (column.property == 'flightIdImac') {
return cellValue == null ? '未配' : '已配'
}
return cellValue;
},
},
...
...
@@ -526,36 +370,18 @@ export default {
margin-top: 40px;
text-align: right;
}
.w-table {
height:100%;
.el-table .darg_start {
height: 100%;
.el-table .darg_start {
background-color: #f3f3f3;
}
.el-table th {
padding: 0;
.virtual {
position: absolute;
display: block;
width: 0;
height: 0;
top: 0px;
left: 0px;
background: none;
border: none;
}
&.darg_active_left {
.virtual {
border-left: 2px dotted #666;
z-index: 99;
}
}
&.darg_active_right {
.virtual {
border-right: 2px dotted #666;
z-index: 99;
}
}
}
.thead-cell {
padding: 0;
display: inline-flex;
...
...
@@ -563,6 +389,7 @@ export default {
align-items: left;
cursor: pointer;
overflow: initial;
&:before {
content: "";
position: absolute;
...
...
@@ -572,21 +399,25 @@ export default {
right: 0;
}
}
&.w-table_moving {
.el-table th .thead-cell {
cursor: move !important;
}
.el-table__fixed {
cursor: not-allowed;
}
}
}
.tableInfo {
position: fixed;
right: 30px;
bottom: 100px;
z-index: 99999999;
}
.tableList {
width: 200px;
max-height: 500px;
...
...
@@ -600,20 +431,24 @@ export default {
background: #fff;
overflow-y: scroll;
}
.tableList::-webkit-scrollbar {
width: 4px;
height: 4px;
}
.tableList::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: rgba(0, 0, 0, 0.2);
}
.tableList::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 0;
background: rgba(0, 0, 0, 0.2);
}
.flexList {
width: 100%;
display: flex;
...
...
src/layout/components/Navbar.vue
View file @
a6879f5
<template>
<div class="navbar">
<hamburger
id="hamburger-container"
:is-active="sidebar.opened"
class="hamburger-container"
@toggleClick="toggleSideBar"
/>
<breadcrumb
id="breadcrumb-container"
class="breadcrumb-container"
v-if="!topNav"
/>
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container"
@toggleClick="toggleSideBar" />
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav" />
<top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
<div class="right-menu">
<template v-if="device !== 'mobile'"> </template>
<el-select
v-model="portName"
size="mini"
style="width: 120px; top: -17px; right: 7px"
placeholder="选择口岸"
>
<el-option
v-for="item in portNameList"
:label="item"
:value="item"
:key="item"
>
<el-select v-model="portName" size="mini" style="width: 120px; top: -17px; right: 7px" placeholder="选择口岸">
<el-option v-for="item in portNameList" :label="item" :value="item" :key="item">
</el-option>
</el-select>
<el-dropdown
class="avatar-container right-menu-item hover-effect"
trigger="click"
>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="userName-wrapper">
<!-- <img :src="avatar" class="user-avatar" /> -->
<span><i class="el-icon-user-solid" style="color:#1890ff"></i>欢迎!{{
userName
}}</span>
<span><i class="el-icon-user-solid" style="color:#1890ff"></i>欢迎!{{
userName
}}</span>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="logout">
...
...
@@ -57,11 +36,12 @@
</template>
<script>
import { mapGetters } from "vuex"
;
import Breadcrumb from "@/components/Breadcrumb"
;
import TopNav from "@/components/TopNav"
;
import Hamburger from "@/components/Hamburger"
;
import { mapGetters } from "vuex"
import Breadcrumb from "@/components/Breadcrumb"
import TopNav from "@/components/TopNav"
import Hamburger from "@/components/Hamburger"
import { removeToken } from '@/utils/auth'
import settings from "@/settings"
export default {
components: {
...
...
@@ -71,7 +51,7 @@ export default {
},
data() {
return {
userName:"",
userName:
"",
portNameList: [],
locale: "zh",
};
...
...
@@ -111,20 +91,20 @@ export default {
this.$store.dispatch('tagsView/delAllCachedViews')
this.$store.dispatch('tagsView/delAllVisitedViews')
// location.reload();
if
(this.$route.path != '/index')
{
if
(this.$route.path != '/index')
{
this.$router.push('/index')
}
} else {
this.$confirm(res.msg, "提示", {
type: "warning",
}).then(()
=>
{
}).then(()
=>
{
// location.reload();
if
(this.$route.path != '/index')
{
if
(this.$route.path != '/index')
{
this.$router.push('/index')
}
}).catch(()
=>
{
}).catch(()
=>
{
// location.reload();
if
(this.$route.path != '/index')
{
if
(this.$route.path != '/index')
{
this.$router.push('/index')
}
});
...
...
@@ -148,7 +128,7 @@ export default {
}).then(() => {
this.$store.dispatch("LogOut").then(() => {
removeToken()
window.location.href =
"https://test-myapps.secure.fedex.com/purpleid/signout/"
;//wsso系统跳转
window.location.href =
settings.logoutURL
;//wsso系统跳转
});
});
},
...
...
@@ -225,16 +205,19 @@ export default {
text-align: center;
margin-right: 15px;
font-weight: 700;
i{
i {
display: inline-block;
height: 50px;
margin-right:5px;
margin-right:
5px;
font-size: 24px;
line-height: 50px;
}
.userName-wrapper {
position: relative;
font-size:14px;
font-size: 14px;
.user-avatar {
cursor: pointer;
width: 40px;
...
...
src/permission.js
View file @
a6879f5
...
...
@@ -2,6 +2,7 @@ import router from './router'
import
store
from
'./store'
import
{
Message
}
from
'element-ui'
import
{
getToken
,
setToken
,
removeToken
}
from
'@/utils/auth'
import
settings
from
"@/settings"
const
whiteList
=
[
'/login'
,
'/auth-redirect'
,
'/bind'
,
'/register'
]
...
...
@@ -24,7 +25,7 @@ router.beforeEach((to, from, next) => {
Message
.
error
(
err
)
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
// next({ path: '/' })
window
.
location
.
href
=
"https://test-myapps.secure.fedex.com/purpleid/signout/"
;
//wsso系统跳转
window
.
location
.
href
=
settings
.
logoutURL
;
//wsso系统跳转
})
})
}
else
{
...
...
@@ -44,7 +45,7 @@ router.beforeEach((to, from, next) => {
// 在免登录白名单,直接进入
next
()
}
else
{
window
.
location
.
href
=
"https://test-myapps.secure.fedex.com/purpleid/signout/"
;
//wsso系统跳转
window
.
location
.
href
=
settings
.
logoutURL
;
//wsso系统跳转
}
}
...
...
src/router/index.js
View file @
a6879f5
import
Vue
from
'vue'
import
Router
from
'vue-router'
import
settings
from
"@/settings"
Vue
.
use
(
Router
)
...
...
@@ -92,5 +93,5 @@ export default new Router({
mode
:
'history'
,
// 去掉url中的#
scrollBehavior
:
()
=>
({
y
:
0
}),
routes
:
constantRoutes
,
base
:
'/imacuat'
base
:
settings
.
routerBase
})
\ No newline at end of file
...
...
src/settings.js
View file @
a6879f5
...
...
@@ -40,7 +40,23 @@ module.exports = {
errorLog
:
'production'
,
/**
* logout
*/
logoutURL
:
'https://test-myapps.secure.fedex.com/purpleid/signout/'
,
/**
* 后端接口
*/
baseURL
:
`https://imacuat.zmd.apac.fedex.com/iMAC`
,
downLoadURL
:
`https://imacuat.zmd.apac.fedex.com/iMAC`
,
//下载、导出地址
/**
* 项目存放地址
*/
routerBase
:
'/imacuat'
,
/**
* 版本号
*/
version
:
'version:1.1
.0'
version
:
'version:1.3
.0'
}
...
...
src/utils/auth.js
View file @
a6879f5
//import Cookies from 'js-cookie'
const
TokenKey
=
'
Admin
-Token'
const
TokenKey
=
'
iMac
-Token'
export
function
getToken
()
{
//return Cookies.get(TokenKey)
...
...
src/utils/request.js
View file @
a6879f5
import
axios
from
'axios'
import
{
Message
,
MessageBox
}
from
'element-ui'
import
{
Message
,
MessageBox
}
from
'element-ui'
import
store
from
'@/store'
import
{
getToken
,
setToken
}
from
'@/utils/auth'
import
{
getToken
,
setToken
}
from
'@/utils/auth'
import
errorCode
from
'@/utils/errorCode'
import
settings
from
"@/settings"
axios
.
defaults
.
headers
[
'Content-Type'
]
=
'application/json;charset=utf-8'
// 创建axios实例
const
service
=
axios
.
create
({
// axios中请求配置有baseURL选项,表示请求URL公共部分
//baseURL: process.env.VUE_APP_BASE_API,
// baseURL: `http://47.103.140.98:7001/iMAC`,
baseURL
:
'https://imacuat.zmd.apac.fedex.com/iMAC'
,
// baseURL: 'http://192.168.1.133:7001/iMAC',
// baseURL: 'http://192.168.1.133:7001/iMAC',//生产
baseURL
:
settings
.
baseURL
,
// 超时
timeout
:
30000
,
...
...
@@ -54,7 +51,7 @@ service.interceptors.request.use(config => {
// 响应拦截器
service
.
interceptors
.
response
.
use
(
res
=>
{
if
(
res
.
headers
[
'token'
])
{
if
(
res
.
headers
[
'token'
])
{
setToken
(
decodeURIComponent
(
res
.
headers
[
'token'
]))
}
// 未设置状态码则默认成功状态
...
...
@@ -69,8 +66,7 @@ service.interceptors.response.use(res => {
).
then
(()
=>
{
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
// location.href = '/';
window
.
location
.
href
=
"https://test-myapps.secure.fedex.com/purpleid/signout/"
;
//wsso系统跳转
// testsso.ute.apac.fedex.com/iMAC
window
.
location
.
href
=
settings
.
logoutURL
;
//wsso系统跳转
})
});
}
else
if
(
code
===
403
)
{
...
...
src/utils/zipdownload.js
View file @
a6879f5
import
axios
from
'axios'
import
{
getToken
}
from
'@/utils/auth'
import
settings
from
"@/settings"
const
mimeMap
=
{
xlsx
:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
,
zip
:
'application/zip'
}
const
baseUrl
=
'https://imacuat.zmd.apac.fedex.com/iMAC'
//uat服务器
// const baseUrl = 'http://47.103.140.98:7001/iMAC' //阿里云服务器
// const baseUrl = 'http://192.168.1.133:7001/iMAC' //测试服务器
// const baseUrl = 'http://192.168.1.133:7001/iMAC' //生产
const
baseUrl
=
settings
.
downLoadURL
//uat服务器
export
function
downLoadZip
(
str
,
filename
)
{
var
url
=
baseUrl
+
str
...
...
@@ -27,7 +25,7 @@ export function downLoadZip(str, filename) {
* @param {*} res blob响应内容
* @param {String} mimeType MIME类型
*/
export
function
resolveBlob
(
res
,
mimeType
)
{
export
function
resolveBlob
(
res
,
mimeType
)
{
const
aLink
=
document
.
createElement
(
'a'
)
var
blob
=
new
Blob
([
res
],
{
type
:
mimeType
})
// //从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名;
...
...
@@ -44,33 +42,33 @@ export function downLoadZip(str, filename) {
}
// excel导出请求
export
function
downLoadXlsx
(
str
,
data
,
fileName
)
{
export
function
downLoadXlsx
(
str
,
data
,
fileName
)
{
var
url
=
baseUrl
+
str
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
({
method
:
'post'
,
url
:
url
,
data
:
data
,
timeout
:
500000
,
timeout
:
500000
,
responseType
:
'blob'
,
headers
:
{
'Authorization'
:
decodeURIComponent
(
getToken
())
}
// headers: { 'Authorization': decodeURIComponent(getToken()) }
//uat环境token需要做url解码处理
}).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
downLoadExcal
(
res
,
fileName
)
downLoadExcal
(
res
,
fileName
)
}
resolve
(
res
)
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
reject
(
err
)
})
})
}
//excel导出下载
export
function
downLoadExcal
(
val
,
filename
)
{
export
function
downLoadExcal
(
val
,
filename
)
{
const
aLink
=
document
.
createElement
(
'a'
)
const
fileName
=
filename
+
".xlsx"
const
fileName
=
filename
+
".xlsx"
aLink
.
href
=
URL
.
createObjectURL
(
val
.
data
)
aLink
.
setAttribute
(
'download'
,
fileName
)
// 设置下载文件名称
document
.
body
.
appendChild
(
aLink
)
...
...
@@ -81,7 +79,7 @@ export function downLoadExcal(val,filename) {
//航班预审导出
export
function
cargoXlsxPre
(
str
,
data
)
{
var
url
=
baseUrl
+
str
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
({
method
:
'post'
,
url
:
url
,
...
...
@@ -93,7 +91,7 @@ export function cargoXlsxPre(str, data) {
cargoTableXlsxPre
(
res
)
}
resolve
()
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
reject
(
err
)
})
})
...
...
src/views/allocationConfig/cargoAllocation/index.vue
View file @
a6879f5
<template>
<div class="cargoAllocation">
<el-form
ref="form"
v-model="formData"
class="form-header"
label-position="right"
label-width="auto"
size="small"
>
<el-form ref="form" v-model="formData" class="form-header" label-position="right" label-width="auto" size="small">
<el-row type="flex" style="flexWrap: wrap !important">
<el-col :span="6">
<el-form-item label="ACCS原航班日期">
<el-date-picker
class="formItem"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
v-model="fltDate"
:value-format="valueFormat"
clearable
>
<el-date-picker class="formItem" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" v-model="fltDate" :value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ACCS原航班号">
<el-input
v-model="fltNo"
placeholder="请输入ACCS原航班号"
class="formItem"
clearable
></el-input>
<el-input v-model="fltNo" placeholder="请输入ACCS原航班号" class="formItem" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="海关回执状态">
<el-select
placeholder="不限"
v-model="formData.customsReceiptStatusId"
class="formItem"
multiple
clearable
>
<el-option
v-for="item in selectData.findConditionData
.cargoCustomsReturnStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.customsReceiptStatusId" class="formItem" multiple clearable>
<el-option v-for="item in selectData.findConditionData
.cargoCustomsReturnStatus" :label="item.chineseName" :value="item.id" :key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="货物状态">
<el-select
placeholder="不限"
v-model="formData.statusId"
class="formItem"
clearable
>
<el-option
v-for="item in selectData.findConditionData.cargoStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.statusId" class="formItem" clearable>
<el-option v-for="item in selectData.findConditionData.cargoStatus" :label="item.chineseName"
:value="item.id" :key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ACCSpool">
<el-select placeholder="不限" v-model="formData.accsPool" class="formItem" clearable>
<el-option value="Pre-MDE" key="Pre-MDE">
</el-option>
<el-option value="OSPR" key="OSPR">
</el-option>
<el-option value="Manifest" key="Manifest">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单号">
<el-input
class="formItem"
type="textarea"
placeholder="请输入运单号(回车分割)"
:autosize="true"
v-model="formData.waybillNo"
clearable
></el-input>
<el-input class="formItem" type="textarea" placeholder="请输入运单号(回车分割)" :rows="1" :maxlength="12000"
v-model="formData.waybillNo" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="申报类别">
<el-select
placeholder="不限"
v-model="formData.typeId"
class="formItem"
clearable
>
<el-option
v-for="item in selectData.findConditionData.cargoType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable>
<el-option v-for="item in selectData.findConditionData.cargoType" :label="item.chineseName"
:value="item.id" :key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="服务类型">
<el-select
placeholder="不限"
v-model="formData.serviceTypeId"
class="formItem"
clearable
>
<el-option
v-for="item in selectData.findConditionData.cargoServiceType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" clearable>
<el-option v-for="item in selectData.findConditionData.cargoServiceType" :label="item.chineseName"
:value="item.id" :key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="URSA">
<el-input
class="formItem"
type="textarea"
placeholder="S_;P_;E2"
v-model="ursa"
:autosize="true"
clearable
></el-input>
<el-input class="formItem" type="textarea" placeholder="S_;P_;E2" v-model="ursa" :rows="1" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="站点">
<el-input
class="formItem"
type="textarea"
placeholder="PVG;PEK"
v-model="siteName"
:autosize="true"
clearable
></el-input>
<el-input class="formItem" type="textarea" placeholder="PVG;PEK" v-model="siteName" :rows="1" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="重量区间">
<el-row>
<el-col :span="11"
><el-input-number
class="formItem"
size="mini"
v-model="formData.minWeight"
:controls="false"
:min="0"
:precision="2"
></el-input-number
></el-col>
<el-col :span="11">
<el-input-number class="formItem" size="mini" v-model="formData.minWeight" :controls="false" :min="0"
:precision="2" clearable></el-input-number>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11"
><el-input-number
class="formItem"
size="mini"
v-model="formData.maxWeight"
:controls="false"
:min="formData.minWeight"
:precision="2"
></el-input-number
></el-col>
<el-col :span="11">
<el-input-number class="formItem" size="mini" v-model="formData.maxWeight" :controls="false"
:min="formData.minWeight" :precision="2" clearable></el-input-number>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="件数区间">
<el-row>
<el-col :span="11"
><el-input-number
class="formItem"
size="mini"
v-model="formData.minNumber"
:controls="false"
:min="0"
></el-input-number
></el-col>
<el-col :span="11">
<el-input-number class="formItem" size="mini" v-model="formData.minNumber" :controls="false" :min="0"
clearable></el-input-number>
</el-col>
<el-col class="line" :span="2">-</el-col>
<el-col :span="11"
><el-input-number
class="formItem"
size="mini"
v-model="formData.maxNumber"
:controls="false"
:min="formData.minNumber"
></el-input-number
></el-col>
<el-col :span="11">
<el-input-number class="formItem" size="mini" v-model="formData.maxNumber" :controls="false"
:min="formData.minNumber" clearable></el-input-number>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="取件日期">
<el-date-picker
class="formItem"
v-model="formData.pickUpDate"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
clearable
>
<el-date-picker class="formItem" v-model="formData.pickUpDate" type="date" placeholder="选择日期"
:value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="Handling Code">
<el-empty
description="暂无数据"
v-if="
<el-empty description="暂无数据" v-if="
!selectData.HandlingCode || selectData.HandlingCode.length == 0
"
></el-empty>
"></el-empty>
<el-checkbox-group v-model="handingCodes" v-else>
<el-checkbox
v-for="item in selectData.HandlingCode"
:label="item.chineseName"
v-model="item.englishName"
:key="item.id"
></el-checkbox>
<el-checkbox v-for="item in selectData.HandlingCode" :label="item.chineseName" v-model="item.englishName"
:key="item.id"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="Sub Category">
<el-empty
description="暂无数据"
v-if="
<el-empty description="暂无数据" v-if="
!selectData.SubCategory || selectData.SubCategory.length == 0
"
></el-empty>
"></el-empty>
<el-checkbox-group v-model="subCategorys" v-else>
<el-checkbox
v-for="item in selectData.SubCategory"
:label="item.chineseName"
v-model="item.englishName"
:key="item.id"
></el-checkbox>
<el-checkbox v-for="item in selectData.SubCategory" :label="item.chineseName" v-model="item.englishName"
:key="item.id"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<div style="margin: 0 0 0 10px">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
:loading="loading"
@click="select(0)"
>查询</el-button
>
<el-button
:type="downLoadingTip.downloading ? 'warning' : 'primary'"
size="mini"
v-hasPermi="['allocation:cargo:export']"
@click="xlsx(0)"
:loading="downLoadingTip.downloading"
:disabled="tableData.length <= 0"
>{{
<el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="select(0)">查询</el-button>
<el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini"
v-hasPermi="['allocation:cargo:export']" @click="xlsx(0)" :loading="downLoadingTip.downloading"
:disabled="tableData.length <= 0">{{
downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果"
}}</el-button
>
<el-button
:type="downLoadingTip.downloading ? 'warning' : 'primary'"
size="mini"
v-hasPermi="['allocation:cargo:export']"
@click="xlsx(1)"
:loading="downLoadingTip.downloading"
:disabled="tableData.length <= 0"
>{{
}}</el-button>
<el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini"
v-hasPermi="['allocation:cargo:export']" @click="xlsx(1)" :loading="downLoadingTip.downloading"
:disabled="tableData.length <= 0">{{
downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果"
}}</el-button
>
<el-button
type="primary"
size="mini"
v-hasPermi="['allocation:cargo:allocation']"
@click="addFit"
:disabled="tableSelection.length <= 0"
>添加到航班</el-button
>
}}</el-button>
<el-button type="primary" size="mini" v-hasPermi="['allocation:cargo:allocation']" @click="addFit"
:disabled="tableSelection.length <= 0">添加到航班</el-button>
<div class="tips">
<span style="paddingRight: 50px">总重量:{{ allWeight }}</span>
<span>总件数:{{ allQty }}</span>
</div>
</div>
</el-form>
<Tables
ref="newTables"
:data="tableData"
:headerData="tableHeader"
:totalCount="totalCount"
:loading="loading"
:limitSize="size"
:limitStart="formData.limitStart"
:page="page"
:shiftKey="shiftKey"
:infoShow="false"
:height="tableHeight"
@tableSelect="tableSelect"
@tableSelectAll="tableSelectAll"
@currentChange="currentChange"
@sortChange="sortChange"
></Tables>
<Dialog
:tableData="tableSelection"
:dialogVisible="dialogVisible"
@dialogBeforeClose="dialogBeforeClose"
></Dialog>
<Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :totalCount="totalCount"
:loading="loading" :selection="true" :limitSize="size" :limitStart="formData.limitStart" :page="page"
:shiftKey="shiftKey" :height="tableHeight" :pageSizes="[100]" @sizeChange="sizeChange" @tableSelect="tableSelect"
@tableSelectAll="tableSelectAll" @currentChange="currentChange" @sortChange="sortChange"></Tables>
<Dialog :tableData="tableSelection" :dialogVisible="dialogVisible" @dialogBeforeClose="dialogBeforeClose"></Dialog>
</div>
</template>
...
...
@@ -350,447 +202,386 @@ export default {
handingCodes: null,
subCategorys: null,
customsReceiptStatusId: null,
accsPool: "OSPR"
}, //查询数据
tableHeader: [
{
type: "selection",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: true,
disabled:true
},
{
type: "index",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: false,
disabled:true
},
{
type: "",
name: "口岸代码",
value: "portName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "取件日期",
value: "pickUpDate",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "取件扫描号",
value: "pickUpScanNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "站点",
value: "siteName",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "运单号",
value: "waybillNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "总单号",
value: "totalWaybillNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "服务类型",
value: "serviceTypeName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "服务代码",
value: "serviceCode",
width: "100",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "URSA",
value: "ursa",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "申报类型",
value: "typeName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "HandlingCode",
value: "handingCode",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "subcategory",
value: "subCategory",
width: "140",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "件数",
value: "qty",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "实际重量",
value: "actualWeight",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "收件人国家代码",
value: "consigneeCountry",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "品名描述",
value: "nameDescription",
width: "100",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "海关回执状态",
value: "customsReceiptStatusName",
width: "140",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预审状态",
value: "preQualificationStatus",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "航班预审意见",
value: "caPretrialOpinion",
width: "120",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "货物状态",
value: "statusName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "终配航班号",
value: "finalFlightNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "终配航班日期",
value: "finalFlightTime",
width: "140",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "二配航班号",
value: "twoMatchFlightNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "二配航班日期",
value: "twoMatchFlightTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预配航班号",
value: "preplanFlightNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预配航班日期",
value: "preplanFlightTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航班号",
value: "fltNoAccs",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航班日期",
value: "fltDateAccs",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航线",
value: "accsFlightRoute",
width: "140",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "是否RDE手工录入",
value: "manualRde",
width: "170",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "是否自动",
value: "cargoRulesStatus",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "发件人账号",
value: "shipperAccount",
width: "120",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "发件公司中文名称",
value: "shipperCompany",
width: "150",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "始发地城市名称",
value: "originCity",
width: "130",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "收件地",
value: "destinationSiteName",
width: "90",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "尺寸",
value: "sizeStr",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "大货预审意见(是否可以配置航班)",
value: "bigPretrialOpinion",
width: "250",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "大货预审时间",
value: "bigPretrialTime",
width: "120",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "海关回执时间",
value: "customsReceiptTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "航班预审时间",
value: "caPretrialTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "90",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
], //表头数据
tableData: [], //表格数据
...
...
@@ -812,7 +603,7 @@ export default {
size: 100,
allWeight: 0,
allQty: 0,
tableHeight:null,
tableHeight:
null,
dialogVisible: false,
shiftKey: false,
createDate: null,
...
...
@@ -825,13 +616,16 @@ export default {
},
created() {
this.seleData();
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
this.select();
}
},
activated(){
activated()
{
this.select();
},
deactivated() {
this.tableData = []
},
mounted() {
window.addEventListener("keydown", (code) => {
if (code.keyCode === 16 && code.shiftKey) {
...
...
@@ -843,7 +637,7 @@ export default {
this.shiftKey = false;
}
});
this.tableHeight = window.innerHeight - this.$refs.form.$el.offsetHeight
-
60
this.tableHeight = window.innerHeight - this.$refs.form.$el.offsetHeight
-
60
},
methods: {
//查询条件
...
...
@@ -853,33 +647,33 @@ export default {
if (res.code === 200) {
this.selectData.HandlingCode = res.data.handlingCode;
this.selectData.SubCategory = res.data.subCategory;
}
else
{
}
else
{
this.$message({
message: "查询条件不存在",
type: "warning",
});
}
})
.catch(() => {});
.catch(() => {
});
findConditionData()
.then((res) => {
if (res.code == 200) {
this.selectData.findConditionData = res.data;
}
else
{
}
else
{
this.$message({
message: "查询条件不存在",
type: "warning",
});
}
})
.catch(() => {});
.catch(() => {
});
},
//查询
async select(val) {
this.loading = true;
this.dataInfo();
if
(val === 0)
{
if
(val === 0)
{
this.page = 1;
this.formData.page = 1;
}
...
...
@@ -968,7 +762,7 @@ export default {
}
this.formData.page = this.page;
this.formData.size = this.size;
if
(this.formData.waybillNo)
{
if
(this.formData.waybillNo)
{
this.formData.waybillNo = this.formData.waybillNo.trim();
}
},
...
...
@@ -1029,7 +823,7 @@ export default {
data = data.sort(this.$refs.newTables.compare(val.prop, val.order));
if (val.order == "descending") {
this.tableData = nullData.concat(data);
} else{
} else
{
this.tableData = data.concat(nullData);
}
this.tableSelection = []
...
...
@@ -1038,7 +832,7 @@ export default {
// item.index = index;
// });
},
sizeChange(val){
sizeChange(val)
{
this.size = val
this.select(0);
},
...
...
@@ -1091,9 +885,6 @@ export default {
},
},
},
deactivated(){
this.tableData = []
},
};
</script>
...
...
@@ -1105,18 +896,22 @@ export default {
margin-top: 10px;
margin-left: 50px;
}
.line {
text-align: center;
}
.el-empty {
width: 30%;
height: 37px;
padding: 0px;
line-height: 37px;
.el-empty__image {
width: 0px;
height: 0px;
}
.el-empty__description {
margin-top: 0px;
}
...
...
src/views/allocationConfig/flightAllocConfig/index.vue
View file @
a6879f5
<template>
<div>
<el-form
:inline="true"
:model="queryParams"
class="form-header"
size="medium"
label-position="right"
label-width="auto"
>
<el-form :inline="true" :model="queryParams" class="form-header" size="medium" label-position="right"
label-width="auto">
<el-form-item label="航班号">
<el-input
v-model.trim="purposeOfFlightNo"
placeholder="航班号"
@keyup.enter.native="getList"
clearable
></el-input>
<el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList" clearable></el-input>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="状态" clearable>
...
...
@@ -23,45 +12,21 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
@click="getList"
size="mini"
>查询</el-button
>
<el-button type="primary" icon="el-icon-search" @click="getList" size="mini">查询</el-button>
</el-form-item>
<div>
<el-button
style="margin-bottom: 20px"
type="primary"
icon="el-icon-plus"
size="mini"
v-hasPermi="['allocation:alloc:add']"
@click="
<el-button style="margin-bottom: 20px" type="primary" icon="el-icon-plus" size="mini"
v-hasPermi="['allocation:alloc:add']" @click="
$router.push({
name: 'FlightAllocConfigAdd',
params: { handle: 'add' },
})
"
>添加</el-button
>
">添加</el-button>
</div>
</el-form>
<el-table
:data="flyList"
v-loading="loading"
size="small"
highlight-current-row
border
stripe
>
<el-table-column
prop="purposeOfFlightNo"
label="航班号"
align="center"
></el-table-column>
<el-table :data="flyList" v-loading="loading" size="small" highlight-current-row border stripe>
<el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column>
<el-table-column prop="status" label="状态" align="center">
<template slot-scope="scope">
...
...
@@ -80,62 +45,22 @@
<el-table-column label="操作" prop="id" align="center">
<template slot-scope="scope">
<el-button
type="text"
size="mini"
icon="el-icon-view"
@click="handleClick(scope.row.id, 'detail')"
>查看</el-button
>
<el-button
type="text"
size="mini"
icon="el-icon-edit"
v-hasPermi="['allocation:alloc:update']"
@click="handleClick(scope.row.id, 'update')"
>修改</el-button
>
<el-button
type="text"
size="mini"
icon="el-icon-delete"
v-hasPermi="['allocation:alloc:delete']"
@click="del(scope.row.id, scope.row.status)"
>删除</el-button
>
<el-button
type="text"
size="mini"
icon="el-icon-video-pause"
v-hasPermi="['allocation:alloc:openClose']"
@click="changeStatus(scope.row.id, 3)"
v-if="scope.row.status == '1'"
>停用</el-button
>
<el-button
type="text"
size="mini"
icon="el-icon-video-play"
v-hasPermi="['allocation:alloc:openClose']"
@click="changeStatus(scope.row.id, 1)"
v-else
>启用</el-button
>
<el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看
</el-button>
<el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']"
@click="handleClick(scope.row.id, 'update')">修改</el-button>
<el-button type="text" size="mini" icon="el-icon-delete" v-hasPermi="['allocation:alloc:delete']"
@click="del(scope.row.id, scope.row.status)">删除</el-button>
<el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']"
@click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button>
<el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']"
@click="changeStatus(scope.row.id, 1)" v-else>启用</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="getList"
@current-change="getList"
:current-page.sync="curPage"
:page-sizes="[10, 20, 30, 40]"
:page-size.sync="limit"
layout="prev, pager, next, jumper, sizes, total"
:total="total"
background
:hide-on-single-page="true"
style="margin-top: 40px; text-align: right"
>
<el-pagination @size-change="getList" @current-change="getList" :current-page.sync="curPage"
:page-sizes="[10, 20, 30, 40]" :page-size.sync="limit" layout="prev, pager, next, jumper, sizes, total"
:total="total" background :hide-on-single-page="true" style="margin-top: 40px; text-align: right">
</el-pagination>
</div>
</template>
...
...
@@ -165,14 +90,14 @@ export default {
};
},
created() {
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
this.getList();
}
},
activated(){
activated()
{
this.getList()
},
deactivated(){
deactivated()
{
this.flyList = []
},
methods: {
...
...
@@ -228,7 +153,7 @@ export default {
});
this.getList();
})
.catch(() => {});
.catch(() => {
});
});
}
},
...
...
@@ -249,7 +174,7 @@ export default {
this.msgSuccess(tip + "成功");
}
})
.catch(() => {});
.catch(() => {
});
});
},
},
...
...
src/views/allocationConfig/flightAllocConfig/info.vue
View file @
a6879f5
...
...
@@ -5,31 +5,16 @@
<el-button size="small" @click="close">返回</el-button>
</div>
<template v-else>
<el-form
ref="form"
:model="form"
label-width="200px"
size="small"
:disabled="disable"
:rules="rules"
>
<el-form ref="form" :model="form" label-width="200px" size="small" :disabled="disable" :rules="rules">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="航班号" prop="purposeOfFlightNo">
<el-input
v-model.trim="form.purposeOfFlightNo"
style="width: 60%"
:disabled="nameDisabled"
></el-input>
<el-input v-model.trim="form.purposeOfFlightNo" style="width: 60%" :disabled="nameDisabled"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班预审" prop="isNeedRequired">
<el-switch
v-model="isNeedRequired"
:active-value="1"
:inactive-value="0"
>
<el-switch v-model="isNeedRequired" :active-value="1" :inactive-value="0">
</el-switch>
</el-form-item>
</el-col>
...
...
@@ -37,86 +22,45 @@
<el-form-item>
<el-row :gutter="20">
<el-col :span="6">
<el-radio v-model="isLocation" label="1" size="mini"
>站点包含</el-radio
>
<el-radio v-model="isLocation" label="2" size="mini"
>站点不包含</el-radio
>
<el-radio v-model="isLocation" label="1" size="mini">站点包含</el-radio>
<el-radio v-model="isLocation" label="2" size="mini">站点不包含</el-radio>
</el-col>
<el-col :span="6">
<el-alert
title="提示:站点之间用回车符分隔"
type="warning"
show-icon
size="mini"
:closable="false"
style="height: 30px; width: fit-content"
>
<el-alert title="提示:站点之间用回车符分隔" type="warning" show-icon size="mini" :closable="false"
style="height: 30px; width: fit-content">
</el-alert>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="站点包含" v-show="isLocation == 1">
<el-input
type="textarea"
v-model="form.location"
:rows="6"
resize="none"
style="width: 600px"
></el-input>
<el-input type="textarea" v-model="form.location" :rows="6" resize="none" style="width: 600px"></el-input>
</el-form-item>
<el-form-item label="站点不包含" v-show="isLocation == 2">
<el-input
type="textarea"
v-model="form.notLocation"
:rows="6"
resize="none"
style="width: 600px"
></el-input>
<el-input type="textarea" v-model="form.notLocation" :rows="6" resize="none" style="width: 600px"></el-input>
</el-form-item>
<el-form-item>
<el-alert
title="提示:URSA之间用分号分隔,例:F2;F3;P_"
type="warning"
show-icon
size="mini"
:closable="false"
style="height: 30px; width: fit-content"
>
<el-alert title="提示:URSA之间用分号分隔,例:F2;F3;P_" type="warning" show-icon size="mini" :closable="false"
style="height: 30px; width: fit-content">
</el-alert>
</el-form-item>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="URSA包含">
<el-input
type="textarea"
v-model.trim="form.includeUrsa"
:rows="6"
resize="none"
></el-input>
<el-input type="textarea" v-model.trim="form.includeUrsa" :rows="6" resize="none"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="URSA不包含">
<el-input
type="textarea"
v-model.trim="form.notIncludeUrsa"
:rows="6"
resize="none"
></el-input>
<el-input type="textarea" v-model.trim="form.notIncludeUrsa" :rows="6" resize="none"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="件数">
<el-col :span="3">
<el-input
class="numberInput"
v-model.trim="minNumOfPieces"
></el-input>
<el-input class="numberInput" v-model.trim="minNumOfPieces"></el-input>
<!-- <el-input-number
v-model="minNumOfPieces"
:precision="0"
...
...
@@ -126,10 +70,7 @@
</el-col>
<el-col style="text-align: center" :span="1">-</el-col>
<el-col :span="3">
<el-input
class="numberInput"
v-model.trim="maxNumOfPieces"
></el-input>
<el-input class="numberInput" v-model.trim="maxNumOfPieces"></el-input>
<!-- <el-input-number
v-model="
form.maxNumOfPieces == 0
...
...
@@ -180,10 +121,7 @@
<el-checkbox-group v-model="form.typeOfGoods">
<el-row>
<el-col :span="2" v-for="item in cargoType" :key="item.id">
<el-checkbox
:label="item.chineseName"
:name="item.chineseName"
>
<el-checkbox :label="item.chineseName" :name="item.chineseName">
</el-checkbox>
</el-col>
</el-row>
...
...
@@ -196,11 +134,7 @@
<el-checkbox-group v-model="form.declarationCategory">
<el-row>
<el-col :span="3" v-for="item in cargoStatus" :key="item.id">
<el-checkbox
:label="item.chineseName"
:name="item.chineseName"
disabled
></el-checkbox>
<el-checkbox :label="item.chineseName" :name="item.chineseName" disabled></el-checkbox>
</el-col>
</el-row>
</el-checkbox-group>
...
...
@@ -212,10 +146,7 @@
<el-checkbox-group v-model="form.serviceCode">
<el-row>
<el-col :span="2" v-for="item in serviceCode" :key="item.id">
<el-checkbox
:label="item.englishName"
:name="item.englishName"
></el-checkbox>
<el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox>
</el-col>
</el-row>
</el-checkbox-group>
...
...
@@ -227,10 +158,7 @@
<el-checkbox-group v-model="form.handlingCode">
<el-row>
<el-col :span="3" v-for="item in handlingCode" :key="item.id">
<el-checkbox
:label="item.englishName"
:name="item.englishName"
></el-checkbox>
<el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox>
</el-col>
</el-row>
</el-checkbox-group>
...
...
@@ -242,10 +170,7 @@
<el-checkbox-group v-model="form.subCategory">
<el-row>
<el-col :span="3" v-for="item in subCategory" :key="item.id">
<el-checkbox
:label="item.englishName"
:name="item.englishName"
></el-checkbox>
<el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox>
</el-col>
</el-row>
</el-checkbox-group>
...
...
@@ -254,13 +179,8 @@
</el-form>
<div style="marginleft: 200px">
<el-button
type="primary"
size="small"
v-if="$route.params.handle != 'detail'"
@click="submit('form')"
:loading="btnLoading"
>
<el-button type="primary" size="small" v-if="$route.params.handle != 'detail'" @click="submit('form')"
:loading="btnLoading">
<span v-if="$route.params.handle === 'add'">添加</span>
<span v-else>保存</span>
</el-button>
...
...
@@ -279,7 +199,7 @@ import {
} from "@/api/destinationFlight";
export default {
name:"",
name:
"",
data() {
return {
form: {
...
...
@@ -319,9 +239,9 @@ export default {
btnLoading: false,
loading: true,
isEmpty: false,
routeName:"",
dataId:"",
handleName:""
routeName:
"",
dataId:
"",
handleName:
""
};
},
methods: {
...
...
@@ -361,7 +281,7 @@ export default {
this.formHandlingCode = this.form.handlingCode;
this.formSubCategory = this.form.subCategory;
this.form.isNeedRequired = this.isNeedRequired;
if
(this.form.purposeOfFlightNo)
{
if
(this.form.purposeOfFlightNo)
{
this.form.purposeOfFlightNo = this.form.purposeOfFlightNo.toUpperCase();
}
if (this.isLocation == 1) {
...
...
@@ -442,7 +362,7 @@ export default {
),
1
);
this.$router.push({
name:"FlightAllocConfig"
})
this.$router.push({
name: "FlightAllocConfig"
})
// this.$router.push(
// this.$store.state.tagsView.visitedViews[
// this.$store.state.tagsView.visitedViews.length - 1
...
...
@@ -450,30 +370,30 @@ export default {
// );
},
removes(){
if
(this.routeName == "FlightAllocConfigAdd")
{
sessionStorage.setItem("flightAdd","remove")
}
else
{
sessionStorage.setItem("flightInfo"
+this.dataId,
"remove")
removes()
{
if
(this.routeName == "FlightAllocConfigAdd")
{
sessionStorage.setItem("flightAdd",
"remove")
}
else
{
sessionStorage.setItem("flightInfo"
+ this.dataId,
"remove")
}
},
},
beforeDestroy(){
if
(this.routeName == "FlightAllocConfigAdd")
{
if
(sessionStorage.getItem("flightAdd") == "remove")
{
beforeDestroy()
{
if
(this.routeName == "FlightAllocConfigAdd")
{
if
(sessionStorage.getItem("flightAdd") == "remove")
{
sessionStorage.removeItem("flightAdd")
}
else
{
}
else
{
this.form.isNeedRequired = this.isNeedRequired
sessionStorage.setItem("flightAdd",JSON.stringify(this.form))
sessionStorage.setItem("flightAdd",
JSON.stringify(this.form))
}
}
else
{
if
(sessionStorage.getItem("flightInfo"+this.dataId) == "remove")
{
sessionStorage.removeItem("flightInfo"
+
this.dataId)
}
else
{
if
(this.handleName == "detail")
{
}
else
{
if
(sessionStorage.getItem("flightInfo" + this.dataId) == "remove")
{
sessionStorage.removeItem("flightInfo"
+
this.dataId)
}
else
{
if
(this.handleName == "detail")
{
this.form.isNeedRequired = this.isNeedRequired
sessionStorage.setItem("flightInfo"
+this.dataId,
JSON.stringify(this.form))
sessionStorage.setItem("flightInfo"
+ this.dataId,
JSON.stringify(this.form))
}
}
}
...
...
@@ -510,16 +430,16 @@ export default {
if (handle != "add") {
this.nameDisabled = true;
let id = this.$route.params.id;
if
(sessionStorage.getItem("flightInfo"+id) && this.$route.name == "FlightAllocConfigInfo" && handle != "detail")
{
if
(sessionStorage.getItem("flightInfo" + id) && this.$route.name == "FlightAllocConfigInfo" && handle != "detail")
{
this.loading = false
this.form = JSON.parse(sessionStorage.getItem("flightInfo"
+
this.$route.params.id))
this.form = JSON.parse(sessionStorage.getItem("flightInfo"
+
this.$route.params.id))
this.isNeedRequired = this.form.isNeedRequired;
if
(this.form.notLocation != null || this.form.notLocation == "")
{
if
(this.form.notLocation != null || this.form.notLocation == "")
{
this.isLocation = "2";
}
else
{
}
else
{
this.isLocation = "1";
}
}
else
{
}
else
{
if (isNaN(Number(id))) {
findDestinationFltRuleByActualFlight(id).then((response) => {
if (response.code != 200) {
...
...
@@ -557,7 +477,7 @@ export default {
this.isNeedRequired = info.isNeedRequired;
}
this.loading = false;
}).catch(()=>
{
}).catch(() =>
{
this.loading = false;
})
} else {
...
...
@@ -598,7 +518,7 @@ export default {
this.isNeedRequired = isNeedRequired;
}
this.loading = false;
}).catch(()
=>
{
}).catch(()
=>
{
this.loading = false;
})
}
...
...
@@ -606,13 +526,13 @@ export default {
} else {
this.loading = false;
}
if
(this.$route.name == "FlightAllocConfigAdd")
{
if
(sessionStorage.getItem("flightAdd"))
{
if
(this.$route.name == "FlightAllocConfigAdd")
{
if
(sessionStorage.getItem("flightAdd"))
{
this.form = JSON.parse(sessionStorage.getItem("flightAdd"))
this.isNeedRequired = this.form.isNeedRequired;
if
(this.form.notLocation != null || this.form.notLocation == "")
{
if
(this.form.notLocation != null || this.form.notLocation == "")
{
this.isLocation = "2";
}
else
{
}
else
{
this.isLocation = "1";
}
}
...
...
@@ -685,7 +605,7 @@ export default {
background-color: rgba(255, 255, 255, 0.5);
}
.el-checkbox__input.is-disabled
+
span.el-checkbox__label {
.el-checkbox__input.is-disabled
+
span.el-checkbox__label {
color: #303133;
}
...
...
@@ -696,6 +616,7 @@ export default {
.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
border-color: #606266;
}
.numberInput {
input {
text-align: center;
...
...
src/views/allocationConfig/flightRandConfig/index.vue
View file @
a6879f5
<template>
<div>
<el-form
class="form-header"
:model="queryParams"
ref="queryForm"
size="medium"
:inline="true"
label-position="right"
label-width="auto"
>
<el-form class="form-header" :model="queryParams" ref="queryForm" size="medium" :inline="true"
label-position="right" label-width="auto">
<el-form-item label="原航班">
<el-input
type="text"
v-model="upCase"
placeholder="请输入原航班"
clearable
></el-input>
<el-input type="text" v-model="upCase" placeholder="请输入原航班" clearable></el-input>
<!-- <el-input v-model="upCase" placeholder="请输入原航班" clearable size="small" /> -->
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
<el-option
v-for="dict in statusList"
:key="dict.id"
:label="dict.name"
:value="dict.id"
/>
<el-option v-for="dict in statusList" :key="dict.id" :label="dict.name" :value="dict.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询原航班配置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询原航班配置</el-button>
</el-form-item>
<br />
<el-form-item label="日期" prop="flightDate">
<el-date-picker
value-format="yyyy-MM-dd"
v-model="queryParams.flightDate"
type="date"
placeholder="选择日期"
>
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.flightDate" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="findSourceFlightAndFlightDate"
>查询实际配载航班 </el-button
> 
<el-button type="primary" icon="el-icon-search" size="mini" @click="findSourceFlightAndFlightDate">查询实际配载航班
</el-button> 
<span style="color:#ff4949">注:原航班+日期查询该日期的航班实际情况</span>
</el-form-item>
<br />
<el-form-item>
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
v-hasPermi="['allocation:rand:add']"
@click="handleAdd"
>添加规则</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:rand:add']"
@click="handleAdd">添加规则</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
height="550"
size="small"
:data="sourceFlightRulesList"
highlight-current-row
border
stripe
>
<el-table v-loading="loading" height="550" size="small" :data="sourceFlightRulesList" highlight-current-row border
stripe>
<el-table-column type="index" label="序号" align="center">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="原航班" align="center" prop="sourceFlightNo" />
<el-table-column
label="配载航班排序"
align="center"
prop="flightRank"
width="280"
/>
<el-table-column
label="周期"
align="center"
prop="dayOfWeek"
width="180"
/>
<el-table-column
label="状态"
align="center"
prop="status"
:formatter="statusFormat"
/>
<el-table-column
label="开始时间"
align="center"
prop="startDate"
width="100"
/>
<el-table-column
label="结束时间"
align="center"
prop="endDate"
width="100"
/>
<el-table-column
label="最后修改人"
align="center"
prop="updateUserName"
width="100"
/>
<el-table-column
label="最后修改时间"
align="center"
prop="updateTime"
width="100"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="180"
fixed="right"
>
<el-table-column label="配载航班排序" align="center" prop="flightRank" width="280" />
<el-table-column label="周期" align="center" prop="dayOfWeek" width="180" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="开始时间" align="center" prop="startDate" width="100" />
<el-table-column label="结束时间" align="center" prop="endDate" width="100" />
<el-table-column label="最后修改人" align="center" prop="updateUserName" width="100" />
<el-table-column label="最后修改时间" align="center" prop="updateTime" width="100" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-hasPermi="['allocation:rand:update']"
@click="handleUpdate(scope.row)"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-hasPermi="['allocation:rand:delete']"
@click="handleDeleteorPlayorpause(scope.row, 0, '删除')"
>
删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-video-play"
v-if="scope.row.status == '3'"
v-hasPermi="['allocation:rand:openClose']"
@click="handleDeleteorPlayorpause(scope.row, 1, '启用')"
>启用</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-video-pause"
v-if="scope.row.status != '3'"
v-hasPermi="['allocation:rand:openClose']"
@click="handleDeleteorPlayorpause(scope.row, 3, '停用')"
>停用</el-button
>
<el-button size="mini" type="text" icon="el-icon-edit" v-hasPermi="['allocation:rand:update']"
@click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" v-hasPermi="['allocation:rand:delete']"
@click="handleDeleteorPlayorpause(scope.row, 0, '删除')">
删除</el-button>
<el-button size="mini" type="text" icon="el-icon-video-play" v-if="scope.row.status == '3'"
v-hasPermi="['allocation:rand:openClose']" @click="handleDeleteorPlayorpause(scope.row, 1, '启用')">启用
</el-button>
<el-button size="mini" type="text" icon="el-icon-video-pause" v-if="scope.row.status != '3'"
v-hasPermi="['allocation:rand:openClose']" @click="handleDeleteorPlayorpause(scope.row, 3, '停用')">停用
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.limit"
@pagination="findSourceFlightRules"
/>
<pagination v-show="total > 0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum" :limit.sync="queryParams.limit" @pagination="findSourceFlightRules" />
<!-- 查看目的航班对话框 -->
<el-dialog
title="实际配载航班"
:visible.sync="openFlightDate"
width="70%"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="实际配载航班" :visible.sync="openFlightDate" width="70%" :close-on-click-modal="false"
:append-to-body="true">
<el-table v-loading="loadingFlightDate" :data="sourceFlightAndFlightDate">
<el-table-column type="index" label="序号" align="center">
<template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="原航班" align="center" prop="sourceFlightNo" />
<el-table-column
label="实际配载航班"
align="center"
prop="actualFlight"
width="280"
/>
<el-table-column label="实际配载航班" align="center" prop="actualFlight" width="280" />
<el-table-column label="航班日期" align="center" prop="flightDate" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="200"
>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleClick(scope.row.actualFlight, 'detail')"
>查看配置维度</el-button
>
<el-button size="mini" type="text" icon="el-icon-edit"
@click="handleClick(scope.row.actualFlight, 'detail')">查看配置维度</el-button>
</template>
</el-table-column>
</el-table>
...
...
@@ -229,45 +90,19 @@
</el-dialog>
<!-- 添加或修改对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="55%"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-position="right"
label-width="auto"
>
<el-dialog :title="title" :visible.sync="open" width="55%" :append-to-body="true" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="auto">
<el-row>
<el-col :span="8">
<el-form-item label="原航班" prop="sourceFlightNo">
<el-input
v-model="form.sourceFlightNo"
placeholder="请输入原航班号"
maxlength="10"
/>
<el-input v-model="form.sourceFlightNo" placeholder="请输入原航班号" maxlength="10" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="口岸" prop="portName">
<el-select
:disabled="true"
v-model="form.portName"
size="mini"
placeholder="选择口岸"
>
<el-option
v-for="item in portNameList"
:label="item"
:value="item"
:key="item"
>
<el-select :disabled="true" v-model="form.portName" size="mini" placeholder="选择口岸">
<el-option v-for="item in portNameList" :label="item" :value="item" :key="item">
</el-option>
</el-select>
</el-form-item>
...
...
@@ -276,59 +111,33 @@
<el-row>
<el-col :span="8">
<el-form-item label="有效开始时间" prop="startDate">
<el-date-picker
clearable
size="small"
:picker-options="pickerOptionsStart"
v-model="form.startDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间"
>
<el-date-picker clearable size="small" :picker-options="pickerOptionsStart" v-model="form.startDate"
type="date" value-format="yyyy-MM-dd" placeholder="选择开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="有效结束时间" prop="endDate">
<el-date-picker
clearable
size="small"
:picker-options="pickerOptionsEnd"
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间"
>
<el-date-picker clearable size="small" :picker-options="pickerOptionsEnd" v-model="form.endDate"
type="date" value-format="yyyy-MM-dd" placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-bottom: 5%">
<span style="color: #ff4949; margin-left: 10%"
>提示:配载航班之间请用分号分隔【符号不区分中英文】,例:CA1053;C7433</span
><br />
<span style="color: #ff4949; margin-left: 10%"
>提示:如果需要设置配载航班延迟或提前可以直接在目的航斑后加减【+-】天数。如:CA1053+1;CZ433-1</span
>
<span style="color: #ff4949; margin-left: 10%">提示:配载航班之间请用分号分隔【符号不区分中英文】,例:CA1053;C7433</span><br />
<span
style="color: #ff4949; margin-left: 10%">提示:如果需要设置配载航班延迟或提前可以直接在目的航斑后加减【+-】天数。如:CA1053+1;CZ433-1</span>
</el-col>
<el-col :span="24">
<el-form-item label="配载航班" prop="flightRank">
<el-input
type="textarea"
v-model="form.flightRank"
:rows="4"
></el-input>
<el-input type="textarea" v-model="form.flightRank" :rows="4"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="周期段">
<el-checkbox-group v-model="dayOfWeek">
<el-checkbox
v-for="item in dayOfWeekList"
:key="item"
:label="item"
:name="item"
></el-checkbox>
<el-checkbox v-for="item in dayOfWeekList" :key="item" :label="item" :name="item"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
...
...
@@ -442,19 +251,19 @@ export default {
created() {
this.queryParams.portName = this.$store.state.user.activePortName;
this.portNameList = this.$store.state.user.portNames;
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
this.findSourceFlightRules();
}
},
activated(){
activated()
{
this.findSourceFlightRules();
},
deactivated(){
deactivated()
{
this.sourceFlightRulesList = []
},
watch:{
open(val,
oldVal)
{
if
(val)
{
watch:
{
open(val,
oldVal)
{
if
(val)
{
this.queryParams.portName = this.$store.state.user.activePortName;
this.form.portName = this.$store.state.user.activePortName;
}
...
...
@@ -544,7 +353,7 @@ export default {
this.msgError(response.msg);
}
})
.catch(() => {});
.catch(() => {
});
},
/** 提交按钮 */
submitForm: function () {
...
...
src/views/basicInformation/caExportPreQualification/index.vue
View file @
a6879f5
<template>
<div class="app-container">
<el-form
class="form-header"
:model="queryParams"
label-position="right"
label-width="auto"
size="medium"
>
<div>
<el-form class="form-header" :model="queryParams" label-position="right" label-width="auto" size="medium">
<el-row>
<el-col :span="6">
<el-form-item label="航班日期从" prop="fltDateStart">
<el-date-picker
value-format="yyyy-MM-dd"
class="formItem"
v-model="queryParams.fltDateStart"
type="date"
placeholder="选择日期"
>
<el-date-picker value-format="yyyy-MM-dd" class="formItem" v-model="queryParams.fltDateStart" type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到" prop="fltDateEnd">
<el-date-picker
value-format="yyyy-MM-dd"
class="formItem"
v-model="queryParams.fltDateEnd"
type="date"
placeholder="选择日期"
>
<el-date-picker value-format="yyyy-MM-dd" class="formItem" v-model="queryParams.fltDateEnd" type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班号">
<el-input
type="textarea"
v-model="fltNo"
clearable
class="formItem"
placeholder="AC001;AC002"
rows="1"
>
<el-input type="textarea" v-model="fltNo" clearable class="formItem" placeholder="AC001;AC002" :rows="1">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单号">
<el-input
clearable
type="textarea"
v-model="queryParams.waybillNo"
class="formItem"
placeholder="请输入运单号(回车间隔)"
rows="1"
></el-input>
<el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem"
placeholder="请输入运单号(回车间隔)" :rows="1"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="站点">
<el-input
type="textarea"
v-model="siteName"
class="formItem"
placeholder="PVG;PEK"
clearable
rows="1"
>
<el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="URSA">
<el-input
clearable
type="textarea"
v-model="ursa"
class="formItem"
placeholder="S_;P_;E2"
rows="1"
>
<el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-switch
v-model="queryParams.reExport"
active-color="#13ce66"
active-text="重新导出"
style="padding-left: 35px"
>
</el-switch>
</el-col>
</el-row>
<div style="margin-top: 25px">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
type="warning"
:disabled="tableData.length == 0"
@click="xlse()"
:loading="downLoadingTip.downloading"
icon="el-icon-download"
size="mini"
v-hasPermi="['base:caExport:export']"
>{{
<el-switch v-model="queryParams.reExport" active-color="#13ce66" active-text="重新导出" style="padding-left: 35px">
</el-switch>
<div style="margin-top:25px">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button type="warning" :disabled="tableData.length == 0" v-hasPermi="['base:caExport:export']"
@click="xlse()" :loading="downLoadingTip.downloading" icon="el-icon-download" size="mini">{{
downLoadingTip.downloading ? downLoadingTip.tip : "导出"
}}</el-button
>
}}</el-button>
</div>
</el-form>
<el-table
max-height="500"
highlight-current-row
border
stripe
v-loading="loading"
:data="tableData"
>
<el-table-column
label="运单号"
align="center"
prop="waybillNo"
width="150"
/>
<el-table-column
:show-overflow-tooltip="true"
label="品牌描述"
align="center"
prop="nameDescription"
width="150"
/>
<el-table-column
label="航班日期"
align="center"
prop="fltDate"
width="150"
/>
<el-table-column label="航班号" align="center" prop="fltNo" />
<el-table-column
label="航班路线"
align="center"
prop="route"
width="150"
/>
<el-table-column
label="配置航班类型"
align="center"
prop="kindName"
width="130"
/>
<el-table-column label="尺寸" align="center" prop="sizeStr" />
<el-table-column label="件数" align="center" prop="qty" />
<el-table-column label="实际重量" align="center" prop="actualWeight" />
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
/>
<el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="tableData">
<el-table-column label="运单号" align="center" prop="waybillNo" />
<el-table-column :show-overflow-tooltip="true" label="品牌描述" align="center" prop="nameDescription" />
<el-table-column label="航班日期" align="center" prop="fltDate" />
<el-table-column label="航班号" align="center" prop="fltNo" width="100" />
<el-table-column label="航班路线" align="center" prop="route" />
<el-table-column label="配置航班类型" align="center" prop="kindName" width="130" />
<el-table-column label="尺寸" align="center" prop="sizeStr" width="70" />
<el-table-column label="件数" align="center" prop="qty" width="70" />
<el-table-column label="实际重量" align="center" prop="actualWeight" width="100" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.limitSize"
@pagination="findAllFltData"
/>
<pagination v-show="total > 0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum" :limit.sync="queryParams.limitSize" @pagination="findAllFltData" />
</div>
</template>
...
...
@@ -221,7 +115,6 @@ export default {
rules: {},
};
},
created() {},
methods: {
// 导出表格
xlse() {
...
...
@@ -233,8 +126,9 @@ export default {
);
cargoXlse.cargoExportPreQueryDto.limitStart = 0;
cargoXlse.cargoExportPreQueryDto.limitSize = -1;
downLoadXlsx("/cargo/excelPre", cargoXlse,'航班预审表')
downLoadXlsx("/cargo/excelPre", cargoXlse,
'航班预审表')
.then(() => {
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = "";
this.progress = 100;
...
...
@@ -244,7 +138,6 @@ export default {
this.downLoadingTip.tip = "";
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
...
...
@@ -265,6 +158,12 @@ export default {
this.tableData = response.data.list;
this.total = response.data.totalCount;
this.loading = false;
if (response.data.list.length == 0) {
this.$message({
message: "未查询到数据",
type: "warning",
});
}
} else {
this.msgError(response.msg);
}
...
...
src/views/basicInformation/caPreReviewImport/index.vue
View file @
a6879f5
...
...
@@ -15,7 +15,8 @@
<div style="font-size: 12px; font-weight: 700">
提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span>
</div>
<el-table ref="filterTable" :data="tableData" v-loading="loading" style="width: 100%; margin-top: 20px" size="small" border>
<el-table ref="filterTable" :data="tableData" v-loading="loading" style="width: 100%; margin-top: 20px" size="small"
border>
<el-table-column label="行号" prop="line" fixed width="50" align="center">
</el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed width="300">
...
...
@@ -38,12 +39,12 @@
</template>
<script>
import {
import {
downLoadTemplate,
importcaPreReview,
} from "@/api/caPreReviewImport";
export default {
name:
"CAPreReviewImport",
} from "@/api/caPreReviewImport";
export default {
name:
"CAPreReviewImport",
data() {
return {
// 遮罩层
...
...
@@ -81,9 +82,9 @@
uploadExcel(option) {
//上传excel
const file = option.file;
this.loading=
true;
this.loading =
true;
importcaPreReview(file, this.form.type).then((res) => {
this.loading=
false;
this.loading =
false;
if (res.code != 200) {
if (res.code == 603) {
this.$alert(res.msg, "提示", {
...
...
@@ -115,19 +116,16 @@
this.uploadExcel(file);
},
},
created() {
},
};
};
</script>
<style rel="stylesheet/scss" lang="scss">
.upload-demo {
.upload-demo {
float: right;
}
}
.el-upload-list {
.el-upload-list {
display: inline-block;
margin-left: 10px;
vertical-align: top;
}
}
</style>
...
...
src/views/basicInformation/flightInformationImport/index.vue
View file @
a6879f5
...
...
@@ -3,47 +3,27 @@
<el-form :inline="true" :model="form" class="demo-form-inline" size="small">
<el-form-item label="航班种类">
<el-select v-model="form.type" placeholder="航班种类">
<el-option
v-for="item in flightType"
:key="item.id"
:label="item.englishName"
:value="item.code"
>{{ item.englishName }}</el-option
>
<el-option v-for="item in flightType" :key="item.id" :label="item.englishName" :value="item.code">{{
item.englishName
}}</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-upload
action="/flightInfoImport/importFlight"
name="file"
:http-request="uploadExcel"
:on-remove="handleRemove"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
accept=".xlsx"
class="upload-demo"
v-hasPermi="['base:flightImport:importFlight']"
>
<el-upload action="/flightInfoImport/importFlight" name="file" :http-request="uploadExcel"
:on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx"
class="upload-demo" v-hasPermi="['base:flightImport:importFlight']">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="downloadTempleate" v-hasPermi="['base:flightImport:exportExcel']"
>下载模板</el-button
>
<el-button type="primary" @click="downloadTempleate" v-hasPermi="['base:flightImport:exportExcel']">下载模板
</el-button>
</el-form-item>
</el-form>
<div style="font-size: 12px; font-weight: 700">
提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span>
</div>
<el-table
ref="filterTable"
:data="tableData"
style="width: 100%; margin-top: 20px"
size="small"
border
>
<el-table ref="filterTable" :data="tableData" style="margin-top: 20px" size="small" border>
<el-table-column label="行号" prop="line" fixed width="50" align="center">
</el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed width="200">
...
...
@@ -54,14 +34,8 @@
</template>
</el-table-column>
<el-table-column v-if="tableData.length == 0"></el-table-column>
<el-table-column
v-for="(value, key) in this.tableData[0]"
:key="key"
v-if="key != 'errorMessage' && key != 'line'"
:label="key"
:prop="key"
width="120"
></el-table-column>
<el-table-column v-for="(value, key) in this.tableData[0]" :key="key"
v-if="key != 'errorMessage' && key != 'line'" :label="key" :prop="key"></el-table-column>
</el-table>
</div>
</template>
...
...
@@ -172,11 +146,11 @@ export default {
},
};
</script>
<style rel="stylesheet/scss" lang="scss">
.upload-demo {
float: right;
}
.el-upload-list {
display: inline-block;
margin-left: 10px;
...
...
src/views/basicInformation/flightInformationMaintenance/index.vue
View file @
a6879f5
<template>
<div>
<el-form
class="form-header"
:model="queryParams"
ref="queryForm"
label-position="right"
label-width="auto"
size="medium"
>
<el-form class="form-header" :model="queryParams" ref="queryForm" label-position="right" label-width="auto"
size="medium">
<el-row>
<el-col :span="6">
<el-form-item label="航班日期从" prop="fltDateStart">
<el-date-picker
class="formItem"
value-format="yyyy-MM-dd"
v-model="queryParams.fltDateStart"
type="date"
placeholder="选择日期"
>
<el-date-picker class="formItem" value-format="yyyy-MM-dd" v-model="queryParams.fltDateStart" type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到" prop="fltDateEnd">
<el-date-picker
class="formItem"
value-format="yyyy-MM-dd"
v-model="queryParams.fltDateEnd"
type="date"
placeholder="选择日期"
>
<el-date-picker class="formItem" value-format="yyyy-MM-dd" v-model="queryParams.fltDateEnd" type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班号" prop="fltNo">
<el-input
class="formItem"
v-model="queryParams.fltNo"
placeholder="请输入航班号"
clearable
/>
<el-input class="formItem" v-model="queryParams.fltNo" placeholder="请输入航班号" clearable />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班类型" prop="typeId">
<el-select
class="formItem"
v-model="queryParams.typeId"
placeholder="请选择航班类型"
clearable
>
<el-option
v-for="dict in selectOption.flightTypelist"
:key="dict.id"
:label="dict.chineseName"
:value="dict.id"
/>
<el-select class="formItem" v-model="queryParams.typeId" placeholder="请选择航班类型" clearable>
<el-option v-for="dict in selectOption.flightTypelist" :key="dict.id" :label="dict.chineseName"
:value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班状态" prop="statusId">
<el-select
class="formItem"
v-model="queryParams.statusId"
placeholder="请选择航班状态"
clearable
>
<el-option
v-for="dict in selectOption.flightStatuslist"
:key="dict.id"
:label="dict.chineseName"
:value="dict.id"
/>
<el-select class="formItem" v-model="queryParams.statusId" placeholder="请选择航班状态" clearable>
<el-option v-for="dict in selectOption.flightStatuslist" :key="dict.id" :label="dict.chineseName"
:value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班种类" prop="flightKindId">
<el-select
class="formItem"
v-model="queryParams.flightKindId"
placeholder="请选择航班种类"
clearable
>
<el-option
v-for="dict in selectOption.flightKindlist"
:key="dict.id"
:label="dict.chineseName"
:value="dict.id"
/>
<el-select class="formItem" v-model="queryParams.flightKindId" placeholder="请选择航班种类" clearable>
<el-option v-for="dict in selectOption.flightKindlist" :key="dict.id" :label="dict.chineseName"
:value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['base:flightInfo:add']"
>新增</el-button
>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:flightInfo:delete']"
>删除
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:flightInfo:add']">
新增</el-button>
<el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="ids.length == 0"
@click="handleFlightStatus('flightStatus10')" v-hasPermi="['base:flightInfo:open']">自动配舱开启</el-button>
<el-button type="primary" icon="el-icon-circle-close" size="mini" :disabled="ids.length == 0"
@click="handleFlightStatus('flightStatus80')" v-hasPermi="['base:flightInfo:close']">自动配舱关闭</el-button>
<el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="ids.length == 0"
@click="autoPushBatch('open')" v-hasPermi="['base:flightInfo:autoPushOpen']">自动推送开启</el-button>
<el-button type="primary" icon="el-icon-circle-close" size="mini" :disabled="ids.length == 0"
@click="autoPushBatch('close')" v-hasPermi="['base:flightInfo:autoPushClose']">自动推送关闭</el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="ids.length == 0" @click="handleDelete"
v-hasPermi="['base:flightInfo:delete']">删除
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
size="mini"
:disabled="multiple"
@click="handleFlightStatus('flightStatus10')"
v-hasPermi="['base:flightInfo:open']"
>自动配舱开启</el-button
>
<el-button
type="primary"
icon="el-icon-circle-close"
size="mini"
:disabled="multiple"
@click="handleFlightStatus('flightStatus80')"
v-hasPermi="['base:flightInfo:close']"
>自动配舱关闭</el-button
>
</el-form>
<Tables
ref="flightInfoTable"
:data="findAllFltDatList"
:headerData="tableHeader"
:infoData="tableHeader"
:totalCount="total"
:loading="loading"
:limitSize="queryParams.limitSize"
:page="queryParams.pageNum"
:shiftKey="shiftKey"
:infoShow="false"
:height="tableHeight"
@tableSelect="tableSelect"
@tableSelectAll="tableSelectAll"
@currentChange="currentChange"
@sortChange="sortChange"
@sizeChange="sizeChange"
>
<template>
<el-table-column
v-if="findAllFltDatList.length > 0"
label="操作"
align="center"
class-name="small-padding fixed-width"
fixed="right"
>
<Tables ref="flightInfoTable" ductName="FlightInformation" :data="findAllFltDatList" :headerData="tableHeader"
:infoData="tableHeader" :order="true" :selection="true" :totalCount="total" :loading="loading"
:limitSize="queryParams.limitSize" :page="queryParams.pageNum" :shiftKey="shiftKey" :height="tableHeight"
:pageSizes="[20, 30, 40, 50, 100]" @tableSelect="tableSelect" @tableSelectAll="tableSelectAll"
@currentChange="currentChange" @sortChange="sortChange" @sizeChange="sizeChange">
<template slot="optionColumn">
<el-table-column v-if="findAllFltDatList.length > 0" label="操作" align="center"
class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['base:flightInfo:update']"
>修改</el-button
>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['base:flightInfo:update']">修改</el-button>
</template>
</el-table-column>
</template>
</Tables>
<!-- 添加或修改对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="60%"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-position="right"
label-width="auto"
>
<el-dialog :title="title" :visible.sync="open" width="60%" :close-on-click-modal="false" :append-to-body="true">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="auto">
<el-row>
<el-col :span="12">
<el-form-item label="航班号" prop="fltNo">
<el-input
@blur="blurfltNo"
:disabled="formdisabled.fltNo"
style="width: 93%"
v-model="form.fltNo"
placeholder="请输入航班号"
maxlength="10"
/>
<el-input class="wid80" @blur="blurfltNo" :disabled="formdisabled.fltNo" v-model="form.fltNo"
placeholder="请输入航班号" maxlength="10" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班日期" prop="fltDate">
<el-date-picker
:disabled="formdisabled.fltDate"
clearable
size="small"
v-model="form.fltDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择航班日期"
>
<el-date-picker class="wid80" :disabled="formdisabled.fltDate" clearable size="small"
v-model="form.fltDate" type="date" value-format="yyyy-MM-dd" placeholder="选择航班日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="CutOff时间" prop="cutOffTime">
<el-select class="wid80" v-model="form.cutOffTime" clearable placeholder="选择时间(hh:mm:ss)" type="string"
filterable allow-create default-first-option>
<el-option v-for="item in selectOption.cutOffTime" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班路线" prop="route">
<el-input
style="width: 93%"
v-model="form.route"
placeholder="请输入航班路线"
/>
<el-input class="wid80" v-model="form.route" placeholder="请输入航班路线" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="航班种类" prop="kindId">
<el-select v-model="form.kindId" placeholder="请选择航班种类">
<el-option
v-for="item in selectOption.flightKindlist"
:key="item.id"
:label="item.chineseName"
:value="item.id"
>
<el-select class="wid80" v-model="form.kindId" placeholder="请选择航班种类">
<el-option v-for="item in selectOption.flightKindlist" :key="item.id" :label="item.chineseName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班类型" prop="typeId">
<el-select v-model="form.typeId" placeholder="请选择航班类型">
<el-option
v-for="item in selectOption.flightTypelist"
:key="item.id"
:label="item.chineseName"
:value="item.id"
>
<el-select class="wid80" v-model="form.typeId" placeholder="请选择航班类型">
<el-option v-for="item in selectOption.flightTypelist" :key="item.id" :label="item.chineseName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="航班状态" prop="statusId">
<el-select
:disabled="true"
v-model="form.statusId"
placeholder="请选择航班状态"
>
<el-option
v-for="item in selectOption.flightStatuslist"
:key="item.id"
:label="item.chineseName"
:value="item.id"
>
<el-select class="wid80" :disabled="true" v-model="form.statusId" placeholder="请选择航班状态">
<el-option v-for="item in selectOption.flightStatuslist" :key="item.id" :label="item.chineseName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原始重量(KG)" prop="originalWeight">
<el-input-number
@change="LowHighAvailable"
placeholder="请输入原始重量(KG)"
style="width: 93%"
v-model="form.originalWeight"
></el-input-number>
<el-input-number class="wid80" @change="LowHighAvailable" :precision="0" placeholder="请输入原始重量(KG)"
v-model="form.originalWeight"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="额外增重百分比" prop="extraWeightPercent">
<el-input-number
@change="LowHighAvailable"
placeholder="请输入额外增重百分比"
style="width: 93%"
v-model="form.extraWeightPercent"
></el-input-number>
<el-input-number class="wid80" @change="LowHighAvailable" :precision="0" placeholder="请输入额外增重百分比"
v-model="form.extraWeightPercent"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启高低价" prop="highLowPriceFlg">
<el-switch
@change="LowHighAvailable"
v-model="form.highLowPriceFlg"
:active-value="1"
:inactive-value="0"
active-color="#13ce66"
>
<el-switch class="wid80" @change="LowHighAvailable" v-model="form.highLowPriceFlg" :active-value="1"
:inactive-value="0" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否预审" prop="isNeedRequired">
<el-switch
:disabled="true"
v-model="form.isNeedRequired"
:active-value="1"
:inactive-value="0"
active-color="#13ce66"
>
<el-switch class="wid80" :disabled="true" v-model="form.isNeedRequired" :active-value="1"
:inactive-value="0" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="高价百分比" prop="highPriceWeightPercent">
<el-input-number
:disabled="ishighPriceWeightPercent"
@change="LowHighAvailable"
placeholder="请输入高价百分比"
style="width: 93%"
v-model="form.highPriceWeightPercent"
></el-input-number>
<el-input-number class="wid80" :disabled="ishighPriceWeightPercent" @change="LowHighAvailable"
placeholder="请输入高价百分比" v-model="form.highPriceWeightPercent"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="低价百分比" prop="lowPriceWeightPercent">
<el-input-number
:disabled="true"
placeholder="请输入低价百分比"
style="width: 93%"
v-model="form.lowPriceWeightPercent"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入低价百分比"
v-model="form.lowPriceWeightPercent"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="高价可配重量" prop="highAvailableWeight">
<el-input-number
:disabled="true"
placeholder="请输入高价可配重量"
style="width: 93%"
v-model="form.highAvailableWeight"
:precision="2"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入高价可配重量" v-model="form.highAvailableWeight"
:precision="2"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="低价可配重量" prop="lowAvailableWeight">
<el-input-number
:disabled="true"
placeholder="请输入低价可配重量"
style="width: 93%"
v-model="form.lowAvailableWeight"
:precision="2"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入低价可配重量" v-model="form.lowAvailableWeight"
:precision="2"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="高价已配重量" prop="highAllocatedWeight">
<el-input-number
:disabled="true"
placeholder="请输入高价已配重量"
style="width: 93%"
v-model="form.highAllocatedWeight"
:precision="2"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入高价已配重量" v-model="form.highAllocatedWeight"
:precision="2"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="低价已配重量" prop="lowAllocatedWeight">
<el-input-number
:disabled="true"
placeholder="请输入低价已配重量"
style="width: 93%"
v-model="form.lowAllocatedWeight"
:precision="2"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入低价已配重量" v-model="form.lowAllocatedWeight"
:precision="2"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已配总重量" prop="alloctedWeight">
<el-input-number
:disabled="true"
placeholder="请输入已配总重量"
style="width: 93%"
v-model="form.alloctedWeight"
:precision="2"
></el-input-number>
<el-input-number class="wid80" :disabled="true" placeholder="请输入已配总重量" v-model="form.alloctedWeight"
:precision="2"></el-input-number>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -401,21 +227,12 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog
title="未删除成功航班"
width="40%"
center
:visible.sync="dialogTableVisible"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="未删除成功航班" width="40%" center :visible.sync="dialogTableVisible" :close-on-click-modal="false"
:append-to-body="true">
<el-table :data="gridData">
<el-table-column property="fltNo" label="航班号"></el-table-column>
<el-table-column property="fltDate" label="航班日期"></el-table-column>
<el-table-column
property="alloctedWeight"
label="已配重量"
></el-table-column>
<el-table-column property="alloctedWeight" label="已配重量"></el-table-column>
</el-table>
</el-dialog>
</div>
...
...
@@ -430,6 +247,7 @@ import {
saveOrUpdate,
findFltCommonConf,
updateStatusBatch,
updateAutoPushBatch,
} from "@/api/findAllFltData";
export default {
name: "FlightInformationMaintenance",
...
...
@@ -485,27 +303,6 @@ export default {
//表头
tableHeader: [
{
type: "selection",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: true,
disabled: true,
},
{
type: "index",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "航班日期",
value: "fltDate",
width: "100",
...
...
@@ -515,7 +312,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班起飞时间",
value: "takeOffTime",
width: "120",
...
...
@@ -525,7 +321,15 @@ export default {
disabled: true,
},
{
type: "",
name: "CutOff时间",
value: "cutOffTime",
width: "110",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
name: "航班号",
value: "fltNo",
width: "100",
...
...
@@ -535,7 +339,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班路线",
value: "route",
width: "140",
...
...
@@ -545,7 +348,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班类型",
value: "typeName",
width: "100",
...
...
@@ -555,7 +357,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班种类",
value: "flightKindName",
width: "100",
...
...
@@ -565,7 +366,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班状态",
value: "statusName",
width: "100",
...
...
@@ -575,7 +375,15 @@ export default {
disabled: true,
},
{
type: "",
name: "是否自动推送",
value: "pushDateSwitch",
width: "120",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
name: "总重量",
value: "totalWeight",
width: "90",
...
...
@@ -585,7 +393,6 @@ export default {
disabled: true,
},
{
type: "",
name: "原始重量(KG)",
value: "originalWeight",
width: "120",
...
...
@@ -595,39 +402,35 @@ export default {
disabled: true,
},
{
type: "",
name: "总体积(cm³)",
value: "totalVolume",
width: "100",
name: "已配重量",
value: "alloctedWeight",
width: "90",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否限制一票一件",
value: "ticketToPiece",
width: "140",
name: "是否需要预审",
value: "needRequired",
width: "130",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否需要预审",
value: "needRequired",
width: "130",
name: "是否开启高低价",
value: "highLowPriceFlg",
width: "140",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否开启高地价",
value: "highLowPriceFlg",
name: "是否限制一票一件",
value: "ticketToPiece",
width: "140",
align: "center",
sorTable: false,
...
...
@@ -635,7 +438,6 @@ export default {
disabled: true,
},
{
type: "",
name: "额外增重百分比",
value: "extraWeightPercent",
width: "140",
...
...
@@ -645,7 +447,6 @@ export default {
disabled: true,
},
{
type: "",
name: "高价百分比",
value: "highPriceWeightPercent",
width: "120",
...
...
@@ -655,7 +456,6 @@ export default {
disabled: true,
},
{
type: "",
name: "低价百分比",
value: "lowPriceWeightPercent",
width: "120",
...
...
@@ -665,17 +465,15 @@ export default {
disabled: true,
},
{
type: "",
name: "已配重量",
value: "alloctedWeight",
width: "90",
name: "总体积(cm³)",
value: "totalVolume",
width: "100",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "已配体积(cm³)",
value: "alloctedVolume",
width: "120",
...
...
@@ -685,7 +483,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班优先级",
value: "priorityName",
width: "100",
...
...
@@ -695,7 +492,6 @@ export default {
disabled: true,
},
{
type: "",
name: "配舱优先级",
value: "priorityRuleName",
width: "100",
...
...
@@ -705,7 +501,6 @@ export default {
disabled: true,
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "90",
...
...
@@ -715,7 +510,6 @@ export default {
disabled: true,
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "100",
...
...
@@ -725,7 +519,6 @@ export default {
disabled: true,
},
{
type: "",
name: "最后修改人",
value: "lastModifyUserName",
width: "120",
...
...
@@ -735,7 +528,6 @@ export default {
disabled: true,
},
{
type: "",
name: "最后修改时间",
value: "lastModifyTime",
width: "120",
...
...
@@ -804,10 +596,6 @@ export default {
sourceFlightAndFlightDate: [],
//高价百分比是否打开
ishighPriceWeightPercent: true,
//非单个禁用
//single: true,
//非多个禁用
multiple: true,
//遮罩层
loading: false,
//遮罩层
...
...
@@ -830,6 +618,8 @@ export default {
},
created() {
//查询条件数据源
let date = new Date()
this.queryParams.fltDateStart = `${date.getFullYear()}-${(date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)}-${(date.getDate()) > 9 ? date.getDate() : '0' + (date.getDate())}`
this.findFltConditionData();
if (this.$store.state.tagsView.cachedViews.length == 0) {
this.findAllFltData();
...
...
@@ -838,8 +628,8 @@ export default {
activated() {
this.findAllFltData();
},
deactivated(){
this.findAllFltDatList = []
deactivated()
{
this.findAllFltDatList = []
;
},
mounted() {
window.addEventListener("keydown", (code) => {
...
...
@@ -853,7 +643,7 @@ export default {
}
});
this.tableHeight =
window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 1
5
0;
window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 1
2
0;
},
methods: {
//输入航班号后
...
...
@@ -949,7 +739,6 @@ export default {
/** 航班信息维护查询*/
findAllFltData() {
this.ids = [];
this.multiple = true;
this.loading = true;
if (this.queryParams.pageNum > 1) {
this.queryParams.limitStart =
...
...
@@ -997,9 +786,9 @@ export default {
//原始重量
this.formdisabled.originalWeight = false;
},
//计算高
地
价可配
//计算高
低
价可配
LowHighAvailable() {
//判断是否开启高
地
价
//判断是否开启高
低
价
if (this.form.highLowPriceFlg) {
this.ishighPriceWeightPercent = false;
let Weight = 0;
...
...
@@ -1014,15 +803,15 @@ export default {
if (this.form.highPriceWeightPercent >= 0) {
this.$set(
this.form,
"lowPriceWeightPercent",
100 - this.form.highPriceWeightPercent
);
this.$set(
this.form,
"highAvailableWeight",
(Weight - this.form.alloctedWeight) *
(this.form.highPriceWeightPercent / 100)
);
this.$set(
this.form,
"lowPriceWeightPercent",
100 - this.form.highPriceWeightPercent
);
// this.form.HighAvailableWeight = Weightall * (this.form.highPriceWeightPercent / 100)
} else if (
this.title == "修改航班信息" &&
...
...
@@ -1083,9 +872,7 @@ export default {
Weightall() {
let Weight = 0;
if (this.form.extraWeightPercent > 0) {
Weight =
this.form.originalWeight +
this.form.originalWeight * (this.form.extraWeightPercent / 100);
Weight = this.form.originalWeight * (this.form.extraWeightPercent / 100) + this.form.originalWeight;
} else {
Weight = this.form.originalWeight;
}
...
...
@@ -1104,12 +891,12 @@ export default {
findFltById(row).then((response) => {
if (response.code == 200) {
this.form = response.data;
//是否开启高
地
价
//是否开启高
低
价
// this.form.highLowPriceFlg = this.form.highLowPriceFlg === 1 ? true : false;
//是否预审
// this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false;
// 计算高
地
价可配
this.LowHighAvailable();
// 计算高
低
价可配
//
this.LowHighAvailable();
} else {
this.msgError(response.msg);
}
...
...
@@ -1117,7 +904,11 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const fIds = this.ids;
let fIds = [];
this.ids.forEach(item => {
fIds.push(item.id)
})
console.log(fIds)
this.$confirm("是否确认删除所选数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
...
...
@@ -1139,12 +930,12 @@ export default {
.then(() => {
this.dialogTableVisible = true;
})
.catch(() => {});
.catch(() => {
});
} else {
this.msgSuccess(response.msg);
}
})
.catch(() => {});
.catch(() => {
});
},
/** 提交按钮 */
submitForm: function () {
...
...
@@ -1174,10 +965,12 @@ export default {
this.$message.warning("已删除的航班无法修改");
return;
}
//是否开启高
地
价
//是否开启高
低
价
// formdata.highLowPriceFlg = formdata.highLowPriceFlg ? 1 : 0;
//是否预审
// formdata.isNeedRequired = formdata.isNeedRequired ? 1 : 0;
//总重量更新
// formdata.totalWeight = this.Weightall()
//处理数据
saveOrUpdate(formdata).then((response) => {
if (response.code === 200) {
...
...
@@ -1216,14 +1009,22 @@ export default {
//批量开启/关闭航班
handleFlightStatus(status) {
let handle = status == "flightStatus80" ? "关闭" : "开启";
if (this.ids.length == 0) {
this.msgError("请选择批量" + handle + "的航班");
return;
}
let data = {};
let data = {
updateIds: [],
};
this.ids.map(item => {
data.status = status;
data.updateIds = this.ids;
if (status === 'flightStatus80') {
if (item.statusName === '已开启') {
data.updateIds.push(item.id)
}
} else {
if (item.statusName === '已关闭') {
data.updateIds.push(item.id)
}
}
})
if (data.updateIds.length > 0) {
updateStatusBatch(data).then((response) => {
if (response.code === 200) {
this.msgSuccess(handle + "成功");
...
...
@@ -1232,16 +1033,52 @@ export default {
this.msgError(response.msg);
}
});
}
},
//自动推送开关
autoPushBatch(status) {
let msg = status == "open" ? "开启" : "关闭";
let data = {
updateIds: [],
};
this.ids.map((item) => {
if (status === "open") {
data.status = "1";
if (item.pushDateSwitch != "1") {
data.updateIds.push(item.id);
}
} else if (status === "close") {
data.status = "2";
if (item.pushDateSwitch != "2") {
data.updateIds.push(item.id);
}
}
});
if (data.updateIds.length > 0) {
updateAutoPushBatch(data)
.then((res) => {
if (res.code === 200) {
this.msgSuccess(`自动推送${msg}成功`);
this.findAllFltData();
} else {
this.msgError(res.msg);
}
})
.catch(err => {
this.msgError(err);
});
} else {
this.msgSuccess(`自动推送${msg}成功`);
this.findAllFltData();
}
},
//多选框选中数据
tableSelect(val) {
this.ids = val.selection.map((item) => item.id);
this.multiple = !val.selection.length;
this.ids = val.selection;
},
//全选
tableSelectAll(val) {
this.ids = val.selection.map((item) => item.id);
this.multiple = !val.selection.length;
this.ids = val;
},
//分页
currentChange(val) {
...
...
@@ -1263,12 +1100,12 @@ export default {
<style>
.el-table--striped .el-table__body tr.el-table__row--striped.current-row td,
.el-table__body tr.current-row
>
td {
.el-table__body tr.current-row
>
td {
background-color: #a0cfff;
}
.el-table--striped .el-table__body tr.hover-row.el-table__row--striped
>
td,
.el-table__body tr.hover-row
>
td {
.el-table--striped .el-table__body tr.hover-row.el-table__row--striped
>
td,
.el-table__body tr.hover-row
>
td {
background-color: #d9ecff !important;
}
</style>
...
...
src/views/basicInformation/queryCargo/index.vue
View file @
a6879f5
<template>
<div class="cargoPage">
<el-form
ref="cargoForm"
class="form-header"
label-position="right"
label-width="auto"
size="small"
:model="formData"
>
<el-row type="flex" style="flexWrap: wrap!important">
<el-form ref="cargoForm" class="form-header" label-position="right" label-width="auto" size="medium"
:model="formData">
<el-row type="flex" style="flexWrap: wrap !important">
<el-col :span="6">
<el-form-item label="配舱航班日期">
<el-date-picker
class="formItem"
v-model="cargoPlaneTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:value-format="valueFormat"
>
<el-date-picker class="formItem" v-model="cargoPlaneTime" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" :value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="配载航班号">
<el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :autosize="true"></el-input>
<el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :rows="1"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="海关回执状态">
<el-select
placeholder="不限"
v-model="formData.customsReceiptStatusId"
class="formItem"
multiple
clearable
>
<el-option
v-for="item in findConditionData.cargoCustomsReturnStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.customsReceiptStatusId" class="formItem" multiple clearable>
<el-option v-for="item in findConditionData.cargoCustomsReturnStatus" :label="item.chineseName"
:value="item.id" :key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单号">
<el-input
type="textarea"
v-model="formData.waybillNo"
class="formItem"
placeholder="请输入运单号(回车间隔)"
:autosize="true"
></el-input>
<el-input ref='userInfo' type="textarea" v-model="formData.waybillNo" class="formItem"
placeholder="请输入运单号(回车间隔)" :rows="1" :maxlength="12000" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="申报类别">
<el-select
placeholder="不限"
v-model="formData.typeId"
class="formItem"
clearable
>
<el-option
v-for="item in findConditionData.cargoType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable>
<el-option v-for="item in findConditionData.cargoType" :label="item.chineseName" :value="item.id"
:key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="服务类型">
<el-select
placeholder="不限"
v-model="formData.serviceTypeId"
class="formItem"
filterable
clearable
>
<el-option
v-for="item in findConditionData.cargoServiceType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" filterable clearable>
<el-option v-for="item in findConditionData.cargoServiceType" :label="item.chineseName" :value="item.id"
:key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="URSA">
<el-input
type="textarea"
v-model="ursa"
class="formItem"
placeholder="S_;P_;E2"
:autosize="true"
></el-input>
<el-input type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="站点">
<el-input
type="textarea"
v-model="siteName"
class="formItem"
placeholder="PVG;PEK"
:autosize="true"
></el-input>
<el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" :rows="1" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col
:span="24"
v-show="formShow">
<el-row type="flex" style="flexWrap: wrap!important">
<el-col v-show="formShow">
<el-row type="flex" style="flexWrap: wrap
!important">
<el-col :span="6">
<el-form-item label="ACCS原航班日期">
<el-date-picker
class="formItem"
v-model="flightTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:value-format="valueFormat"
>
<el-date-picker class="formItem" v-model="flightTime" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" :value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ACCS原航班号">
<el-input type="text" v-model="fltNo" class="formItem" placeholder="请输入ACCS航班号"></el-input>
<el-input type="text" v-model="fltNo" class="formItem" placeholder="请输入ACCS航班号"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="取件日期">
<el-date-picker
v-model="formData.pickUpDate"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
>
<el-date-picker class="formItem" v-model="formData.pickUpDate" type="date" placeholder="选择日期"
:value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="创建日期">
<el-date-picker
class="formItem"
v-model="createDate"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:value-format="valueFormat"
>
<el-date-picker class="formItem" v-model="createDate" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" :value-format="valueFormat" clearable>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ACCSpool">
<el-select placeholder="不限" v-model="formData.accsPool" class="formItem" clearable>
<el-option value="Pre-MDE" key="Pre-MDE">
</el-option>
<el-option value="OSPR" key="OSPR">
</el-option>
<el-option value="Manifest" key="Manifest">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="货物状态">
<el-select
placeholder="不限"
v-model="formData.statusId"
class="formItem"
filterable
clearable
>
<el-option
v-for="item in findConditionData.cargoStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
<el-select placeholder="不限" v-model="formData.statusId" class="formItem" filterable clearable>
<el-option v-for="item in findConditionData.cargoStatus" :label="item.chineseName" :value="item.id"
:key="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否自动">
<el-select
placeholder="不限"
v-model="formData.allocationTypeId"
class="formItem"
clearable
>
<el-option
label="手动"
value="1"
>
</el-option>
<el-option
label="自动"
value="2"
>
</el-option>
<el-select placeholder="不限" v-model="formData.allocationTypeId" class="formItem" clearable>
<el-option label="手动" value="1"> </el-option>
<el-option label="自动" value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="配舱状态">
<el-select placeholder="不限" v-model="formData.hasFlight" class="formItem" clearable>
<el-option label="已配" value="1"> </el-option>
<el-option label="未配" value="0"> </el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<div style="paddingLeft: 10px;marginTop:20px">
<el-button
type="primary"
icon="el-icon-search"
size="small"
:loading="tableLoading"
@click="select(0)"
>查询</el-button
>
<el-button :type="downLoadingTip.downloading?'warning':'primary'" size="small" @click="xlse(0)" :disabled="tableData.length==0" :loading="downLoadingTip.downloading" v-hasPermi="['base:cargo:export']"
>{{downLoadingTip.downloading?downLoadingTip.tip:"导出本页查询结果"}}</el-button
>
<el-button :type="downLoadingTip.downloading?'warning':'primary'" size="small" @click="xlse(1)" :disabled="tableData.length==0" :loading="downLoadingTip.downloading" v-hasPermi="['base:cargo:export']"
>{{downLoadingTip.downloading?downLoadingTip.tip:"导出全部查询结果"}}</el-button
>
<span style="marginLeft:20px;color:#ffba00">全部导出上限80000条数据</span>
<el-progress v-if="progress!=0" class="progress" :stroke-width="12" :show-text="true" :percentage="progress" :status="progress == 100?'success':'warning'"></el-progress>
<div style="paddingLeft: 10px; marginTop: 20px">
<el-button type="primary" icon="el-icon-search" size="small" :loading="tableLoading" @click="select(0)">查询
</el-button>
<el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'"
size="small" @click="xlse(0)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{
downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果"
}}</el-button>
<el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'"
size="small" @click="xlse(1)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{
downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果"
}}</el-button>
<el-button type="primary" size="small" :disabled="selectTable.length == 0" v-hasPermi="['base:cargo:release']"
@click="release">释放舱位</el-button>
<span style="marginLeft: 20px; color: #ffba00">全部导出上限80000条数据</span>
<el-progress v-if="progress != 0" class="progress" :stroke-width="12" :show-text="true" :percentage="progress"
:status="progress == 100 ? 'success' : 'warning'"></el-progress>
<div class="tips">
<span style="paddingRight: 50px">总重量:{{ allWeight }}</span>
<span>总件数:{{ allQty }}</span>
</div>
<div class="formShow" @click="formShow = !formShow"><i class="el-icon-s-tools"></i>{{formShow?'收起条件':'更多条件'}}</div>
<div class="formShow" @click="formShow = !formShow">
<i class="el-icon-s-tools"></i>{{ formShow ? "收起条件" : "更多条件" }}
</div>
</div>
</el-form>
<Tables
ref="newTables"
:data="tableData"
:headerData="tableHeader"
:totalCount="totalCount"
:loading="tableLoading"
:limitSize="limitSize"
:limitStart="limitStart"
:page="page"
:shiftKey="shiftKey"
:height="tableHeight"
@tableSelect="tableSelect"
@tableSelectAll="tableSelectAll"
@currentChange="currentChange"
@sortChange="sortChange"
></Tables>
<Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :infoData="tableHeader"
:selection="true" :order="true" :totalCount="totalCount" :loading="tableLoading" :limitSize="limitSize"
:limitStart="limitStart" :page="page" :shiftKey="shiftKey" :pageSizes="[100]" :height="tableHeight"
@sizeChange="sizeChange" @tableSelect="tableSelect" @tableSelectAll="tableSelectAll"
@currentChange="currentChange" @sortChange="sortChange"></Tables>
<el-dialog title="舱位释放结果" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false"
:show-close="false" :append-to-body="true">
<el-table :data="selectTable" size="mini" border stripe highlight-current-row style="width: 100%">
<el-table-column type="index" label="序号" align="center">
</el-table-column>
<el-table-column v-for="(item, index) in releaseHeader" header-align="center" :align="item.align"
:prop="item.value" :label="item.name" :width="item.width" :key="index" :show-overflow-tooltip="true">
</el-table-column>
</el-table>
<div slot="footer">
<el-button type="primary" @click="close">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { findConditionData, findCargoData } from "@/api/cargoSelect";
import { findConditionData, findCargoData
, releaseCargo
} from "@/api/cargoSelect";
import { downLoadXlsx } from "@/utils/zipdownload";
import { upCase } from "@/utils/FedEx"
import { upCase } from "@/utils/FedEx"
;
export default {
name:"QueryCargo",
name:
"QueryCargo",
data() {
return {
formData: {
...
...
@@ -266,6 +192,7 @@ export default {
createTimeStart: null,
createTimeEnd: null,
pickUpDate: null,
hasFlight: null,
waybillNo: "",
siteName: "",
fltNo: "",
...
...
@@ -280,454 +207,478 @@ export default {
dataSources: "",
customsReceiptStatusId: null,
big: null,
cargoPlaneNo:null,
cargoPlaneStart:null,
cargoPlaneEnd:null,
cargoPlaneNo:
null,
cargoPlaneStart:
null,
cargoPlaneEnd:
null,
limitStart: 1,
limitSize:100,
limitSize:
100,
}, //表单数据
tableHeader: [
{
type: "selection",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: true,
disabled:true
},
{
type: "index",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: false,
disabled:true
},
{
type: "",
name: "口岸代码",
value: "portName",
width: "1
2
0",
width: "1
0
0",
align: "center",
sorTable: true,
fixed: false,
disabled:
true
disabled:
true,
},
{
type: "",
name: "取件日期",
value: "pickUpDate",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "取件扫描号",
value: "pickUpScanNo",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "站点",
value: "siteName",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "运单号",
value: "waybillNo",
width: "1
5
0",
width: "1
2
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "总单号",
value: "totalWaybillNo",
width: "1
5
0",
width: "1
2
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "服务类型",
value: "serviceTypeName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "服务代码",
value: "serviceCode",
width: "
9
0",
width: "
10
0",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "URSA",
value: "ursa",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled: true
},
{
name: "推送状态",
value: "cargoAllocationDataStatus",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled: true
},
{
name: "配舱状态",
value: "flightIdImac",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled: true
},
{
name: "释放状态",
value: "releasing",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled: true
},
{
type: "",
name: "申报类型",
value: "typeName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled: true
},
{
name: "ACCSpool",
value: "accsPool",
width: "120",
align: "center",
sorTable: true,
fixed: false,
disabled: true
},
{
type: "",
name: "HandlingCode",
value: "handingCode",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "subcategory",
value: "subCategory",
width: "1
5
0",
width: "1
4
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "件数",
value: "qty",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "实际重量",
value: "actualWeight",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "收件人国家代码",
value: "consigneeCountry",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "品名描述",
value: "nameDescription",
width: "100",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "海关回执状态",
value: "customsReceiptStatusName",
width: "140",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预审状态",
value: "preQualificationStatus",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "航班预审意见",
value: "caPretrialOpinion",
width: "1
4
0",
width: "1
2
0",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "货物状态",
value: "statusName",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "终配航班号",
value: "finalFlightNo",
width: "1
3
0",
width: "1
2
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "终配航班日期",
value: "finalFlightTime",
width: "1
5
0",
width: "1
4
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "二配航班号",
value: "twoMatchFlightNo",
width: "1
3
0",
width: "1
2
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "二配航班日期",
value: "twoMatchFlightTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预配航班号",
value: "preplanFlightNo",
width: "1
3
0",
width: "1
2
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "预配航班日期",
value: "preplanFlightTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航班号",
value: "fltNoAccs",
width: "1
4
0",
width: "1
5
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航班日期",
value: "fltDateAccs",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "ACCS原航线",
value: "accsFlightRoute",
width: "1
5
0",
width: "1
4
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "是否RDE手工录入",
value: "manualRde",
width: "170",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "是否自动",
value: "cargoRulesStatus",
width: "100",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "发件人账号",
value: "shipperAccount",
width: "1
5
0",
width: "1
2
0",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "发件公司中文名称",
value: "shipperCompany",
width: "150",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "始发地城市名称",
value: "originCity",
width: "1
5
0",
width: "1
3
0",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "收件地",
value: "destinationSiteName",
width: "90",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "尺寸",
value: "sizeStr",
width: "80",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "大货预审意见(是否可以配置航班)",
value: "bigPretrialOpinion",
width: "250",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "大货预审时间",
value: "bigPretrialTime",
width: "1
5
0",
width: "1
2
0",
align: "center",
sorTable: false,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "海关回执时间",
value: "customsReceiptTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "航班预审时间",
value: "caPretrialTime",
width: "150",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "90",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "1
2
0",
width: "1
0
0",
align: "center",
sorTable: true,
fixed: false,
disabled:true
disabled:
true
},
], //表头数据
releaseHeader: [
{
name: "提示信息",
value: "msg",
width: "550",
align: "center",
},
{
name: "口岸代码",
value: "portName",
width: "",
align: "center",
},
{
name: "运单号",
value: "waybillNo",
width: "",
align: "center",
},
{
name: "释放状态",
value: "releasing",
width: "",
align: "center",
},
{
name: "ACCSpool",
value: "accsPool",
width: "",
align: "center",
},
{
name: "货物状态",
value: "statusName",
width: "",
align: "center",
},
{
name: "ACCS原航班号",
value: "fltNoAccs",
width: "",
align: "center",
},
{
name: "ACCS原航班日期",
value: "fltDateAccs",
width: "",
align: "center",
},
],
findConditionData: {}, //货物查询条件
tableData: [], //表格数据
allWeight: 0,
...
...
@@ -735,22 +686,23 @@ export default {
shiftKey: false,
valueFormat: "yyyy-MM-dd",
tableLoading: false,
downLoadingTip:{
tip:"",
downloading:false,
},
downLoadingTip:
{
tip:
"",
downloading:
false,
},
//导出状态
totalCount: 0,
selectTable: [],
flightTime: [],
prepalyFlightTime: [],
cargoPlaneTime:[],
cargoPlaneTime:
[],
createDate: [],
limitStart: 1,
limitSize: 100, //无限制-1
page:1,
progress:0,
tableHeight:null,
formShow:true,
page: 1,
progress: 0,
tableHeight: null,
dialogVisible: false,
formShow: true, //菜单隐藏
};
},
created() {
...
...
@@ -768,16 +720,16 @@ export default {
},
activated() {
if
(this.$store.state.tagsView.cachedViews.length > 0 )
{
this.$store.state.tagsView.cachedViews.forEach(item
=>
{
if
(item === 'QueryCargo')
{
this.totalCount
>0?this.select():
''
if
(this.$store.state.tagsView.cachedViews.length > 0)
{
this.$store.state.tagsView.cachedViews.forEach(item
=>
{
if
(item === 'QueryCargo')
{
this.totalCount
> 0 ? this.select() :
''
}
})
}
},
deactivated(){
deactivated()
{
this.tableData = []
},
...
...
@@ -792,9 +744,13 @@ export default {
this.shiftKey = false;
}
});
this.tableHeight = window.innerHeight - this.$refs.cargoForm.$el.offsetHeight-80
this.tableHeight = window.innerHeight - this.$refs.cargoForm.$el.offsetHeight - 50
},
watch: {
formShow(val, oldVal) {
this.tableHeight = window.innerHeight - this.$refs.cargoForm.$el.offsetHeight - 120
}
},
methods: {
clear() {
this.$refs.cargoForm.resetFields();
...
...
@@ -806,12 +762,13 @@ export default {
this.allQty = 0;
this.tableLoading = true;
this.dataInfo();
if
(val === 0)
{
if
(val === 0)
{
this.formData.limitStart = 1;
this.limitStart = 1;
this.page = 1;
}
findCargoData(this.formData).then((res) => {
findCargoData(this.formData)
.then((res) => {
if (res.code == 200) {
this.tableData = res.data.list;
this.totalCount = res.data.totalCount;
...
...
@@ -832,136 +789,200 @@ export default {
});
}
this.tableLoading = false;
}).catch(()=>{
})
.catch(() => {
this.tableLoading = false;
});
this.$refs.newTables.clearTable();
this.cargoTotal();
},
//释放仓位
release() {
let idList = []
this.selectTable.map(item => {
item.msg = ''
idList.push(item.id)
})
releaseCargo(idList).then(res => {
if (res.code === 200) {
this.$message({
message: res.msg,
type: "success",
});
} else if (res.code === 201) {
this.selectTable.map(item => {
res.data['success'].map(val => {
val === item.id ? item.msg = item.msg + '操作成功,正在释放中。' : ''
})
res.data['accsPoolFlase'].map(val => {
val === item.id ? item.msg = item.msg + 'Manifest状态不能释放。' : ''
})
res.data['existReleasing'].map(val => {
val === item.id ? item.msg = item.msg + '正在释放中,请勿重复释放。' : ''
})
res.data['noFlight'].map(val => {
val === item.id ? item.msg = item.msg + '已释放仓位。' : ''
})
res.data['pushFalse'].map(val => {
console.log(item)
val === item.id ? item.msg = item.msg + '该货物配舱结果已回推ACCS,不能释放。' : ''
})
})
this.dialogVisible = true
} else {
this.$message({
message: res.msg,
type: "warning",
});
}
}).catch(err => {
console.log(err)
})
},
//关闭弹窗
close() {
this.dialogVisible = false
this.selectTable = []
this.select()
},
//数据初始化
dataInfo(){
if(this.formData.customsReceiptStatusId != null && this.formData.customsReceiptStatusId.length < 1){
dataInfo() {
if (
this.formData.customsReceiptStatusId != null &&
this.formData.customsReceiptStatusId.length < 1
) {
this.formData.customsReceiptStatusId = null;
}
if (this.createDate != null && this.createDate.length > 0) {
this.formData.createTimeStart = this.createDate[0];
this.formData.createTimeEnd = this.createDate[1];
}
else
{
}
else
{
this.formData.createTimeStart = null;
this.formData.createTimeEnd = null;
}
if (this.prepalyFlightTime != null && this.prepalyFlightTime.length > 0) {
this.formData.prematchFltDateStart = this.prepalyFlightTime[0];
this.formData.prematchFltDateEnd = this.prepalyFlightTime[1];
}
else
{
this.formData.prematchFltDateStart ="";
}
else
{
this.formData.prematchFltDateStart =
"";
this.formData.prematchFltDateEnd = "";
}
if (this.flightTime != null && this.flightTime.length > 0) {
this.formData.fltDateStart = this.flightTime[0];
this.formData.fltDateEnd = this.flightTime[1];
}
else
{
}
else
{
this.formData.fltDateStart = "";
this.formData.fltDateEnd = "";
}
if
(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0)
{
if
(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0)
{
this.formData.cargoPlaneStart = this.cargoPlaneTime[0];
this.formData.cargoPlaneEnd = this.cargoPlaneTime[1];
}
else
{
}
else
{
this.formData.cargoPlaneStart = null;
this.formData.cargoPlaneEnd = null;
}
if
(this.formData.waybillNo)
{
if
(this.formData.waybillNo)
{
this.formData.waybillNo = this.formData.waybillNo.trim();
}
if (this.formData.hasFlight == "") {
this.formData.hasFlight = null
}
this.formData.limitStart = this.limitStart;
this.formData.limitSize = 100;
},
//总和
cargoTotal(){
cargoTotal()
{
this.allWeight = 0;
this.allQty = 0;
if
(this.selectTable.length > 0)
{
this.selectTable.forEach(item=>
{
if
(this.selectTable.length > 0)
{
this.selectTable.forEach((item) =>
{
this.allWeight = this.allWeight + item.actualWeight;
this.allQty = this.allQty + item.qty;
})
})
;
this.allWeight = this.allWeight.toFixed(2);
this.allQty = this.allQty.toFixed();
}
},
//表格多选
tableSelect(val){
tableSelect(val)
{
this.selectTable = val.selection;
this.cargoTotal();
},
//表格全选
tableSelectAll(val){
tableSelectAll(val)
{
this.selectTable = val;
this.cargoTotal();
},
//分页
currentChange(val){
currentChange(val)
{
this.formData.limitStart = val.start;
this.limitStart = val.start;
this.page = val.page;
this.select()
this.select()
;
},
//排序
sortChange(val){
let data = []
let nullData = []
this.tableData.forEach(
item=>
{
if(item[val.prop])
{
data.push(item)
}else
{
nullData.push(item)
sortChange(val)
{
let data = []
;
let nullData = []
;
this.tableData.forEach(
(item) =>
{
if (item[val.prop])
{
data.push(item);
} else
{
nullData.push(item);
}
})
data = data.sort(this.$refs.newTables.compare(val.prop,val.order))
if
(val.order != "ascending")
{
this.tableData = nullData.concat(data)
}
else
{
this.tableData = data.concat(nullData)
});
data = data.sort(this.$refs.newTables.compare(val.prop, val.order));
if
(val.order != "ascending")
{
this.tableData = nullData.concat(data)
;
}
else
{
this.tableData = data.concat(nullData)
;
}
this.tableData.forEach((item, index = 0) => {
item.index = index;
});
},
sizeChange(val) {
this.limitSize = val
this.select(0);
},
// 导出表格
xlse(page) {
this.progress = 1;
this.downLoadingTip.downloading = true;
let cargoXlse = {
title:"货物导出表",cargoConditionDto:{}
};
let cargoXlse = {
title: "货物导出表", cargoConditionDto: {}
};
this.dataInfo();
cargoXlse.cargoConditionDto = this.formData;
cargoXlse.cargoConditionDto.limitSize = this.limitSize;
if (page == 0) {
this.downLoadingTip.tip = "正在导出本页结果集"
this.downLoadingTip.tip = "正在导出本页结果集"
;
cargoXlse.cargoConditionDto.limitStart = this.limitStart;
downLoadXlsx("/cargo/excel",cargoXlse,"货物表").then(()=>{
downLoadXlsx("/cargo/excel", cargoXlse, "货物表")
.then(() => {
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = ""
this.downLoadingTip.tip = "";
this.progress = 100;
}).catch(()=>{
})
.catch(() => {
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = "";
})
});
} else {
if
(this.totalCount < 80000)
{
this.downLoadingTip.tip = "正在导出全部结果集请耐心等待"
if
(this.totalCount < 80000)
{
this.downLoadingTip.tip = "正在导出全部结果集请耐心等待"
;
cargoXlse.cargoConditionDto.limitStart = 0;
cargoXlse.cargoConditionDto.limitSize = -1;
downLoadXlsx("/cargo/excel",cargoXlse,"货物表").then(()=>{
downLoadXlsx("/cargo/excel", cargoXlse, "货物表")
.then(() => {
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = ""
this.downLoadingTip.tip = "";
this.progress = 100;
}).catch(()=>{
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = ""
})
}else{
.catch(() => {
this.downLoadingTip.downloading = false;
this.downLoadingTip.tip = "";
});
} else {
this.downLoadingTip.downloading = false;
this.$message({
message: "导出数据量过大,请不要超过8万条",
...
...
@@ -996,19 +1017,19 @@ export default {
this.formData.ursa = upCase(val);
},
},
cargoPlaneNo:{
cargoPlaneNo:
{
get: function () {
return this.formData.cargoPlaneNo;
},
set: function (val) {
this.formData.cargoPlaneNo = upCase(val);
},
}
}
,
},
};
</script>
<style scoped>
<style
lang="scss"
scoped>
.tips {
display: inline-block;
color: #606266;
...
...
@@ -1016,19 +1037,21 @@ export default {
margin-top: 10px;
margin-left: 50px;
}
.progress{
width:200px;
.progress {
width: 200px;
display: inline-block;
margin:0 0 0 20px;
margin:
0 0 0 20px;
}
.formShow{
.formShow {
width: max-content;
height:48px;
height:
48px;
line-height: 48px;
font-weight: 900;
color: rgb(64, 158, 255);
font-size: 14px;
float: right;
margin-right:20px;
margin-right:
20px;
}
</style>
\ No newline at end of file
...
...
src/views/systemConfig/menuConfig/drawer.vue
View file @
a6879f5
<template>
<div class="menuDrawer">
<el-dialog
:title="drawerTitle"
width="50%"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-form
ref="userForm"
:model="menuForm"
:disabled="menuFormDisabled"
:rules="rules"
label-width="auto"
style="margin: 10px"
>
<el-dialog :title="drawerTitle" width="50%" :visible.sync="dialogVisible" :close-on-click-modal="false"
:append-to-body="true">
<el-form ref="userForm" :model="menuForm" :disabled="menuFormDisabled" :rules="rules" label-width="auto"
style="margin: 10px">
<el-row>
<el-col :span="12">
<el-form-item label="菜单名称" prop="">
...
...
@@ -48,12 +37,8 @@
</el-col>
<el-col :span="24">
<el-form-item label="菜单状态" prop="">
<el-switch
v-model="menuData.menuStatus"
active-color="#13ce66"
inactive-color="#ff4949"
:disabled="menuFormDisabled"
></el-switch>
<el-switch v-model="menuData.menuStatus" active-color="#13ce66" inactive-color="#ff4949"
:disabled="menuFormDisabled"></el-switch>
</el-form-item>
</el-col>
<el-col :span="24">
...
...
@@ -114,15 +99,15 @@ export default {
data() {
return {
menuForm: {},
rules:{}
rules:
{}
};
},
updated() {
this.menuForm = this.menuData;
},
watch:{
dialogVisible(val,
oldVal)
{
if
(val)
{
watch:
{
dialogVisible(val,
oldVal)
{
if
(val)
{
this.menuForm = this.menuData;
}
}
...
...
@@ -134,7 +119,7 @@ export default {
selected(val) {
console.log(val);
},
submit() {},
submit() {
},
},
};
</script>
...
...
src/views/systemConfig/menuConfig/index.vue
View file @
a6879f5
...
...
@@ -8,78 +8,34 @@
>新增菜单</el-button
>
</div> -->
<el-table
:data="data"
row-key="id"
fit
border
stripe
highlightCurrentRow
v-loading="loading"
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table :data="data" row-key="id" fit border stripe highlightCurrentRow v-loading="loading" default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<template v-for="(item, index) in tableHeader">
<el-table-column
v-if="item.value === 'menuType'"
:prop="item.value"
:label="item.name"
:key="index"
:align="item.align"
header-align="center"
showOverflowTooltip
:width="item.width"
:formatter="formatter"
>
<el-table-column v-if="item.value === 'menuType'" :prop="item.value" :label="item.name" :key="index"
:align="item.align" header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter">
<template slot-scope="scope">
<el-tag
:type="scope.row.menuType === 'B' ? '' : 'success'"
disable-transitions
>{{ scope.row.menuType === "B" ? "按钮" : "菜单" }}</el-tag
>
<el-tag :type="scope.row.menuType === 'B' ? '' : 'success'" disable-transitions>{{ scope.row.menuType ===
"B" ? "按钮" : "菜单"
}}</el-tag>
</template>
</el-table-column>
<el-table-column
v-else
:prop="item.value"
:label="item.name"
:key="index"
:align="item.align"
header-align="center"
showOverflowTooltip
:width="item.width"
:formatter="formatter"
>
<el-table-column v-else :prop="item.value" :label="item.name" :key="index" :align="item.align"
header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter">
</el-table-column>
</template>
<el-table-column
header-align="center"
align="center"
label="操作"
width="auto"
>
<el-table-column header-align="center" align="center" label="操作" width="auto">
<template slot-scope="scope">
<!-- <el-button type="success" size="mini" @click="buttonClick(scope)">修改</el-button>
<el-button type="primary" size="mini" @click="buttonClick(scope)"
>查看</el-button
> -->
<el-button
:type="scope.row.status == 1 ? 'warning' : 'primary'"
v-hasPermi="['system:menu:openClose']"
size="mini"
@click="menuStatus(scope)"
v-if="scope.row.menuType == 'C'"
>{{ scope.row.status == 1 ? "停用菜单" : "启用菜单" }}</el-button
>
<el-button
type="danger"
size="mini"
v-hasPermi="['system:menu:delete']"
@click="removeMenu(scope)"
v-if="scope.row.menuType == 'C'"
>删除菜单</el-button
>
<el-button :type="scope.row.status == 1 ? 'warning' : 'primary'" v-hasPermi="['system:menu:openClose']"
size="mini" @click="menuStatus(scope)" v-if="scope.row.menuType == 'C'">{{ scope.row.status == 1 ? "停用菜单" :
"启用菜单"
}}</el-button>
<el-button type="danger" size="mini" v-hasPermi="['system:menu:delete']" @click="removeMenu(scope)"
v-if="scope.row.menuType == 'C'">删除菜单</el-button>
</template>
</el-table-column>
</el-table>
...
...
@@ -144,7 +100,7 @@ export default {
{
name: "菜单名",
value: "title",
width: "
200
",
width: "",
align: "left",
sorTable: false,
},
...
...
@@ -275,7 +231,7 @@ export default {
data.status = row.row.status == 1 ? "2" : "1";
this.statusUpdate(data);
})
.catch(() => {});
.catch(() => {
});
},
//菜单删除
...
...
@@ -291,13 +247,13 @@ export default {
data.status = "0";
this.statusUpdate(data);
})
.catch(() => {});
.catch(() => {
});
},
formatter(row, column, cellValue, index) {
if (dictLabels[column.property]) {
if (dictLabels[column.property][cellValue]) {
return dictLabels[column.property][cellValue];
if (dictLabels[
"menu"][
column.property]) {
if (dictLabels[
"menu"][
column.property][cellValue]) {
return dictLabels[
"menu"][
column.property][cellValue];
}
}
return cellValue;
...
...
src/views/systemConfig/roleConfig/drawer.vue
View file @
a6879f5
<template>
<div class="roleDrawer">
<el-drawer
:title="drawerTitle"
:visible.sync="drawer"
direction="rtl"
size="40%"
destroy-on-close
:close-on-click-modal="false"
:wrapperClosable="false"
:show-close="false"
>
<el-form
ref="roleForm"
:model="roleForm"
label-width="auto"
:rules="rules"
size="mini"
style="margin: 10px"
>
<el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" destroy-on-close
:close-on-click-modal="false" :wrapperClosable="false" :show-close="false">
<el-form ref="roleForm" :model="roleForm" label-width="auto" :rules="rules" size="mini" style="margin: 10px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="角色名:" prop="name">
<el-input
placeholder="请输入角色名"
v-model.trim="roleForm.name"
:disabled="roleFormDisabled"
v-if="!roleFormDisabled"
clearable
></el-input>
<el-input placeholder="请输入角色名" v-model.trim="roleForm.name" :disabled="roleFormDisabled"
v-if="!roleFormDisabled" clearable></el-input>
<div v-else>{{ roleData.name }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="角色描述:" prop="remark">
<el-input
v-model="roleForm.remark"
type="textarea"
placeholder="请输入角色描述"
:disabled="roleFormDisabled"
v-if="!roleFormDisabled"
clearable
></el-input>
<el-input v-model="roleForm.remark" type="textarea" placeholder="请输入角色描述" :disabled="roleFormDisabled"
v-if="!roleFormDisabled" clearable></el-input>
<div v-else>{{ roleData.remark }}</div>
</el-form-item>
</el-col>
...
...
@@ -58,31 +32,16 @@
</el-col> -->
<el-col :span="24">
<el-form-item label="角色权限:" prop="menuIdList">
<el-tree
ref="tree"
:data="treeData"
node-key="id"
:props="defaultProps"
:show-checkbox="true"
:default-checked-keys="roleData.menuIds"
accordion
>
<el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" :show-checkbox="true"
:default-checked-keys="roleData.menuIds" accordion>
</el-tree>
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button
type="primary"
v-if="!roleFormDisabled"
size="mini"
:loading="loading"
@click="submit"
>提交</el-button
>
<el-button type="primary" size="mini" @click="handleClose"
>取消</el-button
>
<el-button type="primary" v-if="!roleFormDisabled" size="mini" :loading="loading" @click="submit">提交
</el-button>
<el-button type="primary" size="mini" @click="handleClose">取消</el-button>
</el-form-item>
</el-form>
</el-drawer>
...
...
@@ -173,7 +132,7 @@ export default {
let formData = {};
this.loading = true;
let arr = [];
arr = this.$refs.tree.getCheckedKeys().filter((item,
index)=>
{
arr = this.$refs.tree.getCheckedKeys().filter((item,
index) =>
{
return this.$refs.tree.getCheckedKeys().indexOf(item) == index
})
formData.menuIdList = arr;
...
...
@@ -186,7 +145,7 @@ export default {
this.loading = false;
if (res.code === 200) {
this.$message({
message: "操作成功",
message: "操作成功
,新增权限需重新登陆后刷新。
",
type: "success",
});
this.$emit("handleClose", false);
...
...
@@ -224,7 +183,7 @@ export default {
data.push(menuItem)
if (item.children && item.children.length) {
menuItem.children = this.treeDataInfo(item.children);
menuItem.children.unshift({
id:item.id,title:`${item.title}(菜单)`
})
menuItem.children.unshift({
id: item.id, title: `${item.title}(菜单)`
})
}
});
return data;
...
...
src/views/systemConfig/roleConfig/index.vue
View file @
a6879f5
...
...
@@ -4,24 +4,13 @@
<el-row :gutter="50">
<el-col :span="6">
<el-form-item label="角色名称">
<el-input
v-model="formData.name"
placeholder="请输入角色名称"
clearable
></el-input>
<el-input v-model="formData.name" placeholder="请输入角色名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="创建时间">
<el-date-picker
v-model="createTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
clearable
>
<el-date-picker v-model="createTime" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd" clearable>
</el-date-picker>
</el-form-item>
</el-col>
...
...
@@ -36,61 +25,31 @@
</el-row>
</el-form>
<div style="margin:20px">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
:loading="tableLoading"
@click="selectRoleList(0)"
>搜索</el-button
>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="addRole" v-hasPermi="['system:role:add']"
>新增角色</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" :loading="tableLoading" @click="selectRoleList(0)">搜索
</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="addRole" v-hasPermi="['system:role:add']">新增角色
</el-button>
</div>
<Tables
:data="data"
:headerData="tableHeader"
:infoData="tableHeader"
:totalCount="total"
:limitSize="formData.size"
:page="formData.page"
:pageSizes="[20,30,40,50]"
:loading="tableLoading"
height="600"
@sizeChange="sizeChange"
@currentChange="currentChange"
>
<template>
<Tables ductName="role" :data="data" :headerData="tableHeader" :infoData="tableHeader" :totalCount="total"
:limitSize="formData.size" :page="formData.page" :pageSizes="[20, 30, 40, 50]" :loading="tableLoading"
height="600" @sizeChange="sizeChange" @currentChange="currentChange">
<template slot="optionColumn">
<el-table-column header-align="center" align="center" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="buttonClick(scope, 0)"
>查看</el-button
>
<el-button type="primary" size="mini" @click="buttonClick(scope, 1)" v-hasPermi="['system:role:update']"
>修改</el-button
>
<el-button
:type="scope.row.valid == 1 ? 'warning' : 'primary'"
size="mini"
v-hasPermi="['system:role:openClose']"
@click="roleStatus(scope)"
>{{ scope.row.valid == 1 ? "停用" : "启用" }}</el-button
>
<el-button type="danger" size="mini" @click="removeRole(scope)" v-hasPermi="['system:role:delete']"
>删除角色</el-button
>
<el-button type="primary" size="mini" @click="buttonClick(scope, 0)">查看</el-button>
<el-button type="primary" size="mini" @click="buttonClick(scope, 1)" v-hasPermi="['system:role:update']">修改
</el-button>
<el-button :type="scope.row.valid == 1 ? 'warning' : 'primary'" size="mini"
v-hasPermi="['system:role:openClose']" @click="roleStatus(scope)">{{ scope.row.valid == 1 ? "停用" : "启用" }}
</el-button>
<el-button type="danger" size="mini" @click="removeRole(scope)" v-hasPermi="['system:role:delete']">删除角色
</el-button>
</template>
</el-table-column>
</template>
</Tables>
<Drawer
:drawer="drawer"
:drawerTitle="drawerTitle"
:roleFormDisabled="roleFormDisabled"
:roleData="roleData"
@handleClose="handleClose"
></Drawer>
<Drawer :drawer="drawer" :drawerTitle="drawerTitle" :roleFormDisabled="roleFormDisabled" :roleData="roleData"
@handleClose="handleClose"></Drawer>
</div>
</template>
...
...
@@ -103,7 +62,7 @@ import {
updateRoleStatus,
} from "@/api/system/user.js";
export default {
name:"RoleConfig",
name:
"RoleConfig",
components: {
Drawer,
},
...
...
@@ -120,67 +79,52 @@ export default {
data: [], //表格数据
tableHeader: [
{
type: "index",
name: "",
value: "",
width: "",
align: "center",
sorTable: false,
disabled:true
},
{
type: "",
name: "角色名称",
value: "name",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "角色状态",
value: "valid",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "修改时间",
value: "updateTime",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "备注",
value: "remark",
width: "400px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
], //表头数据
roleData: {}, //角色详情
...
...
@@ -193,20 +137,20 @@ export default {
};
},
created() {
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
this.selectRoleList();
}
},
activated(){
activated()
{
this.selectRoleList();
},
deactivated(){
deactivated()
{
this.data = []
},
methods: {
//角色列表
selectRoleList(val) {
if
(val == 0)
{
if
(val == 0)
{
this.formData.page = 1
}
this.tableLoading = true;
...
...
@@ -341,7 +285,7 @@ export default {
}
});
})
.catch(() => {});
.catch(() => {
});
} else {
this.$message({
message: res.msg,
...
...
@@ -360,7 +304,7 @@ export default {
this.formData.page = val.page;
this.selectRoleList();
},
sizeChange(val){
sizeChange(val)
{
this.formData.size = val;
this.selectRoleList()
}
...
...
src/views/systemConfig/userConfig/index.vue
View file @
a6879f5
...
...
@@ -4,20 +4,12 @@
<el-row :gutter="50">
<el-col :span="6">
<el-form-item label="用户姓名">
<el-input
placeholder="请输入用户名称"
v-model="formData.username"
clearable
></el-input>
<el-input placeholder="请输入用户名称" v-model="formData.username" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="手机号码">
<el-input
placeholder="请输入手机号码"
v-model="formData.phone"
clearable
></el-input>
<el-input placeholder="请输入手机号码" v-model="formData.phone" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
...
...
@@ -31,68 +23,34 @@
</el-row>
</el-form>
<div style="margin:20px">
<el-button
type="primary"
icon="el-icon-search"
size="mini"
:loading="loading"
@click="selectUser(0)"
>搜索</el-button
>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="addUser" v-hasPermi="['system:user:add']"
>新增用户</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="selectUser(0)">搜索
</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="addUser" v-hasPermi="['system:user:add']">新增用户
</el-button>
</div>
<Tables
:data="data"
:headerData="tableHeader"
:limitSize="formData.size"
:totalCount="total"
:loading="loading"
:page="formData.page"
:pageSizes="[20,30,40,50]"
height="600"
@sizeChange="sizeChange"
@currentChange="currentChange"
>
<template>
<el-table-column
header-align="center"
align="center"
width="auto"
label="操作"
>
<Tables ductName="user" :data="data" :headerData="tableHeader" :limitSize="formData.size" :totalCount="total"
:loading="loading" :page="formData.page" :pageSizes="[20, 30, 40, 50]" height="600" @sizeChange="sizeChange"
@currentChange="currentChange">
<template slot="optionColumn">
<el-table-column header-align="center" align="center" width="auto" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="buttonClick(scope, 0)"
>查看</el-button
>
<el-button type="primary" size="mini" @click="buttonClick(scope, 1)" v-hasPermi="['system:user:update']"
>修改</el-button
>
<el-button type="primary" size="mini" @click="buttonClick(scope, 0)">查看</el-button>
<el-button type="primary" size="mini" @click="buttonClick(scope, 1)" v-hasPermi="['system:user:update']">修改
</el-button>
<!-- <el-button type="primary" size="mini" @click="passwordShow = !passwordShow"
>修改密码</el-button
> -->
<el-button
:type="scope.row.isValid == 1 ? 'warning' : 'primary'"
size="mini"
v-hasPermi="['system:user:openClose']"
@click="userStatus(scope)"
>{{ scope.row.isValid == 1 ? "停用" : "启用" }}</el-button
>
<el-button type="danger" size="mini" @click="removeUser(scope)" v-hasPermi="['system:user:delete']"
>删除用户</el-button
>
<el-button :type="scope.row.isValid == 1 ? 'warning' : 'primary'" size="mini"
v-hasPermi="['system:user:openClose']" @click="userStatus(scope)">{{ scope.row.isValid == 1 ? "停用" : "启用"
}}</el-button>
<el-button type="danger" size="mini" @click="removeUser(scope)" v-hasPermi="['system:user:delete']">删除用户
</el-button>
</template>
</el-table-column>
</template>
</Tables>
<Drawer
:drawer="drawer"
:drawerTitle="drawerTitle"
:userFormDisabled="userFormDisabled"
:userData="userData"
@handleClose="handleClose"
></Drawer>
<Drawer :drawer="drawer" :drawerTitle="drawerTitle" :userFormDisabled="userFormDisabled" :userData="userData"
@handleClose="handleClose"></Drawer>
<!-- <el-dialog
title="修改密码"
:visible.sync="passwordShow"
...
...
@@ -147,85 +105,68 @@ export default {
}, //查询条件
tableHeader: [
{
type: "index",
name: "",
value: "",
width: "",
align: "center",
sorTable: false,
disabled:true
},
{
type: "",
name: "员工号",
value: "loginName",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "用户姓名",
value: "username",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "所属口岸",
value: "portName",
width: "150px",
align: "center",
sortable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "所属角色",
value: "roleNames",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "电子邮箱",
value: "email",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "用户状态",
value: "isValid",
width: "100px",
align: "center",
sorTable: false,
disabled:
true
disabled:
true,
},
{
type: "",
name: "修改时间",
value: "updateTime",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
{
type: "",
name: "备注",
value: "remark",
width: "150px",
align: "center",
sorTable: false,
disabled:true
disabled:
true
},
], //表头数据
userData: {}, //用户详情
...
...
@@ -239,20 +180,20 @@ export default {
};
},
created() {
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
if
(this.$store.state.tagsView.cachedViews.length == 0)
{
this.selectUser();
}
},
activated(){
activated()
{
this.selectUser();
},
deactivated(){
deactivated()
{
this.data = []
},
methods: {
//用户列表
selectUser(val) {
if
(val == 0)
{
if
(val == 0)
{
this.formData.page = 1
}
this.loading = true;
...
...
@@ -285,7 +226,7 @@ export default {
if (res.code === 200) {
this.userData = res.data;
this.userData.portName
?
this.userData.portName=
this.userData.portName.split(",")
?
this.userData.portName =
this.userData.portName.split(",")
: '';
} else {
this.$message({
...
...
@@ -391,7 +332,7 @@ export default {
this.selectUser();
},
sizeChange(val){
sizeChange(val)
{
this.formData.size = val;
this.selectUser()
}
...
...
vue.config.js
View file @
a6879f5
...
...
@@ -17,7 +17,7 @@ module.exports = {
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.FedEx.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.FedEx.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath
:
process
.
env
.
NODE_ENV
===
"production"
?
"/imacuat/"
:
"/"
,
publicPath
:
process
.
env
.
NODE_ENV
===
"production"
?
defaultSettings
.
routerBase
:
"/"
,
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
outputDir
:
'dist'
,
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
...
...
@@ -34,10 +34,7 @@ module.exports = {
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`https://imacuat.zmd.apac.fedex.com/iMAC`
,
// target: `http://47.103.140.98:7001/iMAC`,
// target: `http://192.168.1.134:18080`,
// target: `http://47.103.140.98:7001/IMAC2`, //生产
target
:
defaultSettings
.
baseURL
,
changeOrigin
:
true
,
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
Please
register
or
login
to post a comment