diff --git a/h5/components/analysis/chart1.vue b/h5/components/analysis/chart1.vue new file mode 100755 index 0000000..69b01b9 --- /dev/null +++ b/h5/components/analysis/chart1.vue @@ -0,0 +1,127 @@ + + + diff --git a/h5/components/analysis/chart2.vue b/h5/components/analysis/chart2.vue new file mode 100755 index 0000000..345857f --- /dev/null +++ b/h5/components/analysis/chart2.vue @@ -0,0 +1,146 @@ + + + diff --git a/h5/package.json b/h5/package.json index 6cd68c6..498dd07 100644 --- a/h5/package.json +++ b/h5/package.json @@ -1,5 +1,6 @@ { "dependencies": { + "echarts": "^5.5.1", "weixin-js-sdk": "^1.6.5" }, "devDependencies": { diff --git a/h5/pages.json b/h5/pages.json index c21ca3d..3fd5bc5 100644 --- a/h5/pages.json +++ b/h5/pages.json @@ -194,6 +194,12 @@ "style": { "navigationBarTitleText": "数据对比" } + }, + { + "path": "pages/main/coupon/coupon", + "style": { + "navigationBarTitleText": "优惠券" + } } ], "globalStyle": { diff --git a/h5/pages/main/bgcx/qsfx/qsfxxq.vue b/h5/pages/main/bgcx/qsfx/qsfxxq.vue index 7b1784a..85c3a31 100755 --- a/h5/pages/main/bgcx/qsfx/qsfxxq.vue +++ b/h5/pages/main/bgcx/qsfx/qsfxxq.vue @@ -1,59 +1,376 @@ - + \ No newline at end of file diff --git a/h5/pages/main/combo/combo.vue b/h5/pages/main/combo/combo.vue index 558d832..9e58e06 100644 --- a/h5/pages/main/combo/combo.vue +++ b/h5/pages/main/combo/combo.vue @@ -64,7 +64,7 @@ const selectItemClick = async (index, key) => { } priceIndex.value = index; } else { - if (projectIds.value.includes(index)) { + if (projectIds.value?.includes(index)) { projectIds.value.splice(projectIds.value.indexOf(index), 1); } else { projectIds.value.push(index); diff --git a/h5/pages/main/coupon/coupon.vue b/h5/pages/main/coupon/coupon.vue new file mode 100644 index 0000000..f76fe88 --- /dev/null +++ b/h5/pages/main/coupon/coupon.vue @@ -0,0 +1,78 @@ + + + diff --git a/h5/pages/main/tjyy/tjyy.vue b/h5/pages/main/tjyy/tjyy.vue index 96808ab..6f315b0 100755 --- a/h5/pages/main/tjyy/tjyy.vue +++ b/h5/pages/main/tjyy/tjyy.vue @@ -7,7 +7,7 @@ import { ref } from "vue"; import { $api, $response, $image } from "@/api"; import { onShow } from "@dcloudio/uni-app"; -import wx from 'weixin-js-sdk' +import wx from "weixin-js-sdk"; import { useStore } from "@/store"; const $store = useStore(); @@ -28,10 +28,10 @@ const mountedAction = async () => { userInfo.value = buyInfo.value.group_id ? $store.getGroupInfo() : $store.getUser(); - let time = setTimeout(() => { - getnmrList(); - clearTimeout(time); - }, 500); + let time = setTimeout(() => { + getnmrList(); + clearTimeout(time); + }, 500); }; const getnmrList = async () => { @@ -46,21 +46,21 @@ const getnmrList = async () => { comboInfo.value = response.data.combo_info; itemsInfo.value = response.data.items_info; truePrice.value = response.data.true_price; - - if(!yytjInfo.value?.nmr_list?.length){ + + if (!yytjInfo.value?.nmr_list?.length) { yytjInfo.value.nmr_list = response.data.nmr_list.map((val) => { return { ...val, time: "", id: "", }; - });; + }); yytjInfo.value.nmr_list.push({ item_id: -1, name: "体检时间", time: "", id: "", - }) + }); } uni.hideLoading(); }); @@ -74,72 +74,93 @@ const comfrimyy = async () => { // return; // } // console.log(yytjInfo.value?.nmr_list); - for(let i = 0; i < yytjInfo.value?.nmr_list?.length; i++){ - if(!yytjInfo.value?.nmr_list[i].time){ + for (let i = 0; i < yytjInfo.value?.nmr_list?.length; i++) { + if (!yytjInfo.value?.nmr_list[i].time) { uni.$lu.toast("请选择预约时间"); return; } } - if(yytjInfo.value?.nmr_list?.length > 1){ + if (yytjInfo.value?.nmr_list?.length > 1) { plan_nmr_id = yytjInfo.value?.nmr_list[0]?.id; } - if(yytjInfo.value?.nmr_list?.length > 1){ + if (yytjInfo.value?.nmr_list?.length > 1) { plan_id = yytjInfo.value?.nmr_list[yytjInfo.value?.nmr_list.length - 1]?.id; } console.log(groupInfo.value); - let obj = { person_id: buyInfo.value.person_id, type: buyInfo.value.group_id ? 2 : 1, hospital: buyInfo.value.hospital, group_id: buyInfo.value.group_id, - combo_id: buyInfo.value?.combo_id || (groupInfo.value?.combo_id?"":userInfo.value?.combo_id) || "", + combo_id: + buyInfo.value?.combo_id || + (groupInfo.value?.combo_id ? "" : userInfo.value?.combo_id) || + "", item_ids: buyInfo.value.item_ids, plan_id: plan_id, $plan_nmr_id: plan_nmr_id, - } + }; console.log(obj); const response = await $api("OrderCreate", obj); // return $response(response, () => { - if(response.status){ - if(response.data.action == "pay"){ + if (response.status) { + if (response.data.action == "pay") { StartPay(response.data.orderid); - }else{ + } else { uni.navigateTo({ - url: "/pages/buy/done/done?id="+response.data.orderid - }) + url: "/pages/buy/done/done?id=" + response.data.orderid, + }); } } - }) + }); }; -const StartPay = async (id) => { //继续支付 - uni.showLoading() - const response = await $api('StartPay', { - openid: localStorage.getItem('OPENID'), - id: id, - }) - uni.hideLoading() +const StartPay = async (id) => { + //继续支付 + uni.showLoading(); + const response = await $api("StartPay", { + openid: localStorage.getItem("OPENID"), + id: id, + }); + uni.hideLoading(); $response(response, () => { - if (response.status) { - let info = response.data.info - let p = '&appid=' + info.appid + '&sub_org_code=' + info.sub_org_code + '&ghzid=' + info - .ghzid + '&orderid=' + info.orderid + '&order_desc=' + info.order_desc + '&amount=' + - info.amount + '¬ify_url=' + info.notify_url + '×tamp=' + info.timestamp + - '&nonce=' + info.nonce + '&signature=' + info.signature; - console.log(p); - wx.miniProgram.navigateTo({ - url: '/pages/other/entry/index?path=/pages/physical-examination/payment/index' + - p - }) - } - }) - } + if (response.status) { + let info = response.data.info; + let p = + "&appid=" + + info.appid + + "&sub_org_code=" + + info.sub_org_code + + "&ghzid=" + + info.ghzid + + "&orderid=" + + info.orderid + + "&order_desc=" + + info.order_desc + + "&amount=" + + info.amount + + "¬ify_url=" + + info.notify_url + + "×tamp=" + + info.timestamp + + "&nonce=" + + info.nonce + + "&signature=" + + info.signature; + console.log(p); + wx.miniProgram.navigateTo({ + url: + "/pages/other/entry/index?path=/pages/physical-examination/payment/index" + + p, + }); + } + }); +}; const config_ref = ref(null); const configRef = (e) => { @@ -156,7 +177,7 @@ onShow(() => { }); const toRouter = (url, status) => { - if(status){ + if (status) { uni.setStorageSync("yytjInfoS", yytjInfo.value); } uni.navigateTo({ @@ -177,7 +198,7 @@ const toRouter = (url, status) => { @@ -236,7 +257,7 @@ const toRouter = (url, status) => { v-if="buyInfo.group_id" class="b-0 b-solid b-#E1ECEE pb-25rpx mb-7rpx" :class="{ - 'b-b-1': itemsInfo?.items?.length + 'b-b-1': itemsInfo?.items?.length, }" > @@ -350,18 +371,93 @@ const toRouter = (url, status) => { + + + 积分抵扣 + (共50个) + + + -¥50.00 + 去选择 + + + + + + + 优惠券 + + + + -¥50.00 + + + + + + + + 预存款 + + + + -¥50.00 + + + + + + + + + 选择“预约人”和“体检时间”后,请点击提交按钮,完成预约。 + + + + 购买后如需退款,未到预约体检日期者可在“我的订单”中点击申请退款,体检当日取消或逾期未检者须至体检中心服务台办理 + + + + 套餐名称 - {{ comboInfo?.combo_name || groupInfo?.combo_name }} - ¥{{ comboInfo?.price || groupInfo?.sixi_zong_ji_jin_e }} + {{ + comboInfo?.combo_name || groupInfo?.combo_name + }} + ¥{{ comboInfo?.price || groupInfo?.sixi_zong_ji_jin_e }} diff --git a/h5/static/assets/slices/yhq1.png b/h5/static/assets/slices/yhq1.png new file mode 100644 index 0000000..73b2a82 Binary files /dev/null and b/h5/static/assets/slices/yhq1.png differ