From e7267a67b5e73246e238fd83e7024fcd274a8d8a Mon Sep 17 00:00:00 2001
From: lq
Date: Mon, 21 Apr 2025 16:00:25 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E6=96=B9=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../prescriptions/prescription/api/index.ts | 10 +
.../prescription/config/search.ts | 67 ++++
.../prescription/config/table.ts | 82 +++++
.../prescriptions/prescription/index.vue | 174 ++++++++++
.../components/PrescrtionDetail.vue | 11 +-
.../src/views/notice/compoents/detail-o.vue | 311 ------------------
.../src/views/notice/compoents/send.vue | 4 -
.../{send-o.vue => sendWeeklyReport.vue} | 163 +++++++--
8 files changed, 470 insertions(+), 352 deletions(-)
create mode 100644 apps/web-antd/src/views/business/prescriptions/prescription/api/index.ts
create mode 100644 apps/web-antd/src/views/business/prescriptions/prescription/config/search.ts
create mode 100644 apps/web-antd/src/views/business/prescriptions/prescription/config/table.ts
create mode 100644 apps/web-antd/src/views/business/prescriptions/prescription/index.vue
delete mode 100644 apps/web-antd/src/views/notice/compoents/detail-o.vue
rename apps/web-antd/src/views/notice/compoents/{send-o.vue => sendWeeklyReport.vue} (64%)
diff --git a/apps/web-antd/src/views/business/prescriptions/prescription/api/index.ts b/apps/web-antd/src/views/business/prescriptions/prescription/api/index.ts
new file mode 100644
index 00000000..a6c2cfd8
--- /dev/null
+++ b/apps/web-antd/src/views/business/prescriptions/prescription/api/index.ts
@@ -0,0 +1,10 @@
+import { requestClient } from '#/api/request';
+
+const prefix = 'prescription/';
+/**
+ * 分页查询用户列表
+ * @param data
+ */
+export async function getPrescriptionListApi(data: any) {
+ return requestClient.get(`${prefix}list`, { params: data });
+}
diff --git a/apps/web-antd/src/views/business/prescriptions/prescription/config/search.ts b/apps/web-antd/src/views/business/prescriptions/prescription/config/search.ts
new file mode 100644
index 00000000..e0d9d2bb
--- /dev/null
+++ b/apps/web-antd/src/views/business/prescriptions/prescription/config/search.ts
@@ -0,0 +1,67 @@
+import type { VbenFormProps } from '#/adapter/form';
+
+import dayjs from 'dayjs';
+
+export const formOptions: VbenFormProps = {
+ // 默认展开
+ collapsed: false,
+ schema: [
+ {
+ component: 'VbenInput',
+ componentProps: {
+ placeholder: '输入订单号',
+ },
+ defaultValue: '',
+ fieldName: 'prescription_no',
+ label: '订单号',
+ },
+ {
+ component: 'VbenSelect',
+ componentProps: {
+ allowClear: true,
+ filterOption: true,
+ showSearch: true,
+ options: [
+ {
+ label: '中药',
+ value: 1,
+ },
+ {
+ label: '西药',
+ value: 2,
+ },
+ {
+ label: '中成药',
+ value: 3,
+ },
+ {
+ label: '产品服务包',
+ value: 5,
+ },
+ ],
+ placeholder: '请选择',
+ },
+ fieldName: 'prescription_type',
+ label: '订单类型',
+ },
+ {
+ component: 'RangePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD', // 确保格式与你需要的一致
+ },
+ defaultValue: [dayjs().startOf('month'), dayjs()],
+ fieldName: 'search_time',
+ label: '时间范围',
+ },
+ ],
+ // 控制表单是否显示折叠按钮
+ showCollapseButton: true,
+ submitButtonOptions: {
+ content: '查询',
+ },
+ // 是否在字段值改变时提交表单
+ // submitOnChange: true,
+ // submitOnChange: true,
+ // 按下回车时是否提交表单
+ submitOnEnter: false,
+};
diff --git a/apps/web-antd/src/views/business/prescriptions/prescription/config/table.ts b/apps/web-antd/src/views/business/prescriptions/prescription/config/table.ts
new file mode 100644
index 00000000..8ab3f23f
--- /dev/null
+++ b/apps/web-antd/src/views/business/prescriptions/prescription/config/table.ts
@@ -0,0 +1,82 @@
+import type { VxeGridProps } from '#/adapter/vxe-table';
+
+import { getPrescriptionListApi } from '#/views/business/prescriptions/prescription/api';
+
+interface RowType {
+ id: string;
+ name: string;
+ logo: string;
+ introduce: string;
+ created_at: string;
+}
+
+export const gridOptions: VxeGridProps = {
+ checkboxConfig: {
+ highlight: true,
+ labelField: '',
+ },
+ columns: [
+ // { type: 'checkbox', width: 60 },
+ { field: 'id', align: 'left', title: 'ID' },
+ { field: 'prescription_no', align: 'left', title: '处方订单号' },
+ { field: 'doctor_info.name', align: 'left', title: '开方医生' },
+ { field: 'user_patient.name', align: 'left', title: '就诊人名称' },
+ { field: 'store.name', align: 'left', title: '开方诊所' },
+ { field: 'status', title: '状态', slots: { default: 'status' } },
+ // { field: 'created_at', title: '下单时间' },
+ {
+ type: 'html',
+ title: '操作',
+ align: 'right',
+ slots: { default: 'action' },
+ width: 200,
+ },
+ ],
+ keepSource: true,
+ pagerConfig: {},
+ columnConfig: {
+ useKey: true,
+ },
+ rowConfig: {
+ useKey: true,
+ },
+ // scrollY: {
+ // enabled: true,
+ // gt: 0,
+ // },
+ proxyConfig: {
+ ajax: {
+ // 请求后端接口方法
+ query: async ({ page }, formValues) => {
+ return await getPrescriptionListApi({
+ page: page.currentPage,
+ pageSize: page.pageSize,
+ ...formValues,
+ });
+ },
+ },
+ },
+ height: 'auto',
+ border: false,
+ toolbarConfig: {
+ // 是否显示搜索表单控制按钮
+ // @ts-ignore 正式环境时有完整的类型声明
+ search: true,
+ refresh: true, // 刷新
+ print: false, // 打印
+ export: false, // 导出
+ // custom: true, // 自定义列
+ zoom: true, // 最大化最小化
+ slots: {
+ buttons: 'toolbar-buttons',
+ },
+ custom: {
+ // 自定义列-图标
+ icon: 'vxe-icon-menu',
+ },
+ },
+ expandConfig: {
+ // expandAll: true,
+ },
+ showOverflow: false,
+};
diff --git a/apps/web-antd/src/views/business/prescriptions/prescription/index.vue b/apps/web-antd/src/views/business/prescriptions/prescription/index.vue
new file mode 100644
index 00000000..663fb09c
--- /dev/null
+++ b/apps/web-antd/src/views/business/prescriptions/prescription/index.vue
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 中药
+
+ 商品【西药】
+
+
+ 商品【非处方药】
+
+
+ 已退款
+
+
+ 产品服务包
+
+
+
+ 待审核
+ 通过审核
+ 拒绝审核
+ 无需审核
+ 无需审核
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/doctor/doctor-reception/components/PrescrtionDetail.vue b/apps/web-antd/src/views/doctor/doctor-reception/components/PrescrtionDetail.vue
index 0581f10d..719ee41e 100644
--- a/apps/web-antd/src/views/doctor/doctor-reception/components/PrescrtionDetail.vue
+++ b/apps/web-antd/src/views/doctor/doctor-reception/components/PrescrtionDetail.vue
@@ -167,9 +167,8 @@ const decrypt = (str: string) => str; // 简单base64解码示例
-
+
-
{{
JSON.parse(recipe.content).name ||
JSON.parse(recipe.content).drug_name
@@ -182,15 +181,7 @@ const decrypt = (str: string) => str; // 简单base64解码示例
>
{{ JSON.parse(recipe.content).useWay }}
-
-
-
-
-
-
-
-
使用方法: {{ recipe.instruction }}
diff --git a/apps/web-antd/src/views/notice/compoents/detail-o.vue b/apps/web-antd/src/views/notice/compoents/detail-o.vue
deleted file mode 100644
index fda129be..00000000
--- a/apps/web-antd/src/views/notice/compoents/detail-o.vue
+++ /dev/null
@@ -1,311 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ error }}
-
-
-
-
-
-
-
-
-
- {{ notice.title }}
-
-
-
-
- {{ getTypeInfo(notice.type).name }}
-
-
-
-
-
-
-
- 来自:
-
- 萧康云医
-
-
-
- 收件人:
-
- {{ notice.admin?.nick_name || '系统' }}
-
-
-
-
-
-
-
- {{ notice.created_at }}({{
- formatTimeToRelative(notice.created_at)
- }})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 通知不存在
-
-
- 该通知可能已被删除或您没有权限查看
-
-
-
-
-
-
-
-
diff --git a/apps/web-antd/src/views/notice/compoents/send.vue b/apps/web-antd/src/views/notice/compoents/send.vue
index 33f95078..d7a44af4 100644
--- a/apps/web-antd/src/views/notice/compoents/send.vue
+++ b/apps/web-antd/src/views/notice/compoents/send.vue
@@ -40,10 +40,6 @@ const typeOption = ref([
label: '公告',
value: 0,
},
- {
- label: '周报',
- value: 2,
- },
]);
// 用户选项数据
diff --git a/apps/web-antd/src/views/notice/compoents/send-o.vue b/apps/web-antd/src/views/notice/compoents/sendWeeklyReport.vue
similarity index 64%
rename from apps/web-antd/src/views/notice/compoents/send-o.vue
rename to apps/web-antd/src/views/notice/compoents/sendWeeklyReport.vue
index 24dec7c2..66110790 100644
--- a/apps/web-antd/src/views/notice/compoents/send-o.vue
+++ b/apps/web-antd/src/views/notice/compoents/sendWeeklyReport.vue
@@ -1,5 +1,5 @@