feat(admin): 移除管理员界面的旧版 SVG 图标- 删除了位于 /dict/admin/public/assets/ 目录下的 logo.svg 文件- 清理了项目中不再使用的图标资源
- 减少了前端静态资源体积 -为后续引入新版图标系统做准备 - 更新了相关引用路径(如有)- 确保移除后功能正常运行且无报错
This commit is contained in:
101
output/taro/src/api/clinic/clinicAppointment/index.ts
Normal file
101
output/taro/src/api/clinic/clinicAppointment/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicAppointment, ClinicAppointmentParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询挂号
|
||||
*/
|
||||
export async function pageClinicAppointment(params: ClinicAppointmentParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicAppointment>>>(
|
||||
'/clinic/clinic-appointment/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询挂号列表
|
||||
*/
|
||||
export async function listClinicAppointment(params?: ClinicAppointmentParam) {
|
||||
const res = await request.get<ApiResult<ClinicAppointment[]>>(
|
||||
'/clinic/clinic-appointment',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加挂号
|
||||
*/
|
||||
export async function addClinicAppointment(data: ClinicAppointment) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-appointment',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改挂号
|
||||
*/
|
||||
export async function updateClinicAppointment(data: ClinicAppointment) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-appointment',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除挂号
|
||||
*/
|
||||
export async function removeClinicAppointment(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-appointment/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除挂号
|
||||
*/
|
||||
export async function removeBatchClinicAppointment(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-appointment/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询挂号
|
||||
*/
|
||||
export async function getClinicAppointment(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicAppointment>>(
|
||||
'/clinic/clinic-appointment/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
39
output/taro/src/api/clinic/clinicAppointment/model/index.ts
Normal file
39
output/taro/src/api/clinic/clinicAppointment/model/index.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 挂号
|
||||
*/
|
||||
export interface ClinicAppointment {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 类型
|
||||
type?: number;
|
||||
// 就诊原因
|
||||
reason?: string;
|
||||
// 挂号时间
|
||||
evaluateTime?: string;
|
||||
// 医生
|
||||
doctorId?: number;
|
||||
// 患者
|
||||
userId?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 排序号
|
||||
sortNumber?: number;
|
||||
// 是否删除
|
||||
isDelete?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 挂号搜索条件
|
||||
*/
|
||||
export interface ClinicAppointmentParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicDoctorApply/index.ts
Normal file
101
output/taro/src/api/clinic/clinicDoctorApply/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicDoctorApply, ClinicDoctorApplyParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询医生入驻申请
|
||||
*/
|
||||
export async function pageClinicDoctorApply(params: ClinicDoctorApplyParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicDoctorApply>>>(
|
||||
'/clinic/clinic-doctor-apply/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询医生入驻申请列表
|
||||
*/
|
||||
export async function listClinicDoctorApply(params?: ClinicDoctorApplyParam) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorApply[]>>(
|
||||
'/clinic/clinic-doctor-apply',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加医生入驻申请
|
||||
*/
|
||||
export async function addClinicDoctorApply(data: ClinicDoctorApply) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-apply',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改医生入驻申请
|
||||
*/
|
||||
export async function updateClinicDoctorApply(data: ClinicDoctorApply) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-apply',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除医生入驻申请
|
||||
*/
|
||||
export async function removeClinicDoctorApply(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-apply/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除医生入驻申请
|
||||
*/
|
||||
export async function removeBatchClinicDoctorApply(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-apply/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询医生入驻申请
|
||||
*/
|
||||
export async function getClinicDoctorApply(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorApply>>(
|
||||
'/clinic/clinic-doctor-apply/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
75
output/taro/src/api/clinic/clinicDoctorApply/model/index.ts
Normal file
75
output/taro/src/api/clinic/clinicDoctorApply/model/index.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 医生入驻申请
|
||||
*/
|
||||
export interface ClinicDoctorApply {
|
||||
// 主键ID
|
||||
applyId?: number;
|
||||
// 类型 0医生
|
||||
type?: number;
|
||||
// 用户ID
|
||||
userId?: number;
|
||||
// 姓名
|
||||
realName?: string;
|
||||
// 性别 1男 2女
|
||||
gender?: number;
|
||||
// 手机号
|
||||
mobile?: string;
|
||||
// 客户名称
|
||||
dealerName?: string;
|
||||
// 证件号码
|
||||
idCard?: string;
|
||||
// 生日
|
||||
birthDate?: string;
|
||||
// 区分职称等级(如主治医师、副主任医师)
|
||||
professionalTitle?: string;
|
||||
// 工作单位
|
||||
workUnit?: string;
|
||||
// 执业资格核心凭证
|
||||
practiceLicense?: string;
|
||||
// 限定可执业科室或疾病类型
|
||||
practiceScope?: string;
|
||||
// 开始工作时间
|
||||
startWorkDate?: string;
|
||||
// 简历
|
||||
resume?: string;
|
||||
// 使用 JSON 存储多个证件文件路径(如执业证、学历证)
|
||||
certificationFiles?: string;
|
||||
// 详细地址
|
||||
address?: string;
|
||||
// 签约价格
|
||||
money?: string;
|
||||
// 推荐人用户ID
|
||||
refereeId?: number;
|
||||
// 申请方式(10需后台审核 20无需审核)
|
||||
applyType?: number;
|
||||
// 审核状态 (10待审核 20审核通过 30驳回)
|
||||
applyStatus?: number;
|
||||
// 申请时间
|
||||
applyTime?: string;
|
||||
// 审核时间
|
||||
auditTime?: string;
|
||||
// 合同时间
|
||||
contractTime?: string;
|
||||
// 过期时间
|
||||
expirationTime?: string;
|
||||
// 驳回原因
|
||||
rejectReason?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 医生入驻申请搜索条件
|
||||
*/
|
||||
export interface ClinicDoctorApplyParam extends PageParam {
|
||||
applyId?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicDoctorMedicalRecord/index.ts
Normal file
101
output/taro/src/api/clinic/clinicDoctorMedicalRecord/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicDoctorMedicalRecord, ClinicDoctorMedicalRecordParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询医疗记录
|
||||
*/
|
||||
export async function pageClinicDoctorMedicalRecord(params: ClinicDoctorMedicalRecordParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicDoctorMedicalRecord>>>(
|
||||
'/clinic/clinic-doctor-medical-record/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询医疗记录列表
|
||||
*/
|
||||
export async function listClinicDoctorMedicalRecord(params?: ClinicDoctorMedicalRecordParam) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorMedicalRecord[]>>(
|
||||
'/clinic/clinic-doctor-medical-record',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加医疗记录
|
||||
*/
|
||||
export async function addClinicDoctorMedicalRecord(data: ClinicDoctorMedicalRecord) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-medical-record',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改医疗记录
|
||||
*/
|
||||
export async function updateClinicDoctorMedicalRecord(data: ClinicDoctorMedicalRecord) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-medical-record',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除医疗记录
|
||||
*/
|
||||
export async function removeClinicDoctorMedicalRecord(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-medical-record/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除医疗记录
|
||||
*/
|
||||
export async function removeBatchClinicDoctorMedicalRecord(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-medical-record/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询医疗记录
|
||||
*/
|
||||
export async function getClinicDoctorMedicalRecord(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorMedicalRecord>>(
|
||||
'/clinic/clinic-doctor-medical-record/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 医疗记录
|
||||
*/
|
||||
export interface ClinicDoctorMedicalRecord {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 分销商用户id(一级)
|
||||
firstUserId?: number;
|
||||
// 分销商用户id(二级)
|
||||
secondUserId?: number;
|
||||
// 分销商用户id(三级)
|
||||
thirdUserId?: number;
|
||||
// 分销佣金(一级)
|
||||
firstMoney?: string;
|
||||
// 分销佣金(二级)
|
||||
secondMoney?: string;
|
||||
// 分销佣金(三级)
|
||||
thirdMoney?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 结算金额
|
||||
settledPrice?: string;
|
||||
// 换算成度
|
||||
degreePrice?: string;
|
||||
// 实发金额
|
||||
payPrice?: string;
|
||||
// 税率
|
||||
rate?: string;
|
||||
// 结算月份
|
||||
month?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 佣金结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 医疗记录搜索条件
|
||||
*/
|
||||
export interface ClinicDoctorMedicalRecordParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicDoctorUser/index.ts
Normal file
101
output/taro/src/api/clinic/clinicDoctorUser/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicDoctorUser, ClinicDoctorUserParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询分销商用户记录表
|
||||
*/
|
||||
export async function pageClinicDoctorUser(params: ClinicDoctorUserParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicDoctorUser>>>(
|
||||
'/clinic/clinic-doctor-user/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询分销商用户记录表列表
|
||||
*/
|
||||
export async function listClinicDoctorUser(params?: ClinicDoctorUserParam) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorUser[]>>(
|
||||
'/clinic/clinic-doctor-user',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加分销商用户记录表
|
||||
*/
|
||||
export async function addClinicDoctorUser(data: ClinicDoctorUser) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-user',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改分销商用户记录表
|
||||
*/
|
||||
export async function updateClinicDoctorUser(data: ClinicDoctorUser) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-user',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分销商用户记录表
|
||||
*/
|
||||
export async function removeClinicDoctorUser(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-user/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除分销商用户记录表
|
||||
*/
|
||||
export async function removeBatchClinicDoctorUser(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-doctor-user/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询分销商用户记录表
|
||||
*/
|
||||
export async function getClinicDoctorUser(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicDoctorUser>>(
|
||||
'/clinic/clinic-doctor-user/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
59
output/taro/src/api/clinic/clinicDoctorUser/model/index.ts
Normal file
59
output/taro/src/api/clinic/clinicDoctorUser/model/index.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 分销商用户记录表
|
||||
*/
|
||||
export interface ClinicDoctorUser {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 类型 0经销商 1企业 2集团
|
||||
type?: number;
|
||||
// 自增ID
|
||||
userId?: number;
|
||||
// 姓名
|
||||
realName?: string;
|
||||
// 手机号
|
||||
mobile?: string;
|
||||
// 支付密码
|
||||
payPassword?: string;
|
||||
// 当前可提现佣金
|
||||
money?: string;
|
||||
// 已冻结佣金
|
||||
freezeMoney?: string;
|
||||
// 累积提现佣金
|
||||
totalMoney?: string;
|
||||
// 收益基数
|
||||
rate?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 推荐人用户ID
|
||||
refereeId?: number;
|
||||
// 成员数量(一级)
|
||||
firstNum?: number;
|
||||
// 成员数量(二级)
|
||||
secondNum?: number;
|
||||
// 成员数量(三级)
|
||||
thirdNum?: number;
|
||||
// 专属二维码
|
||||
qrcode?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 排序号
|
||||
sortNumber?: number;
|
||||
// 是否删除
|
||||
isDelete?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销商用户记录表搜索条件
|
||||
*/
|
||||
export interface ClinicDoctorUserParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicMedicalHistory/index.ts
Normal file
101
output/taro/src/api/clinic/clinicMedicalHistory/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicMedicalHistory, ClinicMedicalHistoryParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询病例
|
||||
*/
|
||||
export async function pageClinicMedicalHistory(params: ClinicMedicalHistoryParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicMedicalHistory>>>(
|
||||
'/clinic/clinic-medical-history/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询病例列表
|
||||
*/
|
||||
export async function listClinicMedicalHistory(params?: ClinicMedicalHistoryParam) {
|
||||
const res = await request.get<ApiResult<ClinicMedicalHistory[]>>(
|
||||
'/clinic/clinic-medical-history',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加病例
|
||||
*/
|
||||
export async function addClinicMedicalHistory(data: ClinicMedicalHistory) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medical-history',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改病例
|
||||
*/
|
||||
export async function updateClinicMedicalHistory(data: ClinicMedicalHistory) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medical-history',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除病例
|
||||
*/
|
||||
export async function removeClinicMedicalHistory(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medical-history/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除病例
|
||||
*/
|
||||
export async function removeBatchClinicMedicalHistory(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medical-history/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询病例
|
||||
*/
|
||||
export async function getClinicMedicalHistory(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicMedicalHistory>>(
|
||||
'/clinic/clinic-medical-history/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 病例
|
||||
*/
|
||||
export interface ClinicMedicalHistory {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 分销商用户id(一级)
|
||||
firstUserId?: number;
|
||||
// 分销商用户id(二级)
|
||||
secondUserId?: number;
|
||||
// 分销商用户id(三级)
|
||||
thirdUserId?: number;
|
||||
// 分销佣金(一级)
|
||||
firstMoney?: string;
|
||||
// 分销佣金(二级)
|
||||
secondMoney?: string;
|
||||
// 分销佣金(三级)
|
||||
thirdMoney?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 结算金额
|
||||
settledPrice?: string;
|
||||
// 换算成度
|
||||
degreePrice?: string;
|
||||
// 实发金额
|
||||
payPrice?: string;
|
||||
// 税率
|
||||
rate?: string;
|
||||
// 结算月份
|
||||
month?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 佣金结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 病例搜索条件
|
||||
*/
|
||||
export interface ClinicMedicalHistoryParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicMedicine/index.ts
Normal file
101
output/taro/src/api/clinic/clinicMedicine/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicMedicine, ClinicMedicineParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询药品库
|
||||
*/
|
||||
export async function pageClinicMedicine(params: ClinicMedicineParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicMedicine>>>(
|
||||
'/clinic/clinic-medicine/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询药品库列表
|
||||
*/
|
||||
export async function listClinicMedicine(params?: ClinicMedicineParam) {
|
||||
const res = await request.get<ApiResult<ClinicMedicine[]>>(
|
||||
'/clinic/clinic-medicine',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加药品库
|
||||
*/
|
||||
export async function addClinicMedicine(data: ClinicMedicine) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改药品库
|
||||
*/
|
||||
export async function updateClinicMedicine(data: ClinicMedicine) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除药品库
|
||||
*/
|
||||
export async function removeClinicMedicine(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除药品库
|
||||
*/
|
||||
export async function removeBatchClinicMedicine(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询药品库
|
||||
*/
|
||||
export async function getClinicMedicine(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicMedicine>>(
|
||||
'/clinic/clinic-medicine/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
43
output/taro/src/api/clinic/clinicMedicine/model/index.ts
Normal file
43
output/taro/src/api/clinic/clinicMedicine/model/index.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 药品库
|
||||
*/
|
||||
export interface ClinicMedicine {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 药名
|
||||
name?: string;
|
||||
// 拼音
|
||||
pinyin?: string;
|
||||
// 分类(如“清热解毒”、“补气养血”)
|
||||
category?: string;
|
||||
// 规格(如“饮片”、“颗粒”)
|
||||
specification?: string;
|
||||
// 单位(如“克”、“袋”)
|
||||
unit?: string;
|
||||
// 描述
|
||||
content?: string;
|
||||
// 单价
|
||||
pricePerUnit?: string;
|
||||
// 是否活跃
|
||||
isActive?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 药品库搜索条件
|
||||
*/
|
||||
export interface ClinicMedicineParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicMedicineInout/index.ts
Normal file
101
output/taro/src/api/clinic/clinicMedicineInout/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicMedicineInout, ClinicMedicineInoutParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询出入库
|
||||
*/
|
||||
export async function pageClinicMedicineInout(params: ClinicMedicineInoutParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicMedicineInout>>>(
|
||||
'/clinic/clinic-medicine-inout/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询出入库列表
|
||||
*/
|
||||
export async function listClinicMedicineInout(params?: ClinicMedicineInoutParam) {
|
||||
const res = await request.get<ApiResult<ClinicMedicineInout[]>>(
|
||||
'/clinic/clinic-medicine-inout',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加出入库
|
||||
*/
|
||||
export async function addClinicMedicineInout(data: ClinicMedicineInout) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-inout',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改出入库
|
||||
*/
|
||||
export async function updateClinicMedicineInout(data: ClinicMedicineInout) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-inout',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除出入库
|
||||
*/
|
||||
export async function removeClinicMedicineInout(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-inout/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除出入库
|
||||
*/
|
||||
export async function removeBatchClinicMedicineInout(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-inout/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询出入库
|
||||
*/
|
||||
export async function getClinicMedicineInout(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicMedicineInout>>(
|
||||
'/clinic/clinic-medicine-inout/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 出入库
|
||||
*/
|
||||
export interface ClinicMedicineInout {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 分销商用户id(一级)
|
||||
firstUserId?: number;
|
||||
// 分销商用户id(二级)
|
||||
secondUserId?: number;
|
||||
// 分销商用户id(三级)
|
||||
thirdUserId?: number;
|
||||
// 分销佣金(一级)
|
||||
firstMoney?: string;
|
||||
// 分销佣金(二级)
|
||||
secondMoney?: string;
|
||||
// 分销佣金(三级)
|
||||
thirdMoney?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 结算金额
|
||||
settledPrice?: string;
|
||||
// 换算成度
|
||||
degreePrice?: string;
|
||||
// 实发金额
|
||||
payPrice?: string;
|
||||
// 税率
|
||||
rate?: string;
|
||||
// 结算月份
|
||||
month?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 佣金结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 出入库搜索条件
|
||||
*/
|
||||
export interface ClinicMedicineInoutParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicMedicineStock/index.ts
Normal file
101
output/taro/src/api/clinic/clinicMedicineStock/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicMedicineStock, ClinicMedicineStockParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询药品库存
|
||||
*/
|
||||
export async function pageClinicMedicineStock(params: ClinicMedicineStockParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicMedicineStock>>>(
|
||||
'/clinic/clinic-medicine-stock/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询药品库存列表
|
||||
*/
|
||||
export async function listClinicMedicineStock(params?: ClinicMedicineStockParam) {
|
||||
const res = await request.get<ApiResult<ClinicMedicineStock[]>>(
|
||||
'/clinic/clinic-medicine-stock',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加药品库存
|
||||
*/
|
||||
export async function addClinicMedicineStock(data: ClinicMedicineStock) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-stock',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改药品库存
|
||||
*/
|
||||
export async function updateClinicMedicineStock(data: ClinicMedicineStock) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-stock',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除药品库存
|
||||
*/
|
||||
export async function removeClinicMedicineStock(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-stock/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除药品库存
|
||||
*/
|
||||
export async function removeBatchClinicMedicineStock(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-medicine-stock/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询药品库存
|
||||
*/
|
||||
export async function getClinicMedicineStock(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicMedicineStock>>(
|
||||
'/clinic/clinic-medicine-stock/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 药品库存
|
||||
*/
|
||||
export interface ClinicMedicineStock {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 药品
|
||||
medicineId?: number;
|
||||
// 库存数量
|
||||
stockQuantity?: number;
|
||||
// 最小库存预警
|
||||
minStockLevel?: number;
|
||||
// 上次更新时间
|
||||
lastUpdated?: string;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 药品库存搜索条件
|
||||
*/
|
||||
export interface ClinicMedicineStockParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicOrder/index.ts
Normal file
101
output/taro/src/api/clinic/clinicOrder/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicOrder, ClinicOrderParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询处方订单
|
||||
*/
|
||||
export async function pageClinicOrder(params: ClinicOrderParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicOrder>>>(
|
||||
'/clinic/clinic-order/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询处方订单列表
|
||||
*/
|
||||
export async function listClinicOrder(params?: ClinicOrderParam) {
|
||||
const res = await request.get<ApiResult<ClinicOrder[]>>(
|
||||
'/clinic/clinic-order',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加处方订单
|
||||
*/
|
||||
export async function addClinicOrder(data: ClinicOrder) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-order',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改处方订单
|
||||
*/
|
||||
export async function updateClinicOrder(data: ClinicOrder) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-order',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除处方订单
|
||||
*/
|
||||
export async function removeClinicOrder(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-order/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除处方订单
|
||||
*/
|
||||
export async function removeBatchClinicOrder(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-order/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询处方订单
|
||||
*/
|
||||
export async function getClinicOrder(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicOrder>>(
|
||||
'/clinic/clinic-order/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
167
output/taro/src/api/clinic/clinicOrder/model/index.ts
Normal file
167
output/taro/src/api/clinic/clinicOrder/model/index.ts
Normal file
@@ -0,0 +1,167 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 处方订单
|
||||
*/
|
||||
export interface ClinicOrder {
|
||||
// 订单号
|
||||
orderId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 订单类型,0商城订单 1预定订单/外卖 2会员卡
|
||||
type?: number;
|
||||
// 订单标题
|
||||
title?: string;
|
||||
// 快递/自提
|
||||
deliveryType?: number;
|
||||
// 下单渠道,0小程序预定 1俱乐部训练场 3活动订场
|
||||
channel?: number;
|
||||
// 微信支付交易号号
|
||||
transactionId?: string;
|
||||
// 微信退款订单号
|
||||
refundOrder?: string;
|
||||
// 商户ID
|
||||
merchantId?: number;
|
||||
// 商户名称
|
||||
merchantName?: string;
|
||||
// 商户编号
|
||||
merchantCode?: string;
|
||||
// 使用的优惠券id
|
||||
couponId?: number;
|
||||
// 使用的会员卡id
|
||||
cardId?: string;
|
||||
// 关联管理员id
|
||||
adminId?: number;
|
||||
// 核销管理员id
|
||||
confirmId?: number;
|
||||
// IC卡号
|
||||
icCard?: string;
|
||||
// 真实姓名
|
||||
realName?: string;
|
||||
// 关联收货地址
|
||||
addressId?: number;
|
||||
// 收货地址
|
||||
address?: string;
|
||||
//
|
||||
addressLat?: string;
|
||||
//
|
||||
addressLng?: string;
|
||||
// 买家留言
|
||||
buyerRemarks?: string;
|
||||
// 自提店铺id
|
||||
selfTakeMerchantId?: number;
|
||||
// 自提店铺
|
||||
selfTakeMerchantName?: string;
|
||||
// 配送开始时间
|
||||
sendStartTime?: string;
|
||||
// 配送结束时间
|
||||
sendEndTime?: string;
|
||||
// 发货店铺id
|
||||
expressMerchantId?: number;
|
||||
// 发货店铺
|
||||
expressMerchantName?: string;
|
||||
// 订单总额
|
||||
totalPrice?: string;
|
||||
// 减少的金额,使用VIP会员折扣、优惠券抵扣、优惠券折扣后减去的价格
|
||||
reducePrice?: string;
|
||||
// 实际付款
|
||||
payPrice?: string;
|
||||
// 用于统计
|
||||
price?: string;
|
||||
// 价钱,用于积分赠送
|
||||
money?: string;
|
||||
// 取消时间
|
||||
cancelTime?: string;
|
||||
// 取消原因
|
||||
cancelReason?: string;
|
||||
// 退款金额
|
||||
refundMoney?: string;
|
||||
// 教练价格
|
||||
coachPrice?: string;
|
||||
// 购买数量
|
||||
totalNum?: number;
|
||||
// 教练id
|
||||
coachId?: number;
|
||||
// 商品ID
|
||||
formId?: number;
|
||||
// 支付的用户id
|
||||
payUserId?: number;
|
||||
// 0余额支付,1微信支付,2支付宝支付,3银联支付,4现金支付,5POS机支付,6免费,7积分支付
|
||||
payType?: number;
|
||||
// 微信支付子类型:JSAPI小程序支付,NATIVE扫码支付
|
||||
wechatPayType?: string;
|
||||
// 0余额支付,1微信支付,2支付宝支付,3银联支付,4现金支付,5POS机支付,6免费,7积分支付
|
||||
friendPayType?: number;
|
||||
// 0未付款,1已付款
|
||||
payStatus?: string;
|
||||
// 0未使用,1已完成,2已取消,3取消中,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款
|
||||
orderStatus?: number;
|
||||
// 发货状态(10未发货 20已发货 30部分发货)
|
||||
deliveryStatus?: number;
|
||||
// 无需发货备注
|
||||
deliveryNote?: string;
|
||||
// 发货时间
|
||||
deliveryTime?: string;
|
||||
// 评价状态(0未评价 1已评价)
|
||||
evaluateStatus?: number;
|
||||
// 评价时间
|
||||
evaluateTime?: string;
|
||||
// 优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡
|
||||
couponType?: number;
|
||||
// 优惠说明
|
||||
couponDesc?: string;
|
||||
// 二维码地址,保存订单号,支付成功后才生成
|
||||
qrcode?: string;
|
||||
// vip月卡年卡、ic月卡年卡回退次数
|
||||
returnNum?: number;
|
||||
// vip充值回退金额
|
||||
returnMoney?: string;
|
||||
// 预约详情开始时间数组
|
||||
startTime?: string;
|
||||
// 是否已开具发票:0未开发票,1已开发票,2不能开具发票
|
||||
isInvoice?: string;
|
||||
// 发票流水号
|
||||
invoiceNo?: string;
|
||||
// 商家留言
|
||||
merchantRemarks?: string;
|
||||
// 支付时间
|
||||
payTime?: string;
|
||||
// 退款时间
|
||||
refundTime?: string;
|
||||
// 申请退款时间
|
||||
refundApplyTime?: string;
|
||||
// 过期时间
|
||||
expirationTime?: string;
|
||||
// 自提码
|
||||
selfTakeCode?: string;
|
||||
// 是否已收到赠品
|
||||
hasTakeGift?: string;
|
||||
// 对账情况:0=未对账;1=已对账;3=已对账,金额对不上;4=未查询到该订单
|
||||
checkBill?: number;
|
||||
// 订单是否已结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 系统版本号 0当前版本 value=其他版本
|
||||
version?: number;
|
||||
// 用户id
|
||||
userId?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 排序号
|
||||
sortNumber?: number;
|
||||
// 是否删除, 0否, 1是
|
||||
deleted?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处方订单搜索条件
|
||||
*/
|
||||
export interface ClinicOrderParam extends PageParam {
|
||||
orderId?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicPatientUser/index.ts
Normal file
101
output/taro/src/api/clinic/clinicPatientUser/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicPatientUser, ClinicPatientUserParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询患者
|
||||
*/
|
||||
export async function pageClinicPatientUser(params: ClinicPatientUserParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicPatientUser>>>(
|
||||
'/clinic/clinic-patient-user/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询患者列表
|
||||
*/
|
||||
export async function listClinicPatientUser(params?: ClinicPatientUserParam) {
|
||||
const res = await request.get<ApiResult<ClinicPatientUser[]>>(
|
||||
'/clinic/clinic-patient-user',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加患者
|
||||
*/
|
||||
export async function addClinicPatientUser(data: ClinicPatientUser) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-patient-user',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改患者
|
||||
*/
|
||||
export async function updateClinicPatientUser(data: ClinicPatientUser) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-patient-user',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除患者
|
||||
*/
|
||||
export async function removeClinicPatientUser(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-patient-user/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除患者
|
||||
*/
|
||||
export async function removeBatchClinicPatientUser(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-patient-user/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询患者
|
||||
*/
|
||||
export async function getClinicPatientUser(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicPatientUser>>(
|
||||
'/clinic/clinic-patient-user/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
59
output/taro/src/api/clinic/clinicPatientUser/model/index.ts
Normal file
59
output/taro/src/api/clinic/clinicPatientUser/model/index.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 患者
|
||||
*/
|
||||
export interface ClinicPatientUser {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 类型 0经销商 1企业 2集团
|
||||
type?: number;
|
||||
// 自增ID
|
||||
userId?: number;
|
||||
// 姓名
|
||||
realName?: string;
|
||||
// 手机号
|
||||
mobile?: string;
|
||||
// 支付密码
|
||||
payPassword?: string;
|
||||
// 当前可提现佣金
|
||||
money?: string;
|
||||
// 已冻结佣金
|
||||
freezeMoney?: string;
|
||||
// 累积提现佣金
|
||||
totalMoney?: string;
|
||||
// 收益基数
|
||||
rate?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 推荐人用户ID
|
||||
refereeId?: number;
|
||||
// 成员数量(一级)
|
||||
firstNum?: number;
|
||||
// 成员数量(二级)
|
||||
secondNum?: number;
|
||||
// 成员数量(三级)
|
||||
thirdNum?: number;
|
||||
// 专属二维码
|
||||
qrcode?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 排序号
|
||||
sortNumber?: number;
|
||||
// 是否删除
|
||||
isDelete?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 患者搜索条件
|
||||
*/
|
||||
export interface ClinicPatientUserParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
108
output/taro/src/api/clinic/clinicPrescription/index.ts
Normal file
108
output/taro/src/api/clinic/clinicPrescription/index.ts
Normal file
@@ -0,0 +1,108 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicPrescription, ClinicPrescriptionParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询处方主表
|
||||
|
||||
*/
|
||||
export async function pageClinicPrescription(params: ClinicPrescriptionParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicPrescription>>>(
|
||||
'/clinic/clinic-prescription/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询处方主表
|
||||
列表
|
||||
*/
|
||||
export async function listClinicPrescription(params?: ClinicPrescriptionParam) {
|
||||
const res = await request.get<ApiResult<ClinicPrescription[]>>(
|
||||
'/clinic/clinic-prescription',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加处方主表
|
||||
|
||||
*/
|
||||
export async function addClinicPrescription(data: ClinicPrescription) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改处方主表
|
||||
|
||||
*/
|
||||
export async function updateClinicPrescription(data: ClinicPrescription) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除处方主表
|
||||
|
||||
*/
|
||||
export async function removeClinicPrescription(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除处方主表
|
||||
|
||||
*/
|
||||
export async function removeBatchClinicPrescription(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询处方主表
|
||||
|
||||
*/
|
||||
export async function getClinicPrescription(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicPrescription>>(
|
||||
'/clinic/clinic-prescription/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
57
output/taro/src/api/clinic/clinicPrescription/model/index.ts
Normal file
57
output/taro/src/api/clinic/clinicPrescription/model/index.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 处方主表
|
||||
|
||||
*/
|
||||
export interface ClinicPrescription {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 患者
|
||||
userId?: number;
|
||||
// 医生
|
||||
doctorId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 关联就诊表
|
||||
visitRecordId?: number;
|
||||
// 处方类型 0中药 1西药
|
||||
prescriptionType?: number;
|
||||
// 诊断结果
|
||||
diagnosis?: string;
|
||||
// 治疗方案
|
||||
treatmentPlan?: string;
|
||||
// 煎药说明
|
||||
decoctionInstructions?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 实付金额
|
||||
payPrice?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 状态, 0正常, 1已完成,2已支付,3已取消
|
||||
status?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处方主表
|
||||
搜索条件
|
||||
*/
|
||||
export interface ClinicPrescriptionParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
108
output/taro/src/api/clinic/clinicPrescriptionItem/index.ts
Normal file
108
output/taro/src/api/clinic/clinicPrescriptionItem/index.ts
Normal file
@@ -0,0 +1,108 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicPrescriptionItem, ClinicPrescriptionItemParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询处方明细表
|
||||
|
||||
*/
|
||||
export async function pageClinicPrescriptionItem(params: ClinicPrescriptionItemParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicPrescriptionItem>>>(
|
||||
'/clinic/clinic-prescription-item/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询处方明细表
|
||||
列表
|
||||
*/
|
||||
export async function listClinicPrescriptionItem(params?: ClinicPrescriptionItemParam) {
|
||||
const res = await request.get<ApiResult<ClinicPrescriptionItem[]>>(
|
||||
'/clinic/clinic-prescription-item',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加处方明细表
|
||||
|
||||
*/
|
||||
export async function addClinicPrescriptionItem(data: ClinicPrescriptionItem) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription-item',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改处方明细表
|
||||
|
||||
*/
|
||||
export async function updateClinicPrescriptionItem(data: ClinicPrescriptionItem) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription-item',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除处方明细表
|
||||
|
||||
*/
|
||||
export async function removeClinicPrescriptionItem(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription-item/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除处方明细表
|
||||
|
||||
*/
|
||||
export async function removeBatchClinicPrescriptionItem(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-prescription-item/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询处方明细表
|
||||
|
||||
*/
|
||||
export async function getClinicPrescriptionItem(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicPrescriptionItem>>(
|
||||
'/clinic/clinic-prescription-item/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 处方明细表
|
||||
|
||||
*/
|
||||
export interface ClinicPrescriptionItem {
|
||||
// 自增ID
|
||||
id?: number;
|
||||
// 关联处方
|
||||
prescriptionId?: number;
|
||||
// 订单编号
|
||||
prescriptionNo?: string;
|
||||
// 关联药品
|
||||
medicineId?: number;
|
||||
// 剂量(如“10g”)
|
||||
dosage?: string;
|
||||
// 用法频率(如“每日三次”)
|
||||
usageFrequency?: string;
|
||||
// 服用天数
|
||||
days?: number;
|
||||
// 购买数量
|
||||
amount?: number;
|
||||
// 单价
|
||||
unitPrice?: string;
|
||||
// 数量
|
||||
quantity?: number;
|
||||
// 排序号
|
||||
sortNumber?: number;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 用户id
|
||||
userId?: number;
|
||||
// 租户id
|
||||
tenantId?: number;
|
||||
// 更新时间
|
||||
updateTime?: string;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处方明细表
|
||||
搜索条件
|
||||
*/
|
||||
export interface ClinicPrescriptionItemParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicReport/index.ts
Normal file
101
output/taro/src/api/clinic/clinicReport/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicReport, ClinicReportParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询报告
|
||||
*/
|
||||
export async function pageClinicReport(params: ClinicReportParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicReport>>>(
|
||||
'/clinic/clinic-report/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询报告列表
|
||||
*/
|
||||
export async function listClinicReport(params?: ClinicReportParam) {
|
||||
const res = await request.get<ApiResult<ClinicReport[]>>(
|
||||
'/clinic/clinic-report',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加报告
|
||||
*/
|
||||
export async function addClinicReport(data: ClinicReport) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-report',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改报告
|
||||
*/
|
||||
export async function updateClinicReport(data: ClinicReport) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-report',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除报告
|
||||
*/
|
||||
export async function removeClinicReport(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-report/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除报告
|
||||
*/
|
||||
export async function removeBatchClinicReport(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-report/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询报告
|
||||
*/
|
||||
export async function getClinicReport(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicReport>>(
|
||||
'/clinic/clinic-report/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
61
output/taro/src/api/clinic/clinicReport/model/index.ts
Normal file
61
output/taro/src/api/clinic/clinicReport/model/index.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 报告
|
||||
*/
|
||||
export interface ClinicReport {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 分销商用户id(一级)
|
||||
firstUserId?: number;
|
||||
// 分销商用户id(二级)
|
||||
secondUserId?: number;
|
||||
// 分销商用户id(三级)
|
||||
thirdUserId?: number;
|
||||
// 分销佣金(一级)
|
||||
firstMoney?: string;
|
||||
// 分销佣金(二级)
|
||||
secondMoney?: string;
|
||||
// 分销佣金(三级)
|
||||
thirdMoney?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 结算金额
|
||||
settledPrice?: string;
|
||||
// 换算成度
|
||||
degreePrice?: string;
|
||||
// 实发金额
|
||||
payPrice?: string;
|
||||
// 税率
|
||||
rate?: string;
|
||||
// 结算月份
|
||||
month?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 佣金结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 报告搜索条件
|
||||
*/
|
||||
export interface ClinicReportParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
101
output/taro/src/api/clinic/clinicVisitRecord/index.ts
Normal file
101
output/taro/src/api/clinic/clinicVisitRecord/index.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api/index';
|
||||
import type { ClinicVisitRecord, ClinicVisitRecordParam } from './model';
|
||||
|
||||
/**
|
||||
* 分页查询病例
|
||||
*/
|
||||
export async function pageClinicVisitRecord(params: ClinicVisitRecordParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ClinicVisitRecord>>>(
|
||||
'/clinic/clinic-visit-record/page',
|
||||
params
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询病例列表
|
||||
*/
|
||||
export async function listClinicVisitRecord(params?: ClinicVisitRecordParam) {
|
||||
const res = await request.get<ApiResult<ClinicVisitRecord[]>>(
|
||||
'/clinic/clinic-visit-record',
|
||||
params
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加病例
|
||||
*/
|
||||
export async function addClinicVisitRecord(data: ClinicVisitRecord) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
'/clinic/clinic-visit-record',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改病例
|
||||
*/
|
||||
export async function updateClinicVisitRecord(data: ClinicVisitRecord) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
'/clinic/clinic-visit-record',
|
||||
data
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除病例
|
||||
*/
|
||||
export async function removeClinicVisitRecord(id?: number) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-visit-record/' + id
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除病例
|
||||
*/
|
||||
export async function removeBatchClinicVisitRecord(data: (number | undefined)[]) {
|
||||
const res = await request.del<ApiResult<unknown>>(
|
||||
'/clinic/clinic-visit-record/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.code === 0) {
|
||||
return res.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询病例
|
||||
*/
|
||||
export async function getClinicVisitRecord(id: number) {
|
||||
const res = await request.get<ApiResult<ClinicVisitRecord>>(
|
||||
'/clinic/clinic-visit-record/' + id
|
||||
);
|
||||
if (res.code === 0 && res.data) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.message));
|
||||
}
|
||||
61
output/taro/src/api/clinic/clinicVisitRecord/model/index.ts
Normal file
61
output/taro/src/api/clinic/clinicVisitRecord/model/index.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import type { PageParam } from '@/api/index';
|
||||
|
||||
/**
|
||||
* 病例
|
||||
*/
|
||||
export interface ClinicVisitRecord {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 订单编号
|
||||
orderNo?: string;
|
||||
// 分销商用户id(一级)
|
||||
firstUserId?: number;
|
||||
// 分销商用户id(二级)
|
||||
secondUserId?: number;
|
||||
// 分销商用户id(三级)
|
||||
thirdUserId?: number;
|
||||
// 分销佣金(一级)
|
||||
firstMoney?: string;
|
||||
// 分销佣金(二级)
|
||||
secondMoney?: string;
|
||||
// 分销佣金(三级)
|
||||
thirdMoney?: string;
|
||||
// 单价
|
||||
price?: string;
|
||||
// 订单总金额
|
||||
orderPrice?: string;
|
||||
// 结算金额
|
||||
settledPrice?: string;
|
||||
// 换算成度
|
||||
degreePrice?: string;
|
||||
// 实发金额
|
||||
payPrice?: string;
|
||||
// 税率
|
||||
rate?: string;
|
||||
// 结算月份
|
||||
month?: string;
|
||||
// 订单是否失效(0未失效 1已失效)
|
||||
isInvalid?: number;
|
||||
// 佣金结算(0未结算 1已结算)
|
||||
isSettled?: number;
|
||||
// 结算时间
|
||||
settleTime?: string;
|
||||
// 备注
|
||||
comments?: string;
|
||||
// 商城ID
|
||||
tenantId?: number;
|
||||
// 创建时间
|
||||
createTime?: string;
|
||||
// 修改时间
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 病例搜索条件
|
||||
*/
|
||||
export interface ClinicVisitRecordParam extends PageParam {
|
||||
id?: number;
|
||||
keywords?: string;
|
||||
}
|
||||
4
output/taro/src/clinic/clinicAppointment/add.config.ts
Normal file
4
output/taro/src/clinic/clinicAppointment/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增挂号',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicAppointment/add.tsx
Normal file
98
output/taro/src/clinic/clinicAppointment/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicAppointment} from "@/api/clinic/clinicAppointment/model";
|
||||
import {getClinicAppointment, listClinicAppointment, updateClinicAppointment, addClinicAppointment} from "@/api/clinic/clinicAppointment";
|
||||
|
||||
const AddClinicAppointment = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicAppointment>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicAppointment(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicAppointment({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicAppointment(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="type" label="类型" initialValue={FormData.type} required>
|
||||
4
output/taro/src/clinic/clinicAppointment/index.config.ts
Normal file
4
output/taro/src/clinic/clinicAppointment/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '挂号管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicAppointment/index.tsx
Normal file
64
output/taro/src/clinic/clinicAppointment/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicAppointment} from "@/api/clinic/clinicAppointment/model";
|
||||
import {listClinicAppointment, removeClinicAppointment, updateClinicAppointment} from "@/api/clinic/clinicAppointment";
|
||||
|
||||
const ClinicAppointmentList = () => {
|
||||
const [list, setList] = useState<ClinicAppointment[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicAppointment({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicAppointment(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicAppointment/add'})}>新增挂号</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicDoctorApply/add.config.ts
Normal file
4
output/taro/src/clinic/clinicDoctorApply/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增医生入驻申请',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicDoctorApply/add.tsx
Normal file
98
output/taro/src/clinic/clinicDoctorApply/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorApply} from "@/api/clinic/clinicDoctorApply/model";
|
||||
import {getClinicDoctorApply, listClinicDoctorApply, updateClinicDoctorApply, addClinicDoctorApply} from "@/api/clinic/clinicDoctorApply";
|
||||
|
||||
const AddClinicDoctorApply = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicDoctorApply>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicDoctorApply(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicDoctorApply({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicDoctorApply(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="applyId" label="主键ID" initialValue={FormData.applyId} required>
|
||||
4
output/taro/src/clinic/clinicDoctorApply/index.config.ts
Normal file
4
output/taro/src/clinic/clinicDoctorApply/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '医生入驻申请管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicDoctorApply/index.tsx
Normal file
64
output/taro/src/clinic/clinicDoctorApply/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorApply} from "@/api/clinic/clinicDoctorApply/model";
|
||||
import {listClinicDoctorApply, removeClinicDoctorApply, updateClinicDoctorApply} from "@/api/clinic/clinicDoctorApply";
|
||||
|
||||
const ClinicDoctorApplyList = () => {
|
||||
const [list, setList] = useState<ClinicDoctorApply[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicDoctorApply({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicDoctorApply(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicDoctorApply/add'})}>新增医生入驻申请</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增医疗记录',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicDoctorMedicalRecord/add.tsx
Normal file
98
output/taro/src/clinic/clinicDoctorMedicalRecord/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorMedicalRecord} from "@/api/clinic/clinicDoctorMedicalRecord/model";
|
||||
import {getClinicDoctorMedicalRecord, listClinicDoctorMedicalRecord, updateClinicDoctorMedicalRecord, addClinicDoctorMedicalRecord} from "@/api/clinic/clinicDoctorMedicalRecord";
|
||||
|
||||
const AddClinicDoctorMedicalRecord = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicDoctorMedicalRecord>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicDoctorMedicalRecord(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicDoctorMedicalRecord({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicDoctorMedicalRecord(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="买家用户ID" initialValue={FormData.userId} required>
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '医疗记录管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicDoctorMedicalRecord/index.tsx
Normal file
64
output/taro/src/clinic/clinicDoctorMedicalRecord/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorMedicalRecord} from "@/api/clinic/clinicDoctorMedicalRecord/model";
|
||||
import {listClinicDoctorMedicalRecord, removeClinicDoctorMedicalRecord, updateClinicDoctorMedicalRecord} from "@/api/clinic/clinicDoctorMedicalRecord";
|
||||
|
||||
const ClinicDoctorMedicalRecordList = () => {
|
||||
const [list, setList] = useState<ClinicDoctorMedicalRecord[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicDoctorMedicalRecord({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicDoctorMedicalRecord(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicDoctorMedicalRecord/add'})}>新增医疗记录</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicDoctorUser/add.config.ts
Normal file
4
output/taro/src/clinic/clinicDoctorUser/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增分销商用户记录表',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicDoctorUser/add.tsx
Normal file
98
output/taro/src/clinic/clinicDoctorUser/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorUser} from "@/api/clinic/clinicDoctorUser/model";
|
||||
import {getClinicDoctorUser, listClinicDoctorUser, updateClinicDoctorUser, addClinicDoctorUser} from "@/api/clinic/clinicDoctorUser";
|
||||
|
||||
const AddClinicDoctorUser = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicDoctorUser>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicDoctorUser(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicDoctorUser({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicDoctorUser(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="type" label="类型 0经销商 1企业 2集团" initialValue={FormData.type} required>
|
||||
4
output/taro/src/clinic/clinicDoctorUser/index.config.ts
Normal file
4
output/taro/src/clinic/clinicDoctorUser/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '分销商用户记录表管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicDoctorUser/index.tsx
Normal file
64
output/taro/src/clinic/clinicDoctorUser/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicDoctorUser} from "@/api/clinic/clinicDoctorUser/model";
|
||||
import {listClinicDoctorUser, removeClinicDoctorUser, updateClinicDoctorUser} from "@/api/clinic/clinicDoctorUser";
|
||||
|
||||
const ClinicDoctorUserList = () => {
|
||||
const [list, setList] = useState<ClinicDoctorUser[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicDoctorUser({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicDoctorUser(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicDoctorUser/add'})}>新增分销商用户记录表</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增病例',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicMedicalHistory/add.tsx
Normal file
98
output/taro/src/clinic/clinicMedicalHistory/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicalHistory} from "@/api/clinic/clinicMedicalHistory/model";
|
||||
import {getClinicMedicalHistory, listClinicMedicalHistory, updateClinicMedicalHistory, addClinicMedicalHistory} from "@/api/clinic/clinicMedicalHistory";
|
||||
|
||||
const AddClinicMedicalHistory = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicMedicalHistory>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicMedicalHistory(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicMedicalHistory({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicMedicalHistory(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="买家用户ID" initialValue={FormData.userId} required>
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '病例管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicMedicalHistory/index.tsx
Normal file
64
output/taro/src/clinic/clinicMedicalHistory/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicalHistory} from "@/api/clinic/clinicMedicalHistory/model";
|
||||
import {listClinicMedicalHistory, removeClinicMedicalHistory, updateClinicMedicalHistory} from "@/api/clinic/clinicMedicalHistory";
|
||||
|
||||
const ClinicMedicalHistoryList = () => {
|
||||
const [list, setList] = useState<ClinicMedicalHistory[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicMedicalHistory({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicMedicalHistory(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicMedicalHistory/add'})}>新增病例</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicMedicine/add.config.ts
Normal file
4
output/taro/src/clinic/clinicMedicine/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增药品库',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicMedicine/add.tsx
Normal file
98
output/taro/src/clinic/clinicMedicine/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicine} from "@/api/clinic/clinicMedicine/model";
|
||||
import {getClinicMedicine, listClinicMedicine, updateClinicMedicine, addClinicMedicine} from "@/api/clinic/clinicMedicine";
|
||||
|
||||
const AddClinicMedicine = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicMedicine>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicMedicine(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicMedicine({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicMedicine(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="name" label="药名" initialValue={FormData.name} required>
|
||||
4
output/taro/src/clinic/clinicMedicine/index.config.ts
Normal file
4
output/taro/src/clinic/clinicMedicine/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '药品库管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicMedicine/index.tsx
Normal file
64
output/taro/src/clinic/clinicMedicine/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicine} from "@/api/clinic/clinicMedicine/model";
|
||||
import {listClinicMedicine, removeClinicMedicine, updateClinicMedicine} from "@/api/clinic/clinicMedicine";
|
||||
|
||||
const ClinicMedicineList = () => {
|
||||
const [list, setList] = useState<ClinicMedicine[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicMedicine({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicMedicine(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicMedicine/add'})}>新增药品库</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicMedicineInout/add.config.ts
Normal file
4
output/taro/src/clinic/clinicMedicineInout/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增出入库',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicMedicineInout/add.tsx
Normal file
98
output/taro/src/clinic/clinicMedicineInout/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicineInout} from "@/api/clinic/clinicMedicineInout/model";
|
||||
import {getClinicMedicineInout, listClinicMedicineInout, updateClinicMedicineInout, addClinicMedicineInout} from "@/api/clinic/clinicMedicineInout";
|
||||
|
||||
const AddClinicMedicineInout = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicMedicineInout>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicMedicineInout(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicMedicineInout({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicMedicineInout(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="买家用户ID" initialValue={FormData.userId} required>
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '出入库管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicMedicineInout/index.tsx
Normal file
64
output/taro/src/clinic/clinicMedicineInout/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicineInout} from "@/api/clinic/clinicMedicineInout/model";
|
||||
import {listClinicMedicineInout, removeClinicMedicineInout, updateClinicMedicineInout} from "@/api/clinic/clinicMedicineInout";
|
||||
|
||||
const ClinicMedicineInoutList = () => {
|
||||
const [list, setList] = useState<ClinicMedicineInout[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicMedicineInout({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicMedicineInout(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicMedicineInout/add'})}>新增出入库</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicMedicineStock/add.config.ts
Normal file
4
output/taro/src/clinic/clinicMedicineStock/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增药品库存',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicMedicineStock/add.tsx
Normal file
98
output/taro/src/clinic/clinicMedicineStock/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicineStock} from "@/api/clinic/clinicMedicineStock/model";
|
||||
import {getClinicMedicineStock, listClinicMedicineStock, updateClinicMedicineStock, addClinicMedicineStock} from "@/api/clinic/clinicMedicineStock";
|
||||
|
||||
const AddClinicMedicineStock = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicMedicineStock>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicMedicineStock(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicMedicineStock({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicMedicineStock(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="medicineId" label="药品" initialValue={FormData.medicineId} required>
|
||||
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '药品库存管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicMedicineStock/index.tsx
Normal file
64
output/taro/src/clinic/clinicMedicineStock/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicMedicineStock} from "@/api/clinic/clinicMedicineStock/model";
|
||||
import {listClinicMedicineStock, removeClinicMedicineStock, updateClinicMedicineStock} from "@/api/clinic/clinicMedicineStock";
|
||||
|
||||
const ClinicMedicineStockList = () => {
|
||||
const [list, setList] = useState<ClinicMedicineStock[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicMedicineStock({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicMedicineStock(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicMedicineStock/add'})}>新增药品库存</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicOrder/add.config.ts
Normal file
4
output/taro/src/clinic/clinicOrder/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增处方订单',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicOrder/add.tsx
Normal file
98
output/taro/src/clinic/clinicOrder/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicOrder} from "@/api/clinic/clinicOrder/model";
|
||||
import {getClinicOrder, listClinicOrder, updateClinicOrder, addClinicOrder} from "@/api/clinic/clinicOrder";
|
||||
|
||||
const AddClinicOrder = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicOrder>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicOrder(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicOrder({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicOrder(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="orderId" label="订单号" initialValue={FormData.orderId} required>
|
||||
4
output/taro/src/clinic/clinicOrder/index.config.ts
Normal file
4
output/taro/src/clinic/clinicOrder/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '处方订单管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicOrder/index.tsx
Normal file
64
output/taro/src/clinic/clinicOrder/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicOrder} from "@/api/clinic/clinicOrder/model";
|
||||
import {listClinicOrder, removeClinicOrder, updateClinicOrder} from "@/api/clinic/clinicOrder";
|
||||
|
||||
const ClinicOrderList = () => {
|
||||
const [list, setList] = useState<ClinicOrder[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicOrder({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicOrder(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicOrder/add'})}>新增处方订单</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicPatientUser/add.config.ts
Normal file
4
output/taro/src/clinic/clinicPatientUser/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增患者',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicPatientUser/add.tsx
Normal file
98
output/taro/src/clinic/clinicPatientUser/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPatientUser} from "@/api/clinic/clinicPatientUser/model";
|
||||
import {getClinicPatientUser, listClinicPatientUser, updateClinicPatientUser, addClinicPatientUser} from "@/api/clinic/clinicPatientUser";
|
||||
|
||||
const AddClinicPatientUser = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicPatientUser>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicPatientUser(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicPatientUser({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicPatientUser(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="type" label="类型 0经销商 1企业 2集团" initialValue={FormData.type} required>
|
||||
4
output/taro/src/clinic/clinicPatientUser/index.config.ts
Normal file
4
output/taro/src/clinic/clinicPatientUser/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '患者管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicPatientUser/index.tsx
Normal file
64
output/taro/src/clinic/clinicPatientUser/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPatientUser} from "@/api/clinic/clinicPatientUser/model";
|
||||
import {listClinicPatientUser, removeClinicPatientUser, updateClinicPatientUser} from "@/api/clinic/clinicPatientUser";
|
||||
|
||||
const ClinicPatientUserList = () => {
|
||||
const [list, setList] = useState<ClinicPatientUser[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicPatientUser({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicPatientUser(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicPatientUser/add'})}>新增患者</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
5
output/taro/src/clinic/clinicPrescription/add.config.ts
Normal file
5
output/taro/src/clinic/clinicPrescription/add.config.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增处方主表
|
||||
',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicPrescription/add.tsx
Normal file
98
output/taro/src/clinic/clinicPrescription/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPrescription} from "@/api/clinic/clinicPrescription/model";
|
||||
import {getClinicPrescription, listClinicPrescription, updateClinicPrescription, addClinicPrescription} from "@/api/clinic/clinicPrescription";
|
||||
|
||||
const AddClinicPrescription = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicPrescription>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicPrescription(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicPrescription({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicPrescription(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="患者" initialValue={FormData.userId} required>
|
||||
@@ -0,0 +1,5 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '处方主表
|
||||
管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
65
output/taro/src/clinic/clinicPrescription/index.tsx
Normal file
65
output/taro/src/clinic/clinicPrescription/index.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPrescription} from "@/api/clinic/clinicPrescription/model";
|
||||
import {listClinicPrescription, removeClinicPrescription, updateClinicPrescription} from "@/api/clinic/clinicPrescription";
|
||||
|
||||
const ClinicPrescriptionList = () => {
|
||||
const [list, setList] = useState<ClinicPrescription[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicPrescription({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicPrescription(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicPrescription/add'})}>新增处方主表
|
||||
</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
@@ -0,0 +1,5 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增处方明细表
|
||||
',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicPrescriptionItem/add.tsx
Normal file
98
output/taro/src/clinic/clinicPrescriptionItem/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPrescriptionItem} from "@/api/clinic/clinicPrescriptionItem/model";
|
||||
import {getClinicPrescriptionItem, listClinicPrescriptionItem, updateClinicPrescriptionItem, addClinicPrescriptionItem} from "@/api/clinic/clinicPrescriptionItem";
|
||||
|
||||
const AddClinicPrescriptionItem = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicPrescriptionItem>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicPrescriptionItem(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicPrescriptionItem({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicPrescriptionItem(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="prescriptionId" label="关联处方" initialValue={FormData.prescriptionId} required>
|
||||
@@ -0,0 +1,5 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '处方明细表
|
||||
管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
65
output/taro/src/clinic/clinicPrescriptionItem/index.tsx
Normal file
65
output/taro/src/clinic/clinicPrescriptionItem/index.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicPrescriptionItem} from "@/api/clinic/clinicPrescriptionItem/model";
|
||||
import {listClinicPrescriptionItem, removeClinicPrescriptionItem, updateClinicPrescriptionItem} from "@/api/clinic/clinicPrescriptionItem";
|
||||
|
||||
const ClinicPrescriptionItemList = () => {
|
||||
const [list, setList] = useState<ClinicPrescriptionItem[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicPrescriptionItem({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicPrescriptionItem(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicPrescriptionItem/add'})}>新增处方明细表
|
||||
</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicReport/add.config.ts
Normal file
4
output/taro/src/clinic/clinicReport/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增报告',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicReport/add.tsx
Normal file
98
output/taro/src/clinic/clinicReport/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicReport} from "@/api/clinic/clinicReport/model";
|
||||
import {getClinicReport, listClinicReport, updateClinicReport, addClinicReport} from "@/api/clinic/clinicReport";
|
||||
|
||||
const AddClinicReport = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicReport>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicReport(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicReport({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicReport(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="买家用户ID" initialValue={FormData.userId} required>
|
||||
4
output/taro/src/clinic/clinicReport/index.config.ts
Normal file
4
output/taro/src/clinic/clinicReport/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '报告管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicReport/index.tsx
Normal file
64
output/taro/src/clinic/clinicReport/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicReport} from "@/api/clinic/clinicReport/model";
|
||||
import {listClinicReport, removeClinicReport, updateClinicReport} from "@/api/clinic/clinicReport";
|
||||
|
||||
const ClinicReportList = () => {
|
||||
const [list, setList] = useState<ClinicReport[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicReport({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicReport(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicReport/add'})}>新增报告</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
4
output/taro/src/clinic/clinicVisitRecord/add.config.ts
Normal file
4
output/taro/src/clinic/clinicVisitRecord/add.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '新增病例',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
98
output/taro/src/clinic/clinicVisitRecord/add.tsx
Normal file
98
output/taro/src/clinic/clinicVisitRecord/add.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import {useEffect, useState, useRef} from "react";
|
||||
import {useRouter} from '@tarojs/taro'
|
||||
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
|
||||
import Taro from '@tarojs/taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicVisitRecord} from "@/api/clinic/clinicVisitRecord/model";
|
||||
import {getClinicVisitRecord, listClinicVisitRecord, updateClinicVisitRecord, addClinicVisitRecord} from "@/api/clinic/clinicVisitRecord";
|
||||
|
||||
const AddClinicVisitRecord = () => {
|
||||
const {params} = useRouter();
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [FormData, setFormData] = useState<ClinicVisitRecord>({})
|
||||
const formRef = useRef<any>(null)
|
||||
|
||||
const reload = async () => {
|
||||
if (params.id) {
|
||||
const data = await getClinicVisitRecord(Number(params.id))
|
||||
setFormData(data)
|
||||
} else {
|
||||
setFormData({})
|
||||
}
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitSucceed = async (values: any) => {
|
||||
try {
|
||||
if (params.id) {
|
||||
// 编辑模式
|
||||
await updateClinicVisitRecord({
|
||||
...values,
|
||||
id: Number(params.id)
|
||||
})
|
||||
} else {
|
||||
// 新增模式
|
||||
await addClinicVisitRecord(values)
|
||||
}
|
||||
|
||||
Taro.showToast({
|
||||
title: `操作成功`,
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
return Taro.navigateBack()
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
Taro.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const submitFailed = (error: any) => {
|
||||
console.log(error, 'err...')
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
reload().then(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, []);
|
||||
|
||||
if (loading) {
|
||||
return <Loading className={'px-2'}>加载中</Loading>
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Form
|
||||
ref={formRef}
|
||||
divider
|
||||
initialValues={FormData}
|
||||
labelPosition="left"
|
||||
onFinish={(values) => submitSucceed(values)}
|
||||
onFinishFailed={(errors) => submitFailed(errors)}
|
||||
footer={
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
width: '100%'
|
||||
}}
|
||||
>
|
||||
<Button
|
||||
nativeType="submit"
|
||||
type="success"
|
||||
size="large"
|
||||
className={'w-full'}
|
||||
block
|
||||
>
|
||||
{params.id ? '更新' : '保存'}
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<CellGroup style={{padding: '4px 0'}}>
|
||||
<Form.Item name="userId" label="买家用户ID" initialValue={FormData.userId} required>
|
||||
4
output/taro/src/clinic/clinicVisitRecord/index.config.ts
Normal file
4
output/taro/src/clinic/clinicVisitRecord/index.config.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export default definePageConfig({
|
||||
navigationBarTitleText: '病例管理',
|
||||
navigationBarTextStyle: 'black'
|
||||
})
|
||||
64
output/taro/src/clinic/clinicVisitRecord/index.tsx
Normal file
64
output/taro/src/clinic/clinicVisitRecord/index.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
import {useState} from "react";
|
||||
import Taro, {useDidShow} from '@tarojs/taro'
|
||||
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
|
||||
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
|
||||
import {View} from '@tarojs/components'
|
||||
import {ClinicVisitRecord} from "@/api/clinic/clinicVisitRecord/model";
|
||||
import {listClinicVisitRecord, removeClinicVisitRecord, updateClinicVisitRecord} from "@/api/clinic/clinicVisitRecord";
|
||||
|
||||
const ClinicVisitRecordList = () => {
|
||||
const [list, setList] = useState<ClinicVisitRecord[]>([])
|
||||
|
||||
const reload = () => {
|
||||
listClinicVisitRecord({
|
||||
// 添加查询条件
|
||||
})
|
||||
.then(data => {
|
||||
setList(data || [])
|
||||
})
|
||||
.catch(() => {
|
||||
Taro.showToast({
|
||||
title: '获取数据失败',
|
||||
icon: 'error'
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const onDel = async (id?: number) => {
|
||||
await removeClinicVisitRecord(id)
|
||||
Taro.showToast({
|
||||
title: '删除成功',
|
||||
icon: 'success'
|
||||
});
|
||||
reload();
|
||||
}
|
||||
|
||||
useDidShow(() => {
|
||||
reload()
|
||||
});
|
||||
|
||||
if (list.length == 0) {
|
||||
return (
|
||||
<ConfigProvider>
|
||||
<div className={'h-full flex flex-col justify-center items-center'} style={{
|
||||
height: 'calc(100vh - 300px)',
|
||||
}}>
|
||||
<Empty
|
||||
style={{
|
||||
backgroundColor: 'transparent'
|
||||
}}
|
||||
description="暂无数据"
|
||||
/>
|
||||
<Space>
|
||||
<Button onClick={() => Taro.navigateTo({url: '/clinic/clinicVisitRecord/add'})}>新增病例</Button>
|
||||
</Space>
|
||||
</div>
|
||||
</ConfigProvider>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{list.map((item, _) => (
|
||||
<Cell.Group key={item.
|
||||
Reference in New Issue
Block a user