Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yanyizhou
2021-08-30 17:57:13 +08:00
3 changed files with 715 additions and 602 deletions
+188 -82
View File
@@ -32,17 +32,20 @@
class="common-button-primary add-button"
@click="roleAdd"
v-btn-permission="'93e75b6ec0b2b6b0b40d2b11adeba88a'"
size="mini">配置角色权限</el-button>
size="mini">配置角色权限
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="roleAddData"
v-btn-permission="'bb2571b08179edb36880aae169cb2e54'"
size="mini">配置数据权限</el-button>
size="mini">配置数据权限
</el-button>
<el-button type="primary"
class="common-button-primary add-button"
@click="RolesAdd(1)"
v-btn-permission="'3e0cee86b3522d4233df8f1f11ab02c7'"
size="mini">新增角色</el-button>
size="mini">新增角色
</el-button>
</div>
<div class="content">
<el-table
@@ -74,7 +77,7 @@
label="角色状态"
width="170px">
<template slot-scope="scope">
<span>{{ scope.row.useFlag===0?'禁用':'启用' }}</span>
<span>{{ scope.row.useFlag === 0 ? '禁用' : '启用' }}</span>
</template>
</el-table-column>
<el-table-column
@@ -95,8 +98,12 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-btn-permission="'38e362493fd7603dc7fddd1f3ac8971c'" :command="[scope.row, '编辑']">编辑</el-dropdown-item>
<el-dropdown-item v-btn-permission="'025368d14944c4c4c86da29109b5f383'" :command="[scope.row, '删除']">删除</el-dropdown-item>
<el-dropdown-item v-btn-permission="'38e362493fd7603dc7fddd1f3ac8971c'" :command="[scope.row, '编辑']">
编辑
</el-dropdown-item>
<el-dropdown-item v-btn-permission="'025368d14944c4c4c86da29109b5f383'" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -118,20 +125,24 @@
v-if="modalshowflag"
node-key="id"
class="filter-tree"
v-loading="twoLoading"
:data="treeData2"
:props="defaultProps2"
:default-checked-keys="nodeList"
:expand-on-click-node="false"
default-expand-all
highlight-current
show-checkbox
check-strictly
:show-checkbox="true"
:check-strictly="true"
@check="nodeClick2"
ref="tree2">
</el-tree>
</div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="closeDialog">取消</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="confirmDialog">确定</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="confirmDialog">
确定
</el-button>
</div>
</el-dialog>
<el-dialog
@@ -151,14 +162,18 @@
default-expand-all
highlight-current
:expand-on-click-node="false"
show-checkbox
check-strictly
:show-checkbox="true"
:check-strictly="true"
@check="nodeClick"
ref="tree3">
</el-tree>
</div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="closeDialogData">取消</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="confirmDialogData">确定</el-button>
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="closeDialogData">取消
</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="confirmDialogData">
确定
</el-button>
</div>
</el-dialog>
<el-dialog
@@ -207,7 +222,8 @@
</div>
<div slot="footer">
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="AddRoleCancel">取消</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="AddRoleOk">确定</el-button>
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="AddRoleOk">确定
</el-button>
</div>
</el-dialog>
<el-drawer
@@ -240,8 +256,10 @@
icon="el-icon-check"
type="primary"
@click="SuperiorRoleOk"
>确定</el-button>
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="SuperiorRoleCancle">取消</el-button>
>确定
</el-button>
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="SuperiorRoleCancle">取消
</el-button>
</div>
</el-drawer>
</div>
@@ -250,8 +268,9 @@
<script>
export default {
name: 'role-manage',
data () {
data() {
return {
twoLoading: false,
type: '', // 新增/编辑状态
addRoleTitle: '',
SuperiorRoleData: {},
@@ -259,11 +278,11 @@ export default {
SuperiorRoleModel: false,
addFormRules: {
name: [
{ required: true, message: '请输入角色名称', trigger: 'blur' },
{required: true, message: '请输入角色名称', trigger: 'blur'},
{type: 'string', max: 100, message: '角色名称不能超过100个字符', trigger: 'blur'}
],
useFlag: [
{ required: true, message: '请选择角色状态', trigger: 'change' },
{required: true, message: '请选择角色状态', trigger: 'change'},
]
},
addForm: {
@@ -313,7 +332,7 @@ export default {
}
},
methods: {
handleCommand (command) {
handleCommand(command) {
switch (command[1]) {
case '编辑':
this.RolesAdd(0, command[0])
@@ -323,7 +342,7 @@ export default {
break
}
},
deleteRole (row) { // 删除角色
deleteRole(row) { // 删除角色
this.$confirm('此操作将永久删除该角色, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -347,33 +366,33 @@ export default {
});
});
},
drawerCheck (data) {
drawerCheck(data) {
var getlist = this.$refs.tree4.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes());
if(getlist.length == 1) {
}else {
if (getlist.length == 1) {
} else {
this.$refs.tree4.setCheckedKeys([data.id]);
}
this.SuperiorRoleData = data
},
SuperiorRoleOk () { // 上级角色确定
SuperiorRoleOk() { // 上级角色确定
this.addForm.parentId = this.SuperiorRoleData.id
this.addForm.parent = this.SuperiorRoleData.name
this.nodeList3 = []
this.nodeList3.push(this.addForm.parentId)
this.SuperiorRoleModel = false
},
SuperiorRoleCancle () { // 上级角色取消
SuperiorRoleCancle() { // 上级角色取消
this.SuperiorRoleModel = false
},
AddRoleCancel () { // 新增角色取消
AddRoleCancel() { // 新增角色取消
this.$refs['addForm'].resetFields();
this.addModel = false
},
AddRoleOk () { // 新增角色确定
AddRoleOk() { // 新增角色确定
this.$refs['addForm'].validate((valid) => {
if (valid) {
if (this.type === 1) { // 新增
this.$http.postData('sarRole/role',this.addForm , {}, res=> {
this.$http.postData('sarRole/role', this.addForm, {}, res => {
if (res.ok) {
this.$message.success('新增角色成功')
this.addModel = false
@@ -384,7 +403,7 @@ export default {
}
})
} else { // 编辑
this.$http.putData('sarRole/role',this.addForm , {}, res=> {
this.$http.putData('sarRole/role', this.addForm, {}, res => {
if (res.ok) {
this.$message.success('修改角色信息成功')
this.addModel = false
@@ -399,10 +418,10 @@ export default {
}
})
},
SuperiorRole () { // 点击选择上级角色按钮
SuperiorRole() { // 点击选择上级角色按钮
this.SuperiorRoleModel = true
},
RolesAdd (type, row) { // 新增/编辑角色按钮
RolesAdd(type, row) { // 新增/编辑角色按钮
this.type = type
if (type === 1) {
this.addRoleTitle = '新增角色'
@@ -423,79 +442,145 @@ export default {
}
this.addModel = true
},
getTree3 () {
this.$http.get('sarResource/ts-resource', {}, {}, res=> {
getTree3() {
this.$http.get('sarResource/ts-resource', {}, {}, res => {
if (res.ok) {
this.treeData3 = res.data
}
})
},
confirmDialogData () {
confirmDialogData() {
this.$http.postData('sarRole/role/resource', {
resourceIds: this.$refs.tree3.getCheckedKeys().concat(this.$refs.tree3.getHalfCheckedKeys()),
roleId: this.id
}, {}, res=> {
}, {}, res => {
if (res.ok) {
this.$message.success('设置权限成功')
this.modalflag = false
}
})
},
closeDialogData () {
closeDialogData() {
this.modalflag = false
},
roleAddData () {
/** 父子节点的级联 */
nodeClick(currentObj, treeStatus) {
// 用于:父子节点严格互不关联时,父节点勾选变化时通知子节点同步变化,实现单向关联。
let selected = treeStatus.checkedKeys.indexOf(currentObj.id) // -1未选中
// 选中
if (selected !== -1) {
// 子节点只要被选中父节点就被选中
this.selectedParent(currentObj)
// 统一处理子节点为相同的勾选状态
this.uniteChildSame(currentObj, true)
} else {
// 未选中 处理子节点全部未选中
if (currentObj.children.length !== 0) {
this.uniteChildSame(currentObj, false)
}
}
},
// 统一处理子节点为相同的勾选状态
uniteChildSame(treeList, isSelected) {
this.$refs.tree3.setChecked(treeList.id, isSelected)
for (let i = 0; i < treeList.children.length; i++) {
this.uniteChildSame(treeList.children[i], isSelected)
}
},
// 统一处理父节点为选中
selectedParent(currentObj) {
let currentNode = this.$refs.tree3.getNode(currentObj)
if (currentNode.parent.key !== undefined) {
this.$refs.tree3.setChecked(currentNode.parent, true)
this.selectedParent(currentNode.parent)
}
},
nodeClick2(currentObj, treeStatus) {
// 用于:父子节点严格互不关联时,父节点勾选变化时通知子节点同步变化,实现单向关联。
let selected = treeStatus.checkedKeys.indexOf(currentObj.id) // -1未选中
// 选中
if (selected !== -1) {
// 子节点只要被选中父节点就被选中
this.selectedParent2(currentObj)
// 统一处理子节点为相同的勾选状态
this.uniteChildSame2(currentObj, true)
} else {
// 未选中 处理子节点全部未选中
if (currentObj.children.length !== 0) {
this.uniteChildSame2(currentObj, false)
}
}
},
// 统一处理子节点为相同的勾选状态
uniteChildSame2(treeList, isSelected) {
this.$refs.tree2.setChecked(treeList.id, isSelected)
for (let i = 0; i < treeList.children.length; i++) {
this.uniteChildSame2(treeList.children[i], isSelected)
}
},
selectedParent2(currentObj) {
let currentNode = this.$refs.tree2.getNode(currentObj)
if (currentNode.parent.key !== undefined) {
this.$refs.tree2.setChecked(currentNode.parent, true)
this.selectedParent2(currentNode.parent)
}
},
roleAddData() {
this.$http.get('sarRole/role/resource', {
roleId: this.id
}, {}, res=> {
}, {}, res => {
if (res.ok) {
this.nodeList2 = res.data
this.modalflag = true
}
})
},
closeDialog () {
closeDialog() {
this.modalshowflag = false
},
confirmDialog () {
confirmDialog() {
this.$http.postData('sarRole/role/menu', {
menuIds: this.$refs.tree2.getCheckedKeys().concat(this.$refs.tree2.getHalfCheckedKeys()),
roleId: this.id
}, {}, res=> {
}, {}, res => {
if (res.ok) {
this.$message.success('设置权限成功')
this.modalshowflag = false
}
})
},
getTree2 () {
this.$http.get('lawss/sarMenu', {}, {}, res=> {
getTree2() {
this.$http.get('lawss/sarMenu', {}, {}, res => {
if (res.ok) {
this.treeData2 = res.data
this.twoLoading = false
}
})
},
roleAdd () { // 配置角色资源
roleAdd() { // 配置角色资源
this.treeTwoLoading = true
this.$http.get('sarRole/role/menu', {
roleId: this.id
}, {}, res=> {
roleId: this.id,
}, {}, res => {
if (res.ok) {
this.modalshowflag = true
this.nodeList = res.data
this.twoLoading = true
this.modalshowflag = true
this.getTree2()
}
})
},
handleNodeClick (data) {
handleNodeClick(data) {
this.id = data.id
this.getData()
},
getData () {
getData() {
this.$http.get('sarRole/role/id', {
roleId: this.id
},{
}, {
_this: this,
loading: 'Loading'
}, res=> {
}, res => {
if (res.ok) {
this.data = []
this.data.push(res.data)
@@ -506,14 +591,14 @@ export default {
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
treeCollapse () {
treeCollapse() {
this.sideClose = !this.sideClose
},
getTree () {
getTree() {
this.$http.get('sarRole/role', {}, {
_this: this,
loading: 'treeLoading'
}, res=> {
}, res => {
this.treeData = res.data
this.id = res.data[0].id
this.getData()
@@ -525,68 +610,79 @@ export default {
this.$refs.tree.filter(val);
}
},
computed:{
computed: {
newForm() {
return JSON.parse(JSON.stringify(this.addForm))
}
},
mounted () {
mounted() {
this.getTree()
this.getTree2()
this.getTree3()
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
.role-manage {
@import '~@/assets/styles/mixins';
.role-manage {
display: flex;
height: 100%;
/deep/.el-form-item__content {
/deep/ .el-form-item__content {
width: 100%;
}
.filter-tree1 {
height: 100%;
}
.tree-close{
.tree{
.tree-close {
.tree {
left: -200px !important;
}
.tree-right{
.tree-right {
width: calc(~'100% - 15px') !important;
}
.side-bar-collapse{
.side-bar-collapse {
background: #5596CC !important;
color: #FFF;
}
}
.tree-closed {
width: 15px !important;
}
.tree-content {
background: #fff;
width: 16%;
position: relative;
.tree {
width: 95%;
position: absolute;
left: 0;
}
.tree-collapse {
position: absolute;
right: 0;
}
}
.tree-right {
overflow-y: hidden;
padding:0;
padding: 0;
position: relative;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.content{
.content {
padding: 0px;
display: flex;
flex-direction: column;
@@ -594,31 +690,41 @@ export default {
flex: auto;
//height: calc(~'100% - 105px - 56px');
}
.pagination{
.pagination {
position: static;
width: 100% !important;
left: 0 !important;
}
}
}
.myDialog {
/deep/.el-tree {
height: 300px;
}
/deep/ .el-dialog {
margin-top: 9vh !important;
width: 35%;
}
.myDialog {
/deep/ .el-tree {
height: 500px;
overflow: auto;
}
}
/deep/.el-select__tags {
}
/deep/ .el-select__tags {
overflow-x: hidden;
}
/deep/.width-all{
}
/deep/ .width-all {
width: 100%;
}
.laws-tree{
/deep/.clearable {
}
.laws-tree {
/deep/ .clearable {
top: 20px;
}
}
.add-form-item {
}
.add-form-item {
display: flex;
}
}
</style>
@@ -2613,6 +2613,13 @@ export default {
},
// 清空搜索框
clearAllSearch (flag) {
if (flag==='standCommonlySearch'){
this.standCommonlySearch.standNumber='';
this.standCommonlySearch.standSort='';
this.standCommonlySearch.page=1;
}
this.getDomesticStandardTable(this.standCommonlySearch)
if (flag === 'sarStandardsSearch') {
this.sarStandardsSearch.standSort = ''
@@ -39,9 +39,9 @@
</div>
</el-card>
<div class="action-bar">
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="transfer">调取</el-button>
<el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除
</el-button>
<!-- <el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="transfer">调取</el-button>-->
<!-- <el-button plain class="common-button-primary" v-btn-permission="''" size="mini" @click="deleteList">批量删除-->
<!-- </el-button>-->
<el-button class="common-button-default export-button"
size="mini" @click="exportStandard"
v-btn-permission="''"