更新 WEB登记 字段调整, H5 婚前检查登记

wenjuan
鹿和sa0ChunLuyu 1 year ago
parent 822dba5f50
commit ba32ba269a

@ -137,7 +137,8 @@
<el-form-item label="日期"> <el-form-item label="日期">
<el-date-picker v-model="plan_data.date" type="date" placeholder="请选择号源日期" format="YYYY-MM-DD" <el-date-picker v-model="plan_data.date" type="date" placeholder="请选择号源日期" format="YYYY-MM-DD"
value-format="YYYY-MM-DD"></el-date-picker> value-format="YYYY-MM-DD"></el-date-picker>
</el-form-item></el-form> </el-form-item>
</el-form>
<el-button @click="getPlanList()" type="primary">查看号源</el-button> <el-button @click="getPlanList()" type="primary">查看号源</el-button>
</div> </div>
<div class="plan_show_wrapper"> <div class="plan_show_wrapper">
@ -185,8 +186,7 @@
</el-form-item> </el-form-item>
<el-form-item label="婚否"> <el-form-item label="婚否">
<el-select v-model="input_data.married" placeholder="请选择婚否"> <el-select v-model="input_data.married" placeholder="请选择婚否">
<el-option label="是" value="1"></el-option> <el-option v-for="(i,k) in married_array" :label="i.label" :value="i.value"></el-option>
<el-option label="否" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="VIP"> <el-form-item label="VIP">
@ -209,7 +209,9 @@
<div class="select_flex_wrapper"> <div class="select_flex_wrapper">
<el-form label-width="40px" inline> <el-form label-width="40px" inline>
<el-form-item label="简拼"> <el-form-item label="简拼">
<el-input v-model="search_input" placeholder="" /> </el-form-item></el-form> <el-input v-model="search_input" placeholder=""/>
</el-form-item>
</el-form>
<el-button type="primary" @click="searchClick()">搜索</el-button> <el-button type="primary" @click="searchClick()">搜索</el-button>
</div> </div>
<div class="select_flex_wrapper"> <div class="select_flex_wrapper">
@ -218,7 +220,8 @@
<div class="combo_show_wrapper"> <div class="combo_show_wrapper">
{{ !!combo_show ? combo_show.name : '无' }} {{ !!combo_show ? combo_show.name : '无' }}
</div> </div>
</el-form-item></el-form> </el-form-item>
</el-form>
<el-button @click="combo_dialog_show = true" type="primary">选择套餐</el-button> <el-button @click="combo_dialog_show = true" type="primary">选择套餐</el-button>
</div> </div>
</div> </div>
@ -314,13 +317,29 @@
date: formatDatetime(new Date(), "YYYY-MM-DD"), date: formatDatetime(new Date(), "YYYY-MM-DD"),
}; };
const plan_data = ref(JSON.parse(JSON.stringify(plan_data_default))) const plan_data = ref(JSON.parse(JSON.stringify(plan_data_default)))
const married_array = [{
value: '已婚',
label: '已婚'
}, {
value: '未婚',
label: '未婚'
}, {
value: '丧偶',
label: '丧偶'
}, {
value: '离婚',
label: '离婚'
}, {
value: '其他',
label: '其他'
}]
const input_data_default = { const input_data_default = {
hospital: "1", hospital: "1",
name: "", name: "",
id_number: "", id_number: "",
phone: "", phone: "",
gender: "1", gender: "1",
married: "2", married: "未婚",
vip: "2", vip: "2",
doctor: "", doctor: "",
birthday: formatDatetime(new Date(), "YYYY-MM-DD"), birthday: formatDatetime(new Date(), "YYYY-MM-DD"),
@ -746,6 +765,7 @@
hospital: input_data.value.hospital, hospital: input_data.value.hospital,
combo_id: combo_id, combo_id: combo_id,
item_ids: item_ids, item_ids: item_ids,
appdoctor: input_data.value.doctor,
person: { person: {
sex: input_data.value.gender, sex: input_data.value.gender,
birthday: input_data.value.birthday, birthday: input_data.value.birthday,
@ -785,6 +805,7 @@
idNumberUpdate, idNumberUpdate,
tableRowClick, tableRowClick,
planDialogShowClick, planDialogShowClick,
married_array,
plan_list, plan_list,
plan_data, plan_data,
plan_dialog_show, plan_dialog_show,

@ -214,11 +214,22 @@
}, },
{ {
"path": "pages/main/ctime/ctime", "path": "pages/main/ctime/ctime",
"style" : "style": {
{
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path": "pages/premarital/readme/readme",
"style": {
"navigationBarTitleText": "婚前检查"
}
},
{
"path": "pages/premarital/form/form",
"style": {
"navigationBarTitleText": "婚前检查"
}
} }
], ],

@ -0,0 +1,235 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2024年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()
import TitleComponent from '../src/title.vue'
const mountedAction = () => {
}
const config_ref = ref(null)
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e
mountedAction()
}
}
const number_type_array = [{
value: 1,
label: '身份证'
},
{
value: 2,
label: '军官证'
},
{
value: 3,
label: '港澳台'
},
]
const getEndDate = () => {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
}
const input_data_default = {
'国籍': '中国',
'证件类型': 0,
'证件号': "",
'姓名': "",
'生日': getEndDate(),
'民族': "",
'现地址': "",
'详细地址': "",
'户籍地址': "",
'工作单位': "",
'文化程度': "",
'职业': "",
'出生地': "",
'配偶姓名': "",
'配偶证件类型': 0,
'配偶证件号': "",
'血缘关系': "无",
'邮政编码': "",
'手机号码': "",
}
const input_data = ref(JSON.parse(JSON.stringify(input_data_default)))
const bindPickerChange = (e, key) => {
input_data.value[key] = e.detail.value
}
const bindDateChange = (e, key) => {
input_data.value[key] = e.detail.value
}
const radioChange = (e, key) => {
input_data.value[key] = e.detail.value
}
const editDoneClick = () => {
let post_data = JSON.parse(JSON.stringify(input_data.value))
post_data['证件类型'] = number_type_array[input_data.value['证件类型']].value
post_data['配偶证件类型'] = number_type_array[input_data.value['配偶证件类型']].value
// for (let i in post_data) {
// if (!post_data[i]) {
// return uni.$lu.toast(`${i}`)
// }
// }
HunQianQuestionSubmit(post_data)
}
const HunQianQuestionSubmit = async (post_data) => {
const response = await $api('HunQianQuestionSubmit', {
person_id: $store.getUser()?.person_id,
content: post_data
})
$response(response, () => {
uni.navigateTo({
url: '/pages/main/combo/combo'
})
})
}
onShow(() => {
if (!!config_ref.value) {
mountedAction()
}
})
</script>
<template>
<view>
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
<view class="page_wrapper">
<TitleComponent title="信息登记"></TitleComponent>
<view class="form_wrapper">
<view v-for="(i,k) in input_data" :key="k" class="form_item_wrapper">
<view class="form_title_wrapper">{{ k }}</view>
<view class="form_input_wrapper">
<template v-if="['证件类型','配偶证件类型'].includes(k)">
<view class="select_wrapper">
<picker class="select_picker_wrapper" @change="(e)=>{bindPickerChange(e, k)}" :value="input_data[k]"
:range="number_type_array" range-key="label">
<view>{{ number_type_array[input_data[k]].label }}</view>
</picker>
<view class="select_icon_wrapper">
<uni-icons color="#808080" type="right" size="20"></uni-icons>
</view>
</view>
</template>
<template v-else-if="k === ''">
<picker mode="date" :value="input_data[k]" :end="getEndDate" @change="(e)=>{bindDateChange(e, k)}">
<view>{{ input_data[k] }}</view>
</picker>
</template>
<template v-else-if="k === ''">
<view>
<radio-group class="radio_wrapper" @change="(e)=>{radioChange(e, k)}">
<view class="radio_item_wrapper">
<radio style="transform:scale(0.7)" value="无" :checked="input_data[k] === '无'" />
</view>
<view class="radio_item_wrapper">
<radio style="transform:scale(0.7)" value="有" :checked="input_data[k] === '有'" />
</view>
</radio-group>
</view>
</template>
<template v-else>
<input v-model="input_data[k]" :placeholder="`请输入${k}`" />
</template>
</view>
</view>
</view>
<view @click="editDoneClick()" class="button_wrapper">提交</view>
<view style="height: 100rpx;"></view>
</view>
</view>
</template>
<style scoped>
.radio_item_wrapper {
margin-right: 30rpx;
display: flex;
align-items: center;
}
.radio_wrapper {
display: flex;
align-items: center;
}
.select_icon_wrapper {
position: absolute;
top: 50%;
right: 20rpx;
transform: translateY(-50%);
}
.select_picker_wrapper {
position: relative;
z-index: 9;
width: 100%;
}
.select_wrapper {
position: relative;
}
.form_wrapper {
margin-top: 20rpx;
}
.form_input_wrapper {
width: calc(100% - 140rpx - 20px);
margin-left: 20px;
}
.form_title_wrapper {
width: 140rpx;
}
.form_item_wrapper {
display: flex;
align-items: center;
padding: 20rpx 0;
font-size: 26rpx;
border-bottom: 1rpx solid #cccccc80;
}
.button_wrapper {
background: #279EA3;
color: #ffffff;
font-size: 28rpx;
text-align: center;
line-height: 90rpx;
height: 90rpx;
width: 600rpx;
border-radius: 10rpx;
margin: 50rpx auto 0;
}
.page_wrapper {
padding-top: 20rpx;
width: calc(100% - 50rpx);
margin: 0 auto;
}
</style>

@ -0,0 +1,96 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2024年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()
import TitleComponent from '../src/title.vue'
const tip_content = ref('')
const getTipContent = async () => {
uni.showLoading();
const response = await $api("GetReadme", {
type: '2'
});
uni.hideLoading();
$response(response, () => {
tip_content.value = response.data.content;
});
};
const mountedAction = () => {
getTipContent()
}
const config_ref = ref(null)
const configRef = (e) => {
if (!config_ref.value) {
config_ref.value = e
mountedAction()
}
}
const toFormClick = () => {
uni.navigateTo({
url: '/pages/premarital/form/form'
})
}
onShow(() => {
if (!!config_ref.value) {
mountedAction()
}
})
</script>
<template>
<view>
<view v-if="!!$store.config">
<view :ref="configRef"></view>
</view>
<view class="page_wrapper">
<TitleComponent title="预约须知"></TitleComponent>
<view class="readme_wrapper">
<view v-html="tip_content"></view>
</view>
<view @click="toFormClick()" class="button_wrapper">立即预约</view>
<view style="height: 100rpx;"></view>
</view>
</view>
</template>
<style scoped>
.button_wrapper {
background: #279EA3;
color: #ffffff;
font-size: 28rpx;
text-align: center;
line-height: 90rpx;
height: 90rpx;
width: 600rpx;
border-radius: 10rpx;
margin: 50rpx auto 0;
}
.page_wrapper {
padding-top: 20rpx;
width: calc(100% - 50rpx);
margin: 0 auto;
}
.readme_wrapper {
margin-top: 20rpx;
}
</style>

@ -0,0 +1,40 @@
<script setup>
/**
* name
* usersa0ChunLuyu
* date2024年9月11日 19:24:50
*/
const $props = defineProps({
title: {
type: String,
default: ""
},
});
</script>
<template>
<view>
<view class="item_title_wrapper">
<view class="item_title_line_wrapper"></view>
<view class="item_title_text_wrapper">{{ $props.title }}</view>
</view>
</view>
</template>
<style scoped>
.item_title_wrapper {
display: flex;
align-items: center;
}
.item_title_line_wrapper {
width: 2rpx;
height: 40rpx;
background: #4F8E91;
}
.item_title_text_wrapper {
font-size: 30rpx;
line-height: 30rpx;
margin-left: 10rpx;
font-weight: bold;
}
</style>
Loading…
Cancel
Save