@otlab/form-generator 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -90,6 +90,39 @@ configure({
90
90
  </template>
91
91
  ```
92
92
 
93
+ ### BizProjectForm props
94
+
95
+ | prop | 类型 | 默认 | 说明 |
96
+ |---|---|---|---|
97
+ | `formConfig` | object | 见下 | 表单运行参数 |
98
+ | `prefillValues` | object | `{}` | 运行时预填值(键 = 字段的 `defaultValueSource`) |
99
+
100
+ `formConfig` 常用字段:
101
+
102
+ | 字段 | 默认 | 说明 |
103
+ |---|---|---|
104
+ | `formKey` | `''` | 表单 key;为空时不加载,只渲染 loading |
105
+ | `formKind` | `1` | `1` = 问卷表单,`2` = 模板 |
106
+ | `preview` | `false` | 设计器内预览(走管理端接口组合,可预览未发布表单) |
107
+ | `publicWrite` | `false` | 公开填写页(匿名上传走 `@Anonymous` 端点) |
108
+ | `setting` | `null` | 表单设置 |
109
+ | `supportText` | `'Powered By otlab'` | 页脚文案,**三态语义见下** |
110
+
111
+ #### `supportText` 三态(此处必须用 `??`,勿改回 `||`)
112
+
113
+ | 传入值 | 页脚 |
114
+ |---|---|
115
+ | 未传 / `undefined` / `null` | 渲染,文案为 `Powered By otlab` |
116
+ | 显式空串 `''` | **不渲染页脚**(用于关闭版权,如对外公开问卷) |
117
+ | 自定义文案 | 渲染该文案 |
118
+
119
+ 绑定实现为 `:support-text="formConfig.supportText ?? 'Powered By otlab'"`(`src/components/BizProjectForm/index.vue`)。
120
+ **必须保持空值合并 `??`**:换成 `||` 会把空串当成「未传」吞掉,调用方将无法关闭页脚(BUG-1124,
121
+ 回归护栏 `tests/biz-project-form-support-text.spec.ts`)。空白串 `' '` 是真值,会渲染出空白页脚——要关闭请传空串,不要传空格。
122
+
123
+ 直接使用 `GenerateFormContainer` 时,`supportText` 的 prop 默认值是 `''`(即默认不渲染页脚);
124
+ `'Powered By otlab'` 这个默认文案只存在于 `BizProjectForm` 层。
125
+
93
126
  ## 配置项
94
127
 
95
128
  | 字段 | 默认 | 说明 |
@@ -132,6 +165,9 @@ pnpm version patch # 或 minor / major,同时打 vX.Y.Z tag
132
165
  git push --follow-tags
133
166
  ```
134
167
 
168
+ > 若版本号已随改动手改进 `package.json`(例如 0.1.1),就**不要**再跑 `pnpm version patch`(会跳成 0.1.2),
169
+ > 直接打对应 tag:`git tag v0.1.1 && git push --follow-tags`。
170
+
135
171
  一次性配置:在 npmjs 包的 Trusted Publisher 页面填 GitHub 仓库信息(`dowei` / `form-generator` / `publish.yml`),
136
172
  之后 CI 用 OIDC 换临时凭据发布,不涉及任何长期 token。
137
173
 
package/dist/designer.js CHANGED
@@ -1,4 +1,4 @@
1
- import { d as Ve, b as qe, a as Ae, f as Te, c as dt, _ as Y, D as K, r as _t, e as pt, g as Ne, h as ft, i as vt, j as We, k as mt, l as gt, P as bt, u as ht, F as yt, m as kt, n as Ct, q as Re, o as Ee, p as wt, s as $t, t as Fe, v as St, w as Tt, x as xt, y as It } from "./field-default-BtCnB3aH.js";
1
+ import { d as Ve, b as qe, a as Ae, f as Te, c as dt, _ as Y, D as K, r as _t, e as pt, g as Ne, h as ft, i as vt, j as We, k as mt, l as gt, P as bt, u as ht, F as yt, m as kt, n as Ct, q as Re, o as Ee, p as wt, s as $t, t as Fe, v as St, w as Tt, x as xt, y as It } from "./field-default-BXJDGTUt.js";
2
2
  import { ref as V, computed as S, defineComponent as q, resolveComponent as o, openBlock as n, createBlock as D, withCtx as l, createElementVNode as y, createVNode as e, createTextVNode as x, createElementBlock as f, Fragment as E, renderList as H, toDisplayString as F, createCommentVNode as R, inject as G, markRaw as W, unref as M, resolveDynamicComponent as Ke, normalizeStyle as fe, normalizeClass as ke, pushScopeId as le, popScopeId as ae, watch as de, onBeforeUnmount as Ge, withModifiers as me, provide as Ut, onMounted as Ot, nextTick as Mt } from "vue";
3
3
  import { message as oe, Modal as Be } from "ant-design-vue";
4
4
  import { debounce as Dt } from "lodash";
@@ -902,7 +902,7 @@ function Ve(e, t) {
902
902
  function xe(e, t) {
903
903
  return u().get(s("phoneCode"), { params: { phoneNumber: e, formKey: t } });
904
904
  }
905
- const Ne = Symbol("formDesignReadOnly"), x = ["INPUT", "TEXTAREA", "RADIO", "CHECKBOX", "SELECT", "IMG_SELECT", "NUMBER"], N = ["RADIO", "CHECKBOX", "SELECT", "IMG_SELECT"];
905
+ const Ne = Symbol("formDesignReadOnly"), x = ["INPUT", "TEXTAREA", "RADIO", "CHECKBOX", "SELECT", "IMAGE_SELECT", "NUMBER"], N = ["RADIO", "CHECKBOX", "SELECT", "IMAGE_SELECT"];
906
906
  function Ue(e) {
907
907
  return !!e && N.includes(e);
908
908
  }
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { _ as Y, z as ge, A as Re, B as Le, g as Ne, C as De, n as qe, E as Ee, G as Ke, H as Ge, d as ue, I as We, J as He, K as Ye, q as ke, L as Te, M as Qe, p as Je, N as Xe, r as Ze, o as el, O as ll } from "./field-default-BtCnB3aH.js";
2
- import { D as Go, F as Wo, Q as Ho, a as Yo, R as Qo, b as Jo, c as Xo, m as Zo, S as en, T as ln, e as an, w as tn, U as on, t as nn, V as sn, f as rn, W as un, X as dn, Y as cn, Z as fn, $ as pn, v as mn, s as bn, x as vn, y as hn, u as _n } from "./field-default-BtCnB3aH.js";
1
+ import { _ as Y, z as ge, A as Re, B as Le, g as Ne, C as De, n as qe, E as Ee, G as Ke, H as Ge, d as ue, I as We, J as He, K as Ye, q as ke, L as Te, M as Qe, p as Je, N as Xe, r as Ze, o as el, O as ll } from "./field-default-BXJDGTUt.js";
2
+ import { D as Go, F as Wo, Q as Ho, a as Yo, R as Qo, b as Jo, c as Xo, m as Zo, S as en, T as ln, e as an, w as tn, U as on, t as nn, V as sn, f as rn, W as un, X as dn, Y as cn, Z as fn, $ as pn, v as mn, s as bn, x as vn, y as hn, u as _n } from "./field-default-BXJDGTUt.js";
3
3
  import { defineComponent as N, openBlock as p, createElementBlock as y, resolveComponent as w, createBlock as B, withCtx as $, createTextVNode as q, toDisplayString as T, createCommentVNode as R, createElementVNode as C, ref as O, computed as x, watch as te, createVNode as F, unref as Q, withModifiers as se, nextTick as $e, pushScopeId as me, popScopeId as be, Fragment as K, renderList as H, onBeforeUnmount as Ie, provide as al, inject as tl, onMounted as re, normalizeClass as ce, normalizeStyle as le, createSlots as Me, watchEffect as ol, withDirectives as Se, vShow as Ce, resolveDynamicComponent as nl, mergeProps as sl, reactive as Ve, toValue as ve } from "vue";
4
4
  import { EnvironmentOutlined as rl, DeleteOutlined as Be, PlusOutlined as Pe, ArrowUpOutlined as il, ArrowDownOutlined as ul } from "@ant-design/icons-vue";
5
5
  import { message as J, Upload as Oe } from "ant-design-vue";
@@ -3496,7 +3496,7 @@ const Co = { class: "otlab-form-container" }, Vo = ["src"], xo = {
3496
3496
  ref_key: "containerRef",
3497
3497
  ref: i,
3498
3498
  "form-conf": l.value,
3499
- "support-text": a.formConfig.supportText || "Powered By otlab",
3499
+ "support-text": a.formConfig.supportText ?? "Powered By otlab",
3500
3500
  "prefill-values": a.prefillValues,
3501
3501
  onSubmit: u,
3502
3502
  onCompleted: t[0] || (t[0] = (d) => s.$emit("completed")),
@@ -3509,7 +3509,7 @@ const Co = { class: "otlab-form-container" }, Vo = ["src"], xo = {
3509
3509
  ]));
3510
3510
  };
3511
3511
  }
