From e71f63f064498999eef22b7774fcf8838a8e9552 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E4=BD=B3=E5=AE=87?= <17601616548@163.com>
Date: Tue, 24 Sep 2024 02:25:28 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E4=BA=86=E5=9B=A2=E6=A3=80=E5=92=8C=E4=B8=AA=E4=BA=BA?=
=?UTF-8?q?=E8=87=AA=E9=80=89=E7=9A=84=E9=80=BB=E8=BE=91=EF=BC=8C=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E4=BA=86=E5=9B=A2=E6=A3=80=E9=80=89=E6=8B=A9=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E7=9A=84=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
h5/pages.json | 16 ++
h5/pages/main/optionalProject/choose.vue | 238 ++++++++++++++++++
.../main/optionalProject/optionalDetails.vue | 43 +++-
h5/pages/main/optionalProject/selectType.vue | 216 ++++++++++++++++
h5/static/assets/taocan.png | Bin 0 -> 2655 bytes
h5/static/assets/xiangmu.png | Bin 0 -> 902 bytes
h5/store/index.js | 18 +-
7 files changed, 522 insertions(+), 9 deletions(-)
create mode 100644 h5/pages/main/optionalProject/choose.vue
create mode 100644 h5/pages/main/optionalProject/selectType.vue
create mode 100644 h5/static/assets/taocan.png
create mode 100644 h5/static/assets/xiangmu.png
diff --git a/h5/pages.json b/h5/pages.json
index d35747b..c260ceb 100644
--- a/h5/pages.json
+++ b/h5/pages.json
@@ -96,6 +96,22 @@
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
+ },
+ {
+ "path" : "pages/main/optionalProject/choose",
+ "style" :
+ {
+ "navigationBarTitleText" : "团检预约",
+ "enablePullDownRefresh" : false
+ }
+ },
+ {
+ "path" : "pages/main/optionalProject/selectType",
+ "style" :
+ {
+ "navigationBarTitleText" : "团检预约",
+ "enablePullDownRefresh" : false
+ }
}
],
"globalStyle": {
diff --git a/h5/pages/main/optionalProject/choose.vue b/h5/pages/main/optionalProject/choose.vue
new file mode 100644
index 0000000..95e1113
--- /dev/null
+++ b/h5/pages/main/optionalProject/choose.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ i.name }}
+ {{ i.sex === 1 ? "男" : "女" }}性
+
+ {{ i.id_number }}
+
+ {{
+ i.relation
+ }}
+ 本人
+
+
+
+
+
+ 请选择单位
+
+
+
+ {{ i.group_name }}
+
+
+
+
+
diff --git a/h5/pages/main/optionalProject/optionalDetails.vue b/h5/pages/main/optionalProject/optionalDetails.vue
index 797890b..8a55f5d 100644
--- a/h5/pages/main/optionalProject/optionalDetails.vue
+++ b/h5/pages/main/optionalProject/optionalDetails.vue
@@ -18,6 +18,8 @@ let personId = ref(""); // 患者id
let groupId = ref(""); // 团检id
let tabIndex = ref(0); // 标签索引
let totalPrice = ref(0); // 总折扣价格
+let patientInfo = ref({}); // 就诊人信息 (包括套餐)
+let groupInfo = ref({}); // 团检信息
const $props = defineProps({
comboId: {
@@ -36,7 +38,7 @@ const $props = defineProps({
const mountedAction = async () => {
selectIds.value = $props.itemIds?.split(",") || [];
-
+ console.log($store.user);
comboId.value = $props.comboId || "";
personId.value = $props.personId || "";
groupId.value = $props.groupId || "";
@@ -57,10 +59,14 @@ const getBuyInfo = async () => {
};
const response = await $api("BuyInfo", obj);
$response(response, () => {
+ uni.hideLoading();
+ if (groupId.value) {
+ groupInfo.value = response.data.group_info[0];
+ return;
+ }
comboInfo.value = response.data.combo_info;
itemsInfo.value = response.data.items_info;
totalPrice.value = response.data.true_price;
- uni.hideLoading();
});
};
@@ -127,7 +133,7 @@ onShow(() => {
"
/>
-
+
{
{{ comboInfo.hospital_name }}
+
+
+
+
+ 您好,
+ {{groupInfo.name}}
+
+
+
+
+ 单位名称:
+ {{ groupInfo.group_name }}
+
+
+ 部门名称:
+ {{ groupInfo.group_name }}
+
+
+ 套餐名称:
+ {{ groupInfo.combo_name }}
+
+
+
-
+
{
class="mt-20rpx bg-#fff py-40rpx px-14rpx box-border flex-col flex"
>
-
+
套餐项目({{ comboInfo.items?.length }}项)
+/**
+ * name:
+ * user:sa0ChunLuyu
+ * date:2024年9月11日 19:24:50
+ */
+import { ref } from "vue";
+import { $api, $response } from "@/api";
+import { onShow } from "@dcloudio/uni-app";
+import { useStore } from "@/store";
+const $store = useStore();
+
+let groupInfo = ref({});
+
+const mountedAction = () => {
+ groupInfo.value = $store.getGroupInfo();
+ console.log(groupInfo.value);
+};
+
+const config_ref = ref(null);
+const configRef = (e) => {
+ if (!config_ref.value) {
+ config_ref.value = e;
+ mountedAction();
+ }
+};
+
+onShow(() => {
+ if (!!config_ref.value) {
+ mountedAction();
+ }
+});
+
+const toDetails = (type) => {
+ let url = "";
+ if(type == 1){
+ url = "/pages/main/optionalProject/optionalProject?projectId=" + groupInfo.project_id;
+ }else{
+ url = "/pages/main/optionalProject/optionalDetails";
+ }
+ uni.navigateTo({
+ url: url,
+ });
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 您好,
+ {{ groupInfo.name }}
+
+
+
+
+ 单位名称:
+ {{ groupInfo.group_name }}
+
+
+ 部门名称:
+ {{ groupInfo.group_name }}
+
+
+ 套餐名称:
+ {{ groupInfo.combo_name }}
+
+
+ 体检额度:
+ {{ groupInfo.tongshou_xiane }}
+
+
+
+
+
+
+
+ 本次团队体检您有
+ {{ groupInfo.tongshou_xiane }}元
+ 体检额度
+
+ 我们提供如下两种方式供您自由选择
+
+
+
+
+
+
+ 按套餐选择
+
+
+
+
+
+
+ 按项目选择
+
+
+
+
+
+
+
+
diff --git a/h5/static/assets/taocan.png b/h5/static/assets/taocan.png
new file mode 100644
index 0000000000000000000000000000000000000000..24b126b1d0047f56ca72f048f2ab5a8b05fd75a1
GIT binary patch
literal 2655
zcmV-l3ZV6gP)Px<8A(JzR9HvNSZ$D&RT;jn^E~g@3JVMD!hXQA3yE4;W@c8VjbUa*<_8WRE^QDv
z;|x=djZ;nI`^SFvfoZ+Lez?n`y*8POXfqW^S)-<@jb#Pw!hXQAu)?xm@AE#-x$?XV
z2<#G|S)ISnbIyI8``q_+-SGf7yF*Mn#P#W+Gley{<*iVZs?sJ&v$e{
zI&Eqy&o7k;KTBY>A_6y?^=gBj*D2tO3?$vQun4xX{R63*jaZ^9dH6jXwm90_Xtrm<68-ZSa?_
zRjc~XX73pRR%9|o3BTw)q?QuA(LJSr$vhftXJh2}Kf<64`ee0PMBC6v^0mG@77zZr
zGfoe1-MU0g(ezoQy$Mh~$+-X~ofDwb{48J?KsRMu15caO-`~@9=ba-H{XQOGI&G@U
z=gl;}t|ze+;3WX2zAcZP`8ERpU$fAr+(`bhp1wVMkxqvvZhH%0I_+1N&nrb-mv|Pp
zf&3JtQj&$te7DwE#;YGNzn9dSv!l;-Tic5@Yg~ejkrvjiOVm!9vJf=4Q*a)e0U-Wv
zftonu5sEkf;4e0^4S^kfqG!#TVZxDZ)!a{z-u)ym0ObEyft_MZKm=*04DM>*z3VAD
z!u6Bk-Jn@ZA@#omcS5#@qFRP>_$H@q+*mwi)UKs5cM+QM{{XO%<s24hUGDi<1?g4JYi#|EfGZ?C1M7Xc{i{oR3qWqU#jF1G
zqB0Y+*AQk2q)P~vf_O(XG)5yh0OD1Vj|3r}>h9jL@0fyAWHK|7vD6P;K|-1x&VxN5
zW)a#JD8IaO<;tFuJe5wzXV0EJ!(;L?qi7Y$D+EkCSLt(#0q8Kq7a=v~WVWY9`uldQ
zU7I`6-n<{TlqtcV09XVm$J)l$?EpRop`ECM)dY#+YQ`5QMDE6@@_^#B(@N&)N?&|--v$#7Rkef^R$wNc%-@i)1%N%0D+zf$Bt}XeeJDi}{~1(pN;*5XuYODWENv
z_nHel=)7X4PA&K0e-YveQ1b~`fPGfl46BCW1b2?>(j->i-!d(hFz+`W>Hu8n`VwpP
zf~9$IG_WuB_U=01`0T_BR%NrP*pVZ1NWUI1H@M3=IwR0-Wgk{(9~nt`oz7mNSODJ4
z%yc?%8_i%)z%CcD5ON(Godi7(s@V=lzwPMTy?-2l(-S3UH8##j!uyyJSAqOEq$!RE
zA#S(UwuVgou4~oeekZ+EKWV9m`QE4GtBbV_4>kg3A)w8Hf^Q#>m2}#aRaTa!n7GC_
zTn*v9Af`y@2edWx?1nHGf2F6yf8(@$Z#r$Ns;Z_YY~ljzW3_?1tV%%+NZKJ_eTe*1
zot>TTvV}^zkP|uGEn)?Lzd9b=MWV(^f0T)C?5MAI+4I)QWMZ|+WVs^mlZ0JD;BtYJ
z-LnYTs>nVX*wJSTDsaM@+tf6bmLD-NH-o%JQYGm0mM_5Chx3u1>C6pu;S?U6)!0~C
z1izW!XC(})n={}7pF_4<|?&*OI}e8F{ZVj;$U9Z4IM^IzVx
z|DT5^N``6c))h}GDt^CbOdWwm6sC&|C;#>=cyKR*#4>G>*Kl9)tx1oOz~82
z(gI`bR{>rRsZ7KX$Zj*9zT1NpvgXGeKw{@9J%Lt>j5O=>93hXvB*_@AD)a7tV&O35CA`
z_7@`|e!h2gUFY$(b8b^pGLTAB@~;uN%Eg#iD6#rr^<-qYad;&0>V%VkY&Kr;Mp*3m
zBZW>dKg4`;GLLlB*SnF&Nz2Jv%u6ot$z>``Dm2sGXe>r;vy6Qr2!j2`LScO4p3TOq
z26A&^hARl&TDX}6l3fs5^31oz2WNHfSbP0RRmkZn@aUIxI$l%to^mj{*#KV=Fqfn!
zjgfR-L4yVccAh$6IPK_TMnl8o$?`9x$9jrifG`upuq0QHpiaPLB&I_c0J$}c
zY%?tXynF9XCu=8-ES#*B9X>oGW#ShZniXz_NMO2veu6K*ndJ}J$UNQN{g3gIcmk+1
z0xbM{bSz@x`mm9?P0%L^lt^$x$(LZ%I2!odd)6#D2vAiUHcX2naRm%k0=Vqx2<3>N
z=dDF+7)$=Hs~vqvPr$dQcPx&KuJVFR9Hvtn9plmRTRfR-#6)WOq`}Ah#)965f`o$H}2fHD7dd8)P)fS@hAQO
zbyfcccb3j#V%&)cZWKXqQ~bTq)hN~<5DS*Z$(YRV`_=n0EkY)JnRzo9v4^*N=bZO>
z=iYPfIajyVY76r{JuLYQaF^f+D3B#ahy+u2;x~U>D1FH3(}OItao_9C^J|YM_*KL*
zs0e6GCtbtmHcwt$JyQofru}u*wNkBpXLOIo2fOCjqD64E-EW=Us8lXb6>zz__NQPW
zr&HTp3esyo^|s%kQt9RNcgEwM4doakWAoLfe>v!W55Sf1-uFqL6!23n{Uy`Qd|wZW%TJx
z04IprJ|_PCPy-q+9cn<##tpz+`|dr^0&+H@;;Ey=cv;p1h+`vrfjofe(T2YspyzwNo%-BhFo4DM$&|*fMkt1*BLzPv
z>xq&5KpsHsj?vqj{hgOKE0y6VGtu@atejiF--W?@LbvaEnFlcLIpdGr8@$k^`^$W%
zlQygUayfH}=bFv5XKXDl-dybK(L{O!Seh!}usPTQKEhnE*h&Zmr$_1a#Ts_(_T55{
zfNztux3S0*!G9ohjdz672*$%c3s5MHprIs~-?xjO5?~h3Zk
zwy0gUOHCD}<0XnuiSP`lJnbxQ2fNm!_wwb{)n+!2r>h4%$_Ocl^}0Da;R
zUQ}rR-0Yti#Hbtu^lAieg7Tb-j|pBMITz(kl2~4Vudu&BYNX@DLB^!G2Lpw;2SE=Z
zZW%dX ({
user: false,
config: false,
+ patientInfo: {}, // 病人信息
+ groupInfo: {}, // 团检信息
save: {
- hospital: 0,
+ hospital: 1,
doctor: 1,
},
api_map: {},
@@ -15,6 +17,20 @@ export const useStore = defineStore('counter', {
loading: 0,
}),
actions: {
+ setPatientInfo(info){
+ this.patientInfo = info;
+ uni.setStorageSync('PATIENT_INFO', JSON.stringify(info));
+ },
+ getPatientInfo(){
+ return JSON.parse(uni.getStorageSync('PATIENT_INFO')) || this.patientInfo;
+ },
+ setGroupInfo(info){
+ this.groupInfo = info;
+ uni.setStorageSync('GROUP_INFO', JSON.stringify(info));
+ },
+ getGroupInfo(){
+ return JSON.parse(uni.getStorageSync('GROUP_INFO')) || this.groupInfo;
+ },
resetSaveInfo() {
this.save = {
hospital: 0,