528 lines
25 KiB
HTML
528 lines
25 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="${lang,escape}">
|
|
<head>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
|
|
<meta name="description" content="${AppName!}">
|
|
<title>${AppName!}</title>
|
|
<meta charset="UTF-8">
|
|
<!-- import CSS -->
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/myframe/css/myframe.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/fonts/themify-icons.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/common.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/main.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/elmain.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/panel.css">
|
|
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/wangeditor/wangEditor.css">
|
|
<link rel="stylesheet" type="text/css" href="${base!}/assets/platform/plugins/viewer/viewer.min.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/wp-upload-vue/css/wpupload.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/wp-upload-vue/font/iconfont.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/vivify.min.css">
|
|
<link href="${base!}/assets/platform/plugins/vue-cron/vcrontab.css" rel="stylesheet"/>
|
|
|
|
<script src="${base!}/assets/platform/plugins/vue-cron/vcrontab.umd.min.js"></script>
|
|
<!-- import Vue before Element -->
|
|
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
|
<!-- <script src="https://cdn.staticfile.org/vue/2.6.0/vue.js"></script>-->
|
|
|
|
<!-- vue-count-to -->
|
|
<script src="${base!}/assets/platform/plugins/vue-count-to/vue-count-to.min.js"></script>
|
|
|
|
<!-- wpupload -->
|
|
<script type="text/javascript" src="${base!}/assets/platform/plugins/wp-upload-vue/js/axios.min.js"></script>
|
|
<script type="text/javascript" src="${base!}/assets/platform/plugins/wp-upload-vue/font/iconfont.js"></script>
|
|
<script type="text/javascript" src="${base!}/assets/platform/plugins/wp-upload-vue/js/wpupload.js"></script>
|
|
|
|
<!-- import JavaScript -->
|
|
<script src="${base!}/assets/platform/plugins/element-ui/lib/index.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/element-ui/lib/i18n/${lang,escape}.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
|
<!-- <script src="${base!}/assets/platform/plugins/jquery/jquery-3.5.0.js"></script>-->
|
|
<script src="${base!}/assets/platform/plugins/slimscroll/jquery.slimscroll.min.js"></script>
|
|
|
|
<!--后面就改这一段吧-->
|
|
<script src="${base!}/assets/platform/plugins/dd3s/dd3s.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
|
|
|
<!--g2-->
|
|
<script src="/assets/platform/plugins/g2/g2.min.js?v=4.1.9"></script>
|
|
<script src="/assets/platform/plugins/g2/data-set.js"></script>
|
|
<script src="/assets/platform/plugins/g2/g2plot.js?v=1.0.0"></script>
|
|
|
|
<!--echars-->
|
|
<script src="${base!}/assets/platform/plugins/echarts/echarts.min.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/echarts/infographic.js"></script><!--主题-->
|
|
<script src="${base!}/assets/platform/plugins/echarts/westeros.js"></script><!--主题-->
|
|
<script src="${base!}/assets/platform/plugins/echarts/walden.js"></script><!--主题-->
|
|
<script src="${base!}/assets/platform/plugins/echarts/macarons.js"></script><!--主题-->
|
|
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/echarts.js"></script>-->
|
|
<!-- <script src="${base!}/assets/platform/js/cdn.staticfile.org_echarts_5.2.2_echarts.js"></script>-->
|
|
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/i18n/langZH.js"></script>-->
|
|
<!-- <script src="${base!}/assets/platform/js/cdn.staticfile.org_echarts_5.2.2_i18n_langZH.js"></script>-->
|
|
|
|
|
|
<script src="${base!}/assets/platform/module/mixins/initTableMixins.js?v=1.0.3"></script>
|
|
<script src="${base!}/assets/platform/js/includeModel.js?v=1.0.8"></script>
|
|
<script src="${base!}/assets/platform/js/component.js?v=1.0.2"></script>
|
|
<script src="${base!}/assets/platform/js/v.js?v=1.0.5"></script>
|
|
<script src="${base!}/assets/platform/plugins/wangeditor/wangEditor.js"></script>
|
|
<!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/wangeditor@4.6.15/dist/wangEditor.min.js"></script>-->
|
|
<script type="text/javascript"
|
|
src="https://webapi.amap.com/maps?v=1.4.15&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.PlaceSearch"></script>
|
|
|
|
<!--viewer-->
|
|
<script src="${base!}/assets/platform/plugins/viewer/viewer.min.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/vue-qrcode/vue-qrcode.min.js"></script>
|
|
|
|
|
|
<!-- pjax是异步加载html片段的工具,模拟前端路由机制 -->
|
|
<script src="${base!}/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/myframe/js/myframe.js"></script>
|
|
<!-- Array数组增加findIndex等方法,TreeTable用得到,兼容IE8 -->
|
|
<script src="${base!}/assets/platform/plugins/polyfill/polyfill.js"></script>
|
|
<!-- 时间日期处理工具类 -->
|
|
<script src="${base!}/assets/platform/plugins/moment/moment.min.js"></script>
|
|
<!-- 浏览器通知 -->
|
|
<script src="${base!}/assets/platform/plugins/push/push.min.js"></script>
|
|
<script src="${base!}/assets/platform/js/main.js?v=1.0.0"></script>
|
|
<script src="${base!}/assets/platform/js/offscreen.js"></script>
|
|
<!-- <script src="https://cdn.jsdelivr.net/npm/vue-echarts@4.0.2"></script>-->
|
|
<script src="${base!}/assets/platform/plugins/vue-charts/echartTheme.js"></script>
|
|
|
|
<link rel="stylesheet" href="${base!}/assets/platform/css/skins/palette.3.css" id="skin">
|
|
|
|
<!--拖拽js-->
|
|
<script src="${base!}/assets/platform/js/directive/v-sticky.js"></script>
|
|
|
|
<script src="${base!}/assets/platform/js/jquery.qrcode.min.js"></script>
|
|
|
|
<script src="${base!}/assets/platform/js/jr-qrcode.js"></script>
|
|
|
|
<!--字典混入-->
|
|
<script src="${base!}/components/plugins/sysDict/DictData.js"></script>
|
|
|
|
<script src="${base!}/assets/platform/plugins/xlsx/xlsx.full.min.js"></script>
|
|
<script src="${base!}/assets/platform/plugins/xss/xss.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
const base = "${base!}";
|
|
const APP_DOMAIN = "${AppDomain!}";
|
|
const FILE_DOMAIN = "${AppFileDomain!}";
|
|
const AppMapCenterPointX = "${config.AppMapCenterPointX!}";
|
|
const AppMapCenterPointY = "${config.AppMapCenterPointY!}";
|
|
const isDisPlayCode = "${config.isDisPlayCode!}" === 'true'
|
|
var loginPjax = "${@shiro.getPrincipalProperty('loginPjax')}";
|
|
const LOGO_URL = "${config.logoUrl!}"
|
|
|
|
ELEMENT.locale(ELEMENT.lang['${lang,escape}']);
|
|
|
|
Vue.component('vuedraggable', window.vuedraggable)
|
|
Vue.component('guava', httpVueLoader('/components/plugins/Guava.vue'))
|
|
Vue.component('sign', httpVueLoader('/components/sign/sign.vue?v=' + new Date().getTime()))
|
|
Vue.component('file-upload', httpVueLoader('/components/plugins/FileUpload.vue'))
|
|
Vue.component('image-upload', httpVueLoader('/components/plugins/ImageUpload.vue'))
|
|
Vue.component('dict-tag', httpVueLoader('/components/plugins/sysDict/DictTag.vue'))
|
|
Vue.component('border-table', httpVueLoader('/components/plugins/BorderTable.vue'))
|
|
Vue.component('text-editor', httpVueLoader('/components/plugins/TextEditor.vue?v='+new Date().getTime()))
|
|
|
|
Vue.use(httpVueLoader)
|
|
Vue.component(VueQrcode.name, VueQrcode)
|
|
|
|
const viewImage = function (filepath) {
|
|
let image = new Image();
|
|
image.src = APP_DOMAIN + FILE_STREAM_PREVIEW_ADDRESS + '?id=' + filepath;
|
|
let viewer = new Viewer(image);
|
|
viewer.show();
|
|
};
|
|
window.viewImage = viewImage;
|
|
Vue.prototype.$viewImage = viewImage
|
|
|
|
//防止用户快速重复点击造成数据混乱 提供vue指令和js节流函数两种方式
|
|
//控制此元素在一定时间内是否可成为鼠标的点击目标对象
|
|
Vue.directive('throttle', {
|
|
inserted(el, binding) {
|
|
el.addEventListener('click', () => {
|
|
if (el.style.pointerEvents !== 'none') {
|
|
el.style.pointerEvents = 'none'
|
|
window.setTimeout(() => {
|
|
el.style.pointerEvents = ''
|
|
}, 1200)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
|
|
//提案初始化的值
|
|
proposal.getProposalAllStateCode()
|
|
proposal.getProposalEnableStateCode()
|
|
proposal.getProposalNeedSignStateCode()
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="gallery-loader" style="background-color:transparent;">
|
|
<div class="loader"></div>
|
|
</div>
|
|
<div id="mainApp" class="app">
|
|
<header class="header header-fixed navbar" id="headerNavbar">
|
|
<div class="brand">
|
|
<a href="javascript:;" data-pjax class="navbar-brand" @click="goHome">
|
|
<img src="${base!}/assets/platform/img/logo.png" alt=""
|
|
style="width: 60%;height: 80%"
|
|
class="o_img <!--#if(!@shiro.getPrincipalProperty('loginSidebar')){#-->o_hide<!--#}#-->">
|
|
<span class="heading-font o_img <!--#if(@shiro.getPrincipalProperty('loginSidebar')){#-->o_hide<!--#}#-->">
|
|
<img style="height: 100%" :src="LOGO_URL">
|
|
</span>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="nav navbar-nav">
|
|
<li style="padding:0 10px" class="vivify popIn duration-1500">
|
|
<el-popover
|
|
width="450"
|
|
popper-class="appCenterPopover"
|
|
placement="top-start"
|
|
v-model="menuPopover"
|
|
trigger="hover">
|
|
<el-card shadow="never" class="appCenterCard">
|
|
<template #header>
|
|
<el-row type="flex" justify="space-between">
|
|
<div>
|
|
<el-link :underline="false">应用中心</el-link>
|
|
<i class="el-icon-edit" style="cursor: pointer;color: #1867b0"
|
|
v-if="${@shiro.hasRole('sysadmin')}"
|
|
@click="goSetAppCenter"></i>
|
|
</div>
|
|
|
|
<div>
|
|
<el-link @click="goHome" type="primary" :underline="false">工作台</el-link>
|
|
<el-link @click="setUserDefaultEntranceModuleId" type="primary" :underline="false">
|
|
设置为默认模块
|
|
</el-link>
|
|
</div>
|
|
</el-row>
|
|
</template>
|
|
<el-row gutter="20">
|
|
<el-col v-for="item in entranceModules" :span="8" style="margin-bottom: 5px">
|
|
<div class="entranceDetail"
|
|
:class="item.id==selectEntranceModule.id?'entranceDetail-selected':''"
|
|
@click="enterEntranceModules(item)">
|
|
<div class="entranceIcon">
|
|
<el-image :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.icon[0].id"
|
|
style="height: 50px;width: 50px;border-radius: 50%"></el-image>
|
|
</div>
|
|
{{item.moduleName}}
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row type="flex" justify="end">
|
|
<el-button type="primary" size="mini" @click="menuPopover=!menuPopover">关闭</el-button>
|
|
</el-row>
|
|
</el-card>
|
|
<a href="javascript:" slot="reference" style="color: #FFFFFF;" @click="toggleMenuPopover">
|
|
<i class="fa fa-th-large" aria-hidden="true"></i>
|
|
{{selectEntranceModule ? selectEntranceModule.moduleName : '应用中心'}}
|
|
</a>
|
|
</el-popover>
|
|
</li>
|
|
</ul>
|
|
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li class="off-right">
|
|
<a href="javascript:;" data-toggle="dropdown">
|
|
<span class="hidden-xs ml10">${@shiro.getPrincipalProperty('username')}</span>
|
|
</a>
|
|
</li>
|
|
<li class="off-right">
|
|
<a href="${base!}/platform/login/logout">
|
|
<i class="ti-power-off"></i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</header>
|
|
<section class="layout">
|
|
<!-- sidebar menu -->
|
|
<aside class="sidebar offscreen-left" id="asideMenu">
|
|
<!-- main navigation -->
|
|
<nav class="main-navigation" data-height="auto" data-size="6px" data-distance="0" data-rail-visible="true"
|
|
data-wheel-step="10">
|
|
|
|
<ul id="leftMenu" class="nav leftMenu" style="display: initial;">
|
|
<li v-for="fm in headerNavBarVueApp.firstMenus">
|
|
|
|
<a :href="fm.href && fm.href.startsWith('/')?fm.href:'javascript:;'">
|
|
<i v-if="Object.keys(headerNavBarVueApp.secondMenus).includes(fm.path)"
|
|
class="toggle-accordion"></i>
|
|
<i :class="fm.icon?fm.icon:'ti-map'"></i>
|
|
<span>
|
|
{{fm.name}}
|
|
</span>
|
|
</a>
|
|
|
|
|
|
<ul class="sub-menu"
|
|
v-if="Object.keys(headerNavBarVueApp.secondMenus).includes(fm.path)">
|
|
<li v-for="sm in headerNavBarVueApp.secondMenus[fm.path]">
|
|
<a :href="sm.href && sm.href.startsWith('/')?sm.href:'javascript:;'">
|
|
<span>
|
|
<i class="toggle-accordion" v-if="headerNavBarVueApp.secondMenus[sm.path]"></i>
|
|
<i v-if="headerNavBarVueApp.secondMenus[sm.path]"
|
|
:class="sm.icon ? 'leftMenu__twoIcon ' + sm.icon : 'leftMenu__twoIcon ti-map'"
|
|
></i>
|
|
<i v-else class="leftMenu__twoIcon fa fa-circle-o"></i>
|
|
{{sm.name}}
|
|
</span>
|
|
</a>
|
|
|
|
<ul class="sub-menu" v-if="headerNavBarVueApp.secondMenus[sm.path]">
|
|
<li v-for="tm in headerNavBarVueApp.secondMenus[sm.path]">
|
|
<a :href="tm.href && tm.href.startsWith('/')?tm.href:'javascript:;'">
|
|
<span>
|
|
<i class="leftMenu__twoIcon fa fa-circle-o"></i>
|
|
{{tm.name}}
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</li>
|
|
</ul>
|
|
|
|
</li>
|
|
</ul>
|
|
|
|
</nav>
|
|
</aside>
|
|
<!-- main content -->
|
|
<section class="main-content" id="container">
|
|
${layoutContent}
|
|
</section>
|
|
</section>
|
|
</div>
|
|
|
|
<script>
|
|
const headerNavBarVueApp = new Vue({
|
|
el: '#headerNavbar',
|
|
data() {
|
|
return {
|
|
entranceModules: [],
|
|
selectEntranceModule: null,
|
|
leftMenus: [],
|
|
firstMenus: [],
|
|
secondMenus: {},
|
|
userDefaultModuleId: null,
|
|
menuPopover: false
|
|
}
|
|
},
|
|
methods: {
|
|
async getEntranceModule() {
|
|
const resp = await $.get('/platform/sys/entranceModule/getEntranceModule')
|
|
if (resp.code === 0) {
|
|
this.entranceModules = resp.data
|
|
if (this.selectEntranceModule) {
|
|
if (this.entranceModules.some(v => v.id === this.selectEntranceModule.id)) {
|
|
this.selectEntranceModule = this.entranceModules.find(v => v.id === this.selectEntranceModule.id)
|
|
this.openFirstMenu()
|
|
return
|
|
}
|
|
}
|
|
if (this.entranceModules) {
|
|
if (this.userDefaultModuleId) {
|
|
this.selectEntranceModule = this.entranceModules.find(v => v.id === this.userDefaultModuleId)
|
|
} else {
|
|
this.selectEntranceModule = this.entranceModules[0]
|
|
}
|
|
this.openFirstMenu()
|
|
} else {
|
|
this.goSetAppCenter()
|
|
}
|
|
}
|
|
},
|
|
openFirstMenu() {
|
|
if (window.location.pathname === '/platform/home') {
|
|
setTimeout(() => {
|
|
this.$nextTick(() => {
|
|
const aTag = document.querySelector('#leftMenu li a')
|
|
if (aTag) {
|
|
aTag.click()
|
|
}
|
|
})
|
|
}, 500)
|
|
} else {
|
|
const pathname = window.location.pathname
|
|
const a_selector = "#leftMenu li a[href='" + pathname + "']"
|
|
const getCurrentMenu = () => {
|
|
const a = document.querySelector(a_selector)
|
|
if (a) {
|
|
$(a).attr('style', 'color: #1867b0')
|
|
$(a).parent().parents("li").addClass("open")
|
|
$(a).parent().parents('ul.sub-menu').attr('style', 'display:block')
|
|
$(a).find("i").addClass("fa-dot-circle-o")
|
|
clearInterval(getCurrentMenuInterval)
|
|
}
|
|
}
|
|
const getCurrentMenuInterval = setInterval(getCurrentMenu, 100)
|
|
}
|
|
},
|
|
async enterEntranceModules(item) {
|
|
window.sessionStorage.setItem('selectEntranceModule', JSON.stringify(item))
|
|
this.selectEntranceModule = item
|
|
await this.getFirstMenus(item.id)
|
|
this.goHome()
|
|
this.openFirstMenu()
|
|
this.menuPopover = false
|
|
},
|
|
async getSecondMenus() {
|
|
const resp = await $.get('/platform/sys/entranceModule/getSecondMenus')
|
|
if (resp.code === 0) {
|
|
this.secondMenus = resp.data
|
|
}
|
|
},
|
|
async getFirstMenus(entranceModuleId) {
|
|
const resp = await $.get('/platform/sys/entranceModule/getFirstMenus', {entranceModuleId})
|
|
if (resp.code === 0) {
|
|
this.firstMenus = resp.data
|
|
this.setAttr()
|
|
}
|
|
},
|
|
setAttr(afterFunc = () => {
|
|
}) {
|
|
this.$nextTick(() => {
|
|
const aTags = document.querySelectorAll('.main-navigation a')
|
|
aTags.forEach(v => {
|
|
if (v.href === 'javascript:;') {
|
|
v.removeAttribute("data-pjax")
|
|
} else {
|
|
v.setAttribute("data-pjax", "")
|
|
}
|
|
if (v.getAttribute('class') === 'active') {
|
|
v.setAttribute('class', '')
|
|
}
|
|
})
|
|
|
|
const openLiTags = document.querySelectorAll('.main-navigation li.open')
|
|
openLiTags.forEach(v => {
|
|
v.setAttribute('class', '')
|
|
const childNodes = v.childNodes
|
|
childNodes.forEach(c => {
|
|
if (c.nodeType === 1 && c.tagName && c.tagName.toUpperCase() === 'UL'.toUpperCase() && c.className === 'sub-menu') {
|
|
c.style.display = 'none'
|
|
}
|
|
})
|
|
})
|
|
afterFunc()
|
|
})
|
|
},
|
|
goHome() {
|
|
$.pjax({
|
|
url: '/platform/home',
|
|
container: '#container',
|
|
fragment: '#container',
|
|
timeout: 8000
|
|
});
|
|
this.setAttr()
|
|
this.closeAllMenu()
|
|
},
|
|
goSetAppCenter() {
|
|
$.pjax({
|
|
url: '/platform/sys/entranceModule',
|
|
container: '#container',
|
|
fragment: '#container',
|
|
timeout: 8000
|
|
});
|
|
this.setAttr()
|
|
},
|
|
closeAllMenu() {
|
|
const subMenus = document.querySelectorAll('ul.sub-menu')
|
|
subMenus.forEach(v => {
|
|
v.style.display = 'none'
|
|
})
|
|
|
|
const menus = document.querySelectorAll('.main-navigation li.open')
|
|
menus.forEach(v => {
|
|
v.setAttribute('class', '')
|
|
})
|
|
|
|
const aTags = document.querySelectorAll('.main-navigation a.active')
|
|
aTags.forEach(v => {
|
|
v.setAttribute('class', '')
|
|
})
|
|
},
|
|
async getUserDefaultEntranceModuleId() {
|
|
const resp = await $.get('/platform/sys/entranceModule/getUserDefaultEntranceModuleId')
|
|
if (resp.code === 0) {
|
|
this.userDefaultModuleId = resp.data
|
|
}
|
|
},
|
|
async setUserDefaultEntranceModuleId() {
|
|
const {id: moduleId, moduleName} = this.selectEntranceModule
|
|
const msg = '您确定要将' + moduleName + '设置为默认模块吗?'
|
|
const confirm = await this.$confirm(msg, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
if ('confirm' !== confirm) return
|
|
const resp = await $.get('/platform/sys/entranceModule/setUserDefaultEntranceModuleId', {moduleId})
|
|
if (resp.code === 0) {
|
|
this.$notify.success(resp.msg)
|
|
} else {
|
|
this.$notify.warning(resp.msg)
|
|
}
|
|
},
|
|
toggleMenuPopover() {
|
|
setTimeout(() => {
|
|
this.menuPopover = !this.menuPopover
|
|
}, 300)
|
|
},
|
|
async init() {
|
|
await this.getUserDefaultEntranceModuleId()
|
|
const selectEntranceModuleStr = window.sessionStorage.getItem('selectEntranceModule')
|
|
if (selectEntranceModuleStr) {
|
|
this.selectEntranceModule = JSON.parse(selectEntranceModuleStr)
|
|
}
|
|
await this.getEntranceModule()
|
|
await this.getFirstMenus(this.selectEntranceModule.id)
|
|
await this.getSecondMenus()
|
|
this.setAttr()
|
|
|
|
// let pjax_url = window.sessionStorage.getItem('pjax_url')
|
|
// pjax_url = pjax_url.replace(window.location.origin, '')
|
|
// $.pjax({
|
|
// url: pjax_url,
|
|
// container: '#container',
|
|
// fragment: '#container',
|
|
// timeout: 8000
|
|
// });
|
|
// const a_selector = '#leftMenu li a[href="' + pjax_url + '"]'
|
|
// const a = document.querySelector(a_selector)
|
|
// setTimeout(() => {
|
|
// $(a).parent().parents("li").addClass("open")
|
|
// $(a).parent().parents('ul.sub-menu').attr('style', 'display:block')
|
|
// }, 100)
|
|
}
|
|
},
|
|
watch: {},
|
|
created() {
|
|
this.init()
|
|
}
|
|
})
|
|
|
|
const asideMenuApp = new Vue({
|
|
el: '#asideMenu',
|
|
data() {
|
|
return {}
|
|
}
|
|
})
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|