Files
UNION_HUTB/target/classes/views/platform/zgfw/lxy/HdTj.html
T
2026-09-09 09:14:28 +08:00

378 lines
18 KiB
HTML
Raw 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>
.file-down-span {
background: black;
opacity: 0.5;
z-index: 1000;
width: 100px;
text-align: center;
position: relative;
bottom: -100px;
cursor: pointer;
}
</style>
<div id="app" v-cloak>
<el-row class="transition-row">
<transition name="el-zoom-in-center">
<div v-show="v=='index'" class="transition-item">
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-date-picker
@change="hdSearch"
:picker-options="pickerOptions"
v-model="pageForm.year"
type="year"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
</div>
<div class="btn-group tool-button mt5">
<el-select v-model="pageForm.hdid" @change="doSearch()"
placeholder="请选择活动">
<el-option
v-for="item in lxyHd"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select v-model="pageForm.ghid" clearable filterable
placeholder="请选择工会">
<el-option
v-for="item in ghList"
:key="item.id"
:label="item.unionname"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-input v-model="pageForm.searchKey" placeholder="请输入工号或姓名"></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button type="primary" plain icon="el-icon-download" @click="doExport">导 出</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table :data="tableData" style="width: 100%" row-key="id" v-loading="tabLoading">
<el-table-column align="center" header-align="center" label="序号" width="100px">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column align="center" prop="username" header-align="center"
label="姓名"></el-table-column>
<el-table-column align="center" prop="unionname" header-align="center"
label="工会" sortable show-overflow-tooltip>
<template scope="scope">
<span>({{scope.row.unioncode}}){{scope.row.unionname}}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="unitname" header-align="center"
label="单位" sortable show-overflow-tooltip>
<template scope="scope">
<span>({{scope.row.unitcode}}){{scope.row.unitname}}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="sex" header-align="center"
label="性别"></el-table-column>
<el-table-column align="center" prop="age" header-align="center"
label="年龄" sortable></el-table-column>
<el-table-column align="center" prop="mz" header-align="center"
label="民族" sortable></el-table-column>
<el-table-column align="center" prop="mobile" header-align="center"
label="手机号" show-overflow-tooltip></el-table-column>
<el-table-column align="center" prop="idcard" header-align="center" width="300px"
label="身份证号"></el-table-column>
<el-table-column align="center" prop="zw" header-align="center"
label="职务" sortable></el-table-column>
<el-table-column align="center" header-align="center" label="操作" fixed="right" width="120px">
<template scope="scope">
<el-button type="primary" size="mini" @click="openView(scope.row)" plain>查 看
</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="el-pagination-container">
<el-pagination
@size-change="pageSizeChange"
@current-change="pageNumberChange"
:current-page="pageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="pageForm.pageSize"
layout="total, sizes, prev, pager, next"
:total="pageForm.totalCount">
</el-pagination>
</el-row>
</el-row>
</div>
</transition>
<transition name="el-zoom-in-center">
<div v-show="v=='view'" class="transition-item">
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-button icon="el-icon-back" type="text" @click="v='index'" style="font-size: 18px">返回
</el-button>
</div>
</el-row>
<el-row style="padding: 50px 150px">
<el-form label-position="right" style="padding: 20px 0" label-width="120px">
<vi-title title="个人信息"></vi-title>
<el-row gutter="20">
<el-col :span="12">
<el-form-item label="工号:">
{{viewData.loginname}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名:">
{{viewData.username}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="职务:">
{{viewData.zw}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="人事编制:">
{{viewData.rsbz}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别:">
{{viewData.sex}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年龄:">
{{viewData.age}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所在单位:">
{{viewData.unitname}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号:">
{{viewData.mobile}}
</el-form-item>
</el-col>
</el-row>
<vi-title title="曾获荣誉"></vi-title>
<el-table :data="viewData.chry" size="mini" style="width: 100%" show-header="false">
<el-table-column prop="hdsj" label="获得时间" align="center" header-align="center"
width="250px">
<template slot-scope="{row}">
<el-date-picker v-model="row.hdsj" type="date" readonly
format="yyyy-MM-dd"></el-date-picker>
</template>
</el-table-column>
<el-table-column prop="shry" label="曾获荣誉" align="center" header-align="center">
<template slot-scope="{row}">
<el-input v-model="row.shry" readonly></el-input>
</template>
</el-table-column>
<el-table-column label="附件" align="center" header-align="center" width="120px">
<template slot-scope="{row}">
<div class="file-down-span"
@click="dd3s.download(row.filepath,row.filename)">
<i class="el-icon-download"></i>
</div>
<el-image fit="cover" v-if="dd3s.isPic(row.filepath)"
style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
:src="'${AppFileDomain!}'+row.filepath"
@click="dd3s.showpic(row.filepath)">
</el-image>
<el-image v-else
style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
src="***">
<div slot="error" class="image-slot"
style="width: 100%;height: 100%; display:flex;align-items: center;text-align: center">
<span style="font-size: 12px;color: rgb(180,180,180);width: 100%;text-align: center;overflow: hidden;padding: 0 10px;
text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical">{{row.filename}}</span>
</div>
</el-image>
</template>
</el-table-column>
</el-table>
<template v-if="viewData.files&&viewData.files.length">
<vi-title title="身份证复印件"></vi-title>
<div style="text-align: left;">
<div v-for="item in viewData.files"
style="display: inline-block;width: 100px;margin-right:10px">
<div class="file-down-span"
@click="dd3s.download(item.filepath,item.filename)">
<i class="el-icon-download"></i>
</div>
<el-image fit="cover" v-if="dd3s.isPic(item.filepath)"
style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
:src="'${AppFileDomain!}'+item.filepath"
@click="dd3s.showpic(item.filepath)">
</el-image>
<el-image v-else
style="width: 100px;height: 100px;box-shadow: 0 0 5px rgb(200,200,200)"
src="***">
<div slot="error" class="image-slot"
style="width: 100%;height: 100%; display:flex;align-items: center;text-align: center">
<span style="font-size: 12px;color: rgb(180,180,180);width: 100%;text-align: center;overflow: hidden;padding: 0 10px;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical">{{item.filename}}</span>
</div>
</el-image>
</div>
</div>
</template>
</el-form>
</el-row>
</div>
</transition>
</el-row>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
tableData: [],
viewData: [],
lxyHd: [],
ghList: [],
personForm: {
pageNumber: 1,
pageSize: 10,
},
pageForm: {
hdid: "",
year: "",
ghid: "",
searchKey: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
},
pickerOptions: {
disabledDate(time) {
return (
time.getFullYear() > new Date().getFullYear()
);
}
},
tabLoading: false,
personLoading: false,
v: "index",
}
},
methods: {
doExport() {
let obj = this.lxyHd.find(o => {
return o.id === this.pageForm.hdid
})
this.$confirm('确定要导出' + obj.name + '人员名单吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
window.location.href = '/platform/zgfw/lxy/hdtj/doExport?hdid=' + this.pageForm.hdid + '&ghid=' + this.pageForm.ghid + '&hdname=' + obj.name
})
},
pageData() {
sublime.showLoadingbar();
this.tabLoading = true
$.post(base + "/platform/zgfw/lxy/hdtj/pageData", this.pageForm, (res) => {
let {code, data, msg} = res
sublime.closeLoadingbar();
this.tabLoading = false
if (code == 0) {
data.list.map(v => {
v.chry = JSON.parse(v.chry).map(x => {
return x.shry
}).join("")
})
this.tableData = data.list;
this.pageForm.totalCount = data.totalCount;
} else {
this.$message({
message: msg,
type: 'error'
});
}
}, "json");
},
async getLxyHd() {
await $.get("/platform/zgfw/lxy/hdtj/getLxyHd", {year: this.pageForm.year}).then(res => {
if (res.data.length != 0) {
this.lxyHd = res.data
this.pageForm.hdid = this.lxyHd[0].id
} else {
this.lxyHd = []
this.pageForm.hdid = ""
}
})
},
async getLxyBmInfo(id) {
const {data} = await $.get(base + "/platform/zgfw/lxy/fghsh/getBmInfo", {id})
return data
},
async openView(row) {
this.v = "view"
this.viewData = await this.getLxyBmInfo(row.id)
this.viewData.unitname = row.unitname
},
doSearch() {
this.pageData()
},
pageNumberChange(val) {//页码更新操作
this.pageForm.pageNumber = val;
this.pageData();
},
pageSizeChange(val) {//分页大小更新操作
this.pageForm.pageSize = val;
this.pageData();
},
async hdSearch() {
await this.getLxyHd()
},
},
async created() {
this.pageForm.year = new Date().getFullYear() + ""
await this.getLxyHd()
this.ghList = await getUnions()
this.pageData()
}
})
</script>
<!--#
}
#-->