Files
2026-09-08 19:49:21 +08:00

263 lines
12 KiB
HTML
Raw Permalink 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.
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<div class="search">
<div class="search-item">
<div class="search-item-label">年度:</div>
<div class="search-item-option">
<el-date-picker
placeholder="选择年度"
type="year"
@change="doSearch"
style="width: 100%"
v-model="pageForm.year"
value-format="yyyy">
</el-date-picker>
</div>
</div>
<div class="search-item">
<div class="search-item-label">项目名称:</div>
<div class="search-item-option">
<div class="search-item-option">
<el-select v-model="pageForm.projectId" placeholder="请选择项目名称"
style="width: 100%;"
clearable
@change="doSearch();"
filterable="true">
<el-option v-for="o in projectList"
:label="o.projectName"
:value="o.id"></el-option>
</el-select>
</div>
</div>
</div>
<div class="search-item">
<div class="search-item-label">申报人:</div>
<div class="search-item-option">
<el-input v-model="pageForm.searchKeyword" clearable placeholder="请输入内容" @keyup.enter.native="doSearch">
<el-select slot="prepend" v-model="pageForm.searchName" placeholder="查询类型"
style="width: 120px;">
<el-option label="申报人姓名" value="u.username"></el-option>
<el-option label="申报人工号" value="u.loginname"></el-option>
</el-select>
</el-input>
</div>
</div>
<div class="search-item">
<div class="search-item-label">申报工会:</div>
<div class="search-item-option">
<el-select placeholder="请选择所属工会" v-model="pageForm.unionId"
style="width: 100%;"
clearable
@change="doSearch();"
filterable="true">
<el-option v-for="item in unions" :label="item.unionname"
:value="item.id"></el-option>
</el-select>
</div>
</div>
<div class="search-query">
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
</div>
</div>
</el-card>
<el-card class="mt10" shadow="never">
<table-tool :app="this" label="申报列表">
<template #func>
<el-radio-group @change="doSearch" class="mr10" size="small" v-model="pageForm.isAudit">
<el-radio-button :label="null">全部</el-radio-button>
<el-radio-button :label="true">已审核</el-radio-button>
<el-radio-button :label="false">未审核</el-radio-button>
</el-radio-group>
</template>
</table-tool>
<el-table :data="tableData" @sort-change="pageOrder" ref="table">
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
width="80px"></el-table-column>
<el-table-column
:label="column.label"
:prop="column.prop"
:width="column.width"
:sortable="column.sortable"
align="center"
header-align="center"
show-overflow-tooltip
v-for="column in tableColumns">
</el-table-column>
<el-table-column label="操作" width="200px">
<template slot-scope="{row}">
<el-button size="mini" :type="row.state>1800?null:'primary'"
@click="openView(row,row.state>1800)">
{{row.state>1800?'查看':'审核'}}
</el-button>
<el-button size="mini" type="danger" v-if="row.state>1800 && row.state<=1900"
@click="doRollBack(row)">撤回
</el-button>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
<template #edit>
<project-funding-info ref="auditInfo">
<template #handle>
<el-tab-pane label="校工会审核" name="xghAudit">
<el-form :model="formData" label-suffix="" label-width="100px" ref="auditForm">
<el-form-item label="审核人">
${@shiro.getPrincipalProperty('username')}
</el-form-item>
<el-form-item label="审核时间">
{{moment().format('YYYY-MM-DD')}}
</el-form-item>
<el-row>
<el-col span="24">
<el-form-item :rules="[{required: true, message: '请输入审批金额', trigger: ['blur']}]"
label="审批金额"
prop="auditAmount">
<el-input clearable type="text" rows="3" v-model="formData.auditAmount"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col span="24">
<el-form-item label="获奖情况"
prop="unionAward">
<el-input maxlength="300" readonly rows="3" type="textarea"
v-model="unionAward"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item :rules="[{required: true, message: '请输入审核意见', trigger: ['blur']}]"
label="审核意见"
prop="xghOpinion">
<el-input clearable v-model="formData.xghOpinion"></el-input>
</el-form-item>
<!-- <el-form-item label="签字" prop="xghSignature" :rules="[{required: true, message: '请签字', trigger: ['change']}]">
<sign :qz.sync="formData.xghSignature" prefix="xghSignature"></sign>
</el-form-item>-->
</el-form>
<el-row class="mt20 text-center">
<el-button @click="doHandle(false)" type="danger">拒 绝</el-button>
<el-button @click="doHandle(true)" type="success">通 过</el-button>
</el-row>
</el-tab-pane>
</template>
</project-funding-info>
</template>
<template #view>
<project-funding-info ref="viewInfo"></project-funding-info>
</template>
</guava>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
pageForm:{
year:moment().format('YYYY'),
isAudit: 'false',
},
formData:{
auditAmount:'',
},
tableColumns:[
{label: '项目名称', prop: 'projectName', sortable: true},
{label: '申报工会', prop: 'unionName', sortable: true},
{label: '工会人数', prop: 'unionPeoNum', sortable: true},
{label: '工会主席', prop: 'unionLeader', sortable: true},
{label: '申报人', prop: 'username', sortable: true},
{label: '申报金额', prop: 'subsidyAmount', sortable: true},
{label: '审批金额', prop: 'auditAmount', sortable: true},
{label: '状态', prop: 'stateName', sortable: true},
{label: '申报日期', prop: 'auditTime', sortable: true},
],
unions:[],
projectList:[],
unionAward:'',
}
},
components:{
'project-funding-info': httpVueLoader('/components/projectfunding/projectInfo.vue'),
},
methods: {
openView(row, isView) {
this.unionAward='';
if (isView) {
this.$refs.guava.view()
this.$refs.viewInfo.showInfo(row.id)
} else {
this.unionAward = row.award
this.$refs.guava.edit()
this.$refs.auditInfo.showInfo(row.id, 'xghAudit')
this.formData = {
id: row.id,
xghOpinion: null,
xghSignature: null,
auditAmount : null,
}
if (row.award.search("全国模范职工小家") !== -1){
this.formData.auditAmount = 8000;
}else if (row.award.search("总省工会模范职工小家") !== -1){
this.formData.auditAmount = 7000;
}else if (row.award.search("省教科文卫工会模范职工小家") !== -1){
this.formData.auditAmount = 6000;
}else if (row.award.search("校级模范职工小家") !== -1){
this.formData.auditAmount = 5000;
}else if (row.award.search("之家") !== -1){
this.formData.auditAmount = 4000;
}else{
this.formData.auditAmount = 3000;
}
}
},
async doHandle(res) {
const valid = await this.$refs['auditForm'].validate()
if (!valid) return
this.formData.state = res ? 1900 : 1850
const resp = await $.post('/platform/projectfunding/xghAudit/doHandle', this.formData)
if (resp.code === 0) {
this.$refs.guava.index()
this.notifySuccess(resp.msg)
this.pageData()
}
},
async doRollBack(row){
const resp = await $.get('/platform/projectfunding/twoOrganization/doRollBack',{id:row.id,state:row.state})
if (resp.code === 0){
this.notifySuccess(resp.msg)
this.pageData()
}
},
async getProjectFunding(){
const resp = await $.get('/platform/projectfunding/manage/getProjectFunding')
if (resp.code === 0){
this.projectList = resp.data
this.pageForm.projectId=this.projectList[0].id
}
},
},
async created() {
this.unions = await getUnions();
await this.getProjectFunding();
this.pageData();
}
})
</script>
<!--#
}
#-->