eli-video-interview 1.2.42-alpha.41 → 1.2.42-alpha.43

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 (23) hide show
  1. package/esm/enum/ai-question.d.ts +5 -1
  2. package/esm/enum/ai-question.js +4 -0
  3. package/esm/modules/ai-ability-select/Root.js +3 -2
  4. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +2 -2
  5. package/esm/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +2 -1
  6. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +2 -2
  7. package/esm/modules/ai-ability-select/components/AiAbilityItem/index.js +4 -4
  8. package/esm/modules/ai-ability-select/components/AiAbilityList/index.js +14 -2
  9. package/esm/modules/ai-question/components/AiAssessmentCriteria/const.d.ts +12 -0
  10. package/esm/modules/ai-question/components/AiAssessmentCriteria/const.js +14 -2
  11. package/esm/modules/ai-question/components/AiAssessmentCriteria/index.js +12 -18
  12. package/lib/enum/ai-question.d.ts +5 -1
  13. package/lib/enum/ai-question.js +4 -0
  14. package/lib/modules/ai-ability-select/Root.js +3 -2
  15. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.d.ts +2 -2
  16. package/lib/modules/ai-ability-select/components/AiAbilityItem/AiAbilityDetail.js +2 -1
  17. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.d.ts +2 -2
  18. package/lib/modules/ai-ability-select/components/AiAbilityItem/index.js +4 -4
  19. package/lib/modules/ai-ability-select/components/AiAbilityList/index.js +14 -2
  20. package/lib/modules/ai-question/components/AiAssessmentCriteria/const.d.ts +12 -0
  21. package/lib/modules/ai-question/components/AiAssessmentCriteria/const.js +14 -2
  22. package/lib/modules/ai-question/components/AiAssessmentCriteria/index.js +11 -17
  23. package/package.json +4 -2
@@ -26,7 +26,11 @@ export declare enum LANGUAGE_TYPE {
26
26
  JAPANESE = 12,
27
27
  ENGLISH = 11,
28
28
  KOREAN = 19,
29
- SPANISH = 20
29
+ SPANISH = 20,
30
+ ITALIAN = 21,
31
+ RUSSIAN = 22,
32
+ FRENCH = 23,
33
+ GERMAN = 24
30
34
  }
