eli-video-interview 1.2.36 → 1.2.37-beta.0

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 (179) hide show
  1. package/esm/components/ScrollDialogContent/index.js +1 -1
  2. package/esm/constants/ai-question.d.ts +7 -0
  3. package/esm/constants/ai-question.js +10 -1
  4. package/esm/index.d.ts +1 -0
  5. package/esm/index.js +1 -0
  6. package/esm/modules/ai-ability-select/Root.d.ts +4 -0
  7. package/esm/modules/ai-ability-select/Root.js +47 -0
  8. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +4 -0
  9. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +22 -0
  10. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +4 -0
  11. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.js +42 -0
  12. package/esm/modules/ai-ability-select/components/AiAbilityItem/interface.d.ts +13 -0
  13. package/esm/modules/ai-ability-select/components/AiAbilityItem/interface.js +1 -0
  14. package/esm/modules/ai-ability-select/components/AiAbilityItem/styled.d.ts +2 -0
  15. package/esm/modules/ai-ability-select/components/AiAbilityItem/styled.js +8 -0
  16. package/esm/modules/ai-ability-select/components/AiAbilityList/index.d.ts +4 -0
  17. package/esm/modules/ai-ability-select/components/AiAbilityList/index.js +19 -0
  18. package/esm/modules/ai-ability-select/components/AiAbilityList/interface.d.ts +4 -0
  19. package/esm/modules/ai-ability-select/components/AiAbilityList/interface.js +1 -0
  20. package/esm/modules/ai-ability-select/index.d.ts +4 -0
  21. package/esm/modules/ai-ability-select/index.js +20 -0
  22. package/esm/modules/ai-ability-select/interface.d.ts +33 -0
  23. package/esm/modules/ai-ability-select/interface.js +1 -0
  24. package/esm/modules/ai-question/Root.js +5 -1
  25. package/esm/modules/ai-question/components/AiAnalysis/AnalysisItem.js +1 -1
  26. package/esm/modules/ai-question/components/AiAnalysis/index.js +1 -1
  27. package/esm/modules/ai-question/components/AiAssessmentCriteria/index.js +13 -4
  28. package/esm/modules/ai-question/components/BaseAccordion/index.d.ts +1 -1
  29. package/esm/modules/ai-question/components/BaseAccordion/index.js +22 -13
  30. package/esm/modules/ai-question/components/BootVideo/index.js +43 -24
  31. package/esm/modules/ai-question/components/BootVideo/styled.js +5 -4
  32. package/esm/modules/ai-question/components/QuestionModel/AutoCombine.d.ts +4 -0
  33. package/esm/modules/ai-question/components/QuestionModel/AutoCombine.js +19 -0
  34. package/esm/modules/ai-question/components/QuestionModel/Header.js +6 -6
  35. package/esm/modules/ai-question/components/QuestionModel/Interactive.d.ts +6 -0
  36. package/esm/modules/ai-question/components/QuestionModel/Interactive.js +26 -0
  37. package/esm/modules/ai-question/components/QuestionModel/Item.d.ts +2 -2
  38. package/esm/modules/ai-question/components/QuestionModel/Item.js +13 -8
  39. package/esm/modules/ai-question/components/QuestionModel/List.js +30 -8
  40. package/esm/modules/ai-question/components/QuestionModel/index.js +5 -1
  41. package/esm/modules/ai-question/components/QuestionModel/interface.d.ts +7 -0
  42. package/esm/modules/ai-question/components/QuestionPreview/index.js +1 -1
  43. package/esm/modules/ai-question/components/QuestionPreview/styled.d.ts +1 -1
  44. package/esm/modules/ai-question/components/QuestionTemplate/AiEvaluation.js +13 -8
  45. package/esm/modules/ai-question/components/QuestionTemplate/index.d.ts +2 -1
  46. package/esm/modules/ai-question/components/QuestionTemplate/index.js +10 -5
  47. package/esm/modules/ai-question/components/QuestionTemplate/interface.d.ts +10 -0
  48. package/esm/modules/ai-question/components/QuestionUpdate/Form.d.ts +2 -2
  49. package/esm/modules/ai-question/components/QuestionUpdate/Form.js +44 -10
  50. package/esm/modules/ai-question/components/QuestionUpdate/RandomQuestion.d.ts +4 -0
  51. package/esm/modules/ai-question/components/QuestionUpdate/RandomQuestion.js +58 -0
  52. package/esm/modules/ai-question/components/QuestionUpdate/SelectQuestion.d.ts +8 -0
  53. package/esm/modules/ai-question/components/QuestionUpdate/SelectQuestion.js +62 -0
  54. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoice.d.ts +2 -2
  55. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoice.js +35 -49
  56. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.d.ts +6 -0
  57. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.js +47 -0
  58. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.d.ts +7 -0
  59. package/esm/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.js +60 -0
  60. package/esm/modules/ai-question/components/QuestionUpdate/const.js +1 -0
  61. package/esm/modules/ai-question/components/QuestionUpdate/index.js +9 -6
  62. package/esm/modules/ai-question/components/QuestionUpdate/interface.d.ts +12 -0
  63. package/esm/modules/ai-question/components/QuestionUpdate/styled.d.ts +6 -0
  64. package/esm/modules/ai-question/components/QuestionUpdate/styled.js +52 -0
  65. package/esm/modules/ai-question/index.js +3 -5
  66. package/esm/modules/ai-question/interface.d.ts +17 -0
  67. package/esm/modules/ai-question/useAiQuestion.d.ts +1 -0
  68. package/esm/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  69. package/esm/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
  70. package/esm/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
  71. package/esm/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  72. package/esm/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  73. package/esm/services/ai-ability.d.ts +1 -0
  74. package/esm/services/ai-ability.js +3 -1
  75. package/esm/services/ai-question.d.ts +2 -1
  76. package/esm/services/ai-question.js +4 -2
  77. package/esm/store/ai-ability-select/question-ability-store.d.ts +21 -0
  78. package/esm/store/ai-ability-select/question-ability-store.js +21 -0
  79. package/esm/store/ai-question/ai-analysis-store.d.ts +2 -2
  80. package/esm/store/ai-question/boot-video-store.js +7 -2
  81. package/esm/store/ai-question/global-store.d.ts +3 -0
  82. package/esm/store/ai-question/global-store.js +1 -0
  83. package/esm/store/ai-question/interview-room-store.d.ts +17 -0
  84. package/esm/store/ai-question/interview-room-store.js +24 -0
  85. package/esm/store/ai-question/question-model-store.d.ts +3 -0
  86. package/esm/store/ai-question/question-model-store.js +5 -3
  87. package/esm/store/ai-question/question-template-store.js +1 -1
  88. package/esm/store/enterprise/enterprise-store.d.ts +29 -0
  89. package/esm/store/enterprise/enterprise-store.js +13 -0
  90. package/lib/components/ScrollDialogContent/index.js +1 -1
  91. package/lib/constants/ai-question.d.ts +7 -0
  92. package/lib/constants/ai-question.js +11 -2
  93. package/lib/index.d.ts +1 -0
  94. package/lib/index.js +3 -1
  95. package/lib/modules/ai-ability-select/Root.d.ts +4 -0
  96. package/lib/modules/ai-ability-select/Root.js +52 -0
  97. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +4 -0
  98. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +24 -0
  99. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +4 -0
  100. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.js +47 -0
  101. package/lib/modules/ai-ability-select/components/AiAbilityItem/interface.d.ts +13 -0
  102. package/lib/modules/ai-ability-select/components/AiAbilityItem/interface.js +2 -0
  103. package/lib/modules/ai-ability-select/components/AiAbilityItem/styled.d.ts +2 -0
  104. package/lib/modules/ai-ability-select/components/AiAbilityItem/styled.js +11 -0
  105. package/lib/modules/ai-ability-select/components/AiAbilityList/index.d.ts +4 -0
  106. package/lib/modules/ai-ability-select/components/AiAbilityList/index.js +24 -0
  107. package/lib/modules/ai-ability-select/components/AiAbilityList/interface.d.ts +4 -0
  108. package/lib/modules/ai-ability-select/components/AiAbilityList/interface.js +2 -0
  109. package/lib/modules/ai-ability-select/index.d.ts +4 -0
  110. package/lib/modules/ai-ability-select/index.js +25 -0
  111. package/lib/modules/ai-ability-select/interface.d.ts +33 -0
  112. package/lib/modules/ai-ability-select/interface.js +2 -0
  113. package/lib/modules/ai-question/Root.js +5 -1
  114. package/lib/modules/ai-question/components/AiAnalysis/AnalysisItem.js +1 -1
  115. package/lib/modules/ai-question/components/AiAnalysis/index.js +1 -1
  116. package/lib/modules/ai-question/components/AiAssessmentCriteria/index.js +13 -4
  117. package/lib/modules/ai-question/components/BaseAccordion/index.d.ts +1 -1
  118. package/lib/modules/ai-question/components/BaseAccordion/index.js +22 -13
  119. package/lib/modules/ai-question/components/BootVideo/index.js +38 -19
  120. package/lib/modules/ai-question/components/BootVideo/styled.js +5 -4
  121. package/lib/modules/ai-question/components/QuestionModel/AutoCombine.d.ts +4 -0
  122. package/lib/modules/ai-question/components/QuestionModel/AutoCombine.js +21 -0
  123. package/lib/modules/ai-question/components/QuestionModel/Header.js +5 -8
  124. package/lib/modules/ai-question/components/QuestionModel/Interactive.d.ts +6 -0
  125. package/lib/modules/ai-question/components/QuestionModel/Interactive.js +31 -0
  126. package/lib/modules/ai-question/components/QuestionModel/Item.d.ts +2 -2
  127. package/lib/modules/ai-question/components/QuestionModel/Item.js +9 -4
  128. package/lib/modules/ai-question/components/QuestionModel/List.js +30 -8
  129. package/lib/modules/ai-question/components/QuestionModel/index.js +5 -1
  130. package/lib/modules/ai-question/components/QuestionModel/interface.d.ts +7 -0
  131. package/lib/modules/ai-question/components/QuestionPreview/index.js +1 -1
  132. package/lib/modules/ai-question/components/QuestionPreview/styled.d.ts +1 -1
  133. package/lib/modules/ai-question/components/QuestionTemplate/AiEvaluation.js +12 -7
  134. package/lib/modules/ai-question/components/QuestionTemplate/index.d.ts +2 -1
  135. package/lib/modules/ai-question/components/QuestionTemplate/index.js +10 -5
  136. package/lib/modules/ai-question/components/QuestionTemplate/interface.d.ts +10 -0
  137. package/lib/modules/ai-question/components/QuestionUpdate/Form.d.ts +2 -2
  138. package/lib/modules/ai-question/components/QuestionUpdate/Form.js +42 -8
  139. package/lib/modules/ai-question/components/QuestionUpdate/RandomQuestion.d.ts +4 -0
  140. package/lib/modules/ai-question/components/QuestionUpdate/RandomQuestion.js +63 -0
  141. package/lib/modules/ai-question/components/QuestionUpdate/SelectQuestion.d.ts +8 -0
  142. package/lib/modules/ai-question/components/QuestionUpdate/SelectQuestion.js +64 -0
  143. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoice.d.ts +2 -2
  144. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoice.js +36 -47
  145. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.d.ts +6 -0
  146. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoicePreview.js +49 -0
  147. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.d.ts +7 -0
  148. package/lib/modules/ai-question/components/QuestionUpdate/VideoVoiceUploader.js +62 -0
  149. package/lib/modules/ai-question/components/QuestionUpdate/const.js +1 -0
  150. package/lib/modules/ai-question/components/QuestionUpdate/index.js +9 -6
  151. package/lib/modules/ai-question/components/QuestionUpdate/interface.d.ts +12 -0
  152. package/lib/modules/ai-question/components/QuestionUpdate/styled.d.ts +6 -0
  153. package/lib/modules/ai-question/components/QuestionUpdate/styled.js +55 -0
  154. package/lib/modules/ai-question/index.js +3 -5
  155. package/lib/modules/ai-question/interface.d.ts +17 -0
  156. package/lib/modules/ai-question/useAiQuestion.d.ts +1 -0
  157. package/lib/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  158. package/lib/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
  159. package/lib/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
  160. package/lib/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  161. package/lib/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  162. package/lib/services/ai-ability.d.ts +1 -0
  163. package/lib/services/ai-ability.js +4 -1
  164. package/lib/services/ai-question.d.ts +2 -1
  165. package/lib/services/ai-question.js +5 -2
  166. package/lib/store/ai-ability-select/question-ability-store.d.ts +21 -0
  167. package/lib/store/ai-ability-select/question-ability-store.js +24 -0
  168. package/lib/store/ai-question/ai-analysis-store.d.ts +2 -2
  169. package/lib/store/ai-question/boot-video-store.js +7 -2
  170. package/lib/store/ai-question/global-store.d.ts +3 -0
  171. package/lib/store/ai-question/global-store.js +1 -0
  172. package/lib/store/ai-question/interview-room-store.d.ts +17 -0
  173. package/lib/store/ai-question/interview-room-store.js +27 -0
  174. package/lib/store/ai-question/question-model-store.d.ts +3 -0
  175. package/lib/store/ai-question/question-model-store.js +5 -3
  176. package/lib/store/ai-question/question-template-store.js +1 -1
  177. package/lib/store/enterprise/enterprise-store.d.ts +29 -0
  178. package/lib/store/enterprise/enterprise-store.js +16 -0
  179. package/package.json +1 -1
