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

224 lines
10 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>1700?null:'primary'"
@click="openView(row,row.state>1700)">
{{row.state>1700?'查看':'审核'}}
</el-button>
<el-button size="mini" type="danger" v-if="row.state>1700 && row.state<=1800"
@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="twoAudit">
<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-form-item :rules="[{required: true, message: '请输入审核意见', trigger: ['blur']}]"
label="审核意见"
prop="twoOrganizationOpinion">
<el-input maxlength="300" rows="5" type="textarea"
v-model="formData.twoOrganizationOpinion"></el-input>
</el-form-item>
<!--<el-form-item label="签字" prop="twoOrganizationSignature" :rules="[{required: true, message: '请签字', trigger: ['change']}]">
<sign :qz.sync="formData.twoOrganizationSignature" prefix="twoOrganizationSignature"></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:{},
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: 'stateName', sortable: true},
{label: '申报日期', prop: 'auditTime', sortable: true},
],
unions:[],
projectList:[],
}
},
components:{
'project-funding-info': httpVueLoader('/components/projectfunding/projectInfo.vue'),
},
methods: {
openView(row, isView) {
if (isView) {
this.$refs.guava.view()
this.$refs.viewInfo.showInfo(row.id)
} else {
this.$refs.guava.edit()
this.$refs.auditInfo.showInfo(row.id, 'twoAudit')
this.formData = {
id: row.id,
twoOrganizationOpinion: null,
twoOrganizationSignature: null
}
}
},
async doHandle(res) {
const valid = await this.$refs['auditForm'].validate()
if (!valid) return
this.formData.state = res ? 1800 : 1750
const resp = await $.post('/platform/projectfunding/twoOrganization/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>
<!--#
}
#-->