31
35
  /**
32
36
  * 题目类型
@@ -30,6 +30,10 @@ export var LANGUAGE_TYPE;
30
30
  LANGUAGE_TYPE[LANGUAGE_TYPE["ENGLISH"] = 11] = "ENGLISH";
31
31
  LANGUAGE_TYPE[LANGUAGE_TYPE["KOREAN"] = 19] = "KOREAN";
32
32
  LANGUAGE_TYPE[LANGUAGE_TYPE["SPANISH"] = 20] = "SPANISH";
33
+ LANGUAGE_TYPE[LANGUAGE_TYPE["ITALIAN"] = 21] = "ITALIAN";
34
+ LANGUAGE_TYPE[LANGUAGE_TYPE["RUSSIAN"] = 22] = "RUSSIAN";
35
+ LANGUAGE_TYPE[LANGUAGE_TYPE["FRENCH"] = 23] = "FRENCH";
36
+ LANGUAGE_TYPE[LANGUAGE_TYPE["GERMAN"] = 24] = "GERMAN";
33
37
  })(LANGUAGE_TYPE || (LANGUAGE_TYPE = {}));
34
38
  /**
35
39
  * 题目类型
@@ -21,7 +21,8 @@ import { Stack } from 'fbm-ui/lib/mui';
21
21
  import { forwardRef, memo, useEffect } from 'react';
22
22
  var ScrollDialogContent = styled(Box)({
23
23
  maxHeight: 'calc(100vh - 192px)',
24
- overflow: 'scroll',
24
+ height: 'calc(100vh - 192px)',
25
+ overflow: 'hidden',
25
26
  });
26
27
  var AiAbilitySelectRoot = forwardRef(function (_a, ref) {
27
28
  var jobToken = _a.jobToken, thirdToken = _a.thirdToken, token = _a.token, hiddenTips = _a.hiddenTips;
@@ -41,7 +42,7 @@ var AiAbilitySelectRoot = forwardRef(function (_a, ref) {
41
42
  setEnterprise({ jobToken: jobToken, thirdToken: thirdToken });
42
43
  // eslint-disable-next-line react-hooks/exhaustive-deps
43
44
  }, [jobToken, thirdToken]);
44
- return (_jsx(ScrollDialogContent, __assign({ ref: ref }, { children: _jsxs(Box, __assign({ display: "flex", flexDirection: "column", width: 760 }, { children: [_jsxs(Stack, __assign({ spacing: 2, mb: 2 }, { children: [_jsx(Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: !hiddenTips ? '请选择要优先使用的考察能力,也可以点击「下一步」直接出题' : '已选择的考察能力会优先在面试题目中展示' })), (aiAbilityList === null || aiAbilityList === void 0 ? void 0 : aiAbilityList.some(function (v) { return v.isNew; })) && (_jsxs(Stack, __assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [_jsx("img", { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn", alt: "", width: 38, height: 16 }), _jsx(Typography, __assign({ variant: "caption", color: "textSecondary" }, { children: "AI\u6839\u636E\u5C97\u4F4D\u4FE1\u606F\u751F\u6210\u7684\u80FD\u529B\uFF0C\u521B\u5EFA\u5B8C\u6B65\u9AA4\u540E\uFF0C\u4F1A\u81EA\u52A8\u5C06\u9009\u62E9\u7684\u65B0\u589E\u80FD\u529B\u52A0\u5165\u5230\u8BBE\u7F6E\u9875\u7684\u8003\u5BDF\u80FD\u529B\u5217\u8868\u4E2D\u3002" }))] })))] })), _jsx(AiAbilityList, { items: aiAbilityList })] })) })));
45
+ return (_jsx(ScrollDialogContent, __assign({ ref: ref }, { children: _jsxs(Box, __assign({ display: "flex", flexDirection: "column", width: 760, height: 1 }, { children: [_jsxs(Stack, __assign({ spacing: 2, mb: 2 }, { children: [_jsx(Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: !hiddenTips ? '请选择要优先使用的考察能力,也可以点击「下一步」直接出题' : '已选择的考察能力会优先在面试题目中展示' })), (aiAbilityList === null || aiAbilityList === void 0 ? void 0 : aiAbilityList.some(function (v) { return v.isNew; })) && (_jsxs(Stack, __assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [_jsx("img", { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn", alt: "", width: 38, height: 16 }), _jsx(Typography, __assign({ variant: "caption", color: "textSecondary" }, { children: "AI\u6839\u636E\u5C97\u4F4D\u4FE1\u606F\u751F\u6210\u7684\u80FD\u529B\uFF0C\u521B\u5EFA\u5B8C\u6B65\u9AA4\u540E\uFF0C\u4F1A\u81EA\u52A8\u5C06\u9009\u62E9\u7684\u65B0\u589E\u80FD\u529B\u52A0\u5165\u5230\u8BBE\u7F6E\u9875\u7684\u8003\u5BDF\u80FD\u529B\u5217\u8868\u4E2D\u3002" }))] })))] })), _jsx(AiAbilityList, { items: aiAbilityList })] })) })));
45
46
  });
46
47
  AiAbilitySelectRoot.displayName = 'AiAbilitySelectRoot';
47
48
  export default memo(AiAbilitySelectRoot);
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { AiAbilityDetailProps } from './interface';
3
- declare const AiAbilityDetail: React.FC<AiAbilityDetailProps>;
4
- export default AiAbilityDetail;
3
+ declare const _default: import("react").NamedExoticComponent<AiAbilityDetailProps>;
4
+ export default _default;
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { Box, Typography } from 'fbm-ui';
14
14
  import { Stack } from 'fbm-ui/lib/mui';
15
+ import { memo } from 'react';
15
16
  var AiAbilityDetail = function (_a) {
16
17
  var detail = _a.detail;
17
18
  return (_jsx(Box, __assign({ p: 2, maxHeight: 582, overflow: "scroll" }, { children: detail === null || detail === void 0 ? void 0 : detail.map(function (v) {
@@ -19,4 +20,4 @@ var AiAbilityDetail = function (_a) {
19
20
  return (_jsxs(Stack, __assign({ mb: 2, spacing: 1, width: 300 }, { children: [_jsx(Typography, __assign({ variant: "body2", fontWeight: 500 }, { children: v.name })), _jsx(Typography, __assign({ variant: "body2", color: "textSecondary" }, { children: (_a = v.items) === null || _a === void 0 ? void 0 : _a.join('\n') }))] }), v.name));
20
21
  }) })));
21
22
  };
22
- export default AiAbilityDetail;
23
+ export default memo(AiAbilityDetail);
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { AiAbilityItemProps } from './interface';
3
- declare const AiAbilityItem: React.FC<AiAbilityItemProps>;
4
- export default AiAbilityItem;
3
+ declare const _default: import("react").NamedExoticComponent<AiAbilityItemProps>;
4
+ export default _default;
@@ -39,15 +39,14 @@ import AiAbilityDetail from './AiAbilityDetail';
39
39
  import { NewBadge } from './styled';
40
40
  import { useAiAbilityListStore } from "../../../../store/ai-ability-select/question-ability-store";
41
41
  import { Box, Checkbox, Paper, Popover, Typography } from 'fbm-ui';
42
+ import { memo } from 'react';
42
43
  var AiAbilityItem = function (_a) {
43
44
  var name = _a.name, isNew = _a.isNew, token = _a.token, detail = _a.detail;
44
45
  var _b = useAiAbilityListStore(), selctedAbilitys = _b.selctedAbilitys, setSelctedAbilitys = _b.setSelctedAbilitys;
45
46
  var handleChange = function (_, checked) {
46
47
  return setSelctedAbilitys(__spreadArray(__spreadArray([], __read(selctedAbilitys.filter(function (v) { return v !== token; })), false), __read((checked ? [token] : [])), false));
47
48
  };
48
- return (_jsx(Paper, __assign({ variant: "outlined" }, { children: _jsxs(Box, __assign({ sx: { pl: 2, width: 240, height: 54, display: 'flex', alignItems: 'center', position: 'relative' } }, { children: [_jsx(Checkbox, { onChange: handleChange, label: _jsx(AiAbilityLable, { name: name, detail: detail }), checked: selctedAbilitys.includes(token),
49
- // @ts-ignore
50
- sx: { width: 1, height: 1 } }), isNew && _jsx(NewBadge, { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn" })] })) })));
49
+ return (_jsx(Paper, __assign({ variant: "outlined" }, { children: _jsxs(Box, __assign({ sx: { pl: 2, width: 240, height: 54, display: 'flex', alignItems: 'center', position: 'relative' } }, { children: [_jsx(Checkbox, { onChange: handleChange, label: _jsx(MemoAiAbilityLable, { name: name, detail: detail }), checked: selctedAbilitys.includes(token), sx: { width: 1, height: 1 } }), isNew && _jsx(NewBadge, { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn" })] })) })));
51
50
  };
52
51
  var AiAbilityLable = function (_a) {
53
52
  var name = _a.name, detail = _a.detail;
@@ -55,4 +54,5 @@ var AiAbilityLable = function (_a) {
55
54
  return (_jsx(Popover, __assign({ content: _jsx(AiAbilityDetail, { detail: detail }), trigger: "hover", placement: "right" }, { children: _jsx(Typography, __assign({ noWrap: true, maxWidth: 180, variant: "body2", sx: { mt: 0.5 } }, { children: name })) })));
56
55
  return (_jsx(Typography, __assign({ noWrap: true, maxWidth: 180, variant: "body2" }, { children: name })));
57
56
  };
58
- export default AiAbilityItem;
57
+ var MemoAiAbilityLable = memo(AiAbilityLable);
58
+ export default memo(AiAbilityItem);
@@ -11,9 +11,21 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import AiAbilityItem from '../AiAbilityItem';
14
- import { Grid } from 'fbm-ui';
14
+ import AutoSizer from 'react-virtualized-auto-sizer';
15
+ import { FixedSizeGrid as Grid } from 'react-window';
16
+ var Cell = function (_a) {
17
+ var data = _a.data, columnIndex = _a.columnIndex, rowIndex = _a.rowIndex, style = _a.style;
18
+ var item = data[rowIndex * 3 + columnIndex];
19
+ if (!item) {
20
+ return null;
21
+ }
22
+ return (_jsx("div", __assign({ style: __assign(__assign({}, style), { width: style.width - 8, height: style.height - 8 }) }, { children: _jsx(AiAbilityItem, __assign({}, item)) })));
23
+ };
15
24
  var AiAbilityList = function (_a) {
16
25
  var items = _a.items;
17
- return (_jsx(Grid, __assign({ container: true, spacing: 1, rowSpacing: 1, columnSpacing: 1 }, { children: items === null || items === void 0 ? void 0 : items.map(function (item) { return (_jsx(Grid, __assign({ item: true }, { children: _jsx(AiAbilityItem, __assign({}, item)) }), item.token)); }) })));
26
+ return (_jsx(AutoSizer, { children: function (_a) {
27
+ var height = _a.height, width = _a.width;
28
+ return (_jsx(Grid, __assign({ columnCount: 3, columnWidth: 240, overscanRowCount: 10, height: height, rowCount: Math.ceil(items.length / 3), rowHeight: 62, width: width, itemData: items }, { children: Cell })));
29
+ } }));
18
30
  };
19
31
  export default AiAbilityList;
@@ -5,6 +5,10 @@ export declare const LANGUAGE_NAMES: {
5
5
  4: string;
6
6
  5: string;
7
7
  6: string;
8
+ 7: string;
9
+ 8: string;
10
+ 9: string;
11
+ 10: string;
8
12
  };
9
13
  export declare const CATEGORY_NAME: {
10
14
  1: string;
@@ -20,6 +24,10 @@ export declare const SERVER_LANGUAGE_TYPE: {
20
24
  13: number;
21
25
  19: number;
22
26
  20: number;
27
+ 21: number;
28
+ 22: number;
29
+ 23: number;
30
+ 24: number;
23
31
  };
24
32
  export declare const LANGUAGE_SHOW_NAME: {
25
33
  2: string;
@@ -36,5 +44,9 @@ export declare const LANGUAGE_SHOW_NAMES: {
36
44
  4: string;
37
45
  5: string;
38
46
  6: string;
47
+ 7: string;
48
+ 8: string;
49
+ 9: string;
50
+ 10: string;
39
51
  };
40
52
  export declare const LANGUAGE_SHOW_NAMES_ORDER: number[];
@@ -1,6 +1,6 @@
1
1
  var _a, _b;
2
2
  import { CATEGORY_TYPE, LANGUAGE_TYPE } from "../../../../enum/ai-question";
3
- var MANDARIN = LANGUAGE_TYPE.MANDARIN, CANTONESE = LANGUAGE_TYPE.CANTONESE, JAPANESE = LANGUAGE_TYPE.JAPANESE, ENGLISH = LANGUAGE_TYPE.ENGLISH, KOREAN = LANGUAGE_TYPE.KOREAN, SPANISH = LANGUAGE_TYPE.SPANISH;
3
+ var MANDARIN = LANGUAGE_TYPE.MANDARIN, CANTONESE = LANGUAGE_TYPE.CANTONESE, JAPANESE = LANGUAGE_TYPE.JAPANESE, ENGLISH = LANGUAGE_TYPE.ENGLISH, KOREAN = LANGUAGE_TYPE.KOREAN, SPANISH = LANGUAGE_TYPE.SPANISH, ITALIAN = LANGUAGE_TYPE.ITALIAN, RUSSIAN = LANGUAGE_TYPE.RUSSIAN, FRENCH = LANGUAGE_TYPE.FRENCH, GERMAN = LANGUAGE_TYPE.GERMAN;
4
4
  var LANGUAGE = CATEGORY_TYPE.LANGUAGE, SEMANTICS = CATEGORY_TYPE.SEMANTICS, EXPRESSION = CATEGORY_TYPE.EXPRESSION, FORM = CATEGORY_TYPE.FORM, LANGUAGE_ABILITY = CATEGORY_TYPE.LANGUAGE_ABILITY;
5
5
  export var LANGUAGE_NAMES = {
6
6
  1: '中文-普通话',
@@ -9,6 +9,10 @@ export var LANGUAGE_NAMES = {
9
9
  4: '中文-粤语',
10
10
  5: '韩语',
11
11
  6: '西班牙语',
12
+ 7: '意大利语',
13
+ 8: '俄语',
14
+ 9: '法语',
15
+ 10: '德语',
12
16
  };
13
17
  export var CATEGORY_NAME = (_a = {},
14
18
  _a[LANGUAGE] = '候选人语种',
@@ -24,6 +28,10 @@ export var SERVER_LANGUAGE_TYPE = (_b = {},
24
28
  _b[CANTONESE] = 4,
25
29
  _b[KOREAN] = 5,
26
30
  _b[SPANISH] = 6,
31
+ _b[ITALIAN] = 7,
32
+ _b[RUSSIAN] = 8,
33
+ _b[FRENCH] = 9,
34
+ _b[GERMAN] = 10,
27
35
  _b);
28
36
  // 由于语种value 和 name的映射不对应,这里用于前端显示 AI基础能力 中文|英文表达
29
37
  export var LANGUAGE_SHOW_NAME = {
@@ -41,5 +49,9 @@ export var LANGUAGE_SHOW_NAMES = {
41
49
  4: '粤语',
42
50
  5: '韩语',
43
51
  6: '西班牙语',
52
+ 7: '意大利语',
53
+ 8: '俄语',
54
+ 9: '法语',
55
+ 10: '德语',
44
56
  };
45
- export var LANGUAGE_SHOW_NAMES_ORDER = [1, 4, 2, 3, 5, 6];
57
+ export var LANGUAGE_SHOW_NAMES_ORDER = [1, 4, 2, 3, 5, 6, 7, 8, 9, 10];
@@ -42,7 +42,7 @@ import { CATEGORY_TYPE, LANGUAGE_TYPE } from "../../../../enum/ai-question";
42
42
  import { PostAiAbilities } from "../../../../services/ai-question";
43
43
  import { useAiAnalysisStore } from "../../../../store/ai-question/ai-analysis-store";
44
44
  import { useRequest, useSetState } from 'ahooks';
45
- import { Checkbox, Dialog, Loading, Radio, RadioGroup, Select, Typography } from 'fbm-ui';
45
+ import { Checkbox, Dialog, Loading, Select, Typography } from 'fbm-ui';
46
46
  import { Box, Divider, FormControl, FormLabel, Stack } from 'fbm-ui/lib/mui';
47
47
  import { useCallback, useEffect, useState } from 'react';
48
48
  var MANDARIN = LANGUAGE_TYPE.MANDARIN, CANTONESE = LANGUAGE_TYPE.CANTONESE;
@@ -84,6 +84,7 @@ var AiAssessmentCriteria = function (props) {
84
84
  }, [setCheckAbilities]);
85
85
  var onLanguageChange = function (_a, list) {
86
86
  var value = _a.target.value;
87
+ console.log('value', value, list);
87
88
  var language = Number(value === '0' ? MANDARIN : value);
88
89
  var item = list.find(function (_a) {
89
90
  var type = _a.type;
@@ -122,23 +123,16 @@ var AiAssessmentCriteria = function (props) {
122
123
  return (_jsxs(Box, { children: [(list.filter(function (_a) {
123
124
  var type = _a.type;
124
125
  return relatedAbilities === null || relatedAbilities === void 0 ? void 0 : relatedAbilities.includes(type);
125
- }).length > 0 || type === CATEGORY_TYPE.LANGUAGE) && (_jsx(FormControl, { children: _jsx(FormLabel, __assign({ component: "legend", style: { fontSize: 14, fontWeight: 400, color: 'rgba(0,0,0,0.86)' } }, { children: _jsxs(Stack, __assign({ spacing: 1, direction: "row", alignItems: "center" }, { children: [type === CATEGORY_TYPE.LANGUAGE ? (_jsx(Typography, __assign({ style: { fontSize: 16, fontWeight: 500 } }, { children: name }))) : (_jsx(Typography, { children: type === CATEGORY_TYPE.EXPRESSION ? LANGUAGE_SHOW_NAME[language] + name : name })), type === CATEGORY_TYPE.LANGUAGE && (_jsx(Typography, __assign({ variant: "caption", color: "textSecondary", sx: { ml: 1 } }, { children: "\u4EE5\u6240\u9009\u8BED\u8A00\u8BC6\u522B\u5019\u9009\u4EBA\u56DE\u7B54\u5185\u5BB9\u5E76\u8F6C\u6362\u6587\u5B57" })))] })) })) })), type === CATEGORY_TYPE.LANGUAGE ? (_jsxs(Box, { children: [_jsxs(RadioGroup, __assign({ sx: { mb: 1, ml: '4px' }, row: false, value: language, onChange: function (e) { return onLanguageChange(e, list); } }, { children: [_jsx(Radio, { value: "0", RadioProps: { checked: checkedChinese }, label: "\u4E2D\u6587" }), _jsx(RadioGroup, __assign({ value: language, sx: { ml: 3 }, onChange: function (e) { return onLanguageChange(e, list); } }, { children: list
126
- .filter(function (_a) {
127
- var type = _a.type;
128
- return [MANDARIN, CANTONESE].includes(type);
129
- })
130
- .map(function (_a) {
131
- var name = _a.name, type = _a.type, token = _a.token;
132
- return checkedChinese && _jsx(Radio, { value: type, label: name }, token);
133
- }) })), list
134
- .filter(function (_a) {
135
- var type = _a.type;
136
- return ![MANDARIN, CANTONESE].includes(type);
137
- })
138
- .map(function (_a) {
139
- var name = _a.name, type = _a.type, token = _a.token;
140
- return (_jsx(Radio, { value: type, label: name }, token));
141
- })] })), _jsx(Divider, { sx: { mb: 1 } }), _jsx(FormControl, { children: _jsx(FormLabel, __assign({ component: "legend", style: { fontSize: 16, color: 'rgba(0,0,0,0.86)', fontWeight: 500, marginBottom: 16 } }, { children: "AI\u57FA\u7840\u80FD\u529B" })) })] })) : (_jsx(_Fragment, { children: list.map(function (item) {
126
+ }).length > 0 || type === CATEGORY_TYPE.LANGUAGE) && (_jsx(FormControl, { children: _jsx(FormLabel, __assign({ component: "legend", style: { fontSize: 14, fontWeight: 400, color: 'rgba(0,0,0,0.86)' } }, { children: _jsxs(Stack, __assign({ spacing: 1, direction: "row", alignItems: "center" }, { children: [type === CATEGORY_TYPE.LANGUAGE ? (_jsx(Typography, __assign({ style: { fontSize: 16, fontWeight: 500 } }, { children: name }))) : (_jsx(Typography, { children: type === CATEGORY_TYPE.EXPRESSION ? LANGUAGE_SHOW_NAME[language] + name : name })), type === CATEGORY_TYPE.LANGUAGE && (_jsx(Typography, __assign({ variant: "caption", color: "textSecondary", sx: { ml: 1 } }, { children: "\u4EE5\u6240\u9009\u8BED\u8A00\u8BC6\u522B\u5019\u9009\u4EBA\u56DE\u7B54\u5185\u5BB9\u5E76\u8F6C\u6362\u6587\u5B57" })))] })) })) })), type === CATEGORY_TYPE.LANGUAGE ? (_jsxs(Box, { children: [_jsx(Select, { onChange: function (e) { return onLanguageChange(e, list); }, value: language, options: list.map(function (_a) {
127
+ var type = _a.type, name = _a.name;
128
+ return ({
129
+ value: type,
130
+ label: name,
131
+ });
132
+ }), sx: {
133
+ width: 240,
134
+ mt: 1,
135
+ } }), _jsx(Divider, { sx: { mb: 1 } }), _jsx(FormControl, { children: _jsx(FormLabel, __assign({ component: "legend", style: { fontSize: 16, color: 'rgba(0,0,0,0.86)', fontWeight: 500, marginBottom: 16 } }, { children: "AI\u57FA\u7840\u80FD\u529B" })) })] })) : (_jsx(_Fragment, { children: list.map(function (item) {
142
136
  var name = item.name, desc = item.desc, type = item.type, token = item.token;
143
137
  if (relatedAbilities === null || relatedAbilities === void 0 ? void 0 : relatedAbilities.includes(type)) {
144
138
  var isLanguageAbility = [14, 15].includes(type);
@@ -26,7 +26,11 @@ export declare enum LANGUAGE_TYPE {
26
26
  JAPANESE = 12,
27
27
  ENGLISH = 11,
28
28
  KOREAN = 19,
29
- SPANISH = 20
29
+ SPANISH = 20,
30
+ ITALIAN = 21,
31
+ RUSSIAN = 22,
32
+ FRENCH = 23,
33
+ GERMAN = 24
30
34
  }
31
35
  /**
32
36
  * 题目类型
@@ -33,6 +33,10 @@ var LANGUAGE_TYPE;
33
33
  LANGUAGE_TYPE[LANGUAGE_TYPE["ENGLISH"] = 11] = "ENGLISH";
34
34
  LANGUAGE_TYPE[LANGUAGE_TYPE["KOREAN"] = 19] = "KOREAN";
35
35
  LANGUAGE_TYPE[LANGUAGE_TYPE["SPANISH"] = 20] = "SPANISH";
36
+ LANGUAGE_TYPE[LANGUAGE_TYPE["ITALIAN"] = 21] = "ITALIAN";
37
+ LANGUAGE_TYPE[LANGUAGE_TYPE["RUSSIAN"] = 22] = "RUSSIAN";
38
+ LANGUAGE_TYPE[LANGUAGE_TYPE["FRENCH"] = 23] = "FRENCH";
39
+ LANGUAGE_TYPE[LANGUAGE_TYPE["GERMAN"] = 24] = "GERMAN";
36
40
  })(LANGUAGE_TYPE = exports.LANGUAGE_TYPE || (exports.LANGUAGE_TYPE = {}));
37
41
  /**
38
42
  * 题目类型
@@ -26,7 +26,8 @@ var mui_1 = require("fbm-ui/lib/mui");
26
26
  var react_1 = require("react");
27
27
  var ScrollDialogContent = (0, fbm_ui_2.styled)(fbm_ui_1.Box)({
28
28
  maxHeight: 'calc(100vh - 192px)',
29
- overflow: 'scroll',
29
+ height: 'calc(100vh - 192px)',
30
+ overflow: 'hidden',
30
31
  });
31
32
  var AiAbilitySelectRoot = (0, react_1.forwardRef)(function (_a, ref) {
32
33
  var jobToken = _a.jobToken, thirdToken = _a.thirdToken, token = _a.token, hiddenTips = _a.hiddenTips;
@@ -46,7 +47,7 @@ var AiAbilitySelectRoot = (0, react_1.forwardRef)(function (_a, ref) {
46
47
  setEnterprise({ jobToken: jobToken, thirdToken: thirdToken });
47
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
48
49
  }, [jobToken, thirdToken]);
49
- return ((0, jsx_runtime_1.jsx)(ScrollDialogContent, __assign({ ref: ref }, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", flexDirection: "column", width: 760 }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 2, mb: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: !hiddenTips ? '请选择要优先使用的考察能力,也可以点击「下一步」直接出题' : '已选择的考察能力会优先在面试题目中展示' })), (aiAbilityList === null || aiAbilityList === void 0 ? void 0 : aiAbilityList.some(function (v) { return v.isNew; })) && ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)("img", { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn", alt: "", width: 38, height: 16 }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary" }, { children: "AI\u6839\u636E\u5C97\u4F4D\u4FE1\u606F\u751F\u6210\u7684\u80FD\u529B\uFF0C\u521B\u5EFA\u5B8C\u6B65\u9AA4\u540E\uFF0C\u4F1A\u81EA\u52A8\u5C06\u9009\u62E9\u7684\u65B0\u589E\u80FD\u529B\u52A0\u5165\u5230\u8BBE\u7F6E\u9875\u7684\u8003\u5BDF\u80FD\u529B\u5217\u8868\u4E2D\u3002" }))] })))] })), (0, jsx_runtime_1.jsx)(AiAbilityList_1.default, { items: aiAbilityList })] })) })));
50
+ return ((0, jsx_runtime_1.jsx)(ScrollDialogContent, __assign({ ref: ref }, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ display: "flex", flexDirection: "column", width: 760, height: 1 }, { children: [(0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 2, mb: 2 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body1", fontWeight: 500 }, { children: !hiddenTips ? '请选择要优先使用的考察能力,也可以点击「下一步」直接出题' : '已选择的考察能力会优先在面试题目中展示' })), (aiAbilityList === null || aiAbilityList === void 0 ? void 0 : aiAbilityList.some(function (v) { return v.isNew; })) && ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ direction: "row", spacing: 1, alignItems: "center" }, { children: [(0, jsx_runtime_1.jsx)("img", { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn", alt: "", width: 38, height: 16 }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary" }, { children: "AI\u6839\u636E\u5C97\u4F4D\u4FE1\u606F\u751F\u6210\u7684\u80FD\u529B\uFF0C\u521B\u5EFA\u5B8C\u6B65\u9AA4\u540E\uFF0C\u4F1A\u81EA\u52A8\u5C06\u9009\u62E9\u7684\u65B0\u589E\u80FD\u529B\u52A0\u5165\u5230\u8BBE\u7F6E\u9875\u7684\u8003\u5BDF\u80FD\u529B\u5217\u8868\u4E2D\u3002" }))] })))] })), (0, jsx_runtime_1.jsx)(AiAbilityList_1.default, { items: aiAbilityList })] })) })));
50
51
  });
51
52
  AiAbilitySelectRoot.displayName = 'AiAbilitySelectRoot';
52
53
  exports.default = (0, react_1.memo)(AiAbilitySelectRoot);
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { AiAbilityDetailProps } from './interface';
3
- declare const AiAbilityDetail: React.FC<AiAbilityDetailProps>;
4
- export default AiAbilityDetail;
3
+ declare const _default: import("react").NamedExoticComponent<AiAbilityDetailProps>;
4
+ export default _default;
@@ -14,6 +14,7 @@ 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
16
  var mui_1 = require("fbm-ui/lib/mui");
17
+ var react_1 = require("react");
17
18
  var AiAbilityDetail = function (_a) {
18
19
  var detail = _a.detail;
19
20
  return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ p: 2, maxHeight: 582, overflow: "scroll" }, { children: detail === null || detail === void 0 ? void 0 : detail.map(function (v) {
@@ -21,4 +22,4 @@ var AiAbilityDetail = function (_a) {
21
22
  return ((0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ mb: 2, spacing: 1, width: 300 }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", fontWeight: 500 }, { children: v.name })), (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "body2", color: "textSecondary" }, { children: (_a = v.items) === null || _a === void 0 ? void 0 : _a.join('\n') }))] }), v.name));
22
23
  }) })));
23
24
  };
24
- exports.default = AiAbilityDetail;
25
+ exports.default = (0, react_1.memo)(AiAbilityDetail);
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { AiAbilityItemProps } from './interface';
3
- declare const AiAbilityItem: React.FC<AiAbilityItemProps>;
4
- export default AiAbilityItem;
3
+ declare const _default: import("react").NamedExoticComponent<AiAbilityItemProps>;
4
+ export default _default;
@@ -44,15 +44,14 @@ var AiAbilityDetail_1 = __importDefault(require("./AiAbilityDetail"));
44
44
  var styled_1 = require("./styled");
45
45
  var question_ability_store_1 = require("../../../../store/ai-ability-select/question-ability-store");
46
46
  var fbm_ui_1 = require("fbm-ui");
47
+ var react_1 = require("react");
47
48
  var AiAbilityItem = function (_a) {
48
49
  var name = _a.name, isNew = _a.isNew, token = _a.token, detail = _a.detail;
49
50
  var _b = (0, question_ability_store_1.useAiAbilityListStore)(), selctedAbilitys = _b.selctedAbilitys, setSelctedAbilitys = _b.setSelctedAbilitys;
50
51
  var handleChange = function (_, checked) {
51
52
  return setSelctedAbilitys(__spreadArray(__spreadArray([], __read(selctedAbilitys.filter(function (v) { return v !== token; })), false), __read((checked ? [token] : [])), false));
52
53
  };
53
- return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Paper, __assign({ variant: "outlined" }, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ sx: { pl: 2, width: 240, height: 54, display: 'flex', alignItems: 'center', position: 'relative' } }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Checkbox, { onChange: handleChange, label: (0, jsx_runtime_1.jsx)(AiAbilityLable, { name: name, detail: detail }), checked: selctedAbilitys.includes(token),
54
- // @ts-ignore
55
- sx: { width: 1, height: 1 } }), isNew && (0, jsx_runtime_1.jsx)(styled_1.NewBadge, { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn" })] })) })));
54
+ return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Paper, __assign({ variant: "outlined" }, { children: (0, jsx_runtime_1.jsxs)(fbm_ui_1.Box, __assign({ sx: { pl: 2, width: 240, height: 54, display: 'flex', alignItems: 'center', position: 'relative' } }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Checkbox, { onChange: handleChange, label: (0, jsx_runtime_1.jsx)(MemoAiAbilityLable, { name: name, detail: detail }), checked: selctedAbilitys.includes(token), sx: { width: 1, height: 1 } }), isNew && (0, jsx_runtime_1.jsx)(styled_1.NewBadge, { src: "//webcdn.fbmms.cn/assets/XXRf/bdUI9qZoTx-l2k_OHTotn" })] })) })));
56
55
  };
57
56
  var AiAbilityLable = function (_a) {
58
57
  var name = _a.name, detail = _a.detail;
@@ -60,4 +59,5 @@ var AiAbilityLable = function (_a) {
60
59
  return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Popover, __assign({ content: (0, jsx_runtime_1.jsx)(AiAbilityDetail_1.default, { detail: detail }), trigger: "hover", placement: "right" }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ noWrap: true, maxWidth: 180, variant: "body2", sx: { mt: 0.5 } }, { children: name })) })));
61
60
  return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ noWrap: true, maxWidth: 180, variant: "body2" }, { children: name })));
62
61
  };
63
- exports.default = AiAbilityItem;
62
+ var MemoAiAbilityLable = (0, react_1.memo)(AiAbilityLable);
63
+ exports.default = (0, react_1.memo)(AiAbilityItem);
@@ -16,9 +16,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
18
  var AiAbilityItem_1 = __importDefault(require("../AiAbilityItem"));
19
- var fbm_ui_1 = require("fbm-ui");
19
+ var react_virtualized_auto_sizer_1 = __importDefault(require("react-virtualized-auto-sizer"));
20
+ var react_window_1 = require("react-window");
21
+ var Cell = function (_a) {
22
+ var data = _a.data, columnIndex = _a.columnIndex, rowIndex = _a.rowIndex, style = _a.style;
23
+ var item = data[rowIndex * 3 + columnIndex];
24
+ if (!item) {
25
+ return null;
26
+ }
27
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ style: __assign(__assign({}, style), { width: style.width - 8, height: style.height - 8 }) }, { children: (0, jsx_runtime_1.jsx)(AiAbilityItem_1.default, __assign({}, item)) })));
28
+ };
20
29
  var AiAbilityList = function (_a) {
21
30
  var items = _a.items;
22
- return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Grid, __assign({ container: true, spacing: 1, rowSpacing: 1, columnSpacing: 1 }, { children: items === null || items === void 0 ? void 0 : items.map(function (item) { return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Grid, __assign({ item: true }, { children: (0, jsx_runtime_1.jsx)(AiAbilityItem_1.default, __assign({}, item)) }), item.token)); }) })));
31
+ return ((0, jsx_runtime_1.jsx)(react_virtualized_auto_sizer_1.default, { children: function (_a) {
32
+ var height = _a.height, width = _a.width;
33
+ return ((0, jsx_runtime_1.jsx)(react_window_1.FixedSizeGrid, __assign({ columnCount: 3, columnWidth: 240, overscanRowCount: 10, height: height, rowCount: Math.ceil(items.length / 3), rowHeight: 62, width: width, itemData: items }, { children: Cell })));
34
+ } }));
23
35
  };
24
36
  exports.default = AiAbilityList;
@@ -5,6 +5,10 @@ export declare const LANGUAGE_NAMES: {
5
5
  4: string;
6
6
  5: string;
7
7
  6: string;
8
+ 7: string;
9
+ 8: string;
10
+ 9: string;
11
+ 10: string;
8
12
  };
9
13
  export declare const CATEGORY_NAME: {
10
14
  1: string;
@@ -20,6 +24,10 @@ export declare const SERVER_LANGUAGE_TYPE: {
20
24
  13: number;
21
25
  19: number;
22
26
  20: number;
27
+ 21: number;
28
+ 22: number;
29
+ 23: number;
30
+ 24: number;
23
31
  };
24
32
  export declare const LANGUAGE_SHOW_NAME: {
25
33
  2: string;
@@ -36,5 +44,9 @@ export declare const LANGUAGE_SHOW_NAMES: {
36
44
  4: string;
37
45
  5: string;
38
46
  6: string;
47
+ 7: string;
48
+ 8: string;
49
+ 9: string;
50
+ 10: string;
39
51
  };
40
52
  export declare const LANGUAGE_SHOW_NAMES_ORDER: number[];
@@ -3,7 +3,7 @@ var _a, _b;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.LANGUAGE_SHOW_NAMES_ORDER = exports.LANGUAGE_SHOW_NAMES = exports.LANGUAGE_SHOW_NAME = exports.SERVER_LANGUAGE_TYPE = exports.CATEGORY_NAME = exports.LANGUAGE_NAMES = void 0;
5
5
  var ai_question_1 = require("../../../../enum/ai-question");
6
- var MANDARIN = ai_question_1.LANGUAGE_TYPE.MANDARIN, CANTONESE = ai_question_1.LANGUAGE_TYPE.CANTONESE, JAPANESE = ai_question_1.LANGUAGE_TYPE.JAPANESE, ENGLISH = ai_question_1.LANGUAGE_TYPE.ENGLISH, KOREAN = ai_question_1.LANGUAGE_TYPE.KOREAN, SPANISH = ai_question_1.LANGUAGE_TYPE.SPANISH;
6
+ var MANDARIN = ai_question_1.LANGUAGE_TYPE.MANDARIN, CANTONESE = ai_question_1.LANGUAGE_TYPE.CANTONESE, JAPANESE = ai_question_1.LANGUAGE_TYPE.JAPANESE, ENGLISH = ai_question_1.LANGUAGE_TYPE.ENGLISH, KOREAN = ai_question_1.LANGUAGE_TYPE.KOREAN, SPANISH = ai_question_1.LANGUAGE_TYPE.SPANISH, ITALIAN = ai_question_1.LANGUAGE_TYPE.ITALIAN, RUSSIAN = ai_question_1.LANGUAGE_TYPE.RUSSIAN, FRENCH = ai_question_1.LANGUAGE_TYPE.FRENCH, GERMAN = ai_question_1.LANGUAGE_TYPE.GERMAN;
7
7
  var LANGUAGE = ai_question_1.CATEGORY_TYPE.LANGUAGE, SEMANTICS = ai_question_1.CATEGORY_TYPE.SEMANTICS, EXPRESSION = ai_question_1.CATEGORY_TYPE.EXPRESSION, FORM = ai_question_1.CATEGORY_TYPE.FORM, LANGUAGE_ABILITY = ai_question_1.CATEGORY_TYPE.LANGUAGE_ABILITY;
8
8
  exports.LANGUAGE_NAMES = {
9
9
  1: '中文-普通话',
@@ -12,6 +12,10 @@ exports.LANGUAGE_NAMES = {
12
12
  4: '中文-粤语',
13
13
  5: '韩语',
14
14
  6: '西班牙语',
15
+ 7: '意大利语',
16
+ 8: '俄语',
17
+ 9: '法语',
18
+ 10: '德语',
15
19
  };
16
20
  exports.CATEGORY_NAME = (_a = {},
17
21
  _a[LANGUAGE] = '候选人语种',
@@ -27,6 +31,10 @@ exports.SERVER_LANGUAGE_TYPE = (_b = {},
27
31
  _b[CANTONESE] = 4,
28
32
  _b[KOREAN] = 5,
29
33
  _b[SPANISH] = 6,
34
+ _b[ITALIAN] = 7,
35
+ _b[RUSSIAN] = 8,
36
+ _b[FRENCH] = 9,
37
+ _b[GERMAN] = 10,
30
38
  _b);
31
39
  // 由于语种value 和 name的映射不对应,这里用于前端显示 AI基础能力 中文|英文表达
32
40
  exports.LANGUAGE_SHOW_NAME = {
@@ -44,5 +52,9 @@ exports.LANGUAGE_SHOW_NAMES = {
44
52
  4: '粤语',
45
53
  5: '韩语',
46
54
  6: '西班牙语',
55
+ 7: '意大利语',
56
+ 8: '俄语',
57
+ 9: '法语',
58
+ 10: '德语',
47
59
  };
48
- exports.LANGUAGE_SHOW_NAMES_ORDER = [1, 4, 2, 3, 5, 6];
60
+ exports.LANGUAGE_SHOW_NAMES_ORDER = [1, 4, 2, 3, 5, 6, 7, 8, 9, 10];
@@ -89,6 +89,7 @@ var AiAssessmentCriteria = function (props) {
89
89
  }, [setCheckAbilities]);
90
90
  var onLanguageChange = function (_a, list) {
91
91
  var value = _a.target.value;
92
+ console.log('value', value, list);
92
93
  var language = Number(value === '0' ? MANDARIN : value);
93
94
  var item = list.find(function (_a) {
94
95
  var type = _a.type;
@@ -127,23 +128,16 @@ var AiAssessmentCriteria = function (props) {
127
128
  return ((0, jsx_runtime_1.jsxs)(mui_1.Box, { children: [(list.filter(function (_a) {
128
129
  var type = _a.type;
129
130
  return relatedAbilities === null || relatedAbilities === void 0 ? void 0 : relatedAbilities.includes(type);
130
- }).length > 0 || type === ai_question_1.CATEGORY_TYPE.LANGUAGE) && ((0, jsx_runtime_1.jsx)(mui_1.FormControl, { children: (0, jsx_runtime_1.jsx)(mui_1.FormLabel, __assign({ component: "legend", style: { fontSize: 14, fontWeight: 400, color: 'rgba(0,0,0,0.86)' } }, { children: (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 1, direction: "row", alignItems: "center" }, { children: [type === ai_question_1.CATEGORY_TYPE.LANGUAGE ? ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ style: { fontSize: 16, fontWeight: 500 } }, { children: name }))) : ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, { children: type === ai_question_1.CATEGORY_TYPE.EXPRESSION ? const_1.LANGUAGE_SHOW_NAME[language] + name : name })), type === ai_question_1.CATEGORY_TYPE.LANGUAGE && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary", sx: { ml: 1 } }, { children: "\u4EE5\u6240\u9009\u8BED\u8A00\u8BC6\u522B\u5019\u9009\u4EBA\u56DE\u7B54\u5185\u5BB9\u5E76\u8F6C\u6362\u6587\u5B57" })))] })) })) })), type === ai_question_1.CATEGORY_TYPE.LANGUAGE ? ((0, jsx_runtime_1.jsxs)(mui_1.Box, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.RadioGroup, __assign({ sx: { mb: 1, ml: '4px' }, row: false, value: language, onChange: function (e) { return onLanguageChange(e, list); } }, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Radio, { value: "0", RadioProps: { checked: checkedChinese }, label: "\u4E2D\u6587" }), (0, jsx_runtime_1.jsx)(fbm_ui_1.RadioGroup, __assign({ value: language, sx: { ml: 3 }, onChange: function (e) { return onLanguageChange(e, list); } }, { children: list
131
- .filter(function (_a) {
132
- var type = _a.type;
133
- return [MANDARIN, CANTONESE].includes(type);
134
- })
135
- .map(function (_a) {
136
- var name = _a.name, type = _a.type, token = _a.token;
137
- return checkedChinese && (0, jsx_runtime_1.jsx)(fbm_ui_1.Radio, { value: type, label: name }, token);
138
- }) })), list
139
- .filter(function (_a) {
140
- var type = _a.type;
141
- return ![MANDARIN, CANTONESE].includes(type);
142
- })
143
- .map(function (_a) {
144
- var name = _a.name, type = _a.type, token = _a.token;
145
- return ((0, jsx_runtime_1.jsx)(fbm_ui_1.Radio, { value: type, label: name }, token));
146
- })] })), (0, jsx_runtime_1.jsx)(mui_1.Divider, { sx: { mb: 1 } }), (0, jsx_runtime_1.jsx)(mui_1.FormControl, { children: (0, jsx_runtime_1.jsx)(mui_1.FormLabel, __assign({ component: "legend", style: { fontSize: 16, color: 'rgba(0,0,0,0.86)', fontWeight: 500, marginBottom: 16 } }, { children: "AI\u57FA\u7840\u80FD\u529B" })) })] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: list.map(function (item) {
131
+ }).length > 0 || type === ai_question_1.CATEGORY_TYPE.LANGUAGE) && ((0, jsx_runtime_1.jsx)(mui_1.FormControl, { children: (0, jsx_runtime_1.jsx)(mui_1.FormLabel, __assign({ component: "legend", style: { fontSize: 14, fontWeight: 400, color: 'rgba(0,0,0,0.86)' } }, { children: (0, jsx_runtime_1.jsxs)(mui_1.Stack, __assign({ spacing: 1, direction: "row", alignItems: "center" }, { children: [type === ai_question_1.CATEGORY_TYPE.LANGUAGE ? ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ style: { fontSize: 16, fontWeight: 500 } }, { children: name }))) : ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, { children: type === ai_question_1.CATEGORY_TYPE.EXPRESSION ? const_1.LANGUAGE_SHOW_NAME[language] + name : name })), type === ai_question_1.CATEGORY_TYPE.LANGUAGE && ((0, jsx_runtime_1.jsx)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary", sx: { ml: 1 } }, { children: "\u4EE5\u6240\u9009\u8BED\u8A00\u8BC6\u522B\u5019\u9009\u4EBA\u56DE\u7B54\u5185\u5BB9\u5E76\u8F6C\u6362\u6587\u5B57" })))] })) })) })), type === ai_question_1.CATEGORY_TYPE.LANGUAGE ? ((0, jsx_runtime_1.jsxs)(mui_1.Box, { children: [(0, jsx_runtime_1.jsx)(fbm_ui_1.Select, { onChange: function (e) { return onLanguageChange(e, list); }, value: language, options: list.map(function (_a) {
132
+ var type = _a.type, name = _a.name;
133
+ return ({
134
+ value: type,
135
+ label: name,
136
+ });
137
+ }), sx: {
138
+ width: 240,
139
+ mt: 1,
140
+ } }), (0, jsx_runtime_1.jsx)(mui_1.Divider, { sx: { mb: 1 } }), (0, jsx_runtime_1.jsx)(mui_1.FormControl, { children: (0, jsx_runtime_1.jsx)(mui_1.FormLabel, __assign({ component: "legend", style: { fontSize: 16, color: 'rgba(0,0,0,0.86)', fontWeight: 500, marginBottom: 16 } }, { children: "AI\u57FA\u7840\u80FD\u529B" })) })] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: list.map(function (item) {
147
141
  var name = item.name, desc = item.desc, type = item.type, token = item.token;
148
142
  if (relatedAbilities === null || relatedAbilities === void 0 ? void 0 : relatedAbilities.includes(type)) {
149
143
  var isLanguageAbility = [14, 15].includes(type);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eli-video-interview",
3
- "version": "1.2.42-alpha.41",
3
+ "version": "1.2.42-alpha.43",
4
4
  "description": "鳄梨科技 AI视频面试 React SDK",
5
5
  "author": "鳄梨科技",
6
6
  "license": "MIT",
@@ -30,7 +30,9 @@
30
30
  "sortablejs": "^1.15.0",
31
31
  "typescript": "^4.7.2",
32
32
  "use-immer": "^0.7.0",
33
- "yup": "^1.3.3"
33
+ "yup": "^1.3.3",
34
+ "react-window":"1.8.10",
35
+ "react-virtualized-auto-sizer":"1.0.5"
34
36
  },
35
37
  "devDependencies": {
36
38
  "@types/jest": "^27.5.1",