256 lines
12 KiB
HTML
256 lines
12 KiB
HTML
<!--#
|
|
layout("/mobile/platform.html"){
|
|
#-->
|
|
|
|
<div id="app" v-cloak>
|
|
<van-nav-bar title="困难补助申请" left-arrow placeholder fixed
|
|
@click-left="history.back()"></van-nav-bar>
|
|
<van-form ref="addForm" :show-error-message="false" input-align="right">
|
|
<van-cell-group inset class="mt10">
|
|
<van-field readonly
|
|
value="${@shiro.getPrincipalProperty('username')} ( ${@shiro.getPrincipalProperty('loginname')} )"
|
|
name="sqrname"
|
|
label="申请人"></van-field>
|
|
|
|
<van-field name="apply_mode" label="申请模式">
|
|
<template #input>
|
|
<van-radio-group v-model="formData.apply_mode" direction="horizontal" @change="applyModeChange">
|
|
<van-radio :name="1">本人申请</van-radio>
|
|
<van-radio :name="2">替他人申请</van-radio>
|
|
</van-radio-group>
|
|
</template>
|
|
</van-field>
|
|
|
|
<van-field @input="userRemoteMethod" name="bbzrusername"
|
|
v-model="formData.bbzrusername" label="受补助人" placeholder="请输入受补助人姓名"
|
|
:rules="[{ required: true, message: '请填写受补助人姓名' }]"></van-field>
|
|
|
|
<van-action-sheet v-model="sheetShow"
|
|
:actions="userList"
|
|
cancel-text="重新输入姓名或工号查询"
|
|
@cancel="userList = []"
|
|
:close-on-click-overlay="false"
|
|
@select="onUserSelect">
|
|
</van-action-sheet>
|
|
<van-field label="身份证号" v-model="formData.idcard"></van-field>
|
|
|
|
|
|
<van-field label="性别" v-model="formData.sex"></van-field>
|
|
|
|
<van-field label="职称" v-model="formData.zc"></van-field>
|
|
<van-field label="职务" v-model="formData.zw"></van-field>
|
|
|
|
<van-field label="单位" v-model="formData.unitname"></van-field>
|
|
|
|
<van-field label="出生日期" v-model="formData.birthday"></van-field>
|
|
|
|
<van-field label="手机号码" v-model="formData.lxfs"></van-field>
|
|
|
|
|
|
<van-field name="sq_bzlx_name"
|
|
@click="sq_bzlxShow = true"
|
|
:value="formData.sq_bzlx_name" label="补助类型" placeholder="请选择补助类型"></van-field>
|
|
<van-popup v-model:show="sq_bzlxShow" position="bottom" round>
|
|
<van-picker show-toolbar :columns="sq_bzlxList" @confirm="onSq_bzlxConfirm"
|
|
@cancel="sq_bzlxShow = false">
|
|
</van-picker>
|
|
</van-popup>
|
|
|
|
<van-field name="sq_knlx_name"
|
|
@click="sq_knlxShow = true"
|
|
:value="formData.sq_knlx_name" label="困难类型" placeholder="请选择困难类型"></van-field>
|
|
<van-popup v-model:show="sq_knlxShow" position="bottom" round>
|
|
<van-picker show-toolbar :columns="sq_knlxist" @confirm="onSq_knlxConfirm"
|
|
@cancel="sq_knlxShow = false">
|
|
</van-picker>
|
|
</van-popup>
|
|
|
|
<template v-if="formData.sq_knlx==1">
|
|
<van-field label="所在医院" placeholder="请填写所在所在医院" v-model="formData.hospital"></van-field>
|
|
<van-field label="住院时间" :value="formData.hospitalized_time_name"
|
|
placeholder="请填写住院时间"
|
|
@click="hospitalized_timeShow = true"></van-field>
|
|
<van-calendar v-model="hospitalized_timeShow" :min-date="new Date('1999-01-01')" :show-confirm="false"
|
|
type="range"
|
|
@confirm="onHospitalized_timeConfirm"></van-calendar>
|
|
</template>
|
|
|
|
<van-field v-model="formData.apply_reason" name="remark" label="申请理由" style="flex-flow: column"
|
|
placeholder="请填写申请理由"
|
|
input-align="left"
|
|
rows="3" maxlength="200" type="textarea" show-word-limit autosize>
|
|
<template #label>
|
|
<div class="mb10">申请事由</div>
|
|
</template>
|
|
</van-field>
|
|
|
|
</van-cell-group>
|
|
|
|
<van-cell-group inset class="mt10">
|
|
<van-field name="files" label="附  件" required style="flex-flow: column" input-align="left">
|
|
<template #label>
|
|
<div class="mb10">附  件</div>
|
|
</template>
|
|
<template #input>
|
|
<vant-file-upload :files.sync="formData.files"></vant-file-upload>
|
|
</template>
|
|
</van-field>
|
|
</van-cell-group>
|
|
|
|
<van-cell-group inset class="mt10">
|
|
<van-field label="签字" required style="flex-flow: column">
|
|
<template #label>
|
|
<div class="mb10">签  字</div>
|
|
</template>
|
|
<template #input>
|
|
<mobile-sign ref="signature" :my_sign.sync="formData.sqsign"></mobile-sign>
|
|
</template>
|
|
</van-field>
|
|
</van-cell-group>
|
|
|
|
<div style="margin: 20px 20px 10px 20px">
|
|
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">
|
|
提 交
|
|
</van-button>
|
|
</div>
|
|
</van-form>
|
|
</div>
|
|
<script src="/assets/platform/module/difficulty/common.js?v=1.0.0"></script>
|
|
|
|
<script>
|
|
const vue = new Vue({
|
|
el: '#app',
|
|
mixins: [mobileMixins],
|
|
data() {
|
|
return {
|
|
hospitalized_timeShow: false,
|
|
sq_bzlxShow: false,
|
|
sq_bzlxList: [],
|
|
minDate: {},
|
|
sq_knlxShow: false,
|
|
sq_knlxist: [],
|
|
userList: [],
|
|
formData: {
|
|
apply_mode: 1
|
|
},
|
|
sheetShow: false,
|
|
files: [],
|
|
}
|
|
},
|
|
components: {
|
|
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
|
},
|
|
methods: {
|
|
onHospitalized_timeConfirm(val) {
|
|
this.$set(this.formData, "hospitalized_time_name", moment(val[0]).format('YYYY-MM-DD') + "至" + moment(val[1]).format('YYYY-MM-DD'))
|
|
this.$set(this.formData, "hospitalized_time", moment(val[0]).format('YYYY-MM-DD') + "至" + moment(val[1]).format('YYYY-MM-DD'))
|
|
this.hospitalized_timeShow = false
|
|
},
|
|
onSq_bzlxConfirm(val) {
|
|
this.$set(this.formData, "sq_bzlx_name", val.text)
|
|
this.$set(this.formData, "sq_bzlx", val.value)
|
|
for (let i in difficulty.getHard(val.value)) {
|
|
this.sq_knlxist.push({value: i, text: difficulty.getHard(val.value)[i]})
|
|
}
|
|
this.$set(this.formData, "sq_knlx_name", null)
|
|
this.$set(this.formData, "sq_knlx", null)
|
|
this.sq_bzlxShow = false
|
|
},
|
|
onSq_knlxConfirm(val) {
|
|
this.$set(this.formData, "sq_knlx_name", val.text)
|
|
this.$set(this.formData, "sq_knlx", val.value)
|
|
this.sq_knlxShow = false
|
|
|
|
},
|
|
applyModeChange(val) {
|
|
if (val === 1) {
|
|
this.$set(this.formData, 'difficultyUser', "${@shiro.getPrincipalProperty('id')}")
|
|
this.$set(this.formData, 'bbzrusername', "${@shiro.getPrincipalProperty('username')}")
|
|
this.$set(this.formData, 'sex', "${@shiro.getPrincipalProperty('sex')}")
|
|
this.$set(this.formData, 'zc', "${@shiro.getPrincipalProperty('jobTitle')}")
|
|
this.$set(this.formData, 'zw', "${@shiro.getPrincipalProperty('position')}")
|
|
this.$set(this.formData, 'unitname', "${@shiro.getPrincipalProperty('unit').getName()}")
|
|
this.$set(this.formData, 'birthday', "${@shiro.getPrincipalProperty('birthday')}")
|
|
this.$set(this.formData, 'lxfs', "${@shiro.getPrincipalProperty('mobile')}")
|
|
this.$set(this.formData, 'idcard', "${@shiro.getPrincipalProperty('idCard')}")
|
|
} else if (val === 2) {
|
|
this.formData = {}
|
|
this.$set(this.formData, 'apply_mode', 2)
|
|
this.$set(this.formData, 'bbzrusername', undefined)
|
|
}
|
|
},
|
|
async userRemoteMethod(query) {
|
|
if (query) {
|
|
const {data} = await $.get("/platform/fw/condolence/apply/queryUser", {query})
|
|
data.forEach(v => {
|
|
v.name = v.username
|
|
v.subname = v.loginname
|
|
return v
|
|
})
|
|
this.userList = data
|
|
this.sheetShow = true
|
|
}
|
|
},
|
|
onUserSelect(val) {
|
|
this.$set(this.formData, 'difficultyUser', val.id)
|
|
this.$set(this.formData, 'bbzrusername', val.name)
|
|
this.$set(this.formData, 'lxfs', val.mobile)
|
|
this.$set(this.formData, 'sex', val.sex)
|
|
this.$set(this.formData, 'unitname', val.unitname)
|
|
this.$set(this.formData, 'zc', val.jobTitle)
|
|
this.$set(this.formData, 'zw', val.position)
|
|
this.$set(this.formData, 'birthday', val.birthday)
|
|
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
|
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
|
this.sheetShow = false
|
|
},
|
|
|
|
async onSubmit() {
|
|
this.$refs.signature.submitSign()
|
|
/* if (!this.formData.sqsign) {
|
|
vant.Toast('请签名!')
|
|
return
|
|
}*/
|
|
const formData = clone(this.formData)
|
|
formData.files = JSON.stringify(formData.files)
|
|
formData.applicantsign = formData.sqsign
|
|
formData.bbzrusername = formData.difficultyUser
|
|
this.$refs['addForm'].validate().then(async () => {
|
|
this.$toast.loading('提交中...')
|
|
const res = await $.post('/platform/fw/difficulty/apply/doAdd', formData)
|
|
if (res.code === 0) {
|
|
this.$toast.success('申请成功');
|
|
setTimeout(() => {
|
|
location.replace('/mobile/difficulty/apply/apply_list')
|
|
}, 1000)
|
|
} else {
|
|
this.$toast.fail('申请失败');
|
|
}
|
|
})
|
|
},
|
|
},
|
|
mounted() {
|
|
this.$nextTick(() => {
|
|
if (this.$refs.signature) {
|
|
this.$refs.signature.getMySign()
|
|
}
|
|
})
|
|
},
|
|
async created() {
|
|
this.applyModeChange(1)
|
|
for (let i in difficulty.subsidy) {
|
|
this.sq_bzlxList.push({value: i, text: difficulty.subsidy[i]})
|
|
}
|
|
|
|
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
|
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
|
for (let i in difficulty.getHard(this.formData.sq_bzlx)) {
|
|
this.sq_knlxist.push({value: i, text: difficulty.getHard(this.formData.sq_bzlx)[i]})
|
|
}
|
|
this.formData.apply_time = moment().format('YYYY-MM-DD')
|
|
}
|
|
})
|
|
</script>
|
|
<!--#
|
|
}
|
|
#--> |