| | |
| | | :title="title" |
| | | width="100%" |
| | | height="100vh" |
| | | center |
| | | fullscreen="true" |
| | | :close-on-click-modal="false" |
| | | :visible.sync="isVisible" |
| | |
| | | <div class="menu dadetails"> |
| | | <div style="height: 22vh;"> |
| | | |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | action="#" |
| | | :show-file-list="false" |
| | | :on-change="handlePictureCardPreview" |
| | | :auto-upload="false" |
| | | > |
| | | <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过4MB</div> |
| | | <img v-if="empBaseInfoImageUrl" :src="empBaseInfoImageUrl" class="avatar"> |
| | | <i v-else class="el-icon-plus avatar-uploader-icon" /> |
| | | </el-upload> |
| | | <!-- 头像显示区域 --> |
| | | <div class="avatar-wrapper"> |
| | | <img |
| | | v-if="empBaseInfoImageUrl" |
| | | :src="empBaseInfoImageUrl" |
| | | class="avatar" |
| | | @click="openUploadChoice" |
| | | > |
| | | <div v-else class="avatar-uploader-placeholder" @click="openUploadChoice"> |
| | | <i class="el-icon-plus avatar-uploader-icon" /> |
| | | <div class="upload-tip">点击上传照片</div> |
| | | </div> |
| | | </div> |
| | | <!-- <img src="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1333074204,3035391839&fm=26&gp=0.jpg" class="jbxxImg">--> |
| | | <div class="title-da"> |
| | | 编号:{{ empBaseInfoForm.empNumb }} |
| | | 档案号:{{ empBaseInfoForm.archivesNumb }} |
| | | </div> |
| | | </div> |
| | | <ul class="jbxx-ul" style="height: 68vh;overflow: auto"> |
| | |
| | | <div class="item-node" /> |
| | | <div> |
| | | <a href="javascript:void(0)" :class="item=='lzaj'?'light':''" @click="goAnchor('lzaj')"> |
| | | 劳资案件 |
| | | 仲裁案件 |
| | | </a> |
| | | </div> |
| | | </li> |
| | |
| | | <div class="jbxxTitle"> |
| | | 基本信息 |
| | | <el-button |
| | | style="position:absolute;right: 40px" |
| | | style="position:absolute;right: 20px" |
| | | class="filter-item" |
| | | type="primary" |
| | | @click="ExportSavePdf" |
| | | > |
| | | 导出 |
| | | 导出档案 |
| | | </el-button> |
| | | </div> |
| | | |
| | |
| | | <el-form ref="empBaseInfoForm" :model="empBaseInfoForm" class="formjbxx" label-width="150px"> |
| | | <el-row style="width: 100%;"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="档案号" prop="archivesNumb"> |
| | | <el-input v-model="empBaseInfoForm.archivesNumb" style="width: 100%;" :disabled="readon ? false : true" /> |
| | | <el-form-item label="编号" prop="empNumb"> |
| | | <el-input |
| | | v-model="empBaseInfoForm.empNumb" |
| | | style="width: 100%;" |
| | | :disabled="readon ? false : true" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | |
| | | <el-input v-model="empBaseInfoForm.empName" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="8"> |
| | | <el-form-item label="身份证号码" prop="certificateNumb"> |
| | | <el-input |
| | | v-model="empBaseInfoForm.certificateNumb" |
| | | :disabled="readon ? false : true" |
| | | @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select v-model="empBaseInfoForm.sex" placeholder="请选择性别" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.sex" |
| | | placeholder="请选择性别" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in sexOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="部门(护卫点)" prop="deptId"> |
| | | <treeselect |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="员工类别" prop="empType"> |
| | | <el-select v-model="empBaseInfoForm.empType" placeholder="请选择员工类型" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.empType" |
| | | placeholder="请选择员工类型" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in empTypeOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="民族" prop="nation"> |
| | | <el-select v-model="empBaseInfoForm.nation" placeholder="请选择民族" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.nation" |
| | | filterable |
| | | placeholder="请选择民族" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in nationOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | <el-input v-model="empBaseInfoForm.age" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="婚姻状态" prop="marriage"> |
| | | <el-select v-model="empBaseInfoForm.marriage" placeholder="请选择婚姻状态" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.marriage" |
| | | placeholder="请选择婚姻状态" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in marriageOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="身份证有效期" prop="certificateValidity"> |
| | | <el-date-picker |
| | |
| | | <el-input v-model="empBaseInfoForm.stature" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="政治面貌" prop="politics"> |
| | | <el-select v-model="empBaseInfoForm.politics" placeholder="请选择政治面貌" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.politics" |
| | | placeholder="请选择政治面貌" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in statusOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="出生日期" prop="birthdate"> |
| | | <el-date-picker |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="最高学历" prop="education"> |
| | | <el-select v-model="empBaseInfoForm.education" placeholder="请选择最高学历" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.education" |
| | | placeholder="请选择最高学历" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in educationOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="籍贯" prop="nativePlaceName"> |
| | | <el-select v-model="empBaseInfoForm.nativePlace" placeholder="请选择最高学历" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.nativePlace" |
| | | placeholder="请选择籍贯" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in nativePlaceOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="户籍地址" prop="censusAddress"> |
| | | <el-input v-model="empBaseInfoForm.censusAddress" :disabled="readon ? false : true" /> |
| | |
| | | <el-input v-model="empBaseInfoForm.currentAddress" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="保安员回执" prop="returnReceipt"> |
| | | <el-input v-model="empBaseInfoForm.returnReceipt" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="保安员证号" prop="guardNumb"> |
| | | <el-input v-model="empBaseInfoForm.guardNumb" :disabled="readon ? false : true" /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="档案情况" prop="archivesStatus"> |
| | | <el-select v-model="empBaseInfoForm.archivesStatus" placeholder="请选择档案情况" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.archivesStatus" |
| | | placeholder="请选择档案情况" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in archivesStatusOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="银行名称" prop="bankName"> |
| | | <el-input v-model="empBaseInfoForm.bankName" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="银行账号" prop="bankNumb"> |
| | | <el-input v-model="empBaseInfoForm.bankNumb" :disabled="readon ? false : true" /> |
| | |
| | | <el-input v-model="empBaseInfoForm.telePhone" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="入职日期" prop="entryDate"> |
| | | <el-date-picker |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="保险类型" prop="insuranceType"> |
| | | <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型" :disabled="readon ? false : true"> |
| | | <el-form-item label="社保档位" prop="insuranceType"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.insuranceType" |
| | | placeholder="请选择社保档位" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in insuranceTypeOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | <el-input v-model="empBaseInfoForm.socialNumb" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="招聘介绍人" prop="introducer"> |
| | | <el-input v-model="empBaseInfoForm.introducer" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="入司工龄" prop="seniority"> |
| | | <el-input v-model="empBaseInfoForm.seniority" :disabled="readon ? false : true" /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="工作证" prop="empCardStatus"> |
| | | <el-select v-model="empBaseInfoForm.empCardStatus" placeholder="请选择工作证" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.empCardStatus" |
| | | placeholder="请选择工作证" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in empCardStatusOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="家庭成员及关系" prop="family"> |
| | | <el-input v-model="empBaseInfoForm.family" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="紧急联系电话" prop="urgencyPhone"> |
| | | <el-form-item label="家庭成员及关系1" prop="family"> |
| | | <el-input v-model="empBaseInfoForm.family" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="家庭成员及关系2" prop="urgencyPhone"> |
| | | <el-input v-model="empBaseInfoForm.urgencyPhone" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="员工手册" prop="handbookStatus"> |
| | | <el-select v-model="empBaseInfoForm.handbookStatus" placeholder="请选择员工手册" :disabled="readon ? false : true"> |
| | | <el-select |
| | | v-model="empBaseInfoForm.handbookStatus" |
| | | placeholder="请选择员工手册" |
| | | :disabled="readon ? false : true" |
| | | > |
| | | <el-option |
| | | v-for="dict in handbookStatusOptions" |
| | | :key="dict.dicItemCode" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="相关证件" prop="certificateList"> |
| | | <el-select v-model="empBaseInfoForm.certificateList" placeholder="请选择相关证件" :disabled="readon ? false : true"> |
| | | <el-option |
| | | v-for="dict in certificateListOptions" |
| | | :key="dict.dicItemCode" |
| | | :label="dict.dicItemName" |
| | | :value="dict.dicItemCode" |
| | | /> |
| | | </el-select> |
| | | <el-form-item label="相关证件" prop="certificateListName"> |
| | | <el-input v-model="empBaseInfoForm.certificateListName" :disabled="readon ? false : true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="身份证号码" prop="certificateNumb"> |
| | | <el-input |
| | | v-model="empBaseInfoForm.certificateNumb" |
| | | :disabled="readon ? false : true" |
| | | @input="generateUserInfo(0,empBaseInfoForm.certificateNumb)" |
| | | /> |
| | | <el-form-item label="年假天数" prop="annualLeave"> |
| | | <el-input v-model="empBaseInfoForm.annualLeave" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | :key="tableKey" |
| | | :data="workExperienceData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | :highlight-current-row="true" |
| | | @selection-change="onworkExperienceDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="workExperienceId" label="工作单位" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="beginDate" label="开始日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="endDate" label="结束日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="workUnit" label="工作单位" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="jobContent" label="主要工作内容" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="workExperienceId" label="工作单位" /> |
| | | <el-table-column show-overflow-tooltip prop="beginDate" label="开始日期" /> |
| | | <el-table-column show-overflow-tooltip prop="endDate" label="结束日期" /> |
| | | <el-table-column show-overflow-tooltip prop="workUnit" label="工作单位" /> |
| | | <el-table-column show-overflow-tooltip prop="jobContent" label="主要工作内容" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="workExperienceDatatotal>0" |
| | |
| | | ref="physicalExamTable" |
| | | :data="physicalExamData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onphysicalExamDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="physicalExamId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="hospital" label="体检医院" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="physicalExamDate" label="体检日期" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="physicalExamType" label="体检类型" width="100" :formatter="typeFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="bloodPressure" label="血压" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="transaminase" label="转氨酶" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="ecg" label="心电图" width="100" :formatter="ecgNameFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="conclusion" label="体检结论" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reviewRecord" label="复查记录" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="physicalExamId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="hospital" label="体检医院" width="150" /> |
| | | <el-table-column show-overflow-tooltip prop="physicalExamDate" label="体检日期" width="140" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="physicalExamType" |
| | | label="体检类型" |
| | | width="140" |
| | | :formatter="typeFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="bloodPressure" label="血压" width="140" /> |
| | | <el-table-column show-overflow-tooltip prop="transaminase" label="转氨酶" width="140" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="ecg" |
| | | label="心电图" |
| | | width="140" |
| | | :formatter="ecgNameFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="conclusion" label="体检结论" /> |
| | | <el-table-column show-overflow-tooltip prop="reviewRecord" label="复查记录" width="140" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="physicalExamDatatotal>0" |
| | |
| | | ref="contractInfoTable" |
| | | :data="contractInfoData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="oncontractInfoDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="contractId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="signingDate" label="合同签订日期" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="endDate" label="合同结束日期" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="contractPeriod" label="合同期限(年)" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="contractStatus" label="合同状态" width="100" :formatter="contractStatusFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="transactor" label="合同办理人" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="contractId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="signingDate" label="合同签订日期" /> |
| | | <el-table-column show-overflow-tooltip prop="endDate" label="合同结束日期" /> |
| | | <el-table-column show-overflow-tooltip prop="contractPeriod" label="合同期限(年)" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="contractStatus" |
| | | label="合同状态" |
| | | :formatter="contractStatusFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="transactor" label="合同办理人" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="contractInfoDatatotal>0" |
| | |
| | | ref="jobChangeTable" |
| | | :data="jobChangeData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip="true" prop="newDeptName" label="现部门" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="newJobName" label="现岗位" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="oldDeptName" label="原部门" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="oldJobName" label="原岗位" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="changeDate" label="调岗日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="changeType" label="调岗类型" :formatter="changeTypeFormat" /> |
| | | <el-table-column show-overflow-tooltip prop="allDeptName" label="现部门" /> |
| | | <el-table-column show-overflow-tooltip prop="newJobName" label="现岗位" /> |
| | | <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="oldDeptName" label="原部门" /> |
| | | <el-table-column show-overflow-tooltip prop="oldJobName" label="原岗位" /> |
| | | <el-table-column show-overflow-tooltip prop="changeDate" label="调岗日期" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="changeType" |
| | | label="调岗类型" |
| | | :formatter="changeTypeFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="changeReason" label="调岗理由" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="jobChangeDatatotal>0" |
| | |
| | | ref="leaveInfoTable" |
| | | :data="leaveInfoData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onleaveInfoDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="leaveId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="beginTime" label="开始时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="endTime" label="结束时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="leaveDay" label="请假天数" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="leaveType" label="请假类型" :formatter="leaveTypeFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="returnDate" label="到岗时间" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="报备人" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="leaveId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="beginTime" label="开始时间" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="endTime" label="结束时间" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="leaveDay" label="请假天数" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="leaveType" label="请假类型" :formatter="leaveTypeFormat" /> |
| | | <el-table-column show-overflow-tooltip prop="returnDate" label="到岗时间" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="报备人" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="leaveInfoDatatotal>0" |
| | |
| | | ref="resignTable" |
| | | :data="resignData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onresignDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="resignId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="applayDate" label="辞职申请日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reason" label="辞职事由" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="汇报人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="resignId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="applayDate" label="辞职申请日期" /> |
| | | <el-table-column show-overflow-tooltip prop="reason" label="辞职事由" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="汇报人" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="resignDatatotal>0" |
| | |
| | | ref="dimissionAttendTable" |
| | | :data="dimissionAttendData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="ondimissionAttendDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="dimissionAttendId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="attendMonth" label="离职考勤月份" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="attendDays" label="出勤天数" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="overtimeDay" label="加班(天)" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="overtimeHour" label="加班(小时)" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="deduct" label="有无代扣款项" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="leaveDay" label="请假(天)" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="absenteeism" label="旷工(天)" width="120" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="dimissionAttendId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="attendMonth" label="离职考勤月份" /> |
| | | <el-table-column show-overflow-tooltip prop="attendDays" label="出勤天数" width="150" /> |
| | | <el-table-column show-overflow-tooltip prop="overtimeDay" label="加班(天)" width="150" /> |
| | | <el-table-column show-overflow-tooltip prop="overtimeHour" label="加班(小时)" /> |
| | | <el-table-column show-overflow-tooltip prop="deduct" label="有无代扣款项" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="leaveDay" label="请假(天)" /> |
| | | <el-table-column show-overflow-tooltip prop="absenteeism" label="旷工(天)" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="dimissionAttendDatatotal>0" |
| | |
| | | ref="dimissionLogTable" |
| | | :data="dimissionLogData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template>EmpLeaveInfo |
| | | </template> |
| | | EmpLeaveInfo |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="dimissionDate" label="离职日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="dimissionType" label="离职类型" :formatter="dimissionTypeFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="selfLeaveDay" label="自离天数" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="报备人" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column show-overflow-tooltip prop="deptName" label="部门/护卫点" /> |
| | | <el-table-column show-overflow-tooltip prop="entryDate" label="入职日期" /> |
| | | <el-table-column show-overflow-tooltip prop="dimissionDate" label="离职日期" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="dimissionType" |
| | | label="离职类型" |
| | | :formatter="dimissionTypeFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="selfLeaveDay" label="自离天数" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="报备人" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="dimissionLogDatatotal>0" |
| | |
| | | ref="unemploymentTable" |
| | | :data="unemploymentData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onunemploymentDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="unemploymentId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="applayDate" label="失业金申请日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="applayReason" label="申报事由" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="汇报人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="auditor" label="审核人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="unemploymentId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="applayDate" label="失业金申请日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="applayReason" label="申报事由" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="汇报人" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="auditor" label="审核人" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="unemploymentDatatotal>0" |
| | |
| | | ref="insuranceTable" |
| | | :data="insuranceData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="oninsuranceDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="insuranceId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="applayDate" label="社保申请日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="proposer" label="申请人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="insuranceGaers" label="社保档位" :formatter="insuranceGaersFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reportStatus" label="是否已报告" :formatter="reportStatusFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="applayStatus" label="状态" :formatter="applayStatusFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="auditor" label="审核人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="insuranceId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="applayDate" label="社保申请日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="proposer" label="申请人" width="180" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="insuranceGaers" |
| | | label="社保档位" |
| | | :formatter="insuranceGaersFormat" |
| | | /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="reportStatus" |
| | | label="是否已报告" |
| | | :formatter="reportStatusFormat" |
| | | /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="applayStatus" |
| | | label="状态" |
| | | :formatter="applayStatusFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="auditor" label="审核人" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="insuranceDatatotal>0" |
| | |
| | | ref="accidentCasesTable" |
| | | :data="accidentCasesData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onaccidentCasesDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="accidentId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredTime" label="受伤日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredAddress" label="受伤地点" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredPart" label="受伤部位" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredDescribe" label="受伤经过描述" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredDiacrisis" label="意外险诊断" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="hospitalName" label="就诊医院" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="treatmentName" label="就诊科室" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="hospitalizatioFlag" label="是否住院" width="60" :formatter="hospitalizatioFlagFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="bedNumb" label="床号" width="60" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reprotTime" label="报案时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="submitTime" label="递交资料时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="sbumitBy" label="递交人" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="expensesFee" label="医疗总费用" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="innsureFee" label="保险赔付费用" width="100" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="accidentId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredTime" label="受伤日期" width="110"> |
| | | <template slot-scope="scope"> |
| | | <span class="table-button" @click="editAccidentCases(scope.row,9)">{{ |
| | | scope.row.injuredTime |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="injuredAddress" label="受伤地点" width="200" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="80" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" width="300" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="意外险诊断" width="150" /> |
| | | <!-- <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="100" />--> |
| | | <!-- <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="100" />--> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="hospitalizatioFlag" |
| | | label="是否住院" |
| | | width="80" |
| | | :formatter="hospitalizatioFlagFormat" |
| | | /> |
| | | <!-- <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="60" />--> |
| | | <el-table-column show-overflow-tooltip prop="reprotTime" label="报案时间" width="100" /> |
| | | <!-- <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="120" />--> |
| | | <!-- <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="100" />--> |
| | | <el-table-column show-overflow-tooltip prop="expensesFee" label="医疗总费用" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="innsureFee" label="保险赔付费用" width="120" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="settleStatus" |
| | | label="是否结案" |
| | | width="120" |
| | | :formatter="settleStatusFormat" |
| | | /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="accidentCasesDatatotal>0" |
| | |
| | | ref="occupationalTable" |
| | | :data="occupationalData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onoccupationalDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="occupationalId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredTime" label="受伤日期" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredAddress" label="受伤地点" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredPart" label="受伤部位" width="80" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredDescribe" label="受伤经过描述" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="injuredDiacrisis" label="工伤诊断" width="80" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="hospitalName" label="就诊医院" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="treatmentName" label="就诊科室" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="hospitalizatioFlag" label="是否住院" width="80" :formatter="hospitalizatioFlagFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="bedNumb" label="床号" width="60" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reportTime" label="报案时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="submitTime" label="递交资料时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="sbumitBy" label="递交人" width="80" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="expensesFee" label="医疗总费用" width="80" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="compensated" label="已赔付医药费用" width="100" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="occupationalId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredTime" label="受伤日期" width="110"> |
| | | <template slot-scope="scope"> |
| | | <span class="table-button" @click="editOccupational(scope.row)">{{ scope.row.injuredTime }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column show-overflow-tooltip prop="injuredAddress" label="受伤地点" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" width="140" /> |
| | | <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="工伤诊断" width="80" /> |
| | | <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="120" /> |
| | | <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="100" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="hospitalizatioFlag" |
| | | label="是否住院" |
| | | width="80" |
| | | :formatter="hospitalizatioFlagFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="80" /> |
| | | <el-table-column show-overflow-tooltip prop="reportTime" label="报案时间" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="120" /> |
| | | <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="80" /> |
| | | <el-table-column show-overflow-tooltip prop="expensesFee" label="医疗总费用" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="compensated" label="已赔付医药费用" width="120" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="settleStatus" |
| | | label="是否结案" |
| | | width="120" |
| | | :formatter="settleStatusFormat" |
| | | /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="occupationalDatatotal>0" |
| | |
| | | </div> |
| | | <div ref="lzaj" class="lzaj"> |
| | | <div class="jbxxTitle"> |
| | | 劳资案件 |
| | | 仲裁案件 |
| | | </div> |
| | | |
| | | <div class="jbxxCon"> |
| | |
| | | ref="laborTroubleTable" |
| | | :data="laborTroubleData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onlaborTroubleDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="arbitrationId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="arbitrationDate" label="仲裁日期" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="arbitrationType" label="仲裁类型" :formatter="arbitrationTypeFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="arbitrationReason" label="仲裁事由" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="报备人" width="100" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="arbitrationPay" label="仲裁赔付(元)" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="arbitrationStatus" label="状态" width="100" :formatter="arbitrationStatusFormat" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="settleDate" label="案结日期" width="100" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="arbitrationId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="arbitrationDate" label="仲裁日期" width="100" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="arbitrationType" |
| | | label="仲裁类型" |
| | | :formatter="arbitrationTypeFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="arbitrationReason" label="仲裁事由" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="报备人" width="100" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | <el-table-column show-overflow-tooltip prop="arbitrationPay" label="仲裁赔付(元)" width="180" /> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="arbitrationStatus" |
| | | label="是否结案" |
| | | width="100" |
| | | :formatter="arbitrationStatusFormat" |
| | | /> |
| | | <el-table-column show-overflow-tooltip prop="settleDate" label="案结日期" width="100" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="laborTroubleDatatotal>0" |
| | |
| | | ref="badRecordTable" |
| | | :data="badRecordData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onbadRecordDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="badId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="badDate" label="不良记录日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="badContent" label="不良记录描述" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="reporter" label="汇报人" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remark" label="备注" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="badId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="badDate" label="不良记录日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="badContent" label="不良记录描述" /> |
| | | <el-table-column show-overflow-tooltip prop="reporter" label="汇报人" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="remark" label="备注" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="badRecordDatatotal>0" |
| | |
| | | ref="remarkInfoTable" |
| | | :data="remarkInfoData" |
| | | stripe |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}" |
| | | border |
| | | :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}" |
| | | :cell-style="{padding:'7px 0','text-align':'center'}" |
| | | style="width: 100%;" |
| | | @selection-change="onremarkInfoDataselection" |
| | | > |
| | | <el-table-column show-overflow-tooltip="true" type="index" label="序号" align="center" width="55"> |
| | | <el-table-column show-overflow-tooltip type="index" label="序号" align="center" width="55"> |
| | | <template slot-scope="scope"> |
| | | <span v-text="getIndex(scope.$index)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip="true" prop="remarkId" label="" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remarkDate" label="备注日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip="true" prop="remarkContent" label="备注信息" /> |
| | | <el-table-column v-if="fsnumShow" show-overflow-tooltip prop="remarkId" label="" /> |
| | | <el-table-column show-overflow-tooltip prop="remarkDate" label="备注日期" width="180" /> |
| | | <el-table-column show-overflow-tooltip prop="remarkContent" label="备注信息" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="remarkInfoDatatotal>0" |
| | |
| | | </div> |
| | | |
| | | <div ref="jljt" class="jljt"> |
| | | <div class="jbxxTitle"> |
| | | 上传附件 |
| | | <div class="jbxxTitle2"> |
| | | <el-col :span="18"> |
| | | 上传附件 |
| | | </el-col> |
| | | <el-col :span="6" class="search"> |
| | | <el-input |
| | | v-model="fileName" |
| | | maxlength="20" |
| | | minlength="1" |
| | | clearable |
| | | placeholder="请输入文件名" |
| | | show-word-limit |
| | | style="width:290px;margin-right: 10px;" |
| | | /> |
| | | <el-button type="primary" @click="findFileByFileName()">查询</el-button> |
| | | </el-col> |
| | | </div> |
| | | <div class="jbxxCon"> |
| | | <div class="zs-main"> |
| | | <el-row class="search-title"> |
| | | <el-col :span="18" class="title"> |
| | | <!-- <div class="zs-title">上传附件</div>--> |
| | | <p /> |
| | | </el-col> |
| | | <el-col :span="6" class="search"> |
| | | <el-input |
| | | v-model="fileName" |
| | | maxlength="20" |
| | | minlength="1" |
| | | clearable |
| | | placeholder="请输入文件名" |
| | | show-word-limit |
| | | style="width:200px" |
| | | /> |
| | | <el-button type="primary" @click="findFileByFileName()">查询</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-row class="search-title">--> |
| | | <!-- <el-col :span="18" class="title">--> |
| | | <!-- <!– <div class="zs-title">上传附件</div>–>--> |
| | | <!-- <p />--> |
| | | <!-- </el-col>--> |
| | | |
| | | <!-- </el-row>--> |
| | | <el-container style="background-color: #fff;"> |
| | | <el-aside width="210px" style="background-color: #fff;text-align: center;padding-top: 0"> |
| | | <h4>{{ empBaseInfoForm.empName }}:{{ empBaseInfoForm.deptName }}</h4> |
| | | <h4 style="margin-top: 0">{{ empBaseInfoForm.empName }}:{{ empBaseInfoForm.deptName }}</h4> |
| | | <el-timeline> |
| | | <el-timeline-item |
| | | v-for="(activity, index) in activities" |
| | |
| | | </el-aside> |
| | | <el-container> |
| | | <el-header class="text-header"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <i |
| | | class="el-icon-bell" |
| | | style=" color: #a32c30; margin-right: 10px;" |
| | | />提示:文件不要超过10个,单个文件大小不超过50M,单击或者拖动文件到下面区域,支持单个或批量文件的上传。 |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="background-color: rgba(0,0,0,0.2);"> |
| | | <el-col :span="16"> |
| | | <el-checkbox |
| | |
| | | @click="download()" |
| | | >下载 |
| | | </el-button> |
| | | <el-button |
| | | class="pri-del-btn" |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="delFile()" |
| | | >删除 |
| | | </el-button> |
| | | <el-popconfirm title="是否移动附件?" @onConfirm="mvdialogFormVisible = true"> |
| | | <el-button slot="reference" type="danger">转存</el-button> |
| | | </el-popconfirm> |
| | | </el-col> |
| | | </el-row> |
| | | </el-header> |
| | |
| | | <el-main style="background-color: #fff;margin-top: 5%;"> |
| | | <el-row v-for="(data, index) in filesUploadData" :key="index"> |
| | | <template v-for="(node, nodeIndex) in data.node"> |
| | | <el-col v-if="node.isUpload === false" :key="node.filesid" :span="3"> |
| | | <el-col v-if="node.isUpload === false" :key="node.accessoryid" :span="3"> |
| | | <el-card |
| | | shadow="never" |
| | | @click.native="clickCard(index * 8 + nodeIndex)" |
| | | > |
| | | <img |
| | | <el-image |
| | | v-if="'tif,bmp,jpg,png,gif'.indexOf(node.filesformat) == -1" |
| | | :src="showFileImg(node.filesformat)" |
| | | class="uploading-image" |
| | | :preview-src-list="srcList" |
| | | @click="clickImg(node)" |
| | | /> |
| | | <el-tooltip |
| | | v-if="'tif,bmp,jpg,png,gif'.indexOf(node.filesformat) == -1" |
| | | class="item" |
| | | effect="dark" |
| | | :content="node.filesname" |
| | | placement="bottom" |
| | | > |
| | | <el-tooltip class="item" effect="dark" :content="node.filesname" placement="bottom"> |
| | | <div style="padding-top: 14px;"> |
| | | <div style="padding-top: 14px;text-align: center"> |
| | | <el-checkbox |
| | | v-model="checkedArr[index * 8 + nodeIndex].isChecked" |
| | | class="myRedCheckBox" |
| | |
| | | </el-checkbox> |
| | | </div> |
| | | </el-tooltip> |
| | | <el-tooltip |
| | | v-if="'tif,bmp,jpg,png,gif'.indexOf(node.filesformat) != -1" |
| | | class="item" |
| | | effect="dark" |
| | | :content="node.filesname" |
| | | placement="bottom" |
| | | > |
| | | <div style="padding-top: 14px;"> |
| | | <el-image |
| | | style="width: 100px; height: 80px;margin-top: -10px;" |
| | | :src="getImg+node.accessoryid" |
| | | :preview-src-list="srcList" |
| | | @click="clickImg(node)" |
| | | /> |
| | | <el-checkbox |
| | | v-model="checkedArr[index * 8 + nodeIndex].isChecked" |
| | | class="myRedCheckBox" |
| | | > |
| | | {{ node.filesid }} |
| | | {{ node.filesname }} |
| | | </el-checkbox> |
| | | </div> |
| | | </el-tooltip> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col v-if="node.isUpload" :key="node.filesid" :span="3"> |
| | | <el-card shadow="never"> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | :action="uploadSinglePath" |
| | | :show-file-list="false" |
| | | :before-upload="beforeAvatarUpload" |
| | | :headers="headers()" |
| | | :data="fileDate" |
| | | :on-success="handleAvatarSuccess" |
| | | :on-error="handleAvatarError" |
| | | :multiple="true" |
| | | :limit="10" |
| | | drag |
| | | > |
| | | <i class="el-icon-upload" /> |
| | | </el-upload> |
| | | </el-card> |
| | | </el-col> |
| | | </template> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="workExperienceForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="workExperienceForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="workExperienceForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="workExperienceForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putWorkExperience('workExperienceForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="体检信息" append-to-body :visible.sync="dialogshowArr[2].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="physicalExamForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="physicalExamForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="physicalExamForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="physicalExamForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putPhysicalExam('physicalExamForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="合同信息" append-to-body :visible.sync="dialogshowArr[3].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="contractInfoForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="contractInfoForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="contractInfoForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="contractInfoForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putContractInfo('contractInfoForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="离职当月考勤" append-to-body :visible.sync="dialogshowArr[4].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="dimissionAttendForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="dimissionAttendForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="dimissionAttendForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="dimissionAttendForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putDimissionAttend('dimissionAttendForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="请假记录" append-to-body :visible.sync="dialogshowArr[5].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="leaveInfoForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="leaveInfoForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="leaveInfoForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="leaveInfoForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putLeaveInfo('leaveInfoForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="辞职申请" append-to-body :visible.sync="dialogshowArr[6].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="resignForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="resignForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="resignForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="resignForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putResign('resignForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="失业金领取" append-to-body :visible.sync="dialogshowArr[7].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="unemploymentForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="unemploymentForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="unemploymentForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="unemploymentForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putUnemployment('unemploymentForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="社保申请" append-to-body :visible.sync="dialogshowArr[8].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="insuranceForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="insuranceForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="insuranceForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="insuranceForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putInsurance('insuranceForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="意外险案件" append-to-body :visible.sync="dialogshowArr[9].show" width="50%"> |
| | | <el-form |
| | | ref="accidentCasesForm" |
| | | :model="accidentCasesForm" |
| | | :rules="accidentCasesRules" |
| | | label-position="right" |
| | | label-width="120px" |
| | | > |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="accidentCasesForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="accidentCasesForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="accidentCasesForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="accidentCasesForm.jobName" /> |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="accidentCasesForm.remark" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putAccidentCases('accidentCasesForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | <el-button v-if="dialogshowArr[9].read" type="primary" @click="putAccidentCases('accidentCasesForm')">保 存 |
| | | </el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="工伤案件" append-to-body :visible.sync="dialogshowArr[10].show" width="50%"> |
| | | <el-form |
| | | ref="occupationalForm" |
| | | :model="occupationalForm" |
| | | :rules="occupationalRules" |
| | | label-position="right" |
| | | label-width="140px" |
| | | > |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="occupationalForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="occupationalForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="occupationalForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="occupationalForm.jobName" /> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putOccupational('occupationalForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | <el-button v-if="dialogshowArr[10].read" type="primary" @click="putOccupational('occupationalForm')">保 存 |
| | | </el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="劳资案件" append-to-body :visible.sync="dialogshowArr[11].show" width="50%"> |
| | | <el-dialog title="仲裁案件" append-to-body :visible.sync="dialogshowArr[11].show" width="50%"> |
| | | <el-form |
| | | ref="laborTroubleForm" |
| | | :model="laborTroubleForm" |
| | |
| | | <el-form-item label="汇报人" prop="reporter"> |
| | | <el-input v-model="laborTroubleForm.reporter" /> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="arbitrationStatus"> |
| | | <el-form-item label="是否结案" prop="arbitrationStatus"> |
| | | <el-select v-model="laborTroubleForm.arbitrationStatus" placeholder=""> |
| | | <el-option |
| | | v-for="dict in settleStatusOptions" |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="laborTroubleForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="laborTroubleForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="laborTroubleForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="laborTroubleForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putLaborTrouble('laborTroubleForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="不良记录" append-to-body :visible.sync="dialogshowArr[12].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="badRecordForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="badRecordForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="badRecordForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="badRecordForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putBadRecord('badRecordForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="备注信息" append-to-body :visible.sync="dialogshowArr[13].show" width="50%"> |
| | |
| | | <el-form-item label="员工编号" prop="empNumb"> |
| | | <el-input v-model="remarkInfoForm.empNumb" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门(护卫点)" prop="deptName"> |
| | | <el-input v-model="remarkInfoForm.deptName" /> |
| | | <el-form-item label="部门(护卫点)" prop="allDeptName"> |
| | | <el-input v-model="remarkInfoForm.allDeptName" /> |
| | | </el-form-item> |
| | | <el-form-item label="岗位" prop="jobName"> |
| | | <el-input v-model="remarkInfoForm.jobName" /> |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="putRemarkInfo('remarkInfoForm')">保 存</el-button> |
| | | <el-button @click="dialogIsShow()">取 消</el-button> |
| | | |
| | | </div> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | |
| | | <!-- 上传方式选择弹窗 --> |
| | | <el-dialog |
| | | title="选择上传方式" |
| | | :visible.sync="uploadChoiceDialogVisible" |
| | | width="400px" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="upload-choice-container"> |
| | | <div class="upload-choice-item" @click="choiceCamera"> |
| | | <i class="el-icon-camera" /> |
| | | <span>拍照上传</span> |
| | | </div> |
| | | <div class="upload-choice-item" @click="choiceFile"> |
| | | <i class="el-icon-folder-opened" /> |
| | | <span>文件上传</span> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 摄像头拍照弹窗 --> |
| | | <el-dialog |
| | | title="拍照上传" |
| | | :visible.sync="cameraDialogVisible" |
| | | width="640px" |
| | | :close-on-click-modal="false" |
| | | @close="closeCamera" |
| | | > |
| | | <div class="camera-container"> |
| | | <!-- 视频预览 --> |
| | | <video |
| | | v-show="!capturedImage" |
| | | ref="video" |
| | | class="camera-video" |
| | | autoplay |
| | | playsinline |
| | | /> |
| | | <!-- 画布(用于拍照) --> |
| | | <canvas ref="canvas" style="display: none;" /> |
| | | |
| | | <!-- 拍照结果预览 --> |
| | | <img |
| | | v-if="capturedImage" |
| | | :src="capturedImage" |
| | | class="captured-image" |
| | | > |
| | | </div> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeCamera">取消</el-button> |
| | | <el-button |
| | | v-if="!capturedImage" |
| | | type="primary" |
| | | @click="takePhoto" |
| | | > |
| | | 拍照 |
| | | </el-button> |
| | | <el-button |
| | | v-if="capturedImage" |
| | | @click="retakePhoto" |
| | | > |
| | | 重拍 |
| | | </el-button> |
| | | <el-button |
| | | v-if="capturedImage" |
| | | type="primary" |
| | | @click="confirmPhoto" |
| | | > |
| | | 确认使用 |
| | | </el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | import Pagination from '@/components/Pagination' |
| | | import { getToken } from '@/utils/auth' |
| | | import { pages } from '@/settings' |
| | | import dictMixin from '../../utils/dictMixin' |
| | | |
| | | export default { |
| | | name: 'ArchivesChange', |
| | | name: 'ArchivesEdit', |
| | | components: { Treeselect, Pagination }, |
| | | mixins: [dictMixin], |
| | | props: { |
| | | dialogVisible: { |
| | | type: Boolean, |
| | |
| | | show: false |
| | | }, |
| | | { |
| | | show: false |
| | | show: false, |
| | | read: false |
| | | }, |
| | | { |
| | | show: false |
| | | show: false, |
| | | read: false |
| | | }, |
| | | { |
| | | show: false |
| | |
| | | } |
| | | ], |
| | | empBaseInfoImageUrl: '', |
| | | // 上传方式选择弹窗 |
| | | uploadChoiceDialogVisible: false, |
| | | // 摄像头相关 |
| | | cameraDialogVisible: false, |
| | | capturedImage: '', |
| | | stream: null, |
| | | rules: { |
| | | archivesNumb: [{ required: true, message: '请输入档案号', trigger: 'blur' }, { |
| | | max: 20, |
| | | message: this.$t('rules.noMoreThan20'), |
| | | trigger: 'blur' |
| | | }], |
| | | empName: [{ required: true, message: '请输入员工姓名', trigger: 'blur' }, |
| | | empName: [{ required: true, message: '请输入姓名', trigger: 'blur' }, |
| | | { min: 2, max: 50, message: this.$t('rules.noMoreThan50'), trigger: 'blur' }], |
| | | empNumb: [{ required: true, message: '请输入员工编号', trigger: 'blur' }, |
| | | { min: 2, max: 20, message: this.$t('rules.noMoreThan20'), trigger: 'blur' }], |
| | |
| | | message: '长度不超过36个字符', |
| | | trigger: 'blur' |
| | | }], |
| | | insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }], |
| | | insuranceType: [{ required: true, message: '请选择社保档位', trigger: 'change' }], |
| | | entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }], |
| | | seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }], |
| | | archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }], |
| | |
| | | pattern: /^\d{1,2}(\.\d{1,1})?$/, |
| | | message: '出勤天数精确到1位小数' |
| | | }], |
| | | overtimeDay: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '加班(天)精确到1位小数' }], |
| | | overtimeHour: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '加班(小时)精确到1位小数' }], |
| | | leaveDay: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '请假(天)精确到1位小数' }], |
| | | absenteeism: [{ pattern: /^\d{1,2}(\.\d{1,1})?$/, message: '旷工(天)精确到1位小数' }], |
| | | overtimeDay: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '加班(天)精确到1位小数' }], |
| | | overtimeHour: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '加班(小时)精确到1位小数' }], |
| | | leaveDay: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '请假(天)精确到1位小数' }], |
| | | absenteeism: [{ pattern: /^\d{1,3}(\.\d{1,1})?$/, message: '旷工(天)精确到1位小数' }], |
| | | remark: [{ max: 512, message: '长度不超过512个字符', trigger: 'blur' }] |
| | | }, |
| | | leaveInfoRules: { |
| | |
| | | creator: '', |
| | | modifyTime: '', |
| | | modifier: '', |
| | | |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | |
| | | empStatus: 0, |
| | | version: '' |
| | | }, |
| | | srcList: [], |
| | | getImg: pages.getAccessoryImage, |
| | | resignForm: { |
| | | resignId: '', |
| | | empId: '', |
| | |
| | | modifyTime: '', |
| | | modifier: '', |
| | | empStatus: 0, |
| | | version: '' |
| | | version: '', |
| | | annualLeave: '' |
| | | }, |
| | | fsnumShow: false, |
| | | badRecordForm: { |
| | |
| | | { type: 'dic_credentials' }, |
| | | { type: 'password' }, |
| | | { type: 'implicit' } |
| | | ], |
| | | statusOptions: [], |
| | | empTypeOptions: [], |
| | | nationOptions: [], |
| | | marriageOptions: [], |
| | | educationOptions: [], |
| | | nativePlaceOptions: [], |
| | | archivesStatusOptions: [], |
| | | insuranceTypeOptions: [], |
| | | empCardStatusOptions: [], |
| | | handbookStatusOptions: [], |
| | | ecgOptions: [], |
| | | certificateListOptions: [], |
| | | physicalExamTypeOptions: [], |
| | | contractStatusOptions: [], |
| | | leaveTypeOptions: [], |
| | | insuranceGaersOptions: [], |
| | | applayStatusOptions: [], |
| | | reportStatusOptions: [], |
| | | hospitalizatioFlagOptions: [], |
| | | settleStatusOptions: [], |
| | | arbitrationTypeOptions: [], |
| | | changeTypeOptions: [], |
| | | dimissionTypeOptions: [], |
| | | sexOptions: [] |
| | | ] |
| | | } |
| | | }, |
| | | computed: { |
| | | // 字典选项计算属性 |
| | | statusOptions() { |
| | | return this.getDictOptions('PLITICAL') |
| | | }, |
| | | empTypeOptions() { |
| | | return this.getDictOptions('EMPTYPE') |
| | | }, |
| | | nationOptions() { |
| | | return this.getDictOptions('NATION') |
| | | }, |
| | | marriageOptions() { |
| | | return this.getDictOptions('MARRIAGE') |
| | | }, |
| | | educationOptions() { |
| | | return this.getDictOptions('EDUCATION') |
| | | }, |
| | | nativePlaceOptions() { |
| | | return this.getDictOptions('NATIVEPLACE') |
| | | }, |
| | | archivesStatusOptions() { |
| | | return this.getDictOptions('archivesStatus') |
| | | }, |
| | | insuranceTypeOptions() { |
| | | return this.getDictOptions('INSURANCETYPE') |
| | | }, |
| | | empCardStatusOptions() { |
| | | return this.getDictOptions('empCardStatus') |
| | | }, |
| | | handbookStatusOptions() { |
| | | return this.getDictOptions('handbookStatus') |
| | | }, |
| | | certificateListOptions() { |
| | | return this.getDictOptions('certificateList') |
| | | }, |
| | | physicalExamTypeOptions() { |
| | | return this.getDictOptions('PHYSICALEXAMTYPE') |
| | | }, |
| | | ecgOptions() { |
| | | return this.getDictOptions('ECG') |
| | | }, |
| | | contractStatusOptions() { |
| | | return this.getDictOptions('CONTRACTSTATUS') |
| | | }, |
| | | leaveTypeOptions() { |
| | | return this.getDictOptions('LEAVETYPE') |
| | | }, |
| | | insuranceGaersOptions() { |
| | | return this.getDictOptions('INSURANCETYPE') |
| | | }, |
| | | applayStatusOptions() { |
| | | return this.getDictOptions('applayStatus') |
| | | }, |
| | | reportStatusOptions() { |
| | | return this.getDictOptions('reportStatus') |
| | | }, |
| | | hospitalizatioFlagOptions() { |
| | | return this.getDictOptions('hospitalizatioFlag') |
| | | }, |
| | | settleStatusOptions() { |
| | | return this.getDictOptions('settleStatus') |
| | | }, |
| | | arbitrationTypeOptions() { |
| | | return this.getDictOptions('ZCTYPE') |
| | | }, |
| | | changeTypeOptions() { |
| | | return this.getDictOptions('changeType') |
| | | }, |
| | | dimissionTypeOptions() { |
| | | return this.getDictOptions('LZTYPE') |
| | | }, |
| | | sexOptions() { |
| | | return this.getDictOptions('sex') |
| | | }, |
| | | isVisible: { |
| | | get() { |
| | | return this.dialogVisible |
| | |
| | | }, |
| | | mounted() { |
| | | this.initDept() |
| | | /* 政治面貌*/ |
| | | this.getDicts('PLITICAL').then(response => { |
| | | this.statusOptions = response.data |
| | | }) |
| | | this.getDicts('sex').then(response => { |
| | | this.sexOptions = response.data |
| | | }) |
| | | this.getDicts('empType').then(response => { |
| | | this.empTypeOptions = response.data |
| | | }) |
| | | this.getDicts('NATION').then(response => { |
| | | this.nationOptions = response.data |
| | | }) |
| | | this.getDicts('MARRIAGE').then(response => { |
| | | this.marriageOptions = response.data |
| | | }) |
| | | this.getDicts('EDUCATION').then(response => { |
| | | this.educationOptions = response.data |
| | | }) |
| | | this.getDicts('NATIVEPLACE').then(response => { |
| | | this.nativePlaceOptions = response.data |
| | | }) |
| | | this.getDicts('archivesStatus').then(response => { |
| | | this.archivesStatusOptions = response.data |
| | | }) |
| | | this.getDicts('INSURANCETYPE').then(response => { |
| | | this.insuranceTypeOptions = response.data |
| | | }) |
| | | this.getDicts('empCardStatus').then(response => { |
| | | this.empCardStatusOptions = response.data |
| | | }) |
| | | this.getDicts('handbookStatus').then(response => { |
| | | this.handbookStatusOptions = response.data |
| | | }) |
| | | this.getDicts('certificateList').then(response => { |
| | | this.certificateListOptions = response.data |
| | | }) |
| | | this.getDicts('PHYSICALEXAMTYPE').then(response => { |
| | | this.physicalExamTypeOptions = response.data |
| | | }) |
| | | this.getDicts('ECG').then(response => { |
| | | this.ecgOptions = response.data |
| | | }) |
| | | this.getDicts('CONTRACTSTATUS').then(response => { |
| | | this.contractStatusOptions = response.data |
| | | }) |
| | | this.getDicts('LEAVETYPE').then(response => { |
| | | this.leaveTypeOptions = response.data |
| | | }) |
| | | this.getDicts('insuranceGaers').then(response => { |
| | | this.insuranceGaersOptions = response.data |
| | | }) |
| | | this.getDicts('applayStatus').then(response => { |
| | | this.applayStatusOptions = response.data |
| | | }) |
| | | this.getDicts('reportStatus').then(response => { |
| | | this.reportStatusOptions = response.data |
| | | }) |
| | | this.getDicts('hospitalizatioFlag').then(response => { |
| | | this.hospitalizatioFlagOptions = response.data |
| | | }) |
| | | this.getDicts('settleStatus').then(response => { |
| | | this.settleStatusOptions = response.data |
| | | }) |
| | | this.getDicts('ZCTYPE').then(response => { |
| | | this.arbitrationTypeOptions = response.data |
| | | }) |
| | | this.getDicts('changeType').then(response => { |
| | | this.changeTypeOptions = response.data |
| | | }) |
| | | this.getDicts('LZTYPE').then(response => { |
| | | this.dimissionTypeOptions = response.data |
| | | }) |
| | | // 字典数据已在登录时预加载,直接从 Vuex 获取 |
| | | this.initDictTypes(['PLITICAL', 'sex', 'EMPTYPE', 'NATION', 'MARRIAGE', 'EDUCATION', 'NATIVEPLACE', 'archivesStatus', 'INSURANCETYPE', 'empCardStatus', 'handbookStatus', 'certificateList', 'PHYSICALEXAMTYPE', 'ECG', 'CONTRACTSTATUS', 'LEAVETYPE', 'applayStatus', 'reportStatus', 'hospitalizatioFlag', 'settleStatus', 'ZCTYPE', 'changeType', 'LZTYPE']) |
| | | }, |
| | | methods: { |
| | | typeFormat(row, column) { |
| | |
| | | }, |
| | | arbitrationStatusFormat(row, column) { |
| | | return this.selectDictLabel(this.settleStatusOptions, row.arbitrationStatus) |
| | | }, |
| | | settleStatusFormat(row, column) { |
| | | return this.selectDictLabel(this.settleStatusOptions, row.settleStatus) |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | this.fileDate.labelid = this.activities[this.beforeIndex].id |
| | |
| | | }, |
| | | showFileImg(type) { |
| | | switch (type) { |
| | | case 'xls': |
| | | return require('../../assets/uploading/xls.png') |
| | | case 'xlsx': |
| | | return require('../../assets/uploading/xls.png') |
| | | case 'txt': |
| | | return require('../../assets/uploading/txt.png') |
| | | case 'apk': |
| | |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | clickImg(node) { |
| | | this.srcList = [] |
| | | if ('tif,bmp,jpg,png,gif'.indexOf(node.filesformat) >= 0) { |
| | | this.srcList.push(this.getImg + node.accessoryid) |
| | | } |
| | | }, |
| | | delFile() { |
| | |
| | | }) |
| | | }, |
| | | setArchives(val) { |
| | | debugger |
| | | let certificateList = [] |
| | | if (val.certificateList && typeof val.certificateList === 'string') { |
| | | certificateList = val.certificateList.split(',') |
| | | val.certificateList = certificateList |
| | | } |
| | | |
| | | // 清空所有模块数据,确保切换员工后点击标签会重新加载 |
| | | this.workExperienceData = [] |
| | | this.physicalExamData = [] |
| | | this.contractInfoData = [] |
| | | this.jobChangeData = [] |
| | | this.leaveInfoData = [] |
| | | this.resignData = [] |
| | | this.dimissionAttendData = [] |
| | | this.dimissionLogData = [] |
| | | this.unemploymentData = [] |
| | | this.insuranceData = [] |
| | | this.accidentCasesData = [] |
| | | this.occupationalData = [] |
| | | this.laborTroubleData = [] |
| | | this.badRecordData = [] |
| | | this.remarkInfoData = [] |
| | | |
| | | this.empBaseInfoForm = { ...val } |
| | | this.empBaseInfoImageUrl = pages.getEmpBaseInfoImage + this.empBaseInfoForm.empId |
| | | this.fileDate.empId = this.empBaseInfoForm.empId |
| | |
| | | this.physicalExamForm = { ...val } |
| | | this.workExperienceForm = { ...val } |
| | | this.badRecordForm = { ...val } |
| | | // 只加载附件数据(基本信息已在val中),其他模块懒加载 |
| | | this.initlabel() |
| | | this.initphysicalExamData() |
| | | this.initList() // 工作经历 |
| | | this.initjobChangeData() // 调岗记录 |
| | | this.initdimissionLogData() // 入离职记录 |
| | | this.initcontractInfoData() // 合同信息 |
| | | this.initleaveInfoData() // 请假记录 |
| | | this.initresignData() // 辞职申请 |
| | | this.initunemploymentData() // 失业金领取 |
| | | this.initinsuranceData() // 社保申请 |
| | | this.initremarkInfoData() // 备注 |
| | | this.initlaborTroubleData() // 劳资案件 |
| | | this.initoccupationalData() // 工伤案件 |
| | | this.initbadRecordData() // 不良记录 |
| | | this.initaccidentCasesData() // 意外险案件 |
| | | this.initdimissionAttendData() // 考勤情况 |
| | | }, |
| | | initphysicalExamData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empPhysicalExam/list', { |
| | | ...params |
| | |
| | | initjobChangeData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.empStatus = 1 |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empJobChange/list', { |
| | | ...params |
| | |
| | | initdimissionLogData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empStatus = this.empBaseInfoForm.empStatus |
| | | params.empId = this.empBaseInfoForm.empId |
| | | params.dimissionType = '' |
| | | params.delFlag = '0' |
| | | params.field = 'entryDate' |
| | | params.order = 'ascending' |
| | | this.$get('hr/empDimissionlog/list', { |
| | | ...params |
| | | }).then((r) => { |
| | |
| | | initcontractInfoData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empContractInfo/list', { |
| | | ...params |
| | |
| | | this.readon = true |
| | | }, |
| | | gzupdate1() { |
| | | const empBaseInfoForm = this.empBaseInfoForm |
| | | if (empBaseInfoForm.imagePath.indexOf('data:image/jpeg') === -1) { |
| | | this.empBaseInfoForm.imagePath = '' |
| | | } |
| | | this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => { |
| | | this.$message({ |
| | | message: this.$t('tips.updateSuccess'), |
| | |
| | | }) |
| | | }, |
| | | ExportSavePdf(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | |
| | | this.$download('hr/pdf/contract', { |
| | | ...params |
| | | }, `${this.empBaseInfoForm.empName}.pdf`) |
| | | this.$confirm('是否确定要导出档案,请耐心等待?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | this.$download('hr/pdf/contract', { |
| | | ...params |
| | | }, `${this.empBaseInfoForm.empName}.pdf`) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }) |
| | | }) |
| | | }, |
| | | initleaveInfoData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empLeaveInfo/list', { |
| | | ...params |
| | |
| | | initresignData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.empStatus = this.empBaseInfoForm.empStatus |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empResign/list', { |
| | | ...params |
| | |
| | | initunemploymentData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.empStatus = this.empBaseInfoForm.empStatus |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empUnemployment/list', { |
| | | ...params |
| | |
| | | initinsuranceData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empInsurance/list', { |
| | | ...params |
| | |
| | | initremarkInfoData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.empStatus = this.empBaseInfoForm.empStatus |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empRemarkInfo/list', { |
| | | ...params |
| | |
| | | initlaborTroubleData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empLaborTrouble/list', { |
| | | ...params |
| | |
| | | initoccupationalData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empOccupational/list', { |
| | | ...params |
| | |
| | | initbadRecordData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.empStatus = this.empBaseInfoForm.empStatus |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empBadRecord/list', { |
| | | ...params |
| | |
| | | initaccidentCasesData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empAccidentCases/list', { |
| | | ...params |
| | |
| | | initdimissionAttendData(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empDimissionAttend/list', { |
| | | ...params |
| | |
| | | initList(params = {}) { |
| | | params.pageSize = this.pagination.size |
| | | params.pageNum = this.pagination.num |
| | | params.empNumb = this.empBaseInfoForm.empNumb |
| | | params.certificateNumb = this.empBaseInfoForm.certificateNumb |
| | | params.delFlag = '0' |
| | | this.$get('hr/empWorkExperience/list', { |
| | | ...params |
| | |
| | | getIndex($index) { |
| | | return (this.pagination.num - 1) * this.pagination.size + $index + 1 |
| | | }, |
| | | // 打开上传方式选择弹窗 |
| | | openUploadChoice() { |
| | | this.uploadChoiceDialogVisible = true |
| | | }, |
| | | // 选择拍照上传 |
| | | choiceCamera() { |
| | | this.uploadChoiceDialogVisible = false |
| | | this.cameraDialogVisible = true |
| | | this.$nextTick(() => { |
| | | this.initCamera() |
| | | }) |
| | | }, |
| | | // 选择文件上传 |
| | | choiceFile() { |
| | | this.uploadChoiceDialogVisible = false |
| | | // 创建隐藏的文件输入框 |
| | | const input = document.createElement('input') |
| | | input.type = 'file' |
| | | input.accept = 'image/*' |
| | | input.onchange = (e) => { |
| | | const file = e.target.files[0] |
| | | if (file) { |
| | | this.handleFileUpload(file) |
| | | } |
| | | } |
| | | input.click() |
| | | }, |
| | | // 处理文件上传 |
| | | handleFileUpload(file) { |
| | | // 验证文件类型 |
| | | const isImage = file.type.startsWith('image/') |
| | | if (!isImage) { |
| | | this.$message.error('请上传图片文件') |
| | | return |
| | | } |
| | | // 验证文件大小(限制10MB) |
| | | const isLt10M = file.size / 1024 / 1024 < 10 |
| | | if (!isLt10M) { |
| | | this.$message.error('图片大小不能超过10MB') |
| | | return |
| | | } |
| | | // 生成预览URL |
| | | const imageUrl = URL.createObjectURL(file) |
| | | this.empBaseInfoImageUrl = imageUrl |
| | | // 读取文件为Base64 |
| | | const reader = new FileReader() |
| | | reader.onload = (e) => { |
| | | this.empBaseInfoForm.imagePath = e.target.result |
| | | this.$message.success('照片上传成功') |
| | | } |
| | | reader.readAsDataURL(file) |
| | | }, |
| | | // 打开摄像头 |
| | | openCamera() { |
| | | this.cameraDialogVisible = true |
| | | this.$nextTick(() => { |
| | | this.initCamera() |
| | | }) |
| | | }, |
| | | // 初始化摄像头 |
| | | async initCamera() { |
| | | try { |
| | | // 请求摄像头权限 |
| | | this.stream = await navigator.mediaDevices.getUserMedia({ |
| | | video: { |
| | | width: { ideal: 640 }, |
| | | height: { ideal: 480 }, |
| | | facingMode: 'user' // 前置摄像头 |
| | | }, |
| | | audio: false |
| | | }) |
| | | |
| | | // 将视频流绑定到 video 元素 |
| | | const video = this.$refs.video |
| | | if (video) { |
| | | video.srcObject = this.stream |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('无法访问摄像头,请检查摄像头权限设置') |
| | | console.error('摄像头初始化失败:', error) |
| | | } |
| | | }, |
| | | // 拍照 |
| | | takePhoto() { |
| | | const video = this.$refs.video |
| | | const canvas = this.$refs.canvas |
| | | |
| | | if (!video || !canvas) return |
| | | |
| | | // 设置画布尺寸 |
| | | canvas.width = video.videoWidth || 640 |
| | | canvas.height = video.videoHeight || 480 |
| | | |
| | | // 绘制视频帧到画布 |
| | | const ctx = canvas.getContext('2d') |
| | | ctx.drawImage(video, 0, 0, canvas.width, canvas.height) |
| | | |
| | | // 转换为图片数据 |
| | | this.capturedImage = canvas.toDataURL('image/jpeg', 0.9) |
| | | |
| | | // 停止摄像头 |
| | | this.stopCamera() |
| | | }, |
| | | // 重拍 |
| | | retakePhoto() { |
| | | this.capturedImage = '' |
| | | this.initCamera() |
| | | }, |
| | | // 确认使用照片 |
| | | confirmPhoto() { |
| | | if (this.capturedImage) { |
| | | // 设置图片预览 |
| | | this.empBaseInfoImageUrl = this.capturedImage |
| | | |
| | | // 设置表单数据(Base64格式) |
| | | this.empBaseInfoForm.imagePath = this.capturedImage |
| | | |
| | | // 关闭弹窗 |
| | | this.closeCamera() |
| | | |
| | | this.$message.success('照片已保存') |
| | | } |
| | | }, |
| | | // 关闭摄像头 |
| | | closeCamera() { |
| | | this.stopCamera() |
| | | this.cameraDialogVisible = false |
| | | this.capturedImage = '' |
| | | }, |
| | | // 停止摄像头流 |
| | | stopCamera() { |
| | | if (this.stream) { |
| | | this.stream.getTracks().forEach(track => { |
| | | track.stop() |
| | | }) |
| | | this.stream = null |
| | | } |
| | | |
| | | const video = this.$refs.video |
| | | if (video) { |
| | | video.srcObject = null |
| | | } |
| | | }, |
| | | cleanOccupational() { |
| | | this.occupationalForm.occupationalId = '' |
| | | this.occupationalForm.injuredTime = '' |
| | |
| | | this.workExperienceForm.modifier = row.modifier |
| | | this.workExperienceForm.delFlag = row.delFlag |
| | | this.workExperienceForm.version = row.version |
| | | this.thisShowIndex = 1 |
| | | this.dialogshowArr[1].show = true |
| | | }, |
| | | editPhysicalExam(row) { |
| | |
| | | this.physicalExamForm.modifier = row.modifier |
| | | this.physicalExamForm.delFlag = row.delFlag |
| | | this.physicalExamForm.version = row.version |
| | | |
| | | this.thisShowIndex = 2 |
| | | this.dialogshowArr[2].show = true |
| | | }, |
| | | editContractInfo(row) { |
| | |
| | | this.contractInfoForm.modifier = row.modifier |
| | | this.contractInfoForm.delFlag = row.delFlag |
| | | this.contractInfoForm.version = row.version |
| | | |
| | | this.thisShowIndex = 3 |
| | | this.dialogshowArr[3].show = true |
| | | }, |
| | | editDimissionAttend(row) { |
| | |
| | | this.dimissionAttendForm.delFlag = row.delFlag |
| | | this.dimissionAttendForm.version = row.version |
| | | this.dimissionAttendForm.remark = row.remark |
| | | this.thisShowIndex = 4 |
| | | this.dialogshowArr[4].show = true |
| | | }, |
| | | editLeaveInfo(row) { |
| | |
| | | this.leaveInfoForm.delFlag = row.delFlag |
| | | this.leaveInfoForm.version = row.version |
| | | this.leaveInfoForm.remark = row.remark |
| | | |
| | | this.thisShowIndex = 5 |
| | | this.dialogshowArr[5].show = true |
| | | }, |
| | | editResign(row) { |
| | |
| | | this.resignForm.delFlag = row.delFlag |
| | | this.resignForm.version = row.version |
| | | this.resignForm.remark = row.remark |
| | | |
| | | this.thisShowIndex = 6 |
| | | this.dialogshowArr[6].show = true |
| | | }, |
| | | editUnemployment(row) { |
| | |
| | | this.unemploymentForm.modifier = row.modifier |
| | | this.unemploymentForm.delFlag = row.delFlag |
| | | this.unemploymentForm.version = row.version |
| | | |
| | | this.thisShowIndex = 7 |
| | | this.dialogshowArr[7].show = true |
| | | }, |
| | | editInsurance(row) { |
| | |
| | | this.insuranceForm.delFlag = row.delFlag |
| | | this.insuranceForm.version = row.version |
| | | this.insuranceForm.remark = row.remark |
| | | |
| | | this.thisShowIndex = 8 |
| | | this.dialogshowArr[8].show = true |
| | | }, |
| | | editAccidentCases(row) { |
| | |
| | | this.accidentCasesForm.modifier = row.modifier |
| | | this.accidentCasesForm.delFlag = row.delFlag |
| | | this.accidentCasesForm.version = row.version |
| | | |
| | | this.thisShowIndex = 9 |
| | | this.dialogshowArr[9].show = true |
| | | this.dialogshowArr[9].read = false |
| | | }, |
| | | editOccupational(row) { |
| | | this.isAdd = false |
| | |
| | | this.occupationalForm.delFlag = row.delFlag |
| | | this.occupationalForm.version = row.version |
| | | this.occupationalForm.remark = row.remark |
| | | |
| | | this.thisShowIndex = 10 |
| | | this.dialogshowArr[10].show = true |
| | | this.dialogshowArr[10].read = false |
| | | }, |
| | | editLaborTrouble(row) { |
| | | this.isAdd = false |
| | |
| | | this.laborTroubleForm.delFlag = row.delFlag |
| | | this.laborTroubleForm.version = row.version |
| | | this.laborTroubleForm.remark = row.remark |
| | | |
| | | this.thisShowIndex = 11 |
| | | this.dialogshowArr[11].show = true |
| | | }, |
| | | editBadRecord(row) { |
| | |
| | | this.badRecordForm.delFlag = row.delFlag |
| | | this.badRecordForm.version = row.version |
| | | this.badRecordForm.remark = row.remark |
| | | this.thisShowIndex = 12 |
| | | this.dialogshowArr[12].show = true |
| | | }, |
| | | editRemarkInfo(row) { |
| | |
| | | this.remarkInfoForm.modifier = row.modifier |
| | | this.remarkInfoForm.delFlag = row.delFlag |
| | | this.remarkInfoForm.version = row.version |
| | | |
| | | this.thisShowIndex = 13 |
| | | this.dialogshowArr[13].show = true |
| | | }, |
| | | gzadd(index) { |
| | |
| | | goAnchor: function(type) { |
| | | let item = 1 |
| | | this.item = type |
| | | // 根据点击的菜单懒加载对应数据 |
| | | switch (type) { |
| | | case 'jbxx': |
| | | item = 0 |
| | | // 基本信息 - 已加载 |
| | | break |
| | | case 'gzjl': |
| | | item = 1 |
| | | // 工作经历 - 懒加载 |
| | | if (!this.workExperienceData || this.workExperienceData.length === 0) { |
| | | this.initList() |
| | | } |
| | | break |
| | | case 'tjxx': |
| | | item = 2 |
| | | // 体检信息 - 懒加载 |
| | | if (!this.physicalExamData || this.physicalExamData.length === 0) { |
| | | this.initphysicalExamData() |
| | | } |
| | | break |
| | | case 'htxx': |
| | | item = 3 |
| | | // 合同信息 - 懒加载 |
| | | if (!this.contractInfoData || this.contractInfoData.length === 0) { |
| | | this.initcontractInfoData() |
| | | } |
| | | break |
| | | case 'tgjl': |
| | | item = 4 |
| | | // 调岗记录 - 懒加载 |
| | | if (!this.jobChangeData || this.jobChangeData.length === 0) { |
| | | this.initjobChangeData() |
| | | } |
| | | break |
| | | case 'qjjl': |
| | | item = 5 |
| | | // 请假记录 - 懒加载 |
| | | if (!this.leaveInfoData || this.leaveInfoData.length === 0) { |
| | | this.initleaveInfoData() |
| | | } |
| | | break |
| | | case 'czsq': |
| | | item = 6 |
| | | // 辞职申请 - 懒加载 |
| | | if (!this.resignData || this.resignData.length === 0) { |
| | | this.initresignData() |
| | | } |
| | | break |
| | | case 'lzdykq': |
| | | item = 7 |
| | | // 离职当月考勤 - 懒加载 |
| | | if (!this.dimissionAttendData || this.dimissionAttendData.length === 0) { |
| | | this.initdimissionAttendData() |
| | | } |
| | | break |
| | | case 'rlzjl': |
| | | item = 8 |
| | | // 入离职记录 - 懒加载 |
| | | if (!this.dimissionLogData || this.dimissionLogData.length === 0) { |
| | | this.initdimissionLogData() |
| | | } |
| | | break |
| | | case 'syjlq': |
| | | item = 9 |
| | | // 失业金领取 - 懒加载 |
| | | if (!this.unemploymentData || this.unemploymentData.length === 0) { |
| | | this.initunemploymentData() |
| | | } |
| | | break |
| | | case 'sbsq': |
| | | item = 10 |
| | | // 社保申请 - 懒加载 |
| | | if (!this.insuranceData || this.insuranceData.length === 0) { |
| | | this.initinsuranceData() |
| | | } |
| | | break |
| | | case 'ywxaj': |
| | | item = 11 |
| | | // 意外险案件 - 懒加载 |
| | | if (!this.accidentCasesData || this.accidentCasesData.length === 0) { |
| | | this.initaccidentCasesData() |
| | | } |
| | | break |
| | | case 'gsaj': |
| | | item = 12 |
| | | // 工伤案件 - 懒加载 |
| | | if (!this.occupationalData || this.occupationalData.length === 0) { |
| | | this.initoccupationalData() |
| | | } |
| | | break |
| | | case 'lzaj': |
| | | item = 13 |
| | | // 仲裁案件 - 懒加载 |
| | | if (!this.laborTroubleData || this.laborTroubleData.length === 0) { |
| | | this.initlaborTroubleData() |
| | | } |
| | | break |
| | | case 'bljl': |
| | | item = 14 |
| | | // 不良记录 - 懒加载 |
| | | if (!this.badRecordData || this.badRecordData.length === 0) { |
| | | this.initbadRecordData() |
| | | } |
| | | break |
| | | case 'bz': |
| | | item = 15 |
| | | // 备注 - 懒加载 |
| | | if (!this.remarkInfoData || this.remarkInfoData.length === 0) { |
| | | this.initremarkInfoData() |
| | | } |
| | | break |
| | | case 'jljt': |
| | | item = 16 |
| | | // 记录截图及相关附件 - 已在initlabel中加载 |
| | | break |
| | | } |
| | | this.$nextTick(() => { |
| | |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .conDetails { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .conDetails { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .dadetails { |
| | | width: 220px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | .dadetails { |
| | | width: 220px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | |
| | | .jbxxImg { |
| | | width: 100px; |
| | | height: 80px; |
| | | } |
| | | |
| | | .title-da { |
| | | padding-top: 8px; |
| | | font-weight: 700; |
| | | color: #333; |
| | | height: 40px; |
| | | } |
| | | |
| | | .jbxxImg { |
| | | width: 100px; |
| | | height: 80px; |
| | | } |
| | | |
| | | .boxDetails { |
| | | flex: 1; |
| | | padding: 10px; |
| | | font-size: 16px; |
| | | height: 90vh; |
| | | overflow-y: scroll; |
| | | |
| | | .jbxxTitle { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | padding-left: 15px; |
| | | //border-left: 4px solid #a00515; |
| | | margin: 40px 0 20px; |
| | | color: #000; |
| | | position: relative; |
| | | } |
| | | |
| | | .jbxx .jbxxTitle { |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .jbxxTitle::before { |
| | | content: ''; |
| | | position: absolute; |
| | | left: -10px; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | background-color: #a00515; |
| | | border-radius: 50%; |
| | | display: inline-block; |
| | | height: 15px; |
| | | width: 15px; |
| | | } |
| | | |
| | | .jbxxTitle::after { |
| | | content: ''; |
| | | position: absolute; |
| | | left: 100px; |
| | | top: 50%; |
| | | display: inline-block; |
| | | width: 80%; |
| | | height: 1px; |
| | | border: 1px dashed #ccc; |
| | | } |
| | | |
| | | .el-table__header { |
| | | width: 100%; |
| | | } |
| | | |
| | | //.jbxx{ |
| | | // /deep/.el-form-item{ |
| | | // display: flex; |
| | | // } |
| | | // /deep/.el-form-item__label{ |
| | | // white-space: nowrap; |
| | | // width: 100px!important; |
| | | // } |
| | | // /deep/.el-form-item__content{ |
| | | // margin-left: 10px!important; |
| | | // width: 80%!important; |
| | | // } |
| | | // .formjbxx{ |
| | | // display: flex; |
| | | // flex-wrap: wrap; |
| | | // } |
| | | //} |
| | | |
| | | } |
| | | } |
| | | |
| | | .el-select { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-autocomplete { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-date-editor.el-input, |
| | | .el-date-editor.el-input__inner { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-main { |
| | | margin-top: 2%; |
| | | } |
| | | |
| | | .app-main { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .el-button, |
| | | .el-button--primary { |
| | | background: #a32c30; |
| | | border-color: #a32c30; |
| | | color: #fff; |
| | | outline: none; |
| | | } |
| | | |
| | | .zs-main .text-header { |
| | | line-height: 40px; |
| | | } |
| | | |
| | | .el-card { |
| | | border: none; |
| | | } |
| | | |
| | | .el-input-number { |
| | | width: 100%; |
| | | } |
| | | |
| | | .clearfix:before, |
| | | .clearfix:after { |
| | | display: table; |
| | | content: ''; |
| | | } |
| | | |
| | | .clearfix:after { |
| | | clear: both; |
| | | } |
| | | |
| | | .add-folder { |
| | | text-align: initial; |
| | | } |
| | | |
| | | .zs-main { |
| | | .search-title { |
| | | height: 50px; |
| | | |
| | | .search { |
| | | position: relative; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | } |
| | | |
| | | .title { |
| | | position: relative; |
| | | top: 40%; |
| | | transform: translateY(-50%); |
| | | } |
| | | |
| | | .zs-title { |
| | | border-left: 4px solid #a32c30; |
| | | padding-left: 10px; |
| | | font-size: 16px; |
| | | } |
| | | .title-da { |
| | | padding-top: 8px; |
| | | font-weight: 700; |
| | | color: #333; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .add-folder-but { |
| | | background: #fff !important; |
| | | color: #a32c30 !important; |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .boxDetails { |
| | | flex: 1; |
| | | padding: 10px; |
| | | font-size: 16px; |
| | | height: 90vh; |
| | | overflow-y: scroll; |
| | | |
| | | .jbxxTitle, .jbxxTitle2 { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | padding-left: 15px; |
| | | //border-left: 4px solid #a00515; |
| | | margin: 30px 0 20px; |
| | | color: #000; |
| | | position: relative; |
| | | } |
| | | |
| | | padding: 0 15px 0 15px; |
| | | |
| | | .text-header { |
| | | line-height: 60px; |
| | | .jbxx .jbxxTitle { |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .uploading-image { |
| | | .jbxxTitle::before, |
| | | .jbxxTitle2::before { |
| | | content: ''; |
| | | position: absolute; |
| | | left: -10px; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | background-color: #a00515; |
| | | border-radius: 50%; |
| | | display: inline-block; |
| | | height: 15px; |
| | | width: 15px; |
| | | } |
| | | |
| | | .jbxxTitle::after { |
| | | |
| | | content: ''; |
| | | position: absolute; |
| | | left: 100px; |
| | | top: 50%; |
| | | display: inline-block; |
| | | width: 80%; |
| | | height: 1px; |
| | | border: 1px dashed #ccc; |
| | | } |
| | | |
| | | .el-table__header { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: block; |
| | | } |
| | | |
| | | //.jbxx{ |
| | | // /deep/.el-form-item{ |
| | | // display: flex; |
| | | // } |
| | | // /deep/.el-form-item__label{ |
| | | // white-space: nowrap; |
| | | // width: 100px!important; |
| | | // } |
| | | // /deep/.el-form-item__content{ |
| | | // margin-left: 10px!important; |
| | | // width: 80%!important; |
| | | // } |
| | | // .formjbxx{ |
| | | // display: flex; |
| | | // flex-wrap: wrap; |
| | | // } |
| | | //} |
| | | |
| | | } |
| | | } |
| | | |
| | | .el-select { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-autocomplete { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-date-editor.el-input, |
| | | .el-date-editor.el-input__inner { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-main { |
| | | margin-top: 2%; |
| | | } |
| | | |
| | | .app-main { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .el-button, |
| | | .el-button--primary { |
| | | background: #a32c30; |
| | | border-color: #a32c30; |
| | | color: #fff; |
| | | outline: none; |
| | | } |
| | | |
| | | .zs-main .text-header { |
| | | line-height: 40px; |
| | | } |
| | | |
| | | .el-card { |
| | | border: none; |
| | | } |
| | | |
| | | .el-input-number { |
| | | width: 100%; |
| | | } |
| | | |
| | | .clearfix:before, |
| | | .clearfix:after { |
| | | display: table; |
| | | content: ''; |
| | | } |
| | | |
| | | .clearfix:after { |
| | | clear: both; |
| | | } |
| | | |
| | | .add-folder { |
| | | text-align: initial; |
| | | } |
| | | |
| | | .zs-main { |
| | | .search-title { |
| | | height: 50px; |
| | | |
| | | .search { |
| | | position: relative; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | } |
| | | |
| | | .title { |
| | | position: relative; |
| | | top: 40%; |
| | | transform: translateY(-50%); |
| | | } |
| | | |
| | | .zs-title { |
| | | border-left: 4px solid #a32c30; |
| | | padding-left: 10px; |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | |
| | | .el-timeline-item__timestamp { |
| | | font-size: 15px; |
| | | color: #000; |
| | | .add-folder-but { |
| | | background: #fff !important; |
| | | color: #a32c30 !important; |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | /* 设置带边框的checkbox,选中后边框的颜色 */ |
| | | .myRedCheckBox.is-bordered.is-checked { |
| | | border-color: #a32c30; |
| | | padding: 0 15px 0 15px; |
| | | |
| | | .text-header { |
| | | line-height: 60px; |
| | | } |
| | | |
| | | /* 设置选中后的文字颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-checked + .el-checkbox__label { |
| | | color: #a32c30; |
| | | .uploading-image { |
| | | width: 70%; |
| | | height: 70%; |
| | | display: block; |
| | | margin: 0 auto; |
| | | } |
| | | } |
| | | |
| | | /* 设置选中后对勾框的边框和背景颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-checked .el-checkbox__inner, |
| | | .myRedCheckBox .el-checkbox__input.is-indeterminate .el-checkbox__inner { |
| | | border-color: #a32c30; |
| | | background-color: #a32c30; |
| | | } |
| | | .el-timeline-item__timestamp { |
| | | font-size: 15px; |
| | | color: #000; |
| | | } |
| | | |
| | | /* 设置checkbox获得焦点后,对勾框的边框颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-focus .el-checkbox__inner { |
| | | border-color: #a32c30; |
| | | } |
| | | /* 设置带边框的checkbox,选中后边框的颜色 */ |
| | | .myRedCheckBox.is-bordered.is-checked { |
| | | border-color: #a32c30; |
| | | } |
| | | |
| | | /* 设置鼠标经过对勾框,对勾框边框的颜色 */ |
| | | .myRedCheckBox .el-checkbox__inner:hover { |
| | | border-color: #a32c30; |
| | | } |
| | | /* 设置选中后的文字颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-checked + .el-checkbox__label { |
| | | color: #a32c30; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | /* 设置选中后对勾框的边框和背景颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-checked .el-checkbox__inner, |
| | | .myRedCheckBox .el-checkbox__input.is-indeterminate .el-checkbox__inner { |
| | | border-color: #a32c30; |
| | | background-color: #a32c30; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409eff; |
| | | } |
| | | /* 设置checkbox获得焦点后,对勾框的边框颜色 */ |
| | | .myRedCheckBox .el-checkbox__input.is-focus .el-checkbox__inner { |
| | | border-color: #a32c30; |
| | | } |
| | | |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 150px; |
| | | height: 150px; |
| | | line-height: 150px; |
| | | text-align: center; |
| | | } |
| | | /* 设置鼠标经过对勾框,对勾框边框的颜色 */ |
| | | .myRedCheckBox .el-checkbox__inner:hover { |
| | | border-color: #a32c30; |
| | | } |
| | | |
| | | .myRedCheckBox .el-checkbox__label { |
| | | width: 90%; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .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: 28px; |
| | | color: #8c939d; |
| | | width: 150px; |
| | | height: 150px; |
| | | line-height: 150px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .avatar { |
| | | width: 150px; |
| | | height: 150px; |
| | | display: block; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload-dragger .el-icon-upload { |
| | | margin: 20px 0 16px; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload-dragger { |
| | | border: none; |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | |
| | | // 头像包装器 |
| | | .avatar-wrapper { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-bottom: 10px; |
| | | |
| | | .avatar { |
| | | width: 150px; |
| | | height: 150px; |
| | | display: block; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload-dragger .el-icon-upload { |
| | | margin: 20px 0 16px; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload-dragger { |
| | | border: none; |
| | | width: 100px; |
| | | height: 100px; |
| | | } |
| | | |
| | | .table-button { |
| | | color: #a00515; |
| | | display: inline-block; |
| | | width: 50%; |
| | | border-radius: 4px; |
| | | cursor: pointer; |
| | | object-fit: cover; |
| | | border: 1px dashed #d9d9d9; |
| | | |
| | | &:hover { |
| | | border-color: #409eff; |
| | | } |
| | | } |
| | | |
| | | .filter-item { |
| | | margin-bottom: 10px; |
| | | position: absolute; |
| | | right: 20px; |
| | | } |
| | | .avatar-uploader-placeholder { |
| | | width: 150px; |
| | | height: 150px; |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 4px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | background-color: #fafafa; |
| | | |
| | | .jbxx-ul { |
| | | margin: 0; |
| | | font-size: 14px; |
| | | list-style: none; |
| | | padding-left: 10px !important; |
| | | |
| | | >li:last-of-type { |
| | | > div:first-of-type { |
| | | position: absolute; |
| | | left: 4px; |
| | | height: 100%; |
| | | border-left: 0; |
| | | } |
| | | &:hover { |
| | | border-color: #409eff; |
| | | background-color: #f0f9ff; |
| | | } |
| | | |
| | | li { |
| | | padding-bottom: 5px; |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | line-height: 1; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .upload-tip { |
| | | font-size: 12px; |
| | | color: #8c939d; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 上传方式选择容器 |
| | | .upload-choice-container { |
| | | display: flex; |
| | | justify-content: space-around; |
| | | padding: 20px 0; |
| | | |
| | | .upload-choice-item { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | width: 120px; |
| | | height: 120px; |
| | | border: 2px dashed #d9d9d9; |
| | | border-radius: 8px; |
| | | cursor: pointer; |
| | | transition: all 0.3s; |
| | | |
| | | &:hover { |
| | | border-color: #409eff; |
| | | background-color: #f5f7fa; |
| | | } |
| | | |
| | | i { |
| | | font-size: 40px; |
| | | color: #409eff; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | span { |
| | | font-size: 14px; |
| | | color: #606266; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 摄像头容器 |
| | | .camera-container { |
| | | text-align: center; |
| | | |
| | | .camera-video { |
| | | width: 100%; |
| | | max-width: 600px; |
| | | height: auto; |
| | | border-radius: 4px; |
| | | background: #000; |
| | | } |
| | | |
| | | .captured-image { |
| | | width: 100%; |
| | | max-width: 600px; |
| | | height: auto; |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | |
| | | .table-button { |
| | | color: #a00515; |
| | | display: inline-block; |
| | | width: 45%; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .filter-item { |
| | | margin-bottom: 10px; |
| | | position: absolute; |
| | | right: 20px; |
| | | } |
| | | |
| | | .jbxx-ul { |
| | | margin-top: 10px; |
| | | font-size: 14px; |
| | | list-style: none; |
| | | padding-left: 10px !important; |
| | | |
| | | > li:last-of-type { |
| | | > div:first-of-type { |
| | | position: absolute; |
| | | left: 4px; |
| | | height: 100%; |
| | | border-left: 0; |
| | | } |
| | | } |
| | | |
| | | li { |
| | | padding-bottom: 5px; |
| | | position: relative; |
| | | height: 35px; |
| | | box-sizing: border-box; |
| | | |
| | | > div:first-of-type { |
| | | position: absolute; |
| | | left: 4px; |
| | | height: 100%; |
| | | border-left: 2px solid #dfe4ed; |
| | | } |
| | | |
| | | > div:last-of-type { |
| | | color: #333; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 35px; |
| | | box-sizing: border-box; |
| | | padding-left: 28px !important; |
| | | |
| | | > div:first-of-type { |
| | | position: absolute; |
| | | left: 4px; |
| | | height: 100%; |
| | | border-left: 2px solid #dfe4ed; |
| | | } |
| | | |
| | | > div:last-of-type { |
| | | color: #333; |
| | | &:hover { |
| | | color: #a00515; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 35px; |
| | | box-sizing: border-box; |
| | | padding-left: 28px !important; |
| | | &:hover { |
| | | color: #a00515; |
| | | cursor: pointer; |
| | | } |
| | | .light { |
| | | color: #a00515; |
| | | } |
| | | } |
| | | |
| | | .item-node { |
| | | left: -1px; |
| | | width: 12px; |
| | | height: 12px; |
| | | position: absolute; |
| | | background-color: #dfe4ed; |
| | | border-radius: 50%; |
| | | display: -webkit-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | -webkit-box-pack: center; |
| | | -ms-flex-pack: center; |
| | | justify-content: center; |
| | | -webkit-box-align: center; |
| | | -ms-flex-align: center; |
| | | align-items: center; |
| | | .light { |
| | | color: #a00515; |
| | | } |
| | | } |
| | | |
| | | .item-node { |
| | | left: -1px; |
| | | width: 12px; |
| | | height: 12px; |
| | | position: absolute; |
| | | background-color: #dfe4ed; |
| | | border-radius: 50%; |
| | | display: -webkit-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | -webkit-box-pack: center; |
| | | -ms-flex-pack: center; |
| | | justify-content: center; |
| | | -webkit-box-align: center; |
| | | -ms-flex-align: center; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |
| | | <style lang="scss"> |
| | |
| | | button.el-dialog__headerbtn { |
| | | height: 30px; |
| | | width: 30px; |
| | | background-color: #333; |
| | | opacity: 0.4; |
| | | background-color: #a00515; |
| | | opacity: 0.8; |
| | | line-height: 30px; |
| | | border-radius: 50%; |
| | | |
| | | i { |
| | | color: #fff !important; |
| | | } |
| | | |
| | | &:hover { |
| | | opacity: 0.5; |
| | | } |
| | | } |
| | | |
| | | .el-pagination { |
| | | width: 98%; |
| | | text-align: right; |
| | | } |
| | | |
| | | .el-aside { |
| | | height: 750px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | li.el-timeline-item { |
| | | padding-bottom: 1px; |
| | | height: 35px; |
| | | } |
| | | |
| | | .el-dialog__title { |
| | | font-weight: 700; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | padding: 10px 20px; |
| | | } |
| | | } |
| | | .el-dialog.is-fullscreen { |
| | | overflow: hidden; |
| | | |
| | | .el-dialog.is-fullscreen { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .formjbxx { |
| | | .el-input.is-disabled .el-input__inner { |
| | | background-color: #fff !important; |
| | | color: #333 !important; |
| | | } |
| | | } |
| | | |
| | | .pri-del-btn { |
| | | background-color: rgb(64, 158, 255); |
| | | border-color: rgb(64, 158, 255); |
| | | } |
| | | </style> |
| | | |