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 @@
+
+
+
+ 单位:{{ props.option.unit }}
+ 折线图
+
+
+
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 @@
-
-
-
-
-
+
+
+
+
+
+
+ 本次体检:{{ analysis_content.result }}
+
+
+ {{ analysis_content.name }}:{{ analysis_content.value }}
+
+ 日期:
+
+ {{ analysis_content.date }}
+
+
+
+
+
+
+
+ 趋势图表
+ 详细数据
+
+
+
+
+
+ 临床意义
+
+
+ {{ analysis_content.table.name }}
+
+ 评估
+
+
+ {{ i.date }}
+
+ {{ i.value }}
+ {{ i.assess }}
+
+
+
+
+
+
+
+
+
+ 临床意义
+
+
+
+
+
+
-
+
\ 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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥
+ {{ item.price }}
+
+ {{ item.desc }}
+
+
+
+ {{ item.title }}
+ {{ item.date_range?.join(" —— ") }}
+
+
+ 立
即
使
用
+
+
+
+
+
+
+
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