|
|
|
@ -0,0 +1,296 @@
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
|
|
|
<view class="container">
|
|
|
|
|
|
|
|
<!-- 基本信息 -->
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">基本信息</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">姓名:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.name" placeholder="请输入姓名"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">出生日期:</text>
|
|
|
|
|
|
|
|
<input type="date" class="form-input" v-model="form.birthDate"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">性别:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="gender" v-model="form.gender">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.gender }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">民族:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.ethnicity" placeholder="请输入民族"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">籍贯:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.origin" placeholder="请输入籍贯"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">身份证号码:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.idCardNumber" placeholder="请输入身份证号码"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 联系信息 -->
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">联系信息</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">住址:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.address" placeholder="请输入住址"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">联系电话:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.phone" placeholder="请输入联系电话"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">电子邮件地址:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.email" placeholder="请输入电子邮件地址"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">紧急联系人姓名:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.emergencyContactName" placeholder="请输入紧急联系人姓名"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">紧急联系人电话:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.emergencyContactPhone" placeholder="请输入紧急联系人电话"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 健康信息 -->
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">健康信息</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">健康状况:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.healthStatus" placeholder="请输入健康状况"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">医疗保险信息:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.medicalInsuranceInfo" placeholder="请输入医疗保险信息"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">主要医生联系信息:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.primaryDoctorContact" placeholder="请输入主要医生联系信息"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">长期用药信息:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.longTermMedicationInfo" placeholder="请输入长期用药信息"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--
|
|
|
|
|
|
|
|
<!– 预先规划的殡葬信息 –>
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">预先规划的殡葬信息</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">殡葬方式:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="burialMethods" v-model="form.funeralMethod" @change="changeBurialMethods">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.funeralMethod }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">预期的礼仪类型:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="ceremonyTypes" v-model="form.ceremonyType">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.ceremonyType }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">墓地信息:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.cemeteryInfo" placeholder="请输入墓地信息"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">是否有预购墓地:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="yesNoOptions" v-model="form.prePurchasedGrave">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.prePurchasedGrave }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">是否有预定的葬礼地点:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="yesNoOptions" v-model="form.preReservedFuneralLocation">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.preReservedFuneralLocation }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">是否有遗嘱或活葬指示:</text>
|
|
|
|
|
|
|
|
<picker mode="selector" :range="yesNoOptions" v-model="form.hasWillOrLivingDirective">
|
|
|
|
|
|
|
|
<view class="picker">{{ form.hasWillOrLivingDirective }}</view>
|
|
|
|
|
|
|
|
</picker>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 财务信息 -->
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">财务信息</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">支付方式:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.paymentMethod" placeholder="请输入支付方式"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">银行账户信息:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.bankAccountInfo" placeholder="请输入银行账户信息"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">预先支付的葬礼费用:</text>
|
|
|
|
|
|
|
|
<input type="text" class="form-input" v-model="form.prePaidFuneralCost" placeholder="请输入预先支付的葬礼费用"/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 法律文件 -->
|
|
|
|
|
|
|
|
<view class="form-section">
|
|
|
|
|
|
|
|
<view class="form-section-title">法律文件</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">遗嘱复印件:</text>
|
|
|
|
|
|
|
|
<!-- 这里假设用户可以上传文件 -->
|
|
|
|
|
|
|
|
<button @click="uploadFile('willCopy')">上传文件</button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">生前事务代理人指定书:</text>
|
|
|
|
|
|
|
|
<button @click="uploadFile('livingWill')">上传文件</button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">医疗事务代理人指定书:</text>
|
|
|
|
|
|
|
|
<button @click="uploadFile('medicalPowerOfAttorney')">上传文件</button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="form-item">
|
|
|
|
|
|
|
|
<text class="form-label">生命维持治疗决定书:</text>
|
|
|
|
|
|
|
|
<button @click="uploadFile('lifeSustainingTreatmentDecision')">上传文件</button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<button class="form-button" @click="submitForm">提交</button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const form = ref({
|
|
|
|
|
|
|
|
// 基本信息
|
|
|
|
|
|
|
|
portfolioId: null,
|
|
|
|
|
|
|
|
userId: null,
|
|
|
|
|
|
|
|
name: '',
|
|
|
|
|
|
|
|
birthDate: null,
|
|
|
|
|
|
|
|
gender: '',
|
|
|
|
|
|
|
|
ethnicity: '',
|
|
|
|
|
|
|
|
nativePlace: '',
|
|
|
|
|
|
|
|
idCardNumber: '',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 联系信息
|
|
|
|
|
|
|
|
address: '',
|
|
|
|
|
|
|
|
phoneNumber: '',
|
|
|
|
|
|
|
|
emailAddress: '',
|
|
|
|
|
|
|
|
emergencyContactName: '',
|
|
|
|
|
|
|
|
emergencyContactPhone: '',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 健康信息
|
|
|
|
|
|
|
|
healthStatus: '',
|
|
|
|
|
|
|
|
medicalInsuranceInfo: '',
|
|
|
|
|
|
|
|
primaryDoctorContact: '',
|
|
|
|
|
|
|
|
longTermMedicationInfo: '',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 预先规划的殡葬信息
|
|
|
|
|
|
|
|
funeralMethod: '',
|
|
|
|
|
|
|
|
ceremonyType: '',
|
|
|
|
|
|
|
|
cemeteryInfo: '',
|
|
|
|
|
|
|
|
prePurchasedGrave: '',
|
|
|
|
|
|
|
|
preReservedFuneralLocation: '',
|
|
|
|
|
|
|
|
hasWillOrLivingDirective: false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 财务信息
|
|
|
|
|
|
|
|
paymentMethod: '',
|
|
|
|
|
|
|
|
bankAccountInfo: '',
|
|
|
|
|
|
|
|
prePaidFuneralCost: 0.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 法律文件
|
|
|
|
|
|
|
|
willCopy: '',
|
|
|
|
|
|
|
|
preDeathAgentDesignation: '',
|
|
|
|
|
|
|
|
medicalAgentDesignation: '',
|
|
|
|
|
|
|
|
lifeSupportDecision: '',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 档案状态
|
|
|
|
|
|
|
|
portfolioStatus: null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 拒绝理由
|
|
|
|
|
|
|
|
rejectionReason: ''
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const gender = ref(['男', '女'])
|
|
|
|
|
|
|
|
const burialMethods = ref(['火葬', '土葬', '海葬'])
|
|
|
|
|
|
|
|
const ceremonyTypes = ref(['宗教', '非宗教', '军人'])
|
|
|
|
|
|
|
|
const yesNoOptions = ref(['是', '否'])
|
|
|
|
|
|
|
|
const changeBurialMethods = (e) => {
|
|
|
|
|
|
|
|
console.log(e)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
const submitForm = () => {
|
|
|
|
|
|
|
|
http.request({
|
|
|
|
|
|
|
|
url: '/p/user/portfolio/save',
|
|
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
|
|
data: form.value
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.then(({
|
|
|
|
|
|
|
|
data
|
|
|
|
|
|
|
|
}) => {
|
|
|
|
|
|
|
|
uni.hideLoading()
|
|
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
|
|
title: data.data,
|
|
|
|
|
|
|
|
icon: 'none',
|
|
|
|
|
|
|
|
duration: 1500
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const uploadFile = (key) => {
|
|
|
|
|
|
|
|
// 这里处理文件上传的逻辑,将文件的URL或者其他标识保存到form.value[key]中
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
|
|
|
.container {
|
|
|
|
|
|
|
|
padding: 20px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-section {
|
|
|
|
|
|
|
|
margin-bottom: 20px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-section-title {
|
|
|
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-item {
|
|
|
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-label {
|
|
|
|
|
|
|
|
display: block;
|
|
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
|
|
color: #666;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-input {
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
height: 40px;
|
|
|
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.form-button {
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
height: 40px;
|
|
|
|
|
|
|
|
line-height: 40px;
|
|
|
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
background-color: #409eff;
|
|
|
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.picker {
|
|
|
|
|
|
|
|
height: 40px;
|
|
|
|
|
|
|
|
line-height: 40px;
|
|
|
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
padding-left: 10px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|