Commit d4d3751e authored by 何鹏程's avatar 何鹏程

修改样式及路由

parent 4201e666
...@@ -13,15 +13,19 @@ const HOST = process.env.HOST ...@@ -13,15 +13,19 @@ const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT) const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, { const devWebpackConfig = merge(baseWebpackConfig, {
module: { module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) rules: utils.styleLoaders({
sourceMap: config.dev.cssSourceMap,
usePostCSS: true
})
}, },
devtool: config.dev.devtool, devtool: config.dev.devtool,
devServer: { devServer: {
clientLogLevel: 'warning', clientLogLevel: 'warning',
historyApiFallback: { historyApiFallback: {
rewrites: [ rewrites: [{
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, from: /.*/,
], to: path.posix.join(config.dev.assetsPublicPath, 'index.html')
}, ],
}, },
hot: true, hot: true,
contentBase: false, contentBase: false,
...@@ -29,9 +33,10 @@ const devWebpackConfig = merge(baseWebpackConfig, { ...@@ -29,9 +33,10 @@ const devWebpackConfig = merge(baseWebpackConfig, {
host: HOST || config.dev.host, //ip host: HOST || config.dev.host, //ip
port: PORT || config.dev.port, //端口 port: PORT || config.dev.port, //端口
open: config.dev.autoOpenBrowser, open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay overlay: config.dev.errorOverlay ? {
? { warnings: false, errors: true } warnings: false,
: false, errors: true
} : false,
publicPath: config.dev.assetsPublicPath, publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable, //前端代理 proxy: config.dev.proxyTable, //前端代理
quiet: true, quiet: true,
...@@ -50,16 +55,14 @@ const devWebpackConfig = merge(baseWebpackConfig, { ...@@ -50,16 +55,14 @@ const devWebpackConfig = merge(baseWebpackConfig, {
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
filename: 'index.html', filename: 'index.html',
template: 'index.html', template: 'index.html',
favicon: './favicon.ico', // favicon: './favicon.ico',
inject: true inject: true
}), }),
new CopyWebpackPlugin([ new CopyWebpackPlugin([{
{
from: path.resolve(__dirname, '../static'), from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory, to: config.dev.assetsSubDirectory,
ignore: ['.*'] ignore: ['.*']
} }])
])
] ]
}) })
...@@ -75,9 +78,8 @@ module.exports = new Promise((resolve, reject) => { ...@@ -75,9 +78,8 @@ module.exports = new Promise((resolve, reject) => {
compilationSuccessInfo: { compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
}, },
onErrors: config.dev.notifyOnErrors onErrors: config.dev.notifyOnErrors ?
? utils.createNotifierCallback() utils.createNotifierCallback() : undefined
: undefined
})) }))
resolve(devWebpackConfig) resolve(devWebpackConfig)
} }
......
...@@ -184,38 +184,92 @@ ...@@ -184,38 +184,92 @@
} }
} }
.el-form-item--small.el-form-item { .main-app {
.el-form-item--small.el-form-item {
margin-bottom: 20px; margin-bottom: 20px;
} }
.el-checkbox__label { .el-checkbox__label {
padding-left: 5px; padding-left: 5px;
} }
.el-input__inner { .el-input__inner {
padding: 0 5px; padding: 0 5px;
} }
.el-input--prefix .el-input__inner {
padding: 0 30px;
}
.el-radio__inner::after { .el-radio__inner::after {
background: #40a2de; background: #40a2de;
width: 8px; width: 8px;
height: 8px; height: 8px;
} }
.el-radio__label { .el-radio__label {
padding-left: 5px; padding-left: 5px;
} }
.el-form-item__label { .el-form-item__label {
padding-right: 10px; padding-right: 10px;
} }
.el-tooltip__popper.is-dark { .el-tooltip__popper.is-dark {
opacity: 0.7; opacity: 0.7;
} }
.noData { .noData {
margin: 0 auto; margin: 0 auto;
background: url("../images/CoverPage.png") no-repeat center; background: url("../images/CoverPage.png") no-repeat center;
height: 350px; height: 350px;
}
.el-form-item--small .el-form-item__content {
line-height: 30px;
}
.el-input--small .el-input__inner {
height: 30px;
}
.el-button--small {
height: 30px;
padding: 7px 15px;
}
.el-dialog {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*height:600px;*/
max-height: calc(100% - 30px);
max-width: calc(100% - 30px);
margin: 0 !important;
overflow: auto;
.el-dialog__header {
padding: 19px 24px;
background: #F3F6F8;
border-bottom: 1px solid #D6D6D6;
.el-dialog__title {
font-size: 16px;
line-height: 22px;
font-weight: normal;
color: #000000;
}
}
// .el-dialog__body {
// max-height: calc(100% - 61px - 60px);
// overflow: auto;
// }
.el-dialog__footer {
height: 60px;
background: #DDF1FF;
padding: 15px 24px;
}
}
} }
...@@ -30,6 +30,7 @@ span, ...@@ -30,6 +30,7 @@ span,
blockquote { blockquote {
margin: 0; margin: 0;
padding: 0; padding: 0;
font-family: "Microsoft Yahei", Arial;
} }
h1, h1,
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -8,15 +8,20 @@ ...@@ -8,15 +8,20 @@
src="../../assets/images/user.png" src="../../assets/images/user.png"
alt="" alt=""
> >
<span>张医生</span> <span>{{userInfo.userName}}</span>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'
export default { export default {
computed: {
...mapGetters([
'userInfo'
])
},
data() { data() {
return {} return {}
}, },
......
...@@ -38,38 +38,12 @@ export default { ...@@ -38,38 +38,12 @@ export default {
} }
}, },
watch: { watch: {
menuMap(val, oldVal) {
this.initNav()
}
}, },
mounted() { mounted() {
this.initNav() this.initNav()
// this.leftMenu = [
// {
// name: '急救资源',
// icon: 'fa-address-book-o',
// child: [
// { name: '急救车资源', path: '/resources/emergencyCar' },
// { name: '急救绿道资源', path: '/resources/greenWay' },
// { name: '急诊科抢救资源', path: '/resources/rescue' },
// { name: '急诊专家资源', path: '/resources/expert' },
// { name: '急救药品耗材资源', path: '/resources/medical' },
// { name: '急诊站点资源', path: '/resources/sitePage' }
// ]
// },
// {
// name: '业务监管',
// icon: 'fa-address-book-o',
// child: [
// { name: '急救站点查询', path: '/business/siteQuery' },
// ]
// },
// {
// name: '基础信息管理',
// icon: 'fa-address-book-o',
// child: [
// { name: '用户管理', path: '/basicInfo/user' },
// { name: '菜单管理', path: '/basicInfo/nav' },
// ]
// }
// ]
}, },
created() { created() {
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</div> </div>
</div> </div>
...@@ -36,6 +37,9 @@ ...@@ -36,6 +37,9 @@
<script> <script>
import { queryCheckMenuList, updateCheckMenuList } from '@/api/nav' import { queryCheckMenuList, updateCheckMenuList } from '@/api/nav'
import store from '../../store' import store from '../../store'
import {
Auth
} from '@/util/auth'
export default { export default {
name: 'expertPage', name: 'expertPage',
data() { data() {
...@@ -67,7 +71,8 @@ export default { ...@@ -67,7 +71,8 @@ export default {
updateCheckMenuList(params).then(res => { updateCheckMenuList(params).then(res => {
if (res.msg === 201) { if (res.msg === 201) {
this.$message.success('修改成功') this.$message.success('修改成功')
store.dispatch('clearStore') // store.dispatch('clearStore')
store.dispatch('LoginByToken', Auth.getLoginInfo())
} else { } else {
this.$message.success(res.content) this.$message.success(res.content)
} }
......
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -19,97 +19,104 @@ ...@@ -19,97 +19,104 @@
> >
<div class="top main-table"> <div class="top main-table">
<div class="title"><span class="bed"><span class="red">{{areaName}}</span>站点信息</span> (共<span class="red"> {{siteListData.length}} </span>个站点)</div> <div class="title"><span class="bed"><span class="red">{{areaName}}</span>站点信息</span> (共<span class="red"> {{siteListData.length}} </span>个站点)</div>
<div class="table-box">
<el-table <el-table
:data="siteListData" :data="siteListData"
style="width: 100%"
highlight-current-row highlight-current-row
ref="siteListData" ref="siteListData"
height="100%"
@current-change="getCarDataList" @current-change="getCarDataList"
> >
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50px" min-width="50px"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="siteName" prop="siteName"
label="站点名称" label="站点名称"
width="180" min-width="180"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="siteLocation" prop="siteLocation"
label="站点位置" label="站点位置"
width="180" min-width="180"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="carCount" prop="carCount"
label="车辆数" label="车辆数"
width="80px" min-width="80px"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="hospitalName" prop="hospitalName"
label="所在医疗机构" label="所在医疗机构"
min-width="180px"
> >
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div>
<div class="bottom main-table"> <div class="bottom main-table">
<div class="title"><span class="bed"><span class="red">{{siteName}}</span>车辆明细信息</span> (共<span class="red"> {{carListData.length}} </span>辆急救车)</div> <div class="title"><span class="bed"><span class="red">{{siteName}}</span>车辆明细信息</span> (共<span class="red"> {{carListData.length}} </span>辆急救车)</div>
<div class="table-box">
<el-table <el-table
:data="carListData" :data="carListData"
style="width: 100%" height="100%"
> >
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50px" min-width="50px"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="licensePlateNumber" prop="licensePlateNumber"
label="车牌号" label="车牌号"
width="120" min-width="120"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="vechieType" prop="vechieType"
label="车辆类型" label="车辆类型"
width="120" min-width="120"
:formatter="vechieTypeFormatter" :formatter="vechieTypeFormatter"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="vechieUseStatus" prop="vechieUseStatus"
label="车辆状态" label="车辆状态"
width="80" min-width="80"
:formatter="vechieUseStatusFormatter" :formatter="vechieUseStatusFormatter"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="vechieSpecialPurpose" prop="vechieSpecialPurpose"
label="车辆特殊用途" label="车辆特殊用途"
width="120" min-width="120"
:formatter="vechieSpecialPurposeFormatter" :formatter="vechieSpecialPurposeFormatter"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="isPreHospitalVechie" prop="isPreHospitalVechie"
label="是否院前急救车" label="是否院前急救车"
width="80" min-width="80"
:formatter="isPreHospitalVechieFormatter" :formatter="isPreHospitalVechieFormatter"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="vehicleUsingUnit" prop="vehicleUsingUnit"
label="车辆使用单位" label="车辆使用单位"
min-width="180"
> >
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -139,12 +146,8 @@ export default { ...@@ -139,12 +146,8 @@ export default {
this.init() this.init()
}, },
methods: { methods: {
init() {
//划分出行政区 getSelections() {
const map = new BMapGL.Map('allmap')
map.centerAndZoom(new BMapGL.Point(defaultCenterPoint[0], defaultCenterPoint[1]), 11)
this.map = map
map.enableScrollWheelZoom(true);
getDic(['area', 'vechie_type', 'vechie_special_purpose']).then(res => { getDic(['area', 'vechie_type', 'vechie_special_purpose']).then(res => {
this.vechieTypeList = res.vechie_type this.vechieTypeList = res.vechie_type
this.vechieSpecialPurposeList = res.vechie_special_purpose this.vechieSpecialPurposeList = res.vechie_special_purpose
...@@ -155,38 +158,46 @@ export default { ...@@ -155,38 +158,46 @@ export default {
// }) // })
// } // }
}) })
// 地图上打点 },
markerHandler() {
queryEmergencySiteList().then(res => { queryEmergencySiteList().then(res => {
if (res.msg === 201) { if (res.msg === 201) {
if (res.respData && res.respData.length > 0) { if (res.respData && res.respData.length > 0) {
this.allData = res.respData this.allData = res.respData
this.siteListData = res.respData this.siteListData = res.respData
res.respData.forEach(item => { // res.respData.forEach(item => {
if (item.siteLatitude && item.siteLongitude) { // if (item.siteLatitude && item.siteLongitude) {
const point = new BMapGL.Point(item.siteLongitude, item.siteLatitude) // const point = new BMapGL.Point(item.siteLongitude, item.siteLatitude)
const marker = new BMapGL.Marker(point) // const marker = new BMapGL.Marker(point)
map.addOverlay(marker) // this.map.addOverlay(marker)
marker.addEventListener('click', () => { // marker.addEventListener('click', () => {
this.getSiteListData(item.areaName) // this.getSiteListData(item.areaName)
this.$nextTick(() => { // this.$nextTick(() => {
const dataList = this.allData.filter(i => i.id === item.id) || [] // const dataList = this.allData.filter(i => i.id === item.id) || []
this.$refs.siteListData.setCurrentRow(dataList[0]); // this.$refs.siteListData.setCurrentRow(dataList[0]);
}) // })
map.centerAndZoom(new BMapGL.Point(item.siteLongitude, item.siteLatitude), 18) // map.centerAndZoom(new BMapGL.Point(item.siteLongitude, item.siteLatitude), 18)
}) // })
}
})
// if (res.respData && res.respData[0]) {
// this.$refs.siteListData.setCurrentRow(res.respData[0]);
// } // }
// })
} }
} else { } else {
this.$message.error(res.content) this.$message.error(res.content)
} }
}) })
}
,
init() {
//划分出行政区
this.map = new BMapGL.Map('allmap')
this.map.centerAndZoom(new BMapGL.Point(defaultCenterPoint[0], defaultCenterPoint[1]), 11)
this.map.enableScrollWheelZoom(true);
// 划分出行政单位
this.getSelections()
// 地图上打点
this.markerHandler()
}, },
getBoundary(districtName, map) { getBoundary(districtName) {
const bdary = new BMapGL.Boundary() const bdary = new BMapGL.Boundary()
const that = this const that = this
bdary.get(districtName, function(rs) { //获取行政区域 bdary.get(districtName, function(rs) { //获取行政区域
...@@ -196,7 +207,7 @@ export default { ...@@ -196,7 +207,7 @@ export default {
fillColor: '#' + (Math.random() * 0xFFFFFF << 0).toString(16), fillColor: '#' + (Math.random() * 0xFFFFFF << 0).toString(16),
fillOpacity: 0.3 fillOpacity: 0.3
}); //建立多边形覆盖物 }); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物 that.map.addOverlay(ply); //添加覆盖物
ply.addEventListener('click', () => { ply.addEventListener('click', () => {
that.getSiteListData(districtName) that.getSiteListData(districtName)
}) })
...@@ -274,5 +285,13 @@ export default { ...@@ -274,5 +285,13 @@ export default {
color: red; color: red;
} }
} }
.table-box {
height: calc(100% - 46px);
}
// .table1 {
// width: 100%;
// overflow: auto;
// }
} }
</style> </style>
\ No newline at end of file
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" min-width="50"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="item.fixed"
:key="index" :key="index"
:width="item.width" :min-width="item.width"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
</el-table-column> </el-table-column>
......
...@@ -7,17 +7,13 @@ import { ...@@ -7,17 +7,13 @@ import {
Message Message
} from 'element-ui' } from 'element-ui'
import { import {
Auth, Auth
Cache
} from '@/util/auth' } from '@/util/auth'
import store from '../store' import store from '../store'
import { import {
staticRoute, staticRoute,
routeHandle routeHandle
} from './staticRoute' } from './staticRoute'
import {
login
} from '../api/common'
NProgress.configure({ NProgress.configure({
showSpinner: false showSpinner: false
}) })
...@@ -43,128 +39,54 @@ router.beforeEach((to, from, next) => { ...@@ -43,128 +39,54 @@ router.beforeEach((to, from, next) => {
const token = to.query.token const token = to.query.token
const _token = Auth.getLoginInfo() const _token = Auth.getLoginInfo()
// const userInfo = store.getters.userInfo
// const menu = store.getters.menuMap
const routers = router.getRoutes() const routers = router.getRoutes()
const menu = store.getters.menuMap
const userInfo = store.getters.userInfo
// console.log('router', routers) // console.log('router', routers)
// console.log('token', token) // console.log('token', token)
// console.log('_token', _token) // console.log('_token', _token)
// console.log('userInfo', userInfo) // console.log('userInfo', userInfo)
// console.log('menu', menu) // console.log('menu', menu)
if ((token && token !== _token) || (_token && (routers.length === 7 || !menu || !userInfo))) { //新用户登或重新登录
if (token && token !== _token) { // 重新登录 console.log('拉取用户数据')
store.dispatch('clearStore') store.dispatch('LoginByToken', token || _token).then(res => {
login({ // const {
token: token // menuMap
}).then(res => { // } = res
const { // router.addRoutes(routeHandle(menuMap))
parentMenuList
} = res.respData.menuMap
if (res.msg === 201 && parentMenuList && parentMenuList.length > 0) {
store.dispatch('saveMenuMap', parentMenuList)
router.addRoutes(routeHandle(parentMenuList))
store.dispatch('saveUserInfo', res.respData.userDto)
Auth.setLoginInfo(res.respData.token)
next({ next({
...to, ...to,
replace: true replace: true
}) })
} else { }).catch(err => {
store.dispatch('clearStore')
Message({ Message({
type: 'error', type: 'error',
message: res.content message: '登录失败 请联系管理员!'
}) })
next({ next({
path: '/error/404', path: '/error/404',
replace: true replace: true
}) })
}
}) })
} else { } else {
if (routers.length > 7) { if (whiteList.indexOf(to.path) >= 0) {
console.log('该页面无需登录即可访问')
next() next()
} else { } else {
store.dispatch('clearStore') if (routers.length > 7 && _token && menu && userInfo) {
login({ console.log('有数据无需登录')
token: token || _token next()
}).then(res => {
const {
parentMenuList
} = res.respData.menuMap
if (res.msg === 201 && parentMenuList && parentMenuList.length > 0) {
store.dispatch('saveMenuMap', parentMenuList)
router.addRoutes(routeHandle(parentMenuList))
store.dispatch('saveUserInfo', res.respData.userDto)
Auth.setLoginInfo(res.respData.token)
next({
...to,
replace: true
})
} else { } else {
Message({ store.dispatch('clearStore')
type: 'error', console.log('没数据没tonken 跳转404')
message: res.content
})
next({ next({
path: '/error/404', path: '/error/404',
replace: true replace: true
}) })
} }
})
} }
} }
// if (token) {
// if (_token === token) {
// next()
// } else {
// store.dispatch('clearStore')
// login({token: token}).then(res => {
// if (res.msg === 201) {
// store.dispatch('saveMenuMap', res.respData.menuMap.parentMenuList)
// router.addRoutes(routeHandle(res.respData.menuMap.parentMenuList))
// store.dispatch('saveUserInfo', res.respData.userDto)
// Auth.setLoginInfo(res.respData.token)
// next()
// } else {
// this.$message.error(res.content)
// next({path: '/error/404', replace: true})
// }
// })
// }
// } else {
// // 判断是否登录过
// if (Auth.getLoginInfo() && store.getters.userInfo && store.getters.menuMap){
// next()
// } else {
// if (Auth.getLoginInfo()) {
// const token = Auth.getLoginInfo()
// store.dispatch('clearStore')
// login({token: token}).then(res => {
// if (res.msg === 201) {
// store.dispatch('saveMenuMap', res.respData.menuMap.parentMenuList)
// router.addRoutes(routeHandle(res.respData.menuMap.parentMenuList))
// store.dispatch('saveUserInfo', res.respData.userDto)
// Auth.setLoginInfo(res.respData.token)
// next()
// } else {
// next({path: '/error/404', replace: true})
// }
// })
// } else {
// // 判断是否为白名单页面
// if (whiteList.indexOf(to.path) >= 0) {
// next()
// } else {
// store.dispatch('clearStore')
// next({path: '/error/404', replace: true})
// }
// }
// }
// }
}) })
router.afterEach(() => { router.afterEach(() => {
......
import * as types from './mutation-types' import * as types from './mutation-types'
import {Cache} from '@/util/auth' import {
Cache,
export const clearStore = function({commit, state}) { Auth
} from '@/util/auth'
import {
login
} from '../api/common'
export const clearStore = function({
commit,
state
}) {
commit(types.SET_MENUMAP, Cache.clearMenuMap()) commit(types.SET_MENUMAP, Cache.clearMenuMap())
commit(types.SET_USERINFO, Cache.clearUserInfo()) commit(types.SET_USERINFO, Cache.clearUserInfo())
Auth.clearLoginInfo()
} }
import {
export const saveMenuMap= function({commit}, data) { routeHandle
} from '../router/staticRoute'
import router from '../router'
export const saveMenuMap = function({
commit
}, data) {
commit(types.SET_MENUMAP, Cache.setMenuMap(data)) commit(types.SET_MENUMAP, Cache.setMenuMap(data))
} }
export const saveUserInfo = function({commit}, data) { export const saveUserInfo = function({
commit
}, data) {
commit(types.SET_USERINFO, Cache.setUserInfo(data)) commit(types.SET_USERINFO, Cache.setUserInfo(data))
} }
export const LoginByToken = function({
commit
}, data) {
return new Promise(async (resolve, reject) => {
const res = await login({
token: data
})
const {
menuMap: {
parentMenuList
},
token,
userDto
} = res.respData
if (res.msg === 201 && parentMenuList && parentMenuList.length > 0) {
await commit(types.SET_MENUMAP, Cache.setMenuMap(parentMenuList))
await commit(types.SET_USERINFO, Cache.setUserInfo(userDto))
Auth.setLoginInfo(token)
console.log(111)
router.addRoutes(routeHandle(parentMenuList))
resolve()
} else {
reject()
}
})
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment