Commit 2487251e by zhaopanyu

教师电子档案

parent 90e73dfa
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject"> <el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-select v-model="queryParams.sex" placeholder="请选择" clearable style="width: 100%;"> <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" <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="出生年月" prop="birthDate"> <el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ 'width': '100%' }"> placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape"> <el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="queryParams.politicalLandscape" placeholder="请选择政治面貌" style="width: 100%;"> <el-select v-model="queryParams.politicalLandscape" placeholder="请选择政治面貌" style="width: 100%">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -57,8 +57,7 @@ ...@@ -57,8 +57,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="现职称" prop="currentProfessionalTitle"> <el-form-item label="现职称" prop="currentProfessionalTitle">
<el-select v-model="queryParams.currentProfessionalTitle" placeholder="请选择" <el-select v-model="queryParams.currentProfessionalTitle" placeholder="请选择" style="width: 100%">
style="width: 100%;">
<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"
:label="dict.label" :value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
...@@ -67,7 +66,7 @@ ...@@ -67,7 +66,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="在岗情况" prop="onDutySituation"> <el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="queryParams.onDutySituation" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.onDutySituation" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -90,7 +89,7 @@ ...@@ -90,7 +89,7 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" style=" display: flex;justify-content: center;align-items: center;"> <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 type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</div> </div>
...@@ -152,7 +151,7 @@ ...@@ -152,7 +151,7 @@
<el-table-column label="政治面貌" align="center" prop="politicalLandscape" sortable width="100px" /> <el-table-column label="政治面貌" align="center" prop="politicalLandscape" sortable width="100px" />
<el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable width="100px"> <el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable width="100px">
<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="到市二中工作时间" align="center" prop="toSecondMiddleSchoolTime" sortable width="148px" /> <el-table-column label="到市二中工作时间" align="center" prop="toSecondMiddleSchoolTime" sortable width="148px" />
...@@ -181,7 +180,9 @@ ...@@ -181,7 +180,9 @@
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件。</span> <span>仅允许导入xlsxlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
...@@ -197,55 +198,54 @@ ...@@ -197,55 +198,54 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 添加对话框 --> <!-- 添加对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px"> <el-dialog title="详细信息" :visible.sync="open" width="950px">
<el-form ref="form" :model="form" :rules="rules" label-width="138px"> <el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row :gutter="10"> <el-row type="flex" justify="space-between">
<el-col :span="16"> <el-col :span="16">
<el-col :span="12"> <el-col :span="12" class="custom-margin">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input> <el-input v-model="form.name" placeholder="请输入姓名"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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" placeholder="请输入" <el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input> clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" class="custom-margin">
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" :style="{ 'width': '100%' }"> <el-select v-model="form.sex" placeholder="请选择性别" :style="{ width: '100%' }">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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" type="date" placeholder="选择日期" <el-date-picker v-model="form.fileBirthDate" type="date" placeholder="选择日期"
:default-value="form.fileBirthDate" style="width: 100%;" :default-value="form.fileBirthDate" style="width: 100%"
value-format="yyyy-MM-dd"></el-date-picker> value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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"
placeholder="请选择" :style="{ 'width': '100%' }"> placeholder="请选择" :style="{ width: '100%' }">
</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">
<el-form-item label="籍贯" prop="hometown"> <el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入籍贯"></el-input> <el-input v-model="form.hometown" placeholder="请输入籍贯"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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="请输入民族"></el-input> <el-input v-model="form.nation" placeholder="请输入民族"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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: 100%" placeholder="请选择"> <el-select v-model="form.politicalLandscape" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value" <el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
...@@ -254,14 +254,14 @@ ...@@ -254,14 +254,14 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" class="custom-margin">
<el-form-item label="入党时间" prop="partyMembershipTime"> <el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date" <el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" 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-col :span="12"> <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: 100%" placeholder="请选择"> <el-select v-model="form.teachingSubject" style="width: 100%" placeholder="请选择">
<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"
...@@ -270,39 +270,43 @@ ...@@ -270,39 +270,43 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="现职称" prop="currentProfessionalTitle">
<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="12">
<el-form-item label="现职称取得资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="6" class="custom-margin">
<el-card style=" height: 325px; "> <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/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="width: 300px; height: 280px; " class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row :gutter="6" type="flex" justify="space-between">
<el-col :span="8"> <el-col :span="8" class="custom-margin">
<el-form-item label="现职称" prop="currentProfessionalTitle">
<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="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="currentHiringProfessionalTitle"> <el-form-item label="现聘职称" prop="currentHiringProfessionalTitle">
<el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%" placeholder="请选择"> <el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%" 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"
...@@ -311,14 +315,16 @@ ...@@ -311,14 +315,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </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-form-item label="现职称聘任时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" 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-col :span="8"> <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="请选择"> <el-select v-model="form.currentPosition" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_position" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.current_position" :key="dict.value" :label="dict.label"
...@@ -327,9 +333,7 @@ ...@@ -327,9 +333,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="现岗位等级" prop="currentJobLevel"> <el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择"> <el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择">
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label" <el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
...@@ -338,61 +342,59 @@ ...@@ -338,61 +342,59 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </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-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date"
value-format="yyyy-MM-dd" 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-col :span="8"> <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" placeholder="请输入" /> <el-input v-model="form.duties" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="教师资格种类" prop="teacherQualificationType"> <el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" placeholder="请输入" /> <el-input v-model="form.teacherQualificationType" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </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-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入" /> <el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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"
placeholder="请选择" :style="{ 'width': '100%' }"> placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime"> <el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date" <el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" 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-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime"> <el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-input v-model="form.lengthOfTeacherTime" placeholder="请输入" /> <el-input v-model="form.lengthOfTeacherTime" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8" class="custom-margin">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime"> <el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-input v-model="form.lengthOfServiceTime" placeholder="请输入" /> <el-input v-model="form.lengthOfServiceTime" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="在岗情况" prop="onDutySituation"> <el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" style="width: 100%" placeholder="请选择"> <el-select v-model="form.onDutySituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label"
...@@ -401,7 +403,9 @@ ...@@ -401,7 +403,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<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" style="width: 100%" placeholder="请选择"> <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" <el-option v-for="dict in dict.type.current_situation" :key="dict.value" :label="dict.label"
...@@ -410,105 +414,97 @@ ...@@ -410,105 +414,97 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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" placeholder="请输入" /> <el-input v-model="form.graduationInstitution1" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="专业1" prop="major1"> <el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" /> <el-input v-model="form.major1" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间1" prop="graduationTime1"> <el-form-item label="毕业时间1" prop="graduationTime1">
<el-input v-model="form.graduationTime1" placeholder="请输入" /> <el-input v-model="form.graduationTime1" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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="请输入" /> <el-input v-model="form.graduationInstitution2" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="专业2" prop="major2"> <el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" /> <el-input v-model="form.major2" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间2" prop="graduationTime2"> <el-form-item label="毕业时间2" prop="graduationTime2">
<el-input v-model="form.graduationTime2" placeholder="请输入" /> <el-input v-model="form.graduationTime2" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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="请输入" /> <el-input v-model="form.graduationInstitution3" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="专业3" prop="major3"> <el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" /> <el-input v-model="form.major3" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="8" class="custom-margin">
<el-form-item label="毕业时间3" prop="graduationTime3"> <el-form-item label="毕业时间3" prop="graduationTime3">
<el-input v-model="form.graduationTime3" placeholder="请输入" /> <el-input v-model="form.graduationTime3" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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="请输入" /> <el-input v-model="form.firstDegree" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8" class="custom-margin">
<el-row>
<el-col :span="8">
<el-form-item label="最后学历" prop="lastDegree"> <el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" /> <el-input v-model="form.lastDegree" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> </el-row>
<el-row :gutter="2" type="flex" justify="space-between">
<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="请输入" /> <el-input v-model="form.degree" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <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="请输入" /> <el-input v-model="form.workExperience" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </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-row>
<el-row> <el-row :gutter="2" type="flex" justify="space-between">
<el-col :span="16" class="custom-margin">
<el-col :span="8">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" /> <el-input v-model="form.remark" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer custom-evenly">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 查看对话框 --> <!-- 查看对话框 -->
<el-dialog title="详细信息" :visible.sync="look" width="60%" append-to-body> <el-dialog title="详细信息" :visible.sync="look" width="60%" append-to-body>
...@@ -535,7 +531,7 @@ ...@@ -535,7 +531,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" :style="{ 'width': '100%' }"> <el-select v-model="form.sex" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value"></el-option>
</el-select> </el-select>
...@@ -545,7 +541,7 @@ ...@@ -545,7 +541,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="档案出生日期" prop="fileBirthDate"> <el-form-item label="档案出生日期" prop="fileBirthDate">
<el-date-picker v-model="form.fileBirthDate" type="date" placeholder="请选择" <el-date-picker v-model="form.fileBirthDate" type="date" placeholder="请选择"
:default-value="form.fileBirthDate" style="width: 100%;" :default-value="form.fileBirthDate" style="width: 100%"
value-format="yyyy-MM-dd"></el-date-picker> value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -558,7 +554,7 @@ ...@@ -558,7 +554,7 @@
<el-col :span="12"> <el-col :span="12">
<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"
placeholder="请选择" :style="{ 'width': '100%' }"> placeholder="请选择" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -586,7 +582,7 @@ ...@@ -586,7 +582,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="入党时间" prop="partyMembershipTime"> <el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date" <el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" 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>
...@@ -599,18 +595,16 @@ ...@@ -599,18 +595,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-card style=" height: 325px; "> <el-card style="height: 325px">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" style="width: 350px; height: 280px"
style="width: 350px; height: 280px;" class="avatar" alt="" /> class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
...@@ -627,7 +621,7 @@ ...@@ -627,7 +621,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="现职称取得资格时间" prop="currentProfessionalTitleTime"> <el-form-item label="现职称取得资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="date" <el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" 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>
...@@ -642,11 +636,10 @@ ...@@ -642,11 +636,10 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="现职称聘任时间" prop="currentHiringProfessionalTitleTime"> <el-form-item label="现职称聘任时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date" <el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" 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>
...@@ -670,13 +663,10 @@ ...@@ -670,13 +663,10 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime"> <el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date" <el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date"
value-format="yyyy-MM-dd" 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>
...@@ -692,7 +682,6 @@ ...@@ -692,7 +682,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum"> <el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入教师资格证号码" /> <el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入教师资格证号码" />
...@@ -701,7 +690,7 @@ ...@@ -701,7 +690,7 @@
<el-col :span="8"> <el-col :span="8">
<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"
placeholder="请选择参加工作时间" :style="{ 'width': '100%' }"> placeholder="请选择参加工作时间" :style="{ width: '100%' }">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -712,13 +701,10 @@ ...@@ -712,13 +701,10 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime"> <el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date" <el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" 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>
...@@ -734,7 +720,6 @@ ...@@ -734,7 +720,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime"> <el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-input v-model="form.lengthOfServiceTime" placeholder="请输入工龄起算时间" /> <el-input v-model="form.lengthOfServiceTime" placeholder="请输入工龄起算时间" />
...@@ -760,10 +745,6 @@ ...@@ -760,10 +745,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="毕业院校1" prop="graduationInstitution1"> <el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" placeholder="请输入毕业院校1" /> <el-input v-model="form.graduationInstitution1" placeholder="请输入毕业院校1" />
...@@ -798,8 +779,6 @@ ...@@ -798,8 +779,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="毕业院校3" prop="graduationInstitution3"> <el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入毕业院校3" /> <el-input v-model="form.graduationInstitution3" placeholder="请输入毕业院校3" />
...@@ -817,7 +796,6 @@ ...@@ -817,7 +796,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="第一学历" prop="firstDegree"> <el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入第一学历" /> <el-input v-model="form.firstDegree" placeholder="请输入第一学历" />
...@@ -835,8 +813,6 @@ ...@@ -835,8 +813,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="工作经历" prop="workExperience"> <el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入工作经历" /> <el-input v-model="form.workExperience" placeholder="请输入工作经历" />
...@@ -853,7 +829,6 @@ ...@@ -853,7 +829,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
...@@ -866,22 +841,37 @@ ...@@ -866,22 +841,37 @@
</template> </template>
<script> <script>
import { listInformation, getInformation, delInformation, addInformation, updateInformation } from "@/api/smartSchool/electronicArchives/basicInformation"; import {
import { uploadImage as commonUpload } from '@/api/common' listInformation,
import { checkIdcard } from '@/utils/utilLibrary/validate' getInformation,
import { getToken } from '@/utils/auth' delInformation,
import { CustomCellStyle } from '@/enums/customStyle'; addInformation,
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 { ExportType } from "@/enums/common";
import axios from "axios"; import axios from "axios";
export default { export default {
name: "Information", name: "Information",
dicts: ['sys_user_sex', 'politics_tatusls', 'teaching_subjects', 'current_professional', 'current_position', 'current_joblevel', 'duty_situation', 'current_situation'], dicts: [
"sys_user_sex",
"politics_tatusls",
"teaching_subjects",
"current_professional",
"current_position",
"current_joblevel",
"duty_situation",
"current_situation",
],
data() { data() {
return { return {
// 导出选项 // 导出选项
exportOptions: { exportOptions: {
title: '选择导出类别', title: "选择导出类别",
open: false open: false,
}, },
uploadOpen: false, uploadOpen: false,
upload: { upload: {
...@@ -899,9 +889,7 @@ export default { ...@@ -899,9 +889,7 @@ export default {
url: url:
process.env.VUE_APP_BASE_API + "/teacher/basiclnformation/importData", process.env.VUE_APP_BASE_API + "/teacher/basiclnformation/importData",
}, },
uploadForm: { uploadForm: {},
},
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
uploadFileLoading: false, uploadFileLoading: false,
// 遮罩层 // 遮罩层
...@@ -917,9 +905,7 @@ export default { ...@@ -917,9 +905,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 教师基础信息表格数据 // 教师基础信息表格数据
informationList: [ informationList: [],
],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 图片上传遮罩层 // 图片上传遮罩层
...@@ -944,41 +930,46 @@ export default { ...@@ -944,41 +930,46 @@ export default {
firstDegree: "", firstDegree: "",
}, },
// 表单参数 // 表单参数
form: { form: {},
},
// 表单校验 // 表单校验
rules: { rules: {
name: [ name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
{ required: true, message: "姓名不能为空", trigger: "blur" } idCard: [{ required: true, validator: checkIdcard, trigger: "blur" }],
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
teachingSubject: [ teachingSubject: [
{ required: true, message: "任教学科不能为空", trigger: "change" } { required: true, message: "任教学科不能为空", trigger: "change" },
], ],
toSecondMiddleSchoolTime: [ toSecondMiddleSchoolTime: [
{ required: true, message: "到二中工作时间不能为空", trigger: "blur" } {
required: true,
message: "到二中工作时间不能为空",
trigger: "blur",
},
], ],
ddPhone: [ ddPhone: [
{ required: true, message: "钉钉手机号不能为空", trigger: "blur" } { required: true, message: "钉钉手机号不能为空", trigger: "blur" },
], ],
},
}
}; };
}, },
computed: { computed: {
//现岗位等级下拉框联动 //现岗位等级下拉框联动
filteredJobLevels() { filteredJobLevels() {
const position = this.form.currentPosition; const position = this.form.currentPosition;
if (position === '1') { if (position === "1") {
// 专业技术岗 // 专业技术岗
return this.dict.type.current_joblevel.filter((level, index) => index < 12); return this.dict.type.current_joblevel.filter(
} else if (position === '2') { (level, index) => index < 12
);
} else if (position === "2") {
// 管理岗 // 管理岗
return this.dict.type.current_joblevel.filter((level, index) => index === 0 || (index >= 12 && index < 17)); return this.dict.type.current_joblevel.filter(
} else if (position === '3') { (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)); return this.dict.type.current_joblevel.filter(
(level, index) => index === 0 || (index >= 17 && index <= 20)
);
} }
// 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项 // 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项
return this.dict.type.current_joblevel; return this.dict.type.current_joblevel;
...@@ -988,7 +979,6 @@ export default { ...@@ -988,7 +979,6 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
//身份证校验 //身份证校验
handleIdCardBlur() { handleIdCardBlur() {
const idCard = this.form.idCard; const idCard = this.form.idCard;
...@@ -1015,49 +1005,53 @@ export default { ...@@ -1015,49 +1005,53 @@ export default {
getGenderFromIdCard(idCard) { getGenderFromIdCard(idCard) {
if (idCard && idCard.length === 18) { if (idCard && idCard.length === 18) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字 const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? '女' : '男'; // 奇数表示男性,偶数表示女性 return lastDigit % 2 === 0 ? "女" : "男"; // 奇数表示男性,偶数表示女性
} }
return ''; // 身份证号码无效或为空时返回空字符串 return ""; // 身份证号码无效或为空时返回空字符串
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url this.photoUrl = res.data.url;
this.commonUpload(file) this.commonUpload(file);
}, },
// 上传前格式和图片大小限制 // 上传前格式和图片大小限制
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png' const type =
const isLt2M = file.size / 1024 / 1024 < 2 file.type === "image/jpeg" ||
"image/jpg" ||
"image/webp" ||
"image/png";
const isLt2M = file.size / 1024 / 1024 < 2;
if (!type) { if (!type) {
this.$message.error('图片格式不正确!(只能包含jpg,png,webp,JPEG)') this.$message.error("图片格式不正确!(只能包含jpg,png,webp,JPEG)");
} }
if (!isLt2M) { if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!') this.$message.error("上传图片大小不能超过 2MB!");
} }
return type && isLt2M return type && isLt2M;
}, },
// 上传图片 // 上传图片
uploadImage(file) { uploadImage(file) {
const fileData = file.file const fileData = file.file;
const formData = new FormData() const formData = new FormData();
formData.append('file', fileData) formData.append("file", fileData);
this.uploadLoading = true this.uploadLoading = true;
commonUpload(formData) commonUpload(formData)
.then(response => { .then((response) => {
this.uploadLoading = false this.uploadLoading = false;
this.$modal.msgSuccess('上传成功') this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url this.photoUrl = this.pev + response.url;
this.form.photoUrl = response.url this.form.photoUrl = response.url;
})
.catch(error => {
this.uploadLoading = false
}) })
.catch((error) => {
this.uploadLoading = false;
});
}, },
/** 查询教师基础信息列表 */ /** 查询教师基础信息列表 */
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;
this.loading = false; this.loading = false;
...@@ -1065,46 +1059,48 @@ export default { ...@@ -1065,46 +1059,48 @@ export default {
}, },
// 文件压缩包上传前格式限制 // 文件压缩包上传前格式限制
beforeFileUpload(file) { beforeFileUpload(file) {
console.log(file, 1148) console.log(file, 1148);
const type = file.type === 'application/x-zip-compressed' const type = file.type === "application/x-zip-compressed";
// const isLt2M = file.size / 1024 / 1024 < 2 // const isLt2M = file.size / 1024 / 1024 < 2
if (!type) { if (!type) {
this.$message.error('文件格式不正确!(只能上传zip文件)') this.$message.error("文件格式不正确!(只能上传zip文件)");
} }
// if (!isLt2M) { // if (!isLt2M) {
// this.$message.error('上传图片大小不能超过 2MB!') // this.$message.error('上传图片大小不能超过 2MB!')
// } // }
return type return type;
}, },
// 上传照片压缩包文件 // 上传照片压缩包文件
uploadFiles(file) { uploadFiles(file) {
const fileData = file.file const fileData = file.file;
const formData = new FormData() const formData = new FormData();
formData.append('file', fileData) formData.append("file", fileData);
this.uploadFileLoading = true this.uploadFileLoading = true;
filesUpload(formData).then(response => { filesUpload(formData)
this.uploadFileLoading = false .then((response) => {
this.$modal.msg(response.msg) this.uploadFileLoading = false;
this.getList() this.$modal.msg(response.msg);
}).catch(error => { this.getList();
this.uploadFileLoading = false })
}) .catch((error) => {
this.uploadFileLoading = false;
});
}, },
handleView(row) { handleView(row) {
console.log(row); console.log(row);
this.look = true; this.look = true;
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids;
getInformation(id).then(response => { getInformation(id).then((response) => {
this.form = response.data; this.form = response.data;
console.log(this.form, 'this.form '); console.log(this.form, "this.form ");
this.title = "查看教师基础信息"; this.title = "查看教师基础信息";
}); });
}, },
handleImport() { handleImport() {
this.reset(); this.reset();
this.title = "导入" this.title = "导入";
this.uploadOpen = true this.uploadOpen = true;
}, },
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true; this.upload.isUploading = true;
...@@ -1112,20 +1108,26 @@ export default { ...@@ -1112,20 +1108,26 @@ export default {
}, },
// 提交上传文件 // 提交上传文件
submitFileForm() { submitFileForm() {
this.$refs.upload.submit() this.$refs.upload.submit();
}, },
cancelFile() { cancelFile() {
this.uploadOpen = false this.uploadOpen = false;
this.upload.isUploading = false this.upload.isUploading = false;
this.$refs.upload.clearFiles() this.$refs.upload.clearFiles();
}, },
// 文件上传成功处理 // 文件上传成功处理
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
this.uploadOpen = false this.uploadOpen = false;
this.upload.isUploading = false this.upload.isUploading = false;
this.$refs.upload.clearFiles() 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.$alert(
this.getList() "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getList();
}, },
//下载模版 //下载模版
importTemplate() { importTemplate() {
...@@ -1189,7 +1191,7 @@ export default { ...@@ -1189,7 +1191,7 @@ export default {
photoName: null, photoName: null,
photoUrl: null, photoUrl: null,
ddPhone: null, ddPhone: null,
delFlag: null delFlag: null,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -1197,8 +1199,6 @@ export default { ...@@ -1197,8 +1199,6 @@ export default {
handleQuerycx() { handleQuerycx() {
this.query = true; this.query = true;
this.resetcx(); this.resetcx();
}, },
handleQuery() { handleQuery() {
this.query = true; this.query = true;
...@@ -1218,7 +1218,7 @@ export default { ...@@ -1218,7 +1218,7 @@ export default {
onDutySituation: "", onDutySituation: "",
graduationInstitution1: "", graduationInstitution1: "",
firstDegree: "", firstDegree: "",
} };
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
...@@ -1235,14 +1235,14 @@ export default { ...@@ -1235,14 +1235,14 @@ export default {
onDutySituation: "", onDutySituation: "",
graduationInstitution1: "", graduationInstitution1: "",
firstDegree: "", firstDegree: "",
} };
this.handleQuery(); this.handleQuery();
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1 this.single = selection.length !== 1;
this.multiple = !selection.length this.multiple = !selection.length;
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
...@@ -1255,25 +1255,25 @@ export default { ...@@ -1255,25 +1255,25 @@ export default {
console.log(row); console.log(row);
this.look = true; this.look = true;
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids;
getInformation(id).then(response => { getInformation(id).then((response) => {
this.form = response.data; this.form = response.data;
console.log(this.form, 'this.form '); console.log(this.form, "this.form ");
this.title = "修改教师基础信息"; this.title = "修改教师基础信息";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateInformation(this.form).then(response => { updateInformation(this.form).then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addInformation(this.form).then(response => { addInformation(this.form).then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -1285,12 +1285,16 @@ export default { ...@@ -1285,12 +1285,16 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除教师基础信息编号为"' + ids + '"的数据项?').then(function () { this.$modal
return delInformation(ids); .confirm('是否确认删除教师基础信息编号为"' + ids + '"的数据项?')
}).then(() => { .then(function () {
this.getList(); return delInformation(ids);
this.$modal.msgSuccess("删除成功"); })
}).catch(() => { }); .then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
...@@ -1303,14 +1307,25 @@ export default { ...@@ -1303,14 +1307,25 @@ export default {
exportFile(callback) { exportFile(callback) {
const ids = this.ids; const ids = this.ids;
const options = [ const options = [
{ type: ExportType.TOTAL, path: '/teacher/basiclnformation/export', params: {} }, {
{ type: ExportType.SELECT, path: '/teacher/basiclnformation/export/' + ids, params: {} }, type: ExportType.TOTAL,
{ type: ExportType.QUERY, path: '/teacher/basiclnformation/export', params: this.queryForm }, path: "/teacher/basiclnformation/export",
] params: {},
},
{
type: ExportType.SELECT,
path: "/teacher/basiclnformation/export/" + ids,
params: {},
},
{
type: ExportType.QUERY,
path: "/teacher/basiclnformation/export",
params: this.queryForm,
},
];
callback(options, `教师基础信息${Date.now()}.xlsx`); callback(options, `教师基础信息${Date.now()}.xlsx`);
}, },
},
}
}; };
</script> </script>
<style scoped> <style scoped>
...@@ -1351,4 +1366,12 @@ export default { ...@@ -1351,4 +1366,12 @@ export default {
margin-top: -2px; margin-top: -2px;
margin-bottom: -5px; margin-bottom: -5px;
} */ } */
.custom-margin {
margin: -8px 0px;
}
.custom-evenly {
margin-top: -40px !important;
text-align: right !important;
}
</style> </style>
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