eli-video-interview 1.6.5 → 1.6.7

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.
Files changed (45) hide show
  1. package/esm/components/Charts/ReportPie.js +5 -5
  2. package/esm/modules/ai-report/components/ScoreReport/styled.d.ts +1 -1
  3. package/esm/modules/ai-report-v2/components/ScoreReport/styled.d.ts +1 -1
  4. package/esm/modules/ai-report-v3/Root.js +3 -3
  5. package/esm/modules/ai-report-v3/components/AIEvaluate/Evaluate.js +67 -12
  6. package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +1 -1
  7. package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.js +198 -66
  8. package/esm/modules/ai-report-v3/components/AIEvaluate/index.js +2 -2
  9. package/esm/modules/ai-report-v3/components/CheatRisk/CheatRisk.js +77 -26
  10. package/esm/modules/ai-report-v3/components/Form/Form.js +1 -1
  11. package/esm/modules/ai-report-v3/components/ModuleTitle.d.ts +3 -1
  12. package/esm/modules/ai-report-v3/components/ModuleTitle.js +19 -8
  13. package/esm/modules/ai-report-v3/components/ScoreReport/styled.d.ts +1 -1
  14. package/esm/modules/ai-report-v3/components/SectionTabs/SectionTabs.js +1 -1
  15. package/esm/modules/ai-report-v3/components/V3Header/V3Header.d.ts +2 -1
  16. package/esm/modules/ai-report-v3/components/V3Header/V3Header.js +18 -49
  17. package/esm/modules/ai-report-v3/components/VideoQuestion/QuestionItem.js +50 -18
  18. package/esm/modules/ai-report-v3/components/VideoQuestion/index.js +4 -3
  19. package/esm/modules/ai-report-v3/interface.d.ts +4 -0
  20. package/esm/modules/ai-report-v3/useAiReport.d.ts +1 -0
  21. package/esm/modules/ai-template/components/TemplateList/styled.d.ts +1 -1
  22. package/esm/utils/interceptor.js +35 -0
  23. package/lib/components/Charts/ReportPie.js +5 -5
  24. package/lib/modules/ai-report/components/ScoreReport/styled.d.ts +1 -1
  25. package/lib/modules/ai-report-v2/components/ScoreReport/styled.d.ts +1 -1
  26. package/lib/modules/ai-report-v3/Root.js +3 -3
  27. package/lib/modules/ai-report-v3/components/AIEvaluate/Evaluate.js +65 -10
  28. package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +1 -1
  29. package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.js +198 -66
  30. package/lib/modules/ai-report-v3/components/AIEvaluate/index.js +1 -1
  31. package/lib/modules/ai-report-v3/components/CheatRisk/CheatRisk.js +76 -25
  32. package/lib/modules/ai-report-v3/components/Form/Form.js +1 -1
  33. package/lib/modules/ai-report-v3/components/ModuleTitle.d.ts +3 -1
  34. package/lib/modules/ai-report-v3/components/ModuleTitle.js +19 -8
  35. package/lib/modules/ai-report-v3/components/ScoreReport/styled.d.ts +1 -1
  36. package/lib/modules/ai-report-v3/components/SectionTabs/SectionTabs.js +1 -1
  37. package/lib/modules/ai-report-v3/components/V3Header/V3Header.d.ts +2 -1
  38. package/lib/modules/ai-report-v3/components/V3Header/V3Header.js +18 -49
  39. package/lib/modules/ai-report-v3/components/VideoQuestion/QuestionItem.js +50 -18
  40. package/lib/modules/ai-report-v3/components/VideoQuestion/index.js +4 -3
  41. package/lib/modules/ai-report-v3/interface.d.ts +4 -0
  42. package/lib/modules/ai-report-v3/useAiReport.d.ts +1 -0
  43. package/lib/modules/ai-template/components/TemplateList/styled.d.ts +1 -1
  44. package/lib/utils/interceptor.js +35 -0
  45. package/package.json +1 -1
@@ -15,7 +15,7 @@ export declare const RefreshIconRoot: import("@emotion/styled").StyledComponent<
15
15
  sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
16
16
  titleAccess?: string | undefined;
17
17
  viewBox?: string | undefined;
18
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "method" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
18
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "method" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
19
19
  ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
20
20
  }, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "titleAccess" | "viewBox"> & {
21
21
  children?: import("react").ReactNode;
@@ -33,7 +33,7 @@ import { useEffect, useRef, useState } from 'react';
33
33
  var sections = [
34
34
  { id: 'report-header', name: '基本信息' },
35
35
  { id: 'report-evaluate', name: '综合评价' },
36
- { id: 'report-question', name: '答题解析' },
36
+ { id: 'report-question', name: '面试详情' },
37
37
  ];
38
38
  var findScrollParent = function (node) {
39
39
  var el = node;
@@ -3,10 +3,11 @@ import type { CandidateInfo } from '../Candidate/Interface';
3
3
  interface V3HeaderProps {
4
4
  status: number;
5
5
  customScore?: number;
6
+ passScore?: number;
6
7
  onRefreshSuccess: () => void;
7
8
  fetchCandidateInfo?: () => Promise<CandidateInfo>;
8
9
  v3AssetBase?: string;
9
10
  onExportReportClick?: () => void;
10
11
  }
11
- declare const V3Header: ({ status, customScore, onRefreshSuccess, fetchCandidateInfo, v3AssetBase, onExportReportClick }: V3HeaderProps) => JSX.Element;
12
+ declare const V3Header: ({ status, customScore, passScore, onRefreshSuccess, fetchCandidateInfo, v3AssetBase, onExportReportClick }: V3HeaderProps) => JSX.Element;
12
13
  export default V3Header;
@@ -35,47 +35,26 @@ import { useEffect, useMemo, useState } from 'react';
35
35
  import { useAiReportStore } from "../../../../store/ai-report/global-store";
36
36
  import { PostAiInterviewRefresh } from "../../../../services/ai-report";
37
37
  import { INTERVIEW_STATUS } from "../../../../enum/ai-report";
38
- import { formatScore } from "../../../../utils/utils";
39
- var matchLevel = function (score) {
40
- if (score >= 80)
41
- return 'high';
42
- if (score >= 60)
43
- return 'middle';
44
- return 'low';
45
- };
46
- var matchText = function (level) {
47
- switch (level) {
48
- case 'high':
49
- return '非常匹配';
50
- case 'middle':
51
- return '中等匹配';
52
- default:
53
- return '匹配度低';
54
- }
55
- };
56
- var matchColor = function (level) {
57
- switch (level) {
58
- case 'high':
59
- return '#FF8908';
60
- case 'middle':
61
- return '#18C01F';
62
- default:
63
- return '#2360FF';
64
- }
65
- };
38
+ // 通过线:无阈值时默认 60(向后兼容)
39
+ var DEFAULT_PASS_SCORE = 60;
66
40
  var tagColors = [
67
41
  { color: '#009908', bg: '#E7FBF0' },
68
42
  { color: '#FE9D0D', bg: '#FFF3E0' },
69
43
  { color: '#629CFF', bg: '#EAF2FF' },
70
44
  { color: '#FF6C6C', bg: '#FFEBEE' },
71
45
  ];
72
- var DefaultAvatar = function () { return (_jsxs("svg", __assign({ viewBox: "0 0 137 192", width: "100%", height: "100%", preserveAspectRatio: "xMidYMid slice" }, { children: [_jsx("defs", { children: _jsxs("linearGradient", __assign({ id: "avbg", x1: "0", y1: "0", x2: "0", y2: "1" }, { children: [_jsx("stop", { offset: "0", stopColor: "#EDF4F0" }), _jsx("stop", { offset: "1", stopColor: "#E2EEE6" })] })) }), _jsx("rect", { width: "137", height: "192", fill: "url(#avbg)" }), _jsx("circle", { cx: "68.5", cy: "78", r: "33", fill: "#C6D8CD" }), _jsx("path", { d: "M26 192c4-45 22-64 42.5-64s38.5 19 42.5 64z", fill: "#C6D8CD" })] }))); };
46
+ var DefaultAvatar = function (_a) {
47
+ var _b = _a.v3AssetBase, v3AssetBase = _b === void 0 ? '' : _b;
48
+ return v3AssetBase ? (_jsx("img", { src: "".concat(v3AssetBase, "/default_avatar.png"), alt: "", style: { width: '100%', height: '100%', objectFit: 'cover', display: 'block' } })) : (_jsxs("svg", __assign({ viewBox: "0 0 137 192", width: "100%", height: "100%", preserveAspectRatio: "xMidYMid slice" }, { children: [_jsx("defs", { children: _jsxs("linearGradient", __assign({ id: "avbg", x1: "0", y1: "0", x2: "0", y2: "1" }, { children: [_jsx("stop", { offset: "0", stopColor: "#EDF4F0" }), _jsx("stop", { offset: "1", stopColor: "#E2EEE6" })] })) }), _jsx("rect", { width: "137", height: "192", fill: "url(#avbg)" }), _jsx("circle", { cx: "68.5", cy: "78", r: "33", fill: "#C6D8CD" }), _jsx("path", { d: "M26 192c4-45 22-64 42.5-64s38.5 19 42.5 64z", fill: "#C6D8CD" })] })));
49
+ };
73
50
  var V3Header = function (_a) {
74
51
  var _b;
75
- var status = _a.status, customScore = _a.customScore, onRefreshSuccess = _a.onRefreshSuccess, fetchCandidateInfo = _a.fetchCandidateInfo, _c = _a.v3AssetBase, v3AssetBase = _c === void 0 ? '' : _c, onExportReportClick = _a.onExportReportClick;
52
+ var status = _a.status, customScore = _a.customScore, passScore = _a.passScore, onRefreshSuccess = _a.onRefreshSuccess, fetchCandidateInfo = _a.fetchCandidateInfo, _c = _a.v3AssetBase, v3AssetBase = _c === void 0 ? '' : _c, onExportReportClick = _a.onExportReportClick;
76
53
  var _d = useAiReportStore(function (store) { return [store.token, store.reportResult, store.operableButtons]; }), token = _d.token, reportResult = _d.reportResult, operableButtons = _d.operableButtons;
77
54
  var _e = reportResult || {}, _f = _e.score, score = _f === void 0 ? 0 : _f, _g = _e.createTime, createTime = _g === void 0 ? 0 : _g, _h = _e.steps, steps = _h === void 0 ? [] : _h, _j = _e.tags, tags = _j === void 0 ? [] : _j, candidateInfo = _e.candidateInfo;
78
55
  var _k = __read(useState(score || 0), 2), feScore = _k[0], setFeScore = _k[1];
56
+ var passThreshold = typeof passScore === 'number' ? passScore : DEFAULT_PASS_SCORE;
57
+ var isPass = feScore >= passThreshold;
79
58
  var _l = __read(useState(false), 2), openRefresh = _l[0], setOpenRefresh = _l[1];
80
59
  var _m = __read(useState(null), 2), candidate = _m[0], setCandidate = _m[1];
81
60
  var _o = __read(useState(false), 2), avatarErr = _o[0], setAvatarErr = _o[1];
@@ -116,8 +95,6 @@ var V3Header = function (_a) {
116
95
  var s = durationSeconds % 60;
117
96
  return "".concat(String(m).padStart(2, '0'), ":").concat(String(s).padStart(2, '0'));
118
97
  }, [durationSeconds]);
119
- var level = matchLevel(feScore);
120
- var labelFile = level === 'high' ? 'high' : level === 'middle' ? 'mid' : 'low';
121
98
  var showTags = ((_b = candidate === null || candidate === void 0 ? void 0 : candidate.tags) === null || _b === void 0 ? void 0 : _b.length) ? candidate.tags : (tags === null || tags === void 0 ? void 0 : tags.length) ? tags.map(function (t) { return ({ name: t.name, token: t.token }); }) : [];
122
99
  var refreshContent = (_jsxs(Box, __assign({ padding: 2 }, { children: [_jsx(Typography, __assign({ variant: "body1", color: "secondary" }, { children: "\u5237\u65B0\u540E\u5C06\u6309\u6700\u65B0\u7B97\u5206\u89C4\u5219\u8BA1\u7B97\uFF0C\u662F\u5426\u786E\u8BA4\u5237\u65B0" })), _jsx(Box, __assign({ paddingTop: 1, textAlign: "right" }, { children: _jsx(Button, __assign({ loading: loading, onClick: run }, { children: "\u5237\u65B0" })) }))] })));
123
100
  return (_jsxs(Box, __assign({ id: "report-header", sx: {
@@ -127,16 +104,8 @@ var V3Header = function (_a) {
127
104
  backgroundSize: '100% auto',
128
105
  backgroundPosition: 'top center',
129
106
  } }, { children: [_jsx(Box, __assign({ sx: {
130
- px: 3,
131
- pt: 2,
132
- pb: 1.5,
133
- } }, { children: _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 1.5 }, { children: [v3AssetBase && _jsx("img", { src: "".concat(v3AssetBase, "/02_logo.png"), alt: "", width: 18, height: 30 }), _jsx(Typography, __assign({ sx: {
134
- fontFamily: 'TBMCYXT, "Source Han Sans", sans-serif',
135
- fontWeight: 400,
136
- fontSize: 28,
137
- lineHeight: '39px',
138
- color: 'rgba(0,0,0,0.86)',
139
- } }, { children: "AI\u9762\u8BD5\u62A5\u544A" })), _jsxs(Typography, __assign({ variant: "body2", color: "rgba(74,74,74,0.72)", sx: { ml: 1 } }, { children: ["\u62A5\u544A\u751F\u6210\u65F6\u95F4\uFF1A", dayjs(createTime * 1000).format('YYYY-MM-DD HH:mm')] })), (operableButtons === null || operableButtons === void 0 ? void 0 : operableButtons.includes('refresh')) && (_jsx(Popover, __assign({ open: openRefresh, content: refreshContent, onClickAway: function () { return setOpenRefresh(false); } }, { children: _jsx(IconButton, __assign({ onClick: function () { return setOpenRefresh(true); }, size: "small" }, { children: _jsx(RefreshIcon, { sx: { color: '#009908' } }) })) }))), _jsx(Box, { sx: { flex: 1 } }), (operableButtons === null || operableButtons === void 0 ? void 0 : operableButtons.includes('export')) && onExportReportClick && (_jsxs(Typography, __assign({ variant: "body2", onClick: onExportReportClick, sx: {
107
+ aspectRatio: '2718 / 289',
108
+ } }, { children: _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 1.5, sx: { px: 3, pt: '18px' } }, { children: [v3AssetBase && _jsx("img", { src: "".concat(v3AssetBase, "/logo.png"), alt: "", style: { width: 'auto' }, height: 45 }), v3AssetBase && _jsx("img", { src: "".concat(v3AssetBase, "/ai_report_title.png"), alt: "", style: { width: 'auto' }, height: 25 }), _jsxs(Typography, __assign({ variant: "body2", color: "rgba(74,74,74,0.72)", sx: { ml: 1 } }, { children: ["\u62A5\u544A\u751F\u6210\u65F6\u95F4\uFF1A", dayjs(createTime * 1000).format('YYYY-MM-DD HH:mm')] })), (operableButtons === null || operableButtons === void 0 ? void 0 : operableButtons.includes('refresh')) && (_jsx(Popover, __assign({ open: openRefresh, content: refreshContent, onClickAway: function () { return setOpenRefresh(false); } }, { children: _jsx(IconButton, __assign({ onClick: function () { return setOpenRefresh(true); }, size: "small" }, { children: _jsx(RefreshIcon, { sx: { color: '#009908' } }) })) }))), _jsx(Box, { sx: { flex: 1 } }), (operableButtons === null || operableButtons === void 0 ? void 0 : operableButtons.includes('export')) && onExportReportClick && (_jsxs(Typography, __assign({ variant: "body2", onClick: onExportReportClick, sx: {
140
109
  color: '#4BCA50',
141
110
  display: 'inline-flex',
142
111
  alignItems: 'center',
@@ -149,19 +118,19 @@ var V3Header = function (_a) {
149
118
  px: 1.5,
150
119
  py: 0.5,
151
120
  boxShadow: '0 2px 6px rgba(0,0,0,0.10)',
152
- } }, { children: ["\u5BFC\u51FA\u62A5\u544A", _jsx(ShareIcon, { sx: { width: 16, height: 16 } })] })))] })) })), _jsx(Box, __assign({ sx: { px: 3, py: 2 } }, { children: _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 3 }, { children: [_jsx(Box, __assign({ width: 137, height: 170, borderRadius: 2, overflow: "hidden", flexShrink: 0, display: "flex", alignItems: "center", justifyContent: "center", bgcolor: "#F2F5F3" }, { children: (candidate === null || candidate === void 0 ? void 0 : candidate.avatar) && !avatarErr ? (_jsx("img", { src: candidate.avatar, alt: "", onError: function () { return setAvatarErr(true); }, style: { width: '100%', height: '100%', objectFit: 'cover' } })) : (_jsx(DefaultAvatar, {})) })), _jsx(Box, __assign({ flex: "1 1 auto", minWidth: 0, sx: {
153
- background: '#FBFDFC',
121
+ } }, { children: ["\u5BFC\u51FA\u62A5\u544A", _jsx(ShareIcon, { sx: { width: 16, height: 16 } })] })))] })) })), _jsx(Box, __assign({ sx: { px: 3, pb: 0, height: 160, display: 'flex' } }, { children: _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 3, sx: { flex: 1, minHeight: 0 } }, { children: [_jsx(Box, __assign({ width: 116, borderRadius: 2, overflow: "hidden", flexShrink: 0, display: "flex", alignItems: "center", justifyContent: "center", bgcolor: "#F2F5F3", alignSelf: "stretch" }, { children: (candidate === null || candidate === void 0 ? void 0 : candidate.avatar) && !avatarErr ? (_jsx("img", { src: candidate.avatar, alt: "", onError: function () { return setAvatarErr(true); }, style: { width: '100%', height: '100%', objectFit: 'cover' } })) : (_jsx(DefaultAvatar, { v3AssetBase: v3AssetBase })) })), _jsxs(Box, __assign({ flex: "1 1 auto", minWidth: 0, sx: {
122
+ background: 'rgba(0,191,255,0.03)',
154
123
  borderRadius: 2,
155
124
  px: 2,
156
125
  py: 1.5,
157
- border: '1px solid #EEF6F1',
158
126
  alignSelf: 'stretch',
159
127
  display: 'flex',
160
128
  flexDirection: 'column',
161
129
  justifyContent: 'center',
162
- } }, { children: _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 3 }, { children: [_jsxs(Box, __assign({ flex: "1 1 auto", minWidth: 0 }, { children: [_jsx(Typography, __assign({ variant: "subtitle1", fontWeight: "bold", sx: { fontSize: 18, color: 'rgba(0,0,0,0.86)' } }, { children: (candidate === null || candidate === void 0 ? void 0 : candidate.positionName) || '' })), _jsxs(Typography, __assign({ variant: "body1", sx: { color: 'rgba(0,0,0,0.6)', mt: 0.5 } }, { children: [(candidate === null || candidate === void 0 ? void 0 : candidate.name) || '', " ", (candidate === null || candidate === void 0 ? void 0 : candidate.mobile) || ''] })), _jsxs(Typography, __assign({ variant: "body2", color: "rgba(0,0,0,0.6)", mt: 1 }, { children: ["\u9762\u8BD5\u65F6\u957F\uFF1A", durationText] })), showTags && showTags.length > 0 && (_jsx(Stack, __assign({ direction: "row", flexWrap: "wrap", gap: 1, mt: 1 }, { children: showTags.map(function (tag, i) {
163
- var color = tagColors[i % tagColors.length];
164
- return (_jsx(Box, __assign({ px: 1.2, py: 0.3, borderRadius: 10, sx: { color: color.color, bgcolor: color.bg } }, { children: _jsx(Typography, __assign({ variant: "body2" }, { children: tag.name })) }), tag.token || tag.name));
165
- }) })))] })), _jsxs(Box, __assign({ alignItems: "flex-end", sx: { display: 'flex', flexDirection: 'column', alignItems: 'flex-end', minWidth: 160 } }, { children: [status === INTERVIEW_STATUS.COMPLETED && v3AssetBase ? (_jsx("img", { src: "".concat(v3AssetBase, "/label_").concat(labelFile, ".png"), alt: matchText(level), width: 134, height: 42 })) : (_jsx(Box, __assign({ sx: { bgcolor: matchColor(level), px: 2, py: 0.75, borderRadius: 2, display: 'inline-flex', alignItems: 'center' } }, { children: _jsx(Typography, __assign({ sx: { color: '#fff', fontSize: 18, fontWeight: 600 } }, { children: status === INTERVIEW_STATUS.COMPLETED ? matchText(level) : '计算中' })) }))), _jsxs(Stack, __assign({ direction: "row", alignItems: "baseline", spacing: 0.5, mt: 1 }, { children: [_jsx(Typography, __assign({ variant: "body2", color: "rgba(0,0,0,0.3)", fontWeight: 700 }, { children: "\u603B\u5206\uFF1A" })), _jsx(Typography, __assign({ sx: { fontFamily: 'TBMCYXT, sans-serif', fontWeight: 800, fontSize: 40, lineHeight: 1, color: matchColor(level) } }, { children: formatScore(feScore) })), _jsx(Typography, __assign({ variant: "body2", color: "rgba(0,0,0,0.3)", fontWeight: 700 }, { children: "\u5206" }))] })), v3AssetBase && _jsx("img", { src: "".concat(v3AssetBase, "/04_path.png"), alt: "", width: 110, height: 12 })] }))] })) }))] })) }))] })));
130
+ position: 'relative',
131
+ } }, { children: [v3AssetBase && status === INTERVIEW_STATUS.COMPLETED && (_jsx("img", { src: "".concat(v3AssetBase, "/").concat(isPass ? 'stamp_pass' : 'stamp_fail', ".png"), alt: isPass ? '通过' : '不通过', style: { position: 'absolute', right: 0, bottom: 0, width: 120, height: 120, display: 'block', zIndex: 20 } })), _jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 3 }, { children: [_jsxs(Box, __assign({ flex: "1 1 auto", minWidth: 0 }, { children: [_jsx(Typography, __assign({ variant: "subtitle1", fontWeight: "bold", sx: { fontSize: 18, color: 'rgba(0,0,0,0.86)' } }, { children: (candidate === null || candidate === void 0 ? void 0 : candidate.positionName) || '' })), _jsxs(Typography, __assign({ variant: "body1", sx: { color: 'rgba(0,0,0,0.6)', mt: 0.5 } }, { children: [(candidate === null || candidate === void 0 ? void 0 : candidate.name) || '', " ", (candidate === null || candidate === void 0 ? void 0 : candidate.mobile) || ''] })), _jsxs(Typography, __assign({ variant: "body2", color: "rgba(0,0,0,0.6)", mt: 1 }, { children: ["\u9762\u8BD5\u65F6\u957F\uFF1A", durationText] })), showTags && showTags.length > 0 && (_jsx(Stack, __assign({ direction: "row", flexWrap: "wrap", gap: 1, mt: 1 }, { children: showTags.map(function (tag, i) {
132
+ var color = tagColors[i % tagColors.length];
133
+ return (_jsx(Box, __assign({ px: 1.2, py: 0.3, borderRadius: 10, sx: { color: color.color, bgcolor: color.bg } }, { children: _jsx(Typography, __assign({ variant: "body2" }, { children: tag.name })) }), tag.token || tag.name));
134
+ }) })))] })), _jsx(Box, __assign({ alignItems: "flex-end", sx: { display: 'flex', flexDirection: 'column', alignItems: 'flex-end', minWidth: 160 } }, { children: status === INTERVIEW_STATUS.COMPLETED ? (_jsxs(Box, __assign({ sx: { position: 'relative', display: 'inline-flex', alignItems: 'center', justifyContent: 'center', px: 4, py: 2 } }, { children: [_jsx(Typography, __assign({ sx: { position: 'relative', zIndex: 1, fontFamily: 'TBMCYXT, sans-serif', fontWeight: 800, fontSize: 58, lineHeight: 1, color: 'rgba(0,0,0,0.7)' } }, { children: feScore.toFixed(1) })), v3AssetBase && (_jsx("img", { src: "".concat(v3AssetBase, "/04_path.png"), alt: "", style: { position: 'absolute', bottom: 6, left: '50%', transform: 'translateX(-50%)', width: 'auto', height: 30, display: 'block' } }))] }))) : (_jsx(Box, __assign({ sx: { bgcolor: '#2360FF', px: 2, py: 0.75, borderRadius: 2, display: 'inline-flex', alignItems: 'center' } }, { children: _jsx(Typography, __assign({ sx: { color: '#fff', fontSize: 18, fontWeight: 600 } }, { children: "\u8BA1\u7B97\u4E2D" })) }))) }))] }))] }))] })) }))] })));
166
135
  };
167
136
  export default V3Header;
@@ -25,15 +25,24 @@ var __read = (this && this.__read) || function (o, n) {
25
25
  }
26
26
  return ar;
27
27
  };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
28
37
  import { createElement as _createElement } from "react";
29
38
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
30
39
  import { ExportButton, Video } from '../styled';
31
40
  import Abilities from './Abilities';
32
41
  import BodyImages from './BodyImages';
33
- import Evaluate from './Evaluate';
34
42
  import ScoreSlider from './ScoreSlider';
35
43
  import SingleChoice from './SingleChoice';
36
44
  import { QuestionDesc } from './styled';
45
+ import Evaluate from './Evaluate';
37
46
  import Workplaces from './Workplaces';
38
47
  import { ADD_QUESTION_TYPE, QUESTION_TYPE } from "../../../../enum/ai-question";
39
48
  import { INTERVIEW_STEP_STATUS } from "../../../../enum/ai-report";
@@ -47,7 +56,7 @@ import { useCallback, useMemo, useState } from 'react';
47
56
  var isShowVideoMessage = function (type) { return [QUESTION_TYPE.SINGLECHIOCE, QUESTION_TYPE.ALPHABETIC_DICTATION, QUESTION_TYPE.COLOR_BLINDNESS].includes(type); };
48
57
  var STEP_NO_ANSWER = INTERVIEW_STEP_STATUS.STEP_NO_ANSWER, STEP_COMPLETED = INTERVIEW_STEP_STATUS.STEP_COMPLETED, STEP_FAILED = INTERVIEW_STEP_STATUS.STEP_FAILED, STEP_IN_CALCULATION = INTERVIEW_STEP_STATUS.STEP_IN_CALCULATION;
49
58
  var QuestionItem = function (props) {
50
- var token = props.token, reviewImgs = props.reviewImgs, followupQuestions = props.followupQuestions, index = props.index, status = props.status, _a = props.answer, analysisResult = _a.analysisResult, videoUrl = _a.videoUrl, posterUrl = _a.posterUrl, _b = props.question, desc = _b.desc, type = _b.type, options = _b.options, aiShowType = _b.aiShowType, _c = props.scoreInfo, score = _c.score, weight = _c.weight, originScore = _c.originScore, finalScore = _c.finalScore, abilities = _c.abilities, workplaceEvaluation = _c.workplaceEvaluation, workplaceName = _c.workplaceName, isExportPdf = props.isExportPdf;
59
+ var token = props.token, reviewImgs = props.reviewImgs, followupQuestions = props.followupQuestions, index = props.index, status = props.status, _a = props.answer, analysisResult = _a.analysisResult, videoUrl = _a.videoUrl, posterUrl = _a.posterUrl, _b = props.question, desc = _b.desc, type = _b.type, options = _b.options, aiShowType = _b.aiShowType, _c = props.scoreInfo, score = _c.score, weight = _c.weight, originScore = _c.originScore, finalScore = _c.finalScore, abilities = _c.abilities, workplaceEvaluation = _c.workplaceEvaluation, workplaceName = _c.workplaceName, aiEvaluation = props.aiEvaluation, isExportPdf = props.isExportPdf;
51
60
  var _d = __read(useState(false), 2), showAbilities = _d[0], setShowAbilities = _d[1];
52
61
  var _e = useAiReportStore(function (store) { return [
53
62
  store.reportResult,
@@ -117,6 +126,26 @@ var QuestionItem = function (props) {
117
126
  }
118
127
  // 其他视频点击逻辑可以在这里处理
119
128
  }, [videoUrl, type]);
129
+ // 绿切图横幅底 + 白字(蓝湖「矩形 334」),序号徽章与追问标签共用
130
+ var TagBanner = function (_a) {
131
+ var text = _a.text, size = _a.size;
132
+ return (_jsx(Box, __assign({ component: "span", sx: {
133
+ display: 'inline-flex',
134
+ alignItems: 'center',
135
+ justifyContent: 'center',
136
+ height: 20,
137
+ flexShrink: 0,
138
+ px: 1.5,
139
+ fontSize: size || 14,
140
+ fontWeight: 500,
141
+ lineHeight: 1,
142
+ color: '#fff',
143
+ whiteSpace: 'nowrap',
144
+ backgroundImage: v3AssetBase ? "url('".concat(v3AssetBase, "/q_tag.png')") : undefined,
145
+ backgroundRepeat: 'no-repeat',
146
+ backgroundSize: '100% 100%',
147
+ } }, { children: text })));
148
+ };
120
149
  return (_jsxs(Stack, __assign({ component: Paper, elevation: 1, sx: {
121
150
  padding: '16px 16px',
122
151
  mt: 2,
@@ -124,22 +153,25 @@ var QuestionItem = function (props) {
124
153
  mx: 1,
125
154
  borderRadius: '12px',
126
155
  position: 'relative',
127
- } }, { children: [_jsxs(Stack, __assign({ direction: "row", justifyContent: "space-between", spacing: 4 }, { children: [_jsxs(Stack, __assign({ flex: 1, mt: 1 }, { children: [_jsxs(Stack, __assign({ direction: "row", alignItems: "center" }, { children: [_jsx(Box, __assign({ sx: {
128
- background: '#4EC953',
129
- color: '#fff',
130
- borderRadius: 6,
131
- boxShadow: '4px 0px 8px 0px rgba(78,201,83,0.3)',
132
- width: 33,
133
- height: 20,
134
- display: 'flex',
135
- alignItems: 'center',
136
- justifyContent: 'center',
137
- fontSize: 16,
138
- flexShrink: 0,
139
- } }, { children: index + 1 })), _jsx(Typography, __assign({ ml: 1.5, variant: "body2", sx: { color: '#03BA4C', fontSize: 14, lineHeight: '21px' } }, { children: desc }))] })), _jsxs(QuestionDesc, { children: [_jsx(BodyImages, { reviewImgs: reviewImgs }), _jsx("img", { className: "MuiSvgIcon-root", src: quoteIconSrc, alt: "", width: 20, height: 15 }), status === STEP_IN_CALCULATION ? (_jsx(Typography, __assign({ variant: "body2", color: "secondary" }, { children: "\u89C6\u9891\u5904\u7406\u4E2D\uFF0C\u8BF7\u7A0D\u5019" }))) : (_jsxs(_Fragment, { children: [isSingleChoice && _jsx(SingleChoice, { options: options || [], selected: (analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.selected) || [] }), _jsx(Typography, { variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 12, lineHeight: '18px' }, dangerouslySetInnerHTML: { __html: renderText } }), type === QUESTION_TYPE.COLOR_BLINDNESS && (analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.img) && (_jsxs(Box, { children: [_jsx("img", { style: { width: 100, height: 100 }, src: analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.img, alt: "" }), _jsxs(Typography, __assign({ variant: "body2", color: "secondary", ml: 1 }, { children: ["\u56DE\u7B54\uFF1A", analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.answer] }))] }))] }))] }), followupQuestions === null || followupQuestions === void 0 ? void 0 : followupQuestions.map(function (v, followupIndex) {
140
- return (_jsxs(Box, { children: [_jsx(Typography, __assign({ mt: 1, variant: "body2", sx: { color: '#03BA4C', fontSize: 14 } }, { children: "\u8FFD\u95EE\uFF1A".concat(v === null || v === void 0 ? void 0 : v.desc) })), _jsxs(QuestionDesc, { children: [_jsx("img", { className: "MuiSvgIcon-root", src: quoteIconSrc, alt: "", width: 20, height: 15 }), _jsx(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 12 }, ml: 1 }, { children: v === null || v === void 0 ? void 0 : v.answer }))] })] }, "followup-".concat(index, "-").concat(followupIndex)));
141
- })] })), _jsxs(Box, __assign({ position: "relative" }, { children: [isExportPdf && (_jsx(ExportButton, __assign({ href: videoUrl, target: "_blank" }, { children: _jsx("img", { src: "//webcdn.fbmms.cn/assets/htyk/jjn4TDJ1eW5akU_lblzYe", alt: "", style: { width: 166, height: 296 } }) }))), !isExportPdf && (_jsx(Video, { src: videoUrl, poster: posterUrl, onClick: handleVideoClick, width: 135, onPlay: function (event) {
156
+ } }, { children: [_jsxs(Stack, __assign({ direction: "row", justifyContent: "space-between", spacing: 4, alignItems: "flex-start" }, { children: [_jsxs(Stack, __assign({ flex: 1, minWidth: 0, mt: 1 }, { children: [_jsxs(Stack, __assign({ direction: "row", alignItems: "center" }, { children: [_jsx(TagBanner, { text: "".concat(index + 1) }), _jsx(Typography, __assign({ ml: 1.5, variant: "body2", sx: { color: '#03BA4C', fontSize: 14, lineHeight: '21px' } }, { children: desc }))] })), _jsxs(QuestionDesc, { children: [_jsx(BodyImages, { reviewImgs: reviewImgs }), _jsx("img", { className: "MuiSvgIcon-root", src: quoteIconSrc, alt: "", width: 20, height: 15 }), status === STEP_IN_CALCULATION ? (_jsx(Typography, __assign({ variant: "body2", color: "secondary" }, { children: "\u89C6\u9891\u5904\u7406\u4E2D\uFF0C\u8BF7\u7A0D\u5019" }))) : (_jsxs(_Fragment, { children: [isSingleChoice && _jsx(SingleChoice, { options: options || [], selected: (analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.selected) || [] }), _jsx(Typography, { variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 13, lineHeight: '20px', textAlign: 'justify' }, dangerouslySetInnerHTML: { __html: renderText } }), type === QUESTION_TYPE.COLOR_BLINDNESS && (analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.img) && (_jsxs(Box, { children: [_jsx("img", { style: { width: 100, height: 100 }, src: analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.img, alt: "" }), _jsxs(Typography, __assign({ variant: "body2", color: "secondary", ml: 1 }, { children: ["\u56DE\u7B54\uFF1A", analysisResult === null || analysisResult === void 0 ? void 0 : analysisResult.answer] }))] }))] }))] })] })), _jsxs(Box, __assign({ position: "relative" }, { children: [isExportPdf && (_jsx(ExportButton, __assign({ href: videoUrl, target: "_blank" }, { children: _jsx("img", { src: "//webcdn.fbmms.cn/assets/htyk/jjn4TDJ1eW5akU_lblzYe", alt: "", style: { width: 166, height: 296 } }) }))), !isExportPdf && (_jsx(Video, { src: videoUrl, poster: posterUrl, onClick: handleVideoClick, width: 135, onPlay: function (event) {
142
157
  document.querySelectorAll('video').forEach(function (v) { return v !== event.target && v.pause(); });
143
- } }))] }))] })), isExistWeight && status !== STEP_COMPLETED && (_jsxs(Box, __assign({ width: "100%", display: "flex", alignItems: "center", mt: 2 }, { children: [_jsx(Box, __assign({ flex: "1 0", display: "flex", alignItems: "center", pl: 2 }, { children: workplaceName && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.5, mb: 1 }, { children: [_jsx(Typography, __assign({ sx: { color: '#03BA4C', fontSize: 14 }, variant: "body2", fontWeight: "500" }, { children: "\u8003\u6838\u70B9\uFF1A" })), _jsx(Typography, __assign({ variant: "body2", sx: { fontSize: 14, color: 'rgba(0,0,0,0.8)' } }, { children: workplaceName }))] }))) })), _jsx(Box, __assign({ width: 150, textAlign: "right" }, { children: _jsxs(Typography, __assign({ variant: "body1", fontSize: 16, fontWeight: 500, noWrap: true, display: "flex" }, { children: ["\u7EFC\u5408\u8BC4\u5206\uFF1A", comprehensiveScore] })) }))] }))), showScoreBlock && (_jsxs(Stack, __assign({ mt: 3, spacing: 1, sx: { position: 'relative' } }, { children: [canEditAiDimension && ((workplaceEvaluation && !isSimulated) || (isSimulated && abilities.length > 0)) && (_jsx("img", { onClick: handleModeChange, src: "//webcdn.fbmms.cn/assets/CVlD/V8fHAovf4X6wfXN75KkI9", alt: "", style: { width: 36, height: 36, position: 'absolute', top: 0, right: 0, cursor: 'pointer' } })), workplaceName && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.5, mb: 1 }, { children: [_jsx(Typography, __assign({ sx: { color: '#03BA4C', fontSize: 14 }, variant: "body2", fontWeight: "500" }, { children: "\u8003\u6838\u70B9\uFF1A" })), _jsx(Typography, __assign({ variant: "body2", sx: { fontSize: 14, color: 'rgba(0,0,0,0.8)' } }, { children: workplaceName }))] }))), _jsxs(Box, __assign({ mt: 2, display: "flex" }, { children: [_jsxs(Typography, __assign({ variant: "body2", mr: 4, sx: { color: 'rgba(0,0,0,0.6)' } }, { children: ["\u8BC4\u5206\uFF1A", finalScore.toFixed(0), "\u5206"] })), _jsxs(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)' } }, { children: ["\u5355\u9898\u6743\u91CD\uFF1A", weight, "%"] }))] })), _jsxs(Box, __assign({ width: "100%", display: "flex", alignItems: "center", mt: 2 }, { children: [_jsxs(Box, __assign({ flex: "1 0", display: "flex", alignItems: "center" }, { children: [_jsx(ScoreSlider, { valueLabelDisplay: "".concat(isSingleChoice ? 'off' : 'auto'), originScore: originScore, disabledScore: isSingleChoice, finalScore: finalScore, isShowScoreRank: true, onChangeCommitted: handleChangeCommitted }), isShowAbilitiesButton && (_jsx(Button, __assign({ variant: "text", size: "small", sx: { color: 'rgba(0,0,0,0.6)' }, style: { whiteSpace: 'nowrap', marginLeft: 8 }, onClick: function () { return setShowAbilities(!showAbilities); } }, { children: showAbilities ? '收起' : '详情' })))] })), _jsx(Box, __assign({ width: 150, textAlign: "right" }, { children: _jsxs(Typography, __assign({ variant: "body1", fontWeight: 500, noWrap: true, display: "flex" }, { children: ["\u7EFC\u5408\u8BC4\u5206\uFF1A", comprehensiveScore] })) }))] })), isShowAbilitiesDetails && (_jsx(Box, __assign({ sx: { border: '1px solid #E7F4EC', borderRadius: 2, p: 1.5, mt: 1 } }, { children: _jsx(Abilities, { stepIndex: index, disabledScore: isSingleChoice }) }))), isSimulated && (_jsx(_Fragment, { children: abilities.map(function (v) { return (_createElement(Workplaces, __assign({}, v, { key: v.token, mode: internalMode, token: token }))); }) })), workplaceEvaluation && !isSimulated && (_jsx(_Fragment, { children: _jsx(Evaluate, { token: token, evaluation: workplaceEvaluation, title: " AI\u8BC4\u4EF7", mode: internalMode }) }))] })))] }), token));
158
+ } }))] }))] })), followupQuestions === null || followupQuestions === void 0 ? void 0 : followupQuestions.map(function (v, followupIndex) {
159
+ return (_jsxs(Box, __assign({ sx: { ml: 2, pl: 1.5, mt: 1, borderLeft: '2px solid #EBFCF7' } }, { children: [_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.75, mt: 1 }, { children: [_jsxs(Box, __assign({ component: "span", sx: {
160
+ display: 'inline-flex',
161
+ alignItems: 'center',
162
+ justifyContent: 'center',
163
+ background: '#4EC953',
164
+ color: '#fff',
165
+ fontSize: 12,
166
+ fontWeight: 500,
167
+ lineHeight: 1,
168
+ height: 20,
169
+ px: '6px',
170
+ borderRadius: 1,
171
+ flexShrink: 0,
172
+ whiteSpace: 'nowrap',
173
+ } }, { children: ["\u8FFD\u95EE", followupIndex + 1] })), _jsx(Typography, __assign({ mt: 0, variant: "body2", sx: { color: '#03BA4C', fontSize: 14, lineHeight: '21px' } }, { children: v === null || v === void 0 ? void 0 : v.desc }))] })), _jsxs(QuestionDesc, __assign({ sx: { pl: 0 } }, { children: [_jsx("img", { className: "MuiSvgIcon-root", src: quoteIconSrc, alt: "", width: 20, height: 15 }), _jsx(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 13, textAlign: 'justify' }, ml: 1 }, { children: v === null || v === void 0 ? void 0 : v.answer }))] }))] }), "followup-".concat(index, "-").concat(followupIndex)));
174
+ }), isExistWeight && status !== STEP_COMPLETED && (_jsxs(Box, __assign({ width: "100%", display: "flex", alignItems: "center", mt: 2 }, { children: [_jsx(Box, __assign({ flex: "1 0", display: "flex", alignItems: "center", pl: 2 }, { children: workplaceName && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.5, mb: 1 }, { children: [_jsx(Typography, __assign({ sx: { color: '#03BA4C', fontSize: 14 }, variant: "body2", fontWeight: "500" }, { children: "\u8003\u6838\u70B9\uFF1A" })), _jsx(Typography, __assign({ variant: "body2", sx: { fontSize: 14, color: 'rgba(0,0,0,0.8)' } }, { children: workplaceName }))] }))) })), _jsx(Box, __assign({ width: 150, textAlign: "right" }, { children: _jsxs(Typography, __assign({ variant: "body1", fontSize: 16, fontWeight: 500, noWrap: true, display: "flex" }, { children: ["\u7EFC\u5408\u8BC4\u5206\uFF1A", comprehensiveScore] })) }))] }))), showScoreBlock && (_jsxs(Stack, __assign({ mt: 3, spacing: 1, sx: { position: 'relative' } }, { children: [canEditAiDimension && ((workplaceEvaluation && !isSimulated) || (isSimulated && abilities.length > 0)) && (_jsx("img", { onClick: handleModeChange, src: "//webcdn.fbmms.cn/assets/CVlD/V8fHAovf4X6wfXN75KkI9", alt: "", style: { width: 36, height: 36, position: 'absolute', top: 0, right: 0, cursor: 'pointer' } })), workplaceName && (_jsxs(Stack, __assign({ direction: "row", alignItems: "center", spacing: 0.5, mb: 1 }, { children: [_jsx(Typography, __assign({ sx: { color: '#03BA4C', fontSize: 14 }, variant: "body2", fontWeight: "500" }, { children: "\u8003\u6838\u70B9\uFF1A" })), _jsx(Typography, __assign({ variant: "body2", sx: { fontSize: 14, color: 'rgba(0,0,0,0.8)' } }, { children: workplaceName }))] }))), _jsxs(Box, __assign({ mt: 2, display: "flex" }, { children: [_jsxs(Typography, __assign({ variant: "body2", mr: 4, sx: { color: 'rgba(0,0,0,0.6)' } }, { children: ["\u8BC4\u5206\uFF1A", finalScore.toFixed(0), "\u5206"] })), _jsxs(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)' } }, { children: ["\u5355\u9898\u6743\u91CD\uFF1A", weight, "%"] }))] })), _jsxs(Box, __assign({ width: "100%", display: "flex", alignItems: "center", mt: 2 }, { children: [_jsxs(Box, __assign({ flex: "1 0", display: "flex", alignItems: "center" }, { children: [_jsx(ScoreSlider, { valueLabelDisplay: "".concat(isSingleChoice ? 'off' : 'auto'), originScore: originScore, disabledScore: isSingleChoice, finalScore: finalScore, isShowScoreRank: true, onChangeCommitted: handleChangeCommitted }), isShowAbilitiesButton && (_jsx(Button, __assign({ variant: "text", size: "small", sx: { color: 'rgba(0,0,0,0.6)' }, style: { whiteSpace: 'nowrap', marginLeft: 8 }, onClick: function () { return setShowAbilities(!showAbilities); } }, { children: showAbilities ? '收起' : '详情' })))] })), _jsx(Box, __assign({ width: 150, textAlign: "right" }, { children: _jsxs(Typography, __assign({ variant: "body1", fontWeight: 500, noWrap: true, display: "flex" }, { children: ["\u7EFC\u5408\u8BC4\u5206\uFF1A", comprehensiveScore] })) }))] })), isShowAbilitiesDetails && (_jsx(Box, __assign({ sx: { border: '1px solid #E7F4EC', borderRadius: 2, p: 1.5, mt: 1 } }, { children: _jsx(Abilities, { stepIndex: index, disabledScore: isSingleChoice }) }))), isSimulated && (_jsx(_Fragment, { children: abilities.map(function (v) { return (_createElement(Workplaces, __assign({}, v, { key: v.token, mode: internalMode, token: token }))); }) })), !isSimulated && (_jsxs(Box, __assign({ sx: { mt: 1 } }, { children: [workplaceEvaluation && _jsx(Evaluate, { token: token, evaluation: workplaceEvaluation, title: "\u7EFC\u5408\u8BC4\u4EF7", mode: internalMode }), Array.isArray(aiEvaluation === null || aiEvaluation === void 0 ? void 0 : aiEvaluation.balancePoint) && aiEvaluation.balancePoint.length > 0 && (_jsxs(Box, __assign({ sx: { mb: 1.5 } }, { children: [_jsx(Typography, __assign({ variant: "body2", fontWeight: 600, sx: { color: '#03BA4C', fontSize: 14, mb: 0.5 } }, { children: "\u4F18\u52BF" })), _jsx(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 13, whiteSpace: 'pre-wrap', lineHeight: 1.8 } }, { children: aiEvaluation.balancePoint.join('、') }))] }))), (Array.isArray(aiEvaluation === null || aiEvaluation === void 0 ? void 0 : aiEvaluation.decreasePoint) && aiEvaluation.decreasePoint.length > 0) ||
175
+ (Array.isArray(aiEvaluation === null || aiEvaluation === void 0 ? void 0 : aiEvaluation.increasePoint) && aiEvaluation.increasePoint.length > 0) ? (_jsxs(Box, __assign({ sx: { mb: 1.5 } }, { children: [_jsx(Typography, __assign({ variant: "body2", fontWeight: 600, sx: { color: '#03BA4C', fontSize: 14, mb: 0.5 } }, { children: "\u52A3\u52BF" })), _jsx(Typography, __assign({ variant: "body2", sx: { color: 'rgba(0,0,0,0.6)', fontSize: 13, whiteSpace: 'pre-wrap', lineHeight: 1.8 } }, { children: __spreadArray(__spreadArray([], __read(((aiEvaluation === null || aiEvaluation === void 0 ? void 0 : aiEvaluation.decreasePoint) || [])), false), __read(((aiEvaluation === null || aiEvaluation === void 0 ? void 0 : aiEvaluation.increasePoint) || [])), false).filter(Boolean).join('、') }))] }))) : null] })))] })))] }), token));
144
176
  };
