|
@@ -5,11 +5,25 @@
|
|
|
<el-tag>{{ item.roleName }}</el-tag>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="数据权限" required>
|
|
|
- <el-row v-for="(data, index) in dataItems" :key="index">
|
|
|
- <el-col v-for="(_data, _index) in data" :key="_index" :span="24 / data.length">
|
|
|
- <el-checkbox v-model="values[index][_index]">备选项</el-checkbox>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <m-card shadow="never">
|
|
|
+ <el-row :gutter="2">
|
|
|
+ <el-col :span="8">功能名称</el-col>
|
|
|
+ 权限选择
|
|
|
+ </el-row>
|
|
|
+ <el-row v-for="(data, index) in dataItems" :key="index">
|
|
|
+ <el-col :span="8">{{ data.funName || '名称获取异常' }}</el-col>
|
|
|
+ <el-radio-group v-model="data.value" size="small">
|
|
|
+ <el-radio
|
|
|
+ v-for="(value, i) in data.values"
|
|
|
+ :key="value.label + i"
|
|
|
+ :label="value.value"
|
|
|
+ :disabled="value.disable"
|
|
|
+ >
|
|
|
+ {{ value.label }}
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-row>
|
|
|
+ </m-card>
|
|
|
</el-form-item>
|
|
|
</MForm>
|
|
|
</MDialog>
|
|
@@ -17,35 +31,60 @@
|
|
|
|
|
|
<script>
|
|
|
import { saveDataPermission } from '@/api/menu'
|
|
|
+import { getRoleDataPermissionList } from '@/api/user'
|
|
|
export default {
|
|
|
name: 'role-data',
|
|
|
data () {
|
|
|
return {
|
|
|
- item: {},
|
|
|
- values: [
|
|
|
- [true, false],
|
|
|
- [true, false],
|
|
|
- [true, false]
|
|
|
+ texts: [
|
|
|
+ { label: '功能', span: 8 },
|
|
|
+ { label: '不限', span: 4, value: 'all' },
|
|
|
+ { label: '本部门权限', span: 6, value: 'organization' },
|
|
|
+ { label: '仅本人权限', span: 6, value: 'employee' }
|
|
|
],
|
|
|
- dataItems: [
|
|
|
- [true, false],
|
|
|
- [true, false],
|
|
|
- [true, false]
|
|
|
- ]
|
|
|
+ item: {},
|
|
|
+ dataItems: []
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
open (item) {
|
|
|
this.item = item
|
|
|
+ this.getList()
|
|
|
this.$refs.menuDialog.open()
|
|
|
},
|
|
|
+ async getList () {
|
|
|
+ try {
|
|
|
+ const { data } = await getRoleDataPermissionList()
|
|
|
+ this.dataItems = data.map(e => {
|
|
|
+ return {
|
|
|
+ funCode: e.funCode,
|
|
|
+ funName: e.funName,
|
|
|
+ value: 2,
|
|
|
+ values: [
|
|
|
+ { label: '不限', span: 4, value: 2 },
|
|
|
+ { label: '本部门权限', span: 6, value: 0, disable: !e.organization },
|
|
|
+ { label: '仅本人权限', span: 6, value: 1, disable: !e.employee }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } catch (error) {
|
|
|
+ this.$message.error(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
async handleSave () {
|
|
|
try {
|
|
|
await saveDataPermission({
|
|
|
- roleId: this.item.id
|
|
|
- // menuIds: menuIds.join(',')
|
|
|
+ roleId: this.item.id,
|
|
|
+ items: this.dataItems.map(e => {
|
|
|
+ return {
|
|
|
+ funCode: e.funCode,
|
|
|
+ roleType: e.value,
|
|
|
+ wrType: 2
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
this.$message.success('保存成功')
|
|
|
+ this.$refs.menuDialog.close()
|
|
|
this.$emit('refresh')
|
|
|
} catch (error) {
|
|
|
this.$message.error(error)
|
|
@@ -56,5 +95,10 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-
|
|
|
+.text-center {
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+.text-right {
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
</style>
|