eli-video-interview 1.2.1 → 1.2.3-5.alpha

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 (379) hide show
  1. package/README.md +1 -1
  2. package/esm/assets/icons/AI.svg +1 -0
  3. package/esm/components/AiHeaderTitle/index.d.ts +4 -0
  4. package/esm/components/AiHeaderTitle/index.js +19 -0
  5. package/esm/components/AiHeaderTitle/interface.d.ts +4 -0
  6. package/esm/components/BigBallSvg/index.js +1 -1
  7. package/esm/components/Charts/Chart.d.ts +1 -1
  8. package/esm/components/Charts/Chart.js +8 -8
  9. package/esm/components/Charts/ReportPie.js +15 -4
  10. package/esm/components/RootProvider/index.js +2 -2
  11. package/esm/components/ScoreBigBall/index.js +1 -1
  12. package/esm/components/ScrollDialogContent/index.js +1 -1
  13. package/esm/components/VideoPreview/index.js +2 -3
  14. package/esm/constants/ai-question.d.ts +1 -1
  15. package/esm/constants/ai-report.d.ts +27 -0
  16. package/esm/constants/ai-report.js +27 -0
  17. package/esm/index.d.ts +1 -0
  18. package/esm/index.js +1 -0
  19. package/esm/modules/ai-ability/Root.d.ts +3 -2
  20. package/esm/modules/ai-ability/Root.js +32 -19
  21. package/esm/modules/ai-ability/components/AbilityFormItem/index.d.ts +14 -0
  22. package/esm/modules/ai-ability/components/AbilityFormItem/index.js +129 -0
  23. package/esm/modules/ai-ability/components/AddAbility/index.d.ts +4 -0
  24. package/esm/modules/ai-ability/components/AddAbility/index.js +191 -0
  25. package/esm/modules/ai-ability/components/UpdateAbility/index.d.ts +2 -2
  26. package/esm/modules/ai-ability/components/UpdateAbility/index.js +98 -23
  27. package/esm/modules/ai-ability/const.d.ts +8 -0
  28. package/esm/modules/ai-ability/const.js +34 -0
  29. package/esm/modules/ai-ability/index.d.ts +3 -1
  30. package/esm/modules/ai-ability/index.js +14 -3
  31. package/esm/modules/ai-ability/interface.d.ts +38 -0
  32. package/esm/modules/ai-ability/styled.d.ts +3 -0
  33. package/esm/modules/ai-ability/styled.js +5 -1
  34. package/esm/modules/ai-ability-select/Root.d.ts +4 -0
  35. package/esm/modules/ai-ability-select/Root.js +40 -0
  36. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +4 -0
  37. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +22 -0
  38. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +4 -0
  39. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.js +40 -0
  40. package/esm/modules/ai-ability-select/components/AiAbilityItem/interface.d.ts +13 -0
  41. package/esm/modules/ai-ability-select/components/AiAbilityItem/interface.js +1 -0
  42. package/esm/modules/ai-ability-select/components/AiAbilityItem/styled.d.ts +2 -0
  43. package/esm/modules/ai-ability-select/components/AiAbilityItem/styled.js +8 -0
  44. package/esm/modules/ai-ability-select/components/AiAbilityList/index.d.ts +4 -0
  45. package/esm/modules/ai-ability-select/components/AiAbilityList/index.js +19 -0
  46. package/esm/modules/ai-ability-select/components/AiAbilityList/interface.d.ts +4 -0
  47. package/esm/modules/ai-ability-select/components/AiAbilityList/interface.js +1 -0
  48. package/esm/modules/ai-ability-select/index.d.ts +4 -0
  49. package/esm/modules/ai-ability-select/index.js +20 -0
  50. package/esm/modules/ai-ability-select/interface.d.ts +27 -0
  51. package/esm/modules/ai-ability-select/interface.js +1 -0
  52. package/esm/modules/ai-question/Root.d.ts +1 -1
  53. package/esm/modules/ai-question/Root.js +22 -11
  54. package/esm/modules/ai-question/components/AiAnalysis/AnalysisItem.d.ts +1 -1
  55. package/esm/modules/ai-question/components/AiAnalysis/AnalysisItem.js +14 -9
  56. package/esm/modules/ai-question/components/AiAnalysis/MainPoints.js +2 -2
  57. package/esm/modules/ai-question/components/AiAnalysis/MainPointsItem.js +1 -1
  58. package/esm/modules/ai-question/components/AiAnalysis/index.js +10 -18
  59. package/esm/modules/ai-question/components/AiAssessmentCriteria/const.d.ts +6 -0
  60. package/esm/modules/ai-question/components/AiAssessmentCriteria/const.js +7 -0
  61. package/esm/modules/ai-question/components/AiAssessmentCriteria/index.d.ts +1 -1
  62. package/esm/modules/ai-question/components/AiAssessmentCriteria/index.js +40 -28
  63. package/esm/modules/ai-question/components/AiAssessmentCriteria/interface.d.ts +6 -0
  64. package/esm/modules/ai-question/components/AiAssessmentCriteria/utils.d.ts +1 -1
  65. package/esm/modules/ai-question/components/BaseAccordion/index.js +8 -8
  66. package/esm/modules/ai-question/components/BaseAccordion/styled.js +1 -1
  67. package/esm/modules/ai-question/components/BootVideo/index.d.ts +1 -1
  68. package/esm/modules/ai-question/components/BootVideo/index.js +27 -14
  69. package/esm/modules/ai-question/components/BootVideo/styled.js +6 -5
  70. package/esm/modules/ai-question/components/QuestionModel/AutoCombine.d.ts +4 -0
  71. package/esm/modules/ai-question/components/QuestionModel/AutoCombine.js +19 -0
  72. package/esm/modules/ai-question/components/QuestionModel/Header.js +6 -6
  73. package/esm/modules/ai-question/components/QuestionModel/Interactive.d.ts +6 -0
  74. package/esm/modules/ai-question/components/QuestionModel/Interactive.js +26 -0
  75. package/esm/modules/ai-question/components/QuestionModel/Item.d.ts +2 -2
  76. package/esm/modules/ai-question/components/QuestionModel/Item.js +14 -7
  77. package/esm/modules/ai-question/components/QuestionModel/List.js +28 -8
  78. package/esm/modules/ai-question/components/QuestionModel/Skeleton.js +1 -1
  79. package/esm/modules/ai-question/components/QuestionModel/index.js +12 -8
  80. package/esm/modules/ai-question/components/QuestionModel/interface.d.ts +5 -0
  81. package/esm/modules/ai-question/components/QuestionModel/styled.js +1 -1
  82. package/esm/modules/ai-question/components/QuestionPreview/index.js +6 -6
  83. package/esm/modules/ai-question/components/QuestionPreview/styled.d.ts +1 -1
  84. package/esm/modules/ai-question/components/QuestionPreview/styled.js +1 -1
  85. package/esm/modules/ai-question/components/QuestionTemplate/AiEvaluation.js +10 -10
  86. package/esm/modules/ai-question/components/QuestionTemplate/Skeleton.js +1 -1
  87. package/esm/modules/ai-question/components/QuestionTemplate/index.d.ts +2 -1
  88. package/esm/modules/ai-question/components/QuestionTemplate/index.js +7 -6
  89. package/esm/modules/ai-question/components/QuestionTemplate/interface.d.ts +10 -0
  90. package/esm/modules/ai-question/components/QuestionUpdate/Form.d.ts +2 -2
  91. package/esm/modules/ai-question/components/QuestionUpdate/Form.js +49 -13
  92. package/esm/modules/ai-question/components/QuestionUpdate/RandomQuestion.d.ts +4 -0
  93. package/esm/modules/ai-question/components/QuestionUpdate/RandomQuestion.js +60 -0
  94. package/esm/modules/ai-question/components/QuestionUpdate/SelectQuestion.d.ts +8 -0
  95. package/esm/modules/ai-question/components/QuestionUpdate/SelectQuestion.js +52 -0
  96. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoice.d.ts +2 -2
  97. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoice.js +45 -49
  98. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.d.ts +6 -0
  99. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.js +47 -0
  100. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.d.ts +5 -0
  101. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.js +65 -0
  102. package/esm/modules/ai-question/components/QuestionUpdate/const.js +1 -0
  103. package/esm/modules/ai-question/components/QuestionUpdate/index.js +84 -23
  104. package/esm/modules/ai-question/components/QuestionUpdate/interface.d.ts +13 -0
  105. package/esm/modules/ai-question/components/QuestionUpdate/styled.d.ts +6 -0
  106. package/esm/modules/ai-question/components/QuestionUpdate/styled.js +52 -0
  107. package/esm/modules/ai-question/index.js +3 -5
  108. package/esm/modules/ai-question/interface.d.ts +4 -0
  109. package/esm/modules/ai-question/useAiQuestion.d.ts +1 -0
  110. package/esm/modules/ai-report/Root.d.ts +1 -1
  111. package/esm/modules/ai-report/Root.js +17 -13
  112. package/esm/modules/ai-report/components/AIEvaluate/Evaluate.d.ts +13 -0
  113. package/esm/modules/ai-report/components/AIEvaluate/Evaluate.js +60 -0
  114. package/esm/modules/ai-report/components/AIEvaluate/Graph.d.ts +13 -0
  115. package/esm/modules/ai-report/components/AIEvaluate/Graph.js +225 -0
  116. package/esm/modules/ai-report/components/AIEvaluate/index.d.ts +3 -0
  117. package/esm/modules/ai-report/components/AIEvaluate/index.js +40 -0
  118. package/esm/modules/ai-report/components/MenuAnchor/index.d.ts +4 -0
  119. package/esm/modules/ai-report/components/MenuAnchor/index.js +115 -0
  120. package/esm/modules/ai-report/components/NotFinish/index.js +2 -2
  121. package/esm/modules/ai-report/components/RankingRange/Item.js +2 -2
  122. package/esm/modules/ai-report/components/RankingRange/index.js +1 -1
  123. package/esm/modules/ai-report/components/RankingRange/styled.js +1 -1
  124. package/esm/modules/ai-report/components/ScoreReport/Bar.js +16 -10
  125. package/esm/modules/ai-report/components/ScoreReport/Failed.js +1 -1
  126. package/esm/modules/ai-report/components/ScoreReport/Report.js +14 -6
  127. package/esm/modules/ai-report/components/ScoreReport/Score.d.ts +1 -1
  128. package/esm/modules/ai-report/components/ScoreReport/Score.js +13 -9
  129. package/esm/modules/ai-report/components/ScoreReport/ScoreLegend.js +2 -2
  130. package/esm/modules/ai-report/components/ScoreReport/index.d.ts +1 -1
  131. package/esm/modules/ai-report/components/ScoreReport/index.js +11 -11
  132. package/esm/modules/ai-report/components/ScoreReport/interface.d.ts +2 -0
  133. package/esm/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  134. package/esm/modules/ai-report/components/ScoreReport/styled.js +1 -1
  135. package/esm/modules/ai-report/components/Suggestion/Suggestion.d.ts +4 -0
  136. package/esm/modules/ai-report/components/Suggestion/Suggestion.js +31 -0
  137. package/esm/modules/ai-report/components/Suggestion/index.d.ts +3 -0
  138. package/esm/modules/ai-report/components/Suggestion/index.js +27 -0
  139. package/esm/modules/ai-report/components/VideoQuestion/Abilities.d.ts +1 -1
  140. package/esm/modules/ai-report/components/VideoQuestion/Abilities.js +5 -5
  141. package/esm/modules/ai-report/components/VideoQuestion/QuestionItem.js +6 -3
  142. package/esm/modules/ai-report/components/VideoQuestion/ScoreSlider.d.ts +1 -1
  143. package/esm/modules/ai-report/components/VideoQuestion/ScoreSlider.js +6 -9
  144. package/esm/modules/ai-report/components/VideoQuestion/index.js +4 -3
  145. package/esm/modules/ai-report/components/VideoQuestion/interface.d.ts +1 -1
  146. package/esm/modules/ai-report/components/VideoQuestion/styled.d.ts +1 -1
  147. package/esm/modules/ai-report/components/WorkPlaces/ScoreSlider.d.ts +4 -0
  148. package/esm/modules/ai-report/components/WorkPlaces/ScoreSlider.js +24 -0
  149. package/esm/modules/ai-report/components/WorkPlaces/WorkPlace.d.ts +11 -0
  150. package/esm/modules/ai-report/components/WorkPlaces/WorkPlace.js +55 -0
  151. package/esm/modules/ai-report/components/WorkPlaces/index.d.ts +3 -0
  152. package/esm/modules/ai-report/components/WorkPlaces/index.js +69 -0
  153. package/esm/modules/ai-report/components/WorkPlaces/interface.d.ts +7 -0
  154. package/esm/modules/ai-report/components/WorkPlaces/interface.js +1 -0
  155. package/esm/modules/ai-report/components/WorkPlaces/styled.d.ts +62 -0
  156. package/esm/modules/ai-report/components/WorkPlaces/styled.js +27 -0
  157. package/esm/modules/ai-report/index.js +3 -2
  158. package/esm/modules/ai-report/interface.d.ts +63 -0
  159. package/esm/modules/ai-report/useAiReport.d.ts +8 -0
  160. package/esm/modules/ai-report/utils.d.ts +1 -0
  161. package/esm/modules/ai-report/utils.js +1 -0
  162. package/esm/modules/ai-template/Root.js +5 -5
  163. package/esm/modules/ai-template/components/CapabilityModel/index.js +1 -1
  164. package/esm/modules/ai-template/components/QuestionList/Item.js +1 -1
  165. package/esm/modules/ai-template/components/TemplateHeader/index.js +2 -2
  166. package/esm/modules/ai-template/components/TemplateList/index.js +4 -4
  167. package/esm/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  168. package/esm/modules/ai-template/components/TemplateList/styled.js +1 -1
  169. package/esm/modules/ai-template/components/TemplateMenu/index.js +3 -3
  170. package/esm/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  171. package/esm/modules/ai-template/components/TemplateMenu/styled.js +1 -1
  172. package/esm/modules/ai-template/interface.d.ts +1 -1
  173. package/esm/services/ai-ability.d.ts +15 -3
  174. package/esm/services/ai-ability.js +23 -3
  175. package/esm/services/ai-question.d.ts +1 -1
  176. package/esm/services/ai-question.js +1 -1
  177. package/esm/services/ai-report.d.ts +12 -0
  178. package/esm/services/ai-report.js +8 -0
  179. package/esm/store/ai-ability/question-ability-store.d.ts +12 -0
  180. package/esm/store/ai-ability/question-ability-store.js +10 -0
  181. package/esm/store/ai-ability-select/question-ability-store.d.ts +18 -0
  182. package/esm/store/ai-ability-select/question-ability-store.js +13 -0
  183. package/esm/store/ai-question/ai-analysis-store.d.ts +7 -3
  184. package/esm/store/ai-question/ai-analysis-store.js +39 -14
  185. package/esm/store/ai-question/boot-video-store.js +7 -2
  186. package/esm/store/ai-question/global-store.d.ts +3 -0
  187. package/esm/store/ai-question/global-store.js +1 -0
  188. package/esm/store/ai-question/question-model-store.js +2 -2
  189. package/esm/store/ai-question/question-preview-store.js +1 -1
  190. package/esm/store/ai-question/question-template-store.js +1 -1
  191. package/esm/store/ai-question/question-update-store.js +1 -1
  192. package/esm/store/ai-report/global-store.d.ts +24 -0
  193. package/esm/store/ai-report/global-store.js +5 -1
  194. package/esm/store/ai-template/global-store.js +1 -1
  195. package/esm/utils/interceptor.js +2 -2
  196. package/lib/assets/icons/AI.svg +1 -0
  197. package/lib/components/AiHeaderTitle/index.d.ts +4 -0
  198. package/lib/components/AiHeaderTitle/index.js +24 -0
  199. package/lib/components/AiHeaderTitle/interface.d.ts +4 -0
  200. package/lib/components/Charts/Chart.d.ts +1 -1
  201. package/lib/components/Charts/Chart.js +8 -8
  202. package/lib/components/Charts/ReportPie.js +15 -4
  203. package/lib/components/RootProvider/index.js +1 -1
  204. package/lib/components/ScoreBigBall/index.js +1 -1
  205. package/lib/components/ScrollDialogContent/index.js +1 -1
  206. package/lib/components/VideoPreview/index.js +1 -2
  207. package/lib/constants/ai-question.d.ts +1 -1
  208. package/lib/constants/ai-report.d.ts +27 -0
  209. package/lib/constants/ai-report.js +28 -1
  210. package/lib/index.d.ts +1 -0
  211. package/lib/index.js +3 -1
  212. package/lib/modules/ai-ability/Root.d.ts +3 -2
  213. package/lib/modules/ai-ability/Root.js +32 -19
  214. package/lib/modules/ai-ability/components/AbilityFormItem/index.d.ts +14 -0
  215. package/lib/modules/ai-ability/components/AbilityFormItem/index.js +131 -0
  216. package/lib/modules/ai-ability/components/AddAbility/index.d.ts +4 -0
  217. package/lib/modules/ai-ability/components/AddAbility/index.js +196 -0
  218. package/lib/modules/ai-ability/components/UpdateAbility/index.d.ts +2 -2
  219. package/lib/modules/ai-ability/components/UpdateAbility/index.js +100 -22
  220. package/lib/modules/ai-ability/const.d.ts +8 -0
  221. package/lib/modules/ai-ability/const.js +37 -0
  222. package/lib/modules/ai-ability/index.d.ts +3 -1
  223. package/lib/modules/ai-ability/index.js +14 -3
  224. package/lib/modules/ai-ability/interface.d.ts +38 -0
  225. package/lib/modules/ai-ability/styled.d.ts +3 -0
  226. package/lib/modules/ai-ability/styled.js +5 -1
  227. package/lib/modules/ai-ability-select/Root.d.ts +4 -0
  228. package/lib/modules/ai-ability-select/Root.js +45 -0
  229. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +4 -0
  230. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +24 -0
  231. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +4 -0
  232. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.js +45 -0
  233. package/lib/modules/ai-ability-select/components/AiAbilityItem/interface.d.ts +13 -0
  234. package/lib/modules/ai-ability-select/components/AiAbilityItem/interface.js +2 -0
  235. package/lib/modules/ai-ability-select/components/AiAbilityItem/styled.d.ts +2 -0
  236. package/lib/modules/ai-ability-select/components/AiAbilityItem/styled.js +11 -0
  237. package/lib/modules/ai-ability-select/components/AiAbilityList/index.d.ts +4 -0
  238. package/lib/modules/ai-ability-select/components/AiAbilityList/index.js +24 -0
  239. package/lib/modules/ai-ability-select/components/AiAbilityList/interface.d.ts +4 -0
  240. package/lib/modules/ai-ability-select/components/AiAbilityList/interface.js +2 -0
  241. package/lib/modules/ai-ability-select/components/AiAbilityList/styled.d.ts +0 -0
  242. package/lib/modules/ai-ability-select/components/AiAbilityList/styled.js +1 -0
  243. package/lib/modules/ai-ability-select/index.d.ts +4 -0
  244. package/lib/modules/ai-ability-select/index.js +25 -0
  245. package/lib/modules/ai-ability-select/interface.d.ts +27 -0
  246. package/lib/modules/ai-ability-select/interface.js +2 -0
  247. package/lib/modules/ai-question/Root.d.ts +1 -1
  248. package/lib/modules/ai-question/Root.js +22 -11
  249. package/lib/modules/ai-question/components/AiAnalysis/AnalysisItem.d.ts +1 -1
  250. package/lib/modules/ai-question/components/AiAnalysis/AnalysisItem.js +13 -8
  251. package/lib/modules/ai-question/components/AiAnalysis/MainPoints.js +1 -1
  252. package/lib/modules/ai-question/components/AiAnalysis/index.js +9 -17
  253. package/lib/modules/ai-question/components/AiAssessmentCriteria/const.d.ts +6 -0
  254. package/lib/modules/ai-question/components/AiAssessmentCriteria/const.js +8 -1
  255. package/lib/modules/ai-question/components/AiAssessmentCriteria/index.d.ts +1 -1
  256. package/lib/modules/ai-question/components/AiAssessmentCriteria/index.js +40 -28
  257. package/lib/modules/ai-question/components/AiAssessmentCriteria/interface.d.ts +6 -0
  258. package/lib/modules/ai-question/components/AiAssessmentCriteria/utils.d.ts +1 -1
  259. package/lib/modules/ai-question/components/BaseAccordion/index.js +3 -3
  260. package/lib/modules/ai-question/components/BootVideo/index.d.ts +1 -1
  261. package/lib/modules/ai-question/components/BootVideo/index.js +31 -18
  262. package/lib/modules/ai-question/components/BootVideo/styled.js +5 -4
  263. package/lib/modules/ai-question/components/QuestionModel/AutoCombine.d.ts +4 -0
  264. package/lib/modules/ai-question/components/QuestionModel/AutoCombine.js +21 -0
  265. package/lib/modules/ai-question/components/QuestionModel/Header.js +5 -8
  266. package/lib/modules/ai-question/components/QuestionModel/Interactive.d.ts +6 -0
  267. package/lib/modules/ai-question/components/QuestionModel/Interactive.js +31 -0
  268. package/lib/modules/ai-question/components/QuestionModel/Item.d.ts +2 -2
  269. package/lib/modules/ai-question/components/QuestionModel/Item.js +14 -7
  270. package/lib/modules/ai-question/components/QuestionModel/List.js +27 -7
  271. package/lib/modules/ai-question/components/QuestionModel/index.js +12 -8
  272. package/lib/modules/ai-question/components/QuestionModel/interface.d.ts +5 -0
  273. package/lib/modules/ai-question/components/QuestionPreview/index.js +6 -6
  274. package/lib/modules/ai-question/components/QuestionPreview/styled.d.ts +1 -1
  275. package/lib/modules/ai-question/components/QuestionPreview/styled.js +1 -1
  276. package/lib/modules/ai-question/components/QuestionTemplate/AiEvaluation.js +10 -10
  277. package/lib/modules/ai-question/components/QuestionTemplate/index.d.ts +2 -1
  278. package/lib/modules/ai-question/components/QuestionTemplate/index.js +7 -6
  279. package/lib/modules/ai-question/components/QuestionTemplate/interface.d.ts +10 -0
  280. package/lib/modules/ai-question/components/QuestionUpdate/Form.d.ts +2 -2
  281. package/lib/modules/ai-question/components/QuestionUpdate/Form.js +49 -13
  282. package/lib/modules/ai-question/components/QuestionUpdate/RandomQuestion.d.ts +4 -0
  283. package/lib/modules/ai-question/components/QuestionUpdate/RandomQuestion.js +65 -0
  284. package/lib/modules/ai-question/components/QuestionUpdate/SelectQuestion.d.ts +8 -0
  285. package/lib/modules/ai-question/components/QuestionUpdate/SelectQuestion.js +54 -0
  286. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoice.d.ts +2 -2
  287. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoice.js +46 -47
  288. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.d.ts +6 -0
  289. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.js +49 -0
  290. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.d.ts +5 -0
  291. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.js +67 -0
  292. package/lib/modules/ai-question/components/QuestionUpdate/const.js +1 -0
  293. package/lib/modules/ai-question/components/QuestionUpdate/index.js +84 -23
  294. package/lib/modules/ai-question/components/QuestionUpdate/interface.d.ts +13 -0
  295. package/lib/modules/ai-question/components/QuestionUpdate/styled.d.ts +6 -0
  296. package/lib/modules/ai-question/components/QuestionUpdate/styled.js +55 -0
  297. package/lib/modules/ai-question/index.js +3 -5
  298. package/lib/modules/ai-question/interface.d.ts +4 -0
  299. package/lib/modules/ai-question/useAiQuestion.d.ts +1 -0
  300. package/lib/modules/ai-report/Root.d.ts +1 -1
  301. package/lib/modules/ai-report/Root.js +18 -14
  302. package/lib/modules/ai-report/components/AIEvaluate/Evaluate.d.ts +13 -0
  303. package/lib/modules/ai-report/components/AIEvaluate/Evaluate.js +62 -0
  304. package/lib/modules/ai-report/components/AIEvaluate/Graph.d.ts +13 -0
  305. package/lib/modules/ai-report/components/AIEvaluate/Graph.js +227 -0
  306. package/lib/modules/ai-report/components/AIEvaluate/index.d.ts +3 -0
  307. package/lib/modules/ai-report/components/AIEvaluate/index.js +45 -0
  308. package/lib/modules/ai-report/components/MenuAnchor/index.d.ts +4 -0
  309. package/lib/modules/ai-report/components/MenuAnchor/index.js +117 -0
  310. package/lib/modules/ai-report/components/NotFinish/index.js +1 -1
  311. package/lib/modules/ai-report/components/ScoreReport/Bar.js +15 -9
  312. package/lib/modules/ai-report/components/ScoreReport/Report.js +14 -6
  313. package/lib/modules/ai-report/components/ScoreReport/Score.d.ts +1 -1
  314. package/lib/modules/ai-report/components/ScoreReport/Score.js +13 -9
  315. package/lib/modules/ai-report/components/ScoreReport/ScoreLegend.js +1 -1
  316. package/lib/modules/ai-report/components/ScoreReport/index.d.ts +1 -1
  317. package/lib/modules/ai-report/components/ScoreReport/index.js +12 -12
  318. package/lib/modules/ai-report/components/ScoreReport/interface.d.ts +2 -0
  319. package/lib/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  320. package/lib/modules/ai-report/components/Suggestion/Suggestion.d.ts +4 -0
  321. package/lib/modules/ai-report/components/Suggestion/Suggestion.js +33 -0
  322. package/lib/modules/ai-report/components/Suggestion/index.d.ts +3 -0
  323. package/lib/modules/ai-report/components/Suggestion/index.js +32 -0
  324. package/lib/modules/ai-report/components/VideoQuestion/Abilities.d.ts +1 -1
  325. package/lib/modules/ai-report/components/VideoQuestion/Abilities.js +5 -5
  326. package/lib/modules/ai-report/components/VideoQuestion/QuestionItem.js +4 -1
  327. package/lib/modules/ai-report/components/VideoQuestion/ScoreSlider.d.ts +1 -1
  328. package/lib/modules/ai-report/components/VideoQuestion/ScoreSlider.js +6 -9
  329. package/lib/modules/ai-report/components/VideoQuestion/index.js +4 -3
  330. package/lib/modules/ai-report/components/VideoQuestion/interface.d.ts +1 -1
  331. package/lib/modules/ai-report/components/VideoQuestion/styled.d.ts +1 -1
  332. package/lib/modules/ai-report/components/WorkPlaces/ScoreSlider.d.ts +4 -0
  333. package/lib/modules/ai-report/components/WorkPlaces/ScoreSlider.js +26 -0
  334. package/lib/modules/ai-report/components/WorkPlaces/WorkPlace.d.ts +11 -0
  335. package/lib/modules/ai-report/components/WorkPlaces/WorkPlace.js +57 -0
  336. package/lib/modules/ai-report/components/WorkPlaces/index.d.ts +3 -0
  337. package/lib/modules/ai-report/components/WorkPlaces/index.js +74 -0
  338. package/lib/modules/ai-report/components/WorkPlaces/interface.d.ts +7 -0
  339. package/lib/modules/ai-report/components/WorkPlaces/interface.js +2 -0
  340. package/lib/modules/ai-report/components/WorkPlaces/styled.d.ts +62 -0
  341. package/lib/modules/ai-report/components/WorkPlaces/styled.js +30 -0
  342. package/lib/modules/ai-report/index.js +3 -2
  343. package/lib/modules/ai-report/interface.d.ts +63 -0
  344. package/lib/modules/ai-report/useAiReport.d.ts +8 -0
  345. package/lib/modules/ai-report/utils.d.ts +1 -0
  346. package/lib/modules/ai-report/utils.js +5 -0
  347. package/lib/modules/ai-template/Root.js +3 -3
  348. package/lib/modules/ai-template/components/CapabilityModel/index.js +1 -1
  349. package/lib/modules/ai-template/components/TemplateHeader/index.js +1 -1
  350. package/lib/modules/ai-template/components/TemplateList/index.js +2 -2
  351. package/lib/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  352. package/lib/modules/ai-template/components/TemplateMenu/index.js +1 -1
  353. package/lib/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  354. package/lib/modules/ai-template/interface.d.ts +1 -1
  355. package/lib/services/ai-ability.d.ts +15 -3
  356. package/lib/services/ai-ability.js +28 -4
  357. package/lib/services/ai-question.d.ts +1 -1
  358. package/lib/services/ai-question.js +1 -1
  359. package/lib/services/ai-report.d.ts +12 -0
  360. package/lib/services/ai-report.js +11 -1
  361. package/lib/store/ai-ability/question-ability-store.d.ts +12 -0
  362. package/lib/store/ai-ability/question-ability-store.js +13 -0
  363. package/lib/store/ai-ability-select/question-ability-store.d.ts +18 -0
  364. package/lib/store/ai-ability-select/question-ability-store.js +16 -0
  365. package/lib/store/ai-question/ai-analysis-store.d.ts +7 -3
  366. package/lib/store/ai-question/ai-analysis-store.js +39 -14
  367. package/lib/store/ai-question/boot-video-store.js +7 -2
  368. package/lib/store/ai-question/global-store.d.ts +3 -0
  369. package/lib/store/ai-question/global-store.js +1 -0
  370. package/lib/store/ai-question/question-template-store.js +1 -1
  371. package/lib/store/ai-question/question-update-store.js +1 -1
  372. package/lib/store/ai-report/global-store.d.ts +24 -0
  373. package/lib/store/ai-report/global-store.js +5 -1
  374. package/lib/utils/interceptor.js +2 -2
  375. package/package.json +9 -3
  376. package/esm/modules/ai-ability/components/UpdateAbility/interface.d.ts +0 -7
  377. package/lib/modules/ai-ability/components/UpdateAbility/interface.d.ts +0 -7
  378. /package/esm/{modules/ai-ability/components/UpdateAbility → components/AiHeaderTitle}/interface.js +0 -0
  379. /package/lib/{modules/ai-ability/components/UpdateAbility → components/AiHeaderTitle}/interface.js +0 -0
