<template>
|
<div>
|
<div style="text-align: right;margin-bottom: 10px">
|
<!-- <el-button size="small" @click="$emit('goBackList')">返回</el-button>-->
|
<el-button size="small" type="primary" @click="synchronous" :loading="synchronousLoading">同步第三方信息</el-button>
|
<el-button size="small" type="primary" @click="dialogVisible = true">人员分类</el-button>
|
<el-button :loading="saveLoading" size="small" type="primary" @click="save">保存</el-button>
|
</div>
|
<div>
|
<div style="display: flex;flex-direction: row;">
|
<div style="width: 12em">
|
<el-image :src="javaApi + '/img/' + form.pictureUrl" fit="fill"
|
style="width: 180px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 6px;margin-top: 10px;">
|
<div slot="error" class="image-slot">
|
<i class="el-icon-picture-outline" style="font-size: 40px;"></i>
|
</div>
|
</el-image>
|
<el-image :src="javaApi + '/img/' + form.signatureUrl" fit="fill"
|
style="width:80%;height: 50px;border: 1px solid #000;border-radius: 10px;margin-left: 22px;margin-top: 20px;">
|
<div slot="error" class="image-slot">
|
<i class="el-icon-picture-outline" style="font-size: 40px;"></i>
|
</div>
|
</el-image>
|
</div>
|
<div style="height: calc(100vh - 14em);overflow-y: auto">
|
<el-form ref="form" :model="form" label-width="110px">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="姓名">
|
<el-input v-model="form.name" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="登录账号">
|
<el-input v-model="form.account" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="当前状态">
|
<el-radio-group v-model="form.currentState">
|
<el-radio label="1formal" size="mini">正式</el-radio>
|
<el-radio label="2intern" size="mini">实习</el-radio>
|
<el-radio label="3leaveOffice" size="mini">离职</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="工号">
|
<el-input v-model="form.jobNumber" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="员工子编号">
|
<el-input v-model="form.subordinateNumber" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="性别">
|
<el-radio-group v-model="form.sex">
|
<el-radio label="1" size="mini">男</el-radio>
|
<el-radio label="0" size="mini">女</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :span="8">
|
<el-form-item label="入职时间">
|
<el-date-picker v-model="form.entryTime" type="date" placeholder="选择日期" size="small"
|
style="width: 99%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss">
|
</el-date-picker>
|
</el-form-item>
|
</el-col> -->
|
<!-- <el-col :span="8">
|
<el-form-item label="当前职务">
|
<el-input v-model="form.currentPosition" size="small" clearable></el-input>
|
</el-form-item>
|
</el-col> -->
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="公司名称">
|
<el-input v-model="form.corporateName" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="部门编号">
|
<el-input v-model="form.departmentCode" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="所属部门">
|
<el-cascader v-model="form.departLimsId" :options="department"
|
:props="{ label: 'name', value: 'id', checkStrictly: true }" filterable
|
style="width: 100%;"></el-cascader>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="岗位类别">
|
<el-input v-model="form.postType" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="岗位编号">
|
<el-input v-model="form.postCode" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="岗位名称">
|
<el-input v-model="form.postName" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="入集团时间">
|
<el-date-picker v-model="form.groupTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="入单位时间">
|
<el-date-picker v-model="form.unitTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="直接上级">
|
<el-input v-model="form.reportingTo" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="劳动关系">
|
<el-radio-group v-model="form.laborRelations">
|
<el-radio label="合同工" size="mini">合同工</el-radio>
|
<el-radio label="正式工" size="mini">正式工</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="试用开始时间">
|
<el-date-picker v-model="form.trialStartTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="试用结束时间">
|
<el-date-picker v-model="form.trialEndTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24" style="text-align: left;">
|
<el-form-item label="人员分类">
|
<span style="color: #000;">{{ form.personnelClassification }}</span>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="出生日期">
|
<el-date-picker v-model="form.dateBirth" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="籍贯">
|
<el-input v-model="form.nativePlace" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="民族">
|
<el-input v-model="form.nation" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="证件类型">
|
<el-input v-model="form.idType" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="身份证号">
|
<el-input v-model="form.identityCard" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="年龄">
|
<el-input-number v-model="form.personBasicInfoAge" :max="130" :min="1" controls-position="right"
|
size="small" style="width: 99%;"></el-input-number>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="证件有效期">
|
<el-date-picker v-model="form.validityPeriod" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="婚姻状况">
|
<el-radio-group v-model="form.maritalStatus">
|
<el-radio label='已婚' size="mini">已婚</el-radio>
|
<el-radio label='未婚' size="mini">未婚</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="证件地址">
|
<el-input v-model="form.idAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="证件详细地址">
|
<el-input v-model="form.idDetailAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="现居地址">
|
<el-input v-model="form.currentAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="现居详细地址">
|
<el-input v-model="form.currentDetailAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="送达地址">
|
<el-input v-model="form.serviceAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="送达详细地址">
|
<el-input v-model="form.serviceDetailAddress" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="是否退伍军人">
|
<el-radio-group v-model="form.retiredSoldiers">
|
<el-radio label='是' size="mini">是</el-radio>
|
<el-radio label='否' size="mini">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="政治面貌">
|
<el-input v-model="form.politicalStatus" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="入党/团时间">
|
<el-date-picker v-model="form.dumplingTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="手机号">
|
<el-input v-model="form.telephone" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="短号">
|
<el-input v-model="form.cornet" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="办公电话">
|
<el-input v-model="form.officePhone" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="公司邮箱">
|
<el-input v-model="form.companyEmail" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="计算机等级">
|
<el-input v-model="form.ncre" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="最高学历">
|
<el-input v-model="form.officialAcademicRedentials" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="最高学位">
|
<el-input v-model="form.highestDegree" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="毕业院校1">
|
<el-input v-model="form.graduatedInstitutions1" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="专业1">
|
<el-input v-model="form.major1" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="毕业时间1">
|
<el-date-picker v-model="form.graduationTime1" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="毕业院校2">
|
<el-input v-model="form.graduatedInstitutions2" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="专业2">
|
<el-input v-model="form.major2" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="毕业时间2">
|
<el-date-picker v-model="form.graduationTime2" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="是否全日制">
|
<el-radio-group v-model="form.fullTime">
|
<el-radio :label="1" size="mini">是</el-radio>
|
<el-radio :label="0" size="mini">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="是否属于中天">
|
<el-radio-group v-model="form.enroll">
|
<el-radio :label=1 size="mini">是</el-radio>
|
<el-radio :label=0 size="mini">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="XX届大学生">
|
<el-input v-model="form.collegeStudents" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="紧急联系人">
|
<el-input v-model="form.emergencyContact" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="紧急联系电话">
|
<el-input v-model="form.emergencyContactPhone" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="最后更新时间">
|
<el-date-picker v-model="form.lastUpdateTime" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="18">
|
<el-form-item label="个人照片">
|
<el-input v-model="form.pictureUrl" disabled size="small">
|
<el-button v-if="form.pictureUrl" slot="append" icon="el-icon-delete-solid"
|
@click="deleteFile(form.pictureUrl, 'pictureUrl')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-upload ref="upload" :action="action" :headers="uploadHeader"
|
:on-success="(response, file, fileList) => onSuccess(response, file, fileList, 'pictureUrl')"
|
:show-file-list="false" style="float: left; margin: 0 10px 0 10px;">
|
<el-button slot="trigger" class="uploadFile" size="mini" type="primary">上传</el-button>
|
</el-upload>
|
<el-button v-if="form.pictureUrl" class="uploadFile" size="mini" type="primary"
|
@click="downloadFile(form.pictureUrl)">下载</el-button>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="18">
|
<el-form-item label="电子签名">
|
<el-input v-model="form.signatureUrl" disabled size="small">
|
<el-button v-if="form.signatureUrl" slot="append" icon="el-icon-delete-solid"
|
@click="deleteFile(form.signatureUrl, 'signatureUrl')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-upload ref="upload" :action="action" :headers="uploadHeader"
|
:on-success="(response, file, fileList) => onSuccess(response, file, fileList, 'signatureUrl')"
|
:show-file-list="false" style="float: left; margin: 0 10px 0 10px;">
|
<el-button slot="trigger" class="uploadFile" size="small" type="primary">上传</el-button>
|
</el-upload>
|
<el-button v-if="form.signatureUrl" class="uploadFile" size="small" type="primary"
|
@click="downloadFile(form.signatureUrl)">下载</el-button>
|
</el-col>
|
</el-row>
|
<!-- <el-row>
|
<el-col :span="20">
|
<el-form-item label="附件资料">
|
<el-input v-model="form.attachmentInformation" size="small" disabled>
|
<el-button v-if="form.attachmentInformation" slot="append"
|
icon="el-icon-delete-solid"
|
@click="deleteFile(form.attachmentInformation, 'attachmentInformation')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-upload ref="upload" style="float: left; margin: 0 20px;" :action="action"
|
:show-file-list="false"
|
:on-success="(response, file, fileList) => onSuccess(response, file, fileList, 'attachmentInformation')">
|
<el-button class="uploadFile" slot="trigger" size="mini" type="primary">浏览</el-button>
|
</el-upload>
|
<el-button class="uploadFile" size="mini" type="primary" @click="downloadFile(form.attachmentInformation)">下载</el-button>
|
</el-col>
|
</el-row> -->
|
|
<el-row>
|
<el-col :span="20">
|
<el-form-item label="附件资料">
|
</el-form-item>
|
</el-col>
|
<el-col :span="4">
|
<el-button size="mini" style="float: right;margin-right: 25px" type="primary"
|
@click="annexAdd(0)">新增</el-button>
|
</el-col>
|
</el-row>
|
<el-table :data="annexList" border height="200" style="width: 96%;">
|
<el-table-column label="序号" type="index" width="80px">
|
</el-table-column>
|
<el-table-column label="证件号" prop="idNumber" width="150px">
|
</el-table-column>
|
<el-table-column label="发证单位" prop="issueUnit" width="150px">
|
</el-table-column>
|
<el-table-column label="文件名称" prop="fileName" show-overflow-tooltip width="200px">
|
</el-table-column>
|
<el-table-column label="级别" prop="level" width="150px">
|
</el-table-column>
|
<el-table-column label="有效期" prop="periodValidity" width="150px">
|
</el-table-column>
|
<el-table-column label="添加时间" prop="createTime" width="150px">
|
</el-table-column>
|
<el-table-column fixed="right" label="操作" width="150px">
|
<template slot-scope="scope">
|
<el-button size="mini" type="text" @click="downloadFile(scope.row.fileName)">下载</el-button>
|
<el-button size="mini" type="text" @click="annexAdd(1, scope.row)">编辑</el-button>
|
<el-button size="mini" type="text" @click="deleteAnnex(scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-form>
|
<el-row>
|
</el-row>
|
</div>
|
</div>
|
</div>
|
<!-- 人员分类弹框 -->
|
<el-dialog :visible.sync="dialogVisible" title="提示" width="40%" @open="getComparisonList">
|
<div style="height: 30vh;">
|
<el-row>
|
<el-col :span="4">
|
人员分类:
|
</el-col>
|
<el-col :span="20" style="text-align: left;">
|
<el-checkbox-group v-model="checkList">
|
<el-checkbox v-for="v in personnelClassification" :key="v.value" :label="v.value"></el-checkbox>
|
</el-checkbox-group>
|
</el-col>
|
</el-row>
|
</div>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button type="primary" @click="clickPersonnelClassificationSure">确 定</el-button>
|
</span>
|
</el-dialog>
|
|
<!-- 新增附件资料 -->
|
<el-dialog :before-close="handleClose" :title="title" :visible.sync="dialogVisible1" width="40%"
|
@open="getComparisonList">
|
<el-form ref="annex" :model="annex" :rules="rules" label-width="100px">
|
<el-row>
|
<el-col :span="16">
|
<el-form-item label="证件号" prop="idNumber">
|
<el-input v-model="annex.idNumber" clearable size="small" style="width: 100%;"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="发证单位" prop="issueUnit">
|
<el-input v-model="annex.issueUnit" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="级别" prop="level">
|
<el-input v-model="annex.level" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="有效期" prop="periodValidity">
|
<el-date-picker v-model="annex.periodValidity" format="yyyy-MM-dd" placeholder="选择日期" size="small"
|
style="width: 99%;" type="date" value-format="yyyy-MM-dd">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="复印件" prop="copy">
|
<el-input v-model="annex.copy" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="原件" prop="original">
|
<el-input v-model="annex.original" clearable size="small"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row style="margin-top: 15px">
|
<el-col :span="16">
|
<el-form-item label="文件">
|
<el-upload :action="action" :headers="uploadHeader" :before-upload="beforeAvatarUpload"
|
:on-success="(response, file, fileList) => onSuccess(response, file, fileList, 'fileName')"
|
:show-file-list="false">
|
<img v-if="imageUrl" :src="imageUrl" class="avatar">
|
<i v-else class="el-icon-upload avatar-uploader-icon"></i>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="cancellation">取 消</el-button>
|
<el-button type="primary" @click="submitForm('annex')">确 定</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import {
|
getEmployees,
|
getAnnex,
|
updateAnnex,
|
getAnnexByUserId,
|
addAnnex,
|
deleteAnnex,
|
getCNASPersonnelInfo,
|
saveCNASPersonnelInfo,
|
deleteCNASFile
|
} from '@/api/cnas/personnel/personnelInfo.js'
|
export default {
|
dicts: ['personnl_type'],
|
props: {
|
clickNodeVal: {
|
type: Object,
|
default: () => { return {} }
|
},
|
},
|
data() {
|
return {
|
synchronousLoading: false,
|
addOrupdate: null,
|
title: '',
|
annexList: [],
|
imageUrl: '',
|
annex: {
|
userId: '',
|
idNumber: '',
|
issueUnit: '',
|
level: '',
|
periodValidity: '',
|
copy: '',
|
original: '',
|
fileName: ''
|
},
|
rules: {
|
idNumber: [
|
{ required: true, message: '请输入证件号', trigger: 'blur' }
|
],
|
issueUnit: [
|
{ required: true, message: '请输入发证单位', trigger: 'blur' }
|
],
|
periodValidity: [
|
{ required: true, message: '请选择有效期', trigger: 'blur' }
|
]
|
},
|
dialogVisible1: false,
|
form: {
|
userId: '',
|
name: '',
|
account: '',
|
currentState: '',
|
jobNumber: '',
|
subordinateNumber: '',
|
sex: '',
|
corporateName: '',
|
department: '',
|
departLimsId: [],
|
postType: '',
|
postCode: '',
|
postName: '',
|
groupTime: '',
|
unitTime: '',
|
reportingTo: '',
|
laborRelations: '',
|
trialStartTime: '',
|
trialEndTime: '',
|
personnelClassification: '',
|
dateBirth: '',
|
nativePlace: '',
|
nation: '',
|
idType: '',
|
identityCard: '',
|
age: '',
|
validityPeriod: '',
|
maritalStatus: '',
|
idAddress: '',
|
idDetailAddress: '',
|
currentAddress: '',
|
currentDetailAddress: '',
|
serviceAddress: '',
|
serviceDetailAddress: '',
|
retiredSoldiers: '',
|
politicalStatus: '',
|
dumplingTime: '',
|
telephone: '',
|
cornet: '',
|
officePhone: '',
|
email: '',
|
ncre: '',
|
officialAcademicRedentials: '',
|
highestDegree: '',
|
graduatedInstitutions1: '',
|
major1: '',
|
graduationTime1: '',
|
graduatedInstitutions2: '',
|
major2: '',
|
graduationTime2: '',
|
fullTime: '',
|
enroll: '',
|
collegeStudents: '',
|
emergencyContact: '',
|
emergencyContactPhone: '',
|
lastUpdateTime: '',
|
pictureUrl: '',
|
signatureUrl: '',
|
},
|
department: [],
|
saveLoading: false,
|
dialogVisible: false,
|
personnelClassification: [],
|
checkList: [],
|
successFileList: [], // 防止后端出现脏数据
|
isSave: false,
|
}
|
},
|
created() {
|
this.init()
|
},
|
computed: {
|
action() {
|
return this.javaApi + '/personBasicInfo/saveCNASFile'
|
}
|
},
|
methods: {
|
synchronous() {
|
console.log('基本信息', this.clickNodeVal);
|
this.synchronousLoading = true
|
getEmployees({ userId: this.clickNodeVal.userId }).then(res => {
|
this.synchronousLoading = false
|
this.getUserBasisInfo(this.clickNodeVal.userId)
|
this.$message.success("同步成功")
|
|
})
|
},
|
annexAdd(type, row) {
|
if (type === 1) {
|
this.title = '编辑附件资料'
|
this.addOrupdate = 1
|
getAnnex({ id: row.id }).then(res => {
|
this.annex = res.data
|
this.imageUrl = this.javaApi + '/img/' + res.data.fileName
|
})
|
} else {
|
this.title = '新增附件资料'
|
this.addOrupdate = 2
|
}
|
this.dialogVisible1 = true
|
},
|
submitForm(formName) {
|
this.$refs[formName].validate((valid) => {
|
if (valid) {
|
this.addAnnex()
|
} else {
|
return false
|
}
|
})
|
},
|
addAnnex() {
|
if (this.annex.fileName == "" || this.annex.fileName == null || this.annex.fileName == undefined) {
|
this.$message.error("请上传文件")
|
return
|
}
|
this.annex.userId = this.clickNodeVal.userId
|
if (this.addOrupdate === 1) {
|
updateAnnex(this.annex).then(res => {
|
if (res.code == 200) {
|
getAnnexByUserId({ userId: this.clickNodeVal.userId }).then(res => {
|
this.dialogVisible1 = false
|
this.imageUrl = ''
|
this.resetForm('annex')
|
this.annexList = res.data
|
this.$message.success('更新成功!')
|
})
|
}
|
})
|
} else {
|
this.annex.id = null
|
addAnnex(this.annex).then(res => {
|
if (res.code == 200) {
|
getAnnexByUserId({ userId: this.clickNodeVal.userId }).then(res => {
|
this.dialogVisible1 = false
|
this.imageUrl = ''
|
this.resetForm('annex')
|
this.annexList = res.data
|
this.$message.success('保存成功')
|
})
|
}
|
})
|
}
|
},
|
deleteAnnex(row) {
|
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
deleteAnnex(row.id).then(res => {
|
this.$message.success('删除成功!')
|
this.annexList = this.annexList.filter(item => item.id != row.id)
|
})
|
})
|
},
|
beforeAvatarUpload(file) {
|
let flag = true
|
if (file.size > 1024 * 1024 * 10) {
|
this.$message.error('上传文件不超过10M');
|
this.$refs.upload.clearFiles()
|
flag = false
|
}
|
if (!flag) {
|
return Promise.reject(flag); //正确的终止
|
}
|
},
|
downloadFile(fileName) {
|
this.$download.saveAs(fileName, fileName)
|
},
|
async onSuccess(response, file, fileList, entityVal) {
|
if (entityVal == 'fileName') {
|
this.annex.fileName = response.data
|
this.imageUrl = this.javaApi + '/img/' + response.data
|
}
|
// 在保存赋值新文件
|
this.successFileList.push(response.data)
|
this.$set(this.form, entityVal, response.data)
|
},
|
// 初始化调用
|
init() {
|
if (!this.clickNodeVal.userId) {
|
let user = JSON.parse(localStorage.getItem('user'))
|
this.getUserBasisInfo(user.userId)
|
this.clickNodeVal.userId = user.userId
|
} else {
|
this.getUserBasisInfo(this.clickNodeVal.userId)
|
}
|
},
|
getUserBasisInfo(userId) {
|
getCNASPersonnelInfo({ userId }).then(res => {
|
this.form = res.data.PersonBasicInfoDto
|
this.department = res.data.department
|
this.annexList = res.data.annexList
|
this.form.departLimsId = res.data.PersonBasicInfoDto.departLimsId.split(',').filter(a => a != "").map(Number)
|
console.log('res.data', res);
|
})
|
},
|
async save() {
|
this.saveLoading = true
|
this.form.userId = this.clickNodeVal.userId
|
if (Array.isArray(this.form.departLimsId)) {
|
if (this.form.departLimsId.length > 0) {
|
this.form.departLimsId = this.form.departLimsId.join(',').trim() + ','
|
} else {
|
this.form.departLimsId = ''
|
}
|
}
|
saveCNASPersonnelInfo(this.form).then(res => {
|
this.saveLoading = false
|
this.isSave = true
|
this.getUserBasisInfo(this.clickNodeVal.userId)
|
this.$message.success('保存成功!')
|
})
|
},
|
// 取人员分类的字典
|
getComparisonList() {
|
// 文件状态
|
this.getDicts("personnl_type").then((response) => {
|
this.personnelClassification = this.dictToValue(response.data);
|
this.checkList = this.form.personnelClassification ? this.form.personnelClassification.split(',') : []
|
});
|
},
|
clickPersonnelClassificationSure() {
|
this.dialogVisible = false
|
this.form.personnelClassification = this.checkList.filter(m => m).join(',')
|
},
|
async deleteFile(fileName, entityVal) {
|
await deleteCNASFile({ fileName }).then(res => {
|
this.$message.success('删除成功!')
|
this.$set(this.form, entityVal, null)
|
let index = this.successFileList.indexOf(fileName)
|
if (index != -1) {
|
this.successFileList.splice(index, 1)
|
}
|
})
|
},
|
validateFileSize(rule, value, callback) {
|
if (!value) {
|
return callback(new Error('请上传文件'));
|
} else {
|
callback();
|
}
|
},
|
cancellation() {
|
this.dialogVisible1 = false
|
this.imageUrl = ''
|
this.resetForm('annex')
|
},
|
handleClose(done) {
|
this.imageUrl = ''
|
this.annex = {
|
userId: '',
|
idNumber: '',
|
issueUnit: '',
|
level: '',
|
periodValidity: '',
|
copy: '',
|
original: '',
|
fileName: ''
|
}
|
done();
|
},
|
resetForm(formName) {
|
this.$refs[formName].resetFields();
|
}
|
},
|
watch: {
|
// 监听点击el-tree的数据,进行数据刷新
|
clickNodeVal: {
|
handler(newVal, oldVal) {
|
if (newVal.userId) {
|
this.getUserBasisInfo(newVal.userId)
|
}
|
},
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
>>>.el-form-item {
|
margin-bottom: 3px;
|
}
|
|
.el-input {
|
border-radius: 15px;
|
}
|
|
.el-icon-picture-outline {
|
position: absolute;
|
left: 50%;
|
top: 50%;
|
transform: translate(-50%, -50%);
|
}
|
|
.uploadFile {
|
margin-top: 2px;
|
float: left;
|
}
|
|
.avatar-uploader-icon {
|
font-size: 28px;
|
color: #0f8bf1;
|
width: 178px;
|
height: 50px;
|
text-align: center;
|
border: 1px solid #d9d9d9;
|
}
|
|
.avatar {
|
width: 178px;
|
height: 178px;
|
display: block;
|
}
|
</style>
|