Files
2026-09-08 19:49:21 +08:00

406 lines
18 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-select, .el-date-editor {
width: 100% !important;
}
</style>
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<el-row type="flex" :gutter="20">
<el-col :span="6">
<el-date-picker
v-model="pageForm.year"
type="year"
value-format="yyyy"
placeholder="授予年度">
</el-date-picker>
</el-col>
<el-col :span="6">
<el-select v-model="pageForm.honorType"
placeholder="请选择荣誉类型"
@change="honorTypeChange">
<el-option v-for="o in honorTypeList"
:key="o.id"
:label="o.name"
:value="o.id"
></el-option>
</el-select>
</el-col>
<el-col :span="6">
<el-select v-model="pageForm.prize"
filterable
placeholder="请选择荣誉奖项"
clearable>
<el-option v-for="o in honorPrizeList"
:key="o.id"
:label="o.name"
:value="o.id"
></el-option>
</el-select>
</el-col>
<el-col :span="6">
<el-select v-model="pageForm.honorLevel"
placeholder="请选择荣誉级别"
clearable>
<el-option v-for="o in honorLevelList"
:key="o.id"
:label="o.name"
:value="o.id"
></el-option>
</el-select>
</el-col>
</el-row>
<el-row type="flex" class="mt15" :gutter="20">
<el-col :span="6">
<el-input v-model="pageForm.userName">
<template slot="prepend">姓名</template>
</el-input>
</el-col>
<el-col :span="6">
<el-select v-model="pageForm.unionName"
placeholder="请选择获奖工会"
@change="doSearch"
clearable>
<el-option v-for="o in unionList"
:key="o.id"
:label="o.unionname"
:value="o.unionname"
></el-option>
</el-select>
<!-- <el-input v-model="pageForm.unionName">-->
<!-- <template slot="prepend">获奖工会</template>-->
<!-- </el-input>-->
</el-col>
<el-col :span="6">
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
<el-button type="primary" icon="el-icon-search" @click="doExport">导出</el-button>
</el-col>
</el-row>
</el-card>
<el-card shadow="never" class="mt20">
<vi-title title="荣誉列表"></vi-title>
<el-table :data="tableData">
<el-table-column label="序号" type="index" header-align="center" align="center"
width="50"></el-table-column>
<template v-if="pageForm.honorType===HonorApi.honor_single_id">
<el-table-column prop="userName" label="姓名" header-align="center" align="center"
sortable></el-table-column>
<el-table-column prop="loginName" label="工号" header-align="center" align="center"
sortable></el-table-column>
<el-table-column prop="unionName" label="所属工会" header-align="center" align="center"
sortable></el-table-column>
<el-table-column prop="unitName" label="所属单位" header-align="center" align="center"
sortable></el-table-column>
</template>
<template v-if="pageForm.honorType===HonorApi.honor_list_id">
<el-table-column prop="applyUnionName" label="申报院级工会" header-align="center" align="center"
sortable></el-table-column>
<el-table-column prop="gameName" label="参加比赛名称" header-align="center" align="center"
show-overflow-tooltip></el-table-column>
</template>
<el-table-column prop="prizeName" label="奖项" header-align="center" align="center"
sortable></el-table-column>
<!--<el-table-column prop="prizeDesc" label="奖项说明" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="typeName" label="荣誉类型" header-align="center" align="center"></el-table-column>
<el-table-column prop="levelName" label="级别" header-align="center" align="center"
sortable></el-table-column>
<el-table-column prop="grantUnit" label="授予单位" header-align="center" align="center"
show-overflow-tooltip></el-table-column>
<el-table-column prop="grantDate" label="授予时间" header-align="center" align="center"
sortable></el-table-column>
<!--<el-table-column prop="archiveStatus" label="存档情况" header-align="center"
align="center"></el-table-column>-->
<el-table-column prop="awardMaterialsExcel" label="获奖材料" header-align="center"
align="center"></el-table-column>
<el-table-column align="center" header-align="center" label="操作" fixed="right" width="100px">
<template scope="{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="{type:'view',row}">
查看
</el-dropdown-item>
<!--#if(@shiro.hasRole('sysadmin')){#-->
<el-dropdown-item :command="{type:'edit',row}">
编辑
</el-dropdown-item>
<el-dropdown-item :command="{type:'delete',row}">
删除
</el-dropdown-item>
<!--#}#-->
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
<template #view>
<el-form label-suffix="" label-position="left" style="padding: 20px 0">
<vi-title title="基础信息"></vi-title>
<el-row gutter="20" v-if="viewData.honorType===HonorApi.honor_single_id">
<el-col :span="6">
<el-form-item label="获奖姓名">
{{ viewData.userName }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="申请人性别">
{{ viewData.userSex }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="在职状态">
{{ viewData.jobStatus }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属单位">
{{ viewData.unitName }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属工会">
{{ viewData.unionName }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="担任工会职务">
{{ viewData.post }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="职称">
{{ viewData.title }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生日">
{{ viewData.birthday }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="政治面貌">
{{ viewData.political }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="加入工会时间">
{{ viewData.joinTime }}
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20" v-else>
<el-col :span="6">
<el-form-item label="申报院级工会">
{{ viewData.applyUnionName }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工会主席">
{{ viewData.unionLeader }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="会员人数">
{{ viewData.memberNumber }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工会小组数">
{{ viewData.unionGroupNumber }}
</el-form-item>
</el-col>
<!--<el-col :span="6">
<el-form-item label="单位负责人">
{{ viewData.unitLeader }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="单位人数">
{{ viewData.unitPeopleNum }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="单位女职工人数">
{{ viewData.unitFemalePeopleNum }}
</el-form-item>
</el-col>-->
</el-row>
<vi-title title="获奖信息"></vi-title>
<el-row gutter="20">
<el-col :span="6">
<el-form-item label="奖项">
{{ viewData.prizeName }}
</el-form-item>
</el-col>
<!--<el-col :span="6">
<el-form-item label="奖项说明">
{{ viewData.prizeDesc }}
</el-form-item>
</el-col>-->
<el-col :span="6">
<el-form-item label="级别">
{{ viewData.levelName }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="授予单位">
{{ viewData.grantUnit }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="授予时间">
{{ viewData.grantDate }}
</el-form-item>
</el-col>
<!--<el-col :span="6">
<el-form-item label="存档情况">
{{ viewData.archiveStatus }}
</el-form-item>
</el-col>-->
<el-col :span="6">
<el-form-item label="获奖材料">
{{ viewData.awardMaterialsExcel }}
</el-form-item>
</el-col>
</el-row>
<vi-title title="附件"></vi-title>
<el-row gutter="20">
<el-col :span="24">
<el-form-item prop="user_name" label="附&emsp;&emsp;件">
<file-upload v-if="viewData.files&&viewData.files.length"
:files="viewData.files"
:view="true"></file-upload>
<span v-else>暂无</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
</guava>
</div>
<script>
var vue = new Vue({
el: "#app",
mixins: [initTableMixins],
data() {
return {
viewData: {},
pageForm: {
year: "",
honorType: "",
prize: "",
honorLevel: "",
userName: "",
unitName: ""
},
honorTypeList: [],
honorLevelList: [],
honorAwardList: [],
honorPrizeList: [],
unionList:[],
}
},
components: {
'file-upload': httpVueLoader('/components/plugins/FileUpload.vue'),
},
methods: {
dropdownCommand(command) {
const {type, row} = command
if (type === 'edit') {
this.openEdit(row)
} else if (type === 'delete') {
this.doDelete(row)
} else if (type === 'view') {
this.openView(row)
}
},
openView(row) {
if(row.files) {
row.files = JSON.parse(row.files)
}
this.viewData = row
this.$refs.guava.view()
},
doExport() {
const {year, honorType, prize, honorLevel, userName, unitName} = this.pageForm
window.location.href = "/platform/honor/manage/doExport?year="
+ year + "&honorType=" + honorType
+ "&prize=" + prize
+ "&honorLevel=" + honorLevel
+ "&userName" + userName
+ "&unitName" + unitName
},
openEdit(row) {
window.location.href = "/platform/honor/registration?id=" + row.id
},
async doDelete(row) {
const {id} = row
const confirm = await this.$confirm('确定要删除该记录吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if ("confirm" === confirm) {
this.$set(row, "loading", true)
const resp = await $.post(loc() + "/doDelete", {id: id});
if (resp.code === 0) {
this.$notify.success({title: '成功', message: resp.msg});
this.doSearch()
} else {
this.$notify.error({title: '失败', message: resp.msg});
}
}
},
async initData() {
this.honorTypeList = await HonorApi.getHonorType()
if (this.honorTypeList) {
this.$set(this.pageForm, "honorType", this.honorTypeList[0].id)
this.honorPrizeList = await HonorApi.getHonorPrize(this.pageForm.honorType)
}
this.honorLevelList = await HonorApi.getHonorLevel()
this.honorAwardList = await HonorApi.getHonorAwardType()
this.unionList = await getUnions();
}
,
async honorTypeChange(val) {
this.honorPrizeList = await HonorApi.getHonorPrize(val)
this.doSearch()
}
,
},
async created() {
await this.initData()
await this.pageData()
}
})
</script>
<!--#
}
#-->