|
@@ -0,0 +1,315 @@
|
|
|
+<template>
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="$t('一人一档')" :visible.sync="visible" width="1200px" append-to-body>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>基本资料</span>
|
|
|
+ </div>
|
|
|
+ <div class="el-descriptions">
|
|
|
+ <div class="el-descriptions__body">
|
|
|
+ <table class="el-descriptions__table is-bordered el-descriptions--big" style="table-layout: fixed;border: 1px solid #e6ebf5;">
|
|
|
+ <tr class="el-descriptions-row">
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label "> 姓名</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content"> {{staff.name}}</td>
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label ">部门</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content">{{unitFormat(staff)}}</td>
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label ">班组</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content">{{teamFormat(staff)}}</td>
|
|
|
+ <td colspan="1" rowspan="3" >
|
|
|
+ <img :src="photo" style="width: 150px"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="el-descriptions-row">
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label ">工号</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content">{{staff.staffid}}</td>
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label "> 性别</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content" > {{sexFormat(staff)}}</td>
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label "> 年龄</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content">{{staff.birthday}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr class="el-descriptions-row">
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label ">学历</th>
|
|
|
+ <td colspan="1" class="el-descriptions-item__cell el-descriptions-item__content">{{educationFormat(staff)}}</td>
|
|
|
+ <th colspan="1" class="el-descriptions-item__cell el-descriptions-item__label is-bordered-label ">当前岗位</th>
|
|
|
+ <td colspan="3" class="el-descriptions-item__cell el-descriptions-item__content">{{actualpostFormat(staff)}}</td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>开工锅炉上岗证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>裂解上岗证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>压缩上岗证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>分离上岗证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>芳烃上岗证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>压力容器作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>压力管道作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>锅炉证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>加氢工艺作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>裂化工艺作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>制冷与空调作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>班组长安全生产合格证</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>建筑消防作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>锅炉水质处理作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card>
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span>锅炉能效作业证书</span>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </el-dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import Treeselect from "@riophae/vue-treeselect";
|
|
|
+ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
+ import {listPlan} from "@/api/training/spec/plan";
|
|
|
+ import {listParticipants} from "@/api/training/participants";
|
|
|
+ import {listDevice} from "@/api/training/device";
|
|
|
+ import { getStaffmgrByStaffid } from "@/api/plant/staffmgr";
|
|
|
+ import {getCommonfile} from "@/api/common/commonfile";
|
|
|
+
|
|
|
+ export default {
|
|
|
+ name: "Resume",
|
|
|
+ components: {Treeselect},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // 遮罩层
|
|
|
+ loading: false,
|
|
|
+ planLoading: false,
|
|
|
+ visible: false,
|
|
|
+ // 选中数组
|
|
|
+ ids: [],
|
|
|
+ staff: {},
|
|
|
+ photo: '',
|
|
|
+ dataListSelections: [],
|
|
|
+ // 装置名称字典
|
|
|
+ plantCodeOptions: [],
|
|
|
+ // 性别字典
|
|
|
+ sexOptions: [],
|
|
|
+ // 部门字典
|
|
|
+ unitOptions: [],
|
|
|
+ // 班值字典
|
|
|
+ teamOptions: [],
|
|
|
+ // 实际岗位字典
|
|
|
+ actualpostOptions: [],
|
|
|
+ // 学历字典
|
|
|
+ educationOptions: [],
|
|
|
+ // 英语能力字典
|
|
|
+ enAbilityOptions: [],
|
|
|
+ // 特殊职能字典
|
|
|
+ specialDutyOptions: [],
|
|
|
+ // 非单个禁用
|
|
|
+ single: true,
|
|
|
+ // 非多个禁用
|
|
|
+ multiple: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: false,
|
|
|
+ // 总条数
|
|
|
+ total: 0,
|
|
|
+ // 培养计划表格数据
|
|
|
+ planList: [],
|
|
|
+ // 人员-公司级培训关系表格数据
|
|
|
+ participantsList: [],
|
|
|
+ // 人员-装置级培训关系表格数据
|
|
|
+ devicceList: [],
|
|
|
+ // 弹出层标题
|
|
|
+ title: "",
|
|
|
+ // 操作
|
|
|
+ operation: "",
|
|
|
+ // 部门树选项
|
|
|
+ deptOptions: undefined,
|
|
|
+ clientHeight: 300,
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ // 学习状态字典
|
|
|
+ studyStateOptions: [],
|
|
|
+ // 学员列表
|
|
|
+ successorOptions: [],
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ staffId: null,
|
|
|
+ plantName: null,
|
|
|
+ startDate: null,
|
|
|
+ endDate: null,
|
|
|
+ classHour: null,
|
|
|
+ studyState: null
|
|
|
+ },
|
|
|
+ queryCompanyParams: {
|
|
|
+ staffId: null,
|
|
|
+ companyId: null,
|
|
|
+ },
|
|
|
+ queryDeviceParams: {
|
|
|
+ staffId: null,
|
|
|
+ regularId: null,
|
|
|
+ year: this.getNowTime(),
|
|
|
+ trainingType: null
|
|
|
+ },
|
|
|
+ // 表单参数
|
|
|
+ form: {},
|
|
|
+ // 表单校验
|
|
|
+ rules: {},
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {},
|
|
|
+ created() {
|
|
|
+ this.getDicts("PLANT_DIVIDE").then(response => {
|
|
|
+ this.plantCodeOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("sys_user_sex").then(response => {
|
|
|
+ this.sexOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("STAFF_UNIT").then(response => {
|
|
|
+ this.unitOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("TEAM_DIVIDE").then(response => {
|
|
|
+ this.teamOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("ACTUALPOST").then(response => {
|
|
|
+ this.actualpostOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("EDUCATION").then(response => {
|
|
|
+ this.educationOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("ENGLISHABILITY").then(response => {
|
|
|
+ this.enAbilityOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getDicts("SPECIAL_DUTY").then(response => {
|
|
|
+ this.specialDutyOptions = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ init(row) {
|
|
|
+ getStaffmgrByStaffid(row.employeeid).then(response => {
|
|
|
+ this.visible = true;
|
|
|
+ this.staff = response.data
|
|
|
+ this.photo = process.env.VUE_APP_BASE_API + response.data.photo
|
|
|
+ this.queryParams.employeeid = row.employeeid
|
|
|
+ this.getNowTime()
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 获取当前年份 */
|
|
|
+ getNowTime() {
|
|
|
+ var now = new Date();
|
|
|
+ var year = now.getFullYear(); //得到年份
|
|
|
+ var defaultDate = `${year}`;
|
|
|
+ defaultDate = `${year}`
|
|
|
+ return defaultDate;
|
|
|
+ },
|
|
|
+ /** 查询培养计划列表 */
|
|
|
+ getPlanList() {
|
|
|
+ this.planLoading = true;
|
|
|
+ this.queryParams.year = this.queryDeviceParams.year
|
|
|
+ listPlan(this.queryParams).then(response => {
|
|
|
+ this.planList = response.rows;
|
|
|
+ this.total = response.total;
|
|
|
+ this.planLoading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getParticipants() {
|
|
|
+ this.queryCompanyParams.staffId = this.staff.staffid
|
|
|
+ // this.queryCompanyParams.year = this.queryDeviceParams.year
|
|
|
+ listParticipants(this.queryCompanyParams).then(response => {
|
|
|
+ this.participantsList = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getDevice() {
|
|
|
+ this.queryDeviceParams.staffId = this.staff.staffid
|
|
|
+ listDevice(this.queryDeviceParams).then(response => {
|
|
|
+ this.devicceList = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ staffPlanQuery (){
|
|
|
+ this.getPlanList()
|
|
|
+ },
|
|
|
+ // 装置名称字典翻译
|
|
|
+ plantCodeFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.plantCodeOptions, row.plantCode);
|
|
|
+ },
|
|
|
+ // 性别字典翻译
|
|
|
+ sexFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.sexOptions, row.sex);
|
|
|
+ },
|
|
|
+ // 部门字典翻译
|
|
|
+ unitFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.unitOptions, row.unit);
|
|
|
+ },
|
|
|
+ // 班值字典翻译
|
|
|
+ teamFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.teamOptions, row.team);
|
|
|
+ },
|
|
|
+ // 实际岗位字典翻译
|
|
|
+ actualpostFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.actualpostOptions, row.actualpost);
|
|
|
+ },
|
|
|
+ // 学历字典翻译
|
|
|
+ educationFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.educationOptions, row.education);
|
|
|
+ },
|
|
|
+ // 英语能力字典翻译
|
|
|
+ enAbilityFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.enAbilityOptions, row.enAbility);
|
|
|
+ },
|
|
|
+ // 特殊职能字典翻译
|
|
|
+ specialDutyFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.specialDutyOptions, row.specialDuty);
|
|
|
+ },
|
|
|
+ }
|
|
|
+ };
|
|
|
+</script>
|