人员库页面样式修改

This commit is contained in:
cwchen 2025-11-14 14:51:39 +08:00
parent 6c8b2babdc
commit 84092b55b3
7 changed files with 371 additions and 179 deletions

View File

@ -16,6 +16,11 @@
@handle-personnel-position="handlePersonnelPosition" @handle-personnel-position="handlePersonnelPosition"
/> />
</el-col> </el-col>
</el-row>
<el-row :gutter="24" class="content-row">
<!-- 资质信息 --> <!-- 资质信息 -->
<el-col v-if="!isProjectChiefEngineer" :span="6" class="pane-center"> <el-col v-if="!isProjectChiefEngineer" :span="6" class="pane-center">
<QualificationInfoPersonnelDetail <QualificationInfoPersonnelDetail
@ -24,6 +29,9 @@
:detail-data="detailData" :detail-data="detailData"
/> />
</el-col> </el-col>
</el-row>
<el-row :gutter="24" class="content-row">
<!-- 其他信息 --> <!-- 其他信息 -->
<el-col :span="6" class="pane-right"> <el-col :span="6" class="pane-right">
<OtherInfoPersonnelDetail <OtherInfoPersonnelDetail
@ -158,14 +166,24 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.app-container { .app-container {
height: calc(100vh - 84px);
width: 100%;
padding: 24px; padding: 24px;
box-sizing: border-box;
background: linear-gradient(180deg, #F1F6FF 20%, #E5EFFF 100%); background: linear-gradient(180deg, #F1F6FF 20%, #E5EFFF 100%);
min-height: 100vh; display: flex;
overflow-y: auto; flex-direction: column;
overflow: hidden;
position: relative;
margin: 0;
} }
.content-body { .content-body {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
margin-top: 20px; margin-top: 20px;
min-height: 0; // flex
} }
.content-row { .content-row {
@ -180,11 +198,11 @@ export default {
.pane-right { .pane-right {
background: #fff; background: #fff;
border-radius: 16px 16px 16px 16px; border-radius: 16px 16px 16px 16px;
min-height: 600px; min-height: 400px;
box-shadow: 0px 4px 20px 0px rgba(31, 35, 55, 0.1); box-shadow: 0px 4px 20px 0px rgba(31, 35, 55, 0.1);
// border: 1px solid #e8f4ff; // border: 1px solid #e8f4ff;
padding: 0; padding: 0;
margin-bottom: 20px; margin-bottom: 10px;
flex: 1; flex: 1;
min-width: 0; min-width: 0;
} }
@ -193,8 +211,8 @@ export default {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center; align-items: center;
margin-bottom: 20px;
gap: 12px; gap: 12px;
flex-shrink: 0;
} }
.edit-btn { .edit-btn {

View File

@ -21,13 +21,15 @@
<BasicInfoPersonnel ref="basicInfoPersonnel" @handlePersonnelPosition="handlePersonnelPosition" <BasicInfoPersonnel ref="basicInfoPersonnel" @handlePersonnelPosition="handlePersonnelPosition"
:detailData="detailData" /> :detailData="detailData" />
</el-col> </el-col>
</el-row>
<el-row :gutter="24" class="content-row">
<!-- 资质信息 --> <!-- 资质信息 -->
<el-col :span="6" class="pane-center" v-show="!isProjectChiefEngineer"> <el-col :span="6" class="pane-center" v-show="!isProjectChiefEngineer">
<QualificationInfoPersonnel ref="qualificationInfoPersonnel" :personnelPosition="personnelPosition" <QualificationInfoPersonnel ref="qualificationInfoPersonnel" :personnelPosition="personnelPosition"
:detailData="detailData" /> :detailData="detailData" />
</el-col> </el-col>
</el-row>
<el-row :gutter="24" class="content-row">
<!-- 其他信息 --> <!-- 其他信息 -->
<el-col :span="6" class="pane-right"> <el-col :span="6" class="pane-right">
<OtherInfoPersonnel ref="otherInfoPersonnel" :detailData="detailData" <OtherInfoPersonnel ref="otherInfoPersonnel" :detailData="detailData"
@ -355,7 +357,7 @@ export default {
this.handleClose() this.handleClose()
} }
} catch (error) { } catch (error) {
if(error instanceof Error && error.message.includes('未填写完整')){ if (error instanceof Error && error.message.includes('未填写完整')) {
this.$message.error(error.message) this.$message.error(error.message)
} }
} finally { } finally {
@ -398,11 +400,16 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.app-container { .app-container {
height: calc(100vh - 84px);
width: 100%;
padding: 24px; padding: 24px;
box-sizing: border-box;
background: linear-gradient(180deg, #F1F6FF 20%, #E5EFFF 100%); background: linear-gradient(180deg, #F1F6FF 20%, #E5EFFF 100%);
min-height: 100vh; display: flex;
overflow-y: auto; flex-direction: column;
overflow: hidden;
position: relative; position: relative;
margin: 0;
&.no-pointer-events { &.no-pointer-events {
pointer-events: none; pointer-events: none;
@ -414,7 +421,11 @@ export default {
} }
.content-body { .content-body {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
margin-top: 20px; margin-top: 20px;
min-height: 0; // flex
} }
.content-row { .content-row {
@ -429,10 +440,10 @@ export default {
.pane-right { .pane-right {
background: #fff; background: #fff;
border-radius: 16px; border-radius: 16px;
min-height: 600px; min-height: 400px;
box-shadow: 0px 4px 20px 0px rgba(31, 35, 55, 0.1); box-shadow: 0px 4px 20px 0px rgba(31, 35, 55, 0.1);
padding: 0; padding: 0;
margin-bottom: 20px; margin-bottom: 10px;
flex: 1; flex: 1;
min-width: 0; min-width: 0;
} }
@ -441,8 +452,8 @@ export default {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center; align-items: center;
margin-bottom: 20px;
gap: 12px; gap: 12px;
flex-shrink: 0;
} }
.search-btn { .search-btn {

View File

@ -5,76 +5,125 @@
<span>基本信息</span> <span>基本信息</span>
</div> </div>
<el-form :model="form" :rules="rules" ref="basicInfoForm" label-width="110px" label-position="top"> <el-form :model="form" :rules="rules" ref="basicInfoForm" label-width="110px" label-position="top">
<el-form-item label="人员职位" prop="personnelPosition"> <el-row :gutter="24">
<el-select class="form-item" v-model="form.personnelPosition" placeholder="请选择人员职位" <el-col :span="8">
@change="handlePersonnelPositionChange">
<el-option v-for="item in dict.type.personnel_position" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<!-- 身份证人面像 --> <!-- 身份证人面像 -->
<el-form-item label="身份证人面像" prop="fileList"> <el-form-item label="身份证人面像" prop="fileList">
<UploadFile :fileList="form.fileList" :fileUploadRule="fileUploadRule" @del-file="handleDelFile" <UploadFile :fileList="form.fileList" :fileUploadRule="fileUploadRule" @del-file="handleDelFile"
@file-change="handleFileChange" type="face_id_card_portrait" /> @file-change="handleFileChange" type="face_id_card_portrait" />
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<!-- 身份证国徽面 --> <!-- 身份证国徽面 -->
<el-form-item label="身份证国徽面" prop="fileList2"> <el-form-item label="身份证国徽面" prop="fileList2">
<UploadFile :fileList="form.fileList2" :fileUploadRule="fileUploadRule2" @del-file="handleDelFile" <UploadFile :fileList="form.fileList2" :fileUploadRule="fileUploadRule2"
@file-change="handleFileChange" type="national_emblem_id_card" /> @del-file="handleDelFile" @file-change="handleFileChange" type="national_emblem_id_card" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="人员职位" prop="personnelPosition">
<el-select class="form-item" v-model="form.personnelPosition" placeholder="请选择人员职位"
@change="handlePersonnelPositionChange">
<el-option v-for="item in dict.type.personnel_position" :key="item.value"
:label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="人员姓名" prop="personnelName"> <el-form-item label="人员姓名" prop="personnelName">
<el-input v-model.trim="form.personnelName" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.personnelName" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号码" prop="personnelIdCard"> <el-form-item label="身份证号码" prop="personnelIdCard">
<el-input v-model.trim="form.personnelIdCard" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.personnelIdCard" placeholder="自动提取" clearable show-word-limit
maxlength="18"></el-input> maxlength="18"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="入职时间" prop="employmentDate"> <el-form-item label="入职时间" prop="employmentDate">
<el-date-picker class="form-item" v-model="form.employmentDate" placeholder="请选择入职时间" <el-date-picker class="form-item" v-model="form.employmentDate" placeholder="请选择入职时间"
value-format="yyyy-MM-dd" type="date"></el-date-picker> value-format="yyyy-MM-dd" type="date"></el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="从业年限" prop="employmentYears"> <el-form-item label="从业年限" prop="employmentYears">
<el-input min="0" max="60" type="number" v-model="form.employmentYears" <el-input min="0" max="60" type="number" v-model="form.employmentYears"
placeholder="请输入从业年限"></el-input> placeholder="请输入从业年限"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<!-- 学历证书 --> <!-- 学历证书 -->
<el-form-item label="学历证书" prop="fileList3"> <el-form-item label="学历证书" prop="fileList3">
<UploadFile :fileList="form.fileList3" uploadType="png、jpg、jpeg、pdf" :fileUploadRule="fileUploadRule3" <UploadFile :fileList="form.fileList3" uploadType="png、jpg、jpeg、pdf"
@del-file="handleDelFile" @file-change="handleFileChange" type="academic_certificate" /> :fileUploadRule="fileUploadRule3" @del-file="handleDelFile" @file-change="handleFileChange"
type="academic_certificate" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="毕业院校" prop="graduateSchool"> <el-form-item label="毕业院校" prop="graduateSchool">
<el-input v-model.trim="form.graduateSchool" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.graduateSchool" placeholder="自动提取" clearable show-word-limit
maxlength="64"></el-input> maxlength="64"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业专业" prop="graduationMajor"> <el-form-item label="毕业专业" prop="graduationMajor">
<el-input v-model.trim="form.graduationMajor" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.graduationMajor" placeholder="自动提取" clearable show-word-limit
maxlength="64"></el-input> maxlength="64"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学历" prop="qualification"> <el-form-item label="学历" prop="qualification">
<el-input v-model.trim="form.qualification" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.qualification" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="毕业时间" prop="graduationDate"> <el-form-item label="毕业时间" prop="graduationDate">
<el-date-picker class="form-item" v-model="form.graduationDate" placeholder="自动提取" <el-date-picker class="form-item" v-model="form.graduationDate" placeholder="自动提取"
value-format="yyyy-MM-dd" type="date"></el-date-picker> value-format="yyyy-MM-dd" type="date"></el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系方式" prop="personnelPhone"> <el-form-item label="联系方式" prop="personnelPhone">
<el-input v-model.trim="form.personnelPhone" placeholder="请输入联系方式" clearable show-word-limit <el-input v-model.trim="form.personnelPhone" placeholder="请输入联系方式" clearable show-word-limit
maxlength="11"></el-input> maxlength="11"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8"></el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="劳动合同" prop="fileList4"> <el-form-item label="劳动合同" prop="fileList4">
<UploadFile :fileList="form.fileList4" uploadType="pdf、doc、docx" maxFileTips="100MB" <UploadFile :fileList="form.fileList4" uploadType="pdf、doc、docx" maxFileTips="100MB"
:fileUploadRule="fileUploadRule4" @del-file="handleDelFile" @file-change="handleFileChange" :fileUploadRule="fileUploadRule4" @del-file="handleDelFile" @file-change="handleFileChange"
type="labor_contract" /> type="labor_contract" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</div> </div>
</template> </template>
<script> <script>
import UploadFile from '@/views/common/UploadFile.vue' import UploadFile from '@/views/common/UploadFile.vue'
import { validMobile,validIdCard } from '@/utils/validate' import { validMobile, validIdCard } from '@/utils/validate'
export default { export default {
name: 'BasicInfoPersonnel', name: 'BasicInfoPersonnel',
dicts: ['personnel_position', 'identification_tag'], dicts: ['personnel_position', 'identification_tag'],
@ -262,7 +311,7 @@ export default {
handleDelFile(file) { handleDelFile(file) {
console.log(file); console.log(file);
const delPath = file?.response?.fileRes?.filePath || file?.filePath || null; const delPath = file?.response?.fileRes?.filePath || file?.filePath || null;
if(delPath){ if (delPath) {
this.form.delFileList.push(delPath); this.form.delFileList.push(delPath);
} }
}, },

View File

@ -6,20 +6,68 @@
</div> </div>
<div class="detail-content"> <div class="detail-content">
<DetailItem label="人员职位" :value="personnelPosition.label" /> <el-row :gutter="24">
<el-col :span="8">
<FileOrImageDisplay label="身份证人面像" :file="form.fileList[0]" :image-url="form.url" /> <FileOrImageDisplay label="身份证人面像" :file="form.fileList[0]" :image-url="form.url" />
</el-col>
<el-col :span="8">
<FileOrImageDisplay label="身份证国徽面" :file="form.fileList2[0]" :image-url="form.url2" /> <FileOrImageDisplay label="身份证国徽面" :file="form.fileList2[0]" :image-url="form.url2" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<DetailItem label="人员职位" :value="personnelPosition.label" />
</el-col>
<el-col :span="8">
<DetailItem label="人员姓名" :value="form.personnelName" /> <DetailItem label="人员姓名" :value="form.personnelName" />
</el-col>
<el-col :span="8">
<DetailItem label="身份证号码" :value="form.personnelIdCard" /> <DetailItem label="身份证号码" :value="form.personnelIdCard" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<DetailItem label="入职时间" :value="form.employmentDate" /> <DetailItem label="入职时间" :value="form.employmentDate" />
</el-col>
<el-col :span="8">
<DetailItem label="从业年限" :value="form.employmentYears" suffix="年" /> <DetailItem label="从业年限" :value="form.employmentYears" suffix="年" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<FileOrImageDisplay label="学历证书" :file="form.fileList3[0]" :image-url="form.url3" /> <FileOrImageDisplay label="学历证书" :file="form.fileList3[0]" :image-url="form.url3" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<DetailItem label="毕业院校" :value="form.graduateSchool" /> <DetailItem label="毕业院校" :value="form.graduateSchool" />
</el-col>
<el-col :span="8">
<DetailItem label="毕业专业" :value="form.graduationMajor" /> <DetailItem label="毕业专业" :value="form.graduationMajor" />
</el-col>
<el-col :span="8">
<DetailItem label="学历" :value="form.qualification" /> <DetailItem label="学历" :value="form.qualification" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<DetailItem label="毕业时间" :value="form.graduationDate" /> <DetailItem label="毕业时间" :value="form.graduationDate" />
</el-col>
<el-col :span="8">
<DetailItem label="联系方式" :value="form.personnelPhone" /> <DetailItem label="联系方式" :value="form.personnelPhone" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<FileOrImageDisplay label="劳动合同" :file="form.fileList4[0]" :image-url="form.url4" /> <FileOrImageDisplay label="劳动合同" :file="form.fileList4[0]" :image-url="form.url4" />
</el-col>
</el-row>
</div> </div>
</div> </div>
</template> </template>

View File

@ -6,27 +6,44 @@
</div> </div>
<el-form :model="form" :rules="rules" ref="accountOpeningCertificateForm" label-width="110px" <el-form :model="form" :rules="rules" ref="accountOpeningCertificateForm" label-width="110px"
label-position="top"> label-position="top">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="职称证" prop="fileList"> <el-form-item label="职称证" prop="fileList">
<UploadFile :fileList="form.fileList" uploadType="png、jpg、jpeg、pdf" :fileUploadRule="fileUploadRule" <UploadFile :fileList="form.fileList" uploadType="png、jpg、jpeg、pdf"
@del-file="handleDelFile" @file-change="handleFileChange" type="professional_title_certificate" /> :fileUploadRule="fileUploadRule" @del-file="handleDelFile" @file-change="handleFileChange"
type="professional_title_certificate" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="职称名称" prop="titleName"> <el-form-item label="职称名称" prop="titleName">
<el-input v-model.trim="form.titleName" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.titleName" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业名称" prop="professionalName"> <el-form-item label="专业名称" prop="professionalName">
<el-input v-model.trim="form.professionalName" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.professionalName" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证书编号" prop="certificateCode"> <el-form-item label="证书编号" prop="certificateCode">
<el-input v-model.trim="form.certificateCode" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.certificateCode" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="人员简介" prop="personnelIntroduction"> <el-form-item label="人员简介" prop="personnelIntroduction">
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" class="form-item" <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" class="form-item"
v-model.trim="form.personnelIntroduction" clearable show-word-limit placeholder="请输入人员简介" v-model.trim="form.personnelIntroduction" clearable show-word-limit placeholder="请输入人员简介"
maxlength="300"></el-input> maxlength="300"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</div> </div>
</template> </template>
@ -146,7 +163,7 @@ export default {
handleDelFile(file) { handleDelFile(file) {
console.log(file); console.log(file);
const delPath = file?.response?.fileRes?.filePath || file?.filePath || null; const delPath = file?.response?.fileRes?.filePath || file?.filePath || null;
if(delPath){ if (delPath) {
this.form.delFileList.push(delPath); this.form.delFileList.push(delPath);
} }
}, },

View File

@ -6,16 +6,34 @@
</div> </div>
<div class="detail-content"> <div class="detail-content">
<el-row :gutter="24">
<el-col :span="8">
<!-- 职称证 --> <!-- 职称证 -->
<FileOrImageDisplay label="职称证" :file="form.fileList[0]" :image-url="form.url" /> <FileOrImageDisplay label="职称证" :file="form.fileList[0]" :image-url="form.url" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<!-- 职称名称 --> <!-- 职称名称 -->
<DetailItem label="职称名称" :value="form.titleName" /> <DetailItem label="职称名称" :value="form.titleName" />
</el-col>
<el-col :span="8">
<!-- 专业名称 --> <!-- 专业名称 -->
<DetailItem label="专业名称" :value="form.professionalName" /> <DetailItem label="专业名称" :value="form.professionalName" />
</el-col>
<el-col :span="8">
<!-- 证书编号 --> <!-- 证书编号 -->
<DetailItem label="证书编号" :value="form.certificateCode" /> <DetailItem label="证书编号" :value="form.certificateCode" />
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<!-- 人员简介 --> <!-- 人员简介 -->
<DetailItem label="人员简介" :value="form.personnelIntroduction" /> <DetailItem label="人员简介" :value="form.personnelIntroduction" />
</el-col>
</el-row>
</div> </div>
</div> </div>
</template> </template>

View File

@ -7,59 +7,90 @@
<el-form :model="form" :rules="rules" ref="qualificationInfoForm" label-width="110px" label-position="top"> <el-form :model="form" :rules="rules" ref="qualificationInfoForm" label-width="110px" label-position="top">
<!-- 建造师证书 --> <!-- 建造师证书 -->
<template v-if="isProjectManager"> <template v-if="isProjectManager">
<el-form-item label="建造师证书" prop="fileList">
<UploadFile :fileList="form.fileList" uploadType="png、jpg、jpeg、pdf" :fileUploadRule="fileUploadRule"
@del-file="handleDelFile" @file-change="handleFileChange" type="constructor_certificate" />
</el-form-item>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="建造师证书" prop="fileList">
<UploadFile :fileList="form.fileList" uploadType="png、jpg、jpeg、pdf"
:fileUploadRule="fileUploadRule" @del-file="handleDelFile"
@file-change="handleFileChange" type="constructor_certificate" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="专业类型" prop="professionalType"> <el-form-item label="专业类型" prop="professionalType">
<el-input v-model.trim="form.professionalType" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.professionalType" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证书编号" prop="certificateCode"> <el-form-item label="证书编号" prop="certificateCode">
<el-input v-model.trim="form.certificateCode" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.certificateCode" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级别" prop="certificateLevel"> <el-form-item label="级别" prop="certificateLevel">
<el-input v-model.trim="form.certificateLevel" placeholder="自动提取" clearable show-word-limit <el-input v-model.trim="form.certificateLevel" placeholder="自动提取" clearable show-word-limit
maxlength="32"></el-input> maxlength="32"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="证书有效期" prop="certificateValidityPeriod"> <el-form-item label="证书有效期" prop="certificateValidityPeriod">
<el-date-picker v-model="form.certificateValidityPeriod" type="daterange" range-separator="" <el-date-picker v-model="form.certificateValidityPeriod" type="daterange"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" class="form-item"> range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd" class="form-item">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="使用有效期" prop="useValidityPeriod"> <el-form-item label="使用有效期" prop="useValidityPeriod">
<el-date-picker v-model="form.useValidityPeriod" type="daterange" range-separator="" <el-date-picker v-model="form.useValidityPeriod" type="daterange" range-separator=""
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" class="form-item"> start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
class="form-item">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</template> </template>
<!-- 安全考核B证安全考核C证其他人员证书 --> <!-- 安全考核B证安全考核C证其他人员证书 -->
<template> <template>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item :label="certificateName" prop="fileList2"> <el-form-item :label="certificateName" prop="fileList2">
<UploadFile :fileList="form.fileList2" uploadType="png、jpg、jpeg、pdf" <UploadFile :fileList="form.fileList2" uploadType="png、jpg、jpeg、pdf"
:fileUploadRule="fileUploadRule2" @del-file="handleDelFile" @file-change="handleFileChange" :fileUploadRule="fileUploadRule2" @del-file="handleDelFile"
:type="otherType" /> @file-change="handleFileChange" :type="otherType" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="证书编号" prop="certificateCode2"> <el-form-item label="证书编号" prop="certificateCode2">
<el-input v-model.trim="form.certificateCode2" placeholder="自动提取"></el-input> <el-input v-model.trim="form.certificateCode2" placeholder="自动提取"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证书有效期" prop="certificateValidityPeriod2"> <el-form-item label="证书有效期" prop="certificateValidityPeriod2">
<el-date-picker v-model="form.certificateValidityPeriod2" type="daterange" range-separator="" <el-date-picker v-model="form.certificateValidityPeriod2" type="daterange"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" class="form-item"> range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd" class="form-item">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册专业" prop="registerProfessional"> <el-form-item label="注册专业" prop="registerProfessional">
<el-input v-model.trim="form.registerProfessional" placeholder="自动提取"></el-input> <el-input v-model.trim="form.registerProfessional" placeholder="自动提取"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</template> </template>
</el-form> </el-form>
</div> </div>
</template> </template>
@ -303,7 +334,7 @@ export default {
handleDelFile(file) { handleDelFile(file) {
console.log(file); console.log(file);
const delPath = file?.response?.fileRes?.filePath || file?.filePath || null; const delPath = file?.response?.fileRes?.filePath || file?.filePath || null;
if(delPath){ if (delPath) {
this.form.delFileList.push(delPath); this.form.delFileList.push(delPath);
} }
}, },
@ -366,7 +397,7 @@ export default {
certificate.certificateType === businessType certificate.certificateType === businessType
); );
console.log('certificates:',certificates); console.log('certificates:', certificates);
if (certificates.length > 0) { if (certificates.length > 0) {
const value = certificates[0][key]; const value = certificates[0][key];