3512
- }), qo = /* @__PURE__ */ Y(Ao, [["__scopeId", "data-v-37f7029a"]]);
3512
+ }), qo = /* @__PURE__ */ Y(Ao, [["__scopeId", "data-v-ab4b119f"]]);
3513
3513
  export {
3514
3514
  qo as BizProjectForm,
3515
3515
  Go as DESIGNER_INJECT_KEY,
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.otlab-form-container{max-width:800px;margin:0 auto;padding:20px}.otlab-form-header{text-align:center;margin-bottom:20px}.otlab-form-header .otlab-form-title h1,.otlab-form-header .otlab-form-title h2,.otlab-form-header .otlab-form-title h3,.otlab-form-header .otlab-form-title h4,.otlab-form-header .otlab-form-title h5,.otlab-form-header .otlab-form-title h6{margin:0;padding:10px 0}.otlab-form-header .otlab-form-description{color:#606266;font-size:14px;line-height:1.6}.otlab-form-header .otlab-form-description p{margin:5px 0}.otlab-form-logo{text-align:center;margin-bottom:10px}.otlab-form-logo img{max-height:60px}.otlab-form-header-img{width:100%;max-height:200px;object-fit:cover;border-radius:4px;margin-bottom:10px}.otlab-form-footer{text-align:center;margin-top:20px;color:#909399;font-size:12px}.otlab-form-btns{text-align:center;margin-top:20px}.seq-no{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#1677ff;color:#fff;font-size:12px;margin-right:5px;font-weight:700}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-row{flex-direction:row;align-items:center}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-label{flex:0 0 auto;max-width:70%;padding:0 8px 0 0;text-align:left}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-control{flex:1 1 0;max-width:none;min-width:0}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-control-input-content{flex:0 0 auto;margin-left:auto}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-row{flex-direction:row;align-items:center}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-label{flex:0 0 auto;max-width:70%;padding:0 8px 0 0;text-align:left}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-control{flex:1 1 0;max-width:none;min-width:0}.import-form-item[data-v-033b345e]{display:flex;flex-direction:column;gap:12px}.import-form-item__tips[data-v-033b345e]{flex-shrink:0}.import-form-item__body[data-v-033b345e]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.import-form-item__textarea[data-v-033b345e]{resize:none;font-size:13px}.import-form-item__preview[data-v-033b345e]{max-height:368px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:6px;padding:8px;min-height:200px}.preview-item[data-v-033b345e]{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px dashed #f0f0f0}.preview-item[data-v-033b345e]:last-child{border-bottom:none}.preview-item__tag[data-v-033b345e]{flex-shrink:0;margin-right:0}.preview-item__title[data-v-033b345e]{flex:1;font-size:13px;color:#303133;word-break:break-all}.preview-item__meta[data-v-033b345e]{flex-shrink:0;font-size:12px;color:#909399}.import-form-item__unknown[data-v-033b345e]{margin-top:8px}.unknown-line[data-v-033b345e]{font-size:12px;color:#909399}.left-panel[data-v-eb5f5c68]{display:flex;flex-direction:column;height:100%;overflow:hidden}.left-panel__search[data-v-eb5f5c68]{padding:12px;flex-shrink:0}.left-panel__scroll[data-v-eb5f5c68]{flex:1;min-height:0;overflow-y:auto}.left-panel__footer[data-v-eb5f5c68]{flex-shrink:0;padding:10px 12px;border-top:1px solid #f0f0f0}.left-panel__group[data-v-eb5f5c68]{padding:0 12px 8px}.left-panel__group-title[data-v-eb5f5c68]{font-size:12px;font-weight:600;color:#909399;padding:8px 0 6px;text-transform:uppercase;letter-spacing:.5px}.left-panel__group-list[data-v-eb5f5c68]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.left-panel__item[data-v-eb5f5c68]{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #e4e7ed;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;user-select:none}.left-panel__item[data-v-eb5f5c68]:hover{border-color:#409eff;color:#409eff;background:#ecf5ff;box-shadow:0 2px 6px #409eff26}.left-panel__item[data-v-eb5f5c68]:active{transform:scale(.97)}.left-panel__item-icon[data-v-eb5f5c68]{display:flex;align-items:center;justify-content:center;font-size:16px;color:#606266;flex-shrink:0}.left-panel__item:hover .left-panel__item-icon[data-v-eb5f5c68]{color:#409eff}.left-panel__item-label[data-v-eb5f5c68]{font-size:12px;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel__item:hover .left-panel__item-label[data-v-eb5f5c68]{color:#409eff}.left-panel__empty[data-v-eb5f5c68]{text-align:center;color:#c0c4cc;padding:40px 0;font-size:13px}.form-item-preview[data-v-f4dff3f9]{width:100%}.choice-preview--vertical[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:flex-start}.choice-preview--vertical[data-v-f4dff3f9] .ant-radio-wrapper,.choice-preview--vertical[data-v-f4dff3f9] .ant-checkbox-wrapper{margin-left:0;padding:5px 0}.form-item-preview__hint[data-v-f4dff3f9]{margin-left:8px;font-size:12px;color:#909399}.form-item-preview__image-upload[data-v-f4dff3f9]{width:80px;height:80px;border:1px dashed #dcdfe6;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#c0c4cc}.form-item-preview__sort-list[data-v-f4dff3f9]{display:flex;flex-direction:column;gap:6px}.form-item-preview__sort-item[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f7fa;border-radius:4px;font-size:13px;color:#606266}.form-item-preview__sort-num[data-v-f4dff3f9]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#409eff;color:#fff;font-size:11px;flex-shrink:0}.form-item-preview__image-select[data-v-f4dff3f9]{display:flex;gap:12px;flex-wrap:wrap}.form-item-preview__image-option[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid #e4e7ed;border-radius:6px;font-size:12px;color:#606266;min-width:70px}.form-item-preview__image-option[data-v-f4dff3f9] .anticon{font-size:28px;color:#c0c4cc}.form-item-preview__image-placeholder[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:20px;border:1px dashed #dcdfe6;border-radius:6px;color:#c0c4cc;font-size:13px;justify-content:center}.form-item-preview__image-placeholder[data-v-f4dff3f9] .anticon{font-size:24px}.form-item-preview__carousel[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:24px;background:#f5f7fa;border-radius:6px;color:#c0c4cc;font-size:13px;justify-content:center}.form-item-preview__carousel[data-v-f4dff3f9] .anticon{font-size:24px}.form-item-preview__desc[data-v-f4dff3f9]{font-size:13px;color:#606266;line-height:1.6;padding:8px 0}.form-item-preview__sign-pad[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;border:1px dashed #dcdfe6;border-radius:6px;color:#c0c4cc;font-size:13px;background:#fafafa}.form-item-preview__sign-pad[data-v-f4dff3f9] .anticon{font-size:28px}.form-item-preview__province-city[data-v-f4dff3f9],.form-item-preview__phone[data-v-f4dff3f9]{display:flex;align-items:center}.form-item-preview__sub-form[data-v-f4dff3f9]{display:flex;align-items:center;padding:12px;background:#f5f7fa;border-radius:6px;font-size:13px;color:#909399}.form-item-preview__matrix[data-v-f4dff3f9]{overflow-x:auto}.form-item-preview__matrix-table[data-v-f4dff3f9]{width:100%;border-collapse:collapse;font-size:13px}.form-item-preview__matrix-table th[data-v-f4dff3f9],.form-item-preview__matrix-table td[data-v-f4dff3f9]{padding:8px 10px;border:1px solid #e4e7ed;text-align:center}.form-item-preview__matrix-table th[data-v-f4dff3f9]{background:#f5f7fa;color:#606266;font-weight:500}.form-item-preview__matrix-table td[data-v-f4dff3f9]{color:#909399}.form-item-preview__matrix-cell[data-v-f4dff3f9]{width:16px;height:16px;border:2px solid #dcdfe6;border-radius:50%;margin:0 auto}.form-item-preview__pagination[data-v-f4dff3f9]{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0}.form-item-preview__page-info[data-v-f4dff3f9]{font-size:13px;color:#606266}.form-item-preview__unknown[data-v-f4dff3f9]{padding:10px;text-align:center;color:#c0c4cc;font-size:13px;background:#fafafa;border-radius:4px}.inline-editor[data-v-b70ab985]{position:relative;display:inline-block;width:100%;min-height:1em;cursor:pointer;border-radius:3px;transition:background .2s}.inline-editor[data-v-b70ab985]:hover{background:#1677ff0a}.inline-editor.is-editing[data-v-b70ab985]{cursor:text}.inline-editor__content[data-v-b70ab985]{min-height:1em;outline:none;word-break:break-word;line-height:1.5}.inline-editor.is-empty .inline-editor__content[data-v-b70ab985]:before{content:attr(data-placeholder);color:#c0c4cc;pointer-events:none}.tox.tox-tinymce-inline{border:none!important;box-shadow:0 4px 16px #00000026!important;border-radius:6px!important}.tox .tox-toolbar__primary{border-radius:6px!important}.tox .tox-tbtn{color:#222f3e!important}.tox .tox-tbtn:hover{background:#ffffff26!important;color:#222f3e!important}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#1677ff99!important;color:#fff!important}.tox .tox-toolbar__group{border:none!important}.form-item-layout[data-v-fed6f538]{position:relative;padding:12px 16px;margin-bottom:8px;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.form-item-layout[data-v-fed6f538]:hover{border-color:#c0c4cc;background:#fafafa}.form-item-layout:hover .form-item-layout__actions[data-v-fed6f538],.form-item-layout:hover .form-item-layout__badge[data-v-fed6f538]{opacity:1}.form-item-layout.is-active[data-v-fed6f538]{border-color:#409eff;box-shadow:0 0 0 1px #409eff33;background:#f5faff}.form-item-layout.is-active .form-item-layout__actions[data-v-fed6f538]{opacity:1}.form-item-layout.is-active .form-item-layout__badge[data-v-fed6f538]{opacity:1;background:#409eff;color:#fff}.form-item-layout__label[data-v-fed6f538]{margin-bottom:8px;font-size:14px;color:#303133;font-weight:500;display:flex;align-items:center}.form-item-layout__required[data-v-fed6f538]{color:#f56c6c;margin-right:4px;font-size:14px}.form-item-layout__label-editor[data-v-fed6f538]{flex:1;min-width:0}.form-item-layout__body[data-v-fed6f538]{pointer-events:none;user-select:none}.form-item-layout__actions[data-v-fed6f538]{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:10}.form-item-layout__action[data-v-fed6f538]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;font-size:14px;color:#606266;background:#f0f2f5;cursor:pointer;transition:all .15s}.form-item-layout__action[data-v-fed6f538]:hover{background:#ecf5ff;color:#409eff}.form-item-layout__action--danger[data-v-fed6f538]:hover{background:#fef0f0;color:#f56c6c}.form-item-layout__badge[data-v-fed6f538]{position:absolute;top:0;left:0;font-size:10px;padding:2px 6px;border-radius:6px 0;background:#e4e7ed;color:#909399;opacity:0;transition:opacity .2s;pointer-events:none}.form-item-layout.is-hidden-type[data-v-fed6f538]{opacity:.55;background:#fafafa}.form-item-layout__hidden-tag[data-v-fed6f538]{flex-shrink:0;margin-left:8px;font-size:11px;line-height:16px}.center-canvas[data-v-6c6e1b12]{height:100%;overflow:hidden;display:flex;flex-direction:column}.center-canvas__ops[data-v-6c6e1b12]{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:6px 16px;background:#fff;border-bottom:1px solid #e4e7ed}.center-canvas__ops-hint[data-v-6c6e1b12]{font-size:12px;color:#c0c4cc}.center-canvas__ops-actions[data-v-6c6e1b12]{display:flex;align-items:center;gap:4px}.center-canvas__scroll[data-v-6c6e1b12]{flex:1;min-height:0;overflow-y:auto}.center-canvas__inner[data-v-6c6e1b12]{max-width:800px;min-height:calc(100% - 40px);margin:20px auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000000f}.center-canvas__header[data-v-6c6e1b12]{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.center-canvas__form-title[data-v-6c6e1b12]{margin-bottom:8px;font-size:18px;font-weight:600;color:#303133;text-align:center}.center-canvas__form-desc[data-v-6c6e1b12]{font-size:13px;color:#909399;text-align:center}.drawing-list[data-v-6c6e1b12]{min-height:200px;position:relative;display:flex;flex-wrap:wrap}.empty-tip[data-v-6c6e1b12]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:#c0c4cc;font-size:15px;border:2px dashed #dcdfe6;border-radius:8px;margin-top:12px;flex:1 0 100%}.empty-tip__icon[data-v-6c6e1b12]{font-size:36px;color:#dcdfe6}.ghost[data-v-6c6e1b12]{opacity:.5;background:#ecf5ff;border:1px dashed #409eff;border-radius:4px}.chosen[data-v-6c6e1b12]{box-shadow:0 0 10px #409eff4d}.drag[data-v-6c6e1b12]{opacity:.8;transform:rotate(1deg)}.common-info[data-v-9fbc2721]{margin-top:12px}.option-list[data-v-6775bdab]{width:100%}.option-row[data-v-6775bdab]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-6775bdab]{flex:1}.option-input--image[data-v-6775bdab]{flex:1.4}.option-list[data-v-ee546d9d]{width:100%}.option-row[data-v-ee546d9d]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-label[data-v-ee546d9d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-hint[data-v-ee546d9d]{font-size:12px;color:#999}.option-list[data-v-9e724ac8]{width:100%}.option-row[data-v-9e724ac8]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-9e724ac8]{flex:1}.option-input--image[data-v-9e724ac8]{flex:1.2}.config-hint[data-v-9e724ac8]{font-size:12px;color:#999}.quota-divider[data-v-9e724ac8]{margin:8px 0}.matrix-label-row[data-v-380bead8]{display:flex;align-items:center;justify-content:space-between}.option-list[data-v-380bead8]{width:100%}.option-row[data-v-380bead8]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-380bead8]{flex:1}.config-hint[data-v-ff360da9]{font-size:12px;color:#999}.option-list[data-v-b7d16557]{width:100%}.option-row[data-v-b7d16557]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-b7d16557]{flex:1}.option-row--other .other-tag[data-v-b7d16557]{margin:0;flex-shrink:0}.config-hint[data-v-b7d16557]{margin-left:8px;font-size:12px;color:#999}.config-hint--block[data-v-b7d16557]{display:block;margin:-12px 0 12px;font-size:12px;color:#999}.min-max-row[data-v-b7d16557]{display:flex;align-items:center;gap:6px}.min-max-sep[data-v-b7d16557]{color:#999}.quota-divider[data-v-b7d16557]{margin:8px 0}.option-list[data-v-1c7edf5e]{width:100%}.option-row[data-v-1c7edf5e]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-row--child[data-v-1c7edf5e]{padding-left:16px}.option-input[data-v-1c7edf5e]{flex:1}.config-hint[data-v-1c7edf5e]{font-size:12px;color:#999}.quota-divider[data-v-1c7edf5e]{margin:8px 0}.color-picker[data-v-434a1b03]{width:100%;height:28px;padding:2px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;background:#fff}.option-list[data-v-539d0235]{width:100%}.option-row[data-v-539d0235]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-539d0235]{flex:1}.config-hint[data-v-539d0235]{font-size:12px;color:#999}.option-list[data-v-a77ce1ef]{width:100%}.option-row[data-v-a77ce1ef]{display:flex;gap:6px;margin-bottom:4px;align-items:center}.option-row--sub[data-v-a77ce1ef]{padding-left:16px}.option-input[data-v-a77ce1ef]{flex:1}.tag-select[data-v-a77ce1ef]{width:96px}.config-hint[data-v-a77ce1ef]{font-size:12px;color:#999}.size-row[data-v-8d7c26f8]{display:flex;gap:6px}.empty-options[data-v-38f07297]{color:#999;font-size:12px}.choice-group[data-v-38f07297]{display:flex;flex-direction:column;gap:4px}.exam-config-section__divider[data-v-71868ed1]{margin:4px 0 12px}.exam-config-section__divider[data-v-71868ed1] .ant-divider-inner-text{font-size:12px;color:#999}.exam-config-section__hint[data-v-71868ed1]{font-size:12px;color:#999;line-height:1.5}.right-panel[data-v-b017fc7c]{display:flex;flex-direction:column;height:100%;overflow:hidden}.right-panel--empty[data-v-b017fc7c]{display:flex;align-items:center;justify-content:center}.right-panel__tabs[data-v-b017fc7c]{display:flex;flex-direction:column;height:100%;overflow:hidden}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-nav{margin:0;padding:0 12px;flex-shrink:0}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-content-holder{display:flex;flex-direction:column;min-height:0}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-tabpane{flex:1;min-height:0;height:100%}.right-panel__scroll[data-v-b017fc7c]{height:100%;overflow-y:auto}.right-panel__form[data-v-b017fc7c]{padding:12px}.reg-list[data-v-b017fc7c]{margin-bottom:8px}.reg-row[data-v-b017fc7c]{display:flex;gap:6px;margin-bottom:8px;align-items:center}.reg-input[data-v-b017fc7c]{flex:1}.label-tip-icon[data-v-b017fc7c]{color:#999}.default-value-row[data-v-b017fc7c]{display:flex;align-items:center;gap:8px;min-width:0}.default-value-hint[data-v-b017fc7c]{font-size:12px;color:#999;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefill-source-hint[data-v-b017fc7c]{margin-top:4px;font-size:12px;line-height:1.5;color:#999}.form-design[data-v-0f38ed19]{position:relative;display:flex;flex-direction:column;height:100%;background:#f5f6fa;overflow:hidden}.form-design__toolbar[data-v-0f38ed19]{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:#fff;border-bottom:1px solid #e4e7ed;box-shadow:0 1px 4px #0000000f;flex-shrink:0}.form-design__title[data-v-0f38ed19]{font-size:16px;font-weight:600;color:#303133}.form-design__toolbar-left[data-v-0f38ed19]{display:flex;align-items:center;gap:8px}.form-design__status-tag[data-v-0f38ed19]{margin-right:0}.form-design__saving[data-v-0f38ed19]{font-size:13px;color:#909399}.form-design__conflict-tag[data-v-0f38ed19]{margin-right:0;cursor:pointer}.form-design__total-score[data-v-0f38ed19]{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:16px;background:#1890ff;color:#fff;line-height:1.4}.form-design__total-score-label[data-v-0f38ed19]{font-size:12px}.form-design__total-score-value[data-v-0f38ed19]{font-size:16px;font-weight:600;min-width:20px;text-align:center}.form-design__body[data-v-0f38ed19]{display:grid;grid-template-columns:250px 1fr 300px;flex:1;min-height:0;overflow:hidden}.form-design__left[data-v-0f38ed19]{border-right:1px solid #e4e7ed;background:#fff}.form-design__center[data-v-0f38ed19]{background:#f0f2f5}.form-design__right[data-v-0f38ed19]{border-left:1px solid #e4e7ed;background:#fff}.form-design__collect-mask[data-v-0f38ed19]{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000073}.form-design__collect-card[data-v-0f38ed19]{width:420px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;text-align:center}.form-design__collect-title[data-v-0f38ed19]{margin-bottom:8px;font-size:16px;font-weight:600;color:#303133}.form-design__collect-content[data-v-0f38ed19]{margin-bottom:20px;font-size:14px;line-height:1.6;color:#606266}.form-pagination[data-v-48819aa3]{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0}.page-indicator[data-v-48819aa3]{font-size:14px;color:#666}.t-input-map[data-v-2f99bba9]{width:100%}.input-map-icon[data-v-2f99bba9]{cursor:pointer;color:#1890ff}.input-map-icon[data-v-2f99bba9]:hover{color:#40a9ff}.map-dialog-body[data-v-2f99bba9]{display:flex;flex-direction:column;gap:12px}.map-search-bar[data-v-2f99bba9]{width:100%}.map-container[data-v-2f99bba9]{width:100%;height:400px;border:1px solid #d9d9d9;border-radius:4px}.map-fallback[data-v-2f99bba9]{padding:12px 0}.map-status-text[data-v-2f99bba9]{margin:8px 0 0;font-size:13px;color:#999;text-align:center}.map-selected-info[data-v-2f99bba9]{font-size:13px;color:#666;padding:8px 0;border-top:1px solid #f0f0f0}.matrix-input[data-v-c33e4605]{overflow-x:auto}.matrix-input__table[data-v-c33e4605]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-input__table th[data-v-c33e4605],.matrix-input__table td[data-v-c33e4605]{padding:8px;text-align:center;border-color:#d9d9d9}.matrix-input__corner[data-v-c33e4605]{min-width:80px}.matrix-input__col-header[data-v-c33e4605]{font-weight:500;background:#fafafa;color:#000000d9;min-width:120px}.matrix-input__row-header[data-v-c33e4605]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left!important;padding-left:12px!important;white-space:nowrap}.matrix-input__cell[data-v-c33e4605]{min-width:120px}.matrix-scale[data-v-1c5b9913]{overflow-x:auto}.matrix-scale__table[data-v-1c5b9913]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-scale__table th[data-v-1c5b9913],.matrix-scale__table td[data-v-1c5b9913]{padding:8px 12px;border-color:#d9d9d9}.matrix-scale__corner[data-v-1c5b9913]{min-width:120px}.matrix-scale__rating-header[data-v-1c5b9913]{font-weight:500;background:#fafafa;color:#000000d9;min-width:280px}.matrix-scale__legend[data-v-1c5b9913]{display:flex;justify-content:space-between;font-size:13px;color:#00000073}.matrix-scale__row-header[data-v-1c5b9913]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left;white-space:nowrap}.matrix-scale__cell[data-v-1c5b9913]{min-width:280px}.matrix-scale__rate-wrap[data-v-1c5b9913]{display:flex;align-items:center;gap:8px}.matrix-scale__label-left[data-v-1c5b9913],.matrix-scale__label-right[data-v-1c5b9913]{font-size:12px;color:#00000040;white-space:nowrap}.matrix-select[data-v-db9f3023]{overflow-x:auto}.matrix-select__table[data-v-db9f3023]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-select__table th[data-v-db9f3023],.matrix-select__table td[data-v-db9f3023]{padding:8px;text-align:center;border-color:#d9d9d9}.matrix-select__corner[data-v-db9f3023]{min-width:80px}.matrix-select__col-header[data-v-db9f3023]{font-weight:500;background:#fafafa;color:#000000d9;min-width:80px}.matrix-select__row-header[data-v-db9f3023]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left!important;padding-left:12px!important;white-space:nowrap}.matrix-select__cell[data-v-db9f3023]{min-width:60px}.t-phone-verification[data-v-c23ae281]{width:100%}.phone-code-row[data-v-c23ae281]{display:flex;gap:8px;margin-top:8px}.phone-code-row .ant-input[data-v-c23ae281]{flex:1}.phone-code-row .ant-btn[data-v-c23ae281]{flex-shrink:0;min-width:120px}.t-province-city[data-v-8a131a43],.t-sign-pad[data-v-91124d17]{width:100%}.sign-pad-canvas-wrap[data-v-91124d17]{width:100%;height:200px;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;cursor:crosshair;touch-action:none}.sign-pad-canvas[data-v-91124d17]{display:block;width:100%;height:100%}.sign-pad-actions[data-v-91124d17]{margin-top:8px;display:flex;flex-direction:column;gap:6px}.sign-pad-tips[data-v-91124d17]{font-size:12px;color:#999;text-align:center}.sign-pad-buttons[data-v-91124d17]{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.sub-form[data-v-a0d7ccc2]{width:100%}.sub-form-row[data-v-a0d7ccc2]{border:1px solid #d9d9d9;border-radius:4px;padding:12px;margin-bottom:12px}.sub-form-row__header[data-v-a0d7ccc2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed #d9d9d9}.sub-form-row__title[data-v-a0d7ccc2]{font-weight:500;font-size:14px;color:#000000d9}.sub-form-row__fields[data-v-a0d7ccc2]{display:flex;flex-wrap:wrap;gap:12px}.sub-form-row__field[data-v-a0d7ccc2]{flex:1 1 200px;min-width:200px}.sub-form-row__label[data-v-a0d7ccc2]{font-size:13px;color:#000000a6;margin-bottom:4px}.t-choice--vertical[data-v-9b4e315d] .ant-checkbox-wrapper{display:flex;align-items:center;margin-left:0;padding:5px 0}.t-choice__other[data-v-9b4e315d]{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.t-choice--vertical .t-choice__other[data-v-9b4e315d]{display:flex;margin-left:0;padding:5px 0}.other-input[data-v-9b4e315d]{width:120px}.carousel-slide[data-v-ac12b979]{overflow:hidden}.carousel-image-wrapper[data-v-ac12b979]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:#f5f7fa}.carousel-label[data-v-ac12b979]{position:absolute;bottom:0;left:0;right:0;padding:8px 16px;background:#00000080;color:#fff;font-size:14px;text-align:center}.image-select-list[data-v-3522a5e0]{display:flex;flex-wrap:wrap;gap:12px}.image-select-item[data-v-3522a5e0]{border:2px solid #d9d9d9;border-radius:8px;padding:8px;cursor:pointer;transition:border-color .2s}.image-select-item.is-checked[data-v-3522a5e0]{border-color:#1890ff}.image-select-card[data-v-3522a5e0]{display:flex;flex-direction:column;align-items:center;width:120px}.image-wrapper[data-v-3522a5e0]{width:100px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px}.image-label[data-v-3522a5e0]{margin-top:6px;font-size:13px;text-align:center;word-break:break-all;max-width:100px}.t-image-select[data-v-3522a5e0] .ant-checkbox-wrapper,.t-image-select[data-v-3522a5e0] .ant-radio-wrapper{height:auto}.t-image-upload[data-v-4c0420d2] .ant-upload-select{width:100px;height:100px}.t-image-upload[data-v-4c0420d2] .ant-upload-list-item:before,.t-image-upload[data-v-4c0420d2] .ant-upload-list-item .ant-upload-list-item-actions{opacity:1!important}.upload-tip[data-v-4c0420d2]{font-size:12px;color:#999;margin-top:4px}.t-choice--vertical[data-v-f3680c12] .ant-radio-wrapper{display:flex;align-items:center;margin-left:0;padding:5px 0}.t-choice__other[data-v-f3680c12]{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.t-choice--vertical .t-choice__other[data-v-f3680c12]{display:flex;margin-left:0;padding:5px 0}.other-input[data-v-f3680c12]{width:120px}.t-sort[data-v-0a0679c6]{display:flex;flex-direction:column;gap:8px}.sort-item[data-v-0a0679c6]{display:flex;align-items:center;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fafafa}.sort-index[data-v-0a0679c6]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#1890ff;color:#fff;border-radius:50%;font-size:12px;margin-right:10px;flex-shrink:0}.sort-label[data-v-0a0679c6]{flex:1;font-size:14px}.sort-actions[data-v-0a0679c6]{display:flex;gap:4px;flex-shrink:0}.upload-item[data-v-bbbc1784]{display:inline-flex;align-items:center;gap:6px}.upload-item-remove[data-v-bbbc1784]{color:#999}.upload-item-remove[data-v-bbbc1784]:hover{color:#ff4d4f}.upload-tip[data-v-bbbc1784]{font-size:12px;color:#999;margin-top:4px}.otlab-form-item-unsupported[data-v-4075d83f]{padding:10px 12px;border:1px dashed #dcdfe6;border-radius:4px;color:#c0c4cc;font-size:13px;text-align:center}.form-item-label-line[data-v-4075d83f]{display:inline-block}.exam-score-badge[data-v-4075d83f]{margin-left:4px;font-size:12px;color:#999;white-space:nowrap}.no-label[data-v-4075d83f] .ant-form-item-label{display:none}.form-item-label[data-v-4075d83f]{white-space:nowrap;display:inline-block}[data-v-4075d83f] .ant-form-item-label{white-space:nowrap!important;overflow:visible!important;text-overflow:unset!important;flex-shrink:0}[data-v-4075d83f] .ant-form-item-label>label{white-space:nowrap!important}.otlab-form-btns[data-v-f179b6cb]{text-align:center;margin-top:20px}.otlab-form-wrapper[data-v-0c3d6598]{min-height:100vh;padding:20px}.otlab-form-container[data-v-0c3d6598]{max-width:800px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.otlab-form-header-img[data-v-0c3d6598]{width:100%;margin-bottom:10px}.otlab-form-logo[data-v-0c3d6598]{margin-bottom:10px}.otlab-form-logo img[data-v-0c3d6598]{max-height:60px}.otlab-form-header[data-v-0c3d6598]{text-align:center;margin-bottom:10px}.otlab-form-description[data-v-0c3d6598]{text-align:center;color:#606266;margin-bottom:20px}.otlab-form-pagination[data-v-0c3d6598]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.otlab-form-pagination .page-info[data-v-0c3d6598]{color:#909399}.otlab-form-footer[data-v-0c3d6598]{text-align:center;margin-top:20px;color:#909399;font-size:12px}.loading-container[data-v-37f7029a]{min-height:300px}
1
+ @charset "UTF-8";.otlab-form-container{max-width:800px;margin:0 auto;padding:20px}.otlab-form-header{text-align:center;margin-bottom:20px}.otlab-form-header .otlab-form-title h1,.otlab-form-header .otlab-form-title h2,.otlab-form-header .otlab-form-title h3,.otlab-form-header .otlab-form-title h4,.otlab-form-header .otlab-form-title h5,.otlab-form-header .otlab-form-title h6{margin:0;padding:10px 0}.otlab-form-header .otlab-form-description{color:#606266;font-size:14px;line-height:1.6}.otlab-form-header .otlab-form-description p{margin:5px 0}.otlab-form-logo{text-align:center;margin-bottom:10px}.otlab-form-logo img{max-height:60px}.otlab-form-header-img{width:100%;max-height:200px;object-fit:cover;border-radius:4px;margin-bottom:10px}.otlab-form-footer{text-align:center;margin-top:20px;color:#909399;font-size:12px}.otlab-form-btns{text-align:center;margin-top:20px}.seq-no{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#1677ff;color:#fff;font-size:12px;margin-right:5px;font-weight:700}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-row{flex-direction:row;align-items:center}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-label{flex:0 0 auto;max-width:70%;padding:0 8px 0 0;text-align:left}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-control{flex:1 1 0;max-width:none;min-width:0}.ant-form-vertical .ot-fi-inline.ant-form-item .ant-form-item-control-input-content{flex:0 0 auto;margin-left:auto}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-row{flex-direction:row;align-items:center}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-label{flex:0 0 auto;max-width:70%;padding:0 8px 0 0;text-align:left}.ant-form-vertical .ot-fi-inline-btn.ant-form-item .ant-form-item-control{flex:1 1 0;max-width:none;min-width:0}.import-form-item[data-v-033b345e]{display:flex;flex-direction:column;gap:12px}.import-form-item__tips[data-v-033b345e]{flex-shrink:0}.import-form-item__body[data-v-033b345e]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.import-form-item__textarea[data-v-033b345e]{resize:none;font-size:13px}.import-form-item__preview[data-v-033b345e]{max-height:368px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:6px;padding:8px;min-height:200px}.preview-item[data-v-033b345e]{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px dashed #f0f0f0}.preview-item[data-v-033b345e]:last-child{border-bottom:none}.preview-item__tag[data-v-033b345e]{flex-shrink:0;margin-right:0}.preview-item__title[data-v-033b345e]{flex:1;font-size:13px;color:#303133;word-break:break-all}.preview-item__meta[data-v-033b345e]{flex-shrink:0;font-size:12px;color:#909399}.import-form-item__unknown[data-v-033b345e]{margin-top:8px}.unknown-line[data-v-033b345e]{font-size:12px;color:#909399}.left-panel[data-v-eb5f5c68]{display:flex;flex-direction:column;height:100%;overflow:hidden}.left-panel__search[data-v-eb5f5c68]{padding:12px;flex-shrink:0}.left-panel__scroll[data-v-eb5f5c68]{flex:1;min-height:0;overflow-y:auto}.left-panel__footer[data-v-eb5f5c68]{flex-shrink:0;padding:10px 12px;border-top:1px solid #f0f0f0}.left-panel__group[data-v-eb5f5c68]{padding:0 12px 8px}.left-panel__group-title[data-v-eb5f5c68]{font-size:12px;font-weight:600;color:#909399;padding:8px 0 6px;text-transform:uppercase;letter-spacing:.5px}.left-panel__group-list[data-v-eb5f5c68]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.left-panel__item[data-v-eb5f5c68]{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #e4e7ed;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;user-select:none}.left-panel__item[data-v-eb5f5c68]:hover{border-color:#409eff;color:#409eff;background:#ecf5ff;box-shadow:0 2px 6px #409eff26}.left-panel__item[data-v-eb5f5c68]:active{transform:scale(.97)}.left-panel__item-icon[data-v-eb5f5c68]{display:flex;align-items:center;justify-content:center;font-size:16px;color:#606266;flex-shrink:0}.left-panel__item:hover .left-panel__item-icon[data-v-eb5f5c68]{color:#409eff}.left-panel__item-label[data-v-eb5f5c68]{font-size:12px;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel__item:hover .left-panel__item-label[data-v-eb5f5c68]{color:#409eff}.left-panel__empty[data-v-eb5f5c68]{text-align:center;color:#c0c4cc;padding:40px 0;font-size:13px}.form-item-preview[data-v-f4dff3f9]{width:100%}.choice-preview--vertical[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:flex-start}.choice-preview--vertical[data-v-f4dff3f9] .ant-radio-wrapper,.choice-preview--vertical[data-v-f4dff3f9] .ant-checkbox-wrapper{margin-left:0;padding:5px 0}.form-item-preview__hint[data-v-f4dff3f9]{margin-left:8px;font-size:12px;color:#909399}.form-item-preview__image-upload[data-v-f4dff3f9]{width:80px;height:80px;border:1px dashed #dcdfe6;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#c0c4cc}.form-item-preview__sort-list[data-v-f4dff3f9]{display:flex;flex-direction:column;gap:6px}.form-item-preview__sort-item[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f5f7fa;border-radius:4px;font-size:13px;color:#606266}.form-item-preview__sort-num[data-v-f4dff3f9]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#409eff;color:#fff;font-size:11px;flex-shrink:0}.form-item-preview__image-select[data-v-f4dff3f9]{display:flex;gap:12px;flex-wrap:wrap}.form-item-preview__image-option[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid #e4e7ed;border-radius:6px;font-size:12px;color:#606266;min-width:70px}.form-item-preview__image-option[data-v-f4dff3f9] .anticon{font-size:28px;color:#c0c4cc}.form-item-preview__image-placeholder[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:20px;border:1px dashed #dcdfe6;border-radius:6px;color:#c0c4cc;font-size:13px;justify-content:center}.form-item-preview__image-placeholder[data-v-f4dff3f9] .anticon{font-size:24px}.form-item-preview__carousel[data-v-f4dff3f9]{display:flex;align-items:center;gap:8px;padding:24px;background:#f5f7fa;border-radius:6px;color:#c0c4cc;font-size:13px;justify-content:center}.form-item-preview__carousel[data-v-f4dff3f9] .anticon{font-size:24px}.form-item-preview__desc[data-v-f4dff3f9]{font-size:13px;color:#606266;line-height:1.6;padding:8px 0}.form-item-preview__sign-pad[data-v-f4dff3f9]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;border:1px dashed #dcdfe6;border-radius:6px;color:#c0c4cc;font-size:13px;background:#fafafa}.form-item-preview__sign-pad[data-v-f4dff3f9] .anticon{font-size:28px}.form-item-preview__province-city[data-v-f4dff3f9],.form-item-preview__phone[data-v-f4dff3f9]{display:flex;align-items:center}.form-item-preview__sub-form[data-v-f4dff3f9]{display:flex;align-items:center;padding:12px;background:#f5f7fa;border-radius:6px;font-size:13px;color:#909399}.form-item-preview__matrix[data-v-f4dff3f9]{overflow-x:auto}.form-item-preview__matrix-table[data-v-f4dff3f9]{width:100%;border-collapse:collapse;font-size:13px}.form-item-preview__matrix-table th[data-v-f4dff3f9],.form-item-preview__matrix-table td[data-v-f4dff3f9]{padding:8px 10px;border:1px solid #e4e7ed;text-align:center}.form-item-preview__matrix-table th[data-v-f4dff3f9]{background:#f5f7fa;color:#606266;font-weight:500}.form-item-preview__matrix-table td[data-v-f4dff3f9]{color:#909399}.form-item-preview__matrix-cell[data-v-f4dff3f9]{width:16px;height:16px;border:2px solid #dcdfe6;border-radius:50%;margin:0 auto}.form-item-preview__pagination[data-v-f4dff3f9]{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0}.form-item-preview__page-info[data-v-f4dff3f9]{font-size:13px;color:#606266}.form-item-preview__unknown[data-v-f4dff3f9]{padding:10px;text-align:center;color:#c0c4cc;font-size:13px;background:#fafafa;border-radius:4px}.inline-editor[data-v-b70ab985]{position:relative;display:inline-block;width:100%;min-height:1em;cursor:pointer;border-radius:3px;transition:background .2s}.inline-editor[data-v-b70ab985]:hover{background:#1677ff0a}.inline-editor.is-editing[data-v-b70ab985]{cursor:text}.inline-editor__content[data-v-b70ab985]{min-height:1em;outline:none;word-break:break-word;line-height:1.5}.inline-editor.is-empty .inline-editor__content[data-v-b70ab985]:before{content:attr(data-placeholder);color:#c0c4cc;pointer-events:none}.tox.tox-tinymce-inline{border:none!important;box-shadow:0 4px 16px #00000026!important;border-radius:6px!important}.tox .tox-toolbar__primary{border-radius:6px!important}.tox .tox-tbtn{color:#222f3e!important}.tox .tox-tbtn:hover{background:#ffffff26!important;color:#222f3e!important}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#1677ff99!important;color:#fff!important}.tox .tox-toolbar__group{border:none!important}.form-item-layout[data-v-fed6f538]{position:relative;padding:12px 16px;margin-bottom:8px;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.form-item-layout[data-v-fed6f538]:hover{border-color:#c0c4cc;background:#fafafa}.form-item-layout:hover .form-item-layout__actions[data-v-fed6f538],.form-item-layout:hover .form-item-layout__badge[data-v-fed6f538]{opacity:1}.form-item-layout.is-active[data-v-fed6f538]{border-color:#409eff;box-shadow:0 0 0 1px #409eff33;background:#f5faff}.form-item-layout.is-active .form-item-layout__actions[data-v-fed6f538]{opacity:1}.form-item-layout.is-active .form-item-layout__badge[data-v-fed6f538]{opacity:1;background:#409eff;color:#fff}.form-item-layout__label[data-v-fed6f538]{margin-bottom:8px;font-size:14px;color:#303133;font-weight:500;display:flex;align-items:center}.form-item-layout__required[data-v-fed6f538]{color:#f56c6c;margin-right:4px;font-size:14px}.form-item-layout__label-editor[data-v-fed6f538]{flex:1;min-width:0}.form-item-layout__body[data-v-fed6f538]{pointer-events:none;user-select:none}.form-item-layout__actions[data-v-fed6f538]{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s;z-index:10}.form-item-layout__action[data-v-fed6f538]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;font-size:14px;color:#606266;background:#f0f2f5;cursor:pointer;transition:all .15s}.form-item-layout__action[data-v-fed6f538]:hover{background:#ecf5ff;color:#409eff}.form-item-layout__action--danger[data-v-fed6f538]:hover{background:#fef0f0;color:#f56c6c}.form-item-layout__badge[data-v-fed6f538]{position:absolute;top:0;left:0;font-size:10px;padding:2px 6px;border-radius:6px 0;background:#e4e7ed;color:#909399;opacity:0;transition:opacity .2s;pointer-events:none}.form-item-layout.is-hidden-type[data-v-fed6f538]{opacity:.55;background:#fafafa}.form-item-layout__hidden-tag[data-v-fed6f538]{flex-shrink:0;margin-left:8px;font-size:11px;line-height:16px}.center-canvas[data-v-6c6e1b12]{height:100%;overflow:hidden;display:flex;flex-direction:column}.center-canvas__ops[data-v-6c6e1b12]{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:6px 16px;background:#fff;border-bottom:1px solid #e4e7ed}.center-canvas__ops-hint[data-v-6c6e1b12]{font-size:12px;color:#c0c4cc}.center-canvas__ops-actions[data-v-6c6e1b12]{display:flex;align-items:center;gap:4px}.center-canvas__scroll[data-v-6c6e1b12]{flex:1;min-height:0;overflow-y:auto}.center-canvas__inner[data-v-6c6e1b12]{max-width:800px;min-height:calc(100% - 40px);margin:20px auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000000f}.center-canvas__header[data-v-6c6e1b12]{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.center-canvas__form-title[data-v-6c6e1b12]{margin-bottom:8px;font-size:18px;font-weight:600;color:#303133;text-align:center}.center-canvas__form-desc[data-v-6c6e1b12]{font-size:13px;color:#909399;text-align:center}.drawing-list[data-v-6c6e1b12]{min-height:200px;position:relative;display:flex;flex-wrap:wrap}.empty-tip[data-v-6c6e1b12]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:#c0c4cc;font-size:15px;border:2px dashed #dcdfe6;border-radius:8px;margin-top:12px;flex:1 0 100%}.empty-tip__icon[data-v-6c6e1b12]{font-size:36px;color:#dcdfe6}.ghost[data-v-6c6e1b12]{opacity:.5;background:#ecf5ff;border:1px dashed #409eff;border-radius:4px}.chosen[data-v-6c6e1b12]{box-shadow:0 0 10px #409eff4d}.drag[data-v-6c6e1b12]{opacity:.8;transform:rotate(1deg)}.common-info[data-v-9fbc2721]{margin-top:12px}.option-list[data-v-6775bdab]{width:100%}.option-row[data-v-6775bdab]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-6775bdab]{flex:1}.option-input--image[data-v-6775bdab]{flex:1.4}.option-list[data-v-ee546d9d]{width:100%}.option-row[data-v-ee546d9d]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-label[data-v-ee546d9d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-hint[data-v-ee546d9d]{font-size:12px;color:#999}.option-list[data-v-9e724ac8]{width:100%}.option-row[data-v-9e724ac8]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-9e724ac8]{flex:1}.option-input--image[data-v-9e724ac8]{flex:1.2}.config-hint[data-v-9e724ac8]{font-size:12px;color:#999}.quota-divider[data-v-9e724ac8]{margin:8px 0}.matrix-label-row[data-v-380bead8]{display:flex;align-items:center;justify-content:space-between}.option-list[data-v-380bead8]{width:100%}.option-row[data-v-380bead8]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-380bead8]{flex:1}.config-hint[data-v-ff360da9]{font-size:12px;color:#999}.option-list[data-v-b7d16557]{width:100%}.option-row[data-v-b7d16557]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-b7d16557]{flex:1}.option-row--other .other-tag[data-v-b7d16557]{margin:0;flex-shrink:0}.config-hint[data-v-b7d16557]{margin-left:8px;font-size:12px;color:#999}.config-hint--block[data-v-b7d16557]{display:block;margin:-12px 0 12px;font-size:12px;color:#999}.min-max-row[data-v-b7d16557]{display:flex;align-items:center;gap:6px}.min-max-sep[data-v-b7d16557]{color:#999}.quota-divider[data-v-b7d16557]{margin:8px 0}.option-list[data-v-1c7edf5e]{width:100%}.option-row[data-v-1c7edf5e]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-row--child[data-v-1c7edf5e]{padding-left:16px}.option-input[data-v-1c7edf5e]{flex:1}.config-hint[data-v-1c7edf5e]{font-size:12px;color:#999}.quota-divider[data-v-1c7edf5e]{margin:8px 0}.color-picker[data-v-434a1b03]{width:100%;height:28px;padding:2px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;background:#fff}.option-list[data-v-539d0235]{width:100%}.option-row[data-v-539d0235]{display:flex;gap:6px;margin-bottom:6px;align-items:center}.option-input[data-v-539d0235]{flex:1}.config-hint[data-v-539d0235]{font-size:12px;color:#999}.option-list[data-v-a77ce1ef]{width:100%}.option-row[data-v-a77ce1ef]{display:flex;gap:6px;margin-bottom:4px;align-items:center}.option-row--sub[data-v-a77ce1ef]{padding-left:16px}.option-input[data-v-a77ce1ef]{flex:1}.tag-select[data-v-a77ce1ef]{width:96px}.config-hint[data-v-a77ce1ef]{font-size:12px;color:#999}.size-row[data-v-8d7c26f8]{display:flex;gap:6px}.empty-options[data-v-38f07297]{color:#999;font-size:12px}.choice-group[data-v-38f07297]{display:flex;flex-direction:column;gap:4px}.exam-config-section__divider[data-v-71868ed1]{margin:4px 0 12px}.exam-config-section__divider[data-v-71868ed1] .ant-divider-inner-text{font-size:12px;color:#999}.exam-config-section__hint[data-v-71868ed1]{font-size:12px;color:#999;line-height:1.5}.right-panel[data-v-b017fc7c]{display:flex;flex-direction:column;height:100%;overflow:hidden}.right-panel--empty[data-v-b017fc7c]{display:flex;align-items:center;justify-content:center}.right-panel__tabs[data-v-b017fc7c]{display:flex;flex-direction:column;height:100%;overflow:hidden}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-nav{margin:0;padding:0 12px;flex-shrink:0}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-content-holder{display:flex;flex-direction:column;min-height:0}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.right-panel__tabs[data-v-b017fc7c] .ant-tabs-tabpane{flex:1;min-height:0;height:100%}.right-panel__scroll[data-v-b017fc7c]{height:100%;overflow-y:auto}.right-panel__form[data-v-b017fc7c]{padding:12px}.reg-list[data-v-b017fc7c]{margin-bottom:8px}.reg-row[data-v-b017fc7c]{display:flex;gap:6px;margin-bottom:8px;align-items:center}.reg-input[data-v-b017fc7c]{flex:1}.label-tip-icon[data-v-b017fc7c]{color:#999}.default-value-row[data-v-b017fc7c]{display:flex;align-items:center;gap:8px;min-width:0}.default-value-hint[data-v-b017fc7c]{font-size:12px;color:#999;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefill-source-hint[data-v-b017fc7c]{margin-top:4px;font-size:12px;line-height:1.5;color:#999}.form-design[data-v-0f38ed19]{position:relative;display:flex;flex-direction:column;height:100%;background:#f5f6fa;overflow:hidden}.form-design__toolbar[data-v-0f38ed19]{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:#fff;border-bottom:1px solid #e4e7ed;box-shadow:0 1px 4px #0000000f;flex-shrink:0}.form-design__title[data-v-0f38ed19]{font-size:16px;font-weight:600;color:#303133}.form-design__toolbar-left[data-v-0f38ed19]{display:flex;align-items:center;gap:8px}.form-design__status-tag[data-v-0f38ed19]{margin-right:0}.form-design__saving[data-v-0f38ed19]{font-size:13px;color:#909399}.form-design__conflict-tag[data-v-0f38ed19]{margin-right:0;cursor:pointer}.form-design__total-score[data-v-0f38ed19]{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:16px;background:#1890ff;color:#fff;line-height:1.4}.form-design__total-score-label[data-v-0f38ed19]{font-size:12px}.form-design__total-score-value[data-v-0f38ed19]{font-size:16px;font-weight:600;min-width:20px;text-align:center}.form-design__body[data-v-0f38ed19]{display:grid;grid-template-columns:250px 1fr 300px;flex:1;min-height:0;overflow:hidden}.form-design__left[data-v-0f38ed19]{border-right:1px solid #e4e7ed;background:#fff}.form-design__center[data-v-0f38ed19]{background:#f0f2f5}.form-design__right[data-v-0f38ed19]{border-left:1px solid #e4e7ed;background:#fff}.form-design__collect-mask[data-v-0f38ed19]{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000073}.form-design__collect-card[data-v-0f38ed19]{width:420px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;text-align:center}.form-design__collect-title[data-v-0f38ed19]{margin-bottom:8px;font-size:16px;font-weight:600;color:#303133}.form-design__collect-content[data-v-0f38ed19]{margin-bottom:20px;font-size:14px;line-height:1.6;color:#606266}.form-pagination[data-v-48819aa3]{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0}.page-indicator[data-v-48819aa3]{font-size:14px;color:#666}.t-input-map[data-v-2f99bba9]{width:100%}.input-map-icon[data-v-2f99bba9]{cursor:pointer;color:#1890ff}.input-map-icon[data-v-2f99bba9]:hover{color:#40a9ff}.map-dialog-body[data-v-2f99bba9]{display:flex;flex-direction:column;gap:12px}.map-search-bar[data-v-2f99bba9]{width:100%}.map-container[data-v-2f99bba9]{width:100%;height:400px;border:1px solid #d9d9d9;border-radius:4px}.map-fallback[data-v-2f99bba9]{padding:12px 0}.map-status-text[data-v-2f99bba9]{margin:8px 0 0;font-size:13px;color:#999;text-align:center}.map-selected-info[data-v-2f99bba9]{font-size:13px;color:#666;padding:8px 0;border-top:1px solid #f0f0f0}.matrix-input[data-v-c33e4605]{overflow-x:auto}.matrix-input__table[data-v-c33e4605]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-input__table th[data-v-c33e4605],.matrix-input__table td[data-v-c33e4605]{padding:8px;text-align:center;border-color:#d9d9d9}.matrix-input__corner[data-v-c33e4605]{min-width:80px}.matrix-input__col-header[data-v-c33e4605]{font-weight:500;background:#fafafa;color:#000000d9;min-width:120px}.matrix-input__row-header[data-v-c33e4605]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left!important;padding-left:12px!important;white-space:nowrap}.matrix-input__cell[data-v-c33e4605]{min-width:120px}.matrix-scale[data-v-1c5b9913]{overflow-x:auto}.matrix-scale__table[data-v-1c5b9913]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-scale__table th[data-v-1c5b9913],.matrix-scale__table td[data-v-1c5b9913]{padding:8px 12px;border-color:#d9d9d9}.matrix-scale__corner[data-v-1c5b9913]{min-width:120px}.matrix-scale__rating-header[data-v-1c5b9913]{font-weight:500;background:#fafafa;color:#000000d9;min-width:280px}.matrix-scale__legend[data-v-1c5b9913]{display:flex;justify-content:space-between;font-size:13px;color:#00000073}.matrix-scale__row-header[data-v-1c5b9913]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left;white-space:nowrap}.matrix-scale__cell[data-v-1c5b9913]{min-width:280px}.matrix-scale__rate-wrap[data-v-1c5b9913]{display:flex;align-items:center;gap:8px}.matrix-scale__label-left[data-v-1c5b9913],.matrix-scale__label-right[data-v-1c5b9913]{font-size:12px;color:#00000040;white-space:nowrap}.matrix-select[data-v-db9f3023]{overflow-x:auto}.matrix-select__table[data-v-db9f3023]{width:100%;border-collapse:collapse;border-color:#d9d9d9;font-size:14px}.matrix-select__table th[data-v-db9f3023],.matrix-select__table td[data-v-db9f3023]{padding:8px;text-align:center;border-color:#d9d9d9}.matrix-select__corner[data-v-db9f3023]{min-width:80px}.matrix-select__col-header[data-v-db9f3023]{font-weight:500;background:#fafafa;color:#000000d9;min-width:80px}.matrix-select__row-header[data-v-db9f3023]{font-weight:500;background:#fafafa;color:#000000d9;text-align:left!important;padding-left:12px!important;white-space:nowrap}.matrix-select__cell[data-v-db9f3023]{min-width:60px}.t-phone-verification[data-v-c23ae281]{width:100%}.phone-code-row[data-v-c23ae281]{display:flex;gap:8px;margin-top:8px}.phone-code-row .ant-input[data-v-c23ae281]{flex:1}.phone-code-row .ant-btn[data-v-c23ae281]{flex-shrink:0;min-width:120px}.t-province-city[data-v-8a131a43],.t-sign-pad[data-v-91124d17]{width:100%}.sign-pad-canvas-wrap[data-v-91124d17]{width:100%;height:200px;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;cursor:crosshair;touch-action:none}.sign-pad-canvas[data-v-91124d17]{display:block;width:100%;height:100%}.sign-pad-actions[data-v-91124d17]{margin-top:8px;display:flex;flex-direction:column;gap:6px}.sign-pad-tips[data-v-91124d17]{font-size:12px;color:#999;text-align:center}.sign-pad-buttons[data-v-91124d17]{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.sub-form[data-v-a0d7ccc2]{width:100%}.sub-form-row[data-v-a0d7ccc2]{border:1px solid #d9d9d9;border-radius:4px;padding:12px;margin-bottom:12px}.sub-form-row__header[data-v-a0d7ccc2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed #d9d9d9}.sub-form-row__title[data-v-a0d7ccc2]{font-weight:500;font-size:14px;color:#000000d9}.sub-form-row__fields[data-v-a0d7ccc2]{display:flex;flex-wrap:wrap;gap:12px}.sub-form-row__field[data-v-a0d7ccc2]{flex:1 1 200px;min-width:200px}.sub-form-row__label[data-v-a0d7ccc2]{font-size:13px;color:#000000a6;margin-bottom:4px}.t-choice--vertical[data-v-9b4e315d] .ant-checkbox-wrapper{display:flex;align-items:center;margin-left:0;padding:5px 0}.t-choice__other[data-v-9b4e315d]{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.t-choice--vertical .t-choice__other[data-v-9b4e315d]{display:flex;margin-left:0;padding:5px 0}.other-input[data-v-9b4e315d]{width:120px}.carousel-slide[data-v-ac12b979]{overflow:hidden}.carousel-image-wrapper[data-v-ac12b979]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;background:#f5f7fa}.carousel-label[data-v-ac12b979]{position:absolute;bottom:0;left:0;right:0;padding:8px 16px;background:#00000080;color:#fff;font-size:14px;text-align:center}.image-select-list[data-v-3522a5e0]{display:flex;flex-wrap:wrap;gap:12px}.image-select-item[data-v-3522a5e0]{border:2px solid #d9d9d9;border-radius:8px;padding:8px;cursor:pointer;transition:border-color .2s}.image-select-item.is-checked[data-v-3522a5e0]{border-color:#1890ff}.image-select-card[data-v-3522a5e0]{display:flex;flex-direction:column;align-items:center;width:120px}.image-wrapper[data-v-3522a5e0]{width:100px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px}.image-label[data-v-3522a5e0]{margin-top:6px;font-size:13px;text-align:center;word-break:break-all;max-width:100px}.t-image-select[data-v-3522a5e0] .ant-checkbox-wrapper,.t-image-select[data-v-3522a5e0] .ant-radio-wrapper{height:auto}.t-image-upload[data-v-4c0420d2] .ant-upload-select{width:100px;height:100px}.t-image-upload[data-v-4c0420d2] .ant-upload-list-item:before,.t-image-upload[data-v-4c0420d2] .ant-upload-list-item .ant-upload-list-item-actions{opacity:1!important}.upload-tip[data-v-4c0420d2]{font-size:12px;color:#999;margin-top:4px}.t-choice--vertical[data-v-f3680c12] .ant-radio-wrapper{display:flex;align-items:center;margin-left:0;padding:5px 0}.t-choice__other[data-v-f3680c12]{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.t-choice--vertical .t-choice__other[data-v-f3680c12]{display:flex;margin-left:0;padding:5px 0}.other-input[data-v-f3680c12]{width:120px}.t-sort[data-v-0a0679c6]{display:flex;flex-direction:column;gap:8px}.sort-item[data-v-0a0679c6]{display:flex;align-items:center;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fafafa}.sort-index[data-v-0a0679c6]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#1890ff;color:#fff;border-radius:50%;font-size:12px;margin-right:10px;flex-shrink:0}.sort-label[data-v-0a0679c6]{flex:1;font-size:14px}.sort-actions[data-v-0a0679c6]{display:flex;gap:4px;flex-shrink:0}.upload-item[data-v-bbbc1784]{display:inline-flex;align-items:center;gap:6px}.upload-item-remove[data-v-bbbc1784]{color:#999}.upload-item-remove[data-v-bbbc1784]:hover{color:#ff4d4f}.upload-tip[data-v-bbbc1784]{font-size:12px;color:#999;margin-top:4px}.otlab-form-item-unsupported[data-v-4075d83f]{padding:10px 12px;border:1px dashed #dcdfe6;border-radius:4px;color:#c0c4cc;font-size:13px;text-align:center}.form-item-label-line[data-v-4075d83f]{display:inline-block}.exam-score-badge[data-v-4075d83f]{margin-left:4px;font-size:12px;color:#999;white-space:nowrap}.no-label[data-v-4075d83f] .ant-form-item-label{display:none}.form-item-label[data-v-4075d83f]{white-space:nowrap;display:inline-block}[data-v-4075d83f] .ant-form-item-label{white-space:nowrap!important;overflow:visible!important;text-overflow:unset!important;flex-shrink:0}[data-v-4075d83f] .ant-form-item-label>label{white-space:nowrap!important}.otlab-form-btns[data-v-f179b6cb]{text-align:center;margin-top:20px}.otlab-form-wrapper[data-v-0c3d6598]{min-height:100vh;padding:20px}.otlab-form-container[data-v-0c3d6598]{max-width:800px;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.otlab-form-header-img[data-v-0c3d6598]{width:100%;margin-bottom:10px}.otlab-form-logo[data-v-0c3d6598]{margin-bottom:10px}.otlab-form-logo img[data-v-0c3d6598]{max-height:60px}.otlab-form-header[data-v-0c3d6598]{text-align:center;margin-bottom:10px}.otlab-form-description[data-v-0c3d6598]{text-align:center;color:#606266;margin-bottom:20px}.otlab-form-pagination[data-v-0c3d6598]{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.otlab-form-pagination .page-info[data-v-0c3d6598]{color:#909399}.otlab-form-footer[data-v-0c3d6598]{text-align:center;margin-top:20px;color:#909399;font-size:12px}.loading-container[data-v-ab4b119f]{min-height:300px}
@@ -6,10 +6,10 @@
6
6
  * - scoringType:1=唯一答案和分值(选择题);2=回答包含答案即得分;3=回答与答案完全相同(输入类)
7
7
  * - answer:选择题为选项 value 数组;输入类(单行/多行/数字)为字符串
8
8
  */
9
- /** 支持计分的题型(typeId,与上游 tduck 对齐) */
10
- export declare const EXAM_SUPPORTED_TYPE_IDS: readonly ["INPUT", "TEXTAREA", "RADIO", "CHECKBOX", "SELECT", "IMG_SELECT", "NUMBER"];
9
+ /** 支持计分的题型(typeId,与 item-contract 注册题型口径一致;图片选择题是 IMAGE_SELECT,曾误写为 IMG_SELECT) */
10
+ export declare const EXAM_SUPPORTED_TYPE_IDS: readonly ["INPUT", "TEXTAREA", "RADIO", "CHECKBOX", "SELECT", "IMAGE_SELECT", "NUMBER"];
11
11
  /** 选择题组(计分方式恒为 1 唯一答案;answer 为选项 value 数组) */
12
- export declare const EXAM_SELECT_TYPE_IDS: readonly ["RADIO", "CHECKBOX", "SELECT", "IMG_SELECT"];
12
+ export declare const EXAM_SELECT_TYPE_IDS: readonly ["RADIO", "CHECKBOX", "SELECT", "IMAGE_SELECT"];
13
13
  /** 输入类组(计分方式 2 包含 / 3 完全相同;answer 为字符串) */
14
14
  export declare const EXAM_INPUT_TYPE_IDS: readonly ["INPUT", "TEXTAREA", "NUMBER"];
15
15
  export interface ExamConfig {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otlab/form-generator",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "otlab 问卷表单引擎:设计器 + 渲染层(Vue 3 + ant-design-vue)",
5
5
  "type": "module",
6
6
  "license": "MIT",