Merge branch 'develop' into 'test'
Develop See merge request LAWS/laws-system-front-FOTON!170
This commit is contained in:
+241
-184
@@ -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;"></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">
|
||||
|
||||
@@ -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;"></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;"></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
@@ -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></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+ */
|
||||
|
||||
+20
-4
@@ -59,15 +59,19 @@ router.beforeEach(function (to, from, next) {
|
||||
let prcNum = to.query.prcNum;
|
||||
let prcName = to.query.prcName;
|
||||
let prcType = to.query.prcType;
|
||||
let param = "?taskIds="+taskId+"&prcId="+prcId
|
||||
+"&prcNum="+prcNum+"&prcName="+prcName+"&prcType="+prcType;
|
||||
if(taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null){
|
||||
get_verify_by_instance({
|
||||
taskId: taskId, // 任务id
|
||||
pId: prcId // 流程实例
|
||||
}).then(res => {
|
||||
if(res && res > 0){
|
||||
let param = "?taskIds="+taskId+"&prcId="+prcId
|
||||
+"&prcNum="+prcNum+"&prcName="+prcName+"&prcType="+prcType;
|
||||
// 根据type判断跳转具体流程页面
|
||||
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
|
||||
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
|
||||
let isNotFinished = res.isNotFinished === undefined ? 0 :res.isNotFinished;
|
||||
|
||||
if(hisCount && hisCount > 0){ // 业务系统 当前节点已完成
|
||||
// 根据type判断跳转具体流程页面
|
||||
if (prcType === '1') {
|
||||
// 标准入库流程数据
|
||||
next({path:"bzrkStep5"+param})
|
||||
@@ -103,6 +107,18 @@ router.beforeEach(function (to, from, next) {
|
||||
//项目清单确认
|
||||
next({path:"xmqdqrStep1-3"+param})
|
||||
}
|
||||
}else { // 业务系统 当前节点未完成
|
||||
// commitStatus 大于0 表示当前节点存在未完成干活流程
|
||||
if(isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0){
|
||||
if(prcType === '3'){
|
||||
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
|
||||
if(path === '/bzzqyjStep3'){
|
||||
next({path:"processAcceptDetail?prcNum="+prcNum+"&tabsName=AlreadyProcess"})
|
||||
}
|
||||
}
|
||||
}else{
|
||||
next()
|
||||
}
|
||||
}
|
||||
console.log("res : res =>", res);
|
||||
})
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user