first commit
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
<template>
|
||||
|
||||
<div>
|
||||
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
|
||||
<el-tab-pane label="填报信息" name="1">
|
||||
|
||||
|
||||
<el-descriptions :column="3" border class="table_fixed">
|
||||
|
||||
|
||||
<el-descriptions-item label="工号">
|
||||
{{ viewData.loginName }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="姓名">
|
||||
{{ viewData.userName }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="单位">
|
||||
{{ viewData.unitName }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="工会">
|
||||
{{ viewData.unionName }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="2" label="报销金额">
|
||||
{{ viewData.money }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="3" label="报销附件">
|
||||
<file-upload v-if="viewData.files&&viewData.files.length"
|
||||
:files="viewData.files"
|
||||
:view="true"></file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="3" label="签字">
|
||||
<el-image v-if="viewData.userApplySignData"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.userApplySignData"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
<el-tab-pane label="分工会审核信息" name="2" v-if="viewData.unionAuditId">
|
||||
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
|
||||
|
||||
<el-descriptions-item label="审核人">
|
||||
{{ viewData.unionAudit.username }}({{ viewData.unionAudit.loginname }})
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.unionAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="2" label="审核意见">
|
||||
<span
|
||||
v-if="viewData.unionAudit.auditOpinion">{{ viewData.unionAudit.auditOpinion }}</span>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="3" label="签字">
|
||||
<el-image v-if="viewData.unionAudit.auditSign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.unionAudit.auditSign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
<el-tab-pane label="校工会审核信息" name="3" v-if="viewData.schoolAuditId">
|
||||
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
|
||||
|
||||
<el-descriptions-item label="审核人">
|
||||
{{ viewData.schoolAudit.username }}({{ viewData.schoolAudit.loginname }})
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.schoolAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="2" label="审核意见">
|
||||
<span
|
||||
v-if="viewData.schoolAudit.auditOpinion">{{ viewData.schoolAudit.auditOpinion }}</span>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="3" label="签字">
|
||||
<el-image v-if="viewData.schoolAudit.auditSign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.schoolAudit.auditSign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
<el-tab-pane label="校领导审核信息" name="4" v-if="viewData.schoolProAuditId">
|
||||
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
|
||||
|
||||
<el-descriptions-item label="审核人">
|
||||
{{ viewData.schoolProAudit.loginname }}({{ viewData.schoolProAudit.loginname }})
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.schoolProAudit.auditTime }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="2" label="审核意见">
|
||||
<span
|
||||
v-if="viewData.schoolProAudit.auditOpinion">{{ viewData.schoolProAudit.auditOpinion }}</span>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item :span="3" label="签字">
|
||||
<el-image v-if="viewData.schoolProAudit.auditSign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.schoolProAudit.auditSign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
<el-tab-pane v-if="handle" :label="label" name="999">
|
||||
<slot name="handle"></slot>
|
||||
</el-tab-pane>
|
||||
|
||||
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
panes: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: "1",
|
||||
viewData: {},
|
||||
loading: true,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
|
||||
},
|
||||
methods: {
|
||||
hasPane(name) {
|
||||
if (!this.handle) {
|
||||
return true
|
||||
}
|
||||
return this.panes.includes(name)
|
||||
},
|
||||
async getInfo(id) {
|
||||
this.loading = true
|
||||
const {data, code, msg} = await $.get("/platform/childcareFees/userApply/findOne", {id})
|
||||
this.loading = false
|
||||
if (data) {
|
||||
this.activeName = this.handle ? "999" : "1"
|
||||
this.viewData = data
|
||||
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$message({
|
||||
message: "获取信息失败",
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,288 @@
|
||||
<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>
|
||||
Reference in New Issue
Block a user