|
|
|
@ -21,6 +21,10 @@ |
|
|
|
@click="buAuthorize()" |
|
|
|
> {{ buttons.buAuthorization || 'BU授权' }} |
|
|
|
</el-button> |
|
|
|
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" |
|
|
|
@click="projectModel()" |
|
|
|
> {{ buttons.projectAuthorization || '项目授权' }} |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
@ -171,7 +175,7 @@ |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 工厂授权 --> |
|
|
|
<!-- BU授权 --> |
|
|
|
<el-dialog |
|
|
|
style="font-size: 12px" |
|
|
|
v-drag |
|
|
|
@ -191,13 +195,104 @@ |
|
|
|
|
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
|
width="600px" |
|
|
|
title="项目权限" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:visible.sync="projectRoleFlag"> |
|
|
|
<el-table |
|
|
|
:data="projectRoleList" |
|
|
|
border |
|
|
|
:height="400" |
|
|
|
v-loading="false" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
prop="projectId" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="50" |
|
|
|
label="项目号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="projectDesc" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="100" |
|
|
|
label="项目描述"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="25" |
|
|
|
label=""> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 --> |
|
|
|
<el-checkbox v-model="scope.row.checkAll" @change="changeAll(scope.row)"></el-checkbox> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="25" |
|
|
|
label="查询"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 --> |
|
|
|
<el-checkbox v-model="scope.row.searchCheck" @change="changeCheck(scope.row,1)"></el-checkbox> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="25" |
|
|
|
label="修改"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 --> |
|
|
|
<el-checkbox v-model="scope.row.updateCheck" @change="changeCheck(scope.row,2)"></el-checkbox> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="25" |
|
|
|
label="下载"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 --> |
|
|
|
<el-checkbox v-model="scope.row.downCheck" @change="changeCheck(scope.row,3)"></el-checkbox> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
min-width="25" |
|
|
|
label="删除"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<!-- 如果数据为Y,显示勾选框,否则不勾选 --> |
|
|
|
<el-checkbox v-model="scope.row.deleteCheck" @change="changeCheck(scope.row,4)"></el-checkbox> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<div style="margin-top: 5px"> |
|
|
|
<el-button type="primary" @click="saveAccessProject()">确定</el-button> |
|
|
|
<el-button @click="projectRoleFlag = false" type="primary">取消</el-button> |
|
|
|
</div> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import {getUserAccessSiteList, saveUserAccessSiteList} from '@/api/factory/accessSite.js' |
|
|
|
import {getSiteList} from '@/api/factory/site.js' |
|
|
|
import {searchAccessBuList,saveAccessBU} from '@/api/base/site.js' |
|
|
|
import {searchAccessBuList,saveAccessBU,searchAccessProjectForUser,saveAccessProject} from '@/api/base/site.js' |
|
|
|
|
|
|
|
import AddOrUpdate from './user-add-or-update' |
|
|
|
import {getUserBusinessRoleList, saveUserBusinessRole,} from '@/api/auditManagement/auditType.js' |
|
|
|
@ -216,6 +311,8 @@ import { |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
projectRoleFlag:false, |
|
|
|
projectRoleList:[], |
|
|
|
showButton: true, |
|
|
|
height: 200, |
|
|
|
securityHeight: 300, |
|
|
|
@ -299,6 +396,7 @@ export default { |
|
|
|
specialCompetencies: '特殊权限', |
|
|
|
factoryAuthorization: '工厂授权', |
|
|
|
buAuthorization: 'BU授权', |
|
|
|
projectAuthorization: '项目授权', |
|
|
|
createTime: '创建时间', |
|
|
|
username: '用户账号', |
|
|
|
userDisplay: '用户名', |
|
|
|
@ -398,6 +496,90 @@ export default { |
|
|
|
this.searchBuList() |
|
|
|
|
|
|
|
}, |
|
|
|
//授权项目start |
|
|
|
projectModel(){ |
|
|
|
let inData={ |
|
|
|
site:this.$store.state.user.site, |
|
|
|
username:this.selectUser.username, |
|
|
|
} |
|
|
|
searchAccessProjectForUser(inData).then(({data}) => { |
|
|
|
this.projectRoleList=data.rows |
|
|
|
}) |
|
|
|
this.projectRoleFlag=true |
|
|
|
}, |
|
|
|
changeAll(row){ |
|
|
|
if(row.checkAll){ |
|
|
|
row.searchCheck=true; |
|
|
|
row.updateCheck=true; |
|
|
|
row.downCheck=true; |
|
|
|
row.deleteCheck=true; |
|
|
|
row.searchFlag='Y' |
|
|
|
row.updateFlag='Y' |
|
|
|
row.downFlag='Y' |
|
|
|
row.deleteFlag='Y' |
|
|
|
}else { |
|
|
|
row.searchCheck=false; |
|
|
|
row.updateCheck=false; |
|
|
|
row.downCheck=false; |
|
|
|
row.deleteCheck=false; |
|
|
|
row.searchFlag='N' |
|
|
|
row.updateFlag='N' |
|
|
|
row.downFlag='N' |
|
|
|
row.deleteFlag='N' |
|
|
|
} |
|
|
|
}, |
|
|
|
changeCheck(row,type){ |
|
|
|
if(type==1){ |
|
|
|
if(row.searchCheck){ |
|
|
|
row.searchFlag='Y' |
|
|
|
}else { |
|
|
|
row.searchFlag='N' |
|
|
|
} |
|
|
|
} |
|
|
|
if(type==2){ |
|
|
|
if(row.updateCheck){ |
|
|
|
row.updateFlag='Y' |
|
|
|
}else { |
|
|
|
row.updateFlag='N' |
|
|
|
} |
|
|
|
} |
|
|
|
if(type==3){ |
|
|
|
if(row.downCheck){ |
|
|
|
row.downFlag='Y' |
|
|
|
}else { |
|
|
|
row.downFlag='N' |
|
|
|
} |
|
|
|
} |
|
|
|
if(type==4){ |
|
|
|
if(row.deleteCheck){ |
|
|
|
row.deleteFlag='Y' |
|
|
|
}else { |
|
|
|
row.deleteFlag='N' |
|
|
|
} |
|
|
|
} |
|
|
|
if(row.searchCheck&&row.updateCheck&&row.downCheck&&row.deleteCheck){ |
|
|
|
row.checkAll=true |
|
|
|
}else{ |
|
|
|
row.checkAll=false |
|
|
|
} |
|
|
|
this.$forceUpdate(); |
|
|
|
}, |
|
|
|
saveAccessProject(){ |
|
|
|
let inData={ |
|
|
|
site:this.$store.state.user.site, |
|
|
|
username:this.selectUser.username, |
|
|
|
accessProjectList:this.projectRoleList |
|
|
|
} |
|
|
|
saveAccessProject(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.$message.success( '操作成功') |
|
|
|
this.projectRoleFlag = false |
|
|
|
} else { |
|
|
|
this.$message.error(data.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
//授权项目end |
|
|
|
// 保存选中的授权工厂 |
|
|
|
saveUserAssessSite() { |
|
|
|
let accessSiteList = this.selectSitList.map(item => { |
|
|
|
@ -432,7 +614,7 @@ export default { |
|
|
|
for (let i = 0; i < this.selectBUList.length; i++) { |
|
|
|
let inData={ |
|
|
|
site:this.$store.state.user.site, |
|
|
|
username:this.$store.state.user.name, |
|
|
|
username:this.selectUser.username, |
|
|
|
buNo:this.selectBUList[i] |
|
|
|
} |
|
|
|
inList.push(inData) |
|
|
|
|