You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Classrooms__Lists__Exerc...

297 lines
21 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[5992],{
/***/ 42711:
/*!*******************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Exercise/ReviewGroup/index.tsx + 2 modules ***!
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ ReviewGroup; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(67866);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
var input_number = __webpack_require__(54449);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules
var breadcrumb = __webpack_require__(66104);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/divider/index.js + 1 modules
var divider = __webpack_require__(28103);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/anchor/index.js + 4 modules
var es_anchor = __webpack_require__(79817);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(98135);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.7@@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
var ArrowLeftOutlined = __webpack_require__(22596);
// EXTERNAL MODULE: ./src/service/exercise.ts
var service_exercise = __webpack_require__(41044);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(16921);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/ReviewGroup/component/SeeAnswer.tsx
const SeeAnswer = ({ data }) => {
const [show, setShow] = (0,_react_17_0_2_react.useState)(false);
const renderDom = () => {
var _a;
switch (data.question_type) {
case 3:
return /* @__PURE__ */ _react_17_0_2_react.createElement("aside", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { cursor: "pointer" }, className: "font12 c-blue", onClick: () => {
setShow(!show);
} }, show ? "\u9690\u85CF\u53C2\u8003\u7B54\u6848" : "\u67E5\u770B\u53C2\u8003\u7B54\u6848"), show && /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, (_a = data == null ? void 0 : data.standard_answer) == null ? void 0 : _a.map(function(item, key) {
var _a2;
return /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { className: "mt10" }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "50px" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "mt10" }, "\u586B\u7A7A", item.choice_id)), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: 1 }, (_a2 = item == null ? void 0 : item.answer_text) == null ? void 0 : _a2.map(function(val, key2) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { border: "1px solid #eee", padding: "15px 10px 0 10px" } }, val);
})));
})));
break;
case 4:
return /* @__PURE__ */ _react_17_0_2_react.createElement("aside", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { cursor: "pointer" }, className: "font12 c-blue", onClick: () => {
setShow(!show);
} }, show ? "\u9690\u85CF\u53C2\u8003\u7B54\u6848" : "\u67E5\u770B\u53C2\u8003\u7B54\u6848"), show && /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { value: data.standard_answer.join(" ") })));
break;
}
};
return /* @__PURE__ */ _react_17_0_2_react.createElement("section", null, renderDom());
};
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/ReviewGroup/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ReviewGroupmodules = ({"flex_box_center":"flex_box_center___rZhUX","flex_space_between":"flex_space_between___WSWPP","flex_box_vertical_center":"flex_box_vertical_center___Fl2CQ","flex_box_center_end":"flex_box_center_end___zIA_L","flex_box_column":"flex_box_column___wpPM2","bg":"bg___PTvAX","title":"title___NRpL_","questionIcons":"questionIcons___qftEo","green":"green___DII_f","orange":"orange___nqaHJ","greenTip":"greenTip___NQ5fc","redTip":"redTip___BYmiY","orangeTip":"orangeTip___wlzcb","cuttOff":"cuttOff___Y19D3"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(13462);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/ReviewGroup/index.tsx
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const questionType = ["\u5355\u9009\u9898", "\u591A\u9009\u9898", "\u5224\u65AD\u9898", "\u586B\u7A7A\u9898", "\u7B80\u7B54\u9898", "\u5B9E\u8BAD\u9898"];
const ExeriseReview = (_a) => {
var _b = _a, {
exercise,
globalSetting,
loading,
user,
dispatch
} = _b, props = __objRest(_b, [
"exercise",
"globalSetting",
"loading",
"user",
"dispatch"
]);
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
const params = (0,_umi_production_exports.useParams)();
const { userInfo } = user;
const { reviewGroupExercise } = exercise;
const [changeScoreData, setChangeScoreData] = (0,_react_17_0_2_react.useState)({});
const [showAll, setShowAll] = (0,_react_17_0_2_react.useState)(false);
const inputRef = (0,_react_17_0_2_react.useRef)();
console.log(changeScoreData);
const dealData = () => {
var _a3;
console.log(params, 222);
let data = localStorage[`${(_a3 = user == null ? void 0 : user.userInfo) == null ? void 0 : _a3.login}-${params.coursesId}-${params.exerciseId}-filter`];
if (data) {
data = JSON.parse(data);
} else {
data = {};
}
if (Object.prototype.toString.call(data) !== "[object Object]") {
return {};
}
;
return data;
};
(0,_react_17_0_2_react.useEffect)(() => {
var _a3;
if ((_a3 = user == null ? void 0 : user.userInfo) == null ? void 0 : _a3.login) {
getData();
}
}, [(_a2 = user == null ? void 0 : user.userInfo) == null ? void 0 : _a2.login]);
const getData = () => {
const data = dealData();
dispatch({
type: "exercise/getReviewGroupExercise",
payload: __spreadValues({
exerciseId: params.exerciseId
}, data)
});
};
const saveChangeScore = (item) => __async(void 0, null, function* () {
const data = dealData();
const res = yield (0,service_exercise/* putBatchAdjustScore */.LP)(__spreadValues({
cover_all: true,
id: item.question_id,
max_score: changeScoreData[item.q_position]["max"],
min_score: changeScoreData[item.q_position]["min"],
comment: changeScoreData["comment"]
}, data));
if (res.status === 0) {
delete changeScoreData[item.q_position];
getData();
message/* default */.ZP.success("\u6279\u91CF\u8C03\u5206\u6210\u529F");
}
});
const handleChangeScore = (item) => {
var _a3, _b3, _c2;
if (item.question_type > 1) {
if (changeScoreData[item.q_position]) {
return /* @__PURE__ */ React.createElement("div", { className: "mr10 ml10 inline-block" }, "\u5728\u4EE5\u4E0B\u533A\u95F4\u4E2D\u4E3A\u5B66\u751F\u968F\u673A\u8D4B\u5206\uFF1A", /* @__PURE__ */ React.createElement(input_number/* default */.Z, { placeholder: "\u6700\u4F4E", defaultValue: item.user_score, max: item.question_score, min: 0, onChange: (value) => {
changeScoreData[item.q_position]["min"] = String(value);
setChangeScoreData(__spreadValues({}, changeScoreData));
} }), /* @__PURE__ */ React.createElement("div", { className: ReviewGroupmodules.cuttOff }), /* @__PURE__ */ React.createElement(input_number/* default */.Z, { placeholder: "\u6700\u9AD8", defaultValue: item.user_score, max: item.question_score, min: ((_a3 = changeScoreData[item.q_position]) == null ? void 0 : _a3["min"]) || 0, onChange: (value) => {
changeScoreData[item.q_position]["max"] = String(value);
setChangeScoreData(__spreadValues({}, changeScoreData));
} }), "\u5206", /* @__PURE__ */ React.createElement(
es_button/* default */.ZP,
{
className: "ml5",
type: "primary",
disabled: !((_b3 = changeScoreData[item.q_position]) == null ? void 0 : _b3["min"]) || !((_c2 = changeScoreData[item.q_position]) == null ? void 0 : _c2["max"]),
onClick: () => saveChangeScore(item)
},
"\u786E\u8BA4"
));
} else {
return /* @__PURE__ */ React.createElement("span", { style: { cursor: "pointer" }, onClick: () => {
changeScoreData[item.q_position] = {};
setChangeScoreData(__spreadValues({}, changeScoreData));
}, className: "c-blue mr10 ml10" }, "\u8C03\u5206");
}
}
};
return /* @__PURE__ */ React.createElement("section", { className: "edu-container", ref: inputRef }, /* @__PURE__ */ React.createElement("section", { className: "animated fadeIn" }, /* @__PURE__ */ React.createElement("aside", { className: "mt10" }, userInfo && /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z, { separator: ">" }, /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `${userInfo.first_category_url}`
},
(_b2 = userInfo == null ? void 0 : userInfo.course) == null ? void 0 : _b2.course_name
)), /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/exercise`
},
"\u8BD5\u5377\u5217\u8868"
)), /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/exercise/${params.exerciseId}/detail`
},
"\u8BD5\u5377\u8BE6\u60C5"
)), /* @__PURE__ */ React.createElement(breadcrumb/* default */.Z.Item, null, (_c = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_answer_user) == null ? void 0 : _c.user_name))), /* @__PURE__ */ React.createElement("aside", { className: [ReviewGroupmodules.title, "mt20"].join(" ") }, /* @__PURE__ */ React.createElement(row/* default */.Z, { style: { width: "100%" } }, /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ React.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/exercise/${params.exerciseId}/detail`
},
/* @__PURE__ */ React.createElement(ArrowLeftOutlined/* default */.Z, { className: "font16 c-black" })
), /* @__PURE__ */ React.createElement("strong", { className: "font20 ml5" }, (_d = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise) == null ? void 0 : _d.exercise_name), /* @__PURE__ */ React.createElement(util/* StatusClassroomsTags */.VV, { status: [util/* ExerciseStatus */.ju[(_e = reviewGroupExercise.exercise) == null ? void 0 : _e.exercise_status]] })), /* @__PURE__ */ React.createElement(col/* default */.Z, null)))), /* @__PURE__ */ React.createElement("section", { className: [ReviewGroupmodules.bg, "pt30", "pl30", "pr30", "pb30", "mt20"].join(" ") }, /* @__PURE__ */ React.createElement(row/* default */.Z, { gutter: [30, 0] }, /* @__PURE__ */ React.createElement(col/* default */.Z, { className: "bold c-black" }, /* @__PURE__ */ React.createElement("aside", null, /* @__PURE__ */ React.createElement("span", null, "\u8003\u8BD5\u65F6\u957F ", ((_f = reviewGroupExercise.exercise) == null ? void 0 : _f.time) === -1 ? "\u672A\u9650\u65F6" : (_g = reviewGroupExercise.exercise) == null ? void 0 : _g.time), /* @__PURE__ */ React.createElement("span", { className: "ml20" }, "\u6EE1\u5206 ", (_i = (_h = reviewGroupExercise.exercise_scores) == null ? void 0 : _h.exercise_types) == null ? void 0 : _i.q_scores, "\u5206")))), /* @__PURE__ */ React.createElement(divider/* default */.Z, null), /* @__PURE__ */ React.createElement(row/* default */.Z, { gutter: [30, 0] }, /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ React.createElement("span", { className: "c-light-black" }, "\u60A8\u6B63\u5728\u5BF9\u4EE5\u4E0B\u5B66\u751F\u8FDB\u884C\u6279\u91CF\u8BC4\u9605\uFF1A"), /* @__PURE__ */ React.createElement("span", null, (_j = reviewGroupExercise.exercise_answer_user) == null ? void 0 : _j.user_name))), /* @__PURE__ */ React.createElement(row/* default */.Z, { gutter: [30, 0] }, /* @__PURE__ */ React.createElement(col/* default */.Z, { span: 24, className: "mt10" }, (_k = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_users) == null ? void 0 : _k.map(function(item, key) {
if (key < 100)
return /* @__PURE__ */ React.createElement("strong", { className: "mr10", key }, item.user_name);
})), /* @__PURE__ */ React.createElement(col/* default */.Z, { span: 24, className: "tr" }, ((_l = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_users) == null ? void 0 : _l.length) > 100 && /* @__PURE__ */ React.createElement("span", null, "......\u7B49", (_m = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_users) == null ? void 0 : _m.length, "\u4EBA"))), /* @__PURE__ */ React.createElement(divider/* default */.Z, null), ((_n = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_questions) == null ? void 0 : _n.some((item) => item.question_type !== 4)) && /* @__PURE__ */ React.createElement("aside", null, /* @__PURE__ */ React.createElement(row/* default */.Z, { gutter: [10, 10] }, /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ React.createElement("aside", null, /* @__PURE__ */ React.createElement("strong", { className: "font14" }, "\u5BA2\u89C2\u9898"), /* @__PURE__ */ React.createElement("span", { className: ReviewGroupmodules.greenTip }, "\u6B63\u786E"), /* @__PURE__ */ React.createElement("span", { className: ReviewGroupmodules.redTip }, "\u9519\u8BEF"), /* @__PURE__ */ React.createElement("span", { className: ReviewGroupmodules.redTip }, "\u90E8\u5206\u5F97\u5206")), /* @__PURE__ */ React.createElement("aside", { className: [ReviewGroupmodules.questionIcons, "mt10"].join(" ") }, /* @__PURE__ */ React.createElement(es_anchor["default"], { affix: false, onChange: () => setShowAll(true) }, (_o = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_questions) == null ? void 0 : _o.map(function(item, index) {
if (item.question_type !== 4)
return /* @__PURE__ */ React.createElement(es_anchor["default"].Link, { href: `#questionID-${item.q_position}`, title: item.q_position });
})))), /* @__PURE__ */ React.createElement(col/* default */.Z, null, "\u603B\u5206 ", /* @__PURE__ */ React.createElement("span", { className: "c-red bold" }, (_q = (_p = reviewGroupExercise.exercise_scores) == null ? void 0 : _p.exercise_types) == null ? void 0 : _q.q_scores), " \u5206")), /* @__PURE__ */ React.createElement("p", { className: "c-blue tr", onClick: () => setShowAll(!showAll) }, showAll ? "\u6536\u8D77\u7B54\u9898\u8BE6\u60C5" : "\u5C55\u5F00\u67E5\u770B\u7B54\u9898\u8BE6\u60C5", /* @__PURE__ */ React.createElement("span", { className: "iconfont icon-play-square-fill3x ml5" })), /* @__PURE__ */ React.createElement(divider/* default */.Z, null)), /* @__PURE__ */ React.createElement(row/* default */.Z, { gutter: [10, 10] }, /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ React.createElement("aside", null, /* @__PURE__ */ React.createElement("strong", { className: "font14" }, "\u4E3B\u89C2\u9898"), /* @__PURE__ */ React.createElement("span", { className: ReviewGroupmodules.greenTip }, "\u5DF2\u8BC4"), /* @__PURE__ */ React.createElement("span", { className: ReviewGroupmodules.redTip }, "\u672A\u8BC4")), /* @__PURE__ */ React.createElement("aside", { className: [ReviewGroupmodules.questionIcons, "mt10"].join(" ") }, /* @__PURE__ */ React.createElement(es_anchor["default"], { affix: false }, (_r = reviewGroupExercise == null ? void 0 : reviewGroupExercise.exercise_questions) == null ? void 0 : _r.map(function(item, index) {
if (item.question_type === 4)
return /* @__PURE__ */ React.createElement(es_anchor["default"].Link, { href: `#questionID-${item.q_position}`, title: item.q_position }, " ");
})))), /* @__PURE__ */ React.createElement(col/* default */.Z, null, "\u603B\u5206 ", /* @__PURE__ */ React.createElement("span", { className: "c-red bold" }, (_t = (_s = reviewGroupExercise.exercise_scores) == null ? void 0 : _s.exercise_types) == null ? void 0 : _t.q_mains_scores), " \u5206")), (_u = reviewGroupExercise.exercise_questions) == null ? void 0 : _u.map(function(item, index) {
var _a3;
return /* @__PURE__ */ React.createElement("aside", { id: `questionID-${item.q_position}`, className: `${showAll || item.question_type === 4 ? "" : "hide"}` }, /* @__PURE__ */ React.createElement(row/* default */.Z, null, /* @__PURE__ */ React.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ React.createElement("span", { className: "c-blue font14" }, item.q_position, ". ", questionType[item.question_type]), /* @__PURE__ */ React.createElement("span", { className: "c-light-black ml5" }, "(", item.question_score, ")")), /* @__PURE__ */ React.createElement(col/* default */.Z, null, item.standard_answer_show && /* @__PURE__ */ React.createElement("span", null, "\u6B63\u786E\u7B54\u6848\uFF1A", item.standard_answer_show), handleChangeScore(item), item.user_score && /* @__PURE__ */ React.createElement("span", null, "\u5F97\u5206", /* @__PURE__ */ React.createElement("span", { className: "c-red" }, item.user_score), "\u5206"), !item.user_score && /* @__PURE__ */ React.createElement("span", { className: "c-red" }, "\u672A\u8BC4"))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(RenderHtml/* default */.Z, { value: item.question_title })), /* @__PURE__ */ React.createElement("div", null, (_a3 = item.question_choices) == null ? void 0 : _a3.map(function(val, key) {
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { checked: item.user_answer.includes(val.choice_id) }, val.choice_text));
})), /* @__PURE__ */ React.createElement(SeeAnswer, { data: item }), changeScoreData[item.q_position] ? /* @__PURE__ */ React.createElement(input["default"].TextArea, { onChange: (e) => {
changeScoreData["comment"] = String(e.target.value);
setChangeScoreData(__spreadValues({}, changeScoreData));
}, placeholder: "\u8BF7\u8F93\u5165\u8BC4\u8BED\u6700\u5927\u9650\u5236100\u4E2A\u5B57\u7B26", maxLength: 100 }) : null, /* @__PURE__ */ React.createElement(divider/* default */.Z, null));
})));
};
/* harmony default export */ var ReviewGroup = ((0,_umi_production_exports.connect)(
({
exercise,
loading,
user,
globalSetting
}) => ({
exercise,
globalSetting,
user,
loading: loading.effects
})
)(ExeriseReview));
/***/ })
}]);