224 lines
10 KiB
HTML
224 lines
10 KiB
HTML
<!--#
|
||
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>
|
||
<!--#
|
||
}
|
||
#-->
|