eli-video-interview 1.8.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/components/Charts/ReportPie.js +27 -10
- package/esm/components/react-photo-view/hooks/useAnimationPosition.d.ts +1 -1
- package/esm/modules/ai-question/Root.js +11 -5
- package/esm/modules/ai-question/components/GlobalDimensions/Dialog.d.ts +9 -0
- package/esm/modules/ai-question/components/GlobalDimensions/Dialog.js +158 -0
- package/esm/modules/ai-question/components/GlobalDimensions/index.d.ts +3 -0
- package/esm/modules/ai-question/components/GlobalDimensions/index.js +57 -0
- package/esm/modules/ai-question/components/QuestionModel/index.js +2 -1
- package/esm/modules/ai-question/components/QuestionModel/interface.d.ts +12 -0
- package/esm/modules/ai-question/components/QuestionPreview/styled.d.ts +2 -2
- package/esm/modules/ai-question/utils/weight.d.ts +17 -0
- package/esm/modules/ai-question/utils/weight.js +38 -0
- package/esm/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
- package/esm/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
- package/esm/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
- package/esm/modules/ai-report/interface.d.ts +16 -0
- package/esm/modules/ai-report-v2/Root.js +2 -1
- package/esm/modules/ai-report-v2/components/AIEvaluate/Graph.d.ts +2 -0
- package/esm/modules/ai-report-v2/components/AIEvaluate/Graph.js +57 -6
- package/esm/modules/ai-report-v2/components/AIEvaluate/index.js +1 -0
- package/esm/modules/ai-report-v2/components/GlobalDimensions/index.d.ts +3 -0
- package/esm/modules/ai-report-v2/components/GlobalDimensions/index.js +84 -0
- package/esm/modules/ai-report-v2/components/ReportHeader/ReportHeader.js +3 -2
- package/esm/modules/ai-report-v2/components/ScoreReport/styled.d.ts +3 -3
- package/esm/modules/ai-report-v2/components/VideoQuestion/styled.d.ts +2 -2
- package/esm/modules/ai-report-v2/components/WorkPlaces/styled.d.ts +2 -2
- package/esm/modules/ai-report-v2/components/styled.d.ts +3 -0
- package/esm/modules/ai-report-v2/components/styled.js +10 -0
- package/esm/modules/ai-report-v2/interface.d.ts +16 -0
- package/esm/modules/ai-report-v3/Root.js +2 -1
- package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +2 -0
- package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.js +75 -48
- package/esm/modules/ai-report-v3/components/AIEvaluate/index.js +1 -0
- package/esm/modules/ai-report-v3/components/GlobalDimensions/index.d.ts +3 -0
- package/esm/modules/ai-report-v3/components/GlobalDimensions/index.js +82 -0
- package/esm/modules/ai-report-v3/components/ModuleTitle.d.ts +1 -1
- package/esm/modules/ai-report-v3/components/ModuleTitle.js +3 -1
- package/esm/modules/ai-report-v3/components/ScoreReport/styled.d.ts +3 -3
- package/esm/modules/ai-report-v3/components/VideoQuestion/styled.d.ts +2 -2
- package/esm/modules/ai-report-v3/components/WorkPlaces/styled.d.ts +2 -2
- package/esm/modules/ai-report-v3/interface.d.ts +16 -0
- package/esm/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
- package/esm/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
- package/esm/store/ai-question/question-model-store.d.ts +4 -1
- package/esm/store/ai-question/question-model-store.js +41 -5
- package/lib/components/Charts/ReportPie.js +27 -10
- package/lib/components/react-photo-view/hooks/useAnimationPosition.d.ts +1 -1
- package/lib/modules/ai-question/Root.js +11 -5
- package/lib/modules/ai-question/components/GlobalDimensions/Dialog.d.ts +9 -0
- package/lib/modules/ai-question/components/GlobalDimensions/Dialog.js +160 -0
- package/lib/modules/ai-question/components/GlobalDimensions/index.d.ts +3 -0
- package/lib/modules/ai-question/components/GlobalDimensions/index.js +62 -0
- package/lib/modules/ai-question/components/QuestionModel/index.js +2 -1
- package/lib/modules/ai-question/components/QuestionModel/interface.d.ts +12 -0
- package/lib/modules/ai-question/components/QuestionPreview/styled.d.ts +2 -2
- package/lib/modules/ai-question/utils/weight.d.ts +17 -0
- package/lib/modules/ai-question/utils/weight.js +43 -0
- package/lib/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
- package/lib/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
- package/lib/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
- package/lib/modules/ai-report/interface.d.ts +16 -0
- package/lib/modules/ai-report-v2/Root.js +2 -1
- package/lib/modules/ai-report-v2/components/AIEvaluate/Graph.d.ts +2 -0
- package/lib/modules/ai-report-v2/components/AIEvaluate/Graph.js +57 -6
- package/lib/modules/ai-report-v2/components/AIEvaluate/index.js +1 -0
- package/lib/modules/ai-report-v2/components/GlobalDimensions/index.d.ts +3 -0
- package/lib/modules/ai-report-v2/components/GlobalDimensions/index.js +89 -0
- package/lib/modules/ai-report-v2/components/ReportHeader/ReportHeader.js +2 -1
- package/lib/modules/ai-report-v2/components/ScoreReport/styled.d.ts +3 -3
- package/lib/modules/ai-report-v2/components/VideoQuestion/styled.d.ts +2 -2
- package/lib/modules/ai-report-v2/components/WorkPlaces/styled.d.ts +2 -2
- package/lib/modules/ai-report-v2/components/styled.d.ts +3 -0
- package/lib/modules/ai-report-v2/components/styled.js +11 -1
- package/lib/modules/ai-report-v2/interface.d.ts +16 -0
- package/lib/modules/ai-report-v3/Root.js +2 -1
- package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +2 -0
- package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.js +75 -48
- package/lib/modules/ai-report-v3/components/AIEvaluate/index.js +1 -0
- package/lib/modules/ai-report-v3/components/GlobalDimensions/index.d.ts +3 -0
- package/lib/modules/ai-report-v3/components/GlobalDimensions/index.js +87 -0
- package/lib/modules/ai-report-v3/components/ModuleTitle.d.ts +1 -1
- package/lib/modules/ai-report-v3/components/ModuleTitle.js +3 -1
- package/lib/modules/ai-report-v3/components/ScoreReport/styled.d.ts +3 -3
- package/lib/modules/ai-report-v3/components/VideoQuestion/styled.d.ts +2 -2
- package/lib/modules/ai-report-v3/components/WorkPlaces/styled.d.ts +2 -2
- package/lib/modules/ai-report-v3/interface.d.ts +16 -0
- package/lib/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
- package/lib/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
- package/lib/store/ai-question/question-model-store.d.ts +4 -1
- package/lib/store/ai-question/question-model-store.js +41 -5
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { QuestionModelData, QuestionModelStep } from '@/modules/ai-question/components/QuestionModel/interface';
|
|
2
|
+
import { GlobalDimension, QuestionModelData, QuestionModelStep } from '@/modules/ai-question/components/QuestionModel/interface';
|
|
3
3
|
export declare const useQuestionModelStore: (depsFn?: import("hox/es/types").DepsFn<{
|
|
4
4
|
isEdit: boolean;
|
|
5
5
|
questionModelData: QuestionModelData | undefined;
|
|
@@ -8,6 +8,7 @@ export declare const useQuestionModelStore: (depsFn?: import("hox/es/types").Dep
|
|
|
8
8
|
removeModel: (index: number) => void;
|
|
9
9
|
updateModel: import("react").Dispatch<import("react").SetStateAction<QuestionModelData | undefined>>;
|
|
10
10
|
updateModelWeight: (value: string, index: number) => void;
|
|
11
|
+
updateGlobalDimensions: (dimensions: GlobalDimension[]) => void;
|
|
11
12
|
}> | undefined) => {
|
|
12
13
|
isEdit: boolean;
|
|
13
14
|
questionModelData: QuestionModelData | undefined;
|
|
@@ -16,6 +17,7 @@ export declare const useQuestionModelStore: (depsFn?: import("hox/es/types").Dep
|
|
|
16
17
|
removeModel: (index: number) => void;
|
|
17
18
|
updateModel: import("react").Dispatch<import("react").SetStateAction<QuestionModelData | undefined>>;
|
|
18
19
|
updateModelWeight: (value: string, index: number) => void;
|
|
20
|
+
updateGlobalDimensions: (dimensions: GlobalDimension[]) => void;
|
|
19
21
|
}, getQuestionModelStore: () => {
|
|
20
22
|
isEdit: boolean;
|
|
21
23
|
questionModelData: QuestionModelData | undefined;
|
|
@@ -24,4 +26,5 @@ export declare const useQuestionModelStore: (depsFn?: import("hox/es/types").Dep
|
|
|
24
26
|
removeModel: (index: number) => void;
|
|
25
27
|
updateModel: import("react").Dispatch<import("react").SetStateAction<QuestionModelData | undefined>>;
|
|
26
28
|
updateModelWeight: (value: string, index: number) => void;
|
|
29
|
+
updateGlobalDimensions: (dimensions: GlobalDimension[]) => void;
|
|
27
30
|
} | undefined;
|
|
@@ -32,6 +32,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
32
32
|
var _a;
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
34
|
exports.getQuestionModelStore = exports.useQuestionModelStore = void 0;
|
|
35
|
+
var weight_1 = require("../../modules/ai-question/utils/weight");
|
|
35
36
|
var ai_question_1 = require("../../constants/ai-question");
|
|
36
37
|
var utils_1 = require("../../utils/utils");
|
|
37
38
|
var hox_1 = require("hox");
|
|
@@ -43,9 +44,17 @@ exports.useQuestionModelStore = (_a = __read((0, hox_1.createGlobalStore)(functi
|
|
|
43
44
|
/**
|
|
44
45
|
* 权重值计算
|
|
45
46
|
* @param steps 模型数据
|
|
47
|
+
* @param isManualUpdate 是否手动调整(true 时保留已有权重,由最后一道 AI 题吸收差额)
|
|
48
|
+
* @param options.globalDimensions 本次要写入的全局维度(默认取当前试卷已配置的)
|
|
49
|
+
* @param options.questionWeightPool 题目权重池(默认 100 - 全局维度权重合计)
|
|
46
50
|
*/
|
|
47
|
-
var computeWeight = (0, react_1.useCallback)(function (steps, isManualUpdate) {
|
|
51
|
+
var computeWeight = (0, react_1.useCallback)(function (steps, isManualUpdate, options) {
|
|
48
52
|
if (isManualUpdate === void 0) { isManualUpdate = false; }
|
|
53
|
+
if (options === void 0) { options = {}; }
|
|
54
|
+
var nextGlobalDimensions = options.globalDimensions !== undefined ? options.globalDimensions : questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.globalDimensions;
|
|
55
|
+
var questionWeightPool = options.questionWeightPool !== undefined
|
|
56
|
+
? Math.max(0, Number(options.questionWeightPool) || 0)
|
|
57
|
+
: (0, weight_1.computeQuestionWeightPool)(nextGlobalDimensions);
|
|
49
58
|
var lastAiTestIndex = 0;
|
|
50
59
|
// AI评分题
|
|
51
60
|
var aiTypeList = steps.filter(function (step, index) {
|
|
@@ -74,12 +83,12 @@ exports.useQuestionModelStore = (_a = __read((0, hox_1.createGlobalStore)(functi
|
|
|
74
83
|
var getWeight = function (_a, i) {
|
|
75
84
|
var weight = _a.weight;
|
|
76
85
|
if (weightsLen <= 1 && !isManualUpdate) {
|
|
77
|
-
var averageWeight = Math.floor((
|
|
78
|
-
var disableWeight =
|
|
86
|
+
var averageWeight = Math.floor((questionWeightPool / aiTypeListLength) * 100) / 100;
|
|
87
|
+
var disableWeight = questionWeightPool - Math.floor(averageWeight * (aiTypeListLength - 1) * 100) / 100;
|
|
79
88
|
return i === lastAiTestIndex ? (0, utils_1.computeDecimalValue)(disableWeight.toString()) : (0, utils_1.computeDecimalValue)(averageWeight.toString());
|
|
80
89
|
}
|
|
81
90
|
else {
|
|
82
|
-
return i !== lastAiTestIndex ? weight : (0, utils_1.computeDecimalValue)((
|
|
91
|
+
return i !== lastAiTestIndex ? weight : (0, utils_1.computeDecimalValue)((questionWeightPool - beforeTotalWeight).toString());
|
|
83
92
|
}
|
|
84
93
|
};
|
|
85
94
|
var $splice = steps.map(function (step, i) {
|
|
@@ -91,8 +100,34 @@ exports.useQuestionModelStore = (_a = __read((0, hox_1.createGlobalStore)(functi
|
|
|
91
100
|
__assign(__assign({}, step), { weight: (0, ai_question_1.IS_AI_ANALYSIS)(step) ? getWeight(step, i) : 0 }),
|
|
92
101
|
];
|
|
93
102
|
});
|
|
94
|
-
updateModel(__assign(__assign({}, questionModelData), { duration: totalDuration, steps: (0, immutability_helper_1.default)(steps, { $splice: $splice }) }));
|
|
103
|
+
updateModel(__assign(__assign(__assign({}, questionModelData), (nextGlobalDimensions !== undefined ? { globalDimensions: nextGlobalDimensions } : {})), { duration: totalDuration, steps: (0, immutability_helper_1.default)(steps, { $splice: $splice }) }));
|
|
95
104
|
}, [questionModelData]);
|
|
105
|
+
/**
|
|
106
|
+
* 更新全局维度配置
|
|
107
|
+
* 题目权重池随之变化,按现有题目权重重排(最后一道 AI 题吸收差额),保证题目 + 全局合计 100%
|
|
108
|
+
*/
|
|
109
|
+
var updateGlobalDimensions = (0, react_1.useCallback)(function (dimensions) {
|
|
110
|
+
var questionWeightPool = (0, weight_1.computeQuestionWeightPool)(dimensions);
|
|
111
|
+
var steps = (questionModelData === null || questionModelData === void 0 ? void 0 : questionModelData.steps) || [];
|
|
112
|
+
// 题目权重按比例缩放到新的权重池,保证「题目 + 全局」恒等于 100%,且不会出现负权重
|
|
113
|
+
var aiStepIndexes = steps.reduce(function (indexes, step, index) {
|
|
114
|
+
if ((0, ai_question_1.IS_AI_ANALYSIS)(step)) {
|
|
115
|
+
indexes.push(index);
|
|
116
|
+
}
|
|
117
|
+
return indexes;
|
|
118
|
+
}, []);
|
|
119
|
+
var rebalancedWeights = (0, weight_1.rebalanceWeights)(aiStepIndexes.map(function (index) { return Number(steps[index].weight) || 0; }), questionWeightPool);
|
|
120
|
+
var nextSteps = aiStepIndexes.length
|
|
121
|
+
? steps.map(function (step, index) {
|
|
122
|
+
var position = aiStepIndexes.indexOf(index);
|
|
123
|
+
return position < 0 ? step : __assign(__assign({}, step), { weight: rebalancedWeights[position] });
|
|
124
|
+
})
|
|
125
|
+
: steps;
|
|
126
|
+
computeWeight(nextSteps, true, {
|
|
127
|
+
globalDimensions: dimensions,
|
|
128
|
+
questionWeightPool: questionWeightPool,
|
|
129
|
+
});
|
|
130
|
+
}, [computeWeight, questionModelData]);
|
|
96
131
|
/**
|
|
97
132
|
* 更新模型数据权重值
|
|
98
133
|
* @param value 权重值
|
|
@@ -156,5 +191,6 @@ exports.useQuestionModelStore = (_a = __read((0, hox_1.createGlobalStore)(functi
|
|
|
156
191
|
removeModel: removeModel,
|
|
157
192
|
updateModel: updateModel,
|
|
158
193
|
updateModelWeight: updateModelWeight,
|
|
194
|
+
updateGlobalDimensions: updateGlobalDimensions,
|
|
159
195
|
};
|
|
160
196
|
}), 2), _a[0]), exports.getQuestionModelStore = _a[1];
|