@@ -30,17 +30,22 @@ var SvgIcon_1 = __importDefault(require("../../../../components/SvgIcon"));
30
30
  var ai_question_1 = require("../../../../constants/ai-question");
31
31
  var ai_question_2 = require("../../../../services/ai-question");
32
32
  var boot_video_store_1 = require("../../../../store/ai-question/boot-video-store");
33
+ var interview_room_store_1 = require("../../../../store/ai-question/interview-room-store");
33
34
  var utils_1 = require("../../../../utils/utils");
34
35
  var ahooks_1 = require("ahooks");
35
36
  var fbm_ui_1 = require("fbm-ui");
36
37
  var mui_1 = require("fbm-ui/lib/mui");
37
38
  var react_1 = require("react");
38
39
  var BootVideo = function (props) {
40
+ var _a;
39
41
  var open = props.open, onClose = props.onClose;
40
- var _a = (0, boot_video_store_1.useBootVideoStore)(), mediaUrl = _a.mediaUrl, thumbUrl = _a.thumbUrl, updateBootVideo = _a.updateBootVideo;
41
- var _b = (0, react_1.useState)(ai_question_1.DEFAULT_GUIDE_VIDEO), mediaList = _b[0], setMediaList = _b[1];
42
- var _c = (0, ahooks_1.useSetState)({ mediaUrl: mediaUrl, thumbUrl: thumbUrl, appliedAllPosition: false }), mediaState = _c[0], setMediaState = _c[1];
43
- var _d = (0, ahooks_1.useRequest)(ai_question_2.PostCommonUpload, {
42
+ var _b = (0, interview_room_store_1.useInterviewRoomStore)(), interactType = _b.interactType, aiInterviewerProfile = _b.aiInterviewerProfile, updateInterviewRoom = _b.updateInterviewRoom;
43
+ var _c = (0, react_1.useState)({ interactType: interactType, aiInterviewerProfile: aiInterviewerProfile }), interviewRoomState = _c[0], setInterviewRoomState = _c[1];
44
+ var _d = (0, react_1.useState)(ai_question_1.DEFAULT_VITUAL_HUMAN_LIST), virtualManList = _d[0], setVirtualManList = _d[1];
45
+ var _e = (0, boot_video_store_1.useBootVideoStore)(), mediaUrl = _e.mediaUrl, thumbUrl = _e.thumbUrl, updateBootVideo = _e.updateBootVideo;
46
+ var _f = (0, react_1.useState)(ai_question_1.DEFAULT_GUIDE_VIDEO), mediaList = _f[0], setMediaList = _f[1];
47
+ var _g = (0, ahooks_1.useSetState)({ mediaUrl: mediaUrl, thumbUrl: thumbUrl, appliedAllPosition: false }), mediaState = _g[0], setMediaState = _g[1];
48
+ var _h = (0, ahooks_1.useRequest)(ai_question_2.PostCommonUpload, {
44
49
  manual: true,
45
50
  onSuccess: function (_a) {
46
51
  var data = _a.data;
@@ -55,13 +60,33 @@ var BootVideo = function (props) {
55
60
  ]);
56
61
  setMediaState({ mediaUrl: item.url, thumbUrl: item.mineExtra.firstFrameUrl });
57
62
  },
58
- }), loading = _d.loading, postCommonUpload = _d.run;
63
+ }), loading = _h.loading, postCommonUpload = _h.run;
64
+ var getAiInterviewerProfileList = (0, ahooks_1.useRequest)(ai_question_2.GetAiInterviewerProfileList, {
65
+ manual: true,
66
+ onSuccess: function (_a) {
67
+ var list = _a.data.list;
68
+ setVirtualManList(list);
69
+ },
70
+ }).run;
59
71
  var handleSelectVideo = (0, react_1.useCallback)(function (mediaUrl, thumbUrl) {
60
72
  setMediaState({ mediaUrl: mediaUrl, thumbUrl: thumbUrl });
61
73
  }, [setMediaState]);
