From 0a5c6edb3f6c450b0db93c84da807f4c57fba09f Mon Sep 17 00:00:00 2001 From: v Date: Thu, 11 Sep 2025 22:43:23 +0800 Subject: [PATCH] up. --- .../admin/xm/InstitutionController.php | 27 +++ app/controller/admin/xm/ProductController.php | 2 +- app/entity/XmInstitution.php | 14 ++ app/model/XmInstitution.php | 15 ++ route/api.php | 4 + z_ele/src/api/xm/institution/index.ts | 101 +++++++++++ z_ele/src/api/xm/institution/model/index.ts | 13 ++ .../xm/institution/components/member-edit.vue | 147 ++++++++++++++++ .../institution/components/member-search.vue | 63 +++++++ z_ele/src/views/xm/institution/index.vue | 158 ++++++++++++++++++ 10 files changed, 543 insertions(+), 1 deletion(-) create mode 100644 app/controller/admin/xm/InstitutionController.php create mode 100644 app/entity/XmInstitution.php create mode 100644 app/model/XmInstitution.php create mode 100644 z_ele/src/api/xm/institution/index.ts create mode 100644 z_ele/src/api/xm/institution/model/index.ts create mode 100644 z_ele/src/views/xm/institution/components/member-edit.vue create mode 100644 z_ele/src/views/xm/institution/components/member-search.vue create mode 100644 z_ele/src/views/xm/institution/index.vue diff --git a/app/controller/admin/xm/InstitutionController.php b/app/controller/admin/xm/InstitutionController.php new file mode 100644 index 0000000..5ae20ef --- /dev/null +++ b/app/controller/admin/xm/InstitutionController.php @@ -0,0 +1,27 @@ + $this->request->get('name/s', ''), + ]); + + $paginate = CurdService::getPaginate($this->request, $model); + }catch (\Exception $e){ + return $this->writeError($e->getMessage()); + } + + + return $this->writeSuccess('success', $paginate); + } +} \ No newline at end of file diff --git a/app/controller/admin/xm/ProductController.php b/app/controller/admin/xm/ProductController.php index f1cf286..1793f7b 100644 --- a/app/controller/admin/xm/ProductController.php +++ b/app/controller/admin/xm/ProductController.php @@ -14,7 +14,7 @@ class ProductController extends BaseController $model = \app\entity\XmProduct::withSearch([], [ 'productName' => $this->request->get('productName/s', ''), 'productCode' => $this->request->get('productCode/s', ''), - ])->append(['company']); + ])->append(['institution']); $paginate = CurdService::getPaginate($this->request, $model); }catch (\Exception $e){ diff --git a/app/entity/XmInstitution.php b/app/entity/XmInstitution.php new file mode 100644 index 0000000..9522c46 --- /dev/null +++ b/app/entity/XmInstitution.php @@ -0,0 +1,14 @@ +name("xm.pageProducts"); })->name('产品接口'); + Route::group('institution', function (){ + Route::get('page', [InstitutionController::class, 'page'])->name("xm.pageInstitutions"); + })->name('机构接口'); + })->name('小满数据中心'); })->middleware([AuthMiddleware::class]); diff --git a/z_ele/src/api/xm/institution/index.ts b/z_ele/src/api/xm/institution/index.ts new file mode 100644 index 0000000..b0dda34 --- /dev/null +++ b/z_ele/src/api/xm/institution/index.ts @@ -0,0 +1,101 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { Institution, InstitutionParam } from './model'; + +/** + * 分页查询会员 + */ +export async function pageInstitutions(params: InstitutionParam) { + const res = await request.get>>( + '/xm/institution/page', + { params } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询用户列表 + */ +export async function listUsers(params?: InstitutionParam) { + const res = await request.get>('/system/user', { + params + }); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询用户 + */ +export async function getUser(id: number) { + const res = await request.get>('/system/user/' + id); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加用户 + */ +export async function addUser(data: Institution) { + const res = await request.post>('/system/user', data); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改用户 + */ +export async function updateUser(data: Institution) { + const res = await request.put>('/system/user', data); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除用户 + */ +export async function removeUser(id?: number) { + const res = await request.delete>('/system/user/' + id); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除用户 + */ +export async function removeUsers(data: (number | undefined)[]) { + const res = await request.delete>('/system/user/batch', { + data + }); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改用户状态 + */ +export async function updateUserStatus(userId?: number, status?: number) { + const res = await request.put>('/system/user/status', { + userId, + status + }); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/z_ele/src/api/xm/institution/model/index.ts b/z_ele/src/api/xm/institution/model/index.ts new file mode 100644 index 0000000..13b8342 --- /dev/null +++ b/z_ele/src/api/xm/institution/model/index.ts @@ -0,0 +1,13 @@ +import type { PageParam } from '@/api'; +/** + * 会员 + */ +export interface Institution {} + +/** + * 会员搜索条件 + */ +export interface InstitutionParam extends PageParam { + name?: string; + keyword?: string; +} diff --git a/z_ele/src/views/xm/institution/components/member-edit.vue b/z_ele/src/views/xm/institution/components/member-edit.vue new file mode 100644 index 0000000..1c9f325 --- /dev/null +++ b/z_ele/src/views/xm/institution/components/member-edit.vue @@ -0,0 +1,147 @@ + + + + diff --git a/z_ele/src/views/xm/institution/components/member-search.vue b/z_ele/src/views/xm/institution/components/member-search.vue new file mode 100644 index 0000000..2bee7a8 --- /dev/null +++ b/z_ele/src/views/xm/institution/components/member-search.vue @@ -0,0 +1,63 @@ + + + + diff --git a/z_ele/src/views/xm/institution/index.vue b/z_ele/src/views/xm/institution/index.vue new file mode 100644 index 0000000..fe2993d --- /dev/null +++ b/z_ele/src/views/xm/institution/index.vue @@ -0,0 +1,158 @@ + + +