From e5b9c5e8d60e46fbd4a5d7515b33fe4a02dd5376 Mon Sep 17 00:00:00 2001
From: Xubx <1827135378@qq.com>
Date: Mon, 28 Apr 2025 18:27:04 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E7=94=9F=E6=88=90=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A1=8C=E6=94=BF=E4=BA=BA=E5=91=98=EF=BC=8C?=
=?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=B0=E5=A2=9E=E4=BA=BA=E5=91=98=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E8=8F=9C=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/cees/adminInfo/CeesAdminInfo.api.ts | 64 ++++++
.../cees/adminInfo/CeesAdminInfo.data.ts | 171 ++++++++++++++++
.../cees/adminInfo/CeesAdminInfoList.vue | 186 ++++++++++++++++++
.../components/CeesAdminInfoForm.vue | 70 +++++++
.../components/CeesAdminInfoModal.vue | 66 +++++++
src/views/cees/user/CeesUserList.vue | 19 +-
6 files changed, 571 insertions(+), 5 deletions(-)
create mode 100644 src/views/cees/adminInfo/CeesAdminInfo.api.ts
create mode 100644 src/views/cees/adminInfo/CeesAdminInfo.data.ts
create mode 100644 src/views/cees/adminInfo/CeesAdminInfoList.vue
create mode 100644 src/views/cees/adminInfo/components/CeesAdminInfoForm.vue
create mode 100644 src/views/cees/adminInfo/components/CeesAdminInfoModal.vue
diff --git a/src/views/cees/adminInfo/CeesAdminInfo.api.ts b/src/views/cees/adminInfo/CeesAdminInfo.api.ts
new file mode 100644
index 0000000..5ed1d12
--- /dev/null
+++ b/src/views/cees/adminInfo/CeesAdminInfo.api.ts
@@ -0,0 +1,64 @@
+import {defHttp} from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/cees/ceesAdminInfo/list',
+ save='/cees/ceesAdminInfo/add',
+ edit='/cees/ceesAdminInfo/edit',
+ deleteOne = '/cees/ceesAdminInfo/delete',
+ deleteBatch = '/cees/ceesAdminInfo/deleteBatch',
+ importExcel = '/cees/ceesAdminInfo/importExcel',
+ exportXls = '/cees/ceesAdminInfo/exportXls',
+}
+/**
+ * 导出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});
+
+/**
+ * 删除单个
+ */
+export const deleteOne = (params,handleSuccess) => {
+ return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
+ handleSuccess();
+ });
+}
+/**
+ * 批量删除
+ * @param params
+ */
+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
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({url: url, params});
+}
diff --git a/src/views/cees/adminInfo/CeesAdminInfo.data.ts b/src/views/cees/adminInfo/CeesAdminInfo.data.ts
new file mode 100644
index 0000000..f508593
--- /dev/null
+++ b/src/views/cees/adminInfo/CeesAdminInfo.data.ts
@@ -0,0 +1,171 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '用户名',
+ align:"center",
+ dataIndex: 'userName'
+ },
+ {
+ title: '工号',
+ align:"center",
+ dataIndex: 'workNumber'
+ },
+ {
+ title: '往年组别',
+ align:"center",
+ dataIndex: 'beforeGroupLevel'
+ },
+ {
+ title: '组别',
+ align:"center",
+ dataIndex: 'groupLevel'
+ },
+ {
+ title: '往年职务',
+ align:"center",
+ dataIndex: 'beforeDuty'
+ },
+ {
+ title: '职务',
+ align:"center",
+ dataIndex: 'duty'
+ },
+ {
+ title: '部门',
+ align:"center",
+ dataIndex: 'department'
+ },
+ {
+ title: '岗位',
+ align:"center",
+ dataIndex: 'job'
+ },
+
+ // {
+ // title: '用户id',
+ // align:"center",
+ // dataIndex: 'userId'
+ // },
+ // {
+ // title: '用户专业id',
+ // align:"center",
+ // dataIndex: 'userMajorId'
+ // },
+ // {
+ // title: '专业id,0表示未选择',
+ // align:"center",
+ // dataIndex: 'majorId'
+ // },
+ // {
+ // title: '组别',
+ // align:"center",
+ // dataIndex: 'groupId'
+ // },
+];
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: '用户名',
+ field: 'userName',
+ component: 'Input',
+ //colProps: {span: 6},
+ },
+];
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '用户名',
+ field: 'userName',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入用户名!' }];
+ },
+ },
+ {
+ label: '工号',
+ field: 'workNumber',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入工号!' }];
+ },
+ },
+ {
+ label: '往年组别',
+ field: 'beforeGroupLevel',
+ component: 'Input',
+ },
+ {
+ label: '组别',
+ field: 'groupLevel',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入组别!' }];
+ },
+ },
+ {
+ label: '往年职务',
+ field: 'beforeDuty',
+ component: 'Input',
+ },
+ {
+ label: '职务',
+ field: 'duty',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入职务!' }];
+ },
+ },
+ {
+ label: '部门',
+ field: 'department',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入部门!' }];
+ },
+ },
+ {
+ label: '岗位',
+ field: 'job',
+ component: 'Input',
+ dynamicRules: ({ model, schema }) => {
+ return [{ required: true, message: '请输入岗位!' }];
+ },
+ },
+
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false
+ },
+];
+
+// 高级查询数据
+export const superQuerySchema = {
+ workNumber: {title: '工号',order: 0,view: 'text', type: 'string',},
+ userName: {title: '姓名',order: 1,view: 'text', type: 'string',},
+ userId: {title: '用户id',order: 2,view: 'text', type: 'string',},
+ userMajorId: {title: '用户专业id',order: 3,view: 'text', type: 'string',},
+ majorId: {title: '专业id,0表示未选择',order: 4,view: 'number', type: 'number',},
+ groupId: {title: '组别',order: 5,view: 'text', type: 'string',},
+ beforeGroupLevel: {title: '组级别',order: 6,view: 'text', type: 'string',},
+ groupLevel: {title: '组级别',order: 7,view: 'text', type: 'string',},
+ beforeDuty: {title: '之前的职务',order: 8,view: 'text', type: 'string',},
+ duty: {title: '职务',order: 9,view: 'text', type: 'string',},
+ department: {title: '部门',order: 10,view: 'text', type: 'string',},
+ job: {title: '岗位',order: 11,view: 'text', type: 'string',},
+};
+
+/**
+* 流程表单调用这个方法获取formSchema
+* @param param
+*/
+export function getBpmFormSchema(_formData): FormSchema[]{
+ // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
+ return formSchema;
+}
\ No newline at end of file
diff --git a/src/views/cees/adminInfo/CeesAdminInfoList.vue b/src/views/cees/adminInfo/CeesAdminInfoList.vue
new file mode 100644
index 0000000..89ac0ea
--- /dev/null
+++ b/src/views/cees/adminInfo/CeesAdminInfoList.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/cees/adminInfo/components/CeesAdminInfoForm.vue b/src/views/cees/adminInfo/components/CeesAdminInfoForm.vue
new file mode 100644
index 0000000..4573fb6
--- /dev/null
+++ b/src/views/cees/adminInfo/components/CeesAdminInfoForm.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/cees/adminInfo/components/CeesAdminInfoModal.vue b/src/views/cees/adminInfo/components/CeesAdminInfoModal.vue
new file mode 100644
index 0000000..36d7722
--- /dev/null
+++ b/src/views/cees/adminInfo/components/CeesAdminInfoModal.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/cees/user/CeesUserList.vue b/src/views/cees/user/CeesUserList.vue
index a1c16ea..d9ca351 100644
--- a/src/views/cees/user/CeesUserList.vue
+++ b/src/views/cees/user/CeesUserList.vue
@@ -62,7 +62,7 @@
-
+
@@ -95,9 +95,16 @@ import { message } from 'ant-design-vue';
// 表单相关状态
const showAutoGenerateForm = ref(false); // 控制表单显示
+const isDisplay = ref(false);
const handleGroupChange = (value) => {
autoGenerateForm.group = value;
+ if (value != 1) {
+ isDisplay.value = true;
+ } else {
+ isDisplay.value = false;
+ autoGenerateForm.majorId = undefined;
+ }
};
const handleMajorChange = (value) => {
autoGenerateForm.majorId = value;
@@ -114,7 +121,8 @@ const autoGenerateForm = reactive({
// 账号类型选项
const autoGeneratType = ref([
- { id: 1, name: '研究生', value: 2 },
+ { id: 1, name: '行政人员', value: 1 },
+ { id: 2, name: '研究生', value: 2 },
{ id: 2, name: '本校老师', value: 3 },
{ id: 3, name: "外校老师", value: 4 }
]);
@@ -134,7 +142,7 @@ const handleAutoGenerate = () => {
message.warning('请选择身份', 1.5);
return
}
- if (autoGenerateForm.majorId == undefined) {
+ if (autoGenerateForm.majorId == undefined && isDisplay.value == true) {
message.warning('请选择专业', 1.5);
return
}
@@ -154,14 +162,15 @@ const handleAutoGenerate = () => {
// 调用生成账号的 API 或逻辑
try {
generateAccount(autoGenerateForm).then((res) => {
+ console.log(res)
if (res.code == 200) {
- message.success('生成账号成功', 1.5);
+ message.success(res.message, 1.5);
//清空表单
autoGenerateForm.group = undefined;
autoGenerateForm.majorId = undefined;
autoGenerateForm.num = undefined;
} else {
- message.error('生成账号失败', 1.5);
+ message.error(res.message, 1.5);
}
})
From f002ffdd49ea195c5901dd9c5fadf96a74a6e0d5 Mon Sep 17 00:00:00 2001
From: Xubx <1827135378@qq.com>
Date: Mon, 28 Apr 2025 19:20:17 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=B8=AD=E5=AD=A6?=
=?UTF-8?q?=E7=A7=91=E9=80=89=E6=8B=A9=E6=A1=86=E5=8F=AF=E5=88=86=E9=85=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/cees/group/CeesGroup.data.ts | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/views/cees/group/CeesGroup.data.ts b/src/views/cees/group/CeesGroup.data.ts
index 63ca4d4..4e126fe 100644
--- a/src/views/cees/group/CeesGroup.data.ts
+++ b/src/views/cees/group/CeesGroup.data.ts
@@ -2,9 +2,13 @@ import {BasicColumn} from '/@/components/Table';
import {FormSchema} from '/@/components/Table';
import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
+import { usePermission } from '/@/hooks/web/usePermission';
+
//import { getRowUser } from '/@/views/cees/group/CeesGroup.api';
//列表数据
+const { hasPermission } = usePermission();
+
export const columns: BasicColumn[] = [
{
title: '组名',
@@ -42,6 +46,12 @@ export const columns: BasicColumn[] = [
];
//查询数据
export const searchFormSchema: FormSchema[] = [
+ {
+ label: '组名',
+ field: 'name',
+ component: 'Input',
+ //colProps: {span: 6},
+ },
];
//表单数据
export const formSchema: FormSchema[] = [
@@ -72,6 +82,9 @@ export const formSchema: FormSchema[] = [
{ required: true, message: '请选择学科!'},
];
},
+ show: ({ values }) => {
+ return hasPermission('majorId:edit');
+ }
},
// TODO 主键隐藏字段,目前写死为ID
{