300 lines
14 KiB
HTML
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="附  件" required style="flex-flow: column" input-align="left"
|
|
:rules="[{ required: true, message: '必填' }]">
|
|
<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" name="applicantsign">
|
|
<template #label>
|
|
<div class="mb10">签  字</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>
|
|
<!--#
|
|
}
|
|
#--> |