This commit is contained in:
2025-06-19 03:23:12 +08:00
parent c836709576
commit f3542654d5
3 changed files with 31 additions and 48 deletions
@@ -1391,6 +1391,7 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
line.lineName, line.lineName,
line.regionalNature, line.regionalNature,
line.YEAR, line.YEAR,
line.id lineId,
us.signUpStartTime, us.signUpStartTime,
us.signUpEndTime, us.signUpEndTime,
us.changeEndTime, us.changeEndTime,
@@ -121,10 +121,13 @@ layout("/layouts/platform.html"){
<el-button type="primary" @click="lineDialogVisible = false">关 闭</el-button> <el-button type="primary" @click="lineDialogVisible = false">关 闭</el-button>
</span> </span>
</el-dialog> </el-dialog>
<line-sign-up ref="lineSignUpRef"></line-sign-up>
</div> </div>
<script> <script>
<!--#include('../signUp/info.js'){}#--> <!--#include('../signUp/info.js'){}#-->
<!--#include('../signUp/lineSignUp.js'){}#-->
const vue = new Vue({ const vue = new Vue({
el: '#app', el: '#app',
mixins: [initTableMixins], mixins: [initTableMixins],
@@ -133,6 +136,7 @@ layout("/layouts/platform.html"){
pageForm: { pageForm: {
theRapyRecuperationType: 0, theRapyRecuperationType: 0,
signUpStateId: 1, signUpStateId: 1,
lineUnionType: 3,
year: new Date().getFullYear() + "", year: new Date().getFullYear() + "",
}, },
chooseButton: [], chooseButton: [],
@@ -141,10 +145,20 @@ layout("/layouts/platform.html"){
} }
}, },
components: { components: {
'info': INFO 'info': INFO,
'line-sign-up': LineSignUp
}, },
methods: { methods: {
edit(o) { edit(o) {
if ([0, 1].includes(this.pageForm.theRapyRecuperationType)) {
// 线路
this.$refs.lineSignUpRef.onOpen({
lineId: o.lineId,
usId: o.takePartInLineId
}, this.pageForm, this.configData, o.id);
} else if (this.pageForm.theRapyRecuperationType === 3) {
// 定点疗休养
}
}, },
editOther(o) { editOther(o) {
}, },
@@ -131,25 +131,27 @@ const LineSignUp = {
</div> </div>
<el-form-item :label="'姓名'" :prop="'companionList.' + index + '.userName'" <el-form-item :label="'姓名'" :prop="'companionList.' + index + '.userName'"
:rules="rules.userName"> :rules="[{required: true, message: '请输入姓名', trigger: 'blur'}]">
<el-input v-model="person.userName" placeholder="请输入姓名"></el-input> <el-input v-model="person.userName" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'身份证号'" :prop="'companionList.' + index + '.idCard'" <el-form-item :label="'身份证号'" :prop="'companionList.' + index + '.idCard'"
:rules="rules.idCard"> :rules="[{required: true, message: '请输入身份证号', trigger: 'blur'}]">
<el-input v-model="person.idCard" placeholder="请输入身份证号" <el-input v-model="person.idCard" placeholder="请输入身份证号"
@blur="parseIdCard(index)"></el-input> @blur="parseIdCard(index)"></el-input>
</el-form-item> </el-form-item>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="'性别'" :prop="'companionList.' + index + '.sex'"> <el-form-item :label="'性别'" :prop="'companionList.' + index + '.sex'"
:rules="[{required: true, message: '请选择性别', trigger: 'blur'}]">
<el-input v-model="person.sex" placeholder="根据身份证号自动读取" <el-input v-model="person.sex" placeholder="根据身份证号自动读取"
disabled></el-input> disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="'年龄'" :prop="'companionList.' + index + '.age'"> <el-form-item :label="'年龄'" :prop="'companionList.' + index + '.age'"
:rules="[{required: true, message: '请输入年龄', trigger: 'blur'}]">
<el-input v-model.number="person.age" placeholder="根据身份证号自动读取" <el-input v-model.number="person.age" placeholder="根据身份证号自动读取"
disabled></el-input> disabled></el-input>
</el-form-item> </el-form-item>
@@ -157,6 +159,7 @@ const LineSignUp = {
</el-row> </el-row>
<el-form-item label="身高" :prop="'companionList.' + index + '.height'" <el-form-item label="身高" :prop="'companionList.' + index + '.height'"
:rules="[{required: true, message: '请输入身高', trigger: 'blur'}]"
v-if="person.age && person.age <= 12"> v-if="person.age && person.age <= 12">
<el-input v-model.number="person.height" placeholder="请输入身高"> <el-input v-model.number="person.height" placeholder="请输入身高">
<template slot="append">cm</template> <template slot="append">cm</template>
@@ -164,7 +167,7 @@ const LineSignUp = {
</el-form-item> </el-form-item>
<el-form-item :label="'手机号'" :prop="'companionList.' + index + '.mobile'" <el-form-item :label="'手机号'" :prop="'companionList.' + index + '.mobile'"
:rules="rules.mobile"> :rules="[{required: true, message: '请输入手机号', trigger: 'blur'}]">
<el-input v-model="person.mobile" placeholder="请输入手机号"></el-input> <el-input v-model="person.mobile" placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
@@ -297,46 +300,7 @@ const LineSignUp = {
roomCount: null, roomCount: null,
}, },
rules: { rules: {},
mainName: [
{required: true, message: '请输入姓名', trigger: 'blur'},
{min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur'}
],
mainIdCard: [
{required: true, message: '请输入身份证号', trigger: 'blur'},
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '请输入正确的身份证号',
trigger: 'blur'
}
],
mainGender: [
{required: true, message: '请选择性别', trigger: 'change'}
],
mainPhone: [
{required: true, message: '请输入手机号', trigger: 'blur'},
{pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'}
],
accompaningName: [
{required: true, message: '请输入姓名', trigger: 'blur'},
{min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur'}
],
accompanyingIdCard: [
{required: true, message: '请输入身份证号', trigger: 'blur'},
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '请输入正确的身份证号',
trigger: 'blur'
}
],
accompanyingPhone: [
{required: true, message: '请输入手机号', trigger: 'blur'},
{pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'}
],
accompaningGender: [
{required: true, message: '请选择性别', trigger: 'change'}
]
},
basicRoomColumns: [ basicRoomColumns: [
{label: '0.5间(一张床)', value: 0.5}, {label: '0.5间(一张床)', value: 0.5},
@@ -495,13 +459,15 @@ const LineSignUp = {
// 根据身份证解析年龄和性别 // 根据身份证解析年龄和性别
parseIdCard(index) { parseIdCard(index) {
debugger
let idCard = this.signupForm.companionList[index].idCard; let idCard = this.signupForm.companionList[index].idCard;
if (!idCard || idCard.length < 15) return; if (!idCard || idCard.length < 15) return;
// 解析性别 (第17位,奇数为男,偶数为女) // 解析性别 (第17位,奇数为男,偶数为女)
if (idCard.length >= 17) { if (idCard.length >= 17) {
const genderBit = parseInt(idCard.substr(16, 1)); const genderBit = parseInt(idCard.substr(16, 1));
this.signupForm.companionList[index].gender = genderBit % 2 === 1 ? 1 : 2; // 1-男, 2-女 this.$set(this.signupForm.companionList[index], 'sex', genderBit % 2 === 1 ? "男" : "女")
// this.signupForm.companionList[index].sex = genderBit % 2 === 1 ? "男" : "女"; // 1-男, 2-女
} }
// 解析年龄 // 解析年龄
@@ -518,7 +484,8 @@ const LineSignUp = {
age--; age--;
} }
this.signupForm.companionList[index].age = age; // this.signupForm.companionList[index].age = age;
this.$set(this.signupForm.companionList[index], 'age', age)
}, },
// 根据房间数量更新用房备注 // 根据房间数量更新用房备注
@@ -590,6 +557,7 @@ const LineSignUp = {
.then(() => { .then(() => {
$.post('/platform/theRapyRecuperation/line/enroll/doSignUpForLine', {enroll: JSON.stringify(this.signupForm)}).then(res => { $.post('/platform/theRapyRecuperation/line/enroll/doSignUpForLine', {enroll: JSON.stringify(this.signupForm)}).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.visible = false
this.$message.success(res.msg) this.$message.success(res.msg)
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)