Files
UNION_NJUST/target/classes/static/components/member/MemberInfo.vue
T
2026-09-23 09:38:39 +08:00

801 lines
32 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<div v-if="!view">
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px" v-loading="loading">
<el-tabs v-model="activeName" type="card">
<el-tab-pane label="基本信息" :name="1">
<!-- <el-form :model="formData" ref="form" :rules="formRules" label-width="120px" v-loading="loading">-->
<vi-title title="基本资料"></vi-title>
<el-form-item prop="loginname" label="工&emsp;&emsp;号">
<el-input v-model="formData.loginname" placeholder="工号" :disabled="formData.id"></el-input>
</el-form-item>
<div class="is-flex">
<el-form-item prop="unitid" label="所属单位">
<el-select placeholder="所属单位" :disabled="!edit_unit&&formData.id"
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" placeholder="" disabled></el-input>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="username" label="姓&emsp;&emsp;名">
<el-input v-model="formData.username" placeholder="姓名" :disabled="formData.id"></el-input>
</el-form-item>
<el-form-item prop="nameUsedBefore" label="曾&ensp;用&ensp;名">
<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="出生日期"
:disabled="formData.id"></el-date-picker>
</el-form-item>
<el-form-item prop="sex" label="性&emsp;&emsp;别">
<el-radio v-model="formData.sex" label="男" border size="small" :disabled="formData.id">男</el-radio>
<el-radio v-model="formData.sex" label="女" border size="small" :disabled="formData.id">女</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="婚&emsp;&emsp;否">
<dict-select v-model="formData.marriage" style="width: 100%" placeholder="请选择婚否"
code="maritalStatus"></dict-select>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="education" label="学&emsp;&emsp;历">
<dict-select v-model="formData.education" style="width: 100%" placeholder="请选择学历"
code="Education" :disabled="formData.id"></dict-select>
</el-form-item>
<el-form-item prop="academicDegree" label="学&emsp;&emsp;位">
<dict-select v-model="formData.academicDegree" style="width: 100%" placeholder="请选择学位"
code="academicDegree" :disabled="formData.id"></dict-select>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="nationality" label="国&emsp;&emsp;籍">
<el-input v-model="formData.nationality" placeholder="国籍" :disabled="formData.id"></el-input>
</el-form-item>
<el-form-item prop="hometown" label="籍&emsp;&emsp;贯">
<el-input v-model="formData.hometown" placeholder="籍贯" :disabled="formData.id"></el-input>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="nation" label="民&emsp;&emsp;族">
<el-select placeholder="民族" style="width: 100%" filterable v-model="formData.nation"
:disabled="formData.id">
<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"
:disabled="formData.id"></el-input>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="jobTitle" label="职&emsp;&emsp;称">
<dict-select v-model="formData.jobTitle" style="width: 100%" placeholder="请选择职称"
code="JobTitle" :disabled="formData.id"></dict-select>
</el-form-item>
<el-form-item prop="wage" label="工&emsp;&emsp;资">
<el-input v-model="formData.wage" placeholder="工资"></el-input>
</el-form-item>
</div>
<div class="is-flex">
<el-form-item prop="mobile" label="手&ensp;机&ensp;号">
<el-input maxlength="100" placeholder="手机号"
v-model="formData.mobile" :disabled="formData.id"></el-input>
</el-form-item>
<el-form-item prop="bank_number" label="银行账号">
<el-input maxlength="100" placeholder="银行账号"
v-model="formData.bank_number" :disabled="formData.id"></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" :disabled="formData.id"></dict-select>
</el-form-item>
<el-form-item prop="userState" label="在职状态">
<dict-select v-model="formData.userState" style="width: 100%" placeholder="请选择在职状态"
code="UserState" :disabled="formData.id"></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="身份证号" :disabled="formData.id"></el-input>
</el-form-item>
<el-form-item prop="weChat" label="微&ensp;信&ensp;号">
<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="专&emsp;&emsp;长">
<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="注&emsp;&emsp;释">
<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="会&ensp;员&ensp;号">
<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>
<h3 style="text-align: center; letter-spacing: 6px;">工会会员登记表</h3>
<div style="text-align: right; letter-spacing: 2px;">填表日期:{{ moment(formData.applyTime).format('YYYY年MM月DD日') }}</div>
<el-descriptions :column="3" border class="descriptions-form">
<el-descriptions-item label="姓名">{{ formData.username}}</el-descriptions-item>
<el-descriptions-item label="性别">{{ formData.sex}}</el-descriptions-item>
<el-descriptions-item label="民族">{{ formData.nation}}</el-descriptions-item>
<el-descriptions-item label="学历">{{ formData.education}}</el-descriptions-item>
<el-descriptions-item label="政治面貌">{{ formData.political}}</el-descriptions-item>
<el-descriptions-item label="婚否">{{ formData.marriage}}</el-descriptions-item>
<el-descriptions-item label="身份证号码" span="2">{{ formData.idcard}}</el-descriptions-item>
<el-descriptions-item label="联系电话">{{ formData.mobile}}</el-descriptions-item>
<el-descriptions-item label="户口所在地" span="3">
<template slot="label">户口所在地</template>
<div class="text-left" v-html="formData.registeredResidence"></div>
</el-descriptions-item>
<el-descriptions-item label="现居住地" span="3">
<template slot="label">现居住地</template>
<div class="text-left" v-html="formData.homeAddress"></div>
</el-descriptions-item>
<el-descriptions-item label="工作部门(学院)及岗位" span="3">
<template slot="label">工作部门(学院)及岗位</template>
<div class="text-left">{{ formData.unitname + '' + (formData.jobTitle ? '、' + formData.jobTitle : "") }}</div>
</el-descriptions-item>
<el-descriptions-item label="工作经历" span="3">
<template slot="label">工作经历</template>
<div class="text-left" v-html="formData.vita"></div>
</el-descriptions-item>
<el-descriptions-item label="有何特长" span="3">
<template slot="label">有何特长</template>
<div class="text-left" v-html="formData.specialSkill"></div>
</el-descriptions-item>
</el-descriptions>
<vi-title title="家庭成员" class="mt20"></vi-title>
<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-empty v-else description="暂无家庭成员信息"></el-empty>
</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']}],
},
nationOptions: nation
}
},
watch: {
id(val) {
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)
requestLaterMsgFun(this, resp);
requestLaterMsgFun(this, resp, (data) => {
this.$emit("load")
})
}
}
)
},
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 = ''
}
},
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)
requestLaterMsgFun(this, resp, (data) => {
this.load(data)
this.$emit("save", data)
}, () => {
}, () => {
this.submitLoading = false
})
}
})
},
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"
}]
console.log(this.imageList)
}
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.loading = false
return
}
const resp = await $.get("/platform/member/common/userInfo", {userId: this.id, source: this.source})
requestLaterFun(resp, async (data) => {
this.unitOptions = await getUnits(resp.unionid)
this.load(data)
}, () => {
this.disabled = true
this.$notify.error({
title: '错误',
message: '获取用户信息失败'
});
}, () => {
this.loading = false
})
},
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() {
this.getUserInfo()
this.unionOptions = await getUnions(null)
this.unitOptions = await getUnits(null)
}
}
</script>
<style>
.is-flex {
display: flex;
}
.is-flex .el-form-item {
width: 50%;
}
.el-picker-panel {
z-index: 9999999 !important;
}
.el-descriptions-item__cell {
width: 200px;
text-align: center !important;
}
</style>