74
+ var handleInteractTypeChange = (0, react_1.useCallback)(function (e) {
75
+ var value = Number(e.target.value);
76
+ if (value === 1) {
77
+ setInterviewRoomState({ interactType: value });
78
+ }
79
+ else {
80
+ setInterviewRoomState({ interactType: value, aiInterviewerProfile: interviewRoomState.aiInterviewerProfile });
81
+ }
82
+ }, [setInterviewRoomState, interviewRoomState]);
83
+ var handleSelectHumanType = (0, react_1.useCallback)(function (value) {
84
+ setInterviewRoomState({ interactType: interviewRoomState.interactType, aiInterviewerProfile: value });
85
+ }, [setInterviewRoomState, interviewRoomState]);
62
86
  var handleOk = function () {
63
87
  console.log(mediaState);
64
88
  updateBootVideo(mediaState);
89
+ updateInterviewRoom(interviewRoomState);
65
90
  onClose();
66
91
  };
67
92
  var uploadProps = {
@@ -81,19 +106,10 @@ var BootVideo = function (props) {
81
106
  postCommonUpload(formData);
82
107
  }
83
108
  },
84
- // onChange: ({ file }: any) => {
85
- // console.log('onChange', file);
86
- // if (isExceedMaxVideoFileSize(file.size)) {
87
- // Message.error('视频大小超过500M,请重新上传!');
88
- // } else {
89
- // const formData = new FormData();
90
- // formData.append('files', file.originFileObj);
91
- // postCommonUpload(formData);
92
- // }
93
- // },
94
109
  };
95
110
  (0, react_1.useEffect)(function () {
96
111
  if (open) {
112
+ getAiInterviewerProfileList();
97
113
  setMediaState({ mediaUrl: mediaUrl, thumbUrl: thumbUrl });
98
114
  if (mediaUrl && thumbUrl && mediaUrl !== mediaList[0].videoUrl) {
99
115
  setMediaList(__spreadArray(__spreadArray([], mediaList, true), [
@@ -110,9 +126,12 @@ var BootVideo = function (props) {
110
126
  }
111
127
  // eslint-disable-next-line react-hooks/exhaustive-deps
112
128
  }, [open]);
113
- return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Dialog, __assign({ open: open, title: "\u66F4\u6362\u5F15\u5BFC\u89C6\u9891", onClose: onClose, onOk: handleOk }, { children: (0, jsx_runtime_1.jsx)(ScrollDialogContent_1.default, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ sx: { maxHeight: 'calc(100vh - 150px)', overflow: 'auto' } }, { children: [(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl) || loading ? ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ loading: loading, sx: { width: 180, height: 330, margin: '0 auto', cursor: 'pointer' } }, { children: (0, jsx_runtime_1.jsx)("video", { width: 180, height: 330, src: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl, controls: true }) }))) : ((0, jsx_runtime_1.jsx)(fbm_ui_1.Upload, __assign({}, uploadProps, { children: (0, jsx_runtime_1.jsxs)(styled_1.CustomUploadCardRoot, { children: [(0, jsx_runtime_1.jsxs)(styled_1.CustomUploadCardTitle, { children: [(0, jsx_runtime_1.jsx)(SvgIcon_1.default, { name: "video" }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "subtitle1", color: "secondary" }, { children: "\u4E0A\u4F20\u89C6\u9891" }))] }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "disabled", sx: { mt: 1 } }, { children: "\u62D6\u62FD\u89C6\u9891\u5230\u6B64\u5904\u4E5F\u53EF\u4E0A\u4F20" }))] }) }))), (0, jsx_runtime_1.jsxs)(styled_1.CustomUploadButtonRoot, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Upload, __assign({}, uploadProps, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ variant: "outlined", color: "inherit", icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.AddIcon, {}) }, { children: "\u4E0A\u4F20\u89C6\u9891" })) })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Tooltip, __assign({ title: "\u8BF7\u52FF\u4E0A\u4F20\u8272\u60C5\u53CA\u53CD\u52A8\u8FDD\u89C4\u89C6\u9891\uFF0C\u5EFA\u8BAE\u4F7F\u7528360\u6D4F\u89C8\u5668\u3002 \u5EFA\u8BAE\u4E0A\u4F20mp4\u683C\u5F0F\uFF0C\u5927\u5C0F\u4E0D\u8981\u8D85\u8FC7500M\uFF0C\u652F\u6301\u89C6\u9891\u683C\u5F0F\uFF1Amp4\u3001mov\u3001m4v\u30013gp\u3001avi\u3001webm\uFF0C\u652F\u6301\u7F16\u7801\u683C\u5F0F\uFF1AH.264\u3001HEV4\u3001 MPRG-4\u3001VP9" }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ style: { display: 'flex', alignItems: 'center', marginLeft: 8 } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.InfoIcon, { sx: { fontSize: 18, color: 'rgb(118, 118, 118)' } }) })) }))] }), (0, jsx_runtime_1.jsx)(mui_1.Divider, {}), (0, jsx_runtime_1.jsx)(styled_1.CustomUploadedImgRoot, { children: mediaList.map(function (_a) {
114
- var videoUrl = _a.videoUrl, frameUrl = _a.frameUrl;
115
- return ((0, jsx_runtime_1.jsx)("img", { src: frameUrl, height: (mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl) === videoUrl ? 70 : 64, alt: "", onClick: function () { return handleSelectVideo(videoUrl, frameUrl); } }, videoUrl));
116
- }) }), (0, jsx_runtime_1.jsx)(mui_1.Divider, {}), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ ml: 0.5 }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Checkbox, { checked: mediaState.appliedAllPosition, label: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: "\u5E94\u7528\u5230\u6240\u6709AI\u89C6\u9891" })), onChange: function (e, checked) { return setMediaState({ appliedAllPosition: checked }); } }) }))] })) }) })));
129
+ return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Dialog, __assign({ open: open, title: "\u5B9A\u5236\u9762\u8BD5\u95F4", okText: "\u4FDD\u5B58", onClose: onClose, onOk: handleOk, width: 768 }, { children: (0, jsx_runtime_1.jsx)(ScrollDialogContent_1.default, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ sx: { display: 'flex', justifyContent: 'space-between' } }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: "\u9762\u8BD5\u95F4\u4E92\u52A8\u65B9\u5F0F" })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.RadioGroup, __assign({ defaultValue: "outlined", onChange: handleInteractTypeChange, value: interviewRoomState.interactType }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Radio, { value: 1, label: "\u4F20\u7EDF\u8BFB\u9898\u6A21\u5F0F" }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Radio, { value: 2, label: "AI\u9762\u8BD5\u5B98\u5BF9\u8BDD\u6A21\u5F0F" })] })), interviewRoomState.interactType === 2 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500, mt: 3, mb: 1 }, { children: ["\u9762\u8BD5\u5B98\u5F62\u8C61", (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", ml: 1, color: "disabled" }, { children: "\u76EE\u524D\u53EA\u6709\u5C0F\u9762\u53EF\u652F\u6301\u5BF9\u9898\u76EE\u8FFD\u95EE\uFF0C\u5176\u4ED6\u5F62\u8C61\u6682\u4E0D\u652F\u6301\u8FFD\u95EE" }))] })), (0, jsx_runtime_1.jsx)(styled_1.CustomUploadedImgRoot, { children: virtualManList.map(function (human) {
130
+ var _a;
131
+ return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)("img", { src: human.virtualHumanAvatar, style: { borderColor: ((_a = interviewRoomState.aiInterviewerProfile) === null || _a === void 0 ? void 0 : _a.humanToken) === human.humanToken ? '#4CAF50' : 'transparent' }, height: 100, alt: "", onClick: function () { return handleSelectHumanType(human); } }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", textAlign: "center" }, { children: human.name }))] }, human.humanToken));
132
+ }) })] })), interviewRoomState.interactType === 1 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500, mt: 3, mb: 1 }, { children: "\u5F15\u5BFC\u89C6\u9891" })), (0, jsx_runtime_1.jsx)(styled_1.CustomUploadedImgRoot, { children: mediaList.map(function (_a) {
133
+ var videoUrl = _a.videoUrl, frameUrl = _a.frameUrl;
134
+ return ((0, jsx_runtime_1.jsx)("img", { src: frameUrl, style: { borderColor: (mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl) === videoUrl ? '#4CAF50' : 'transparent' }, height: 100, alt: "", onClick: function () { return handleSelectVideo(videoUrl, frameUrl); } }, videoUrl));
135
+ }) }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", flexWrap: "wrap", width: 344, color: "text.disabled", mb: 1 }, { children: "\u5EFA\u8BAE\u4E0A\u4F20mp4\u683C\u5F0F\uFF0C\u5927\u5C0F\u4E0D\u8981\u8D85\u8FC7500M\uFF0C\u6700\u591A\u652F\u6301\u4E0A\u4F205\u4E2A\uFF0C\u652F\u6301\u89C6\u9891\u683C\u5F0F\uFF1Amp4\u3001mov\u3001m4v\u30013gp\u3001avi\u3001webm" })), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)(styled_1.CustomUploadButtonRoot, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Upload, __assign({}, uploadProps, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ variant: "outlined", color: "inherit", icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.AddIcon, {}) }, { children: "\u4E0A\u4F20\u89C6\u9891" })) })) }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ ml: 2 }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Checkbox, { checked: mediaState.appliedAllPosition, label: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: "\u5E94\u7528\u5230\u6240\u6709AI\u89C6\u9891" })), onChange: function (e, checked) { return setMediaState({ appliedAllPosition: checked }); } }) }))] }))] }))] }), interviewRoomState.interactType === 1 && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ sx: { maxHeight: 'calc(100vh - 150px)', overflow: 'auto', flexGrow: 1 } }, { children: (mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl) || loading ? ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ loading: loading, sx: { width: 160, height: 286, margin: 'auto', cursor: 'pointer' } }, { children: (0, jsx_runtime_1.jsx)("video", { width: 160, height: 286, src: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaUrl, controls: true }) }))) : ((0, jsx_runtime_1.jsx)(fbm_ui_1.Upload, __assign({}, uploadProps, { children: (0, jsx_runtime_1.jsxs)(styled_1.CustomUploadCardRoot, { children: [(0, jsx_runtime_1.jsxs)(styled_1.CustomUploadCardTitle, { children: [(0, jsx_runtime_1.jsx)(SvgIcon_1.default, { name: "video" }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "subtitle1", color: "secondary" }, { children: "\u4E0A\u4F20\u89C6\u9891" }))] }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "disabled", sx: { mt: 1 } }, { children: "\u62D6\u62FD\u89C6\u9891\u5230\u6B64\u5904\u4E5F\u53EF\u4E0A\u4F20" }))] }) }))) }))), interviewRoomState.interactType === 2 && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ sx: { maxHeight: 'calc(100vh - 150px)', overflow: 'auto', flexGrow: 1 } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ sx: { width: 160, height: 286, margin: 'auto', cursor: 'pointer' } }, { children: (0, jsx_runtime_1.jsx)("video", { width: 160, height: 286, src: (_a = interviewRoomState.aiInterviewerProfile) === null || _a === void 0 ? void 0 : _a.virtualPreviewMedia, controls: true }) })) })))] })) }) })));
117
136
  };