@@ -15,21 +15,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
- var react_1 = require("react");
19
- var fbm_ui_1 = require("fbm-ui");
20
- var ahooks_1 = require("ahooks");
21
- var global_store_1 = require("../../store/ai-report/global-store");
22
- var ai_report_1 = require("../../services/ai-report");
23
- var ai_report_2 = require("../../enum/ai-report");
18
+ var AIEvaluate_1 = __importDefault(require("./components/AIEvaluate"));
19
+ var NotFinish_1 = __importDefault(require("./components/NotFinish"));
24
20
  var ScoreReport_1 = __importDefault(require("./components/ScoreReport"));
21
+ var Suggestion_1 = __importDefault(require("./components/Suggestion"));
25
22
  var VideoQuestion_1 = __importDefault(require("./components/VideoQuestion"));
26
- var NotFinish_1 = __importDefault(require("./components/NotFinish"));
27
- var NO_ANSWER = ai_report_2.INTERVIEW_STATUS.NO_ANSWER;
23
+ var WorkPlaces_1 = __importDefault(require("./components/WorkPlaces"));
24
+ var ai_report_1 = require("../../enum/ai-report");
25
+ var ai_report_2 = require("../../services/ai-report");
26
+ var global_store_1 = require("../../store/ai-report/global-store");
27
+ var ahooks_1 = require("ahooks");
28
+ var fbm_ui_1 = require("fbm-ui");
29
+ var react_1 = require("react");
30
+ var NO_ANSWER = ai_report_1.INTERVIEW_STATUS.NO_ANSWER;
28
31
  var AiReportRoot = (0, react_1.forwardRef)(function (props, ref) {
29
- var token = props.token, reminderSent = props.reminderSent, operableButtons = props.operableButtons, onLoad = props.onLoad, onSendReminderClick = props.onSendReminderClick;
32
+ var token = props.token, customScore = props.customScore, reminderSent = props.reminderSent, operableButtons = props.operableButtons, onLoad = props.onLoad, onSendReminderClick = props.onSendReminderClick;
30
33
  var firstLoad = (0, react_1.useRef)(true);
31
- var _a = (0, global_store_1.useAiReportStore)(), updateState = _a.updateState, updateReportResult = _a.updateReportResult;
32
- var _b = (0, ahooks_1.useRequest)(function () { return (0, ai_report_1.PostAiInterviewResult)([token]); }, {
34
+ var _a = (0, global_store_1.useAiReportStore)(), updateState = _a.updateState, updateReportResult = _a.updateReportResult, reportResult = _a.reportResult;
35
+ var _b = reportResult || {}, _c = _b.collection, collection = _c === void 0 ? [] : _c, _d = _b.workplaces, workplaces = _d === void 0 ? [] : _d;
36
+ var _e = (0, ahooks_1.useRequest)(function () { return (0, ai_report_2.PostAiInterviewResult)([token]); }, {
33
37
  manual: true,
34
38
  onSuccess: function (_a) {
35
39
  var list = _a.data.list;
@@ -47,7 +51,7 @@ var AiReportRoot = (0, react_1.forwardRef)(function (props, ref) {
47
51
  onLoad === null || onLoad === void 0 ? void 0 : onLoad(__assign({ pageStepIndexes: pageStepIndexes_1 }, result));
48
52
  }
49
53
  },
50
- }), data = _b.data, loading = _b.loading, postAiInterviewResult = _b.run;
54
+ }), data = _e.data, loading = _e.loading, postAiInterviewResult = _e.run;
51
55
  var status = (data === null || data === void 0 ? void 0 : data.data.list[0].status) || NO_ANSWER;
52
56
  var handleRefreshSuccess = (0, react_1.useCallback)(function () {
53
57
  postAiInterviewResult();
@@ -69,9 +73,9 @@ var AiReportRoot = (0, react_1.forwardRef)(function (props, ref) {
69
73
  return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: "100%", display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", style: { marginTop: '149px' } }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Box, { children: (0, jsx_runtime_1.jsx)("img", { src: "//webcdn.fbmms.cn/web/saas/asset/image/CandidateInfoEmpty.png", alt: "", style: { width: '140px', height: '140px' } }) }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ mt: 2 }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", color: "textPrimary", style: { fontWeight: '500' } }, { children: "\u8BE5\u5019\u9009\u4EBA\u5C1A\u672A\u5F00\u59CB\u9762\u8BD5" })) })), (operableButtons === null || operableButtons === void 0 ? void 0 : operableButtons.includes('sendReminder')) && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ style: { marginTop: '2px' } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "textSecondary" }, { children: "\u82E5\u957F\u65F6\u95F4\u672A\u5F00\u59CB\uFF0C\u5EFA\u8BAE\u4F60\u7ED9\u5019\u9009\u4EBA\u53D1\u9001\u77ED\u4FE1\u63D0\u9192" })) })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ mt: 2 }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ size: "large", variant: "outlined", color: "primary", disabled: reminderSent, onClick: onSendReminderClick }, { children: reminderSent ? '已提醒' : '发送提醒' })) }))] }))] })));
70
74
  }
71
75
  else {
72
- return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)(NotFinish_1.default, {}), (0, jsx_runtime_1.jsx)(ScoreReport_1.default, { onRefreshSuccess: handleRefreshSuccess }), (0, jsx_runtime_1.jsx)(VideoQuestion_1.default, {})] }));
76
+ return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)(NotFinish_1.default, {}), (collection === null || collection === void 0 ? void 0 : collection.length) > 0 && (0, jsx_runtime_1.jsx)(ScoreReport_1.default, { customScore: customScore, onRefreshSuccess: handleRefreshSuccess }), (workplaces === null || workplaces === void 0 ? void 0 : workplaces.length) > 0 && (0, jsx_runtime_1.jsx)(WorkPlaces_1.default, {}), (collection === null || collection === void 0 ? void 0 : collection.length) > 0 && (0, jsx_runtime_1.jsx)(AIEvaluate_1.default, {}), (0, jsx_runtime_1.jsx)(Suggestion_1.default, {}), (0, jsx_runtime_1.jsx)(VideoQuestion_1.default, {})] }));
73
77
  }
74
- }, [handleRefreshSuccess, onSendReminderClick, reminderSent, status, operableButtons]);
78
+ }, [handleRefreshSuccess, onSendReminderClick, reminderSent, status, operableButtons, collection, workplaces]);
75
79
  return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ loading: firstLoad.current && loading, sx: { width: '100%', minHeight: '584px', height: '100%', margin: '0 auto', overflow: 'auto' } }, { children: aiReportResult })));
76
80
  });
77
81
  AiReportRoot.displayName = 'AiReportRoot';
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ declare type Mode = 'edit' | 'show';
3
+ declare type Field = 'evaluations' | 'suggestions';
4
+ interface EvaluateProps {
5
+ title: string;
6
+ token: string;
7
+ field: Field;
8
+ evaluations: Array<string>;
9
+ mode?: Mode;
10
+ canEdit?: boolean;
11
+ }
12
+ declare const Evaluate: React.FC<EvaluateProps>;
13
+ export default Evaluate;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var jsx_runtime_1 = require("react/jsx-runtime");
15
+ var ai_report_1 = require("../../../../services/ai-report");
16
+ var fbm_ui_1 = require("fbm-ui");
17
+ var mui_1 = require("fbm-ui/lib/mui");
18
+ var react_1 = require("react");
19
+ var Evaluate = function (_a) {
20
+ var title = _a.title, evaluations = _a.evaluations, token = _a.token, field = _a.field, _b = _a.mode, mode = _b === void 0 ? 'show' : _b, _c = _a.canEdit, canEdit = _c === void 0 ? 'true' : _c;
21
+ var _d = (0, react_1.useState)(evaluations === null || evaluations === void 0 ? void 0 : evaluations.join('\n')), content = _d[0], setContent = _d[1];
22
+ var _e = (0, react_1.useState)('show'), internalMode = _e[0], setInternalMode = _e[1];
23
+ var handleChange = (0, react_1.useCallback)(function (e) {
24
+ var value = e.target.value;
25
+ setContent(value);
26
+ }, []);
27
+ var handleModeChange = (0, react_1.useCallback)(function () {
28
+ setInternalMode(internalMode === 'show' ? 'edit' : 'show');
29
+ }, [internalMode]);
30
+ var handleSubmit = (0, react_1.useCallback)(function () {
31
+ (0, fbm_ui_1.confirm)({
32
+ header: null,
33
+ content: '确认将评价内容修改吗?该动作无法被撤销。',
34
+ okText: '修改',
35
+ okProps: {
36
+ color: 'error',
37
+ variant: 'contained',
38
+ },
39
+ onOk: function (_a) {
40
+ var onClose = _a.onClose;
41
+ var data = field === 'evaluations'
42
+ ? {
43
+ evaluationToken: token,
44
+ manualEvaluations: [content],
45
+ }
46
+ : {
47
+ evaluationToken: token,
48
+ manualSuggestions: [content],
49
+ };
50
+ (0, ai_report_1.PostAiInterviewEvaluation)(data).then(handleModeChange).then(onClose).catch(console.log);
51
+ },
52
+ });
53
+ }, [token, content, field, handleModeChange]);
54
+ (0, react_1.useEffect)(function () {
55
+ setInternalMode(mode);
56
+ }, [mode]);
57
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Stack, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", alignItems: "center", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", fontWeight: "medium" }, { children: title })), canEdit && ((0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ onClick: handleModeChange }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.EditIcon, {}) })))] })), internalMode === 'edit' && ((0, jsx_runtime_1.jsxs)(mui_1.Box, __assign({ width: 1, pr: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.FormItem, { sx: { height: 'auto', pr: 0 }, multiline: true, rows: 3.5, required: true, name: "name", placeholder: "", value: content, onChange: handleChange }), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ boxSizing: "border-box", mr: 2, mt: 1, spacing: 1, direction: "row", width: 1, justifyContent: "flex-end" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ size: "medium", variant: "text", color: "secondary", onClick: function () {
58
+ handleModeChange();
59
+ setContent(evaluations === null || evaluations === void 0 ? void 0 : evaluations.join('\n'));
60
+ } }, { children: "\u53D6\u6D88" })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ size: "medium", onClick: handleSubmit }, { children: "\u4FDD\u5B58" }))] }))] }))), internalMode === 'show' && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "textSecondary", sx: { whiteSpace: 'pre-wrap' } }, { children: content })))] }));
61
+ };
62
+ exports.default = Evaluate;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface Dimension {
3
+ name: string;
4
+ score: number;
5
+ rank: number;
6
+ total: number;
7
+ level: number;
8
+ }
9
+ interface GraphProps {
10
+ items: Array<Dimension>;
11
+ }
12
+ declare const Graph: React.FC<GraphProps>;
13
+ export default Graph;
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var jsx_runtime_1 = require("react/jsx-runtime");
4
+ var react_1 = require("react");
5
+ function setupCanvas(canvas) {
6
+ var dpr = window.devicePixelRatio || 1;
7
+ var rect = canvas.getBoundingClientRect();
8
+ canvas.width = rect.width * dpr;
9
+ canvas.height = rect.height * dpr;
10
+ var ctx = canvas.getContext('2d');
11
+ ctx.scale(dpr, dpr);
12
+ return ctx;
13
+ }
14
+ var levelOrder = ['Bad', 'Good', 'Best'];
15
+ var serverLevelMap = [
16
+ {
17
+ level: 'Best',
18
+ start: 134 + 171 + 10,
19
+ width: 125 - 12,
20
+ },
21
+ {
22
+ level: 'Good',
23
+ start: 134 + 5,
24
+ width: 171 - 10,
25
+ },
26
+ {
27
+ level: 'Bad',
28
+ start: 0,
29
+ width: 134 - 10,
30
+ },
31
+ {
32
+ level: 'Bad',
33
+ start: 0,
34
+ width: 0,
35
+ },
36
+ ];
37
+ var levelConf = {
38
+ Bad: {
39
+ label: '欠佳',
40
+ width: 134,
41
+ color: [229, 115, 115],
42
+ endScore: 30,
43
+ pointColor: ['RGB(229, 115, 115)', 'RGB(255, 67, 102)'],
44
+ },
45
+ Good: {
46
+ label: '适中',
47
+ width: 171,
48
+ color: [255, 183, 77],
49
+ endScore: 70,
50
+ pointColor: ['RGB(255, 183, 77)', 'RGB(255, 152, 0)'],
51
+ },
52
+ Best: {
53
+ label: '优秀',
54
+ width: 125,
55
+ color: [0, 217, 157],
56
+ endScore: 100,
57
+ pointColor: ['RGB(0, 217, 157)', 'RGB(0, 176, 127)'],
58
+ },
59
+ };
60
+ var tipEl = document.createElement('div');
61
+ var measureTextWidth = function (ctx, text) {
62
+ var width = ctx.measureText(text).width;
63
+ return width;
64
+ };
65
+ function isInPath(x, y, tx, ty, ctx) {
66
+ var dpr = window.devicePixelRatio || 1;
67
+ ctx.beginPath();
68
+ ctx.arc(tx / dpr, ty / dpr, 10 / dpr, 0, Math.PI * 2, true);
69
+ var ret = ctx.isPointInPath(x, y);
70
+ ctx.closePath();
71
+ return ret;
72
+ }
73
+ var drawTop = function (layout, ctx) {
74
+ ctx.font = '12px sans-serif';
75
+ ctx.fillText('排名(%)', 10, 10);
76
+ ctx.fillStyle = '#ccc';
77
+ ctx.fillText('0', layout.leftLableWidth, 10);
78
+ ctx.strokeStyle = '#ccc';
79
+ var offset = 0;
80
+ levelOrder.forEach(function (x, i) {
81
+ var c = levelConf[x];
82
+ var labelWidth = measureTextWidth(ctx, c.label);
83
+ var endScoreWidth = measureTextWidth(ctx, c.endScore);
84
+ ctx.moveTo(layout.leftLableWidth + offset + endScoreWidth / 2 + 5, 6);
85
+ ctx.lineTo(layout.leftLableWidth + offset + c.width / 2 - labelWidth / 2 - 5, 6);
86
+ ctx.fillStyle = 'black';
87
+ ctx.fillText(c.label, layout.leftLableWidth + offset + c.width / 2 - labelWidth / 2, 10);
88
+ ctx.moveTo(layout.leftLableWidth + offset + c.width / 2 + labelWidth / 2 + 5, 6);
89
+ ctx.lineTo(layout.leftLableWidth + offset + c.width - endScoreWidth - 5, 6);
90
+ ctx.fillStyle = '#ccc';
91
+ ctx.fillText(c.endScore, layout.leftLableWidth + offset + c.width - endScoreWidth + (i === 0 ? 0 : 5), 10);
92
+ ctx.stroke();
93
+ offset += c.width;
94
+ });
95
+ };
96
+ var drowBackground = function (layout, ctx) {
97
+ var leftOffset = layout.leftLableWidth;
98
+ levelOrder.forEach(function (x) {
99
+ var c = levelConf[x];
100
+ ctx.fillStyle = "rgb(".concat(c.color.join(','), ")");
101
+ drawRoundedRect(0 + leftOffset, layout.topLableHeight, c.width, 4, 2, true, false, ctx);
102
+ var linearGradient0 = ctx.createLinearGradient(0, 0, 0, layout.height - layout.topLableHeight);
103
+ linearGradient0.addColorStop(0, "RGBA(".concat(c.color.join(','), ", 0.3)"));
104
+ linearGradient0.addColorStop(1, "RGBA(".concat(c.color.join(','), ", 0.05)"));
105
+ ctx.fillStyle = linearGradient0;
106
+ ctx.fillRect(0 + leftOffset, layout.topLableHeight, c.width, layout.height - layout.topLableHeight);
107
+ leftOffset += c.width + 4;
108
+ });
109
+ };
110
+ var percent = function (_a) {
111
+ var rank = _a.rank, total = _a.total;
112
+ return Math.min(0.975, parseFloat((1 - rank / total).toFixed(2)));
113
+ };
114
+ var getPointColor = function (s) {
115
+ return levelConf[s].pointColor;
116
+ };
117
+ var drawLable = function (lable, x, y, ctx) {
118
+ ctx.fillStyle = 'black';
119
+ ctx.fillText(lable, x, y + 5);
120
+ ctx.strokeStyle = '#ccc';
121
+ };
122
+ var drawLine = function (sx, ex, ey, ctx) {
123
+ ctx.beginPath();
124
+ ctx.setLineDash([2, 1]);
125
+ ctx.moveTo(sx, ey);
126
+ ctx.lineTo(ex, ey);
127
+ ctx.stroke();
128
+ };
129
+ var drawPoint = function (fill, stroke, x, y, ctx) {
130
+ ctx.save();
131
+ ctx.setLineDash([]);
132
+ ctx.fillStyle = fill;
133
+ ctx.strokeStyle = stroke;
134
+ ctx.lineWidth = 1;
135
+ ctx.beginPath();
136
+ ctx.arc(x, y, 4, 0, Math.PI * 2, true);
137
+ ctx.closePath();
138
+ ctx.fill();
139
+ ctx.stroke();
140
+ ctx.restore();
141
+ };
142
+ var drawRoundedRect = function (x, y, width, height, r, fill, stroke, ctx) {
143
+ ctx.save();
144
+ ctx.beginPath();
145
+ ctx.moveTo(x + r, y);
146
+ ctx.arcTo(x + width, y, x + width, y + r, r);
147
+ ctx.arcTo(x + width, y + height, x + width - r, y + height, r);
148
+ ctx.arcTo(x, y + height, x, y + height - r, r);
149
+ ctx.arcTo(x, y, x + r, y, r);
150
+ if (fill) {
151
+ ctx.fill();
152
+ }
153
+ if (stroke) {
154
+ ctx.stroke();
155
+ }
156
+ ctx.restore();
157
+ };
158
+ var draw = function (layout, color, dimensions, pathRef, ctx) {
159
+ drawTop(layout, ctx);
160
+ drowBackground(layout, ctx);
161
+ dimensions.forEach(function (v, i) {
162
+ var level = serverLevelMap[v.level - 1];
163
+ var p = percent(v);
164
+ var target = level.width * p + 4;
165
+ var endPointX = level.start + target + layout.leftLableWidth;
166
+ var endPointY = 65 + layout.itemSpacing * i;
167
+ drawLable(v.name, 10, endPointY, ctx);
168
+ drawLine(layout.leftLableWidth, endPointX, endPointY, ctx);
169
+ var _a = getPointColor(level.level), fill = _a[0], stroke = _a[1];
170
+ drawPoint(fill, stroke, endPointX, endPointY, ctx);
171
+ pathRef.push({ x: endPointX, y: endPointY, tips: "".concat(v === null || v === void 0 ? void 0 : v.name, "\u5F97\u5206:").concat(v === null || v === void 0 ? void 0 : v.score.toFixed(2), "\u5206") });
172
+ });
173
+ };
174
+ var Graph = function (_a) {
175
+ var _b = _a.items, items = _b === void 0 ? [] : _b;
176
+ var ref = (0, react_1.useRef)(null);
177
+ var pathRef = (0, react_1.useRef)([]);
178
+ var _c = (0, react_1.useState)(), ctx = _c[0], setCtx = _c[1];
179
+ (0, react_1.useEffect)(function () {
180
+ var currentCtx = setupCanvas(ref.current);
181
+ setCtx(currentCtx);
182
+ tipEl.style.background = 'rgba(0,0,0,.7)';
183
+ tipEl.style.color = '#fff';
184
+ tipEl.style.borderRadius = '2px';
185
+ tipEl.style.padding = '2px 5px';
186
+ tipEl.style.position = 'absolute';
187
+ tipEl.style.zIndex = '9999';
188
+ tipEl.style.fontSize = '12px';
189
+ tipEl.style.display = 'none';
190
+ document.body.appendChild(tipEl);
191
+ }, [ref]);
192
+ (0, react_1.useEffect)(function () {
193
+ if (ctx) {
194
+ var layout = {
195
+ leftLableWidth: 80,
196
+ topLableHeight: 40,
197
+ itemSpacing: 32,
198
+ height: 32 * items.length + 40 + 16,
199
+ };
200
+ var gradeColor = {
201
+ Bad: [229, 115, 115],
202
+ Good: [255, 183, 77],
203
+ Best: [0, 217, 157],
204
+ };
205
+ draw(layout, gradeColor, items, pathRef.current, ctx);
206
+ }
207
+ }, [ctx, items]);
208
+ (0, react_1.useEffect)(function () {
209
+ console.log(pathRef);
210
+ }, [pathRef]);
211
+ var handleMouseMove = (0, react_1.useCallback)(function (e) {
212
+ if (ctx) {
213
+ var p = pathRef.current.find(function (p) { return isInPath(e.nativeEvent.offsetX, e.nativeEvent.offsetY, p.x, p.y, ctx); });
214
+ if (p) {
215
+ tipEl.style.left = e.pageX + 10 + 'px';
216
+ tipEl.style.top = e.pageY + 10 + 'px';
217
+ tipEl.innerHTML = p.tips;
218
+ tipEl.style.display = 'block';
219
+ }
220
+ else {
221
+ tipEl.style.display = 'none';
222
+ }
223
+ }
224
+ }, [ctx, pathRef]);
225
+ return ((0, jsx_runtime_1.jsx)("canvas", { ref: ref, onMouseOut: function () { return (tipEl.style.display = 'none'); }, onMouseMove: handleMouseMove, style: { width: '100%', height: 32 * items.length + 40 + 16 } }));
226
+ };
227
+ exports.default = Graph;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const Index: () => JSX.Element | null;
3
+ export default Index;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var jsx_runtime_1 = require("react/jsx-runtime");
18
+ var utils_1 = require("../../utils");
19
+ var Evaluate_1 = __importDefault(require("./Evaluate"));
20
+ var Graph_1 = __importDefault(require("./Graph"));
21
+ var global_store_1 = require("../../../../store/ai-report/global-store");
22
+ var AiHeaderTitle_1 = __importDefault(require("../../../../components/AiHeaderTitle"));
23
+ var fbm_ui_1 = require("fbm-ui");
24
+ var mui_1 = require("fbm-ui/lib/mui");
25
+ var react_1 = require("react");
26
+ var Index = function () {
27
+ var _a, _b;
28
+ var _c = (0, global_store_1.useAiReportStore)(function (store) { return [
29
+ store.reportResult,
30
+ store.operableButtons,
31
+ ]; }), reportResult = _c.reportResult, showAiDimension = _c.showAiDimension, canEditAiDimension = _c.canEditAiDimension, customInterviewDimRankMap = _c.customInterviewDimRankMap;
32
+ var expand = (0, react_1.useState)(true)[0];
33
+ // const handleExpandChange = useCallback(() => {
34
+ // setExpand(!expand);
35
+ // }, [expand]);
36
+ if (!showAiDimension || ((_a = reportResult === null || reportResult === void 0 ? void 0 : reportResult.evaluations) === null || _a === void 0 ? void 0 : _a.length) === 0)
37
+ return null;
38
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Box, __assign({ id: "report-evaluate", component: mui_1.Paper, variant: "outlined", px: 2, mt: 2 }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", height: 56, alignItems: "center", spacing: 1, marginBottom: 1 }, { children: [(0, jsx_runtime_1.jsx)(AiHeaderTitle_1.default, { name: "AI\u57FA\u7840\u80FD\u529B" }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Tooltip, __assign({ title: (0, jsx_runtime_1.jsxs)("span", { children: ["\u7ED3\u679C\u8BF4\u660E\uFF1A", (0, jsx_runtime_1.jsx)("br", {}), "AI\u57FA\u7840\u80FD\u529B\u4ECE\u8BED\u901F\u3001\u666E\u901A\u8BDD\u3001\u8BED\u8A00\u6D41\u7545\u5EA6\u3001\u8981\u70B9\u5206\u6790\u5339\u914D\u5EA6\u3001\u8BED\u8A00\u4E30\u5BCC\u5EA6\u3001\u5F62\u8C61\u516D\u4E2A\u7EF4\u5EA6\u5BF9\u5019\u9009\u4EBA\u5728\u9762\u8BD5\u4E2D\u7684\u56DE\u7B54\u8868\u73B0\u8FDB\u884C\u8BC4\u4EF7\uFF0C\u6BCF\u4E2A\u7EF4\u5EA6\u5206\u4E3A\u4E09\u4E2A\u6863\uFF0C\u5206\u522B\u4E3A\uFF1A\u524D30%\u4EE3\u8868\u4F18\u79C0\u3001\u4E2D\u95F430%~70%\u4EE3\u8868\u9002\u4E2D\u3001\u540E30%\u4EE3\u8868\u6B20\u4F73\u3002", (0, jsx_runtime_1.jsx)("br", {}), "\u6BCF\u4E2A\u80FD\u529B\u7684\u4E09\u6863\u7684\u5206\u6570\u503C\u4F9D\u636E\u5168\u56FD\u5927\u6570\u636E\u7EDF\u8BA1\u800C\u5B9A\u3002\u6839\u636E\u5019\u9009\u4EBA\u5F53\u524DAI\u89C6\u9891\u6B65\u9AA4\u4E0B\u7684\u6BCF\u4E2A\u80FD\u529B\u7684\u5E73\u5747\u5206\u6765\u786E\u5B9A\u6BCF\u4E2A\u80FD\u529B\u7684\u8BC4\u4EF7\u3002\u76F8\u540C\u7684\u5F97\u5206\uFF0C\u6210\u7EE9\u5148\u51FA\u7684\u6392\u540D\u9760\u524D\u3002"] }) }, { children: (0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ display: "flex", alignItems: "center" }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.InfoOutlineIcon, { sx: { fontSize: '16px' } }) })) }))] })), (0, jsx_runtime_1.jsxs)(mui_1.Collapse, __assign({ in: expand }, { children: [(_b = reportResult === null || reportResult === void 0 ? void 0 : reportResult.evaluations) === null || _b === void 0 ? void 0 : _b.map(function (v) {
39
+ var _a;
40
+ var c = customInterviewDimRankMap === null || customInterviewDimRankMap === void 0 ? void 0 : customInterviewDimRankMap[v.evaluationToken];
41
+ var rank = (0, utils_1.rankPercent)((c === null || c === void 0 ? void 0 : c.rank) || (v === null || v === void 0 ? void 0 : v.rank), (c === null || c === void 0 ? void 0 : c.total) || (v === null || v === void 0 ? void 0 : v.total));
42
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Box, __assign({ component: mui_1.Paper, elevation: 0, bgcolor: "#f9f9f9", mb: 2, pb: 2 }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ px: 2, pt: 2 }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", alignItems: "center", spacing: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "h6", fontWeight: "medium", sx: { fontWeight: 500 } }, { children: v.evaluationDimensionName })), !isNaN(rank) && ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: ["\u51FB\u8D25\u4E86", (0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body2", fontWeight: "medium", display: "inline", color: "#4caf50" }, { children: [rank.toFixed(2), "%"] })), "\u7684\u5019\u9009\u4EBA"] })))] })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ mt: 1, mb: 2, variant: "body2", fontWeight: "medium", color: "#4caf50" }, { children: v.impressions.join('、') }))] })), (0, jsx_runtime_1.jsx)(mui_1.Divider, { sx: { borderColor: 'rgba(0,0,0,0.08)' } }), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ px: 2 }, { children: [((_a = v.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ mt: 2 }, { children: (0, jsx_runtime_1.jsx)(Graph_1.default, { items: v.items }) }))), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 2, mt: 2 }, { children: [(0, jsx_runtime_1.jsx)(Evaluate_1.default, { canEdit: canEditAiDimension, token: v.evaluationToken, evaluations: v.evaluations, title: "\u8BC4\u4EF7\u5185\u5BB9", field: "evaluations", mode: "show" }), (0, jsx_runtime_1.jsx)(Evaluate_1.default, { canEdit: canEditAiDimension, token: v.evaluationToken, evaluations: v.suggestions, title: "\u63D0\u9AD8\u5EFA\u8BAE", field: "suggestions", mode: "show" })] }))] }))] }), v.evaluationToken));
43
+ }), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 1, mt: 4, pb: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", fontWeight: "medium", color: "textSecondary" }, { children: "\u7ED3\u679C\u8BF4\u660E" })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "rgba(0,0,0,0.26)" }, { children: ["AI\u57FA\u7840\u80FD\u529B\u4ECE\u8BED\u901F\u3001\u666E\u901A\u8BDD\u3001\u8BED\u8A00\u6D41\u7545\u5EA6\u3001\u8981\u70B9\u5206\u6790\u5339\u914D\u5EA6\u3001\u8BED\u8A00\u4E30\u5BCC\u5EA6\u3001\u5F62\u8C61\u516D\u4E2A\u7EF4\u5EA6\u5BF9\u5019\u9009\u4EBA\u5728\u9762\u8BD5\u4E2D\u7684\u56DE\u7B54\u8868\u73B0\u8FDB\u884C\u8BC4\u4EF7\uFF0C\u6BCF\u4E2A\u7EF4\u5EA6\u5206\u4E3A\u4E09\u4E2A\u6863\uFF0C\u5206\u522B\u4E3A\uFF1A\u524D30%\u4EE3\u8868\u4F18\u79C0\u3001\u4E2D\u95F430%~70%\u4EE3\u8868\u9002\u4E2D\u3001\u540E30%\u4EE3\u8868\u6B20\u4F73\u3002", (0, jsx_runtime_1.jsx)("br", {}), "\u6BCF\u4E2A\u80FD\u529B\u7684\u4E09\u6863\u7684\u5206\u6570\u503C\u4F9D\u636E\u5168\u56FD\u5927\u6570\u636E\u7EDF\u8BA1\u800C\u5B9A\u3002\u6839\u636E\u5019\u9009\u4EBA\u5F53\u524DAI\u89C6\u9891\u6B65\u9AA4\u4E0B\u7684\u6BCF\u4E2A\u80FD\u529B\u7684\u5E73\u5747\u5206\u6765\u786E\u5B9A\u6BCF\u4E2A\u80FD\u529B\u7684\u8BC4\u4EF7\u3002\u76F8\u540C\u7684\u5F97\u5206\uFF0C\u6210\u7EE9\u5148\u51FA\u7684\u6392\u540D\u9760\u524D\u3002"] }))] }))] }))] })));
44
+ };
45
+ exports.default = Index;
@@ -0,0 +1,4 @@
1
+ import { MenuAnchorProps } from '../../interface';
2
+ import React from 'react';
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<MenuAnchorProps & React.RefAttributes<any>>>;
4
+ export default _default;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var jsx_runtime_1 = require("react/jsx-runtime");
15
+ var ai_report_1 = require("../../../../constants/ai-report");
16
+ var ai_report_2 = require("../../../../services/ai-report");
17
+ var global_store_1 = require("../../../../store/ai-report/global-store");
18
+ var ahooks_1 = require("ahooks");
19
+ var fbm_ui_1 = require("fbm-ui");
20
+ var mui_1 = require("fbm-ui/lib/mui");
21
+ var react_1 = require("react");
22
+ var MenuAnchor = (0, react_1.forwardRef)(function (props) {
23
+ var _a = (0, react_1.useState)(null), anchorEl = _a[0], setAnchorEl = _a[1];
24
+ var open = Boolean(anchorEl);
25
+ // 接口请求
26
+ var token = props.token, showAiDimension = props.showAiDimension;
27
+ var firstLoad = (0, react_1.useRef)(true);
28
+ var _b = (0, react_1.useState)([]), list = _b[0], setList = _b[1];
29
+ var _c = (0, global_store_1.useAiReportStore)(), reportResult = _c.reportResult, updateState = _c.updateState, updateReportResult = _c.updateReportResult;
30
+ var postAiInterviewResult = (0, ahooks_1.useRequest)(function () { return (0, ai_report_2.PostAiInterviewResult)([token]); }, {
31
+ manual: true,
32
+ onSuccess: function (_a) {
33
+ var list = _a.data.list;
34
+ var result = list[0];
35
+ updateReportResult(result);
36
+ if (firstLoad.current) {
37
+ firstLoad.current = false;
38
+ handleMenuList(result);
39
+ }
40
+ },
41
+ }).run;
42
+ (0, react_1.useEffect)(function () {
43
+ firstLoad.current = true;
44
+ postAiInterviewResult();
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
46
+ }, [token]);
47
+ (0, react_1.useEffect)(function () {
48
+ updateState(props);
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, [props]);
51
+ // 处理菜单数据
52
+ var handleMenuList = function (reportResult) {
53
+ if (!reportResult.status) {
54
+ return;
55
+ }
56
+ var resList = [ai_report_1.REPORT_MODULE_MAP['videoQuestion']];
57
+ var _a = reportResult.collection, collection = _a === void 0 ? [] : _a, _b = reportResult.workplaces, workplaces = _b === void 0 ? [] : _b, _c = reportResult.suggestion, suggestion = _c === void 0 ? { show: false } : _c, _d = reportResult.evaluations, evaluations = _d === void 0 ? [] : _d;
58
+ if (showAiDimension) {
59
+ if (suggestion === null || suggestion === void 0 ? void 0 : suggestion.show) {
60
+ resList.unshift(ai_report_1.REPORT_MODULE_MAP['suggestion']);
61
+ }
62
+ if (collection.length > 0 && evaluations.length > 0) {
63
+ resList.unshift(ai_report_1.REPORT_MODULE_MAP['evaluate']);
64
+ }
65
+ if (workplaces.length > 0) {
66
+ resList.unshift(ai_report_1.REPORT_MODULE_MAP['workplace']);
67
+ }
68
+ }
69
+ if (collection.length > 0) {
70
+ resList.unshift(ai_report_1.REPORT_MODULE_MAP['score']);
71
+ }
72
+ console.log(resList);
73
+ setList(resList);
74
+ };
75
+ var handlePopoverOpen = function (event) {
76
+ setAnchorEl(event.currentTarget);
77
+ };
78
+ var handlePopoverClose = function () {
79
+ setAnchorEl(null);
80
+ };
81
+ var scrollToAnchor = (0, react_1.useCallback)(function (id) {
82
+ if (id) {
83
+ var anchorEle = document.getElementById(id);
84
+ if (anchorEle) {
85
+ anchorEle.scrollIntoView({ block: 'start', behavior: 'smooth' });
86
+ }
87
+ }
88
+ }, []);
89
+ var content = (0, react_1.useMemo)(function () {
90
+ return ((0, jsx_runtime_1.jsx)(mui_1.List, __assign({ style: { minWidth: 150 }, onMouseLeave: handlePopoverClose }, { children: list.map(function (_a) {
91
+ var name = _a.name, id = _a.id;
92
+ return ((0, jsx_runtime_1.jsx)(mui_1.ListItem, __assign({ disablePadding: true }, { children: (0, jsx_runtime_1.jsx)(mui_1.ListItemButton, __assign({ onClick: function () { return scrollToAnchor(id); } }, { children: (0, jsx_runtime_1.jsx)(mui_1.ListItemText, { primary: name }) })) }), id));
93
+ }) })));
94
+ }, [scrollToAnchor, list]);
95
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(reportResult === null || reportResult === void 0 ? void 0 : reportResult.status) && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ style: {
96
+ display: 'flex',
97
+ alignItems: 'center',
98
+ justifyContent: 'center',
99
+ position: 'absolute',
100
+ top: 20,
101
+ right: -10,
102
+ zIndex: 999,
103
+ height: 32,
104
+ width: 32,
105
+ backgroundColor: '#fff',
106
+ borderRadius: 4,
107
+ boxShadow: '0px 2px 4px rgba(0,0,0, 0.08)',
108
+ }, "aria-owns": open ? 'menu-anchor-popover' : undefined, "aria-haspopup": "true", onClick: handlePopoverOpen, onMouseEnter: handlePopoverOpen }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.MenuIcon, {}) }))), (0, jsx_runtime_1.jsx)(mui_1.Popover, __assign({ id: "menu-anchor-popover", open: open, anchorEl: anchorEl, anchorOrigin: {
109
+ vertical: 'bottom',
110
+ horizontal: 'right',
111
+ }, transformOrigin: {
112
+ vertical: -8,
113
+ horizontal: 'right',
114
+ }, onClose: handlePopoverClose }, { children: content }))] }));
115
+ });
116
+ MenuAnchor.displayName = 'MenuAnchor';
117
+ exports.default = (0, react_1.memo)(MenuAnchor);
@@ -13,8 +13,8 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var jsx_runtime_1 = require("react/jsx-runtime");
15
15
  var fbm_ui_1 = require("fbm-ui");
