This commit is contained in:
Paidax
2024-12-31 16:31:42 +08:00
parent fdc7a6c53b
commit d6d077186f
6 changed files with 407 additions and 375 deletions
@@ -22,9 +22,9 @@ public enum UserChangeType {
RESIGN(3, "离校"), RESIGN(3, "离校"),
DIE(4, "去世"), DIE(4, "去世"),
RETIREMENT(5, "离退休"), RETIREMENT(5, "离退休"),
// EXPELLED(6, "开除"), EXPELLED(6, "开除"),
RESTORE(7, "入会"), RESTORE(7, "入会"),
WITHDRAWAL(8, "退会"), WITHDRAWAL(8, "退会"),
// NONE(9, "不变"), // NONE(9, "不变"),
BASIC_CHANGE(10, "基本信息异动"), BASIC_CHANGE(10, "基本信息异动"),
WORK(11, "在职"), WORK(11, "在职"),
@@ -221,7 +221,7 @@ public class MemberCommonController {
} }
String userState = StrUtil.blankToDefault(changeRecord.getChangeUserState(), ""); String userState = StrUtil.blankToDefault(changeRecord.getChangeUserState(), "");
if (!userState.equals(sysUserMap.getString("userState", ""))) { if (StrUtil.isNotBlank(userState) && !userState.equals(sysUserMap.getString("userState", ""))) {
compareData.add(NutMap.NEW() compareData.add(NutMap.NEW()
.addv("columnName", "在职状态") .addv("columnName", "在职状态")
.addv("newValue", userState) .addv("newValue", userState)
@@ -229,6 +229,15 @@ public class MemberCommonController {
); );
} }
String personType = StrUtil.blankToDefault(changeRecord.getChangePersonType(), "");
if (StrUtil.isNotBlank(personType) && !personType.equals(sysUserMap.getString("personType", ""))) {
compareData.add(NutMap.NEW()
.addv("columnName", "人员类型")
.addv("newValue", personType)
.addv("oldValue", sysUserMap.getString("personType"))
);
}
//在职,退休,离职可能会发生会员和福利会员的变化 //在职,退休,离职可能会发生会员和福利会员的变化
if(changeRecord.getUpdateMember()!=null && changeRecord.getUpdateMember()){ if(changeRecord.getUpdateMember()!=null && changeRecord.getUpdateMember()){
//说明要改变会员状态 //说明要改变会员状态
@@ -311,7 +311,11 @@ public class MemberChangeManageController {
memberChangeRecord = MemberChangeAuditHandle.CREATE.next(memberChangeRecord, null); memberChangeRecord = MemberChangeAuditHandle.CREATE.next(memberChangeRecord, null);
MemberChangeAuditHandle.SCHOOL.next(memberChangeRecord, audit); MemberChangeAuditHandle.SCHOOL.next(memberChangeRecord, audit);
} else { } else {
memberChangeRecord.setApplyOrigin(MemberChangeOrigin.UNION.getCode()); if (ShiroUtil.hasAnyRoles("gh01, H04")) {
memberChangeRecord.setApplyOrigin(MemberChangeOrigin.UNION.getCode());
} else if (ShiroUtil.hasRole("ghxzzz")){
memberChangeRecord.setApplyOrigin(MemberChangeOrigin.UNION_GROUP.getCode());
}
memberChangeRecord = MemberChangeAuditHandle.CREATE.next(memberChangeRecord, null); memberChangeRecord = MemberChangeAuditHandle.CREATE.next(memberChangeRecord, null);
MemberChangeAuditHandle.UNION.next(memberChangeRecord, audit); MemberChangeAuditHandle.UNION.next(memberChangeRecord, audit);
} }
@@ -546,6 +550,9 @@ public class MemberChangeManageController {
public Object units() { public Object units() {
Cnd cnd = Cnd.NEW(); Cnd cnd = Cnd.NEW();
cnd.and("unitlevel", "=", 2); cnd.and("unitlevel", "=", 2);
if (!ShiroUtil.hasAnyRoles("sysadmin,SchoolUnionAdmin")) {
cnd.and("id", "!=", "DZJF000");
}
return sysUnitService.dao().query("unit_union", cnd); return sysUnitService.dao().query("unit_union", cnd);
} }
@@ -181,9 +181,10 @@ public class WelfareSingleServiceImpl extends ViServiceImpl<WelfareProject> impl
wpus.receiveAddress, wpus.receiveAddress,
wpus.welfareId, wpus.welfareId,
wpus.selectUserId, wpus.selectUserId,
wl.welfareUnitId as unionId IF(staff.unionRelationUnionId is not null, staff.unionRelationUnionId, wl.welfareUnitId) AS unionId
FROM FROM
`welfare_project_user_selection` wpus `welfare_project_user_selection` wpus
LEFT JOIN special_staff staff ON staff.userId = wpus.selectUserId
LEFT JOIN welfare_list wl on wl.userId = wpus.selectUserId AND wpus.welfareId = wl.projectId LEFT JOIN welfare_list wl on wl.userId = wpus.selectUserId AND wpus.welfareId = wl.projectId
$condition $condition
"""); """);
@@ -1,396 +1,411 @@
<template> <template>
<div style="display: flex;align-items: center;justify-content: center"> <div style="display: flex;align-items: center;justify-content: center">
<el-form :model="formData" ref="form" :rules="formRules" v-loading="loading" label-width="170px" <el-form :model="formData" ref="form" :rules="formRules" v-loading="loading" label-width="170px"
style="width: 1000px"> style="width: 1000px">
<vi-title title="申请变更"></vi-title> <vi-title title="申请变更"></vi-title>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工&emsp;&emsp;号"> <el-form-item label="工&emsp;&emsp;号">
<el-input :value="formData.loginname" disabled></el-input> <el-input :value="formData.loginname" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="姓&emsp;&emsp;名"> <el-form-item label="姓&emsp;&emsp;名">
<el-input :value="formData.username" disabled></el-input> <el-input :value="formData.username" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所在单位"> <el-form-item label="所在单位">
<el-input :value="formData.unitname" disabled></el-input> <el-input :value="formData.unitname" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所在工会"> <el-form-item label="所在工会">
<el-input :value="formData.unionname" <el-input :value="formData.unionname"
disabled></el-input> disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="变更时间"> <el-form-item label="变更时间">
<el-input :value="formData.auditTime" disabled></el-input> <el-input :value="formData.auditTime" disabled></el-input>
</el-form-item>
<el-form-item prop="type" label="变更类型">
<!-- <dict-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"-->
<!-- code="MemberChangeType" @change="typeChange"></dict-select>-->
<el-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型" @change="typeChange">
<el-option v-for="item in userChangeTypeList" :label="item.name" :value="item.code" :key="item.id"></el-option>
</el-select>
</el-form-item>
<!--异动-->
<div v-if="formData.type==='1'">
<el-form-item prop="type" label="新&ensp;单&ensp;位">
<el-select v-model="formData.currentUnitId" style="width: 100%" filterable clearable
@change="unitChange"
placeholder="请选择单位">
<el-option
v-for="item in unitOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="type" label="新&ensp;工&ensp;会">
<el-input :value="formData.currentUnionName" disabled placeholder=""></el-input>
</el-form-item>
<el-row :gutter="20" v-if="isThreeUnit">
<el-col :span="12">
<el-form-item label="新科室" prop="currentThreeUnitId">
<el-select v-model="formData.currentThreeUnitId" clearable filterable
placeholder="请选择新科室"
@change="threeUnitChange"
style="width: 100%">
<el-option
v-for="item in threeUnits"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12"> <el-form-item prop="type" label="变更类型">
<el-form-item label="工会小组"> <!-- <dict-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"-->
<el-input :value="formData.currentUnionGroupName" disabled></el-input> <!-- code="MemberChangeType" @change="typeChange"></dict-select>-->
<el-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"
@change="typeChange">
<el-option v-for="item in userChangeTypeList" :label="item.name" :value="item.code"
:key="item.id"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="welfare_member&&['2'].includes(formData.type)"> <!--异动-->
<el-row :gutter="20"> <div v-if="formData.type==='1'">
<el-col :span="12"> <el-row :gutter="20">
<el-form-item prop="updateWelfareMember" label="福利会员"> <el-col :span="12">
<el-radio-group v-model="formData.updateWelfareMember" size="small"> <el-form-item prop="type" label="新单位">
<el-radio :label="true" border>享受福利</el-radio> <el-select v-model="formData.currentUnitId" style="width: 100%" filterable clearable
<el-radio :label="false" border>不享受福利</el-radio> @change="unitChange"
</el-radio-group> placeholder="请选择单位">
<el-option
v-for="item in unitOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="type" label="新工会">
<el-input :value="formData.currentUnionName" readonly placeholder="选择单位后自动填充"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="isThreeUnit">
<el-col :span="12">
<el-form-item label="新科室" prop="currentThreeUnitId">
<el-select v-model="formData.currentThreeUnitId" clearable filterable
placeholder="请选择新科室"
@change="threeUnitChange"
style="width: 100%">
<el-option
v-for="item in threeUnits"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工会小组">
<el-input :value="formData.currentUnionGroupName" readonly placeholder="选择科室后自动填充"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="welfare_member&&['2'].includes(formData.type)">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>享受福利</el-radio>
<el-radio :label="false" border>不享受福利</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="true" border>成为会员</el-radio>
<el-radio :label="false" border>不成为会员</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="welfare_member&&['7'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>享受福利</el-radio>
<el-radio :label="false" border>不享受福利</el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-else-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>保留享受福利</el-radio>
<el-radio :label="false" border>取消享受福利</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="true" border>保留会员资格</el-radio>
<el-radio :label="false" border>取消会员资格</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="userState" label="原在职状态">
<el-input v-model="formData.userState" readonly placeholder="原在职状态"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateUserState" label="是否改变在职状态" style="width: 100%">
<dict-select v-model="formData.changeUserState" style="width: 100%" clearable
placeholder="是否改变在职状态"
code="userState"></dict-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="personType" label="原人员类型">
<el-input v-model="formData.personType" readonly placeholder="原人员类型"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateUserState" label="是否改变人员类型" style="width: 100%">
<dict-select v-model="formData.changePersonType" style="width: 100%" clearable
placeholder="是否改变人员类型"
code="UserType"></dict-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="formData.type==='10'">
<el-form-item prop="oldIdCard" label="原身份证号" style="width: 100%">
<el-input v-model="formData.oldIdCard" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="idCard" label="新的身份证号" style="width: 100%">
<el-input v-model="formData.changeIdCard" placeholder="请输入新的身份证号" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='11'">
<el-form-item prop="oldMobile" label="原手机号码" style="width: 100%">
<el-input v-model="formData.oldMobile" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="mobile" label="新的手机号码" style="width: 100%">
<el-input v-model="formData.changeMobile" placeholder="请输入新的手机号码" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='12'">
<el-form-item prop="oldEducation" label="原学历" style="width: 100%">
<el-input v-model="formData.oldEducation" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="education" label="新的学历" style="width: 100%">
<dict-select v-model="formData.changeEducation" style="width: 100%" clearable
placeholder="请选择新的学历"
code="Education"></dict-select>
</el-form-item>
</div>
<!-- <div v-else-if="welfare_member&&['2','7'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="是否享受福利">
<el-switch
v-model="formData.updateWelfareMember"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<span style="color: red">&emsp;&emsp;&emsp;温馨提醒此操作将该教工设为正式会员</span>
</el-form-item>
</div>-->
<el-form-item prop="remark" label="变化原因">
<el-input v-model="formData.remark" placeholder="变化原因" type="textarea" :rows="4"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="true" border>成为会员</el-radio>
<el-radio :label="false" border>不成为会员</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="welfare_member&&['7'].includes(formData.type)"> <el-row style="display: flex;justify-content:flex-end;">
<el-form-item prop="updateWelfareMember" label="福利会员"> <el-button @click="doSubmit" :loading="submitLoading" :disabled="disabled" type="primary">
<el-radio-group v-model="formData.updateWelfareMember" size="small"> 提交
<el-radio :label="true" border>享受福利</el-radio> </el-button>
<el-radio :label="false" border>不享受福利</el-radio> </el-row>
</el-radio-group> </el-form>
</el-form-item> </div>
</div>
<div v-else-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>保留享受福利</el-radio>
<el-radio :label="false" border>取消享受福利</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="true" border>保留会员资格</el-radio>
<el-radio :label="false" border>取消会员资格</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="userState" label="原在职状态">
<el-input v-model="formData.userState" readonly placeholder="原在职状态"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateUserState" label="是否改变在职状态" style="width: 100%">
<dict-select v-model="formData.changeUserState" style="width: 100%" clearable placeholder="是否改变在职状态"
code="userState"></dict-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item prop="personType" label="原人员类型">
<el-input v-model="formData.personType" readonly placeholder="原人员类型"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="updateUserState" label="是否改变人员类型" style="width: 100%">
<dict-select v-model="formData.changePersonType" style="width: 100%" clearable
placeholder="是否改变人员类型"
code="UserType"></dict-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-else-if="formData.type==='10'">
<el-form-item prop="oldIdCard" label="原身份证号" style="width: 100%">
<el-input v-model="formData.oldIdCard" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="idCard" label="新的身份证号" style="width: 100%">
<el-input v-model="formData.changeIdCard" placeholder="请输入新的身份证号" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='11'">
<el-form-item prop="oldMobile" label="原手机号码" style="width: 100%">
<el-input v-model="formData.oldMobile" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="mobile" label="新的手机号码" style="width: 100%">
<el-input v-model="formData.changeMobile" placeholder="请输入新的手机号码" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='12'">
<el-form-item prop="oldEducation" label="原学历" style="width: 100%">
<el-input v-model="formData.oldEducation" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="education" label="新的学历" style="width: 100%">
<dict-select v-model="formData.changeEducation" style="width: 100%" clearable placeholder="请选择新的学历"
code="Education"></dict-select>
</el-form-item>
</div>
<!-- <div v-else-if="welfare_member&&['2','7'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="是否享受福利">
<el-switch
v-model="formData.updateWelfareMember"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<span style="color: red">&emsp;&emsp;&emsp;温馨提醒此操作将该教工设为正式会员</span>
</el-form-item>
</div>-->
<el-form-item prop="remark" label="变化原因">
<el-input v-model="formData.remark" placeholder="变化原因" type="textarea" :rows="4"></el-input>
</el-form-item>
<el-row style="display: flex;justify-content:flex-end;">
<el-button @click="doSubmit" :loading="submitLoading" :disabled="disabled" type="primary">
提交
</el-button>
</el-row>
</el-form>
</div>
</template> </template>
<script> <script>
module.exports = { module.exports = {
components: { components: {
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0'), 'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0'),
},
props: {
userid: {type: String},
welfare_member: {type: Boolean, default: true},
},
data() {
return {
loading: true,
disabled: false,
submitLoading: false,
formData: {},
formRules: {
type: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfareMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfare: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentUnitId: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}],
idCard: [{required: true, message: '必填', trigger: ['blur', 'change']}],
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
education: [{required: true, message: '必填', trigger: ['blur', 'change']}],
insertMember: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
unitOptions: [],
threeUnits: [],
isThreeUnit: false,
userChangeTypeList:[],
}
},
watch: {
userid(val) {
this.flush()
}
},
methods: {
typeChange(val) {
console.log(val)
this.$set(this.formData, "updateWelfareMember", ['2','7'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", !['3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2'].includes(this.formData.type))
this.$set(this.formData, "updateMember", !['3', '4', '5', '6', '8'].includes(this.formData.type))
}, },
async doSubmit() { props: {
this.$refs["form"].validate((valid) => { userid: {type: String},
if (valid) { welfare_member: {type: Boolean, default: true},
this.submitLoading = true },
this.$emit("submit", this.formData) data() {
return {
loading: true,
disabled: false,
submitLoading: false,
formData: {},
formRules: {
type: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfareMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfare: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentUnitId: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}],
idCard: [{required: true, message: '必填', trigger: ['blur', 'change']}],
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
education: [{required: true, message: '必填', trigger: ['blur', 'change']}],
insertMember: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
unitOptions: [],
threeUnits: [],
isThreeUnit: false,
userChangeTypeList: [],
} }
})
}, },
closeLoading() { watch: {
this.submitLoading = false userid(val) {
}, this.flush()
unitChange(v) {
// const unit = this.unitOptions.find(x => x.id === v)
// if (unit) {
// this.formData.currentUnionId = unit.unionid
// this.formData.currentUnionName = unit.unionname
// } else {
// this.formData.currentUnionId = ''
// this.formData.currentUnionName = ''
// }
this.$set(this.formData, 'currentThreeUnitId', null)
this.$set(this.formData, 'currentUnionGroupName', null)
this.threeUnits = []
if (v) {
this.getThreeUnits(v)
}
const unit = this.unitOptions.find(x => x.id === v)
if (unit) {
this.$set(this.formData, 'currentUnionId', unit.unionid)
this.$set(this.formData, 'currentUnionName', unit.unionname)
} else {
this.$set(this.formData, 'currentUnionId', null)
this.$set(this.formData, 'currentUnionName', null)
}
},
async getThreeUnits(val) {
this.threeUnits = await threeUnitsByUnionGroupOrUnitId(val, null)
},
async threeUnitChange(val) {
if (val) {
const threeUnit = this.threeUnits.find(v => v.id === val)
const groupName = threeUnit.groupname
this.$set(this.formData, 'currentUnionGroupName', groupName)
} else {
this.$set(this.formData, 'currentUnionGroupName', null)
}
},
async flush() {
this.loading = true
this.disabled = false
if (!this.userid) {
this.formData = {}
this.loading = false
this.disabled = true
return
}
const resp = await $.get("/platform/member/common/userInfo", {userId: this.userid})
if (resp.code === 0) {
if (this.$refs["form"])
this.$refs["form"].resetFields();
this.formData = {
userId: resp.data.id,
loginname: resp.data.loginname,
username: resp.data.username,
unitname: resp.data.unitname,
unionname: resp.data.unionname,
originUnitId: resp.data.unitid,
originThreeUnitId: resp.data.threeUnitId,
originUnionId: resp.data.unionid,
userState: resp.data.userState,
personType: resp.data.personType,
auditTime: moment().format('YYYY-MM-DD'),
notes: null,
oldIdCard:resp.data.idcard,
oldMobile:resp.data.mobile,
oldEducation:resp.data.education
} }
this.disabled = false
} else {
this.disabled = true
this.$notify.error({
title: '错误',
message: '获取用户信息失败'
});
}
this.loading = false
}, },
async getUnits() { methods: {
const resp = await $.post('/platform/member/change/mange/units') typeChange(val) {
if (resp.code === 0) { if (val == '1') {
this.unitOptions = resp.data this.formData.updateWelfareMember = null
} this.formData.updateMember = null
} else {
this.$set(this.formData, "updateWelfareMember", ['2', '7'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", !['3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2'].includes(this.formData.type))
this.$set(this.formData, "updateMember", !['3', '4', '5', '6', '8'].includes(this.formData.type))
}
},
async doSubmit() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.submitLoading = true
this.$emit("submit", this.formData)
}
})
},
closeLoading() {
this.submitLoading = false
},
unitChange(v) {
// const unit = this.unitOptions.find(x => x.id === v)
// if (unit) {
// this.formData.currentUnionId = unit.unionid
// this.formData.currentUnionName = unit.unionname
// } else {
// this.formData.currentUnionId = ''
// this.formData.currentUnionName = ''
// }
this.$set(this.formData, 'currentThreeUnitId', null)
this.$set(this.formData, 'currentUnionGroupName', null)
this.threeUnits = []
if (v) {
this.getThreeUnits(v)
}
const unit = this.unitOptions.find(x => x.id === v)
this.isThreeUnit = unit.unionname.includes("机关");
if (unit) {
this.$set(this.formData, 'currentUnionId', unit.unionid)
this.$set(this.formData, 'currentUnionName', unit.unionname)
} else {
this.$set(this.formData, 'currentUnionId', null)
this.$set(this.formData, 'currentUnionName', null)
}
},
async getThreeUnits(val) {
this.threeUnits = await threeUnitsByUnionGroupOrUnitId(val, null)
},
async threeUnitChange(val) {
if (val) {
const threeUnit = this.threeUnits.find(v => v.id === val)
const groupName = threeUnit.groupname
this.$set(this.formData, 'currentUnionGroupName', groupName)
} else {
this.$set(this.formData, 'currentUnionGroupName', null)
}
},
async flush() {
this.loading = true
this.disabled = false
if (!this.userid) {
this.formData = {}
this.loading = false
this.disabled = true
return
}
const resp = await $.get("/platform/member/common/userInfo", {userId: this.userid})
if (resp.code === 0) {
if (this.$refs["form"])
this.$refs["form"].resetFields();
this.formData = {
userId: resp.data.id,
loginname: resp.data.loginname,
username: resp.data.username,
unitname: resp.data.unitname,
unionname: resp.data.unionname,
originUnitId: resp.data.unitid,
originThreeUnitId: resp.data.threeUnitId,
originUnionId: resp.data.unionid,
userState: resp.data.userState,
personType: resp.data.personType,
auditTime: moment().format('YYYY-MM-DD'),
notes: null,
oldIdCard: resp.data.idcard,
oldMobile: resp.data.mobile,
oldEducation: resp.data.education
}
this.disabled = false
} else {
this.disabled = true
this.$notify.error({
title: '错误',
message: '获取用户信息失败'
});
}
this.loading = false
},
async getUnits() {
const resp = await $.post('/platform/member/change/mange/units')
if (resp.code === 0) {
this.unitOptions = resp.data
}
},
async getUserChangeType() {
const resp = await $.get('/platform/member/common/getUserChangType')
if (resp.code === 0) {
this.userChangeTypeList = resp.data
}
},
}, },
async getUserChangeType(){ async created() {
const resp = await $.get('/platform/member/common/getUserChangType') // this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
if (resp.code === 0){ // this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
this.userChangeTypeList = resp.data await this.getUnits()
} await this.flush()
}, await this.getUserChangeType()
}, // getUnits(null).then(res => this.unitOptions = res)
async created() { }
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
await this.getUnits()
await this.flush()
await this.getUserChangeType()
// getUnits(null).then(res => this.unitOptions = res)
}
} }
</script> </script>
<style> <style>
.is-flex { .is-flex {
display: flex; display: flex;
} }
.is-flex .el-form-item { .is-flex .el-form-item {
width: 50%; width: 50%;
} }
</style> </style>
@@ -159,7 +159,7 @@ layout("/layouts/platform.html"){
</template> </template>
<template #func> <template #func>
<el-radio-group v-model="pageForm.myUnionGroupUser" @change="doSearch" class="mr5" <el-radio-group v-model="pageForm.myUnionGroupUser" @change="doSearch" class="mr5"
v-if="isThreeUnit" size="small"> v-if="isThreeUnit === true" size="small">
<el-radio-button label="">全部</el-radio-button> <el-radio-button label="">全部</el-radio-button>
<el-radio-button :label="1">本小组会员</el-radio-button> <el-radio-button :label="1">本小组会员</el-radio-button>
<el-radio-button :label="0">非本小组会员</el-radio-button> <el-radio-button :label="0">非本小组会员</el-radio-button>
@@ -304,7 +304,8 @@ layout("/layouts/platform.html"){
查看 查看
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('SchoolUnionAdmin')||@shiro.hasRole('SchoolUnionMemberAdmin')||@shiro.hasRole('H03')||@shiro.hasRole('H04')}" v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('SchoolUnionAdmin')||@shiro.hasRole('ghxzzz')
||@shiro.hasRole('SchoolUnionMemberAdmin')||@shiro.hasRole('H03')||@shiro.hasRole('H04')}"
:disabled="!(row.apply||row.reApply)" :disabled="!(row.apply||row.reApply)"
:command="{type:'change',data:row}"> :command="{type:'change',data:row}">
变更 变更
@@ -911,9 +912,8 @@ layout("/layouts/platform.html"){
}, },
async created() { async created() {
// this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true' // this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
this.isThreeUnit = '${@shiro.getPrincipalProperty("union").getUnionname()}'.includes('机关') && "${@shiro.hasRole('ghxzzz')}" if (${@shiro.hasRole('ghxzzz')}) {
console.log(this.isThreeUnit) this.isThreeUnit = true
if (this.isThreeUnit) {
this.pageForm.myUnionGroupUser = 1 this.pageForm.myUnionGroupUser = 1
this.tableColumns.forEach(v => { this.tableColumns.forEach(v => {
if (["threeUnitName", "unionGroupName"].includes(v.prop)) { if (["threeUnitName", "unionGroupName"].includes(v.prop)) {