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-01-13 16:59:59 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f1bab3754bef9daaf0625ed2cf8af75c4871e18b
f1bab375
1 parent
ab018019
bug修复
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
148 additions
and
89 deletions
src/layout/components/Navbar.vue
src/layout/components/TagsView/ScrollPane.vue
src/layout/components/TagsView/index.vue
src/utils/request.js
src/utils/zipdownload.js
src/views/allocationConfig/flightRandConfig/index.vue
src/views/basicInformation/queryCargo/index.vue
vue.config.js
src/layout/components/Navbar.vue
View file @
f1bab37
<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"/>
<top-nav id="topmenu-container" class="topmenu-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>
<template v-if="device !== 'mobile'"> </template>
<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="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<!-- <i class="el-icon-caret-bottom" /> -->
<img :src="avatar" class="user-avatar" />
</div>
<el-dropdown-menu slot="dropdown">
<router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item divided @click.native="logout">
<!-- <el-dropdown-item @click.native.stop="drawer = true">个人中心</el-dropdown-item> -->
<el-dropdown-item @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-select
v-model="locale"
size="mini"
@change="local"
style="width: 75px;top:-17px;right:7px"
>
<el-option label="中文" value="zh"> </el-option>
<el-option label="英文" value="en"> </el-option>
</el-select>
</div>
<Profile :drawer="drawer" @drawerHandleClose="drawerHandleClose"></Profile>
</div>
</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 Profile from "@/views/systemConfig/userConfig/profile/index";
export default {
components: {
Breadcrumb,
TopNav,
Hamburger
Hamburger,
Profile,
},
data() {
return {
drawer: false,
locale: "zh",
};
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'device'
]),
...mapGetters(["sidebar", "avatar", "device"]),
setting: {
get() {
return this.$store.state.settings.showSettings
return this.$store.state.settings.showSettings
;
},
set(val) {
this.$store.dispatch(
'settings/changeSetting'
, {
key:
'showSettings'
,
value: val
})
}
this.$store.dispatch(
"settings/changeSetting"
, {
key:
"showSettings"
,
value: val
,
})
;
}
,
},
topNav: {
get() {
return this.$store.state.settings.topNav
}
}
return this.$store.state.settings.topNav
;
}
,
}
,
},
methods: {
toggleSideBar() {
this.$store.dispatch(
'app/toggleSideBar')
this.$store.dispatch(
"app/toggleSideBar");
},
async logout() {
this.$confirm(
'确定注销并退出系统吗?', '提示'
, {
confirmButtonText:
'确定'
,
cancelButtonText:
'取消'
,
type:
'warning'
this.$confirm(
"确定注销并退出系统吗?", "提示"
, {
confirmButtonText:
"确定"
,
cancelButtonText:
"取消"
,
type:
"warning",
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = '/index';
})
})
}
}
}
this.$store.dispatch("LogOut").then(() => {
location.href = "/index";
// window.location.href = "https://test.secure.fedex.com/logout";//wsso系统跳转
});
});
},
drawerHandleClose(val) {
this.drawer = val;
},
local(val) {
this.$i18n.locale = val; //此处val为 zh 或者 en
},
},
};
</script>
<style lang="scss" scoped>
...
...
@@ -88,18 +116,18 @@ export default {
overflow: hidden;
position: relative;
background: #fff;
box-shadow: 0 1px 4px rgba(0,
21,41,
.08);
box-shadow: 0 1px 4px rgba(0,
21, 41, 0
.08);
.hamburger-container {
line-height: 46px;
height: 100%;
float: left;
cursor: pointer;
transition: background .3s;
-webkit-tap-highlight-color:transparent;
transition: background
0
.3s;
-webkit-tap-highlight-color:
transparent;
&:hover {
background: rgba(0, 0, 0,
.025)
background: rgba(0, 0, 0,
0.025);
}
}
...
...
@@ -136,16 +164,16 @@ export default {
&.hover-effect {
cursor: pointer;
transition: background .3s;
transition: background
0
.3s;
&:hover {
background: rgba(0, 0, 0,
.025)
background: rgba(0, 0, 0,
0.025);
}
}
}
.avatar-container {
margin-right:
30
px;
margin-right:
15
px;
.avatar-wrapper {
margin-top: 5px;
...
...
src/layout/components/TagsView/ScrollPane.vue
View file @
f1bab37
...
...
@@ -88,7 +88,7 @@ export default {
}
.el-scrollbar__wrap {
// height: 49px;
margin-top:
8
px;
margin-top:
4
px;
}
}
}
...
...
src/layout/components/TagsView/index.vue
View file @
f1bab37
...
...
@@ -225,7 +225,7 @@ export default {
<style lang="scss" scoped>
.tags-view-container {
height:
50
px;
height:
33
px;
width: 100%;
background: #fff;
border-bottom: 1px solid #d8dce5;
...
...
@@ -243,7 +243,7 @@ export default {
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
margin-top: 4px;
//
margin-top: 4px;
&:first-of-type {
margin-left: 15px;
}
...
...
src/utils/request.js
View file @
f1bab37
...
...
@@ -9,9 +9,9 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const
service
=
axios
.
create
({
// axios中请求配置有baseURL选项,表示请求URL公共部分
//baseURL: process.env.VUE_APP_BASE_API,
baseURL
:
`http://47.103.140.98:
900
2`
,
//阿里云服务器
baseURL
:
`http://47.103.140.98:
7002/IMAC
2`
,
//阿里云服务器
// baseURL: 'https://imacuat.zmd.apac.fedex.com/IMAC2', //uat服务器
// baseURL: 'http://192.168.1.13
4:18080
', //测试服务器
// baseURL: 'http://192.168.1.13
3:7001/IMAC2
', //测试服务器
// 超时
timeout
:
30000
...
...
src/utils/zipdownload.js
View file @
f1bab37
...
...
@@ -6,8 +6,8 @@ const mimeMap = {
zip
:
'application/zip'
}
// const baseUrl = 'https://imacuat.zmd.apac.fedex.com/IMAC2' //uat服务器
const
baseUrl
=
'http://47.103.140.98:
900
2'
//阿里云服务器
// const baseUrl = 'http://192.168.1.13
4:18080
' //测试服务器
const
baseUrl
=
'http://47.103.140.98:
7002/IMAC
2'
//阿里云服务器
// const baseUrl = 'http://192.168.1.13
3:7001/IMAC2
' //测试服务器
export
function
downLoadZip
(
str
,
filename
)
{
var
url
=
baseUrl
+
str
axios
({
...
...
src/views/allocationConfig/flightRandConfig/index.vue
View file @
f1bab37
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true">
<el-form-item label="原航班" prop="sourceFlightNo">
<el-input v-model="queryParams.sourceFlightNo" placeholder="请输入原航班" clearable size="small" />
<el-form-item label="原航班">
<el-input type="text" v-model="upCase" placeholder="请输入原航班" clearable class="formItem"></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 size="small">
...
...
@@ -37,7 +39,9 @@
<el-table v-loading="loading" :data="sourceFlightRulesList">
<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="priority" /> -->
...
...
@@ -52,9 +56,9 @@
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-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'"
<el-button size="mini" type="text" icon="el-icon-video-play" v-if="scope.row.status == '3'"
@click="handleDeleteorPlayorpause(scope.row,1,'启用')">启用</el-button>
<el-button size="mini" type="text" icon="el-icon-video-pause"
v-if="scope.row.status == '1
'"
<el-button size="mini" type="text" icon="el-icon-video-pause"
v-if="scope.row.status != '3
'"
@click="handleDeleteorPlayorpause(scope.row,3,'停用')">停用</el-button>
</template>
</el-table-column>
...
...
@@ -67,13 +71,16 @@
<!-- 查看目的航班对话框 -->
<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="flightDate" />
<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.sourceFlightNo, '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>
...
...
@@ -84,7 +91,7 @@
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="
60%" :close-on-click-modal="false" :append-to-body="tru
e">
<el-dialog :title="title" :visible.sync="open" width="
55%" :append-to-body="true" :close-on-click-modal="fals
e">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="10">
...
...
@@ -94,7 +101,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="
12
">
<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="选择开始时间">
...
...
@@ -110,8 +117,8 @@
</el-col>
<el-col :span="24" style="margin-bottom: 5%;">
<span style="color: red;margin-left: 10%;">提示:配载航班之同请用分号分隔【符号不区分中英文】,例:CA1053
:
C7433</span><br />
<span style="color: red;margin-left: 10%;">提示:如果需要设置配载航班延迟或提前可以直接在目的航斑后加减【+-】天数。如:CA1053+1
:
CZ433-1</span>
<span style="color: red;margin-left: 10%;">提示:配载航班之同请用分号分隔【符号不区分中英文】,例:CA1053
;
C7433</span><br />
<span style="color: red;margin-left: 10%;">提示:如果需要设置配载航班延迟或提前可以直接在目的航斑后加减【+-】天数。如:CA1053+1
;
CZ433-1</span>
</el-col>
<el-col :span="24">
<el-form-item label="配载航班" prop="flightRank">
...
...
@@ -186,7 +193,7 @@
statusList: [{
'id': 1,
'name': '有效'
},{
},
{
'id': 3,
'name': '停用'
}],
...
...
@@ -230,9 +237,13 @@
//跳转到查看,修改页面
handleClick(flightiId, handle) {
this.$router.push({
name: "Info",
params: { handle: handle, id: flightiId },
name: "flightAllocConfigInfo",
params: {
handle: handle,
id: flightiId
},
});
},
/** 查询原航班顺位规则*/
findSourceFlightRules() {
...
...
@@ -270,14 +281,14 @@
this.dayOfWeek = [];
this.open = true;
this.title = "修改原航班顺位规则";
this.form =
row
;
this.form =
JSON.parse(JSON.stringify(row))
;
this.dayOfWeek = this.form.dayOfWeek ? this.form.dayOfWeek.split(";") : [];
//this.form.dayOfWeek = this.form.dayOfWeek ? this.form.dayOfWeek.split(";") : [];
},
/** 删除 启用 停用按钮操作 */
handleDeleteorPlayorpause(row, status, statusText) {
debugger
//
debugger
//删除前需要停用
if (status === 0 && row.status != '3') {
this.$message({
...
...
@@ -314,8 +325,17 @@
this.$refs["form"].validate(valid => {
if (valid) {
this.form.dayOfWeek = this.dayOfWeek.sort();
let formdata = JSON.parse(JSON.stringify(this.form));
formdata.sourceFlightNo=formdata.sourceFlightNo.trim().toUpperCase();
formdata.flightRank=formdata.flightRank.trim().toUpperCase();
if (formdata.startDate === undefined || formdata.startDate == null) {
formdata.startDate = "";
}
if (formdata.endDate === undefined || formdata.endDate == null) {
formdata.endDate = "";
}
//处理数据
sourceFlightRulesSaveApi(
this.form
).then(response => {
sourceFlightRulesSaveApi(
formdata
).then(response => {
if (response.code === 200) {
this.msgSuccess("保存成功");
this.open = false;
...
...
@@ -372,13 +392,14 @@
// 取消按钮
cancel() {
this.open = false;
//
this.reset();
//this.reset();
},
// 状态字典翻译
statusFormat(row) {
if (row.status === '1') {
return '有效'
} else if (row.status === '
2
') {
} else if (row.status === '
0
') {
return '执行中'
} else if (row.status === '3') {
return '停用'
...
...
@@ -387,6 +408,7 @@
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.sourceFlightNo = undefined
this.resetForm("queryForm");
this.handleQuery();
},
...
...
@@ -395,9 +417,19 @@
this.queryParams.pageNum = 1;
this.queryParams.start = 0;
this.findSourceFlightRules();
}
}
,
}
},
computed: {
upCase: {
get: function() {
return this.queryParams.sourceFlightNo;
},
set: function(val) {
this.queryParams.sourceFlightNo = val.toUpperCase();
},
},
},
};
</script>
<style>
...
...
src/views/basicInformation/queryCargo/index.vue
View file @
f1bab37
...
...
@@ -136,7 +136,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="ACCS航班号:">
<el-form-item label="ACCS
原
航班号:">
<el-input type="text" v-model="fltNo" class="formItem" placeholder="请输入ACCS航班号"></el-input>
</el-form-item>
</el-col>
...
...
@@ -304,9 +304,9 @@
@click="select"
>查询</el-button
>
<el-button type="primary" size="small" @click="checks(tableData)"
<
!-- <
el-button type="primary" size="small" @click="checks(tableData)"
>全选/全否</el-button
>
>
-->
<el-button type="primary" size="small" @click="xlse(0)" v-dbClick :disabled="tableData.length==0" :loading="downloading"
>导出本页查询结果</el-button
>
...
...
@@ -324,7 +324,7 @@
:data="tableData"
v-loading="tableLoading"
highlight-current-row border stripe
height="
50
0"
height="
43
0"
size="mini"
@select="cheacked"
@select-all="selectAll"
...
...
@@ -399,7 +399,6 @@ export default {
{ name: "取件扫描号", value: "pickUpScanNo" },
{ name: "站点", value: "siteName" },
{ name: "运单号", value: "waybillNo" },
{ name: "总单号", value: "totalWaybillNo" },
{ name: "服务类型", value: "serviceTypeName" },
{ name: "URSA", value: "ursa" },
{ name: "申报类型", value: "typeName" },
...
...
@@ -410,6 +409,7 @@ export default {
{ name: "收件人国家代码", value: "consigneeCountry" },
{ name: "品名描述", value: "nameDescription" },
{ name: "海关回执状态", value: "customsReceiptStatusName" },
{ name: "总单号", value: "totalWaybillNo" },
{ name: "预审状态", value: "preQualificationStatus" },
{ name: "航班预审意见", value: "caPretrialOpinion" },
{ name: "货物状态", value: "statusName" },
...
...
@@ -430,7 +430,7 @@ export default {
{ name: "收件地", value: "destinationSiteName" },
{ name: "尺寸", value: "sizeStr" },
{
name: "大货预审意见(是否可以配置
CA
航班)",
name: "大货预审意见(是否可以配置航班)",
value: "bigPretrialOpinion",
},
{ name: "大货预审时间", value: "bigPretrialTime" },
...
...
@@ -700,7 +700,6 @@ export default {
//表格格式化
formatter(row,column,cellValue,index){
if(column.property=="cargoRulesStatus"){
console.log()
if(cellValue == 1){
return cellValue = "手动"
}else if(cellValue == 2){
...
...
vue.config.js
View file @
f1bab37
...
...
@@ -36,8 +36,8 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
// target: `https://imacuat.zmd.apac.fedex.com/IMAC2`, //uat服务器
target
:
`http://47.103.140.98:
900
2`
,
//阿里云服务器
// target: `http://192.168.1.13
4:18080
`, //测试服务器
target
:
`http://47.103.140.98:
7002/IMAC
2`
,
//阿里云服务器
// target: `http://192.168.1.13
3:7001/IMAC2
`, //测试服务器
changeOrigin
:
true
,
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
Please
register
or
login
to post a comment