Files
UNION_NSI/target/classes/views/mobile/znxx/apply.html
T
2026-09-08 19:49:21 +08:00

215 lines
8.6 KiB
HTML

<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<van-nav-bar
@click-left="history.go(-1)"
fixed
left-arrow
placeholder
title="信息填报"
></van-nav-bar>
<van-form ref="addForm" :show-error-message="false" input-align="right">
<van-cell-group inset class="mt10">
<van-field name="dj_znname" v-model="formData.dj_znname" label="子女姓名"
required
placeholder="请输入子女姓名"
:rules="[{ required: true, message: '请填写子女姓名' }]"></van-field>
<van-field name="dj_znsex" v-model="formData.dj_znsex" label="性&emsp;别"
required
readonly
placeholder="请选择性别"
@click="znsexShow = true"
:rules="[{ required: true, message: '请选择性别' }]"></van-field>
<van-action-sheet v-model="znsexShow" :actions="znsexActions"
cancel-text="取消"
@cancel="znsexShow=false"
@select="(val)=>{$set(formData,'dj_znsex',val.name);znsexShow=false}"></van-action-sheet>
<van-field name="dj_znzsny" v-model="formData.dj_znzsny" label="出生日期"
required
readonly
placeholder="请选择出生日期"
@click="znzsnyShow = true"
:rules="[{ required: true, message: '请选择出生日期' }]"></van-field>
<van-popup v-model="znzsnyShow" position="bottom" :style="{ height: '50%' }">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
cancel-button-text="关闭"
@confirm="znzsnyConfirm"
@cancel="znzsnyShow=false"
></van-datetime-picker>
</van-popup>
<van-field name="dj_djlx_name" v-model="formData.dj_djlx_name" label="学生类型"
required
readonly
placeholder="请选择学生类型"
@click="djlxShow = true"
:rules="[{ required: true, message: '请选择学生类型' }]"></van-field>
<van-action-sheet v-model="djlxShow" :actions="djlxActions"
cancel-text="取消"
@cancel="djlxShow=false"
@select="djlxOnSelect"></van-action-sheet>
<van-field name="dj_jdxx" v-model="formData.dj_jdxx" label="就读年级"
required
readonly
placeholder="请选择就读年级"
@click="jdxxShow = true"
:rules="[{ required: true, message: '请选择就读年级' }]"></van-field>
<van-action-sheet v-model="jdxxShow"
:actions="jdxxActions.filter(v=>v.type===formData.dj_djlx)"
cancel-text="取消"
@cancel="jdxxShow=false"
@select="(val)=>{$set(formData,'dj_jdxx',val.name);jdxxShow=false}"></van-action-sheet>
<van-field name="dj_stjkzk" v-model="formData.dj_stjkzk" label="身体健康状态"
rows="2"
autosize
type="textarea"
placeholder="请输入身体健康状态"></van-field>
<van-field name="username" v-model="formData.username" label="教职工姓名"
required
readonly></van-field>
<van-field name="dj_gzh" v-model="formData.dj_gzh" label="教职工工号"
required
readonly></van-field>
<van-field name="dj_iphone" v-model="formData.dj_iphone" label="手机号码"
required
placeholder="请输入手机号码"
:rules="[{ required: true, message: '请输入手机号码' }]"></van-field>
<van-field name="dj_szdw" v-model="formData.dj_szdw" label="所在单位"
required
readonly></van-field>
<van-field name="dj_sdjtxx" v-model="formData.dj_sdjtxx" label="三代家庭成员信息"
rows="2"
autosize
type="textarea"
placeholder="请输入三代家庭成员信息"></van-field>
</van-cell-group>
</van-form>
<div style="margin: 20px 20px 10px 20px">
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info"
:color="themeColor">
提 交
</van-button>
</div>
</div>
<script>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
minDate: new Date(1989, 1, 1),
maxDate: new Date(moment(new Date).format('YYYY-MM-DD')),
currentDate: null,
djlxActions: [
{name: "幼儿园", value: 1},
{name: "小学", value: 2},
{name: "初中", value: 3},
{name: "高中", value: 4},
],
znsexActions: [
{name: "男"},
{name: "女"},
],
jdxxActions: [
{name: "幼儿园", type: 1},
{name: "一年级", type: 2},
{name: "二年级", type: 2},
{name: "三年级", type: 2},
{name: "四年级", type: 2},
{name: "五年级", type: 2},
{name: "六年级", type: 2},
{name: "七年级", type: 3},
{name: "八年级", type: 3},
{name: "九年级", type: 3},
{name: "高一", type: 4},
{name: "高二", type: 4},
{name: "高三", type: 4},
],
djlxShow: false,
znsexShow: false,
znzsnyShow: false,
jdxxShow: false,
}
},
methods: {
onSubmit() {
this.$refs['addForm'].validate().then(async () => {
this.$toast.loading('提交中...')
const res = await $.post('/platform/zgfw/znxx/apply/doAdd', this.formData)
if (res.code === 0) {
this.$toast.success('填报成功');
setTimeout(() => {
window.history.go(-1)
}, 1000)
} else {
this.$toast.fail('填报失败');
}
})
},
znzsnyConfirm(val) {
this.$set(this.formData, "dj_znzsny", moment(val).format('YYYY-MM-DD'))
this.znzsnyShow = false
},
djlxOnSelect(val) {
this.$set(this.formData, "dj_djlx", val.value)
this.$set(this.formData, "dj_djlx_name", val.name)
this.djlxShow = false
},
init() {
this.$set(this.formData, "dj_jzgid", "${@shiro.getPrincipalProperty('id')}")
this.$set(this.formData, 'dj_gzh', "${@shiro.getPrincipalProperty('loginname')}")
this.$set(this.formData, 'dj_iphone', "${@shiro.getPrincipalProperty('mobile')}")
this.$set(this.formData, 'username', "${@shiro.getPrincipalProperty('username')}")
this.$set(this.formData, 'dj_szdw', "${@shiro.getPrincipalProperty('unit').getName()}")
},
async findOne(id) {
const resp = await $.post("/platform/zgfw/znxx/apply/findOne", {id})
if (resp.code === 0) {
this.formData = resp.data
this.$set(this.formData, "dj_djlx_name", this.djlxActions.find(v => v.value === resp.data.dj_djlx).name)
this.currentDate = new Date(resp.data.dj_znzsny)
}
},
},
async created() {
const id = GetQueryString("id")
id ? this.findOne(id) : this.init()
}
})
</script>
<!--#
}
#-->