钉钉宜搭自定义页面demo
- 数据源 配置
点击查看代码
`
saveFormDataApi
/dingtalk/web/APP_HMRWMCPN4P4H0VET3OIT/v1/form/saveFormData.json
searchFormDatasApi
/dingtalk/web/APP_HMRWMCPN4P4H0VET3OIT/v1/form/searchFormDatas.json
`
3. 保存按钮样式:root {
margin-left: 12px;
}
@media (max-width: 768px) {
}
4. 上传按钮样式:root {
max-width: 90%;
margin-top: 5px;
margin-left: 5%;
}
@media (max-width: 768px) {
:root {
left: 0%;
}
}
`
5. html代码
点击查看代码
<style>
/* ========== 全局容器 ========== */
#myRiskForm {
--teal-deep: #1d4653;
--teal: #2c5e6d;
--teal-light: #4a8fa3;
--amber: #e8a33d;
--pad: 24px;
/* 外层内边距,lang-toggle 用它对齐 banner 内角 */
--gap-corner: 12px;
/* 胶囊距 banner 内角的固定间距 */
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
color: #2b3a40;
line-height: 1.6;
padding: var(--pad);
max-width: 90%;
margin: 0 auto;
position: relative;
background: linear-gradient(rgba(44, 94, 109, 0.035) 1px, transparent 1px),
linear-gradient(90deg, rgba(44, 94, 109, 0.035) 1px, transparent 1px),
#f6f9fa;
background-size: 26px 26px, 26px 26px, auto;
border: 1px solid #e3ecee;
border-radius: 14px;
}
/* ========== 语言切换(右上角,calc 锁死对齐 banner 内角) ========== */
.lang-toggle {
position: absolute;
top: calc(var(--pad) + var(--gap-corner));
right: calc(var(--pad) + var(--gap-corner));
z-index: 20;
display: flex;
align-items: center;
width: 116px;
padding: 3px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.14);
border: 1px solid rgba(255, 255, 255, 0.4);
cursor: pointer;
user-select: none;
transition: background 0.25s;
}
.lang-toggle:hover {
background: rgba(255, 255, 255, 0.26);
}
.lang-slider {
position: absolute;
top: 3px;
left: 3px;
width: calc(50% - 3px);
height: calc(100% - 6px);
background: #ffffff;
border-radius: 999px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
transition: transform 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
}
.lang-toggle.is-en .lang-slider {
transform: translateX(100%);
}
.lang-opt {
flex: 1;
text-align: center;
font-size: 12px;
font-weight: 700;
letter-spacing: 1px;
color: rgba(255, 255, 255, 0.85);
position: relative;
z-index: 1;
line-height: 22px;
transition: color 0.25s;
}
.lang-toggle:not(.is-en) .lang-zh,
.lang-toggle.is-en .lang-en {
color: var(--teal-deep);
}
/* ========== 顶部 Banner ========== */
.banner-box {
position: relative;
overflow: hidden;
min-height: 180px;
display: flex;
align-items: center;
padding: 30px 34px;
background: url(data:image/png;base64,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) center center / cover no-repeat;
border-radius: 10px;
margin-bottom: 34px;
}
/* 底部渐变遮罩,增强文字可读性 */
.banner-box::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
pointer-events: none;
}
.banner-content {
position: relative;
z-index: 2;
}
.banner-eyebrow {
font-size: 11px;
font-weight: 600;
letter-spacing: 3px;
color: rgba(255, 255, 255, 0.65);
text-transform: uppercase;
margin-bottom: 8px;
}
.banner-title {
margin: 0;
font-size: clamp(21px, 5vw, 27px);
/* 响应式字号,替代写死像素 */
font-weight: 800;
letter-spacing: 1px;
color: #ffffff;
line-height: 1.35;
text-wrap: balance;
}
/* ========== 章节标题 ========== */
.section-title {
position: relative;
padding-left: 14px;
font-size: 17px;
font-weight: 800;
color: var(--teal-deep);
margin-bottom: 8px;
}
.section-title::before {
content: '';
position: absolute;
left: 0;
top: 4px;
bottom: 4px;
width: 4px;
border-radius: 2px;
background: linear-gradient(180deg, var(--teal), var(--teal-light));
}
.desc-text {
font-size: 13px;
color: #6b7d84;
margin: 0 0 26px 14px;
}
/* ========== 背景介绍区块 ========== */
.intro-section {
margin: 24px 0 30px;
padding: 20px 24px;
background: #f7fafb;
border: 1px solid #e2eaed;
border-radius: 10px;
}
.intro-title {
position: relative;
padding-left: 14px;
font-size: 17px;
font-weight: 800;
color: var(--teal-deep);
margin-bottom: 14px;
}
.intro-title::before {
content: '';
position: absolute;
left: 0;
top: 4px;
bottom: 4px;
width: 4px;
border-radius: 2px;
background: linear-gradient(180deg, var(--teal), var(--teal-light));
}
.intro-para {
font-size: 14px;
color: #3a4d55;
line-height: 1.9;
margin: 0 0 10px;
text-indent: 2em;
}
.intro-para:last-child {
margin-bottom: 0;
}
.intro-sub-title {
font-size: 15px;
font-weight: 700;
color: #22343b;
margin: 20px 0 10px;
}
.intro-list {
margin: 0;
padding-left: 2em;
}
.intro-list li {
font-size: 14px;
color: #3a4d55;
line-height: 1.9;
margin-bottom: 6px;
white-space: pre-line;
}
.intro-list li:last-child {
margin-bottom: 0;
}
.intro-list a {
color: var(--teal);
text-decoration: underline;
}
/* ========== 问题块 ========== */
.question-block {
margin-bottom: 26px;
}
.q-label {
display: block;
font-size: 14px;
font-weight: 600;
color: #22343b;
margin-bottom: 10px;
line-height: 1.75;
}
.required {
color: #ff4d4f;
margin-left: 4px;
font-weight: 700;
}
/* 语言切换淡入淡出 */
#myRiskForm [data-i18n] {
transition: opacity 0.18s ease;
}
#myRiskForm.lang-switching [data-i18n] {
opacity: 0;
}
/* ========== 输入框 ========== */
.custom-input {
width: 100%;
padding: 10px 14px;
border: 1px solid #d5e0e4;
border-radius: 6px;
font-size: 14px;
background: #ffffff;
box-sizing: border-box;
transition: border-color 0.25s, box-shadow 0.25s;
}
.custom-input:hover {
border-color: #a9c3cb;
}
.custom-input:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 3px rgba(44, 94, 109, 0.14);
}
/* ========== 单选组 ========== */
.radio-group {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 6px;
}
.radio-item {
display: flex;
align-items: center;
padding: 11px 14px;
background: #ffffff;
border: 1px solid #e2eaed;
border-left: 3px solid transparent;
border-radius: 8px;
cursor: pointer;
transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s, background 0.22s;
}
.radio-item:hover {
transform: translateX(5px);
border-color: #c3d5da;
box-shadow: 0 3px 10px rgba(29, 70, 83, 0.08);
}
.radio-item:has(input:checked) {
border-left-color: var(--accent);
background: var(--accent-bg);
box-shadow: 0 3px 12px rgba(29, 70, 83, 0.1);
}
.radio-item input[type="radio"] {
margin-right: 10px;
accent-color: var(--teal);
width: 16px;
height: 16px;
flex-shrink: 0;
}
.radio-content {
font-size: 13px;
color: #4a5c63;
}
.tag {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 700;
margin-right: 6px;
transition: transform 0.2s;
}
.radio-item:has(input:checked) .tag {
transform: scale(1.08);
}
.color-green {
background: #f6ffed;
border: 1px solid #b7eb8f;
color: #52c41a;
}
.color-blue {
background: #e6f7ff;
border: 1px solid #91d5ff;
color: #1890ff;
}
.color-orange {
background: #fff7e6;
border: 1px solid #ffd591;
color: #fa8c16;
}
.color-red {
background: #fff1f0;
border: 1px solid #ffa39e;
color: #f5222d;
}
.color-purple {
background: #f9f0ff;
border: 1px solid #d3adf7;
color: #722ed1;
}
/* ========== 第二部分:风险评估表格 ========== */
.table-scroll-wrapper {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border: 1px solid #e2eaed;
border-radius: 8px;
margin-top: 16px;
background: #fff;
}
.table-scroll-wrapper::-webkit-scrollbar {
height: 8px;
}
.table-scroll-wrapper::-webkit-scrollbar-track {
background: #f1f5f6;
border-radius: 4px;
}
.table-scroll-wrapper::-webkit-scrollbar-thumb {
background: #b8cdd4;
border-radius: 4px;
}
.table-scroll-wrapper::-webkit-scrollbar-thumb:hover {
background: #8fb3bc;
}
.risk-table {
width: max-content;
min-width: 100%;
border-collapse: collapse;
font-size: 13px;
white-space: nowrap;
}
.risk-table th,
.risk-table td {
border: 1px solid #e2eaed;
padding: 8px 10px;
text-align: center;
vertical-align: middle;
}
.risk-table thead th {
background: linear-gradient(135deg, #1d4653, #2c5e6d);
color: #fff;
font-weight: 600;
font-size: 12px;
position: sticky;
top: 0;
z-index: 5;
}
.risk-table thead tr:first-child th {
background: linear-gradient(135deg, #173b46, #1d4653);
font-size: 13px;
letter-spacing: 1px;
}
.risk-table tbody tr:nth-child(even) {
background: #f8fbfc;
}
.risk-table tbody tr:hover {
background: #eef6f8;
}
.risk-table td input[type="text"],
.risk-table td textarea {
width: 120px;
padding: 5px 8px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 12px;
box-sizing: border-box;
transition: border-color 0.2s, box-shadow 0.2s;
}
.risk-table td textarea.cell-textarea {
width: 100%;
min-height: 56px;
resize: vertical;
line-height: 1.5;
white-space: normal;
}
.risk-table td input[type="text"]:focus,
.risk-table td textarea:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.risk-table td select {
width: 110px;
padding: 5px 6px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 12px;
background: #fff;
cursor: pointer;
transition: border-color 0.2s;
}
.risk-table td select:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.risk-level-cell {
font-weight: 700;
min-width: 60px;
}
.risk-level-high {
color: #f5222d;
background: #fff1f0;
}
.risk-level-medium {
color: #fa8c16;
background: #fff7e6;
}
.risk-level-low {
color: #52c41a;
background: #f6ffed;
}
.risk-level-significant {
color: #cf1322;
background: #fff1f0;
}
.risk-level-none {
color: #8c8c8c;
background: #fafafa;
}
.col-seq {
min-width: 40px;
}
.col-desc {
min-width: 200px;
max-width: 260px;
white-space: normal;
text-align: left;
line-height: 1.6;
}
.col-dropdown {
min-width: 110px;
}
.col-level {
min-width: 90px;
max-width: 130px;
white-space: normal;
word-break: break-word;
}
.col-top10 {
min-width: 170px;
max-width: 220px;
white-space: normal;
text-align: left;
}
.col-effectiveness {
min-width: 150px;
max-width: 200px;
white-space: normal;
word-break: break-word;
}
.col-text {
min-width: 120px;
max-width: 160px;
white-space: normal;
word-break: break-word;
}
.col-supplement {
min-width: 150px;
max-width: 200px;
white-space: normal;
word-break: break-word;
}
/* 风险描述单元格:缩略显示,点击弹窗查看全文 */
.risk-desc-text {
font-size: 12px;
color: #3a4f56;
line-height: 1.7;
word-break: break-word;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
cursor: pointer;
padding: 2px 0;
transition: color .2s;
}
.risk-desc-text:hover {
color: #1890ff;
text-decoration: underline;
}
/* 风险详情弹窗 */
.desc-modal-overlay {
display: none;
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0,0,0,.45);
z-index: 9999;
justify-content: center;
align-items: center;
}
.desc-modal-overlay.visible {
display: flex;
}
.desc-modal {
background: #fff;
border-radius: 10px;
width: 90%;
max-width: 560px;
max-height: 70vh;
display: flex;
flex-direction: column;
box-shadow: 0 8px 30px rgba(0,0,0,.18);
animation: modalIn .2s ease;
}
@keyframes modalIn {
from { transform: scale(.92); opacity: 0; }
to { transform: scale(1); opacity: 1; }
}
.desc-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 14px 20px;
border-bottom: 1px solid #eee;
font-weight: 700;
font-size: 15px;
color: #1a3c46;
}
.desc-modal-close {
border: none;
background: none;
font-size: 20px;
cursor: pointer;
color: #8c8c8c;
line-height: 1;
padding: 4px 8px;
border-radius: 4px;
}
.desc-modal-close:hover {
background: #f5f5f5;
color: #333;
}
.desc-modal-body {
padding: 18px 20px;
overflow-y: auto;
font-size: 13px;
color: #3a4f56;
line-height: 1.9;
word-break: break-word;
white-space: pre-wrap;
}
/* ========== 评分填写指引按钮与弹窗 ========== */
.guide-btn {
padding: 6px 18px;
font-size: 13px;
font-weight: 600;
color: #fff;
background: linear-gradient(135deg, #1d4653, #2c5e6d);
border: none;
border-radius: 4px;
cursor: pointer;
transition: opacity 0.2s;
}
.guide-btn:hover {
opacity: 0.88;
}
.guide-modal {
max-width: 1100px;
max-height: 85vh;
}
.guide-modal-body {
line-height: 1.6;
white-space: normal;
}
.guide-section-title {
font-weight: 700;
font-size: 14px;
color: #1a3c46;
margin: 4px 0 8px;
}
.guide-intro {
font-size: 12.5px;
color: #6b7d84;
margin-bottom: 10px;
}
.guide-table {
width: 100%;
border-collapse: collapse;
font-size: 12px;
margin-bottom: 18px;
}
.guide-table th,
.guide-table td {
border: 1px solid #e2eaed;
padding: 8px 10px;
vertical-align: middle;
text-align: center;
white-space: pre-line;
word-break: break-word;
}
.guide-table thead th {
background: linear-gradient(135deg, #1d4653, #2c5e6d);
color: #fff;
font-weight: 600;
text-align: center;
}
.guide-table td:first-child,
.guide-table td:nth-child(2) {
text-align: center;
font-weight: 600;
white-space: nowrap;
}
/* 风险影响程度表:维度列与分值列宽度保持一致 */
.guide-table.impact-guide th:first-child,
.guide-table.impact-guide th:nth-child(2),
.guide-table.impact-guide td:first-child,
.guide-table.impact-guide td:nth-child(2) {
width: 80px;
min-width: 80px;
}
.guide-table tbody tr:nth-child(even) {
background: #f8fbfc;
}
/* TOP10 优先级区域 */
.top10-cell {
display: flex;
flex-direction: column;
gap: 6px;
text-align: left;
}
.top10-cell select {
width: 100%;
}
.top10-input {
width: 100%;
min-height: 50px;
padding: 6px 8px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 12px;
resize: vertical;
box-sizing: border-box;
transition: border-color 0.2s, box-shadow 0.2s, opacity 0.2s;
}
.top10-input:disabled {
background: #f5f7f8;
color: #aab8bd;
cursor: not-allowed;
opacity: 0.6;
}
.top10-input:not(:disabled):focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.top10-input.required-empty {
border-color: #ff4d4f;
box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.1);
}
/* ========== 第三部分:新兴风险表格模块 ========== */
.part3-table-wrapper {
border: 1px solid #e2eaed;
border-radius: 8px;
overflow: hidden;
background: #fff;
margin-top: 16px;
}
.part3-table-header {
display: grid;
grid-template-columns: 1fr 120px 1.2fr;
background: linear-gradient(135deg, #1d4653, #2c5e6d);
color: #fff;
font-size: 13px;
font-weight: 600;
}
.part3-th {
padding: 12px 14px;
border-right: 1px solid rgba(255,255,255,0.15);
line-height: 1.5;
}
.part3-th:last-child {
border-right: none;
}
.part3-category {
border-bottom: 1px solid #e2eaed;
}
.part3-category:last-child {
border-bottom: none;
}
.part3-category-title {
padding: 12px 18px;
background: linear-gradient(135deg, #e8f4f8, #dceef2);
font-size: 15px;
font-weight: 700;
color: var(--teal-deep);
border-bottom: 1px solid #e2eaed;
}
.part3-note {
padding: 8px 18px;
font-size: 11px;
color: #8a9ba3;
background: #f8fafb;
border-bottom: 1px solid #eef3f5;
line-height: 1.6;
}
.part3-risk-group {
border-bottom: 1px solid #eef3f5;
}
.part3-risk-group:last-child {
border-bottom: none;
}
.part3-risk-header {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 18px;
background: #f5f9fa;
cursor: pointer;
user-select: none;
transition: background 0.2s;
}
.part3-risk-header:hover {
background: #edf4f6;
}
.part3-risk-header .collapse-arrow {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
color: var(--teal);
font-size: 12px;
flex-shrink: 0;
}
.part3-risk-group.open .collapse-arrow {
transform: rotate(90deg);
}
.part3-risk-title {
font-size: 13px;
font-weight: 600;
color: #2b3a40;
}
.part3-expand-hint {
font-size: 11px;
color: #8a9ba3;
margin-left: auto;
}
.part3-risk-body {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
}
.part3-risk-group.open .part3-risk-body {
max-height: 3000px;
}
.part3-sub-row {
display: grid;
grid-template-columns: 1fr 120px 1.2fr;
border-bottom: 1px solid #f0f4f6;
transition: background 0.2s;
}
.part3-sub-row:last-child {
border-bottom: none;
}
.part3-sub-row:hover {
background: #fafcfd;
}
.part3-sub-row.attention {
background: #f0f9fb;
}
.part3-sub-desc {
padding: 12px 18px;
font-size: 12px;
color: #3a4d55;
line-height: 1.6;
border-right: 1px solid #eef3f5;
}
.part3-sub-check {
display: flex;
align-items: center;
justify-content: center;
padding: 12px;
border-right: 1px solid #eef3f5;
}
.part3-checkbox {
width: 18px;
height: 18px;
accent-color: var(--teal);
cursor: pointer;
}
.part3-sub-input {
padding: 10px 14px;
}
.part3-textarea {
width: 100%;
min-height: 56px;
padding: 8px 10px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 12px;
resize: vertical;
box-sizing: border-box;
transition: border-color 0.2s, box-shadow 0.2s, opacity 0.2s;
}
.part3-textarea:disabled {
background: #f5f7f8;
color: #aab8bd;
cursor: not-allowed;
opacity: 0.6;
}
.part3-textarea:not(:disabled):focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
/* ========== 第四部分:资源支持需求 ========== */
.section-textarea {
width: 100%;
min-height: 120px;
padding: 12px 14px;
border: 1px solid #d5e0e4;
border-radius: 6px;
font-size: 14px;
background: #fff;
box-sizing: border-box;
resize: vertical;
transition: border-color 0.25s, box-shadow 0.25s;
line-height: 1.6;
}
.section-textarea:hover {
border-color: #a9c3cb;
}
.section-textarea:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 3px rgba(44, 94, 109, 0.14);
}
/* ========== 窄屏适配 ========== */
/* ========== 问卷正文标题 & 填写人信息 ========== */
.body-main-title {
font-size: 22px;
font-weight: 800;
color: var(--teal-deep);
text-align: center;
letter-spacing: 2px;
margin: 28px 0 18px;
}
.user-info-box {
margin: 0 0 26px;
padding: 14px 20px;
background: #f7fafb;
border: 1px solid #e2eaed;
border-radius: 10px;
}
.user-info-row {
display: flex;
align-items: baseline;
font-size: 14px;
color: #22343b;
line-height: 2;
}
.user-info-label {
font-weight: 700;
min-width: 56px;
color: #3a4d55;
}
/* ========== 问题小标题/描述 ========== */
.q-desc {
font-size: 13.5px;
color: #3a4d55;
line-height: 1.8;
margin: -2px 0 12px;
white-space: pre-line;
}
.q-sub-text {
font-size: 13.5px;
color: #22343b;
font-weight: 600;
line-height: 1.8;
margin: 6px 0 10px;
}
.q-note {
font-size: 12px;
color: #8a9aa1;
line-height: 1.7;
margin: -4px 0 10px;
}
/* ========== 第一部分:战略目标/关键项目表格 ========== */
.goal-table-wrapper {
overflow-x: auto;
border: 1px solid #e2eaed;
border-radius: 8px;
}
.goal-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
table-layout: fixed;
}
.goal-table th,
.goal-table td {
border: 1px solid #e2eaed;
padding: 8px 10px;
vertical-align: middle;
text-align: left;
white-space: normal;
}
.goal-table thead th {
background: linear-gradient(135deg, #1d4653, #2c5e6d);
color: #fff;
font-weight: 600;
font-size: 12.5px;
text-align: center;
line-height: 1.6;
}
.goal-table .goal-col-seq {
width: 56px;
text-align: center;
}
.goal-table tbody td.goal-seq {
text-align: center;
font-weight: 600;
color: #3a4d55;
}
.goal-table tbody tr:nth-child(even) {
background: #f8fbfc;
}
.goal-table td textarea {
width: 100%;
min-height: 60px;
padding: 6px 8px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 13px;
box-sizing: border-box;
resize: vertical;
line-height: 1.5;
transition: border-color 0.2s, box-shadow 0.2s;
}
.goal-table td textarea:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.goal-table td textarea.required-empty {
border-color: #ff4d4f;
box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.1);
}
.add-row-btn {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 10px;
padding: 7px 18px;
border: 1px dashed var(--teal);
border-radius: 6px;
background: #f2f9fa;
color: var(--teal-deep);
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: background 0.2s, box-shadow 0.2s;
}
.add-row-btn:hover {
background: #e4f2f4;
box-shadow: 0 2px 6px rgba(44, 94, 109, 0.15);
}
.add-row-btn .add-icon {
font-size: 15px;
font-weight: 800;
line-height: 1;
}
/* ========== 第二部分:风险名称列 & Top 3 优先关注表格 ========== */
.risk-table .col-risk {
min-width: 150px;
text-align: center;
}
.risk-name-text {
font-weight: 600;
color: #22343b;
text-align: center;
line-height: 1.5;
}
.priority-table {
width: 100%;
max-width: 620px;
border-collapse: collapse;
font-size: 13px;
}
.priority-table th,
.priority-table td {
border: 1px solid #e2eaed;
padding: 8px 10px;
}
.priority-table thead th {
background: linear-gradient(135deg, #1d4653, #2c5e6d);
color: #fff;
font-weight: 600;
font-size: 12.5px;
text-align: center;
}
.priority-table .pri-rank {
width: 90px;
text-align: center;
font-weight: 600;
color: #3a4d55;
}
.priority-table .pri-select {
width: 100%;
padding: 6px 8px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 13px;
box-sizing: border-box;
transition: border-color 0.2s, box-shadow 0.2s;
}
.priority-table .pri-select:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.priority-table .res-support-input {
width: 100%;
min-height: 64px;
padding: 6px 8px;
border: 1px solid #d5e0e4;
border-radius: 4px;
font-size: 13px;
box-sizing: border-box;
resize: vertical;
line-height: 1.5;
transition: border-color 0.2s, box-shadow 0.2s;
}
.priority-table .res-support-input:focus {
border-color: var(--teal);
outline: none;
box-shadow: 0 0 0 2px rgba(44, 94, 109, 0.12);
}
.priority-table .res-urgency-select {
width: 100%;
}
@media (max-width: 640px) {
#myRiskForm {
--pad: 16px;
/* 改这一处,胶囊自动跟着对齐 banner 内角 */
padding: var(--pad);
}
.banner-box {
padding: 44px 18px 24px;
/* 顶部留高,把文案压到胶囊下方,垂直错开 */
}
.lang-toggle {
width: 104px;
}
}
</style>
<div class="risk-form-container" id="myRiskForm">
<!-- 语言切换按钮 -->
<div class="lang-toggle" id="langToggle" title="切换语言 / Switch Language">
<span class="lang-slider"></span>
<span class="lang-opt lang-zh">中文</span>
<span class="lang-opt lang-en">EN</span>
</div>
<!-- 顶部 Banner -->
<div class="banner-box">
<div class="banner-content">
<div class="banner-eyebrow" data-i18n="eyebrow"></div>
<h1 class="banner-title" data-i18n="title"></h1>
</div>
</div>
<!-- 背景介绍(封面图下方、第一部分上方,中英文手动配置) -->
<div class="intro-section">
<div class="intro-title" data-i18n="intro_title"></div>
<p class="intro-para" data-i18n="intro_p1"></p>
<p class="intro-para" data-i18n="intro_p2"></p>
<p class="intro-para" data-i18n="intro_p3"></p>
<div class="intro-sub-title" data-i18n="intro_purpose_title"></div>
<ol class="intro-list">
<li data-i18n="intro_purpose_1"></li>
<li data-i18n="intro_purpose_2"></li>
<li data-i18n="intro_purpose_3"></li>
</ol>
<div class="intro-sub-title" data-i18n="intro_fill_title"></div>
<ol class="intro-list">
<li data-i18n="intro_fill_1"></li>
<li data-i18n="intro_fill_2"></li>
<li data-i18n="intro_fill_3"></li>
<li data-i18n="intro_fill_4"></li>
<li data-i18n="intro_fill_5"></li>
<li data-i18n="intro_fill_6" style="white-space:pre-line"></li>
</ol>
</div>
<!-- 问卷正文标题 & 填写人信息(姓名/邮箱初始化自动带出) -->
<div class="body-main-title" data-i18n="body_title"></div>
<div class="user-info-box">
<div class="user-info-row">
<span class="user-info-label" data-i18n="user_name_label"></span>
<span id="autoUserName">-</span>
</div>
<div class="user-info-row">
<span class="user-info-label" data-i18n="user_email_label"></span>
<span id="autoUserEmail">-</span>
</div>
</div>
<!-- 第一部分说明 -->
<div class="section-title" data-i18n="section"></div>
<div class="desc-text" data-i18n="desc"></div>
<!-- 问题 1:业务或职能范围 -->
<div class="question-block" style="animation-delay:.05s">
<label class="q-label"><span data-i18n="q1"></span><span class="required">*</span></label>
<div class="q-desc" data-i18n="q1_desc"></div>
<input type="text" class="custom-input" id="field_q1" data-i18n-ph="ph" placeholder="请在此处简要回答:">
</div>
<!-- 问题 2:战略目标/关键项目表格(默认3行,可点击加号新增行) -->
<div class="question-block" style="animation-delay:.12s">
<label class="q-label"><span data-i18n="q2"></span><span class="required">*</span></label>
<div class="q-desc" data-i18n="q2_desc" style="white-space:pre-line"></div>
<div class="goal-table-wrapper">
<table class="goal-table" id="goalTable">
<thead>
<tr>
<th class="goal-col-seq" data-i18n="goal_th_seq"></th>
<th data-i18n="goal_th_1"></th>
<th data-i18n="goal_th_2"></th>
<th data-i18n="goal_th_3"></th>
<th data-i18n="goal_th_4"></th>
</tr>
</thead>
<tbody id="goalTableBody">
<!-- 默认3行由JS动态生成 -->
</tbody>
</table>
</div>
<button type="button" class="add-row-btn" id="goalAddRowBtn">
<span class="add-icon">+</span><span data-i18n="goal_add_row"></span>
</button>
</div>
<!-- 问题 3(公司整体风险趋势,单选) -->
<div class="question-block" style="animation-delay:.19s">
<label class="q-label"><span data-i18n="q3"></span><span class="required">*</span></label>
<!-- 3-1 剩余风险趋势 -->
<div class="q-sub-text" data-i18n="q3_sub1"></div>
<div class="q-note" data-i18n="q3_note"></div>
<div class="radio-group">
<label class="radio-item" style="--accent:#52c41a; --accent-bg:#f6ffed">
<input type="radio" name="risk_trend" value="显著下降">
<span class="radio-content" data-i18n="q3_opt1"></span>
</label>
<label class="radio-item" style="--accent:#1890ff; --accent-bg:#e6f7ff">
<input type="radio" name="risk_trend" value="有所下降">
<span class="radio-content" data-i18n="q3_opt2"></span>
</label>
<label class="radio-item" style="--accent:#fa8c16; --accent-bg:#fff7e6">
<input type="radio" name="risk_trend" value="基本稳定">
<span class="radio-content" data-i18n="q3_opt3"></span>
</label>
<label class="radio-item" style="--accent:#f5222d; --accent-bg:#fff1f0">
<input type="radio" name="risk_trend" value="有所上升">
<span class="radio-content" data-i18n="q3_opt4"></span>
</label>
<label class="radio-item" style="--accent:#722ed1; --accent-bg:#f9f0ff">
<input type="radio" name="risk_trend" value="显著上升">
<span class="radio-content" data-i18n="q3_opt5"></span>
</label>
<label class="radio-item" style="--accent:#8a9aa1; --accent-bg:#f5f7f8">
<input type="radio" name="risk_trend" value="信息不足、无法判断">
<span class="radio-content" data-i18n="q3_opt6"></span>
</label>
</div>
</div>
<!-- 原因补充 -->
<div class="question-block" style="animation-delay:.26s">
<label class="q-label"><span data-i18n="reason"></span></label>
<input type="text" class="custom-input" id="field_reason" data-i18n-ph="ph" placeholder="请输入">
</div>
<!-- ========== 第二部分:风险评估表 ========== -->
<div class="section-title" data-i18n="section2" style="margin-top:40px"></div>
<div class="desc-text" data-i18n="desc2"></div>
<div class="q-sub-text" data-i18n="desc2_sub1"></div>
<!-- 评分填写指引按钮:点击弹出指引表格弹窗(中英文随当前语言切换) -->
<div style="margin: 4px 0 10px">
<button type="button" class="guide-btn" id="impactGuideBtn" data-i18n="guide_btn"></button>
</div>
<div class="table-scroll-wrapper">
<table class="risk-table" id="riskAssessTable">
<thead>
<!-- 第1行表头:分组标题 -->
<tr>
<th rowspan="2" class="col-seq" data-i18n="th_seq"></th>
<th rowspan="2" class="col-risk" data-i18n="th_risk"></th>
<th rowspan="2" class="col-desc" data-i18n="th_desc"></th>
<th rowspan="2" class="col-top10" data-i18n="th_top10"></th>
<th colspan="5" data-i18n="th_impact_group"></th>
<th rowspan="2" class="col-dropdown" data-i18n="th_probability"></th>
<th rowspan="2" class="col-level" data-i18n="th_level"></th>
<th rowspan="2" class="col-effectiveness" data-i18n="th_effectiveness"></th>
<th rowspan="2" class="col-text" data-i18n="th_remark"></th>
<th rowspan="2" class="col-supplement" data-i18n="th_supplement"></th>
</tr>
<!-- 第2行表头:影响子列 -->
<tr>
<th class="col-dropdown" data-i18n="th_financial"></th>
<th class="col-dropdown" data-i18n="th_reputation"></th>
<th class="col-dropdown" data-i18n="th_compliance"></th>
<th class="col-dropdown" data-i18n="th_customer"></th>
<th class="col-dropdown" data-i18n="th_operation"></th>
</tr>
</thead>
<tbody id="riskTableBody">
<!-- 10行数据由JS动态生成,从第3行开始 -->
</tbody>
</table>
</div>
<!-- Top 3 优先关注风险(固定表格,风险排序1/2/3 + 风险名称下拉框) -->
<div class="q-sub-text" style="margin-top:26px" data-i18n="desc2_sub2"></div>
<table class="priority-table" id="top3PriorityTable">
<thead>
<tr>
<th data-i18n="pri_th_rank"></th>
<th data-i18n="pri_th_name"></th>
</tr>
</thead>
<tbody>
<tr>
<td class="pri-rank">1</td>
<td><select id="pri_risk_1" class="risk-select pri-select"></select></td>
</tr>
<tr>
<td class="pri-rank">2</td>
<td><select id="pri_risk_2" class="risk-select pri-select"></select></td>
</tr>
<tr>
<td class="pri-rank">3</td>
<td><select id="pri_risk_3" class="risk-select pri-select"></select></td>
</tr>
</tbody>
</table>
<!-- ========== 第三部分:新兴/补充风险 ========== -->
<div class="section-title" data-i18n="section3" style="margin-top:40px"></div>
<div class="desc-text" data-i18n="desc3" style="white-space:pre-line"></div>
<!-- 第三部分门控问题:是否存在其他需关注的风险(组件key见 FORM_CONFIG.part3GateField) -->
<div class="q-sub-text" data-i18n="part3_gate_title"></div>
<select id="part3_gate_select" class="part3-gate-select" style="display:block; width:100%; max-width:640px; padding:6px 8px; border:1px solid #d5e0e4; border-radius:4px; font-size:13px; box-sizing:border-box; background:#fff">
<option value="yes" data-i18n="part3_gate_opt_yes"></option>
<option value="no" data-i18n="part3_gate_opt_no" selected></option>
<option value="unsure" data-i18n="part3_gate_opt_unsure"></option>
</select>
<div class="desc-text" style="margin-top:8px" data-i18n="part3_gate_note"></div>
<!-- 第三部分剩余内容:仅当选择“是,存在需要进一步关注的风险”时显示,默认隐藏 -->
<div id="part3GateContent" style="display:none">
<div class="q-sub-text" style="font-weight:400; white-space:pre-line" data-i18n="part3_gate_desc1"></div>
<div class="q-sub-text" style="font-weight:400" data-i18n="part3_gate_desc2"></div>
<div class="q-sub-text" style="font-weight:400; margin-left:18px" data-i18n="part3_gate_desc2_sub1"></div>
<div class="q-sub-text" style="font-weight:400; margin-left:18px" data-i18n="part3_gate_desc2_sub2"></div>
<!-- 第三部分表头 -->
<div class="part3-table-wrapper">
<div class="part3-table-header">
<div class="part3-th part3-th-risk" data-i18n="part3_col_risk"></div>
<div class="part3-th part3-th-check" data-i18n="part3_col_attention"></div>
<div class="part3-th part3-th-desc" data-i18n="part3_col_desc"></div>
</div>
<!-- 动态内容由JS生成 -->
<div id="part3Container"></div>
</div>
</div>
<!-- ========== 第四部分:资源支持需求 ========== -->
<div class="section-title" data-i18n="section4" style="margin-top:40px"></div>
<div class="question-block">
<label class="q-label"><span data-i18n="q_resource_title"></span></label>
<!-- 子问题:是否存在需要公司管理层决策/跨部门协调/公司层面支持的事项(固定表格,默认3行) -->
<div class="q-sub-text" style="white-space:pre-line" data-i18n="q_resource_desc"></div>
<table class="priority-table" id="resourceSupportTable" style="max-width:100%; margin-top:4px">
<thead>
<tr>
<th style="width:70px" data-i18n="res_th_seq"></th>
<th data-i18n="res_th_support"></th>
<th style="width:150px" data-i18n="res_th_urgency"></th>
</tr>
</thead>
<tbody>
<tr data-res-row="0">
<td class="pri-rank">1</td>
<td><textarea class="res-support-input" data-res-field="support" data-res-row="0" data-i18n-ph="res_ph_support" placeholder="请输入"></textarea></td>
<td><select class="pri-select res-urgency-select" data-res-field="urgency" data-res-row="0">
<option value="">--</option>
<option value="high">高</option>
<option value="medium">中</option>
<option value="low">低</option>
</select></td>
</tr>
<tr data-res-row="1">
<td class="pri-rank">2</td>
<td><textarea class="res-support-input" data-res-field="support" data-res-row="1" data-i18n-ph="res_ph_support" placeholder="请输入"></textarea></td>
<td><select class="pri-select res-urgency-select" data-res-field="urgency" data-res-row="1">
<option value="">--</option>
<option value="high">高</option>
<option value="medium">中</option>
<option value="low">低</option>
</select></td>
</tr>
<tr data-res-row="2">
<td class="pri-rank">3</td>
<td><textarea class="res-support-input" data-res-field="support" data-res-row="2" data-i18n-ph="res_ph_support" placeholder="请输入"></textarea></td>
<td><select class="pri-select res-urgency-select" data-res-field="urgency" data-res-row="2">
<option value="">--</option>
<option value="high">高</option>
<option value="medium">中</option>
<option value="low">低</option>
</select></td>
</tr>
</tbody>
</table>
</div>
<!-- ========== 第五部分:其他需要补充的信息 ========== -->
<!-- <div class="section-title" data-i18n="section5" style="margin-top:40px"></div> -->
<div class="question-block">
<label class="q-label"><span data-i18n="q_other_info"></span></label>
<textarea class="section-textarea" id="field_other_info" data-i18n-ph="ph_other_info" placeholder="如您有其他需要补充的信息,请在此处补充"></textarea>
</div>
<!-- ========== 支持材料 ========== -->
<div class="question-block">
<label class="q-label"><span data-i18n="q_attach_title"></span></label>
<div class="desc-text" style="margin-bottom:10px" data-i18n="q_attach_desc"></div>
<div class="desc-text" data-i18n="q_end_note"></div>
</div>
<!-- ========== 风险描述详情弹窗 ========== -->
<div class="desc-modal-overlay" id="descModalOverlay">
<div class="desc-modal">
<div class="desc-modal-header">
<span id="descModalTitle" data-i18n="desc_modal_title"></span>
<button class="desc-modal-close" id="descModalClose">×</button>
</div>
<div class="desc-modal-body" id="descModalBody"></div>
</div>
</div>
<!-- ========== 评分填写指引弹窗(内容由JS按当前语言渲染) ========== -->
<div class="desc-modal-overlay" id="guideModalOverlay">
<div class="desc-modal guide-modal">
<div class="desc-modal-header">
<span id="guideModalTitle"></span>
<button class="desc-modal-close" id="guideModalClose">×</button>
</div>
<div class="desc-modal-body guide-modal-body" id="guideModalBody"></div>
</div>
</div>
</div>
点击查看代码
// ================= ⚙️ 组件Key集中配置(上线后key变更只需修改此处) =================
const FORM_CONFIG = {
// 目标数据表单
targetFormUuid: 'FORM-A22D5D7C41604972AD70FE468C77786BE0IG',
saveDatasource: 'saveFormDataApi',
// 第一部分字段(页面DOM选择器 → 目标表单字段key)
part1Fields: {
q1: 'textField_mrvx918h',
riskTrend: 'selectField_ms2klpao',
reason: 'textField_mrvx918k',
},
// 第一部分:问题2 战略目标/关键项目表格(子表单)
// ⚠️ q2SubformKey 为子表单容器key,请替换为宜搭实际key;列字段key为 demo1-demo4
q2SubformKey: 'tableField_mscs0bpp',
q2SubformFields: [
{ dataKey: 'seq', fieldKey: 'textField_msctt2vg' }, // 序号(行号,随行保存)
{ dataKey: 'goal', fieldKey: 'textField_mrvx918j' }, // 未来12至24个月最重要的战略目标或关键项目
{ dataKey: 'milestone', fieldKey: 'textField_mscs0bpq' }, // 预期成果/关键里程碑
{ dataKey: 'risk', fieldKey: 'textField_mscs0bpr' }, // 主要风险或不确定因素
{ dataKey: 'impact', fieldKey: 'textField_mscs0bps' }, // 对业务或目标的潜在影响
],
// 第二部分:子表单
tableSubformKey: 'tableField_ms2kejp6',
tableSubformFields: [
{ dataKey: 'riskName', fieldKey: 'textField_mscrmljy' }, // 风险名称(固定10项,来自TOP10_RISKS配置,随语言联动)
{ dataKey: 'financial', fieldKey: 'selectField_ms2kejpc' }, // 财务影响
{ dataKey: 'reputation', fieldKey: 'selectField_ms2kejpb' }, // 声誉影响
{ dataKey: 'compliance', fieldKey: 'selectField_ms2kejpa' }, // 合规影响
{ dataKey: 'customer', fieldKey: 'selectField_ms2kejp9' }, // 客户影响
{ dataKey: 'operation', fieldKey: 'selectField_ms2kejp8' }, // 运营影响
{ dataKey: 'probability', fieldKey: 'selectField_ms2kejp7' }, // 发生可能性
{ dataKey: 'riskLevel', fieldKey: 'textField_ms2kejpd' }, // 风险等级(自动计算)
{ dataKey: 'top10', fieldKey: 'selectField_ms2kejpf' }, // 是否保留TOP10风险
{ dataKey: 'top10Reason', fieldKey: 'textareaField_ms2kejpe' }, // TOP10原因/替代建议
{ dataKey: 'effectiveness', fieldKey: 'textareaField_ms2kejpg' }, // 第4列:风险最新情况
{ dataKey: 'remark', fieldKey: 'textareaField_ms5gwp9u' }, // 第5列:Mitigation Plan
{ dataKey: 'supplement', fieldKey: 'textareaField_ms5gwp9v' }, // 第6列:补充说明
],
// 第二部分:Top 3 优先关注风险(风险排序1/2/3对应的下拉框字段key)
top3PriorityFields: ['textField_mscs0bpm', 'textField_mscs0bpn', 'textField_mscs0bpo'],
// 第四部分:公司层面管理支持表格(固定3行:序号/支持事项/紧迫程度)
resourceTableSubformKey: 'tableField_mscvh00l',
resourceTableSubformFields: [
{ dataKey: 'seq', fieldKey: 'textField_mscvh00m' }, // 序号(固定1/2/3)
{ dataKey: 'support', fieldKey: 'textField_mscvh00n' }, // 需要的公司层面决策、资源需求、行动或支持
{ dataKey: 'urgency', fieldKey: 'selectField_mscvh00o' }, // 紧迫程度(高/中/低)
],
// 第五部分:其他补充信息
otherInfoField: 'textField_mscvh00p',
// 提交人邮箱
submitterEmailField: 'textField_ms5m83dy',
// 提交人姓名(⚠️ 请替换为宜搭实际字段key)
submitterNameField: 'demo6',
// 附件
attachPageComponent: 'attachmentField_ms5ihmx8', // 页面上的原生附件组件ID
attachTargetField: 'attachmentField_ms5jtkm6', // 目标表单中的附件字段key
// 第三部分:门控问题“是否存在其他需关注的风险”下拉框(⚠️ 请替换为宜搭实际组件key)
part3GateField: 'selectField_mscvh00t',
// 第三部分:新兴风险字段key映射(暂无真实key,后期手动替换即可)
// 格式: {category}_{riskIndex}_{subItem} → 目标表单字段key
part3Fields: {
external_1_A: 'textareaField_ms5ucp71',
external_1_B: 'textareaField_ms5ucp72',
external_1_C: 'textareaField_ms5ucp79',
external_2_A: 'textareaField_ms5ucp70',
external_2_B: 'textareaField_ms5ucp73',
external_2_C: 'textareaField_ms5ucp74',
external_2_D: 'textareaField_ms5ucp75',
external_3_A: 'textareaField_ms5ucp7d',
external_3_B: 'textareaField_ms5ucp7e',
external_3_C: 'textareaField_ms5ucp7f',
external_4_A: 'textareaField_ms5ucp8b',
external_4_B: 'textareaField_ms5ucp8c',
external_4_C: 'textareaField_ms5ucp8d',
external_4_D: 'textareaField_ms5ucp8f',
internal_5_A: 'textareaField_ms5ucp7i',
internal_5_B: 'textareaField_ms5ucp7j',
internal_5_C: 'textareaField_ms5ucp7k',
internal_5_D: 'textareaField_ms5ucp7m',
internal_5_E: 'textareaField_ms5ucp7n',
internal_6_A: 'textareaField_ms5ucp7o',
internal_6_B: 'textareaField_ms5ucp7p',
internal_6_C: 'textareaField_ms5ucp7q',
internal_6_D: 'textareaField_ms5ucp7r',
internal_6_E: 'textareaField_ms5ucp7s',
internal_7_A: 'textareaField_ms5ucp7u',
internal_7_B: 'textareaField_ms5ucp7v',
internal_7_C: 'textareaField_ms5ucp7w',
internal_7_D: 'textareaField_ms5ucp7x',
internal_7_E: 'textareaField_ms5ucp7y',
internal_8_A: 'textareaField_ms5ucp80',
internal_8_B: 'textareaField_ms5ucp81',
internal_8_C: 'textareaField_ms5ucp82',
internal_9_A: 'textareaField_ms5ucp86',
internal_9_B: 'textareaField_ms5ucp87',
internal_9_C: 'textareaField_ms5ucp88',
internal_9_D: 'textareaField_ms5ucp8a',
},
// 风险描述配置表单(动态数据源)
descFormUuid: 'FORM-9C03CBEE3ACE474695E418F2A906EAEFMV8G',
descDatasource: 'searchFormDatasApi',
descFieldIds: ['textField_ms2sp1qk', 'textField_ms2sp1qj', 'textField_ms2sp1ql', 'textField_ms2sp1qm', 'textField_ms2sp1qn', 'textField_ms2sp1qo', 'textField_ms2sp1qp', 'textField_ms2sp1qq', 'textField_ms2sp1qr', 'textField_ms2sp1qs'],
// 第三部分:新兴风险子项描述(共用上方 descFormUuid / descDatasource 配置表)
// ℹ️ 配置表结构约定:第1条记录=中文,第2条记录=英文(第二、三部分共用同一条记录,各自读取不同字段)
// 子项key → 配置表字段ID映射(后期手动替换真实key即可)
part3DescFieldIds: {
external_1_A: 'textField_ms74ct2m',
external_1_B: 'textField_ms74ct2n',
external_1_C: 'textField_ms74ct2r',
external_2_A: 'textField_ms74ct2s',
external_2_B: 'textField_ms74ct2t',
external_2_C: 'textField_ms74ct2o',
external_2_D: 'textField_ms74ct2p',
external_3_A: 'textField_ms74ct2q',
external_3_B: 'textField_ms74ct2u',
external_3_C: 'textField_ms74ct2v',
external_4_A: 'textField_ms74ct2w',
external_4_B: 'textField_ms74ct2x',
external_4_C: 'textField_ms74ct2y',
external_4_D: 'textField_ms74ct2z',
internal_5_A: 'textField_ms74ct30',
internal_5_B: 'textField_ms74ct31',
internal_5_C: 'textField_ms74ct32',
internal_5_D: 'textField_ms74ct33',
internal_5_E: 'textField_ms74ct34',
internal_6_A: 'textField_ms74ct35',
internal_6_B: 'textField_ms74ct36',
internal_6_C: 'textField_ms74ct37',
internal_6_D: 'textField_ms74ct38',
internal_6_E: 'textField_ms74ct39',
internal_7_A: 'textField_ms74ct3a',
internal_7_B: 'textField_ms74ct3b',
internal_7_C: 'textField_ms74ct3c',
internal_7_D: 'textField_ms74ct3d',
internal_7_E: 'textField_ms74ct3e',
internal_8_A: 'textField_ms74ct3f',
internal_8_B: 'textField_ms74ct3g',
internal_8_C: 'textField_ms74ct3h',
internal_9_A: 'textField_ms74ct3i',
internal_9_B: 'textField_ms74ct3j',
internal_9_C: 'textField_ms74ct3k',
internal_9_D: 'textField_ms74ct3l',
},
};
// ================= 第二部分:Top 10 风险名称配置(中英文联动) =================
// 表格“风险”列(第1~10行)与“Top 3 优先关注”下拉框选项均来自此配置,修改后自动同步
const TOP10_RISKS = [
{ zh: '1.地缘政治风险', en: '1.Geopolitical Risk' },
{ zh: '2.数字化风险', en: '2.Information Technology Risks' },
{ zh: '3.成本控制风险', en: '3. Cost Control Risk' },
{ zh: '4.全球子公司管理风险', en: '4. Global Subsidiaries Mgt. Risk' },
{ zh: '5.人才风险', en: '5. Talent Risk' },
{ zh: '6.合规风险', en: '6. Compliance' },
{ zh: '7.项目定价及成本核算风险', en: '7. Project Pricing and Costing' },
{ zh: '8.工程项目管理', en: '8. Engineering Project Mgt.' },
{ zh: '9. 应收账款', en: '9. Accounts Receivable' },
{ zh: '10.财务与税务相关风险', en: '10. Accounts Receivable' },
];
// ================= 第三部分:新兴风险配置数据 =================
// 结构: categories → riskTypes → subItems
const PART3_CONFIG = {
categories: [
{ id: 'external', titleKey: 'part3_external_title', riskTypes: [
{ index: 1, titleKey: 'part3_ext_1', subItems: ['A','B','C'] },
{ index: 2, titleKey: 'part3_ext_2', subItems: ['A','B','C','D'] },
{ index: 3, titleKey: 'part3_ext_3', subItems: ['A','B','C'] },
{ index: 4, titleKey: 'part3_ext_4', subItems: ['A','B','C','D'] }
]},
{ id: 'internal', titleKey: 'part3_internal_title', riskTypes: [
{ index: 5, titleKey: 'part3_int_5', subItems: ['A','B','C','D','E'] },
{ index: 6, titleKey: 'part3_int_6', subItems: ['A','B','C','D','E'] },
{ index: 7, titleKey: 'part3_int_7', subItems: ['A','B','C','D','E'] },
{ index: 8, titleKey: 'part3_int_8', subItems: ['A','B','C'] },
{ index: 9, titleKey: 'part3_int_9', subItems: ['A','B','C','D'] }
]}
]
};
// ================= 评分填写指引弹窗数据(来源:新建 XLSX 工作表.xlsx,sheet1=中文 / sheet2=英文) =================
const GUIDE_DATA = {
zh: {
modalTitle: '风险评分填写指引',
likelihood: {
title: '风险发生可能性评分填写指引',
intro: '请基于您对当前业务环境、历史发生情况、外部变化趋势及现有管控措施有效性的判断,对该风险在未来一段时间内发生或持续显现的可能性进行评分。评分分为1-3分,分值越高,代表发生可能性越高。',
headers: ['分值', '可能性等级', '填写指引'],
rows: [
['1分', '低可能性', '该风险目前发生可能性较低,过去较少发生或仅在特殊情景下可能发生;现有管控措施相对充分,短期内对业务目标产生明显影响的可能性较小。'],
['2分', '中等可能性', '该风险已有一定发生基础或趋势信号,可能在部分业务、区域或特定场景下发生;现有管控措施可部分缓解风险,但仍存在一定不确定性或执行差异,需要持续关注。'],
['3分', '高可能性', '该风险已经发生、正在持续显现,或在当前业务环境下较可能发生;风险驱动因素较明确,现有管控措施尚不足以充分降低发生可能性,可能对业务目标造成较直接影响。']
]
},
impact: {
title: '风险影响程度的填写指引',
headers: ['维度', '分值', '财务影响(A)', '企业声誉(B)', '合法合规(C)', '客户及业务合作伙伴(D)', '企业运营(E)'],
rows: [
['高', '3',
'在营收、利润、现金流方面对本公司有重大财务影响,对企业的不利影响大于等于公司最近一期经审计的主营业务收入的1%。(该标准供参考)\n(基于2024年末财报数据,主营业务收入约为186.8亿元,1%约为 1.868 亿)',
'持续时间较久的负面媒体报道或大众媒体攻击,负面消息在各地流转、无法有效遏制,需要较长时间才能恢复公司声誉。(如:影响时间超过3个月,造成省级、全国级甚至全球级的影响)',
'严重违反法规,导致企业被境内外执法机构立案调查,公司可能受到严重行政处罚(例如,针对董事及员工的重大调查或诉讼,如民事或刑事指控,给公司造成较大的经济或声誉损失)',
'客户或业务合作伙伴关系严重受损,导致前五大重要客户或主要业务合作伙伴流失(大于20%的流失率)。',
'严重影响营运,并可能导致业务中断 (例如,大部分关键设备故障;不在计划之中的,大于15%的关键人才流失;发生重大安全事故且造成人员死亡)\n备注:关键人才为对企业起到关键性影响作用的、可替代性较低的岗位,例如企业核心高管、较大的业绩贡献者、高级技术人员等。'],
['中', '2',
'在营收、利润、现金流方面对公司有一定程度的财务影响。对企业的不利影响大于等于公司最近一期经审计的主营业务收入的0.5%小于1%。(该标准供参考)\n(基于2024年末财报数据,主营业务收入约为186.8亿元,0.5%小于1%的区间为 9340万元至 1.868 亿之间)',
'负面的媒体报道或有限的的媒体攻击,需要一段时间来恢复公司的声誉,对企业声誉造成一定的影响。(如:影响时间低于3个月,在本地小范围内传播)',
'违反法规,导致企业被执法机构立案调查,可能受到一定的行政处罚(例如,企业针对公司董事和员工的轻微调查或诉讼,给企业造成部分经济损失但金额不大)',
'对客户或业务合作伙伴的关系造成轻微影响,并导致部分客户或业务合作伙伴流失(小于20%的流失率)。',
'对业务有暂时影响,但不太可能造成业务中断 (例如,部分关键设备发生故障;不在计划之中的;大于5%且小于15%的关键人才流失; 造成人员重伤)'],
['低', '1',
'在营收、利润、现金流方面对公司的财务影响较小。对企业的不利影响小于公司最近一期经审计的主营业务收入的0.5%。(该标准供参考)\n(小于 9,340万元)',
'轻微的媒体报道或攻击,可以很快解决,对企业声誉造成轻微损害或基本无损害。',
'轻微不合规事件,对公司经营影响极小。',
'对客户或业务伙伴关系影响较小,尚未导致客户或业务合作伙伴流失。',
'对运营影响很小,不会导致业务中断 (例如,非关键设备的故障;基本没有关键人才流失;造成人员轻伤)。'],
['不适用', '0', '不适用', '不适用', '不适用', '不适用', '不适用']
]
}
},
en: {
modalTitle: 'Risk Rating Guidance',
likelihood: {
title: 'Risk Likelihood Rating Guidance',
intro: 'Please rate the likelihood that the risk will occur or continue to materialize over the coming period based on your judgment of the current business environment, historical occurrence, external trends, and the effectiveness of existing controls. The rating ranges from 1 to 3; a higher score indicates higher likelihood.',
headers: ['Score', 'Likelihood Level', 'Guidance'],
rows: [
['1', 'Low Likelihood', 'The risk currently has a low likelihood of occurrence. It has rarely occurred in the past or may only occur under special scenarios. Existing controls are relatively sufficient, and the likelihood of a material short-term impact on business objectives is low.'],
['2', 'Medium Likelihood', 'The risk has certain occurrence drivers or trend signals and may occur in certain businesses, regions, or scenarios. Existing controls can partially mitigate the risk, but some uncertainty or execution variance remains and requires continued attention.'],
['3', 'High Likelihood', 'The risk has already occurred, is continuing to materialize, or is relatively likely to occur in the current business environment. Risk drivers are clear, and existing controls may not be sufficient to reduce likelihood, potentially creating a direct impact on business objectives.']
]
},
impact: {
title: 'Risk Impact Rating Guidance',
headers: ['Dimension', 'Score', 'Financial Impact (A)', 'Corporate Reputation (B)', 'Legal & Regulatory (C)', 'Customers & Business Partners (D)', 'Operations (E)'],
rows: [
['High', '3',
'Significant financial impact on revenue, profit, or cash flow. The adverse impact is equal to or greater than 1% of the Company’s latest audited principal business revenue. This threshold is for reference. Based on the Company’s 2025 audited financial results, revenue was approximately RMB 21.79 billion, and 1% is approximately RMB 218 million.',
'Long-lasting negative media reports or mass media criticism, with negative information spreading widely and not effectively contained. It may take a long time to restore the Company’s reputation, for example, an impact lasting more than three months or causing provincial, national, or even global impact.',
'Serious violation of laws or regulations resulting in investigations by domestic or foreign enforcement authorities. The Company may face serious administrative penalties, such as major investigations or proceedings involving directors or employees, including civil or criminal allegations, causing significant financial or reputational loss.',
'Severe damage to customer or business partner relationships, resulting in the loss of top key customers or major business partners, with a loss rate above 20%.',
'Severe impact on operations and potential business interruption, for example, failure of most critical equipment, unplanned loss of more than 15% of key talent, or a major safety incident causing fatalities. Note: key talent refers to positions that have a critical impact on the enterprise and are difficult to replace, such as core executives, major business contributors, and senior technical personnel.'],
['Medium', '2',
'Moderate financial impact on revenue, profit, or cash flow. The adverse impact is equal to or greater than 0.5% and less than 1% of the Company’s latest audited principal business revenue. This threshold is for reference. Based on the Company’s 2025 report, the 0.5% to 1% range is approximately RMB 109 million to RMB 218 million.',
'Negative media coverage or limited media criticism that requires some time to restore the Company’s reputation and causes certain reputational impact, for example, an impact lasting less than three months and spreading only locally.',
'Violation of laws or regulations resulting in investigation by enforcement authorities and possible administrative penalties, for example, minor investigations or proceedings involving Company directors or employees, causing some financial loss but not a large amount.',
'Minor impact on customer or business partner relationships and potential loss of some customers or partners, with a loss rate below 20%.',
'Temporary impact on business but unlikely to cause business interruption, for example, failure of some critical equipment, unplanned loss of more than 5% but less than 15% of key talent, or serious injuries.'],
['Low', '1',
'Minor financial impact on revenue, profit, or cash flow. The adverse impact is less than 0.5% of the Company’s latest audited principal business revenue. Based on the Company’s 2025 report, the 0.5% is approximately RMB 109 million.',
'Minor media coverage or criticism that can be resolved quickly, causing minor or no reputational damage.',
'Minor non-compliance event with minimal impact on Company operations.',
'Minor impact on customer or business partner relationships, with no customer or business partner loss.',
'Very limited operational impact, with no business interruption, for example, failure of non-critical equipment, essentially no loss of key talent, or minor injuries.'],
['Not Applicable', '0', 'Not Applicable', 'Not Applicable', 'Not Applicable', 'Not Applicable', 'Not Applicable']
]
}
}
};
export function didMount() {
// 防止页面渲染期间重复初始化(宜搭可能多次触发 didMount)
if (this._riskPageInitDone) return;
this._riskPageInitDone = true;
this._riskPageMountTime = Date.now();
// 跟踪真实用户交互:仅当用户在页面上真实点击过(触发 pointerdown)才允许提交,
// 从根本上拦截平台在渲染期间自动触发的提交事件(避免误调 saveFormData)
this._userInteracted = false;
document.addEventListener('pointerdown', () => { this._userInteracted = true; }, { capture: true });
// ================= 中英文词典 =================
const I18N = {
zh: {
eyebrow: 'RISK ASSESSMENT · 内部资料',
title: '2026年度风险评估问卷',
// 背景介绍(封面图下方、第一部分上方,手动配置中英文内容)
intro_title: '背景介绍',
intro_p1: '根据董事会及管理层关于持续加强企业风险管理的要求,法律合规部现启动公司2026年度企业风险评估工作。',
intro_p2: '本次评估将结合2025年度企业风险评估报告进行更新,结合近两年风险变化趋势,以及公司2026年内外部环境、战略重点和业务发展情况,收集各业务/职能领域的重点风险变化、风险应对计划进展及新兴风险的判断。',
intro_p3: '现特邀请公司管理层、相关风险负责人及业务负责人,结合自身业务和实际了解情况填写本问卷。问卷反馈将与管理层访谈内容、内外部数据及专项分析结果相互验证,作为形成公司2026年度企业风险评估结果及后续风险管理工作的关键依据。',
intro_purpose_title: '本问卷主要用于:',
intro_purpose_1: '1.识别可能影响未来战略目标、关键项目及业务进展的主要风险或不确定因素。',
intro_purpose_2: '2.复核评估 Top 风险的变化趋势、当前风险水平、风险应对计划进展及需持续关注的事项。',
intro_purpose_3: '3.为公司 2026 年度企业风险评估、风险优先级判断、资源配置及相关管理工作提供风险信息和参考。',
intro_fill_title: '填写说明:',
intro_fill_1: '1.为确保您有更好的填写体验,建议您使用电脑端填写,预计填写时间约为 20–30 分钟。',
intro_fill_2: '2.我们希望能在 8 月 28 日之前收到您的问卷反馈。',
intro_fill_3: '3.请结合您的职责范围及您实际掌握的情况填写问卷。',
intro_fill_4: '4.问卷涉及公司经营和敏感信息。问卷链接已定向发送至受邀人。原则上由受邀人本人填写。如确需其他同事协助,请提前联系项目组确认并完成相应授权。',
intro_fill_5: '5.问卷信息将严格按公司商密保护要求进行管理,仅用于本次企业风险评估及相关内部风险管理工作。',
intro_fill_6: '6.如在您填写过程中遇到任何问题,您可以随时联系项目组成员:\n• Ken Cui, cui.can@wuxibiolgics.com\n• Yolanda Yao, yao.lan@wuxibiolgics.com\n• Edward Zhou, zhou.qiuhai@wuxibiolgics.com',
// 问卷正文标题 & 填写人信息
body_title: '问卷正文',
user_name_label: '姓名:',
user_email_label: '邮箱:',
section: '第一部分: 业务重点与整体风险判断',
desc: '填答介绍:本部分以开放题为主,旨在了解负责人业务/职能的主要职责、重点目标、关键项目,以及在目标实现过程中面临的挑战和对公司整体风险趋势的判断。',
q1: '1. 业务或职能范围',
q1_desc: '请简要说明您负责的团队和主要业务职责。',
q2: '2. 重点项目或关键事项及影响目标实现的主要风险',
q2_desc: '请按重要性列出您所负责领域未来12至24个月最重要的战略目标或关键项目。(请至少填写TOP 3)\n并简要说明在实现战略目标或推进关键事项的过程中,您认为最可能产生重大影响的风险或不确定因素有哪些?请说明其主要原因及可能影响。',
goal_th_seq: '序号',
goal_th_1: '未来12至24个月最重要的战略目标或关键项目',
goal_th_2: '预期成果/关键里程碑',
goal_th_3: '主要风险或不确定因素',
goal_th_4: '对业务或目标的潜在影响',
goal_add_row: '新增一行',
q3: '3. 公司整体风险趋势',
q3_sub1: '1、综合考虑公司当前内外部环境及现有风险管理措施,与2025年度相比,您认为公司目前的整体剩余风险*水平呈现何种趋势?',
q3_note: '(注释说明: 剩余风险:在风险应对措施和内部控制已经设计并实施后,仍然存在且无法完全消除的风险。)',
q3_opt1: '显著下降',
q3_opt2: '有所下降',
q3_opt3: '基本稳定',
q3_opt4: '有所上升',
q3_opt5: '显著上升',
q3_opt6: '信息不足、无法判断',
reason: '2、请简要说明作出上述判断的主要原因、变化因素或事实依据。',
ph: '请在此处简要回答:',
// 第二部分
section2: '第二部分:Top 10企业风险年度复核及风险应对计划',
desc2: '填写说明:本部分基于2025年度企业风险评估识别的Top 10风险,评估各项风险在当前环境下的变化趋势、风险水平及风险应对计划实施成效。',
desc2_sub1: '1、Top 10企业风险逐项评估',
guide_btn: '填写指引',
desc2_sub2: '2、请从上述Top 10企业风险中,选择您认为2026年度最需要公司管理层优先关注的三项风险。',
th_seq: '序号',
th_risk: '风险',
th_desc: '风险描述',
th_impact_group: '2、风险影响评分',
th_financial: '财务影响',
th_reputation: '企业声誉',
th_compliance: '合法合规',
th_customer: '客户及业务合作伙伴',
th_operation: '企业运营',
th_probability: '3、风险发生可能性评分',
th_level: '4、风险等级(无需填写,根据风险影响评分和风险可能性自动计算)',
th_top10: '1、请评估该项风险是否仍作为Top 10风险。选项:应提高优先级/维持现有优先级/可降低优先级/可考虑移出',
th_effectiveness: '5、该风险对应的风险应对计划实施情况:已完成/按计划推进/存在一定延迟/明显滞后/尚未启动/不了解',
th_remark: '6、风险应对计划的实施有效性:已完成/按计划推进/存在一定延迟/明显滞后/尚未启动/不了解',
th_supplement: '7、除上述内容外,您是否还有其他需要补充的风险事项、管理观察、支持需求或相关信息?',
pri_th_rank: '风险排序',
pri_th_name: '风险名称',
pri_ph: '请选择风险',
opt_high: 'High',
opt_medium: 'Medium',
opt_low: 'Low',
opt_top10_increase: '应提高优先级',
opt_top10_maintain: '维持现有优先级',
opt_top10_lower: '可降低优先级',
opt_top10_remove: '可考虑移出',
opt_remark_completed: '已完成',
opt_remark_on_track: '按计划推进',
opt_remark_slightly_delayed: '存在一定延迟',
opt_remark_significantly_delayed: '明显滞后',
opt_remark_not_started: '尚未启动',
opt_remark_not_familiar: '不了解',
ph_top10_reason: '请简要说明原因,并填写您建议替代该风险的新风险事项',
ph_remark: '请选择',
ph_other: '请输入具体说明',
ph_supplement: '请输入补充信息',
// 第三部分
section3: '第三部分:十大风险之外的补充风险/新兴风险',
desc3: '填写指引:\n本部分用于捕捉可能尚未纳入往年十大风险、但已对业务目标产生影响或值得提前关注的新兴风险。\n本页面主要以主话题和子话题的结构折叠展开,主要包括约9个主话题,覆盖外部和内部风险。',
part3_gate_title: '1、除上述Top 10企业风险外,您是否认为还存在可能对公司未来12至24个月战略目标或稳健运营产生重大影响、值得管理层关注的其他风险?',
part3_gate_opt_yes: '是,存在需要进一步关注的风险',
part3_gate_opt_no: '否,暂未发现Top 10之外需要额外关注的风险',
part3_gate_opt_unsure: '信息有限,暂无法判断',
part3_gate_note: '选择“是”后,系统再展开后续问题。',
part3_gate_desc1: '1)首先请您结合风险大类,请判断是否需要关注该风险,您可以点击“+”号按钮逐层展开具体信息。',
part3_gate_desc2: '2)在每个展开的话题中,评估相关风险:',
part3_gate_desc2_sub1: '①对于您认为需要关注的风险,请点击“需要关注”',
part3_gate_desc2_sub2: '②对于选择了“需要关注”的风险,请按照系统提示对相关风险进行评价',
part3_main_title: '新兴风险',
part3_external_title: '外部风险',
part3_internal_title: '内部风险',
part3_ext_1: '1. 宏观经济及市场需求变化风险',
part3_ext_2: '2. 市场竞争及行业格局变化',
part3_ext_3: '3. 新技术迭代及业务模式风险',
part3_ext_4: '4. 业务拓展及客户管理风险',
part3_int_5: '5. 战略规划及执行落地风险',
part3_int_6: '6. 公司治理、组织职责及跨部门协同风险',
part3_int_7: '7. 危机应对、业务连续性及舆情风险',
part3_int_8: '8. 质量管理及数据可靠性风险',
part3_int_9: '9. 财务管理及经营分析支持风险',
part3_col_risk: '新兴风险',
part3_col_attention: '是否需要关注(如需关注,请打勾)',
part3_col_desc: '如选择需要关注,请在文本框中简要描述风险,并简述风险的可能性(高中低)和影响(高中低)。',
part3_note: '【括号内说明仅作为一般性解释和填写提示,帮助您判断相关风险情形。您无需局限于所列维度,可结合实际业务情况补充其他相关因素。】',
part3_expand: '点击展开子项',
ph_part3_desc: '请简要描述风险,并简述风险的可能性(高中低)和影响(高中低)',
// 第四部分
section4: '第四部分:公司层面的管理支持与行动',
q_resource_title: '8. 公司层面的管理行动',
q_resource_desc: '针对上述风险,是否存在需要公司管理层作出决策、加强跨部门协调或提供公司层面支持的事项?如有,请按重要性列出不超过三项。',
res_th_seq: '序号',
res_th_support: '需要的公司层面决策、资源需求、行动或支持',
res_th_urgency: '紧迫程度',
res_ph_support: '请输入',
res_opt_high: '高',
res_opt_medium: '中',
res_opt_low: '低',
// section5: '9. 其他补充信息',
q_other_info: '9. 其他补充信息',
ph_other_info: '请输入其他需要补充的信息',
q_attach_title: '10. 支持材料',
q_attach_desc: '如有支持前述风险判断的相关数据、报告或其他对本次风险评估具有参考价值的材料,您可以在下方上传。',
q_end_note: '问卷到此结束,十分感谢您填写感谢您对风险评估项目的支持!',
desc_modal_title: '风险详情',
draft_saved: '✅ 草稿已暂存'
},
en: {
eyebrow: 'RISK ASSESSMENT · INTERNAL USE',
title: '2026 Enterprise Risk Assessment Questionnaire',
// Background introduction (below banner, above Part 1, manually configured)
intro_title: 'kground Introduction',
intro_p1: 'The Legal & Compliance Department is launching the Company’s 2026 Enterprise Risk Assessment in accordance with the Board and Management’s expectation to continuously strengthen enterprise risk management.',
intro_p2: 'This questionnaire supports the update of the 2026 Enterprise Risk Assessment Report by collecting business and functional views on the latest risk changes, Top Risk updates, mitigation plan progress, and emerging risks that may affect the Company’s strategic objectives. ',
intro_p3: 'Company management, relevant Risk Owners, and business leaders are invited to complete the questionnaire based on their business scope and actual knowledge.',
intro_purpose_title: 'This questionnaire is mainly used to:',
intro_purpose_1: '1. Identify major risks or uncertainties that may affect future strategic objectives, key projects, and business progress.',
intro_purpose_2: '2. Review the change trend, current risk level, mitigation plan progress, and matters requiring continued attention for Top Risks.',
intro_purpose_3: '3. Provide risk information and reference for the Company’s 2026 Enterprise Risk Assessment, risk prioritization, resource allocation, and related risk management work.',
intro_fill_title: 'Completion Instructions:',
intro_fill_1: '1. For a better user experience, please complete this questionnaire on a desktop or laptop computer. The estimated completion time is 20–30 minutes.',
intro_fill_2: '2. We would appreciate receiving your questionnaire response by 28 August.',
intro_fill_3: '3. When completing the questionnaire, please share your views based on your role, business scope, and relevant observations.',
intro_fill_4: '4. This questionnaire may involve sensitive business and risk-related information. The link has been sent directly to invited respondents. To help ensure data accuracy and information security, we recommend that the questionnaire be completed by the invited respondent. If input or support from other colleagues is needed, please contact the project team in advance for coordination.',
intro_fill_5: '5. All responses will be handled in accordance with the Company’s confidentiality and trade secret protection requirements, and will be used only for this enterprise risk assessment and related internal risk management purposes.',
intro_fill_6: '6. If you have any questions while completing the questionnaire, please contact the project team members:\n\u2022 Ken Cui, cui.can@wuxibiolgics.com\n\u2022 Yolanda Yao, yao.lan@wuxibiolgics.com\n\u2022 Edward Zhou, zhou.qiuhai@wuxibiolgics.com',
section: 'Part 1: Business Priorities and Overall Risk Assessment',
body_title: 'Questionnaire',
user_name_label: 'Name:',
user_email_label: 'Email:',
desc: 'This section consists mainly of open-ended questions and is intended to gather information on your key business or functional responsibilities, priority objectives, key initiatives, major challenges in achieving those objectives, and your view on the Company’s overall risk trend.',
q1: '1. Business or Functional Scope',
q1_desc: 'Please briefly describe the business or functional area you are responsible for, including your team’s key responsibilities.',
q2: '2. Key Priorities and Related Risks',
q2_desc: 'Please list the most important strategic objectives, key initiatives or major projects in your area for the next 12 to 24 months. Please provide at least three items, in order of importance.\nFor each item, please also describe the key risks or uncertainties that may affect its achievement, including the main causes and potential business impact.',
goal_th_seq: 'No.',
goal_th_1: 'Key Strategic Objectives, Initiatives or Projects in the Next 12 to 24 Months',
goal_th_2: 'Expected Outcomes / Key Milestones',
goal_th_3: 'Key Risks or Uncertainties',
goal_th_4: 'Potential Impact on Business or Objectives',
goal_add_row: 'Add a Row',
q3: '3. Overall Company Risk Trend',
q3_sub1: 'Taking into account the Company’s current internal and external environment and existing risk management measures, how do you assess the trend of the Company’s overall *residual risk level compared with 2025?',
q3_note: '(*Residual risk: refers to the risk that remains after risk response measures and internal controls have been designed and implemented.)',
q3_opt1: 'Significantly decreased',
q3_opt2: 'Slightly decreased',
q3_opt3: 'Generally stable',
q3_opt4: 'Slightly increased',
q3_opt5: 'Significantly increased',
q3_opt6: 'Insufficient information to assess',
reason: 'Please briefly explain the key reasons, changes or supporting facts behind your assessment.',
ph: 'Please enter',
// Part 2
section2: 'Part 2: Annual Review of Top 10 Enterprise Risks and Mitigation Plans',
desc2: 'This section is designed to review the Top 10 Enterprise Risks identified in the 2025 Enterprise Risk Assessment. It focuses on each risk’s latest trend, current risk level, mitigation plan progress, and any matters that may require continued management attention.',
desc2_sub1: '1. Review of Top 10 Enterprise Risks',
guide_btn: 'Rating Guidance',
desc2_sub2: '2. Top Risks Requiring Management Attention in 2026 Please select the Top 3 risks that you believe require the highest level of management attention.',
th_seq: 'No.',
th_risk: 'Risk',
th_desc: 'Risk Description',
th_impact_group: '2. Risk Impact Rating',
th_financial: 'Financial Impact',
th_reputation: 'Corporate Reputation',
th_compliance: 'Legal & Compliance',
th_customer: 'Customers & Business Partners',
th_operation: 'Operations',
th_probability: '3. Risk Likelihood',
th_level: '4. Risk Level (No user input required; automatically calculated based on impact and likelihood scores)',
th_top10: '1. Please assess whether this risk should remain as a Top 10 risk.Options:Increase priority / Maintain current priority / Lower priority / Consider removing from Top 10',
th_effectiveness: '5. Implementation status of the risk mitigation plan:Completed / On track / Slightly delayed / Significantly delayed / Not started / Not familiar',
th_remark: '6. Do you have any additional risk-related comments',
th_supplement: '7. Any other risk matters, management observations, support needs or related information to supplement',
pri_th_rank: 'Risk Rank',
pri_th_name: 'Risk Name',
pri_ph: 'Please select a risk',
opt_high: 'High',
opt_medium: 'Medium',
opt_low: 'Low',
opt_top10_increase: 'Increase priority',
opt_top10_maintain: 'Maintain current priority',
opt_top10_lower: 'Lower priority',
opt_top10_remove: 'Consider removing from Top 10',
opt_remark_completed: 'Completed',
opt_remark_on_track: 'On track',
opt_remark_slightly_delayed: 'Slightly delayed',
opt_remark_significantly_delayed: 'Significantly delayed',
opt_remark_not_started: 'Not started',
opt_remark_not_familiar: 'Not familiar',
ph_top10_reason: 'Please briefly explain the reason and suggest a new risk item to replace this one',
ph_remark: 'Please select',
ph_other: 'Please specify',
ph_supplement: 'Enter supplement info',
// Part 3
section3: 'Part 3: Additional and Emerging Risks Beyond TOP 10 risks',
desc3: 'Guidelines:\nThis section captures additional or emerging risks beyond the Top 10 Enterprise Risks, particularly those that may affect business objectives or warrant further attention.\nRisk topics are grouped by main theme and subtopic, covering both external and internal risk areas. You may expand each theme to review the relevant subtopics.',
part3_gate_title: '1. Beyond the Top 10 Enterprise Risks listed above in Part 2, do you believe there are any other risks that may affect the Company’s strategic objectives, key projects, or stable operations over the next 12 to 24 months and deserve further attention?',
part3_gate_opt_yes: 'Yes, there are risks that may require further attention',
part3_gate_opt_no: 'No, I have not identified additional risks beyond the Top 10 that require further attention',
part3_gate_opt_unsure: 'Insufficient information to assess',
part3_gate_note: 'If “Yes” is selected, the system will expand the topics in Part 3. Otherwise, you may proceed directly to Part 4.',
part3_gate_desc1: 'Guidelines:\n1) Please first review each main risk category and determine whether it requires attention. You may click the “+” button to expand the relevant subtopics.',
part3_gate_desc2: '2) For each expanded topic, please assess the relevant risks:',
part3_gate_desc2_sub1: '① If you believe a risk requires attention, please select “Requires Attention.”',
part3_gate_desc2_sub2: '② For risks selected as “Requires Attention,” please follow the system prompts to provide your assessment.',
part3_main_title: 'Emerging Risks',
part3_external_title: 'External Risks',
part3_internal_title: 'Internal Risks',
part3_ext_1: '1. Macroeconomic and Market Demand Change Risk',
part3_ext_2: '2. Market Competition and Industry Landscape Changes',
part3_ext_3: '3. New Technology Iteration and Business Model Risk',
part3_ext_4: '4. Business Expansion and Customer Management Risks',
part3_int_5: '5. Strategic Planning and Execution Risk',
part3_int_6: '6. Corporate Governance, Organizational Responsibilities and Cross-Functional Collaboration Risk',
part3_int_7: '7. Crisis Response, Business Continuity and Public Opinion Risk',
part3_int_8: '8. Quality Management and Data Reliability Risk',
part3_int_9: '9. Financial Management and Business Analysis Support Risk',
part3_col_risk: 'Emerging Risk',
part3_col_attention: 'Requires Attention (tick if applicable)',
part3_col_desc: 'If “Requires Attention” is selected, please briefly describe the risk scenario in the text box and assess its likelihood and impact level (High / Medium / Low).',
part3_note: 'Notes in parentheses are provided as general guidance to help you assess the relevant risk scenarios. You are not limited to the listed examples and may provide additional input based on your business context.',
part3_expand: 'Click to expand sub-items',
ph_part3_desc: 'Briefly describe the risk, including likelihood (H/M/L) and impact (H/M/L)',
// Part 4
section4: 'Part 4: Company-Level Management Support and Actions',
q_resource_title: '8. Company-Level Management Actions',
q_resource_desc: 'For the risks identified above, are there any matters that may require management decision-making, enhanced cross-functional coordination, or company-level support?\nIf yes, please list up to three items in order of importance.',
res_th_seq: 'No.',
res_th_support: 'Required Management Decision, Resource, Action or Support',
res_th_urgency: 'Urgency',
res_ph_support: 'Please enter',
res_opt_high: 'High',
res_opt_medium: 'Medium',
res_opt_low: 'Low',
// section5: '5. Other Supplementary Information',
q_other_info: '9. Other Additional Information',
ph_other_info: 'If there are any other situations, data points, or management suggestions not covered in this questionnaire that you believe should be considered in the annual enterprise risk assessment, please provide them here.',
q_attach_title: '10. Supporting Materials',
q_attach_desc: 'If you have relevant data, reports, or other materials that support your risk assessment or may be useful for this assessment, you may upload them below.',
q_end_note: 'This concludes the questionnaire. Thank you for your support and participation in the Company\'s enterprise risk assessment!',
desc_modal_title: 'Risk Details',
draft_saved: '✅ Draft saved'
}
};
let currentLang = 'zh';
// ================= 第二部分:动态生成表格 =================
const ROW_COUNT = 10; // 10行数据
// ===== 风险评分默认值配置(High=3, Medium=2, Low=1) =====
// ⚠️ 修改后请将 SCORES_CONFIG_VERSION 加1,避免旧草稿覆盖新默认值
const SCORES_CONFIG_VERSION = 2;
const DEFAULT_RISK_SCORES = [
{ financial: 3, reputation: 3, compliance: 3, customer: 3, operation: 3, probability: 3 },
{ financial: 2, reputation: 2, compliance: 2, customer: 3, operation: 3, probability: 3 },
{ financial: 3, reputation: 1, compliance: 2, customer: 2, operation: 3, probability: 3 },
{ financial: 3, reputation: 3, compliance: 3, customer: 2, operation: 3, probability: 3 },
{ financial: 1, reputation: 3, compliance: 1, customer: 3, operation: 3, probability: 3 },
{ financial: 2, reputation: 3, compliance: 3, customer: 3, operation: 2, probability: 2 },
{ financial: 3, reputation: 1, compliance: 1, customer: 3, operation: 3, probability: 3 },
{ financial: 3, reputation: 3, compliance: 2, customer: 3, operation: 3, probability: 3 },
{ financial: 3, reputation: 1, compliance: 1, customer: 3, operation: 3, probability: 3 },
{ financial: 2, reputation: 1, compliance: 1, customer: 3, operation: 3, probability: 3 },
];
// ===== 风险描述配置表单(动态数据源,key已集中至 FORM_CONFIG)=====
const DESC_FORM_UUID = FORM_CONFIG.descFormUuid;
const DESC_DATASOURCE = FORM_CONFIG.descDatasource;
const DESC_FIELD_IDS = FORM_CONFIG.descFieldIds;
// 风险描述数据(默认占位,页面加载后会被配置表单数据动态覆盖)
let riskDescriptions = [
{ zh: 'AAA', en: 'AA' }, { zh: 'BB', en: 'BB' }, { zh: 'CC', en: 'CC' },
{ zh: 'DD', en: 'DD' }, { zh: 'FF', en: 'FF' }, { zh: 'HH', en: 'HH' },
{ zh: 'II', en: 'II' }, { zh: 'QQ', en: 'QQ' }, { zh: 'KK', en: 'KK' },
{ zh: 'LL', en: 'LL' }
];
// 第三部分:新兴风险子项描述数据(从配置表加载,此处为默认占位)
// 结构: { external: { 1: {A: {zh,en}, B: {zh,en}...}, 2: {...} }, internal: {...} }
let part3SubItemDescs = {};
// 初始化默认占位数据
PART3_CONFIG.categories.forEach(cat => {
part3SubItemDescs[cat.id] = {};
cat.riskTypes.forEach(rt => {
part3SubItemDescs[cat.id][rt.index] = {};
rt.subItems.forEach(si => {
part3SubItemDescs[cat.id][rt.index][si] = { zh: `${si}. 待配置`, en: `${si}. TBD` };
});
});
});
function buildTableRows() {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
tbody.innerHTML = '';
const dict = I18N[currentLang];
for (let i = 0; i < ROW_COUNT; i++) {
const tr = document.createElement('tr');
tr.dataset.row = i;
const descText = currentLang === 'zh' ? riskDescriptions[i].zh : riskDescriptions[i].en;
const riskName = TOP10_RISKS[i] ? (currentLang === 'zh' ? TOP10_RISKS[i].zh : TOP10_RISKS[i].en) : '';
tr.innerHTML = `
<td class="col-seq">${i + 1}</td>
<td class="col-risk"><div class="risk-name-text" data-row="${i}">${riskName}</div></td>
<td class="col-desc"><div class="risk-desc-text" data-field="desc" data-row="${i}">${descText}</div></td>
<td class="col-top10">
<div class="top10-cell">
<select class="risk-select top10-select" data-field="top10" data-row="${i}">
<option value="">--</option>
<option value="increase">${dict.opt_top10_increase}</option>
<option value="maintain">${dict.opt_top10_maintain}</option>
<option value="lower">${dict.opt_top10_lower}</option>
<option value="remove">${dict.opt_top10_remove}</option>
</select>
<textarea class="top10-input" data-field="top10Reason" data-row="${i}" placeholder="${dict.ph_top10_reason}"></textarea>
</div>
</td>
<td class="col-dropdown">${buildHMLSelect('financial', i, DEFAULT_RISK_SCORES[i].financial)}</td>
<td class="col-dropdown">${buildHMLSelect('reputation', i, DEFAULT_RISK_SCORES[i].reputation)}</td>
<td class="col-dropdown">${buildHMLSelect('compliance', i, DEFAULT_RISK_SCORES[i].compliance)}</td>
<td class="col-dropdown">${buildHMLSelect('customer', i, DEFAULT_RISK_SCORES[i].customer)}</td>
<td class="col-dropdown">${buildHMLSelect('operation', i, DEFAULT_RISK_SCORES[i].operation)}</td>
<td class="col-dropdown">${buildHMLSelect('probability', i, DEFAULT_RISK_SCORES[i].probability)}</td>
<td class="col-level risk-level-cell" id="level_${i}">-</td>
<td class="col-effectiveness">
<select class="risk-select effectiveness-select" data-field="effectiveness" data-row="${i}">
<option value="">--</option>
<option value="completed">${dict.opt_remark_completed}</option>
<option value="on_track">${dict.opt_remark_on_track}</option>
<option value="slightly_delayed">${dict.opt_remark_slightly_delayed}</option>
<option value="significantly_delayed">${dict.opt_remark_significantly_delayed}</option>
<option value="not_started">${dict.opt_remark_not_started}</option>
<option value="not_familiar">${dict.opt_remark_not_familiar}</option>
</select>
</td>
<td class="col-text">
<select class="risk-select remark-select" data-field="remark" data-row="${i}">
<option value="">--</option>
<option value="completed">${dict.opt_remark_completed}</option>
<option value="on_track">${dict.opt_remark_on_track}</option>
<option value="slightly_delayed">${dict.opt_remark_slightly_delayed}</option>
<option value="significantly_delayed">${dict.opt_remark_significantly_delayed}</option>
<option value="not_started">${dict.opt_remark_not_started}</option>
<option value="not_familiar">${dict.opt_remark_not_familiar}</option>
</select>
</td>
<td class="col-supplement">
<textarea class="cell-textarea" data-field="supplement" data-row="${i}" placeholder="${dict.ph_supplement}"></textarea>
</td>
`;
tbody.appendChild(tr);
}
bindTableEvents();
// 默认值已设置(High),立即计算各行风险等级
for (let i = 0; i < ROW_COUNT; i++) {
calcRiskLevel(i);
}
}
// 构建 High/Medium/Low 下拉框(按 DEFAULT_RISK_SCORES 配置默认选中)
function buildHMLSelect(field, row, defaultVal) {
const dv = String(defaultVal || '');
return `
<select class="risk-select hml-select" data-field="${field}" data-row="${row}">
<option value="">--</option>
<option value="3"${dv === '3' ? ' selected' : ''}>High</option>
<option value="2"${dv === '2' ? ' selected' : ''}>Medium</option>
<option value="1"${dv === '1' ? ' selected' : ''}>Low</option>
</select>
`;
}
// 刷新表格“风险”列文本(随语言切换联动 TOP10_RISKS 配置)
function refreshRiskNameColumn() {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
tbody.querySelectorAll('.risk-name-text').forEach(el => {
const row = parseInt(el.dataset.row);
const r = TOP10_RISKS[row];
if (r) el.textContent = currentLang === 'zh' ? r.zh : r.en;
});
}
// 构建 Top 3 优先关注下拉框选项(保留已选值,随语言切换联动)
function buildTop3Selects(lang) {
const dict = I18N[lang] || I18N[currentLang];
for (let i = 1; i <= 3; i++) {
const sel = document.getElementById('pri_risk_' + i);
if (!sel) continue;
const prev = sel.value;
sel.innerHTML = '<option value="">' + (dict.pri_ph || '--') + '</option>' +
TOP10_RISKS.map((r, idx) => `<option value="${idx + 1}">${lang === 'zh' ? r.zh : r.en}</option>`).join('');
if (prev) sel.value = prev;
}
}
// 初始化 Top 3 优先关注下拉框
function initTop3() {
const table = document.getElementById('top3PriorityTable');
if (!table) return false;
if (!table.dataset.inited) {
table.dataset.inited = '1';
buildTop3Selects(currentLang);
}
return true;
}
// 绑定表格事件
function bindTableEvents() {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
// 风险描述点击 → 弹窗显示完整文本
tbody.addEventListener('click', function (e) {
const descEl = e.target.closest('.risk-desc-text');
if (!descEl) return;
const overlay = document.getElementById('descModalOverlay');
const body = document.getElementById('descModalBody');
if (overlay && body) {
body.textContent = descEl.textContent;
overlay.classList.add('visible');
}
});
// 下拉框变化事件(事件委托)
tbody.addEventListener('change', function (e) {
const el = e.target;
// HML下拉框变化 → 重新计算风险等级
if (el.classList.contains('hml-select')) {
calcRiskLevel(el.dataset.row);
return;
}
});
}
// ================= 第一部分:问题2 战略目标/关键项目表格 =================
const GOAL_DEFAULT_ROWS = 3; // 默认3行(必填)
const GOAL_FIELDS = ['goal', 'milestone', 'risk', 'impact'];
let goalRowCount = 0;
function appendGoalRow(values) {
const tbody = document.getElementById('goalTableBody');
if (!tbody) return;
const v = values || {};
const idx = goalRowCount++;
const tr = document.createElement('tr');
tr.dataset.goalRow = idx;
tr.innerHTML = `
<td class="goal-seq">${idx + 1}</td>
${GOAL_FIELDS.map(f => `<td><textarea data-goal-field="${f}" data-goal-row="${idx}" placeholder="请输入"></textarea></td>`).join('')}
`;
GOAL_FIELDS.forEach((f, i) => {
const ta = tr.querySelectorAll('textarea')[i];
if (ta && v[f]) ta.value = v[f];
});
tbody.appendChild(tr);
}
function buildGoalTableRows() {
const tbody = document.getElementById('goalTableBody');
if (!tbody) return;
tbody.innerHTML = '';
goalRowCount = 0;
for (let i = 0; i < GOAL_DEFAULT_ROWS; i++) appendGoalRow();
}
// 绑定目标表格交互事件(加行按钮 + 输入清除高亮,兼容HTML延迟渲染,只绑定一次)
function bindGoalEvents() {
const btn = document.getElementById('goalAddRowBtn');
if (btn && btn.dataset.bound !== '1') {
btn.dataset.bound = '1';
btn.addEventListener('click', () => appendGoalRow());
}
const tbody = document.getElementById('goalTableBody');
if (tbody && tbody.dataset.bound !== '1') {
tbody.dataset.bound = '1';
tbody.addEventListener('input', e => {
if (e.target.tagName === 'TEXTAREA' && e.target.value.trim()) {
e.target.classList.remove('required-empty');
}
});
}
}
// 收集目标表格所有行数据(附序号:该行显示的原始行号)
function collectGoalRows() {
const rows = [];
const tbody = document.getElementById('goalTableBody');
if (!tbody) return rows;
tbody.querySelectorAll('tr[data-goal-row]').forEach(tr => {
const item = { seq: (parseInt(tr.dataset.goalRow) || 0) + 1 };
GOAL_FIELDS.forEach(f => {
const el = tr.querySelector(`textarea[data-goal-field="${f}"]`);
item[f] = el ? el.value.trim() : '';
});
rows.push(item);
});
return rows;
}
// 校验目标表格:前3行四列必填(未填高亮提示)
this._validateGoalTable = () => {
const tbody = document.getElementById('goalTableBody');
if (!tbody) return true;
let valid = true;
const rows = tbody.querySelectorAll('tr[data-goal-row]');
rows.forEach((tr, i) => {
GOAL_FIELDS.forEach(f => {
const el = tr.querySelector(`textarea[data-goal-field="${f}"]`);
if (!el) return;
if (i < GOAL_DEFAULT_ROWS && !el.value.trim()) {
el.classList.add('required-empty');
valid = false;
} else {
el.classList.remove('required-empty');
}
});
});
return valid;
};
// 将目标表格转换为子表单格式(序号列不存数据,整行空白跳过)
this._buildGoalSubform = () => {
return collectGoalRows()
.filter(r => GOAL_FIELDS.some(f => r[f]))
.map(r => {
const item = {};
FORM_CONFIG.q2SubformFields.forEach(({ dataKey, fieldKey }) => { item[fieldKey] = r[dataKey] || ''; });
return item;
});
};
// 重置目标表格为默认3行空行(提交成功后调用)
this._resetGoalTable = () => buildGoalTableRows();
// ================= 第四部分:公司层面管理支持表格(固定3行) =================
// 将固定3行数据转换为子表单格式(完全空白的行跳过,序号随行保留)
this._buildResourceSubform = () => {
const rows = [];
const tbody = document.getElementById('resourceSupportTable');
if (!tbody) return rows;
const dict = I18N[currentLang];
const getUrgencyLabel = (key) => {
return { high: dict.res_opt_high, medium: dict.res_opt_medium, low: dict.res_opt_low }[key] || '';
};
tbody.querySelectorAll('tr[data-res-row]').forEach(tr => {
const ta = tr.querySelector('textarea[data-res-field="support"]');
const sel = tr.querySelector('select[data-res-field="urgency"]');
const support = ta ? ta.value.trim() : '';
const urgency = sel ? sel.value : '';
// 空白行不提交(序号字段仅保存有内容的行)
if (!support && !urgency) return;
const item = {};
FORM_CONFIG.resourceTableSubformFields.forEach(({ dataKey, fieldKey }) => {
if (dataKey === 'seq') item[fieldKey] = (parseInt(tr.dataset.resRow) || 0) + 1;
else if (dataKey === 'support') item[fieldKey] = support;
else if (dataKey === 'urgency') item[fieldKey] = getUrgencyLabel(urgency);
});
rows.push(item);
});
return rows;
};
// ================= 填写人姓名/邮箱自动带出 =================
this._userInfo = { name: '', email: '' };
const getLoginUserInfo = () => {
const u = window.loginUser || {};
return {
email: u.userId || u.email || '',
name: u.userName || u.userNick || u.nickName || u.name || u.displayName || ''
};
};
const fillUserInfo = () => {
const info = getLoginUserInfo();
if (info.email) this._userInfo.email = info.email;
if (info.name) this._userInfo.name = info.name;
const nameEl = document.getElementById('autoUserName');
const emailEl = document.getElementById('autoUserEmail');
if (nameEl && this._userInfo.name) nameEl.textContent = this._userInfo.name;
if (emailEl && this._userInfo.email) emailEl.textContent = this._userInfo.email;
// loginUser 可能延迟加载,未取到时轮询重试
if (!this._userInfo.name || !this._userInfo.email) {
if ((this._userInfoRetry || 0) < 10) {
this._userInfoRetry = (this._userInfoRetry || 0) + 1;
setTimeout(fillUserInfo, 800);
}
}
};
// ================= 风险详情弹窗:关闭逻辑(关闭按钮 / 点击遮罩 / ESC) =================
const descModalOverlay = document.getElementById('descModalOverlay');
if (descModalOverlay) {
const closeDescModal = () => descModalOverlay.classList.remove('visible');
document.getElementById('descModalClose').addEventListener('click', closeDescModal);
descModalOverlay.addEventListener('click', e => { if (e.target === descModalOverlay) closeDescModal(); });
document.addEventListener('keydown', e => { if (e.key === 'Escape') closeDescModal(); });
}
// ================= 评分填写指引弹窗:渲染 + 打开/关闭逻辑 =================
// 按 GUIDE_DATA 结构生成指引表格(中英文各一份,随当前语言渲染)
const buildGuideTable = (section, extraClass) => {
let html = '<table class="guide-table' + (extraClass ? ' ' + extraClass : '') + '"><thead><tr>' +
section.headers.map(h => `<th>${h}</th>`).join('') + '</tr></thead><tbody>';
section.rows.forEach(r => {
html += '<tr>' + r.map(c => `<td>${c}</td>`).join('') + '</tr>';
});
return html + '</tbody></table>';
};
const renderGuideModal = (lang) => {
const body = document.getElementById('guideModalBody');
const titleEl = document.getElementById('guideModalTitle');
if (!body) return;
const data = GUIDE_DATA[lang] || GUIDE_DATA.zh;
if (titleEl) titleEl.textContent = data.modalTitle;
let html = '';
if (data.likelihood) {
html += `<div class="guide-section-title">${data.likelihood.title}</div>`;
if (data.likelihood.intro) html += `<div class="guide-intro">${data.likelihood.intro}</div>`;
html += buildGuideTable(data.likelihood);
}
if (data.impact) {
if (data.impact.title) html += `<div class="guide-section-title">${data.impact.title}</div>`;
html += buildGuideTable(data.impact, 'impact-guide');
}
body.innerHTML = html;
};
const guideModalOverlay = document.getElementById('guideModalOverlay');
const guideBtn = document.getElementById('impactGuideBtn');
if (guideModalOverlay && guideBtn) {
const closeGuideModal = () => guideModalOverlay.classList.remove('visible');
guideBtn.addEventListener('click', () => {
renderGuideModal(currentLang);
guideModalOverlay.classList.add('visible');
});
document.getElementById('guideModalClose').addEventListener('click', closeGuideModal);
guideModalOverlay.addEventListener('click', e => { if (e.target === guideModalOverlay) closeGuideModal(); });
document.addEventListener('keydown', e => { if (e.key === 'Escape') closeGuideModal(); });
}
// ================= 附件:读取宜搭原生附件组件值 =================
const ATTACH_COMPONENT_ID = FORM_CONFIG.attachPageComponent;
// 读取原生附件组件并清洗为平台可识别的提交格式
// ⚠️ 字段名必须为 downloadUrl(小写rl),且必须包含 fileUuid 和 previewUrl,url保持相对路径
const getNativeAttachments = () => {
try {
if (this.$ && this.$(ATTACH_COMPONENT_ID) && this.$(ATTACH_COMPONENT_ID).getValue) {
var val = this.$(ATTACH_COMPONENT_ID).getValue();
if (Array.isArray(val) && val.length) {
var m = window.location.href.match(/APP_[A-Z0-9]+/);
var appType = m ? m[0] : '';
var cleaned = val.map(f => {
var dlUrl = f.downloadUrl || f.url || f.downloadURL || '';
var uuid = f.fileUuid || '';
if (!uuid) { var fm = dlUrl.match(/fileName=([^&]+)/); uuid = fm ? fm[1] : ''; }
var size = f.size || 0;
var previewUrl = f.previewUrl || (uuid ? '/inst/preview?appType=' + appType + '&fileName=' + uuid + '&fileSize=' + size + '&downloadUrl=' + uuid : '');
return { name: f.name || '', previewUrl: previewUrl, downloadUrl: dlUrl, size: size, url: f.url || dlUrl, fileUuid: uuid, ext: ((f.name || '').split('.').pop() || '').toLowerCase() };
}).filter(f => f.url);
console.log('[附件] 读取原生组件成功,' + cleaned.length + '个文件:', JSON.stringify(cleaned[0]));
return cleaned;
}
}
} catch (e) { console.warn('[附件] 读取原生组件失败:', e.message); }
return [];
};
// 暴露给 onClick 使用:重新计算风险等级
this._calcRiskLevel = (row) => calcRiskLevel(row);
// 暴露给 onClick 使用:默认评分配置(onClick 是独立导出函数,无法访问 didMount 局部变量)
this._defaultRiskScores = DEFAULT_RISK_SCORES;
// 暴露给 onClick 使用:读取宜搭原生附件组件值
this._getNativeAttachments = getNativeAttachments;
// 暴露给 onClick 使用:根据索引(1~10)获取当前语言的风险名称(联动 TOP10_RISKS 配置)
this._getTop10RiskName = (index) => {
const r = TOP10_RISKS[index - 1];
if (!r) return '';
return currentLang === 'zh' ? r.zh : r.en;
};
// 暴露给 onClick 使用:按 key 获取当前语言的文案(onClick 在 didMount 作用域外,无法直接访问 I18N/currentLang)
this._getI18NText = (key) => ((I18N[currentLang] || {})[key]) || '';
// 计算风险等级:风险影响评分的平均分 × 风险发生可能性评分
// High=3, Medium=2, Low=1;>=9 Significant, >=6 High, >=3 Medium, >=0 Low,未填完为 Not Completed
function calcRiskLevel(row) {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
const fields = ['financial', 'reputation', 'compliance', 'customer', 'operation'];
let impactSum = 0;
let allFilled = true;
fields.forEach(f => {
const sel = tbody.querySelector(`select[data-field="${f}"][data-row="${row}"]`);
const val = sel ? parseInt(sel.value) : 0;
if (!val) allFilled = false;
impactSum += val || 0;
});
const probSel = tbody.querySelector(`select[data-field="probability"][data-row="${row}"]`);
const probVal = probSel ? parseInt(probSel.value) : 0;
if (!probVal) allFilled = false;
const levelCell = document.getElementById(`level_${row}`);
if (!levelCell) return;
if (!allFilled) {
levelCell.textContent = 'Not Completed';
levelCell.className = 'col-level risk-level-cell risk-level-none';
return;
}
const avgImpact = impactSum / fields.length;
const score = avgImpact * probVal;
// 评分范围: 1~9 (平均分1-3 × 可能性1-3)
const levels = [[9,'Significant','risk-level-significant'],[6,'High','risk-level-high'],[3,'Medium','risk-level-medium'],[0,'Low','risk-level-low']];
const match = levels.find(l => score >= l[0]) || [0,'Not Completed','risk-level-none'];
levelCell.textContent = match[1];
levelCell.className = `col-level risk-level-cell ${match[2]}`;
}
// ================= 风险描述:从配置表单动态加载 =================
// 刷新表格中的描述文本(根据当前语言和 riskDescriptions)
function refreshTableDescriptions() {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
tbody.querySelectorAll('.risk-desc-text').forEach(el => {
const row = parseInt(el.dataset.row);
if (riskDescriptions[row]) {
el.textContent = currentLang === 'zh' ? riskDescriptions[row].zh : riskDescriptions[row].en;
}
});
}
// 从接口返回中提取记录数组(兼容多种返回结构)
function extractRecords(res) {
if (!res) return [];
if (Array.isArray(res)) return res;
if (Array.isArray(res.data)) return res.data;
if (res.content && Array.isArray(res.content.data)) return res.content.data;
if (res.data && res.data.data && Array.isArray(res.data.data)) return res.data.data;
return [];
}
// 从单条记录中取出 formData
function getFormData(record) {
return (record && record.formData) ? record.formData : record;
}
// 从 formData 中按顺序提取10个描述字段
function extractDescFields(formData) {
if (!formData) return [];
// 优先使用配置的字段ID
if (DESC_FIELD_IDS && DESC_FIELD_IDS.length) {
return DESC_FIELD_IDS.map(id => formData[id] || '');
}
// 自动提取:过滤系统字段,保留插入顺序(宜搭返回的 formData 键顺序通常与表单字段顺序一致)
const systemFields = ['formInstId', 'formUuid', 'createTime', 'modifiedTime', 'creator', 'modifier', 'title', 'serialNo', 'processInstanceId', 'originator', 'gmtCreate', 'gmtModified'];
let keys = Object.keys(formData).filter(k => !systemFields.includes(k));
// 优先取 textField_ 前缀的字段
const textKeys = keys.filter(k => k.indexOf('textField_') === 0);
if (textKeys.length >= ROW_COUNT) keys = textKeys;
return keys.slice(0, ROW_COUNT).map(k => formData[k] || '');
}
// ================= 配置表统一加载(接口只调用一次,第二部分+第三部分共用) =================
// 配置表结构约定:第1条记录=中文,第2条记录=英文(第二部分读 descFieldIds 字段,第三部分读 part3DescFieldIds 字段)
let _descLoadAttempted = false;
const fetchConfigDescriptions = async () => {
if (_descLoadAttempted) return;
try {
if (!this.dataSourceMap || !this.dataSourceMap[DESC_DATASOURCE]) {
// 数据源尚未初始化完成,延迟重试(最多5次),不重复调用接口
if (this._descRetryCount === undefined) this._descRetryCount = 0;
if (this._descRetryCount < 5) {
this._descRetryCount++;
setTimeout(() => fetchConfigDescriptions(), 500);
} else {
console.warn(`未找到数据源 ${DESC_DATASOURCE},风险描述使用默认占位数据`);
}
return;
}
_descLoadAttempted = true;
const res = await this.dataSourceMap[DESC_DATASOURCE].load({
formUuid: DESC_FORM_UUID,
searchFieldJson: JSON.stringify({}),
currentPage: 1,
pageSize: 10
});
const records = extractRecords(res);
console.log('[配置表] 接口返回记录数:', records.length);
// ---------- 第二部分:风险描述(records[0]=中文, records[1]=英文) ----------
if (records.length >= 2) {
const zhFields = extractDescFields(getFormData(records[0]));
const enFields = extractDescFields(getFormData(records[1]));
for (let i = 0; i < ROW_COUNT; i++) {
riskDescriptions[i] = {
zh: zhFields[i] || (riskDescriptions[i] ? riskDescriptions[i].zh : ''),
en: enFields[i] || (riskDescriptions[i] ? riskDescriptions[i].en : '')
};
}
refreshTableDescriptions();
} else {
console.warn('配置表数据不足两条,第二部分风险描述使用默认占位数据');
}
// ---------- 第三部分:新兴风险子项描述(共用 records[0]=中文, records[1]=英文,读取不同字段) ----------
const P3_FIELD_IDS = FORM_CONFIG.part3DescFieldIds;
if (P3_FIELD_IDS && Object.keys(P3_FIELD_IDS).length) {
if (records.length >= 2) {
const zhFormData = getFormData(records[0]);
const enFormData = getFormData(records[1]);
Object.keys(P3_FIELD_IDS).forEach(fieldKey => {
const configFieldId = P3_FIELD_IDS[fieldKey];
const parts = fieldKey.split('_');
const category = parts[0];
const index = parts[1];
const sub = parts[2];
if (!part3SubItemDescs[category]) part3SubItemDescs[category] = {};
if (!part3SubItemDescs[category][index]) part3SubItemDescs[category][index] = {};
const zhVal = zhFormData ? (zhFormData[configFieldId] || '') : '';
const enVal = enFormData ? (enFormData[configFieldId] || '') : '';
part3SubItemDescs[category][index][sub] = {
zh: zhVal || (part3SubItemDescs[category][index][sub] ? part3SubItemDescs[category][index][sub].zh : `${sub}. 待配置`),
en: enVal || (part3SubItemDescs[category][index][sub] ? part3SubItemDescs[category][index][sub].en : `${sub}. TBD`)
};
});
refreshPart3Descriptions();
console.log('[第三部分] 新兴风险子项描述加载完成');
} else {
console.warn('[第三部分] 配置表数据不足,子项描述使用默认占位数据');
}
}
// 描述加载完成后,再次应用当前语言文本,
// 防止初始填充的标题/问题文字因 DOM 重渲染而丢失
applyLang(currentLang, true);
} catch (e) {
console.error('加载配置表描述失败:', e);
}
};
// ================= 第三部分:刷新 DOM 子项描述 =================
function refreshPart3Descriptions() {
const container = document.getElementById('part3Container');
if (!container) return;
container.querySelectorAll('.part3-sub-desc').forEach(el => {
const catId = el.dataset.category;
const index = el.dataset.index;
const sub = el.dataset.sub;
if (part3SubItemDescs[catId] && part3SubItemDescs[catId][index] && part3SubItemDescs[catId][index][sub]) {
el.textContent = currentLang === 'zh' ? part3SubItemDescs[catId][index][sub].zh : part3SubItemDescs[catId][index][sub].en;
}
});
}
// 收集单行表格数据(供暂存与提交复用)
function getRawRowData(i, tbody) {
const rowData = {};
['financial','reputation','compliance','customer','operation','probability'].forEach(f => {
const sel = tbody.querySelector(`select[data-field="${f}"][data-row="${i}"]`);
rowData[f] = sel ? sel.value : '';
});
const top10Sel = tbody.querySelector(`select[data-field="top10"][data-row="${i}"]`);
rowData.top10 = top10Sel ? top10Sel.value : '';
const q = (field) => { const el = tbody.querySelector(`[data-field="${field}"][data-row="${i}"]`); return el ? el.value : ''; };
rowData.top10Reason = q('top10Reason');
rowData.effectiveness = q('effectiveness');
rowData.remark = q('remark');
rowData.supplement = q('supplement');
return rowData;
}
// ============ 子表单字段映射配置(已集中至 FORM_CONFIG.tableSubformFields) ============
const TABLE_SUBFORM_FIELDS = FORM_CONFIG.tableSubformFields;
// 将风险应对计划实施情况下拉框内部键映射为当前语言显示文本
const getRemarkLabel = (key) => {
const d = I18N[currentLang];
return { completed: d.opt_remark_completed, on_track: d.opt_remark_on_track, slightly_delayed: d.opt_remark_slightly_delayed, significantly_delayed: d.opt_remark_significantly_delayed, not_started: d.opt_remark_not_started, not_familiar: d.opt_remark_not_familiar }[key] || key;
};
// 将 Top 10 优先级下拉框内部键映射为当前语言显示文本
const getTop10Label = (key) => {
const d = I18N[currentLang];
return { increase: d.opt_top10_increase, maintain: d.opt_top10_maintain, lower: d.opt_top10_lower, remove: d.opt_top10_remove }[key] || key;
};
// 将表格数据转换为子表单格式,供提交时调用
// 子表单key: FORM_CONFIG.tableSubformKey
this._buildTableSubform = async () => {
const rows = [];
const tbody = document.getElementById('riskTableBody');
if (!tbody) return rows;
for (let i = 0; i < ROW_COUNT; i++) {
const rowData = getRawRowData(i, tbody);
// 附加风险名称(固定配置,随当前语言联动)
const riskObj = TOP10_RISKS[i];
rowData.riskName = riskObj ? (currentLang === 'zh' ? riskObj.zh : riskObj.en) : '';
// 附加自动计算的风险等级
const levelCell = document.getElementById(`level_${i}`);
rowData.riskLevel = levelCell ? levelCell.textContent : 'Not Completed';
// Top 10 优先级列:保存选项对应的显示文本(中文/英文)
if (rowData.top10) {
rowData.top10 = getTop10Label(rowData.top10);
}
// 风险应对计划实施情况列(第4列与第6列):保存选项对应的显示文本(中文/英文)
if (rowData.effectiveness) {
rowData.effectiveness = getRemarkLabel(rowData.effectiveness);
}
if (rowData.remark) {
rowData.remark = getRemarkLabel(rowData.remark);
}
// 按 TABLE_SUBFORM_FIELDS 配置映射为子表单字段
const item = {};
TABLE_SUBFORM_FIELDS.forEach(({ dataKey, fieldKey }) => {
item[fieldKey] = rowData[dataKey] !== undefined ? rowData[dataKey] : '';
});
rows.push(item);
}
return rows;
};
// ================= 第三部分:新兴风险表格模块 =================
function buildPart3Content() {
const container = document.getElementById('part3Container');
if (!container) return;
const dict = I18N[currentLang];
container.innerHTML = '';
PART3_CONFIG.categories.forEach(cat => {
// 大类标题行(外部风险/内部风险)
const catSection = document.createElement('div');
catSection.className = 'part3-category';
catSection.dataset.category = cat.id;
let catHTML = `
<div class="part3-category-title" data-i18n="${cat.titleKey}">${dict[cat.titleKey] || ''}</div>
<div class="part3-note" data-i18n="part3_note">${dict.part3_note}</div>
`;
// 每个风险类型(可折叠)
cat.riskTypes.forEach(rt => {
const riskId = `${cat.id}_${rt.index}`;
catHTML += `
<div class="part3-risk-group" data-risk-id="${riskId}">
<div class="part3-risk-header" onclick="this.parentElement.classList.toggle('open')">
<span class="collapse-arrow">▶</span>
<span class="part3-risk-title" data-i18n="${rt.titleKey}">${dict[rt.titleKey] || ''}</span>
<span class="part3-expand-hint" data-i18n="part3_expand">${dict.part3_expand}</span>
</div>
<div class="part3-risk-body">
`;
// 子项 A, B, C...
rt.subItems.forEach(si => {
const fieldKey = `${cat.id}_${rt.index}_${si}`;
const descObj = part3SubItemDescs[cat.id][rt.index][si];
const descText = currentLang === 'zh' ? descObj.zh : descObj.en;
catHTML += `
<div class="part3-sub-row" data-field-key="${fieldKey}">
<div class="part3-sub-desc" data-category="${cat.id}" data-index="${rt.index}" data-sub="${si}">${descText}</div>
<div class="part3-sub-check">
<input type="checkbox" class="part3-checkbox" data-field-key="${fieldKey}">
</div>
<div class="part3-sub-input">
<textarea class="part3-textarea" data-field-key="${fieldKey}" placeholder="${dict.ph_part3_desc}" disabled></textarea>
</div>
</div>
`;
});
catHTML += `
</div>
</div>
`;
});
catSection.innerHTML = catHTML;
container.appendChild(catSection);
});
bindPart3Events(container);
}
function bindPart3Events(container) {
container.addEventListener('change', function (e) {
const el = e.target;
if (!el.classList.contains('part3-checkbox')) return;
const fieldKey = el.dataset.fieldKey;
const row = el.closest('.part3-sub-row');
const textarea = row ? row.querySelector('.part3-textarea') : null;
if (textarea) {
if (el.checked) {
textarea.disabled = false;
row.classList.add('attention');
} else {
textarea.disabled = true;
textarea.value = '';
row.classList.remove('attention');
}
}
});
}
// 更新第三部分语言
function updatePart3Lang(lang) {
const dict = I18N[lang];
const container = document.getElementById('part3Container');
if (!container) return;
// 更新风险类型标题
container.querySelectorAll('[data-i18n]').forEach(el => {
const key = el.getAttribute('data-i18n');
if (dict[key] !== undefined) el.textContent = dict[key];
});
// 更新子项描述文本(复用统一刷新函数)
refreshPart3Descriptions();
// 更新 textarea placeholder
container.querySelectorAll('.part3-textarea').forEach(el => {
el.placeholder = dict.ph_part3_desc;
});
}
// 更新第四部分:公司层面管理支持表格语言(紧迫程度下拉框选项文本)
function updateResourceTableLang(lang) {
const dict = I18N[lang];
const tbody = document.getElementById('resourceSupportTable');
if (!tbody) return;
tbody.querySelectorAll('select[data-res-field="urgency"]').forEach(sel => {
const currentVal = sel.value;
const opts = sel.querySelectorAll('option');
if (opts[1]) opts[1].textContent = dict.res_opt_high;
if (opts[2]) opts[2].textContent = dict.res_opt_medium;
if (opts[3]) opts[3].textContent = dict.res_opt_low;
sel.value = currentVal;
});
}
// 应用语言(immediate=true 时跳过淡入淡出动画,用于初始化渲染)
function applyLang(lang, immediate) {
const dict = I18N[lang];
const root = document.getElementById('myRiskForm');
if (!root) return;
root.classList.add('lang-switching');
const applyUpdates = () => {
// 更新所有 data-i18n 元素
root.querySelectorAll('[data-i18n]').forEach(el => {
const key = el.getAttribute('data-i18n');
if (dict[key] !== undefined) el.textContent = dict[key];
});
// 更新 placeholder
root.querySelectorAll('[data-i18n-ph]').forEach(el => {
const key = el.getAttribute('data-i18n-ph');
if (dict[key] !== undefined) el.placeholder = dict[key];
});
// 更新表格内的下拉框选项文本
updateTableSelectOptions(lang);
// 更新表格内输入框 placeholder
updateTablePlaceholders(lang);
// 更新第三部分新兴风险模块语言
updatePart3Lang(lang);
// 更新第四部分公司层面管理支持表格语言
updateResourceTableLang(lang);
// 重新计算所有风险等级显示文本
for (let i = 0; i < ROW_COUNT; i++) {
calcRiskLevel(i);
}
root.classList.remove('lang-switching');
};
if (immediate) {
applyUpdates();
} else {
setTimeout(applyUpdates, 180);
}
const toggle = document.getElementById('langToggle');
if (toggle) toggle.classList.toggle('is-en', lang === 'en');
}
// 更新表格下拉框选项文本
function updateTableSelectOptions(lang) {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
const dict = I18N[lang];
// 更新风险描述文本
refreshTableDescriptions();
// 更新风险名称列(联动 TOP10_RISKS 配置)
refreshRiskNameColumn();
// 更新 Top 3 优先关注下拉框选项(保留已选值)
buildTop3Selects(lang);
// 更新 Top 10 优先级下拉框选项文本(保留已选值)
tbody.querySelectorAll('select[data-field="top10"]').forEach(sel => {
const currentVal = sel.value;
const opts = sel.querySelectorAll('option');
if (opts[1]) opts[1].textContent = dict.opt_top10_increase;
if (opts[2]) opts[2].textContent = dict.opt_top10_maintain;
if (opts[3]) opts[3].textContent = dict.opt_top10_lower;
if (opts[4]) opts[4].textContent = dict.opt_top10_remove;
sel.value = currentVal;
});
// 更新风险应对计划实施情况下拉框选项文本(第4列与第6列共用同一组选项,保留已选值)
['effectiveness', 'remark'].forEach(field => {
tbody.querySelectorAll(`select[data-field="${field}"]`).forEach(sel => {
const currentVal = sel.value;
const opts = sel.querySelectorAll('option');
if (opts[1]) opts[1].textContent = dict.opt_remark_completed;
if (opts[2]) opts[2].textContent = dict.opt_remark_on_track;
if (opts[3]) opts[3].textContent = dict.opt_remark_slightly_delayed;
if (opts[4]) opts[4].textContent = dict.opt_remark_significantly_delayed;
if (opts[5]) opts[5].textContent = dict.opt_remark_not_started;
if (opts[6]) opts[6].textContent = dict.opt_remark_not_familiar;
sel.value = currentVal;
});
});
}
// 更新表格内输入框 placeholder
function updateTablePlaceholders(lang) {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return;
const dict = I18N[lang];
const phMap = { top10Reason: dict.ph_top10_reason, supplement: dict.ph_supplement };
Object.keys(phMap).forEach(field => {
tbody.querySelectorAll(`[data-field="${field}"]`).forEach(el => { el.placeholder = phMap[field]; });
});
}
// 绑定切换按钮(HTML 组件可能比 didMount 晚渲染,自动重试)
function bindToggle() {
const toggle = document.getElementById('langToggle');
if (!toggle) return false;
if (toggle.dataset.bound === '1') return true;
toggle.dataset.bound = '1';
toggle.addEventListener('click', () => {
currentLang = currentLang === 'zh' ? 'en' : 'zh';
applyLang(currentLang);
});
return true;
}
// 初始化表格(等待DOM渲染)
function initTable() {
const tbody = document.getElementById('riskTableBody');
if (!tbody) return false;
buildTableRows();
return true;
}
// 第三部分门控问题:仅当选择“是,存在需要进一步关注的风险”时显示剩余内容
function updatePart3GateVisibility() {
const sel = document.getElementById('part3_gate_select');
const content = document.getElementById('part3GateContent');
if (!sel || !content) return;
content.style.display = sel.value === 'yes' ? '' : 'none';
}
function initPart3Gate() {
const sel = document.getElementById('part3_gate_select');
if (!sel || sel.dataset.inited) return;
sel.dataset.inited = '1';
sel.addEventListener('change', updatePart3GateVisibility);
updatePart3GateVisibility();
}
// 初始化第三部分新兴风险模块
function initPart3() {
const container = document.getElementById('part3Container');
if (!container) return false;
buildPart3Content();
initPart3Gate();
return true;
}
// 初始化第一部分问题2目标表格
function initGoalTable() {
const tbody = document.getElementById('goalTableBody');
if (!tbody) return false;
if (!tbody.dataset.inited) {
tbody.dataset.inited = '1';
buildGoalTableRows();
}
bindGoalEvents();
return true;
}
// 初始化第二部分 Top 3 优先关注下拉框
function initTop3Priority() {
return initTop3();
}
// ================= 暂存草稿功能 =================
const DRAFT_KEY = 'risk_assessment_draft_2026';
function collectAllFormData() {
const data = { version: 2, scoresVersion: SCORES_CONFIG_VERSION, lang: currentLang, timestamp: new Date().toISOString(), part1: {}, goalRows: [], priorityRisks: [], part2: [], part3Gate: 'no', part3: {}, part4Rows: [], part5: '', attachments: [] };
// 第一部分
const q1 = document.getElementById('field_q1');
const reason = document.getElementById('field_reason');
const trendChecked = document.querySelector('input[name="risk_trend"]:checked');
data.part1 = { q1: q1 ? q1.value : '', riskTrend: trendChecked ? trendChecked.value : '', reason: reason ? reason.value : '' };
// 第一部分问题2:战略目标/关键项目表格
data.goalRows = collectGoalRows();
// 第二部分:Top 3 优先关注风险(存下拉框选中索引)
['pri_risk_1', 'pri_risk_2', 'pri_risk_3'].forEach(id => {
const sel = document.getElementById(id);
data.priorityRisks.push(sel ? sel.value : '');
});
// 第二部分
const tbody = document.getElementById('riskTableBody');
if (tbody) { for (let i = 0; i < ROW_COUNT; i++) data.part2.push(getRawRowData(i, tbody)); }
// 第三部分:门控问题选项(是/否/信息有限)
const gateSel = document.getElementById('part3_gate_select');
data.part3Gate = gateSel ? gateSel.value : 'no';
// 第三部分:新兴风险(只保存勾选后的文本框值)
const part3Container = document.getElementById('part3Container');
if (part3Container) {
part3Container.querySelectorAll('.part3-sub-row').forEach(row => {
const fieldKey = row.dataset.fieldKey;
const checkbox = row.querySelector('.part3-checkbox');
const textarea = row.querySelector('.part3-textarea');
data.part3[fieldKey] = { checked: checkbox ? checkbox.checked : false, desc: textarea ? textarea.value : '' };
});
}
// 第四部分:公司层面管理支持表格(固定3行,存序号/内容/紧迫程度内部键)
const resTbody = document.getElementById('resourceSupportTable');
if (resTbody) {
resTbody.querySelectorAll('tr[data-res-row]').forEach(tr => {
const ta = tr.querySelector('textarea[data-res-field="support"]');
const sel = tr.querySelector('select[data-res-field="urgency"]');
data.part4Rows.push({ seq: (parseInt(tr.dataset.resRow) || 0) + 1, support: ta ? ta.value : '', urgency: sel ? sel.value : '' });
});
}
const otherInfoField = document.getElementById('field_other_info');
data.part5 = otherInfoField ? otherInfoField.value : '';
// 附件不参与暂存(宜搭组件刷新后无法恢复文件列表,提交时直接读取组件即可)
return data;
}
function execSaveDraft() {
try {
const data = collectAllFormData();
localStorage.setItem(DRAFT_KEY, JSON.stringify(data));
return true;
} catch (e) {
console.error('暂存失败:', e);
return false;
}
}
// 从 localStorage 恢复草稿
function restoreDraft() {
try {
const raw = localStorage.getItem(DRAFT_KEY);
if (!raw) return false;
const data = JSON.parse(raw);
if (!data || !data.version) return false;
// 恢复第一部分
const q1 = document.getElementById('field_q1');
const reason = document.getElementById('field_reason');
if (q1 && data.part1.q1) q1.value = data.part1.q1;
if (reason && data.part1.reason) reason.value = data.part1.reason;
if (data.part1.riskTrend) {
const radio = document.querySelector(`input[name="risk_trend"][value="${data.part1.riskTrend}"]`);
if (radio) radio.checked = true;
}
// 恢复第一部分问题2:战略目标/关键项目表格
if (data.goalRows && data.goalRows.length) {
buildGoalTableRows();
data.goalRows.forEach((rowData, i) => {
// 草稿行数超过默认3行时补增空行
if (i >= goalRowCount) appendGoalRow();
const tr = document.querySelector(`tr[data-goal-row="${i}"]`);
if (!tr) return;
GOAL_FIELDS.forEach(f => {
const el = tr.querySelector(`textarea[data-goal-field="${f}"]`);
if (el && rowData[f]) el.value = rowData[f];
});
});
}
// 恢复 Top 3 优先关注风险(下拉框选中索引)
if (data.priorityRisks && data.priorityRisks.length) {
['pri_risk_1', 'pri_risk_2', 'pri_risk_3'].forEach((id, i) => {
const sel = document.getElementById(id);
if (sel && data.priorityRisks[i]) sel.value = data.priorityRisks[i];
});
}
// 恢复第二部分:表格
const tbody = document.getElementById('riskTableBody');
if (tbody && data.part2 && data.part2.length) {
// 评分版本检查:不一致时跳过6列评分恢复,保留新默认值
const scoresMatch = (data.scoresVersion === SCORES_CONFIG_VERSION);
data.part2.forEach((rowData, i) => {
if (scoresMatch) {
['financial','reputation','compliance','customer','operation','probability'].forEach(f => {
const sel = tbody.querySelector(`select[data-field="${f}"][data-row="${i}"]`);
if (sel && rowData[f]) sel.value = rowData[f];
});
}
calcRiskLevel(i);
if (rowData.top10) {
const top10Sel = tbody.querySelector(`select[data-field="top10"][data-row="${i}"]`);
if (top10Sel) top10Sel.value = rowData.top10;
}
const setVal = (field, val) => { const el = tbody.querySelector(`[data-field="${field}"][data-row="${i}"]`); if (el && val) el.value = val; };
setVal('top10Reason', rowData.top10Reason);
setVal('effectiveness', rowData.effectiveness);
if (rowData.remark) {
const remarkSel = tbody.querySelector(`select[data-field="remark"][data-row="${i}"]`);
if (remarkSel) remarkSel.value = rowData.remark;
}
setVal('supplement', rowData.supplement);
});
}
// 恢复第三部分:门控问题选项,并联动显示/隐藏剩余内容
const gateSel = document.getElementById('part3_gate_select');
if (gateSel && data.part3Gate) {
gateSel.value = data.part3Gate;
updatePart3GateVisibility();
}
// 恢复第三部分:新兴风险模块
if (data.part3 && typeof data.part3 === 'object') {
Object.keys(data.part3).forEach(fieldKey => {
const item = data.part3[fieldKey];
const row = document.querySelector(`.part3-sub-row[data-field-key="${fieldKey}"]`);
if (!row) return;
const checkbox = row.querySelector('.part3-checkbox');
const textarea = row.querySelector('.part3-textarea');
if (checkbox) checkbox.checked = !!item.checked;
if (textarea) {
if (item.checked) {
textarea.disabled = false;
textarea.value = item.desc || '';
row.classList.add('attention');
} else {
textarea.disabled = true;
textarea.value = '';
row.classList.remove('attention');
}
}
});
}
// 恢复第四部分:公司层面管理支持表格(固定3行)
if (data.part4Rows && data.part4Rows.length) {
data.part4Rows.forEach((rowData, i) => {
const tr = document.querySelector(`#resourceSupportTable tr[data-res-row="${i}"]`);
if (!tr) return;
const ta = tr.querySelector('textarea[data-res-field="support"]');
if (ta && rowData.support) ta.value = rowData.support;
const sel = tr.querySelector('select[data-res-field="urgency"]');
if (sel && rowData.urgency) sel.value = rowData.urgency;
});
}
// 恢复第五部分
const otherInfoField = document.getElementById('field_other_info');
if (otherInfoField && data.part5) otherInfoField.value = data.part5;
// 附件不参与暂存恢复(宜搭组件无法通过 setValue 恢复已上传文件)
return true;
} catch (e) {
console.error('恢复草稿失败:', e);
return false;
}
}
// 暴露到组件实例,供宜搭按钮组件事件调用
this._execSaveDraft = () => {
const dict = I18N[currentLang];
const ok = execSaveDraft();
if (ok) {
this.utils.toast({ title: dict.draft_saved, type: 'success' });
}
return ok;
};
// 初始化完成后的统一入口:填充姓名/邮箱 → 应用中文 → 加载动态描述 → 恢复草稿 → 延迟校验
const onInitReady = () => {
fillUserInfo();
applyLang('zh', true);
fetchConfigDescriptions();
restoreDraft();
// 兜底:若填充好的文字被 DOM 重渲染清空,延迟后重新应用当前语言
setTimeout(() => {
const probe = document.querySelector('[data-i18n="title"]');
if (probe && !probe.textContent) {
applyLang(currentLang, true);
}
}, 1500);
};
if (!bindToggle() || !initTable() || !initPart3() || !initGoalTable() || !initTop3Priority()) {
let tries = 0;
const timer = setInterval(() => {
const bound = bindToggle();
const tableReady = initTable();
const part3Ready = initPart3();
const goalReady = initGoalTable();
const top3Ready = initTop3Priority();
if ((bound && tableReady && part3Ready && goalReady && top3Ready) || ++tries > 10) {
clearInterval(timer);
if (tableReady && part3Ready && goalReady && top3Ready) {
onInitReady();
}
}
}, 300);
} else {
// 所有组件已就绪
onInitReady();
}
}
export async function onClick() {
// ================= ⚙️ 配置区(组件key已集中至文件顶部 FORM_CONFIG) =================
const targetFormUuid = FORM_CONFIG.targetFormUuid;
const fieldMapping = {
[FORM_CONFIG.part1Fields.q1]: '#field_q1',
[FORM_CONFIG.part1Fields.riskTrend]: 'input[name="risk_trend"]:checked',
[FORM_CONFIG.part1Fields.reason]: '#field_reason'
};
// 非必填字段选择器(不参与必填校验)
const OPTIONAL_SELECTORS = ['#field_reason'];
// ================= 🛠️ 逻辑区 =================
// 防止页面渲染期间误触发提交:仅允许初始化完成后的用户主动点击
if (!this._riskPageInitDone) return;
// 核心守卫:若用户从未真实点击过页面(未触发 pointerdown),
// 则本次触发必为平台渲染期间的自动行为,直接拦截,不受时序影响
if (!this._userInteracted) return;
if (Date.now() - (this._riskPageMountTime || 0) < 2000) return;
if (this.state && this.state.submitting) {
return;
}
this.setState({ submitting: true });
try {
// 1. 提取数据
const formData = {};
let isComplete = true;
for (const [targetFieldId, selector] of Object.entries(fieldMapping)) {
let value = '';
if (selector.includes(':checked')) {
const checkedEl = document.querySelector(selector);
value = checkedEl ? checkedEl.value : '';
} else {
const el = document.querySelector(selector);
value = el ? el.value.trim() : '';
}
if (!value && !OPTIONAL_SELECTORS.includes(selector)) {
isComplete = false;
}
formData[targetFieldId] = value;
}
// 1.2 第一部分问题2:战略目标/关键项目表格(前3行必填)
if (this._validateGoalTable && !this._validateGoalTable()) {
this.utils.toast({ title: '请完整填写第2题表格前3行的所有内容', type: 'warning' });
return;
}
if (this._buildGoalSubform) {
formData[FORM_CONFIG.q2SubformKey] = this._buildGoalSubform();
}
// 1.5 收集第二部分表格数据,转换为子表单格式
if (this._buildTableSubform) {
formData[FORM_CONFIG.tableSubformKey] = await this._buildTableSubform();
}
// 1.6 第三部分:新兴风险(只保存勾选后的文本框值)
const part3Container = document.getElementById('part3Container');
if (part3Container && FORM_CONFIG.part3Fields) {
part3Container.querySelectorAll('.part3-sub-row').forEach(row => {
const fieldKey = row.dataset.fieldKey;
const checkbox = row.querySelector('.part3-checkbox');
const textarea = row.querySelector('.part3-textarea');
const targetKey = FORM_CONFIG.part3Fields[fieldKey];
if (targetKey) {
// 只保存勾选后的文本框值
formData[targetKey] = (checkbox && checkbox.checked && textarea) ? textarea.value.trim() : '';
}
});
}
// 1.65 第三部分门控问题:是否存在其他需关注的风险(提交当前语言的选项文案)
const part3GateEl = document.getElementById('part3_gate_select');
if (part3GateEl && FORM_CONFIG.part3GateField) {
const gateOptKey = { yes: 'part3_gate_opt_yes', no: 'part3_gate_opt_no', unsure: 'part3_gate_opt_unsure' }[part3GateEl.value];
formData[FORM_CONFIG.part3GateField] = gateOptKey ? (this._getI18NText ? this._getI18NText(gateOptKey) : '') : '';
}
// 1.7 第五部分:其他需要补充的信息(可选,非必填)
const otherInfoEl = document.getElementById('field_other_info');
formData[FORM_CONFIG.otherInfoField] = otherInfoEl ? otherInfoEl.value.trim() : '';
// 1.75 第四部分:公司层面管理支持表格(固定3行子表单,空白行跳过)
if (this._buildResourceSubform) {
formData[FORM_CONFIG.resourceTableSubformKey] = this._buildResourceSubform();
}
// 1.8 附件:读取宜搭原生上传组件的值,保存到目标表单附件字段
formData[FORM_CONFIG.attachTargetField] = this._getNativeAttachments ? this._getNativeAttachments() : [];
// 1.85 第二部分:Top 3 优先关注风险(下拉框选中项转为当前语言风险名称)
FORM_CONFIG.top3PriorityFields.forEach((fieldKey, i) => {
const sel = document.getElementById('pri_risk_' + (i + 1));
const idx = sel ? parseInt(sel.value) : 0;
formData[fieldKey] = idx ? (this._getTop10RiskName ? this._getTop10RiskName(idx) : '') : '';
});
// 1.9 提交人邮箱与姓名(多路径探测)
try {
const userId = window.loginUser && window.loginUser.userId;
const u = window.loginUser || {};
const userName = u.userName || u.userNick || u.nickName || u.name || u.displayName || '';
console.log('登录人邮箱 =', userId, '登录人姓名 =', userName);
formData[FORM_CONFIG.submitterEmailField] = userId || (this._userInfo && this._userInfo.email) || '';
formData[FORM_CONFIG.submitterNameField] = userName || (this._userInfo && this._userInfo.name) || '';
} catch (e) {
console.warn('获取提交人邮箱/姓名失败:', e);
formData[FORM_CONFIG.submitterEmailField] = (this._userInfo && this._userInfo.email) || '';
formData[FORM_CONFIG.submitterNameField] = (this._userInfo && this._userInfo.name) || '';
}
// 2. 校验必填
if (!isComplete) {
this.utils.toast({ title: '请完整填写所有必填项', type: 'warning' });
return;
}
console.log('准备提交的数据:', formData);
// 3. 检查数据源
if (!this.dataSourceMap || !this.dataSourceMap[FORM_CONFIG.saveDatasource]) {
throw new Error('未找到数据源 ' + FORM_CONFIG.saveDatasource);
}
// 4. 调用接口
const res = await this.dataSourceMap[FORM_CONFIG.saveDatasource].load({
formUuid: targetFormUuid,
useFormDataJson: true,
formDataJson: JSON.stringify(formData)
});
console.log('接口原始返回 res:', res, '| 类型:', typeof res);
// 5. 处理结果(兼容三种情况)
// 情况A:res 是字符串 "FINST-xxx"(数据源已提取 content)→ 成功
// 情况B:res 是对象 { success: true, content: "FINST-xxx" } → 成功
// 情况C:res 是对象 { data: { success: true } } → 成功
let isSuccess = false;
if (typeof res === 'string' && res.startsWith('FINST-')) {
// 情况A:直接返回了实例ID字符串
isSuccess = true;
} else if (res && typeof res === 'object') {
const result = res.data || res;
isSuccess = result.success === true;
}
if (isSuccess) {
this.utils.toast({ title: '✅ 提交成功', type: 'success' });
localStorage.removeItem('risk_assessment_draft_2026');
// 清空所有输入
document.querySelectorAll('#myRiskForm input').forEach(input => {
if (input.type === 'text') input.value = '';
if (input.type === 'radio' && !input.name.startsWith('top10_')) input.checked = false;
});
// 重置第一部分问题2目标表格为默认3行空行
if (this._resetGoalTable) this._resetGoalTable();
// 重置 Top 3 优先关注下拉框
['pri_risk_1', 'pri_risk_2', 'pri_risk_3'].forEach(id => {
const sel = document.getElementById(id);
if (sel) sel.value = '';
});
// 重置表格下拉框为默认值
document.querySelectorAll('#riskTableBody select.hml-select').forEach(sel => {
const def = (this._defaultRiskScores || [])[parseInt(sel.dataset.row)];
sel.value = (def && def[sel.dataset.field]) ? String(def[sel.dataset.field]) : '';
});
document.querySelectorAll('#riskTableBody select.remark-select, #riskTableBody select.effectiveness-select').forEach(sel => { sel.value = ''; });
document.querySelectorAll('#riskTableBody textarea.cell-textarea').forEach(el => { el.value = ''; });
// 重置 Top 10 优先级下拉框并清空文本框
document.querySelectorAll('#riskTableBody select.top10-select').forEach(sel => { sel.value = ''; });
document.querySelectorAll('#riskTableBody textarea[data-field="top10Reason"]').forEach(el => {
el.value = ''; el.classList.remove('required-empty');
});
for (let i = 0; i < 10; i++) { if (this._calcRiskLevel) this._calcRiskLevel(i); }
// 重置第三部分
document.querySelectorAll('.part3-checkbox').forEach(cb => { cb.checked = false; });
document.querySelectorAll('.part3-textarea').forEach(el => { el.value = ''; el.disabled = true; });
document.querySelectorAll('.part3-sub-row').forEach(el => { el.classList.remove('attention'); });
// 重置第四部分公司层面管理支持表格(固定3行)
document.querySelectorAll('#resourceSupportTable textarea[data-res-field="support"]').forEach(el => { el.value = ''; });
document.querySelectorAll('#resourceSupportTable select[data-res-field="urgency"]').forEach(el => { el.value = ''; });
const otherInfoField = document.getElementById('field_other_info');
if (otherInfoField) otherInfoField.value = '';
// 清空原生附件组件
try {
if (this.$ && this.$(FORM_CONFIG.attachPageComponent) && this.$(FORM_CONFIG.attachPageComponent).setValue) {
this.$(FORM_CONFIG.attachPageComponent).setValue([]);
}
} catch (e) { /* 忽略附件组件重置异常 */ }
} else {
console.error('接口返回错误:', res);
this.utils.toast({ title: '❌ 提交失败,请稍后再试!', type: 'error' });
}
} catch (error) {
console.error('提交异常:', error);
this.utils.toast({ title: '❌ 提交失败,请稍后再试!', type: 'error' });
} finally {
this.setState({ submitting: false });
}
}
/**
* 暂存按钮 onClick(宜搭按钮组件事件)
*/
export async function saveDraft() {
if (this._execSaveDraft) {
this._execSaveDraft();
} else {
this.utils.toast({ title: '页面尚未初始化完成,请稍后再试', type: 'warning' });
}
}

浙公网安备 33010602011771号