diff --git a/src/components/layout/AdminLayout.vue b/src/components/layout/AdminLayout.vue index b6cc4f8..26dfb5f 100644 --- a/src/components/layout/AdminLayout.vue +++ b/src/components/layout/AdminLayout.vue @@ -4,8 +4,8 @@
- 康策CSM系统管理平台v1.0 - {{ userStore.userInfo?.hospitalName || "医院端" }} + 康策CSM系统管理平台v1.0 + {{ userStore.userInfo?.hospitalName || "医院端" }}
@@ -322,6 +322,11 @@ const handleCommand = async (cmd) => { background: linear-gradient(to right, #3fc5fd, #3b90fa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; + font-size: 22px; + + .version { + font-size: 14px; + } } } diff --git a/src/router/route.js b/src/router/route.js index 13c818e..c51820f 100644 --- a/src/router/route.js +++ b/src/router/route.js @@ -79,25 +79,13 @@ export const constantRoutes = [ component: () => import("@/views/admin/hospitals/list.vue"), meta: { title: "医院信息", icon: "admin-router-yiyuan-xx" }, }, - // 客户服务(必须在 hospitals/detail/:id 之前声明) + // 客户服务 { path: "hospitals/service", name: "AdminHospitalService", component: () => import("@/views/admin/hospitals/service.vue"), meta: { title: "客户服务", icon: "admin-router-kehu-fw" }, }, - { - path: "hospitals/detail/:id", - name: "AdminHospitalDetail", - component: () => import("@/views/admin/hospitals/detail.vue"), - meta: { title: "医院详情", hidden: true }, - }, - { - path: "hospitals/edit/:id?", - name: "AdminHospitalEdit", - component: () => import("@/views/admin/hospitals/edit.vue"), - meta: { title: "编辑医院", hidden: true }, - }, // 客户经理积分 { path: "performance/score", diff --git a/src/utils/dateShortcuts.js b/src/utils/dateShortcuts.js new file mode 100644 index 0000000..599ca12 --- /dev/null +++ b/src/utils/dateShortcuts.js @@ -0,0 +1,73 @@ +import dayjs from "dayjs"; +import isoWeek from "dayjs/plugin/isoWeek"; +import "dayjs/locale/zh-cn"; + +dayjs.extend(isoWeek); +dayjs.locale("zh-cn"); + +const fmt = "YYYY-MM-DD"; + +/** + * 日期范围快捷选项(用于 el-date-picker type="daterange" :shortcuts) + * 周定义:周一为一周开始(基于 ISO week) + */ +export const dateRangeShortcuts = [ + { + text: "今天", + value: () => { + const d = dayjs().format(fmt); + return [d, d]; + }, + }, + { + text: "昨天", + value: () => { + const d = dayjs().subtract(1, "day").format(fmt); + return [d, d]; + }, + }, + { + text: "本周", + value: () => [ + dayjs().startOf("isoWeek").format(fmt), + dayjs().endOf("isoWeek").format(fmt), + ], + }, + { + text: "上周", + value: () => [ + dayjs().subtract(1, "isoWeek").startOf("isoWeek").format(fmt), + dayjs().subtract(1, "isoWeek").endOf("isoWeek").format(fmt), + ], + }, + { + text: "本月", + value: () => [ + dayjs().startOf("month").format(fmt), + dayjs().endOf("month").format(fmt), + ], + }, + { + text: "上月", + value: () => [ + dayjs().subtract(1, "month").startOf("month").format(fmt), + dayjs().subtract(1, "month").endOf("month").format(fmt), + ], + }, + { + text: "最近六个月", + value: () => [ + dayjs().subtract(6, "month").format(fmt), + dayjs().format(fmt), + ], + }, + { + text: "今年至今", + value: () => [ + dayjs().startOf("year").format(fmt), + dayjs().format(fmt), + ], + }, +]; + +export default dateRangeShortcuts; \ No newline at end of file diff --git a/src/views/admin/hospitals/components/HospitalDetailDialog.vue b/src/views/admin/hospitals/components/HospitalDetailDialog.vue new file mode 100644 index 0000000..4fc665c --- /dev/null +++ b/src/views/admin/hospitals/components/HospitalDetailDialog.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/src/views/admin/hospitals/components/HospitalEditDialog.vue b/src/views/admin/hospitals/components/HospitalEditDialog.vue new file mode 100644 index 0000000..78bcbe4 --- /dev/null +++ b/src/views/admin/hospitals/components/HospitalEditDialog.vue @@ -0,0 +1,351 @@ + + + + + + + + diff --git a/src/views/admin/hospitals/detail.vue b/src/views/admin/hospitals/detail.vue deleted file mode 100644 index c09c775..0000000 --- a/src/views/admin/hospitals/detail.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - diff --git a/src/views/admin/hospitals/edit.vue b/src/views/admin/hospitals/edit.vue deleted file mode 100644 index 0dc81f9..0000000 --- a/src/views/admin/hospitals/edit.vue +++ /dev/null @@ -1,313 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/views/admin/hospitals/list.vue b/src/views/admin/hospitals/list.vue index a98d294..972a2f9 100644 --- a/src/views/admin/hospitals/list.vue +++ b/src/views/admin/hospitals/list.vue @@ -94,20 +94,32 @@ @close="cleanupPreview" @download="onPreviewDownload" /> + + + +
@@ -360,13 +378,27 @@ onMounted(() => { border: 1px solid #e0e0e0; padding: 24px; + & .title-link { + color: var(--el-color-primary); + cursor: pointer; + user-select: text; + -webkit-user-select: text; + + &:hover { + color: var(--el-color-primary-light-3); + } + } + :deep(.el-button.is-plain) { background-color: transparent; - // el-button 的 hover 样式是通过 :hover 读取 hover-* 变量实现的 - // 这里把 plain 按钮 hover 时的变量重置为默认(未 hover)状态的值,hover 不再有视觉变化 + // el-button 的 hover / active 样式是通过对应变量实现的 + // 这里把 plain 按钮 hover 与 active 时的变量都重置为默认状态的值,避免 hover/active 产生视觉变化 --el-button-hover-bg-color: var(--el-button-bg-color); --el-button-hover-text-color: var(--el-button-text-color); --el-button-hover-border-color: var(--el-button-border-color); + --el-button-active-bg-color: var(--el-button-bg-color); + --el-button-active-text-color: var(--el-button-text-color); + --el-button-active-border-color: var(--el-button-border-color); } :deep(.handle.el-button--success.is-plain) { @@ -384,8 +416,9 @@ onMounted(() => { margin-bottom: 12px; display: flex; flex-wrap: wrap; - gap: 24px; + gap: 12px; align-items: center; + width: 1800px; :deep(.el-form-item), :deep(.el-button) { diff --git a/src/views/admin/orders/report.vue b/src/views/admin/orders/report.vue index 29ce627..4049f84 100644 --- a/src/views/admin/orders/report.vue +++ b/src/views/admin/orders/report.vue @@ -20,6 +20,7 @@ :start-placeholder="$t('common.startDate')" :end-placeholder="$t('common.endDate')" value-format="YYYY-MM-DD" + :shortcuts="dateRangeShortcuts" style="width:240px" /> @@ -69,6 +70,7 @@