266 lines
13 KiB
HTML
266 lines
13 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">
|
|
<van-cell-group class="cell-card">
|
|
<van-field readonly v-model="formData.user_name" name="user_name" label="姓  名"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field readonly v-model="formData.sex" name="sex"
|
|
label="性  别"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field readonly v-model="formData.user_age" name="user_age"
|
|
label="年龄(岁)"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field readonly v-model="formData.unit_name" name="unit_name"
|
|
label="部  门"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field readonly v-if="formData.on_job" value="在职" label="在职状态" input-align="right"></van-field>
|
|
<van-field readonly v-else value="退休" label="在职状态" input-align="right"></van-field>
|
|
|
|
|
|
<van-field v-model="formData.mobile" name="mobile"
|
|
label="联系电话"
|
|
input-align="right"></van-field>
|
|
<van-field required v-model="formData.disease_diagnosis" name="disease_diagnosis"
|
|
label="疾病诊断" placeholder="请填写疾病诊断"
|
|
input-align="right" :rules="[{ required:true, message: '请填写疾病诊断'}]"></van-field>
|
|
|
|
<van-field required v-model="formData.hospital" name="hospital"
|
|
label="入住医院" placeholder="请填写入住医院"
|
|
:rules="[{ required:true, message: '请填写入住医院'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required label="住院开始时间" :value="formData.starting_time"
|
|
@click="show = true" placeholder="请填写住院开始时间" input-align="right"
|
|
:rules="[{ required:true, message: '请填写住院开始时间'}]"></van-field>
|
|
<van-popup v-model="show" round position="bottom" :style="{ height: '40%' }">
|
|
<van-datetime-picker
|
|
type="date"
|
|
title="选择年月日"
|
|
:min-date="minDate"
|
|
:max-date="maxDate"
|
|
@confirm="onConfirm"
|
|
></van-datetime-picker>
|
|
</van-popup>
|
|
|
|
|
|
<van-field required label="住院结束时间" :value="formData.end_time"
|
|
@click="show1 = true" placeholder="请填写住院结束时间" input-align="right"
|
|
:rules="[{ required:true, message: '请填写住院结束时间'}]"></van-field>
|
|
<van-popup v-model="show1" round position="bottom" :style="{ height: '40%' }">
|
|
<van-datetime-picker
|
|
type="date"
|
|
title="选择年月日"
|
|
:min-date="minDate"
|
|
:max-date="maxDate"
|
|
@confirm="onConfirm1"
|
|
></van-datetime-picker>
|
|
</van-popup>
|
|
|
|
<van-field readonly v-model="formData.hospital_stay" name="hospital_stay"
|
|
label="住院天数" placeholder="请填写住院天数"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.bank_name" name="bank_name"
|
|
label="开户银行名称" placeholder="请填写开户银行名称"
|
|
:rules="[{ required:true, message: '请填写开户银行名称'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.bank_account" name="bank_account"
|
|
label="银行账号" placeholder="请填写银行账号"
|
|
:rules="[{ required:true, message: '请填写银行账号'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.total_medical_expenses" name="total_medical_expenses"
|
|
label="本次住院医疗费总额" placeholder="请填写本次住院医疗费总额"
|
|
:rules="[{ required:true, message: '请填写本次住院医疗费总额'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.overall_fund_payment" name="total_medical_expenses"
|
|
label="统筹基金支付总额(医保支付)" placeholder="请填写统筹基金支付总额(医保支付)"
|
|
:rules="[{ required:true, message: '请填写统筹基金支付总额(医保支付)'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.individual_pay" name="individual_pay"
|
|
label="部分政策字符的个人支付" placeholder="请填写部分政策字符的个人支付"
|
|
:rules="[{ required:true, message: '请填写部分政策字符的个人支付'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.overall_individual_pay" name="overall_individual_pay"
|
|
label="统筹段的个人比例自付部分" placeholder="请填写统筹段的个人比例自付部分"
|
|
:rules="[{ required:true, message: '请填写统筹段的个人比例自付部分'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.deductible" name="deductible"
|
|
label="起付线自付费(门槛费)" placeholder="请填写起付线自付费(门槛费)"
|
|
:rules="[{ required:true, message: '请填写起付线自付费(门槛费)'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.materials" name="materials"
|
|
label="完全政策自付中内置材料和自费药费" placeholder="请填写完全政策自付中内置材料和自费药费"
|
|
:rules="[{ required:true, message: '请填写完全政策自付中内置材料和自费药费'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.insured_amount" name="insured_amount"
|
|
label="其他保险报销金额" placeholder="请填写其他保险报销金额"
|
|
:rules="[{ required:true, message: '请填写其他保险报销金额'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field required v-model="formData.invoice_num" name="invoice_num"
|
|
label="发票号码" placeholder="请填写发票号码"
|
|
:rules="[{ required:true, message: '请填写发票号码'}]"
|
|
input-align="right"></van-field>
|
|
|
|
<van-field name="files_invoice" label="发  票" required>
|
|
<template #input>
|
|
<upload :files.sync="formData.files_invoice"></upload>
|
|
</template>
|
|
</van-field>
|
|
|
|
<van-field name="files_medical_certificate" label="诊断书" required>
|
|
<template #input>
|
|
<upload :files.sync="formData.files_medical_certificate"></upload>
|
|
</template>
|
|
</van-field>
|
|
|
|
<van-field name="files_medicare_settlement" label="医保结算单" required>
|
|
<template #input>
|
|
<upload :files.sync="formData.files_medicare_settlement"></upload>
|
|
</template>
|
|
</van-field>
|
|
|
|
<van-field name="files_summary_discharge" label="出院小结" required>
|
|
<template #input>
|
|
<upload :files.sync="formData.files_summary_discharge"></upload>
|
|
</template>
|
|
</van-field>
|
|
|
|
<van-dialog id="dialog" v-model="showSign" title="请签字确认" show-cancel-button @confirm="onSubmit"
|
|
@close="$refs.signature.reset()">
|
|
<mobile-sign ref="signature" :my_sign.sync="sign"></mobile-sign>
|
|
</van-dialog>
|
|
|
|
</van-cell-group>
|
|
|
|
<div class="bottomDiv">
|
|
<van-button class="bottomBut" @click="openDialog" round block type="info" color="#39acff">
|
|
提 交
|
|
</van-button>
|
|
</div>
|
|
|
|
</van-form>
|
|
</div>
|
|
|
|
<script>
|
|
const vue = new Vue({
|
|
el: '#app',
|
|
data() {
|
|
return {
|
|
sign: "",
|
|
showSign: false,
|
|
show: false,
|
|
show1: false,
|
|
files_invoice: [],
|
|
formData: {},
|
|
minDate: new Date(2000, 0, 1),
|
|
maxDate: new Date(8080, 10, 1),
|
|
}
|
|
},
|
|
components: {
|
|
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
|
'upload': httpVueLoader('/components/plugins/VantFileUpload.vue'),
|
|
},
|
|
methods: {
|
|
openDialog() {
|
|
this.$refs['addForm'].validate().then(() => {
|
|
this.showSign = true
|
|
this.$nextTick(() => {
|
|
this.$refs.signature.getMySign()
|
|
this.$refs.signature.submitSign()
|
|
})
|
|
})
|
|
},
|
|
async onSubmit() {
|
|
|
|
if (!this.sign) {
|
|
this.$toast('请签名再提交')
|
|
return
|
|
}
|
|
|
|
const {files_invoice, files_medical_certificate, files_medicare_settlement, files_summary_discharge} = this.formData
|
|
|
|
if (!files_invoice || !files_medical_certificate || !files_medicare_settlement || !files_summary_discharge) {
|
|
this.$toast('请把附件填写完整')
|
|
return
|
|
}
|
|
|
|
const formData = JSON.parse(JSON.stringify(this.formData))
|
|
formData.sign = null
|
|
formData.hospital_time = formData.starting_time.toString() + ',' + formData.end_time.toString()
|
|
|
|
this.$toast.loading('提交中...')
|
|
|
|
const res = await $.post('/platform/fw/medicalAid/common/apply/doAdd', {
|
|
data: JSON.stringify(formData),
|
|
sign: this.sign
|
|
|
|
})
|
|
if (res.code === 0) {
|
|
this.$toast.success('申请成功');
|
|
setTimeout(() => {
|
|
location.replace('/mobile/medicalAid')
|
|
}, 1000)
|
|
} else {
|
|
this.$toast.fail('申请失败');
|
|
}
|
|
|
|
},
|
|
onConfirm(date) {
|
|
this.show = false;
|
|
this.formData.starting_time = moment(date).format('YYYY-MM-DD');
|
|
},
|
|
onConfirm1(date) {
|
|
this.show1 = false;
|
|
this.formData.end_time = moment(date).format('YYYY-MM-DD');
|
|
const end_time = Date.parse(this.formData.end_time);
|
|
const starting_time = Date.parse(this.formData.starting_time)
|
|
this.formData.hospital_stay = (end_time - starting_time) / (1 * 24 * 60 * 60 * 1000);
|
|
},
|
|
init() {
|
|
this.formData = {
|
|
files: [],
|
|
hospital_time: [],
|
|
user_name: '${@shiro.getPrincipalProperty("username")}',
|
|
sex: '${@shiro.getPrincipalProperty("sex")}',
|
|
user_age: '${@shiro.getPrincipalProperty("birthday")}' ? moment().diff(moment('${@shiro.getPrincipalProperty("birthday")}'), 'years') : '',
|
|
unit_name: '${@shiro.getPrincipalProperty("unit").getName()}',
|
|
mobile: '${@shiro.getPrincipalProperty("mobile")}',
|
|
bank_account: '${@shiro.getPrincipalProperty("bank_number")}',
|
|
bank_name: '${@shiro.getPrincipalProperty("bank_number")}' ? bankCardAttribution('${@shiro.getPrincipalProperty("bank_number")}').bankName : '',
|
|
}
|
|
const zzzt = '${@shiro.getPrincipalProperty("zzzt")}'
|
|
|
|
if (zzzt == '在职') {
|
|
this.$set(this.formData, "on_job", true)
|
|
} else if (zzzt == '退休') {
|
|
this.$set(this.formData, "on_job", false)
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.init()
|
|
}
|
|
})
|
|
</script>
|
|
|
|
|
|
<!--#
|
|
}
|
|
#--> |