first commit

This commit is contained in:
2026-09-23 09:38:39 +08:00
commit 98a8b8cace
6257 changed files with 1266718 additions and 0 deletions
@@ -0,0 +1,270 @@
<template>
<div>
<el-card shadow="never">
<div class="search">
<div class="search-item">
<div class="search-item-label">更新组别:</div>
<div class="search-item-option">
<el-select v-model="pageForm.groupId" filterable
placeholder="更新组别"
style="width: 100%;"
@change="doSearch();viewGroupName()">
<el-option v-for="item in activityGroupList" :label="item.groupName"
:value="item.groupId"></el-option>
</el-select>
</div>
</div>
<div class="search-item">
<div class="search-item-label">姓名工号:</div>
<div class="search-item-option">
<el-input v-model="pageForm.searchKeyword" clearable placeholder="请输入内容"
style="width: 100%"
@keyup.enter.native="doSearch">
<el-select slot="prepend" v-model="pageForm.searchName"
placeholder="查询类型"
style="width: 80px;">
<el-option label="姓名" value="username"></el-option>
<el-option label="工号" value="loginname"></el-option>
</el-select>
</el-input>
</div>
</div>
<div class="search-item">
<div class="search-item-label">所属工会:</div>
<div class="search-item-option">
<el-select v-model="pageForm.unionId" clearable="true"
filterable="true"
placeholder="所属工会"
style="width: 100%;" @change="flushUnits"
@clear="flushUnits">
<el-option v-for="item in unions" :label="item.unionname"
:value="item.id"></el-option>
</el-select>
</div>
</div>
<div class="search-item">
<div class="search-item-label">所属单位:</div>
<div class="search-item-option">
<el-select v-model="pageForm.unitId" clearable="true" filterable="true"
placeholder="所属单位"
style="width: 100%;"
@change="doSearch">
<el-option v-for="item in units" :label="item.name"
:value="item.id"></el-option>
</el-select>
</div>
</div>
<div class="search-item">
<div class="search-item-label">人员类型:</div>
<div class="search-item-option">
<dict-select v-model="pageForm.personType" clearable code="UserType"
placeholder="人员类型"
style="width: 100%"
@change="doSearch"></dict-select>
</div>
</div>
<div class="search-item">
<div class="search-item-label">在职状态:</div>
<div class="search-item-option">
<dict-select v-model="pageForm.userState" clearable code="UserState"
placeholder="在职状态"
style="width: 100%"
@change="doSearch"></dict-select>
</div>
</div>
<div class="search-query">
<el-button icon="el-icon-search" type="primary" @click="doSearch">搜索</el-button>
</div>
</div>
</el-card>
<el-card class="mt10" shadow="never">
<table-tool :app="this" :label="currentGroupName">
<template #label_end>
</template>
<template #func>
<!-- <el-button @click="doExportUser" icon="el-icon-printer"
size="medium" type="primary" :disabled="!pageForm.groupId">
导出人员xlsx
</el-button>-->
<el-button :disabled="tableData.length===0"
size="medium"
type="danger" @click="doDelete(null,pageForm.groupId)">
删除{{ currentGroupName }}
</el-button>
</template>
</table-tool>
<el-table ref="userTable" :data="tableData" :size="tableSize" border stripe>
<el-table-column label="序号" type="index" width="80px"></el-table-column>
<el-table-column
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
align="center"
header-align="center"
show-overflow-tooltip
></el-table-column>
<el-table-column align="center" header-align="center" label="操作" width="100">
<template scope="{row}">
<el-button size="mini" type="danger" @click="doDelete(row.id,null)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-row class="el-pagination-container" style="margin-bottom: 0px">
<el-pagination
:current-page="pageForm.pageNumber"
:page-size="pageForm.pageSize"
:page-sizes="[5,10, 20, 30, 50]"
:total="pageForm.totalCount"
layout="total, sizes, prev, pager, next"
@size-change="pageSizeChange"
@current-change="pageNumberChange">
</el-pagination>
</el-row>
</el-card>
</div>
</template>
<script>
module.exports = {
props: {
group_id: {
type: String, default: ''
}
},
computed: {
is_H10() {
return this.roleData.is_H10
},
is_A06() {
return this.roleData.is_A06
},
is_H04() {
return this.roleData.is_H04
},
is_H02() {
return this.roleData.is_H02
},
is_H03() {
return this.roleData.is_H03
},
is_sysadmin() {
return this.roleData.is_sysadmin
},
unionid() {
return this.roleData.unionid
},
},
data() {
return {
activityGroupList: [],
ActivityUnions: [],
ActivityUnits: [],
unions: [],
units: [],
pageForm: {
unionId: "",
unitId: "",
searchName: "username",
personTypes: [],
userStates: [],
memberStatus: [],
year: moment().format('YYYY')
},
tableColumns: [
{prop: 'loginName', label: '工号'},
{prop: 'userName', label: '姓名'},
{prop: 'sex', label: '性别'},
{prop: 'birthday', label: '出生年月'},
{prop: 'mobile', label: '联系电话'},
{prop: 'personType', label: '人员类型', sortable: true},
{prop: 'userState', label: '在职状态', sortable: true},
{prop: 'unitName', label: '所属单位', sortable: true},
{prop: 'unionName', label: '所属工会', sortable: true},
],
roleData: {},
currentGroupName: null,
}
},
mixins: [initTableMixins],
components: {
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0')
},
methods: {
viewGroupName() {
if (this.pageForm.groupId) {
const group = this.activityGroupList.find(v => v.groupId === this.pageForm.groupId)
this.currentGroupName = group.groupName + '人员'
return
}
this.currentGroupName = '全部人员'
},
async getActivityGroup() {
this.pageForm.groupId = ''
const resp = await $.get('/platform/user/part/update/getUserPart')
this.activityGroupList = resp.data
if (resp.data && resp.data.length > 0) {
this.$set(this.pageForm, "groupId", resp.data[0].groupId)
}
await this.pageData()
},
doExportUser() {
//window.open("/platform/activity/basic/user/doExportUser?groupId=" + this.pageForm.groupId)
},
async doDelete(id, groupId) {
const confirm = await this.$confirm('您确定要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm === 'confirm') {
const resp = await $.post('/platform/user/part/update/cleanPart', {id, groupId})
if (resp.code === 0) {
this.$message.success(resp.msg)
this.$set(this.pageForm, "groupId", null)
this.doSearch()
await this.getActivityGroup()
this.$emit('group_change')
}
}
},
async flushUnits() {
this.$set(this.pageForm, "unitId", "")
if (this.is_A06 || this.is_sysadmin || this.is_H03) {
this.units = await getUnits(this.pageForm.unionId)
this.ActivityUnits = await getActivityUnits(this.pageForm.activityUnionId)
} else {
this.units = await getUnits(this.unionid)
}
},
async pageData() {
sublime.showLoadingbar()
const resp = await $.post('/platform/user/part/update/pageData', this.pageForm)
if (resp.code === 0) {
this.tableData = resp.data.list
this.pageForm.totalCount = resp.data.totalCount
}
sublime.closeLoadingbar()
},
},
async created() {
this.unions = await getUnions(null)
this.ActivityUnions = await getActivityUnions()
await this.flushUnits()
await this.getActivityGroup()
this.viewGroupName()
}
}
</script>