From 3ce0042d0c3965a902a835260ec2291bfac92b3d 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, 24 Oct 2024 16:13:26 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=93=E5=AE=B6=E9=A1=B9=E7=9B=AE/=E4=B8=93?=
=?UTF-8?q?=E5=AE=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/views/expert/county/Expert.api.ts | 86 +++++
.../src/views/expert/county/Expert.data.ts | 67 ++++
.../src/views/expert/county/ExpertList.vue | 306 ++++++++++++++++++
.../V20240926_1__menu_insert_Expert.sql | 26 ++
.../V20240929_1__menu_insert_Expert.sql | 26 ++
.../V20240930_1__menu_insert_Expert.sql | 26 ++
.../expert/county/components/ExpertForm.vue | 272 ++++++++++++++++
.../expert/county/components/ExpertModal.vue | 77 +++++
.../src/views/expert/firm/Expert.api.ts | 86 +++++
.../src/views/expert/firm/Expert.data.ts | 68 ++++
.../src/views/expert/firm/ExpertList.vue | 302 +++++++++++++++++
.../firm/V20240926_1__menu_insert_Expert.sql | 26 ++
.../firm/V20240929_1__menu_insert_Expert.sql | 26 ++
.../firm/V20240930_1__menu_insert_Expert.sql | 26 ++
.../expert/firm/components/ExpertForm.vue | 261 +++++++++++++++
.../expert/firm/components/ExpertModal.vue | 77 +++++
.../src/views/expert/self/Expert.api.ts | 81 +++++
.../src/views/expert/self/Expert.data.ts | 66 ++++
.../src/views/expert/self/ExpertList.vue | 282 ++++++++++++++++
.../self/V20240926_1__menu_insert_Expert.sql | 26 ++
.../self/V20240929_1__menu_insert_Expert.sql | 26 ++
.../self/V20240930_1__menu_insert_Expert.sql | 26 ++
.../expert/self/components/ExpertForm.vue | 259 +++++++++++++++
.../expert/self/components/ExpertModal.vue | 77 +++++
24 files changed, 2601 insertions(+)
create mode 100644 jeecgboot-vue3/src/views/expert/county/Expert.api.ts
create mode 100644 jeecgboot-vue3/src/views/expert/county/Expert.data.ts
create mode 100644 jeecgboot-vue3/src/views/expert/county/ExpertList.vue
create mode 100644 jeecgboot-vue3/src/views/expert/county/V20240926_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/county/V20240929_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/county/V20240930_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/county/components/ExpertForm.vue
create mode 100644 jeecgboot-vue3/src/views/expert/county/components/ExpertModal.vue
create mode 100644 jeecgboot-vue3/src/views/expert/firm/Expert.api.ts
create mode 100644 jeecgboot-vue3/src/views/expert/firm/Expert.data.ts
create mode 100644 jeecgboot-vue3/src/views/expert/firm/ExpertList.vue
create mode 100644 jeecgboot-vue3/src/views/expert/firm/V20240926_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/firm/V20240929_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/firm/V20240930_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/firm/components/ExpertForm.vue
create mode 100644 jeecgboot-vue3/src/views/expert/firm/components/ExpertModal.vue
create mode 100644 jeecgboot-vue3/src/views/expert/self/Expert.api.ts
create mode 100644 jeecgboot-vue3/src/views/expert/self/Expert.data.ts
create mode 100644 jeecgboot-vue3/src/views/expert/self/ExpertList.vue
create mode 100644 jeecgboot-vue3/src/views/expert/self/V20240926_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/self/V20240929_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/self/V20240930_1__menu_insert_Expert.sql
create mode 100644 jeecgboot-vue3/src/views/expert/self/components/ExpertForm.vue
create mode 100644 jeecgboot-vue3/src/views/expert/self/components/ExpertModal.vue
diff --git a/jeecgboot-vue3/src/views/expert/county/Expert.api.ts b/jeecgboot-vue3/src/views/expert/county/Expert.api.ts
new file mode 100644
index 0000000..ea49a8f
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/Expert.api.ts
@@ -0,0 +1,86 @@
+import { defHttp } from '/src/utils/http/axios';
+import { useMessage } from "/src/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/expert/expert/listcounty',
+ save='/expert/expert/addcounty',
+ edit='/expert/expert/edit',
+ deleteOne = '/expert/expert/delete',
+ deleteBatch = '/expert/expert/deleteBatch',
+ importExcel = '/expert/expert/importExcel',
+ exportXls = '/expert/expert/exportXls',
+ handleupcount = '/expert/expert/handleupcount',
+ handlebackcoount = '/expert/expert/handlebackcoount',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+
+/**
+ * 通过审核接口
+ * @param params
+ */
+export const handleupcount = (params) => defHttp.get({ url: Api.handleupcount, params });
+
+/**
+ * 通过审核驳回
+ * @param params
+ */
+export const handlebackco = (params) => defHttp.get({ url: Api.handlebackcoount, 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/county/Expert.data.ts b/jeecgboot-vue3/src/views/expert/county/Expert.data.ts
new file mode 100644
index 0000000..ff4120a
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/Expert.data.ts
@@ -0,0 +1,67 @@
+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'
+ },
+
+];
+
+// 高级查询数据
+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/county/ExpertList.vue b/jeecgboot-vue3/src/views/expert/county/ExpertList.vue
new file mode 100644
index 0000000..0bcc155
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/ExpertList.vue
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/county/V20240926_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/county/V20240926_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..6883600
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/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/county/V20240929_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/county/V20240929_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..57c53ae
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/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/county/V20240930_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/county/V20240930_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..f5859e1
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/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/county/components/ExpertForm.vue b/jeecgboot-vue3/src/views/expert/county/components/ExpertForm.vue
new file mode 100644
index 0000000..995dc5f
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/components/ExpertForm.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/county/components/ExpertModal.vue b/jeecgboot-vue3/src/views/expert/county/components/ExpertModal.vue
new file mode 100644
index 0000000..9c03def
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/county/components/ExpertModal.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/firm/Expert.api.ts b/jeecgboot-vue3/src/views/expert/firm/Expert.api.ts
new file mode 100644
index 0000000..5679ce1
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/Expert.api.ts
@@ -0,0 +1,86 @@
+import { defHttp } from '/src/utils/http/axios';
+import { useMessage } from "/src/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/expert/expert/listfirm',
+ save='/expert/expert/add',
+ edit='/expert/expert/edit',
+ deleteOne = '/expert/expert/delete',
+ deleteBatch = '/expert/expert/deleteBatch',
+ importExcel = '/expert/expert/importExcel',
+ exportXls = '/expert/expert/exportXls',
+ handleupup= '/expert/expert/handleupupfirm',
+ handlebackback= '/expert/expert/handlebackbackfirm',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+
+/**
+ * 通过审核
+ * @param params
+ */
+export const handleupup = (params) => defHttp.get({ url: Api.handleupup, params });
+
+/**
+ * 驳回审核
+ * @param params
+ */
+export const handlebackback = (params) => defHttp.get({ url: Api.handlebackback, 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/firm/Expert.data.ts b/jeecgboot-vue3/src/views/expert/firm/Expert.data.ts
new file mode 100644
index 0000000..e5bf07c
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/Expert.data.ts
@@ -0,0 +1,68 @@
+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',
+
+ },
+];
+
+// 高级查询数据
+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/firm/ExpertList.vue b/jeecgboot-vue3/src/views/expert/firm/ExpertList.vue
new file mode 100644
index 0000000..0b8b227
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/ExpertList.vue
@@ -0,0 +1,302 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/firm/V20240926_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/firm/V20240926_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..6883600
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/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/firm/V20240929_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/firm/V20240929_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..57c53ae
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/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/firm/V20240930_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/firm/V20240930_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..f5859e1
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/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/firm/components/ExpertForm.vue b/jeecgboot-vue3/src/views/expert/firm/components/ExpertForm.vue
new file mode 100644
index 0000000..8745c23
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/components/ExpertForm.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/firm/components/ExpertModal.vue b/jeecgboot-vue3/src/views/expert/firm/components/ExpertModal.vue
new file mode 100644
index 0000000..9c03def
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/firm/components/ExpertModal.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/self/Expert.api.ts b/jeecgboot-vue3/src/views/expert/self/Expert.api.ts
new file mode 100644
index 0000000..adfd2bb
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/Expert.api.ts
@@ -0,0 +1,81 @@
+import { defHttp } from '/src/utils/http/axios';
+import { useMessage } from "/src/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/expert/expert/listself',
+ save='/expert/expert/add',
+ edit='/expert/expert/edit',
+ deleteOne = '/expert/expert/delete',
+ deleteBatch = '/expert/expert/deleteBatch',
+ importExcel = '/expert/expert/importExcel',
+ exportXls = '/expert/expert/exportXls',
+ handleupAPI = '/expert/expert/handleup'
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @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 handleupAPI = (params) => defHttp.get({ url: Api.handleupAPI, params });
+
+/**
+ * 批量删除
+ * @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/self/Expert.data.ts b/jeecgboot-vue3/src/views/expert/self/Expert.data.ts
new file mode 100644
index 0000000..6d17dd8
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/Expert.data.ts
@@ -0,0 +1,66 @@
+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',
+ },
+];
+
+// 高级查询数据
+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/self/ExpertList.vue b/jeecgboot-vue3/src/views/expert/self/ExpertList.vue
new file mode 100644
index 0000000..cf8edea
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/ExpertList.vue
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/self/V20240926_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/self/V20240926_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..6883600
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/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/self/V20240929_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/self/V20240929_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..57c53ae
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/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/self/V20240930_1__menu_insert_Expert.sql b/jeecgboot-vue3/src/views/expert/self/V20240930_1__menu_insert_Expert.sql
new file mode 100644
index 0000000..f5859e1
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/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/self/components/ExpertForm.vue b/jeecgboot-vue3/src/views/expert/self/components/ExpertForm.vue
new file mode 100644
index 0000000..434ea22
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/components/ExpertForm.vue
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jeecgboot-vue3/src/views/expert/self/components/ExpertModal.vue b/jeecgboot-vue3/src/views/expert/self/components/ExpertModal.vue
new file mode 100644
index 0000000..9c03def
--- /dev/null
+++ b/jeecgboot-vue3/src/views/expert/self/components/ExpertModal.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+