118
137
  exports.default = BootVideo;
@@ -33,18 +33,19 @@ exports.CustomUploadButtonRoot = (0, fbm_ui_1.styled)(fbm_ui_1.Box)({
33
33
  margin: '8px 0',
34
34
  });
35
35
  exports.CustomUploadedImgRoot = (0, fbm_ui_1.styled)(fbm_ui_1.Box)({
36
- minHeight: 70,
36
+ minHeight: 100,
37
37
  display: 'flex',
38
38
  flexWrap: 'wrap',
39
39
  alignItems: 'center',
40
40
  padding: '8px 0',
41
41
  boxSizing: 'content-box',
42
42
  '& img': {
43
- width: 36,
43
+ boxSizing: 'border-box',
44
+ width: 56,
44
45
  objectFit: 'cover',
45
- transition: 'all 0.3s ease 0s',
46
+ // transition: 'all 0.3s ease 0s',
46
47
  cursor: 'pointer',
47
- border: '1px solid rgb(237, 237, 237)',
48
+ border: '2px solid transparent',
48
49
  borderRadius: 4,
49
50
  marginRight: 4,
50
51
  },
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { AutoCombineProps } from './interface';
3
+ declare const AutoCombine: React.FC<AutoCombineProps>;
4
+ export default AutoCombine;
@@ -0,0 +1,21 @@
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 fbm_ui_1 = require("fbm-ui");
16
+ var mui_1 = require("fbm-ui/lib/mui");
17
+ var AutoCombine = function (_a) {
18
+ var onAutoCombine = _a.onAutoCombine;
19
+ return ((0, jsx_runtime_1.jsx)(mui_1.Stack, { children: (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ width: 210, alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: "\u6682\u65E0\u9898\u76EE" })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ textAlign: "center", variant: "caption", color: "text.disabled", mb: 2 }, { children: ["\u70B9\u51FB\u300CAI\u81EA\u52A8\u7EC4\u9898\u300D\u6309\u94AE", (0, jsx_runtime_1.jsx)("br", {}), "\u53EF\u6839\u636E\u60A8\u9009\u62E9\u7684\u80FD\u529B\u5B9E\u73B0\u4E00\u952E\u7EC4\u9898"] })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ onClick: onAutoCombine }, { children: "AI\u81EA\u52A8\u7EC4\u9898" }))] })) }));
20
+ };
21
+ exports.default = AutoCombine;
@@ -10,19 +10,16 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
13
  Object.defineProperty(exports, "__esModule", { value: true });
17
14
  var jsx_runtime_1 = require("react/jsx-runtime");
18
- var react_1 = require("react");
19
- var fbm_ui_1 = require("fbm-ui");
20
15
  var question_model_store_1 = require("../../../../store/ai-question/question-model-store");
21
16
  var utils_1 = require("../../../../utils/utils");
