Преглед на файлове

上岗证/作业证书一览表 - 一人一档

wangggziwen преди 1 година
родител
ревизия
8b7a648d4e
променени са 1 файла, в които са добавени 558 реда и са изтрити 1 реда
  1. 558 1
      ui/src/views/training/worklicensecertificate/staffResume.vue

+ 558 - 1
ui/src/views/training/worklicensecertificate/staffResume.vue

@@ -40,77 +40,475 @@
       <div slot="header" class="clearfix">
         <span>开工锅炉上岗证</span>
       </div>
+      <el-table :data="doc.boilerfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>裂解上岗证</span>
       </div>
+      <el-table :data="doc.crackingfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>压缩上岗证</span>
       </div>
+      <el-table :data="doc.hotareafileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>分离上岗证</span>
       </div>
+      <el-table :data="doc.coldareafileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>芳烃上岗证</span>
       </div>
+      <el-table :data="doc.aromaticfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>压力容器作业证书</span>
       </div>
+      <el-table :data="doc.containerfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>压力管道作业证书</span>
       </div>
+      <el-table :data="doc.pipefileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>锅炉证</span>
       </div>
+      <el-table :data="doc.boileridfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>加氢工艺作业证书</span>
       </div>
+      <el-table :data="doc.hydrogenationfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>裂化工艺作业证书</span>
       </div>
+      <el-table :data="doc.crackingidfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>制冷与空调作业证书</span>
       </div>
+      <el-table :data="doc.refrigerationfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>班组长安全生产合格证</span>
       </div>
+      <el-table :data="doc.foremantrainfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>建筑消防作业证书</span>
       </div>
+      <el-table :data="doc.fireProtectionfileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>锅炉水质处理作业证书</span>
       </div>
+      <el-table :data="doc.waterdatefileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
     <el-card>
       <div slot="header" class="clearfix">
         <span>锅炉能效作业证书</span>
       </div>
+      <el-table :data="doc.energydatefileList" 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)">
+              <span>{{ scope.row.fileName }}</span>
+            </a>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('操作')" align="center" width="220" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              v-if="scope.row.fileName.endsWith('pdf')"
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleSee(scope.row)"
+            >{{ $t('预览') }}</el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-download"
+              @click="handleDownload(scope.row)"
+            >{{ $t('下载') }}</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
     </el-card>
+    <!-- pdf预览 -->
+    <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>
+      <div style="margin-top: -30px">
+        <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
+      </div>
+    </el-dialog>
   </el-dialog>
 </template>
 
@@ -121,7 +519,8 @@
   import {listParticipants} from "@/api/training/participants";
   import {listDevice} from "@/api/training/device";
   import { getStaffmgrByStaffid } from "@/api/plant/staffmgr";
-  import {getCommonfile} from "@/api/common/commonfile";
+  import {getCommonfile,allFileList} from "@/api/common/commonfile";
+  import { getToken } from "@/utils/auth";
 
   export default {
     name: "Resume",
@@ -205,6 +604,55 @@
         form: {},
         // 表单校验
         rules: {},
+        doc: {
+          file: "",
+          // 是否显示弹出层(报告附件)
+          open: false,
+          // 弹出层标题(报告附件)
+          title: "附件",
+          // 是否禁用上传
+          isUploading: false,
+          // 是否更新已经存在的用户数据
+          updateSupport: 0,
+          // 报告附件上传位置编号
+          ids: 0,
+          // 设置上传的请求头部
+          headers: { Authorization: "Bearer " + getToken() },
+          // 上传的地址
+          url: process.env.VUE_APP_BASE_API + "/common/commonfile/uploadFile",
+          commonfileList: null,
+          boilerfileList: [],
+          crackingfileList: [],
+          hotareafileList: [],
+          coldareafileList: [],
+          aromaticfileList: [],
+          containerfileList: [],
+          pipefileList: [],
+          boileridfileList: [],
+          hydrogenationfileList: [],
+          crackingidfileList: [],
+          refrigerationfileList: [],
+          foremantrainfileList: [],
+          fireProtectionfileList: [],
+          waterdatefileList: [],
+          energydatefileList: [],
+          queryParams: {
+            pId: null,
+            pType: 'training'
+          },
+          pType: 'training',
+          pId: null,
+          form: {}
+        },
+        pdf : {
+          title: '',
+          pdfUrl: '',
+          numPages: null,
+          open: false,
+          pageNum: 1,
+          pageTotalNum: 1,
+          loadedRatio: 0,
+        },
       };
     },
     watch: {},
@@ -243,6 +691,115 @@
           this.queryParams.employeeid = row.employeeid
           this.getNowTime()
         });
+        this.doc.id = row.id;
+        this.doc.queryParams.pId = row.id
+        this.doc.pId = row.id
+        this.getFileList();
+      },
+      getFileList (){
+        this.doc.queryParams.pType = "license-boiler"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.boilerfileList = response;
+        });
+        this.doc.queryParams.pType = "license-cracking"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.crackingfileList = response;
+        });
+        this.doc.queryParams.pType = "license-hotarea"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.hotareafileList = response;
+        });
+        this.doc.queryParams.pType = "license-coldarea"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.coldareafileList = response;
+        });
+        this.doc.queryParams.pType = "license-aromatic"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.aromaticfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-container"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.containerfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-pipe"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.pipefileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-boilerid"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.boileridfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-hydrogenation"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.hydrogenationfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-crackingid"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.crackingidfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-refrigeration"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.refrigerationfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-foremantrain"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.foremantrainfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-fireProtection"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.fireProtectionfileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-waterdate"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.waterdatefileList = response;
+        });
+        this.doc.queryParams.pType = "certificate-energydate"
+        allFileList(this.doc.queryParams).then(response => {
+          this.doc.energydatefileList = response;
+        });
+      },
+      openPdf(){
+        window.open(this.pdf.pdfUrl);//path是文件的全路径地址
+      },
+      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.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
+      },
+      // 上一页
+      prePage() {
+        let page = this.pdf.pageNum
+        page = page > 1 ? page - 1 : this.pdf.pageTotalNum
+        this.pdf.pageNum = page
+      },
+      // 下一页
+      nextPage() {
+        let page = this.pdf.pageNum
+        page = page < this.pdf.pageTotalNum ? page + 1 : 1
+        this.pdf.pageNum = page
+      },
+      //附件上传中处理
+      handleFileDocProgress(event, file, fileList) {
+        this.doc.file = file;
+        this.doc.isUploading = true;
+      },
+      //附件上传成功处理
+      handleFileDocSuccess(response, file, fileList) {
+        this.doc.isUploading = false;
+        this.$alert(response.msg, this.$t('导入结果'), { dangerouslyUseHTMLString: true });
+        this.getFileList()
+      },
+      // 文件下载处理
+      handleDownload(row) {
+        var name = row.fileName;
+        var url = row.fileUrl;
+        var suffix = url.substring(url.lastIndexOf("."), url.length);
+        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()
       },
       /** 获取当前年份 */
       getNowTime() {