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

300 lines
14 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="formData.sqrusername"
name="sqrusername"
label="姓名"></van-field>
<van-field readonly
:value="formData.sqrloginname"
name="sqrloginname"
label="工号"></van-field>
<van-field readonly
:value="formData.sex"
name="sex"
label="性别"></van-field>
<van-field readonly
:value="formData.birthday"
name="birthday"
label="出生年月"></van-field>
<van-field readonly
:value="formData.lxfs"
name="lxfs"
label="联系电话"></van-field>
<van-field readonly
:value="formData.unitname"
name="unitname"
label="所在单位"></van-field>
<van-field readonly
:value="formData.unionname"
name="unionname"
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 name="sq_bzlx_name"
readonly
@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"
required
readonly
:rules="[{ required: true, message: '必填' }]"
@click="sq_knlxShow = true"
:value="formData.sq_knlx_name"
rows="3" maxlength="200" type="textarea"
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>
<van-field v-model="formData.apply_reason" name="remark" label="申请理由" style="flex-flow: column"
placeholder="请填写申请理由"
input-align="left"
:rules="[{ required: true, message: '必填' }]"
required
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="附&emsp;&emsp;件" required style="flex-flow: column" input-align="left"
:rules="[{ required: true, message: '必填' }]">
<template #label>
<div class="mb10">&emsp;&emsp;</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" name="applicantsign">
<template #label>
<div class="mb10">&emsp;&emsp;</div>
</template>
<template #input>
<mobile-sign ref="signature" :my_sign.sync="formData.applicantsign"></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.1"></script>
<script>
var vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
id: GetQueryString("id"),
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() {
if (this.$refs.signature.checkNull()) {
this.$toast('请签字')
return
}
this.$refs.signature.submitSign()
this.$refs['addForm'].validate().then(async () => {
this.$toast.loading('提交中...')
const res = await $.post('/platform/fw/difficulty/apply/doAdd', {"knbf": JSON.stringify(this.formData)})
if (res.code === 0) {
this.$toast.success('申请成功');
setTimeout(() => {
location.replace('/mobile/difficulty/apply/apply_list')
}, 1000)
} else {
this.$toast.fail('申请失败');
}
}).catch(() => {
this.$toast('带星号项必填')
})
},
async getApplyInfo(id) {
const {data, code, msg} = await $.get("/platform/fw/difficulty/applylist/findOne", {id})
if (data) {
data.apply_mode = parseInt(data.apply_mode)
this.formData = data
if (this.formData.files && this.formData.files.length > 0) {
this.formData.files = JSON.parse(data.files)
}
}
},
async getUserData() {
const {data, code, msg} = await $.post("/platform/fw/difficulty/apply/getUserData")
if (code === 0) {
this.$set(this.formData, 'sqrusername', data.username)
this.$set(this.formData, 'sqrloginname', data.loginname)
this.$set(this.formData, 'sex', data.sex)
this.$set(this.formData, 'birthday', data.birthday)
this.$set(this.formData, 'lxfs', data.mobile)
this.$set(this.formData, 'unitname', data.unitname)
this.$set(this.formData, 'unionname', data.unionname)
} else {
this.$notify.error({title: '失败', message: msg});
}
},
},
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')
if (this.id) {
this.getApplyInfo(this.id)
} else {
await this.getUserData()
}
}
})
</script>
<!--#
}
#-->