作者 小范

Merge remote-tracking branch 'origin/master'

... ... @@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>易通快速通关申报管理系统</title>
<title>易通链快速通关申报平台</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
</head>
... ...
... ... @@ -2276,49 +2276,57 @@
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
},
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
"integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
"string-width": "^3.1.0",
"strip-ansi": "^5.2.0",
"wrap-ansi": "^5.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
"ansi-regex": "^4.1.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"wrap-ansi": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
"integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
"ansi-styles": "^3.2.0",
"string-width": "^3.0.0",
"strip-ansi": "^5.0.0"
}
}
}
... ... @@ -4846,9 +4854,9 @@
}
},
"globule": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz",
"integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==",
"dev": true,
"requires": {
"glob": "~7.1.1",
... ... @@ -5249,9 +5257,9 @@
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
},
"in-publish": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
"integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
"integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
"dev": true
},
"indent-string": {
... ... @@ -6023,9 +6031,9 @@
},
"dependencies": {
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
}
}
... ... @@ -6377,9 +6385,9 @@
}
},
"node-sass": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
"integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
"version": "4.14.1",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
"integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
"dev": true,
"requires": {
"async-foreach": "^0.1.3",
... ... @@ -6389,14 +6397,14 @@
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"in-publish": "^2.0.0",
"lodash": "^4.17.11",
"lodash": "^4.17.15",
"meow": "^3.7.0",
"mkdirp": "^0.5.1",
"nan": "^2.13.2",
"node-gyp": "^3.8.0",
"npmlog": "^4.0.0",
"request": "^2.88.0",
"sass-graph": "^2.2.4",
"sass-graph": "2.2.5",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
},
... ... @@ -11461,15 +11469,15 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass-graph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
"integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
"integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
"dev": true,
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
"scss-tokenizer": "^0.2.3",
"yargs": "^7.0.0"
"yargs": "^13.3.2"
}
},
"sass-loader": {
... ... @@ -13472,88 +13480,138 @@
"dev": true
},
"yargs": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
"integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
"version": "13.3.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
"integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
"dev": true,
"requires": {
"camelcase": "^3.0.0",
"cliui": "^3.2.0",
"decamelize": "^1.1.1",
"get-caller-file": "^1.0.1",
"os-locale": "^1.4.0",
"read-pkg-up": "^1.0.1",
"cliui": "^5.0.0",
"find-up": "^3.0.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^1.0.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^1.0.2",
"which-module": "^1.0.0",
"y18n": "^3.2.1",
"yargs-parser": "^5.0.0"
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^13.1.2"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
"camelcase": {
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
"dev": true
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
"ansi-regex": "^4.1.0"
}
},
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"which-module": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
}
}
},
"yargs-parser": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
"integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
"version": "13.1.2",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"dev": true,
"requires": {
"camelcase": "^3.0.0"
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
}
}
... ...
... ... @@ -90,16 +90,17 @@ var axois_init = {
sessionStorage.removeItem('user');
sessionStorage.removeItem('menu');
sessionStorage.removeItem('token');
}else{
let user = JSON.parse(sessionStorage.getItem('user'));
if(sessionStorage.getItem('token')){
axios.defaults.headers.common['Authorization'] = sessionStorage.getItem('token');
}
if (!jsutil.checkNull(user) && to.path != '/login' && !sessionStorage.getItem('menu') && !sessionStorage.getItem('token')) {
next({ path: '/login' })
}
}
let user = JSON.parse(sessionStorage.getItem('user'));
if(sessionStorage.getItem('token')){
axios.defaults.headers.common['Authorization'] = sessionStorage.getItem('token');
}
if (jsutil.checkNull(user) && to.path != '/login' && !sessionStorage.getItem('menu') && !sessionStorage.getItem('token')) {
next({ path: '/login' })
} else {
next()
}
next()
});
}
}
... ...
不能预览此文件类型
... ... @@ -260,7 +260,7 @@ let routes = [
{
path: '/out',
component: Home,
name: '出港航班申报',
name: '出港申报',
iconCls:'el-icon-goods',
children:[
{path:'/departure',component:departure,name:'出港预报申报'},
... ...
... ... @@ -146,7 +146,7 @@
}
};
return {
sysName:'易通快速通关申报管理系统',
sysName:'易通链快速通关申报平台',
collapsed:false,
sysUserName: '',
sysUserId:'',
... ... @@ -333,8 +333,8 @@
//width:230px;
height:60px;
font-size: 22px;
padding-left:20px;
padding-right:20px;
padding-left:10px;
padding-right:10px;
border-color: rgba(238,241,146,0.3);
border-right-width: 1px;
border-right-style: solid;
... ...
... ... @@ -17,9 +17,9 @@
<!--列表-->
<el-table :data="tableList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;"
row-key="permissionId"
border
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
row-key="permissionId"
border
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column type="selection" width="55">
</el-table-column>
... ... @@ -50,86 +50,109 @@
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.permissionId}}</span>
</el-form-item>
<el-form-item label="权限名称" prop="name">
<el-input v-model="editForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
</el-form-item>
<el-form-item label="权限描述" prop="description">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="权限总路径" prop="path">
<el-input v-model="editForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="权限路径" prop="url">
<el-input v-model="editForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input>
</el-form-item>
<el-form-item label="权限排序" prop="permissionOrder">
<el-input v-model="editForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
</el-form-item>
<el-form-item label="父目录ID" prop="parentId">
<el-input v-model="editForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="ismenu" prop="ismenu">
<el-switch
v-model="editForm.ismenu"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
active-value="1"
inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="权限名称" prop="name">
<el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
</el-form-item>
<el-form-item label="权限描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="权限总路径" prop="path">
<el-input v-model="addForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="权限路径" prop="url">
<el-input v-model="addForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input>
</el-form-item>
<el-form-item label="权限排序" prop="permissionOrder">
<el-input v-model="addForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
<el-dialog :title="dialogMap[dialogStatus]" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="110px" :rules="addFormRules" ref="addForm">
<el-form-item label="ID">
<span>{{addForm.permissionId}}</span>
</el-form-item>
<el-form-item label="父目录ID" prop="parentId">
<el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="权限名称" prop="name">
<el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="权限描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col>
<el-form-item label="权限总路径" prop="path">
<el-input v-model="addForm.path" auto-complete="off" placeholder="设置为前端router的path值"></el-input>
<el-cascader-panel
v-model="addForm.path"
:options="cascaderOptions"
:props="pannelProps"
></el-cascader-panel>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="具体访问路径" prop="url">
<el-input v-model="addForm.url" auto-complete="off" placeholder="设置为后端微服务路径:例如:/cloud-user-center/user/update"></el-input>
<el-cascader-panel
v-model="addForm.url"
:options="tableList"
:props="pannelUrlProps"
></el-cascader-panel>
</el-form-item>
<el-form-item label="ismenu" prop="ismenu">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="权限排序" prop="permissionOrder">
<el-input v-model="addForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设置权限上级" prop="parentId">
<el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入或者选择适配权限"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-button type="info" size="mini" @click="drawer = true">设置权限上级</el-button>
</el-col>
</el-row>
<el-form-item label="是否是目录" prop="ismenu">
<el-switch
v-model="addForm.ismenu"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
active-value="1"
inactive-value="0">
>
</el-switch>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
<el-button type="primary" @click.native="dialogStatus==='create'?addSubmit():editSubmit()" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
<el-drawer
title="设置权限上级"
:visible.sync="drawer"
append-to-body
withHeader>
<el-row>
<el-col :span="7" :offset="1">
<span style="color:#E6A23C">不设置为顶级权限</span>
</el-col>
<el-col :span="8" >
<el-button type="primary" @click.native="treeMerge(false)">合并节点</el-button>
</el-col>
<el-col :span="8">
<el-button type="primary" @click.native="treeMerge(true)">展开节点</el-button>
</el-col>
</el-row>
<el-tree :data="tableList" :props="treeDefaultProps"
@check="clickDeal"
:default-expand-all = "treeExpand"
show-checkbox
highlight-current
check-strictly
node-key="permissionId" ref="tree">
</el-tree>
</el-drawer>
</section>
</template>
... ... @@ -137,71 +160,73 @@
import util from '../../common/js/util'
//import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/perm_api';
import moment from 'moment'
import moment from 'moment'
export default {
data() {
return {
filters: {
name: ''
name: ''
},
cascaderOptions:[],
tableList: [],
total: 0,
pageNum: 1,
pageSize: 100,
pageNum: 1,
pageSize: 500,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入权限名称', trigger: 'blur' }
]
treeDefaultProps: {
children: 'children',
label: 'name',
},
//编辑界面数据
editForm: {
permissionId:'',
description: '',
name: '',
url: '',
path: '',
parentId: '',
ismenu: '',
permissionOrder:''
pannelProps: {
children: 'children',
label: 'name',
value: 'path',
checkStrictly: true,
},
pannelUrlProps: {
children: 'children',
label: 'name',
value: 'url',
checkStrictly: true,
emitPath: false
},
treeExpand: true,
addFormVisible: false,//新增界面是否显示
dialogMap: {
update: '编辑',
create: '新增',
},
dialogStatus: 'create',
drawer: false,
addLoading: false,
addFormRules: {
name: [
name: [
{ required: true, message: '请输入权限名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入权限描述', trigger: 'blur' }
path: [
{ required: true, message: '请输入总路径', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入权限路径', trigger: 'blur' }
],
paht: [
{ required: true, message: '请输入总路径', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入权限路径', trigger: 'blur' }
],
permissionOrder: [
{ required: true, message: '请输入排序字段', trigger: 'blur' }
],
parentId: [
{ required: true, message: '请输入父类ID', trigger: 'blur' }
]
permissionOrder: [
{ required: true, message: '请输入排序字段', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
description: '',
name: '',
url: '',
permissionId:'',
description: '',
name: '',
url: '',
path: '',
parentId: '',
ismenu: '',
permissionOrder:''
parentId: 0,
ismenu: true,
permissionOrder: '0',
chidren: [],
component: '',
method: ''
}
}
... ... @@ -211,9 +236,9 @@
formatSex: function (row, column) {
return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知';
},
formatState: function (row, column) {
return row.ismenu == true ? '是' : row.ismenu == false ? '否' : '未知';
},
formatState: function (row, column) {
return row.ismenu == true ? '是' : row.ismenu == false ? '否' : '未知';
},
handleCurrentChange(val) {
this.pageNum = val;
this.getTableList();
... ... @@ -221,30 +246,26 @@
//获取列表
getTableList() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
name: this.filters.name
pageNum: this.pageNum,
pageSize: this.pageSize,
name: this.filters.name
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
getList(para).then((res) => {
this.total = res.data.total;
this.tableList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
alert(error);
}
});
},
... ... @@ -256,7 +277,7 @@
this.listLoading = true;
//NProgress.start();
let para = { permissionId: row.permissionId };
remove(para).then((res) => {
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
... ... @@ -265,53 +286,55 @@
});
this.getTableList();
}).catch((error) => {
this.listLoading = false;
alert(error);
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.addFormVisible = true;
this.dialogStatus= 'update',
this.addForm = Object.assign({}, row);
},
//显示新增界面,每次点开初始化数据
handleAdd: function () {
this.addFormVisible = true;
this.dialogStatus= 'create',
this.addForm = {
username: '',
password: '',
sex: 1,
address: '',
realname: '',
email: '',
mobilephone: '',
age: 1
description: '',
name: '',
url: '',
path: '',
parentId: 0,
ismenu: '',
permissionOrder:'0'
};
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.editLoading = false;
edit(para).then((res) => {
let para = Object.assign({}, this.addForm);
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.addLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getTableList();
}).catch(error => alert(error));
});
... ... @@ -327,7 +350,7 @@
//NProgress.start();
let para = Object.assign({}, this.addForm);
para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
add(para).then((res) => {
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
... ... @@ -354,7 +377,7 @@
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
... ... @@ -366,15 +389,43 @@
}).catch(() => {
});
},
showDrawer: function(){
this.drawer = true;
this.$nextTick(() => {
//反向适配
this.$refs.tree.setCheckedKeys([this.addForm.parentId]);
});
},
clickDeal: function (currentObj, treeStatus) {
this.addForm.parentId = currentObj.permissionId;
this.$refs.tree.setCheckedKeys([currentObj.permissionId]);
// this.drawer = false;
},
treeMerge: function (expand) {
this.treeExpand = expand;
for(var i=0;i<this.$refs.tree.store._getAllNodes().length;i++){
this.$refs.tree.store._getAllNodes()[i].expanded=this.treeExpand;
}
}
},
mounted() {
this.getTableList();
this.cascaderOptions = this.$router.options.routes;
}
}
</script>
<style scoped>
<style rel="stylesheet/scss" lang="scss">
.el-drawer.rtl {
overflow: scroll
}
.el-row{
.el-col {
margin-right: 0px;
}
}
</style>
\ No newline at end of file
... ...
... ... @@ -195,13 +195,6 @@
}
},
methods: {
//性别显示转换
formatSex: function (row, column) {
return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知';
},
formatState: function (row, column) {
return row.state == true ? '是' : row.state == false ? '否' : '未知';
},
handleCurrentChange(val) {
this.pageNum = val;
this.getRoles();
... ...
... ... @@ -63,6 +63,17 @@
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="所属公司" prop="companyId">
<el-select v-model="editForm.companyId" filterable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="ID">
<span>{{editForm.userId}}</span>
</el-form-item>
... ... @@ -125,6 +136,17 @@
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="所属公司" prop="companyId">
<el-select v-model="addForm.companyId" filterable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="账号" prop="username">
<el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input>
</el-form-item>
... ... @@ -185,6 +207,7 @@
import NProgress from 'nprogress'
import { getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole } from '../../api/user';
import { getList} from '../../api/role_api';
import { getList as getRoleList} from '../../api/role_api';
import moment from 'moment'
export default {
data() {
... ... @@ -223,7 +246,8 @@
realname: '',
email: '',
mobilephone: '',
state: 'true'
state: 'true',
companyId:''
},
addFormVisible: false,//新增界面是否显示
... ... @@ -234,6 +258,9 @@
],
password: [
{ required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'}
],
companyId: [
{ required: true, message: '请选择所属您的所属公司', trigger: 'blur' },
]
},
//用户角色配置
... ... @@ -247,7 +274,8 @@
realname: '',
email: '',
mobilephone: '',
age: 1
age: 1,
companyId:''
},
roleEditForm: {
userId: 1,
... ... @@ -255,7 +283,8 @@
roles: []
},
roles: [],
roleIds: []
roleIds: [],
options: []
}
},
... ... @@ -292,6 +321,20 @@
});
},
// 获取公司列表
getCompanyNmae(){
let para = {
type: "公司"
};
getRoleList(para).then((res) => {
this.options = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch(() => {
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
... ... @@ -375,7 +418,8 @@
realname: '',
email: '',
mobilephone: '',
age: 1
age: 1,
companyId:''
};
},
//编辑
... ... @@ -444,6 +488,7 @@
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
... ... @@ -508,6 +553,7 @@
},
mounted() {
this.getUsers();
this.getCompanyNmae();
},
computed: {
hideShow() {//当图片多于一张的时候,就隐藏上传框
... ...
... ... @@ -84,7 +84,7 @@
<span>{{scope.row.weight}}</span>
</template>
</el-table-column>
<el-table-column label="货物描述" width="120" align="center">
<el-table-column label="货物描述" width="120" style="height: 20px" align="center">
<template slot-scope="scope">
<span>{{scope.row.goodsname}}</span>
</template>
... ... @@ -565,9 +565,9 @@
this.listLoading = true
if (this.arriveQuery.awba !== undefined) {
getMt3201ListForParam(this.arriveQuery).then(res => {
this.arriveData = res.data.dataList
this.total = res.data.count
if (res.data.dataList.length > 0){
this.arriveData = res.data.data.list
this.total = res.data.data.total
if (res.data.data.list.length > 0){
this.arriveQuery.carrier = this.arriveData[0].carrier
this.arriveQuery.flightno = this.arriveData[0].flightno
this.arriveQuery.flightdate = this.arriveData[0].flightdate
... ... @@ -581,8 +581,8 @@
})
} else {
getMt3201ListForParam(this.arriveQuery).then(res => {
this.arriveData = res.data.dataList
this.total = res.data.count
this.arriveData = res.data.data.list
this.total = res.data.data.total
setTimeout(() => {
this.listLoading = false
}, 1.5 * 1000)
... ...
... ... @@ -12,13 +12,13 @@
<el-table :data="flightData" stripe style="font-size: 14px" border>
<el-table-column label="航班号" width="180px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.carrier }}{{ scope.row.flightNo }}</span>
<span>{{ scope.row.carrier }}{{ scope.row.flightno }}</span>
</template>
</el-table-column>
<el-table-column label="航班日期" width="190px" align="center">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.flightDate }}</span>
<span>{{ scope.row.flightdate }}</span>
</template>
</el-table-column>
<el-table-column label="始发站" width="160px" align="center">
... ... @@ -75,8 +75,8 @@
},
getList() {
getFlightListForParam(this.listQuery).then(res => {
this.flightData = res.data.dataList
this.total = res.data.count
this.flightData = res.data.data.list
this.total = res.data.data.total
})
},
handleSearch() {
... ... @@ -84,26 +84,26 @@
},
handleLoading(row) {
row.messageType = 'MT4201'
row.flightdate = row.flightDate
row.flightno = row.flightNo
row.flightdate = row.flightdate
row.flightno = row.flightno
this.$router.push({name: '出港航班信息', params: {scopeRow: row}})
},
handleTidy(row) {
row.messageType = 'MT5202'
row.flightdate = row.flightDate
row.flightno = row.flightNo
row.flightdate = row.flightdate
row.flightno = row.flightno
this.$router.push({name: '出港航班信息', params: {scopeRow: row}})
},
handleArrive(row) {
row.messageType = 'MT3201'
row.flightdate = row.flightDate
row.flightno = row.flightNo
row.flightdate = row.flightdate
row.flightno = row.flightno
this.$router.push({name: '出港航班信息', params: {scopeRow: row}})
},
handlePre(row) {
row.messageType = 'MT2201'
row.flightdate = row.flightDate
row.flightno = row.flightNo
row.flightdate = row.flightdate
row.flightno = row.flightno
this.$router.push({name: '出港航班信息', params: {scopeRow: row}})
}
},
... ...
... ... @@ -117,7 +117,7 @@
this.flight.originstation = this.$route.params.scopeRow.originstation
this.flight.destinationstation = this.$route.params.scopeRow.destinationstation
this.flight.messageType = this.$route.params.scopeRow.messageType
if (this.$route.params.scopeRow.awba !== undefined) {
if (this.$route.params.scopeRow.awba !== undefined && this.$route.params.scopeRow.awba != null) {
this.flight.awba = this.$route.params.scopeRow.awba.replace('-', '')
}
}
... ...
... ... @@ -556,9 +556,9 @@
this.listLoading = true
if (this.loadingQuery.awba !== undefined && this.loadingQuery.awba !== '') {
getMt4201ListForParam(this.loadingQuery).then(res => {
this.loadingData = res.data.dataList
this.total = res.data.count
if (res.data.count > 0) {
this.loadingData = res.data.data.list
this.total = res.data.data.total
if (res.data.data.total > 0) {
this.loadingQuery.carrier = this.loadingData[0].carrier
this.loadingQuery.flightno = this.loadingData[0].flightno
this.loadingQuery.flightdate = this.loadingData[0].flightdate
... ... @@ -572,8 +572,8 @@
})
} else {
getMt4201ListForParam(this.loadingQuery).then(res => {
this.loadingData = res.data.dataList
this.total = res.data.count
this.loadingData = res.data.data.list
this.total = res.data.data.total
setTimeout(() => {
this.listLoading = false
}, 1.5 * 1000)
... ...
... ... @@ -41,9 +41,10 @@
</el-col>
</el-row>
</div>
<tree-table v-loading="listLoading" :data="manifestData" :eval-func="func" :expand-all="true"
<el-table v-loading="listLoading" :data="manifestData" :eval-func="func" :expand-all="true"
style="font-size: 13px" border @selection-change="handleSelectionChange"
:row-class-name="tableRowClassName">
<el-table-column type="selection" width="60"></el-table-column>
<el-table-column label="航班号" width="80px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.carrier }}{{ scope.row.flightno }}</span>
... ... @@ -127,10 +128,10 @@
<a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT3201'" @click="handleUpdate(scope.row)">出港运抵</a>
<a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT4201'" @click="handleUpdate(scope.row)">出港装载</a>
<a style="color: #1d8ce0; margin-right: 5px" v-if="scope.row.messageType==='MT5202'" @click="handleUpdate(scope.row)">出港理货</a>
<a style="color: #1d8ce0" @click="handleUpdateStatus(scope.row)">更改状态</a>
<!-- <a style="color: #1d8ce0" @click="handleUpdateStatus(scope.row)">更改状态</a>-->
</template>
</el-table-column>
</tree-table>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize"
@pagination="getList"/>
</div>
... ... @@ -212,6 +213,7 @@
},
handleSearch(){
this.listQuery.pageSize =1;
this.getList()
},
handleUpdateStatus(row){
... ...
... ... @@ -1103,9 +1103,9 @@
this.listLoading = true
if (this.preQuery.awba !== undefined && this.preQuery.awba !== '') {
getMt2201ListForParam(this.preQuery).then(res => {
this.preData = res.data.dataList
this.total = res.data.count
if (res.data.dataList.length > 0) {
this.preData = res.data.data.list
this.total = res.data.data.total
if (res.data.data.list.length > 0) {
this.preQuery.carrier = this.preData[0].carrier
this.preQuery.flightno = this.preData[0].flightno
this.preQuery.flightdate = this.preData[0].flightdate
... ... @@ -1119,9 +1119,9 @@
})
} else {
getMt2201ListForParam(this.preQuery).then(res => {
this.preData = res.data.dataList
this.preData = res.data.data.list
this.total = res.data.count
this.total = res.data.data.total
setTimeout(() => {
this.listLoading = false
}, 1500)
... ... @@ -1535,6 +1535,7 @@
let residuePiece = 0
let residueWeight = 0
const childrenList = res.data.dataList[0].children
if (childrenList.length < 1) {
this.awbPiece = res.data.dataList[0].piece
this.awbWeight = res.data.dataList[0].weight
... ...
... ... @@ -585,9 +585,9 @@
//根据是否有主单号 来给查询条件赋值
if (this.tidyQuery.awba !== undefined && this.tidyQuery.awba !== '') {
getMt520XListForParam(this.tidyQuery).then(res => {
this.tidyData = res.data.dataList
this.total = res.data.count
if (res.data.dataList.length > 0) {
this.tidyData = res.data.data.list;
this.total = res.data.data.total
if (res.data.data.list.length > 0) {
this.tidyQuery.carrier = this.tidyData[0].carrier
this.tidyQuery.flightno = this.tidyData[0].flightno
this.tidyQuery.flightdate = this.tidyData[0].flightdate
... ... @@ -601,8 +601,8 @@
})
} else {
getMt520XListForParam(this.tidyQuery).then(res => {
this.tidyData = res.data.dataList
this.total = res.data.count
this.tidyData = res.data.data.list;
this.total = res.data.data.total;
setTimeout(() => {
this.listLoading = false
}, 1500)
... ...