354 lines
17 KiB
HTML
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;">
|
|
南京体育学院工会委员会</p>
|
|
<p style="text-indent: 256pt; text-align: right;">2025年12月18日 </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>
|
|
|
|
|
|
<!--#
|
|
}
|
|
#-->
|