This commit is contained in:
Paidax
2024-12-04 08:51:01 +08:00
parent 2ffadd89a7
commit 02150326e0
63 changed files with 2362 additions and 2243 deletions
@@ -37,17 +37,14 @@
</el-form-item>
<el-form-item prop="type" label="变更类型">
<el-select v-model="formData.type" style="width: 100%" filterable clearable
placeholder="变更类型">
<el-option
v-for="item in memberChangeTypeOptions"
:label="item.name"
:value="item.code">
</el-option>
<!-- <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
@@ -87,30 +84,102 @@
</el-form-item>
</el-col>
</el-row>
</div>
<!--离校 离退休-->
<div v-if="formData.type && !['1','7','8','12','13'].includes(formData.type)">
<div>
<el-form-item prop="updateMember" label="工会会员资格">
<el-switch
v-model="formData.updateMember"
active-text="移除"
inactive-text="添加">
</el-switch>
</el-form-item>
</div>
<el-form-item prop="updateWelfare" label="福利会员资格">
<el-switch
v-model="formData.updateWelfare"
active-text="移除"
inactive-text="添加">
</el-switch>
<div v-else-if="welfare_member&&['2'].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>
<el-form-item prop="insertMember" 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>
</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-form-item prop="updateWelfare" 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>
<!-- <span style="color: red">&emsp;&emsp;&emsp;温馨提醒此操作将取消该教工正式会员资格</span>-->
</el-form-item>
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="false" border>取消会员资格</el-radio>
<el-radio :label="true" border>保留会员资格</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="updateUserState" label="是否改变在职状态" style="width: 100%"
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<dict-select v-model="formData.changeUserState" style="width: 100%" clearable placeholder="变更类型"
code="userState"></dict-select>
</el-form-item>
<el-form-item prop="updateUserState" label="是否改变人员类型" style="width: 100%"
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<dict-select v-model="formData.changePersonType" style="width: 100%" clearable
placeholder="人员类型"
code="UserType"></dict-select>
</el-form-item>
</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>
@@ -127,11 +196,12 @@
<script>
module.exports = {
components: {},
components: {
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0'),
},
props: {
userid: {type: String},
welfare_member: {type: Boolean, default: false},
welfare_check_filter_mode: {type: Number, default: 1},
welfare_member: {type: Boolean, default: true},
},
data() {
return {
@@ -142,19 +212,22 @@ module.exports = {
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'}],
remark: [{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,
memberChangeTypeOptions: [],
userChangeTypeList:[],
}
},
watch: {
@@ -164,15 +237,14 @@ module.exports = {
},
methods: {
typeChange() {
this.$set(this.formData, "updateWelfare", ['3', '5'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['3', '5'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", ['2','7'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2'].includes(this.formData.type))
},
async doSubmit() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (!['1', '12', '13'].includes(this.formData.type)) {
this.formData.userState = this.memberChangeTypeOptions.find(v => v.code === this.formData.type)?.name
}
this.submitLoading = true
this.$emit("submit", this.formData)
}
@@ -231,9 +303,6 @@ module.exports = {
this.disabled = true
return
}
this.getDictOptions(1)
const resp = await $.get("/platform/member/common/userInfo", {userId: this.userid})
if (resp.code === 0) {
if (this.$refs["form"])
@@ -248,9 +317,13 @@ module.exports = {
originUnitId: resp.data.unitid,
originThreeUnitId: resp.data.threeUnitId,
originUnionId: resp.data.unionid,
// userState: resp.data.userState,
userState: resp.data.userState,
personType: resp.data.personType,
auditTime: moment().format('YYYY-MM-DD'),
notes: null
notes: null,
oldIdCard:resp.data.idcard,
oldMobile:resp.data.mobile,
oldEducation:resp.data.education
}
this.disabled = false
} else {
@@ -268,23 +341,18 @@ module.exports = {
this.unitOptions = resp.data
}
},
getDictOptions() {
getDictOptions('MemberChangeType').then(res => {
if (this.welfare_check_filter_mode === 1) {
this.memberChangeTypeOptions = res.filter(v => !['12', '13'].includes(v.code))
} else {
this.memberChangeTypeOptions = res.filter(v => ['12', '13'].includes(v.code))
}
})
}
async getUserChangeType(){
const resp = await $.get('/platform/member/common/getUserChangType')
if (resp.code === 0){
this.userChangeTypeList = resp.data
}
},
},
async created() {
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
this.getUnits()
this.flush()
await this.getUnits()
await this.flush()
await this.getUserChangeType()
// getUnits(null).then(res => this.unitOptions = res)
}
}
@@ -34,7 +34,7 @@
<script>
module.exports = {
components: {
'user-change-history': httpVueLoader('/components/userChangeHistory/userChangeHistory.vue?v=' + new Date().getTime()),
'user-change-history': httpVueLoader('/components/userChangeHistory/UserChangeHistory.vue?v=' + new Date().getTime()),
},
props: {
records: {type: Array, default: []},
File diff suppressed because it is too large Load Diff