22
- var BootVideo_1 = __importDefault(require("../BootVideo"));
17
+ var fbm_ui_1 = require("fbm-ui");
18
+ var mui_1 = require("fbm-ui/lib/mui");
23
19
  var QuestionHeader = function () {
24
20
  var questionModelData = (0, question_model_store_1.useQuestionModelStore)().questionModelData;
25
- var _a = (0, react_1.useState)(false), bootVideoOpen = _a[0], setBootVideoOpen = _a[1];
26
- return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: "100%", display: "flex" }, { children: [(0, jsx_runtime_1.jsx)(BootVideo_1.default, { open: bootVideoOpen, onClose: function () { return setBootVideoOpen(false); } }), questionModelData && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ flex: "1 0" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", weight: "500", mb: 1 }, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ color: "secondary", variant: "caption" }, { children: ["\u9884\u8BA1\u9762\u8BD5\u65F6\u957F\uFF1A", (0, utils_1.getSecondToTime)((questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.duration) || 0)] })) })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "secondary" }, { children: "\u62D6\u52A8\u8BD5\u9898\u5361\u7247\u53EF\u6539\u53D8\u8BD5\u9898\u987A\u5E8F" }))] })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: 200, textAlign: "right" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.VideocamOutlineIcon, {}), variant: "text", onClick: function () { return setBootVideoOpen(true); } }, { children: "\u5F15\u5BFC\u89C6\u9891" })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", alignItems: "center", justifyContent: "end", sx: { mt: '6px' } }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "secondary" }, { children: "AI\u6D4B\u8BC4\u6743\u91CD" })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Tooltip, __assign({ title: "AI\u6D4B\u8BC4\u9898\u53EF\u4EE5\u8BBE\u7F6E\u6743\u91CD\uFF0C\u7CFB\u7EDF\u5BF9\u5019\u9009\u4EBA\u89C6\u9891\u9762\u8BD5\u7ED3\u679C\u4F1A\u52A0\u5165\u6743\u91CD\u8FDB\u884C\u8BA1\u7B97\uFF0C\u5F97\u51FAAI\u89C6\u9891\u9762\u8BD5\u5F97\u5206\u3002\u8BBE\u7F6E\u540E5\u5206\u949F\u8D77\u6548" }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ style: { display: 'flex', alignItems: 'center', marginLeft: '4px' } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.InfoOutlineIcon, { sx: { fontSize: 14, color: 'rgba(0, 0, 0, 0.56)' } }) })) }))] }))] }))] }))] })));
21
+ if (!questionModelData)
22
+ return null;
23
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ width: "100%", direction: "row", spacing: 2, alignItems: "center" }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body2", fontWeight: 500 }, { children: ["\u9884\u8BA1\u9762\u8BD5\u65F6\u957F\uFF1A", (0, utils_1.getSecondToTime)((questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.duration) || 0)] })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "secondary" }, { children: "\u62D6\u52A8\u8BD5\u9898\u5361\u7247\u53EF\u6539\u53D8\u8BD5\u9898\u987A\u5E8F" }))] })));
27
24
  };
28
25
  exports.default = QuestionHeader;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface InteractiveProps {
3
+ mode: 'Traditional' | 'Chat';
4
+ }
5
+ declare const Interactive: React.FC<InteractiveProps>;
6
+ export default Interactive;
@@ -0,0 +1,31 @@
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 BootVideo_1 = __importDefault(require("../BootVideo"));
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 InteractiveModes = {
23
+ Traditional: '传统读题模式',
24
+ Chat: 'AI面试官对话模式',
25
+ };
26
+ var Interactive = function (_a) {
27
+ var mode = _a.mode;
28
+ var _b = (0, react_1.useState)(false), bootVideoOpen = _b[0], setBootVideoOpen = _b[1];
29
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(BootVideo_1.default, { open: bootVideoOpen, onClose: function () { return setBootVideoOpen(false); } }), (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", justifyContent: "space-between", component: mui_1.Paper, variant: "outlined", height: 54, alignItems: "center", px: 2, mt: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: "\u9762\u8BD5\u95F4\u4E92\u52A8\u65B9\u5F0F\uFF1A".concat(InteractiveModes[mode]) })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.VideocamOutlineIcon, {}), variant: "text", onClick: function () { return setBootVideoOpen(true); } }, { children: "\u5B9A\u5236\u9762\u8BD5\u95F4" }))] }))] }));
30
+ };
31
+ exports.default = Interactive;
@@ -1,4 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { QuestionModelListItemProps } from './interface';
2
- import React from 'react';
3
- declare const _default: React.NamedExoticComponent<QuestionModelListItemProps>;
3
+ declare const _default: import("react").NamedExoticComponent<QuestionModelListItemProps>;
4
4
  export default _default;
@@ -32,7 +32,7 @@ var mui_1 = require("fbm-ui/lib/mui");
32
32
  var react_1 = require("react");
33
33
  var QuestionModelListItem = function (props) {
34
34
  var index = props.index, disabledWeight = props.disabledWeight, steps = props.steps, step = __rest(props, ["index", "disabledWeight", "steps"]);
35
- var token = step.token, name = step.name, desc = step.desc, duration = step.duration, weight = step.weight, type = step.type, aiShowType = step.aiShowType, aiType = step.aiType, answerStatus = step.answerStatus, category = step.category;
35
+ var token = step.token, name = step.name, questions = step.questions, duration = step.duration, weight = step.weight, type = step.type, aiShowType = step.aiShowType, aiType = step.aiType, answerStatus = step.answerStatus, category = step.category;
36
36
  var isAiAnalysis = (0, ai_question_1.IS_AI_ANALYSIS)(step);
37
37
  var _a = (0, question_model_store_1.useQuestionModelStore)(), editModel = _a.editModel, removeModel = _a.removeModel, updateModelWeight = _a.updateModelWeight;
38
38
  var updateQuestionState = (0, question_update_store_1.useUpdateQuestionStore)().updateQuestionState;
@@ -66,11 +66,16 @@ var QuestionModelListItem = function (props) {
66
66
  }
67
67
  }, [updateModelWeight, index]);
68
68
  var handleAnswerStatus = (0, react_1.useCallback)(function () {
69
- console.log(answerStatus);
70
69
  editModel(__assign(__assign({}, step), { answerStatus: answerStatus === 2 ? 1 : 2 }), index);
71
70
  }, [editModel, answerStatus, step, index]);
