diff --git a/src/Login.vue b/src/Login.vue index 508430c6..d67da580 100644 --- a/src/Login.vue +++ b/src/Login.vue @@ -24,6 +24,7 @@ export default { login () { post('sys/login', { username: this.username, pin: this.pin }).then(res => { if (res.code === 200) { + localStorage.setItem('cn-username', this.username) this.loginSuccess(res) } }) diff --git a/src/components/rightBox/settings/RoleBox.vue b/src/components/rightBox/settings/RoleBox.vue new file mode 100644 index 00000000..bab40f35 --- /dev/null +++ b/src/components/rightBox/settings/RoleBox.vue @@ -0,0 +1,196 @@ + + + diff --git a/src/components/rightBox/settings/UserBox.vue b/src/components/rightBox/settings/UserBox.vue index 89202cb3..af8b5c3e 100644 --- a/src/components/rightBox/settings/UserBox.vue +++ b/src/components/rightBox/settings/UserBox.vue @@ -56,8 +56,12 @@ - + @@ -98,6 +102,7 @@ export default { } return { url: 'sys/user', + loginName: localStorage.getItem('cn-username'), rules: { // 表单校验规则 name: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' } @@ -142,10 +147,8 @@ export default { this.getRoleData() }, methods: { - isCurrentUser () { - return function (username) { - return localStorage.getItem('cn-username') === username - } + isCurrentUser (username) { + return localStorage.getItem('cn-username') === username }, /* 密码失去焦点 检验确认密码 */ pinBlur () { @@ -188,12 +191,23 @@ export default { }, getRoleData (){ get('sys/role?pageSize=-1').then(response => { - console.log(response); if (response.code === 200) { this.roleData = response.data.list } }) } + }, + watch: { + object: { + deep: true, + immediate: true, + handler (n) { + this.editObject = JSON.parse(JSON.stringify(n)) + if ( !this.editObject.roleIds && this.editObject.roles ) { + this.editObject.roleIds = this.editObject.roles[0].id + } + } + } } } diff --git a/src/components/table/settings/RoleTable.vue b/src/components/table/settings/RoleTable.vue new file mode 100644 index 00000000..396c801a --- /dev/null +++ b/src/components/table/settings/RoleTable.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/components/table/settings/UserTable.vue b/src/components/table/settings/UserTable.vue index eb1789b5..2a6b37c2 100644 --- a/src/components/table/settings/UserTable.vue +++ b/src/components/table/settings/UserTable.vue @@ -45,6 +45,7 @@ v-model="scope.row.status" :active-color="theme.themeColor" active-value="1" + :disabled="(scope.row.username === loginName) || (scope.row.username==='admin' && scope.row.id==1) " inactive-value="0" @change="()=>{statusChange(scope.row)}"> @@ -88,6 +89,7 @@ export default { mixins: [table], data () { return { + loginName: localStorage.getItem('cn-username'), tableTitle: [ // 原始table列 { label: 'ID', diff --git a/src/mixins/common.js b/src/mixins/common.js index 7bee27a0..5c779ad9 100644 --- a/src/mixins/common.js +++ b/src/mixins/common.js @@ -11,7 +11,15 @@ export default { refresh: false, query: false }, - theme: theme // scss主题变量 + theme: theme, // scss主题变量 + prevent_opt: { + save: false, + import: false, + duplicate: false, + delete: false, + refresh: false, + query: false + } } }, methods: { diff --git a/src/router/index.js b/src/router/index.js index a423a401..8c845c76 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -17,6 +17,10 @@ const routes = [ { path: '/user', component: () => import('@/views/settings/User') + }, + { + path: '/roles', + component: () => import('@/views/settings/Roles') } ] } diff --git a/src/views/settings/Roles.vue b/src/views/settings/Roles.vue new file mode 100644 index 00000000..4d18061f --- /dev/null +++ b/src/views/settings/Roles.vue @@ -0,0 +1,83 @@ + + diff --git a/src/views/settings/User.vue b/src/views/settings/User.vue index 15911c2c..afb0c5b0 100644 --- a/src/views/settings/User.vue +++ b/src/views/settings/User.vue @@ -26,7 +26,7 @@ :custom-table-title="tools.customTableTitle" :height="mainTableHeight" :table-data="tableData" - @del="del" + @delete="del" @edit="edit" @orderBy="tableDataSort" @reload="getTableData" @@ -72,7 +72,7 @@ export default { email: '', pin: '', mobile: '', - status: '1', + status: 1, roleIds: '', pinChange: '' },