123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- import Store from '@/store'
- import Api from '@/api'
- export default {
- //专利数据库权限
- // hasRole(projectId, roles){
- // if (!projectId) {
- // return true
- // }
- // const permissions = Store.getters && Store.getters.permissions
- // const p = permissions[projectId]
- // return p === 0 || roles.indexOf(p) !== -1
- // },
-
- //专利数据库权限
- // hasPermission(sign){
- // return (Store.state.admin.permission).indexOf(sign) !== -1
- // },
- //报告权限
- reportPermission(reportId, roles){
- // return true
- if(!reportId){
- return true
- }
- const role = Store.state.user.userinfo
- if(role.roleType === 1 || user.roleType == 2){
- return true
- }
- const permissions = Store.getters && Store.getters.permissions
- if(Object.keys(permissions).length==0){
- return true
- }
- const reportRole = permissions[reportId]
- if(!reportRole){
- return true
- }
- var result = false
- for(var item of reportRole){
- if(roles.includes(item)){
- result = true
- break
- }
- }
- return result
- },
- /**
- * 项目权限
- * @param {*} projectId 项目ID
- */
- async projectPermission(projectId){
- const user = Store.state.user.userinfo
- if(user.roleType == 1 || user.roleType == 2){
- return true
- }
- if(!projectId){
- return true
- }
- var data = {}
- // if(sessionStorage.getItem('projectPermission')){
- // data = JSON.parse(sessionStorage.getItem('projectPermission'))
- // }
- var obj = data[projectId]
- if(!obj){
- var projectIds = [projectId]
- await Api.getProjectPermissions(projectIds).then(response=>{
- if(response.code == 200){
- var d = response.data.data[projectId]
- data[projectId] = d
- // sessionStorage.setItem('projectPermission',JSON.stringify(data))
- obj = d
- }
- })
- }
- if(!obj){
- return 0
- }
- // 0创建人 1负责人 3被分享人 2参与人
- if(obj.includes('0')||obj.includes('1')||obj.includes('2')){
- return true
- }
- if(obj.includes('3')){
- return false
- }else{
- return 0
- }
-
- },
- /**
- * 功能权限
- * @param {String} str
- */
- FunPermissions(str){
- // return true
- const user = Store.state.user.userinfo
- if(user.roleType == 1){
- return true
- }
- const permissionList = Store.state.permission.permission
- return permissionList.includes(str)
- },
- /**
- * 产品权限
- * @param {*} id //产品id或者产品类别id
- * @param {*} type //类型,1是产品类别,2是产品
- */
- async producePermission(id,type){
- const user = Store.state.user.userinfo
- if(user.roleType = 1 || user.roleType == 2){
- return true
- }
- if(!id || !type){
- return false
- }
- var data = {}
- // if(type == 2){
- // var str = sessionStorage.getItem('product')
- // if(str){
- // data = JSON.parse(str)
- // }
- // }else if(type == 1){
- // var str = sessionStorage.getItem('productCategory')
- // if(str){
- // data = JSON.parse(str)
- // }
- // }
- var obj = data[id]
- if(!obj){
-
- var searchQuery = ''
- var api = ''
- if(type == 2){
- api = 'queryProduct'
- searchQuery = `product_id=${id}`
- }else if(type == 1){
- api = 'queryProductCategory'
- searchQuery = `category_id=${id}`
- }
- var params = {
- searchQuery:searchQuery
- }
- await Api[api](params).then(response=>{
- if(response.code == 200){
- var d = response.data.data
- if(d && d.length>0){
- data[d[0].id] = d[0]
- // if(type == 2){
- // sessionStorage.setItem('product',JSON.stringify(data))
- // }else if(type == 1){
- // sessionStorage.setItem('productCategory',JSON.stringify(data))
- // }
- obj = d[0]
- }
- }
- })
- }
- if(!obj){
- return false
- }
- if(obj.createId == user.id){
- return true
- }
- if(obj.adminIds && obj.adminIds.includes(user.id)){
- return true
- }
- return false
- }
- }
|