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.regionalNature,
line.YEAR,
line.id lineId,
us.signUpStartTime,
us.signUpEndTime,
us.changeEndTime,
@@ -121,10 +121,13 @@ layout("/layouts/platform.html"){
<el-button type="primary" @click="lineDialogVisible = false">关 闭</el-button>
</span>
</el-dialog>
<line-sign-up ref="lineSignUpRef"></line-sign-up>
</div>
<script>
<!--#include('../signUp/info.js'){}#-->
<!--#include('../signUp/lineSignUp.js'){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
@@ -133,6 +136,7 @@ layout("/layouts/platform.html"){
pageForm: {
theRapyRecuperationType: 0,
signUpStateId: 1,
lineUnionType: 3,
year: new Date().getFullYear() + "",
},
chooseButton: [],
@@ -141,10 +145,20 @@ layout("/layouts/platform.html"){
}
},
components: {
'info': INFO
'info': INFO,
'line-sign-up': LineSignUp
},
methods: {
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) {
},
@@ -131,25 +131,27 @@ const LineSignUp = {
</div>
<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-form-item>
<el-form-item :label="'身份证号'" :prop="'companionList.' + index + '.idCard'"
:rules="rules.idCard">
:rules="[{required: true, message: '请输入身份证号', trigger: 'blur'}]">
<el-input v-model="person.idCard" placeholder="请输入身份证号"
@blur="parseIdCard(index)"></el-input>
</el-form-item>
<el-row :gutter="20">
<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="根据身份证号自动读取"
disabled></el-input>
</el-form-item>
</el-col>
<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="根据身份证号自动读取"
disabled></el-input>
</el-form-item>
@@ -157,6 +159,7 @@ const LineSignUp = {
</el-row>
<el-form-item label="身高" :prop="'companionList.' + index + '.height'"
:rules="[{required: true, message: '请输入身高', trigger: 'blur'}]"
v-if="person.age && person.age <= 12">
<el-input v-model.number="person.height" placeholder="请输入身高">
<template slot="append">cm</template>
@@ -164,7 +167,7 @@ const LineSignUp = {
</el-form-item>
<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-form-item>
@@ -297,46 +300,7 @@ const LineSignUp = {
roomCount: null,
},
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'}
]
},
rules: {},
basicRoomColumns: [
{label: '0.5间(一张床)', value: 0.5},
@@ -495,13 +459,15 @@ const LineSignUp = {
// 根据身份证解析年龄和性别
parseIdCard(index) {
debugger
let idCard = this.signupForm.companionList[index].idCard;
if (!idCard || idCard.length < 15) return;
// 解析性别 (第17位,奇数为男,偶数为女)
if (idCard.length >= 17) {
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--;
}
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(() => {
$.post('/platform/theRapyRecuperation/line/enroll/doSignUpForLine', {enroll: JSON.stringify(this.signupForm)}).then(res => {
if (res.code === 0) {
this.visible = false
this.$message.success(res.msg)
} else {
this.$message.error(res.msg)