145
177
  export default QuestionItem;
@@ -14,11 +14,12 @@ import QuestionItem from './QuestionItem';
14
14
  import { useAiReportStore } from "../../../../store/ai-report/global-store";
15
15
  import { Box, Empty } from 'fbm-ui';
16
16
  import { memo } from 'react';
17
- import { ModuleTitle } from '../ModuleTitle';
18
17
  var VideoQuestion = function (_a) {
19
18
  var _b = _a.isExportPdf, isExportPdf = _b === void 0 ? false : _b;
20
- var reportResult = useAiReportStore(function (store) { return [store.reportResult, store.operableButtons]; }).reportResult;
19
+ var store = useAiReportStore();
20
+ var reportResult = store.reportResult;
21
21
  var steps = (reportResult || {}).steps;
22
- return (_jsxs(Box, __assign({ id: "report-question", px: 2, mt: 3 }, { children: [_jsx(ModuleTitle, { title: "\u7B54\u9898\u89E3\u6790" }), _jsx(Box, __assign({ mt: 1.5 }, { children: steps && steps.length > 0 ? (steps === null || steps === void 0 ? void 0 : steps.map(function (item, index) { return _jsx(QuestionItem, __assign({ index: index }, item, { isExportPdf: isExportPdf }), item.token); })) : (_jsx(Empty, { src: "//public-static-assets.oss-cn-beijing.aliyuncs.com/img/empty.png", desc: "\u6682\u65E0\u9898\u76EE" })) }))] })));
22
+ var v3AssetBase = store.v3AssetBase || '';
23
+ return (_jsxs(Box, __assign({ id: "report-question", px: 2, mt: 3 }, { children: [v3AssetBase && _jsx("img", { src: "".concat(v3AssetBase, "/qa_title.png"), alt: "\u9762\u8BD5\u8BE6\u60C5", width: 93, height: 27 }), _jsx(Box, __assign({ mt: 1.5 }, { children: steps && steps.length > 0 ? (steps === null || steps === void 0 ? void 0 : steps.map(function (item, index) { return _jsx(QuestionItem, __assign({ index: index }, item, { isExportPdf: isExportPdf }), item.token); })) : (_jsx(Empty, { src: "//public-static-assets.oss-cn-beijing.aliyuncs.com/img/empty.png", desc: "\u6682\u65E0\u9898\u76EE" })) }))] })));
23
24
  };
