|
@@ -1,325 +1,317 @@
|
|
<template>
|
|
<template>
|
|
- <div class="hc-page-box" style="backgroundcolor:white">
|
|
|
|
-
|
|
|
|
- <HcCard1 scrollbar >
|
|
|
|
-
|
|
|
|
- <div class="bannerbox" :style="`background-image: url(${testBgbig});`" v-if="isStatus">
|
|
|
|
- <div class="infobox">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="20">
|
|
|
|
- <div >
|
|
|
|
- [1]文书档案检测一般要求:DA/T 70-2018
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <!-- <el-col :span="3" :offset="1"><div style="text-align:right">历史报告</div></el-col> -->
|
|
|
|
- <el-col :span="3" :offset="1">
|
|
|
|
- <div style="text-align:right">
|
|
|
|
- <el-tooltip :visible="visible" effect="light" >
|
|
|
|
- <template #content >
|
|
|
|
- <div class="reportPop" v-if="historyRportlist.length>0" v-loading="reportLoading">
|
|
|
|
- <div class="history_box" v-for="item in historyRportlist">
|
|
|
|
|
|
+ <div class="hc-page-box" style="backgroundcolor:white">
|
|
|
|
+ <HcCard1 scrollbar>
|
|
|
|
+ <div v-if="isStatus" class="bannerbox" :style="`background-image: url(${testBgbig});`">
|
|
|
|
+ <div class="infobox">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="20">
|
|
|
|
+ <div>
|
|
|
|
+ [1]文书档案检测一般要求:DA/T 70-2018
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <!-- <el-col :span="3" :offset="1"><div style="text-align:right">历史报告</div></el-col> -->
|
|
|
|
+ <el-col :span="3" :offset="1">
|
|
|
|
+ <div style="text-align:right">
|
|
|
|
+ <el-tooltip :visible="visible" effect="light">
|
|
|
|
+ <template #content>
|
|
|
|
+ <div v-if="historyRportlist.length > 0" v-loading="reportLoading" class="reportPop">
|
|
|
|
+ <div v-for="item in historyRportlist" class="history_box">
|
|
<el-link type="primary" @click="viewHpdf(item)">{{ item.reportName }}</el-link>
|
|
<el-link type="primary" @click="viewHpdf(item)">{{ item.reportName }}</el-link>
|
|
<span class="m15">{{ item.examiningTime }}</span>
|
|
<span class="m15">{{ item.examiningTime }}</span>
|
|
-
|
|
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div v-else>暂无数据</div>
|
|
|
|
- </template>
|
|
|
|
- <el-button type="primary" @click="showReport">
|
|
|
|
- 历史报告
|
|
|
|
- </el-button>
|
|
|
|
-
|
|
|
|
- </el-tooltip>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="24">
|
|
|
|
- <div >
|
|
|
|
- [2]电子档案"四性"检测要求及其实现方法[j].浙江档案
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="24">
|
|
|
|
- <div >
|
|
|
|
- 制定系统电子文件归档真实性、完整性、可用性、安全性检测服务
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
- <div class="circlebox" @click="detection" >
|
|
|
|
- <span v-loading="detectionLoad"> 一键检测</span>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else>暂无数据</div>
|
|
|
|
+ </template>
|
|
|
|
+ <el-button type="primary" @click="showReport">
|
|
|
|
+ 历史报告
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-tooltip>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="bannerbox " :style="`background-image: url(${testBgsamll}); aspect-ratio: 1993/468;`" v-if="!isStatus">
|
|
|
|
- <div class="infobox">
|
|
|
|
- <el-row >
|
|
|
|
- <el-col :span="20">
|
|
|
|
- <div >
|
|
|
|
- [1]文书档案检测一般要求:DA/T 70-2018
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="3" :offset="1">
|
|
|
|
- <div style="text-align:right">
|
|
|
|
- <el-tooltip :visible="visible" effect="light" >
|
|
|
|
- <template #content >
|
|
|
|
- <div class="reportPop" v-if="historyRportlist.length>0" v-loading="reportLoading">
|
|
|
|
- <div class="history_box" v-for="item in historyRportlist">
|
|
|
|
- <el-link type="primary" @click="viewHpdf(item)">{{ item.reportName }}</el-link>
|
|
|
|
- <span class="m15">{{ item.examiningTime }}</span>
|
|
|
|
-
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div v-else>暂无数据</div>
|
|
|
|
- </template>
|
|
|
|
- <el-button type="primary" @click="showReport">
|
|
|
|
- 历史报告
|
|
|
|
- </el-button>
|
|
|
|
-
|
|
|
|
- </el-tooltip>
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="24">
|
|
|
|
- <div >
|
|
|
|
- [2]电子档案"四性"检测要求及其实现方法[j].浙江档案
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="24">
|
|
|
|
- <div >
|
|
|
|
- 制定系统电子文件归档真实性、完整性、可用性、安全性检测服务
|
|
|
|
- </div>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <el-tooltip
|
|
|
|
- class="box-item"
|
|
|
|
- effect="light"
|
|
|
|
- content="系统正在检测运行中,请勿终止操作"
|
|
|
|
- placement="right-start"
|
|
|
|
- :visible="activeIndex==2||activeIndex==3"
|
|
|
|
- >
|
|
|
|
- <div class="circlebox circlebox2" v-if="activeIndex===4">
|
|
|
|
- <span>100%</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="circlebox circlebox1" v-else>
|
|
|
|
- <span>{{ statusPercent }}</span>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- </el-tooltip>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="statusbox" v-if="isStatus">
|
|
|
|
- <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
- <div class="statusboxitem_top">
|
|
|
|
- <div class="statusboxitem_top_first">
|
|
|
|
-
|
|
|
|
- <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
- <i class="ri-checkbox-multiple-line"></i>
|
|
|
|
- </div>
|
|
|
|
- <div class="title">
|
|
|
|
- 真实性检测
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_top_second">
|
|
|
|
- <span>检测范围</span>
|
|
|
|
- <el-link type="success" :underline="false" @click="viewDialogTrue(1)">查看</el-link>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_bottom">
|
|
|
|
- <span>开启检测</span>
|
|
|
|
- <el-switch
|
|
|
|
- v-model="openTruevalue"
|
|
|
|
- style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
- active-value="0"
|
|
|
|
- inactive-value="1"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
- <div class="statusboxitem_top">
|
|
|
|
- <div class="statusboxitem_top_first">
|
|
|
|
-
|
|
|
|
- <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
- <i class="ri-radio-button-line"></i>
|
|
|
|
- </div>
|
|
|
|
- <div class="title">
|
|
|
|
- 完整性检测
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_top_second">
|
|
|
|
- <span>检测范围</span>
|
|
|
|
- <el-link type="success" :underline="false" @click="viewDialogTrue(2)">查看</el-link>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_bottom">
|
|
|
|
- <span>开启检测</span>
|
|
|
|
- <el-switch
|
|
|
|
- v-model="openFullvalue"
|
|
|
|
- style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
- active-value="0"
|
|
|
|
- inactive-value="1"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
- <div class="statusboxitem_top">
|
|
|
|
- <div class="statusboxitem_top_first">
|
|
|
|
-
|
|
|
|
- <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
- <i class="ri-chat-upload-fill"></i>
|
|
|
|
- </div>
|
|
|
|
- <div class="title">
|
|
|
|
- 可用性检测
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_top_second">
|
|
|
|
- <span>检测范围</span>
|
|
|
|
- <el-link type="success" :underline="false" @click="viewDialogTrue(3)">查看</el-link>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_bottom">
|
|
|
|
- <span>检测范围</span>
|
|
|
|
- <el-switch
|
|
|
|
- v-model="openUsevalue"
|
|
|
|
- style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
- active-value="0"
|
|
|
|
- inactive-value="1"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
- <div class="statusboxitem_top">
|
|
|
|
- <div class="statusboxitem_top_first">
|
|
|
|
-
|
|
|
|
- <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
- <i class="ri-shield-cross-line"></i>
|
|
|
|
- </div>
|
|
|
|
- <div class="title">
|
|
|
|
- 安全性检测
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_top_second">
|
|
|
|
- <span>检测范围</span>
|
|
|
|
- <el-link type="success" :underline="false" @click="viewDialogTrue(4)">查看</el-link>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="statusboxitem_bottom">
|
|
|
|
- <span>开启检测</span>
|
|
|
|
- <el-switch
|
|
|
|
- v-model="openSafevalue"
|
|
|
|
- style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
- active-value="0"
|
|
|
|
- inactive-value="1"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="progress" v-else>
|
|
|
|
- <div class="progressbox">
|
|
|
|
-
|
|
|
|
- <div class="hc-steps-view" style="width:100%;display:flex">
|
|
|
|
- <el-steps :active="activeIndex" align-center style="width:90%">
|
|
|
|
- <el-step title="初始化" />
|
|
|
|
- <el-step title="检测中" />
|
|
|
|
- <el-step title="生成报告" />
|
|
|
|
- <el-step title="完成" />
|
|
|
|
- </el-steps>
|
|
|
|
- <el-button type="success" v-if="activeIndex===4" @click="viewReport">查看报告</el-button>
|
|
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <div>
|
|
|
|
+ [2]电子档案"四性"检测要求及其实现方法[j].浙江档案
|
|
</div>
|
|
</div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <div>
|
|
|
|
+ 制定系统电子文件归档真实性、完整性、可用性、安全性检测服务
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="circlebox" @click="detection">
|
|
|
|
+ <span v-loading="detectionLoad"> 一键检测</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- <div class="tablebox">
|
|
|
|
- <HcTable1 ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading">
|
|
|
|
- <template #examiningResult="{row}">
|
|
|
|
- <i class="ri-checkbox-circle-fill" v-if="row.examiningResult===0" style="color:green"> </i>
|
|
|
|
- <i class="ri-error-warning-fill" v-else style="color:rgb(189, 49, 36);"></i>
|
|
|
|
- </template>
|
|
|
|
- </HcTable1>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- </HcCard1>
|
|
|
|
|
|
+ <div v-if="!isStatus" class="bannerbox " :style="`background-image: url(${testBgsamll}); aspect-ratio: 1993/468;`">
|
|
|
|
+ <div class="infobox">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="20">
|
|
|
|
+ <div>
|
|
|
|
+ [1]文书档案检测一般要求:DA/T 70-2018
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="3" :offset="1">
|
|
|
|
+ <div style="text-align:right">
|
|
|
|
+ <el-tooltip :visible="visible" effect="light">
|
|
|
|
+ <template #content>
|
|
|
|
+ <div v-if="historyRportlist.length > 0" v-loading="reportLoading" class="reportPop">
|
|
|
|
+ <div v-for="item in historyRportlist" class="history_box">
|
|
|
|
+ <el-link type="primary" @click="viewHpdf(item)">{{ item.reportName }}</el-link>
|
|
|
|
+ <span class="m15">{{ item.examiningTime }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else>暂无数据</div>
|
|
|
|
+ </template>
|
|
|
|
+ <el-button type="primary" @click="showReport">
|
|
|
|
+ 历史报告
|
|
|
|
+ </el-button>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <div>
|
|
|
|
+ [2]电子档案"四性"检测要求及其实现方法[j].浙江档案
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <div>
|
|
|
|
+ 制定系统电子文件归档真实性、完整性、可用性、安全性检测服务
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <el-tooltip
|
|
|
|
+ class="box-item"
|
|
|
|
+ effect="light"
|
|
|
|
+ content="系统正在检测运行中,请勿终止操作"
|
|
|
|
+ placement="right-start"
|
|
|
|
+ :visible="activeIndex == 2 || activeIndex == 3"
|
|
|
|
+ >
|
|
|
|
+ <div v-if="activeIndex === 4" class="circlebox circlebox2">
|
|
|
|
+ <span>100%</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else class="circlebox circlebox1">
|
|
|
|
+ <span>{{ statusPercent }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </div>
|
|
|
|
|
|
- <!-- 查看弹窗 -->
|
|
|
|
- <HcDialog :show="imageDialog" :title="imageTitle" widths="990px" :footer="false" @close="imageDialogClose">
|
|
|
|
- <div >
|
|
|
|
- <el-image style="width: 100%; height: 100%" :src="Imageurl" />
|
|
|
|
|
|
+ <div v-if="isStatus" class="statusbox">
|
|
|
|
+ <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
+ <div class="statusboxitem_top">
|
|
|
|
+ <div class="statusboxitem_top_first">
|
|
|
|
+ <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
+ <i class="ri-checkbox-multiple-line" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="title">
|
|
|
|
+ 真实性检测
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_top_second">
|
|
|
|
+ <span>检测范围</span>
|
|
|
|
+ <el-link type="success" :underline="false" @click="viewDialogTrue(1)">查看</el-link>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_bottom">
|
|
|
|
+ <span>开启检测</span>
|
|
|
|
+ <el-switch
|
|
|
|
+ v-model="openTruevalue"
|
|
|
|
+ style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
+ active-value="0"
|
|
|
|
+ inactive-value="1"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
+ <div class="statusboxitem_top">
|
|
|
|
+ <div class="statusboxitem_top_first">
|
|
|
|
+ <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
+ <i class="ri-radio-button-line" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="title">
|
|
|
|
+ 完整性检测
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_top_second">
|
|
|
|
+ <span>检测范围</span>
|
|
|
|
+ <el-link type="success" :underline="false" @click="viewDialogTrue(2)">查看</el-link>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_bottom">
|
|
|
|
+ <span>开启检测</span>
|
|
|
|
+ <el-switch
|
|
|
|
+ v-model="openFullvalue"
|
|
|
|
+ style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
+ active-value="0"
|
|
|
|
+ inactive-value="1"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
+ <div class="statusboxitem_top">
|
|
|
|
+ <div class="statusboxitem_top_first">
|
|
|
|
+ <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
+ <i class="ri-chat-upload-fill" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="title">
|
|
|
|
+ 可用性检测
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_top_second">
|
|
|
|
+ <span>检测范围</span>
|
|
|
|
+ <el-link type="success" :underline="false" @click="viewDialogTrue(3)">查看</el-link>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_bottom">
|
|
|
|
+ <span>检测范围</span>
|
|
|
|
+ <el-switch
|
|
|
|
+ v-model="openUsevalue"
|
|
|
|
+ style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
+ active-value="0"
|
|
|
|
+ inactive-value="1"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem" :style="`background-image: url(${bgColor});`">
|
|
|
|
+ <div class="statusboxitem_top">
|
|
|
|
+ <div class="statusboxitem_top_first">
|
|
|
|
+ <div style=" font-size: 5.25rem;color :white;">
|
|
|
|
+ <i class="ri-shield-cross-line" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="title">
|
|
|
|
+ 安全性检测
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_top_second">
|
|
|
|
+ <span>检测范围</span>
|
|
|
|
+ <el-link type="success" :underline="false" @click="viewDialogTrue(4)">查看</el-link>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="statusboxitem_bottom">
|
|
|
|
+ <span>开启检测</span>
|
|
|
|
+ <el-switch
|
|
|
|
+ v-model="openSafevalue"
|
|
|
|
+ style="--el-switch-on-color: #ff4949; --el-switch-off-color: #13ce66"
|
|
|
|
+ active-value="0"
|
|
|
|
+ inactive-value="1"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else class="progress">
|
|
|
|
+ <div class="progressbox">
|
|
|
|
+ <div class="hc-steps-view" style="width:100%;display:flex">
|
|
|
|
+ <el-steps :active="activeIndex" align-center style="width:90%">
|
|
|
|
+ <el-step title="初始化" />
|
|
|
|
+ <el-step title="检测中" />
|
|
|
|
+ <el-step title="生成报告" />
|
|
|
|
+ <el-step title="完成" />
|
|
|
|
+ </el-steps>
|
|
|
|
+ <el-button v-if="activeIndex === 4" type="success" @click="viewReport">查看报告</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="tablebox">
|
|
|
|
+ <HcTable1 ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading">
|
|
|
|
+ <template #examiningResult="{ row }">
|
|
|
|
+ <i v-if="row.examiningResult === 0" class="ri-checkbox-circle-fill" style="color:green" />
|
|
|
|
+ <i v-else class="ri-error-warning-fill" style="color:rgb(189, 49, 36);" />
|
|
|
|
+ </template>
|
|
|
|
+ </HcTable1>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- </HcDialog>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </HcCard1>
|
|
|
|
|
|
|
|
+ <!-- 查看弹窗 -->
|
|
|
|
+ <hc-new-dialog v-model="imageDialog" :title="imageTitle" widths="990px" :footer="false" @close="imageDialogClose">
|
|
|
|
+ <div>
|
|
|
|
+ <el-image style="width: 100%; height: 100%" :src="Imageurl" />
|
|
|
|
+ </div>
|
|
|
|
+ </hc-new-dialog>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import {nextTick, ref, watch,onMounted} from "vue";
|
|
|
|
-import {useAppStore} from "~src/store";
|
|
|
|
-import bgColor from '~src/assets/view/bgcolor.svg';
|
|
|
|
-import testBgbig from '~src/assets/view/testBgbig.png';
|
|
|
|
-import testBgsamll from '~src/assets/view/testBgsamll.png';
|
|
|
|
|
|
+import { nextTick, onMounted, ref, watch } from 'vue'
|
|
|
|
+import { useAppStore } from '~src/store'
|
|
|
|
+import bgColor from '~src/assets/view/bgcolor.svg'
|
|
|
|
+import testBgbig from '~src/assets/view/testBgbig.png'
|
|
|
|
+import testBgsamll from '~src/assets/view/testBgsamll.png'
|
|
import HcCard1 from './components/hc-card1.vue'
|
|
import HcCard1 from './components/hc-card1.vue'
|
|
import HcTable1 from './components/hc-table1.vue'
|
|
import HcTable1 from './components/hc-table1.vue'
|
|
-import reportApi from "~api/custody/testing.js";
|
|
|
|
-import {getArrValue, toParse, getObjValue, isArrIndex, deepClone} from "js-fast-way"
|
|
|
|
-import truePng from '~src/assets/testphoto/true.png';
|
|
|
|
-import fullPng from '~src/assets/testphoto/full.png';
|
|
|
|
-import usePng from '~src/assets/testphoto/use.png';
|
|
|
|
-import safePng from '~src/assets/testphoto/safe.png';
|
|
|
|
|
|
+import reportApi from '~api/custody/testing.js'
|
|
|
|
+import { deepClone, getArrValue, getObjValue, isArrIndex, toParse } from 'js-fast-way'
|
|
|
|
+import truePng from '~src/assets/testphoto/true.png'
|
|
|
|
+import fullPng from '~src/assets/testphoto/full.png'
|
|
|
|
+import usePng from '~src/assets/testphoto/use.png'
|
|
|
|
+import safePng from '~src/assets/testphoto/safe.png'
|
|
|
|
+
|
|
|
|
+//消息数量
|
|
|
|
+const props = defineProps(
|
|
|
|
+ {
|
|
|
|
+ msgCount: {
|
|
|
|
+ // type: Object,
|
|
|
|
+ // default: () => ({ })
|
|
|
|
+ },
|
|
|
|
+ msgChange:{
|
|
|
|
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+)
|
|
//变量
|
|
//变量
|
|
const useAppState = useAppStore()
|
|
const useAppState = useAppStore()
|
|
-const projectId = ref(useAppState.getProjectId);
|
|
|
|
-const contractId = ref(useAppState.getContractId);
|
|
|
|
-const projectInfo = ref(useAppState.getProjectInfo);
|
|
|
|
-const openTruevalue = ref(1);
|
|
|
|
-const openFullvalue = ref(1);
|
|
|
|
-const openUsevalue = ref(1);
|
|
|
|
-const openSafevalue = ref(1);
|
|
|
|
-const isStatus = ref(1);
|
|
|
|
-const activeIndex = ref(0);
|
|
|
|
|
|
+const projectId = ref(useAppState.getProjectId)
|
|
|
|
+const contractId = ref(useAppState.getContractId)
|
|
|
|
+const projectInfo = ref(useAppState.getProjectInfo)
|
|
|
|
+const openTruevalue = ref(1)
|
|
|
|
+const openFullvalue = ref(1)
|
|
|
|
+const openUsevalue = ref(1)
|
|
|
|
+const openSafevalue = ref(1)
|
|
|
|
+const isStatus = ref(1)
|
|
|
|
+const activeIndex = ref(0)
|
|
|
|
|
|
//表头
|
|
//表头
|
|
const tableRef = ref(null)
|
|
const tableRef = ref(null)
|
|
const tableColumn = ref([
|
|
const tableColumn = ref([
|
|
- {key:'examiningItem', name: '检测项目'},
|
|
|
|
- {key:'unqualifiedCount', name: '不合格统计',width:150,align:'center'},
|
|
|
|
- {key:'examiningResult', name: '检测结果',width:150,align:'center'},
|
|
|
|
|
|
+ { key:'examiningItem', name: '检测项目' },
|
|
|
|
+ { key:'unqualifiedCount', name: '不合格统计', width:150, align:'center' },
|
|
|
|
+ { key:'examiningResult', name: '检测结果', width:150, align:'center' },
|
|
|
|
|
|
])
|
|
])
|
|
const tableData = ref([])
|
|
const tableData = ref([])
|
|
-const returnTabledata=ref([])
|
|
|
|
|
|
+const returnTabledata = ref([])
|
|
//获取数据
|
|
//获取数据
|
|
const tableLoading = ref(false)
|
|
const tableLoading = ref(false)
|
|
//一键检测
|
|
//一键检测
|
|
-const reportId=ref(0)
|
|
|
|
-const detectionLoad=ref(false)
|
|
|
|
-const detection = async()=>{
|
|
|
|
- detectionLoad.value=true
|
|
|
|
|
|
+const reportId = ref(0)
|
|
|
|
+const detectionLoad = ref(false)
|
|
|
|
+const detection = async ()=>{
|
|
|
|
+ detectionLoad.value = true
|
|
const { error, code, data } = await reportApi.getExamining({
|
|
const { error, code, data } = await reportApi.getExamining({
|
|
projectId: projectId.value,
|
|
projectId: projectId.value,
|
|
reportId:reportId.value,
|
|
reportId:reportId.value,
|
|
authenticity:openTruevalue.value,
|
|
authenticity:openTruevalue.value,
|
|
integrality:openFullvalue.value,
|
|
integrality:openFullvalue.value,
|
|
usability:openUsevalue.value,
|
|
usability:openUsevalue.value,
|
|
- security:openSafevalue.value
|
|
|
|
|
|
+ security:openSafevalue.value,
|
|
})
|
|
})
|
|
- detectionLoad.value=false
|
|
|
|
|
|
+ detectionLoad.value = false
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
- activeIndex.value=data['status']
|
|
|
|
- reportId.value=data['id']
|
|
|
|
- isStatus.value=false
|
|
|
|
|
|
+ activeIndex.value = data['status']
|
|
|
|
+ reportId.value = data['id']
|
|
|
|
+ isStatus.value = false
|
|
} else {
|
|
} else {
|
|
window?.$message?.error('操作失败')
|
|
window?.$message?.error('操作失败')
|
|
}
|
|
}
|
|
@@ -331,35 +323,23 @@ onMounted(() => {
|
|
|
|
|
|
})
|
|
})
|
|
//获取检测报告状态
|
|
//获取检测报告状态
|
|
-const getReportStatusdata=async()=>{
|
|
|
|
|
|
+const getReportStatusdata = async ()=>{
|
|
const { error, code, data } = await reportApi.getReportStatus({
|
|
const { error, code, data } = await reportApi.getReportStatus({
|
|
projectId: projectId.value,
|
|
projectId: projectId.value,
|
|
})
|
|
})
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
- console.log(data,'data');
|
|
|
|
- if(data===-1){
|
|
|
|
- activeIndex.value=0
|
|
|
|
- }else{
|
|
|
|
- reportId.value=data
|
|
|
|
- isStatus.value=false
|
|
|
|
|
|
+ console.log(data, 'data')
|
|
|
|
+ if (data === -1) {
|
|
|
|
+ activeIndex.value = 0
|
|
|
|
+ } else {
|
|
|
|
+ reportId.value = data
|
|
|
|
+ isStatus.value = false
|
|
// reportId.value=data
|
|
// reportId.value=data
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-//消息数量
|
|
|
|
-const props = defineProps(
|
|
|
|
- {
|
|
|
|
- msgCount: {
|
|
|
|
- // type: Object,
|
|
|
|
- // default: () => ({ })
|
|
|
|
- },
|
|
|
|
- msgChange:{
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-)
|
|
|
|
//检测百分比
|
|
//检测百分比
|
|
const statusPercent = ref('25%')
|
|
const statusPercent = ref('25%')
|
|
const finalUrl = ref('')
|
|
const finalUrl = ref('')
|
|
@@ -381,8 +361,8 @@ const pushTable = async () => {
|
|
const isTimeout = ref(false)
|
|
const isTimeout = ref(false)
|
|
const setTimeoutData = async () => {
|
|
const setTimeoutData = async () => {
|
|
const arr = newTabledata.value
|
|
const arr = newTabledata.value
|
|
- console.log(arr, 'arr');
|
|
|
|
-
|
|
|
|
|
|
+ console.log(arr, 'arr')
|
|
|
|
+
|
|
if (!isTimeout.value && arr.length > 0) {
|
|
if (!isTimeout.value && arr.length > 0) {
|
|
isTimeout.value = true
|
|
isTimeout.value = true
|
|
for (let i = 0; i < arr.length; i++) {
|
|
for (let i = 0; i < arr.length; i++) {
|
|
@@ -407,44 +387,44 @@ watch(() => [
|
|
props.msgCount,
|
|
props.msgCount,
|
|
activeIndex,
|
|
activeIndex,
|
|
props.msgChange,
|
|
props.msgChange,
|
|
- ], ([val,index,msgChange]) => {
|
|
|
|
|
|
+ ], ([val, index, msgChange]) => {
|
|
const res = toParse(val)
|
|
const res = toParse(val)
|
|
- if(res === true && msgChange > 0) {
|
|
|
|
- reportApi.getCurrentExaminingInfo({ reportId: reportId.value}).then((res)=>{
|
|
|
|
|
|
+ if (res === true && msgChange > 0) {
|
|
|
|
+ reportApi.getCurrentExaminingInfo({ reportId: reportId.value }).then((res)=>{
|
|
let resdata = res.data
|
|
let resdata = res.data
|
|
- console.log(resdata.status,'resdata.status');
|
|
|
|
- if (resdata.status===4) {
|
|
|
|
|
|
+ console.log(resdata.status, 'resdata.status')
|
|
|
|
+ if (resdata.status === 4) {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- activeIndex.value = resdata.status;
|
|
|
|
- }, tableData.value.length*1000);
|
|
|
|
- }else{
|
|
|
|
- activeIndex.value = resdata.status;
|
|
|
|
|
|
+ activeIndex.value = resdata.status
|
|
|
|
+ }, tableData.value.length * 1000)
|
|
|
|
+ } else {
|
|
|
|
+ activeIndex.value = resdata.status
|
|
}
|
|
}
|
|
reTabledata.value = resdata.detailList
|
|
reTabledata.value = resdata.detailList
|
|
- finalUrl.value = resdata.pdfUrl||''
|
|
|
|
|
|
+ finalUrl.value = resdata.pdfUrl || ''
|
|
pushTable()
|
|
pushTable()
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- if(index.value===1){
|
|
|
|
- statusPercent.value='25%'
|
|
|
|
- }else if(index.value===2){
|
|
|
|
- statusPercent.value='50%'
|
|
|
|
- }else if(index.value===3){
|
|
|
|
- statusPercent.value='75%'
|
|
|
|
- }else if(index.value===4){
|
|
|
|
- statusPercent.value='100%'
|
|
|
|
|
|
+ if (index.value === 1) {
|
|
|
|
+ statusPercent.value = '25%'
|
|
|
|
+ } else if (index.value === 2) {
|
|
|
|
+ statusPercent.value = '50%'
|
|
|
|
+ } else if (index.value === 3) {
|
|
|
|
+ statusPercent.value = '75%'
|
|
|
|
+ } else if (index.value === 4) {
|
|
|
|
+ statusPercent.value = '100%'
|
|
}
|
|
}
|
|
|
|
|
|
- }
|
|
|
|
|
|
+ },
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
//历史报告
|
|
//历史报告
|
|
const visible = ref(false)
|
|
const visible = ref(false)
|
|
-const showReport=()=>{
|
|
|
|
- visible.value=!visible.value
|
|
|
|
|
|
+const showReport = ()=>{
|
|
|
|
+ visible.value = !visible.value
|
|
}
|
|
}
|
|
-const historyRportlist=ref([])
|
|
|
|
|
|
+const historyRportlist = ref([])
|
|
//获取历史报告列表
|
|
//获取历史报告列表
|
|
const reportLoading = ref(false)
|
|
const reportLoading = ref(false)
|
|
const getReportData = async () => {
|
|
const getReportData = async () => {
|
|
@@ -455,7 +435,7 @@ const getReportData = async () => {
|
|
reportLoading.value = false
|
|
reportLoading.value = false
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
historyRportlist.value = getArrValue(data)
|
|
historyRportlist.value = getArrValue(data)
|
|
- console.log(data,'data');
|
|
|
|
|
|
+ console.log(data, 'data')
|
|
|
|
|
|
} else {
|
|
} else {
|
|
historyRportlist.value = []
|
|
historyRportlist.value = []
|
|
@@ -464,11 +444,11 @@ const getReportData = async () => {
|
|
|
|
|
|
}
|
|
}
|
|
//查看历史报告
|
|
//查看历史报告
|
|
-const viewHpdf=(item)=>{
|
|
|
|
- console.log(item,'item');
|
|
|
|
- if(item.reportPdfUrl){
|
|
|
|
|
|
+const viewHpdf = (item)=>{
|
|
|
|
+ console.log(item, 'item')
|
|
|
|
+ if (item.reportPdfUrl) {
|
|
window.open(item.reportPdfUrl, '_blank')
|
|
window.open(item.reportPdfUrl, '_blank')
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
window.$message.warning('暂无pdf')
|
|
window.$message.warning('暂无pdf')
|
|
}
|
|
}
|
|
|
|
|
|
@@ -477,34 +457,34 @@ const viewHpdf=(item)=>{
|
|
|
|
|
|
|
|
|
|
//查看真实图片
|
|
//查看真实图片
|
|
-const imageDialog=ref(false)
|
|
|
|
-const Imageurl=ref('')
|
|
|
|
-const imageTitle=ref('')
|
|
|
|
-const viewDialogTrue=(type)=>{
|
|
|
|
- imageDialog.value=true
|
|
|
|
- if(type===1){
|
|
|
|
- Imageurl.value=truePng
|
|
|
|
- imageTitle.value='真实性检测范围'
|
|
|
|
- }else if(type===2){
|
|
|
|
- Imageurl.value=fullPng
|
|
|
|
- imageTitle.value='完整性检测范围'
|
|
|
|
- }else if(type===3){
|
|
|
|
- Imageurl.value=usePng
|
|
|
|
- imageTitle.value='可以性检测范围'
|
|
|
|
- }else{
|
|
|
|
- Imageurl.value=safePng
|
|
|
|
- imageTitle.value='安全性检测范围'
|
|
|
|
|
|
+const imageDialog = ref(false)
|
|
|
|
+const Imageurl = ref('')
|
|
|
|
+const imageTitle = ref('')
|
|
|
|
+const viewDialogTrue = (type)=>{
|
|
|
|
+ imageDialog.value = true
|
|
|
|
+ if (type === 1) {
|
|
|
|
+ Imageurl.value = truePng
|
|
|
|
+ imageTitle.value = '真实性检测范围'
|
|
|
|
+ } else if (type === 2) {
|
|
|
|
+ Imageurl.value = fullPng
|
|
|
|
+ imageTitle.value = '完整性检测范围'
|
|
|
|
+ } else if (type === 3) {
|
|
|
|
+ Imageurl.value = usePng
|
|
|
|
+ imageTitle.value = '可以性检测范围'
|
|
|
|
+ } else {
|
|
|
|
+ Imageurl.value = safePng
|
|
|
|
+ imageTitle.value = '安全性检测范围'
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
-const imageDialogClose=()=>{
|
|
|
|
- imageDialog.value=false
|
|
|
|
|
|
+const imageDialogClose = ()=>{
|
|
|
|
+ imageDialog.value = false
|
|
}
|
|
}
|
|
//查看报告
|
|
//查看报告
|
|
-const viewReport=()=>{
|
|
|
|
- if(finalUrl.value){
|
|
|
|
|
|
+const viewReport = ()=>{
|
|
|
|
+ if (finalUrl.value) {
|
|
window.open(finalUrl.value, '_blank')
|
|
window.open(finalUrl.value, '_blank')
|
|
- }else{
|
|
|
|
|
|
+ } else {
|
|
window.$message.warning('暂无pdf')
|
|
window.$message.warning('暂无pdf')
|
|
}
|
|
}
|
|
}
|
|
}
|