From 9bb2e93168f574dcb319c50910d9c8a3ffce8530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=B6=E4=B8=9C?= <1654135867@qq.com> Date: Thu, 7 Nov 2024 11:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/expert/adminback/Expert.api.ts | 87 +++++ .../src/views/expert/adminback/Expert.data.ts | 84 +++++ .../src/views/expert/adminback/ExpertList.vue | 305 ++++++++++++++++++ .../V20240926_1__menu_insert_Expert.sql | 26 ++ .../V20240929_1__menu_insert_Expert.sql | 26 ++ .../V20240930_1__menu_insert_Expert.sql | 26 ++ .../adminback/components/ExpertForm.vue | 189 +++++++++++ .../adminback/components/ExpertModal.vue | 77 +++++ 8 files changed, 820 insertions(+) create mode 100644 jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts create mode 100644 jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts create mode 100644 jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue create mode 100644 jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql create mode 100644 jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql create mode 100644 jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql create mode 100644 jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue create mode 100644 jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue diff --git a/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts b/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts new file mode 100644 index 0000000..0fca733 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/Expert.api.ts @@ -0,0 +1,87 @@ +import { defHttp } from '/src/utils/http/axios'; +import { useMessage } from "/src/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/expert/expert/listadmin', + save='/expert/expert/add', + edit='/expert/expert/edit', + deleteOne = '/expert/expert/delete', + deleteBatch = '/expert/expert/deleteBatch', + importExcel = '/expert/expert/importExcel', + exportXls = '/expert/expert/exportXls', + handleadminback = '/expert/expert/handleadminback', + handleadminup = '/expert/expert/handleadminup', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const handleadminup = (params) => defHttp.get({ url: Api.handleadminup, params }); + +/** + * 管理员驳回 + * @param params + */ +export const handleadminback = (params) => defHttp.get({ url: Api.handleadminback, params }); + + +/** + * 管理员通过审核 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts b/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts new file mode 100644 index 0000000..9039ccf --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/Expert.data.ts @@ -0,0 +1,84 @@ +import {BasicColumn} from '/src/components/Table'; +import {FormSchema} from '/src/components/Table'; +import { rules} from '/src/utils/helper/validator'; +import { render } from '/src/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/src/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '用户名', + align: "center", + dataIndex: 'seusername' + }, + { + title: '毕业院校', + align: "center", + dataIndex: 'colleges' + }, + { + title: '专业', + align: "center", + dataIndex: 'major' + }, + { + title: '研究方向', + align: "center", + dataIndex: 'directioncal_dictText' + }, + { + title: '研究类型', + align: "center", + dataIndex: 'research' + }, + { + title: '学历', + align: "center", + dataIndex: 'educationcal' + }, + { + title: '专家简介', + align: "center", + dataIndex: 'expinfo' + }, + + { + title: '部门审核', + align: "center", + dataIndex: 'compopen_dictText' + }, + { + title: '管理员审核', + align: "center", + dataIndex: 'adminopen_dictText' + }, + { + title: '是否完善信息', + align: "center", + dataIndex: 'isdone', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]); + }, + }, + + { + title: '专家状态', + align: "center", + dataIndex: 'expsture', + customRender:({text}) => { + return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}]); + }, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + seusername: {title: '用户名',order: 0,view: 'text', type: 'string',}, + colleges: {title: '毕业院校',order: 1,view: 'text', type: 'string',}, + major: {title: '专业',order: 2,view: 'text', type: 'string',}, + directioncal: {title: '研究方向',order: 3,view: 'text', type: 'string',}, + research: {title: '研究类型',order: 4,view: 'text', type: 'string',}, + educationcal: {title: '学历',order: 5,view: 'text', type: 'string',}, + expinfo: {title: '专家简介',order: 6,view: 'text', type: 'string',}, + compopen: {title: '部门审核',order: 7,view: 'switch', type: 'string',}, + adminopen: {title: '管理员审核',order: 8,view: 'switch', type: 'string',}, +}; diff --git a/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue b/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue new file mode 100644 index 0000000..81274cb --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/ExpertList.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql new file mode 100644 index 0000000..6883600 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240926_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024092603239210260', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210261', '2024092603239210260', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210262', '2024092603239210260', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210263', '2024092603239210260', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210264', '2024092603239210260', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210265', '2024092603239210260', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092603239210266', '2024092603239210260', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-26 15:23:26', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql new file mode 100644 index 0000000..57c53ae --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240929_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024092910425270310', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270311', '2024092910425270310', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270312', '2024092910425270310', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270313', '2024092910425270310', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270314', '2024092910425270310', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270315', '2024092910425270310', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024092910425270316', '2024092910425270310', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-29 10:42:31', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql new file mode 100644 index 0000000..f5859e1 --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/V20240930_1__menu_insert_Expert.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/expert文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024093009506560560', NULL, '专家管理', '/expert/expertList', 'expert/ExpertList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560561', '2024093009506560560', '添加专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560562', '2024093009506560560', '编辑专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560563', '2024093009506560560', '删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560564', '2024093009506560560', '批量删除专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560565', '2024093009506560560', '导出excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024093009506560566', '2024093009506560560', '导入excel_专家管理', NULL, NULL, 0, NULL, NULL, 2, 'expert:expert:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-09-30 09:50:56', NULL, NULL, 0, 0, '1', 0); diff --git a/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue new file mode 100644 index 0000000..286139e --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertForm.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue new file mode 100644 index 0000000..9c03def --- /dev/null +++ b/jeecgboot-vue3/src/views/expert/adminback/components/ExpertModal.vue @@ -0,0 +1,77 @@ + + + + + +