Files
zhxg_pc/src/views/poverty/fdy.vue
2025-07-28 15:52:07 +08:00

422 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 :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<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 :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</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 style="color:red" v-if="scope.row.penaltyStatus0 == 1" ></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 size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row,1)"
v-if="scope.row.step == 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 size="mini" type="text" v-if="scope.row.step != 1"
@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 type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" v-model="form.fdyqmrq" style="width: 100%;"></el-date-picker>
</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 type="textarea" placeholder="请输入理由" v-model="form.remark"></el-input>
</el-col>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-loading="btnloading" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
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: "poverty_Apply",
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
},
// 表单参数
form: {status:'1'},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
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;
});
},
// 取消按钮
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
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
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>