72
- return ((0, jsx_runtime_1.jsxs)(mui_1.Paper, __assign({ variant: "outlined", sx: { display: 'block', mt: 2 } }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", borderBottom: isAiAnalysis ? '1px solid rgba(0, 0, 0, 0.08)' : 'none' }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ width: 40, display: "flex", alignItems: "center", justifyContent: "center", sx: { cursor: 'move' } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.DragIndicatorIcon, { className: "dragHandle" }) })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ flex: "1 0", padding: "16px 0" }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ flex: "1 0", display: "flex", alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "subtitle1" }, { children: name })), category === null || category === void 0 ? void 0 : category.map(function (label) {
71
+ var formatQuestion = (0, react_1.useMemo)(function () {
72
+ if ((questions === null || questions === void 0 ? void 0 : questions.length) > 1) {
73
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", spacing: 1 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "#F5C441", flexShrink: 0, fontWeight: 500 }, { children: "[\u5185\u5BB9\u968F\u673A]" })), (0, jsx_runtime_1.jsx)(mui_1.Stack, __assign({ spacing: 1 }, { children: questions.map(function (v, index) { return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "text.secondary" }, { children: ["\u2022\u00A0", v.content] }), index)); }) }))] })));
74
+ }
75
+ return questions.map(function (v) { return v.content; }).join('\n');
76
+ }, [questions]);
77
+ return ((0, jsx_runtime_1.jsxs)(mui_1.Paper, __assign({ variant: "outlined", sx: { display: 'block', mt: 2 } }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", borderBottom: !ai_question_1.DISABLED_REPEAT_TYPE.includes(type) || isAiAnalysis ? '1px solid rgba(0, 0, 0, 0.08)' : 'none' }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ width: 40, display: "flex", alignItems: "center", justifyContent: "center", sx: { cursor: 'move' } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.DragIndicatorIcon, { className: "dragHandle" }) })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ flex: "1 0", padding: "16px 0" }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ flex: "1 0", display: "flex", alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "subtitle1" }, { children: name })), category === null || category === void 0 ? void 0 : category.map(function (label) {
73
78
  return label && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Tooltip, __assign({ title: "".concat(label), placement: "bottom" }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Chip, { color: "default", label: label, size: "medium", sx: { ml: 1, maxWidth: '158px', overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } }, label) })));
74
- }), aiType === 2 && (0, jsx_runtime_1.jsx)(fbm_ui_1.Chip, { variant: "filled", color: "primary", label: "AI\u8BC4\u5206", size: "medium", sx: { ml: 1 } }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ sx: { ml: 2 }, variant: "body2", color: "secondary" }, { children: (0, utils_1.getSecondToTime)(Number(duration)) }))] })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: 62, mr: 1, textAlign: "right" }, { children: [!ai_question_1.TEST_TYPE_READONLY.includes(type) && ((0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ size: "small", onClick: handleEdit }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.EditIcon, {}) }))), (0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ size: "small", onClick: handleRemove }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.DeleteIcon, {}) }))] }))] })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ mt: 1, display: "flex", alignItems: "center", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "secondary" }, { children: desc })), !ai_question_1.DISABLED_REPEAT_TYPE.includes(type) && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Switch, { sx: { flexShrink: 0, ml: 2, mr: 2 }, size: "small", checked: answerStatus === 1, label: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ fontSize: 12, lineHeight: 1.5, color: "rgba(0, 0, 0, 0.56)" }, { children: "\u5141\u8BB8\u91CD\u590D\u7B54\u9898" })), onChange: handleAnswerStatus }))] }))] }))] })), isAiAnalysis && ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", alignItems: "center", padding: "3px 0 3px 40px" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: "\u6743\u91CD\u5360\u6BD4\uFF1A" })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Input, { sx: { width: 82 }, size: "small", value: weight, endAdornment: "%", disabled: disabledWeight, onChange: handleWeightChange, onBlur: handleWeightBlur })] })))] })));
79
+ }), aiType === 2 && (0, jsx_runtime_1.jsx)(fbm_ui_1.Chip, { variant: "filled", color: "primary", label: "AI\u8BC4\u5206", size: "medium", sx: { ml: 1 } })] })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: 62, mr: 1, textAlign: "right" }, { children: [!ai_question_1.TEST_TYPE_READONLY.includes(type) && ((0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ size: "small", onClick: handleEdit }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.EditIcon, {}) }))), (0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ size: "small", onClick: handleRemove }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.DeleteIcon, {}) }))] }))] })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ mt: 1, pr: 2, display: "flex", alignItems: "center", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "secondary" }, { children: formatQuestion })), (0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ sx: { ml: 2, flexShrink: 0 }, variant: "caption", color: "secondary", alignSelf: "flex-end" }, { children: ["\u56DE\u7B54\u65F6\u957F:\u00A0", (0, utils_1.getSecondToTime)(Number(duration))] }))] }))] }))] })), (!ai_question_1.DISABLED_REPEAT_TYPE.includes(type) || isAiAnalysis) && ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", justifyContent: "space-between", spacing: 1, height: 42 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ display: "flex", alignItems: "center", padding: "3px 0 3px 40px" }, { children: isAiAnalysis && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2" }, { children: "\u6743\u91CD\u5360\u6BD4\uFF1A" })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Input, { sx: { width: 92 }, size: "small", value: weight, endAdornment: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary" }, { children: "%" })), disabled: disabledWeight, onChange: handleWeightChange, onBlur: handleWeightBlur }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Tooltip, __assign({ title: "AI\u6D4B\u8BC4\u9898\u53EF\u4EE5\u8BBE\u7F6E\u6743\u91CD\uFF0C\u7CFB\u7EDF\u5BF9\u5019\u9009\u4EBA\u89C6\u9891\u9762\u8BD5\u7ED3\u679C\u4F1A\u52A0\u5165\u6743\u91CD\u8FDB\u884C\u8BA1\u7B97\uFF0C\u5F97\u51FAAI\u89C6\u9891\u9762\u8BD5\u5F97\u5206\u3002\u8BBE\u7F6E\u540E5\u5206\u949F\u8D77\u6548" }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ style: { display: 'flex', alignItems: 'center', marginLeft: '8px' } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.InfoIcon, { sx: { fontSize: 14, color: 'rgba(0, 0, 0, 0.26)' } }) })) }))] })) })), !ai_question_1.DISABLED_REPEAT_TYPE.includes(type) && ((0, jsx_runtime_1.jsx)(mui_1.Stack, __assign({ direction: "row" }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Switch, { sx: { flexShrink: 0, ml: 2, mr: 2 }, size: "small", checked: answerStatus === 1, label: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ fontSize: 12, lineHeight: 1.5, color: "rgba(0, 0, 0, 0.56)" }, { children: "\u5141\u8BB8\u91CD\u590D\u7B54\u9898" })), onChange: handleAnswerStatus }) })))] })))] })));
75
80
  };
76
81
  exports.default = (0, react_1.memo)(QuestionModelListItem);
@@ -15,23 +15,45 @@ 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 array_move_1 = require("array-move");
21
- var sortablejs_1 = __importDefault(require("sortablejs"));
18
+ var const_1 = require("../QuestionUpdate/const");
19
+ var AutoCombine_1 = __importDefault(require("./AutoCombine"));
20
+ var Item_1 = __importDefault(require("./Item"));
21
+ var question_ability_store_1 = require("../../../../store/ai-ability-select/question-ability-store");
22
+ var question_template_store_1 = require("../../../../store/ai-question/question-template-store");
23
+ var utils_1 = require("../../../../utils/utils");
22
24
  var ai_question_1 = require("../../../../constants/ai-question");
25
+ var ai_question_2 = require("../../../../enum/ai-question");
23
26
  var question_model_store_1 = require("../../../../store/ai-question/question-model-store");
24
- var Item_1 = __importDefault(require("./Item"));
27
+ var array_move_1 = require("array-move");
28
+ var fbm_ui_1 = require("fbm-ui");
29
+ var react_1 = require("react");
30
+ var sortablejs_1 = __importDefault(require("sortablejs"));
31
+ var LANGUAGE_TYPE_LIST = [ai_question_2.LANGUAGE_TYPE.MANDARIN, ai_question_2.LANGUAGE_TYPE.CANTONESE, ai_question_2.LANGUAGE_TYPE.JAPANESE, ai_question_2.LANGUAGE_TYPE.ENGLISH];
25
32
  var QuestionModelList = function () {
26
33
  var ref = (0, react_1.useRef)();
27
34
  var sortable = (0, react_1.useRef)();
28
- var _a = (0, question_model_store_1.useQuestionModelStore)(), questionModelData = _a.questionModelData, updateModel = _a.updateModel;
29
- var _b = (questionModelData || {}).steps, steps = _b === void 0 ? [] : _b;
35
+ var _a = (0, question_model_store_1.useQuestionModelStore)(), questionModelData = _a.questionModelData, updateModel = _a.updateModel, addModel = _a.addModel;
36
+ var _b = (0, question_ability_store_1.useAiAbilityListStore)(), selctedAbilitys = _b.selctedAbilitys, aiAbilityList = _b.aiAbilityList;
37
+ var aiEvaluationData = (0, question_template_store_1.useQuestionTemplateStore)(function (store) { return [store.aiEvaluationData]; }).aiEvaluationData;
38
+ var _c = (questionModelData || {}).steps, steps = _c === void 0 ? [] : _c;
30
39
  var lastAiTestIndex = 0;
31
40
  steps.forEach(function (step, i) {
32
41
  if ((0, ai_question_1.IS_AI_ANALYSIS)(step))
33
42
  lastAiTestIndex = i;
34
43
  });
44
+ var getQuestionStep = function (item) { return (__assign(__assign(__assign({}, const_1.defaultQuestionParams), item), { aiAbilities: item.aiAbilities.filter(function (_a) {
45
+ var type = _a.type;
46
+ return !LANGUAGE_TYPE_LIST.includes(type);
47
+ }), uniqueId: (0, utils_1.uniqueId)(), originToken: item.token })); };
48
+ var handleUseQuestion = (0, react_1.useCallback)(function (items) {
49
+ addModel(items.map(getQuestionStep));
50
+ }, [addModel]);
51
+ var handleAutoCombine = (0, react_1.useCallback)(function () {
52
+ var combineTokens = selctedAbilitys.length > 0 ? selctedAbilitys : aiAbilityList.filter(function (v) { return v.isAI; }).map(function (item) { return item.token; });
53
+ console.log(combineTokens);
54
+ var random = aiEvaluationData[0].list.filter(function (item) { return combineTokens === null || combineTokens === void 0 ? void 0 : combineTokens.includes(item === null || item === void 0 ? void 0 : item.token); }).map(function (v) { return v.list; }) || [];
55
+ handleUseQuestion(random.map(function (item) { return (__assign(__assign({}, item[Math.floor(Math.random() * item.length)]), { weight: (100 / combineTokens.length).toFixed(2) })); }));
56
+ }, [aiAbilityList, aiEvaluationData, handleUseQuestion, selctedAbilitys]);
35
57
  (0, react_1.useEffect)(function () {
36
58
  if (steps) {
37
59
  sortable.current && sortable.current.destroy();
@@ -47,6 +69,6 @@ var QuestionModelList = function () {
47
69
  }, [questionModelData, updateModel, steps]);
48
70
  return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ width: "100%", sx: steps.length > 0 ? {} : { height: 'calc(100% - 100px)', display: 'flex', alignItems: 'center', justifyContent: 'center' }, ref: ref }, { children: steps.length > 0 ? (steps.map(function (item, index) {
49
71
  return ((0, jsx_runtime_1.jsx)(Item_1.default, __assign({ steps: steps, index: index, disabledWeight: index === lastAiTestIndex }, item), item.uniqueId || item.token));
50
- })) : ((0, jsx_runtime_1.jsx)(fbm_ui_1.Empty, { desc: "\u6682\u65E0\u6570\u636E" })) })));
72
+ })) : ((0, jsx_runtime_1.jsx)(AutoCombine_1.default, { onAutoCombine: handleAutoCombine })) })));
51
73
  };
