diff --git a/app/controller/admin/xm/ProductController.php b/app/controller/admin/xm/ProductController.php new file mode 100644 index 0000000..f1cf286 --- /dev/null +++ b/app/controller/admin/xm/ProductController.php @@ -0,0 +1,27 @@ + $this->request->get('productName/s', ''), + 'productCode' => $this->request->get('productCode/s', ''), + ])->append(['company']); + + $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/entity/XmProduct.php b/app/entity/XmProduct.php new file mode 100644 index 0000000..49bd157 --- /dev/null +++ b/app/entity/XmProduct.php @@ -0,0 +1,14 @@ +name("xm.pagePlatforms"); })->name('平台接口'); + + Route::group('product', function (){ + Route::get('page', [ProductController::class, 'page'])->name("xm.pageProducts"); + })->name('产品接口'); + })->name('小满数据中心'); })->middleware([AuthMiddleware::class]); diff --git a/z_ele/src/api/xm/product/index.ts b/z_ele/src/api/xm/product/index.ts new file mode 100644 index 0000000..94e240d --- /dev/null +++ b/z_ele/src/api/xm/product/index.ts @@ -0,0 +1,101 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { Product, ProductParam } from './model'; + +/** + * 分页查询会员 + */ +export async function pageProducts(params: ProductParam) { + const res = await request.get>>( + '/xm/products/page', + { params } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询用户列表 + */ +export async function listUsers(params?: ProductParam) { + 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: Product) { + 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: Product) { + 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/product/model/index.ts b/z_ele/src/api/xm/product/model/index.ts new file mode 100644 index 0000000..05d5551 --- /dev/null +++ b/z_ele/src/api/xm/product/model/index.ts @@ -0,0 +1,13 @@ +import type { PageParam } from '@/api'; +/** + * 会员 + */ +export interface Product {} + +/** + * 会员搜索条件 + */ +export interface ProductParam extends PageParam { + name?: string; + keyword?: string; +} diff --git a/z_ele/src/views/xm/product/components/member-edit.vue b/z_ele/src/views/xm/product/components/member-edit.vue new file mode 100644 index 0000000..1c9f325 --- /dev/null +++ b/z_ele/src/views/xm/product/components/member-edit.vue @@ -0,0 +1,147 @@ + + + + diff --git a/z_ele/src/views/xm/product/components/member-search.vue b/z_ele/src/views/xm/product/components/member-search.vue new file mode 100644 index 0000000..2bee7a8 --- /dev/null +++ b/z_ele/src/views/xm/product/components/member-search.vue @@ -0,0 +1,63 @@ + + + + diff --git a/z_ele/src/views/xm/product/index.vue b/z_ele/src/views/xm/product/index.vue new file mode 100644 index 0000000..ca164eb --- /dev/null +++ b/z_ele/src/views/xm/product/index.vue @@ -0,0 +1,158 @@ + + +