Commit c7d670fd by zhaopanyu

zpy

parent 2c87e8dd
No preview for this file type
<template>
<div class="app-container">
<el-dialog title="查询" :visible.sync="query" width="50%" append-to-body>
<el-form ref="queryParams" :model="queryParams" label-width="170px" class="search">
<el-row>
<el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="queryParams.teachingSubject" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="queryParams.sex" placeholder="请选择" clearable style="width: 100%">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生年月" prop="birthDate">
<el-input v-model="queryParams.birthDate" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="queryParams.politicalLandscape" clearable placeholder="请选择政治面貌"
style="width: 100%">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="queryParams.workingHours" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="queryParams.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable
@keyup.enter.native="handleQuery" />
<!-- <el-select v-model="queryParams.currentProfessionalTitle" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="queryParams.onDutySituation" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="毕业院校" prop="graduationInstitution1">
<el-input v-model="queryParams.graduationInstitution1" placeholder="请输入毕业院校" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学历" prop="firstDegree">
<el-input v-model="queryParams.firstDegree" placeholder="请输入学历" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer"
style="display: flex; justify-content: center; align-items: center">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</div>
</el-dialog>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-search" size="mini" @click="handleQuerycx">查询</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="single"
@click="handleDelete" v-hasPermi="['system:student:remove']">删除
</el-button>
</el-col>
<el-col :offset="1" :span="1.5">
<el-button type="success" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:student:import']">导入
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:student:export']">导出
</el-button>
</el-col>
<el-col :span="1.5">
<el-upload v-loading="uploadFileLoading" class="upload-demo" action="#" :show-file-list="false"
:before-upload="beforeFileUpload" :http-request="uploadFiles" accept=".zip">
<el-button size="mini" type="success" plain icon="el-icon-upload">照片导入</el-button>
</el-upload>
</el-col>
</el-row>
<el-table border :data="informationList" @selection-change="handleSelectionChange" @sort-change="sortChange"
:default-sort="{ prop: 'toSecondMiddleSchoolTime', order: 'descending' }" :row-style="{ height: '1px' }"
:cell-style="{ padding: '0px' }" :header-cell-style="{ height: '0px', fontSize: '12px', padding: '0 0' }">
<el-table-column type="selection" align="center" width="40" />
<el-table-column type="index" label="序号" width="30" align="center" fixed="left" />
<el-table-column label="姓名" align="center" prop="name" width="65" sortable fixed="left"
show-overflow-tooltip />
<el-table-column label="性别" width="52" align="center" prop="sex" sortable fixed="left"
show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template>
</el-table-column>
<el-table-column label="年龄" width="50" align="center" prop="age" fixed="left" show-overflow-tooltip />
<el-table-column label="档案年龄" align="center" prop="fileAge" width="85" />
<el-table-column label="政治面貌" align="center" width="90" prop="politicalLandscape" sortable
show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.politics_tatusls" :value="scope.row.politicalLandscape" />
</template>
</el-table-column>
<el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable width="90" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.fileBirthDate, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="到市二中工作时间" width="85" align="center" prop="toSecondMiddleSchoolTime" sortable
show-overflow-tooltip />
<el-table-column label="到市二中工作年限" width="70" align="center" prop="toSecondAge" show-overflow-tooltip />
<el-table-column label="现具备专技资格" width="110" align="center" prop="currentHiringProfessionalTitle" sortable
show-overflow-tooltip>
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.current_professional"
:value="scope.row.currentHiringProfessionalTitle" />
</template> -->
</el-table-column>
<el-table-column label="毕业院校" align="center" :formatter="formatGraduationInstitution" sortable
show-overflow-tooltip />
<el-table-column label="学历" width="75px" align="center" :formatter="formatDegree" sortable
show-overflow-tooltip />
<el-table-column label="在岗情况" align="center" prop="onDutySituation" sortable show-overflow-tooltip
width="80px">
<template slot-scope="scope">
<dict-tag :options="dict.type.duty_situation" :value="scope.row.onDutySituation" />
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" sortable show-overflow-tooltip /> -->
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"
width="108px">
<template slot-scope="scope">
<el-button v-hasPermi="['system:student:edit']" size="mini" type="text"
@click="handleUpdate(scope.row)">修改</el-button>
<el-button v-hasPermi="['system:student:look']" size="mini" type="text"
@click="handleLook(scope.row)">详情</el-button>
<el-button v-hasPermi="['system:student:remove']" size="mini" type="text"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 导入对话框 -->
<el-dialog :title="title" :visible.sync="uploadOpen" width="520px" append-to-body inline @close="cancel">
<el-form ref="uploadForm" :model="uploadForm" :rules="rules" label-width="70px">
<el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false"
drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div class="mask" v-if="importing">
<div class="mask-content">
<i class="el-icon-loading"></i>
<span>正在导入,请稍候...</span>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="cancelFile"> </el-button>
</div>
</el-dialog>
<!-- 添加对话框 -->
<el-dialog class="addForm" :title="title" :visible.sync="open" width="80%">
<el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row type="flex" justify="space-between">
<el-col :span="16">
<el-col :span="12" class="custom-margin">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18"
placeholder="请输入" clearable style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<!-- <el-date-picker v-model="form.fileBirthDate" placeholder="选择日期" style="width: 100%;"
clearable type="month" value-format="yyyy-MM"></el-date-picker> -->
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate"
type="date" style="width: 100%;" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入籍贯" clearable
style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span=" 12" class="custom-margin"> -->
<!-- <el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item> -->
<!-- </el-col> -->
<el-col :span="12" class="custom-margin">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" clearable :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 190px;" placeholder="请选择"
clearable>
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="form.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable />
<!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择"
clearable>
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col><el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
</el-col>
<el-col :span="6" class="custom-margin">
<el-card style="
height: 180px;
width: 200px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle">
<el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入"
style="width: 100%;" />
<!-- <el-select clearable v-model="form.currentHiringProfessionalTitle" style="width: 100%"
placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width:100%;" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.current_position" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 190px;" placeholder="请选择" clearable>
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" clearable placeholder="请输入" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" clearable placeholder="请输入"
style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" clearable placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-date-picker clearable v-model="form.lengthOfServiceTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" clearable style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" clearable style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" clearable placeholder="请输入"
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-date-picker clearable v-model="form.graduationTime1" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" clearable
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-date-picker clearable v-model="form.graduationTime2" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" clearable
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-date-picker clearable v-model="form.graduationTime3" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" clearable style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" clearable style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="24" class="custom-margin">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer custom-evenly">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 查看对话框 -->
<el-dialog class="editForm" title="详细信息" :visible.sync="look" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row type="flex" justify="space-between">
<el-col :span="16">
<el-col :span="12" class="custom-margin">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18"
placeholder="请输入" clearable style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" style="width: 190px;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value"
:label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate"
type="date" style="width: 100%;" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案年龄" prop="fileAge">
<el-input v-model="form.fileAge" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="6">
<el-col :span="6" class="custom-margin">
<el-card
style="height: 200px;width: 220px; display: flex; align-items: center; justify-content: center; ">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="form.currentProfessionalTitle" placeholder="请输入" style="width: 100%;" />
<!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle">
<el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入"
style="width: 100%;" />
<!-- <el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%"
placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.current_position" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择">
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="工作年限" prop="seniority">
<el-input v-model="form.seniority" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="到市二中工作年限" prop="toSecondAge">
<el-input v-model="form.toSecondAge" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-date-picker clearable v-model="form.lengthOfServiceTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-date-picker clearable v-model="form.graduationTime1" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-date-picker clearable v-model="form.graduationTime2" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-date-picker clearable v-model="form.graduationTime3" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer custom-evenly">
<el-button v-if="isEditing" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listInformation,
getInformation,
delInformation,
addInformation,
filesUpload,
updateInformation,
} from "@/api/smartSchool/electronicArchives/basicInformation";
import { uploadImage as commonUpload } from "@/api/common";
import { checkIdcard } from "@/utils/utilLibrary/validate";
import { getToken } from "@/utils/auth";
import { CustomCellStyle } from "@/enums/customStyle";
import { ExportType } from "@/enums/common";
import axios from "axios";
export default {
name: "Information",
dicts: [
"sys_user_sex",
"politics_tatusls",
"teaching_subjects",
"current_professional",
"current_position",
"current_joblevel",
"duty_situation",
"current_situation",
],
data() {
return {
importing: false,
isEditing: false, // 默认为查看模式
// 导出选项
exportOptions: {
title: "选择导出类别",
open: false,
},
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/teacher/basiclnformation/importData",
},
uploadForm: {},
baseUrl: [process.env.VUE_APP_BASE_API],
uploadLoading: false,
uploadFileLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
id: '',
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教师基础信息表格数据
informationList: [],
// 弹出层标题
title: "",
// 图片上传遮罩层
uploadLoading: false,
// 是否显示弹出层
open: false,
query: false,
look: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
orderByColumn: "",
isAsc: "asc",
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [{ required: true, trigger: "blur" }],
idCard: [{ required: true, validator: checkIdcard, trigger: "blur" }],
teachingSubject: [
{ required: true, trigger: "blur" },
],
toSecondMiddleSchoolTime: [
{
required: true,
trigger: "blur",
},
],
ddPhone: [
{ required: true, trigger: "blur" },
],
},
};
},
computed: {
//现岗位等级下拉框联动
filteredJobLevels() {
const position = this.form.currentPosition;
if (position === "1") {
// 专业技术岗
return this.dict.type.current_joblevel.filter(
(level, index) => index < 12
);
} else if (position === "2") {
// 管理岗
return this.dict.type.current_joblevel.filter(
(level, index) => index === 0 || (index >= 12 && index < 17)
);
} else if (position === "3") {
// 工勤岗
return this.dict.type.current_joblevel.filter(
(level, index) => index === 0 || (index >= 17 && index <= 20)
);
}
// 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项
return this.dict.type.current_joblevel;
},
},
created() {
this.getList();
},
methods: {
formatGraduationInstitution(row) {
// 根据规则拼接毕业院校
let institutions = [];
if (row.graduationInstitution1) institutions.push(row.graduationInstitution1);
if (row.graduationInstitution2) institutions.push(row.graduationInstitution2);
if (row.graduationInstitution3) institutions.push(row.graduationInstitution3);
return institutions.join(' 、 ');
},
formatDegree(row) {
// 根据规则拼接学历
let degrees = [];
if (row.firstDegree) degrees.push(row.firstDegree);
if (row.lastDegree) degrees.push(row.lastDegree);
return degrees.join(' 、 ');
},
//排序列
sortChange(data) {
console.log(data, 'data');
const { prop, order } = data
//排序列
this.queryParams.orderByColumn = prop;
//排序顺序ascending或descending
// this.queryParams.isAsc = order;
if (order == "ascending") {
this.queryParams.isAsc = 'asc';
} else {
this.queryParams.isAsc = 'desc';
}
//返回第一页
this.queryParams.pageNum = 1;
this.getList();
},
//身份证校验
handleIdCardBlur() {
const idCard = this.form.idCard;
if (idCard && idCard.length === 18) {
// 身份证号码有效,提取性别
this.form.sex = this.getGenderFromIdCard(idCard);
// 提取并计算年龄
const birthYear = parseInt(idCard.substring(6, 10));
const birthMonth = parseInt(idCard.substring(10, 12));
const birthDate = parseInt(idCard.substring(12, 14));
// 设置出生年月日
this.form.birthDate = `${birthYear}-${birthMonth}-${birthDate}`;
} else {
// 身份证号码无效或为空,清空性别、年龄和生日字段
this.clearFormInfo();
}
},
clearFormInfo() {
this.form.sex = "";
this.form.birthDate = "";
},
getGenderFromIdCard(idCard) {
if (idCard && idCard.length === 18) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? "女" : "男"; // 奇数表示男性,偶数表示女性
}
return ""; // 身份证号码无效或为空时返回空字符串
},
// 上传成功回调
handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url;
this.commonUpload(file);
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type =
file.type === "image/jpeg" ||
"image/jpg" ||
"image/webp" ||
"image/png";
const isLt2M = file.size / 1024 / 1024 < 2;
if (!type) {
this.$message.error("图片格式不正确!(只能包含jpg,png,webp,JPEG)");
}
if (!isLt2M) {
this.$message.error("上传图片大小不能超过 2MB!");
}
return type && isLt2M;
},
// 上传图片
uploadImage(file) {
const fileData = file.file;
const formData = new FormData();
formData.append("file", fileData);
this.uploadLoading = true;
commonUpload(formData)
.then((response) => {
this.uploadLoading = false;
this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url;
this.form.photoUrl = response.url;
console.log(this.form.photoUr, 'this.form.photoUr');
console.log(response.url, 'response.url');
})
.catch((error) => {
this.uploadLoading = false;
});
},
/** 查询教师基础信息列表 */
getList() {
this.loading = true;
listInformation(this.queryParams).then((response) => {
this.informationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 文件压缩包上传前格式限制
beforeFileUpload(file) {
const fileName = file.name;
const extension = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
const allowedExtensions = ['zip']; // 允许的文件后缀列表
if (allowedExtensions.includes(extension)) {
// 文件类型正确,允许上传
return true;
} else {
// 文件类型不正确,给出错误提示并阻止上传
this.$message.error('文件格式不正确!只能上传zip文件');
return false;
}
},
// 上传照片压缩包文件
uploadFiles(file) {
const fileData = file.file;
const formData = new FormData();
formData.append("file", fileData);
this.uploadFileLoading = true;
filesUpload(formData)
.then((response) => {
this.uploadFileLoading = false;
this.$modal.msg(response.msg);
this.getList();
})
.catch((error) => {
this.uploadFileLoading = false;
});
},
handleLook(row) {
console.log(row);
this.look = true;
this.isEditing = false;
this.reset();
const id = row.id || this.ids;
getInformation(id).then((response) => {
this.form = response.data;
console.log(this.form, "this.form ");
this.title = "查看教师基础信息";
});
},
handleImport() {
this.reset();
this.title = "导入";
this.uploadOpen = true;
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
this.importing = true;
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit();
},
cancelFile() {
this.uploadOpen = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.uploadOpen = false;
this.upload.isUploading = false;
this.importing = false;
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getList();
},
//下载模版
importTemplate() {
this.download(
"/teacher/basiclnformation/download",
{},
`教师基础信息_${Date.now()}.xlsx`
);
},
// 取消按钮
cancel() {
this.open = false;
this.look = false;
this.query = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
idCard: null,
sex: null,
fileBirthDate: null,
birthDate: null,
hometown: null,
nation: null,
politicalLandscape: null,
partyMembershipTime: null,
teachingSubject: null,
currentProfessionalTitle: null,
currentProfessionalTitleTime: null,
currentHiringProfessionalTitle: null,
currentHiringProfessionalTitleTime: null,
currentPosition: null,
currentJobLevel: null,
currentJobLevelAppointmentTime: null,
duties: null,
teacherQualificationType: null,
teacherQualificationCertificateNum: null,
workingHours: null,
toSecondMiddleSchoolTime: null,
lengthOfTeacherTime: null,
lengthOfServiceTime: null,
onDutySituation: null,
currentSituation: null,
graduationInstitution1: null,
major1: null,
graduationTime1: null,
graduationInstitution2: null,
major2: null,
graduationTime2: null,
graduationInstitution3: null,
major3: null,
graduationTime3: null,
firstDegree: null,
lastDegree: null,
degree: null,
workExperience: null,
remark: null,
photoName: null,
photoUrl: null,
ddPhone: null,
delFlag: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuerycx() {
this.query = true;
},
handleQuery() {
this.query = true;
this.getList();
this.query = false;
},
resetcx() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
};
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
};
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selection = selection;
this.ids = selection.map(item => item.id);
this.single = selection.length == 1;
this.multiple = selection.length > 1;
// 先定义 isMultiple 变量为 false
let isMultiple = false;
if (this.selection.length === 1) {
// 单选逻辑
this.id = this.selection[0].id;
// console.log('this.id', this.id);
} else if (this.selection.length > 1) {
// 多选逻辑
isMultiple = true;
const ids = this.selection.map((item) => item.id);
this.ids = ids;
// console.log('this.ids', this.ids);
}
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教师基础信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
console.log(row);
this.open = true;
this.isEditing = true;
this.reset();
const id = row.id || this.ids;
getInformation(id).then((response) => {
this.form = response.data;
console.log(this.form.photoUrl, 'this.form.photoUrl');
this.title = "修改教师基础信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateInformation(this.form).then((response) => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInformation(this.form).then((response) => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除教师基础信息编号为"' + ids + '"的数据项?')
.then(function () {
return delInformation(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('teacher/basiclnformation/export', {
...this.queryParams
}, `教师基础信息_${Date.now()}.xlsx`)
// this.exportOptions.open = true;
// this.download('/teacher/basiclnformation/export', {
// ...this.queryParams
// }, `information_${new Date().getTime()}.xlsx`)
},
/** 导出 */
exportFile(callback) {
// let exportId = ''
// if (this.multiple == true) {
// exportId = this.ids
// } else {
// exportId = this.id
// }
// console.log('exportId', exportId);
// const options = [
// {
// type: ExportType.TOTAL,
// path: "/teacher/basiclnformation/export",
// params: {},
// },
// {
// type: ExportType.SELECT,
// path: "/teacher/basiclnformation/export/",
// params: { exportId },
// },
// {
// type: ExportType.QUERY,
// path: "/teacher/basiclnformation/export",
// params: this.queryParams,
// },
// ];
// callback(options, `教师基础信息${Date.now()}.xlsx`);
},
},
};
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 30px;
color: #8c939d;
width: 270px;
height: 280px;
line-height: 250px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
/*
.el-input {
margin-top: -5px;
margin-bottom: -8px;
}
.el-select {
margin-top: -2px;
margin-bottom: -5px;
} */
//.custom-margin {
// margin: -10px 0px;
//}
//.custom-evenly {
// margin-top: -40px !important;
// text-align: right !important;
//}
::v-deep .el-form-item {
margin-bottom: 0px;
}
::v-deep .el-input--medium .el-input__inner {
height: 26px;
line-height: 26px;
}
::v-deep .el-dialog__body {
padding: 10px 20px
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 4vh !important;
}
.search ::v-deep .el-form-item__content {
width: 200px
}
.addForm ::v-deep .el-dialog__header,
.editForm ::v-deep .el-dialog__header {
padding-bottom: 0px;
padding-top: 10px;
}
.addForm ::v-deep .el-dialog__footer,
.editForm ::v-deep .el-dialog__footer {
padding-bottom: 10px;
}
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
}
.mask-content {
display: flex;
align-items: center;
justify-content: center;
color: #1a74be;
font-size: 15px;
}
::v-deep .el-table .el-table__cell {
padding: 0;
}
::v-deep .el-table .cell {
padding: 0;
}
::v-deep .el-table th.el-table__cell>.cell {
padding: 0 !important;
}
::v-deep.el-table--border .el-table__cell .cell {
padding-left: 0px !important;
}
</style>
<template>
<div class="app-container">
<el-dialog title="查询" :visible.sync="query" width="50%" append-to-body>
<el-form ref="queryParams" :model="queryParams" label-width="170px" class="search">
<el-row>
<el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="queryParams.teachingSubject" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="queryParams.sex" placeholder="请选择" clearable style="width: 100%">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生年月" prop="birthDate">
<el-input v-model="queryParams.birthDate" clearable placeholder="请输入"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="queryParams.politicalLandscape" clearable placeholder="请选择政治面貌"
style="width: 100%">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="queryParams.workingHours" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="queryParams.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable
@keyup.enter.native="handleQuery" />
<!-- <el-select v-model="queryParams.currentProfessionalTitle" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="queryParams.onDutySituation" clearable placeholder="请选择"
style="width: 100%">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="毕业院校" prop="graduationInstitution1">
<el-input v-model="queryParams.graduationInstitution1" placeholder="请输入毕业院校" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学历" prop="firstDegree">
<el-input v-model="queryParams.firstDegree" placeholder="请输入学历" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer"
style="display: flex; justify-content: center; align-items: center">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</div>
</el-dialog>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-search" size="mini" @click="handleQuerycx">查询</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="single"
@click="handleDelete" v-hasPermi="['system:student:remove']">删除
</el-button>
</el-col>
<el-col :offset="1" :span="1.5">
<el-button type="success" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:student:import']">导入
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:student:export']">导出
</el-button>
</el-col>
<el-col :span="1.5">
<el-upload v-loading="uploadFileLoading" class="upload-demo" action="#" :show-file-list="false"
:before-upload="beforeFileUpload" :http-request="uploadFiles" accept=".zip">
<el-button size="mini" type="success" plain icon="el-icon-upload">照片导入</el-button>
</el-upload>
</el-col>
</el-row>
<el-table border :data="informationList" @selection-change="handleSelectionChange" @sort-change="sortChange"
:default-sort="{ prop: 'toSecondMiddleSchoolTime', order: 'descending' }" :row-style="{ height: '1px' }"
:cell-style="{ padding: '0px' }" :header-cell-style="{ height: '0px', fontSize: '12px', padding: '0 0' }"
:fit="true"> <!-- 添加 fit 属性实现自适应 -->
<el-table-column type="selection" align="center" :width="40" />
<el-table-column type="index" label="序号" :width="40" align="center" />
<!-- 移除 fixed="left" -->
<el-table-column label="姓名" align="center" prop="name" :min-width="screenWidth * 0.04" sortable
show-overflow-tooltip />
<el-table-column label="性别" :min-width="screenWidth * 0.03" align="center" prop="sex" sortable
show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template>
</el-table-column>
<el-table-column label="年龄" :min-width="screenWidth * 0.03" align="center" prop="age"
show-overflow-tooltip />
<el-table-column label="档案年龄" align="center" prop="fileAge" :min-width="screenWidth * 0.04" />
<el-table-column label="政治面貌" align="center" :min-width="screenWidth * 0.06" prop="politicalLandscape"
sortable show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.politics_tatusls" :value="scope.row.politicalLandscape" />
</template>
</el-table-column>
<el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable :min-width="screenWidth * 0.06"
show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.fileBirthDate, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="到市二中工作时间" :min-width="screenWidth * 0.06" align="center"
prop="toSecondMiddleSchoolTime" sortable show-overflow-tooltip />
<el-table-column label="到市二中工作年限" :min-width="screenWidth * 0.06" align="center" prop="toSecondAge"
show-overflow-tooltip />
<el-table-column label="现具备专技资格" :min-width="screenWidth * 0.06" align="center"
prop="currentHiringProfessionalTitle" sortable show-overflow-tooltip />
<el-table-column label="毕业院校" :min-width="screenWidth * 0.1" align="center"
:formatter="formatGraduationInstitution" sortable show-overflow-tooltip />
<el-table-column label="学历" width="75px" :min-width="screenWidth * 0.04" align="center"
:formatter="formatDegree" sortable show-overflow-tooltip />
<el-table-column label="在岗情况" align="center" prop="onDutySituation" sortable show-overflow-tooltip
:min-width="screenWidth * 0.05">
<template slot-scope="scope">
<dict-tag :options="dict.type.duty_situation" :value="scope.row.onDutySituation" />
</template>
</el-table-column>
<!-- 移除 fixed="right" -->
<el-table-column label="操作" align="center" class-name="small-padding" :min-width="screenWidth * 0.06">
<template slot-scope="scope">
<el-button v-hasPermi="['system:student:edit']" size="mini" type="text"
@click="handleUpdate(scope.row)">修改</el-button>
<el-button v-hasPermi="['system:student:look']" size="mini" type="text"
@click="handleLook(scope.row)">详情</el-button>
<el-button v-hasPermi="['system:student:remove']" size="mini" type="text"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 导入对话框 -->
<el-dialog :title="title" :visible.sync="uploadOpen" width="520px" append-to-body inline @close="cancel">
<el-form ref="uploadForm" :model="uploadForm" :rules="rules" label-width="70px">
<el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false"
drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div class="mask" v-if="importing">
<div class="mask-content">
<i class="el-icon-loading"></i>
<span>正在导入,请稍候...</span>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="cancelFile"> </el-button>
</div>
</el-dialog>
<!-- 添加对话框 -->
<el-dialog class="addForm" :title="title" :visible.sync="open" width="80%">
<el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row type="flex" justify="space-between">
<el-col :span="16">
<el-col :span="12" class="custom-margin">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18"
placeholder="请输入" clearable style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<!-- <el-date-picker v-model="form.fileBirthDate" placeholder="选择日期" style="width: 100%;"
clearable type="month" value-format="yyyy-MM"></el-date-picker> -->
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate"
type="date" style="width: 100%;" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入籍贯" clearable
style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span=" 12" class="custom-margin"> -->
<!-- <el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item> -->
<!-- </el-col> -->
<el-col :span="12" class="custom-margin">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" clearable :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 190px;" placeholder="请选择"
clearable>
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="form.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable />
<!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择"
clearable>
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col><el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
</el-col>
<el-col :span="6" class="custom-margin">
<el-card style="
height: 180px;
width: 200px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle">
<el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入"
style="width: 100%;" />
<!-- <el-select clearable v-model="form.currentHiringProfessionalTitle" style="width: 100%"
placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width:100%;" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.current_position" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 190px;" placeholder="请选择" clearable>
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" clearable placeholder="请输入" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" clearable placeholder="请输入"
style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" clearable placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-date-picker clearable v-model="form.lengthOfServiceTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" clearable style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" clearable style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" clearable placeholder="请输入"
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-date-picker clearable v-model="form.graduationTime1" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" clearable
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-date-picker clearable v-model="form.graduationTime2" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" clearable
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-date-picker clearable v-model="form.graduationTime3" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" clearable style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" clearable style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="24" class="custom-margin">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer custom-evenly">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 查看对话框 -->
<el-dialog class="editForm" title="详细信息" :visible.sync="look" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row type="flex" justify="space-between">
<el-col :span="16">
<el-col :span="12" class="custom-margin">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18"
placeholder="请输入" clearable style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" style="width: 190px;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value"
:label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate"
type="date" style="width: 100%;" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="档案年龄" prop="fileAge">
<el-input v-model="form.fileAge" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="6">
<el-col :span="6" class="custom-margin">
<el-card
style="height: 200px;width: 220px; display: flex; align-items: center; justify-content: center; ">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="form.currentProfessionalTitle" placeholder="请输入" style="width: 100%;" />
<!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle">
<el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入"
style="width: 100%;" />
<!-- <el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%"
placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.current_position" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择">
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="工作年限" prop="seniority">
<el-input v-model="form.seniority" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="到市二中工作年限" prop="toSecondAge">
<el-input v-model="form.toSecondAge" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-date-picker clearable v-model="form.lengthOfServiceTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" style="width: 190px;" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-date-picker clearable v-model="form.graduationTime1" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-date-picker clearable v-model="form.graduationTime2" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-date-picker clearable v-model="form.graduationTime3" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" style="width: 190px;" />
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer custom-evenly">
<el-button v-if="isEditing" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listInformation,
getInformation,
delInformation,
addInformation,
filesUpload,
updateInformation,
} from "@/api/smartSchool/electronicArchives/basicInformation";
import { uploadImage as commonUpload } from "@/api/common";
import { checkIdcard } from "@/utils/utilLibrary/validate";
import { getToken } from "@/utils/auth";
import { CustomCellStyle } from "@/enums/customStyle";
import { ExportType } from "@/enums/common";
import axios from "axios";
export default {
name: "Information",
dicts: [
"sys_user_sex",
"politics_tatusls",
"teaching_subjects",
"current_professional",
"current_position",
"current_joblevel",
"duty_situation",
"current_situation",
],
data() {
return {
screenWidth: document.documentElement.clientWidth,
importing: false,
isEditing: false, // 默认为查看模式
// 导出选项
exportOptions: {
title: "选择导出类别",
open: false,
},
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/teacher/basiclnformation/importData",
},
uploadForm: {},
baseUrl: [process.env.VUE_APP_BASE_API],
uploadLoading: false,
uploadFileLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
id: '',
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教师基础信息表格数据
informationList: [],
// 弹出层标题
title: "",
// 图片上传遮罩层
uploadLoading: false,
// 是否显示弹出层
open: false,
query: false,
look: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
orderByColumn: "",
isAsc: "asc",
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
},
// 表单参数
form: {},
// 表单校验
rules: {
name: [{ required: true, trigger: "blur" }],
idCard: [{ required: true, validator: checkIdcard, trigger: "blur" }],
teachingSubject: [
{ required: true, trigger: "blur" },
],
toSecondMiddleSchoolTime: [
{
required: true,
trigger: "blur",
},
],
ddPhone: [
{ required: true, trigger: "blur" },
],
},
};
},
computed: {
//现岗位等级下拉框联动
filteredJobLevels() {
const position = this.form.currentPosition;
if (position === "1") {
// 专业技术岗
return this.dict.type.current_joblevel.filter(
(level, index) => index < 12
);
} else if (position === "2") {
// 管理岗
return this.dict.type.current_joblevel.filter(
(level, index) => index === 0 || (index >= 12 && index < 17)
);
} else if (position === "3") {
// 工勤岗
return this.dict.type.current_joblevel.filter(
(level, index) => index === 0 || (index >= 17 && index <= 20)
);
}
// 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项
return this.dict.type.current_joblevel;
},
},
mounted() {
// 监听窗口大小变化
window.addEventListener('resize', this.handleResize)
},
beforeDestroy() {
// 组件销毁前移除监听
window.removeEventListener('resize', this.handleResize)
},
created() {
this.getList();
},
methods: {
handleResize() {
// 更新屏幕宽度
this.screenWidth = document.documentElement.clientWidth
},
formatGraduationInstitution(row) {
// 根据规则拼接毕业院校
let institutions = [];
if (row.graduationInstitution1) institutions.push(row.graduationInstitution1);
if (row.graduationInstitution2) institutions.push(row.graduationInstitution2);
if (row.graduationInstitution3) institutions.push(row.graduationInstitution3);
return institutions.join(' 、 ');
},
formatDegree(row) {
// 根据规则拼接学历
let degrees = [];
if (row.firstDegree) degrees.push(row.firstDegree);
if (row.lastDegree) degrees.push(row.lastDegree);
return degrees.join(' 、 ');
},
//排序列
sortChange(data) {
console.log(data, 'data');
const { prop, order } = data
//排序列
this.queryParams.orderByColumn = prop;
//排序顺序ascending或descending
// this.queryParams.isAsc = order;
if (order == "ascending") {
this.queryParams.isAsc = 'asc';
} else {
this.queryParams.isAsc = 'desc';
}
//返回第一页
this.queryParams.pageNum = 1;
this.getList();
},
//身份证校验
handleIdCardBlur() {
const idCard = this.form.idCard;
if (idCard && idCard.length === 18) {
// 身份证号码有效,提取性别
this.form.sex = this.getGenderFromIdCard(idCard);
// 提取并计算年龄
const birthYear = parseInt(idCard.substring(6, 10));
const birthMonth = parseInt(idCard.substring(10, 12));
const birthDate = parseInt(idCard.substring(12, 14));
// 设置出生年月日
this.form.birthDate = `${birthYear}-${birthMonth}-${birthDate}`;
} else {
// 身份证号码无效或为空,清空性别、年龄和生日字段
this.clearFormInfo();
}
},
clearFormInfo() {
this.form.sex = "";
this.form.birthDate = "";
},
getGenderFromIdCard(idCard) {
if (idCard && idCard.length === 18) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? "女" : "男"; // 奇数表示男性,偶数表示女性
}
return ""; // 身份证号码无效或为空时返回空字符串
},
// 上传成功回调
handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url;
this.commonUpload(file);
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type =
file.type === "image/jpeg" ||
"image/jpg" ||
"image/webp" ||
"image/png";
const isLt2M = file.size / 1024 / 1024 < 2;
if (!type) {
this.$message.error("图片格式不正确!(只能包含jpg,png,webp,JPEG)");
}
if (!isLt2M) {
this.$message.error("上传图片大小不能超过 2MB!");
}
return type && isLt2M;
},
// 上传图片
uploadImage(file) {
const fileData = file.file;
const formData = new FormData();
formData.append("file", fileData);
this.uploadLoading = true;
commonUpload(formData)
.then((response) => {
this.uploadLoading = false;
this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url;
this.form.photoUrl = response.url;
console.log(this.form.photoUr, 'this.form.photoUr');
console.log(response.url, 'response.url');
})
.catch((error) => {
this.uploadLoading = false;
});
},
/** 查询教师基础信息列表 */
getList() {
this.loading = true;
listInformation(this.queryParams).then((response) => {
this.informationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 文件压缩包上传前格式限制
beforeFileUpload(file) {
const fileName = file.name;
const extension = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
const allowedExtensions = ['zip']; // 允许的文件后缀列表
if (allowedExtensions.includes(extension)) {
// 文件类型正确,允许上传
return true;
} else {
// 文件类型不正确,给出错误提示并阻止上传
this.$message.error('文件格式不正确!只能上传zip文件');
return false;
}
},
// 上传照片压缩包文件
uploadFiles(file) {
const fileData = file.file;
const formData = new FormData();
formData.append("file", fileData);
this.uploadFileLoading = true;
filesUpload(formData)
.then((response) => {
this.uploadFileLoading = false;
this.$modal.msg(response.msg);
this.getList();
})
.catch((error) => {
this.uploadFileLoading = false;
});
},
handleLook(row) {
console.log(row);
this.look = true;
this.isEditing = false;
this.reset();
const id = row.id || this.ids;
getInformation(id).then((response) => {
this.form = response.data;
console.log(this.form, "this.form ");
this.title = "查看教师基础信息";
});
},
handleImport() {
this.reset();
this.title = "导入";
this.uploadOpen = true;
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
this.importing = true;
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit();
},
cancelFile() {
this.uploadOpen = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.uploadOpen = false;
this.upload.isUploading = false;
this.importing = false;
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getList();
},
//下载模版
importTemplate() {
this.download(
"/teacher/basiclnformation/download",
{},
`教师基础信息_${Date.now()}.xlsx`
);
},
// 取消按钮
cancel() {
this.open = false;
this.look = false;
this.query = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
idCard: null,
sex: null,
fileBirthDate: null,
birthDate: null,
hometown: null,
nation: null,
politicalLandscape: null,
partyMembershipTime: null,
teachingSubject: null,
currentProfessionalTitle: null,
currentProfessionalTitleTime: null,
currentHiringProfessionalTitle: null,
currentHiringProfessionalTitleTime: null,
currentPosition: null,
currentJobLevel: null,
currentJobLevelAppointmentTime: null,
duties: null,
teacherQualificationType: null,
teacherQualificationCertificateNum: null,
workingHours: null,
toSecondMiddleSchoolTime: null,
lengthOfTeacherTime: null,
lengthOfServiceTime: null,
onDutySituation: null,
currentSituation: null,
graduationInstitution1: null,
major1: null,
graduationTime1: null,
graduationInstitution2: null,
major2: null,
graduationTime2: null,
graduationInstitution3: null,
major3: null,
graduationTime3: null,
firstDegree: null,
lastDegree: null,
degree: null,
workExperience: null,
remark: null,
photoName: null,
photoUrl: null,
ddPhone: null,
delFlag: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuerycx() {
this.query = true;
},
handleQuery() {
this.query = true;
this.getList();
this.query = false;
},
resetcx() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
};
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
};
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selection = selection;
this.ids = selection.map(item => item.id);
this.single = selection.length == 1;
this.multiple = selection.length > 1;
// 先定义 isMultiple 变量为 false
let isMultiple = false;
if (this.selection.length === 1) {
// 单选逻辑
this.id = this.selection[0].id;
// console.log('this.id', this.id);
} else if (this.selection.length > 1) {
// 多选逻辑
isMultiple = true;
const ids = this.selection.map((item) => item.id);
this.ids = ids;
// console.log('this.ids', this.ids);
}
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教师基础信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
console.log(row);
this.open = true;
this.isEditing = true;
this.reset();
const id = row.id || this.ids;
getInformation(id).then((response) => {
this.form = response.data;
console.log(this.form.photoUrl, 'this.form.photoUrl');
this.title = "修改教师基础信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateInformation(this.form).then((response) => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInformation(this.form).then((response) => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
.confirm('是否确认删除教师基础信息编号为"' + ids + '"的数据项?')
.then(function () {
return delInformation(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('teacher/basiclnformation/export', {
...this.queryParams
}, `教师基础信息_${Date.now()}.xlsx`)
// this.exportOptions.open = true;
// this.download('/teacher/basiclnformation/export', {
// ...this.queryParams
// }, `information_${new Date().getTime()}.xlsx`)
},
/** 导出 */
exportFile(callback) {
// let exportId = ''
// if (this.multiple == true) {
// exportId = this.ids
// } else {
// exportId = this.id
// }
// console.log('exportId', exportId);
// const options = [
// {
// type: ExportType.TOTAL,
// path: "/teacher/basiclnformation/export",
// params: {},
// },
// {
// type: ExportType.SELECT,
// path: "/teacher/basiclnformation/export/",
// params: { exportId },
// },
// {
// type: ExportType.QUERY,
// path: "/teacher/basiclnformation/export",
// params: this.queryParams,
// },
// ];
// callback(options, `教师基础信息${Date.now()}.xlsx`);
},
},
};
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 30px;
color: #8c939d;
width: 270px;
height: 280px;
line-height: 250px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
/*
.el-input {
margin-top: -5px;
margin-bottom: -8px;
}
.el-select {
margin-top: -2px;
margin-bottom: -5px;
} */
//.custom-margin {
// margin: -10px 0px;
//}
//.custom-evenly {
// margin-top: -40px !important;
// text-align: right !important;
//}
::v-deep .el-form-item {
margin-bottom: 0px;
}
::v-deep .el-input--medium .el-input__inner {
height: 26px;
line-height: 26px;
}
::v-deep .el-dialog__body {
padding: 10px 20px
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 4vh !important;
}
.search ::v-deep .el-form-item__content {
width: 200px
}
.addForm ::v-deep .el-dialog__header,
.editForm ::v-deep .el-dialog__header {
padding-bottom: 0px;
padding-top: 10px;
}
.addForm ::v-deep .el-dialog__footer,
.editForm ::v-deep .el-dialog__footer {
padding-bottom: 10px;
}
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
}
.mask-content {
display: flex;
align-items: center;
justify-content: center;
color: #1a74be;
font-size: 15px;
}
::v-deep .el-table .el-table__cell {
padding: 0;
}
::v-deep .el-table .cell {
padding: 0;
}
::v-deep .el-table th.el-table__cell>.cell {
padding: 0 !important;
}
::v-deep.el-table--border .el-table__cell .cell {
padding-left: 0px !important;
}
::v-deep .el-table {
width: 100%;
height: 100%;
}
::v-deep .el-table__body-wrapper {
overflow-x: auto;
}
::v-deep .el-table .cell {
white-space: nowrap;
}
</style>
...@@ -132,66 +132,96 @@ ...@@ -132,66 +132,96 @@
</el-upload> </el-upload>
</el-col> </el-col>
</el-row> </el-row>
<el-table border :data="informationList" @selection-change="handleSelectionChange" @sort-change="sortChange" <el-table ref="table" border :data="informationList" @selection-change="handleSelectionChange"
:default-sort="{ prop: 'toSecondMiddleSchoolTime', order: 'descending' }" :row-style="{ height: '1px' }" @sort-change="sortChange" :default-sort="defaultSort" :row-style="{ height: '1px' }"
:cell-style="{ padding: '0px' }" :header-cell-style="{ height: '0px', fontSize: '12px', padding: '0 0' }"> :cell-style="{ padding: '0px' }" :header-cell-style="tableHeaderStyle" :fit="true">
<el-table-column type="selection" align="center" width="40" /> <!-- 添加 fit 属性实现自适应 -->
<el-table-column type="index" label="序号" width="30" align="center" fixed="left" /> <el-table-column type="selection" align="center" :width="38" />
<el-table-column label="姓名" align="center" prop="name" width="65" sortable fixed="left" <el-table-column type="index" label="序号" :width="38" align="center" />
<el-table-column label="姓名" align="center" prop="name" :min-width="screenWidth * 0.04" sortable="custom"
show-overflow-tooltip /> show-overflow-tooltip />
<el-table-column label="性别" width="52" align="center" prop="sex" sortable fixed="left" <el-table-column label="性别" :min-width="screenWidth * 0.03" align="center" prop="sex" sortable="custom"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" /> <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="年龄" width="50" align="center" prop="age" fixed="left" show-overflow-tooltip /> <el-table-column label="年龄" :min-width="screenWidth * 0.03" align="center" prop="age" sortable="custom"
<el-table-column label="档案年龄" align="center" prop="fileAge" width="85" /> show-overflow-tooltip />
<el-table-column label="政治面貌" align="center" width="90" prop="politicalLandscape" sortable <!-- <el-table-column label="出生日期" :min-width="screenWidth * 0.03" align="center" prop="birthDate"
sortable="custom" show-overflow-tooltip /> -->
<el-table-column label="档案年龄" align="center" prop="fileAge" :min-width="screenWidth * 0.05"
sortable="custom" />
<el-table-column label="退休日期" align="center" prop="txDate" sortable="custom" :min-width="screenWidth * 0.05"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.txDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="退休年龄" align="center" prop="txAge" :min-width="screenWidth * 0.05"
sortable="custom" />
<el-table-column label="政治面貌" align="center" :min-width="screenWidth * 0.05" prop="politicalLandscape"
sortable="custom" show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.politics_tatusls" :value="scope.row.politicalLandscape" /> <dict-tag :options="dict.type.politics_tatusls" :value="scope.row.politicalLandscape" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable width="90" show-overflow-tooltip> <el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable="custom"
:min-width="screenWidth * 0.05" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.fileBirthDate, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.fileBirthDate, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="到市二中工作时间" width="85" align="center" prop="toSecondMiddleSchoolTime" sortable <el-table-column :min-width="screenWidth * 0.05" align="center" prop="toSecondMiddleSchoolTime"
show-overflow-tooltip /> sortable="custom" show-overflow-tooltip>
<el-table-column label="到市二中工作年限" width="70" align="center" prop="toSecondAge" show-overflow-tooltip /> <template slot="header">
<el-table-column label="现具备专技资格" width="110" align="center" prop="currentHiringProfessionalTitle" sortable <span style="white-space: normal;">到市二中<br />工作时间</span>
</template>
</el-table-column>
<el-table-column :min-width="screenWidth * 0.05" align="center" prop="toSecondAge" sortable="custom"
show-overflow-tooltip> show-overflow-tooltip>
<!-- <template slot-scope="scope"> <template slot="header">
<dict-tag :options="dict.type.current_professional" <span style="white-space: normal;">到市二中<br />工作年限</span>
:value="scope.row.currentHiringProfessionalTitle" /> </template>
</template> -->
</el-table-column> </el-table-column>
<el-table-column label="毕业院校" align="center" :formatter="formatGraduationInstitution" sortable <!-- <el-table-column label="现具备专技资格" :min-width="screenWidth * 0.08" align="center"
show-overflow-tooltip /> prop="currentHiringProfessionalTitle" sortable="custom" show-overflow-tooltip /> -->
<el-table-column label="学历" width="75px" align="center" :formatter="formatDegree" sortable <el-table-column :min-width="screenWidth * 0.05" align="center" prop="currentHiringProfessionalTitle"
show-overflow-tooltip /> sortable="custom" show-overflow-tooltip>
<el-table-column label="在岗情况" align="center" prop="onDutySituation" sortable show-overflow-tooltip <template slot="header">
width="80px"> <span style="white-space: normal;">现具备专<br />技资格</span>
</template>
</el-table-column>
<!-- <el-table-column label="毕业院校" align="center" prop="graduationInstitution3" sortable="custom"
:min-width="screenWidth * 0.1" show-overflow-tooltip />
<el-table-column label="学历" :min-width="screenWidth * 0.04" align="center" prop="lastDegree" sortable="custom"
show-overflow-tooltip /> -->
<el-table-column label="毕业院校" align="center" :formatter="formatGraduationInstitution" sortable="custom"
:min-width="screenWidth * 0.1" show-overflow-tooltip />
<el-table-column label="学历" width="75px" align="center" :formatter="formatDegree" sortable="custom"
:min-width="screenWidth * 0.03" show-overflow-tooltip />
<el-table-column label="在岗情况" align="center" prop="onDutySituation" sortable="custom" show-overflow-tooltip
:min-width="screenWidth * 0.05">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.duty_situation" :value="scope.row.onDutySituation" /> <dict-tag :options="dict.type.duty_situation" :value="scope.row.onDutySituation" />
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" sortable show-overflow-tooltip /> --> <!-- 移除 fixed="right" -->
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" <el-table-column label="操作" align="center" class-name="small-padding operation-column"
width="108px"> :min-width="screenWidth * 0.07">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-hasPermi="['system:student:edit']" size="mini" type="text" <div class="operation-buttons">
@click="handleUpdate(scope.row)">修改</el-button> <el-button v-hasPermi="['system:student:edit']" size="mini" type="text"
<el-button v-hasPermi="['system:student:look']" size="mini" type="text" @click="handleUpdate(scope.row)">修改</el-button>
@click="handleLook(scope.row)">详情</el-button> <el-button v-hasPermi="['system:student:look']" size="mini" type="text"
<el-button v-hasPermi="['system:student:remove']" size="mini" type="text" @click="handleLook(scope.row)">详情</el-button>
@click="handleDelete(scope.row)">删除</el-button> <el-button v-hasPermi="['system:student:remove']" size="mini" type="text"
@click="handleDelete(scope.row)">删除</el-button>
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" /> :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 导入对话框 --> <!-- 导入对话框 -->
...@@ -239,31 +269,29 @@ ...@@ -239,31 +269,29 @@
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="身份证号" prop="idCard"> <el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" <el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18"
placeholder="请输入" clearable style="width: 190px;"></el-input> placeholder="请输入" clearable style="width: 100%;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="档案出生日期" prop="fileBirthDate"> <el-form-item label="档案出生日期" prop="fileBirthDate">
<!-- <el-date-picker v-model="form.fileBirthDate" placeholder="选择日期" style="width: 100%;"
clearable type="month" value-format="yyyy-MM"></el-date-picker> -->
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate" <el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.fileBirthDate"
type="date" style="width: 100%;" placeholder="选择日期"> type="date" style="width: 100%;" placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="退休日期" prop="txDate">
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.txDate" type="date"
style="width: 100%;" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="籍贯" prop="hometown"> <el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入籍贯" clearable <el-input v-model="form.hometown" placeholder="请输入籍贯" clearable
style="width: 190px;"></el-input> style="width: 100%;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span=" 12" class="custom-margin"> -->
<!-- <el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item> -->
<!-- </el-col> -->
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="民族" prop="nation"> <el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族" clearable></el-input> <el-input v-model="form.nation" placeholder="请输入民族" clearable></el-input>
...@@ -271,7 +299,7 @@ ...@@ -271,7 +299,7 @@
</el-col> </el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="政治面貌" prop="politicalLandscape"> <el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 190px;" placeholder="请选择"> <el-select v-model="form.politicalLandscape" style="width: 100%;" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" clearable :key="dict.value" <el-option v-for="dict in dict.type.politics_tatusls" clearable :key="dict.value"
:label="dict.label" :value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
...@@ -287,7 +315,7 @@ ...@@ -287,7 +315,7 @@
</el-col> </el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="任教学科" prop="teachingSubject"> <el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 190px;" placeholder="请选择" <el-select v-model="form.teachingSubject" style="width: 100%;" placeholder="请选择"
clearable> clearable>
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value"> :label="dict.label" :value="dict.value">
...@@ -297,7 +325,8 @@ ...@@ -297,7 +325,8 @@
</el-col> </el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格" prop="currentProfessionalTitle"> <el-form-item label="现具备专技资格" prop="currentProfessionalTitle">
<el-input v-model="form.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable /> <el-input v-model="form.currentProfessionalTitle" placeholder="请输入现具备专技资格" clearable
style="width: 100%" />
<!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择" <!-- <el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择"
clearable> clearable>
<el-option v-for="dict in dict.type.current_professional" :key="dict.value" <el-option v-for="dict in dict.type.current_professional" :key="dict.value"
...@@ -305,12 +334,6 @@ ...@@ -305,12 +334,6 @@
</el-option> </el-option>
</el-select> --> </el-select> -->
</el-form-item> </el-form-item>
</el-col><el-col :span="12" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
</el-col> </el-col>
</el-col> </el-col>
...@@ -337,7 +360,7 @@ ...@@ -337,7 +360,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle"> <el-form-item label="现聘专技资格" prop="currentHiringProfessionalTitle">
<el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入" <el-input v-model="form.currentHiringProfessionalTitle" placeholder="请输入"
style="width: 100%;" /> style="width: 100%" />
<!-- <el-select clearable v-model="form.currentHiringProfessionalTitle" style="width: 100%" <!-- <el-select clearable v-model="form.currentHiringProfessionalTitle" style="width: 100%"
placeholder="请选择"> placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value" <el-option v-for="dict in dict.type.current_professional" :key="dict.value"
...@@ -349,7 +372,7 @@ ...@@ -349,7 +372,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime"> <el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -359,6 +382,13 @@ ...@@ -359,6 +382,13 @@
</el-row> </el-row>
<el-row :gutter="6" type="flex" justify="space-between"> <el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM-dd" placeholder="请选择" style="width:100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="custom-margin">
<el-form-item label="现聘岗位" prop="currentPosition"> <el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width:100%;" placeholder="请选择" clearable> <el-select v-model="form.currentPosition" style="width:100%;" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.current_position" :key="dict.value" <el-option v-for="dict in dict.type.current_position" :key="dict.value"
...@@ -376,15 +406,16 @@ ...@@ -376,15 +406,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime"> <el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }"> value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="职务" prop="duties"> <el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" clearable placeholder="请输入" style="width: 100%;" /> <el-input v-model="form.duties" clearable placeholder="请输入" style="width: 100%;" />
...@@ -396,13 +427,14 @@ ...@@ -396,13 +427,14 @@
style="width: 190px;" /> style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum"> <el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" clearable placeholder="请输入" /> <el-input v-model="form.teacherQualificationCertificateNum" clearable placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="参加工作时间" prop="workingHours"> <el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
...@@ -417,6 +449,9 @@ ...@@ -417,6 +449,9 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime"> <el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date" <el-date-picker clearable v-model="form.lengthOfTeacherTime" type="date"
...@@ -424,8 +459,6 @@ ...@@ -424,8 +459,6 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime"> <el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-date-picker clearable v-model="form.lengthOfServiceTime" type="date" <el-date-picker clearable v-model="form.lengthOfServiceTime" type="date"
...@@ -442,6 +475,9 @@ ...@@ -442,6 +475,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="在编情况" prop="currentSituation"> <el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" clearable style="width: 100%" placeholder="请选择"> <el-select v-model="form.currentSituation" clearable style="width: 100%" placeholder="请选择">
...@@ -451,8 +487,6 @@ ...@@ -451,8 +487,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校1" prop="graduationInstitution1"> <el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" clearable placeholder="请输入" <el-input v-model="form.graduationInstitution1" clearable placeholder="请输入"
...@@ -464,6 +498,9 @@ ...@@ -464,6 +498,9 @@
<el-input v-model="form.major1" placeholder="请输入" clearable style="width: 190px;" /> <el-input v-model="form.major1" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1"> <el-form-item label="毕业时间1" prop="graduationTime1">
<el-date-picker clearable v-model="form.graduationTime1" type="date" <el-date-picker clearable v-model="form.graduationTime1" type="date"
...@@ -471,8 +508,6 @@ ...@@ -471,8 +508,6 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校2" prop="graduationInstitution2"> <el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" clearable <el-input v-model="form.graduationInstitution2" placeholder="请输入" clearable
...@@ -484,6 +519,9 @@ ...@@ -484,6 +519,9 @@
<el-input v-model="form.major2" placeholder="请输入" clearable style="width: 190px;" /> <el-input v-model="form.major2" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2"> <el-form-item label="毕业时间2" prop="graduationTime2">
<el-date-picker clearable v-model="form.graduationTime2" type="date" <el-date-picker clearable v-model="form.graduationTime2" type="date"
...@@ -491,8 +529,6 @@ ...@@ -491,8 +529,6 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业院校3" prop="graduationInstitution3"> <el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" clearable <el-input v-model="form.graduationInstitution3" placeholder="请输入" clearable
...@@ -504,6 +540,9 @@ ...@@ -504,6 +540,9 @@
<el-input v-model="form.major3" placeholder="请输入" clearable style="width: 190px;" /> <el-input v-model="form.major3" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3"> <el-form-item label="毕业时间3" prop="graduationTime3">
<el-date-picker clearable v-model="form.graduationTime3" type="date" <el-date-picker clearable v-model="form.graduationTime3" type="date"
...@@ -511,8 +550,6 @@ ...@@ -511,8 +550,6 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="第一学历" prop="firstDegree"> <el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" clearable style="width: 100%;" /> <el-input v-model="form.firstDegree" placeholder="请输入" clearable style="width: 100%;" />
...@@ -523,13 +560,14 @@ ...@@ -523,13 +560,14 @@
<el-input v-model="form.lastDegree" placeholder="请输入" clearable style="width: 190px;" /> <el-input v-model="form.lastDegree" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="学位" prop="degree"> <el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" clearable /> <el-input v-model="form.degree" placeholder="请输入" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="工作经历" prop="workExperience"> <el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" clearable style="width: 100%" /> <el-input v-model="form.workExperience" placeholder="请输入" clearable style="width: 100%" />
...@@ -537,14 +575,14 @@ ...@@ -537,14 +575,14 @@
</el-col> </el-col>
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="钉钉手机号" prop="ddPhone"> <el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" clearable /> <el-input v-model="form.ddPhone" placeholder="请输入" clearable style="width: 190px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="2" type="flex" justify="space-between"> <el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="24" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable /> <el-input v-model="form.remark" placeholder="请输入" clearable style="width: 100%;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -595,7 +633,20 @@ ...@@ -595,7 +633,20 @@
<el-input v-model="form.fileAge" placeholder="请输入" style="width: 190px;"></el-input> <el-input v-model="form.fileAge" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="退休日期" prop="txDate">
<!-- <el-date-picker v-model="form.fileBirthDate" placeholder="选择日期" style="width: 100%;"
clearable type="month" value-format="yyyy-MM"></el-date-picker> -->
<el-date-picker clearable value-format="yyyy-MM-dd" v-model="form.txDate" type="date"
style="width: 100%;" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin">
<el-form-item label="退休年龄" prop="txAge">
<el-input v-model="form.txAge" placeholder="请输入" style="width: 190px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="出生年月" prop="birthDate"> <el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
...@@ -670,7 +721,7 @@ ...@@ -670,7 +721,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime"> <el-form-item label="现具备专技资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -691,7 +742,7 @@ ...@@ -691,7 +742,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime"> <el-form-item label="现聘专技资格时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -718,7 +769,7 @@ ...@@ -718,7 +769,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime"> <el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }"> value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -932,7 +983,8 @@ export default { ...@@ -932,7 +983,8 @@ export default {
data() { data() {
return { return {
defaultSort: { prop: 'toSecondMiddleSchoolTime', order: 'descending' },
screenWidth: document.documentElement.clientWidth,
importing: false, importing: false,
isEditing: false, // 默认为查看模式 isEditing: false, // 默认为查看模式
// 导出选项 // 导出选项
...@@ -986,7 +1038,7 @@ export default { ...@@ -986,7 +1038,7 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
orderByColumn: "", orderByColumn: "",
isAsc: "asc", isAsc: "asc",
teachingSubject: "", teachingSubject: "",
...@@ -1004,7 +1056,7 @@ export default { ...@@ -1004,7 +1056,7 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
name: [{ required: true, trigger: "blur" }], name: [{ required: true, trigger: "blur", }],
idCard: [{ required: true, validator: checkIdcard, trigger: "blur" }], idCard: [{ required: true, validator: checkIdcard, trigger: "blur" }],
teachingSubject: [ teachingSubject: [
{ required: true, trigger: "blur" }, { required: true, trigger: "blur" },
...@@ -1044,11 +1096,35 @@ export default { ...@@ -1044,11 +1096,35 @@ export default {
// 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项 // 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项
return this.dict.type.current_joblevel; return this.dict.type.current_joblevel;
}, },
// 添加表头样式计算属性
tableHeaderStyle() {
return {
background: '#F5F7FA',
height: this.screenWidth < 1400 ? 'auto' : '0px', // 小屏时自适应高度
padding: '4px 0',
fontSize: '12px',
wordBreak: 'break-word', // 允许在任意字符间换行
whiteSpace: 'pre-wrap', // 保留空格和换行
lineHeight: '1.2', // 适当的行高
}
},
},
mounted() {
// 监听窗口大小变化
window.addEventListener('resize', this.handleResize)
},
beforeDestroy() {
// 组件销毁前移除监听
window.removeEventListener('resize', this.handleResize)
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
handleResize() {
// 更新屏幕宽度
this.screenWidth = document.documentElement.clientWidth
},
formatGraduationInstitution(row) { formatGraduationInstitution(row) {
// 根据规则拼接毕业院校 // 根据规则拼接毕业院校
let institutions = []; let institutions = [];
...@@ -1067,20 +1143,47 @@ export default { ...@@ -1067,20 +1143,47 @@ export default {
//排序列 //排序列
sortChange(data) { sortChange(data) {
console.log(data, 'data'); console.log(data, 'data');
const { prop, order } = data const { prop, order } = data;
//排序列 let sortProp = prop;
this.queryParams.orderByColumn = prop;
//排序顺序ascending或descending if (prop === 'toSecondAge') {
// this.queryParams.isAsc = order; sortProp = 'toSecondMiddleSchoolTime';
if (order == "ascending") { }
console.log(sortProp, 'sortProp');
if (prop === 'age') {
sortProp = 'birthDate';
}
console.log(sortProp, 'sortProp');
if (prop === 'fileAge') {
sortProp = 'fileBirthDate';
}
// 直接使用处理后的 sortProp 设置排序列
this.queryParams.orderByColumn = sortProp;
if (order === "ascending") {
this.queryParams.isAsc = 'asc'; this.queryParams.isAsc = 'asc';
} else { } else {
this.queryParams.isAsc = 'desc'; this.queryParams.isAsc = 'desc';
} }
//返回第一页
// 返回第一页
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList();
// 手动更新 defaultSort
this.defaultSort = {
prop: prop,
order: order
};
this.$nextTick(() => {
this.getList();
});
}, },
//身份证校验 //身份证校验
handleIdCardBlur() { handleIdCardBlur() {
const idCard = this.form.idCard; const idCard = this.form.idCard;
...@@ -1155,6 +1258,7 @@ export default { ...@@ -1155,6 +1258,7 @@ export default {
/** 查询教师基础信息列表 */ /** 查询教师基础信息列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listInformation(this.queryParams).then((response) => { listInformation(this.queryParams).then((response) => {
this.informationList = response.rows; this.informationList = response.rows;
this.total = response.total; this.total = response.total;
...@@ -1300,6 +1404,8 @@ export default { ...@@ -1300,6 +1404,8 @@ export default {
photoUrl: null, photoUrl: null,
ddPhone: null, ddPhone: null,
delFlag: null, delFlag: null,
txDate: null,
txAge: null,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -1316,7 +1422,7 @@ export default { ...@@ -1316,7 +1422,7 @@ export default {
resetcx() { resetcx() {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
teachingSubject: "", teachingSubject: "",
name: "", name: "",
sex: "", sex: "",
...@@ -1333,7 +1439,7 @@ export default { ...@@ -1333,7 +1439,7 @@ export default {
resetQuery() { resetQuery() {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 20,
teachingSubject: "", teachingSubject: "",
name: "", name: "",
sex: "", sex: "",
...@@ -1587,4 +1693,94 @@ export default { ...@@ -1587,4 +1693,94 @@ export default {
padding-left: 0px !important; padding-left: 0px !important;
} }
::v-deep .el-table {
width: 100%;
height: 100%;
}
::v-deep .el-table__body-wrapper {
overflow-x: auto;
}
::v-deep .el-table .cell {
white-space: nowrap;
}
// 修改表头样式
::v-deep .el-table th.el-table__cell {
.cell {
// 小屏时表头文字样式
@media screen and (max-width: 1400px) {
white-space: pre-wrap !important; // 强制换行
height: auto !important;
line-height: 1.2 !important;
padding: 4px !important;
}
}
}
// 调整表头换行后的样式
::v-deep .el-table__header-wrapper {
.el-table__cell {
.cell {
display: flex;
align-items: center;
justify-content: center;
min-height: 28px; // 设置最小高度
}
}
}
// 确保内容区域不换行并显示省略号
::v-deep .el-table__body-wrapper {
.el-table__cell {
.cell {
overflow: hidden;
text-overflow: ellipsis;
}
}
}
// 操作列样式覆盖
::v-deep .operation-column {
.cell {
white-space: nowrap !important; // 强制不换行
overflow: visible !important; // 允许内容溢出
text-overflow: clip !important; // 不显示省略号
padding: 0 4px !important; // 调整内边距
}
.operation-buttons {
display: flex;
justify-content: center;
align-items: center;
.el-button {
margin: 0 2px !important; // 调整按钮间距
padding: 0 4px !important; // 调整按钮内边距
}
}
}
// 确保内容区域不换行并显示省略号的样式不应用于操作列
::v-deep .el-table__body-wrapper {
.el-table__cell:not(.operation-column) {
.cell {
overflow: hidden;
text-overflow: ellipsis;
}
}
}
// 如果是单独设置表头换行
.el-table th>.cell {
white-space: pre-wrap;
}
// 或者全局换行
.el-table.cell {
white-space: pre-wrap;
}
</style> </style>
...@@ -187,12 +187,13 @@ ...@@ -187,12 +187,13 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="现具备专技资格" :min-width="screenWidth * 0.08" align="center" <!-- <el-table-column label="现具备专技资格" :min-width="screenWidth * 0.08" align="center"
prop="currentHiringProfessionalTitle" sortable="custom" show-overflow-tooltip /> --> prop="currentHiringProfessionalTitle" sortable="custom" show-overflow-tooltip /> -->
<el-table-column label="现职称" :min-width="screenWidth * 0.05" align="center" prop="currentHiringProfessionalTitle" <el-table-column label="现职称" :min-width="screenWidth * 0.05" align="center"
sortable="custom" show-overflow-tooltip> prop="currentHiringProfessionalTitle" sortable="custom" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span style="white-space: normal;">现具备专<br />技资格</span> --> <!-- <span style="white-space: normal;">现具备专<br />技资格</span> -->
<!-- <span style="white-space: normal;">现职称</span> --> <!-- <span style="white-space: normal;">现职称</span> -->
<dict-tag :options="dict.type.current_professional" :value="scope.row.currentHiringProfessionalTitle" /> <dict-tag :options="dict.type.current_professional"
:value="scope.row.currentHiringProfessionalTitle" />
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="毕业院校" align="center" prop="graduationInstitution3" sortable="custom" <!-- <el-table-column label="毕业院校" align="center" prop="graduationInstitution3" sortable="custom"
...@@ -374,7 +375,7 @@ ...@@ -374,7 +375,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现聘职称时间" prop="currentHiringProfessionalTitleTime"> <el-form-item label="现聘职称时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 100%;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -386,7 +387,7 @@ ...@@ -386,7 +387,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现职称取得时间" prop="currentProfessionalTitleTime"> <el-form-item label="现职称取得时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width:100%;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width:100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -414,7 +415,7 @@ ...@@ -414,7 +415,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime"> <el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }"> value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -723,7 +724,7 @@ ...@@ -723,7 +724,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现职称取得时间" prop="currentProfessionalTitleTime"> <el-form-item label="现职称取得时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -744,7 +745,7 @@ ...@@ -744,7 +745,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现聘职称时间" prop="currentHiringProfessionalTitleTime"> <el-form-item label="现聘职称时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="month"
value-format="yyyy-MM" placeholder="请选择" style="width: 190px;"> value-format="yyyy-MM-dd" placeholder="请选择" style="width: 190px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -771,7 +772,7 @@ ...@@ -771,7 +772,7 @@
<el-col :span="8" class="custom-margin"> <el-col :span="8" class="custom-margin">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime"> <el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="month"
value-format="yyyy-MM" placeholder="请选择" :style="{ width: '100%' }"> value-format="yyyy-MM-dd" placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
......
...@@ -56,7 +56,6 @@ ...@@ -56,7 +56,6 @@
<el-col :span="4" class="border_right border-bottom table_cell "> <el-col :span="4" class="border_right border-bottom table_cell ">
<el-form-item prop="age"> <el-form-item prop="age">
<span>{{ form.age }}</span> <span>{{ form.age }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
...@@ -118,13 +117,13 @@ ...@@ -118,13 +117,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="politicalLandscape"> <el-form-item prop="txDate">
<span>政治面貌</span> <span>退休日期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell"> <el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="politicalLandscape"> <el-form-item prop="txDate">
<span>{{ form.politicalLandscape }}</span> <span>{{ form.txDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
...@@ -133,6 +132,26 @@ ...@@ -133,6 +132,26 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="txAge">
<span>退休年龄</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="txAge">
<span>{{ form.txAge }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="politicalLandscape">
<span>政治面貌</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="politicalLandscape">
<span>{{ form.politicalLandscape }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="partyMembershipTime"> <el-form-item prop="partyMembershipTime">
<span>入党时间</span> <span>入党时间</span>
</el-form-item></el-col> </el-form-item></el-col>
...@@ -141,6 +160,12 @@ ...@@ -141,6 +160,12 @@
<span>{{ form.partyMembershipTime }}</span> <span>{{ form.partyMembershipTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="teachingSubject"> <el-form-item prop="teachingSubject">
<span>任教学科</span> <span>任教学科</span>
...@@ -161,11 +186,6 @@ ...@@ -161,11 +186,6 @@
<span>{{ form.currentProfessionalTitle }}</span> <span>{{ form.currentProfessionalTitle }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentProfessionalTitleTime"> <el-form-item prop="currentProfessionalTitleTime">
<span>现具备专技资格时间</span> <span>现具备专技资格时间</span>
...@@ -175,6 +195,13 @@ ...@@ -175,6 +195,13 @@
<span>{{ form.currentProfessionalTitleTime }}</span> <span>{{ form.currentProfessionalTitleTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6-->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentHiringProfessionalTitle"> <el-form-item prop="currentHiringProfessionalTitle">
<span>现聘专技资格</span> <span>现聘专技资格</span>
...@@ -195,11 +222,6 @@ ...@@ -195,11 +222,6 @@
<span>{{ form.currentHiringProfessionalTitleTime }}</span> <span>{{ form.currentHiringProfessionalTitleTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6-->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentPosition"> <el-form-item prop="currentPosition">
<span>现聘岗位</span> <span>现聘岗位</span>
...@@ -209,26 +231,7 @@ ...@@ -209,26 +231,7 @@
<span>{{ form.currentPosition }}</span> <span>{{ form.currentPosition }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevel">
<span>现岗位等级</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevel">
<span>{{ form.currentJobLevel }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>现岗位等级聘任时间</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>{{ form.currentJobLevelAppointmentTime }}</span>
</el-form-item>
</el-col>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -249,6 +252,26 @@ ...@@ -249,6 +252,26 @@
<el-row> <el-row>
<el-col> <el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevel">
<span>现岗位等级</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevel">
<span>{{ form.currentJobLevel }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>现岗位等级聘任时间</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>{{ form.currentJobLevelAppointmentTime }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="duties"> <el-form-item prop="duties">
<span>职务</span> <span>职务</span>
</el-form-item> </el-form-item>
...@@ -288,12 +311,6 @@ ...@@ -288,12 +311,6 @@
<span>{{ form.workingHours }}</span> <span>{{ form.workingHours }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f2 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="toSecondMiddleSchoolTime"> <el-form-item prop="toSecondMiddleSchoolTime">
<span>到二中工作时间</span> <span>到二中工作时间</span>
...@@ -314,6 +331,12 @@ ...@@ -314,6 +331,12 @@
<span>{{ form.toSecondAge }}</span> <span>{{ form.toSecondAge }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f2 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="lengthOfTeacherTime"> <el-form-item prop="lengthOfTeacherTime">
<span>教龄起算时间</span> <span>教龄起算时间</span>
...@@ -334,12 +357,6 @@ ...@@ -334,12 +357,6 @@
<span>{{ form.lengthOfServiceTime }}</span> <span>{{ form.lengthOfServiceTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f3 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="seniority"> <el-form-item prop="seniority">
<span>工龄年限</span> <span>工龄年限</span>
...@@ -360,6 +377,12 @@ ...@@ -360,6 +377,12 @@
<span>{{ form.onDutySituation }}</span> <span>{{ form.onDutySituation }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f3 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentSituation"> <el-form-item prop="currentSituation">
<span>在编情况</span> <span>在编情况</span>
...@@ -382,12 +405,6 @@ ...@@ -382,12 +405,6 @@
</el-form-item> </el-form-item>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f4 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="major1"> <el-form-item prop="major1">
<span>专业1</span> <span>专业1</span>
...@@ -408,6 +425,12 @@ ...@@ -408,6 +425,12 @@
<span>{{ form.graduationTime1 }}</span> <span>{{ form.graduationTime1 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f4 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="name"> <el-form-item prop="name">
<span>毕业院校2</span> <span>毕业院校2</span>
...@@ -428,12 +451,6 @@ ...@@ -428,12 +451,6 @@
<span>{{ form.major2 }}</span> <span>{{ form.major2 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="graduationTime2"> <el-form-item prop="graduationTime2">
<span>毕业时间2</span> <span>毕业时间2</span>
...@@ -454,6 +471,12 @@ ...@@ -454,6 +471,12 @@
<span>{{ form.graduationInstitution3 }}</span> <span>{{ form.graduationInstitution3 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="major3"> <el-form-item prop="major3">
<span>专业3</span> <span>专业3</span>
...@@ -474,12 +497,6 @@ ...@@ -474,12 +497,6 @@
<span>{{ form.graduationTime3 }}</span> <span>{{ form.graduationTime3 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="firstDegree"> <el-form-item prop="firstDegree">
<span>第一学历</span> <span>第一学历</span>
...@@ -500,18 +517,21 @@ ...@@ -500,18 +517,21 @@
<span>{{ form.lastDegree }}</span> <span>{{ form.lastDegree }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="degree"> <el-form-item prop="degree">
<span>学位</span> <span>学位</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" class="border_right border-bottom table_cell"> <el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="degree"> <el-form-item prop="degree">
<span>{{ form.degree }}</span> <span>{{ form.degree }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
......
...@@ -44,7 +44,6 @@ ...@@ -44,7 +44,6 @@
<el-col :span="4" class="border_right border-bottom table_cell "> <el-col :span="4" class="border_right border-bottom table_cell ">
<el-form-item prop="age"> <el-form-item prop="age">
<span>{{ form.age }}</span> <span>{{ form.age }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
...@@ -106,13 +105,13 @@ ...@@ -106,13 +105,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="politicalLandscape"> <el-form-item prop="txDate">
<span>政治面貌</span> <span>退休日期</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell"> <el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="politicalLandscape"> <el-form-item prop="txDate">
<span>{{ form.politicalLandscape }}</span> <span>{{ form.txDate }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
...@@ -121,6 +120,26 @@ ...@@ -121,6 +120,26 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="txAge">
<span>退休年龄</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="txAge">
<span>{{ form.txAge }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="politicalLandscape">
<span>政治面貌</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="politicalLandscape">
<span>{{ form.politicalLandscape }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="partyMembershipTime"> <el-form-item prop="partyMembershipTime">
<span>入党时间</span> <span>入党时间</span>
</el-form-item></el-col> </el-form-item></el-col>
...@@ -129,6 +148,12 @@ ...@@ -129,6 +148,12 @@
<span>{{ form.partyMembershipTime }}</span> <span>{{ form.partyMembershipTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="teachingSubject"> <el-form-item prop="teachingSubject">
<span>任教学科</span> <span>任教学科</span>
...@@ -141,7 +166,7 @@ ...@@ -141,7 +166,7 @@
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentProfessionalTitle"> <el-form-item prop="currentProfessionalTitle">
<span> 现具备专技资格</span> <span>现具备专技资格</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell"> <el-col :span="4" class="border_right border-bottom table_cell">
...@@ -149,11 +174,6 @@ ...@@ -149,11 +174,6 @@
<span>{{ form.currentProfessionalTitle }}</span> <span>{{ form.currentProfessionalTitle }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentProfessionalTitleTime"> <el-form-item prop="currentProfessionalTitleTime">
<span>现具备专技资格时间</span> <span>现具备专技资格时间</span>
...@@ -163,6 +183,13 @@ ...@@ -163,6 +183,13 @@
<span>{{ form.currentProfessionalTitleTime }}</span> <span>{{ form.currentProfessionalTitleTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6-->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentHiringProfessionalTitle"> <el-form-item prop="currentHiringProfessionalTitle">
<span>现聘专技资格</span> <span>现聘专技资格</span>
...@@ -183,11 +210,6 @@ ...@@ -183,11 +210,6 @@
<span>{{ form.currentHiringProfessionalTitleTime }}</span> <span>{{ form.currentHiringProfessionalTitleTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6-->
<el-row>
<el-col :span="24">
<el-col :span="4" class="border_right border-bottom table_cell background"> <el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentPosition"> <el-form-item prop="currentPosition">
<span>现聘岗位</span> <span>现聘岗位</span>
...@@ -197,26 +219,7 @@ ...@@ -197,26 +219,7 @@
<span>{{ form.currentPosition }}</span> <span>{{ form.currentPosition }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevel">
<span>现岗位等级</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevel">
<span>{{ form.currentJobLevel }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>现岗位等级聘任时间</span>
</el-form-item>
</el-col>
<el-col :span="4" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>{{ form.currentJobLevelAppointmentTime }}</span>
</el-form-item>
</el-col>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
...@@ -237,6 +240,26 @@ ...@@ -237,6 +240,26 @@
<el-row> <el-row>
<el-col> <el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevel">
<span>现岗位等级</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevel">
<span>{{ form.currentJobLevel }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>现岗位等级聘任时间</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="currentJobLevelAppointmentTime">
<span>{{ form.currentJobLevelAppointmentTime }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="duties"> <el-form-item prop="duties">
<span>职务</span> <span>职务</span>
</el-form-item> </el-form-item>
...@@ -276,12 +299,6 @@ ...@@ -276,12 +299,6 @@
<span>{{ form.workingHours }}</span> <span>{{ form.workingHours }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f2 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="toSecondMiddleSchoolTime"> <el-form-item prop="toSecondMiddleSchoolTime">
<span>到二中工作时间</span> <span>到二中工作时间</span>
...@@ -302,6 +319,12 @@ ...@@ -302,6 +319,12 @@
<span>{{ form.toSecondAge }}</span> <span>{{ form.toSecondAge }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f2 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="lengthOfTeacherTime"> <el-form-item prop="lengthOfTeacherTime">
<span>教龄起算时间</span> <span>教龄起算时间</span>
...@@ -322,12 +345,6 @@ ...@@ -322,12 +345,6 @@
<span>{{ form.lengthOfServiceTime }}</span> <span>{{ form.lengthOfServiceTime }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f3 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="seniority"> <el-form-item prop="seniority">
<span>工龄年限</span> <span>工龄年限</span>
...@@ -348,6 +365,12 @@ ...@@ -348,6 +365,12 @@
<span>{{ form.onDutySituation }}</span> <span>{{ form.onDutySituation }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f3 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="currentSituation"> <el-form-item prop="currentSituation">
<span>在编情况</span> <span>在编情况</span>
...@@ -370,12 +393,6 @@ ...@@ -370,12 +393,6 @@
</el-form-item> </el-form-item>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f4 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="major1"> <el-form-item prop="major1">
<span>专业1</span> <span>专业1</span>
...@@ -396,6 +413,12 @@ ...@@ -396,6 +413,12 @@
<span>{{ form.graduationTime1 }}</span> <span>{{ form.graduationTime1 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f4 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="name"> <el-form-item prop="name">
<span>毕业院校2</span> <span>毕业院校2</span>
...@@ -416,12 +439,6 @@ ...@@ -416,12 +439,6 @@
<span>{{ form.major2 }}</span> <span>{{ form.major2 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="graduationTime2"> <el-form-item prop="graduationTime2">
<span>毕业时间2</span> <span>毕业时间2</span>
...@@ -442,6 +459,12 @@ ...@@ -442,6 +459,12 @@
<span>{{ form.graduationInstitution3 }}</span> <span>{{ form.graduationInstitution3 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f5 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="major3"> <el-form-item prop="major3">
<span>专业3</span> <span>专业3</span>
...@@ -462,12 +485,6 @@ ...@@ -462,12 +485,6 @@
<span>{{ form.graduationTime3 }}</span> <span>{{ form.graduationTime3 }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="firstDegree"> <el-form-item prop="firstDegree">
<span>第一学历</span> <span>第一学历</span>
...@@ -488,18 +505,21 @@ ...@@ -488,18 +505,21 @@
<span>{{ form.lastDegree }}</span> <span>{{ form.lastDegree }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col>
</el-row>
<!-- f6 -->
<el-row>
<el-col>
<el-col :span="3" class="border_right border-bottom table_cell background"> <el-col :span="3" class="border_right border-bottom table_cell background">
<el-form-item prop="degree"> <el-form-item prop="degree">
<span>学位</span> <span>学位</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" class="border_right border-bottom table_cell"> <el-col :span="3" class="border_right border-bottom table_cell">
<el-form-item prop="degree"> <el-form-item prop="degree">
<span>{{ form.degree }}</span> <span>{{ form.degree }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<!-- <div>{{ item.unit }}</div> --> <!-- <div>{{ item.unit }}</div> -->
</div> </div>
<div class="qrCodeRight"> <div class="qrCodeRight">
<div>非涉密{{ item.equipmentName }}{{ item.model }}</div> <div>{{ item.equipmentName }}</div>
<!--新加字段 2024-7-11 --> <!--新加字段 2024-7-11 -->
<div v-if="item.bh !== undefined && item.bh !== ''">编号:{{ item.bh }}</div> <div v-if="item.bh !== undefined && item.bh !== ''">编号:{{ item.bh }}</div>
<div v-if="item.bmmc !== undefined && item.bmmc !== ''">部门:{{ item.bmmc }}</div> <div v-if="item.bmmc !== undefined && item.bmmc !== ''">部门:{{ item.bmmc }}</div>
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<!-- <div>{{ item.unit }}</div> --> <!-- <div>{{ item.unit }}</div> -->
</div> </div>
<div class="printRight"> <div class="printRight">
<div>非涉密{{ item.equipmentName }}{{ item.model }}</div> <div>{{ item.equipmentName }}</div>
<!--新加字段 2024-7-11 --> <!--新加字段 2024-7-11 -->
<div v-if="item.bh !== undefined && item.bh !== ''">编号:{{ item.bh }}</div> <div v-if="item.bh !== undefined && item.bh !== ''">编号:{{ item.bh }}</div>
<div v-if="item.bmmc !== undefined && item.bmmc !== ''">部门:{{ item.bmmc }}</div> <div v-if="item.bmmc !== undefined && item.bmmc !== ''">部门:{{ item.bmmc }}</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment