This commit is contained in:
zhutianqi
2021-10-08 10:08:48 +08:00
parent 2a81dc687e
commit 2a680ac51a
15 changed files with 2386 additions and 687 deletions
+241 -184
View File
@@ -4,7 +4,34 @@
<div class="content-box" v-if="isBoolean">
<nav-menu></nav-menu>
<div class="sub-container">
<com-header></com-header>
<div style="background-color: #171E4A; height: 65px; width: 100%">
<span style="color: #fff; line-height: 65px; float: left; font-size: 20px;">
标准法规管理系统 standard and regulations management system
</span>
<!-- header头部 右侧内容 当前登录人和退出-->
<div class="header-right" style="display: inline-block; float: right; margin-right: 20px; color: #fff">
<div class="user-info">
<el-dropdown
trigger="click"
@command="handleCommand"
>
<div class="user-box" style="margin-top: 23px;">
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #FFFFFF;">&#xe69b;</span>
<span style="color: #FFFFFF;">{{ $store.getters.userInfo.uName }}</span>
<i style="color: #FFFFFF;" class="el-icon-arrow-down"/>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="loginOut">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<div class="logo">
<img :src="logo" />
</div>
</div>
<!-- <com-header></com-header>-->
<div class="container-box">
<router-view />
</div>
@@ -14,198 +41,228 @@
</template>
<script>
import {mapGetters, mapState} from 'vuex'
export default {
name: 'App',
data () {
return {
isBoolean: false
}
},
methods: {
/**
* @description: 主题设置
* @author: xx
* @date: 2018-08-29 14:56:39
*/
setTheme (theme) {
document.getElementById('app').className = theme
},
/**
* @description: backSpace回退禁用
* @date: 2021-03-01 16:36:55
* @auth: chenxiaoxi
*/
banBackSpace(e) {
var ev = e || window.event;
//各种浏览器下获取事件对象
var obj = ev.relatedTarget || ev.srcElement || ev.target ||ev.currentTarget;
//按下Backspace键
if(ev.keyCode == 8){
var tagName = obj.nodeName //标签名称
//如果标签不是input或者textarea则阻止Backspace
if(tagName!='INPUT' && tagName!='TEXTAREA'){
return this.stopIt(ev);
}
var tagType = obj.type.toUpperCase();//标签类型
//input标签除了下面几种类型,全部阻止Backspace
if(tagName=='INPUT' && (tagType!='TEXT' && tagType!='TEXTAREA' && tagType!='PASSWORD')){
return this.stopIt(ev);
}
//input或者textarea输入框如果不可编辑则阻止Backspace
if((tagName=='INPUT' || tagName=='TEXTAREA') && (obj.readOnly==true || obj.disabled ==true)){
return this.stopIt(ev);
}
import {mapGetters, mapState} from 'vuex'
export default {
name: 'App',
data () {
return {
isBoolean: false
}
},
stopIt(ev) {
if(ev.preventDefault){
//preventDefault()方法阻止元素发生默认的行为
ev.preventDefault();
}
if(ev.returnValue){
//IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
ev.returnValue = false;
}
return false;
},
// 其他标签页修改用户 或者 退出登录
refresh() {
//执行刷新操作,这里我没有写this.$route.go(0),因为整个页面抖动不是很友好
//现将app.vue下面的 头部组件,菜单组件,内容组件隐藏再放出来,实现刷新一样的效果
console.log('我要刷新页面了')
}
},
computed: {
...mapGetters([
'getWebSocketList', 'getTheme', 'getMenuList'
]),
...mapState(['userInfoModifyTime'])
},
watch: {
// 'userInfoModifyTime'() {
// // console.log('watch global, userInfoModifyTime')
// this.refresh()
// },
getTheme (val) {
// 主题修改
this.setTheme(val)
},
// 监听路由 控制isBoolean
$route () {
if (this.$route.name !== 'Login' && this.$route.name !== 'Home' && !this.$route.meta.isBoolean && this.$route.name !== 'beeEChungLogin' && this.$route.name !== 'beeEnergyLogin' && this.$route.name !== 'mdLawLogin' && this.$route.name !== 'nuoBLogin' && this.$route.name !== 'sTLogin' && this.$route.name !== 'StandardSearch') {
this.isBoolean = true
} else {
this.isBoolean = false
}
}
},
mounted () {
this.setTheme(this.getTheme)
//实现对字符码的截获,keypress中屏蔽了这些功能按键
document.onkeypress = this.banBackSpace
//对功能按键的获取
document.onkeydown = this.banBackSpace
this.visibilitychangeFn = (e) => { //这个方法是监测浏览器窗口发生变化的时候执行
// 切换到当前页面
if (document.hidden == false) {
const userInfoModifyTime = this.userInfoModifyTime
const userInfoModifyTimeInLocalStorage = localStorage.getItem('userInfoModifyTime')
// 用户未切换 不执行任何操作
if (userInfoModifyTime === userInfoModifyTimeInLocalStorage) {
return
}
if (userInfoModifyTimeInLocalStorage === null) {
this.$store.dispatch('syncStorageData')
const currentPage = this.$route.name
if (currentPage === 'Login') {return}
this.currentMinute = 3
this.loading && this.loading.close()
this.loading = this.$loading({
lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
});
this.messageForLogin && this.messageForLogin.close()
this.messageForLogin = this.$message({
message: `用户已退出,${this.currentMinute}秒后将跳转到登录页面`,
type: 'warning'
})
this.intervalForLogin = setInterval(() => {
if (this.currentMinute === 0) {
clearInterval(this.intervalForLogin)
this.loading.close()
methods: {
// 点击下拉选项事件
handleCommand (command) {
// 退出登录
if (command === 'loginOut') {
this.$confirm('您确认要退出吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: false
}).then(() => {
// this.$http.post('/logout', {}, res => {
// window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'
// })
// return
this.$store.commit('setTypeFlag', 'loginOut')
this.$http.get('logout', {}, {
_this: this
}, res => {
this.$store.dispatch('logout')
this.$router.push('/login')
console.log('切换到登录页面', currentPage)
}
this.currentMinute--
this.messageForLogin.message = `用户已退出,${this.currentMinute}秒后将跳转到登录页面`
}, 1000)
} else if (userInfoModifyTime !== userInfoModifyTimeInLocalStorage) {
this.$store.dispatch('syncStorageData')
console.log('用户信息已更改,同步数据')
this.currentMinute = 3
this.loading && this.loading.close()
this.loading = this.$loading({
lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
});
this.messageForHome && this.messageForHome.close()
this.messageForHome = this.$message({
message: `用户已切换,${this.currentMinute}秒后将跳转到用户首页`,
type: 'warning'
}, e => {})
}).catch(() => {
})
this.intervalForHome = setInterval(() => {
if (this.currentMinute === 0) {
clearInterval(this.intervalForHome)
this.loading.close()
this.$router.push({
path: '/redirect',
query: '/home'
})
}
this.currentMinute--
this.messageForHome.message = `用户已切换,${this.currentMinute}秒后将跳转到用户首页`
}, 1000)
// const route = this.$router.resolve('/home')
// this.$router.push({
// path: '/redirect',
// query: '/home'
// })
// location.reload();
}
},
/**
* @description: 主题设置
* @author: xx
* @date: 2018-08-29 14:56:39
*/
setTheme (theme) {
document.getElementById('app').className = theme
},
/**
* @description: backSpace回退禁用
* @date: 2021-03-01 16:36:55
* @auth: chenxiaoxi
*/
banBackSpace(e) {
var ev = e || window.event;
//各种浏览器下获取事件对象
var obj = ev.relatedTarget || ev.srcElement || ev.target ||ev.currentTarget;
//按下Backspace键
if(ev.keyCode == 8){
var tagName = obj.nodeName //标签名称
//如果标签不是input或者textarea则阻止Backspace
if(tagName!='INPUT' && tagName!='TEXTAREA'){
return this.stopIt(ev);
}
var tagType = obj.type.toUpperCase();//标签类型
//input标签除了下面几种类型,全部阻止Backspace
if(tagName=='INPUT' && (tagType!='TEXT' && tagType!='TEXTAREA' && tagType!='PASSWORD')){
return this.stopIt(ev);
}
//input或者textarea输入框如果不可编辑则阻止Backspace
if((tagName=='INPUT' || tagName=='TEXTAREA') && (obj.readOnly==true || obj.disabled ==true)){
return this.stopIt(ev);
}
}
},
stopIt(ev) {
if(ev.preventDefault){
//preventDefault()方法阻止元素发生默认的行为
ev.preventDefault();
}
if(ev.returnValue){
//IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
ev.returnValue = false;
}
return false;
},
// 其他标签页修改用户 或者 退出登录
refresh() {
//执行刷新操作,这里我没有写this.$route.go(0),因为整个页面抖动不是很友好
//现将app.vue下面的 头部组件,菜单组件,内容组件隐藏再放出来,实现刷新一样的效果
console.log('我要刷新页面了')
}
}
document.addEventListener('visibilitychange', this.visibilitychangeFn);
},
computed: {
// 获取用户头像
userAvator () {
return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png')
},
...mapGetters([
'getWebSocketList', 'getTheme', 'getMenuList'
]),
...mapState(['userInfoModifyTime','isCollapse'])
},
watch: {
// 'userInfoModifyTime'() {
// // console.log('watch global, userInfoModifyTime')
// this.refresh()
// },
getTheme (val) {
// 主题修改
this.setTheme(val)
},
// 监听路由 控制isBoolean
$route () {
if (this.$route.name !== 'Login' && this.$route.name !== 'Home' && !this.$route.meta.isBoolean && this.$route.name !== 'beeEChungLogin' && this.$route.name !== 'beeEnergyLogin' && this.$route.name !== 'mdLawLogin' && this.$route.name !== 'nuoBLogin' && this.$route.name !== 'sTLogin' && this.$route.name !== 'StandardSearch') {
this.isBoolean = true
} else {
this.isBoolean = false
}
}
},
mounted () {
this.setTheme(this.getTheme)
//实现对字符码的截获,keypress中屏蔽了这些功能按键
document.onkeypress = this.banBackSpace
//对功能按键的获取
document.onkeydown = this.banBackSpace
this.visibilitychangeFn = (e) => { //这个方法是监测浏览器窗口发生变化的时候执行
// 切换到当前页面
if (document.hidden == false) {
const userInfoModifyTime = this.userInfoModifyTime
const userInfoModifyTimeInLocalStorage = localStorage.getItem('userInfoModifyTime')
},
beforeDestroy() {
document.onkeypress = null
document.onkeydown = null
document.removeEventListener('visibilitychange', this.visibilitychangeFn)
clearInterval(this.intervalForLogin)
clearInterval(this.intervalForHome)
// 用户未切换 不执行任何操作
if (userInfoModifyTime === userInfoModifyTimeInLocalStorage) {
return
}
if (userInfoModifyTimeInLocalStorage === null) {
this.$store.dispatch('syncStorageData')
const currentPage = this.$route.name
if (currentPage === 'Login') {return}
this.currentMinute = 3
this.loading && this.loading.close()
this.loading = this.$loading({
lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
});
this.messageForLogin && this.messageForLogin.close()
this.messageForLogin = this.$message({
message: `用户已退出,${this.currentMinute}秒后将跳转到登录页面`,
type: 'warning'
})
this.intervalForLogin = setInterval(() => {
if (this.currentMinute === 0) {
clearInterval(this.intervalForLogin)
this.loading.close()
this.$router.push('/login')
console.log('切换到登录页面', currentPage)
}
this.currentMinute--
this.messageForLogin.message = `用户已退出,${this.currentMinute}秒后将跳转到登录页面`
}, 1000)
} else if (userInfoModifyTime !== userInfoModifyTimeInLocalStorage) {
this.$store.dispatch('syncStorageData')
console.log('用户信息已更改,同步数据')
this.currentMinute = 3
this.loading && this.loading.close()
this.loading = this.$loading({
lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
});
this.messageForHome && this.messageForHome.close()
this.messageForHome = this.$message({
message: `用户已切换,${this.currentMinute}秒后将跳转到用户首页`,
type: 'warning'
})
this.intervalForHome = setInterval(() => {
if (this.currentMinute === 0) {
clearInterval(this.intervalForHome)
this.loading.close()
this.$router.push({
path: '/redirect',
query: '/home'
})
}
this.currentMinute--
this.messageForHome.message = `用户已切换,${this.currentMinute}秒后将跳转到用户首页`
}, 1000)
// const route = this.$router.resolve('/home')
// this.$router.push({
// path: '/redirect',
// query: '/home'
// })
// location.reload();
}
}
}
document.addEventListener('visibilitychange', this.visibilitychangeFn);
},
beforeDestroy() {
document.onkeypress = null
document.onkeydown = null
document.removeEventListener('visibilitychange', this.visibilitychangeFn)
clearInterval(this.intervalForLogin)
clearInterval(this.intervalForHome)
}
}
}
</script>
<style lang="less">
+76 -76
View File
@@ -7,102 +7,102 @@
<!--面包屑-->
<el-breadcrumb separator="/">
<el-breadcrumb-item
v-for="(item, index) in routerList"
:key="index"
v-for="(item, index) in routerList"
:key="index"
>
{{ item.meta.title }}
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<!-- header头部 右侧内容 当前登录人和退出-->
<div class="header-right">
<div class="user-info">
<el-dropdown
trigger="click"
@command="handleCommand"
>
<div class="user-box">
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
<span class="iconfont" v-else style="color: #333333;">&#xe69b;</span>
<span>您好{{ $store.getters.userInfo.uName }}</span>
<i class="el-icon-arrow-down"/>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="loginOut">退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<!-- <div class="header-right">-->
<!-- <div class="user-info">-->
<!-- <el-dropdown-->
<!-- trigger="click"-->
<!-- @command="handleCommand"-->
<!-- >-->
<!-- <div class="user-box">-->
<!-- <img :src="userAvator" v-if="$store.getters.userInfo.avator">-->
<!-- <span class="iconfont" v-else style="color: #333333;">&#xe69b;</span>-->
<!-- <span>您好{{ $store.getters.userInfo.uName }}</span>-->
<!-- <i class="el-icon-arrow-down"/>-->
<!-- </div>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item command="loginOut">退出</el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
</template>
<script>
import { mapMutations, mapGetters } from 'vuex'
export default {
name: 'ComHeader',
data () {
return {
routerList: [] // 面包屑数组
}
},
created () {
// 渲染面包屑数组
this.routerList = this.$route.matched
},
computed: {
// 获取用户头像
userAvator () {
return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png')
},
...mapGetters(['isCollapse'])
},
watch: {
// 监听路由 重新渲染面包屑
$route () {
this.routerList = this.$route.matched
}
},
methods: {
// 点击下拉选项事件
handleCommand (command) {
// 退出登录
if (command === 'loginOut') {
this.$confirm('您确认要退出吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: false
}).then(() => {
// this.$http.post('/logout', {}, res => {
// window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'
// })
// return
this.$store.commit('setTypeFlag', 'loginOut')
this.$http.get('logout', {}, {
_this: this
}, res => {
this.$store.dispatch('logout')
this.$router.push('/login')
}, e => {})
}).catch(() => {
})
import { mapMutations, mapGetters } from 'vuex'
export default {
name: 'ComHeader',
data () {
return {
routerList: [] // 面包屑数组
}
},
handleToggleSideBar() {
this.toggleSideBar(!this.isCollapse)
created () {
// 渲染面包屑数组
this.routerList = this.$route.matched
},
computed: {
// 获取用户头像
userAvator () {
return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png')
},
...mapGetters(['isCollapse'])
},
watch: {
// 监听路由 重新渲染面包屑
$route () {
this.routerList = this.$route.matched
}
},
methods: {
// 点击下拉选项事件
handleCommand (command) {
// 退出登录
if (command === 'loginOut') {
this.$confirm('您确认要退出吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: false
}).then(() => {
// this.$http.post('/logout', {}, res => {
// window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'
// })
// return
this.$store.commit('setTypeFlag', 'loginOut')
this.$http.get('logout', {}, {
_this: this
}, res => {
this.$store.dispatch('logout')
this.$router.push('/login')
}, e => {})
}).catch(() => {
})
}
},
...mapMutations(['toggleSideBar'])
handleToggleSideBar() {
this.toggleSideBar(!this.isCollapse)
},
...mapMutations(['toggleSideBar'])
}
}
}
</script>
<style lang="less" scoped>
.com-header{
padding: 0 10px;
height: 50px;
background: #ffffff;
background: #fff;
border-bottom: 1px solid #e5e5e5;
display: flex;
align-items: center;
+439 -413
View File
@@ -1,24 +1,29 @@
<!--左侧导航菜单 liuyan -->
<template>
<div class="nav-menu v-class" :class="{'is-collapse': isCollapse}">
<div class="logo">
<img :src="logo" />
<div class="nav-menu-header" style="height: 65px; background-color: #171E4A;">
<div class="header-left">
<div class="logo">
<img :src="logo" height="58" width="149" />
</div>
</div>
</div>
<div class="toggle-btn iconfont" style="display: flex;justify-content: center; font-size: 30px; color: #333333;" @click="handleToggleSideBar"><div style="font-size: 14px; line-height: 30px;">{{ this.isCollapse ? '' : '' }}</div>&#xe647;</div>
<el-menu
unique-opened
:default-active="defaultActive"
background-color="#013483"
text-color="#ffffff"
active-text-color="#ffd04b"
router
:collapse="isCollapse"
unique-opened
:default-active="defaultActive"
background-color="#013483"
text-color="#000"
active-text-color="#ffd04b"
router
:collapse="isCollapse"
>
<template v-for="(item, index) in navMenuList">
<el-submenu
:key="index"
:index="item.path"
popper-class="nav-menu-popper"
v-if="!item.isChildren && (!item.menuId || $hasPermission(item.menuId))"
:key="index"
:index="item.path"
popper-class="nav-menu-popper"
v-if="!item.isChildren && (!item.menuId || $hasPermission(item.menuId))"
>
<template slot="title">
<i class="shangqi-icon" :class="item['icon-class']"></i>
@@ -27,10 +32,10 @@
</el-badge>
</template>
<el-menu-item
v-for="(children, childrenIndex) in item.children"
:key="childrenIndex"
:index="children.path"
v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo
v-for="(children, childrenIndex) in item.children"
:key="childrenIndex"
:index="children.path"
v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo
>
<el-badge :value="getDynamicTotal.msgCount" class="item" v-if="children.title === '我的消息' && getDynamicTotal.msgCount !== 0">
{{ children.title }}
@@ -47,9 +52,9 @@
</el-menu-item>
</el-submenu>
<el-menu-item
:key="index"
:index="item.path"
v-if="item.isChildren && (!item.menuId || $hasPermission(item.menuId))"
:key="index"
:index="item.path"
v-if="item.isChildren && (!item.menuId || $hasPermission(item.menuId))"
>
<i class="shangqi-icon" :class="item['icon-class']"></i>
<span slot="title">{{ item.title }}</span>
@@ -59,424 +64,439 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
name: 'NavMenu',
data () {
return {
defaultActive: null, // 当前激活菜单的 index
navMenuList: [
{
title: '首页',
path: '/home1',
isChildren: true, // 判断没有子菜单
'icon-class': 'home'
},
{
title: '标准法规库',
path: '/regulatoryRepository',
'icon-class': 'fagui',
menuId: '2ewfwfa',
children: [
// {
// title: '动态&资料',
// path: '/dynamicInformation',
// menuId: 'RAFQ4N4ARF'
// },
{
title: '国内标准法规',
path: '/domesticStandardsAndRegulations',
menuId: '3e3657498664beaa0dc1de1ecb3ae0da'
},
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
// {
// title: '标准法规工作组数据统计',
// path: '/dataStatisComments',
// menuId: ''
// },
{
title: '海外标准法规',
path: '/foreignStandardsAndRegulations',
menuId: '18c1e5134ea0cf865e8960b26b81fd8c'
},
{
title: '标准征求意见',
path: '/standardForComments',
menuId: '2b25c67f10abbbadf37d60daaaec54d3'
},
import { mapGetters, mapMutations } from 'vuex'
export default {
name: 'NavMenu',
data () {
return {
defaultActive: null, // 当前激活菜单的 index
navMenuList: [
// {
// title: '首页',
// path: '/home1',
// isChildren: true, // 判断没有子菜单
// 'icon-class': 'home'
// },
{
title: '首页',
path: '/home2',
isChildren: true, // 判断没有子菜单
'icon-class': 'home'
},
{
title: '标准法规库',
path: '/regulatoryRepository',
'icon-class': 'fagui',
menuId: '2ewfwfa',
children: [
// {
// title: '动态&资料',
// path: '/dynamicInformation',
// menuId: 'RAFQ4N4ARF'
// },
{
title: '国内标准法规',
path: '/domesticStandardsAndRegulations',
menuId: '3e3657498664beaa0dc1de1ecb3ae0da'
},
// {
// title: '零部件编号申请',
// path: '/partCodeApply',
// menuId: 'ad9db496772c075f78495382b7581fe9'
// },
// {
// title: '标准法规工作组数据统计',
// path: '/dataStatisComments',
// menuId: ''
// },
{
title: '海外标准法规',
path: '/foreignStandardsAndRegulations',
menuId: '18c1e5134ea0cf865e8960b26b81fd8c'
},
{
title: '标准征求意见',
path: '/standardForComments',
menuId: '2b25c67f10abbbadf37d60daaaec54d3'
},
// {
// title: '国内外政策',
// path: '/foreignRegulationsDatabase',
// menuId: '4DB4Y2H3NH'
// },
// // // {
// // // title: '标准制修订管理',
// // // path: '/demo2One'
// // // },
{
title: '标准法规清单',
path: '/accessStandardsAndRegulations',
menuId: '08dbd417864b08426034ca56d1fa3d02'
},
// // {
// // title: '标准法规清单详情',
// // path: '/details'
// // }
// // // {
// // // title: '试验项目库',
// // // path: '/demo2One'
// // // },
// // // {
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
{
title: '企业标准库',
path: '/enterpriseStandardDatabase',
menuId: '7feeb73929c25a6f1fd67952704ec02b'
},
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
// menuId: 'WW7YDHQ9Z679TGMDZMUS'
// },
// // {
// // title: '子公司标准库',
// // path: '/subsidiaryStandardLibrary'
// // }
/* {
title: '车型/项目库',
path: '/localProductsOrProjectLibrary',
menuId: '42ce39c9f953be65a3e5643a4a2c786f'
},*/
{
title: '未符合项整改',
path: '/nonConfomity',
menuId: '0119abd677e0204e061eb0f0b8cafda0'
},
{
title: '工作组',
path: '/workingGroup',
},
// {
// title: '备案产品标准库',
// path: '/enterpriseStandardFiling',
// menuId: 'MQBAGJQMSRZDRX3X5AVR'
// },
{
title: '标准合规评估结果', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
}
// {
// title: '动态信息',
// path: '/information',
// menuId: 'ULUBXHYQB8M3XQ9HS9QG'
// }
]
},
{
title: '工作',
path: '/processCenter',
'icon-class': 'liucheng',
menuId: '3fadf',
children: [
{
title: '流程中心',
path: '/processCenter',
menuId: '7455dc97eac2933341e18be659f07e89'
},
{
title: '新建流程',
path: '/createProcessNew',
menuId: 'b53e6722b33a37c0fa2d87a9b06cca40'
}
]
},
{
title: '本地工具',
path: '/localTool',
'icon-class': 'tools',
menuId: 'afsd12',
children: [
// {
// title: '标准预警',
// path: '/standardWarning'
// },
{
title: '标准内容自动识别',
path: '/standardRecognition',
menuId: '3db80f62af9d96d6dfc6d429eea4b29b'
},
{
title: '标准拆分',
path: '/standAutoSplit',
menuId: '0062e261bc65e27e0a968dac67e16a3c'
},
{
title: '标准比对',
path: '/standContrast',
menuId: '1d83a6278f781419f628e9f5560f5c86'
},
// {
// title: '标准比对库',
// path: '/standardComparisonLibrary',
// menuId: 'AH56UDHHBVF5V7WZFWJQ'
// }
// {
// title: '预警管理',
// path: '/warningManage'
// },
// {
// title: '动态&通知管理',
// path: '/dynamicInformationManage'
// },
// {
// title: '标准编号申领',
// path: '/applicationStandardNumber'
// },
]
},
{
title: '标准预警',
path: '/standardWarning',
'icon-class': 'warning',
menuId: 'asfdew33',
isChildren: true // 判断没有子菜单
},
// {
// title: '技术要求清单',
// path: '/skillReq',
// children: [
// {
// title: '技术要求清单查看',
// path: '/SkillReqSee'
// },
// {
// title: '技术要求清单管理',
// path: '/SkillReqAdd'
// }
// ]
// },
{
title: '配置管理',
path: '/config',
'icon-class': 'conf',
menuId: 'adff323',
children: [
{
title: '标准法规属性管理',
path: '/standLawsAttrManage',
menuId: '72a24657972d286b8b5d80735cf4eee2'
},
// {
// title: '资料中心管理',
// path: '/dynamicInformationManage',
// menuId: '6V2QZ9STRZ'
// },
{
title: '机构管理',
path: '/MechanismManage',
menuId: '5a09164da97760846509c5c9dd86b80c'
},
{
title: '角色管理',
path: '/roleManage',
menuId: 'd73d0e230eafdb2ddefe1c97daf657ea'
},
{
title: '岗位管理',
path: '/postManage',
menuId: 'd2954be3abaaf2de3dc79add4c8ab8cd'
},
// {
// title: '用户管理',
// path: '/userManage',
// menuId: 'YRJUEVJVUJ'
// },
// {
// title: '系统配置管理',
// path: '/warningTimeSetting',
// menuId: 'H2KC6P3PPM'
// },
// {
// title: '文档转换监控',
// path: '/convertDocView',
// menuId: '3F52K25546'
// },
// {
// title: '菜单管理',
// path: '/menuManage',
// menuId: '87b8b4f5817a7829696e63185c744d52'
// },
{
title: '链接管理',
path: '/linkManage',
menuId: 'd3ff92078c53a4d9d1f1a94450fee91e'
},
// // {
// // title: '保密管理',
// // path: '/convertDocView'
// // },
// {
// title: '动态信息管理',
// path: '/DynamicInformations',
// menuId: '3C87BSHJUF'
// },
{
title: '标准属性自定义',
path: '/attributeCustom',
menuId: '9cdb9b40157dd967b664b9af462b960b'
},
// // {
// // title: '流程分类管理',
// // path: '/processClassificationManage',
// // menuId: 'N323F2UB9FTUV5SD3GTD'
// // },
// // {
// // title: '流程管理',
// // path: '/processManage',
// // menuId: 'K5KXSS3X9CF7CS8AMFJ5'
// // },
// {
// title: 'SVPPS',
// path: '/svpps',
// menuId: 'AR52RX586LQHVZSVV83K'
// },
// {
// title: '企标编号管理体系',
// path: '/enterpriseStandardNumberManagement',
// menuId: '9YSFG39S3CBFUJCEU3QX'
// }
]
},
{
title: '个人中心',
path: '/personal',
'icon-class': 'ucenter',
menuId: '32143ffasdf',
children: [
// {
// title: '我的消息',
// path: '/dynamics',
// menuId: 'JCEV4AEV32'
// },
// {
// title: '我的企标',
// path: '/MyEnterpriseStandard',
// menuId: 'LKU3W23UMEHDM9VLDHGK'
// },
{
title: '我的收藏',
path: '/collection',
menuId: '63e999c65b1f2b1339119a00eb1d50cf'
},
// {
// title: '我的浏览',
// path: '/browsing',
// menuId: 'HAEY2A4LMX'
// },
// {
// title: '已收分享',
// path: '/push',
// menuId: '9F8T7DPYHE'
// },
// {
// title: '已发分享',
// path: '/forward',
// menuId: 'K45Y9TGKZV2K4XP4CETD'
// },
// {
// title: '我的问答',
// path: '/questionsAndAnswers',
// menuId: '8VKLZATQQG4NQHXV9UDS'
// },
{
title: '我的板块',
path: '/plate',
menuId: 'e4a94f03223df6f4ad70732b96f07221'
}
// {
// title: '个人信息',
// path: '/info',
// menuId: '8K7FDHG89G'
// }
]
},
{
title: '搜索中心',
path: '/advancedSearch',
'icon-class': 'search',
menuId: '1332FSFAD',
isChildren: true // 判断没有子菜单
},
// {
// title: '标准比对库',
// path: '/standardComparisonLibrary',
// 'icon-class': 'search',
// menuId: 'Q32VBYVGCAE4XXN3XZ8T',
// isChildren: true // 判断没有子菜单
// }
// {
// title: '自定义报表',
// path: '/customReport',
// 'icon-class': 'baobiao',
// isChildren: true // 判断没有子菜单
// }
]
}
},
created () {
// 获取当前页的path,赋值没左侧菜单,并展开
if (this.$route.meta.parentPath) {
this.defaultActive = this.$route.meta.parentPath
} else {
this.defaultActive = this.$route.path
}
},
mounted () {
},
computed: {
logo () {
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
// {
// title: '国内外政策',
// path: '/foreignRegulationsDatabase',
// menuId: '4DB4Y2H3NH'
// },
// // // {
// // // title: '标准制修订管理',
// // // path: '/demo2One'
// // // },
{
title: '标准法规清单',
path: '/accessStandardsAndRegulations',
menuId: '08dbd417864b08426034ca56d1fa3d02'
},
// // {
// // title: '标准法规清单详情',
// // path: '/details'
// // }
// // // {
// // // title: '试验项目库',
// // // path: '/demo2One'
// // // },
// // // {
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
{
title: '企业标准库',
path: '/enterpriseStandardDatabase',
menuId: '7feeb73929c25a6f1fd67952704ec02b'
},
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
// menuId: 'WW7YDHQ9Z679TGMDZMUS'
// },
// // {
// // title: '子公司标准库',
// // path: '/subsidiaryStandardLibrary'
// // }
/* {
title: '车型/项目库',
path: '/localProductsOrProjectLibrary',
menuId: '42ce39c9f953be65a3e5643a4a2c786f'
},*/
{
title: '未符合项整改',
path: '/nonConfomity',
menuId: '0119abd677e0204e061eb0f0b8cafda0'
},
{
title: '工作组',
path: '/workingGroup',
},
// {
// title: '备案产品标准库',
// path: '/enterpriseStandardFiling',
// menuId: 'MQBAGJQMSRZDRX3X5AVR'
// },
{
title: '标准合规评估结果', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
path: '/standInvolveProject',
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
}
// {
// title: '动态信息',
// path: '/information',
// menuId: 'ULUBXHYQB8M3XQ9HS9QG'
// }
]
},
{
title: '我的工作',
path: '/processCenter',
'icon-class': 'liucheng',
menuId: '3fadf',
children: [
{
title: '流程中心',
path: '/processCenter',
menuId: '7455dc97eac2933341e18be659f07e89'
},
{
title: '新建流程',
path: '/createProcessNew',
menuId: 'b53e6722b33a37c0fa2d87a9b06cca40'
}
]
},
{
title: '本地工具',
path: '/localTool',
'icon-class': 'tools',
menuId: 'afsd12',
children: [
// {
// title: '标准预警',
// path: '/standardWarning'
// },
{
title: '标准内容自动识别',
path: '/standardRecognition',
menuId: '3db80f62af9d96d6dfc6d429eea4b29b'
},
{
title: '标准拆分',
path: '/standAutoSplit',
menuId: '0062e261bc65e27e0a968dac67e16a3c'
},
{
title: '标准比对',
path: '/standContrast',
menuId: '1d83a6278f781419f628e9f5560f5c86'
},
// {
// title: '标准比对库',
// path: '/standardComparisonLibrary',
// menuId: 'AH56UDHHBVF5V7WZFWJQ'
// }
// {
// title: '预警管理',
// path: '/warningManage'
// },
// {
// title: '动态&通知管理',
// path: '/dynamicInformationManage'
// },
// {
// title: '标准编号申领',
// path: '/applicationStandardNumber'
// },
]
},
{
title: '标准预警',
path: '/standardWarning',
'icon-class': 'warning',
menuId: 'asfdew33',
isChildren: true // 判断没有子菜单
},
// {
// title: '技术要求清单',
// path: '/skillReq',
// children: [
// {
// title: '技术要求清单查看',
// path: '/SkillReqSee'
// },
// {
// title: '技术要求清单管理',
// path: '/SkillReqAdd'
// }
// ]
// },
{
title: '配置管理',
path: '/config',
'icon-class': 'conf',
menuId: 'adff323',
children: [
{
title: '标准法规属性管理',
path: '/standLawsAttrManage',
menuId: '72a24657972d286b8b5d80735cf4eee2'
},
// {
// title: '资料中心管理',
// path: '/dynamicInformationManage',
// menuId: '6V2QZ9STRZ'
// },
{
title: '机构管理',
path: '/MechanismManage',
menuId: '5a09164da97760846509c5c9dd86b80c'
},
{
title: '角色管理',
path: '/roleManage',
menuId: 'd73d0e230eafdb2ddefe1c97daf657ea'
},
{
title: '岗位管理',
path: '/postManage',
menuId: 'd2954be3abaaf2de3dc79add4c8ab8cd'
},
// {
// title: '用户管理',
// path: '/userManage',
// menuId: 'YRJUEVJVUJ'
// },
// {
// title: '系统配置管理',
// path: '/warningTimeSetting',
// menuId: 'H2KC6P3PPM'
// },
// {
// title: '文档转换监控',
// path: '/convertDocView',
// menuId: '3F52K25546'
// },
// {
// title: '菜单管理',
// path: '/menuManage',
// menuId: '87b8b4f5817a7829696e63185c744d52'
// },
{
title: '链接管理',
path: '/linkManage',
menuId: 'd3ff92078c53a4d9d1f1a94450fee91e'
},
// // {
// // title: '保密管理',
// // path: '/convertDocView'
// // },
// {
// title: '动态信息管理',
// path: '/DynamicInformations',
// menuId: '3C87BSHJUF'
// },
{
title: '标准属性自定义',
path: '/attributeCustom',
menuId: '9cdb9b40157dd967b664b9af462b960b'
},
// // {
// // title: '流程分类管理',
// // path: '/processClassificationManage',
// // menuId: 'N323F2UB9FTUV5SD3GTD'
// // },
// // {
// // title: '流程管理',
// // path: '/processManage',
// // menuId: 'K5KXSS3X9CF7CS8AMFJ5'
// // },
// {
// title: 'SVPPS',
// path: '/svpps',
// menuId: 'AR52RX586LQHVZSVV83K'
// },
// {
// title: '企标编号管理体系',
// path: '/enterpriseStandardNumberManagement',
// menuId: '9YSFG39S3CBFUJCEU3QX'
// }
]
},
{
title: '个人中心',
path: '/personal',
'icon-class': 'ucenter',
menuId: '32143ffasdf',
children: [
// {
// title: '我的消息',
// path: '/dynamics',
// menuId: 'JCEV4AEV32'
// },
// {
// title: '我的企标',
// path: '/MyEnterpriseStandard',
// menuId: 'LKU3W23UMEHDM9VLDHGK'
// },
{
title: '我的收藏',
path: '/collection',
menuId: '63e999c65b1f2b1339119a00eb1d50cf'
},
// {
// title: '我的浏览',
// path: '/browsing',
// menuId: 'HAEY2A4LMX'
// },
// {
// title: '已收分享',
// path: '/push',
// menuId: '9F8T7DPYHE'
// },
// {
// title: '已发分享',
// path: '/forward',
// menuId: 'K45Y9TGKZV2K4XP4CETD'
// },
// {
// title: '我的问答',
// path: '/questionsAndAnswers',
// menuId: '8VKLZATQQG4NQHXV9UDS'
// },
{
title: '我的板块',
path: '/plate',
menuId: 'e4a94f03223df6f4ad70732b96f07221'
}
// {
// title: '个人信息',
// path: '/info',
// menuId: '8K7FDHG89G'
// }
]
},
// {
// title: '搜索中心',
// path: '/advancedSearch',
// 'icon-class': 'search',
// menuId: '1332FSFAD',
// isChildren: true // 判断没有子菜单
// },
// {
// title: '标准比对库',
// path: '/standardComparisonLibrary',
// 'icon-class': 'search',
// menuId: 'Q32VBYVGCAE4XXN3XZ8T',
// isChildren: true // 判断没有子菜单
// }
// {
// title: '自定义报表',
// path: '/customReport',
// 'icon-class': 'baobiao',
// isChildren: true // 判断没有子菜单
// }
]
}
},
...mapGetters(['getDynamicTotal', 'isCollapse'])
},
watch: {
// 监听路由 重新渲染面包屑
$route () {
created () {
// 获取当前页的path,赋值没左侧菜单,并展开
if (this.$route.meta.parentPath) {
this.defaultActive = this.$route.meta.parentPath
} else {
this.defaultActive = this.$route.path
}
},
mounted () {
},
methods: {
handleToggleSideBar () {
this.toggleSideBar(!this.isCollapse)
},
...mapMutations(['toggleSideBar'])
},
computed: {
logo () {
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
},
...mapGetters(['getDynamicTotal', 'isCollapse'])
},
watch: {
// 监听路由 重新渲染面包屑
$route () {
// 获取当前页的path,赋值没左侧菜单,并展开
if (this.$route.meta.parentPath) {
this.defaultActive = this.$route.meta.parentPath
} else {
this.defaultActive = this.$route.path
}
}
}
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
.nav-menu {
width: 58px;
height: 100%;
overflow-y: auto;
user-select: none;
box-sizing: border-box;
background: url("~assets/images/shangqi/sideBar/newside-bar-bg1.png") no-repeat;
background: rgb(255, 255, 255);
background-size: 100% 100%;
&:not(.is-collapse) {
width: 212px;
background: url("~assets/images/shangqi/sideBar/side-bar-bg1.png") no-repeat;
background: rgb(255, 255, 255);
background-size: 100% 100%;
.logo {
padding: 10px;
text-align: left;
img {
width: 115px;
height: 43px;
height: 45px;
}
}
}
@@ -488,12 +508,18 @@ export default {
height: 35px;
}
}
.nav-menu-header{
/*background:url("../../assets/images/shangqi/home/logo3.png");*/
}
}
.has-no-read{
position: relative;
top:-15px;
left:10px
}
.nav-menu /deep/.el-submenu__title i {
color: #000;
}
.nav-menu{
scrollbar-width: none;
-ms-overflow-style: none; /* IE 10+ */
@@ -0,0 +1,81 @@
<!--外部会议资料-->
<template>
<div class="conference-materials">
<ul>
<li v-for="item in materialsList" :key="item.id" class="time-title">
<a class="title" :title="item.title">{{item.name}}</a>
<span class="time">{{putTime}}</span>
</li>
</ul>
</div>
</template>
<script>
export default {
name: "ConferenceMaterials",
data () {
return {
putTime: '',
materialsList: [
{
id: 1,
name: '外部会议资料1',
},
{
id: 2,
name: '外部会议资料2',
},{
id: 3,
name: '外部会议资料3',
},
{
id: 4,
name: '外部会议资料4',
},
], //会议资料数据
}
},
methods: {
//获取当前时间
getDate () {
var date = new Date()
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
var nowDate = year + '-' + month + '-' + day
this.putTime = nowDate
}
},
mounted() {
this.getDate()
},
};
</script>
<style lang="less" scoped>
.conference-materials {
.time-title {
margin: 15px;
.time {
float: right;
color:#FFFFFF;
}
a {
color: #FFFFFF;
&:hover {
color: #e9c851;
cursor:pointer;
text-decoration: underline;
}
}
}
}
</style>
@@ -0,0 +1,90 @@
<!-- 尾部链接 -->
<template>
<div class="link">
<div class="title">友情链接</div>
<ul>
<li v-for="(link, index) in linkList" v-if="index<5" :key="index" @click="openLinkUrl(link.url)">
<a v-if="link.name.length>13" v-html="link.name.substring(0,13)+'...'" :title="link.name"></a>
<a v-else v-html="link.name" :title="link.name"></a>
</li>
<li>
<router-link to="/linkManage">更多链接></router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'Empennage',
components: {},
mixins: [],
data() {
return {
linkList: [],
}
},
computed: {},
watch: {},
mounted() {
this.getLink();
},
methods: {
// 跳转链接
openLinkUrl (linkUri) {
let getHttp = linkUri.substring(0, 7)
let getHttps = linkUri.substring(0, 8)
if (getHttp === 'http://' || getHttps === 'https://') {
window.open(linkUri)
} else {
window.open('https://' + linkUri)
}
},
// 获取链接数据
getLink () {
this.$http.get('sarUrl/tsUrl', {
}, {
_this: this,
loading: 'Loading'
}, res=> {
this.linkList = res.data
})
}
},
}
</script>
<style lang="less" scoped>
.link {
display: flex;
border-radius: 3px;
height: 100%;
.title {
padding-left: 10px;
width: 80px;
}
ul {
width: calc(~'100% - 80px');
display: flex;
height: 100%;
text-align: center;
user-select: none;
li {
border-right: 1px solid #f4f4f4;
flex: 1;
a {
color: #333333;
}
}
li:hover {
background: #5ea9f6;
a {
color: #e9ca32;
text-decoration: none;
}
}
}
}
</style>
@@ -0,0 +1,116 @@
<!-- 右侧导航 -->
<template>
<div class="nav-menu">
<div class="lattice">
<div class="title">快捷入口</div>
<div class="menu-wrap">
<enter-card v-for="(item, index) in list"
:key="index"
:label="item.label"
:path="item.path"
:class="list.length === 1 ? 'wx-card1' : (list.length == 2 ? 'wx-card2' :'')">
</enter-card>
</div>
</div>
</div>
</template>
<script>
import EnterCard from '@/pages/home/components/EnterCard'
export default {
name: 'NavMenu',
components: {EnterCard},
mixins: [],
data() {
return {
list: []
}
},
computed: {},
watch: {},
mounted() {
this.getData()
},
methods: {
getData (){
this.$http.get('/sarPersonalCenter/sar-user-personal-menu/getList',
{
userId: this.$store.getters.userInfo.userId
}, {_this: this}, res => {
if (res.ok) {
res.data.records.forEach( item => {
if (item.state == 1) {
var json = {}
json.label = item.menuName
json.path = item.menuUrl
this.list.push(json)
}
})
for (let a = this.list.length; a < 9; a++) {
var json = {}
json.label = ''
json.path = '/plate'
this.list.push(json)
}
}
})
},
toPage() {
this.$router.push(this.path)
}
},
}
</script>
<style lang="less" scoped>
.nav-menu {
.lattice {
.title {
margin-bottom: 10px;
padding-left: 10px;
height: 40px;
line-height: 40px;
background: #fff;
font-size: 16px;
font-weight: bold;
}
.menu-wrap {
height: 240px;
display: flex;
flex-wrap: wrap;
justify-content:space-between;
font-size: 18px;
color: #333333;
margin-bottom: 10px;
text-align: center;
&:last-child {
margin-bottom: 0;
}
.wx-card {
height: 70px;
background-color: #FFFFFF;
width: 32%;
margin: 0 0 10px 0;
}
.wx-card1 {
width: 100%;
}
.wx-card2 {
width: 49%;
}
.menu-item {
flex: 1;
height: 70px;
line-height: 70px;
text-align: center;
margin-right: 10px;
background: #FFFFFF;
&:last-child {
margin-right: 0;
}
}
}
}
}
</style>
@@ -0,0 +1,23 @@
<!--会议通知-->
<template>
<div class="notice-of-meeting">
</div>
</template>
<script>
export default {
name: "NoticeOfMeeting",
data () {
return {
}
}
};
</script>
<style lang="less" scoped>
.notice-of-meeting {
}
</style>
@@ -0,0 +1,70 @@
<!-- 资讯 -->
<template>
<div class="realimeinfo">
<ul>
<li v-for="item in realimeinfoList" :key="item.id" class="time-title">
<a class="title" :title="item.title">{{ item.title }}</a>
<span class="time">{{ getDate(item.pubTime) }}</span>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'Realimeinfo',
components: {},
mixins: [],
data() {
return {
putTime: '',
realimeinfoList: [], //资讯数据
}
},
computed: {},
watch: {},
mounted() {
this.getDate()
this.getDynamicInformation()
},
methods: {
//截取时间
getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : ''
},
//获取数据
getDynamicInformation () {
let obj = {}
obj.msgType = 'RESOURCE'
obj.rowLimit = 8
this.$http.get('lawss/msgDynamicInfo/page', obj, {
_this: this
}, res => {
this.realimeinfoList = res.data.list
}, e => {
})
},
},
}
</script>
<style lang="less" scoped>
.realimeinfo {
.time-title {
margin: 15px;
.time {
float: right;
color: #FFFFFF;
}
a {
color: #ffffff;
&:hover {
color: #e9c851;
cursor:pointer;
text-decoration: underline;
}
}
}
}
</style>
@@ -0,0 +1,115 @@
<!-- 标准发布 -->
<template>
<div class="release">
<!-- <ul>-->
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
<!-- <div style="height: 18px;">-->
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
<!-- </div>-->
<!-- </li>-->
<!-- </ul>-->
<el-table
ref="selection"
:data="standardReleaseList"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
style="width: 100%">
<el-table-column
type="index"
width="50">
</el-table-column>
<el-table-column
prop="standName"
label="名称">
<template slot-scope="scope">
<span @click="handlePreview(scope.row)">{{ scope.row.standName }}</span>
</template>
</el-table-column>
<el-table-column
width="120"
label="结束时间">
<template slot-scope="scope">
<span>{{scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'Release',
components: {},
mixins: [],
data() {
return {
putTime: '',
standardReleaseList: [], //标准发布数据
}
},
computed: {},
watch: {},
mounted() {
this.getDate()
this.getAdvice()
this.addDate()
},
methods: {
// 点击查看
handlePreview (item) {
let routeUrl = this.$router.resolve({
name: 'OtherStandardDetails',
params: {
id: item.id,
pageType: item.standType + '_STAND'
}
})
window.open(routeUrl.href, '_blank')
},
//截取时间
getDate (date) {
return date != null ? date.substring(0, date.indexOf(' ')) : ''
},
//获取数据
getAdvice() {
let obj = {}
obj.limit = 10
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoByList', obj, {
_this: this
}, res => {
let arr = res.data
arr.forEach(item => {
if(item.standName !== ""){
this.standardReleaseList.push(item)
}
})
}, e => {
})
},
},
}
</script>
<style lang="less" scoped>
.release {
.time-title {
margin: 15px;
.time {
float: right;
color:#333333;
}
a {
color: #ffffff;
&:hover {
color: #e9c851;
cursor:pointer;
text-decoration: underline;
}
}
}
}
</style>
@@ -0,0 +1,127 @@
<!-- 搜索栏 -->
<template>
<div class="search-group">
<el-select
v-model="checkState"
class="search-group-item"
placeholder="请选择"
>
<el-option
v-for="item in jumpPage"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<div class="search-condition">
<el-input
@keyup.native.enter="search"
v-model="checkContent">
type="text"
placeholder="请输入关键词"
clearable
></el-input>
<el-button class="primary_button" type="primary" @click="search">搜索</el-button>
</div>
</div>
</template>
<script>
export default {
name: 'SearchGroup',
components: {},
mixins: [],
data() {
return {
// 当前查询状态
checkState: 'All',
// 查询内容
checkContent: '',
jumpPage: [
{
label: '全部',
value: 'All'
},
{
label: '国内标准法规',
value: 'stand'
},
{
label: '海外标准法规', // value没改
value: 'bussstand'
},
// {
// label: '国内外政策',
// value: 'laws'
// },
{
label: '企业标准',
value: 'enterprise'
}
],
}
},
computed: {},
watch: {},
methods: {
search() {
this.$router.push({
name: 'StandardSearch',
params: {
selectKey: this.checkState,
searchValue: this.checkContent || undefined
}
})
},
},
mounted(){
},
}
</script>
<style lang="less" scoped>
.search-group {
display: flex;
width: 100%;
height: 40px;
margin-bottom: 10px;
.search-group-item {
margin-right: 20px;
border-radius: 5px;
::v-deep {
.el-input__inner {
width: 18vm;
height: 40px;
color: #333333;
font-size: 16px;
border: 0;
border-radius: 3px;
background-color: #FFFFFF;
}
}
}
.search-condition {
display: flex;
flex: 1;
::v-deep {
.el-input__inner {
height: 40px;
font-size: 16px;
color: #333333;
border: 0;
border-radius: 3px;
background: #FFFFFF;
}
}
}
.primary_button {
width: 7.2vw;
height: 40px;
border: 0;
border-radius: 3px;
background-color: #5ea9f6;
}
}
</style>
@@ -0,0 +1,113 @@
<!-- 标准征求意见 -->
<template>
<div class="solicitopinions">
<!-- <ul>-->
<!-- <li v-for="item in domesticDynamics" :key="item.id" class="time-title">-->
<!-- <div style="height: 18px; border-bottom: dashed 1px #cccccc">-->
<!-- <a class="title" style="color: #333333;" :title="item.cname" @click="standForComments(item)">{{ item.cid }}</a>-->
<!-- <span class="time">{{ item.endTime }}</span>-->
<!-- </div>-->
<!-- </li>-->
<!-- </ul>-->
<el-table
ref="selection"
:data="domesticDynamics"
tooltip-effect="dark"
style="width: 100%;padding:0 0 20px 0;"
border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
style="width: 100%">
<el-table-column
type="index"
width="50">
</el-table-column>
<el-table-column
prop="cid"
label="标准名称/政策名称">
<template slot-scope="scope">
<span @click="standForComments(scope.row)">{{ scope.row.cid }}</span>
</template>
</el-table-column>
<el-table-column
prop="endTime"
width="120"
label="结束时间">
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "Solicitopinions",
components: {},
mixins: [],
data() {
return {
updateTime: "",
putTime: "",
domesticDynamics: [] //标准征求意见数据
};
},
computed: {},
watch: {},
mounted() {
this.getDate();
this.getAdvice();
// this.addDate();
},
methods: {
//截取时间
getDate(date) {
return date != null ? date.substring(0, date.indexOf(" ")) : "";
},
//获取数据
getAdvice() {
this.$http.get("slrs/sar-public-idea/SelectAllPage", {
page: 1,
size: 10
}, {
_this: this
}, res => {
this.domesticDynamics = res.data.records
}, e => {
});
},
standForComments(item) {
this.$store.commit("setDetailMap", this.$router.path);
this.$router.push({
name: "consultationDetails",
query: {
item: item
}
});
}
}
};
</script>
<style lang="less" scoped>
.solicitopinions {
height: 100%;
.time-title {
margin: 15px;
color: #333333;
.time {
float: right;
color: #333333;
}
a {
color: #ffffff;
&:hover {
color: #e9c851;
cursor: pointer;
text-decoration: underline;
}
}
}
}
</style>
@@ -0,0 +1,680 @@
<!-- 待办任务 -->
<template>
<div class="to-do-list">
<div>
<span class="task">待办任务</span>
<div class="more" @click="togo">更多</div>
</div>
<ul>
<li v-for="item in toDoTaskList" :key="item.id" class="time-title">
<div style="height: 18px">
<a style="color: #333333" @click="dealWith(item)">{{ item.prcName }}</a>
</div>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'ToDoList',
components: {},
mixins: [],
data() {
return {
toDoTaskList: [],// 代办数据
total: 0,
pageNo: 1,
}
},
computed: {},
watch: {},
mounted() {this.queryProcess()},
methods: {
togo () {
this.$router.push('/processCenter')
},
queryProcess () { // 查询待办流程
this.$http.postData('lawss/activiti/todoTaskList', {
current: this.pageNo,
size: parseInt(this.$store.getters.userInfo.configContent),
userId: this.$store.getters.userInfo.usid || this.$store.getters.userInfo.userId,
},
{
loading: 'loading',
_this: this
}, res => {
this.toDoTaskList = res.list
}, e => {
})
},
toPage() {
this.$router.push(this.path)
},
dealWith (row) { // 办理
const prcType = row.prcType
switch(prcType) {
case '1':
if (row.taskInfo === '标准法规业务经理审批') {
this.$router.push({
name: 'bzrkStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '责任人会签'){
this.$router.push({
name: 'bzrkStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '申请人修订'){
this.$router.push({
name: 'bzrkStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
case '2':
if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({
name: 'bzdyStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人上传调研结果') {
this.$router.push({
name: 'bzdyStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任对接人审批') {
this.$router.push({
name: 'bzdyStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师调研汇总'){
this.$router.push({
name: 'bzdyStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人会签'){
this.$router.push({
name: 'bzdyStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '部长+对接人审核') {
this.$router.push({
name: 'bzdyStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('工程研究总院院长') == 0 ) {
this.$router.push({
name: 'bzdyStep9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else {
this.$router.push({
name: 'bzdyStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break;
case '3':
if (row.taskInfo === '责任对接人选择责任人') {
this.$router.push({
name: 'bzzqyjStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人填写征求意见'){
this.$router.push({
name: 'bzzqyjStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任对接人审批') {
this.$router.push({
name: 'bzzqyjStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规工程师汇总填写处理意见') {
this.$router.push({
name: 'bzzqyjStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人会签') {
this.$router.push({
name: 'bzzqyjStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '部长+对接人审核') {
this.$router.push({
name: 'bzzqyjStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo.indexOf('技术委员会相关专委会主任') == 0 ) {
this.$router.push({
name: 'bzzqyjStep8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else {
this.$router.push({
name: 'bzzqyjStep9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//标准清单更新/发布流程
case'4' :
if (row.taskInfo === '进行会签,填写意见') {
this.$router.push({
name: 'bzqdfbStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '根据会签意见修订') {
this.$router.push({
name: 'bzqdfbStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '业务经理审批') {
this.$router.push({
name: 'bzqdfbStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//项目合规评估流程
case '5' :
if(row.taskInfo === '标准法规部业务经理审批'){
this.$router.push({
name: 'xmpgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准评估任务下发'){
this.$router.push({
name: 'xmpgStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '合规性评估'){
this.$router.push({
name: 'xmpgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '分发责任人审核'){
this.$router.push({
name: 'xmpgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '汇总审核'){
this.$router.push({
name: 'xmpgStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '标准法规部领导审核'){
this.$router.push({
name: 'xmpgStep7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//项目评估流程-项目
case '6':
if(row.taskInfo === '标准法规部业务经理审批'){
this.$router.push({
name: 'xmpg2Step2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if(row.taskInfo === '工程经理转办'){
this.$router.push({
name: 'xmpg2Step3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '架构经理任务分发') {
this.$router.push({
name: 'xmpg2Step4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '分发责任人下发') {
this.$router.push({
name: 'xmpg2Step5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '合规性评估') {
this.$router.push({
name: 'xmpg2Step6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '分发负责人审批') {
this.$router.push({
name: 'xmpg2Step7',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '架构经理审批') {
this.$router.push({
name: 'xmpg2Step8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '工程经理审批') {
this.$router.push({
name: 'xmpg2Step9',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '标准法规部经理审批') {
this.$router.push({
name: 'xmpg2Step10',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '汇总审批') {
this.$router.push({
name: 'xmpg2Step11',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if(row.taskInfo === '标准法规部部长审批') {
this.$router.push({
name: 'xmpg2Step12',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//未符合项整改流程
case '8' :
if(row.taskInfo === '下发至标准法规工程师'){
this.$router.push({
name: 'wfhxzgStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '确认+选择责任人') {
this.$router.push({
name: 'wfhxzgStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '上传佐证材料填写信息') {
this.$router.push({
name: 'wfhxzgStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else {
this.$router.push({
name: 'wfhxzgStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
case '9':
if (row.taskInfo === '选择执行人') {
this.$router.push({
name: 'bzjdStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '填写解读分析') {
this.$router.push({
name: 'bzjdStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '责任人审核') {
this.$router.push({
name: 'bzjdStep4',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '工程师审核') {
this.$router.push({
name: 'bzjdStep5',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '部长审批') {
this.$router.push({
name: 'bzjdStep6',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
//项目清单确认流程
case '10' :
if(row.taskInfo === '确认人确认'){
this.$router.push({
name: 'xmqdqrStep2',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
} else if (row.taskInfo === '标准法规部经理审批') {
this.$router.push({
name: 'xmqdqrStep3',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}
break
}
},
},
}
</script>
<style lang="less" scoped>
.to-do-list {
border-radius: 3px;
//flex: 1;
height: calc(~'100% - 300px');
overflow: hidden;
background: #FFFFFF;
.task {
display: inline-block;
margin: 15px;
color: #333333;
font-size: 18px;
}
.more {
float: right;
color: #333333;
margin: 15px 15px;
&:hover {
color: #5ea9f6;
cursor: pointer;
}
}
.time-title {
margin: 15px;
border-bottom: 1px dashed #cccccc;
}
a {
color: #333333;
&:hover {
color: #e9c851;
text-decoration: underline;
}
}
}
</style>
+187
View File
@@ -0,0 +1,187 @@
<template>
<div class="home">
<div class="home_main">
<div class="left_wrapper">
<search-group></search-group>
<div class="main-tabs" style="border-radius: 3px;">
<div class="main-left-wrap" >
<!-- <el-button type="text" style="font-size: 14px" class="more" @click="MORE">MORE</el-button>-->
<el-tabs
v-model="activeName"
class="home-tabs"
@tab-click="handleTabClick"
>
<el-tab-pane label="标准征求意见" name="solicitOpinions">
<solicitOpinions></solicitOpinions>
</el-tab-pane>
<el-tab-pane label="标准发布" name="release">
<release></release>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
<div class="right_wrapper">
<nav-menu></nav-menu>
<todo-list></todo-list>
</div>
</div>
<div calss="home_footer">
<div class="footer">
<Empennage></Empennage>
</div>
</div>
</div>
</template>
<script>
import searchGroup from './components/searchGroup'
import release from './components/release'
import solicitOpinions from './components/solicitopinions'
import navMenu from './components/navMenu'
import todoList from './components/todoList'
import Empennage from "./components/empennage"
export default {
name: "Home2",
components: {
searchGroup,
solicitOpinions,
release,
navMenu,
todoList,
Empennage,
},
data() {
return {
activeName: 'solicitOpinions',
}
},
methods: {
handleTabClick(tab, event) {},
//退出登录
logout(){
this.$confirm('您确认要退出吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: false
}).then(() => {
this.$store.commit('setTypeFlag', 'loginOut')
this.$http.get('logout', {}, {
_this: this
}, res => {
this.$store.dispatch('logout')
this.$router.push('/login')
}, e => {})
}).catch(() => {
})
},
MORE() {
switch (this.activeName) {
case 'solicitOpinions':
this.$router.push({name: 'standardForComments'})
break
case 'release':
this.$confirm('请选择国内/海外标准', {
confirmButtonText: '国内标准',
cancelButtonText: '海外标准',
type: 'warning',
center: true
}).then(() => {
this.$router.push({name: 'domesticStandardsAndRegulations'})
}).catch(() => {
this.$router.push({name: 'foreignStandardsAndRegulations'})
});
break
default:
break
}
}
},
};
</script>
<style lang="less" scoped>
.home{
height: 100%;
display: flex;
flex-direction: column;
background-color: #F0F2F5;
background-size: 100% 100%;
.home_main {
display: flex;
flex: 1;
overflow: hidden;
.left_wrapper {
display: flex;
flex: 1;
flex-direction: column;
width: 53.5vw;
height: calc(~'100% - 10px');
margin-right: 10px;
.more {
float: right;
color: #333333;
margin: 0px 15px;
&:hover {
color: red;
cursor: pointer;
}
}
.home-tabs {
/deep/.el-tabs__content {
height: calc(~'100% - 55px');
}
::v-deep.el-tabs__header{
margin: 0 70px 15px 10px
}
::v-deep {
.el-tabs__item {
font-size: 16px;
font-weight: 500;
color: #333333;
}
.el-tabs__nav-wrap::after {
background-color: transparent;
}
}
}
.main-tabs {
display: flex;
flex: 1;
flex-direction: column;
width: 100%;
height: 40vh;
margin-right: 10px;
background:#FFFFFF;
.main-left-wrap {
height: 100%;
.home-tabs {
height: 100%;
}
}
}
}
.right_wrapper {
display: flex;
flex-direction: column;
width: 37vw;
height: 100%;
}
.search-condition {
display: block;
.el-input {
width: 300px;
}
}
}
.footer {
height: 49px;
line-height: 49px;
//margin-top: 0.3vh;
//line-height: 5.2vh;
background: #FFFFFF;
}
}
</style>
+5 -5
View File
@@ -60,7 +60,7 @@
} else if (this.password === '') {
this.$message.warning('密码不能为空')
} else {
// this.$router.push('/home1')
// this.$router.push('/home2')
this.loginUser(this.username, this.password)
this.getEditPermission()
}
@@ -124,7 +124,7 @@
if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => {
this.loading = false
this.$router.push('/home1')
this.$router.push('/home2')
}, e => {
this.loading = false
this.$message.warning('未获取到菜单')
@@ -165,7 +165,7 @@
})
if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => {
this.$router.push('/home1')
this.$router.push('/home2')
}, e => {
this.$message.warning('未获取到菜单')
})
@@ -208,7 +208,7 @@
})
if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => {
this.$router.push('/home1')
this.$router.push('/home2')
}, e => {
this.$message.warning('未获取到菜单')
})
@@ -323,7 +323,7 @@
window.sessionStorage.setItem('menuList', menuList); // del
if (hasHomeMenu) {
this.setMenu(JSON.stringify(menuList)).then(res => {
this.$router.push('/home1')
this.$router.push('/home2')
}, e => {
this.$message.warning('未获取到菜单')
})
+23 -9
View File
@@ -59,6 +59,18 @@ const routes = [
isBoolean: true
}
},
// {
// path: '/home2',
// name: 'Home2',
// component: () =>
// import('@/pages/home2'),
// meta: {
// requireAuth: true,
// title: '福田首页',
// menuId: '',
// isBoolean: true
// }
// },
// 个人中心
{
path: '/personal',
@@ -231,15 +243,6 @@ const routes = [
title: '流程详情'
}
},
{
path: '/processAcceptDetail',
name: 'ProcessAcceptDetail',
component: () => import('@/pages/processCenter/pages/processAcceptDetail/index.vue'),
meta: {
requireAuth: true,
title: '流程详情'
}
},
{
path: '/bzffStep1',
name: 'bzffStep1',
@@ -1164,6 +1167,17 @@ const routes = [
menuId: 'RAFQ4N4ARF'
}
},
{
path: '/home2',
name: 'Home2',
component: () =>
import('@/pages/home2/index'),
meta: {
requireAuth: true,
title: '首页',
menuId: 'RAFQ4N4ARF'
}
},
{
path: '/dynamicInformationMore',
name: 'DynamicInformationMore',