52
74
  exports.default = QuestionModelList;
@@ -17,9 +17,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
18
  var const_1 = require("../QuestionUpdate/const");
19
19
  var Header_1 = __importDefault(require("./Header"));
20
+ var Interactive_1 = __importDefault(require("./Interactive"));
20
21
  var List_1 = __importDefault(require("./List"));
21
22
  var Skeleton_1 = __importDefault(require("./Skeleton"));
22
23
  var styled_1 = require("./styled");
24
+ var question_ability_store_1 = require("../../../../store/ai-ability-select/question-ability-store");
23
25
  var ai_question_1 = require("../../../../services/ai-question");
24
26
  var global_store_1 = require("../../../../store/ai-question/global-store");
25
27
  var question_model_store_1 = require("../../../../store/ai-question/question-model-store");
@@ -31,11 +33,13 @@ var Question = function () {
31
33
  var _a = (0, global_store_1.useAiQuestionStore)(function (store) { return [store.token, store.name, store.templateList]; }), token = _a.token, name = _a.name, templateList = _a.templateList, onLoad = _a.onLoad;
32
34
  var aiEvaluationData = (0, question_template_store_1.useQuestionTemplateStore)(function (store) { return [store.aiEvaluationData]; }).aiEvaluationData;
33
35
  var _b = (0, question_model_store_1.useQuestionModelStore)(function (store) { return [store.questionModelData]; }), questionModelData = _b.questionModelData, updateModel = _b.updateModel, addModel = _b.addModel;
36
+ var setSelctedAbilitys = (0, question_ability_store_1.useAiAbilityListStore)().setSelctedAbilitys;
34
37
  var _c = (0, ahooks_1.useRequest)(function () { return (0, ai_question_1.PostAiModelDetails)(token); }, {
35
38
  manual: true,
36
39
  onSuccess: function (_a) {
37
40
  var data = _a.data;
38
41
  updateModel(data);
42
+ setSelctedAbilitys((data === null || data === void 0 ? void 0 : data.selectAbilities) || []);
39
43
  onLoad === null || onLoad === void 0 ? void 0 : onLoad(data.steps);
40
44
  },
41
45
  }), postAiModelDetails = _c.run, loading = _c.loading;
@@ -71,6 +75,6 @@ var Question = function () {
71
75
  }
72
76
  }
73
77
  }, [token, aiEvaluationData, questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.steps, templateList, addModel]);
74
- return ((0, jsx_runtime_1.jsx)(styled_1.QuestionModelRoot, { children: loading ? ((0, jsx_runtime_1.jsx)(Skeleton_1.default, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header_1.default, {}), (0, jsx_runtime_1.jsx)(List_1.default, {})] })) }));
78
+ return ((0, jsx_runtime_1.jsx)(styled_1.QuestionModelRoot, { children: loading ? ((0, jsx_runtime_1.jsx)(Skeleton_1.default, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Header_1.default, {}), (0, jsx_runtime_1.jsx)(Interactive_1.default, { mode: "Traditional" }), (0, jsx_runtime_1.jsx)(List_1.default, {})] })) }));
75
79
  };
76
80
  exports.default = Question;
@@ -1,4 +1,5 @@
1
1
  import { QuestionParams } from '../QuestionUpdate/interface';
2
+ import { AiInterviewerProfile } from '@/modules/ai-question/interface';
2
3
  export interface QuestionModelStep extends QuestionParams {
3
4
  uniqueId?: string;
4
5
  isNotCompute?: boolean;
@@ -7,6 +8,9 @@ export interface QuestionModelData {
7
8
  name?: string | undefined;
8
9
  token?: string;
9
10
  duration?: number;
11
+ selectAbilities?: string[];
12
+ interactType?: number;
13
+ aiInterviewerProfile?: AiInterviewerProfile;
10
14
  steps: QuestionModelStep[];
11
15
  }
12
16
  export interface QuestionModelDataRes {
@@ -17,3 +21,6 @@ export interface QuestionModelListItemProps extends QuestionModelStep {
17
21
  index: number;
18
22
  disabledWeight: boolean;
19
23
  }
24
+ export interface AutoCombineProps {
25
+ onAutoCombine: () => void;
26
+ }
@@ -28,7 +28,7 @@ var QuestionPreview = function () {
28
28
  var _k = (0, react_1.useState)(), values = _k[0], setValues = _k[1];
29
29
  var _l = (0, react_1.useState)('none'), display = _l[0], setDisplay = _l[1];
30
30
  (0, react_1.useEffect)(function () {
31
- setValues({ name: name, broadcastType: broadcastType, desc: desc, prepareTime: prepareTime, duration: duration, minResponseDuration: minResponseDuration });
31
+ setValues({ name: name, broadcastType: broadcastType, desc: desc, prepareTime: prepareTime, duration: duration, minResponseDuration: minResponseDuration, questions: [] });
32
32
  setDisplay(visible ? 'block' : 'none');
33
33
  }, [name, broadcastType, desc, prepareTime, duration, visible, minResponseDuration]);
34
34
  return ((0, jsx_runtime_1.jsx)(styled_1.PreviewRoot, __assign({ style: { display: display } }, { children: (extra === null || extra === void 0 ? void 0 : extra.icon) ? ((0, jsx_runtime_1.jsx)("img", { src: extra === null || extra === void 0 ? void 0 : extra.icon, alt: "", style: { width: 250 } })) : ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ width: 500 }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "h5", textAlign: "center", mb: 3 }, { children: [ai_question_1.QUESTION_TYPE_MAPPING_LABEL[type], "\uFF08\u9884\u89C8\uFF09"] })), values && (0, jsx_runtime_1.jsx)(Form_1.default, { preview: true, aiShowType: ai_question_2.ADD_QUESTION_TYPE.FREE, initialValues: values, values: values })] }))) })));
@@ -8,4 +8,4 @@ export declare const PreviewRoot: import("@emotion/styled").StyledComponent<{
8
8
  variant?: "elevation" | "outlined" | undefined;
9
9
  } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
10
10
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
11
- }, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "sx" | "elevation" | "variant" | "square"> & import("@mui/system/createStyled").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
11
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | "children" | "sx" | "elevation" | "square" | "variant"> & import("@mui/system/createStyled").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
@@ -15,10 +15,9 @@ 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 mui_1 = require("fbm-ui/lib/mui");
21
- var ahooks_1 = require("ahooks");
18
+ var BaseAccordion_1 = __importDefault(require("../BaseAccordion"));
19
+ var const_1 = require("../QuestionUpdate/const");
20
+ var question_ability_store_1 = require("../../../../store/ai-ability-select/question-ability-store");
22
21
  var SvgIcon_1 = __importDefault(require("../../../../components/SvgIcon"));
