first commit

This commit is contained in:
2026-09-08 19:49:21 +08:00
commit ebffbab428
7320 changed files with 1477614 additions and 0 deletions
@@ -0,0 +1,262 @@
<!--#
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>
<!--#
}
#-->