laboratory/src/views/system/role/add.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
laboratory/src/views/system/role/detail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
laboratory/src/views/system/role/edit.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
laboratory/src/views/system/role/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
laboratory/src/views/system/role/service.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
laboratory/src/views/system/role/add.vue
@@ -37,7 +37,7 @@ </div> <div class="sconed"> <div class="subpage" v-if="(item.children.length > 0 && item.children[0].children.length > 0) || item.children[0].children.menuType != 'F'"> v-if="item.children && item.children.length > 0 && item.children[0]"> <div v-for="item1 in item.children" :key="item1.menuId" class="two"> <div class="left"> <el-checkbox v-model="item1.selected" @change="(e) => { @@ -119,15 +119,15 @@ roleInfoFromUserId({ userId: 1 }).then(res => { if (this.$route.query.roleId) { getRoleInfo({ roleId: this.$route.query.roleId }).then(resp => { this.menu = this.setSelectedIds(res.data.data, resp.data.data.menus || []); this.menu = this.setSelectedIds(res.data || [], resp.menus || []); this.form = { roleName: resp.data.data.roleName, remark: resp.data.data.remark, roleId: resp.data.data.roleId roleName: resp.roleName || '', remark: resp.remark || '', roleId: resp.roleId } }) } else { this.menu = res.data.data this.menu = res || [] } }) }, laboratory/src/views/system/role/detail.vue
@@ -66,12 +66,6 @@ <el-form-item label="人员搜索"> <el-input v-model="nickNameOrPhone" placeholder="请输入姓名/联系电话"></el-input> </el-form-item> <el-form-item label="所属部门"> <el-select v-model="deptId" placeholder="请选择(多选)" multiple> <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item label="登陆状态"> <el-select v-model="status" placeholder="请选择"> <el-option @@ -82,7 +76,7 @@ </el-form-item> <el-form-item> <el-button @click="reset">重置</el-button> <el-button type="primary" @click="onSubmit">查询</el-button> <el-button type="primary" @click="onSubmit" style="margin-left: 10px;">查询</el-button> </el-form-item> </div> </el-form> @@ -94,11 +88,6 @@ <el-table-column prop="nickName" label="姓名"></el-table-column> <el-table-column prop="phonenumber" label="联系电话"> </el-table-column> <el-table-column prop="deptList" label="所属部门"> <template slot-scope="{ row }"> <el-tag v-for="(item, index) in row.deptList" :key="index">{{ item }}</el-tag> </template> </el-table-column> <el-table-column prop="roleName" label="角色"> </el-table-column> <el-table-column prop="userName" label="登陆账号"> @@ -109,7 +98,7 @@ <template slot-scope="{row}"> <div class="status_class"> <div :class="row.status == 0 ? 'green' : 'red'"></div> <div>{{ row.status == 0 ? '正常' : '停用' }}</div> <div>{{ row.status == 0 ? '启用' : '停用' }}</div> <div v-if="row.status == 1" style="cursor: pointer;" @click="dialogVisibleView = true, rowView = row"> <i class="el-icon-warning"></i> </div> @@ -162,17 +151,18 @@ created() { roleInfoFromUserId({ userId: 1 }).then(res => { getRoleInfo({ roleId: this.$route.query.roleId }).then(resp => { this.menu = this.setSelectedIds(res.data.data, resp.data.data.menus); this.form = { roleName: resp.data.data.roleName, remark: resp.data.data.remark, roleName: resp.roleName, remark: resp.remark, } this.menu = this.setSelectedIds(res, resp.menus); }) }) this.getListData() getDeptList().then((res) => { this.deptList = res.data.data }) // getDeptList().then((res) => { // this.deptList = res.data.data // }) }, mounted() { }, methods: { @@ -180,14 +170,15 @@ let obj = { ...this.pagination, nickNameOrPhone: this.nickNameOrPhone, deptIds: this.deptId, status: this.status, roleIds: [this.$route.query.roleId] } this.listLoading = true const { data: { data: { records, total } } } = await getUserList(obj) this.data = records this.pagination.total = total getUserList(obj).then(res => { this.data = res.records this.pagination.total = res.total }) }, setSelectedIds(arr, selectKeyList) { function traverse(item) { @@ -223,6 +214,11 @@ }; </script> <style lang="less" scoped> .el-checkbox__inner { background-color: #009688; border-color: #009688; } .header-title { font-size: 18px; font-weight: bold; laboratory/src/views/system/role/edit.vue
@@ -119,15 +119,15 @@ roleInfoFromUserId({ userId: 1 }).then(res => { if (this.$route.query.roleId) { getRoleInfo({ roleId: this.$route.query.roleId }).then(resp => { this.menu = this.setSelectedIds(res.data.data, resp.data.data.menus || []); this.menu = this.setSelectedIds(res, resp.menus || []); this.form = { roleName: resp.data.data.roleName, remark: resp.data.data.remark, roleId: resp.data.data.roleId roleName: resp.roleName, remark: resp.remark, roleId: resp.roleId } }) } else { this.menu = res.data.data this.menu = res } }) }, laboratory/src/views/system/role/index.vue
@@ -1,7 +1,7 @@ <template> <div class="list"> <TableCustom :queryForm="pagination" :tableData="data" :total="pagination.total" @currentChange="handleCurrentChange" @sizeChange="handleSizeChange"> <TableCustom :queryForm="pagination" :tableData="data" :total="pagination.total" :height="null" @handleCurrentChange="handleCurrentChange" @handleSizeChange="handleSizeChange"> <template #search> <el-form inline> <el-form-item label="角色名称"> @@ -9,7 +9,7 @@ </el-form-item> <el-form-item style="margin-left: 63px;"> <el-button @click="reset">重置</el-button> <el-button type="primary" @click="onSubmit">查询</el-button> <el-button type="primary" @click="onSubmit" style="margin-left: 10px;">查询</el-button> </el-form-item> </el-form> </template> @@ -19,14 +19,13 @@ <template #table> <el-table-column type="index" width="55" label="序号"></el-table-column> <el-table-column prop="roleName" label="角色名称"></el-table-column> <el-table-column prop="roleNum" label="角色人数"></el-table-column> <el-table-column prop="userCount" label="角色人数"></el-table-column> <el-table-column prop="remark" label="备注"></el-table-column> <el-table-column prop="createTime" label="创建时间"></el-table-column> <el-table-column label="操作" width="300"> <template slot-scope="{row}"> <div> <el-button type="text" @click="$router.push(`/system/detail-role?roleId=${row.roleId}`)">详情</el-button> <el-button type="text" @click="$router.push(`/system/detail-role?roleId=${row.roleId}`)">详情</el-button> <el-button v-if="row.roleId != 1" type="text" @click="$router.push(`/system/edit-role?roleId=${row.roleId}`)">编辑</el-button> <el-button v-if="row.roleId != 1" type="text" @click="del(row)">删除</el-button> @@ -63,7 +62,7 @@ }, watch: {}, created() { // this.getListData() this.getListData() }, mounted() { }, methods: { @@ -73,9 +72,12 @@ delConfirm() { delRole(this.delId).then(() => { this.delShow = false this.disbRow = {} this.getListData() this.msgsuccess('删除成功') }).catch(err => { console.error('删除失败', err) this.delShow = false this.msgerror('删除失败') }) }, del(row) { @@ -89,9 +91,19 @@ pageSize: this.pagination.pageSize } this.listLoading = true const { data: { data: { records, total } } } = await getList(obj) this.data = records this.pagination.total = total try { getList(obj).then(res => { this.data = res.records this.pagination.total = res.total }) } catch (error) { console.error('获取列表失败', error) this.msgerror('获取列表失败') } finally { this.listLoading = false } }, reset() { this.roleName = '' laboratory/src/views/system/role/service.js
@@ -12,7 +12,7 @@ // 编辑 export const edit = (data) => { return axios.put('/system/role', { ...data }) return axios.post('/api/system/role/edit', { ...data }) } // 删除 @@ -29,13 +29,23 @@ export const getRoleInfo = (params) => { return axios.get(`/system/role/roleInfo`, { params }) } // 状态修改 export const changeStatus = (data) => { return axios.put(`/system/role/changeStatus`, { ...data }) } // 角色数量统计 export const roleCount = (data) => { return axios.post(`/system/role/roleCount`, { ...data }) } // 角色数量统计 export const listNotPage = (data) => { return axios.post(`/system/role/listNotPage`, { ...data }) } // 列表 export const getUserList = (data) => { return axios.post('/system/user/list', { ...data }) } export const getDeptList = (params) => { return axios.post('/t-dept/listAll') } // export const getDeptList = (params) => { // return axios.post('/t-dept/listAll') // }