23
22
  var ai_question_1 = require("../../../../constants/ai-question");
24
23
  var ai_question_2 = require("../../../../enum/ai-question");
@@ -27,12 +26,16 @@ var question_model_store_1 = require("../../../../store/ai-question/question-mod
27
26
  var question_template_store_1 = require("../../../../store/ai-question/question-template-store");
28
27
  var question_update_store_1 = require("../../../../store/ai-question/question-update-store");
29
28
  var utils_1 = require("../../../../utils/utils");
30
- var BaseAccordion_1 = __importDefault(require("../BaseAccordion"));
31
- var const_1 = require("../QuestionUpdate/const");
29
+ var ahooks_1 = require("ahooks");
30
+ var fbm_ui_1 = require("fbm-ui");
31
+ var mui_1 = require("fbm-ui/lib/mui");
32
+ var react_1 = require("react");
32
33
  var AiEvaluation = function () {
33
34
  var onOpenTemplate = (0, global_store_1.useAiQuestionStore)(function (store) { return [store.onOpenTemplate]; }).onOpenTemplate;
34
35
  var updateQuestionState = (0, question_update_store_1.useUpdateQuestionStore)(function (store) { return [store.updateQuestionState]; }).updateQuestionState;
35
36
  var questionModelData = (0, question_model_store_1.useQuestionModelStore)(function (store) { return [store.questionModelData]; }).questionModelData;
37
+ var isEdit = ((0, question_model_store_1.getQuestionModelStore)() || {}).isEdit;
38
+ var selctedAbilitys = (0, question_ability_store_1.useAiAbilityListStore)().selctedAbilitys;
36
39
  var aiEvaluationData = (0, question_template_store_1.useQuestionTemplateStore)(function (store) { return [store.aiEvaluationData]; }).aiEvaluationData;
37
40
  var _a = (0, ahooks_1.useSetState)({
38
41
  addQuestionOpen: false,
@@ -49,7 +52,9 @@ var AiEvaluation = function () {
49
52
  }) }));
50
53
  return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", justifyContent: "space-between", alignItems: "center", mb: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ variant: "outlined", color: "inherit", icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.LayerOutlineIcon, {}), onClick: function () { return onOpenTemplate === null || onOpenTemplate === void 0 ? void 0 : onOpenTemplate(questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.steps); } }, { children: "\u5C97\u4F4D\u6A21\u7248\u5E93" })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Popover, __assign({ open: addQuestionOpen, arrow: false, content: content, onClickAway: function () { return setState({ addQuestionOpen: false }); } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Button, __assign({ variant: "outlined", icon: (0, jsx_runtime_1.jsx)(fbm_ui_1.AddIcon, {}), onClick: function () { return setState({ addQuestionOpen: true }); } }, { children: "\u81EA\u5B9A\u4E49\u9898\u76EE" })) }))] })), aiEvaluationData.map(function (_a, index) {
51
54
  var name = _a.name, list = _a.list;
52
- return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ fontSize: 12, lineHeight: 1.5, weight: "500", mb: 2 }, { children: name })), list.map(function (item, i) { return ((0, jsx_runtime_1.jsx)(BaseAccordion_1.default, __assign({ index: i, isShowOnlyAITest: showOnlyAITest, isShowDesc: index !== 0, isShowSummaryAction: index !== 0, isShowConfirm: index !== 0 }, item), item.name + i)); })] }, name));
55
+ return ((0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ fontSize: 12, lineHeight: 1.5, weight: "500", mb: 2 }, { children: name })), list
56
+ .filter(function (v) { return !isEdit || !v.isNew || selctedAbilitys.includes(v.token); })
57
+ .map(function (item, i) { return ((0, jsx_runtime_1.jsx)(BaseAccordion_1.default, __assign({ index: i, isShowOnlyAITest: showOnlyAITest, isShowDesc: index !== 0, isShowSummaryAction: index !== 0, isShowConfirm: index !== 0 }, item), item.name + i)); })] }, name));
53
58
  })] }));
54
59
  };
55
60
  exports.default = AiEvaluation;
@@ -1,3 +1,4 @@
1
+ import { QuestionTemplateProps } from './interface';
1
2
  import { FC } from 'react';
2
- declare const QuestionTemplate: FC;
3
+ declare const QuestionTemplate: FC<QuestionTemplateProps>;
3
4
  export default QuestionTemplate;
@@ -15,16 +15,21 @@ 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 fbm_ui_1 = require("fbm-ui");
19
- var ahooks_1 = require("ahooks");
20
- var ai_question_1 = require("../../../../services/ai-question");
21
- var question_template_store_1 = require("../../../../store/ai-question/question-template-store");
22
18
  var AiEvaluation_1 = __importDefault(require("./AiEvaluation"));
23
19
  var Skeleton_1 = __importDefault(require("./Skeleton"));
20
+ var question_ability_store_1 = require("../../../../store/ai-ability-select/question-ability-store");
21
+ var enterprise_store_1 = require("../../../../store/enterprise/enterprise-store");
22
+ var ai_question_1 = require("../../../../services/ai-question");
23
+ var question_template_store_1 = require("../../../../store/ai-question/question-template-store");
24
+ var ahooks_1 = require("ahooks");
25
+ var fbm_ui_1 = require("fbm-ui");
24
26
  var QuestionTemplate = function () {
25
27
  var updateAiEvaluationData = (0, question_template_store_1.useQuestionTemplateStore)().updateAiEvaluationData;
26
- var loading = (0, ahooks_1.useRequest)(ai_question_1.PostAiModelQuestions, {
28
+ var selctedAbilitys = (0, question_ability_store_1.useAiAbilityListStore)().selctedAbilitys;
29
+ var enterprise = (0, enterprise_store_1.useEnterpriseStore)().enterprise;
30
+ var loading = (0, ahooks_1.useRequest)(function () { return (0, ai_question_1.PostAiModelQuestions)(__assign({ extraAbilityTokens: selctedAbilitys }, enterprise)); }, {
27
31
  manual: false,
32
+ refreshDeps: [selctedAbilitys, enterprise],
28
33
  onSuccess: function (_a) {
29
34
  var data = _a.data;
30
35
  return updateAiEvaluationData(data);
@@ -9,6 +9,10 @@ export interface AiEvaluationListExtra {
9
9
  riskMaxScore?: number;
10
10
  maxScore?: number;
11
11
  }
12
+ interface Question {
13
+ content: '';
14
+ videoUrl: '';
15
+ }
12
16
  export interface AiEvaluationList {
13
17
  aiAbilities: BaseAiAbilityParams[];
14
18
  name: string;
@@ -19,6 +23,7 @@ export interface AiEvaluationList {
19
23
  isDefault: boolean;
20
24
  duration: number;
21
25
  prepareTime: number;
26
+ questions: Question[];
22
27
  minResponseDuration: number;
23
28
  extra: AiEvaluationListExtra;
24
29
  broadcastType: number;
@@ -28,7 +33,9 @@ export interface AiEvaluationList {
28
33
  }
29
34
  export interface AiEvaluationDataList {
30
35
  name: string;
36
+ token: string;
31
37
  positionName?: string;
38
+ isNew: boolean;
32
39
  list: AiEvaluationList[];
33
40
  }
34
41
  export interface AiEvaluationData {
@@ -42,3 +49,6 @@ export interface AiEvaluationState {
42
49
  addQuestionOpen: boolean;
43
50
  showOnlyAITest: boolean;
44
51
  }
52
+ export interface QuestionTemplateProps {
53
+ }
54
+ export {};
@@ -1,4 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { QuestionFormProps } from './interface';
2
- import React from 'react';
3
- declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<QuestionFormProps & React.RefAttributes<any>>>;
3
+ declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<QuestionFormProps & import("react").RefAttributes<any>>>;
4
4
  export default _default;