|
|
@ -133,7 +133,7 @@ |
|
|
<el-button |
|
|
<el-button |
|
|
size="mini" |
|
|
size="mini" |
|
|
type="text" |
|
|
type="text" |
|
|
@click="handleUpdate(scope.row)" |
|
|
|
|
|
|
|
|
@click="handleStatusChange(scope.row)" |
|
|
v-hasPermi="['system:role:edit']" |
|
|
v-hasPermi="['system:role:edit']" |
|
|
v-if="scope.row.status==='0'" |
|
|
v-if="scope.row.status==='0'" |
|
|
>{{$t('page.system.role.statusDisable')}}</el-button> |
|
|
>{{$t('page.system.role.statusDisable')}}</el-button> |
|
|
@ -141,7 +141,7 @@ |
|
|
<el-button |
|
|
<el-button |
|
|
size="mini" |
|
|
size="mini" |
|
|
type="text" |
|
|
type="text" |
|
|
@click="handleUpdate(scope.row)" |
|
|
|
|
|
|
|
|
@click="handleStatusChange(scope.row)" |
|
|
v-hasPermi="['system:role:edit']" |
|
|
v-hasPermi="['system:role:edit']" |
|
|
v-if="scope.row.status==='1'" |
|
|
v-if="scope.row.status==='1'" |
|
|
>{{$t('page.system.role.statusEnable')}}</el-button> |
|
|
>{{$t('page.system.role.statusEnable')}}</el-button> |
|
|
@ -175,7 +175,7 @@ |
|
|
</el-dropdown-menu> |
|
|
</el-dropdown-menu> |
|
|
</el-dropdown> --> |
|
|
</el-dropdown> --> |
|
|
|
|
|
|
|
|
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> |
|
|
|
|
|
|
|
|
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> |
|
|
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> |
|
|
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> |
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
<el-dropdown-item command="handleDataScope" icon="el-icon-circle-check" |
|
|
<el-dropdown-item command="handleDataScope" icon="el-icon-circle-check" |
|
|
@ -183,7 +183,7 @@ |
|
|
<el-dropdown-item command="handleAuthUser" icon="el-icon-user" |
|
|
<el-dropdown-item command="handleAuthUser" icon="el-icon-user" |
|
|
v-hasPermi="['system:role:edit']">分配用户</el-dropdown-item> |
|
|
v-hasPermi="['system:role:edit']">分配用户</el-dropdown-item> |
|
|
</el-dropdown-menu> |
|
|
</el-dropdown-menu> |
|
|
</el-dropdown> |
|
|
|
|
|
|
|
|
</el-dropdown> --> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
@ -296,18 +296,22 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 分配角色数据权限对话框 --> |
|
|
<!-- 分配角色数据权限对话框 --> |
|
|
<el-dialog :title="transferDialog.title" :visible.sync="transferDialog.visible" width="500px" append-to-body> |
|
|
|
|
|
<el-transfer v-model="transferDialog.selected" :data="transferDialog.list"></el-transfer> |
|
|
|
|
|
|
|
|
<el-dialog :title="transferDialog.title" :visible.sync="transferDialog.visible" width="750px" append-to-body> |
|
|
|
|
|
<el-transfer class="role-transfer" v-model="transferDialog.selected" :data="transferDialog.list" :titles="[$t('page.system.role.unauthorized'), $t('page.system.role.authorized')]" |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethod" |
|
|
|
|
|
:filter-placeholder="$t('page.system.role.filterPlaceholder')"> |
|
|
|
|
|
</el-transfer> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<el-button type="primary" @click="submitDataScope">{{$t('form.saveConfirm')}}</el-button> |
|
|
|
|
|
<el-button @click="cancelDataScope">{{$t('form.cancel')}}</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="changRoleUser">{{$t('form.saveConfirm')}}</el-button> |
|
|
|
|
|
<el-button @click="transferDialog.visible = false">{{$t('form.cancel')}}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role" |
|
|
|
|
|
|
|
|
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect,allocatedUserList,authUserSetAll } from "@/api/system/role" |
|
|
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu" |
|
|
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu" |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
@ -403,6 +407,7 @@ export default { |
|
|
|
|
|
|
|
|
list:[], |
|
|
list:[], |
|
|
selected:[], |
|
|
selected:[], |
|
|
|
|
|
roleId:'' |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -470,14 +475,18 @@ export default { |
|
|
}, |
|
|
}, |
|
|
// 角色状态修改 |
|
|
// 角色状态修改 |
|
|
handleStatusChange(row) { |
|
|
handleStatusChange(row) { |
|
|
let text = row.status === "0" ? "启用" : "停用" |
|
|
|
|
|
this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function() { |
|
|
|
|
|
return changeRoleStatus(row.roleId, row.status) |
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
this.$modal.msgSuccess(text + "成功") |
|
|
|
|
|
}).catch(function() { |
|
|
|
|
|
row.status = row.status === "0" ? "1" : "0" |
|
|
|
|
|
|
|
|
changeRoleStatus(row.roleId, row.status === "0"?'1':'0').then(response => { |
|
|
|
|
|
this.getList() |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// let text = row.status === "0" ? "启用" : "停用" |
|
|
|
|
|
// this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function() { |
|
|
|
|
|
// return changeRoleStatus(row.roleId, row.status) |
|
|
|
|
|
// }).then(() => { |
|
|
|
|
|
// this.$modal.msgSuccess(text + "成功") |
|
|
|
|
|
// }).catch(function() { |
|
|
|
|
|
// row.status = row.status === "0" ? "1" : "0" |
|
|
|
|
|
// }) |
|
|
}, |
|
|
}, |
|
|
// 取消按钮 |
|
|
// 取消按钮 |
|
|
cancel() { |
|
|
cancel() { |
|
|
@ -678,9 +687,38 @@ export default { |
|
|
}, `role_${new Date().getTime()}.xlsx`) |
|
|
}, `role_${new Date().getTime()}.xlsx`) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
transfer(){ |
|
|
|
|
|
this.transferDialog.visible = true |
|
|
|
|
|
|
|
|
transfer(row){ |
|
|
|
|
|
allocatedUserList({roleId:row.roleId}).then(response => { |
|
|
|
|
|
let list = [] |
|
|
|
|
|
_.forEach(response.list,(item)=>{ |
|
|
|
|
|
list.push({ |
|
|
|
|
|
key:item.userId, |
|
|
|
|
|
label:`${item.nickName}(${item.phonenumber})` |
|
|
|
|
|
}) |
|
|
|
|
|
}) |
|
|
|
|
|
this.transferDialog.selected = response.selected |
|
|
|
|
|
this.transferDialog.list = list |
|
|
|
|
|
this.transferDialog.roleId = row.roleId |
|
|
|
|
|
this.transferDialog.visible = true |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
}, |
|
|
|
|
|
filterMethod(query, item){ |
|
|
|
|
|
return item.label.indexOf(query) > -1; |
|
|
|
|
|
}, |
|
|
|
|
|
changRoleUser(){ |
|
|
|
|
|
authUserSetAll({ roleId: this.transferDialog.roleId, userIdList: this.transferDialog.selected && this.transferDialog.selected.length>0 ? this.transferDialog.selected:[] }).then(res => { |
|
|
|
|
|
this.transferDialog.visible = false |
|
|
|
|
|
}) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</script> |
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
<style lang="scss"> |
|
|
|
|
|
.role-transfer{ |
|
|
|
|
|
.el-transfer-panel{ |
|
|
|
|
|
width: 250px; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</style> |