Files
zhxg_pc/src/views/poverty/fdy.vue
2025-10-18 17:13:04 +08:00

455 lines
17 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true"
label-width="68px"
>
<el-form-item label="班级" prop="classId">
<el-cascader v-model="classVlue1" placeholder="请选择班级" :show-all-levels="false" :options="ClassNameList"
clearable filterable @change="handleChange1"
>
<template slot-scope="{ node, data }">
<span>{{ data.label }}</span>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
</template>
</el-cascader>
</el-form-item>
<el-form-item label="姓名" prop="xm">
<el-input v-model="queryParams.xm" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学号" prop="xh">
<el-input v-model="queryParams.xh" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
@click="handleUpdate">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple">删除</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="hanlerDialog">批量审核</el-button>
</el-col> -->
<right-toolbar :show-search.sync="showSearch" @queryTable="getList" />
</el-row>
<el-table v-loading="loading" :data="applyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="学年" align="center" prop="applyYear" />
<el-table-column label="学号" align="center" prop="xh" />
<el-table-column label="姓名" align="center" prop="xm" />
<el-table-column label="年级" align="center" prop="nj" />
<el-table-column label="学院" align="center" prop="xy" />
<el-table-column label="专业" align="center" prop="zy" />
<el-table-column label="班级" align="center" prop="bj" />
<el-table-column label="辅导员审核" align="center" prop="fdyqm">
<template slot-scope="scope">
<!-- <img v-if="scope.row.fdyqm" :src="scope.row.zp" width="160px" height="50px"> -->
<div v-if="scope.row.fdyqm != null && scope.row.fdyqm != ''">
<div v-if="scope.row.bjyjdj == '1'">
一等国家助学金
</div>
<div v-if="scope.row.bjyjdj == '2'">
二等国家助学金
</div>
<div v-if="scope.row.bjyjdj == '3'">
三等国家助学金
</div>
</div>
<span v-else>{{ scope.row.status1 }}</span>
</template>
</el-table-column>
<el-table-column label="二级学院审核" align="center" prop="ejxyldqm">
<template slot-scope="scope">
<div v-if="scope.row.ejxyldqm">
<div v-if="scope.row.csdj == '1'">
一等国家助学金
</div>
<div v-if="scope.row.csdj == '2'">
二等国家助学金
</div>
<div v-if="scope.row.csdj == '3'">
三等国家助学金
</div>
<!-- 签名<img :src="scope.row.ejxyldqm" width="160px" height="50px"> -->
</div>
<span v-else>未审核</span>
</template>
</el-table-column>
<el-table-column label="学院意见" align="center" prop="zzdj">
<template slot-scope="scope">
<div v-if="scope.row.zzdj">
<div v-if="scope.row.zzdj == '1'">
一等国家助学金
</div>
<div v-if="scope.row.zzdj == '2'">
二等国家助学金
</div>
<div v-if="scope.row.zzdj == '3'">
三等国家助学金
</div>
</div>
<div v-else>{{ scope.row.status3 }}</div>
</template>
</el-table-column>
<el-table-column label="处分是否解除" align="center">
<template slot-scope="scope">
<span v-if="scope.row.penaltyStatus0 == 1" style="color:red"></span>
<span v-else-if="scope.row.penaltyStatus1 == 1"></span>
<!-- <span v-else-if="scope.row.penaltyStatus3 == 3 ">处分申请中</span> -->
<span v-else>无处分记录</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="scope.row.step == 1" v-hasPermi="['system:apply:edit']">修改</el-button> -->
<el-button v-if="scope.row.step == 1" size="mini" type="text" icon="el-icon-edit"
@click="handleUpdate(scope.row, 1)"
>辅导员审核</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="scope.row.step == 3" v-hasPermi="['system:apply:edit']">二级学院审核</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="scope.row.step == 4" v-hasPermi="['system:apply:edit']">学校意见</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.step == 1"
@click="handleDelete(scope.row)" v-hasPermi="['system:apply:remove']">删除</el-button> -->
<el-button v-if="scope.row.step != 1" size="mini" type="text"
@click="handleUpdate(scope.row, 2)"
>查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList"
/>
<!--批量审核对话框 -->
<el-dialog title="批量编辑" :visible.sync="open" width="80%" append-to-body>
<el-form label-width="180px">
<el-form-item label="审批类型">
<el-radio-group v-model="form.status">
<el-radio :label="'0'" name="type">拒绝</el-radio>
<el-radio :label="'1'" name="type">通过</el-radio>
<el-radio :label="'2'" name="type">驳回</el-radio>
</el-radio-group>
</el-form-item>
<el-row v-if="form.status == '1'">
<el-form-item label="签字上传">
<image-upload v-model="form.fdyqm" :disabled="true" :limit="1" />
</el-form-item>
<!-- <el-upload
:disabled="fdyEditDisable"
class="avatar-uploader"
:action="upload.url"
:headers="upload.headers"
:show-file-list="false"
:on-success="handleFdySignatureSuccess"
>
<img v-if="formData.fdyqm" :src="baseurl + formData.fdyqm" class="signature-img">
<span class="signature-tip" v-else>签名</span>
</el-upload> -->
<el-form-item label="签名日期">
<el-col :span="11">
<el-date-picker v-model="form.fdyqmrq" type="date" value-format="yyyy年MM月dd日"
placeholder="选择日期" style="width: 100%;"
/>
</el-col>
</el-form-item>
</el-row>
<el-row v-if="form.status == '0' || form.status == '2'">
<el-form-item label="理由">
<el-col :span="11">
<el-input v-model="form.remark" type="textarea" placeholder="请输入理由" />
</el-col>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button v-loading="btnloading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getClassName } from '@/api/stuCQS/basedata/student'
import { getUserProfile, updateSignature } from '@/api/system/user'
import { listApply, getApply, delApply, addApply, updateApply, listFdy, batchUpdateFdy } from '@/api/zxj/apply'
import ImportTable from '../tool/gen/importTable.vue'
import {
Message
} from 'element-ui'
export default {
name: 'PovertyApply',
data() {
return {
user: { signature: null },
btnloading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 【请填写功能名称】表格数据
applyList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
step: null,
xm: null,
xb: null,
mz: null,
zzmm: null,
xh: null,
rxsj: null,
csny: null,
dh: null,
nj: null,
xy: null,
zy: null,
bj: null,
kndj: null,
knlx: null,
knlx2: null,
rkzs: null,
yzsr: null,
rjyr: null,
srly: null,
jtcy: null,
sqly: null,
fdyqm: null,
fdyqmrq: null,
ejxyldqm: null,
ejxyldqmrq: null,
xsqm: null,
xsqmrq: null,
csdj: null,
zzdj: null,
classId:null
},
// 表单参数
form: { status: '1' },
// 表单校验
rules: {
},
ClassNameList: [],//班级名称
classVlue1: []//班级搜索选择
}
},
created() {
this.getList()
this.getClassNameList()
getUserProfile().then(response => {
this.form.fdyqm = response.data.signature
})
},
methods: {
hanlerDialog() {
if (this.ids.length == 0) {
this.$modal.msgError('至少选则一项')
return
}
this.open = true
},
/** 查询【请填写功能名称】列表 */
getList() {
this.loading = true
listFdy(this.queryParams).then(response => {
this.applyList = response.rows
this.total = response.total
this.loading = false
})
},
getClassNameList() {
getClassName().then(res => {
this.ClassNameList = res.data
})
},
//搜索班级选择
handleChange1(value) {
this.queryParams.classId = value[2]
//console.log(value);
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
step: null,
xm: null,
xb: null,
mz: null,
zzmm: null,
xh: null,
rxsj: null,
csny: null,
dh: null,
nj: null,
xy: null,
zy: null,
bj: null,
kndj: null,
knlx: null,
knlx2: null,
rkzs: null,
yzsr: null,
rjyr: null,
srly: null,
jtcy: null,
sqly: null,
fdyqm: null,
fdyqmrq: null,
ejxyldqm: null,
ejxyldqmrq: null,
xsqm: null,
xsqmrq: null,
csdj: null,
zzdj: null,
classId:null
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
this.classVlue1 = []
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加【请填写功能名称】'
this.$router.push({ path: 'proverty_examine' })
},
/** 修改按钮操作 */
handleUpdate(row, action) {
const nid = row.id || this.ids
this.$router.push({ path: 'proverty_examine', query: { id: nid, 'action': action } })
},
doUpdateSignature() {
updateSignature(this.user).then(res => { })
},
/** 提交按钮 */
submitForm() {
if (this.form.status == '1') {
if (this.form.fdyqm == '' || this.form.fdyqm == null) {
Message({
message: '请上传签名文件',
type: 'error'
})
return
}
if (this.form.fdyqmrq == '' || this.form.fdyqmrq == null) {
Message({
message: '请选择签名日期',
type: 'error'
})
return
}
} else {
if (this.form.remark == '' || this.form.remark == null) {
Message({
message: '请输入理由',
type: 'error'
})
return
}
}
this.form.step = 2
this.form.ids = this.ids
this.btnloading = true
batchUpdateFdy(this.form).then(res => {
this.btnloading = false
if (res.code == 200) {
this.$modal.msgSuccess('批量修改成功')
this.open = false
if (this.form.status == '1') {
this.user.signature = this.form.fdyqm
this.doUpdateSignature()
}
this.reset()
this.getList()
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除【请填写功能名称】编号为"' + ids + '"的数据项?').then(function () {
return delApply(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => { })
},
/** 导出按钮操作 */
handleExport() {
this.download('/comprehensive/zxj/apply/export', {
...this.queryParams
}, `apply_${new Date().getTime()}.xlsx`)
}
}
}
</script>