diff --git a/src/assets/nxwjlogo2.jpg b/src/assets/nxwjlogo2.jpg new file mode 100644 index 0000000..a4e5577 Binary files /dev/null and b/src/assets/nxwjlogo2.jpg differ diff --git a/src/router/index.js b/src/router/index.js index d6d8a97..fa787be 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -88,6 +88,7 @@ import ybsuccess from "../views/ybsuccess.vue"; import Zhdz_ai from "../views/Zhdz_ai.vue"; import tui from "../views/tui.vue"; import ybAUTH from "../views/ybAUTH.vue"; +import Zstj_home from "../views/Zstj_home.vue"; Vue.use(VueRouter); const router = new VueRouter({ @@ -176,6 +177,14 @@ const router = new VueRouter({ title: "指南详情", }, }, + { + path: "/Zstj_home", + name: "Zstj_home", + component: Zstj_home, + meta: { + title: "体检首页", + }, + }, { path: "/Zstj", name: "Zstj", @@ -290,6 +299,7 @@ const router = new VueRouter({ }, }, + { path: "/Zstj_yy", name: "Zstj_yy", diff --git a/src/views/Home.vue b/src/views/Home.vue index ca03240..796b007 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -86,7 +86,7 @@ - +
@@ -104,9 +104,9 @@

就诊须知

- + -

体检预约

+

排队叫号信息

diff --git a/src/views/Zstj_home.vue b/src/views/Zstj_home.vue new file mode 100644 index 0000000..d0fe03e --- /dev/null +++ b/src/views/Zstj_home.vue @@ -0,0 +1,778 @@ + + + + + \ No newline at end of file diff --git a/src/views/Zstj_tc.vue b/src/views/Zstj_tc.vue index a8cdfd1..f9d9419 100644 --- a/src/views/Zstj_tc.vue +++ b/src/views/Zstj_tc.vue @@ -293,6 +293,7 @@ export default { }, created() { this.initDateList(); + this.handlePreSelectedItems(); // 处理从其他页面传入的预选择项目 }, activated() { const apiDate = this.formatDateForAPI(this.same_day); @@ -697,6 +698,38 @@ export default { formatDateForAPI(dateStr) { const [year, month, day] = dateStr.split('-').map(Number); return `${year}/${String(month).padStart(2, '0')}/${String(day).padStart(2, '0')}`; + }, + + // 处理从其他页面传入的预选择项目 + handlePreSelectedItems() { + // 从路由参数中获取预选择项目 + const preSelectedStr = this.$route.query.preSelectedItems; + if (preSelectedStr) { + try { + const preSelectedItems = JSON.parse(preSelectedStr); + if (Array.isArray(preSelectedItems)) { + // 清空现有选择状态 + this.selectedItems = []; + this.selectedItemsDetails = []; + + // 添加预选择项目 + preSelectedItems.forEach(item => { + if (item.id) { + this.selectedItems.push(item.id); + this.selectedItemsDetails.push(item); + } + }); + + // 同步弹窗选择状态 + this.checkedItems = [...this.selectedItems]; + + // 提示用户已预选择项目 + Toast.success(`已为您预选择 ${preSelectedItems.length} 个项目`); + } + } catch (error) { + console.error('解析预选择项目失败:', error); + } + } } } }; diff --git a/src/views/tui.vue b/src/views/tui.vue index c91388a..47f9332 100644 --- a/src/views/tui.vue +++ b/src/views/tui.vue @@ -2,12 +2,19 @@
- + @@ -69,6 +79,7 @@ 就诊人 挂号时间 + 订单号 科室 就诊医生 退款金额 @@ -84,6 +95,7 @@ > {{ item.patientName }} {{ item.registerTime }} + {{ item.orderno }} {{ item.department }} {{ item.doctor }} {{ item.refundAmount }} @@ -328,11 +340,12 @@ selectOrderList, WxRefundOrder, apiGetBAList2 } from "@/request/api.js"; -import {Dialog, Toast, Popup, Field, Button} from "vant"; +import {Dialog, Toast, Popup, Field, Button, Checkbox} from "vant"; export default { components: { [Button.name]: Button, - [Field.name]: Field + [Field.name]: Field, + [Checkbox.name]: Checkbox }, data() { return { @@ -359,40 +372,72 @@ export default { show: false, // 用于控制加载状态 loadingInstance: null, // 加载提示实例 - // 密码验证相关 + // 登录相关 showPasswordModal: false, + username: '', password: '', + rememberPassword: false, passwordVerified: false, passwordError: false, } }, mounted() { - // 页面加载时检查缓存中是否有已验证的密码状态 + // 页面加载时检查缓存中是否有已验证的登录状态 const verified = localStorage.getItem('tui_password_verified'); this.passwordVerified = verified === 'true'; - // 如果未验证,则显示密码弹窗 + // 从本地存储读取账号密码(如果有) + const savedUsername = localStorage.getItem('tui_username'); + const savedPassword = localStorage.getItem('tui_password'); + const savedRememberPassword = localStorage.getItem('tui_remember_password') === 'true'; + + if (savedUsername && savedPassword) { + this.username = savedUsername; + this.password = savedPassword; + this.rememberPassword = savedRememberPassword; + } + + // 如果未验证,则显示登录弹窗 if (!this.passwordVerified) { this.showPasswordModal = true; } }, + beforeDestroy() { + // 清除登录相关的缓存,确保再次登录需要重新输入密码 + localStorage.removeItem('tui_password_verified'); + localStorage.removeItem('tui_username'); + localStorage.removeItem('tui_password'); + localStorage.removeItem('tui_remember_password'); + }, methods: { - // 密码验证 + // 登录验证 validatePassword() { - if (!this.password) { + if (!this.username || !this.password) { this.passwordError = true; return; } - //密码设置位置sfs - if (this.password === 'sfs') { + // 账号密码验证:账号是 wjyy,密码是 sfs + if (this.username === 'wjyy' && this.password === 'sfs') { this.passwordError = false; this.passwordVerified = true; this.showPasswordModal = false; - // 将验证状态存储到localStorage缓存中 + // 保存登录状态到localStorage缓存中 localStorage.setItem('tui_password_verified', 'true'); + + // 如果勾选了记住密码,则保存账号密码 + if (this.rememberPassword) { + localStorage.setItem('tui_username', this.username); + localStorage.setItem('tui_password', this.password); + localStorage.setItem('tui_remember_password', 'true'); + } else { + // 否则清除保存的账号密码 + localStorage.removeItem('tui_username'); + localStorage.removeItem('tui_password'); + localStorage.removeItem('tui_remember_password'); + } } else { this.passwordError = true; } @@ -988,6 +1033,12 @@ export default { \ No newline at end of file