16
- var global_store_1 = require("../../../../store/ai-report/global-store");
17
16
  var ai_report_1 = require("../../../../enum/ai-report");
17
+ var global_store_1 = require("../../../../store/ai-report/global-store");
18
18
  var NotFinish = function () {
19
19
  var _a = (0, global_store_1.useAiReportStore)(function (store) { return [store.reportResult, store.interviewCheat]; }), reportResult = _a.reportResult, interviewCheat = _a.interviewCheat;
20
20
  var _b = (reportResult || {}).completedStatus, completedStatus = _b === void 0 ? 1 : _b;
@@ -12,26 +12,32 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var jsx_runtime_1 = require("react/jsx-runtime");
15
- var react_1 = require("react");
16
- var fbm_ui_1 = require("fbm-ui");
17
- var global_store_1 = require("../../../../store/ai-report/global-store");
15
+ var utils_1 = require("../../utils");
18
16
  var ai_report_1 = require("../../../../constants/ai-report");
17
+ var global_store_1 = require("../../../../store/ai-report/global-store");
18
+ var fbm_ui_1 = require("fbm-ui");
19
+ var react_1 = require("react");
19
20
  var Bar = function () {
20
21
  var _a = (0, react_1.useState)(1), currentRank = _a[0], setCurrentRank = _a[1];
21
- var _b = (0, react_1.useState)('前0% ~ 100%'), text = _b[0], setText = _b[1];
22
- var _c = (0, global_store_1.useAiReportStore)(function (store) { return [store.reportResult, store.scoreRankIntervals]; }), reportResult = _c.reportResult, scoreRankIntervals = _c.scoreRankIntervals;
22
+ var _b = (0, react_1.useState)(''), text = _b[0], setText = _b[1];
23
+ var _c = (0, global_store_1.useAiReportStore)(function (store) { return [store.reportResult, store.scoreRankIntervals]; }), reportResult = _c.reportResult, scoreRankIntervals = _c.scoreRankIntervals, reportRank = _c.reportRank;
23
24
  var _d = (reportResult || {}).score, score = _d === void 0 ? 0 : _d;
24
25
  (0, react_1.useEffect)(function () {
25
26
  var floatInterval = scoreRankIntervals === null || scoreRankIntervals === void 0 ? void 0 : scoreRankIntervals.find(function (interval) { return score >= interval.score.startScore && score <= interval.score.endScore; });
26
27
  if (floatInterval) {
27
- var rank = floatInterval.rank, _a = floatInterval.scoreRankIntervals, startRankProportion = _a.startRankProportion, endRankProportion = _a.endRankProportion;
28
+ var rank = floatInterval.rank;
28
29
  setCurrentRank(rank);
29
- setText("\u524D".concat(startRankProportion * 100, "% ~ ").concat(endRankProportion * 100, "%"));
30
30
  }
31
- }, [score, scoreRankIntervals]);
31
+ if (reportRank === null || reportRank === void 0 ? void 0 : reportRank.total) {
32
+ setText("\u51FB\u8D25\u4E86".concat((0, utils_1.rankPercent)((reportRank === null || reportRank === void 0 ? void 0 : reportRank.rank) || 0, (reportRank === null || reportRank === void 0 ? void 0 : reportRank.total) || 0).toFixed(0), "%\u5019\u9009\u4EBA"));
33
+ }
34
+ else {
35
+ setText('');
36
+ }
37
+ }, [score, reportRank, scoreRankIntervals]);
32
38
  if (!scoreRankIntervals || (scoreRankIntervals === null || scoreRankIntervals === void 0 ? void 0 : scoreRankIntervals.length) === 0)
33
39
  return null;
34
- return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: text })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ display: "flex", alignItems: "center", sx: { height: 12, mt: 0.5 } }, { children: scoreRankIntervals === null || scoreRankIntervals === void 0 ? void 0 : scoreRankIntervals.map(function (_a, index) {
40
+ return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body2", flexShrink: 0 }, { children: [text, "\u00A0"] })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ display: "flex", alignItems: "center", sx: { height: 12, mt: 0.5 } }, { children: scoreRankIntervals === null || scoreRankIntervals === void 0 ? void 0 : scoreRankIntervals.map(function (_a, index) {
35
41
  var rank = _a.rank, _b = _a.scoreRankIntervals, startRankProportion = _b.startRankProportion, endRankProportion = _b.endRankProportion;
36
42
  return [
37
43
  (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, { sx: {