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

354 lines
17 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-divider--horizontal {
margin-top: 50px;
margin-bottom: 40px;
}
</style>
<div id="app" v-cloak>
<guava>
<el-card shadow="never">
<div slot="header" class="clearfix">
<h3 style="color: #1867b0">填写申请信息</h3>
</div>
<el-form :model="formData" ref="addform" :rules="formRules" label-width="120px">
<el-row :gutter="20">
<!--#if(@shiro.hasRole('sysadmin') || @shiro.hasRole('ghzl') ){#-->
<el-col :span="8">
<el-form-item prop="sqrusername" label="姓名">
<el-select
style="width: 100%"
v-model="formData.sqrusername"
@change="userChange"
filterable
remote
reserve-keyword
placeholder="请输入姓名查找"
:disabled="isModify"
:remote-method="getSelfUnionUser">
<el-option
v-for="item in userList"
:key="item.id"
:label="item.username"
:value="item.username">
</el-option>
</el-select>
</el-form-item>
</el-col>
<!--#}else{#-->
<el-col :span="8">
<el-form-item prop="sqrusername" label="姓名">
<el-input disabled v-model="formData.sqrusername"
type="text">
</el-input>
</el-form-item>
</el-col>
<!--#}#-->
<el-col :span="8">
<el-form-item prop="sqrloginname" label="工号">
<el-input disabled v-model="formData.sqrloginname"
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="sex" label="性别">
<el-select v-model="formData.sex" placeholder="请选择性别" clearable
:disabled="formData.apply_mode==1" style="width: 100%">
<el-option v-for="item in ['男','女']" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item prop="birthday" label="出生年月">
<el-date-picker
clearable
style="width: 100%"
v-model="formData.birthday"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择出生年月">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="lxfs" label="联系电话">
<el-input maxlength="100" clearable placeholder="请填写联系电话" v-model="formData.lxfs"
type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="8">
<el-form-item prop="unitname" label="所在单位">
<el-input maxlength="100" clearable placeholder="所在单位" v-model="formData.unitname"
readonly
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="unionname" label="所在分工会">
<el-input maxlength="100" clearable placeholder="所在分工会" v-model="formData.unionname"
readonly
type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="8">
<el-form-item label="补助类型" prop="sq_bzlx">
<el-select v-model="formData.sq_bzlx" @change="$set(formData,'sq_knlx','')"
@clear="$set(formData,'sq_knlx','')" style="width: 100%">
<el-option v-for="(v,k) in difficulty.subsidy" :label="v" :value="k"
:key="k"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="困难类型" prop="sq_knlx">
<el-select v-model="formData.sq_knlx" clearable style="width: 100%">
<el-option v-for="(v,k) in difficulty.getHard(formData.sq_bzlx)" :key="k" :value="k"
:label="v"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="apply_reason" label="申请原因">
<el-input maxlength="500" :autosize="{ minRows: 5, maxRows: 10}" placeholder="请简述申请原因"
clearable
v-model="formData.apply_reason"
type="textarea"></el-input>
</el-form-item>
<el-form-item prop="files" label="申请附件">
<file-upload :files.sync="formData.files" card></file-upload>
</el-form-item>
<el-form-item prop="sqsign" label="申请签字">
<sign :qz.sync="formData.sqsign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button type="primary" @click="operation">
{{formData.zt==150?'重新提交':'提交'}}
</el-button>
</div>
</el-card>
</guava>
<el-dialog
title="申请须知"
:visible.sync="dialogVisible"
width="60%">
<h2 style="text-align: center;"><span
style="font-family: 黑体;"><strong>关于开展“送温暖”活动的通知</strong></span></h2>
<p style="text-align: left;"><span style="color: black;">各分工会:</span></p>
<p style="text-indent: 32pt; text-align: left;"><span style="color: black;">为进一步做好困难教职工帮扶关怀工作,根据校工会工作计划,经研究,拟定于2026年春节前夕对我校生活困难的在职教职工开展“送温暖”活动。现将有关事宜通知如下:</span>
</p>
<p style="text-indent: 32.15pt;"><strong>一、活动内容</strong></p>
<p style="text-indent: 24pt;">根据“照顾重点,兼顾一般”的原则。请各分工会认真做好宣传、调查和申报工作,开展送温暖活动。
</p>
<p style="text-indent: 32.15pt;"><strong>二、慰问对象的条件</strong></p>
<p style="text-indent: 32pt;">1.本年度会员身患重大疾病,造成生活特别困难的;</p>
<p style="text-indent: 32pt;">
2.本年度会员直系亲属(指会员本人的父母、配偶、子女)身患重大疾病,造成生活特别困难的;</p>
<p style="text-indent: 32pt;">3.本年度会员家庭因遭遇突发重大事件,造成生活特别困难等其它特殊情况。</p>
<p style="text-indent: 32.15pt;"><strong>三、工作要求</strong></p>
<p style="text-indent: 32pt;">
1.请各分工会对照条件,摸清困难教职工的致困原因和家庭生活等详情,做到不漏报,确保申报工作的准确性。</p>
<p style="text-indent: 32pt;">
2.对符合申报要求者,请登录“智慧工会”系统办理(“职工服务”→“爱心帮扶系统”→“帮扶申请”),由分工会会员本人填报或各分工会委员代为填报。申请困难补助原因务必详尽,并请提供相关支撑材料(凡申请重病补助者须持本年度市以上医院出院记录或病情诊断书)。填报截止时间:2025年12月25日(周四)下午5点。</p>
<p style="text-indent: 32pt;">
3.机关一/机关二/机关三分工会均归口机关党委书记网上审核,其它分工会由党总支书记/直属党支部书记网上审核。待校工会审批通过后,会自动生成表单,无需提交纸质单据。</p>
<p style="text-indent: 32pt;">
校工会对符合条件的在职教职工,可确定为“送温暖”慰问对象,慰问标准根据当年实际情况而定。</p>
<p style="text-indent: 32pt; text-align: right;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; 南京体育学院工会委员会</p>
<p style="text-indent: 256pt; text-align: right;">2025年12月18日 &nbsp; </p>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogVisible = false">我已知晓</el-button>
</span>
</el-dialog>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [initTableMixins],
components: {
'apply': httpVueLoader('/components/difficulty/apply.vue'),
},
data() {
return {
dialogVisible: true,
formData: {
sq_bzlx: "1",
sqsj: moment().format('YYYY-MM-DD'),
apply_mode: '1',
jtcys: [],
},
formRules: {
sq_knlx: [{required: true, message: '请选择困难类型', trigger: ['blur', 'change']}],
apply_reason: [{required: true, message: '请输入申请困难补助的原因', trigger: ['blur', 'change']}],
files: [{required: true, message: '请上传附件', trigger: ['blur', 'change']}],
sqsign: [{required: true, message: '请签字', trigger: ['blur', 'change']}]
},
userList: [],
}
},
computed: {
isModify() {
return GetQueryString("id") != null && GetQueryString("id") !== ''
}
},
watch: {
'formData.sq_knlx'(val) {
if (['1', '2'].includes(val)) {
this.formRules.files[0].message = '请上传市以上医院病情诊断复印件壹份'
} else {
this.formRules.files[0].message = '请上传相关证明材料'
}
if (this.$refs.addform) {
this.$refs.addform.validateField(['files'], (val) => {
console.log(val)
})
}
},
'formData.files'(val) {
if (this.$refs.addform) {
this.$refs.addform.validateField(['files'], (val) => {
console.log(val)
})
}
}
},
methods: {
async getSelfUnionUser(keyword) {
const {data} = await $.get(loc() + '/getSelfUnionUser', {keyword})
this.userList = data
},
userChange(userId) {
const user = this.userList.find(v => v.username === userId)
this.$set(this.formData, 'sqr', user.id)
this.$set(this.formData, 'sqrloginname', user.loginname)
this.$set(this.formData, 'sex', user.sex)
this.$set(this.formData, 'birthday', user.birthday)
this.$set(this.formData, 'lxfs', user.mobile)
this.$set(this.formData, 'unitname', user.unitname)
this.$set(this.formData, 'unionname', user.unionname)
// this.formData = u
},
async getUserData() {
const {data, code, msg} = await $.post(loc() + "/getUserData")
if (code === 0) {
this.$set(this.formData, 'sqr', data.id)
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});
}
},
async operation() {
let method = this.formData.id ? "/doEdit" : "/doAdd"
this.$refs["addform"].validate(async (valid) => {
if (valid) {
this.$confirm('您确定要提交吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const loading = this.$loading({
lock: true,
text: '正在提交...',
spinner: 'el-icon-loading',
background: COVER_LAYER_COLOR
})
const {code, msg} = await $.post(loc() + method, {
"knbf": JSON.stringify(this.formData),
"sqsign": this.formData.sqsign
})
loading.close()
if (code === 0) {
this.$notify.success({title: '成功', message: msg});
sublime.jumpPagePjax('/platform/fw/difficulty/applylist')
} else {
this.$notify.error({title: '失败', message: msg});
}
})
}
})
/* this.$refs["addform"].validate(async (valid) => {
if (valid) {*/
// const loading = this.$loading({
// lock: true,
// text: '正在提交...',
// spinner: 'el-icon-loading',
// background: COVER_LAYER_COLOR
// });
// const formData = Object.assign({}, this.formData);
// /*formData.jtcys = JSON.stringify(formData.jtcys)*/
// formData.files = JSON.stringify(formData.files)
// formData.applicantsign = formData.sqsign
// if (formData.apply_mode == 1) {
// formData.bbzrusername = "${@shiro.getPrincipalProperty('id')}"
// }
// const resp = await $.post(loc() + method, formData)
// if (resp.code === 0) {
// sublime.jumpPagePjax('/platform/fw/difficulty/applylist')
// loading.close()
// } else {
// this.$notify.error({title: '失败', message: resp.msg});
// loading.close()
// }
},
async openEdit(id) {
const resp = await $.get("/platform/fw/difficulty/applylist/findOne", {id})
if (resp.code === 0) {
if (resp.data.files) {
resp.data.files = JSON.parse(resp.data.files)
}
this.formData = resp.data
}
}
},
async created() {
const id = GetQueryString("id")
if (id) {
this.openEdit(id)
} else {
await this.getUserData()
}
// id ? this.openEdit(id) : this.radioButton()
}
})
</script>
<!--#
}
#-->