Browse Source

🎟 框架升级

master
wangxiang 3 years ago
parent
commit
2825a02cd8
  1. 1
      docker-cloud/redis/docker-compose.yml
  2. 13
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Dept.java
  3. 36
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java
  4. 21
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DeptController.java
  5. 12
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java
  6. 5
      kicc-ui/.env.production
  7. 2
      kicc-ui/package.json
  8. 9
      kicc-ui/src/api/system/dept.ts
  9. 2
      kicc-ui/src/api/system/menu.ts
  10. 21
      kicc-ui/src/api/system/model/deptModel.ts
  11. 43
      kicc-ui/src/api/system/model/userModel.ts
  12. 36
      kicc-ui/src/api/system/user.ts
  13. 2
      kicc-ui/src/views/system/depart/DeptModal.vue
  14. 2
      kicc-ui/src/views/system/depart/index.vue
  15. 2
      kicc-ui/src/views/system/menu/MenuModal.vue
  16. 2
      kicc-ui/src/views/system/menu/index.vue
  17. 23
      kicc-ui/src/views/system/user/DeptTree.vue
  18. 2
      kicc-ui/src/views/system/user/PasswordModal.vue
  19. 4
      kicc-ui/src/views/system/user/UserModal.vue
  20. 14
      kicc-ui/src/views/system/user/index.vue
  21. 1
      kicc-ui/vite.config.ts
  22. 1034
      kicc-ui/yarn.lock

1
docker-cloud/redis/docker-compose.yml

@ -14,6 +14,7 @@ services: @@ -14,6 +14,7 @@ services:
restart: always
ports:
- 6379:6379
command: redis-server --requirepass kanglai@2022
volumes:
- redis:/data
- /usr/software/dockerDatabase/redis/redis.conf:/usr/local/etc/redis/redis.conf

13
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Dept.java

