|
@@ -52,13 +52,62 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['newstaff:tnNew:add']"
|
|
|
+ >新增</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ size="mini"
|
|
|
+ :disabled="single"
|
|
|
+ @click="handleUpdate"
|
|
|
+ v-hasPermi="['newstaff:tnNew:edit']"
|
|
|
+ >修改</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ size="mini"
|
|
|
+ :disabled="multiple"
|
|
|
+ @click="handleDelete"
|
|
|
+ v-hasPermi="['newstaff:tnNew:remove']"
|
|
|
+ >删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :span="1.5">-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- type="info"-->
|
|
|
+ <!-- icon="el-icon-upload2"-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- @click="handleImport"-->
|
|
|
+ <!-- v-hasPermi="['newstaff:tnNew:edit']"-->
|
|
|
+ <!-- >导入</el-button>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ icon="el-icon-download"
|
|
|
+ size="mini"
|
|
|
+ @click="handleExport"
|
|
|
+ v-hasPermi="['newstaff:tnNew:export']"
|
|
|
+ >导出</el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="tnNewList" @selection-change="handleSelectionChange" :height="clientHeight"
|
|
|
- border>
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
+ <el-table v-loading="loading" :data="tnNewList" @selection-change="handleSelectionChange" :height="clientHeight" border>
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
<!-- <el-table-column label="培训员工编号" align="center" prop="staffId" :show-overflow-tooltip="true"/>-->
|
|
|
- <el-table-column label="新员工" align="center" prop="staffName" width="100"/>
|
|
|
- <el-table-column label="培训状态" align="center" prop="planStatus" width="120" :formatter="planStatusFormat">
|
|
|
+ <el-table-column label="新员工" align="center" prop="staffName" width="100" />
|
|
|
+ <el-table-column label="培训状态" align="center" prop="planStatus" width="120" :formatter="planStatusFormat" >
|
|
|
<template slot-scope="scope">
|
|
|
<el-tag v-if="scope.row.planStatus == 2" size="small" type="warning">待考试</el-tag>
|
|
|
<el-tag v-if="scope.row.planStatus == 3" size="small" type="success">已完成</el-tag>
|
|
@@ -84,7 +133,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column label="导师员工编号" align="center" prop="mentorStaffId" :show-overflow-tooltip="true"/>-->
|
|
|
- <el-table-column label="导师" align="center" prop="mentorStaffName" width="100"/>
|
|
|
+ <el-table-column label="导师" align="center" prop="mentorStaffName" width="100" />
|
|
|
<el-table-column label="岗位" align="center" prop="planType" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.planType == 1" size="small" type="success">裂解</span>
|
|
@@ -95,51 +144,83 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="三级教育记录卡" align="center" prop="three" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-three')"
|
|
|
- circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-three')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column label="上岗能力评测表" align="center" prop="firstplan-score" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;"
|
|
|
- @click="handleDoc(scope.row , 'tsNew-firstplan-score')" circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-firstplan-score')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="导师提名表" align="center" prop="agreement" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-teacher-order')"
|
|
|
- circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDoc(scope.row , 'tsNew-teacher-order')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="带徒协议" align="center" prop="agreement" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;"
|
|
|
- @click="handleDownloadWord(scope.row, 'mentorAgreement')" circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDownloadWord(scope.row, 'mentorAgreement')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="带徒目标" align="center" prop="target" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDownloadWord(scope.row, 'targetPlan')"
|
|
|
- circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDownloadWord(scope.row, 'targetPlan')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="培训考评" align="center" prop="tnNew-score" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button icon="el-icon-folder" style="color:#6e96fa;"
|
|
|
- @click="handleDownloadWord(scope.row, 'appraisalForm')" circle></el-button>
|
|
|
+ <el-button icon="el-icon-folder" style="color:#6e96fa;" @click="handleDownloadWord(scope.row, 'appraisalForm')" circle></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="100"/>
|
|
|
- <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
|
|
+ <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-view"
|
|
|
@click="planList(scope.row)"
|
|
|
- >培训计划
|
|
|
- </el-button>
|
|
|
+ >培训计划</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['newstaff:tnNew:edit']"
|
|
|
+ >修改 </el-button>
|
|
|
+ <!-- <el-dropdown size="mini">-->
|
|
|
+ <!-- <span class="el-dropdown-link">-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- type="text"-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- icon="el-icon-download"-->
|
|
|
+ <!-- >下载<i class="el-icon-arrow-down"></i></el-button>-->
|
|
|
+ <!-- </span>-->
|
|
|
+ <!-- <el-dropdown-menu slot="dropdown">-->
|
|
|
+ <!-- <el-dropdown-item>-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- type="text"-->
|
|
|
+ <!-- @click="handleDownloadWord(scope.row, 'mentorAgreement')"-->
|
|
|
+ <!-- >师徒协议</el-button>-->
|
|
|
+ <!-- </el-dropdown-item>-->
|
|
|
+ <!-- <el-dropdown-item>-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- type="text"-->
|
|
|
+ <!-- @click="handleDownloadWord(scope.row, 'targetPlan')"-->
|
|
|
+ <!-- >导师带徒目标及计划</el-button>-->
|
|
|
+ <!-- </el-dropdown-item>-->
|
|
|
+ <!-- <el-dropdown-item>-->
|
|
|
+ <!-- <el-button-->
|
|
|
+ <!-- size="mini"-->
|
|
|
+ <!-- type="text"-->
|
|
|
+ <!-- @click="handleDownloadWord(scope.row, 'appraisalForm')"-->
|
|
|
+ <!-- >导师带徒考评表</el-button>-->
|
|
|
+ <!-- </el-dropdown-item>-->
|
|
|
+ <!-- </el-dropdown-menu>-->
|
|
|
+ <!-- </el-dropdown>-->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -155,8 +236,8 @@
|
|
|
<!-- 添加或修改新员工培训对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="培训员工" prop="mentorStaffId">
|
|
|
- <el-select v-model="form.staffId" filterable :placeholder="$t('请选择')+$t('培训员工')">
|
|
|
+ <el-form-item label="培训员工" prop="staffId">
|
|
|
+ <el-select v-model="form.staffId" filterable :placeholder="$t('请选择')+$t('培训员工')" :disabled="isEdit">
|
|
|
<el-option
|
|
|
v-for="item in userOption"
|
|
|
:key="item.staffid"
|
|
@@ -166,8 +247,8 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="培训状态">
|
|
|
- <el-select v-model="form.planStatus" placeholder="请选择培训状态">
|
|
|
+ <el-form-item label="培训状态" prop="planStatus">
|
|
|
+ <el-select v-model="form.planStatus" placeholder="请选择培训状态" disabled>
|
|
|
<el-option
|
|
|
v-for="dict in planStatusOptions"
|
|
|
:key="dict.dictValue"
|
|
@@ -176,20 +257,16 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开始时间" prop="startdate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="form.startdate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择开始时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="结束时间" prop="enddate">
|
|
|
- <el-date-picker clearable size="small" style="width: 200px"
|
|
|
- v-model="form.enddate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="选择结束时间">
|
|
|
+ <el-form-item label="培训时间" prop="trainingDate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.trainingDate"
|
|
|
+ type="daterange"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ align="right">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="导师员工" prop="mentorStaffId">
|
|
@@ -208,27 +285,23 @@
|
|
|
<el-radio
|
|
|
key="1"
|
|
|
:label="1"
|
|
|
- >裂解
|
|
|
- </el-radio>
|
|
|
+ >裂解</el-radio>
|
|
|
<el-radio
|
|
|
key="2"
|
|
|
:label="2"
|
|
|
- >压缩
|
|
|
- </el-radio>
|
|
|
+ >压缩</el-radio>
|
|
|
<el-radio
|
|
|
key="3"
|
|
|
:label="3"
|
|
|
- >分离
|
|
|
- </el-radio>
|
|
|
+ >分离</el-radio>
|
|
|
<el-radio
|
|
|
key="4"
|
|
|
:label="4"
|
|
|
- >芳烃
|
|
|
- </el-radio>
|
|
|
+ >芳烃</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
- <el-input v-model="form.remarks" placeholder="请输入备注"/>
|
|
|
+ <el-input v-model="form.remarks" placeholder="请输入备注" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -256,8 +329,7 @@
|
|
|
<em>点击上传</em>
|
|
|
</div>
|
|
|
<div class="el-upload__tip" slot="tip">
|
|
|
- <el-checkbox v-model="upload.updateSupport"/>
|
|
|
- 是否更新已经存在的用户数据
|
|
|
+ <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
|
|
|
<el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
|
|
|
</div>
|
|
|
<div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
|
|
@@ -268,8 +340,7 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 报告附件对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" v-dialogDrag :title="doc.title" :visible.sync="doc.open" width="1000px"
|
|
|
- append-to-body>
|
|
|
+ <el-dialog :close-on-click-modal="false" v-dialogDrag :title="doc.title" :visible.sync="doc.open" width="1000px" append-to-body >
|
|
|
<el-upload v-hasPermi="['training:trainingrecords:file']"
|
|
|
ref="doc"
|
|
|
:limit="50"
|
|
@@ -290,13 +361,12 @@
|
|
|
<el-table :data="doc.commonfileList" border>
|
|
|
<el-table-column :label="$t('文件名')" align="center" prop="fileName" :show-overflow-tooltip="true">
|
|
|
<template slot-scope="scope">
|
|
|
- <a class="link-type" @click="handleDownload(scope.row)">
|
|
|
+ <a class="link-type" @click="handleDownload(scope.row)">
|
|
|
<span>{{ scope.row.fileName }}</span>
|
|
|
</a>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true"
|
|
|
- width="80"/>
|
|
|
+ <el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true" width="80" />
|
|
|
<el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>
|
|
|
<!-- <el-table-column :label="$t('培训日期')" align="center" prop="pDate" width="150">-->
|
|
|
<!-- <template slot-scope="scope">-->
|
|
@@ -318,38 +388,29 @@
|
|
|
type="text"
|
|
|
icon="el-icon-view"
|
|
|
@click="handleSee(scope.row)"
|
|
|
- >{{ $t('预览') }}
|
|
|
- </el-button>
|
|
|
- <el-button v-hasPermi="['training:trainingrecords:file']" type="text" size="small" v-if="scope.row.isEdit"
|
|
|
- @click="save(scope.row)">保存
|
|
|
- </el-button>
|
|
|
- <el-button type="text" size="small" v-if="scope.row.isEdit" @click="cancelFile(scope.row, scope.$index)">
|
|
|
- 取消
|
|
|
- </el-button>
|
|
|
+ >{{ $t('预览') }}</el-button>
|
|
|
+ <el-button v-hasPermi="['training:trainingrecords:file']" type="text" size="small" v-if="scope.row.isEdit" @click="save(scope.row)">保存</el-button>
|
|
|
+ <el-button type="text" size="small" v-if="scope.row.isEdit" @click="cancelFile(scope.row, scope.$index)">取消</el-button>
|
|
|
<!-- <el-button v-hasPermi="['training:trainingrecords:file']" v-if="!scope.row.isEdit" @click="edit(scope.row)" icon="el-icon-edit" type="text" size="mini">编辑</el-button>-->
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-download"
|
|
|
@click="handleDownload(scope.row)"
|
|
|
- >{{ $t('下载') }}
|
|
|
- </el-button>
|
|
|
+ >{{ $t('下载') }}</el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDeleteDoc(scope.row)"
|
|
|
v-hasPermi="['training:trainingrecords:file']"
|
|
|
- >{{ $t('删除') }}
|
|
|
- </el-button>
|
|
|
+ >{{ $t('删除') }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px"
|
|
|
- append-to-body>
|
|
|
+ <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px" append-to-body>
|
|
|
<div style="margin-top: -60px;float: right;margin-right: 40px;">
|
|
|
- <el-button size="mini" type="text" @click="openPdf">{{ $t('新页面打开PDF') }}</el-button>
|
|
|
- </div>
|
|
|
+ <el-button size="mini" type="text" @click="openPdf">{{$t('新页面打开PDF')}}</el-button></div>
|
|
|
<div style="margin-top: -30px">
|
|
|
<iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
|
|
|
</div>
|
|
@@ -368,6 +429,7 @@ import {
|
|
|
addTsnew,
|
|
|
delTsnew,
|
|
|
exportTsnew,
|
|
|
+ genAppraisalFormWord,
|
|
|
getTsnew,
|
|
|
importTemplate,
|
|
|
listTsnew,
|
|
@@ -379,12 +441,43 @@ import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
import {listStaff} from "@/api/training/newstaff/tnNew";
|
|
|
import {allFileList, delCommonfile} from "@/api/common/commonfile";
|
|
|
+import { Loading } from 'element-ui';
|
|
|
+import {date} from "mockjs/src/mock/random/date";
|
|
|
+import {listUserNoPage} from "@/api/system/user";
|
|
|
+import {listStaffmgrByDeptAndTeam} from "@/api/plant/staffmgr";
|
|
|
|
|
|
export default {
|
|
|
name: "Tsnew",
|
|
|
- components: {Treeselect},
|
|
|
+ components: { Treeselect },
|
|
|
data() {
|
|
|
return {
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ end.setTime(start.getTime() + 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ end.setTime(start.getTime() + 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ },{
|
|
|
+ text: '最近一年',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ end.setTime(start.getTime() + 3600 * 1000 * 24 * 365);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, ]
|
|
|
+ },
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
@@ -403,12 +496,12 @@ export default {
|
|
|
title: "",
|
|
|
// 部门树选项
|
|
|
deptOptions: undefined,
|
|
|
- clientHeight: 300,
|
|
|
+ clientHeight:300,
|
|
|
// 培训状态字典
|
|
|
planStatusOptions: [],
|
|
|
// 培训类型 1-新员工 2-转岗字典
|
|
|
planTypeOptions: [],
|
|
|
- userOption: [],
|
|
|
+ userOption:[],
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
// 用户导入参数
|
|
@@ -422,7 +515,7 @@ export default {
|
|
|
// 是否更新已经存在的用户数据
|
|
|
updateSupport: 0,
|
|
|
// 设置上传的请求头部
|
|
|
- headers: {Authorization: "Bearer " + getToken()},
|
|
|
+ headers: { Authorization: "Bearer " + getToken() },
|
|
|
// 上传的地址
|
|
|
url: process.env.VUE_APP_BASE_API + "/newstaff/tsNew/importData"
|
|
|
},
|
|
@@ -440,7 +533,7 @@ export default {
|
|
|
// 报告附件上传位置编号
|
|
|
ids: 0,
|
|
|
// 设置上传的请求头部
|
|
|
- headers: {Authorization: "Bearer " + getToken()},
|
|
|
+ headers: { Authorization: "Bearer " + getToken() },
|
|
|
// 上传的地址
|
|
|
url: process.env.VUE_APP_BASE_API + "/common/commonfile/uploadFile",
|
|
|
commonfileList: null,
|
|
@@ -452,7 +545,7 @@ export default {
|
|
|
pId: null,
|
|
|
form: {}
|
|
|
},
|
|
|
- pdf: {
|
|
|
+ pdf : {
|
|
|
title: '',
|
|
|
pdfUrl: '',
|
|
|
numPages: null,
|
|
@@ -472,10 +565,24 @@ export default {
|
|
|
enddate: null,
|
|
|
planType: null,
|
|
|
},
|
|
|
+ isEdit:false,
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
- rules: {}
|
|
|
+ rules: {
|
|
|
+ mentorStaffId: [
|
|
|
+ { required: true, message: this.$t('导师') + this.$t('不能为空'), trigger: "change" }
|
|
|
+ ],
|
|
|
+ staffId: [
|
|
|
+ { required: true, message: this.$t('培训员工') + this.$t('不能为空'), trigger: "change" }
|
|
|
+ ],
|
|
|
+ trainingDate: [
|
|
|
+ { required: true, message: this.$t('培训时间') + this.$t('不能为空'), trigger: "blur" }
|
|
|
+ ],
|
|
|
+ planType: [
|
|
|
+ { required: true, message: this.$t('岗位') + this.$t('不能为空'), trigger: "change" }
|
|
|
+ ],
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
@@ -487,7 +594,7 @@ export default {
|
|
|
created() {
|
|
|
//设置表格高度对应屏幕高度
|
|
|
this.$nextTick(() => {
|
|
|
- this.clientHeight = document.body.clientHeight - 250
|
|
|
+ this.clientHeight = document.body.clientHeight -250
|
|
|
})
|
|
|
this.getList();
|
|
|
this.getTreeselect();
|
|
@@ -497,44 +604,55 @@ export default {
|
|
|
this.getDicts("training_newstaff_type").then(response => {
|
|
|
this.planTypeOptions = response.data;
|
|
|
});
|
|
|
- listStaff(this.queryParams).then(response => {
|
|
|
- this.userOption = response.data;
|
|
|
- });
|
|
|
},
|
|
|
methods: {
|
|
|
// 文件下载处理
|
|
|
handleDownloadWord(row, type) {
|
|
|
+ let name;
|
|
|
+ let url;
|
|
|
console.log(row)
|
|
|
if (type == 'mentorAgreement') {
|
|
|
- var name = row.mentorAgreementWordPath;
|
|
|
- var url = row.mentorAgreementWordPath;
|
|
|
+ name = row.mentorAgreementWordPath;
|
|
|
+ url = row.mentorAgreementWordPath;
|
|
|
+ const a = document.createElement('a')
|
|
|
+ a.setAttribute('download', name)
|
|
|
+ a.setAttribute('target', '_blank')
|
|
|
+ a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
+ a.click()
|
|
|
} else if (type == 'targetPlan') {
|
|
|
- var name = row.targetPlanWordPath;
|
|
|
- var url = row.targetPlanWordPath;
|
|
|
+ name = row.targetPlanWordPath;
|
|
|
+ url = row.targetPlanWordPath;
|
|
|
+ const a = document.createElement('a')
|
|
|
+ a.setAttribute('download', name)
|
|
|
+ a.setAttribute('target', '_blank')
|
|
|
+ a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
+ a.click()
|
|
|
} else if (type == 'appraisalForm') {
|
|
|
- var name = row.appraisalFormWordPath;
|
|
|
- var url = row.appraisalFormWordPath;
|
|
|
+ genAppraisalFormWord(row.newId).then(res=>{
|
|
|
+ name = res.msg;
|
|
|
+ url = res.msg;
|
|
|
+ console.log(url)
|
|
|
+ const a = document.createElement('a')
|
|
|
+ a.setAttribute('download', name)
|
|
|
+ a.setAttribute('target', '_blank')
|
|
|
+ a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
+ a.click()
|
|
|
+ })
|
|
|
}
|
|
|
- var suffix = url.substring(url.lastIndexOf("."), url.length);
|
|
|
- console.log(url)
|
|
|
- const a = document.createElement('a')
|
|
|
- a.setAttribute('download', name)
|
|
|
- a.setAttribute('target', '_blank')
|
|
|
- a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
- a.click()
|
|
|
},
|
|
|
/** 查询新员工培训列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
listTsnew(this.queryParams).then(response => {
|
|
|
this.tnNewList = response.rows;
|
|
|
- for (let item of this.tnNewList) {
|
|
|
+ for (const item of this.tnNewList) {
|
|
|
item.planFinish=parseInt(item.planFinish)
|
|
|
}
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
|
console.log(this.tnNewList)
|
|
|
});
|
|
|
+
|
|
|
},
|
|
|
/** 查询部门下拉树结构 */
|
|
|
getTreeselect() {
|
|
@@ -558,6 +676,7 @@ export default {
|
|
|
// 表单重置
|
|
|
reset() {
|
|
|
this.form = {
|
|
|
+ trainingDate: null,
|
|
|
newId: null,
|
|
|
staffId: null,
|
|
|
name: null,
|
|
@@ -590,44 +709,62 @@ export default {
|
|
|
// 多选框选中数据
|
|
|
handleSelectionChange(selection) {
|
|
|
this.ids = selection.map(item => item.newId)
|
|
|
- this.single = selection.length !== 1
|
|
|
+ this.single = selection.length!==1
|
|
|
this.multiple = !selection.length
|
|
|
},
|
|
|
- planList(row) {
|
|
|
+ planList(row){
|
|
|
const newId = row.newId
|
|
|
- this.$router.push("/training/bccnew/trainingPlan_s/" + newId);
|
|
|
+ this.$router.push("/training/bccnew/trainingPlan/" + newId);
|
|
|
},
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
+ this.isEdit=false;
|
|
|
this.reset();
|
|
|
this.open = true;
|
|
|
this.title = "添加新员工培训";
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
+ this.isEdit=true;
|
|
|
this.reset();
|
|
|
const newId = row.newId || this.ids
|
|
|
getTsnew(newId).then(response => {
|
|
|
+ response.data.trainingDate=[];
|
|
|
+ response.data.trainingDate[0]=new Date( response.data.startdate);
|
|
|
+ response.data.trainingDate[1]=new Date( response.data.enddate);
|
|
|
this.form = response.data;
|
|
|
this.open = true;
|
|
|
this.title = "修改新员工培训";
|
|
|
+ console.log(this.form)
|
|
|
});
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
+ let options={
|
|
|
+ text:'正在添加新员工导师带徒培训'
|
|
|
+ }
|
|
|
+ let loadingInstance = Loading.service(options);
|
|
|
+ this.form.startdate=this.form.trainingDate[0];
|
|
|
+ this.form.enddate=this.form.trainingDate[1];
|
|
|
if (this.form.newId != null) {
|
|
|
updateTsnew(this.form).then(response => {
|
|
|
this.msgSuccess("修改成功");
|
|
|
this.open = false;
|
|
|
this.getList();
|
|
|
+ this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
|
|
+ loadingInstance.close();
|
|
|
+ });
|
|
|
});
|
|
|
} else {
|
|
|
addTsnew(this.form).then(response => {
|
|
|
this.msgSuccess("新增成功");
|
|
|
this.open = false;
|
|
|
this.getList();
|
|
|
+ this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
|
|
+ loadingInstance.close();
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -640,7 +777,7 @@ export default {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
|
- }).then(function () {
|
|
|
+ }).then(function() {
|
|
|
return delTsnew(newIds);
|
|
|
}).then(() => {
|
|
|
this.getList();
|
|
@@ -654,7 +791,7 @@ export default {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
|
- }).then(function () {
|
|
|
+ }).then(function() {
|
|
|
return exportTsnew(queryParams);
|
|
|
}).then(response => {
|
|
|
this.download(response.msg);
|
|
@@ -680,7 +817,7 @@ export default {
|
|
|
this.upload.open = false;
|
|
|
this.upload.isUploading = false;
|
|
|
this.$refs.upload.clearFiles();
|
|
|
- this.$alert(response.msg, "导入结果", {dangerouslyUseHTMLString: true});
|
|
|
+ this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
|
|
|
this.getList();
|
|
|
},
|
|
|
// 提交上传文件
|
|
@@ -688,11 +825,11 @@ export default {
|
|
|
this.$refs.upload.submit();
|
|
|
},
|
|
|
/** 报告附件按钮操作 */
|
|
|
- handleDoc(row, fileType) {
|
|
|
+ handleDoc(row , fileType) {
|
|
|
this.doc.pType = fileType
|
|
|
this.doc.queryParams.pType = fileType
|
|
|
this.doc.id = row.id;
|
|
|
- this.doc.title = this.$t('附件');
|
|
|
+ this.doc.title = this.$t('附件') ;
|
|
|
this.doc.open = true;
|
|
|
this.doc.queryParams.pId = row.newId
|
|
|
this.doc.pId = row.newId
|
|
@@ -701,7 +838,7 @@ export default {
|
|
|
this.$refs.doc.clearFiles()
|
|
|
})
|
|
|
},
|
|
|
- getFileList() {
|
|
|
+ getFileList (){
|
|
|
allFileList(this.doc.queryParams).then(response => {
|
|
|
response.forEach(element => {
|
|
|
element["isEdit"] = false
|
|
@@ -720,7 +857,7 @@ export default {
|
|
|
//附件上传成功处理
|
|
|
handleFileDocSuccess(response, file, fileList) {
|
|
|
this.doc.isUploading = false;
|
|
|
- this.$alert(response.msg, this.$t('导入结果'), {dangerouslyUseHTMLString: true});
|
|
|
+ this.$alert(response.msg, this.$t('导入结果'), { dangerouslyUseHTMLString: true });
|
|
|
this.getFileList()
|
|
|
},
|
|
|
// 文件下载处理
|
|
@@ -734,14 +871,14 @@ export default {
|
|
|
a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
|
|
|
a.click()
|
|
|
},
|
|
|
- openPdf() {
|
|
|
+ openPdf(){
|
|
|
window.open(this.pdf.pdfUrl);//path是文件的全路径地址
|
|
|
},
|
|
|
- handleSee(row) {
|
|
|
+ handleSee (row){
|
|
|
// window.open(process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl);//path是文件的全路径地址
|
|
|
- this.pdf.open = true
|
|
|
+ this.pdf.open =true
|
|
|
this.pdf.title = row.fileName
|
|
|
- this.pdf.pdfUrl = process.env.VUE_APP_BASE_API + '/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
|
|
|
+ this.pdf.pdfUrl = process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl
|
|
|
},
|
|
|
/** 删除按钮操作 */
|
|
|
handleDeleteDoc(row) {
|
|
@@ -750,7 +887,7 @@ export default {
|
|
|
confirmButtonText: this.$t('确定'),
|
|
|
cancelButtonText: this.$t('取消'),
|
|
|
type: "warning"
|
|
|
- }).then(function () {
|
|
|
+ }).then(function() {
|
|
|
return delCommonfile(ids);
|
|
|
}).then(() => {
|
|
|
this.getFileList()
|