部门管理、岗位管理 切图
This commit is contained in:
parent
280e6d34c5
commit
373f77aa31
|
|
@ -0,0 +1,32 @@
|
|||
import request from '@/utils/request'
|
||||
/** 岗位 S **/
|
||||
// 岗位列表
|
||||
export function apiPostLists(params: any) {
|
||||
return request.get('/system/post/list', { params })
|
||||
}
|
||||
|
||||
// 添加岗位
|
||||
export function apiPostAdd(params: any) {
|
||||
return request.post('/system/post/add', params)
|
||||
}
|
||||
|
||||
// 编辑岗位
|
||||
export function apiPostEdit(params: any) {
|
||||
return request.post('/system/post/edit', params)
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
export function apiPostDelete(params: any) {
|
||||
return request.post('/system/post/del', params)
|
||||
}
|
||||
|
||||
// 岗位详情
|
||||
export function apiPostDetail(params: any) {
|
||||
return request.get('/system/post/detail', { params })
|
||||
}
|
||||
|
||||
// 所有岗位
|
||||
export function apiPostAll(params: any) {
|
||||
return request.get('/system/post/all', { params })
|
||||
}
|
||||
/** 岗位 E **/
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
|
||||
import Layout from '@/layout/index.vue'
|
||||
/**
|
||||
|
|
@ -24,7 +23,7 @@ export const constantRoutes: Array<RouteRecordRaw> = [
|
|||
name: 'index',
|
||||
component: Layout
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
path: '/permission',
|
||||
component: Layout,
|
||||
|
|
@ -46,6 +45,22 @@ export const constantRoutes: Array<RouteRecordRaw> = [
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/organize',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: 'department/edit',
|
||||
component: () => import('@/views/organize/department/edit.vue'),
|
||||
meta: { title: '编辑部门', activeMenu: '/organize/department' }
|
||||
},
|
||||
{
|
||||
path: 'post/edit',
|
||||
component: () => import('@/views/organize/post/edit.vue'),
|
||||
meta: { title: '编辑岗位', activeMenu: '/organize/post' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
component: () => import('@/views/account/login.vue')
|
||||
|
|
@ -60,7 +75,6 @@ export const constantRoutes: Array<RouteRecordRaw> = [
|
|||
}
|
||||
]
|
||||
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: constantRoutes,
|
||||
|
|
@ -70,7 +84,7 @@ const router = createRouter({
|
|||
} else {
|
||||
return { top: 0 }
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
export default router
|
||||
|
|
|
|||
|
|
@ -1,9 +1,70 @@
|
|||
<template>
|
||||
<div>部门管理edit</div>
|
||||
<div class="department-edit">
|
||||
<el-card shadow="never">
|
||||
<el-page-header :content="id ? '编辑部门' : '新增部门'" @back="$router.back()" />
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="m-t-15">
|
||||
<el-form
|
||||
ref="formRefs"
|
||||
:rules="rules"
|
||||
class="ls-form"
|
||||
:model="formData"
|
||||
label-width="150px"
|
||||
size="small"
|
||||
>
|
||||
<!-- 上级部门 -->
|
||||
<el-form-item label="上级部门" prop="pid">
|
||||
<!-- <el-select v-model="formData.pid" placeholder="请选择上级部门" :disabled="formData.pid === 0 && id">
|
||||
<el-option v-for="(item, index) in leaderList" :key="index" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
<el-cascader
|
||||
:options="leaderList"
|
||||
:props="{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
checkStrictly: true
|
||||
}"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- 部门名称 -->
|
||||
<el-form-item label="部门名称" prop="name">
|
||||
<el-input placeholder="请输入部门名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 负责人 -->
|
||||
<el-form-item label="负责人" prop="leader">
|
||||
<el-input placeholder="请输入负责人姓名"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 联系电话 -->
|
||||
<el-form-item label="联系电话" prop="mobile">
|
||||
<el-input placeholder="请输入联系电话" type="tel"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 岗位排序 -->
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input placeholder="请输入排序" type="number"></el-input>
|
||||
<div class="muted">默认为0, 数值越大越排前</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 管理员状态 -->
|
||||
<el-form-item label="部门状态">
|
||||
<el-switch :active-value="1" :inactive-value="0" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<footer-btns>
|
||||
<el-button type="primary" size="small" @click="onSubmit">保存</el-button>
|
||||
</footer-btns>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {}
|
||||
<script lang="ts" setup>
|
||||
import FooterBtns from '@/components/footer-btns/index.vue'
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,89 @@
|
|||
<template>
|
||||
<div>部门管理</div>
|
||||
<div class="department">
|
||||
<el-card shadow="never">
|
||||
<el-form class="ls-form" :model="formData" label-width="80px" size="small" inline>
|
||||
<el-form-item label="部门名称">
|
||||
<el-input class="ls-input" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="部门状态:">
|
||||
<el-select placeholder="全部">
|
||||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.val"
|
||||
:label="item.name"
|
||||
:value="item.val"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<div class="m-l-20">
|
||||
<el-button type="primary" @click="getLists">查询</el-button>
|
||||
<el-button @click="reGetLists">重置</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card class="m-t-15" shadow="never">
|
||||
<router-link to="/organize/department/edit">
|
||||
<el-button type="primary" size="small">新增部门</el-button>
|
||||
</router-link>
|
||||
<el-button type="" size="small" style="margin-left: 16px" @click="openOrFold()">
|
||||
全部展开/折叠
|
||||
</el-button>
|
||||
|
||||
<el-table class="m-t-15" size="small" row-key="id" :expand-row-keys="openIdArr">
|
||||
<el-table-column label="部门名称" prop="name" min-width="100"></el-table-column>
|
||||
|
||||
<el-table-column label="部门状态" prop="status_desc" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag class="ml-2" :type="row.status ? '' : 'danger'"
|
||||
>{{ row.status_desc }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="排序" prop="sort" min-width="100"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
label="添加时间"
|
||||
prop="create_time"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="100" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<router-link
|
||||
class="m-r-10"
|
||||
:to="{
|
||||
path: '/organize/department/edit',
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
}"
|
||||
>
|
||||
<el-button type="text">编辑</el-button>
|
||||
</router-link>
|
||||
|
||||
<popup
|
||||
class="m-r-10 inline"
|
||||
@confirm="handleDelete(row.id)"
|
||||
v-show="row.pid"
|
||||
>
|
||||
<template #trigger>
|
||||
<el-button type="text">删除</el-button>
|
||||
</template>
|
||||
</popup>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {}
|
||||
</script>
|
||||
<script lang="ts" setup></script>
|
||||
|
||||
<style></style>
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,59 @@
|
|||
<template>
|
||||
<div>岗位管理edit</div>
|
||||
<div class="post-edit">
|
||||
<el-card shadow="never">
|
||||
<el-page-header :content="id ? '编辑岗位' : '新增岗位'" @back="$router.back()" />
|
||||
</el-card>
|
||||
|
||||
<el-card v-loading="loading" shadow="never" class="m-t-15">
|
||||
<el-form
|
||||
ref="formRefs"
|
||||
:rules="rules"
|
||||
class="ls-form"
|
||||
:model="formData"
|
||||
label-width="150px"
|
||||
size="small"
|
||||
>
|
||||
<el-form-item label="岗位名称" prop="name">
|
||||
<el-input placeholder="请输入岗位名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="岗位编码" prop="code">
|
||||
<el-input placeholder="请输入岗位编码"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input placeholder="请输入排序" type="number"></el-input>
|
||||
<div class="muted">默认为0, 数值越大越排前</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
placeholder="请输入备注"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 6 }"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="岗位状态">
|
||||
<el-switch :active-value="1" :inactive-value="0" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<footer-btns>
|
||||
<el-button type="primary" size="small" @click="onSubmit">保存</el-button>
|
||||
</footer-btns>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {}
|
||||
<script lang="ts" setup>
|
||||
import FooterBtns from '@/components/footer-btns/index.vue'
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
<style lang="scss" scoped>
|
||||
.post-edit {
|
||||
:deep(.el-textarea) {
|
||||
width: 280px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,84 @@
|
|||
<template>
|
||||
<div>岗位管理</div>
|
||||
<div class="post">
|
||||
<el-card shadow="never">
|
||||
<el-form class="ls-form" :model="formData" label-width="80px" size="small" inline>
|
||||
<el-form-item label="岗位编码">
|
||||
<el-input class="ls-input" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="岗位名称">
|
||||
<el-input class="ls-input" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="岗位状态:">
|
||||
<el-select placeholder="全部">
|
||||
<el-option
|
||||
v-for="item in statusList"
|
||||
:key="item.val"
|
||||
:label="item.name"
|
||||
:value="item.val"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<div class="m-l-20">
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="m-t-15">
|
||||
<router-link to="/organize/post/edit">
|
||||
<el-button v-perm="['system:post:add']" type="primary" size="small">
|
||||
新增岗位
|
||||
</el-button>
|
||||
</router-link>
|
||||
|
||||
<el-table size="small" row-key="id" class="m-t-15">
|
||||
<el-table-column label="岗位编码" prop="code" min-width="100"></el-table-column>
|
||||
<el-table-column label="岗位名称" prop="name" min-width="100"></el-table-column>
|
||||
<el-table-column label="岗位状态" prop="status_desc" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag class="ml-2" :type="row.status ? '' : 'danger'">
|
||||
{{ row.status_desc }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="排序" prop="sort" min-width="100"></el-table-column>
|
||||
<el-table-column
|
||||
label="添加时间"
|
||||
prop="create_time"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" min-width="100" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<router-link
|
||||
class="m-r-10"
|
||||
:to="{
|
||||
path: '/organize/post/edit',
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
}"
|
||||
>
|
||||
<el-button type="text">编辑</el-button>
|
||||
</router-link>
|
||||
<popup class="m-r-10 inline" @confirm="handleDelete(row.id)">
|
||||
<template #trigger>
|
||||
<el-button type="text">删除</el-button>
|
||||
</template>
|
||||
</popup>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {}
|
||||
</script>
|
||||
<script lang="ts" setup></script>
|
||||
|
||||
<style></style>
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@
|
|||
</el-card>
|
||||
<el-card v-loading="pager.loading" class="m-t-15" shadow="never">
|
||||
<router-link to="/permission/admin/edit">
|
||||
<el-button v-perm="['system:admin:add']" type="primary" size="small"
|
||||
>新增管理员</el-button
|
||||
>
|
||||
<el-button v-perm="['system:admin:add']" type="primary" size="small">
|
||||
新增管理员
|
||||
</el-button>
|
||||
</router-link>
|
||||
<div class="m-t-15">
|
||||
<el-table :data="pager.lists">
|
||||
|
|
|
|||
Loading…
Reference in New Issue