24
25
  export default memo(VideoQuestion);
@@ -141,6 +141,8 @@ export interface AiCandidateInfo {
141
141
  processName: string;
142
142
  positionName: string;
143
143
  avatar: string;
144
+ /** 客户/企业 LOGO(后端新增字段),综合评价左上角展示;缺省则不显示 */
145
+ companyLogo?: string;
144
146
  tags?: ReportTag[];
145
147
  }
146
148
  export interface AiInterviewReportStep {
@@ -216,6 +218,8 @@ export interface AiReportProps {
216
218
  reportUiVersion?: number;
217
219
  v3AssetBase?: string;
218
220
  customScore?: number;
221
+ /** 通过线阈值(宿主按岗位传入),用于右上角圆形徽章判通过/不通过;缺省默认 60 */
222
+ passScore?: number;
219
223
  scoreRankIntervals?: ScoreRankInterval[];
220
224
  disabledScore?: boolean;
221
225
  reminderSent?: boolean;
@@ -8,6 +8,7 @@ export declare const useAiReportV3: (props: AiReportProps) => {
8
8
  reportUiVersion?: number | undefined;
9
9
  v3AssetBase?: string | undefined;
10
10
  customScore?: number | undefined;
11
+ passScore?: number | undefined;
11
12
  scoreRankIntervals?: import("./components/RankingRange/interface").ScoreRankInterval[] | undefined;
12
13
  disabledScore?: boolean | undefined;
13
14
  reminderSent?: boolean | undefined;
@@ -9,7 +9,7 @@ export declare const AddIconRoot: import("@emotion/styled").StyledComponent<{
9
9
  sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
10
10
  titleAccess?: string | undefined;
11
11
  viewBox?: string | undefined;
12
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "method" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
12
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "method" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
13
13
  ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
14
14
  }, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "titleAccess" | "viewBox"> & {
15
15
  children?: import("react").ReactNode;
@@ -52,6 +52,37 @@ import Cookies from 'js-cookie';
52
52
  var MAX_RETRY_COUNT = 3;
53
53
  var service = axios.create({ timeout: 60000 });
54
54
  var RETRIED_COUNT = 0;
55
+ // ===== 本地样式调试 mock:仅在 dev server 端口 9001 生效,生产/构建自动关闭 =====
56
+ // 规避 import.meta.env / process.env(该包为 CommonJS 构建,二者都会报错),故用固定 dev 端口判断。
57
+ var REPORT_RESULT_URL = '/standard/b/aiInterview/result';
58
+ var IS_MOCK_REPORT = typeof window !== 'undefined' && window.location.port === '9001';
59
+ if (IS_MOCK_REPORT) {
60
+ // 本地样式调试 mock:mock 文件仅存在于本地,缺失时回退真实接口,避免影响构建/生产
61
+ try {
62
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
63
+ var aiReportResultMock_1 = require('@/mocks/ai-report-result.json');
64
+ // 保留真实 adapter 作为兜底,仅对报告 result 接口返回本地假数据
65
+ var originalAdapter_1 = axios.defaults.adapter;
66
+ service.defaults.adapter = function (config) { return __awaiter(void 0, void 0, void 0, function () {
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ if (!(config.url || '').includes(REPORT_RESULT_URL)) return [3 /*break*/, 2];
71
+ // 模拟真实接口延迟,便于观察 loading 态
72
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 400); })];
73
+ case 1:
74
+ // 模拟真实接口延迟,便于观察 loading 态
75
+ _a.sent();
76
+ return [2 /*return*/, { data: aiReportResultMock_1, status: 200, statusText: 'OK', headers: {}, config: config }];
77
+ case 2: return [2 /*return*/, originalAdapter_1 ? originalAdapter_1(config) : Promise.reject(new Error('no adapter'))];
78
+ }
79
+ });
80
+ }); };
81
+ }
82
+ catch (e) {
83
+ console.warn('[interceptor] ai-report mock load failed, fallback to real api', e);
84
+ }
85
+ }
55
86
  var tautology = function (err) {
56
87
  var back = new Promise(function (resolve) {
57
88
  console.log('接口' + err.config.url + '请求失败,重新请求');
@@ -87,6 +118,10 @@ var handleParams = function (config) { return __awaiter(void 0, void 0, void 0,
87
118
  return __generator(this, function (_b) {
88
119
  switch (_b.label) {
89
120
  case 0:
121
+ // mock: 报告 result 接口本地返回,跳过 token 校验与 baseURL
122
+ if (IS_MOCK_REPORT && (config.url || '').includes(REPORT_RESULT_URL)) {
123
+ return [2 /*return*/, config];
124
+ }
90
125
  avocadoConfig = window['AvocadoVideoInterviewConfig'];
91
126
  cookieAccessToken = Cookies.get('avocado-video-interview-access-token');
92
127
  ts = new Date().getTime();
@@ -47,9 +47,6 @@ var Chart_1 = __importDefault(require("./Chart"));
47
47
  var formateTitle = function (originalTitle) {
48
48
  var regex = /(\d+?)[.](.+)/;
49
49
  if (!regex.test(originalTitle)) {
50
- if (originalTitle.length > 7) {
51
- originalTitle = "".concat(originalTitle.slice(0, 6), "...");
52
- }
53
50
  return originalTitle;
54
51
  }
55
52
  var _a = __read(originalTitle.match(regex), 2), no = _a[1];
@@ -108,14 +105,17 @@ var ReportPie = function (props) {
108
105
  return "".concat(name);
109
106
  },
110
107
  rich: __assign({}, const_1.levelMapping),
108
+ overflow: 'break',
109
+ width: 70,
110
+ lineHeight: 18,
111
111
  },
112
112
  labelLine: {
113
113
  lineStyle: {
114
114
  color: 'rgba(76, 175, 80, 0.3)',
115
115
  cap: 'square',
116
116
  },
117
- length: 30,
118
- length2: 30,
117
+ length: 12,
118
+ length2: 14,
119
119
  },
120
120
  itemStyle: {
121
121
  color: function (_a) {