@ -48,17 +48,6 @@ public class Dept extends CommonEntity { @@ -48,17 +48,6 @@ public class Dept extends CommonEntity {
*/
private String parentId;
/**
* 父部门名称
*/
@TableField(exist = false)
private String parentName;
/**
* 祖级列表
*/
private String ancestors;
/**
* 显示顺序
*/
@ -80,7 +69,7 @@ public class Dept extends CommonEntity { @@ -80,7 +69,7 @@ public class Dept extends CommonEntity {
private String address;
/**
* 邮箱
* 联系邮箱
*/
private String email;

36
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java

@ -39,11 +39,6 @@ public class User extends CommonEntity { @@ -39,11 +39,6 @@ public class User extends CommonEntity {
@ExcelProperty("用户名")
private String userName;
/**
* 密码
*/
private String password;
/**
* 昵称
*/
@ -51,21 +46,20 @@ public class User extends CommonEntity { @@ -51,21 +46,20 @@ public class User extends CommonEntity {
private String nickName;
/**
* 手机号
*
*/
@ExcelProperty("手机号码")
private String phone;
private String password;
/**
* 用户性别0男 1女 2未知
* 机构ID
*/
@ExcelProperty("性别")
private String sex;
private String deptId;
/**
* 头像路径
* 机构名称
*/
private String avatar;
@ExcelProperty("机构名称")
private String deptName;
/**
* 用户邮箱
@ -74,15 +68,21 @@ public class User extends CommonEntity { @@ -74,15 +68,21 @@ public class User extends CommonEntity {
private String email;
/**
* 机构ID
* 手机号码
*/
private String deptId;
@ExcelProperty("手机号码")
private String phone;
/**
* 机构名称
* 用户性别0男 1女 2未知
*/
@ExcelProperty("机构名称")
private String deptName;
@ExcelProperty("性别")
private String sex;
/**
* 头像路径
*/
private String avatar;
/**
* 最后登陆IP

21
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DeptController.java

@ -48,13 +48,6 @@ public class DeptController { @@ -48,13 +48,6 @@ public class DeptController {
@PreAuthorize("@pms.hasPermission('dept_view')")
public R list(Dept dept) {
List<Dept> deptList = deptService.list(getQueryWrapper(dept));
if (deptList.size() > 0) {
for (Dept dept1 : deptList) {
if (StrUtil.isNotBlank(dept.getName()) || StrUtil.isNotBlank(dept.getCode())) {
dept1.setParentId("0");
}
}
}
return R.ok(deptList, deptList.size());
}
@ -67,13 +60,6 @@ public class DeptController { @@ -67,13 +60,6 @@ public class DeptController {
@PostMapping("/save")
@PreAuthorize("@pms.hasPermission('dept_add')")
public R save(@RequestBody Dept dept) {
Dept info;
if (!StrUtil.equals(dept.getParentId(),"0")) {
info = deptService.getById(dept.getParentId());
dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
} else {
dept.setAncestors("0");
}
deptService.save(dept);
return R.ok();
}
@ -82,13 +68,6 @@ public class DeptController { @@ -82,13 +68,6 @@ public class DeptController {
@PutMapping("/update")
@PreAuthorize("@pms.hasPermission('dept_edit')")
public R update(@RequestBody Dept dept) {
Dept info;
if (!StrUtil.equals(dept.getParentId(),"0")) {
info = deptService.getById(dept.getParentId());
dept.setAncestors(info.getAncestors() + "," + dept.getParentId());
} else {
dept.setAncestors("0");
}
deptService.updateById(dept);
//更新用户机构名称
new Thread(() -> {

12
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

@ -3,6 +3,7 @@ package com.cloud.kicc.system.controller; @@ -3,6 +3,7 @@ package com.cloud.kicc.system.controller;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -54,13 +55,10 @@ public class UserController { @@ -54,13 +55,10 @@ public class UserController {
private final FileService fileService;
private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
private QueryWrapper<User> getQueryWrapper(User user) {
return new QueryWrapper<User>()
.like(StrUtil.isNotBlank(user.getUserName()), "user_name", user.getUserName())
.like(StrUtil.isNotBlank(user.getNickName()), "nick_name", user.getNickName())
.eq(StrUtil.isNotBlank(user.getStatus()), "status", user.getStatus())
.apply(StrUtil.isNotBlank(user.getSqlFilter()), user.getSqlFilter())
.eq(ObjectUtil.isNotNull(user.getDeptId()), "dept_id", user.getDeptId());
private LambdaQueryWrapper<User> getQueryWrapper(User user) {
return new LambdaQueryWrapper<User>()
.like(StrUtil.isNotBlank(user.getUserName()), User::getUserName, user.getUserName())
.eq(StrUtil.isNotBlank(user.getStatus()), User::getStatus, user.getStatus());
}
@GetMapping("/list")

5
kicc-ui/.env.production

@ -1,6 +1,11 @@ @@ -1,6 +1,11 @@
# 资源公共路径,需要以 /开头和结尾
VITE_PUBLIC_PATH = /
# 本地开发代理,可以解决跨域及多地址代理
# 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题
# 可以有多个,注意多个不能换行,否则代理将会失效
VITE_PROXY = [["/prod-api","http://localhost:9999"],["/prod-upload","http://localhost:3300/upload"]]
# 是否删除console.log
VITE_DROP_CONSOLE = true

2
kicc-ui/package.json

@ -80,7 +80,7 @@ @@ -80,7 +80,7 @@
"rimraf": "^3.0.2",
"rollup-plugin-visualizer": "5.5.2",
"typescript": "4.4.2",
"vite": "^2.5.8",
"vite": "^2.5.10",
"vite-plugin-compression": "^0.3.5",
"vite-plugin-html": "^2.1.0",
"vite-plugin-imagemin": "^0.4.5",

9
kicc-ui/src/api/system/depart.ts → kicc-ui/src/api/system/dept.ts

@ -1,7 +1,8 @@ @@ -1,7 +1,8 @@
import { DepartVO, DepartDTO, Depart, DeptListItem, DeptListGetResultModel } from './model/departModel';
import { DepartVO, DeptDto, Depart, DeptListItem, DeptListGetResultModel } from './model/deptModel';
import { defHttp } from '/@/utils/http/axios';
enum Api {
list = '/system_proxy/system/dept/list',
List = '/mate-system/depart/list',
Set = '/mate-system/depart/set',
Del = '/mate-system/depart/del',
@ -18,5 +19,7 @@ export const departSet = (params: Depart) => defHttp.post<Depart>({ url: Api.Set @@ -18,5 +19,7 @@ export const departSet = (params: Depart) => defHttp.post<Depart>({ url: Api.Set
export const departDel = (params: { ids: String }) =>
defHttp.post<boolean>({ url: Api.Del + `?ids=${params.ids}` });
export const getDeptList = (params?: DeptListItem) =>
defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params });
export const getDeptList = (params?: DeptListItem) => defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params });
// 查询部门列表
export const deptList = (params?: Partial<DeptDto>) => defHttp.get({ url: Api.list, params });

2
kicc-ui/src/api/system/menu.ts

@ -27,4 +27,4 @@ export const getMenu = (id: string) => defHttp.get<Menu>({ url: `${Api.get}/${id @@ -27,4 +27,4 @@ export const getMenu = (id: string) => defHttp.get<Menu>({ url: `${Api.get}/${id
export const delMenu = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` });
// 通过角色编号查询菜单编号
export const getRoleMenuIds = (roleId : string) => defHttp.get<ResultVo>({ url: `${Api.roleMenuIds}/${roleId}`});
export const getRoleMenuIds = (roleId : string) => defHttp.get<ResultVo<any>>({ url: `${Api.roleMenuIds}/${roleId}`});

21
kicc-ui/src/api/system/model/departModel.ts → kicc-ui/src/api/system/model/deptModel.ts

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
// 引入基础包
import { Page, R } from '/@/api/model';
import { Page, R, CommonEntity } from '/@/api/model';
// 定义查询参数
export type DepartVO = Page & {
@ -7,6 +7,25 @@ export type DepartVO = Page & { @@ -7,6 +7,25 @@ export type DepartVO = Page & {
name?: string;
};
// 查询参数
export type DeptDto = Page & Dept;
// 部门对象
export interface Dept extends CommonEntity {
deptId: string;
code: string;
name: string;
parentId: string;
sort: number;
contacts: string;
phone: string;
address: string;
email: string;
status: string;
children: Dept[];
}
// 定义部门对象
export interface Depart {
id: string;

43
kicc-ui/src/api/system/model/userModel.ts

@ -1,30 +1,27 @@ @@ -1,30 +1,27 @@
// 引入基础包
import { Page, R } from '/@/api/model';
import { CommonEntity, Page, R } from '/@/api/model';
// 定义查询参数
export type UserVO = Page & {
name?: string;
path?: string;
};
// 查询参数
export type UserDto = Page & User;
// 定义用户对象
export interface User {
// 用户对象
export interface User extends CommonEntity {
id: string;
account: string;
password?: string;
name: string;
realName: string;
avatar: string;
userName: string;
nickName: string;
password: string;
deptId: string;
deptName: string;
email: string;
telephone: string;
birthday: string;
sex: number;
roleId: string | number;
departId: string | number;
status: number;
departName: string;
roleName: string;
phone: string;
sex: string;
avatar: string;
loginIp: string;
loginTime: string;
status: string;
roleIds: string[];
permissions: string[];
}
// 根据用户对象生成响应模型
export type UserDTO = R<User>;
// 响应模型
export type UserVo = R<User[]>;

36
kicc-ui/src/api/system/user.ts

@ -1,23 +1,29 @@ @@ -1,23 +1,29 @@
import { User, UserVO, UserDTO } from './model/userModel';
import { User, UserDto } from './model/userModel';
import { defHttp } from '/@/utils/http/axios';
enum Api {
Page = '/mate-system/user/page',
Set = '/mate-system/user/set',
Del = '/mate-system/user/del',
SetPassword = '/mate-system/user/set-password',
list = '/system_proxy/system/user/list',
add = '/system_proxy/system/user/save',
get = '/system_proxy/system/user',
edit = '/system_proxy/system/user/update',
del = '/system_proxy/system/user/remove',
updatePwd = '/system_proxy/system/user/updatePwd'
}
// 菜单树
export const page = (params?: UserVO) => defHttp.get<UserDTO>({ url: Api.Page, params });
// 查询用户列表
export const listUser = (params?: Partial<UserDto>) => defHttp.get({ url: Api.list, params });
// 保存
export const set = (params: User) => defHttp.post<User>({ url: Api.Set, params });
// 新增用户
export const addUser = (params: Partial<User>) => defHttp.post({ url: Api.add, data: params });
// 删除
export const del = (params: { ids: String }) =>
defHttp.post<boolean>({ url: Api.Del + `?ids=${params.ids}` });
// 修改用户
export const editUser = (params: Partial<User>) => defHttp.put({ url: Api.edit, data: params });
// 设置密码
export const userSetPassword = (params?: User) =>
defHttp.post<boolean>({ url: Api.SetPassword, params });
// 查询用户详细
export const getUser = (id: string) => defHttp.get<User>({ url: `${Api.get}/${id}` });
// 删除用户
export const delUser = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` });
// 更新密码
export const updatePwd = (params: Partial<User>) => defHttp.put({ url: Api.updatePwd, params });

2
kicc-ui/src/views/system/depart/DeptModal.vue

@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import { formSchema } from './dept.data';
import { departList, departSet } from '/@/api/system/depart';
import { departList, departSet } from '/@/api/system/dept';
export default defineComponent({
name: 'DeptModal',

2
kicc-ui/src/views/system/depart/index.vue

@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
import { useModal } from '/@/components/Modal';
import DeptModal from './DeptModal.vue';
import { columns, searchFormSchema } from './dept.data';
import { departDel, departList } from '/@/api/system/depart';
import { departDel, departList } from '/@/api/system/dept';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();

2
kicc-ui/src/views/system/menu/MenuModal.vue

@ -52,7 +52,7 @@ @@ -52,7 +52,7 @@
break;
case 'edit':
props.title = '编辑菜单';
await setFieldsValue(await getMenu({ id: menuId }) || {});
await setFieldsValue(await getMenu(menuId) || {});
break;
}
setModalProps(props);

2
kicc-ui/src/views/system/menu/index.vue

@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
/** 删除按钮操作,行内删除 */
async function handleDel(record: Recordable) {
await delMenu({ id: record.id });
await delMenu(record.id);
createMessage.success('删除成功!');
handleSuccess();
}

23
kicc-ui/src/views/system/user/DeptTree.vue

@ -1,31 +1,30 @@ @@ -1,31 +1,30 @@
<template>
<div class="bg-white m-4 mr-0 overflow-hidden">
<BasicTree
title="部门列表"
toolbar
search
:clickRowToExpand="false"
:treeData="treeData"
:replaceFields="{ key: 'id', title: 'name' }"
@select="handleSelect"
<BasicTree title="部门列表"
toolbar
search
:clickRowToExpand="false"
:treeData="treeData"
:replaceFields="{ key: 'id', title: 'name' }"
@select="handleSelect"
/>
</div>
</template>
<script lang="ts">
import { defineComponent, onMounted, ref } from 'vue';
import { BasicTree, TreeItem } from '/@/components/Tree';
import { getDeptList } from '/@/api/system/depart';
import { deptList } from '/@/api/system/dept';
import {listToTree} from "/@/utils/helper/treeHelper";
export default defineComponent({
name: 'DeptTree',
components: { BasicTree },
emits: ['select'],
setup(_, { emit }) {
setup(props, { emit }) {
const treeData = ref<TreeItem[]>([]);
async function fetch() {
treeData.value = (await getDeptList()) as unknown as TreeItem[];
treeData.value = listToTree(await deptList());
}
function handleSelect(keys: string, e) {

2
kicc-ui/src/views/system/user/PasswordModal.vue

@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import { passwordFormSchema } from './user.data';
import { userSetPassword } from '/@/api/system/user';
//import { userSetPassword } from '/@/api/system/user';
export default defineComponent({
name: 'AccountModal',

4
kicc-ui/src/views/system/user/UserModal.vue

@ -8,8 +8,8 @@ @@ -8,8 +8,8 @@
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import { accountFormSchema } from './user.data';
import { departList } from '/@/api/system/depart';
import { set } from '/@/api/system/user';
import { departList } from '/@/api/system/dept';
//import { set } from '/@/api/system/user';
export default defineComponent({
name: 'UserModal',

14
kicc-ui/src/views/system/user/index.vue

@ -1,9 +1,19 @@ @@ -1,9 +1,19 @@
<template>
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
<DeptTree class="w-1/4 xl:w-1/5" @select="handleSelect" />
<DeptTree class="w-1/4 xl:w-1/5" @select="handleSelect"/>
<BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo">
<template #toolbar>
<a-button type="primary" @click="handleCreate">新增用户</a-button>
<a-button v-auth="['role_edit']"
type="primary"
:disabled="state.single"
@click="handleEdit()"
>修改用户</a-button>
<a-button v-auth="['role_del']"
type="primary"
:disabled="state.multiple"
@click="handleDel()"
>删除用户</a-button>
</template>
<template #action="{ record }">
<TableAction
@ -38,7 +48,7 @@ @@ -38,7 +48,7 @@
<script lang="ts">
import { defineComponent, reactive } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { del, page } from '/@/api/system/user';
//import { del, page } from '/@/api/system/user';
import { PageWrapper } from '/@/components/Page';
import DeptTree from './DeptTree.vue';
import { useModal } from '/@/components/Modal';

1
kicc-ui/vite.config.ts

@ -75,6 +75,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { @@ -75,6 +75,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
proxy: createProxy(VITE_PROXY),
},
build: {
minify: 'terser',
// 设置最终构建的浏览器兼容目标
target: 'es2015',
// 指定输出路径

1034
kicc-ui/yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save