first commit
This commit is contained in:
@@ -0,0 +1,251 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style></style>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-row style="padding-right: 10px">
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<!--<search-item label="年审状态:">
|
||||
<el-select @change="getClub" v-model="pageForm.auditState" placeholder="请选择年审状态">
|
||||
<el-option label="全部" :value="null"></el-option>
|
||||
<el-option label="年审通过" :value="true"></el-option>
|
||||
<el-option label="年审未通过" :value="false"></el-option>
|
||||
</el-select>
|
||||
</search-item>-->
|
||||
<search-item label="社团名称:">
|
||||
<el-select v-model="pageForm.clubId" placeholder="请选择社团" clearable filterable>
|
||||
<el-option v-for="item in clubList" :label="item.clubName" :value="item.id" :key="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="人员状态:">
|
||||
<el-select clearable placeholder="请选择人员状态" v-model="pageForm.userState">
|
||||
<el-option label="在职" value="在职"></el-option>
|
||||
<el-option label="在岗" value="在岗"></el-option>
|
||||
<el-option label="退休" value="退休"></el-option>
|
||||
<el-option label="不在岗" value="不在岗"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="性别:">
|
||||
<el-select clearable filterable placeholder="请选择性别" v-model="pageForm.sex">
|
||||
<el-option label="男" value="男"></el-option>
|
||||
<el-option label="女" value="女"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt10">
|
||||
<table-tool label="社团统计">
|
||||
<el-button @click="exportData" type="primary" size="small">导出全部统计数据</el-button>
|
||||
<el-button @click="exportUserData(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部人员明细
|
||||
</el-button>
|
||||
<el-button @click="exportUserDataExcel(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部人员明细(EXCEL)
|
||||
</el-button>
|
||||
<el-button @click="exportFiles(null)" v-if="$auth.hasRoleOr(['SYSADMIN', 'SCHOOL_UNION_ADMIN'])" type="primary" size="small">
|
||||
导出全部上传资料
|
||||
</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" row-key="id">
|
||||
<el-table-column :index="indexMethod" label="序号" type="index" width="80px"></el-table-column>
|
||||
<el-table-column label="社团名称" prop="clubName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="社团编码" prop="clubCode"></el-table-column>
|
||||
<el-table-column label="社团总人数" prop="total"></el-table-column>
|
||||
<el-table-column label="在职人数" prop="work"></el-table-column>
|
||||
<el-table-column label="退休人数" prop="retire"></el-table-column>
|
||||
<el-table-column label="男" prop="man"></el-table-column>
|
||||
<el-table-column label="女" prop="woman"></el-table-column>
|
||||
<el-table-column label="理事机构人数" prop="governing_body"></el-table-column>
|
||||
<el-table-column fixed="right" label="操作">
|
||||
<template v-slot="{row}">
|
||||
<el-dropdown @command="dropdownCommand">
|
||||
<el-button plain size="mini">
|
||||
<i class="ti-settings"></i>
|
||||
<span class="ti-angle-down"></span>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{action:openView,value:row}">查看人员明细</el-dropdown-item>
|
||||
<el-dropdown-item :command="{action:exportUserData,value:row}">导出人员明细</el-dropdown-item>
|
||||
<el-dropdown-item :command="{action:exportFiles,value:row}">导出上传资料</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</el-row>
|
||||
|
||||
<template #view>
|
||||
<el-table :data="userTableData">
|
||||
<el-table-column label="姓名" prop="userName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="工号" prop="loginName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="联系方式" prop="mobile" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="所属单位" prop="unitName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="在职状态" prop="userState" show-overflow-tooltip></el-table-column>
|
||||
<!-- <el-table-column label="是否拨付" prop="giveMoney" show-overflow-tooltip>-->
|
||||
<!-- <template v-slot="scope">-->
|
||||
<!-- <span class="text-success" v-if="scope.row.giveMoney">拨付</span>-->
|
||||
<!-- <span class="text-danger" v-else>不拨付</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="是否缴费" prop="payed" show-overflow-tooltip>-->
|
||||
<!-- <template v-slot="scope">-->
|
||||
<!-- <span class="text-success" v-if="scope.row.payed">已缴费</span>-->
|
||||
<!-- <span class="text-danger" v-else>未缴费</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="职务" prop="roleName" show-overflow-tooltip>
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <span>{{getRoleName(scope.row.roleCode)}}</span>-->
|
||||
<!-- </template>-->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container" style="margin-top: 20px">
|
||||
<el-pagination
|
||||
:current-page="userPageForm.pageNumber"
|
||||
:page-size="userPageForm.pageSize"
|
||||
:page-sizes="[5,10, 20, 30, 50]"
|
||||
:total="userPageForm.totalCount"
|
||||
@current-change="userPageNumberChange"
|
||||
@size-change="userPageSizeChange"
|
||||
layout="total, sizes, prev, pager, next"
|
||||
></el-pagination>
|
||||
</el-row>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script nonce="${cspNonce!}">
|
||||
<!--#include("../common/clubRoleConstant.js"){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
userTableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
giveMoney: null,
|
||||
sex: "",
|
||||
userState: "",
|
||||
auditState: null,
|
||||
clubId: ""
|
||||
},
|
||||
userPageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0
|
||||
},
|
||||
clubList: [],
|
||||
clickRow: {}
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
methods: {
|
||||
getRoleName(roleCode) {
|
||||
return CLUB_ROLE_CONSTANT.getRoleName(roleCode)
|
||||
},
|
||||
exportUserDataExcel(row) {
|
||||
let params = {
|
||||
userState: this.pageForm.userState,
|
||||
sex: this.pageForm.sex
|
||||
}
|
||||
if (this.pageForm.giveMoney !== null) {
|
||||
params.giveMoney = this.pageForm.giveMoney
|
||||
}
|
||||
this.$downLoad("/platform/club/statistics/exportUserDataExcel", params)
|
||||
},
|
||||
exportUserData(row) {
|
||||
const id = row === null ? "" : row.id
|
||||
let params = {
|
||||
clubId: id,
|
||||
userState: this.pageForm.userState,
|
||||
sex: this.pageForm.sex
|
||||
}
|
||||
if (this.pageForm.giveMoney !== null) {
|
||||
params.giveMoney = this.pageForm.giveMoney
|
||||
}
|
||||
this.$downLoad("/platform/club/statistics/exportUserData", params)
|
||||
},
|
||||
exportFiles(row) {
|
||||
const id = row === null ? "" : row.id
|
||||
this.$downLoad("/platform/club/statistics/exportFiles", { clubId: id })
|
||||
},
|
||||
async openView(row) {
|
||||
this.clickRow = row
|
||||
await this.userPageData()
|
||||
this.$refs.guava.view()
|
||||
},
|
||||
exportData() {
|
||||
let params = {
|
||||
clubId: this.pageForm.clubId,
|
||||
userState: this.pageForm.userState,
|
||||
sex: this.pageForm.sex,
|
||||
giveMoney: this.pageForm.giveMoney,
|
||||
auditState: this.pageForm.auditState
|
||||
}
|
||||
this.$downLoad("/platform/club/statistics/exportData", params)
|
||||
},
|
||||
userPageNumberChange(val) {
|
||||
this.userPageForm.pageNumber = val
|
||||
this.userPageData()
|
||||
},
|
||||
userPageSizeChange(val) {
|
||||
this.userPageForm.pageSize = val
|
||||
this.userPageData()
|
||||
},
|
||||
async userPageData() {
|
||||
this.userPageForm.clubId = this.clickRow.id
|
||||
this.userPageForm.userState = this.pageForm.userState
|
||||
this.userPageForm.sex = this.pageForm.sex
|
||||
if (this.pageForm.giveMoney === null) {
|
||||
this.userPageForm.giveMoney = undefined
|
||||
} else {
|
||||
this.userPageForm.giveMoney = this.pageForm.giveMoney
|
||||
}
|
||||
const resp = await this.$axios.post("/platform/club/statistics/userPageData", this.userPageForm)
|
||||
if (resp.code === 0) {
|
||||
this.userTableData = resp.data.list
|
||||
this.userPageForm.totalCount = resp.data.totalCount
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
const form = clone(this.pageForm)
|
||||
if (form.giveMoney === null) {
|
||||
delete form.giveMoney
|
||||
}
|
||||
if (form.auditState === null) {
|
||||
delete form.auditState
|
||||
}
|
||||
const resp = await this.$axios.post("/platform/club/statistics/pageData", form)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data.list
|
||||
this.pageForm.totalCount = resp.data.totalCount
|
||||
} else {
|
||||
this.$message.warning(resp.msg)
|
||||
}
|
||||
},
|
||||
async getClub() {
|
||||
const resp = await this.$axios.post("/platform/club/statistics/getClub", {
|
||||
auditState: this.pageForm.auditState !== null ? this.pageForm.auditState : undefined
|
||||
})
|
||||
this.clubList = resp.data
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getClub()
|
||||
await this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user