first commit
This commit is contained in:
@@ -0,0 +1,272 @@
|
||||
<template>
|
||||
<div style="display: flex;align-items: center;justify-content: center">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" v-loading="loading" label-width="100px"
|
||||
style="width: 1000px">
|
||||
|
||||
<vi-title title="申请变更"></vi-title>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工  号">
|
||||
<el-input :value="formData.loginname" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓  名">
|
||||
<el-input :value="formData.username" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在单位">
|
||||
<el-input :value="formData.unitname" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在工会">
|
||||
<el-input :value="formData.unionname"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="变更时间">
|
||||
<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-form-item>
|
||||
|
||||
<!--异动-->
|
||||
<div v-if="formData.type==='1'">
|
||||
<el-form-item prop="type" label="新 单 位">
|
||||
<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="新 工 会">
|
||||
<el-input :value="formData.currentUnionName" disabled placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<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" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-else-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfareMember" label="是否同时取消享受福利" label-width="170px">
|
||||
<el-switch
|
||||
v-model="formData.updateWelfareMember"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
<span style="color: red">   温馨提醒:此操作将取消该教工正式会员资格</span>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div v-else-if="welfare_member&&['2','7'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfareMember" label="是否同时享受福利" label-width="170px">
|
||||
<el-switch
|
||||
v-model="formData.updateWelfareMember"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
<span style="color: red">   温馨提醒:此操作将该教工设为正式会员</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>
|
||||
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
components: {
|
||||
'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']}],
|
||||
currentUnitId: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}]
|
||||
},
|
||||
|
||||
unitOptions: [],
|
||||
threeUnits: []
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
userid(val) {
|
||||
this.flush()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
typeChange() {
|
||||
this.$set(this.formData, "updateWelfareMember", ['2', '3', '4', '5', '6', '7', '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)
|
||||
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,
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
notes: null
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getUnits()
|
||||
this.flush()
|
||||
// getUnits(null).then(res => this.unitOptions = res)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.is-flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.is-flex .el-form-item {
|
||||
width: 50%;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,235 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-table :data="records" style="width: 100%" row-key="id"
|
||||
@expand-change="onExpand">
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="{row}">
|
||||
<el-form class="demo-table-expand" v-loading="row.loading"
|
||||
label-position="right" label-suffix=":" label-width="120px">
|
||||
|
||||
<vi-title title="变更信息"></vi-title>
|
||||
|
||||
<el-form-item label="变更原因">
|
||||
{{ row.remark }}
|
||||
</el-form-item>
|
||||
|
||||
<!--异动-->
|
||||
<template v-if="row.type==1">
|
||||
|
||||
<vi-title title="异动信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原科室">
|
||||
<span>{{ row.originThreeUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原单位">
|
||||
<span>{{ row.originUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原工会">
|
||||
<span>{{ row.originUnionName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="新科室">
|
||||
<span>{{ row.currentThreeUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="新单位">
|
||||
<span>{{ row.currentUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="新工会">
|
||||
<span>{{ row.currentUnionName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<template v-if="audit_info_union&&row.info.unionAudit">
|
||||
<vi-title title="基层工会审核信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20" v-if="row.info&&row.info.unionAudit">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员">
|
||||
<span>{{ row.info.unionAudit.username }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间">
|
||||
<span>{{ row.info.unionAudit.auditTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="审核意见">
|
||||
<span>{{ row.info.unionAudit.auditOpinion }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-else type="flex" justify="center">
|
||||
<el-form-item label="暂无审核信息">
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<template v-if="audit_info_school&&row.info.schoolAudit">
|
||||
<vi-title title="校工会审核信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20" v-if="row.info&&row.info.schoolAudit">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员">
|
||||
<span>{{ row.info.schoolAudit.username }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间">
|
||||
<span>{{ row.info.schoolAudit.auditTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="审核意见">
|
||||
<span>{{ row.info.schoolAudit.auditOpinion }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-else type="flex" justify="center">
|
||||
<el-form-item label="暂无审核信息">
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="序号"
|
||||
type="index"></el-table-column>
|
||||
|
||||
<el-table-column label="申请人" prop="username" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="申请时间" prop="applyTime" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="申请方式" prop="type" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row:{applyOrigin}}">
|
||||
{{ changeOrigin[applyOrigin] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="变更类型" prop="type" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row:{type}}">
|
||||
{{ changeType[type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="状态" prop="stateId" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row}">
|
||||
<span :style="'color:'+row.stateColor">{{ row.stateName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
components: {},
|
||||
props: {
|
||||
records: {type: Array, default: []},
|
||||
userid: {type: String},
|
||||
audit_info_union: {type: Boolean, default: true},
|
||||
audit_info_school: {type: Boolean, default: true}
|
||||
},
|
||||
model: {
|
||||
prop: 'records',
|
||||
event: 'change'
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
changeType: {},
|
||||
changeOrigin: {},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
userid(val) {
|
||||
this.getMemberChangeRecords()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
async onExpand(row, expandedRows) {
|
||||
if (!expandedRows.includes(row)) {
|
||||
return
|
||||
}
|
||||
|
||||
this.$set(row, "loading", true)
|
||||
const resp = await $.get("/platform/member/common/findChangeApplyInfo", {id: row.id})
|
||||
this.$set(row, "loading", false)
|
||||
|
||||
if (resp.code === 0) {
|
||||
this.$set(row, "info", resp.data)
|
||||
} else {
|
||||
this.$set(row, "info", {})
|
||||
}
|
||||
},
|
||||
|
||||
async getMemberChangeRecords() {
|
||||
this.loading = true
|
||||
|
||||
if (!this.userid && this.records.length) {
|
||||
this.loading = false
|
||||
return
|
||||
} else if (!this.userid) {
|
||||
this.records = []
|
||||
this.loading = false
|
||||
return
|
||||
}
|
||||
|
||||
const resp = await $.get("/platform/member/common/memberChangeRecords", {userId: this.userid})
|
||||
this.loading = false
|
||||
if (resp.code === 0) {
|
||||
this.records = resp.data
|
||||
} else {
|
||||
this.$notify.error({
|
||||
title: '错误',
|
||||
message: '获取变更记录失败'
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.getMemberChangeRecords()
|
||||
this.changeType = await member.getChangeType()
|
||||
this.changeOrigin = await member.getChangeOrigin()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.is-flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.is-flex .el-form-item {
|
||||
width: 50%;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
*Desc:
|
||||
*Create by: jug
|
||||
*Create time:2023/6/8/10:29
|
||||
*/
|
||||
<template>
|
||||
<div>
|
||||
<el-input v-model="cnd.memberSearchKeyWord" placeholder="请输入值" style="width: 100%">
|
||||
<el-select v-model="cnd.memberSearchName" slot="prepend" placeholder="请选择字段" style="width: 120px">
|
||||
<el-option
|
||||
v-for="column in columnInfos"
|
||||
:key="column.COLUMN_NAME"
|
||||
:label="column.COLUMN_COMMENT"
|
||||
:value="column.COLUMN_NAME">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "MemberCnd",
|
||||
props: {},
|
||||
components: {'enum-select': httpVueLoader('/components/plugins/EnumSelect.vue?v=1.0.0'),},
|
||||
data() {
|
||||
return {
|
||||
columnInfos: [],
|
||||
cnd: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
cnd: {
|
||||
handler(val) {
|
||||
this.$emit('cnd', val)
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getColumnInfo() {
|
||||
const {data, msg, code} = await $.post('/platform/activity/basic/scope/getUserTableColumnInfo')
|
||||
if (code !== 0) {
|
||||
this.$notify.warning(msg)
|
||||
return
|
||||
}
|
||||
this.columnInfos = data
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getColumnInfo()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,993 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!view">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px" v-loading="loading"
|
||||
:disabled="!isAllowModify">
|
||||
<el-tabs v-model="activeName" type="card">
|
||||
|
||||
<el-tab-pane label="基本信息" :name="1">
|
||||
<vi-title title="基本资料"></vi-title>
|
||||
|
||||
<el-form-item prop="loginname" label="工  号">
|
||||
<el-input v-model="formData.loginname" placeholder="工号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="unitid" label="所属单位">
|
||||
<el-select placeholder="所属单位"
|
||||
style="width: 100%"
|
||||
filterable @change="unitChange"
|
||||
v-model="formData.unitid">
|
||||
<el-option v-for="unit in unitOptions" :key="unit.id" :value="unit.id" :label="unit.name"></el-option>
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="unionid" label="所属工会">
|
||||
<el-input :value="formData.unionname" readonly></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="10" v-if="displayUnionGroup">
|
||||
<el-col :xs="24" :lg="12">
|
||||
<el-form-item label="所属三级单位" prop="deptId">
|
||||
<el-select v-model="formData.threeUnitId"
|
||||
filterable
|
||||
placeholder="所属三级单位"
|
||||
style="width: 100%"
|
||||
@change="threeUnitChange">
|
||||
<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 :xs="24" :lg="12">
|
||||
<el-form-item label="工会小组">
|
||||
<el-input :value="formData.unionGroupName" readonly></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="username" label="姓  名">
|
||||
<el-input v-model="formData.username" placeholder="姓名"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="nameUsedBefore" label="曾 用 名">
|
||||
<el-input maxlength="100" placeholder="曾用名"
|
||||
v-model="formData.nameUsedBefore"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="birthday" label="出生日期">
|
||||
<el-date-picker style="width: 100%" v-model="formData.birthday" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" type="date" placeholder="出生日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sex" label="性  别">
|
||||
<el-radio v-model="formData.sex" label="男" border size="small">男</el-radio>
|
||||
<el-radio v-model="formData.sex" label="女" border size="small">女</el-radio>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="birthday" label="出生地点">
|
||||
<el-input v-model="formData.birthPlace" placeholder="出生地点"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="婚  否">
|
||||
<el-radio-group v-model="formData.marriage" size="small">
|
||||
<el-radio label="已婚" border></el-radio>
|
||||
<el-radio label="未婚" border></el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
|
||||
<el-form-item prop="education" label="学  历">
|
||||
<dict-select v-model="formData.education" style="width: 100%" placeholder="请选择学历"
|
||||
code="Education"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="academicDegree" label="学  位">
|
||||
<dict-select v-model="formData.academicDegree" style="width: 100%" placeholder="请选择学位"
|
||||
code="academicDegree"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="nationality" label="国  籍">
|
||||
<el-input v-model="formData.nationality" placeholder="国籍"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="hometown" label="籍  贯">
|
||||
<el-input v-model="formData.hometown" placeholder="籍贯"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="nation" label="民  族">
|
||||
<el-select placeholder="民族" style="width: 100%" filterable v-model="formData.nation">
|
||||
<el-option v-for="nation in nationOptions" :key="nation" :value="nation" :label="nation"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="political" label="政治面貌">
|
||||
<el-input maxlength="100" placeholder="政治面貌" v-model="formData.political"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="jobTitle" label="职  称">
|
||||
<dict-select v-model="formData.jobTitle" style="width: 100%" placeholder="请选择职称"
|
||||
code="JobTitle"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="wage" label="工  资">
|
||||
<el-input v-model="formData.wage" placeholder="工资"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="mobile" label="手 机 号">
|
||||
<el-input maxlength="100" placeholder="手机号"
|
||||
v-model="formData.mobile"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="bank_number" label="银行账号">
|
||||
<el-input maxlength="100" placeholder="银行账号"
|
||||
v-model="formData.bank_number"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
|
||||
<el-form-item prop="userState" label="人员类型">
|
||||
<dict-select v-model="formData.personType" style="width: 100%" placeholder="请选择人员类型"
|
||||
code="UserType"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="userState" label="在职状态">
|
||||
<dict-select v-model="formData.userState" style="width: 100%" placeholder="请选择在职状态"
|
||||
code="UserState"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="idType" label="有效证件类型">
|
||||
<dict-select
|
||||
v-model="formData.idType"
|
||||
placeholder="请选择有效证件类型"
|
||||
style="width: 100%"
|
||||
code="idType">
|
||||
</dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="idType" label="证件有效日期">
|
||||
<el-date-picker
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-model="formData.effectiveDate"
|
||||
type="daterange"
|
||||
range-separator="——"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 100%">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="idcard" label="身份证号">
|
||||
<el-input v-model="formData.idcard" placeholder="身份证号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="weChat" label="微 信 号">
|
||||
<el-input v-model="formData.weChat" placeholder="微信号"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item label="兴趣爱好">
|
||||
<el-input maxlength="255" placeholder="兴趣爱好" v-model="formData.hobby"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="qqnum" label="QQ号">
|
||||
<el-input maxlength="20" placeholder="QQ号" v-model="formData.qqnum"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="householdType" label="户籍类型">
|
||||
<dict-select
|
||||
v-model="formData.householdType"
|
||||
placeholder="请选择户籍类型"
|
||||
style="width: 100%"
|
||||
code="householdType">
|
||||
</dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="specialSkill" label="专  长">
|
||||
<el-input maxlength="100" placeholder="专长" v-model="formData.specialSkill"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="health" label="健康状况">
|
||||
<dict-select
|
||||
v-model="formData.health"
|
||||
placeholder="请选择健康状况"
|
||||
style="width: 100%"
|
||||
code="health">
|
||||
</dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="diseaseType" label="残疾类别">
|
||||
<dict-select
|
||||
v-model="formData.diseaseType"
|
||||
placeholder="请选择残疾类别"
|
||||
style="width: 100%"
|
||||
code="diseaseType">
|
||||
</dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-form-item label="疾病说明">
|
||||
<el-input type="textarea" v-model="formData.diseaseDescription"
|
||||
:autosize="{ minRows: 4}"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="照片上传">
|
||||
<el-upload
|
||||
:action="FILE_UPLOAD_ADDRESS"
|
||||
list-type="picture-card"
|
||||
:file-list="imageList"
|
||||
:class="{disabled:uploadDisabled}"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:limit="1"
|
||||
:on-remove="removeAvatarUpload"
|
||||
:before-upload="beforeAvatarUpload"
|
||||
:on-success="handleAvatarSuccess">
|
||||
<i class="el-icon-plus"></i>
|
||||
<div class="el-upload__tip" slot="tip" style="color: red">
|
||||
*只能上传jpg/png文件,且不超过2MB的一寸电子照片
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<!-- </el-form>-->
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="工作信息" :name="2">
|
||||
|
||||
<!-- <el-form :model="formData" ref="form" :rules="formRules" label-width="140px" v-loading="loading">-->
|
||||
|
||||
<vi-title title="工作信息"></vi-title>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="isOutsiders" label="是否外来务工人员">
|
||||
<el-radio-group v-model="formData.isOutsiders">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="schoolTime" label="参加工作日期">
|
||||
<el-date-picker
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-model="formData.schoolTime"
|
||||
type="date"
|
||||
placeholder="选择参加工作日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="position" label="录用职位">
|
||||
<el-input maxlength="100" placeholder="录用职位" v-model="formData.position"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="majorCategory" label="所学专业类别">
|
||||
<el-input maxlength="50" placeholder="所学专业类别" v-model="formData.majorCategory"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="profession" label="从事专业">
|
||||
<el-input v-model="formData.profession" placeholder="从事专业"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="laborContractType" label="劳动合同制用工形式">
|
||||
<el-input v-model="formData.laborContractType" placeholder="劳动合同制用工形式"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="occupationType" label="职业类别">
|
||||
<el-input v-model="formData.occupationType" placeholder="职业类别"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
|
||||
<el-form-item prop="notes" label="注  释">
|
||||
<el-input type="textarea" v-model="formData.notes" placeholder="注释"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="vita" label="个人简历">
|
||||
<div id="vitaEditor"></div>
|
||||
</el-form-item>
|
||||
<!-- </el-form>-->
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="会员信息" :name="3">
|
||||
<!-- <el-form :model="formData" ref="form" :rules="formRules" label-width="160px" v-loading="loading">-->
|
||||
<vi-title title="会员信息"></vi-title>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="memberJoinTime" label="入会日期">
|
||||
<el-date-picker style="width: 100%" v-model="formData.memberJoinTime" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" type="date" placeholder="入会日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="memberNumber" label="会 员 号">
|
||||
<el-input v-model="formData.memberNumber" placeholder="会员号"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="awardWinning" label="工会特殊项标识">
|
||||
<dict-select
|
||||
v-model="formData.awardWinning"
|
||||
placeholder="请选择工会特殊项标识"
|
||||
style="width: 100%"
|
||||
code="awardWinning">
|
||||
</dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="membershipCardType" label="会员卡类型">
|
||||
<el-input v-model="formData.membershipCardType" placeholder="会员卡类型"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="isLeader" label="是否工会干部">
|
||||
<el-radio-group v-model="formData.isLeader">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="isPay" label="是否缴纳会费">
|
||||
<el-radio-group v-model="formData.isPay">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="isPhysicaisCard" label="是否办理工会实体卡">
|
||||
<el-radio-group v-model="formData.isPhysicaisCard">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="isCardActivated" label="工会实体卡是否激活">
|
||||
<el-radio-group v-model="formData.isCardActivated">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="cardNum" label="工会实体卡卡号">
|
||||
<el-input v-model="formData.cardNum" placeholder="工会实体卡卡号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="cardBankNum" label="工会实体卡银行卡号">
|
||||
<el-input v-model="formData.cardBankNum" placeholder="工会实体卡银行卡卡号"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="electronicCardNumber" label="电子会员卡卡号">
|
||||
<el-input v-model="formData.electronicCardNumber" placeholder="电子会员卡卡号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="electronicCardNumberTime" label="电子会员卡发放时间">
|
||||
<el-date-picker
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
v-model="formData.electronicCardNumberTime"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
style="width: 100%">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<!-- </el-form>-->
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="家庭及社会信息" :name="4">
|
||||
<!-- <el-form :model="formData" ref="form" :rules="formRules" label-width="120px" v-loading="loading">-->
|
||||
|
||||
<vi-title title="家庭及社会信息"></vi-title>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="personalStatus" label="个人身份">
|
||||
<el-input v-model="formData.personalStatus" placeholder="个人身份"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="socialIdentity" label="社会身份">
|
||||
<el-input v-model="formData.socialIdentity" placeholder="社会身份"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="otherIdentity" label="其他社会身份">
|
||||
<el-input v-model="formData.otherIdentity" placeholder="其他社会身份"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="employmentStatus" label="就业状况">
|
||||
<el-input v-model="formData.employmentStatus" placeholder="就业状况"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="homePhone" label="住宅电话">
|
||||
<el-input v-model="formData.homePhone" placeholder="住宅电话"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="otherPhone" label="其他电话">
|
||||
<el-input v-model="formData.otherPhone" placeholder="其他电话"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="homeAddress" label="家庭住址">
|
||||
<el-input v-model="formData.homeAddress" placeholder="家庭住址"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="mailingAddress" label="通信地址">
|
||||
<el-input v-model="formData.mailingAddress" placeholder="通信地址"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="otherContactInformation" label="其他联系方式">
|
||||
<el-input v-model="formData.otherContactInformation" placeholder="其他联系方式"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="registeredResidence" label="户籍所在地">
|
||||
<el-input v-model="formData.registeredResidence" placeholder="户籍所在地"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="postalCode" label="邮政编码">
|
||||
<el-input v-model="formData.postalCode" placeholder="邮政编码"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="familyPopulation" label="家庭人口数">
|
||||
<el-input v-model="formData.familyPopulation" placeholder="家庭人口数"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
</div>
|
||||
|
||||
<el-form-item label="家庭成员">
|
||||
<span style="color: red">(已结婚填配偶信息,未结婚填父母信息)</span>
|
||||
<el-button style="float: right;margin-bottom: 10px" icon="el-icon-plus" size="mini"
|
||||
@click="formData.family.push({})"> 添加成员
|
||||
</el-button>
|
||||
<el-table
|
||||
:data="formData.family"
|
||||
border
|
||||
size="mini"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="relation" label="与本人关系" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入与本人关系" maxlength="30" v-model="scope.row.relation"
|
||||
clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="姓名" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入姓名" maxlength="100" v-model="scope.row.name" clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="unit" label="单位" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入单位" maxlength="100" v-model="scope.row.unit" clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入备注" maxlength="100" v-model="scope.row.remark" clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" width="100px" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="danger" icon="el-icon-delete" circle
|
||||
:disabled="formData.family.length===0"
|
||||
@click="formData.family.splice(scope.$index,1)"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
<!-- </el-form>-->
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-form>
|
||||
|
||||
|
||||
<el-button v-if="has_bottom_btn" @click="save" :loading="submitLoading" type="primary" style="float: right">提交
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<el-form label-width="100px" v-loading="loading" label-position="left" label-suffix=":">
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="18">
|
||||
<el-row gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="姓  名">
|
||||
{{ formData.username }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工  号">
|
||||
{{ formData.loginname }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="性  别">
|
||||
{{ formData.sex }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="所在科室">
|
||||
{{ formData.threeUnitName }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="所在单位">
|
||||
{{ formData.unitname }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="所在工会">
|
||||
{{ formData.unionname }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="政治面貌">
|
||||
{{ formData.political }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="出生日期">
|
||||
{{ formData.birthday }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="籍  贯">
|
||||
{{ formData.hometown }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="民  族">
|
||||
{{ formData.nation }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-image :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS + '?id=' +formData.avatar"
|
||||
style="width: 180px;height: 180px;display: flex;justify-content: center;align-items: center;background-color: #f5f7fa">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline" style="font-size: 24px"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="兴趣爱好">
|
||||
{{ formData.hobby }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="婚  否">
|
||||
{{ formData.marriage }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="学  历">
|
||||
{{ formData.education }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工  资">
|
||||
{{ formData.wage }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="人事编制">
|
||||
{{ formData.preparedBy }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="职  务">
|
||||
{{ formData.position }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="职  称">
|
||||
{{ formData.jobTitle }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="在职状态">
|
||||
{{ formData.userState }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="人员类型">
|
||||
{{ formData.personType }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="手 机 号">
|
||||
{{ formData.mobile }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="银行账号">
|
||||
{{ formData.bank_number }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="身份证号">
|
||||
{{ formData.idcard }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="个人简历">
|
||||
|
||||
<div v-html="formData.vita"></div>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="家庭成员">
|
||||
|
||||
<el-table
|
||||
v-if="formData.family&&formData.family.length"
|
||||
:data="formData.family"
|
||||
size="mini" border :header-cell-style="{background:'#eff3f6'}"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="relation" label="与本人关系" align="center" header-align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="姓名" align="center" header-align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="unit" label="单位" align="center" header-align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" header-align="center">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
let vitaEditor = null
|
||||
|
||||
module.exports = {
|
||||
components: {
|
||||
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.4'),
|
||||
},
|
||||
props: {
|
||||
id: {type: String},
|
||||
view: {type: Boolean, default: false},
|
||||
edit_unit: {type: Boolean, default: false},
|
||||
source: {type: String},
|
||||
has_bottom_btn: {type: Boolean, default: true}
|
||||
},
|
||||
// model: {
|
||||
// prop: 'value',
|
||||
// event: 'change'
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
activeName: 1,
|
||||
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
|
||||
submitLoading: false,
|
||||
imageList: [],
|
||||
uploadDisabled: false,
|
||||
loading: true,
|
||||
disabled: false,
|
||||
formData: {
|
||||
family: [],
|
||||
},
|
||||
formRules: {
|
||||
loginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
username: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
unitid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
threeUnitId: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
},
|
||||
nationOptions: nation,
|
||||
threeUnits: [],
|
||||
displayUnionGroup: false,
|
||||
isAllowModify: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
id() {
|
||||
this.getUserInfo()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async doOperating() {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
|
||||
const formData = clone(this.formData)
|
||||
formData.password = 'dd3s@#2022'
|
||||
formData.family = JSON.stringify(formData.family)
|
||||
formData.source = this.source
|
||||
if (formData.effectiveDate) {
|
||||
formData.beginningDate = formData.effectiveDate[0]
|
||||
formData.endDate = formData.effectiveDate[1]
|
||||
}
|
||||
|
||||
const resp = await $.post(formData.id ? "/platform/sys/user/editDo" : "/platform/sys/user/addDo", formData)
|
||||
if (resp.code === 0) {
|
||||
this.$notify.success({
|
||||
title: '成功',
|
||||
message: resp.msg,
|
||||
})
|
||||
this.$emit("load")
|
||||
} else {
|
||||
this.$notify.warning({
|
||||
title: '警告',
|
||||
message: resp.msg,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
async unitChange(v) {
|
||||
const unit = this.unitOptions.find(x => x.id == v)
|
||||
if (unit) {
|
||||
this.formData.unionid = unit.unionid
|
||||
this.formData.unionname = unit.unionname
|
||||
} else {
|
||||
this.formData.unionid = ''
|
||||
this.formData.unionname = ''
|
||||
}
|
||||
this.$set(this.formData, 'threeUnitId', null)
|
||||
this.$set(this.formData, 'unionGroupName', null)
|
||||
this.threeUnits = await this.getThreeUnits(v)
|
||||
},
|
||||
|
||||
async getThreeUnits(v) {
|
||||
const threeUnits = await threeUnitsByUnionGroupOrUnitId(v, null)
|
||||
return threeUnits
|
||||
|
||||
// debugger
|
||||
// if(v){
|
||||
// const threeUnit = this.threeUnits.find(v => v.id === val)
|
||||
// console.log(threeUnit)
|
||||
// }else{
|
||||
// this.$set(this.formData, 'unionGroupName', null)
|
||||
// }
|
||||
// this.$set(this.formData, 'threeUnitId', null)
|
||||
// this.threeUnits = await threeUnitsByUnionGroupOrUnitId(this.formData.unitId, null)
|
||||
},
|
||||
|
||||
threeUnitChange(val) {
|
||||
const threeUnit = this.threeUnits.find(v => v.id === val)
|
||||
this.$set(this.formData, 'unionGroupName', threeUnit.groupname)
|
||||
this.$set(this.formData, 'unionGroupId', threeUnit.uniongroupid)
|
||||
},
|
||||
|
||||
async save() {
|
||||
this.$refs["form"].validate(async (valid) => {
|
||||
if (valid) {
|
||||
this.submitLoading = true
|
||||
|
||||
const formData = clone(this.formData)
|
||||
formData.family = JSON.stringify(formData.family)
|
||||
formData.source = this.source
|
||||
if (formData.effectiveDate) {
|
||||
formData.beginningDate = formData.effectiveDate[0]
|
||||
formData.endDate = formData.effectiveDate[1]
|
||||
}
|
||||
const resp = await $.post("/platform/member/common/saveUser", formData)
|
||||
this.submitLoading = false
|
||||
if (resp.code === 0) {
|
||||
this.$notify.success({
|
||||
title: '成功',
|
||||
message: resp.msg,
|
||||
})
|
||||
this.$emit("save", resp.data)
|
||||
} else {
|
||||
this.$notify.warning({
|
||||
title: '警告',
|
||||
message: resp.msg,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
load(data) {
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
|
||||
if (data.avatar) {
|
||||
this.imageList = [{
|
||||
name: "_.jpg",
|
||||
url: APP_DOMAIN + FILE_STREAM_PREVIEW_ADDRESS + '?id=' + data.avatar,
|
||||
status: "success"
|
||||
}]
|
||||
}
|
||||
data.family = JSON.parse(data.family || '[]')
|
||||
if (data.beginningDate && data.endDate) {
|
||||
data.effectiveDate = [data.beginningDate, data.endDate]
|
||||
}
|
||||
this.formData = data
|
||||
|
||||
this.$nextTick(() => {
|
||||
$("#vitaEditor").html("")
|
||||
|
||||
vitaEditor = new wangEditor("#vitaEditor")
|
||||
vitaEditor.config.onchange = (html) => {
|
||||
this.formData.vita = html
|
||||
}
|
||||
vitaEditor.create()
|
||||
vitaEditor.txt.html(data.vita)
|
||||
})
|
||||
},
|
||||
|
||||
async getUserInfo() {
|
||||
this.loading = true
|
||||
this.disabled = false
|
||||
this.imageList = []
|
||||
if (!this.id) {
|
||||
this.load({})
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnionUnits()
|
||||
this.displayUnionGroup = await getConfigKey('SysUnionGroup') === 'true'
|
||||
this.isAllowModify = await getConfigKey('MemberInfoModify') === 'true'
|
||||
this.loading = false
|
||||
return
|
||||
}
|
||||
|
||||
const resp = await $.get("/platform/member/common/userInfo", {userId: this.id, source: this.source})
|
||||
this.loading = false
|
||||
if (resp.code === 0) {
|
||||
const data = resp.data
|
||||
this.unitOptions = await getUnits(data.unionid)
|
||||
this.threeUnits = await this.getThreeUnits(data.unitid)
|
||||
this.load(data)
|
||||
} else {
|
||||
this.$notify.error({
|
||||
title: '错误',
|
||||
message: '获取用户信息失败'
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
handlePictureCardPreview(file) {
|
||||
/*showpic(file.url.replace(FILE_DOMAIN, ''))*/
|
||||
let image = new Image()
|
||||
image.src = file.url
|
||||
let viewer = new Viewer(image)
|
||||
viewer.show()
|
||||
},
|
||||
removeAvatarUpload(val) {
|
||||
this.imageList = []
|
||||
this.formData.avatar = null
|
||||
},
|
||||
|
||||
beforeAvatarUpload(file) {
|
||||
let isLt2M = file.size / 1024 / 1024 < 2;
|
||||
let isJPG = file.type === 'image/jpeg';
|
||||
let isPng = file.type === 'image/png';
|
||||
if (!isJPG && !isPng) {
|
||||
this.$message.error('上传头像图片只能是 JPG和PNG格式!');
|
||||
}
|
||||
if (!isLt2M) {
|
||||
this.$message.error('上传头像图片大小不能超过 2MB!');
|
||||
}
|
||||
return (isJPG || isPng) && isLt2M;
|
||||
},
|
||||
|
||||
handleAvatarSuccess: function (res, file) {
|
||||
var self = this;
|
||||
if (res.code == 0) {
|
||||
|
||||
const {data: {filepath}} = res
|
||||
|
||||
self.formData.avatar = filepath;
|
||||
|
||||
} else {
|
||||
this.$notify.error({
|
||||
title: '错误',
|
||||
message: res.msg
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
async created() {
|
||||
await this.getUserInfo()
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnionUnits()
|
||||
this.displayUnionGroup = await getConfigKey('SysUnionGroup') === 'true'
|
||||
this.isAllowModify = await getConfigKey('MemberInfoModify') === 'true'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.is-flex {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.is-flex .el-form-item {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.el-picker-panel {
|
||||
z-index: 9999999 !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user