Files
UNION_NSI/target/classes/static/components/childcareFees/schoolInfo.vue
T
2026-09-08 19:49:21 +08:00

289 lines
9.3 KiB
Vue

<template>
<div>
<el-tabs tab-position="top" v-model="activeName">
<el-tab-pane label="已上报教职工" name="1">
<el-table :data="userTrueTableData" style="width: 100%" row-key="id"
@sort-change="pageOrder"
:summary-method="getSummaries"
show-summary
v-loading="tableLoading" ref="userTable"
:size="tableSize" class="vi-table">
<el-table-column align="center" header-align="center" width="80px" label="序号"
type="index">
<template scope="scope">
<span>{{
scope.$index + (userTruePageForm.pageNumber - 1) * userTruePageForm.pageSize + 1
}} </span>
</template>
</el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in userTrueTableColumns"
show-overflow-tooltip
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
>
<template v-if="column.prop=='planDateTime'" scope="{row}">
{{ row.startDateTime }}-{{ row.endDateTime }}
</template>
<template v-else-if="column.prop=='planType'" scope="{row}">
{{ row.planType === 1 ? '幼托费' : '其它' }}
</template>
<template scope="{row}" v-else-if="column.prop==='state'">
<span :style="'color:'+row.stateColor">{{ row.stateName }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="userOnline" align="center" header-align="center"
label="操作"
width="100px">
<template slot-scope="{row}">
<el-button size="mini" @click="openUserView(row)">
查看
</el-button>
</template>
</el-table-column>-->
</el-table>
<el-row class="el-pagination-container" style="margin-bottom: 0px">
<el-pagination
@size-change="userTruePageSizeChange"
@current-change="userTruePageNumberChange"
:current-page="userTruePageForm.pageNumber"
:page-sizes="[5,10, 20, 30, 50]"
:page-size="userTruePageForm.pageSize"
layout="total, sizes, prev, pager, next"
:total="userTruePageForm.totalCount">
</el-pagination>
</el-row>
</el-tab-pane>
<!-- <el-tab-pane label="未审核教职工" name="2">
<el-table :data="userFalseTableData" style="width: 100%" row-key="id"
@sort-change="pageOrder"
v-loading="tableLoading" ref="userTable"
:size="tableSize" class="vi-table">
<el-table-column align="center" header-align="center" width="80px" label="序号"
type="index">
<template scope="scope">
<span>{{
scope.$index + (userFalsePageForm.pageNumber - 1) * userFalsePageForm.pageSize + 1
}} </span>
</template>
</el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in userTrueTableColumns"
show-overflow-tooltip
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
>
<template v-if="column.prop=='planDateTime'" scope="{row}">
{{ row.startDateTime }}-{{ row.endDateTime }}
</template>
<template v-else-if="column.prop=='planType'" scope="{row}">
{{ row.planType === 1 ? '幼托费' : '其它' }}
</template>
<template scope="{row}" v-else-if="column.prop==='state'">
<span :style="'color:'+row.stateColor">{{ row.stateName }}</span>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center"
label="操作"
width="100px">
<template slot-scope="{row}">
<el-button size="mini" @click="openUserView(row)">
查看
</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="el-pagination-container" style="margin-bottom: 0px">
<el-pagination
@size-change="userFalsePageSizeChange"
@current-change="userFalsePageNumberChange"
:current-page="userFalsePageForm.pageNumber"
:page-sizes="[5,10, 20, 30, 50]"
:page-size="userFalsePageForm.pageSize"
layout="total, sizes, prev, pager, next"
:total="userFalsePageForm.totalCount">
</el-pagination>
</el-row>
</el-tab-pane>-->
</el-tabs>
<el-drawer
show-close
title="" size="78%"
:visible.sync="userDrawer"
:append-to-body="true">
<div style="padding: 30px">
<info ref="info"></info>
</div>
</el-drawer>
</div>
</template>
<script>
module.exports = {
props: {
union_id: {
type: String,
default: 0
},
plan_id: {
type: String,
default: null
},
year: {
type: String,
default: 0
},
state: {
type: String,
default: 0
},
},
mixins: [initTableMixins],
data() {
return {
userDrawer: false,
activeName: "1",
userFalseTableData: [],
userFalsePageForm: {
searchName: "",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
userTrueTableData: [],
userTruePageForm: {
searchName: "",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
userTrueTableColumns: [
{prop: 'loginName', label: '工号'},
{prop: 'userName', label: '姓名'},
{prop: 'unitName', label: '单位'},
{prop: 'unionName', label: '工会'},
{prop: 'money', label: '报销金额', sortable: true},
// {prop: 'applyDateTime', label: '报销申请时间'},
// {prop: 'state', label: '报销状态', sortable: true},
]
}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
'info': httpVueLoader('/components/childcareFees/info.vue?v=' + new Date().getTime()),
},
methods: {
getSummaries(param) {
const {columns, data} = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计';
return;
}
const values = data.map(item => Number(item[column.property]));
if ([5].includes(index)) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' 元';
} else {
sums[index] = '';
}
});
return sums;
},
openUserView(row) {
this.userDrawer = true
setTimeout(() => {
this.$refs.info.getInfo(row.id)
}, 300)
},
userTruePageSizeChange(val) {
this.userTruePageForm.pageSize = val;
this.userTrueNumPageData();
},
userTruePageNumberChange(val) {
this.userTruePageForm.pageNumber = val;
this.userTrueNumPageData();
},
userTrueNumPageData() {
sublime.showLoadingbar();
this.tableLoading = true
this.userTruePageForm.year = this.year
this.userTruePageForm.unionId = this.union_id
this.userTruePageForm.planId = this.plan_id
this.userTruePageForm.state = this.state
$.post("/platform/childcareFees/schoolAudit/userTrueNumPageData", this.userTruePageForm, (data) => {
sublime.closeLoadingbar();
this.tableLoading = false
if (data.code === 0) {
this.userTrueTableData = data.data.list;
this.userTruePageForm.totalCount = data.data.totalCount;
} else {
this.$message.error(data.msg);
}
}, "json");
},
userFalsePageSizeChange(val) {
this.userFalsePageForm.pageSize = val;
this.userFalseNumPageData();
},
userFalsePageNumberChange(val) {
this.userFalsePageForm.pageNumber = val;
this.userFalseNumPageData();
},
userFalseNumPageData() {
sublime.showLoadingbar();
this.tableLoading = true
this.userFalsePageForm.year = this.year
this.userFalsePageForm.unionId = this.union_id
this.userFalsePageForm.planId = this.plan_id
this.userFalsePageForm.state = this.state
$.post("/platform/childcareFees/schoolAudit/userFalseNumPageData", this.userFalsePageForm, (data) => {
sublime.closeLoadingbar();
this.tableLoading = false
if (data.code === 0) {
this.userFalseTableData = data.data.list;
this.userFalsePageForm.totalCount = data.data.totalCount;
} else {
this.$message.error(data.msg);
}
}, "json");
},
},
async created() {
}
}
</script>