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

修改样式及路由

parent 4201e666
......@@ -13,15 +13,19 @@ const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
rules: utils.styleLoaders({
sourceMap: config.dev.cssSourceMap,
usePostCSS: true
})
},
devtool: config.dev.devtool,
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
rewrites: [{
from: /.*/,
to: path.posix.join(config.dev.assetsPublicPath, 'index.html')
}, ],
},
hot: true,
contentBase: false,
......@@ -29,9 +33,10 @@ const devWebpackConfig = merge(baseWebpackConfig, {
host: HOST || config.dev.host, //ip
port: PORT || config.dev.port, //端口
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
overlay: config.dev.errorOverlay ? {
warnings: false,
errors: true
} : false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable, //前端代理
quiet: true,
......@@ -50,16 +55,14 @@ const devWebpackConfig = merge(baseWebpackConfig, {
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
favicon: './favicon.ico',
// favicon: './favicon.ico',
inject: true
}),
new CopyWebpackPlugin([
{
new CopyWebpackPlugin([{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
}])
]
})
......@@ -75,9 +78,8 @@ module.exports = new Promise((resolve, reject) => {
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
onErrors: config.dev.notifyOnErrors ?
utils.createNotifierCallback() : undefined
}))
resolve(devWebpackConfig)
}
......
......@@ -184,38 +184,92 @@
}
}
.el-form-item--small.el-form-item {
.main-app {
.el-form-item--small.el-form-item {
margin-bottom: 20px;
}
}
.el-checkbox__label {
.el-checkbox__label {
padding-left: 5px;
}
}
.el-input__inner {
.el-input__inner {
padding: 0 5px;
}
}
.el-input--prefix .el-input__inner {
padding: 0 30px;
}
.el-radio__inner::after {
.el-radio__inner::after {
background: #40a2de;
width: 8px;
height: 8px;
}
}
.el-radio__label {
.el-radio__label {
padding-left: 5px;
}
}
.el-form-item__label {
.el-form-item__label {
padding-right: 10px;
}
}
.el-tooltip__popper.is-dark {
.el-tooltip__popper.is-dark {
opacity: 0.7;
}
}
.noData {
.noData {
margin: 0 auto;
background: url("../images/CoverPage.png") no-repeat center;
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,
blockquote {
margin: 0;
padding: 0;
font-family: "Microsoft Yahei", Arial;
}
h1,
......
......@@ -2,7 +2,7 @@
<el-dialog
:title="title"
:visible.sync="dialogVisible"
width="1200px"
width="1000px"
@closed="closedHandler"
:close-on-click-modal="false"
class="emergencyCarDialog"
......@@ -11,13 +11,134 @@
ref="dataForm"
:model="dataForm"
size="small"
label-width="300px"
label-width="218px"
:rules="rules"
:disabled="formDisabled"
v-loading="loading"
>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆使用单位(全称):"
prop="vehicleUsingUnit"
>
<el-input
placeholder="请输入车辆使用单位"
v-model="dataForm.vehicleUsingUnit"
/>
</el-form-item>
<el-form-item
label="单位性质:"
prop="unitType"
>
<el-radio-group
class="radio-group-type1"
v-model="dataForm.unitType"
>
<el-radio :label="1">公立医疗</el-radio>
<el-radio :label="2">民营医院</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="车辆管理负责人:"
prop="vehicleManager"
>
<el-input
placeholder="请输入车辆管理负责人"
v-model="dataForm.vehicleManager"
/>
</el-form-item>
<el-form-item
label="负责人11位手机号:"
prop="contactPhone"
>
<el-input
placeholder="请输入负责人联系方式"
v-model="dataForm.contactPhone"
/>
</el-form-item>
<el-form-item
label="车辆品牌:"
prop="vechieBrand"
>
<el-input
placeholder="请输入车辆品牌"
v-model="dataForm.vechieBrand"
/>
</el-form-item>
<el-form-item
label="车辆识别代码(17位车架号):"
prop="vechieVinCode"
>
<el-input
placeholder="请输入车辆识别代码"
v-model="dataForm.vechieVinCode"
/>
</el-form-item>
<el-form-item
label="车辆是否上牌:"
prop="vechieIsLicense"
>
<el-radio-group
class="radio-group-type1"
v-model="dataForm.vechieIsLicense"
>
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="车牌号:"
v-if="dataForm.vechieIsLicense !== 2"
prop="licensePlateNumber"
>
<el-input
placeholder="请输入车牌号"
v-model="dataForm.licensePlateNumber"
/>
</el-form-item>
<!-- <el-form-item
label="车辆是否站点使用:"
prop="siteUseLicense"
>
<el-radio-group
class="radio-group-type1"
v-model="dataForm.siteUseLicense"
>
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label="站点名称:"
prop="siteName"
>
<el-input
placeholder="请输入站点名称"
v-model="dataForm.siteName"
/>
</el-form-item>
<el-form-item
label="上级医院名称:"
prop="transHospitalName"
>
<el-input
placeholder="请输入上级医院名称"
v-model="dataForm.transHospitalName"
/>
</el-form-item> -->
<el-form-item
label="备注(选填):"
prop="remark"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入备注"
v-model="dataForm.remark"
/>
</el-form-item>
<el-form-item
label="车辆图片"
prop="emergencyCarUrl"
......@@ -36,29 +157,19 @@
:src="dataForm.emergencyCarUrl"
class="avatar"
>
<i
<div
class="avatar-show"
v-else
class="el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆使用单位(请填写单位全称)"
prop="vehicleUsingUnit"
>
<el-input
placeholder="请输入车辆使用单位"
v-model="dataForm.vehicleUsingUnit"
/>
<i class="el-icon-plus avatar-uploader-icon"></i>
<span>上传图片</span>
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="辖区(多个院区则填写主院区所属辖区)"
label="所属辖区(主院区):"
prop="area"
>
<el-select
......@@ -74,23 +185,8 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="单位性质"
prop="unitType"
>
<el-radio-group v-model="dataForm.unitType">
<el-radio :label="1">公立医疗</el-radio>
<el-radio :label="2">民营医院</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="车辆类型"
label="车辆类型:"
prop="vechieType"
>
<el-select
......@@ -106,72 +202,33 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆管理负责人"
prop="vehicleManager"
>
<el-input
placeholder="请输入车辆管理负责人"
v-model="dataForm.vehicleManager"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否为院前急救车(车辆用途)"
label="是否为院前急救车"
prop="isPreHospitalVechie"
>
<el-radio-group v-model="dataForm.isPreHospitalVechie">
<el-radio-group
class="radio-group-type1"
v-model="dataForm.isPreHospitalVechie"
>
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="负责人联系方式(11位手机号)"
prop="contactPhone"
>
<el-input
placeholder="请输入负责人联系方式"
v-model="dataForm.contactPhone"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="车辆来源"
label="车辆来源:"
prop="vechieSource"
>
<el-radio-group v-model="dataForm.vechieSource">
<el-radio-group
class="radio-group-type2"
v-model="dataForm.vechieSource"
>
<el-radio :label="1">购买</el-radio>
<el-radio :label="2">捐赠</el-radio>
<el-radio :label="3">划拨</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆品牌"
prop="vechieBrand"
>
<el-input
placeholder="请输入车辆品牌"
v-model="dataForm.vechieBrand"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="首次登记日期"
label="首次登记日期:"
prop="firstRegisterDate"
>
<el-date-picker
......@@ -179,57 +236,34 @@
placeholder="请选择首次登记日期"
v-model="dataForm.firstRegisterDate"
style="width: 100%;"
prefix-icon="el-icon-date"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆识别代码(11位车架号)"
prop="vechieVinCode"
>
<el-input
placeholder="请输入车辆识别代码"
v-model="dataForm.vechieVinCode"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="车辆使用状态"
label="车辆使用状态:"
prop="vechieUseStatus"
>
<el-radio-group v-model="dataForm.vechieUseStatus">
<el-radio-group
class="radio-group-type2"
v-model="dataForm.vechieUseStatus"
>
<el-radio :label="1">在用</el-radio>
<el-radio :label="2">闲置</el-radio>
<el-radio :label="3">其他</el-radio>
</el-radio-group>
<el-input
v-if="dataForm.vechieUseStatus === 3"
type="textarea"
:rows="3"
resize="none"
placeholder="若选择其他,请手动输入车辆使用状态"
v-model="dataForm.otherStatus"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车辆是否上牌"
prop="vechieIsLicense"
>
<el-radio-group v-model="dataForm.vechieIsLicense">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="车辆特殊用途"
label="车辆特殊用途:"
prop="vechieSpecialPurpose"
>
<el-select
......@@ -245,30 +279,28 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="车牌号"
prop="licensePlateNumber"
label="特殊设备(选填):"
prop="specialDevice"
>
<el-input
placeholder="请输入车牌号"
v-model="dataForm.licensePlateNumber"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="备注(若无可略过)"
prop="remark"
<el-radio-group
class="radio-group-type3"
v-model="dataForm.specialDevice"
>
<el-radio :label="1">车载CT</el-radio>
<el-radio :label="2">车载ECMO</el-radio>
<el-radio :label="3">其他</el-radio>
</el-radio-group>
<el-input
placeholder="请输入备注"
v-model="dataForm.remark"
v-if="dataForm.specialDevice === 3"
type="textarea"
:rows="3"
resize="none"
placeholder="若选择其他,请手动输入特殊设备"
v-model="dataForm.specialDeviceOther"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
......@@ -385,12 +417,15 @@ export default {
{ required: true, message: '请选择首次登记日期' },
],
vechieVinCode: [
{ required: true, max: 11, message: '请输入正确格式的车辆识别代码' }
{ required: true, max: 17, message: '请输入正确格式的车辆识别代码' }
],
vechieUseStatus: [
{ required: true, message: '请选择车辆使用状态' },
{ validator: checkVechieUseStatus }
],
vechieSpecialPurpose: [
{ required: true, message: '请选择车辆特殊用途' },
],
vechieIsLicense: [
{ required: true, message: '请选择车辆是否上牌' },
],
......@@ -505,18 +540,55 @@ export default {
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-show {
width: 84px;
height: 84px;
padding-top: 24px;
box-sizing: border-box;
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
display: block;
text-align: center;
}
span {
font-size: 12px;
color: #9e9e9e;
}
}
.avatar {
width: 178px;
height: 178px;
width: 84px;
height: 84px;
display: block;
}
.el-dialog__body {
padding: 32px 64px 0 60px;
box-sizing: border-box;
}
.radio-group-type1 {
.el-radio {
margin-right: 48px;
&:last-child {
margin-right: 0;
}
}
}
.radio-group-type2 {
.el-radio {
margin-right: 32px;
&:last-child {
margin-right: 0;
}
}
}
.radio-group-type3 {
.el-radio {
margin-right: 8px;
&:last-child {
margin-right: 0;
}
}
}
}
</style>
......@@ -80,7 +80,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -92,7 +92,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -70,7 +70,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -82,7 +82,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -81,7 +81,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -93,7 +93,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -8,15 +8,20 @@
src="../../assets/images/user.png"
alt=""
>
<span>张医生</span>
<span>{{userInfo.userName}}</span>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo'
])
},
data() {
return {}
},
......
......@@ -38,38 +38,12 @@ export default {
}
},
watch: {
menuMap(val, oldVal) {
this.initNav()
}
},
mounted() {
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() {
......
......@@ -79,7 +79,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -91,7 +91,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -29,6 +29,7 @@
</el-switch>
</el-form-item>
</el-form>
</div>
</div>
</div>
......@@ -36,6 +37,9 @@
<script>
import { queryCheckMenuList, updateCheckMenuList } from '@/api/nav'
import store from '../../store'
import {
Auth
} from '@/util/auth'
export default {
name: 'expertPage',
data() {
......@@ -67,7 +71,8 @@ export default {
updateCheckMenuList(params).then(res => {
if (res.msg === 201) {
this.$message.success('修改成功')
store.dispatch('clearStore')
// store.dispatch('clearStore')
store.dispatch('LoginByToken', Auth.getLoginInfo())
} else {
this.$message.success(res.content)
}
......
......@@ -69,7 +69,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -81,7 +81,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -80,7 +80,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -92,7 +92,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -19,97 +19,104 @@
>
<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="table-box">
<el-table
:data="siteListData"
style="width: 100%"
highlight-current-row
ref="siteListData"
height="100%"
@current-change="getCarDataList"
>
<el-table-column
label="序号"
type="index"
width="50px"
min-width="50px"
>
</el-table-column>
<el-table-column
prop="siteName"
label="站点名称"
width="180"
min-width="180"
>
</el-table-column>
<el-table-column
prop="siteLocation"
label="站点位置"
width="180"
min-width="180"
>
</el-table-column>
<el-table-column
prop="carCount"
label="车辆数"
width="80px"
min-width="80px"
>
</el-table-column>
<el-table-column
prop="hospitalName"
label="所在医疗机构"
min-width="180px"
>
</el-table-column>
</el-table>
</div>
</div>
<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="table-box">
<el-table
:data="carListData"
style="width: 100%"
height="100%"
>
<el-table-column
label="序号"
type="index"
width="50px"
min-width="50px"
>
</el-table-column>
<el-table-column
prop="licensePlateNumber"
label="车牌号"
width="120"
min-width="120"
>
</el-table-column>
<el-table-column
prop="vechieType"
label="车辆类型"
width="120"
min-width="120"
:formatter="vechieTypeFormatter"
>
</el-table-column>
<el-table-column
prop="vechieUseStatus"
label="车辆状态"
width="80"
min-width="80"
:formatter="vechieUseStatusFormatter"
>
</el-table-column>
<el-table-column
prop="vechieSpecialPurpose"
label="车辆特殊用途"
width="120"
min-width="120"
:formatter="vechieSpecialPurposeFormatter"
>
</el-table-column>
<el-table-column
prop="isPreHospitalVechie"
label="是否院前急救车"
width="80"
min-width="80"
:formatter="isPreHospitalVechieFormatter"
>
</el-table-column>
<el-table-column
prop="vehicleUsingUnit"
label="车辆使用单位"
min-width="180"
>
</el-table-column>
</el-table>
</div>
</div>
</el-col>
</el-row>
</div>
......@@ -139,12 +146,8 @@ export default {
this.init()
},
methods: {
init() {
//划分出行政区
const map = new BMapGL.Map('allmap')
map.centerAndZoom(new BMapGL.Point(defaultCenterPoint[0], defaultCenterPoint[1]), 11)
this.map = map
map.enableScrollWheelZoom(true);
getSelections() {
getDic(['area', 'vechie_type', 'vechie_special_purpose']).then(res => {
this.vechieTypeList = res.vechie_type
this.vechieSpecialPurposeList = res.vechie_special_purpose
......@@ -155,38 +158,46 @@ export default {
// })
// }
})
// 地图上打点
},
markerHandler() {
queryEmergencySiteList().then(res => {
if (res.msg === 201) {
if (res.respData && res.respData.length > 0) {
this.allData = res.respData
this.siteListData = res.respData
res.respData.forEach(item => {
if (item.siteLatitude && item.siteLongitude) {
const point = new BMapGL.Point(item.siteLongitude, item.siteLatitude)
const marker = new BMapGL.Marker(point)
map.addOverlay(marker)
marker.addEventListener('click', () => {
this.getSiteListData(item.areaName)
this.$nextTick(() => {
const dataList = this.allData.filter(i => i.id === item.id) || []
this.$refs.siteListData.setCurrentRow(dataList[0]);
})
map.centerAndZoom(new BMapGL.Point(item.siteLongitude, item.siteLatitude), 18)
})
}
})
// if (res.respData && res.respData[0]) {
// this.$refs.siteListData.setCurrentRow(res.respData[0]);
// res.respData.forEach(item => {
// if (item.siteLatitude && item.siteLongitude) {
// const point = new BMapGL.Point(item.siteLongitude, item.siteLatitude)
// const marker = new BMapGL.Marker(point)
// this.map.addOverlay(marker)
// marker.addEventListener('click', () => {
// this.getSiteListData(item.areaName)
// this.$nextTick(() => {
// const dataList = this.allData.filter(i => i.id === item.id) || []
// this.$refs.siteListData.setCurrentRow(dataList[0]);
// })
// map.centerAndZoom(new BMapGL.Point(item.siteLongitude, item.siteLatitude), 18)
// })
// }
// })
}
} else {
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 that = this
bdary.get(districtName, function(rs) { //获取行政区域
......@@ -196,7 +207,7 @@ export default {
fillColor: '#' + (Math.random() * 0xFFFFFF << 0).toString(16),
fillOpacity: 0.3
}); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
that.map.addOverlay(ply); //添加覆盖物
ply.addEventListener('click', () => {
that.getSiteListData(districtName)
})
......@@ -274,5 +285,13 @@ export default {
color: red;
}
}
.table-box {
height: calc(100% - 46px);
}
// .table1 {
// width: 100%;
// overflow: auto;
// }
}
</style>
\ No newline at end of file
......@@ -93,7 +93,7 @@
<el-table-column
label="序号"
type="index"
width="50"
min-width="50"
>
</el-table-column>
<el-table-column
......@@ -105,7 +105,7 @@
:sortable="item.sortable"
:fixed="item.fixed"
:key="index"
:width="item.width"
:min-width="item.width"
:show-overflow-tooltip="true"
>
</el-table-column>
......
......@@ -7,17 +7,13 @@ import {
Message
} from 'element-ui'
import {
Auth,
Cache
Auth
} from '@/util/auth'
import store from '../store'
import {
staticRoute,
routeHandle
} from './staticRoute'
import {
login
} from '../api/common'
NProgress.configure({
showSpinner: false
})
......@@ -43,128 +39,54 @@ router.beforeEach((to, from, next) => {
const token = to.query.token
const _token = Auth.getLoginInfo()
// const userInfo = store.getters.userInfo
// const menu = store.getters.menuMap
const routers = router.getRoutes()
const menu = store.getters.menuMap
const userInfo = store.getters.userInfo
// console.log('router', routers)
// console.log('token', token)
// console.log('_token', _token)
// console.log('userInfo', userInfo)
// console.log('menu', menu)
if (token && token !== _token) { // 重新登录
store.dispatch('clearStore')
login({
token: token
}).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)
if ((token && token !== _token) || (_token && (routers.length === 7 || !menu || !userInfo))) { //新用户登或重新登录
console.log('拉取用户数据')
store.dispatch('LoginByToken', token || _token).then(res => {
// const {
// menuMap
// } = res
// router.addRoutes(routeHandle(menuMap))
next({
...to,
replace: true
})
} else {
}).catch(err => {
store.dispatch('clearStore')
Message({
type: 'error',
message: res.content
message: '登录失败 请联系管理员!'
})
next({
path: '/error/404',
replace: true
})
}
})
} else {
if (routers.length > 7) {
if (whiteList.indexOf(to.path) >= 0) {
console.log('该页面无需登录即可访问')
next()
} else {
store.dispatch('clearStore')
login({
token: token || _token
}).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
})
if (routers.length > 7 && _token && menu && userInfo) {
console.log('有数据无需登录')
next()
} else {
Message({
type: 'error',
message: res.content
})
store.dispatch('clearStore')
console.log('没数据没tonken 跳转404')
next({
path: '/error/404',
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(() => {
......
import * as types from './mutation-types'
import {Cache} from '@/util/auth'
export const clearStore = function({commit, state}) {
import {
Cache,
Auth
} from '@/util/auth'
import {
login
} from '../api/common'
export const clearStore = function({
commit,
state
}) {
commit(types.SET_MENUMAP, Cache.clearMenuMap())
commit(types.SET_USERINFO, Cache.clearUserInfo())
Auth.clearLoginInfo()
}
export const saveMenuMap= function({commit}, data) {
import {
routeHandle
} from '../router/staticRoute'
import router from '../router'
export const saveMenuMap = function({
commit
}, 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))
}
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