6285b55e by lihua

等级为1.2时提示

1 parent 555b946b
1 <template> 1 <template>
2 <div style="display: flex;justify-content: center;width: 100%;"> 2 <div style="display: flex;justify-content: center;width: 100%;">
3 <div v-show="!isWordStyle" class="analysis-result-main"> 3 <div v-show="!isWordStyle" class="analysis-result-main">
4 <div class="reject">
5 <div class="header_title" v-show="analysisResultInfo.rating <= 2">
6 <span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级包含直接标识符,请重新进行匿名化处理` }}</span>
7 </div>
8 </div>
4 <div v-if="showTitle" class="result-title">匿名结果分析</div> 9 <div v-if="showTitle" class="result-title">匿名结果分析</div>
5 <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> 10 <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0">
6 <div class="border-content"> 11 <div class="border-content">
...@@ -20,7 +25,7 @@ ...@@ -20,7 +25,7 @@
20 </el-tooltip></span> 25 </el-tooltip></span>
21 <span class="number">{{ analysisResultInfo.reIdentifyRiskRb != null ? 26 <span class="number">{{ analysisResultInfo.reIdentifyRiskRb != null ?
22 (analysisResultInfo.reIdentifyRiskRb || 0) : '--' 27 (analysisResultInfo.reIdentifyRiskRb || 0) : '--'
23 }}</span> 28 }}</span>
24 </div> 29 </div>
25 <div class="border-content"> 30 <div class="border-content">
26 <span class="text">重标识风险平均值<el-tooltip placement="top" effect="light" popper-class="table_tooltip"> 31 <span class="text">重标识风险平均值<el-tooltip placement="top" effect="light" popper-class="table_tooltip">
...@@ -191,11 +196,20 @@ ...@@ -191,11 +196,20 @@
191 </div> 196 </div>
192 <div v-show="isWordStyle" class="analysis-result-main report-main" ref="report"> 197 <div v-show="isWordStyle" class="analysis-result-main report-main" ref="report">
193 <div 198 <div
194 style="font-family: simsun;height: 40px;display: block;line-height: 32px;font-size: 18px;color: #212121;font-weight: 700;text-align: center;margin-top: 10px;margin-bottom: 10px;">匿名化效果评估指标</div> 199 style="font-family: simsun;height: 40px;display: block;line-height: 32px;font-size: 18px;color: #212121;font-weight: 700;text-align: center;margin-top: 10px;margin-bottom: 10px;">
195 <p style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;">{{ ' 依据GB/T 42460-2023《信息安全技术个人信息去标识化效果评估指南》附录D,对去标识化以后的数据集基于K匿名模型进行去标识化效果的评估。' }}</p> 200 匿名化效果评估指标</div>
196 <p style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;"> 201 <p
197 {{ ` 总体方案为先计算数据集每行记录、整体数据集的重标识风险,进而计算环境重标识攻击概率,最后再结合环境重标识攻击概率计算整个数据集的重标识整体风险。去标识化效果评估结果为${analysisResultInfo.rating + '级'}。具体指标如下:` }}</p> 202 style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;">
198 <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px;">匿名化结果分析</div> 203 {{
204 ' 依据GB/T 42460-2023《信息安全技术个人信息去标识化效果评估指南》附录D,对去标识化以后的数据集基于K匿名模型进行去标识化效果的评估。' }}</p>
205 <p
206 style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;">
207 {{ `
208 总体方案为先计算数据集每行记录、整体数据集的重标识风险,进而计算环境重标识攻击概率,最后再结合环境重标识攻击概率计算整个数据集的重标识整体风险。去标识化效果评估结果为${analysisResultInfo.rating
209 + '级'}。具体指标如下:` }}</p>
210 <div
211 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px;">
212 匿名化结果分析</div>
199 <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> 213 <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0">
200 <div class="border-content"> 214 <div class="border-content">
201 <div class="text" style="color: #212121;">去标识化效果评估结果</div> 215 <div class="text" style="color: #212121;">去标识化效果评估结果</div>
...@@ -205,7 +219,7 @@ ...@@ -205,7 +219,7 @@
205 <span class="text" style="color: #212121;">重标识风险最大值</span> 219 <span class="text" style="color: #212121;">重标识风险最大值</span>
206 <span class="number">{{ analysisResultInfo.reIdentifyRiskRb != null ? 220 <span class="number">{{ analysisResultInfo.reIdentifyRiskRb != null ?
207 (analysisResultInfo.reIdentifyRiskRb || 0) : '--' 221 (analysisResultInfo.reIdentifyRiskRb || 0) : '--'
208 }}</span> 222 }}</span>
209 </div> 223 </div>
210 <div class="border-content"> 224 <div class="border-content">
211 <span class="text" style="color: #212121;">重标识风险平均值</span> 225 <span class="text" style="color: #212121;">重标识风险平均值</span>
...@@ -233,8 +247,12 @@ ...@@ -233,8 +247,12 @@
233 (oldAnonTaskValueInfo.anonPrivacyMode?.riskThreshold || 0) }}</span> 247 (oldAnonTaskValueInfo.anonPrivacyMode?.riskThreshold || 0) }}</span>
234 </div> 248 </div>
235 </div> 249 </div>
236 <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">重标识风险表</div> 250 <div
237 <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">{{ ' 门限阈值的取值:完全公开共享数据发布,取值 1/20;受控公开共享数据发布,取值 1/5;领地公开共享数据发布,取值 1/3。' }}</div> 251 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">
252 重标识风险表</div>
253 <div
254 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">
255 {{ ' 门限阈值的取值:完全公开共享数据发布,取值 1/20;受控公开共享数据发布,取值 1/5;领地公开共享数据发布,取值 1/3。' }}</div>
238 <table border="0" cellspacing="0" 256 <table border="0" cellspacing="0"
239 style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121"> 257 style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121">
240 <thead> 258 <thead>
...@@ -247,7 +265,7 @@ ...@@ -247,7 +265,7 @@
247 <tbody> 265 <tbody>
248 <tr v-for="(recordItem, j) in fullResultData" :key="j"> 266 <tr v-for="(recordItem, j) in fullResultData" :key="j">
249 <td v-for="(columnItem, i) in resultTableFields" :key="i" 267 <td v-for="(columnItem, i) in resultTableFields" :key="i"
250 :style="{border: '0.5px solid #d9d9d9', 'text-align': <any>(getTextAlign(columnItem) ?? 'left') }"> 268 :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(getTextAlign(columnItem) ?? 'left') }">
251 <span :style="{ 'word-break': 'break-all' }"> 269 <span :style="{ 'word-break': 'break-all' }">
252 {{ columnItem.enName == 'index' ? (j + 1) : formatterPreviewDate(recordItem, columnItem) }} 270 {{ columnItem.enName == 'index' ? (j + 1) : formatterPreviewDate(recordItem, columnItem) }}
253 </span> 271 </span>
...@@ -256,9 +274,11 @@ ...@@ -256,9 +274,11 @@
256 </tbody> 274 </tbody>
257 </table> 275 </table>
258 <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" 276 <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'"
259 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">内部故意攻击概率</div> 277 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">
278 内部故意攻击概率</div>
260 <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" 279 <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'"
261 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">{{ ' 重标识数据的动机和能力为低,从重标识攻击可能性分析表可得出在内部攻击方面,重标识攻击概率的取值为0.05。'}}</div> 280 style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">
281 {{ ' 重标识数据的动机和能力为低,从重标识攻击可能性分析表可得出在内部攻击方面,重标识攻击概率的取值为0.05。' }}</div>
262 <table v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" border="0" cellspacing="0" 282 <table v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" border="0" cellspacing="0"
263 style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121;"> 283 style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121;">
264 <thead> 284 <thead>
...@@ -324,19 +344,22 @@ ...@@ -324,19 +344,22 @@
324 <td v-for="(columnItem, i) in adversarialTestFields" :key="i" 344 <td v-for="(columnItem, i) in adversarialTestFields" :key="i"
325 :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(columnItem.align ?? 'left') }"> 345 :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(columnItem.align ?? 'left') }">
326 <span :style="{ 'word-break': 'break-all' }"> 346 <span :style="{ 'word-break': 'break-all' }">
327 {{ columnItem.field == 'index' ? (j + 1) : recordItem[columnItem.field] === 0 ? 0 : (recordItem[columnItem.field] || '--') }} 347 {{ columnItem.field == 'index' ? (j + 1) : recordItem[columnItem.field] === 0 ? 0 :
348 (recordItem[columnItem.field] || '--') }}
328 </span> 349 </span>
329 </td> 350 </td>
330 </tr> 351 </tr>
331 </tbody> 352 </tbody>
332 </table> 353 </table>
333 <p v-show="analysisResultInfo.rating >= 3" style="font-family: simsun;margin: 4px 0px 0px;font-size: 14px;line-height: 21px;color: #212121;white-space: pre-wrap;">{{ ' 通过识别关键变量,选择标识度高于0.5的属性作为攻击测试的关键变量,在攻击测试中,涉及到的攻击场景,其重标识概率均远小于所接受的风险水平0.05。另外,未发现任何其它可能的安全性问题。' }}</p> 354 <p v-show="analysisResultInfo.rating >= 3"
355 style="font-family: simsun;margin: 4px 0px 0px;font-size: 14px;line-height: 21px;color: #212121;white-space: pre-wrap;">
356 {{ ' 通过识别关键变量,选择标识度高于0.5的属性作为攻击测试的关键变量,在攻击测试中,涉及到的攻击场景,其重标识概率均远小于所接受的风险水平0.05。另外,未发现任何其它可能的安全性问题。' }}</p>
334 </div> 357 </div>
335 </div> 358 </div>
336 </template> 359 </template>
337 <script lang="ts" setup name="anonResultAnalysis"> 360 <script lang="ts" setup name="anonResultAnalysis">
338 import { TableColumnWidth } from '@/utils/enum'; 361 import { TableColumnWidth } from '@/utils/enum';
339 import { QuestionFilled } from "@element-plus/icons-vue"; 362 import { QuestionFilled, CircleCloseFilled } from "@element-plus/icons-vue";
340 import Moment from 'moment'; 363 import Moment from 'moment';
341 364
342 const props = defineProps({ 365 const props = defineProps({
...@@ -708,4 +731,43 @@ defineExpose({ ...@@ -708,4 +731,43 @@ defineExpose({
708 } 731 }
709 } 732 }
710 } 733 }
734
735 .reject {
736 background-color: #FDF2F4;
737 box-shadow: 0 0 0 1px #E63E33;
738 margin-bottom: 8px;
739
740 .header_title {
741 .el-icon {
742 color: #E63E33;
743 }
744 }
745 }
746
747 .header_title {
748 height: 40px;
749 padding: 0 16px;
750 display: flex;
751 align-items: center;
752
753 .title_text {
754 line-height: 22px;
755 font-size: 14px;
756 color: var(--el-color-regular);
757 font-weight: 600;
758 display: flex;
759 align-items: center;
760
761 .title_icon {
762 width: 26px;
763 height: 21px;
764 margin-right: 4px;
765 cursor: pointer;
766
767 &.active {
768 transform: rotate(90deg);
769 }
770 }
771 }
772 }
711 </style> 773 </style>
...\ No newline at end of file ...\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!