Files
zhxg_pc/src/views/poverty/fdy.vue

422 lines
17 KiB
Vue
Raw Normal View History

2025-07-28 15:52:07 +08:00
<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>