This commit is contained in:
2025-10-16 09:29:49 +08:00
parent e7b24d3afb
commit 1f99486914
15 changed files with 733 additions and 148 deletions
@@ -91,7 +91,7 @@ layout("/layouts/platform_h5.html"){
<van-image
height="76"
radius="8"
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+row.cover"
:src="row.cover"
width="100"
fit="cover">
<template #loading>
@@ -162,13 +162,13 @@ layout("/layouts/platform_h5.html"){
},
onView(row) {
if(row.selectCount > 0) {
/* if(row.selectCount > 0) {
vant.Dialog.alert({
title: '温馨提示',
message: '此项活动您已选择',
})
return
}
}*/
// 检查项目是否已结束
const now = new Date();
const endTime = new Date(row.choiceTimeEnd);
@@ -3,7 +3,32 @@ let H5_PROJECT_MANAGE_FROM = {
<van-action-sheet v-model="visible" title="体检套餐选择">
<div class="form-container">
<van-form ref="formRef" @submit="doSubmit">
<van-cell-group title="体检套餐">
<van-cell-group title="基础信息">
<van-field
input-align="right"
label="身份证号"
name="idCard"
readonly
required
placeholder="请选择身份证号"
v-model="formData.idCard"
:rules="[{ required: true, message: '请输入身份证号' }]">
</van-field>
<van-cell title="人员类型">{{formData.userState}}</van-cell>
<van-field
input-align="right"
readonly
required
label="婚姻状况"
name="marriage"
placeholder="请联系校工会补充婚姻状况"
v-model="formData.marriage"
:rules="[{ required: true, message: '请选择婚姻状况' }]"></van-field>
<van-cell title="出生年月">{{$moment(formData.birthday).format('YYYY-MM-DD')}}</van-cell>
<van-cell title="单位">{{formData.unitName}}</van-cell>
</van-cell-group>
<van-cell-group title="本年度预约体检医院">
<div class="van-card-body">
<van-radio-group v-model="formData.subjectId" class="basic">
<van-cell-group>
@@ -14,43 +39,53 @@ let H5_PROJECT_MANAGE_FROM = {
<template #label>
<div style="display: flex; justify-content: space-between; margin-left: 8px">
<div>{{ item.optionName }}</div>
<div @click="viewDesc(item)" style="color: #0e78c5">查看说明</div>
<div @click.stop="viewDesc(item)" style="color: #0e78c5">查看说明</div>
</div>
</template>
<template #right-icon>
<van-radio :name="item.id"></van-radio>
<van-radio :name="item.id" @click.stop="clickRadio(item)"></van-radio>
</template>
</van-cell>
</van-cell-group>
</van-radio-group>
</div>
<van-field
input-align="right"
readonly
required
label="所选医院额度"
name="marriage"
placeholder="请选择医院"
v-model="formData.money"
:rules="[{ required: true, message: '请选择医院' }]"></van-field>
</van-cell>
</van-cell-group>
<van-cell-group title="基础信息">
<div class="van-card-body">
<van-field
@click="campusVisible = true"
readonly
is-link
label="院区"
name="campus"
placeholder="请选择体检院区"
v-model="formData.campusName"
:rules="[{ required: true, message: '请选择体检院区' }]">
</van-field>
<van-field
:rules="[{ required: true, message: '请选择家属是否体检' }]"
label="家属体检"
name="isFamily">
<template #input>
<van-radio-group direction="horizontal" v-model="formData.isFamily">
<van-radio name="是" shape="square">是</van-radio>
<van-radio name="否" shape="square">否</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
</van-cell-group>
<!-- <van-cell-group title="基础信息">
<div class="van-card-body">
<van-field
@click="campusVisible = true"
readonly
is-link
label="院区"
name="campus"
placeholder="请选择体检院区"
v-model="formData.campusName"
:rules="[{ required: true, message: '请选择体检院区' }]">
</van-field>
<van-field
:rules="[{ required: true, message: '请选择家属是否体检' }]"
label="家属体检"
name="isFamily">
<template #input>
<van-radio-group direction="horizontal" v-model="formData.isFamily">
<van-radio name="是" shape="square">是</van-radio>
<van-radio name="否" shape="square">否</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
</van-cell-group>-->
<van-cell-group title="家属信息" v-if="formData.isFamily === '是'">
<div style="padding: 10px;">
@@ -158,7 +193,8 @@ let H5_PROJECT_MANAGE_FROM = {
<div v-html="desc" class="pre_text"></div>
</van-popup>
</van-action-sheet>
`, dicts: ["ASSET_USAGE_STATE"], data() {
`
, store, dicts: ["ASSET_USAGE_STATE"], data() {
return {
visible: false,
viewData: {},
@@ -176,28 +212,57 @@ let H5_PROJECT_MANAGE_FROM = {
campusVisible: false,
descVisible: false,
desc: '',
project: {}
project: {},
marriageList: ["已婚", "未婚"],
marriageVisible: false,
}
},
methods: {
// 打开表单
async onOpen(row) {
this.formData = {}
this.row = row;
this.visible = true;
await this.getCampus()
await this.findSubject(row.projectId)
if (row.projectId) {
this.selectInfo(row);
await this.selectInfo(row);
const {idCard, userState, marriage, birthday, unit} = this.$store.state.user
this.$set(this.formData, 'idCard', idCard)
this.$set(this.formData, 'userState', userState)
this.$set(this.formData, 'marriage', marriage)
this.$set(this.formData, 'birthday', birthday)
this.$set(this.formData, 'unitName', unit.name)
}
},
clickRadio(item) {
const toast = this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true,
message: '查询中....',
});
$.post("/platform/healthCheckup/h5/getSubjectMoney", {
id: item.id,
marriage: this.formData.marriage
}).then(resp => {
if (resp.code === 0) {
this.$set(this.formData, 'subjectId', item.id)
this.$set(this.formData, 'money', resp.data.money)
this.$set(this.formData, 'subjectMoneyId', resp.data.subjectMoneyId)
} else {
this.$set(this.formData, 'money', 0)
}
toast.clear();
})
},
async selectInfo(row) {
//this.formData.projectId = row.projectId;
const resp = await $.post('/platform/healthCheckup/h5/selectInfo', {projectId: row.projectId});
if (resp.data !== null) {
this.formData = resp.data;
const o = this.campusList.find(o => o.id === this.formData.campus)
this.formData.campusName = o.campusName
/* const o = this.campusList.find(o => o.id === this.formData.campus)
this.formData.campusName = o.campusName*/
}
},
@@ -221,12 +286,12 @@ let H5_PROJECT_MANAGE_FROM = {
})
const formData = clone(this.formData);
formData.projectId = this.row.projectId;
if (formData.isFamily === '否') {
/* if (formData.isFamily === '否') {
formData.companionList = [];
} else {
// 过滤空的家属信息
formData.companionList = formData.companionList.filter(item => item.userName && item.userName.trim() !== '');
}
}*/
const resp = await $.post('/platform/healthCheckup/h5/doSubmit', {
userSelection: JSON.stringify(formData),
@@ -275,6 +340,13 @@ let H5_PROJECT_MANAGE_FROM = {
this.campusVisible = false;
},
// 婚姻状况确认
onMarriageConfirm(value) {
this.$set(this.formData, 'marriage', value)
this.$set(this.formData, 'subjectId', null)
this.marriageVisible = false;
},
// 查询体检套餐
async findSubject(id) {
try {