|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[14105],{
|
|
|
|
|
|
/***/ 45865:
|
|
|
/*!**********************************************!*\
|
|
|
!*** ./src/components/AsyncButton/index.tsx ***!
|
|
|
\**********************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ Z: function() { return /* binding */ AsyncButton; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js */ 39647);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["children"];
|
|
|
|
|
|
|
|
|
|
|
|
var AsyncButton = function AsyncButton(_ref) {
|
|
|
var children = _ref.children,
|
|
|
props = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_4___default()(_ref, _excluded);
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
|
|
|
btnLoading = _useState2[0],
|
|
|
setBtnLoading = _useState2[1];
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, props), {}, {
|
|
|
loading: btnLoading,
|
|
|
onClick: ( /*#__PURE__*/function () {
|
|
|
var _ref2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(e) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.prev = 0;
|
|
|
setBtnLoading(true);
|
|
|
_context.next = 4;
|
|
|
return props.onClick(e);
|
|
|
case 4:
|
|
|
setBtnLoading(false);
|
|
|
_context.next = 11;
|
|
|
break;
|
|
|
case 7:
|
|
|
_context.prev = 7;
|
|
|
_context.t0 = _context["catch"](0);
|
|
|
console.error(_context.t0);
|
|
|
setBtnLoading(false);
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee, null, [[0, 7]]);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}()),
|
|
|
children: children
|
|
|
}));
|
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 58151:
|
|
|
/*!****************************************!*\
|
|
|
!*** ./src/components/Hooks/index.tsx ***!
|
|
|
\****************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ y: function() { return /* binding */ useDisableAction; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
|
|
|
|
var useDisableAction = function useDisableAction(disable) {
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
|
if (disable) {
|
|
|
var handleKeyDown = function handleKeyDown(event) {
|
|
|
if (event.key === "F12") {
|
|
|
event.preventDefault();
|
|
|
// 执行你的自定义行为
|
|
|
console.log('F12被禁用');
|
|
|
}
|
|
|
};
|
|
|
var handleContextmenu = function handleContextmenu(event) {
|
|
|
event.preventDefault();
|
|
|
};
|
|
|
document.addEventListener("keydown", handleKeyDown);
|
|
|
document.addEventListener("contextmenu", handleContextmenu);
|
|
|
return function () {
|
|
|
document.removeEventListener("keydown", handleKeyDown);
|
|
|
document.removeEventListener("contextmenu", handleContextmenu);
|
|
|
};
|
|
|
}
|
|
|
}, [disable]);
|
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 43532:
|
|
|
/*!*********************************************************!*\
|
|
|
!*** ./src/components/QuestionEditor/Buttonloading.tsx ***!
|
|
|
\*********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! umi */ 80184);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 8591);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 43418);
|
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! js-base64 */ 24334);
|
|
|
/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(js_base64__WEBPACK_IMPORTED_MODULE_6__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/fetch */ 35325);
|
|
|
/* harmony import */ var _pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/pages/MyProblem/service */ 93454);
|
|
|
/* harmony import */ var _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/pages/MyProblem/TestCasePanel */ 68641);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ 61186);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_10__);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* @description: 自测运行
|
|
|
* @param {*}
|
|
|
* ButtonProps:按钮部分样式等参数
|
|
|
* ButtonText 按钮文字
|
|
|
* form 表单内容
|
|
|
* answerKey 填空字段
|
|
|
* items 为运行调试字段
|
|
|
* @return {*}
|
|
|
*/
|
|
|
var ButtonLoading = function ButtonLoading(_ref) {
|
|
|
var ButtonProps = _ref.ButtonProps,
|
|
|
ButtonText = _ref.ButtonText,
|
|
|
form = _ref.form,
|
|
|
answerKey = _ref.answerKey,
|
|
|
_ref$hackidentifier = _ref.hackidentifier,
|
|
|
hackidentifier = _ref$hackidentifier === void 0 ? "" : _ref$hackidentifier,
|
|
|
_ref$items = _ref.items,
|
|
|
items = _ref$items === void 0 ? {} : _ref$items,
|
|
|
setIsSubmitCode = _ref.setIsSubmitCode;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
|
|
|
isloading = _useState2[0],
|
|
|
setisloading = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(''),
|
|
|
_useState4 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),
|
|
|
identifier = _useState4[0],
|
|
|
setidentifier = _useState4[1];
|
|
|
var param = (0,umi__WEBPACK_IMPORTED_MODULE_4__.useParams)();
|
|
|
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)({}),
|
|
|
_useState6 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),
|
|
|
modalshow = _useState6[0],
|
|
|
setmodalshow = _useState6[1];
|
|
|
var isEdit = param.type === 'edit';
|
|
|
var type = window.location.href.includes('problemset') ? 1 : 2;
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
if (isEdit || hackidentifier) {
|
|
|
setidentifier(hackidentifier || param.id);
|
|
|
}
|
|
|
}, [param]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
return function () {
|
|
|
sessionStorage.removeItem("projectFill");
|
|
|
};
|
|
|
}, []);
|
|
|
function onUpdateCode(_x, _x2) {
|
|
|
return _onUpdateCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onUpdateCode() {
|
|
|
_onUpdateCode = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee4(re, id) {
|
|
|
var _stats$filter;
|
|
|
var code, stats, codes, response;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
code = form.getFieldValue("hack_codes");
|
|
|
stats = form.getFieldValue(answerKey);
|
|
|
if (code.code) {
|
|
|
_context4.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('程序代码不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 5:
|
|
|
if (code.language) {
|
|
|
_context4.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('编程语言不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 8:
|
|
|
if (!(stats.length > 0 && ((_stats$filter = stats.filter(function (item) {
|
|
|
return !item.answer_text;
|
|
|
})) === null || _stats$filter === void 0 ? void 0 : _stats$filter.length) > 0)) {
|
|
|
_context4.next = 11;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.info('填空项不能为空!');
|
|
|
return _context4.abrupt("return");
|
|
|
case 11:
|
|
|
codes = code.code;
|
|
|
if (stats.length > 0) {
|
|
|
stats === null || stats === void 0 || stats.map(function (item) {
|
|
|
if (item.multi_line) {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁▁@')) + item.answer_text + codes.substring(codes.indexOf('@▁▁@') + 4);
|
|
|
} else {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁@')) + item.answer_text + codes.substring(codes.indexOf('@▁@') + 3);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
_context4.next = 15;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .updateCode */ .n4)(id, re ? re : {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(codes),
|
|
|
language: code.language,
|
|
|
answers: stats === null || stats === void 0 ? void 0 : stats.map(function (item) {
|
|
|
return item.answer_text;
|
|
|
})
|
|
|
});
|
|
|
case 15:
|
|
|
response = _context4.sent;
|
|
|
return _context4.abrupt("return", response);
|
|
|
case 17:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _onUpdateCode.apply(this, arguments);
|
|
|
}
|
|
|
function onUpdateCodes(_x3, _x4) {
|
|
|
return _onUpdateCodes.apply(this, arguments);
|
|
|
}
|
|
|
function _onUpdateCodes() {
|
|
|
_onUpdateCodes = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee5(re, id) {
|
|
|
var stats, codes, response;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
stats = items.userAnswer;
|
|
|
codes = js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.decode(items.code); // if (stats.length > 0 && stats.filter((item) => !item.value)?.length > 0) {
|
|
|
// message.info('填空项不能为空!')
|
|
|
// return
|
|
|
// }
|
|
|
if (stats.length > 0) {
|
|
|
stats === null || stats === void 0 || stats.map(function (item) {
|
|
|
if (item.multi_line) {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁▁@')) + item.value + codes.substring(codes.indexOf('@▁▁@') + 4);
|
|
|
} else {
|
|
|
codes = codes.substring(0, codes.indexOf('@▁@')) + item.value + codes.substring(codes.indexOf('@▁@') + 3);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
_context5.next = 5;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .updateCode */ .n4)(id, re ? re : {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(codes),
|
|
|
language: items.language,
|
|
|
answers: stats === null || stats === void 0 ? void 0 : stats.map(function (item) {
|
|
|
return item.value;
|
|
|
})
|
|
|
});
|
|
|
case 5:
|
|
|
response = _context5.sent;
|
|
|
return _context5.abrupt("return", response);
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _onUpdateCodes.apply(this, arguments);
|
|
|
}
|
|
|
function getTimeStamp() {
|
|
|
return new Date().getTime();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
loading: isloading
|
|
|
}, ButtonProps), {}, {
|
|
|
onClick: /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee3() {
|
|
|
var _res, _response, executeCode, startTime, aa, res, formValues, _formValues$hack, _res2, _formValues$hack2, res1, response, _executeCode, _startTime;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
if (!(ButtonText === '提交代码')) {
|
|
|
_context3.next = 21;
|
|
|
break;
|
|
|
}
|
|
|
setisloading(true);
|
|
|
if (!isloading) {
|
|
|
_context3.next = 4;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 4:
|
|
|
_context3.next = 6;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, "/start.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 6:
|
|
|
_res = _context3.sent;
|
|
|
_context3.next = 9;
|
|
|
return onUpdateCodes(null, _res === null || _res === void 0 ? void 0 : _res.identifier);
|
|
|
case 9:
|
|
|
_response = _context3.sent;
|
|
|
if (!((_response === null || _response === void 0 ? void 0 : _response.status) === 0)) {
|
|
|
_context3.next = 18;
|
|
|
break;
|
|
|
}
|
|
|
executeCode = /*#__PURE__*/function () {
|
|
|
var _ref3 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee() {
|
|
|
var _items$userAnswer;
|
|
|
var _yield$getOperationRe, status, message, data, executeTime, isTimeOut;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .getOperationResult */ .rX)(_res === null || _res === void 0 ? void 0 : _res.identifier, 'submit');
|
|
|
case 2:
|
|
|
_yield$getOperationRe = _context.sent;
|
|
|
status = _yield$getOperationRe.status;
|
|
|
message = _yield$getOperationRe.message;
|
|
|
data = _yield$getOperationRe.data;
|
|
|
executeTime = getTimeStamp();
|
|
|
isTimeOut = executeTime - startTime > 10 * 1000 * (items === null || items === void 0 || (_items$userAnswer = items.userAnswer) === null || _items$userAnswer === void 0 ? void 0 : _items$userAnswer.length);
|
|
|
if (status !== 0 && !isTimeOut) {
|
|
|
setTimeout(executeCode, 1000);
|
|
|
}
|
|
|
if (!isTimeOut) {
|
|
|
_context.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
setisloading(false);
|
|
|
return _context.abrupt("return");
|
|
|
case 13:
|
|
|
if (status === 0) {
|
|
|
setisloading(false);
|
|
|
// let datas = await Fetch(`/api/myproblems/record_detail.json`, {
|
|
|
// method: 'GET',
|
|
|
// params: {
|
|
|
// id: data?.id
|
|
|
// }
|
|
|
// })
|
|
|
|
|
|
setmodalshow(data);
|
|
|
if (data.status === 2) {
|
|
|
setisloading(false);
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 14:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function executeCode() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
startTime = getTimeStamp();
|
|
|
_context3.next = 15;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .sumbitCode */ .bM)(_res === null || _res === void 0 ? void 0 : _res.identifier, {});
|
|
|
case 15:
|
|
|
executeCode();
|
|
|
_context3.next = 19;
|
|
|
break;
|
|
|
case 18:
|
|
|
setisloading(false);
|
|
|
case 19:
|
|
|
!!setIsSubmitCode && setIsSubmitCode(true);
|
|
|
return _context3.abrupt("return");
|
|
|
case 21:
|
|
|
aa = true;
|
|
|
_context3.next = 24;
|
|
|
return form.validateFields().then(function () {
|
|
|
aa = false;
|
|
|
}, function (errInfo) {
|
|
|
var _errInfo$errorFields, _errInfo$errorFields2;
|
|
|
if (errInfo.errorFields[0].name.includes("standard_answers")) {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.error("填空项答案不能为空");
|
|
|
} else {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .ZP.error(errInfo.errorFields[0].errors[0]);
|
|
|
}
|
|
|
if (((_errInfo$errorFields = errInfo.errorFields) === null || _errInfo$errorFields === void 0 ? void 0 : _errInfo$errorFields.length) === 0) {
|
|
|
aa = false;
|
|
|
}
|
|
|
form.scrollToField(errInfo === null || errInfo === void 0 || (_errInfo$errorFields2 = errInfo.errorFields) === null || _errInfo$errorFields2 === void 0 || (_errInfo$errorFields2 = _errInfo$errorFields2[0]) === null || _errInfo$errorFields2 === void 0 ? void 0 : _errInfo$errorFields2.name, {
|
|
|
behavior: 'smooth',
|
|
|
block: 'center'
|
|
|
});
|
|
|
aa = true;
|
|
|
});
|
|
|
case 24:
|
|
|
if (!aa) {
|
|
|
_context3.next = 26;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 26:
|
|
|
setisloading(true);
|
|
|
if (!isloading) {
|
|
|
_context3.next = 29;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 29:
|
|
|
res = '';
|
|
|
formValues = form.getFieldsValue();
|
|
|
if (identifier) {
|
|
|
_context3.next = 40;
|
|
|
break;
|
|
|
}
|
|
|
_context3.next = 34;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems.json", {
|
|
|
method: 'post',
|
|
|
body: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues), {}, {
|
|
|
hack: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
|
|
|
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack = formValues.hack) === null || _formValues$hack === void 0 || (_formValues$hack = _formValues$hack.sub_discipline_id) === null || _formValues$hack === void 0 ? void 0 : _formValues$hack[1],
|
|
|
difficult: formValues.difficulty,
|
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
|
}),
|
|
|
hack_codes: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_codes), {}, {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(formValues.hack_codes.code)
|
|
|
}),
|
|
|
hack_sets: [_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_sets)],
|
|
|
is_blank: true
|
|
|
})
|
|
|
});
|
|
|
case 34:
|
|
|
res = _context3.sent;
|
|
|
identifier = (_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.identifier;
|
|
|
sessionStorage.projectFill = identifier;
|
|
|
setidentifier(identifier);
|
|
|
_context3.next = 43;
|
|
|
break;
|
|
|
case 40:
|
|
|
_context3.next = 42;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, ".json"), {
|
|
|
method: 'put',
|
|
|
body: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues), {}, {
|
|
|
hack: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues === null || formValues === void 0 ? void 0 : formValues.hack), {}, {
|
|
|
sub_discipline_id: formValues === null || formValues === void 0 || (_formValues$hack2 = formValues.hack) === null || _formValues$hack2 === void 0 || (_formValues$hack2 = _formValues$hack2.sub_discipline_id) === null || _formValues$hack2 === void 0 ? void 0 : _formValues$hack2[1],
|
|
|
difficult: formValues.difficulty,
|
|
|
item_banks_group_id: formValues.item_banks_group_id
|
|
|
}),
|
|
|
hack_codes: _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_codes), {}, {
|
|
|
code: js_base64__WEBPACK_IMPORTED_MODULE_6__.Base64.encode(formValues.hack_codes.code)
|
|
|
}),
|
|
|
update_hack_sets: [_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formValues.hack_sets)],
|
|
|
is_blank: true
|
|
|
})
|
|
|
});
|
|
|
case 42:
|
|
|
res = _context3.sent;
|
|
|
case 43:
|
|
|
_context3.next = 45;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)("/api/problems/".concat(identifier, "/start.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 45:
|
|
|
res1 = _context3.sent;
|
|
|
_context3.next = 48;
|
|
|
return onUpdateCode(null, res1 === null || res1 === void 0 ? void 0 : res1.identifier);
|
|
|
case 48:
|
|
|
response = _context3.sent;
|
|
|
if (!((response === null || response === void 0 ? void 0 : response.status) === 0)) {
|
|
|
_context3.next = 57;
|
|
|
break;
|
|
|
}
|
|
|
_executeCode = /*#__PURE__*/function () {
|
|
|
var _ref4 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2() {
|
|
|
var _formValues$standard_;
|
|
|
var _yield$getOperationRe2, status, message, data, executeTime, isTimeOut;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .getOperationResult */ .rX)(res1 === null || res1 === void 0 ? void 0 : res1.identifier, 'submit');
|
|
|
case 2:
|
|
|
_yield$getOperationRe2 = _context2.sent;
|
|
|
status = _yield$getOperationRe2.status;
|
|
|
message = _yield$getOperationRe2.message;
|
|
|
data = _yield$getOperationRe2.data;
|
|
|
executeTime = getTimeStamp();
|
|
|
isTimeOut = executeTime - _startTime > (formValues.hack.time_limit + 3) * 1000 * (formValues === null || formValues === void 0 || (_formValues$standard_ = formValues.standard_answers) === null || _formValues$standard_ === void 0 ? void 0 : _formValues$standard_.length);
|
|
|
if (status !== 0 && !isTimeOut) {
|
|
|
setTimeout(_executeCode, 1000);
|
|
|
}
|
|
|
if (!isTimeOut) {
|
|
|
_context2.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
setisloading(false);
|
|
|
return _context2.abrupt("return");
|
|
|
case 13:
|
|
|
if (status === 0) {
|
|
|
setisloading(false);
|
|
|
setmodalshow(data);
|
|
|
if (data.status === 2) {
|
|
|
setisloading(false);
|
|
|
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z.error({
|
|
|
centered: true,
|
|
|
okText: '知道啦',
|
|
|
title: '调试代码超时'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 14:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function _executeCode() {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
_startTime = getTimeStamp();
|
|
|
_context3.next = 54;
|
|
|
return (0,_pages_MyProblem_service__WEBPACK_IMPORTED_MODULE_8__/* .sumbitCode */ .bM)(res1 === null || res1 === void 0 ? void 0 : res1.identifier, {});
|
|
|
case 54:
|
|
|
_executeCode();
|
|
|
_context3.next = 58;
|
|
|
break;
|
|
|
case 57:
|
|
|
setisloading(false);
|
|
|
case 58:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
})),
|
|
|
children: ButtonText
|
|
|
})), (modalshow === null || modalshow === void 0 ? void 0 : modalshow.id) && modalshow.status !== 2 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
open: (modalshow === null || modalshow === void 0 ? void 0 : modalshow.id) && modalshow.status !== 2,
|
|
|
title: "\u8FD0\u884C\u7ED3\u679C",
|
|
|
width: 1100,
|
|
|
footer: false,
|
|
|
onOk: function onOk() {
|
|
|
setmodalshow({});
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
setmodalshow({});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
style: {
|
|
|
maxHeight: 600,
|
|
|
overflow: 'auto',
|
|
|
marginBottom: 15
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
style: {
|
|
|
marginBottom: 20,
|
|
|
display: 'flex',
|
|
|
justifyContent: 'space-between',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u72B6\u6001"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12,
|
|
|
color: modalshow.status !== 0 && '#E30000'
|
|
|
},
|
|
|
children: _pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__/* .ExecuteDict */ .Im[modalshow.status]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u63D0\u4EA4\u65F6\u95F4"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: moment__WEBPACK_IMPORTED_MODULE_10___default()(modalshow.created_at).format('YYYY-MM-DD HH:mm:ss')
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u8BED\u8A00"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: modalshow.language
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u6267\u884C\u7528\u65F6"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)("span", {
|
|
|
style: {
|
|
|
marginLeft: 12
|
|
|
},
|
|
|
children: [modalshow.execute_time, "ms"]
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(_pages_MyProblem_TestCasePanel__WEBPACK_IMPORTED_MODULE_9__/* .DetailCommitOut */ .Y4, _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, modalshow))]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = (ButtonLoading);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 76430:
|
|
|
/*!***************************************************************************!*\
|
|
|
!*** ./src/pages/Classrooms/Lists/Exercise/Answer/index.tsx + 16 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 */ Exercise_Answer; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(37205);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(39647);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// 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
|
|
|
var _umi_production_exports = __webpack_require__(80184);
|
|
|
// EXTERNAL MODULE: ./node_modules/_qrcode.react@1.0.0@qrcode.react/lib/index.js
|
|
|
var lib = __webpack_require__(15845);
|
|
|
var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
|
|
|
var statistic = __webpack_require__(31797);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var es_modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(10249);
|
|
|
// 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/progress/index.js + 13 modules
|
|
|
var es_progress = __webpack_require__(93948);
|
|
|
// 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/radio/index.js + 5 modules
|
|
|
var es_radio = __webpack_require__(5112);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
|
|
|
var es_checkbox = __webpack_require__(24905);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
|
|
|
var spin = __webpack_require__(71418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/alert/index.js + 3 modules
|
|
|
var es_alert = __webpack_require__(46400);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/MinusSquareOutlined.js + 1 modules
|
|
|
var MinusSquareOutlined = __webpack_require__(15075);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/PlusSquareOutlined.js + 1 modules
|
|
|
var PlusSquareOutlined = __webpack_require__(43531);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(35325);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(67390);
|
|
|
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CaptureVideomodules = ({"flex_box_center":"flex_box_center___kVqBh","flex_space_between":"flex_space_between___FMnNq","flex_box_vertical_center":"flex_box_vertical_center___meESe","flex_box_center_end":"flex_box_center_end___KFpOb","flex_box_column":"flex_box_column___GHIK9","video":"video___nn_cD"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* base64 to file
|
|
|
* @param dataurl base64 content
|
|
|
* @param filename set up a meaningful suffix, or you can set mime type in options
|
|
|
* @returns {File|*}
|
|
|
*/
|
|
|
var dataURLtoFile = function dataURLtoFile(dataurl, filename) {
|
|
|
var arr = dataurl.split(',');
|
|
|
var mime = arr[0].match(/:(.*?);/)[1];
|
|
|
var bstr = atob(arr[1]);
|
|
|
var n = bstr.length;
|
|
|
var u8arr = new Uint8Array(n);
|
|
|
while (n--) {
|
|
|
u8arr[n] = bstr.charCodeAt(n);
|
|
|
}
|
|
|
return new Blob([u8arr], {
|
|
|
type: mime
|
|
|
}); // if env support File, also can use this: return new File([u8arr], filename, { type: mime });
|
|
|
};
|
|
|
var CaptureVideo = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(function (_ref, ref) {
|
|
|
var time = _ref.time,
|
|
|
number = _ref.number,
|
|
|
supportCamera = _ref.supportCamera,
|
|
|
take_photo = _ref.take_photo,
|
|
|
update = _ref.update,
|
|
|
id = _ref.id;
|
|
|
var video = (0,_react_17_0_2_react.useRef)();
|
|
|
var canvas = (0,_react_17_0_2_react.useRef)();
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
phoneStep = _useState2[0],
|
|
|
setPhoneStep = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
status = _useState4[0],
|
|
|
setStatus = _useState4[1]; // 0准备中,1开启失败,2开启成功,3考试结束
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
src = _useState6[0],
|
|
|
setSrc = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
interval = _useState8[0],
|
|
|
setInter = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
isPause = _useState10[0],
|
|
|
setIsPause = _useState10[1]; //0未开始,1开始计时,2停止计时
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
checkMediaDevices();
|
|
|
return function () {
|
|
|
handleStop();
|
|
|
clearTimer();
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
// clearTimer()
|
|
|
if (status === 2 && time && number > 0) {
|
|
|
calcPhoto();
|
|
|
setIsPause(1);
|
|
|
// photograph();
|
|
|
}
|
|
|
}, [time]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (isPause === 0) return;
|
|
|
if (isPause === 2) {
|
|
|
clearInterval(interval);
|
|
|
} else {
|
|
|
var n = 0;
|
|
|
var _id = setInterval(function () {
|
|
|
if (phoneStep.includes(n)) {
|
|
|
handlePhoto();
|
|
|
}
|
|
|
n++;
|
|
|
}, 1000);
|
|
|
setInter(_id);
|
|
|
}
|
|
|
return function () {
|
|
|
return clearInterval(interval);
|
|
|
};
|
|
|
}, [isPause]);
|
|
|
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
|
|
|
return {
|
|
|
handlePhoto: handlePhoto
|
|
|
};
|
|
|
});
|
|
|
var clearTimer = function clearTimer() {
|
|
|
setIsPause(2);
|
|
|
};
|
|
|
var calcPhoto = function calcPhoto() {
|
|
|
var step = time / number;
|
|
|
var arr = [];
|
|
|
function getRndInteger(min, max) {
|
|
|
return parseInt(Math.floor(Math.random() * (max - min + 1)) + min);
|
|
|
}
|
|
|
new Array(number).fill(0).map(function (item, key) {
|
|
|
if (take_photo) {
|
|
|
arr.push(getRndInteger(step * key, step * (key + 1)));
|
|
|
} else {
|
|
|
if (key == 0) {
|
|
|
arr.push(0);
|
|
|
} else {
|
|
|
arr.push(getRndInteger(step * key, step * (key + 1)));
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
phoneStep = arr;
|
|
|
setPhoneStep([].concat(arr));
|
|
|
console.log(arr);
|
|
|
};
|
|
|
var checkMediaDevices = function checkMediaDevices() {
|
|
|
if (navigator.mediaDevices === undefined) {
|
|
|
navigator.mediaDevices = {};
|
|
|
}
|
|
|
if (navigator.mediaDevices.getUserMedia === undefined) {
|
|
|
navigator.mediaDevices.getUserMedia = function (constraints) {
|
|
|
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
|
|
|
if (!getUserMedia) {
|
|
|
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
|
|
|
}
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
getUserMedia.call(navigator, constraints, resolve, reject);
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
navigator.mediaDevices.getUserMedia({
|
|
|
video: {
|
|
|
width: 200,
|
|
|
height: 113
|
|
|
}
|
|
|
}).then(function (stream) {
|
|
|
supportCamera && supportCamera(2);
|
|
|
setStatus(2);
|
|
|
if ("srcObject" in video.current) {
|
|
|
video.current.srcObject = stream;
|
|
|
} else {
|
|
|
video.current.src = window.URL.createObjectURL(stream);
|
|
|
}
|
|
|
video.current.onloadedmetadata = function (e) {
|
|
|
video.current.play();
|
|
|
};
|
|
|
video.current.addEventListener('ended', function () {
|
|
|
//结束
|
|
|
console.log("播放结束");
|
|
|
clearTimer();
|
|
|
message/* default */.ZP.error({
|
|
|
content: "您已经关闭了摄像头,请在10秒钟内恢复摄像头,否则将推出考试",
|
|
|
duration: 10,
|
|
|
key: 9998
|
|
|
});
|
|
|
}, false);
|
|
|
})["catch"](function (err) {
|
|
|
setStatus(1);
|
|
|
supportCamera && supportCamera(1);
|
|
|
// 错误信息,以及用户未授权
|
|
|
if (err.message === "Permission denied" || err.name === 'NotAllowedError') {
|
|
|
message/* default */.ZP.error('您已拒绝了获取摄像头');
|
|
|
} else {
|
|
|
message/* default */.ZP.error('摄像头获取失败,或您已拒绝了获取摄像头');
|
|
|
}
|
|
|
console.log("errname: " + err.name);
|
|
|
console.log("err: " + err.message);
|
|
|
});
|
|
|
};
|
|
|
var handlePhoto = function handlePhoto() {
|
|
|
try {
|
|
|
canvas.current.width = video.current.videoWidth;
|
|
|
canvas.current.height = video.current.videoHeight;
|
|
|
var context = canvas.current.getContext('2d');
|
|
|
context.drawImage(video.current, 0, 0, canvas.current.width, canvas.current.height);
|
|
|
setSrc(canvas.current.toDataURL('image/png'));
|
|
|
uploadFile(canvas.current.toDataURL('image/png'));
|
|
|
} catch (e) {}
|
|
|
};
|
|
|
var handleStop = function handleStop() {
|
|
|
try {
|
|
|
var stream = video.current.srcObject;
|
|
|
var tracks = stream.getTracks();
|
|
|
tracks.forEach(function (track) {
|
|
|
track.stop();
|
|
|
});
|
|
|
video.current.srcObject = null;
|
|
|
} catch (e) {}
|
|
|
};
|
|
|
var uploadFile = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(file) {
|
|
|
var formData, xhr;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
formData = new FormData();
|
|
|
formData.append('file', dataURLtoFile(file, '1'));
|
|
|
formData.append('1', '123');
|
|
|
xhr = new window.XMLHttpRequest();
|
|
|
xhr.withCredentials = true;
|
|
|
xhr.addEventListener('load', function (response) {
|
|
|
// console.log('response',);
|
|
|
var res = JSON.parse(response.target.responseText);
|
|
|
(0,fetch/* default */.ZP)("/api/exercises/".concat(id, "/upload_photo.json"), {
|
|
|
method: "post",
|
|
|
body: {
|
|
|
attachment_id: res.id
|
|
|
}
|
|
|
});
|
|
|
}, false);
|
|
|
xhr.addEventListener('error', function (error) {
|
|
|
console.error(error);
|
|
|
}, false);
|
|
|
xhr.open('POST', "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"));
|
|
|
xhr.send(formData);
|
|
|
// const res = await Fetch('/api/buckets/get_upload_token.json', { method: "get" })
|
|
|
// res.data = JSON.parse(decrypt(res.data))
|
|
|
|
|
|
// const name = uuidv4()
|
|
|
// const client = new OSS({
|
|
|
// endpoint: res?.data?.end_point,
|
|
|
// region: res?.data?.region,
|
|
|
// accessKeyId: res?.data?.access_key_id,
|
|
|
// accessKeySecret: res?.data?.access_key_secret,
|
|
|
// bucket: res?.data?.bucket,
|
|
|
// stsToken: res?.data?.security_token
|
|
|
// });
|
|
|
// const imgfile = dataURLtoFile(file, name);
|
|
|
// client.multipartUpload(`${name}.png`, imgfile, {
|
|
|
// timeout: 10 * 1000,
|
|
|
// partSize: 10485760,
|
|
|
// callback: {
|
|
|
// url: res?.data?.callback_url,
|
|
|
// host: res?.data.bucket_host,
|
|
|
// body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + params.login + '&container_id=' + params.categoryId + '&container_type=Exercise',
|
|
|
// }
|
|
|
// }).then(function (result: any) {
|
|
|
// console.log("result:", result)
|
|
|
// }).catch(function (err: any) {
|
|
|
// console.log("err:", err)
|
|
|
// });
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function uploadFile(_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: status !== 3 && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: CaptureVideomodules.video,
|
|
|
id: "screenshot",
|
|
|
children: [status === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u6B63\u5728\u5F00\u542F\u6444\u50CF\u5934..."
|
|
|
}), status === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u6444\u50CF\u5934\u5F00\u542F\u5931\u8D25"
|
|
|
}), status === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("video", {
|
|
|
width: "200",
|
|
|
ref: video,
|
|
|
autoPlay: true
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("canvas", {
|
|
|
style: {
|
|
|
display: "none"
|
|
|
},
|
|
|
ref: canvas
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
/* harmony default export */ var components_CaptureVideo = (CaptureVideo);
|
|
|
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
|
|
|
var recordScreen = __webpack_require__(94319);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(1079);
|
|
|
;// CONCATENATED MODULE: ./src/components/ReactCaptureScreens/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ReactCaptureScreens = function ReactCaptureScreens(_ref) {
|
|
|
var id = _ref.id,
|
|
|
startRecording = _ref.startRecording,
|
|
|
startScreenshot = _ref.startScreenshot,
|
|
|
onBack = _ref.onBack,
|
|
|
onSuccuss = _ref.onSuccuss,
|
|
|
_ref$timeInSeconds = _ref.timeInSeconds,
|
|
|
timeInSeconds = _ref$timeInSeconds === void 0 ? [1, 6, 11, 16, 21, 26, 31, 41, 51, 61, 71, 81, 91, 101, 111, 121, 151, 181, 211, 241, 271, 361, 421, 481, 541, 601, 661] : _ref$timeInSeconds;
|
|
|
var stream = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var video = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var canvas = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var timer = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var openActionRecord = (0,_react_17_0_2_react.useRef)(true);
|
|
|
var exerciseAbnormityId = (0,_react_17_0_2_react.useRef)('');
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(null),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
time = _useState2[0],
|
|
|
setTime = _useState2[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (startRecording) {
|
|
|
startLp();
|
|
|
} else {
|
|
|
stopLp();
|
|
|
}
|
|
|
}, [startRecording]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (startScreenshot) {
|
|
|
setTime(0);
|
|
|
} else {
|
|
|
clearTimeout(timer.current);
|
|
|
setTime(null);
|
|
|
exerciseAbnormityId.current = '';
|
|
|
}
|
|
|
}, [startScreenshot]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (typeof time === 'number') {
|
|
|
if (timeInSeconds !== null && timeInSeconds !== void 0 && timeInSeconds.includes(time)) {
|
|
|
captureScreenshot();
|
|
|
}
|
|
|
if (time <= 720) {
|
|
|
timer.current = setTimeout(function () {
|
|
|
setTime(time + 1);
|
|
|
}, 1000);
|
|
|
}
|
|
|
}
|
|
|
return function () {
|
|
|
clearTimeout(timer.current);
|
|
|
};
|
|
|
}, [time]);
|
|
|
var handleGoBack = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var str,
|
|
|
_args = arguments;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
str = _args.length > 0 && _args[0] !== undefined ? _args[0] : '未共享整个屏幕,禁止作答!';
|
|
|
message/* default */.ZP.warning(str);
|
|
|
setTimeout(function () {
|
|
|
onBack();
|
|
|
}, 1000);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function handleGoBack() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var startLp = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var _stream$current, _stream$current2, mediaStream, displaySurface;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
if ((0,util/* isChrome */.i7)()) {
|
|
|
_context2.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
handleGoBack('请使用谷歌浏览器答题');
|
|
|
return _context2.abrupt("return");
|
|
|
case 3:
|
|
|
if (!stream.current) {
|
|
|
_context2.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning('正在录制中');
|
|
|
return _context2.abrupt("return");
|
|
|
case 6:
|
|
|
openActionRecord.current = true;
|
|
|
_context2.prev = 7;
|
|
|
_context2.next = 10;
|
|
|
return navigator.mediaDevices.getDisplayMedia({
|
|
|
video: {
|
|
|
displaySurface: 'monitor'
|
|
|
}
|
|
|
});
|
|
|
case 10:
|
|
|
mediaStream = _context2.sent;
|
|
|
stream.current = mediaStream;
|
|
|
displaySurface = (_stream$current = stream.current) === null || _stream$current === void 0 || (_stream$current = _stream$current.getVideoTracks()) === null || _stream$current === void 0 || (_stream$current = _stream$current[0]) === null || _stream$current === void 0 || (_stream$current = _stream$current.getSettings()) === null || _stream$current === void 0 ? void 0 : _stream$current.displaySurface; //火狐判断是否是选中的屏幕
|
|
|
// const label = stream.current?.getVideoTracks()?.[0]?.label
|
|
|
// if (isFirefox() && !!label) {
|
|
|
// stopLp()
|
|
|
// onBack()
|
|
|
// return
|
|
|
// }
|
|
|
if (!(displaySurface !== 'monitor')) {
|
|
|
_context2.next = 17;
|
|
|
break;
|
|
|
}
|
|
|
stopLp();
|
|
|
handleGoBack();
|
|
|
return _context2.abrupt("return");
|
|
|
case 17:
|
|
|
if ("srcObject" in video.current) {
|
|
|
video.current.srcObject = stream.current;
|
|
|
} else {
|
|
|
video.current.src = URL.createObjectURL(stream.current);
|
|
|
}
|
|
|
// 等待视频加载完成
|
|
|
_context2.next = 20;
|
|
|
return new Promise(function (resolve) {
|
|
|
video.current.addEventListener('loadedmetadata', function () {
|
|
|
resolve();
|
|
|
});
|
|
|
});
|
|
|
case 20:
|
|
|
(_stream$current2 = stream.current) === null || _stream$current2 === void 0 || (_stream$current2 = _stream$current2.getVideoTracks()) === null || _stream$current2 === void 0 || (_stream$current2 = _stream$current2[0]) === null || _stream$current2 === void 0 || _stream$current2.addEventListener('ended', function () {
|
|
|
if (openActionRecord.current) {
|
|
|
handleGoBack();
|
|
|
}
|
|
|
});
|
|
|
video.current.play();
|
|
|
onSuccuss();
|
|
|
_context2.next = 28;
|
|
|
break;
|
|
|
case 25:
|
|
|
_context2.prev = 25;
|
|
|
_context2.t0 = _context2["catch"](7);
|
|
|
handleGoBack('屏幕录制功能错误,请检查后再共享整个屏幕,否则无法作答');
|
|
|
case 28:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2, null, [[7, 25]]);
|
|
|
}));
|
|
|
return function startLp() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var stopLp = function stopLp() {
|
|
|
var _stream$current3;
|
|
|
openActionRecord.current = false;
|
|
|
var tracks = (_stream$current3 = stream.current) === null || _stream$current3 === void 0 ? void 0 : _stream$current3.getTracks();
|
|
|
tracks === null || tracks === void 0 || tracks.forEach(function (track) {
|
|
|
track.stop();
|
|
|
});
|
|
|
stream.current = null;
|
|
|
};
|
|
|
var dataURLToBlob = function dataURLToBlob(dataURL) {
|
|
|
var base64String = dataURL.split(',')[1];
|
|
|
var mimeString = dataURL.split(',')[0].split(':')[1].split(';')[0];
|
|
|
var byteCharacters = toConsumableArray_default()(atob(base64String));
|
|
|
var byteArray = new Uint8Array(byteCharacters.map(function (_char) {
|
|
|
return _char.charCodeAt(0);
|
|
|
}));
|
|
|
return new Blob([byteArray], {
|
|
|
type: mimeString
|
|
|
});
|
|
|
};
|
|
|
var getDataId = /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/exercises/".concat(id, "/exercise_user_screens.json"), {
|
|
|
method: 'post'
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
if (res.status === 0) {
|
|
|
exerciseAbnormityId.current = res.exercise_abnormity_id;
|
|
|
setTime(0);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function getDataId() {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var captureScreenshot = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var ctx, dataURL, blob, file, formData, res, fileItem, save;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
ctx = canvas.current.getContext('2d');
|
|
|
canvas.current.width = video.current.videoWidth;
|
|
|
canvas.current.height = video.current.videoHeight;
|
|
|
ctx.drawImage(video.current, 0, 0, canvas.current.width, canvas.current.height);
|
|
|
dataURL = canvas.current.toDataURL('image/jpeg'); // 可以选择其他图像格式
|
|
|
// 将DataURL转换为Blob对象
|
|
|
blob = dataURLToBlob(dataURL); // 创建一个File对象
|
|
|
file = new File([blob], 'canvas_image.jpg', {
|
|
|
type: 'image/jpeg'
|
|
|
});
|
|
|
formData = new FormData();
|
|
|
formData.append('file', file);
|
|
|
_context4.next = 11;
|
|
|
return (0,fetch/* default */.ZP)("/api/exercises/".concat(id, "/exercise_user_screens/check.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 11:
|
|
|
res = _context4.sent;
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) === 0)) {
|
|
|
_context4.next = 21;
|
|
|
break;
|
|
|
}
|
|
|
_context4.next = 15;
|
|
|
return (0,fetch/* default */.ZP)("/api/attachments.json", {
|
|
|
method: 'post',
|
|
|
body: formData
|
|
|
}, true);
|
|
|
case 15:
|
|
|
fileItem = _context4.sent;
|
|
|
if (!(fileItem !== null && fileItem !== void 0 && fileItem.id)) {
|
|
|
_context4.next = 21;
|
|
|
break;
|
|
|
}
|
|
|
_context4.next = 19;
|
|
|
return (0,fetch/* default */.ZP)("/api/exercises/".concat(id, "/exercise_user_screens.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
attachment_id: fileItem === null || fileItem === void 0 ? void 0 : fileItem.id,
|
|
|
exercise_abnormity_id: exerciseAbnormityId.current
|
|
|
}
|
|
|
});
|
|
|
case 19:
|
|
|
save = _context4.sent;
|
|
|
if (save.status === 0) {
|
|
|
exerciseAbnormityId.current = save.exercise_abnormity_id;
|
|
|
}
|
|
|
case 21:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function captureScreenshot() {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("video", {
|
|
|
ref: video,
|
|
|
muted: true,
|
|
|
className: "hide"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("canvas", {
|
|
|
id: "canvas",
|
|
|
ref: canvas,
|
|
|
className: "hide"
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_ReactCaptureScreens = (ReactCaptureScreens);
|
|
|
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.13@dayjs/dayjs.min.js
|
|
|
var dayjs_min = __webpack_require__(61186);
|
|
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Answermodules = ({"flex_box_center":"flex_box_center___ariLt","flex_space_between":"flex_space_between___MC6sH","flex_box_vertical_center":"flex_box_vertical_center___tJHfy","flex_box_center_end":"flex_box_center_end___AfB_t","flex_box_column":"flex_box_column___xX4Fj","bg":"bg___nHBEZ","wrapper":"wrapper___TZKl8","exerciseAlert":"exerciseAlert___QUMwm","title":"title___rj6Q0","content":"content___Te7Wz","baseMargin":"baseMargin___BRmsh","noWrap":"noWrap___X6AS3","singleItem":"singleItem___GkaDR","questionIcons":"questionIcons___XoGYC","green":"green___iIYnV","orange":"orange___EIhiL","greenTip":"greenTip___WwiUh","redTip":"redTip___aWSt4","orangeTip":"orangeTip___j5g_H","pollDesc":"pollDesc___yDT2Q","answered":"answered___d2hE7","unanswer":"unanswer___AdOhE","anchor":"anchor___z3CaP","answerFlag":"answerFlag___wwTKa","flagActive":"flagActive___piG3D","flagHalf":"flagHalf___E29dd","answerStudentFlag":"answerStudentFlag___HRVt8","answerStudentActive":"answerStudentActive___kM6r4","questionItem":"questionItem___q6Hgu","questionScore":"questionScore___RW5tm","itemType":"itemType___pPqzT","itemFlag":"itemFlag___j5TSr","answerWrap":"answerWrap___G9dnn","answerSubjective":"answerSubjective___LRVKJ","otherInput":"otherInput___SxNAw","submitButton":"submitButton___zPo7H","randomFlag":"randomFlag___TOZ2H","answerTrue":"answerTrue___fgIW0","answerFalse":"answerFalse___gAQD8","answerHalf":"answerHalf___h40sX","renderHtml":"renderHtml___UerV1","simpleText":"simpleText___ZKx7o","answerYes":"answerYes___AA0oM","answerNo":"answerNo___gMGLy","answerInfo":"answerInfo___tB4Wz","answerProgress":"answerProgress___CbmXy","answerSheetWrap":"answerSheetWrap___aPipx","answerSheetQuestionTitle":"answerSheetQuestionTitle___P18Ss","answerSheet":"answerSheet___yhxK1","answerSheetItem":"answerSheetItem___DIH2V","qindex":"qindex___XuKA8","markIcon":"markIcon___ZTkqb","active":"active___WSsrt","partialActive":"partialActive___K6lsa","selected":"selected___grFyM","countDown":"countDown___OzcWL","cnText":"cnText___TvFjV","red":"red___Mge1h","refreshBtn":"refreshBtn___lK1MX","fold":"fold___id0EJ","cardList":"cardList___xKhMX","withQrcode":"withQrcode___qphZK","iframe":"iframe___pMMQx","eduTip":"eduTip___hXWhK","eduQrcode":"eduQrcode____qxcx","eduVideo":"eduVideo___mufWJ","eduUsername":"eduUsername___tiufh","startAnswer":"startAnswer___AA7n5","eduSubmit":"eduSubmit___UPIsJ","eduTitle":"eduTitle___jCJrO","wrpAnswer":"wrpAnswer___AVK1Y","simpleMd":"simpleMd___ZGbXj","videomodal":"videomodal___bYarH","mainPart":"mainPart___Fqvw7","userInfoText":"userInfoText___nqL8p","answerSheetBottom":"answerSheetBottom___yXf5u","tooltipWrap":"tooltipWrap___AxG9B","leftPart":"leftPart___P4Ook","rightPart":"rightPart___De4P3","questionPart":"questionPart___GTq66","questionTypeTitle":"questionTypeTitle___r6Fo9","questionTypeInfo":"questionTypeInfo___JfpWv","toIframeBtn":"toIframeBtn___gRKtn","bottom":"bottom___coSlv","markBtn":"markBtn___ZCLGF","changeButton":"changeButton___sBTjl","prevBtn":"prevBtn___lgCPG","analysisWrap":"analysisWrap___JoCnb","greyBg":"greyBg___vgesc","fixHeader":"fixHeader___RoNxE","exerciseTitle":"exerciseTitle___Dtp56","commitModal":"commitModal___zqvNA","commitItem":"commitItem___mjYF6","commitInfoLabel":"commitInfoLabel___KtIjW","commitInfoValue":"commitInfoValue___DCyRn","cameraHeader":"cameraHeader___Pqhwb","dottedLineWrapper":"dottedLineWrapper___ONO9c","leftHalfCircle":"leftHalfCircle___RNJN7","dottedLine":"dottedLine___qWy4W","rightHalfCircle":"rightHalfCircle___s3_hr","orangeNum":"orangeNum___IYnup","teachAnalysis":"teachAnalysis___FH6fk","teachAnalysisModal":"teachAnalysisModal___RcKVp"});
|
|
|
// EXTERNAL MODULE: ./src/components/Exercise/ip.tsx
|
|
|
var Exercise_ip = __webpack_require__(41889);
|
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
|
var authority = __webpack_require__(13277);
|
|
|
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
|
|
|
var fullscreen = __webpack_require__(17924);
|
|
|
// EXTERNAL MODULE: ./src/service/exercise.ts
|
|
|
var service_exercise = __webpack_require__(26613);
|
|
|
// EXTERNAL MODULE: ./src/service/shixuns.ts
|
|
|
var shixuns = __webpack_require__(18240);
|
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 2 modules
|
|
|
var RenderHtml = __webpack_require__(26404);
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
var markdown_editor = __webpack_require__(49731);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Simple.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var scoreStatusMapping = {
|
|
|
0: 'c-red-ee4',
|
|
|
1: 'c-green'
|
|
|
};
|
|
|
var Simple = function Simple(_ref) {
|
|
|
var _answerData$exercise, _answerData$exercise2, _answerData$exercise3, _item$user_answer, _item$user_answer2, _item$standard_answer;
|
|
|
var item = _ref.item,
|
|
|
answerData = _ref.answerData,
|
|
|
isEducation = _ref.isEducation,
|
|
|
sign = _ref.sign,
|
|
|
_ref$onBlur = _ref.onBlur,
|
|
|
_onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
|
|
|
var value = (0,_react_17_0_2_react.useRef)("");
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
isShow = _useState2[0],
|
|
|
setIsShow = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isFocus = _useState4[0],
|
|
|
setIsFocus = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(isEducation || false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
showEditor = _useState6[0],
|
|
|
setShowEditor = _useState6[1];
|
|
|
var timeRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var countDown = function countDown() {
|
|
|
clearInterval(timeRef.current);
|
|
|
timeRef.current = setInterval(function () {
|
|
|
if (isFocus) _onBlur(value.current, true);
|
|
|
}, 10 * 1000);
|
|
|
};
|
|
|
var onBeforeunload = function onBeforeunload(e) {
|
|
|
_onBlur(value.current);
|
|
|
var confirmationMessage = "确定离开此页面吗?此页数据可能会丢失";
|
|
|
(e || window.event).returnValue = confirmationMessage;
|
|
|
return confirmationMessage;
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
console.log("isFocus:", isFocus);
|
|
|
if (isFocus) {
|
|
|
// window.addEventListener('beforeunload', onBeforeunload)
|
|
|
countDown();
|
|
|
} else {
|
|
|
// window.removeEventListener('beforeunload', onBeforeunload)
|
|
|
}
|
|
|
}, [isFocus]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setIsShow(item === null || item === void 0 ? void 0 : item.a_flag);
|
|
|
}, [item === null || item === void 0 ? void 0 : item.a_flag]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
return function () {
|
|
|
clearInterval(timeRef.current);
|
|
|
};
|
|
|
}, []);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [(answerData === null || answerData === void 0 || (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: "\u6211\u7684\u7B54\u6848"
|
|
|
}), ((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.user_exercise_status) > 0 && (answerData === null || answerData === void 0 || (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.open_score)) && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5F97\u5206"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font14 ml10",
|
|
|
children: [(item === null || item === void 0 ? void 0 : item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: scoreStatusMapping[Number(item === null || item === void 0 ? void 0 : item.answer_status)] || 'c-orange-ff9',
|
|
|
children: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 5,
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), !(item !== null && item !== void 0 && item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: "\u672A\u8BC4"
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.simpleText,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 || (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer[0]
|
|
|
})
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"),
|
|
|
children: showEditor ? /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z
|
|
|
// hidetoolBar={true}
|
|
|
// hidetoolBar={document.domain === "kepukehuan.educoder.net"}
|
|
|
// height={isEducation ? "60vh" : 150}
|
|
|
, {
|
|
|
watch: true,
|
|
|
isFocus: true,
|
|
|
defaultValue: item === null || item === void 0 || (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2[0],
|
|
|
id: item === null || item === void 0 ? void 0 : item.question_id,
|
|
|
className: "mt20",
|
|
|
onChange: function onChange(v) {
|
|
|
value.current = v;
|
|
|
setIsFocus(true);
|
|
|
},
|
|
|
onBlur: function onBlur() {
|
|
|
setTimeout(function () {
|
|
|
_onBlur(value.current);
|
|
|
}, 200);
|
|
|
clearInterval(timeRef.current);
|
|
|
setIsFocus(false);
|
|
|
}
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
var _item$user_answer3;
|
|
|
if (!item.repeat_answer && (item === null || item === void 0 || (_item$user_answer3 = item.user_answer) === null || _item$user_answer3 === void 0 ? void 0 : _item$user_answer3.length) > 0 && item.ques_status !== 0) {
|
|
|
message/* default */.ZP.warning('该题不允许再修改答案');
|
|
|
return;
|
|
|
}
|
|
|
sign.current = true;
|
|
|
setShowEditor(true);
|
|
|
},
|
|
|
className: Answermodules.startAnswer,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-blue",
|
|
|
children: "\u70B9\u51FB\u5F00\u59CB\u4F5C\u7B54"
|
|
|
})
|
|
|
})
|
|
|
}), (0,authority/* isStudent */.dE)() && (item === null || item === void 0 ? void 0 : item.standard_answer) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.analysisWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.greyBg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u7B54\u6848\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 || (_item$standard_answer = item.standard_answer) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer[0]
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: Answermodules.renderHtml,
|
|
|
value: item === null || item === void 0 ? void 0 : item.analysis
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_Simple = (Simple);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
|
var es_select = __webpack_require__(57809);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Simple2.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Simple2_Simple = function Simple(_ref) {
|
|
|
var _answerData$exercise, _item$user_answer, _item$user_answer2, _item$standard_answer;
|
|
|
var item = _ref.item,
|
|
|
answerData = _ref.answerData,
|
|
|
isEducation = _ref.isEducation,
|
|
|
_ref$onBlur = _ref.onBlur,
|
|
|
_onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
|
|
|
var value = (0,_react_17_0_2_react.useRef)("");
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
isShow = _useState2[0],
|
|
|
setIsShow = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isFull = _useState4[0],
|
|
|
setIsFull = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
isFocus = _useState6[0],
|
|
|
setIsFocus = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(isEducation || false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
showEditor = _useState8[0],
|
|
|
setShowEditor = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
update = _useState10[0],
|
|
|
setUpdate = _useState10[1];
|
|
|
var title = (0,_react_17_0_2_react.useRef)(item.kp_content || "");
|
|
|
var type = (0,_react_17_0_2_react.useRef)(item.kp_clazz);
|
|
|
var timeRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var totalNum = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
var _value$current;
|
|
|
return (_value$current = value.current) === null || _value$current === void 0 || (_value$current = _value$current.replace(/[\n|\r|\t]/g, "")) === null || _value$current === void 0 ? void 0 : _value$current.length;
|
|
|
}, [value.current]);
|
|
|
var countDown = function countDown() {
|
|
|
clearInterval(timeRef.current);
|
|
|
timeRef.current = setInterval(function () {
|
|
|
if (isFocus) _onBlur(value.current, title.current, type.current);
|
|
|
}, 30 * 1000);
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
console.log("isFocus:", isFocus);
|
|
|
countDown();
|
|
|
}, [isFocus]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setIsShow(item === null || item === void 0 ? void 0 : item.a_flag);
|
|
|
}, [item === null || item === void 0 ? void 0 : item.a_flag]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
return function () {
|
|
|
clearInterval(timeRef.current);
|
|
|
};
|
|
|
}, []);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [(answerData === null || answerData === void 0 || (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
|
children: "\u4F5C\u6587\u9898\u76EE\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
disabled: true,
|
|
|
className: "mt10",
|
|
|
value: title.current,
|
|
|
onChange: function onChange(e) {
|
|
|
title.current = e.target.value;
|
|
|
setUpdate(update + 1);
|
|
|
},
|
|
|
onBlur: function onBlur() {
|
|
|
_onBlur(value.current, title.current, type.current);
|
|
|
setIsFocus(false);
|
|
|
}
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
|
children: "\u4F5C\u54C1\u7C7B\u578B\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select["default"], {
|
|
|
disabled: true,
|
|
|
className: "mt10 w100",
|
|
|
placeholder: "\u8BF7\u9009\u62E9\u4F5C\u54C1\u7C7B\u578B",
|
|
|
value: type.current,
|
|
|
onChange: function onChange(value) {
|
|
|
type.current = value;
|
|
|
setUpdate(update + 1);
|
|
|
},
|
|
|
onBlur: function onBlur() {
|
|
|
_onBlur(value.current, title.current, type.current);
|
|
|
setIsFocus(false);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
|
|
|
value: "科普",
|
|
|
children: "\u79D1\u666E"
|
|
|
}, 1), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
|
|
|
value: "科幻",
|
|
|
children: "\u79D1\u5E7B"
|
|
|
}, 2)]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "mt10 mb0",
|
|
|
children: "\u4F5C\u54C1\u5185\u5BB9\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.simpleText,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 || (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer[0]
|
|
|
})
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
|
children: "\u4F5C\u6587\u9898\u76EE\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
className: "mt10",
|
|
|
maxLength: 60,
|
|
|
onBlur: function onBlur() {
|
|
|
return _onBlur(value.current, title.current, type.current);
|
|
|
},
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u4F5C\u6587\u9898\u76EE(\u6700\u591A60\u4E2A\u5B57)",
|
|
|
value: title.current,
|
|
|
onChange: function onChange(e) {
|
|
|
title.current = e.target.value;
|
|
|
setUpdate(update + 1);
|
|
|
}
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
|
children: "\u4F5C\u6587\u7C7B\u578B\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select["default"], {
|
|
|
className: "mt10 w100",
|
|
|
placeholder: "\u8BF7\u9009\u62E9\u4F5C\u54C1\u7C7B\u578B",
|
|
|
value: type.current,
|
|
|
onChange: function onChange(value) {
|
|
|
type.current = value;
|
|
|
_onBlur(value.current, title.current, type.current);
|
|
|
setUpdate(update + 1);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
|
|
|
value: "科普",
|
|
|
children: "\u79D1\u666E"
|
|
|
}, 1), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
|
|
|
value: "科幻",
|
|
|
children: "\u79D1\u5E7B"
|
|
|
}, 2)]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "mt30 mb20",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
|
children: "\u4F5C\u6587\u5185\u5BB9\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt10 relative",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-blue",
|
|
|
style: {
|
|
|
position: isFull ? "fixed" : "absolute",
|
|
|
top: isFull ? 61 : 4,
|
|
|
left: 10,
|
|
|
zIndex: 106
|
|
|
},
|
|
|
children: ["\u5DF2\u8F93\u5165", totalNum, "\u5B57"]
|
|
|
}), showEditor ? /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
|
|
|
className: Answermodules.simpleMd,
|
|
|
disablePaste: true,
|
|
|
hidetoolBar: isEducation,
|
|
|
height: isEducation ? "60vh" : 150,
|
|
|
isFocus: true,
|
|
|
defaultValue: item === null || item === void 0 || (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2[0],
|
|
|
id: item === null || item === void 0 ? void 0 : item.question_id,
|
|
|
onFullScreen: function onFullScreen(status) {
|
|
|
return setIsFull(status);
|
|
|
},
|
|
|
onChange: function onChange(v) {
|
|
|
value.current = v;
|
|
|
setIsFocus(true);
|
|
|
setUpdate(update + 1);
|
|
|
},
|
|
|
onBlur: function onBlur() {
|
|
|
_onBlur(value.current, title.current, type.current);
|
|
|
setIsFocus(false);
|
|
|
}
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setShowEditor(true);
|
|
|
},
|
|
|
className: Answermodules.startAnswer,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-blue",
|
|
|
children: "\u70B9\u51FB\u5F00\u59CB\u4F5C\u7B54"
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}), (0,authority/* isStudent */.dE)() && (item === null || item === void 0 ? void 0 : item.standard_answer) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "mt10 mb0",
|
|
|
children: "\u53C2\u8003\u7B54\u6848\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
border: "1px solid #eee",
|
|
|
background: "#f5f5f5",
|
|
|
borderRadius: 4,
|
|
|
padding: 5
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 || (_item$standard_answer = item.standard_answer) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer[0]
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Simple2 = (Simple2_Simple);
|
|
|
// 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/table/index.js + 85 modules
|
|
|
var table = __webpack_require__(1710);
|
|
|
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 3 modules
|
|
|
var monaco_editor = __webpack_require__(10446);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/UserScore/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var UserScoremodules = ({"score":"score___mcGn7","wrap":"wrap___h11sQ"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/UserScore/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var UserScore = function UserScore(_ref) {
|
|
|
var score = _ref.score;
|
|
|
return score ? /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: UserScoremodules.wrap,
|
|
|
children: ["\u5F97\u5206", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(UserScoremodules.score, " ml10 mr5"),
|
|
|
children: score
|
|
|
}), "\u5206"]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: "\u672A\u8BC4"
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_UserScore = (UserScore);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var componentsmodules = ({"flex_box_center":"flex_box_center___xK64P","flex_space_between":"flex_space_between___BNBCA","flex_box_vertical_center":"flex_box_vertical_center___ConJK","flex_box_center_end":"flex_box_center_end___L08sz","flex_box_column":"flex_box_column___hvk0E","shixunWrp":"shixunWrp___FTFC6","fill":"fill___H_Qd6","index":"index___PaSVJ","success":"success___fz_F7","fail":"fail___ftXSv","fillInput":"fillInput___q_sSb","shixunWrapper":"shixunWrapper___toGqF","score":"score___AsYGZ","name":"name___hawfX","programWrapper":"programWrapper___zVQPT","desc":"desc___MFIu5","content":"content___QuE41","analysisWrap":"analysisWrap___qGPzJ","greyBg":"greyBg___FIDIB"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Shixun.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Shixun_scoreStatusMapping = {
|
|
|
0: 'c-red-ee4',
|
|
|
1: 'c-green'
|
|
|
};
|
|
|
var Shixun = function Shixun(_ref) {
|
|
|
var _item$shixun, _item$shixun2, _answerData$exercise, _answerData$exercise2, _item$shixun3;
|
|
|
var item = _ref.item,
|
|
|
answerData = _ref.answerData,
|
|
|
exerciseId = _ref.exerciseId,
|
|
|
coursesId = _ref.coursesId;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
data = _useState2[0],
|
|
|
setData = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
challengeData = _useState4[0],
|
|
|
setChallengeData = _useState4[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _item$shixun_details;
|
|
|
if (!(item !== null && item !== void 0 && (_item$shixun_details = item.shixun_details) !== null && _item$shixun_details !== void 0 && _item$shixun_details.length)) {
|
|
|
return;
|
|
|
}
|
|
|
var shixun = [];
|
|
|
var challenge = [];
|
|
|
var _loop = function _loop() {
|
|
|
var _item$shixun_details4;
|
|
|
for (var j = 0; j < (item === null || item === void 0 ? void 0 : item.shixun_details[i].stage_list.length); j++) {
|
|
|
var _item$shixun_details3;
|
|
|
var shixunItem = item === null || item === void 0 ? void 0 : item.shixun_details[i].stage_list[j];
|
|
|
shixun.push(objectSpread2_default()(objectSpread2_default()({}, shixunItem), {
|
|
|
operation: item === null || item === void 0 || (_item$shixun_details3 = item.shixun_details) === null || _item$shixun_details3 === void 0 || (_item$shixun_details3 = _item$shixun_details3[i]) === null || _item$shixun_details3 === void 0 || (_item$shixun_details3 = _item$shixun_details3.shixun_detail) === null || _item$shixun_details3 === void 0 || (_item$shixun_details3 = _item$shixun_details3[0]) === null || _item$shixun_details3 === void 0 ? void 0 : _item$shixun_details3.game_identifier,
|
|
|
is_jupyter: item === null || item === void 0 ? void 0 : item.is_jupyter,
|
|
|
is_jupyter_lab: item === null || item === void 0 ? void 0 : item.is_jupyter_lab
|
|
|
}));
|
|
|
}
|
|
|
if (item !== null && item !== void 0 && (_item$shixun_details4 = item.shixun_details) !== null && _item$shixun_details4 !== void 0 && (_item$shixun_details4 = _item$shixun_details4[i]) !== null && _item$shixun_details4 !== void 0 && _item$shixun_details4.shixun_detail) {
|
|
|
var _item$shixun_details5, _item$shixun_details$;
|
|
|
var finishedChallenge = item === null || item === void 0 || (_item$shixun_details5 = item.shixun_details) === null || _item$shixun_details5 === void 0 || (_item$shixun_details5 = _item$shixun_details5[i]) === null || _item$shixun_details5 === void 0 || (_item$shixun_details5 = _item$shixun_details5.shixun_detail) === null || _item$shixun_details5 === void 0 ? void 0 : _item$shixun_details5[0];
|
|
|
var userScore = item === null || item === void 0 || (_item$shixun_details$ = item.shixun_details[i].stage_list) === null || _item$shixun_details$ === void 0 || (_item$shixun_details$ = _item$shixun_details$.find(function (stageListItem) {
|
|
|
return (stageListItem === null || stageListItem === void 0 ? void 0 : stageListItem.game_identifier) === (finishedChallenge === null || finishedChallenge === void 0 ? void 0 : finishedChallenge.game_identifier);
|
|
|
})) === null || _item$shixun_details$ === void 0 ? void 0 : _item$shixun_details$.user_score;
|
|
|
challenge.push(objectSpread2_default()(objectSpread2_default()({}, finishedChallenge), {}, {
|
|
|
user_score: userScore
|
|
|
}));
|
|
|
}
|
|
|
};
|
|
|
for (var i = 0; i < (item === null || item === void 0 || (_item$shixun_details2 = item.shixun_details) === null || _item$shixun_details2 === void 0 ? void 0 : _item$shixun_details2.length); i++) {
|
|
|
var _item$shixun_details2;
|
|
|
_loop();
|
|
|
}
|
|
|
setChallengeData(challenge);
|
|
|
setData(shixun);
|
|
|
}, [item === null || item === void 0 ? void 0 : item.shixun_details]);
|
|
|
var columns = [{
|
|
|
title: "关卡",
|
|
|
dataIndex: "position",
|
|
|
key: "position",
|
|
|
align: 'center'
|
|
|
}, {
|
|
|
title: "任务名称",
|
|
|
dataIndex: "name",
|
|
|
key: "name",
|
|
|
align: 'center',
|
|
|
render: function render(name) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "overflowHidden1",
|
|
|
style: {
|
|
|
maxWidth: "400px"
|
|
|
},
|
|
|
title: name && name.length > 25 ? name : "",
|
|
|
children: name
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "评测次数",
|
|
|
dataIndex: "evaluate_count",
|
|
|
key: "evaluate_count",
|
|
|
align: 'center',
|
|
|
render: function render(testCount, item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.evaluate_count ? item.evaluate_count : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "color-grey-9",
|
|
|
children: "--"
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "完成时间",
|
|
|
key: "endTime",
|
|
|
dataIndex: "endTime",
|
|
|
align: 'center',
|
|
|
render: function render(endTime, item) {
|
|
|
var timeOver = false;
|
|
|
if (item.finished_time && answerData !== null && answerData !== void 0 && answerData.exercise && answerData !== null && answerData !== void 0 && answerData.exercise_answer_user) {
|
|
|
// issue#29511 exercise.time -1没有设置答题的时间限制,则比较完成时间和试卷截至时间
|
|
|
if ((answerData === null || answerData === void 0 ? void 0 : answerData.exercise.time) === -1) {
|
|
|
timeOver = dayjs_min_default()(answerData === null || answerData === void 0 ? void 0 : answerData.exercise.end_time).isBefore(item.finished_time);
|
|
|
} else {
|
|
|
timeOver = dayjs_min_default()(answerData === null || answerData === void 0 ? void 0 : answerData.exercise_answer_user.start_at).add(answerData === null || answerData === void 0 ? void 0 : answerData.exercise.time, "m").isBefore(item.finished_time);
|
|
|
}
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [item.finished_time || /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-999",
|
|
|
children: "--"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-orange-ff9 ",
|
|
|
children: timeOver ? "(已超时)" : ""
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "耗时",
|
|
|
dataIndex: "time_consuming",
|
|
|
key: "time_consuming",
|
|
|
align: 'center',
|
|
|
render: function render(time, item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.time_consuming || /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "color-grey-9",
|
|
|
children: "--"
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "查看答案",
|
|
|
dataIndex: "view_answer",
|
|
|
key: "view_answer",
|
|
|
align: 'center',
|
|
|
render: function render(exp, item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.view_answer ? "已查看" : "未查看"
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '得分',
|
|
|
dataIndex: 'user_score',
|
|
|
key: 'user_score',
|
|
|
align: 'center',
|
|
|
render: function render(score) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
style: {
|
|
|
color: '#FA6400'
|
|
|
},
|
|
|
children: [score, "\u5206"]
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "操作",
|
|
|
dataIndex: "operation",
|
|
|
key: "operation",
|
|
|
align: 'center',
|
|
|
render: function render(value, data, index) {
|
|
|
return value && !data.is_jupyter && !data.is_jupyter_lab ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_anchor/* default */.Z, {
|
|
|
affix: false,
|
|
|
className: "mt10",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_anchor/* default */.Z.Link, {
|
|
|
href: "#challenge_".concat(item === null || item === void 0 ? void 0 : item.question_id).concat(index),
|
|
|
title: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#0152d9',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
children: "\u67E5\u770B"
|
|
|
})
|
|
|
})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-999",
|
|
|
children: "--"
|
|
|
});
|
|
|
}
|
|
|
}];
|
|
|
console.log(challengeData);
|
|
|
var options = {
|
|
|
selectOnLineNumbers: true,
|
|
|
readOnly: true,
|
|
|
minimap: {
|
|
|
enabled: false
|
|
|
},
|
|
|
scrollBeyondLastLine: false
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [(item === null || item === void 0 || (_item$shixun = item.shixun) === null || _item$shixun === void 0 ? void 0 : _item$shixun.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: componentsmodules.shixunWrapper,
|
|
|
children: item === null || item === void 0 || (_item$shixun2 = item.shixun) === null || _item$shixun2 === void 0 ? void 0 : _item$shixun2.map(function (val, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: componentsmodules.score,
|
|
|
children: ["(", val.challenge_score, "\u5206)"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: componentsmodules.name,
|
|
|
children: [val.challenge_name, " "]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
children: [!val.answer_status && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#FA6400'
|
|
|
},
|
|
|
children: "\u672A\u5B8C\u6210"
|
|
|
}), !!val.answer_status && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#37AD83'
|
|
|
},
|
|
|
children: "\u5DF2\u5B8C\u6210"
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
})
|
|
|
}), (answerData === null || answerData === void 0 || (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.student_commit_status) !== 0 || (answerData === null || answerData === void 0 || (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.user_exercise_status) !== 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [!!(data !== null && data !== void 0 && data.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-between",
|
|
|
className: "mb10",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 c-grey-666",
|
|
|
children: "\u9636\u6BB5\u6210\u7EE9"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_UserScore, {
|
|
|
score: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
|
columns: columns,
|
|
|
dataSource: data,
|
|
|
pagination: false
|
|
|
})]
|
|
|
}), !!(challengeData !== null && challengeData !== void 0 && challengeData.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "font16 c-grey-666 mt10",
|
|
|
children: "\u5B9E\u8BAD\u8BE6\u60C5"
|
|
|
}), challengeData === null || challengeData === void 0 ? void 0 : challengeData.map(function (chanllenge, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
id: "challenge_".concat(item === null || item === void 0 ? void 0 : item.question_id).concat(index),
|
|
|
className: "mt5",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font14 mr15",
|
|
|
children: [" \u7B2C", chanllenge.position, "\u5173"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
className: "current c-black font14",
|
|
|
target: "_blank",
|
|
|
to: "/tasks/".concat(coursesId, "/").concat(exerciseId, "/").concat(chanllenge.game_identifier, "/exercise"),
|
|
|
children: chanllenge.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 'auto'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_UserScore, {
|
|
|
score: chanllenge.user_score
|
|
|
})
|
|
|
})]
|
|
|
}), (chanllenge === null || chanllenge === void 0 ? void 0 : chanllenge.st) === 0 && chanllenge.passed_code && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: componentsmodules.shixunWrp,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("h2", {
|
|
|
children: ["\u7B2C\u4E00\u6B21\u901A\u5173\u7684\u4EE3\u7801\uFF08\u672A\u901A\u5173\u5219\u4E3A\u6700\u540E\u4E00\u6B21\u63D0\u4EA4\u8BC4\u6D4B\u7684\u4EE3\u7801\uFF09", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-light-black",
|
|
|
children: chanllenge.path
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, {
|
|
|
height: 300,
|
|
|
language: "python",
|
|
|
theme: "default",
|
|
|
value: chanllenge.passed_code,
|
|
|
options: options
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
})]
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [(0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: "c-grey-999 mt20 mb20",
|
|
|
value: item === null || item === void 0 ? void 0 : item.question_title
|
|
|
}), item === null || item === void 0 || (_item$shixun3 = item.shixun) === null || _item$shixun3 === void 0 ? void 0 : _item$shixun3.map(function (shixun, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "font16 c-grey-666 mb5",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "mr20",
|
|
|
children: ["\u7B2C", shixun === null || shixun === void 0 ? void 0 : shixun.challenge_position, "\u5173 ", shixun === null || shixun === void 0 ? void 0 : shixun.challenge_name]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [shixun === null || shixun === void 0 ? void 0 : shixun.challenge_score, "\u5206"]
|
|
|
})]
|
|
|
}, index);
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_Shixun = (Shixun);
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Program.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Program_scoreStatusMapping = {
|
|
|
0: 'c-red-ee4',
|
|
|
1: 'c-green'
|
|
|
};
|
|
|
var Program = function Program(_ref) {
|
|
|
var _answerData$exercise, _answerData$exercise2, _answerData$exercise3;
|
|
|
var item = _ref.item,
|
|
|
answerData = _ref.answerData;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
data = _useState2[0],
|
|
|
setData = _useState2[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _item$evaluate_codes;
|
|
|
if ((item === null || item === void 0 || (_item$evaluate_codes = item.evaluate_codes) === null || _item$evaluate_codes === void 0 ? void 0 : _item$evaluate_codes.length) > 0) {
|
|
|
var _item$evaluate_codes2;
|
|
|
setData(item === null || item === void 0 || (_item$evaluate_codes2 = item.evaluate_codes) === null || _item$evaluate_codes2 === void 0 ? void 0 : _item$evaluate_codes2.map(function (code, index) {
|
|
|
return {
|
|
|
key: index + 1,
|
|
|
error_msg: code !== null && code !== void 0 && code.error_msg ? base64.Base64.decode(code === null || code === void 0 ? void 0 : code.error_msg) : ''
|
|
|
};
|
|
|
}));
|
|
|
} else {
|
|
|
setData([{
|
|
|
key: "--",
|
|
|
error_msg: "--"
|
|
|
}]);
|
|
|
}
|
|
|
}, [item === null || item === void 0 ? void 0 : item.evaluate_codes]);
|
|
|
var columns = [{
|
|
|
title: '评测次数',
|
|
|
dataIndex: 'key',
|
|
|
width: "127px",
|
|
|
key: 'key',
|
|
|
align: 'center',
|
|
|
render: function render(text, record) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: record.key
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '详细信息',
|
|
|
dataIndex: 'error_msg',
|
|
|
key: 'error_msg',
|
|
|
align: 'center',
|
|
|
render: function render(text, record) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: record.error_msg ? record.error_msg : "--"
|
|
|
});
|
|
|
}
|
|
|
}];
|
|
|
var options = {
|
|
|
selectOnLineNumbers: true,
|
|
|
readOnly: true,
|
|
|
minimap: {
|
|
|
enabled: false
|
|
|
},
|
|
|
scrollBeyondLastLine: false
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "".concat(componentsmodules.programWrapper),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: componentsmodules.desc,
|
|
|
children: "\u9898\u76EE\u63CF\u8FF0"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: componentsmodules.content,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 ? void 0 : item.description
|
|
|
})
|
|
|
}), (answerData === null || answerData === void 0 || (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-between",
|
|
|
className: "mt40",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
fontSize: 14,
|
|
|
color: '#666666'
|
|
|
},
|
|
|
children: "\u6211\u7684\u7B54\u6848"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_UserScore, {
|
|
|
score: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
})
|
|
|
})]
|
|
|
}), (item === null || item === void 0 ? void 0 : item.passed_code) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: componentsmodules.shixunWrp,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: "\u7B2C\u4E00\u6B21\u8BC4\u6D4B\u901A\u8FC7\u7684\u4EE3\u7801\uFF08\u672A\u901A\u5173\u5219\u4E3A\u6700\u540E\u4E00\u6B21\u63D0\u4EA4\u8BC4\u6D4B\u7684\u4EE3\u7801\uFF09"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, {
|
|
|
style: {
|
|
|
border: '1px solid #ccc'
|
|
|
},
|
|
|
height: 300,
|
|
|
language: "python",
|
|
|
theme: "vs-light",
|
|
|
value: item !== null && item !== void 0 && item.passed_code ? base64.Base64.decode(item === null || item === void 0 ? void 0 : item.passed_code) : "",
|
|
|
options: options
|
|
|
})]
|
|
|
}), (answerData === null || answerData === void 0 || (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.user_exercise_status) === 1 && (answerData === null || answerData === void 0 || (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.answer_open) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
background: "#F6F7F9"
|
|
|
},
|
|
|
className: "mt30",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
padding: "20px",
|
|
|
fontSize: "16px",
|
|
|
display: "flex"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
whiteSpace: "nowrap"
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: (item === null || item === void 0 ? void 0 : item.analysis) || '暂无解析'
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_Program = (Program);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/Fill.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default */.Z.TextArea;
|
|
|
var Fill_scoreStatusMapping = {
|
|
|
0: 'c-red-ee4',
|
|
|
1: 'c-green'
|
|
|
};
|
|
|
var Fill = function Fill(_ref) {
|
|
|
var _answerData$exercise, _answerData$exercise2, _item$standard_answer, _item$standard_answer2;
|
|
|
var sign = _ref.sign,
|
|
|
item = _ref.item,
|
|
|
answerData = _ref.answerData,
|
|
|
_ref$onBlur = _ref.onBlur,
|
|
|
_onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
userAnswer = _useState2[0],
|
|
|
setUserAnswer = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
saveStatusArr = _useState4[0],
|
|
|
setSaveStatusArr = _useState4[1];
|
|
|
var currentData = (0,_react_17_0_2_react.useRef)();
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var data = [];
|
|
|
var _loop = function _loop(i) {
|
|
|
var _item$user_answer;
|
|
|
var param = (item === null || item === void 0 || (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.find(function (e) {
|
|
|
return e.choice_id === i + 1;
|
|
|
})) || {
|
|
|
choice_id: i + 1,
|
|
|
answer_text: ''
|
|
|
};
|
|
|
data.push(objectSpread2_default()({}, param));
|
|
|
};
|
|
|
for (var i = 0; i < (item === null || item === void 0 ? void 0 : item.multi_count); i++) {
|
|
|
_loop(i);
|
|
|
}
|
|
|
currentData.current = data;
|
|
|
setUserAnswer(data);
|
|
|
}, [item === null || item === void 0 ? void 0 : item.user_answer]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [userAnswer === null || userAnswer === void 0 ? void 0 : userAnswer.map(function (answer, index) {
|
|
|
var _item$user_answer2, _saveStatusArr$index, _saveStatusArr$index2, _saveStatusArr$index3;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "".concat(componentsmodules.baseMargin, " ").concat(componentsmodules.fill),
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: componentsmodules.index,
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '430px',
|
|
|
className: "ml20 mr20",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u7B54\u6848",
|
|
|
disabled: !item.repeat_answer && (item === null || item === void 0 || (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2.length) > 0 && item.ques_status !== 0 || !!(answerData !== null && answerData !== void 0 && answerData.exercise.commit_status),
|
|
|
value: answer === null || answer === void 0 ? void 0 : answer.answer_text,
|
|
|
onChange: function onChange(e) {
|
|
|
userAnswer[index].answer_text = e.target.value;
|
|
|
setUserAnswer(toConsumableArray_default()(userAnswer));
|
|
|
},
|
|
|
onFocus: function onFocus() {
|
|
|
sign.current = true;
|
|
|
},
|
|
|
onBlur: function onBlur(e) {
|
|
|
setTimeout( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res, newArr, _newArr;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return _onBlur(answer === null || answer === void 0 ? void 0 : answer.answer_text, index + 1, userAnswer);
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (!res.status) {
|
|
|
newArr = saveStatusArr.slice();
|
|
|
newArr[index] = {
|
|
|
status: 'success',
|
|
|
errorText: ''
|
|
|
};
|
|
|
setSaveStatusArr(newArr);
|
|
|
} else {
|
|
|
_newArr = saveStatusArr.slice();
|
|
|
_newArr[index] = {
|
|
|
status: 'fail',
|
|
|
errorText: res.message
|
|
|
};
|
|
|
setSaveStatusArr(_newArr);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})), 200);
|
|
|
},
|
|
|
className: "".concat(item.user_score && (item.user_score === item.question_score ? "c-green" : "c-red"), " ").concat(componentsmodules.fillInput)
|
|
|
})
|
|
|
}), ((_saveStatusArr$index = saveStatusArr[index]) === null || _saveStatusArr$index === void 0 ? void 0 : _saveStatusArr$index.status) === "success" && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
style: {
|
|
|
marginRight: 8
|
|
|
},
|
|
|
className: "iconfont icon-chenggong1 ".concat(componentsmodules.success)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: componentsmodules.success,
|
|
|
children: "\u4FDD\u5B58\u6210\u529F"
|
|
|
})]
|
|
|
})
|
|
|
}), ((_saveStatusArr$index2 = saveStatusArr[index]) === null || _saveStatusArr$index2 === void 0 ? void 0 : _saveStatusArr$index2.status) === "fail" && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
style: {
|
|
|
marginRight: 8
|
|
|
},
|
|
|
className: "iconfont icon-tishi7 ".concat(componentsmodules.fail)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: componentsmodules.fail,
|
|
|
children: (_saveStatusArr$index3 = saveStatusArr[index]) === null || _saveStatusArr$index3 === void 0 ? void 0 : _saveStatusArr$index3.errorText
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}, index);
|
|
|
}), ((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.user_exercise_status) > 0 && (answerData === null || answerData === void 0 || (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.open_score)) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5F97\u5206"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font14 ml10",
|
|
|
children: [(item === null || item === void 0 ? void 0 : item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Fill_scoreStatusMapping[Number(item === null || item === void 0 ? void 0 : item.answer_status)] || 'c-orange-ff9',
|
|
|
children: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 5,
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), !(item !== null && item !== void 0 && item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: "\u672A\u8BC4"
|
|
|
})]
|
|
|
})]
|
|
|
}), !!(item !== null && item !== void 0 && (_item$standard_answer = item.standard_answer) !== null && _item$standard_answer !== void 0 && _item$standard_answer.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: componentsmodules.analysisWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: componentsmodules.greyBg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u7B54\u6848\u3011"
|
|
|
}), item === null || item === void 0 || (_item$standard_answer2 = item.standard_answer) === null || _item$standard_answer2 === void 0 ? void 0 : _item$standard_answer2.map(function (answer, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "mr40",
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1, ":", answer === null || answer === void 0 ? void 0 : answer.answer_text[0]]
|
|
|
}, index);
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: componentsmodules.renderHtml,
|
|
|
value: item === null || item === void 0 ? void 0 : item.analysis
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_Fill = (Fill);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/Buttonloading.tsx
|
|
|
var Buttonloading = __webpack_require__(43532);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
|
|
|
var ExclamationCircleOutlined = __webpack_require__(87169);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/BFill.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var BFill_TextArea = input/* default */.Z.TextArea;
|
|
|
var BFill = function BFill(_ref) {
|
|
|
var _item$user_answer2, _item$standard_answer2, _item$standard_answer3;
|
|
|
var item = _ref.item,
|
|
|
answerData = _ref.answerData,
|
|
|
_ref$onBlur = _ref.onBlur,
|
|
|
onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
|
|
|
_ref$onDebug = _ref.onDebug,
|
|
|
onDebug = _ref$onDebug === void 0 ? function () {} : _ref$onDebug,
|
|
|
setIsSubmitCode = _ref.setIsSubmitCode;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
userAnswer = _useState2[0],
|
|
|
setUserAnswer = _useState2[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _item$standard_answer;
|
|
|
var data = item === null || item === void 0 || (_item$standard_answer = item.standard_answer_with_score) === null || _item$standard_answer === void 0 ? void 0 : _item$standard_answer.map(function (val, index) {
|
|
|
var _item$user_answer;
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, val), {}, {
|
|
|
value: (item === null || item === void 0 || (_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 || (_item$user_answer = _item$user_answer.find(function (item) {
|
|
|
return parseInt(item.choice_id) === index + 1;
|
|
|
})) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.answer_text) || ''
|
|
|
});
|
|
|
});
|
|
|
setUserAnswer(data);
|
|
|
}, [item === null || item === void 0 ? void 0 : item.standard_answer_with_score]);
|
|
|
|
|
|
// useEffect(() => {
|
|
|
// if (item?.user_answer?.length > 0) {
|
|
|
|
|
|
// let data = new Array(item.multi_count).fill({ value: '' })?.map((val: any, index: any) => {
|
|
|
// return {
|
|
|
// ...val,
|
|
|
// score: item?.standard_answer_with_score?.[index]?.score,
|
|
|
// value: item?.user_answer?.[index]?.answer_text || '',
|
|
|
// }
|
|
|
// })
|
|
|
// setUserAnswer(data);
|
|
|
// }
|
|
|
|
|
|
// }, [item?.user_answer])
|
|
|
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [(item === null || item === void 0 ? void 0 : item.code) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
border: '1px solid #CCCCCC',
|
|
|
padding: '10px',
|
|
|
marginBottom: 20
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
disabledFill: !item.repeat_answer && (item === null || item === void 0 || (_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2.length) > 0 && item.ques_status !== 0 || !!(answerData !== null && answerData !== void 0 && answerData.exercise.commit_status),
|
|
|
onFillBlur: ( /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(e, index) {
|
|
|
var _e$parseInt;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return onBlur(e === null || e === void 0 || (_e$parseInt = e[parseInt(index)]) === null || _e$parseInt === void 0 ? void 0 : _e$parseInt.value, parseInt(index) + 1, userAnswer);
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
userAnswer[parseInt(index)].type = "success";
|
|
|
setUserAnswer(userAnswer);
|
|
|
} else {
|
|
|
userAnswer[parseInt(index)].type = "warning";
|
|
|
setUserAnswer(userAnswer);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function (_x, _x2) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}()),
|
|
|
className: componentsmodules.content,
|
|
|
programFillValue: userAnswer,
|
|
|
showProgramFill: true,
|
|
|
value: base64.Base64.decode((item === null || item === void 0 ? void 0 : item.code) || '')
|
|
|
})
|
|
|
}), !!(item !== null && item !== void 0 && (_item$standard_answer2 = item.standard_answer) !== null && _item$standard_answer2 !== void 0 && _item$standard_answer2.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: componentsmodules.analysisWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: componentsmodules.greyBg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u7B54\u6848\u3011"
|
|
|
}), item === null || item === void 0 || (_item$standard_answer3 = item.standard_answer) === null || _item$standard_answer3 === void 0 ? void 0 : _item$standard_answer3.map(function (answer, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "mr40",
|
|
|
children: ["\u586B\u7A7A\u9879", index + 1, ":", answer === null || answer === void 0 ? void 0 : answer.answer_text]
|
|
|
}, index);
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: componentsmodules.renderHtml,
|
|
|
value: item === null || item === void 0 ? void 0 : item.analysis
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
justifyContent: 'space-between',
|
|
|
marginTop: 10
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
fontSize: 14,
|
|
|
color: '#FF0000'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 5
|
|
|
},
|
|
|
children: "\u6CE8\u610F\uFF1A\u586B\u5199\u7B54\u6848\u4E4B\u540E\uFF0C\u5FC5\u987B\u63D0\u4EA4\u4EE3\u7801\u8FDB\u884C\u8BC4\u6D4B\uFF0C\u5426\u5219\u65E0\u6CD5\u5F97\u5206"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Buttonloading/* default */.Z, {
|
|
|
setIsSubmitCode: setIsSubmitCode,
|
|
|
ButtonProps: {
|
|
|
type: 'primary'
|
|
|
},
|
|
|
ButtonText: "\u63D0\u4EA4\u4EE3\u7801",
|
|
|
items: objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
userAnswer: userAnswer
|
|
|
}),
|
|
|
hackidentifier: item === null || item === void 0 ? void 0 : item.hack_identifier
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_BFill = (BFill);
|
|
|
// EXTERNAL MODULE: ./src/components/ImagesIcon/index.ts + 32 modules
|
|
|
var ImagesIcon = __webpack_require__(44189);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/ErrCheckIpTip.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ErrCheckIpTip_TextArea = input/* default */.Z.TextArea;
|
|
|
var ErrCheckIpTip_Fill = function Fill(_ref) {
|
|
|
var data = _ref.data;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "tc mt80 pb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
width: "486",
|
|
|
src: ImagesIcon/* errIcon */.BV
|
|
|
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), data.status === -1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-grey-999 mt60",
|
|
|
children: "\u60A8\u7684IP\u4E0D\u5728\u8003\u8BD5\u5141\u8BB8\u7684\u8303\u56F4\u5185\uFF01"
|
|
|
}), data.status === -2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: " c-grey-999 mt60",
|
|
|
children: ["\u60A8\u5DF2\u7ED1\u5B9A\u5F53\u524D\u8003\u8BD5IP\u5730\u5740\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: data.ip
|
|
|
}), "\u8BF7\u4F7F\u7528\u8BE5IP\u5730\u5740\u8FDB\u5165\u8003\u8BD5\u3002"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "mt40 pl20 pr20",
|
|
|
type: "primary",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
href: "/",
|
|
|
children: "\u56DE\u5230\u9996\u9875"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ErrCheckIpTip = (ErrCheckIpTip_Fill);
|
|
|
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
|
|
|
var lodash = __webpack_require__(89392);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/NewAnswerComments/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var NewAnswerCommentsmodules = ({"comments":"comments___ZkLeS","greyText":"greyText___ow9J6","commentText":"commentText___Uklcs","wrapper":"wrapper___XTdhL","header":"header___pq5DQ","updateTime":"updateTime___WYYjt","text":"text___FmQY7","date":"date___DiXg4"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/components/NewAnswerComments/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var NewAnswerComments = function NewAnswerComments(_ref) {
|
|
|
var list = _ref.list,
|
|
|
_ref$hideScore = _ref.hideScore,
|
|
|
hideScore = _ref$hideScore === void 0 ? false : _ref$hideScore;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: list === null || list === void 0 ? void 0 : list.map(function (v) {
|
|
|
var _v$user, _v$user2, _v$user3, _v$comments, _v$comments2;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "mt20 ".concat(NewAnswerCommentsmodules.wrapper),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: NewAnswerCommentsmodules.header,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: env/* default */.Z.API_SERVER + '/images/' + ((_v$user2 = v.user) === null || _v$user2 === void 0 ? void 0 : _v$user2.image_url)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 font16",
|
|
|
children: (_v$user3 = v.user) === null || _v$user3 === void 0 ? void 0 : _v$user3.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: NewAnswerCommentsmodules.updateTime,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: NewAnswerCommentsmodules.text,
|
|
|
children: "\u8BC4\u9605\u65F6\u95F4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: NewAnswerCommentsmodules.date,
|
|
|
children: dayjs_min_default()((_v$comments = v.comments) === null || _v$comments === void 0 || (_v$comments = _v$comments[0]) === null || _v$comments === void 0 ? void 0 : _v$comments.updated_at).format('YYYY-MM-DD HH:mm')
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewAnswerCommentsmodules.comments,
|
|
|
children: v === null || v === void 0 || (_v$comments2 = v.comments) === null || _v$comments2 === void 0 ? void 0 : _v$comments2.map(function (e, i) {
|
|
|
var _v$user4;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [!!e.shixun_chanllge_position && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
flexShrink: 0,
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: ["\u7B2C", e.shixun_chanllge_position, "\u5173"]
|
|
|
}), !hideScore && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
flex: 1
|
|
|
},
|
|
|
children: ["\u539F\u59CB\u5F97\u5206", e === null || e === void 0 ? void 0 : e.origin_score, "\u5206\uFF0C\u4FEE\u6B63\u4E3A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-light-primary",
|
|
|
children: e === null || e === void 0 ? void 0 : e.score
|
|
|
}), "\u5206"]
|
|
|
})]
|
|
|
}), !!e.comment && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(NewAnswerCommentsmodules.greyText, " mr10"),
|
|
|
children: "\u8BC4\u8BED"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: NewAnswerCommentsmodules.commentText,
|
|
|
children: e.comment
|
|
|
})]
|
|
|
})]
|
|
|
}, (v === null || v === void 0 || (_v$user4 = v.user) === null || _v$user4 === void 0 ? void 0 : _v$user4.user_id) + '-' + i);
|
|
|
})
|
|
|
})]
|
|
|
}, v === null || v === void 0 || (_v$user = v.user) === null || _v$user === void 0 ? void 0 : _v$user.user_id);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_NewAnswerComments = (NewAnswerComments);
|
|
|
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx
|
|
|
var Unlock = __webpack_require__(39910);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react-draggable@4.4.6@react-draggable/build/cjs/cjs.js
|
|
|
var cjs = __webpack_require__(12911);
|
|
|
var cjs_default = /*#__PURE__*/__webpack_require__.n(cjs);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/MinusOutlined.js + 1 modules
|
|
|
var MinusOutlined = __webpack_require__(11724);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/PlusOutlined.js + 1 modules
|
|
|
var PlusOutlined = __webpack_require__(62772);
|
|
|
// EXTERNAL MODULE: ./src/components/AsyncButton/index.tsx
|
|
|
var AsyncButton = __webpack_require__(45865);
|
|
|
// EXTERNAL MODULE: ./src/components/Hooks/index.tsx
|
|
|
var Hooks = __webpack_require__(58151);
|
|
|
// EXTERNAL MODULE: ./src/utils/hooks/useRemindModal.tsx
|
|
|
var useRemindModal = __webpack_require__(697);
|
|
|
// EXTERNAL MODULE: ./src/utils/constant.ts
|
|
|
var constant = __webpack_require__(1451);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/Answer/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["globalSetting", "loading", "user", "exercise", "dispatch"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Countdown = statistic/* default */.Z.Countdown;
|
|
|
var tagList = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
|
|
var Answer_scoreStatusMapping = {
|
|
|
0: 'c-red-ee4',
|
|
|
1: 'c-green'
|
|
|
};
|
|
|
var Answer = function Answer(_ref) {
|
|
|
var _user$userInfo, _user$userInfo2, _user$userInfo3, _answerData$exercise4, _answerData$exercise22, _answerData$exercise23, _answerData$exercise24, _answerData$exercise25, _answerData$exercise26, _answerData$exercise27, _answerData$exercise28, _answerData$exercise29, _answerData$exercise30, _answerData$exercise31, _answerData$exercise_14, _answerData$exercise32, _answerData$exercise33, _answerData$exercise34, _answerData$exercise35, _answerData$exercise36, _answerData$exercise37, _answerData$question_5, _answerData$exercise_15, _answerData$question_6, _answerData$exercise_16, _answerData$exercise_17, _answerData$exercise_18, _answerData$exercise_19, _answerData$exercise_20, _answerData$exercise38, _answerData$exercise_21, _answerData$exercise_22, _answerData$exercise_24, _answerData$exercise_25, _answerData$exercise_26, _answerData$exercise39, _answerData$exercise40, _answerData$exercise41, _answerData$exercise42, _answerData$exercise_27;
|
|
|
var globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
user = _ref.user,
|
|
|
exercise = _ref.exercise,
|
|
|
dispatch = _ref.dispatch,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)({}),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
answerData = _useState2[0],
|
|
|
setAnswerData = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)({}),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
answerCheckData = _useState4[0],
|
|
|
setAnswerCheckData = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)({}),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
hideAnswerCard = _useState6[0],
|
|
|
setHideAnswerCard = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
isSpin = _useState8[0],
|
|
|
setIsSpin = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
showAnswerCard = _useState10[0],
|
|
|
setShowAnswerCard = _useState10[1];
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
showCamera = _useState12[0],
|
|
|
setShowCamera = _useState12[1];
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
openFullScreen = _useState14[0],
|
|
|
setOpenFullScreen = _useState14[1];
|
|
|
var _useState15 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
|
startRecording = _useState16[0],
|
|
|
setStartRecording = _useState16[1]; //获取权限开启录制通道
|
|
|
var _useState17 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState18 = slicedToArray_default()(_useState17, 2),
|
|
|
startScreenshot = _useState18[0],
|
|
|
setStartScreenshot = _useState18[1]; //开始截图
|
|
|
var _useState19 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState20 = slicedToArray_default()(_useState19, 2),
|
|
|
time = _useState20[0],
|
|
|
setTime = _useState20[1];
|
|
|
var _useState21 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState22 = slicedToArray_default()(_useState21, 2),
|
|
|
iframeUrl = _useState22[0],
|
|
|
setIframeUrl = _useState22[1];
|
|
|
var _useState23 = (0,_react_17_0_2_react.useState)('none'),
|
|
|
_useState24 = slicedToArray_default()(_useState23, 2),
|
|
|
iframeBlock = _useState24[0],
|
|
|
setIframeBlock = _useState24[1];
|
|
|
var _useState25 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState26 = slicedToArray_default()(_useState25, 2),
|
|
|
countDownColor = _useState26[0],
|
|
|
setCountDownColor = _useState26[1];
|
|
|
var _useState27 = (0,_react_17_0_2_react.useState)({
|
|
|
status: 0
|
|
|
}),
|
|
|
_useState28 = slicedToArray_default()(_useState27, 2),
|
|
|
checkStatus = _useState28[0],
|
|
|
setCheckStatus = _useState28[1]; //0ip合法,-1ip不在范围,-2已绑定其他ip
|
|
|
var _useState29 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState30 = slicedToArray_default()(_useState29, 2),
|
|
|
openCameraSuccess = _useState30[0],
|
|
|
setOpenCameraSuccess = _useState30[1];
|
|
|
var _useState31 = (0,_react_17_0_2_react.useState)(window.document.domain === "kepukehuan.educoder.net" ? true : false),
|
|
|
_useState32 = slicedToArray_default()(_useState31, 2),
|
|
|
isEducation = _useState32[0],
|
|
|
setIsEducation = _useState32[1];
|
|
|
var _useState33 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState34 = slicedToArray_default()(_useState33, 2),
|
|
|
normalClose = _useState34[0],
|
|
|
setNormalClose = _useState34[1]; //可以通过控制台操纵DOM的方式隐藏开考密码弹窗,当用户通过正常方式关闭开考密码弹窗时为true
|
|
|
var iframe = (0,_react_17_0_2_react.useRef)();
|
|
|
var captureRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var localIpRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var lockRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var iframeUrlSuffix = (0,_react_17_0_2_react.useRef)();
|
|
|
var answerCheckDataRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var socket = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
return new WebSocket("ws://localhost:8082");
|
|
|
}, []);
|
|
|
var _useState35 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState36 = slicedToArray_default()(_useState35, 2),
|
|
|
oneindex = _useState36[0],
|
|
|
setoneindex = _useState36[1]; //大题下标
|
|
|
var _useState37 = (0,_react_17_0_2_react.useState)(0),
|
|
|
_useState38 = slicedToArray_default()(_useState37, 2),
|
|
|
twoindex = _useState38[0],
|
|
|
settwoindex = _useState38[1]; //小题下标
|
|
|
var _useState39 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState40 = slicedToArray_default()(_useState39, 2),
|
|
|
isShowmodal = _useState40[0],
|
|
|
setisshowmodal = _useState40[1];
|
|
|
var _useState41 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState42 = slicedToArray_default()(_useState41, 2),
|
|
|
ischecked = _useState42[0],
|
|
|
setischecked = _useState42[1];
|
|
|
var _useState43 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState44 = slicedToArray_default()(_useState43, 2),
|
|
|
isloading = _useState44[0],
|
|
|
setIsLoading = _useState44[1];
|
|
|
var allowRouter = ["/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"), "/classrooms/".concat(params.coursesId, "/exercise"), "/classrooms/".concat(params.coursesId, "/exercise/"), "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login, "/check"), "/classrooms/".concat(params.coursesId, "/exercisenotice/").concat(params.categoryId, "/users/").concat((_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login), "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat((_user$userInfo3 = user.userInfo) === null || _user$userInfo3 === void 0 ? void 0 : _user$userInfo3.login)];
|
|
|
var _useState45 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState46 = slicedToArray_default()(_useState45, 2),
|
|
|
disabled = _useState46[0],
|
|
|
setDisabled = _useState46[1];
|
|
|
var _useState47 = (0,_react_17_0_2_react.useState)({
|
|
|
left: 0,
|
|
|
top: 0,
|
|
|
bottom: 0,
|
|
|
right: 0
|
|
|
}),
|
|
|
_useState48 = slicedToArray_default()(_useState47, 2),
|
|
|
bounds = _useState48[0],
|
|
|
setBounds = _useState48[1];
|
|
|
var draggleRef = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var _useState49 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState50 = slicedToArray_default()(_useState49, 2),
|
|
|
isopen = _useState50[0],
|
|
|
setisopen = _useState50[1];
|
|
|
var questionPartRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var _useState51 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState52 = slicedToArray_default()(_useState51, 2),
|
|
|
teachAnalysisModal = _useState52[0],
|
|
|
setTeachAnalysisModal = _useState52[1];
|
|
|
(0,Hooks/* useDisableAction */.y)((0,authority/* isStudent */.dE)());
|
|
|
var _onStart = function onStart(_event, uiData) {
|
|
|
var _draggleRef$current;
|
|
|
var _window$document$docu = window.document.documentElement,
|
|
|
clientWidth = _window$document$docu.clientWidth,
|
|
|
clientHeight = _window$document$docu.clientHeight;
|
|
|
var targetRect = (_draggleRef$current = draggleRef.current) === null || _draggleRef$current === void 0 ? void 0 : _draggleRef$current.getBoundingClientRect();
|
|
|
setBounds({
|
|
|
left: -targetRect.left + uiData.x,
|
|
|
right: clientWidth - (targetRect.right - uiData.x),
|
|
|
top: -targetRect.top + uiData.y,
|
|
|
bottom: clientHeight - (targetRect.bottom - uiData.y) - 70
|
|
|
});
|
|
|
};
|
|
|
var clearCountdownTimeout = (0,useRemindModal/* useRemindModal */._)(answerData);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
document.body.setAttribute('data-custom', 'auto');
|
|
|
return function () {
|
|
|
document.body.removeAttribute('data-custom');
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _user$userInfo4, _user$userInfo5;
|
|
|
document.body.scrollIntoView();
|
|
|
if (((_user$userInfo4 = user.userInfo) === null || _user$userInfo4 === void 0 ? void 0 : _user$userInfo4.real_name) === "游客") {
|
|
|
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise");
|
|
|
return;
|
|
|
}
|
|
|
if ((_user$userInfo5 = user.userInfo) !== null && _user$userInfo5 !== void 0 && _user$userInfo5.user_id) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
initData();
|
|
|
} else if (user.userInfo.login) {
|
|
|
// 检测进入考试流程是否合法
|
|
|
checkCanStart();
|
|
|
}
|
|
|
}
|
|
|
window.addEventListener('message', handleMessage);
|
|
|
return function () {
|
|
|
window.removeEventListener('message', handleMessage);
|
|
|
if (location.pathname.indexOf("/detail") > -1) (0,fullscreen/* exitFull */.BU)();
|
|
|
};
|
|
|
}, [params.categoryId, user.userInfo.login]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
window.addEventListener('beforeunload', sendBeacon);
|
|
|
return function () {
|
|
|
clearCountdownTimeout();
|
|
|
window.removeEventListener('beforeunload', sendBeacon);
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
dispatch({
|
|
|
type: "globalSetting/headerFooterToggle",
|
|
|
payload: false
|
|
|
});
|
|
|
return function () {
|
|
|
dispatch({
|
|
|
type: "globalSetting/headerFooterToggle",
|
|
|
payload: true
|
|
|
});
|
|
|
};
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _answerData$question_;
|
|
|
if (answerData !== null && answerData !== void 0 && (_answerData$question_ = answerData.question_status) !== null && _answerData$question_ !== void 0 && _answerData$question_.every(function (item) {
|
|
|
return !!item.ques_status && openCameraSuccess && (answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.used_screen_num) < (answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_num);
|
|
|
})) {
|
|
|
setTimeout(function () {
|
|
|
var _captureRef$current;
|
|
|
(_captureRef$current = captureRef.current) === null || _captureRef$current === void 0 || _captureRef$current.handlePhoto();
|
|
|
}, 1300);
|
|
|
}
|
|
|
}, [answerData]);
|
|
|
var sendBeacon = function sendBeacon(e) {
|
|
|
var _exercise$exerciseUse;
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && (0,authority/* isStudent */.dE)()) {
|
|
|
(0,util/* copyTextFuc */.RG)(" ", true);
|
|
|
}
|
|
|
localStorage.setItem('Refresh', '1');
|
|
|
if ((_exercise$exerciseUse = exercise.exerciseUserInfo) !== null && _exercise$exerciseUse !== void 0 && _exercise$exerciseUse.screen_open) window.navigator.sendBeacon("".concat(env/* default */.Z.API_SERVER, "/api/exercises/").concat(params.categoryId, "/commit_screen_at.json"), {});
|
|
|
};
|
|
|
var handleMessage = function handleMessage(data) {
|
|
|
if (data.data === 'backExercise') {
|
|
|
(0,util/* copyTextFuc */.RG)(" ", true);
|
|
|
resetIframe();
|
|
|
}
|
|
|
};
|
|
|
var resetIframe = function resetIframe() {
|
|
|
setIframeBlock("none");
|
|
|
setIframeUrl("");
|
|
|
initData();
|
|
|
};
|
|
|
var checkCanStart = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
// 检测是否开启摄像头
|
|
|
getExerciseUserInfo();
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function checkCanStart() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var startLocke = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
setNormalClose(false);
|
|
|
es_modal/* default */.Z.info({
|
|
|
title: "开考密码",
|
|
|
width: 500,
|
|
|
centered: true,
|
|
|
closable: false,
|
|
|
keyboard: false,
|
|
|
maskClosable: false,
|
|
|
maskStyle: {
|
|
|
background: "#000"
|
|
|
},
|
|
|
okText: "进入考试",
|
|
|
onOk: function onOk() {
|
|
|
return new Promise( /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(resolve, reject) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.prev = 0;
|
|
|
_context2.next = 3;
|
|
|
return form.validateFields();
|
|
|
case 3:
|
|
|
_context2.next = 8;
|
|
|
break;
|
|
|
case 5:
|
|
|
_context2.prev = 5;
|
|
|
_context2.t0 = _context2["catch"](0);
|
|
|
reject();
|
|
|
case 8:
|
|
|
_context2.t1 = service_exercise/* exerciseStartUnLock */.pL;
|
|
|
_context2.t2 = (objectSpread2_default());
|
|
|
_context2.t3 = {
|
|
|
exercise_user_id: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.exercise_user_id,
|
|
|
categoryId: params.categoryId
|
|
|
};
|
|
|
_context2.next = 13;
|
|
|
return form.validateFields();
|
|
|
case 13:
|
|
|
_context2.t4 = _context2.sent;
|
|
|
_context2.t5 = (0, _context2.t2)(_context2.t3, _context2.t4);
|
|
|
_context2.next = 17;
|
|
|
return (0, _context2.t1)(_context2.t5);
|
|
|
case 17:
|
|
|
res = _context2.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
setNormalClose(true);
|
|
|
checkCamera();
|
|
|
resolve(res);
|
|
|
} else {
|
|
|
form.setFields([{
|
|
|
name: 'start_password',
|
|
|
errors: [res === null || res === void 0 ? void 0 : res.message]
|
|
|
}]);
|
|
|
reject();
|
|
|
}
|
|
|
case 19:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2, null, [[0, 5]]);
|
|
|
}));
|
|
|
return function (_x, _x2) {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}());
|
|
|
},
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "",
|
|
|
children: "\u8BF7\u8F93\u5165\u76D1\u8003\u8001\u5E08\u5BA3\u5E03\u672C\u573A\u8003\u8BD5\u7684\u5F00\u8003\u5BC6\u7801\u540E\u8FDB\u5165\u8003\u8BD5"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
autoComplete: "off",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "start_password",
|
|
|
label: "\u5F00\u8003\u5BC6\u7801",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入开考密码'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Password, {
|
|
|
autoComplete: "off"
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
case 2:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function startLocke() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var getExerciseUserInfo = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.next = 2;
|
|
|
return dispatch({
|
|
|
type: "exercise/getExerciseUserInfo",
|
|
|
payload: objectSpread2_default()({}, params)
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context4.sent;
|
|
|
answerCheckDataRef.current = objectSpread2_default()(objectSpread2_default()({}, res.data), {}, {
|
|
|
status: res === null || res === void 0 ? void 0 : res.status
|
|
|
});
|
|
|
setAnswerCheckData(objectSpread2_default()(objectSpread2_default()({}, res.data), {}, {
|
|
|
status: res === null || res === void 0 ? void 0 : res.status
|
|
|
}));
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function getExerciseUserInfo() {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.exercise_user_id) {
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
|
|
|
(0,util/* copyTextFuc */.RG)(" ", true);
|
|
|
}
|
|
|
;
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && ((answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit) === "inner" || answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.ip_bind)) {
|
|
|
iframeUrlSuffix.current = "&ip_limit=".concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit, "&ip_bind=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind);
|
|
|
}
|
|
|
;
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
|
|
|
(0,util/* copyTextFuc */.RG)(" ", true);
|
|
|
// 开启人脸识别,未通过识别
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.can_start)) {
|
|
|
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat(params.login, "/check");
|
|
|
return;
|
|
|
}
|
|
|
// ip合法检测
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && answerCheckData.ip_error) {
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'student-unlock',
|
|
|
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
|
|
|
id: params.categoryId
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
return;
|
|
|
} else if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked) && answerCheckData.ip_error) {}
|
|
|
// performance.navigation.type 0首页进入 1刷新 2返回
|
|
|
if (document.referrer === "" || performance.navigation.type === 2 || !allowRouter.includes(new URL(document.referrer).pathname)) {
|
|
|
sessionStorage.setItem("illegalEntry", "illegalEntry");
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/exercise/"));
|
|
|
return;
|
|
|
}
|
|
|
// 是否开启开考密码
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.start_locked && !(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.user_is_enter)) {
|
|
|
startLocke();
|
|
|
return;
|
|
|
}
|
|
|
// 开启解锁码,未成功进入答题
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && performance.navigation.type === 1 && !sessionStorage.getItem("studentunlock")) {
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'student-unlock',
|
|
|
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
|
|
|
id: params.categoryId
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
// 直接复制网址进入答题页
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_locked && performance.navigation.type === 0 && answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.user_is_enter && !(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit)) {
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'student-unlock',
|
|
|
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
|
|
|
id: params.categoryId
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
} else if (!answerCheckData.answered_open) {
|
|
|
// 交卷后,检测是否有权限查看
|
|
|
es_modal/* default */.Z.info({
|
|
|
width: 500,
|
|
|
centered: true,
|
|
|
icon: null,
|
|
|
title: "提示",
|
|
|
content: "老师已设置本试卷在交卷后不可查看",
|
|
|
onOk: function onOk() {
|
|
|
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail");
|
|
|
}
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
checkCamera();
|
|
|
}
|
|
|
return function () {
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.is_commit) && (0,authority/* isStudent */.dE)()) {
|
|
|
(0,util/* copyTextFuc */.RG)(" ", true);
|
|
|
}
|
|
|
};
|
|
|
}, [answerCheckData]);
|
|
|
var checkCamera = /*#__PURE__*/function () {
|
|
|
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6, _res$data7;
|
|
|
var res, _res$data8, _res$data9, _res$data10, _res$data11, _res$data12, checkData, _res$data13, _res$data14, _res$data15, _res$data16;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
// 进入考试后,删除学生解锁码
|
|
|
sessionStorage.setItem("studentunlock", "studentunlock");
|
|
|
res = {
|
|
|
data: answerCheckData,
|
|
|
status: answerCheckData.status
|
|
|
};
|
|
|
if (!((res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.ip_limit) !== 'no' || res !== null && res !== void 0 && (_res$data2 = res.data) !== null && _res$data2 !== void 0 && _res$data2.ip_bind)) {
|
|
|
_context5.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
_context5.next = 5;
|
|
|
return (0,Exercise_ip/* findLocalIp */.y)({
|
|
|
ip_limit: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.ip_limit,
|
|
|
ip_bind: res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.ip_bind,
|
|
|
ip_bind_type: res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.ip_bind_type
|
|
|
});
|
|
|
case 5:
|
|
|
localIpRef.current = _context5.sent;
|
|
|
case 6:
|
|
|
if (!((res === null || res === void 0 || (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.ip_limit) !== 'no' || res !== null && res !== void 0 && (_res$data7 = res.data) !== null && _res$data7 !== void 0 && _res$data7.ip_bind)) {
|
|
|
_context5.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
if (!((res === null || res === void 0 || (_res$data8 = res.data) === null || _res$data8 === void 0 ? void 0 : _res$data8.ip_limit) === 'inner' || res !== null && res !== void 0 && (_res$data9 = res.data) !== null && _res$data9 !== void 0 && _res$data9.ip_bind)) {
|
|
|
_context5.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
_context5.next = 10;
|
|
|
return (0,util/* checkLocalOrPublicIp */.oi)({
|
|
|
exerciseId: params.categoryId,
|
|
|
ip: localIpRef.current,
|
|
|
errmsgHide: true,
|
|
|
ip_limit: (res === null || res === void 0 || (_res$data10 = res.data) === null || _res$data10 === void 0 ? void 0 : _res$data10.ip_limit) || 'no',
|
|
|
ip_bind: res === null || res === void 0 || (_res$data11 = res.data) === null || _res$data11 === void 0 ? void 0 : _res$data11.ip_bind,
|
|
|
ip_bind_type: res === null || res === void 0 || (_res$data12 = res.data) === null || _res$data12 === void 0 ? void 0 : _res$data12.ip_bind_type
|
|
|
});
|
|
|
case 10:
|
|
|
checkData = _context5.sent;
|
|
|
if (!((checkData === null || checkData === void 0 ? void 0 : checkData.status) !== 0)) {
|
|
|
_context5.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
setCheckStatus(checkData);
|
|
|
return _context5.abrupt("return");
|
|
|
case 14:
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) {
|
|
|
_context5.next = 26;
|
|
|
break;
|
|
|
}
|
|
|
if (!((res === null || res === void 0 || (_res$data13 = res.data) === null || _res$data13 === void 0 ? void 0 : _res$data13.used_screen_num) > (res === null || res === void 0 || (_res$data14 = res.data) === null || _res$data14 === void 0 ? void 0 : _res$data14.screen_num) && res !== null && res !== void 0 && (_res$data15 = res.data) !== null && _res$data15 !== void 0 && _res$data15.screen_open)) {
|
|
|
_context5.next = 19;
|
|
|
break;
|
|
|
}
|
|
|
setIsLoading(true);
|
|
|
handleSubmitAnswer();
|
|
|
return _context5.abrupt("return", false);
|
|
|
case 19:
|
|
|
setShowCamera(res === null || res === void 0 ? void 0 : res.data.check_camera);
|
|
|
if (res !== null && res !== void 0 && res.data.check_camera) {
|
|
|
_context5.next = 26;
|
|
|
break;
|
|
|
}
|
|
|
if (!(res !== null && res !== void 0 && res.data.screen_shot_open)) {
|
|
|
_context5.next = 24;
|
|
|
break;
|
|
|
}
|
|
|
setStartRecording(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_shot_open);
|
|
|
return _context5.abrupt("return");
|
|
|
case 24:
|
|
|
setOpenFullScreen(res === null || res === void 0 || (_res$data16 = res.data) === null || _res$data16 === void 0 ? void 0 : _res$data16.screen_open);
|
|
|
initData();
|
|
|
case 26:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return function checkCamera() {
|
|
|
return _ref6.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleCheckInitModal = /*#__PURE__*/function () {
|
|
|
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(res) {
|
|
|
var toSkipUrl;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.type) === 1)) {
|
|
|
_context6.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
es_modal/* default */.Z.info({
|
|
|
centered: true,
|
|
|
width: 470,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
keyboard: false,
|
|
|
onOk: function onOk() {
|
|
|
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"));
|
|
|
},
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: (res === null || res === void 0 ? void 0 : res.message) || ''
|
|
|
})
|
|
|
});
|
|
|
return _context6.abrupt("return", Promise.reject());
|
|
|
case 3:
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.type) === 2)) {
|
|
|
_context6.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
toSkipUrl = function toSkipUrl() {
|
|
|
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/centralizeReview/").concat(res === null || res === void 0 ? void 0 : res.login));
|
|
|
};
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
width: 470,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
keyboard: false,
|
|
|
onOk: toSkipUrl,
|
|
|
onCancel: function onCancel() {
|
|
|
_umi_production_exports.history.replace("/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail"));
|
|
|
},
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u60A8\u5DF2\u6210\u4E3A\u6307\u5B9A\u9605\u5377\u6559\u5E08\uFF0C\u662F\u5426\u73B0\u5728\u524D\u5F80", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
onClick: toSkipUrl,
|
|
|
className: "ml5 mr5 c-light-primary current",
|
|
|
children: "\u96C6\u4E2D\u9605\u5377"
|
|
|
}), "\u7EE7\u7EED\u8BC4\u9605\uFF1F"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-grey-999",
|
|
|
children: "\uFF08\u9605\u5377\u7ED3\u675F\u540E\u6062\u590D\u5B66\u751F\u4E2A\u4EBA\u8BC4\u9605\u529F\u80FD\uFF0C\u5E76\u5C55\u793A\u5B66\u751F\u6210\u7EE9\uFF09"
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
return _context6.abrupt("return", Promise.reject());
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return function handleCheckInitModal(_x3) {
|
|
|
return _ref7.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var initData = /*#__PURE__*/function () {
|
|
|
var _ref8 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
|
|
|
var _user$userInfo6;
|
|
|
var res, random_id, _res, _res2, _res9, _res10, _res$exercise, _res12, _res15, _res16, _res3, _answerCheckDataRef$c, _answerCheckDataRef$c2, _answerCheckDataRef$c3, _answerCheckDataRef$c4, _answerCheckDataRef$c5, _res4, _res6, _res7, _res8, _res5, _res11, _res13, _res14, _res17, _res18, _res22, _res23, _res24, _res19, _key;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
document.body.scrollIntoView();
|
|
|
setIsSpin(true);
|
|
|
random_id = (_user$userInfo6 = user.userInfo) === null || _user$userInfo6 === void 0 ? void 0 : _user$userInfo6.user_id;
|
|
|
if (!(0,authority/* isAdmin */.GJ)()) {
|
|
|
_context7.next = 11;
|
|
|
break;
|
|
|
}
|
|
|
_context7.next = 6;
|
|
|
return (0,service_exercise/* getReviewExercise */.BJ)({
|
|
|
exerciseId: params.categoryId,
|
|
|
login: params.login
|
|
|
})["catch"](function () {
|
|
|
return setIsSpin(false);
|
|
|
});
|
|
|
case 6:
|
|
|
res = _context7.sent;
|
|
|
((_res = res) === null || _res === void 0 ? void 0 : _res.exercise) && (res.exercise.user_exercise_status = 1);
|
|
|
random_id = (_res2 = res) === null || _res2 === void 0 || (_res2 = _res2.exercise_answer_user) === null || _res2 === void 0 ? void 0 : _res2.user_id;
|
|
|
_context7.next = 38;
|
|
|
break;
|
|
|
case 11:
|
|
|
if (!searchParams.get("check")) {
|
|
|
_context7.next = 18;
|
|
|
break;
|
|
|
}
|
|
|
_context7.next = 14;
|
|
|
return (0,service_exercise/* getReviewExercise */.BJ)(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
|
|
|
exerciseId: params.categoryId,
|
|
|
login: params.login
|
|
|
}))["catch"](function () {
|
|
|
return setIsSpin(false);
|
|
|
});
|
|
|
case 14:
|
|
|
res = _context7.sent;
|
|
|
random_id = (_res3 = res) === null || _res3 === void 0 || (_res3 = _res3.exercise) === null || _res3 === void 0 ? void 0 : _res3.user_id;
|
|
|
_context7.next = 32;
|
|
|
break;
|
|
|
case 18:
|
|
|
if (!(((_answerCheckDataRef$c = answerCheckDataRef.current) === null || _answerCheckDataRef$c === void 0 ? void 0 : _answerCheckDataRef$c.ip_limit) !== 'no' || (_answerCheckDataRef$c2 = answerCheckDataRef.current) !== null && _answerCheckDataRef$c2 !== void 0 && _answerCheckDataRef$c2.ip_bind)) {
|
|
|
_context7.next = 22;
|
|
|
break;
|
|
|
}
|
|
|
_context7.next = 21;
|
|
|
return (0,Exercise_ip/* findLocalIp */.y)({
|
|
|
ip_limit: (_answerCheckDataRef$c3 = answerCheckDataRef.current) === null || _answerCheckDataRef$c3 === void 0 ? void 0 : _answerCheckDataRef$c3.ip_limit,
|
|
|
ip_bind: (_answerCheckDataRef$c4 = answerCheckDataRef.current) === null || _answerCheckDataRef$c4 === void 0 ? void 0 : _answerCheckDataRef$c4.ip_bind,
|
|
|
ip_bind_type: (_answerCheckDataRef$c5 = answerCheckDataRef.current) === null || _answerCheckDataRef$c5 === void 0 ? void 0 : _answerCheckDataRef$c5.ip_bind_type
|
|
|
});
|
|
|
case 21:
|
|
|
localIpRef.current = _context7.sent;
|
|
|
case 22:
|
|
|
_context7.next = 24;
|
|
|
return (0,service_exercise/* getExerciseStart */.CD)(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
|
|
|
ip: localIpRef.current
|
|
|
}))["catch"](function () {
|
|
|
return setIsSpin(false);
|
|
|
});
|
|
|
case 24:
|
|
|
res = _context7.sent;
|
|
|
if (res.status === -1) {
|
|
|
handleToDetail();
|
|
|
}
|
|
|
if (!(((_res4 = res) === null || _res4 === void 0 ? void 0 : _res4.status) === -5)) {
|
|
|
_context7.next = 29;
|
|
|
break;
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'student-unlock',
|
|
|
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckDataRef.current), {}, {
|
|
|
id: params.categoryId,
|
|
|
errorMessage: (_res5 = res) === null || _res5 === void 0 ? void 0 : _res5.message
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
return _context7.abrupt("return");
|
|
|
case 29:
|
|
|
((_res6 = res) === null || _res6 === void 0 ? void 0 : _res6.exercise) && (res.exercise.user_exercise_status = 0);
|
|
|
((_res7 = res) === null || _res7 === void 0 ? void 0 : _res7.exercise) && (res.exercise.exercise_status = 2);
|
|
|
(_res8 = res) === null || _res8 === void 0 || (_res8 = _res8.exercise_question_types) === null || _res8 === void 0 || _res8.map(function (item) {
|
|
|
if ((item === null || item === void 0 ? void 0 : item.question_type) < 3) {
|
|
|
var _item$items;
|
|
|
item === null || item === void 0 || (_item$items = item.items) === null || _item$items === void 0 || _item$items.map(function (ite) {
|
|
|
ite.user_answer = ite.question_choices.filter(function (j) {
|
|
|
return j.user_answer_boolean;
|
|
|
}).map(function (k) {
|
|
|
return k.choice_id;
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
case 32:
|
|
|
if (!(!((_res9 = res) !== null && _res9 !== void 0 && (_res9 = _res9.exercise) !== null && _res9 !== void 0 && _res9.can_start) && (_res10 = res) !== null && _res10 !== void 0 && _res10.exercise)) {
|
|
|
_context7.next = 35;
|
|
|
break;
|
|
|
}
|
|
|
window.location.href = "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/users/").concat(params.login, "/check");
|
|
|
return _context7.abrupt("return");
|
|
|
case 35:
|
|
|
if (((_res$exercise = res.exercise) === null || _res$exercise === void 0 ? void 0 : _res$exercise.commit_status) === 0 && !lockRef.current) {
|
|
|
try {
|
|
|
lockRef.current = true;
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "toggleLockExit",
|
|
|
data: true
|
|
|
}));
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "network-close",
|
|
|
data: ''
|
|
|
}));
|
|
|
if ((_res11 = res) !== null && _res11 !== void 0 && (_res11 = _res11.exercise) !== null && _res11 !== void 0 && _res11.screen_open) {
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "open-disabled-switchscreen",
|
|
|
data: ''
|
|
|
}));
|
|
|
}
|
|
|
} catch (_unused) {}
|
|
|
;
|
|
|
}
|
|
|
if ((_res12 = res) !== null && _res12 !== void 0 && (_res12 = _res12.exercise) !== null && _res12 !== void 0 && _res12.left_time) {
|
|
|
setTimeout(function () {
|
|
|
setCountDownColor(Answermodules.red);
|
|
|
}, (((_res13 = res) === null || _res13 === void 0 || (_res13 = _res13.exercise) === null || _res13 === void 0 ? void 0 : _res13.left_time) - 300 > 0 ? ((_res14 = res) === null || _res14 === void 0 || (_res14 = _res14.exercise) === null || _res14 === void 0 ? void 0 : _res14.left_time) - 300 : 0) * 1000);
|
|
|
}
|
|
|
if (((_res15 = res) === null || _res15 === void 0 || (_res15 = _res15.exercise) === null || _res15 === void 0 ? void 0 : _res15.take_photo) >= ((_res16 = res) === null || _res16 === void 0 || (_res16 = _res16.exercise) === null || _res16 === void 0 ? void 0 : _res16.photo_count)) {}
|
|
|
case 38:
|
|
|
setIsSpin(false);
|
|
|
_context7.next = 41;
|
|
|
return handleCheckInitModal(res);
|
|
|
case 41:
|
|
|
if (res) {
|
|
|
if ((_res17 = res) !== null && _res17 !== void 0 && (_res17 = _res17.exercise) !== null && _res17 !== void 0 && _res17.question_random || (_res18 = res) !== null && _res18 !== void 0 && (_res18 = _res18.exercise) !== null && _res18 !== void 0 && _res18.choice_random) {
|
|
|
_key = 1;
|
|
|
res.exercise.question_random = (_res19 = res) === null || _res19 === void 0 || (_res19 = _res19.exercise_question_types) === null || _res19 === void 0 ? void 0 : _res19.map(function (item) {
|
|
|
var _res20, _res21;
|
|
|
if ((_res20 = res) !== null && _res20 !== void 0 && (_res20 = _res20.exercise) !== null && _res20 !== void 0 && _res20.choice_random) {
|
|
|
if (item.question_type === 0 || item.question_type === 1) {
|
|
|
item.items.map(function (i) {
|
|
|
i.question_choices = (0,util/* randomArray */.M2)(i.question_choices, random_id);
|
|
|
return i;
|
|
|
});
|
|
|
}
|
|
|
if (item.question_type === 7) {
|
|
|
item.items.forEach(function (i) {
|
|
|
i.sub_exercise_questions.forEach(function (k) {
|
|
|
if (k.question_choices) {
|
|
|
k.question_choices = (0,util/* randomArray */.M2)(k.question_choices, random_id);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
if ((_res21 = res) !== null && _res21 !== void 0 && (_res21 = _res21.exercise) !== null && _res21 !== void 0 && _res21.question_random) {
|
|
|
item.items = (0,util/* randomArray */.M2)(item.items, random_id);
|
|
|
}
|
|
|
item.items.map(function (i) {
|
|
|
i.question_num = _key;
|
|
|
_key++;
|
|
|
return i;
|
|
|
});
|
|
|
return item;
|
|
|
});
|
|
|
}
|
|
|
res.exercise_types = ((_res22 = res) === null || _res22 === void 0 ? void 0 : _res22.exercise_types) || ((_res23 = res) === null || _res23 === void 0 || (_res23 = _res23.exercise_scores) === null || _res23 === void 0 ? void 0 : _res23.exercise_types);
|
|
|
res.question_status = res.question_status || createItems(((_res24 = res) === null || _res24 === void 0 ? void 0 : _res24.exercise_question_types) || []);
|
|
|
setAnswerData(res);
|
|
|
}
|
|
|
return _context7.abrupt("return", res);
|
|
|
case 43:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return function initData() {
|
|
|
return _ref8.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var createItems = function createItems(item) {
|
|
|
var items = [];
|
|
|
item.forEach(function (e) {
|
|
|
items = items.concat(e.items);
|
|
|
});
|
|
|
items = items.map(function (e) {
|
|
|
return {
|
|
|
ques_status: e === null || e === void 0 ? void 0 : e.ques_status,
|
|
|
question_num: e === null || e === void 0 ? void 0 : e.question_num,
|
|
|
ques_id: e === null || e === void 0 ? void 0 : e.question_id
|
|
|
};
|
|
|
});
|
|
|
return items;
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _answerData$exercise, _answerData$exercise2, _answerData$exercise3;
|
|
|
if (((_answerData$exercise = answerData.exercise) === null || _answerData$exercise === void 0 ? void 0 : _answerData$exercise.left_time) === 0) {
|
|
|
handleSubmitAnswer();
|
|
|
} //自动任务失败,进入后时间为0自动提交试卷
|
|
|
((_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.left_time) && setTime(Date.now() + (answerData === null || answerData === void 0 || (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.left_time) * 1000);
|
|
|
}, [(_answerData$exercise4 = answerData.exercise) === null || _answerData$exercise4 === void 0 ? void 0 : _answerData$exercise4.left_time]);
|
|
|
var handleBackToRedo = function handleBackToRedo() {
|
|
|
var _answerData$exercise5;
|
|
|
if ((answerData === null || answerData === void 0 || (_answerData$exercise5 = answerData.exercise) === null || _answerData$exercise5 === void 0 ? void 0 : _answerData$exercise5.exercise_status) === 3) {
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u622A\u6B62\u65F6\u95F4\u5DF2\u5230\uFF0C\u65E0\u6CD5\u6253\u56DE\u8BD5\u5377", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u8BF7\u5728\u4FEE\u6539\u622A\u6B62\u65F6\u95F4\u540E\u518D\u64CD\u4F5C"]
|
|
|
})
|
|
|
});
|
|
|
} else {
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u5B66\u751F\u5C06\u5F97\u5230\u4E00\u6B21\u91CD\u65B0\u7B54\u9898\u7684\u673A\u4F1A\uFF0C\u73B0\u6709\u7684\u7B54\u9898\u60C5\u51B5\u5C06\u88AB\u6E05\u7A7A", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u662F\u5426\u786E\u8BA4\u56DE\u9000TA\u7684\u8BD5\u5377\u7B54\u9898"]
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
|
|
|
var _answerData$exercise_;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
_context8.next = 2;
|
|
|
return (0,service_exercise/* redoExercise */.q6)({
|
|
|
categoryId: params.categoryId,
|
|
|
user_ids: [answerData === null || answerData === void 0 || (_answerData$exercise_ = answerData.exercise_answer_user) === null || _answerData$exercise_ === void 0 ? void 0 : _answerData$exercise_.user_id]
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context8.sent;
|
|
|
if (res) {
|
|
|
message/* default */.ZP.info(res === null || res === void 0 ? void 0 : res.message);
|
|
|
handleToDetail();
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
var handleToDetail = function handleToDetail() {
|
|
|
window.location.href = (0,util/* checkIsClientExam */.Ll)() ? "/" : "/classrooms/".concat(params.coursesId, "/exercise/").concat(params.categoryId, "/detail");
|
|
|
};
|
|
|
var handleLeftTime = /*#__PURE__*/function () {
|
|
|
var _ref9 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
_context9.next = 2;
|
|
|
return (0,service_exercise/* exerciseLeftTime */.PT)(objectSpread2_default()({}, params));
|
|
|
case 2:
|
|
|
res = _context9.sent;
|
|
|
if (!(res !== null && res !== void 0 && res.has_time)) {
|
|
|
_context9.next = 9;
|
|
|
break;
|
|
|
}
|
|
|
setTime(Date.now() + (res === null || res === void 0 ? void 0 : res.left_time) * 1000);
|
|
|
setAnswerData(function (prevData) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, prevData), {}, {
|
|
|
exercise: objectSpread2_default()(objectSpread2_default()({}, prevData.exercise), {}, {
|
|
|
left_time: res === null || res === void 0 ? void 0 : res.left_time
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
return _context9.abrupt("return", true);
|
|
|
case 9:
|
|
|
handleFinishTime();
|
|
|
return _context9.abrupt("return", false);
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
}));
|
|
|
return function handleLeftTime() {
|
|
|
return _ref9.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
// 自动交卷
|
|
|
var handleFinishTime = /*#__PURE__*/function () {
|
|
|
var _ref10 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee11() {
|
|
|
var res, _time;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee11$(_context11) {
|
|
|
while (1) switch (_context11.prev = _context11.next) {
|
|
|
case 0:
|
|
|
_context11.next = 2;
|
|
|
return (0,service_exercise/* submitExerciseAnswer */.VL)({
|
|
|
categoryId: params.categoryId,
|
|
|
commit_method: 2
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context11.sent;
|
|
|
setOpenFullScreen(false); //交卷之后不再记录切屏
|
|
|
setStartRecording(false);
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
es_modal/* default */.Z.info({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u7B54\u9898\u7ED3\u675F\u4E86\uFF0C\u7CFB\u7EDF\u5DF2\u81EA\u52A8\u63D0\u4EA4\u8BD5\u5377", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u4E0D\u80FD\u518D\u4FEE\u6539\u7B54\u9898"]
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
handleToDetail();
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk2.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
message/* default */.ZP.info(res === null || res === void 0 ? void 0 : res.message);
|
|
|
}
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
|
|
|
_time = parseInt(res === null || res === void 0 ? void 0 : res.message);
|
|
|
answerData.exercise.left_time = _time;
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
}
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context11.stop();
|
|
|
}
|
|
|
}, _callee11);
|
|
|
}));
|
|
|
return function handleFinishTime() {
|
|
|
return _ref10.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var goShixun = /*#__PURE__*/function () {
|
|
|
var _ref11 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee12(item) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee12$(_context12) {
|
|
|
while (1) switch (_context12.prev = _context12.next) {
|
|
|
case 0:
|
|
|
_context12.next = 2;
|
|
|
return (item.is_jupyter || item.is_jupyter_lab ? shixuns/* execJupyter */.BK : shixuns/* execShixun */.Ir)({
|
|
|
id: item.shixun_identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context12.sent;
|
|
|
if (res !== null && res !== void 0 && res.game_identifier || res !== null && res !== void 0 && res.identifier) {
|
|
|
if (item.is_jupyter_lab || item.is_jupyter) {
|
|
|
setIframeUrl("/tasks/".concat(res.identifier, "/jupyter?type=exercises&exercisesId=").concat(params.categoryId, "&coursesId=").concat(params.coursesId, "&login=").concat(params.login, "&questionId=").concat(item.question_id, "&isFullScreen=").concat((0,fullscreen/* IsFull */.vp)()).concat(iframeUrlSuffix.current || "", "&ip_limit=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit, "&ip_bind=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind, "&ip_bind_type=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind_type));
|
|
|
} else {
|
|
|
setIframeUrl("/tasks/".concat(res.game_identifier, "?type=exercises&exercisesId=").concat(params.categoryId, "&coursesId=").concat(params.coursesId, "&login=").concat(params.login, "&questionId=").concat(item.question_id, "&isFullScreen=").concat((0,fullscreen/* IsFull */.vp)()).concat(iframeUrlSuffix.current || "", "&ip_limit=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit, "&ip_bind=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind, "&ip_bind_type=").concat(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind_type));
|
|
|
}
|
|
|
setIframeBlock("block");
|
|
|
}
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
|
|
|
(0,util/* bindPhone */.eF)();
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === 2) {
|
|
|
handleResetGame(res === null || res === void 0 ? void 0 : res.message, item.question_id, item.is_jupyter_lab, item.is_jupyter);
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === 3) {
|
|
|
handleInBeta(res === null || res === void 0 ? void 0 : res.message);
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context12.stop();
|
|
|
}
|
|
|
}, _callee12);
|
|
|
}));
|
|
|
return function goShixun(_x4) {
|
|
|
return _ref11.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleResetGame = function handleResetGame(url, question_id, is_jupyter_lab, is_jupyter) {
|
|
|
var _url;
|
|
|
url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json");
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!"
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee13() {
|
|
|
var res, execRes;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee13$(_context13) {
|
|
|
while (1) switch (_context13.prev = _context13.next) {
|
|
|
case 0:
|
|
|
_context13.next = 2;
|
|
|
return (0,service_exercise/* resetMyGame */.$Q)({
|
|
|
url: url
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context13.sent;
|
|
|
if (res) {
|
|
|
_context13.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context13.abrupt("return");
|
|
|
case 5:
|
|
|
message/* default */.ZP.success("重置成功,正在进入实践项目!");
|
|
|
_context13.next = 8;
|
|
|
return (0,shixuns/* execShixun */.Ir)({
|
|
|
id: res.shixun_identifier
|
|
|
});
|
|
|
case 8:
|
|
|
execRes = _context13.sent;
|
|
|
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) {
|
|
|
_context13.next = 12;
|
|
|
break;
|
|
|
}
|
|
|
goShixun({
|
|
|
shixun_identifier: execRes === null || execRes === void 0 ? void 0 : execRes.game_identifier,
|
|
|
question_id: question_id,
|
|
|
is_jupyter_lab: is_jupyter_lab,
|
|
|
is_jupyter: is_jupyter
|
|
|
});
|
|
|
// openNewWindow(`/tasks/${execRes.game_identifier}`);
|
|
|
return _context13.abrupt("return");
|
|
|
case 12:
|
|
|
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
|
|
|
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message, question_id, is_jupyter_lab, is_jupyter);
|
|
|
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
|
|
|
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
|
|
|
}
|
|
|
case 13:
|
|
|
case "end":
|
|
|
return _context13.stop();
|
|
|
}
|
|
|
}, _callee13);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk3.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var handleInBeta = function handleInBeta(message) {
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01"]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var handleJoinShixun = /*#__PURE__*/function () {
|
|
|
var _ref12 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee15(item) {
|
|
|
var _exercise$exerciseUse2;
|
|
|
var checkRes;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee15$(_context15) {
|
|
|
while (1) switch (_context15.prev = _context15.next) {
|
|
|
case 0:
|
|
|
_context15.next = 2;
|
|
|
return (0,service_exercise/* checkRedoStatus */.o3)({
|
|
|
exercise_user_id: (_exercise$exerciseUse2 = exercise.exerciseUserInfo) === null || _exercise$exerciseUse2 === void 0 ? void 0 : _exercise$exerciseUse2.exercise_user_id,
|
|
|
shixun_id: item.shixun_id
|
|
|
});
|
|
|
case 2:
|
|
|
checkRes = _context15.sent;
|
|
|
if (checkRes !== null && checkRes !== void 0 && checkRes.redo) {
|
|
|
es_modal/* default */.Z.info({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u60A8\u4E4B\u524D\u5DF2\u7ECF\u6311\u6218\u8FC7\u8BE5\u5B9E\u8BAD\uFF0C\u8003\u8BD5\u8FC7\u7A0B\u4E2D\u9700\u8981\u91CD\u65B0\u6311\u6218"
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee14() {
|
|
|
var res, newQuestions, index, newItem;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee14$(_context14) {
|
|
|
while (1) switch (_context14.prev = _context14.next) {
|
|
|
case 0:
|
|
|
_context14.next = 2;
|
|
|
return (0,service_exercise/* resetMyGame */.$Q)({
|
|
|
id: checkRes === null || checkRes === void 0 ? void 0 : checkRes.myshixun_identifier,
|
|
|
url: checkRes === null || checkRes === void 0 ? void 0 : checkRes.url
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context14.sent;
|
|
|
if (res) {
|
|
|
clearCountdownTimeout();
|
|
|
newQuestions = (0,lodash.cloneDeep)(answerData === null || answerData === void 0 ? void 0 : answerData.exercise_question_types);
|
|
|
index = newQuestions === null || newQuestions === void 0 ? void 0 : newQuestions.findIndex(function (e) {
|
|
|
return e.question_type === 5;
|
|
|
});
|
|
|
newQuestions[index].items.find(function (er) {
|
|
|
return er.question_id === item.question_id;
|
|
|
}).redo = false;
|
|
|
newQuestions[index].items.find(function (er) {
|
|
|
return er.question_id === item.question_id;
|
|
|
}).shixun_identifier = res.shixun_identifier;
|
|
|
answerData.exercise_question_types = newQuestions;
|
|
|
setAnswerData(answerData);
|
|
|
newItem = objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
shixun_identifier: res.shixun_identifier
|
|
|
});
|
|
|
goShixun(newItem);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context14.stop();
|
|
|
}
|
|
|
}, _callee14);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk4.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
} else {
|
|
|
clearCountdownTimeout();
|
|
|
goShixun(item);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context15.stop();
|
|
|
}
|
|
|
}, _callee15);
|
|
|
}));
|
|
|
return function handleJoinShixun(_x5) {
|
|
|
return _ref12.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleJoinProgram = /*#__PURE__*/function () {
|
|
|
var _ref13 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee16(item) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee16$(_context16) {
|
|
|
while (1) switch (_context16.prev = _context16.next) {
|
|
|
case 0:
|
|
|
if (!item.hack_identifier) {
|
|
|
_context16.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
_context16.next = 3;
|
|
|
return (0,service_exercise/* startProgram */.nF)({
|
|
|
id: item.hack_identifier
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context16.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
clearCountdownTimeout();
|
|
|
setIframeUrl("/myproblems/".concat(res.identifier, "?type=exercises&exercisesId=").concat(params.categoryId, "&coursesId=").concat(params.coursesId, "&login=").concat(params.login, "&questionId=").concat(item.question_id).concat(iframeUrlSuffix.current || ""));
|
|
|
setIframeBlock("block");
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context16.stop();
|
|
|
}
|
|
|
}, _callee16);
|
|
|
}));
|
|
|
return function handleJoinProgram(_x6) {
|
|
|
return _ref13.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleSave = /*#__PURE__*/function () {
|
|
|
var _ref14 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee17(questionId, exercise_choice_id, answer_text, callBack, kp_content, kp_clazz, hideLoading) {
|
|
|
var _res$alert;
|
|
|
var ip, saveParams, res, _res$alert2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee17$(_context17) {
|
|
|
while (1) switch (_context17.prev = _context17.next) {
|
|
|
case 0:
|
|
|
if (!hideLoading) setIsSpin(true);
|
|
|
saveParams = {
|
|
|
questionId: questionId,
|
|
|
exercise_choice_id: exercise_choice_id,
|
|
|
answer_text: answer_text
|
|
|
};
|
|
|
if (!((answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit) === 'inner' || answerCheckData.ip_bind && answerCheckData.ip_bind_type)) {
|
|
|
_context17.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
_context17.next = 5;
|
|
|
return (0,Exercise_ip/* findLocalIp */.y)({
|
|
|
ip_limit: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_limit,
|
|
|
ip_bind: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind,
|
|
|
ip_bind_type: answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.ip_bind_type
|
|
|
});
|
|
|
case 5:
|
|
|
ip = _context17.sent;
|
|
|
case 6:
|
|
|
// await checkLocalOrPublicIp({ exerciseId: params.categoryId, ip: ip, errmsgHide: true, ip_limit: answerCheckData?.ip_limit, ip_bind: answerCheckData?.ip_bind }).catch(e => {
|
|
|
// setCheckStatus(e);
|
|
|
// })
|
|
|
|
|
|
if (kp_content) {
|
|
|
saveParams["kp_content"] = kp_content;
|
|
|
}
|
|
|
if (kp_content) {
|
|
|
saveParams["kp_clazz"] = kp_clazz;
|
|
|
}
|
|
|
if (questionId) {
|
|
|
_context17.next = 11;
|
|
|
break;
|
|
|
}
|
|
|
console.error("handleSave no questionId params");
|
|
|
return _context17.abrupt("return");
|
|
|
case 11:
|
|
|
saveParams.ip = ip;
|
|
|
_context17.next = 14;
|
|
|
return (0,service_exercise/* updateExerciseAnswers */.oX)(saveParams);
|
|
|
case 14:
|
|
|
res = _context17.sent;
|
|
|
if (res !== null && res !== void 0 && (_res$alert = res.alert) !== null && _res$alert !== void 0 && _res$alert.length) {
|
|
|
res === null || res === void 0 || (_res$alert2 = res.alert) === null || _res$alert2 === void 0 || _res$alert2.map(function (item) {
|
|
|
es_modal/* default */.Z.warn({
|
|
|
title: "提示",
|
|
|
autoFocusButton: null,
|
|
|
content: item
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
callBack && callBack();
|
|
|
signConfigFuc();
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === -1) {
|
|
|
// message.warning("试卷已截止,已自动交卷")
|
|
|
setTimeout(function () {
|
|
|
handleToDetail();
|
|
|
}, 1000);
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === -2) {
|
|
|
setCheckStatus(res);
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
|
|
|
res.status = -1;
|
|
|
setCheckStatus(res);
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === -4) {
|
|
|
//提交的答案为空时为-4
|
|
|
signConfigFuc();
|
|
|
} else if ((res === null || res === void 0 ? void 0 : res.status) === -5) {
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'student-unlock',
|
|
|
exerciseParams: objectSpread2_default()(objectSpread2_default()({}, answerCheckData), {}, {
|
|
|
id: params.categoryId,
|
|
|
errorMessage: res === null || res === void 0 ? void 0 : res.message
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
message/* default */.ZP.warning(res.message || "试卷已截止,已自动交卷");
|
|
|
}
|
|
|
setIsSpin(false);
|
|
|
return _context17.abrupt("return", res);
|
|
|
case 19:
|
|
|
case "end":
|
|
|
return _context17.stop();
|
|
|
}
|
|
|
}, _callee17);
|
|
|
}));
|
|
|
return function handleSave(_x7, _x8, _x9, _x10, _x11, _x12, _x13) {
|
|
|
return _ref14.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleVerifySave = /*#__PURE__*/function () {
|
|
|
var _ref15 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee20(isSave) {
|
|
|
var timeRes, time, res, tip, total, _answerData$exercise_2, _answerData$exercise_3, renderArr, filteredArr;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee20$(_context20) {
|
|
|
while (1) switch (_context20.prev = _context20.next) {
|
|
|
case 0:
|
|
|
_context20.next = 2;
|
|
|
return (0,service_exercise/* exerciseLeftTime */.PT)(objectSpread2_default()({}, params));
|
|
|
case 2:
|
|
|
timeRes = _context20.sent;
|
|
|
time = timeRes !== null && timeRes !== void 0 && timeRes.left_time ? Date.now() + (timeRes === null || timeRes === void 0 ? void 0 : timeRes.left_time) * 1000 : null;
|
|
|
_context20.next = 6;
|
|
|
return (0,service_exercise/* beginCommit */.Vj)({
|
|
|
id: params.categoryId
|
|
|
});
|
|
|
case 6:
|
|
|
res = _context20.sent;
|
|
|
if (res) {
|
|
|
_context20.next = 9;
|
|
|
break;
|
|
|
}
|
|
|
return _context20.abrupt("return");
|
|
|
case 9:
|
|
|
es_modal/* default */.Z.destroyAll();
|
|
|
console.log("res===", res);
|
|
|
if (res.question_undo !== 0 || res.oj_undo !== 0) {
|
|
|
if (res.question_undo > 0) {
|
|
|
total = /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u6709", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.orangeNum,
|
|
|
children: res.question_undo
|
|
|
}), "\u9898\u672A\u5B8C\u6210"]
|
|
|
});
|
|
|
if (res.oj_undo > 0 || res.shixun_undo > 0) {
|
|
|
renderArr = [{
|
|
|
type: (answerData === null || answerData === void 0 || (_answerData$exercise_2 = answerData.exercise_question_types) === null || _answerData$exercise_2 === void 0 || (_answerData$exercise_2 = _answerData$exercise_2.find(function (item) {
|
|
|
return item.question_type == 6;
|
|
|
})) === null || _answerData$exercise_2 === void 0 ? void 0 : _answerData$exercise_2.name) || '编程题',
|
|
|
num: res.oj_undo
|
|
|
}, {
|
|
|
type: (answerData === null || answerData === void 0 || (_answerData$exercise_3 = answerData.exercise_question_types) === null || _answerData$exercise_3 === void 0 || (_answerData$exercise_3 = _answerData$exercise_3.find(function (item) {
|
|
|
return item.question_type == 5;
|
|
|
})) === null || _answerData$exercise_3 === void 0 ? void 0 : _answerData$exercise_3.name) || '实训题',
|
|
|
num: res.shixun_undo
|
|
|
}];
|
|
|
filteredArr = renderArr.filter(function (item) {
|
|
|
return item.num > 0;
|
|
|
});
|
|
|
tip = /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [total, "\uFF08\u5176\u4E2D\u6709", filteredArr.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.orangeNum,
|
|
|
children: item === null || item === void 0 ? void 0 : item.num
|
|
|
}), "\u4E2A", item === null || item === void 0 ? void 0 : item.type, index !== (filteredArr === null || filteredArr === void 0 ? void 0 : filteredArr.length) - 1 ? '、' : '']
|
|
|
});
|
|
|
}), "\uFF09"]
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
closable: true,
|
|
|
centered: true,
|
|
|
okText: isSave ? '知道了' : '确认交卷',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [tip, isSave ? "\u5728".concat(dayjs_min_default()(res.end_time).format("YYYY-MM-DD HH:mm"), "\u4E4B\u524D\uFF0C\u5141\u8BB8\u4FEE\u6539\u7B54\u9898") : time ? "\u4F60\u672C\u573A\u8003\u8BD5\u5269\u4F59\u65F6\u95F4\u8FD8\u6709".concat((0,util/* toTimeFormat */.li)((time - new Date().getTime()) / 1000), " \uFF0C\u786E\u8BA4\u63D0\u524D\u4EA4\u5377\u5417\uFF1F") : "提交后无法再修改答题,是否确认提交?"]
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee18() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee18$(_context18) {
|
|
|
while (1) switch (_context18.prev = _context18.next) {
|
|
|
case 0:
|
|
|
setOpenFullScreen(false);
|
|
|
setStartRecording(false);
|
|
|
if (!isSave) {
|
|
|
_context18.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_open)) handleToDetail();else message/* default */.ZP.success("保存成功");
|
|
|
_context18.next = 9;
|
|
|
break;
|
|
|
case 6:
|
|
|
setIsLoading(true);
|
|
|
_context18.next = 9;
|
|
|
return handleSubmitAnswer();
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context18.stop();
|
|
|
}
|
|
|
}, _callee18);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk5.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
} else {
|
|
|
es_modal/* default */.Z.confirm({
|
|
|
width: 530,
|
|
|
title: '提示',
|
|
|
icon: null,
|
|
|
centered: true,
|
|
|
okText: isSave ? '知道了' : '确认交卷',
|
|
|
cancelText: '取消',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: isSave ? "\u5728".concat(dayjs_min_default()(res.end_time).format("YYYY-MM-DD HH:mm"), "\u4E4B\u524D\uFF0C\u5141\u8BB8\u4FEE\u6539\u7B54\u9898") : time ? "\u4F60\u672C\u573A\u8003\u8BD5\u5269\u4F59\u65F6\u95F4\u8FD8\u6709".concat((0,util/* toTimeFormat */.li)((time - new Date().getTime()) / 1000), " \uFF0C\u786E\u8BA4\u63D0\u524D\u4EA4\u5377\u5417\uFF1F") : "提交后无法再修改答题,是否确认提交?"
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee19() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee19$(_context19) {
|
|
|
while (1) switch (_context19.prev = _context19.next) {
|
|
|
case 0:
|
|
|
setOpenFullScreen(false);
|
|
|
setStartRecording(false);
|
|
|
if (!isSave) {
|
|
|
_context19.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_open)) handleToDetail();else message/* default */.ZP.success("保存成功");
|
|
|
_context19.next = 9;
|
|
|
break;
|
|
|
case 6:
|
|
|
setIsLoading(true);
|
|
|
_context19.next = 9;
|
|
|
return handleSubmitAnswer();
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context19.stop();
|
|
|
}
|
|
|
}, _callee19);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk6.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
}
|
|
|
case 12:
|
|
|
case "end":
|
|
|
return _context20.stop();
|
|
|
}
|
|
|
}, _callee20);
|
|
|
}));
|
|
|
return function handleVerifySave(_x14) {
|
|
|
return _ref15.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var submitProgressContent = function submitProgressContent(progress) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_progress/* default */.Z, {
|
|
|
strokeColor: {
|
|
|
from: '#3061D0',
|
|
|
to: '#63E0FB'
|
|
|
},
|
|
|
status: "active",
|
|
|
percent: progress
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-grey-c tc mt10 mb20",
|
|
|
children: "\u6B63\u5728\u5224\u5206\u4E2D\u2026"
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var submitProgressLoading = function submitProgressLoading() {
|
|
|
var progress = 0;
|
|
|
var modal = es_modal/* default */.Z.info({
|
|
|
title: "交卷中",
|
|
|
icon: null,
|
|
|
className: "modal-footer-none",
|
|
|
content: submitProgressContent(progress)
|
|
|
});
|
|
|
var interval = setInterval(function () {
|
|
|
if (progress <= 100) {
|
|
|
progress += 2;
|
|
|
modal.update({
|
|
|
content: submitProgressContent(progress)
|
|
|
});
|
|
|
} else {
|
|
|
modal.destroy();
|
|
|
clearInterval(interval);
|
|
|
}
|
|
|
}, 50);
|
|
|
};
|
|
|
var handleSubmitAnswer = /*#__PURE__*/function () {
|
|
|
var _ref16 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee21() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee21$(_context21) {
|
|
|
while (1) switch (_context21.prev = _context21.next) {
|
|
|
case 0:
|
|
|
if (!isloading) {
|
|
|
_context21.next = 2;
|
|
|
break;
|
|
|
}
|
|
|
return _context21.abrupt("return");
|
|
|
case 2:
|
|
|
_context21.next = 4;
|
|
|
return (0,service_exercise/* submitExerciseAnswer */.VL)({
|
|
|
categoryId: params.categoryId,
|
|
|
commit_method: 1
|
|
|
});
|
|
|
case 4:
|
|
|
res = _context21.sent;
|
|
|
_context21.next = 7;
|
|
|
return dispatch({
|
|
|
type: "exercise/setActionTabs",
|
|
|
payload: objectSpread2_default()({}, {
|
|
|
removeEventListenerExitScreen: true
|
|
|
})
|
|
|
});
|
|
|
case 7:
|
|
|
setIsLoading(false);
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
submitProgressLoading();
|
|
|
message/* default */.ZP.success(res === null || res === void 0 ? void 0 : res.message);
|
|
|
setShowCamera(false);
|
|
|
// initData();
|
|
|
try {
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "toggleLockExit",
|
|
|
data: false
|
|
|
}));
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "network-open",
|
|
|
data: ''
|
|
|
}));
|
|
|
socket.send(JSON.stringify({
|
|
|
type: "close-disabled-switchscreen",
|
|
|
data: ''
|
|
|
}));
|
|
|
} catch (_unused2) {}
|
|
|
setTimeout(function () {
|
|
|
var _answerData$exercise6, _answerData$exercise7, _res$data17, _answerData$exercise8, _res$data18;
|
|
|
es_modal/* default */.Z.info({
|
|
|
centered: true,
|
|
|
title: "交卷成功",
|
|
|
className: "".concat(Answermodules.commitModal),
|
|
|
width: 520,
|
|
|
icon: null,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
gutter: 20,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
className: Answermodules.commitItem,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoLabel,
|
|
|
children: "\u59D3\u540D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoValue,
|
|
|
title: answerData === null || answerData === void 0 || (_answerData$exercise6 = answerData.exercise) === null || _answerData$exercise6 === void 0 ? void 0 : _answerData$exercise6.user_name,
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise7 = answerData.exercise) === null || _answerData$exercise7 === void 0 ? void 0 : _answerData$exercise7.user_name) || '- -'
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
className: Answermodules.commitItem,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoLabel,
|
|
|
children: "\u4F5C\u7B54\u65F6\u957F"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoValue,
|
|
|
children: res === null || res === void 0 || (_res$data17 = res.data) === null || _res$data17 === void 0 ? void 0 : _res$data17.user_exercise_time
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
gutter: 20,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
className: Answermodules.commitItem,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoLabel,
|
|
|
children: "\u5B66\u53F7"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoValue,
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise8 = answerData.exercise) === null || _answerData$exercise8 === void 0 ? void 0 : _answerData$exercise8.student_id) || '- -'
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
className: Answermodules.commitItem,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoLabel,
|
|
|
children: "\u4EA4\u5377\u65F6\u95F4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.commitInfoValue,
|
|
|
children: res === null || res === void 0 || (_res$data18 = res.data) === null || _res$data18 === void 0 ? void 0 : _res$data18.commit_time
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}),
|
|
|
okText: "确定",
|
|
|
maskClosable: false,
|
|
|
keyboard: false,
|
|
|
onOk: function onOk() {
|
|
|
(0,fullscreen/* exitFull */.BU)();
|
|
|
handleToDetail();
|
|
|
}
|
|
|
});
|
|
|
}, 3000);
|
|
|
}
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context21.stop();
|
|
|
}
|
|
|
}, _callee21);
|
|
|
}));
|
|
|
return function handleSubmitAnswer() {
|
|
|
return _ref16.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleChangeSingle = /*#__PURE__*/function () {
|
|
|
var _ref17 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee22(value, id, key, item, items) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee22$(_context22) {
|
|
|
while (1) switch (_context22.prev = _context22.next) {
|
|
|
case 0:
|
|
|
handleSave(id, value, null, function () {
|
|
|
//答题卡选中
|
|
|
// answerData.question_status.find((item: any) => item.ques_id === id).ques_status = value ? 1 : 0;
|
|
|
item.user_answer = [];
|
|
|
item.user_answer.push(value);
|
|
|
if (items !== null && items !== void 0 && items.question_id) {
|
|
|
var _items$sub_exercise_q, _items$sub_exercise_q2, _items$sub_exercise_q3, _items$sub_exercise_q4;
|
|
|
//组合题中的单选和判断
|
|
|
var answer = items === null || items === void 0 || (_items$sub_exercise_q = items.sub_exercise_questions) === null || _items$sub_exercise_q === void 0 ? void 0 : _items$sub_exercise_q.filter(function (item) {
|
|
|
var _item$user_answer;
|
|
|
return ((_item$user_answer = item.user_answer) === null || _item$user_answer === void 0 ? void 0 : _item$user_answer.length) === 0;
|
|
|
});
|
|
|
var fill = items === null || items === void 0 || (_items$sub_exercise_q2 = items.sub_exercise_questions) === null || _items$sub_exercise_q2 === void 0 ? void 0 : _items$sub_exercise_q2.filter(function (jtem) {
|
|
|
return jtem.question_type == 3;
|
|
|
});
|
|
|
var isFillFinished = fill.length > 0 ? fill.every(function (k) {
|
|
|
var _k$user_answer;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) == (k === null || k === void 0 || (_k$user_answer = k.user_answer) === null || _k$user_answer === void 0 ? void 0 : _k$user_answer.length);
|
|
|
}) ? 1 : fill.some(function (k) {
|
|
|
var _k$user_answer2;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) > (k === null || k === void 0 || (_k$user_answer2 = k.user_answer) === null || _k$user_answer2 === void 0 ? void 0 : _k$user_answer2.length);
|
|
|
}) ? 2 : 0 : 1; //防止填空题有多个空但是只填了一个空后整个组合题的答题状态变为已全部作答
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === (items === null || items === void 0 ? void 0 : items.question_id);
|
|
|
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 || (_items$sub_exercise_q3 = items.sub_exercise_questions) === null || _items$sub_exercise_q3 === void 0 ? void 0 : _items$sub_exercise_q3.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 || (_items$sub_exercise_q4 = items.sub_exercise_questions) === null || _items$sub_exercise_q4 === void 0 ? void 0 : _items$sub_exercise_q4.length) ? 2 : isFillFinished;
|
|
|
} else {
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = value ? 1 : 0;
|
|
|
}
|
|
|
// if (!item.repeat_answer) {
|
|
|
// item.ques_status = 1 //手动将题目设为已作答的状态
|
|
|
// }
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
});
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context22.stop();
|
|
|
}
|
|
|
}, _callee22);
|
|
|
}));
|
|
|
return function handleChangeSingle(_x15, _x16, _x17, _x18, _x19) {
|
|
|
return _ref17.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleChangeSingles = /*#__PURE__*/function () {
|
|
|
var _ref18 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee23(value, id, key, item, items) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee23$(_context23) {
|
|
|
while (1) switch (_context23.prev = _context23.next) {
|
|
|
case 0:
|
|
|
handleSave(item.question_id, value, null, function () {
|
|
|
var _items$sub_exercise_q5, _items$sub_exercise_q6, _items$sub_exercise_q7;
|
|
|
item.user_answer = [];
|
|
|
item.user_answer.push(value);
|
|
|
items.user_answer = toConsumableArray_default()(item.user_answer); //组合题的是否作答判断也要放在外层
|
|
|
var answer = items === null || items === void 0 || (_items$sub_exercise_q5 = items.sub_exercise_questions) === null || _items$sub_exercise_q5 === void 0 ? void 0 : _items$sub_exercise_q5.filter(function (item) {
|
|
|
var _item$user_answer2;
|
|
|
return ((_item$user_answer2 = item.user_answer) === null || _item$user_answer2 === void 0 ? void 0 : _item$user_answer2.length) === 0;
|
|
|
});
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 || (_items$sub_exercise_q6 = items.sub_exercise_questions) === null || _items$sub_exercise_q6 === void 0 ? void 0 : _items$sub_exercise_q6.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 || (_items$sub_exercise_q7 = items.sub_exercise_questions) === null || _items$sub_exercise_q7 === void 0 ? void 0 : _items$sub_exercise_q7.length) ? 2 : 1;
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
});
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context23.stop();
|
|
|
}
|
|
|
}, _callee23);
|
|
|
}));
|
|
|
return function handleChangeSingles(_x20, _x21, _x22, _x23, _x24) {
|
|
|
return _ref18.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleChangeMultiple = function handleChangeMultiple(value, id, item, items) {
|
|
|
if (!(value !== null && value !== void 0 && value.length)) return;
|
|
|
handleSave(id, value, null, function () {
|
|
|
item.user_answer = value;
|
|
|
// if (!item.repeat_answer) {
|
|
|
// item.israp = true;
|
|
|
// }
|
|
|
if (items !== null && items !== void 0 && items.question_id) {
|
|
|
var _items$sub_exercise_q8, _items$sub_exercise_q9, _items$sub_exercise_q10, _items$sub_exercise_q11;
|
|
|
//组合题中的多选题
|
|
|
var answer = items === null || items === void 0 || (_items$sub_exercise_q8 = items.sub_exercise_questions) === null || _items$sub_exercise_q8 === void 0 ? void 0 : _items$sub_exercise_q8.filter(function (item) {
|
|
|
var _item$user_answer3;
|
|
|
return ((_item$user_answer3 = item.user_answer) === null || _item$user_answer3 === void 0 ? void 0 : _item$user_answer3.length) === 0;
|
|
|
});
|
|
|
var fill = items === null || items === void 0 || (_items$sub_exercise_q9 = items.sub_exercise_questions) === null || _items$sub_exercise_q9 === void 0 ? void 0 : _items$sub_exercise_q9.filter(function (jtem) {
|
|
|
return jtem.question_type == 3;
|
|
|
});
|
|
|
var isFillFinished = fill.length > 0 ? fill.every(function (k) {
|
|
|
var _k$user_answer3;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) == (k === null || k === void 0 || (_k$user_answer3 = k.user_answer) === null || _k$user_answer3 === void 0 ? void 0 : _k$user_answer3.length);
|
|
|
}) ? 1 : fill.some(function (k) {
|
|
|
var _k$user_answer4;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) > (k === null || k === void 0 || (_k$user_answer4 = k.user_answer) === null || _k$user_answer4 === void 0 ? void 0 : _k$user_answer4.length);
|
|
|
}) ? 2 : 0 : 1; //防止填空题有多个空但是只填了一个空后整个组合题的答题状态变为已全部作答
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === (items === null || items === void 0 ? void 0 : items.question_id);
|
|
|
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 || (_items$sub_exercise_q10 = items.sub_exercise_questions) === null || _items$sub_exercise_q10 === void 0 ? void 0 : _items$sub_exercise_q10.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 || (_items$sub_exercise_q11 = items.sub_exercise_questions) === null || _items$sub_exercise_q11 === void 0 ? void 0 : _items$sub_exercise_q11.length) ? 2 : isFillFinished;
|
|
|
} else {
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = value !== null && value !== void 0 && value.length ? 1 : 0;
|
|
|
}
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
});
|
|
|
};
|
|
|
var handleBlurFill = /*#__PURE__*/function () {
|
|
|
var _ref19 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee24(value, index, id, param, item, items) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee24$(_context24) {
|
|
|
while (1) switch (_context24.prev = _context24.next) {
|
|
|
case 0:
|
|
|
if (value.replaceAll(' ', '')) {
|
|
|
_context24.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
signConfigFuc();
|
|
|
return _context24.abrupt("return", {
|
|
|
status: -4,
|
|
|
message: '答案不能为空'
|
|
|
});
|
|
|
case 3:
|
|
|
_context24.next = 5;
|
|
|
return handleSave(id, index, value, function () {
|
|
|
var answers = {
|
|
|
choice_id: index,
|
|
|
answer_text: value
|
|
|
};
|
|
|
if (item.user_answer.filter(function (item) {
|
|
|
return item.choice_id != index;
|
|
|
})) {
|
|
|
item.user_answer.splice(index - 1, 1, answers);
|
|
|
} else {
|
|
|
item.user_answer.push(answers);
|
|
|
}
|
|
|
if (items !== null && items !== void 0 && items.question_id) {
|
|
|
var _items$sub_exercise_q12, _items$sub_exercise_q13, _items$sub_exercise_q14, _items$sub_exercise_q15;
|
|
|
//组合题中的填空题
|
|
|
var answer = items === null || items === void 0 || (_items$sub_exercise_q12 = items.sub_exercise_questions) === null || _items$sub_exercise_q12 === void 0 ? void 0 : _items$sub_exercise_q12.filter(function (item) {
|
|
|
var _item$user_answer4;
|
|
|
return ((_item$user_answer4 = item.user_answer) === null || _item$user_answer4 === void 0 ? void 0 : _item$user_answer4.length) === 0;
|
|
|
});
|
|
|
var fill = items === null || items === void 0 || (_items$sub_exercise_q13 = items.sub_exercise_questions) === null || _items$sub_exercise_q13 === void 0 ? void 0 : _items$sub_exercise_q13.filter(function (jtem) {
|
|
|
return jtem.question_type == 3;
|
|
|
});
|
|
|
var isFillFinished = fill.length > 0 ? fill.every(function (k) {
|
|
|
var _k$user_answer5;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) == (k === null || k === void 0 || (_k$user_answer5 = k.user_answer) === null || _k$user_answer5 === void 0 ? void 0 : _k$user_answer5.length);
|
|
|
}) ? 1 : fill.some(function (k) {
|
|
|
var _k$user_answer6;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) > (k === null || k === void 0 || (_k$user_answer6 = k.user_answer) === null || _k$user_answer6 === void 0 ? void 0 : _k$user_answer6.length);
|
|
|
}) ? 2 : 0 : 1; //防止填空题有多个空但是只填了一个空后整个组合题的答题状态变为已全部作答
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === (items === null || items === void 0 ? void 0 : items.question_id);
|
|
|
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 || (_items$sub_exercise_q14 = items.sub_exercise_questions) === null || _items$sub_exercise_q14 === void 0 ? void 0 : _items$sub_exercise_q14.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 || (_items$sub_exercise_q15 = items.sub_exercise_questions) === null || _items$sub_exercise_q15 === void 0 ? void 0 : _items$sub_exercise_q15.length) ? 2 : isFillFinished;
|
|
|
} else {
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = param.every(function (k) {
|
|
|
return !!k.answer_text;
|
|
|
}) ? 1 : answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = param.some(function (k) {
|
|
|
return !!k.answer_text;
|
|
|
}) ? 2 : 0;
|
|
|
}
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
});
|
|
|
case 5:
|
|
|
res = _context24.sent;
|
|
|
return _context24.abrupt("return", res);
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context24.stop();
|
|
|
}
|
|
|
}, _callee24);
|
|
|
}));
|
|
|
return function handleBlurFill(_x25, _x26, _x27, _x28, _x29, _x30) {
|
|
|
return _ref19.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleBlurBProgram = /*#__PURE__*/function () {
|
|
|
var _ref20 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee25(value, index, id, param, item) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee25$(_context25) {
|
|
|
while (1) switch (_context25.prev = _context25.next) {
|
|
|
case 0:
|
|
|
_context25.next = 2;
|
|
|
return handleSave(id, index, value, function () {
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = param.every(function (k) {
|
|
|
return !!k.value;
|
|
|
}) ? 1 : answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = param.some(function (k) {
|
|
|
return !!k.value;
|
|
|
}) ? 2 : 0;
|
|
|
// item.user_answer=value;
|
|
|
var answers = {
|
|
|
choice_id: index,
|
|
|
answer_text: value
|
|
|
};
|
|
|
if (item.user_answer.filter(function (item) {
|
|
|
return item.choice_id != index;
|
|
|
})) {
|
|
|
item.user_answer.splice(index - 1, 1, answers);
|
|
|
} else {
|
|
|
item.user_answer.push(answers);
|
|
|
}
|
|
|
if (!item.repeat_answer) {
|
|
|
item.israp = true;
|
|
|
}
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context25.sent;
|
|
|
return _context25.abrupt("return", res);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context25.stop();
|
|
|
}
|
|
|
}, _callee25);
|
|
|
}));
|
|
|
return function handleBlurBProgram(_x31, _x32, _x33, _x34, _x35) {
|
|
|
return _ref20.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleBlurSimple = function handleBlurSimple(value, id, item, hideLoading, items) {
|
|
|
if (!value.replaceAll(' ', '')) {
|
|
|
signConfigFuc();
|
|
|
return;
|
|
|
}
|
|
|
handleSave(id, null, value, function () {
|
|
|
item.user_answer = [];
|
|
|
item.user_answer.push(value);
|
|
|
if (items !== null && items !== void 0 && items.question_id) {
|
|
|
var _items$sub_exercise_q16, _items$sub_exercise_q17, _items$sub_exercise_q18, _items$sub_exercise_q19;
|
|
|
//组合题中的简答题
|
|
|
var answer = items === null || items === void 0 || (_items$sub_exercise_q16 = items.sub_exercise_questions) === null || _items$sub_exercise_q16 === void 0 ? void 0 : _items$sub_exercise_q16.filter(function (item) {
|
|
|
var _item$user_answer5;
|
|
|
return ((_item$user_answer5 = item.user_answer) === null || _item$user_answer5 === void 0 ? void 0 : _item$user_answer5.length) === 0;
|
|
|
});
|
|
|
var fill = items === null || items === void 0 || (_items$sub_exercise_q17 = items.sub_exercise_questions) === null || _items$sub_exercise_q17 === void 0 ? void 0 : _items$sub_exercise_q17.filter(function (jtem) {
|
|
|
return jtem.question_type == 3;
|
|
|
});
|
|
|
var isFillFinished = fill.length > 0 ? fill.every(function (k) {
|
|
|
var _k$user_answer7;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) == (k === null || k === void 0 || (_k$user_answer7 = k.user_answer) === null || _k$user_answer7 === void 0 ? void 0 : _k$user_answer7.length);
|
|
|
}) ? 1 : fill.some(function (k) {
|
|
|
var _k$user_answer8;
|
|
|
return (k === null || k === void 0 ? void 0 : k.multi_count) > (k === null || k === void 0 || (_k$user_answer8 = k.user_answer) === null || _k$user_answer8 === void 0 ? void 0 : _k$user_answer8.length);
|
|
|
}) ? 2 : 0 : 1; //防止填空题有多个空但是只填了一个空后整个组合题的答题状态变为已全部作答
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === (items === null || items === void 0 ? void 0 : items.question_id);
|
|
|
}).ques_status = (answer === null || answer === void 0 ? void 0 : answer.length) === (items === null || items === void 0 || (_items$sub_exercise_q18 = items.sub_exercise_questions) === null || _items$sub_exercise_q18 === void 0 ? void 0 : _items$sub_exercise_q18.length) ? 0 : (answer === null || answer === void 0 ? void 0 : answer.length) > 0 && (answer === null || answer === void 0 ? void 0 : answer.length) < (items === null || items === void 0 || (_items$sub_exercise_q19 = items.sub_exercise_questions) === null || _items$sub_exercise_q19 === void 0 ? void 0 : _items$sub_exercise_q19.length) ? 2 : isFillFinished;
|
|
|
} else {
|
|
|
answerData.question_status.find(function (item) {
|
|
|
return item.ques_id === id;
|
|
|
}).ques_status = value ? 1 : 0;
|
|
|
}
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
}, undefined, undefined, hideLoading);
|
|
|
};
|
|
|
var renderSingle = function renderSingle(item, key, items) {
|
|
|
var _answerData$exercise9, _item$user_answer6, _item$user_answer7, _item$question_choice2, _answerData$exercise10, _answerData$exercise11;
|
|
|
var answerText = '';
|
|
|
var answerBool = (item === null || item === void 0 ? void 0 : item.question_type) === 0 || (item === null || item === void 0 ? void 0 : item.question_type) === 1;
|
|
|
if (answerBool) {
|
|
|
var _item$question_choice;
|
|
|
item === null || item === void 0 || (_item$question_choice = item.question_choices) === null || _item$question_choice === void 0 || _item$question_choice.forEach(function (k, i) {
|
|
|
if (k.standard_boolean) {
|
|
|
answerText = answerText + tagList[i];
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var disabled = (answerData === null || answerData === void 0 || (_answerData$exercise9 = answerData.exercise) === null || _answerData$exercise9 === void 0 ? void 0 : _answerData$exercise9.user_exercise_status) === 1 || !item.repeat_answer && (item === null || item === void 0 || (_item$user_answer6 = item.user_answer) === null || _item$user_answer6 === void 0 ? void 0 : _item$user_answer6.length) > 0 && item.ques_status !== 0;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.baseMargin,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
disabled: disabled,
|
|
|
defaultValue: item === null || item === void 0 || (_item$user_answer7 = item.user_answer) === null || _item$user_answer7 === void 0 ? void 0 : _item$user_answer7[0],
|
|
|
onChange: function onChange(e) {
|
|
|
return handleChangeSingle(e.target.value, item === null || item === void 0 ? void 0 : item.question_id, key, item, items);
|
|
|
},
|
|
|
className: item.user_score && "edu-radio-".concat(item.user_score === item.question_score ? "green" : "red"),
|
|
|
children: item === null || item === void 0 || (_item$question_choice2 = item.question_choices) === null || _item$question_choice2 === void 0 ? void 0 : _item$question_choice2.map(function (answer, index) {
|
|
|
var isJudge = item.question_type == 2;
|
|
|
var prefix = isJudge ? '' : "".concat(tagList[index], ".");
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.answerWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default */.ZP, {
|
|
|
className: Answermodules.noWrap,
|
|
|
value: answer === null || answer === void 0 ? void 0 : answer.choice_id,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#333333'
|
|
|
},
|
|
|
className: "font16 mr3",
|
|
|
children: prefix
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
style: {
|
|
|
width: 740
|
|
|
},
|
|
|
className: Answermodules.renderHtml,
|
|
|
value: answer === null || answer === void 0 ? void 0 : answer.choice_text
|
|
|
})]
|
|
|
})
|
|
|
}, index);
|
|
|
})
|
|
|
})
|
|
|
}), ((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise10 = answerData.exercise) === null || _answerData$exercise10 === void 0 ? void 0 : _answerData$exercise10.user_exercise_status) > 0 && (answerData === null || answerData === void 0 || (_answerData$exercise11 = answerData.exercise) === null || _answerData$exercise11 === void 0 ? void 0 : _answerData$exercise11.open_score)) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5F97\u5206"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font14 ml10",
|
|
|
children: [(item === null || item === void 0 ? void 0 : item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answer_scoreStatusMapping[Number(item === null || item === void 0 ? void 0 : item.answer_status)] || 'c-orange-ff9',
|
|
|
children: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 5,
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), !(item !== null && item !== void 0 && item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: "\u672A\u8BC4"
|
|
|
})]
|
|
|
})]
|
|
|
}), (item === null || item === void 0 ? void 0 : item.standard_answer_show) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.analysisWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.greyBg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u7B54\u6848\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: answerBool ? answerText : item === null || item === void 0 ? void 0 : item.standard_answer_show
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: Answermodules.renderHtml,
|
|
|
value: item === null || item === void 0 ? void 0 : item.analysis
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var renderSingles = function renderSingles(items, keys, i) {
|
|
|
var _answerData$exercise12, _items$sub_exercise_q20;
|
|
|
var disabled = (answerData === null || answerData === void 0 || (_answerData$exercise12 = answerData.exercise) === null || _answerData$exercise12 === void 0 ? void 0 : _answerData$exercise12.user_exercise_status) === 1 || !items.repeat_answer && items.ques_status !== 0;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: items === null || items === void 0 || (_items$sub_exercise_q20 = items.sub_exercise_questions) === null || _items$sub_exercise_q20 === void 0 ? void 0 : _items$sub_exercise_q20.map(function (item, key) {
|
|
|
var _item$question_choice3;
|
|
|
var answerText = '';
|
|
|
item === null || item === void 0 || (_item$question_choice3 = item.question_choices) === null || _item$question_choice3 === void 0 || _item$question_choice3.forEach(function (k, i) {
|
|
|
if (k.standard_boolean) {
|
|
|
answerText = answerText + tagList[i];
|
|
|
}
|
|
|
});
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "".concat(Answermodules.baseMargin, " ").concat(Answermodules.singleItem, " mb20"),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
alignItems: 'baseline',
|
|
|
userSelect: "none",
|
|
|
marginBottom: 40
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
style: {
|
|
|
flexShrink: 0,
|
|
|
color: '#999999'
|
|
|
},
|
|
|
className: "font14",
|
|
|
children: ["\uFF08", item === null || item === void 0 ? void 0 : item.question_score, "\u5206\uFF09"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
flexShrink: 0,
|
|
|
marginRight: 6
|
|
|
},
|
|
|
className: "font16",
|
|
|
children: i + 1 + '.' + (key + 1)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: item === null || item === void 0 ? void 0 : item.question_title
|
|
|
})]
|
|
|
}), ((item === null || item === void 0 ? void 0 : item.question_type) == 0 || (item === null || item === void 0 ? void 0 : item.question_type) == 2) && renderSingle(item, item === null || item === void 0 ? void 0 : item.question_type, items), (item === null || item === void 0 ? void 0 : item.question_type) == 1 && renderMultiple(item, item === null || item === void 0 ? void 0 : item.question_type, items), (item === null || item === void 0 ? void 0 : item.question_type) == 3 && renderFill(item, item === null || item === void 0 ? void 0 : item.question_type, items), (item === null || item === void 0 ? void 0 : item.question_type) == 4 && renderSimple(item, item === null || item === void 0 ? void 0 : item.question_type, items)]
|
|
|
}, key);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var renderMultiple = function renderMultiple(item, key, items) {
|
|
|
var _answerData$exercise13, _item$user_answer8, _item$question_choice5, _answerData$exercise14, _answerData$exercise15;
|
|
|
var answerText = '';
|
|
|
var answerBool = (item === null || item === void 0 ? void 0 : item.question_type) === 0 || (item === null || item === void 0 ? void 0 : item.question_type) === 1;
|
|
|
if (answerBool) {
|
|
|
var _item$question_choice4;
|
|
|
item === null || item === void 0 || (_item$question_choice4 = item.question_choices) === null || _item$question_choice4 === void 0 || _item$question_choice4.forEach(function (k, i) {
|
|
|
if (k.standard_boolean) {
|
|
|
answerText = answerText + tagList[i];
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var disabled = (answerData === null || answerData === void 0 || (_answerData$exercise13 = answerData.exercise) === null || _answerData$exercise13 === void 0 ? void 0 : _answerData$exercise13.user_exercise_status) === 1 || !item.repeat_answer && (item === null || item === void 0 || (_item$user_answer8 = item.user_answer) === null || _item$user_answer8 === void 0 ? void 0 : _item$user_answer8.length) > 0 && item.ques_status !== 0;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.baseMargin,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z.Group, {
|
|
|
disabled: disabled,
|
|
|
defaultValue: item === null || item === void 0 ? void 0 : item.user_answer,
|
|
|
style: {
|
|
|
flexDirection: 'column'
|
|
|
},
|
|
|
onChange: function onChange(value) {
|
|
|
return handleChangeMultiple(value, item === null || item === void 0 ? void 0 : item.question_id, item, items);
|
|
|
},
|
|
|
className: item.user_score && "edu-checkbox-".concat(item.user_score === item.question_score ? "green" : "red"),
|
|
|
children: item === null || item === void 0 || (_item$question_choice5 = item.question_choices) === null || _item$question_choice5 === void 0 ? void 0 : _item$question_choice5.map(function (answer, index) {
|
|
|
var prefix = "".concat(tagList[index], ".");
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.answerWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default */.Z, {
|
|
|
value: answer === null || answer === void 0 ? void 0 : answer.choice_id,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#333333'
|
|
|
},
|
|
|
className: "font16 mr3",
|
|
|
children: prefix
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: Answermodules.renderHtml,
|
|
|
value: answer === null || answer === void 0 ? void 0 : answer.choice_text
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
})
|
|
|
})
|
|
|
}), ((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise14 = answerData.exercise) === null || _answerData$exercise14 === void 0 ? void 0 : _answerData$exercise14.user_exercise_status) > 0 && (answerData === null || answerData === void 0 || (_answerData$exercise15 = answerData.exercise) === null || _answerData$exercise15 === void 0 ? void 0 : _answerData$exercise15.open_score)) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mb20",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5F97\u5206"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font14 ml10",
|
|
|
children: [(item === null || item === void 0 ? void 0 : item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answer_scoreStatusMapping[Number(item === null || item === void 0 ? void 0 : item.answer_status)] || 'c-orange-ff9',
|
|
|
children: item === null || item === void 0 ? void 0 : item.user_score
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 5,
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), !(item !== null && item !== void 0 && item.user_score) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: "\u672A\u8BC4"
|
|
|
})]
|
|
|
})]
|
|
|
}), (item === null || item === void 0 ? void 0 : item.standard_answer_show) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.analysisWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.greyBg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u7B54\u6848\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: answerBool ? answerText : item === null || item === void 0 ? void 0 : item.standard_answer_show
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "font14 mr10",
|
|
|
style: {
|
|
|
color: '#6A7283'
|
|
|
},
|
|
|
children: "\u3010\u89E3\u6790\u3011"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
className: Answermodules.renderHtml,
|
|
|
value: item === null || item === void 0 ? void 0 : item.analysis
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var renderFill = function renderFill(item, key, items) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Fill, {
|
|
|
item: item,
|
|
|
sign: sign,
|
|
|
answerData: answerData,
|
|
|
onBlur: ( /*#__PURE__*/function () {
|
|
|
var _ref21 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee26(value, index, userAnswer) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee26$(_context26) {
|
|
|
while (1) switch (_context26.prev = _context26.next) {
|
|
|
case 0:
|
|
|
_context26.next = 2;
|
|
|
return handleBlurFill(value, index, item === null || item === void 0 ? void 0 : item.question_id, userAnswer, item, items);
|
|
|
case 2:
|
|
|
return _context26.abrupt("return", _context26.sent);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context26.stop();
|
|
|
}
|
|
|
}, _callee26);
|
|
|
}));
|
|
|
return function (_x36, _x37, _x38) {
|
|
|
return _ref21.apply(this, arguments);
|
|
|
};
|
|
|
}())
|
|
|
});
|
|
|
};
|
|
|
|
|
|
// 简答题
|
|
|
var renderSimple = function renderSimple(item, key, items) {
|
|
|
if (isEducation) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Simple2, {
|
|
|
item: item,
|
|
|
answerData: answerData,
|
|
|
onBlur: function onBlur(value, kp_content, kp_clazz) {
|
|
|
return handleSave(item === null || item === void 0 ? void 0 : item.question_id, null, value, undefined, kp_content, kp_clazz);
|
|
|
},
|
|
|
isEducation: isEducation
|
|
|
});
|
|
|
} else {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Simple, {
|
|
|
item: item,
|
|
|
answerData: answerData,
|
|
|
onBlur: function onBlur(value, hideLoading) {
|
|
|
return handleBlurSimple(value, item === null || item === void 0 ? void 0 : item.question_id, item, hideLoading, items);
|
|
|
},
|
|
|
isEducation: isEducation,
|
|
|
sign: sign
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
var renderShixun = function renderShixun(item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Shixun, {
|
|
|
item: item,
|
|
|
answerData: answerData,
|
|
|
exerciseId: params.categoryId,
|
|
|
coursesId: params.coursesId
|
|
|
});
|
|
|
};
|
|
|
var renderProgram = function renderProgram(item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_Program, {
|
|
|
item: item,
|
|
|
answerData: answerData
|
|
|
});
|
|
|
};
|
|
|
var renderBProgram = function renderBProgram(item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_BFill, {
|
|
|
item: item,
|
|
|
answerData: answerData,
|
|
|
onBlur: ( /*#__PURE__*/function () {
|
|
|
var _ref22 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee27(value, index, userAnswer) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee27$(_context27) {
|
|
|
while (1) switch (_context27.prev = _context27.next) {
|
|
|
case 0:
|
|
|
_context27.next = 2;
|
|
|
return handleBlurBProgram(value, index, item === null || item === void 0 ? void 0 : item.question_id, userAnswer, item);
|
|
|
case 2:
|
|
|
return _context27.abrupt("return", _context27.sent);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context27.stop();
|
|
|
}
|
|
|
}, _callee27);
|
|
|
}));
|
|
|
return function (_x39, _x40, _x41) {
|
|
|
return _ref22.apply(this, arguments);
|
|
|
};
|
|
|
}())
|
|
|
});
|
|
|
};
|
|
|
var renderAnswerCard = function renderAnswerCard(title, key, index) {
|
|
|
var _answerData$exercise_4, _obj$items;
|
|
|
var obj = answerData === null || answerData === void 0 || (_answerData$exercise_4 = answerData.exercise_question_types) === null || _answerData$exercise_4 === void 0 ? void 0 : _answerData$exercise_4.find(function (item) {
|
|
|
return item.question_type === key;
|
|
|
});
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.answerSheetWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.answerSheetQuestionTitle,
|
|
|
onClick: function onClick() {
|
|
|
hideAnswerCard[key] = !hideAnswerCard[key];
|
|
|
setHideAnswerCard(objectSpread2_default()({}, hideAnswerCard));
|
|
|
},
|
|
|
children: [!hideAnswerCard[key] && /*#__PURE__*/(0,jsx_runtime.jsx)(MinusSquareOutlined/* default */.Z, {}), hideAnswerCard[key] && /*#__PURE__*/(0,jsx_runtime.jsx)(PlusSquareOutlined/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml5 c-grey-666",
|
|
|
children: title
|
|
|
})]
|
|
|
}), !hideAnswerCard[key] && /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
className: Answermodules.answerSheet,
|
|
|
gutter: [20, 20],
|
|
|
children: obj === null || obj === void 0 || (_obj$items = obj.items) === null || _obj$items === void 0 ? void 0 : _obj$items.map(function (item, k) {
|
|
|
if (item.question_type === key) {
|
|
|
var _answerData$question_2, _answerData$question_3, _answerData$question_4;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: function onClick() {
|
|
|
if (index === oneindex && k === twoindex) {
|
|
|
//点击的答题卡选项恰好是当前题目时不该做任何操作
|
|
|
return;
|
|
|
}
|
|
|
if (sign.current) {
|
|
|
sign.current = 'appoint';
|
|
|
skipData.current = {
|
|
|
oneindex: index,
|
|
|
twoindex: k
|
|
|
};
|
|
|
return;
|
|
|
}
|
|
|
skipAppointQuestion({
|
|
|
oneindex: index,
|
|
|
twoindex: k
|
|
|
});
|
|
|
},
|
|
|
className: "\n ".concat(Answermodules.answerSheetItem, "\n ").concat(answerData !== null && answerData !== void 0 && (_answerData$question_2 = answerData.question_status) !== null && _answerData$question_2 !== void 0 && _answerData$question_2.some(function (val) {
|
|
|
return val.ques_id === item.question_id && (val === null || val === void 0 ? void 0 : val.ques_status) === 1;
|
|
|
}) ? Answermodules.active : '', "\n ").concat(answerData !== null && answerData !== void 0 && (_answerData$question_3 = answerData.question_status) !== null && _answerData$question_3 !== void 0 && _answerData$question_3.some(function (val) {
|
|
|
return val.ques_id === item.question_id && (val === null || val === void 0 ? void 0 : val.ques_status) === 2;
|
|
|
}) ? Answermodules.partialActive : '', "\n ").concat(index === oneindex && k === twoindex ? Answermodules.selected : '', "\n "),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.qindex,
|
|
|
children: k + 1
|
|
|
}), (answerData === null || answerData === void 0 || (_answerData$question_4 = answerData.question_status) === null || _answerData$question_4 === void 0 ? void 0 : _answerData$question_4.some(function (val) {
|
|
|
return val.ques_id === item.question_id && (val === null || val === void 0 ? void 0 : val.ques_status) === 2;
|
|
|
})) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
height: 12,
|
|
|
background: '#3061D0',
|
|
|
position: 'absolute',
|
|
|
width: '100%',
|
|
|
bottom: 0
|
|
|
}
|
|
|
}), item.is_marked && /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-biaoji1 ".concat(Answermodules.markIcon)
|
|
|
})]
|
|
|
}, k)
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
}, key)]
|
|
|
});
|
|
|
};
|
|
|
var renderQuestion = function renderQuestion(item, i) {
|
|
|
var _item$schools, _answerData$exercise16, _answerData$exercise17;
|
|
|
var answerText = '';
|
|
|
var answerBool = (item === null || item === void 0 ? void 0 : item.question_type) === 0 || (item === null || item === void 0 ? void 0 : item.question_type) === 1;
|
|
|
if (answerBool) {
|
|
|
var _item$question_choice6;
|
|
|
item === null || item === void 0 || (_item$question_choice6 = item.question_choices) === null || _item$question_choice6 === void 0 || _item$question_choice6.forEach(function (k, i) {
|
|
|
if (k.standard_boolean) {
|
|
|
answerText = answerText + tagList[i];
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.questionItem,
|
|
|
id: "Anchor_".concat(item === null || item === void 0 ? void 0 : item.question_type, "_").concat(i),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
alignItems: 'baseline',
|
|
|
marginBottom: 40,
|
|
|
userSelect: "none"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "".concat(Answermodules.questionScore, " mr10"),
|
|
|
children: [item === null || item === void 0 ? void 0 : item.question_score, "\u5206"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "font16 ".concat(Answermodules.noWrap),
|
|
|
children: [i + 1, "\u3001"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: (item === null || item === void 0 ? void 0 : item.question_type) === 8 ? item === null || item === void 0 ? void 0 : item.description : item === null || item === void 0 ? void 0 : item.question_title
|
|
|
}), !!(item !== null && item !== void 0 && (_item$schools = item.schools) !== null && _item$schools !== void 0 && _item$schools.length) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u8BE5\u5B9E\u8BAD\u9898\u9762\u5411\u6307\u5B9A\u5355\u4F4D\u5F00\u653E",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-zhidinggongkai1 line24 font18 c-orange"
|
|
|
})
|
|
|
})]
|
|
|
}),
|
|
|
// 单选题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 0 && renderSingle(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 判断题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 2 && renderSingle(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 多选题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 1 && renderMultiple(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 填空题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 3 && renderFill(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 简答题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 4 && renderSimple(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 实训题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 5 && renderShixun(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 编程题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 6 && renderProgram(item, item === null || item === void 0 ? void 0 : item.question_type),
|
|
|
// 组合题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 7 && renderSingles(item, item === null || item === void 0 ? void 0 : item.question_type, i),
|
|
|
// 编程题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 8 && renderBProgram(item, item === null || item === void 0 ? void 0 : item.question_type), (item === null || item === void 0 ? void 0 : item.answer_comments) && /*#__PURE__*/(0,jsx_runtime.jsx)(components_NewAnswerComments, {
|
|
|
hideScore: true,
|
|
|
list: item === null || item === void 0 ? void 0 : item.answer_comments
|
|
|
}),
|
|
|
// 实训题 ,答题
|
|
|
(item === null || item === void 0 ? void 0 : item.question_type) == 5 && (answerData === null || answerData === void 0 || (_answerData$exercise16 = answerData.exercise) === null || _answerData$exercise16 === void 0 ? void 0 : _answerData$exercise16.user_exercise_status) === 0 && (item === null || item === void 0 ? void 0 : item.answer_status) != 3 && /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mt20",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AsyncButton/* AsyncButton */.Z, {
|
|
|
type: "primary",
|
|
|
className: Answermodules.toIframeBtn,
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee28() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee28$(_context28) {
|
|
|
while (1) switch (_context28.prev = _context28.next) {
|
|
|
case 0:
|
|
|
_context28.next = 2;
|
|
|
return handleJoinShixun(item);
|
|
|
case 2:
|
|
|
return _context28.abrupt("return", _context28.sent);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context28.stop();
|
|
|
}
|
|
|
}, _callee28);
|
|
|
})),
|
|
|
children: "\u8FDB\u5165\u7B54\u9898"
|
|
|
})
|
|
|
}),
|
|
|
// 编程题 ,答题
|
|
|
(0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise17 = answerData.exercise) === null || _answerData$exercise17 === void 0 ? void 0 : _answerData$exercise17.user_exercise_status) === 0 && (item === null || item === void 0 ? void 0 : item.question_type) == 6 && /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
justify: "end",
|
|
|
className: "mt20",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AsyncButton/* AsyncButton */.Z, {
|
|
|
type: "primary",
|
|
|
className: Answermodules.toIframeBtn,
|
|
|
onClick: function onClick() {
|
|
|
return handleJoinProgram(item);
|
|
|
},
|
|
|
children: "\u8FDB\u5165\u7B54\u9898"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var renderCardList = function renderCardList(item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
|
|
|
children: renderAnswerCard((item === null || item === void 0 ? void 0 : item.name) || constant/* QUESTIONTYPE */.f[item.question_type].name, item.question_type, index)
|
|
|
});
|
|
|
};
|
|
|
var sign = (0,_react_17_0_2_react.useRef)(false);
|
|
|
var skipData = (0,_react_17_0_2_react.useRef)({});
|
|
|
var switchType = (0,_react_17_0_2_react.useRef)();
|
|
|
var switchData = (0,_react_17_0_2_react.useRef)({});
|
|
|
var skipPrevQuestion = function skipPrevQuestion() {
|
|
|
var _answerData$exercise_5, _answerData$exercise18, _currentQuestionItem$2;
|
|
|
window.blur();
|
|
|
var currentQuestionItem = (_answerData$exercise_5 = answerData.exercise_question_types) === null || _answerData$exercise_5 === void 0 || (_answerData$exercise_5 = _answerData$exercise_5[oneindex]) === null || _answerData$exercise_5 === void 0 || (_answerData$exercise_5 = _answerData$exercise_5.items) === null || _answerData$exercise_5 === void 0 ? void 0 : _answerData$exercise_5[twoindex];
|
|
|
if (!ischecked && (answerData === null || answerData === void 0 || (_answerData$exercise18 = answerData.exercise) === null || _answerData$exercise18 === void 0 ? void 0 : _answerData$exercise18.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
|
|
|
var _currentQuestionItem$;
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$ = currentQuestionItem.user_answer) === null || _currentQuestionItem$ === void 0 ? void 0 : _currentQuestionItem$.length) > 0) {
|
|
|
if ((currentQuestionItem === null || currentQuestionItem === void 0 ? void 0 : currentQuestionItem.ques_status) === 0) {
|
|
|
switchType.current = 'prev';
|
|
|
setisshowmodal(true);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$2 = currentQuestionItem.user_answer) === null || _currentQuestionItem$2 === void 0 ? void 0 : _currentQuestionItem$2.length) > 0) {
|
|
|
//如果勾选了不再提示,则手动设为已答
|
|
|
currentQuestionItem.ques_status = 1;
|
|
|
}
|
|
|
questionPartRef.current.scrollTo({
|
|
|
top: 0,
|
|
|
left: 0,
|
|
|
behavior: "smooth"
|
|
|
});
|
|
|
if (twoindex === 0) {
|
|
|
oneindex -= 1;
|
|
|
twoindex = answerData.exercise_question_types[oneindex].items.length - 1;
|
|
|
} else {
|
|
|
twoindex -= 1;
|
|
|
}
|
|
|
setoneindex(oneindex);
|
|
|
settwoindex(twoindex);
|
|
|
};
|
|
|
var skipNextQuestion = function skipNextQuestion() {
|
|
|
var _answerData$exercise_6, _answerData$exercise19, _currentQuestionItem$4;
|
|
|
window.blur();
|
|
|
var currentQuestionItem = (_answerData$exercise_6 = answerData.exercise_question_types) === null || _answerData$exercise_6 === void 0 || (_answerData$exercise_6 = _answerData$exercise_6[oneindex]) === null || _answerData$exercise_6 === void 0 || (_answerData$exercise_6 = _answerData$exercise_6.items) === null || _answerData$exercise_6 === void 0 ? void 0 : _answerData$exercise_6[twoindex];
|
|
|
//提示不允许重复作答弹窗的逻辑
|
|
|
if (!ischecked && (answerData === null || answerData === void 0 || (_answerData$exercise19 = answerData.exercise) === null || _answerData$exercise19 === void 0 ? void 0 : _answerData$exercise19.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
|
|
|
var _currentQuestionItem$3;
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$3 = currentQuestionItem.user_answer) === null || _currentQuestionItem$3 === void 0 ? void 0 : _currentQuestionItem$3.length) > 0) {
|
|
|
if ((currentQuestionItem === null || currentQuestionItem === void 0 ? void 0 : currentQuestionItem.ques_status) === 0) {
|
|
|
switchType.current = 'next';
|
|
|
setisshowmodal(true);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$4 = currentQuestionItem.user_answer) === null || _currentQuestionItem$4 === void 0 ? void 0 : _currentQuestionItem$4.length) > 0) {
|
|
|
//如果勾选了不再提示,则手动设为已答
|
|
|
currentQuestionItem.ques_status = 1;
|
|
|
}
|
|
|
questionPartRef.current.scrollTo({
|
|
|
top: 0,
|
|
|
left: 0,
|
|
|
behavior: "smooth"
|
|
|
});
|
|
|
if (answerData.exercise_question_types[oneindex].items.length - 1 === twoindex) {
|
|
|
oneindex = oneindex + 1;
|
|
|
twoindex = 0;
|
|
|
} else {
|
|
|
twoindex = twoindex + 1;
|
|
|
}
|
|
|
setoneindex(oneindex);
|
|
|
settwoindex(twoindex);
|
|
|
};
|
|
|
var skipAppointQuestion = function skipAppointQuestion(p) {
|
|
|
var _answerData$exercise_7, _answerData$exercise20, _currentQuestionItem$6;
|
|
|
var record = p || skipData.current;
|
|
|
var currentQuestionItem = (_answerData$exercise_7 = answerData.exercise_question_types) === null || _answerData$exercise_7 === void 0 || (_answerData$exercise_7 = _answerData$exercise_7[oneindex]) === null || _answerData$exercise_7 === void 0 || (_answerData$exercise_7 = _answerData$exercise_7.items) === null || _answerData$exercise_7 === void 0 ? void 0 : _answerData$exercise_7[twoindex];
|
|
|
if (!ischecked && (answerData === null || answerData === void 0 || (_answerData$exercise20 = answerData.exercise) === null || _answerData$exercise20 === void 0 ? void 0 : _answerData$exercise20.user_exercise_status) === 0 && (0,authority/* isStudent */.dE)()) {
|
|
|
var _currentQuestionItem$5;
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$5 = currentQuestionItem.user_answer) === null || _currentQuestionItem$5 === void 0 ? void 0 : _currentQuestionItem$5.length) > 0) {
|
|
|
if ((currentQuestionItem === null || currentQuestionItem === void 0 ? void 0 : currentQuestionItem.ques_status) === 0) {
|
|
|
switchType.current = 'appoint';
|
|
|
switchData.current = record;
|
|
|
setisshowmodal(true);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (!(currentQuestionItem !== null && currentQuestionItem !== void 0 && currentQuestionItem.repeat_answer) && (currentQuestionItem === null || currentQuestionItem === void 0 || (_currentQuestionItem$6 = currentQuestionItem.user_answer) === null || _currentQuestionItem$6 === void 0 ? void 0 : _currentQuestionItem$6.length) > 0) {
|
|
|
//如果勾选了不再提示,则手动设为已答
|
|
|
currentQuestionItem.ques_status = 1;
|
|
|
}
|
|
|
setoneindex(record === null || record === void 0 ? void 0 : record.oneindex);
|
|
|
settwoindex(record === null || record === void 0 ? void 0 : record.twoindex);
|
|
|
questionPartRef.current.scrollTo({
|
|
|
top: 0,
|
|
|
left: 0,
|
|
|
behavior: 'smooth'
|
|
|
});
|
|
|
};
|
|
|
var handleRefresh = /*#__PURE__*/function () {
|
|
|
var _ref24 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee29() {
|
|
|
var _answerData$exercise21;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee29$(_context29) {
|
|
|
while (1) switch (_context29.prev = _context29.next) {
|
|
|
case 0:
|
|
|
if (!sign.current) {
|
|
|
_context29.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
sign.current = 'refresh';
|
|
|
return _context29.abrupt("return");
|
|
|
case 3:
|
|
|
_context29.next = 5;
|
|
|
return initData();
|
|
|
case 5:
|
|
|
res = _context29.sent;
|
|
|
if (!(answerData !== null && answerData !== void 0 && (_answerData$exercise21 = answerData.exercise) !== null && _answerData$exercise21 !== void 0 && _answerData$exercise21.left_time)) {
|
|
|
_context29.next = 9;
|
|
|
break;
|
|
|
}
|
|
|
_context29.next = 9;
|
|
|
return handleLeftTime();
|
|
|
case 9:
|
|
|
if (!(res !== null && res !== void 0 && res.status)) {
|
|
|
message/* default */.ZP.success('更新成功');
|
|
|
}
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context29.stop();
|
|
|
}
|
|
|
}, _callee29);
|
|
|
}));
|
|
|
return function handleRefresh() {
|
|
|
return _ref24.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var signConfigFuc = function signConfigFuc() {
|
|
|
var _document$activeEleme;
|
|
|
switch (sign.current) {
|
|
|
case "prev":
|
|
|
skipPrevQuestion();
|
|
|
break;
|
|
|
case "next":
|
|
|
skipNextQuestion();
|
|
|
break;
|
|
|
case "appoint":
|
|
|
skipAppointQuestion();
|
|
|
break;
|
|
|
case "submit":
|
|
|
handleVerifySave(false);
|
|
|
break;
|
|
|
case "refresh":
|
|
|
handleRefresh();
|
|
|
break;
|
|
|
default:
|
|
|
}
|
|
|
if (((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.localName) === 'textarea') {
|
|
|
sign.current = true;
|
|
|
} else {
|
|
|
sign.current = false;
|
|
|
}
|
|
|
skipData.current = {};
|
|
|
};
|
|
|
var renderClassifyQuestion = function renderClassifyQuestion() {
|
|
|
var _answerData$exercise_8, _answerData$exercise_9, _answerData$exercise_10, _answerData$exercise_11, _answerData$exercise_12, _answerData$exercise_13;
|
|
|
var currentItem = answerData === null || answerData === void 0 || (_answerData$exercise_8 = answerData.exercise_question_types) === null || _answerData$exercise_8 === void 0 || (_answerData$exercise_8 = _answerData$exercise_8[oneindex].items) === null || _answerData$exercise_8 === void 0 ? void 0 : _answerData$exercise_8[twoindex];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "pt20 mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Answermodules.questionTypeTitle,
|
|
|
children: [(0,util/* toChineseNumber */.EM)(oneindex + 1), "\u3001", answerData === null || answerData === void 0 || (_answerData$exercise_9 = answerData.exercise_question_types) === null || _answerData$exercise_9 === void 0 || (_answerData$exercise_9 = _answerData$exercise_9[oneindex]) === null || _answerData$exercise_9 === void 0 ? void 0 : _answerData$exercise_9.name]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Answermodules.questionTypeInfo,
|
|
|
children: ["\uFF08\u5171", answerData === null || answerData === void 0 || (_answerData$exercise_10 = answerData.exercise_question_types) === null || _answerData$exercise_10 === void 0 || (_answerData$exercise_10 = _answerData$exercise_10[oneindex]) === null || _answerData$exercise_10 === void 0 ? void 0 : _answerData$exercise_10.count, "\u9898\uFF1B", (answerData === null || answerData === void 0 || (_answerData$exercise_11 = answerData.exercise_question_types) === null || _answerData$exercise_11 === void 0 || (_answerData$exercise_11 = _answerData$exercise_11[oneindex]) === null || _answerData$exercise_11 === void 0 ? void 0 : _answerData$exercise_11.question_type) === 7 ? "\u5305\u542B".concat(answerData === null || answerData === void 0 || (_answerData$exercise_12 = answerData.exercise_question_types) === null || _answerData$exercise_12 === void 0 || (_answerData$exercise_12 = _answerData$exercise_12[oneindex]) === null || _answerData$exercise_12 === void 0 ? void 0 : _answerData$exercise_12.sub_questions_count, "\u5C0F\u9898") : '', " \u5171", answerData === null || answerData === void 0 || (_answerData$exercise_13 = answerData.exercise_question_types) === null || _answerData$exercise_13 === void 0 || (_answerData$exercise_13 = _answerData$exercise_13[oneindex]) === null || _answerData$exercise_13 === void 0 ? void 0 : _answerData$exercise_13.score, "\u5206\uFF09"]
|
|
|
}), !(currentItem !== null && currentItem !== void 0 && currentItem.repeat_answer) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#E30000',
|
|
|
marginLeft: 20,
|
|
|
fontSize: 14
|
|
|
},
|
|
|
children: "\u6CE8\u610F\uFF1A\u8BE5\u9898\u4F5C\u7B54\u4E4B\u540E\u4E0D\u5141\u8BB8\u4FEE\u6539\u7B54\u6848\u3002"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
|
|
|
children: renderQuestion(currentItem, twoindex)
|
|
|
}, twoindex)]
|
|
|
}, oneindex);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(spin/* default */.Z, {
|
|
|
size: 'middle',
|
|
|
spinning: isSpin,
|
|
|
children: [openFullScreen && (answerData === null || answerData === void 0 || (_answerData$exercise22 = answerData.exercise) === null || _answerData$exercise22 === void 0 ? void 0 : _answerData$exercise22.user_exercise_status) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(recordScreen/* default */.Z, {
|
|
|
exerciseUserInfo: exercise.exerciseUserInfo,
|
|
|
iframe: iframe,
|
|
|
socket: socket,
|
|
|
onStartScreenshot: function onStartScreenshot() {
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_shot_open) {
|
|
|
setStartScreenshot(true);
|
|
|
}
|
|
|
},
|
|
|
onCloseScreenshot: function onCloseScreenshot() {
|
|
|
if (answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_shot_open) {
|
|
|
setStartScreenshot(false);
|
|
|
}
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(components_ReactCaptureScreens, {
|
|
|
id: params.categoryId,
|
|
|
startRecording: startRecording,
|
|
|
startScreenshot: startScreenshot,
|
|
|
onSuccuss: function onSuccuss() {
|
|
|
setOpenFullScreen(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_open);
|
|
|
initData();
|
|
|
},
|
|
|
onBack: handleToDetail
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
style: {
|
|
|
display: iframeBlock
|
|
|
},
|
|
|
id: "iframeShixuns",
|
|
|
className: Answermodules.iframe,
|
|
|
src: iframeUrl,
|
|
|
ref: iframe,
|
|
|
frameBorder: "0"
|
|
|
}), checkStatus.status !== -2 && checkStatus.status !== -1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Answermodules.fixHeader,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
wrap: false,
|
|
|
align: "middle",
|
|
|
className: "edu-container",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: (0,util/* exerciseTips */.vB)(answerData === null || answerData === void 0 || (_answerData$exercise23 = answerData.exercise) === null || _answerData$exercise23 === void 0 ? void 0 : _answerData$exercise23.exercise_status)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "".concat(Answermodules.exerciseTitle, " ml10"),
|
|
|
title: answerData === null || answerData === void 0 || (_answerData$exercise24 = answerData.exercise) === null || _answerData$exercise24 === void 0 ? void 0 : _answerData$exercise24.exercise_name,
|
|
|
children: answerData === null || answerData === void 0 || (_answerData$exercise25 = answerData.exercise) === null || _answerData$exercise25 === void 0 ? void 0 : _answerData$exercise25.exercise_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 'auto'
|
|
|
},
|
|
|
children: !((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise26 = answerData.exercise) === null || _answerData$exercise26 === void 0 ? void 0 : _answerData$exercise26.user_exercise_status) == 1) && !!(answerData !== null && answerData !== void 0 && (_answerData$exercise27 = answerData.exercise) !== null && _answerData$exercise27 !== void 0 && _answerData$exercise27.left_time) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: "".concat(Answermodules.countDown, " ").concat(countDownColor),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-daojishi",
|
|
|
style: {
|
|
|
marginRight: 6
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.cnText,
|
|
|
children: "\u5269\u4F59\u7B54\u9898\u65F6\u957F"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, {
|
|
|
value: time,
|
|
|
onFinish: handleLeftTime
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: !((0,authority/* isAdmin */.GJ)() || (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise28 = answerData.exercise) === null || _answerData$exercise28 === void 0 ? void 0 : _answerData$exercise28.user_exercise_status) == 1) && exercise.actionTabs.key !== 'student-unlock' && normalClose && /*#__PURE__*/(0,jsx_runtime.jsxs)(AsyncButton/* AsyncButton */.Z, {
|
|
|
className: "".concat(Answermodules.refreshBtn, " ml30"),
|
|
|
onClick: handleRefresh,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "iconfont icon-shuaxin2 mr5"
|
|
|
}), "\u5237\u65B0"]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: (0,authority/* isStudent */.dE)() && (answerData === null || answerData === void 0 || (_answerData$exercise29 = answerData.exercise) === null || _answerData$exercise29 === void 0 ? void 0 : _answerData$exercise29.user_exercise_status) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(AsyncButton/* AsyncButton */.Z, {
|
|
|
className: "".concat(Answermodules.submitButton, " ml10"),
|
|
|
type: "primary",
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee30() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee30$(_context30) {
|
|
|
while (1) switch (_context30.prev = _context30.next) {
|
|
|
case 0:
|
|
|
if (!sign.current) {
|
|
|
_context30.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
sign.current = 'submit';
|
|
|
return _context30.abrupt("return");
|
|
|
case 3:
|
|
|
_context30.next = 5;
|
|
|
return handleVerifySave(false);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context30.stop();
|
|
|
}
|
|
|
}, _callee30);
|
|
|
})),
|
|
|
children: "\u4EA4\u5377"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: ((answerData === null || answerData === void 0 || (_answerData$exercise30 = answerData.exercise) === null || _answerData$exercise30 === void 0 ? void 0 : _answerData$exercise30.commit_status) == 1 || (answerData === null || answerData === void 0 || (_answerData$exercise31 = answerData.exercise) === null || _answerData$exercise31 === void 0 ? void 0 : _answerData$exercise31.exercise_status) == 3) && (answerData === null || answerData === void 0 || (_answerData$exercise_14 = answerData.exercise_answer_user) === null || _answerData$exercise_14 === void 0 ? void 0 : _answerData$exercise_14.analysis) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Answermodules.teachAnalysis,
|
|
|
onClick: function onClick() {
|
|
|
return setTeachAnalysisModal(true);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-jiaoshipingjia"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml5",
|
|
|
children: "\u6559\u5E08\u8BC4\u4EF7"
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
className: "edu-container ".concat(Answermodules.wrapper, " ").concat(isEducation && Answermodules.wrpAnswer),
|
|
|
children: [(answerData === null || answerData === void 0 || (_answerData$exercise32 = answerData.exercise) === null || _answerData$exercise32 === void 0 || (_answerData$exercise32 = _answerData$exercise32.exercise_description) === null || _answerData$exercise32 === void 0 ? void 0 : _answerData$exercise32.length) > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(es_alert/* default */.Z, {
|
|
|
className: Answermodules.exerciseAlert,
|
|
|
description: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
wrap: false,
|
|
|
gutter: 10,
|
|
|
align: "top",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: Answermodules.title,
|
|
|
children: "\u8003\u8BD5\u987B\u77E5"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: Answermodules.content,
|
|
|
children: answerData === null || answerData === void 0 || (_answerData$exercise33 = answerData.exercise) === null || _answerData$exercise33 === void 0 ? void 0 : _answerData$exercise33.exercise_description
|
|
|
})]
|
|
|
}),
|
|
|
closable: true
|
|
|
}), checkStatus.status === 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "".concat(isEducation ? "mt70" : "", " ").concat(Answermodules.mainPart),
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: showAnswerCard ? "280px" : "0px",
|
|
|
className: isEducation ? "mb100" : "",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.leftPart,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
children: [showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
style: {
|
|
|
background: '#fff',
|
|
|
marginBottom: '10px',
|
|
|
padding: '20px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
marginBottom: 15
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#5F6368'
|
|
|
},
|
|
|
children: "\u59D3\u540D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 ".concat(Answermodules.userInfoText),
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise34 = answerData.exercise) === null || _answerData$exercise34 === void 0 ? void 0 : _answerData$exercise34.user_name) || '- -'
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#5F6368'
|
|
|
},
|
|
|
children: "\u5B66\u53F7"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 ".concat(Answermodules.userInfoText),
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise35 = answerData.exercise) === null || _answerData$exercise35 === void 0 ? void 0 : _answerData$exercise35.student_id) || '- -'
|
|
|
})]
|
|
|
})]
|
|
|
}), showAnswerCard && (0,authority/* isStudent */.dE)() && ((_answerData$exercise36 = answerData.exercise) === null || _answerData$exercise36 === void 0 ? void 0 : _answerData$exercise36.user_exercise_status) === 0 && ((_answerData$exercise37 = answerData.exercise) === null || _answerData$exercise37 === void 0 ? void 0 : _answerData$exercise37.open_phone_video_recording) && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: Answermodules.eduQrcode,
|
|
|
style: {
|
|
|
marginTop: 10
|
|
|
},
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)((lib_default()), {
|
|
|
value: "https://".concat(document.domain, "/live-push.html?id=").concat(params.categoryId, "&login=").concat(params.login, "&cookie=").concat((0,util/* getCookie */.ej)("_educoder_session"))
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "ml15",
|
|
|
children: ["\u6253\u5F00\u5FAE\u4FE1\u626B\u4E00\u626B", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u5F00\u542F\u624B\u673A\u89C6\u9891\u5F55\u5236"]
|
|
|
})]
|
|
|
}), showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: "bg-white",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: Answermodules.answerInfo,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: "\u7B54\u9898\u8FDB\u5EA6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: Answermodules.answerProgress,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#165DFF'
|
|
|
},
|
|
|
children: answerData === null || answerData === void 0 || (_answerData$question_5 = answerData.question_status) === null || _answerData$question_5 === void 0 || (_answerData$question_5 = _answerData$question_5.filter(function (val) {
|
|
|
return val.ques_status === 1;
|
|
|
})) === null || _answerData$question_5 === void 0 ? void 0 : _answerData$question_5.length
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
style: {
|
|
|
color: '#999999'
|
|
|
},
|
|
|
children: ["/", answerData === null || answerData === void 0 || (_answerData$exercise_15 = answerData.exercise_types) === null || _answerData$exercise_15 === void 0 ? void 0 : _answerData$exercise_15.q_counts]
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_progress/* default */.Z, {
|
|
|
strokeColor: "#165dffa6",
|
|
|
trailColor: "#0000000d",
|
|
|
percent: (answerData === null || answerData === void 0 || (_answerData$question_6 = answerData.question_status) === null || _answerData$question_6 === void 0 || (_answerData$question_6 = _answerData$question_6.filter(function (val) {
|
|
|
return val.ques_status === 1;
|
|
|
})) === null || _answerData$question_6 === void 0 ? void 0 : _answerData$question_6.length) / (answerData === null || answerData === void 0 || (_answerData$exercise_16 = answerData.exercise_types) === null || _answerData$exercise_16 === void 0 ? void 0 : _answerData$exercise_16.q_counts) * 100,
|
|
|
showInfo: false
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-333",
|
|
|
children: ["\u5171 ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#165DFF'
|
|
|
},
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise_17 = answerData.exercise_types) === null || _answerData$exercise_17 === void 0 ? void 0 : _answerData$exercise_17.q_counts) || (answerData === null || answerData === void 0 || (_answerData$exercise_18 = answerData.exercise_scores) === null || _answerData$exercise_18 === void 0 || (_answerData$exercise_18 = _answerData$exercise_18.exercise_types) === null || _answerData$exercise_18 === void 0 ? void 0 : _answerData$exercise_18.q_counts)
|
|
|
}), " \u9898\uFF1A"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-333",
|
|
|
children: ["\u6EE1\u5206 ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#FA6400'
|
|
|
},
|
|
|
children: (answerData === null || answerData === void 0 || (_answerData$exercise_19 = answerData.exercise_types) === null || _answerData$exercise_19 === void 0 ? void 0 : _answerData$exercise_19.q_scores) || (answerData === null || answerData === void 0 || (_answerData$exercise_20 = answerData.exercise_scores) === null || _answerData$exercise_20 === void 0 || (_answerData$exercise_20 = _answerData$exercise_20.exercise_types) === null || _answerData$exercise_20 === void 0 ? void 0 : _answerData$exercise_20.q_scores)
|
|
|
}), " \u5206"]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: Answermodules.dottedLineWrapper,
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: Answermodules.leftHalfCircle
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
className: Answermodules.dottedLine
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: Answermodules.rightHalfCircle
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
className: "".concat(Answermodules.cardList, " ").concat((_answerData$exercise38 = answerData.exercise) !== null && _answerData$exercise38 !== void 0 && _answerData$exercise38.open_phone_video_recording ? Answermodules.withQrcode : ''),
|
|
|
children: answerData === null || answerData === void 0 || (_answerData$exercise_21 = answerData.exercise_question_types) === null || _answerData$exercise_21 === void 0 ? void 0 : _answerData$exercise_21.map(function (er, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
|
|
|
children: renderCardList(er, index)
|
|
|
}, er.question_type);
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
}), (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-around",
|
|
|
align: "middle",
|
|
|
className: Answermodules.answerSheetBottom,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: Answermodules.tooltipWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Answermodules.answerYes
|
|
|
}), "\u5DF2\u7B54"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: Answermodules.tooltipWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(Answermodules.answerNo, " ml10"),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
height: '50%',
|
|
|
width: '100%',
|
|
|
background: '#0152d9'
|
|
|
}
|
|
|
})
|
|
|
}), "\u90E8\u5206\u7B54\u9898"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: Answermodules.tooltipWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(Answermodules.answerNo, " ml10")
|
|
|
}), "\u672A\u7B54"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: Answermodules.tooltipWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-biaoji1",
|
|
|
style: {
|
|
|
marginRight: 4,
|
|
|
color: '#FFB538'
|
|
|
}
|
|
|
}), "\u6807\u8BB0"]
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Answermodules.fold,
|
|
|
onClick: function onClick() {
|
|
|
return setShowAnswerCard(!showAnswerCard);
|
|
|
},
|
|
|
children: [showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u6536\u8D77\u7B54\u9898\u5361",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "icon-zuojiantou iconfont c-grey-c"
|
|
|
})
|
|
|
}), !showAnswerCard && /*#__PURE__*/(0,jsx_runtime.jsxs)(tooltip/* default */.Z, {
|
|
|
title: "\u5C55\u5F00",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "icon-youjiantou iconfont c-grey-c"
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
className: [Answermodules.rightPart, 'ml20'].join(' '),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(Answermodules.questionPart, " pl30 pr30"),
|
|
|
ref: questionPartRef,
|
|
|
children: renderClassifyQuestion()
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: Answermodules.bottom,
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AsyncButton/* AsyncButton */.Z, {
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont ".concat((_answerData$exercise_22 = answerData.exercise_question_types) !== null && _answerData$exercise_22 !== void 0 && (_answerData$exercise_22 = _answerData$exercise_22[oneindex].items[twoindex]) !== null && _answerData$exercise_22 !== void 0 && _answerData$exercise_22.is_marked ? 'icon-biaoji1' : 'icon-biaojigaiti'),
|
|
|
style: {
|
|
|
color: '#FFB538',
|
|
|
marginRight: 6
|
|
|
}
|
|
|
}),
|
|
|
className: Answermodules.markBtn,
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee31() {
|
|
|
var _answerData$exercise_23;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee31$(_context31) {
|
|
|
while (1) switch (_context31.prev = _context31.next) {
|
|
|
case 0:
|
|
|
_context31.next = 2;
|
|
|
return (0,service_exercise/* markQuestion */.sS)(params.categoryId, {
|
|
|
exercise_question_id: (_answerData$exercise_23 = answerData.exercise_question_types[oneindex].items[twoindex]) === null || _answerData$exercise_23 === void 0 ? void 0 : _answerData$exercise_23.question_id
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context31.sent;
|
|
|
if (res.status === 0) {
|
|
|
initData();
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context31.stop();
|
|
|
}
|
|
|
}, _callee31);
|
|
|
})),
|
|
|
children: (_answerData$exercise_24 = answerData.exercise_question_types) !== null && _answerData$exercise_24 !== void 0 && (_answerData$exercise_24 = _answerData$exercise_24[oneindex].items[twoindex]) !== null && _answerData$exercise_24 !== void 0 && _answerData$exercise_24.is_marked ? '取消标记' : '标记该题'
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
children: [(oneindex != 0 || twoindex != 0) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "".concat(Answermodules.changeButton, " ").concat(Answermodules.prevBtn, " mr20"),
|
|
|
type: "default",
|
|
|
onClick: function onClick() {
|
|
|
if (sign.current) {
|
|
|
sign.current = 'prev';
|
|
|
return;
|
|
|
}
|
|
|
skipPrevQuestion();
|
|
|
},
|
|
|
children: "\u4E0A\u4E00\u9898"
|
|
|
}), !(oneindex === (answerData === null || answerData === void 0 || (_answerData$exercise_25 = answerData.exercise_question_types) === null || _answerData$exercise_25 === void 0 ? void 0 : _answerData$exercise_25.length) - 1 && twoindex === (answerData === null || answerData === void 0 || (_answerData$exercise_26 = answerData.exercise_question_types) === null || _answerData$exercise_26 === void 0 || (_answerData$exercise_26 = _answerData$exercise_26[oneindex]) === null || _answerData$exercise_26 === void 0 || (_answerData$exercise_26 = _answerData$exercise_26.items) === null || _answerData$exercise_26 === void 0 ? void 0 : _answerData$exercise_26.length) - 1) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: Answermodules.changeButton,
|
|
|
type: "primary",
|
|
|
onClick: function onClick() {
|
|
|
if (sign.current) {
|
|
|
sign.current = 'next';
|
|
|
return;
|
|
|
}
|
|
|
skipNextQuestion();
|
|
|
},
|
|
|
children: "\u4E0B\u4E00\u9898"
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}), checkStatus.status !== 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(ErrCheckIpTip, {
|
|
|
data: checkStatus
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
title: "\u6CE8\u610F",
|
|
|
open: isShowmodal,
|
|
|
closable: false,
|
|
|
footer: false,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
marginBottom: 0
|
|
|
},
|
|
|
children: "\u79BB\u5F00\u8BE5\u9898\u540E\u4E0D\u5141\u8BB8\u518D\u6B21\u4FEE\u6539\u7B54\u6848\uFF0C\u786E\u8BA4\u79BB\u5F00\u5417\uFF1F"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
marginTop: 60,
|
|
|
display: 'flex',
|
|
|
justifyContent: 'space-between',
|
|
|
alignItems: 'center'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
checked: ischecked,
|
|
|
onChange: function onChange(e) {
|
|
|
setischecked(e.target.checked);
|
|
|
},
|
|
|
children: "\u4E0B\u6B21\u4E0D\u518D\u663E\u793A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
setisshowmodal(false);
|
|
|
setischecked(false);
|
|
|
},
|
|
|
children: "\u6211\u518D\u60F3\u60F3"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
answerData.exercise_question_types[oneindex].items[twoindex].ques_status = 1;
|
|
|
setAnswerData(objectSpread2_default()({}, answerData));
|
|
|
if (switchType.current === 'prev') {
|
|
|
if (twoindex === 0) {
|
|
|
oneindex -= 1;
|
|
|
twoindex = answerData.exercise_question_types[oneindex].items.length - 1;
|
|
|
} else {
|
|
|
twoindex -= 1;
|
|
|
}
|
|
|
setoneindex(oneindex);
|
|
|
settwoindex(twoindex);
|
|
|
} else if (switchType.current === 'next') {
|
|
|
if (answerData.exercise_question_types[oneindex].items.length - 1 === twoindex) {
|
|
|
oneindex = oneindex + 1;
|
|
|
twoindex = 0;
|
|
|
} else {
|
|
|
twoindex = twoindex + 1;
|
|
|
}
|
|
|
setoneindex(oneindex);
|
|
|
settwoindex(twoindex);
|
|
|
} else {
|
|
|
setoneindex(switchData.current.oneindex);
|
|
|
settwoindex(switchData.current.twoindex);
|
|
|
}
|
|
|
setisshowmodal(false);
|
|
|
},
|
|
|
type: "primary",
|
|
|
style: {
|
|
|
marginLeft: 30
|
|
|
},
|
|
|
children: "\u786E\u8BA4"
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Unlock/* default */.Z, {
|
|
|
successCb: checkCamera
|
|
|
})]
|
|
|
}), showCamera && /*#__PURE__*/(0,jsx_runtime.jsx)((cjs_default()), {
|
|
|
disabled: disabled,
|
|
|
bounds: bounds,
|
|
|
onStart: function onStart(event, uiData) {
|
|
|
return _onStart(event, uiData);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: draggleRef,
|
|
|
style: {
|
|
|
position: 'absolute',
|
|
|
left: 40,
|
|
|
top: 200,
|
|
|
zIndex: 101
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onMouseOver: function onMouseOver() {
|
|
|
if (disabled) {
|
|
|
setDisabled(false);
|
|
|
}
|
|
|
},
|
|
|
onMouseOut: function onMouseOut() {
|
|
|
setDisabled(true);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: Answermodules.cameraHeader,
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-kaiqishexiangtou"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u5DF2\u5F00\u542F\u6444\u50CF\u5934"
|
|
|
})]
|
|
|
}), isopen ? /*#__PURE__*/(0,jsx_runtime.jsx)(MinusOutlined/* default */.Z, {
|
|
|
onClick: function onClick() {
|
|
|
setisopen(false);
|
|
|
}
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(PlusOutlined/* default */.Z, {
|
|
|
onClick: function onClick() {
|
|
|
setisopen(true);
|
|
|
}
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
display: isopen ? 'flex' : 'none'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_CaptureVideo, {
|
|
|
number: (answerData === null || answerData === void 0 || (_answerData$exercise39 = answerData.exercise) === null || _answerData$exercise39 === void 0 ? void 0 : _answerData$exercise39.photo_count) - (answerData === null || answerData === void 0 || (_answerData$exercise40 = answerData.exercise) === null || _answerData$exercise40 === void 0 ? void 0 : _answerData$exercise40.take_photo),
|
|
|
take_photo: answerData === null || answerData === void 0 || (_answerData$exercise41 = answerData.exercise) === null || _answerData$exercise41 === void 0 ? void 0 : _answerData$exercise41.take_photo,
|
|
|
ref: captureRef,
|
|
|
time: (_answerData$exercise42 = answerData.exercise) === null || _answerData$exercise42 === void 0 ? void 0 : _answerData$exercise42.left_time,
|
|
|
update: initData,
|
|
|
supportCamera: function supportCamera(type) {
|
|
|
if (type === 2) {
|
|
|
setOpenCameraSuccess(true);
|
|
|
setStartRecording(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_shot_open);
|
|
|
if (!(answerCheckData !== null && answerCheckData !== void 0 && answerCheckData.screen_shot_open)) {
|
|
|
setOpenFullScreen(answerCheckData === null || answerCheckData === void 0 ? void 0 : answerCheckData.screen_open);
|
|
|
initData();
|
|
|
}
|
|
|
|
|
|
// window.onblur = function () {
|
|
|
// if (IsFull()) {
|
|
|
// exitFull()
|
|
|
// }
|
|
|
// };
|
|
|
} else if (type === 1) {
|
|
|
setTimeout(function () {
|
|
|
return _umi_production_exports.history.push("/");
|
|
|
}, 3000);
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
destroyOnClose: true,
|
|
|
closable: false,
|
|
|
centered: true,
|
|
|
className: Answermodules.teachAnalysisModal,
|
|
|
title: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
color: "rgba(0,0,0,0.9)",
|
|
|
fontSize: "16px"
|
|
|
},
|
|
|
children: "\u6559\u5E08\u8BC4\u4EF7"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-guanbi7",
|
|
|
style: {
|
|
|
fontSize: "15px",
|
|
|
cursor: "pointer"
|
|
|
},
|
|
|
onClick: function onClick() {
|
|
|
return setTeachAnalysisModal(false);
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}),
|
|
|
open: teachAnalysisModal,
|
|
|
footer: false,
|
|
|
onCancel: function onCancel() {
|
|
|
return setTeachAnalysisModal(false);
|
|
|
},
|
|
|
children: answerData === null || answerData === void 0 || (_answerData$exercise_27 = answerData.exercise_answer_user) === null || _answerData$exercise_27 === void 0 ? void 0 : _answerData$exercise_27.analysis
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Exercise_Answer = ((0,_umi_production_exports.connect)(function (_ref27) {
|
|
|
var loading = _ref27.loading,
|
|
|
user = _ref27.user,
|
|
|
exercise = _ref27.exercise,
|
|
|
globalSetting = _ref27.globalSetting;
|
|
|
return {
|
|
|
globalSetting: globalSetting,
|
|
|
user: user,
|
|
|
exercise: exercise,
|
|
|
loading: loading.effects
|
|
|
};
|
|
|
})(Answer));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 39910:
|
|
|
/*!*******************************************************************!*\
|
|
|
!*** ./src/pages/Classrooms/Lists/Exercise/components/Unlock.tsx ***!
|
|
|
\*******************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/typeof.js */ 31468);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 31797);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 78241);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 43418);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd */ 1710);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd */ 10249);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! antd */ 95237);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd */ 43604);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! antd */ 3113);
|
|
|
/* harmony import */ var _service_exercise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/service/exercise */ 26613);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! moment */ 61186);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_6__);
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! umi */ 80184);
|
|
|
/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/util */ 1079);
|
|
|
/* harmony import */ var _components_Exercise_ip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/Exercise/ip */ 41889);
|
|
|
/* harmony import */ var _utils_authority__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/authority */ 13277);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Countdown = antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z.Countdown;
|
|
|
var Unlock = function Unlock(_ref) {
|
|
|
var _actionTabs$exerciseP9, _actionTabs$exerciseP10, _actionTabs$exerciseP11, _actionTabs$exerciseP12;
|
|
|
var exercise = _ref.exercise,
|
|
|
successCb = _ref.successCb,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,umi__WEBPACK_IMPORTED_MODULE_7__.useParams)();
|
|
|
var _Form$useForm = antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.useForm(),
|
|
|
_Form$useForm2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
|
|
|
_useState2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
|
|
|
isLoading = _useState2[0],
|
|
|
setIsLoading = _useState2[1];
|
|
|
var localIpRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();
|
|
|
var actionTabs = exercise.actionTabs;
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
|
|
|
if (exercise.actionTabs.key === 'student-unlock') {
|
|
|
// if (actionTabs?.exerciseParams?.ip_limit !== 'no' || actionTabs?.exerciseParams?.ip_bind)
|
|
|
// getLocalIp();
|
|
|
setIsLoading(false);
|
|
|
form.resetFields();
|
|
|
}
|
|
|
}, [exercise.actionTabs.key]);
|
|
|
var getLocalIp = function getLocalIp() {
|
|
|
return new Promise( /*#__PURE__*/function () {
|
|
|
var _ref2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(resolve) {
|
|
|
var _actionTabs$exerciseP, _actionTabs$exerciseP2;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_components_Exercise_ip__WEBPACK_IMPORTED_MODULE_9__/* .findLocalIp */ .y)({
|
|
|
ip_limit: actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP = actionTabs.exerciseParams) === null || _actionTabs$exerciseP === void 0 ? void 0 : _actionTabs$exerciseP.ip_limit,
|
|
|
ip_bind: actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP2 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP2 === void 0 ? void 0 : _actionTabs$exerciseP2.ip_bind
|
|
|
});
|
|
|
case 2:
|
|
|
localIpRef.current = _context.sent;
|
|
|
return _context.abrupt("return", resolve());
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}());
|
|
|
};
|
|
|
var handleOk = /*#__PURE__*/function () {
|
|
|
var _ref3 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2() {
|
|
|
var _actionTabs$exerciseP3, _actionTabs$exerciseP4, _actionTabs$exerciseP5, _actionTabs$exerciseP6;
|
|
|
var formValue, unlockRes, _userInfo, _actionTabs$exerciseP7, _actionTabs$exerciseP8, delayedParams, v;
|
|
|
return _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return form.validateFields();
|
|
|
case 2:
|
|
|
formValue = form.getFieldsValue();
|
|
|
setIsLoading(true);
|
|
|
if (!((actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP3 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP3 === void 0 ? void 0 : _actionTabs$exerciseP3.ip_limit) !== 'no' || actionTabs !== null && actionTabs !== void 0 && (_actionTabs$exerciseP4 = actionTabs.exerciseParams) !== null && _actionTabs$exerciseP4 !== void 0 && _actionTabs$exerciseP4.ip_bind)) {
|
|
|
_context2.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
_context2.next = 7;
|
|
|
return getLocalIp();
|
|
|
case 7:
|
|
|
_context2.next = 9;
|
|
|
return (0,_service_exercise__WEBPACK_IMPORTED_MODULE_5__/* .unlockUser */ .ZD)(actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP5 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP5 === void 0 ? void 0 : _actionTabs$exerciseP5.id, {
|
|
|
exercise_user_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP6 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP6 === void 0 ? void 0 : _actionTabs$exerciseP6.exercise_user_id,
|
|
|
unlock_key: formValue.unlock_key,
|
|
|
ip: localIpRef.current
|
|
|
});
|
|
|
case 9:
|
|
|
unlockRes = _context2.sent;
|
|
|
if (!(unlockRes.status === 0)) {
|
|
|
_context2.next = 22;
|
|
|
break;
|
|
|
}
|
|
|
if (!successCb) {
|
|
|
_context2.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
successCb();
|
|
|
return _context2.abrupt("return");
|
|
|
case 15:
|
|
|
if (!formValue.time) {
|
|
|
_context2.next = 19;
|
|
|
break;
|
|
|
}
|
|
|
delayedParams = {
|
|
|
time: moment__WEBPACK_IMPORTED_MODULE_6___default()(formValue.time).format("YYYY-MM-DD HH:mm"),
|
|
|
exercise_user_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP7 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP7 === void 0 ? void 0 : _actionTabs$exerciseP7.exercise_user_id,
|
|
|
id: actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP8 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP8 === void 0 ? void 0 : _actionTabs$exerciseP8.id
|
|
|
};
|
|
|
_context2.next = 19;
|
|
|
return (0,_service_exercise__WEBPACK_IMPORTED_MODULE_5__/* .delayedTime */ .qz)(delayedParams);
|
|
|
case 19:
|
|
|
v = actionTabs === null || actionTabs === void 0 ? void 0 : actionTabs.exerciseParams;
|
|
|
(0,_utils_util__WEBPACK_IMPORTED_MODULE_8__/* .startExercise */ .nr)({
|
|
|
inner_ip: v.inner_ip,
|
|
|
public_ip: v.public_ip,
|
|
|
open_camera: v.open_camera,
|
|
|
ip_limit: v.ip_limit,
|
|
|
ip_bind: v.ip_bind,
|
|
|
exercise_tips: v.exercise_tips,
|
|
|
exerciseId: v.id,
|
|
|
screen_open: v.screen_open,
|
|
|
screen_num: v.screen_num,
|
|
|
screen_sec: v.screen_sec,
|
|
|
coursesId: params.coursesId,
|
|
|
login: (_userInfo = (0,_utils_authority__WEBPACK_IMPORTED_MODULE_10__/* .userInfo */ .eY)()) === null || _userInfo === void 0 ? void 0 : _userInfo.login,
|
|
|
history: history,
|
|
|
identity_verify: v.identity_verify,
|
|
|
open_phone_video_recording: v.open_phone_video_recording,
|
|
|
current_status: v.current_status
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
case 22:
|
|
|
setIsLoading(false);
|
|
|
case 23:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleOk() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var columns = [{
|
|
|
title: 'IP地址',
|
|
|
dataIndex: 'ip',
|
|
|
key: 'ip',
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
className: text.indexOf("异常") > -1 ? 'c-red' : 'c-green',
|
|
|
children: text
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '浏览器',
|
|
|
dataIndex: 'browser',
|
|
|
key: 'browser',
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("span", {
|
|
|
className: text.indexOf("异常") > -1 ? 'c-red' : 'c-green',
|
|
|
children: text
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '上次登录时间',
|
|
|
dataIndex: 'last_login_time',
|
|
|
key: 'last_login_time'
|
|
|
}];
|
|
|
var hasError5 = (actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP9 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP9 === void 0 ? void 0 : _actionTabs$exerciseP9.errorMessage) && _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_typeof_js__WEBPACK_IMPORTED_MODULE_0___default()(actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP10 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP10 === void 0 ? void 0 : _actionTabs$exerciseP10.errorMessage) === "object";
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.Fragment, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
width: 514,
|
|
|
centered: true,
|
|
|
closable: !!(actionTabs !== null && actionTabs !== void 0 && (_actionTabs$exerciseP11 = actionTabs.exerciseParams) !== null && _actionTabs$exerciseP11 !== void 0 && _actionTabs$exerciseP11.unlockClose),
|
|
|
maskClosable: false,
|
|
|
keyboard: false,
|
|
|
maskStyle: {
|
|
|
background: "#000"
|
|
|
},
|
|
|
title: '提示',
|
|
|
open: exercise.actionTabs.key === 'student-unlock',
|
|
|
footer: null,
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'exercise/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: [hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div", {
|
|
|
style: {
|
|
|
marginBottom: 16
|
|
|
},
|
|
|
children: "\u8BE5\u8D26\u53F7\u5DF2\u7ECF\u5B58\u5728\u5F02\u5E38\u60C5\u51B5\uFF0C\u82E5\u975E\u672C\u4EBA\u64CD\u4F5C\uFF0C\u8BF7\u8054\u7CFB\u76D1\u8003\u8001\u5E08\u8BF4\u660E\u60C5\u51B5\u3002 "
|
|
|
}), !hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div", {
|
|
|
style: {
|
|
|
marginBottom: 16
|
|
|
},
|
|
|
children: "\u7CFB\u7EDF\u68C0\u6D4B\u5230\u60A8\u5728\u8003\u8BD5\u65F6\u4E2D\u9014\u9000\u51FA\uFF0C\u73B0\u5DF2\u5C06\u8003\u8BD5\u9501\u5B9A\u3002\u5982\u9700\u7EE7\u7EED\u8FDB\u884C\u8003\u8BD5\uFF0C \u8BF7\u5C3D\u5FEB\u8054\u7CFB\u8BFE\u5802\u8001\u5E08\u8FDB\u884C\u89E3\u9501\uFF01"
|
|
|
}), hasError5 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
className: "mb20",
|
|
|
pagination: {
|
|
|
hideOnSinglePage: true
|
|
|
},
|
|
|
dataSource: [(actionTabs === null || actionTabs === void 0 || (_actionTabs$exerciseP12 = actionTabs.exerciseParams) === null || _actionTabs$exerciseP12 === void 0 ? void 0 : _actionTabs$exerciseP12.errorMessage) || {}],
|
|
|
columns: columns
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)("div", {
|
|
|
className: "",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
|
|
|
form: form,
|
|
|
layout: "vertical",
|
|
|
autoComplete: "off",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z.Item, {
|
|
|
label: "\u8003\u8BD5\u89E3\u9501\u7801",
|
|
|
name: "unlock_key",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入考试解锁码'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z.Password, {
|
|
|
autoComplete: "off",
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u8003\u8BD5\u89E3\u9501\u7801",
|
|
|
visibilityToggle: false
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z, {
|
|
|
justify: "space-between",
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_11__.jsx)(antd__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .ZP, {
|
|
|
loading: isLoading,
|
|
|
onClick: handleOk,
|
|
|
children: "\u8FDB\u5165\u8003\u8BD5"
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = ((0,umi__WEBPACK_IMPORTED_MODULE_7__.connect)(function (_ref4) {
|
|
|
var exercise = _ref4.exercise;
|
|
|
return {
|
|
|
exercise: exercise
|
|
|
};
|
|
|
})(Unlock));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 68641:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Y4: function() { return /* binding */ DetailCommitOut; },
|
|
|
Im: function() { return /* binding */ ExecuteDict; },
|
|
|
ZP: function() { return /* binding */ TestCasePanel; }
|
|
|
});
|
|
|
|
|
|
// UNUSED EXPORTS: getCommitOut
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(85573);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(10249);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
|
var DownOutlined = __webpack_require__(84105);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/UpOutlined.js + 1 modules
|
|
|
var UpOutlined = __webpack_require__(87395);
|
|
|
// EXTERNAL MODULE: ./src/pages/MyProblem/interface.ts
|
|
|
var MyProblem_interface = __webpack_require__(41403);
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
|
|
|
var Spinner = __webpack_require__(13887);
|
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 2 modules
|
|
|
var RenderHtml = __webpack_require__(26404);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(1079);
|
|
|
// EXTERNAL MODULE: ./node_modules/_xterm@4.8.1@xterm/lib/xterm.js
|
|
|
var xterm = __webpack_require__(34376);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var utils_fetch = __webpack_require__(35325);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(80184);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default */.Z.TextArea;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
visible: false,
|
|
|
tabIndex: '0'
|
|
|
};
|
|
|
var ExecuteDict = defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, MyProblem_interface/* ExecuteStatus */.h.NOMATCH, '测试用例结果不匹配'), MyProblem_interface/* ExecuteStatus */.h.OK, '调试通过'), 2, '调试超时'), 3, '调试pod失败'), 4, '编译失败'), 5, '执行失败');
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["SET_VISIBLE"] = 0] = "SET_VISIBLE";
|
|
|
Types[Types["SET_TABINDEX"] = 1] = "SET_TABINDEX";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function Reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_VISIBLE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
visible: action.payload
|
|
|
});
|
|
|
case Types.SET_TABINDEX:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
tabIndex: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
function DetailCommitOut(debugResult) {
|
|
|
var status = debugResult.status,
|
|
|
error_msg = debugResult.error_msg,
|
|
|
output = debugResult.output,
|
|
|
input = debugResult.input,
|
|
|
expected_output = debugResult.expected_output,
|
|
|
is_file = debugResult.is_file,
|
|
|
input_file_url = debugResult.input_file_url,
|
|
|
output_file_url = debugResult.output_file_url,
|
|
|
expected_output_file_url = debugResult.expected_output_file_url,
|
|
|
setMonacoValue = debugResult.setMonacoValue,
|
|
|
setData = debugResult.setData;
|
|
|
var outputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var inputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var expectedOutputRef = (0,_react_17_0_2_react.useRef)();
|
|
|
var rs = null;
|
|
|
var mdStyle = {
|
|
|
minHeight: 150,
|
|
|
marginBottom: 10,
|
|
|
paddingLeft: 24,
|
|
|
background: '#070f19',
|
|
|
color: '#fff'
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (output && !is_file && outputRef.current) {
|
|
|
var term = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term.open(outputRef.current);
|
|
|
var actual_output_format = (0,util/* findEndWhitespace */.pp)(base64.Base64.decode(output));
|
|
|
term.write(actual_output_format);
|
|
|
term.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
if (input && !is_file && inputRef.current) {
|
|
|
var term2 = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term2.open(inputRef.current);
|
|
|
term2.write((0,util/* findEndWhitespace */.pp)(input));
|
|
|
term2.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
if (expected_output && !is_file && expectedOutputRef.current) {
|
|
|
var term3 = new xterm.Terminal({
|
|
|
fontSize: 14,
|
|
|
letterSpacing: 1,
|
|
|
cols: 83,
|
|
|
rows: 10
|
|
|
});
|
|
|
term3.open(expectedOutputRef.current);
|
|
|
term3.write((0,util/* findEndWhitespace */.pp)(base64.Base64.decode(expected_output)));
|
|
|
term3.setOption('theme', {
|
|
|
background: '#1e1e1e'
|
|
|
});
|
|
|
}
|
|
|
}, [output]);
|
|
|
switch (status) {
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u5B9E\u9645\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: inputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return fetch(input_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/octet-stream",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
_context.t0 = setMonacoValue;
|
|
|
_context.next = 6;
|
|
|
return res.text();
|
|
|
case 6:
|
|
|
_context.t1 = _context.sent;
|
|
|
(0, _context.t0)(_context.t1);
|
|
|
setTimeout(function () {
|
|
|
setData(input_file_url);
|
|
|
}, 200);
|
|
|
// download(input_file_url, input)
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}))
|
|
|
// download={expected_output}
|
|
|
// target="_blank"
|
|
|
,
|
|
|
children: input
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u5B9E\u9645\u8F93\u51FA\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: outputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={output_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,utils_fetch/* default */.ZP)(output_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/xml",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
setMonacoValue(res);
|
|
|
setTimeout(function () {
|
|
|
setData(output_file_url);
|
|
|
}, 200);
|
|
|
|
|
|
// download(output_file_url, output)
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}))
|
|
|
// download={expected_output} target="_blank"
|
|
|
,
|
|
|
children: output
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-red",
|
|
|
children: "\u9884\u671F\u8F93\u51FA\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: expectedOutputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={expected_output_file_url}
|
|
|
style: {
|
|
|
fontSize: '16px'
|
|
|
},
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return fetch(expected_output_file_url, {
|
|
|
method: "Get",
|
|
|
headers: {
|
|
|
"Content-Type": "application/octet-stream",
|
|
|
"Accept": "*/*"
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
_context3.t0 = setMonacoValue;
|
|
|
_context3.next = 6;
|
|
|
return res.text();
|
|
|
case 6:
|
|
|
_context3.t1 = _context3.sent;
|
|
|
(0, _context3.t0)(_context3.t1);
|
|
|
setTimeout(function () {
|
|
|
setData(expected_output_file_url);
|
|
|
}, 200);
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}))
|
|
|
// download={expected_output} target="_blank"
|
|
|
,
|
|
|
children: expected_output
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
border: '1px #F6F7F9 solid'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
width: '100%',
|
|
|
height: 40,
|
|
|
background: '#F6F7F9',
|
|
|
lineHeight: '40px',
|
|
|
color: "#666666",
|
|
|
paddingLeft: '12px'
|
|
|
},
|
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
|
|
|
value: input,
|
|
|
style: mdStyle
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
|
onClick: function onClick() {
|
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
|
},
|
|
|
children: input
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
border: '1px #F6F7F9 solid',
|
|
|
marginTop: '10px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
width: '100%',
|
|
|
height: 40,
|
|
|
background: '#F6F7F9',
|
|
|
lineHeight: '40px',
|
|
|
color: "#666666",
|
|
|
paddingLeft: '12px'
|
|
|
},
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("pre", {
|
|
|
className: "error",
|
|
|
style: {
|
|
|
color: '#E30000',
|
|
|
padding: '0 10px'
|
|
|
},
|
|
|
children: [base64.Base64.decode(error_msg), "111"]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
|
|
|
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: inputRef
|
|
|
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: mdStyle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
|
|
|
onClick: function onClick() {
|
|
|
return (0,util/* download */.LR)(input_file_url, input);
|
|
|
},
|
|
|
children: input
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [" ", rs, " "]
|
|
|
});
|
|
|
}
|
|
|
function getCommitOut(debugResult) {
|
|
|
var status = debugResult.status,
|
|
|
error_msg = debugResult.error_msg,
|
|
|
execute_time = debugResult.execute_time,
|
|
|
output = debugResult.output,
|
|
|
input = debugResult.input,
|
|
|
expected_output = debugResult.expected_output,
|
|
|
is_file = debugResult.is_file,
|
|
|
input_file_url = debugResult.input_file_url,
|
|
|
output_file_url = debugResult.output_file_url,
|
|
|
expected_output_file_url = debugResult.expected_output_file_url;
|
|
|
var rs = null;
|
|
|
switch (status) {
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.OK:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6267\u884C\u7528\u65F6\uFF1A", execute_time / 1000, "\u79D2"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u7ED3\u679C\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: base64.Base64.decode(output)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.NOMATCH:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u8F93\u51FA\uFF1A", output && base64.Base64.decode(output)]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u9884\u671F\u8F93\u51FA\uFF1A", expected_output && base64.Base64.decode(expected_output)]
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
children: input
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
|
|
|
className: "error",
|
|
|
children: base64.Base64.decode(error_msg)
|
|
|
})]
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.PODFAILURE:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
case MyProblem_interface/* ExecuteStatus */.h.TIMEOUT:
|
|
|
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [" ", rs, " "]
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var TestCasePanel = (function (_ref4) {
|
|
|
var input = _ref4.input,
|
|
|
debuging = _ref4.debuging,
|
|
|
submitting = _ref4.submitting,
|
|
|
executingMessage = _ref4.executingMessage,
|
|
|
debugResult = _ref4.debugResult,
|
|
|
onChangeInput = _ref4.onChangeInput,
|
|
|
onDebugCode = _ref4.onDebugCode,
|
|
|
onSubmitCode = _ref4.onSubmitCode,
|
|
|
hack = _ref4.hack,
|
|
|
user = _ref4.user;
|
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(Reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var visible = state.visible,
|
|
|
tabIndex = state.tabIndex;
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
function onTabIndexChange(e) {
|
|
|
var id = e.target.id;
|
|
|
dispatch({
|
|
|
type: Types.SET_TABINDEX,
|
|
|
payload: id
|
|
|
});
|
|
|
}
|
|
|
function onTriggerCollapse() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: !visible
|
|
|
});
|
|
|
}
|
|
|
var executeResult = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
if (debugResult) {
|
|
|
var status = debugResult.status;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: getCommitOut(debugResult)
|
|
|
});
|
|
|
}
|
|
|
return null;
|
|
|
}, [debugResult]);
|
|
|
function onDebug() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: true
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_TABINDEX,
|
|
|
payload: '1'
|
|
|
});
|
|
|
onDebugCode();
|
|
|
}
|
|
|
var skip = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(text) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.next = 2;
|
|
|
return (0,utils_fetch/* default */.ZP)("/api/problems/".concat(text, "/start.json"), {
|
|
|
method: 'get',
|
|
|
params: {
|
|
|
hack_user_id: user === null || user === void 0 ? void 0 : user.user_id
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context4.sent;
|
|
|
if (res) {
|
|
|
window.location.href = "/myproblems/".concat(res === null || res === void 0 ? void 0 : res.identifier, "?type=1");
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function skip(_x) {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "test-case-panel",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "test-case-panel-body ".concat(visible ? 'active' : ''),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
|
className: "s-navs",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: tabIndex === '0' ? 'active' : '',
|
|
|
id: "0",
|
|
|
onClick: onTabIndexChange,
|
|
|
children: "\u81EA\u5B9A\u4E49\u6D4B\u8BD5\u7528\u4F8B"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: tabIndex === '1' ? 'active' : '',
|
|
|
id: "1",
|
|
|
onClick: onTabIndexChange,
|
|
|
children: "\u4EE3\u7801\u6267\u884C\u7ED3\u679C"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tab-panel-body ".concat(tabIndex === '0' ? '' : 'hide'),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
placeholder: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D",
|
|
|
value: input,
|
|
|
onChange: onChangeInput
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tab-panel-body ".concat(tabIndex === '1' ? '' : 'hide'),
|
|
|
children: debuging ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
|
|
|
message: executingMessage
|
|
|
}) : debugResult ? /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
style: {
|
|
|
height: 200
|
|
|
},
|
|
|
children: [" ", executeResult, " "]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tip",
|
|
|
children: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: "btn-collapse ".concat(visible ? 'up' : ''),
|
|
|
onClick: onTriggerCollapse,
|
|
|
children: visible ? /*#__PURE__*/(0,jsx_runtime.jsx)(DownOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(UpOutlined/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("footer", {
|
|
|
className: "footer",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u63A7\u5236\u53F0"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
children: [(hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.above_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.above_question);
|
|
|
},
|
|
|
id: "oj-prev",
|
|
|
className: "btn-blue",
|
|
|
type: "ghost",
|
|
|
children: "\u4E0A\u4E00\u9898"
|
|
|
}), (hack === null || hack === void 0 ? void 0 : hack.is_program) && (hack === null || hack === void 0 ? void 0 : hack.under_question) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: function onClick() {
|
|
|
return skip(hack === null || hack === void 0 ? void 0 : hack.under_question);
|
|
|
},
|
|
|
id: "oj-next",
|
|
|
className: "btn-blue",
|
|
|
type: "ghost",
|
|
|
children: "\u4E0B\u4E00\u9898"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "btn-green",
|
|
|
type: "ghost",
|
|
|
loading: debuging,
|
|
|
onClick: onDebug,
|
|
|
children: "\u8C03\u8BD5\u4EE3\u7801"
|
|
|
}), searchParams.get("qtype") !== '8' && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
className: "custom-ant-disabled",
|
|
|
loading: submitting,
|
|
|
disabled: submitting,
|
|
|
onClick: function onClick() {
|
|
|
dispatch({
|
|
|
type: Types.SET_VISIBLE,
|
|
|
payload: false
|
|
|
});
|
|
|
// dispatch({
|
|
|
// type: Types.SET_TABINDEX,
|
|
|
// payload: '1'
|
|
|
// })
|
|
|
onSubmitCode();
|
|
|
},
|
|
|
children: "\u8BC4\u6D4B\u5E76\u63D0\u4EA4"
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 41403:
|
|
|
/*!******************************************!*\
|
|
|
!*** ./src/pages/MyProblem/interface.ts ***!
|
|
|
\******************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ h: function() { return /* binding */ ExecuteStatus; }
|
|
|
/* harmony export */ });
|
|
|
// created_at: "2020-07-09T19:53:54.000+08:00"
|
|
|
// execute_memory: null
|
|
|
// execute_time: 0.269
|
|
|
// id: 872
|
|
|
// language: "C"
|
|
|
// status: 4
|
|
|
|
|
|
var ExecuteStatus = /*#__PURE__*/function (ExecuteStatus) {
|
|
|
ExecuteStatus[ExecuteStatus["NOMATCH"] = -1] = "NOMATCH";
|
|
|
ExecuteStatus[ExecuteStatus["OK"] = 0] = "OK";
|
|
|
ExecuteStatus[ExecuteStatus["TIMEOUT"] = 2] = "TIMEOUT";
|
|
|
ExecuteStatus[ExecuteStatus["PODFAILURE"] = 3] = "PODFAILURE";
|
|
|
ExecuteStatus[ExecuteStatus["COMPILEFAILURE"] = 4] = "COMPILEFAILURE";
|
|
|
ExecuteStatus[ExecuteStatus["EXECUTEFAILURE"] = 5] = "EXECUTEFAILURE";
|
|
|
return ExecuteStatus;
|
|
|
}({});
|
|
|
|
|
|
// "id": "1",
|
|
|
// "status": 2, # -1测试用例结果不匹配; 0: 评测通过; ;2 评测超时;3 创建pod失败; 4 编译失败;5 执行失败
|
|
|
// "error_line": 3, # 错误行数
|
|
|
// "error_msg": "error line 7 input.." , # 报错信息
|
|
|
// "input": "3 4", # 输入
|
|
|
// "output": "7", # 输出
|
|
|
// "execute_time": 3, #执行时间
|
|
|
// "execute_memory": 300, #消耗内存
|
|
|
// "expected_output": "7" # 如果提交模式 会多这个参数
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 93454:
|
|
|
/*!****************************************!*\
|
|
|
!*** ./src/pages/MyProblem/service.ts ***!
|
|
|
\****************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ H7: function() { return /* binding */ resetCode; },
|
|
|
/* harmony export */ MK: function() { return /* binding */ addNotes; },
|
|
|
/* harmony export */ MU: function() { return /* binding */ debugCode; },
|
|
|
/* harmony export */ X6: function() { return /* binding */ getRecordDetail; },
|
|
|
/* harmony export */ bM: function() { return /* binding */ sumbitCode; },
|
|
|
/* harmony export */ fi: function() { return /* binding */ syncCode; },
|
|
|
/* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; },
|
|
|
/* harmony export */ n4: function() { return /* binding */ updateCode; },
|
|
|
/* harmony export */ rX: function() { return /* binding */ getOperationResult; },
|
|
|
/* harmony export */ vl: function() { return /* binding */ triggerPlus; },
|
|
|
/* harmony export */ zO: function() { return /* binding */ getSubmitRecords; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/fetch.ts */ 35325);
|
|
|
|
|
|
|
|
|
function getProgrammingTopic(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, ".json"), _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
|
hidePopLogin: true
|
|
|
}, params || {}));
|
|
|
}
|
|
|
function sumbitCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_submit.json"), params);
|
|
|
}
|
|
|
function debugCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/code_debug.json"), params);
|
|
|
}
|
|
|
function getSubmitRecords(id, params) {
|
|
|
if (params.language) {
|
|
|
params.language = encodeURIComponent(params.language);
|
|
|
}
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/submit_records.json"), params);
|
|
|
}
|
|
|
function getRecordDetail(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/record_detail.json", {
|
|
|
id: id
|
|
|
});
|
|
|
}
|
|
|
function getOperationResult(id, mode) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .get */ .U2)("myproblems/".concat(id, "/result.json"), {
|
|
|
mode: mode
|
|
|
});
|
|
|
}
|
|
|
function addNotes(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/add_notes.json"), params);
|
|
|
}
|
|
|
function resetCode(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/restore_initial_code.json"));
|
|
|
}
|
|
|
function syncCode(id) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/sync_code.json"));
|
|
|
}
|
|
|
function updateCode(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("myproblems/".concat(id, "/update_code.json"), params);
|
|
|
}
|
|
|
function triggerPlus(id, params) {
|
|
|
return (0,_utils_fetch_ts__WEBPACK_IMPORTED_MODULE_1__/* .post */ .v_)("discusses/".concat(id, "/plus.json"), params);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 697:
|
|
|
/*!********************************************!*\
|
|
|
!*** ./src/utils/hooks/useRemindModal.tsx ***!
|
|
|
\********************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ _: function() { return /* binding */ useRemindModal; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js */ 91232);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 43418);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//只需要left_time和exercise_events参数,实际上传进来的answerData还有很多其它的属性
|
|
|
|
|
|
var useRemindModal = function useRemindModal(answerData) {
|
|
|
var _answerData$exercise6, _answerData$exercise7;
|
|
|
var countDownRefArr = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)([]);
|
|
|
var clearCountdownTimeout = function clearCountdownTimeout() {
|
|
|
var _iterator = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0___default()(countDownRefArr.current),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var id = _step.value;
|
|
|
clearTimeout(id);
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
countDownRefArr.current = [];
|
|
|
};
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
|
|
|
var _answerData$exercise, _answerData$exercise2;
|
|
|
clearCountdownTimeout();
|
|
|
if (answerData !== null && answerData !== void 0 && (_answerData$exercise = answerData.exercise) !== null && _answerData$exercise !== void 0 && _answerData$exercise.left_time && (answerData === null || answerData === void 0 || (_answerData$exercise2 = answerData.exercise) === null || _answerData$exercise2 === void 0 || (_answerData$exercise2 = _answerData$exercise2.exercise_events) === null || _answerData$exercise2 === void 0 ? void 0 : _answerData$exercise2.length) > 0) {
|
|
|
var _answerData$exercise3;
|
|
|
var _iterator2 = _root_workspace_ppte5yg23_local_v9_test2_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createForOfIteratorHelper_js__WEBPACK_IMPORTED_MODULE_0___default()(answerData === null || answerData === void 0 || (_answerData$exercise3 = answerData.exercise) === null || _answerData$exercise3 === void 0 ? void 0 : _answerData$exercise3.exercise_events),
|
|
|
_step2;
|
|
|
try {
|
|
|
var _loop = function _loop() {
|
|
|
var _answerData$exercise4;
|
|
|
var eventItem = _step2.value;
|
|
|
if ((answerData === null || answerData === void 0 || (_answerData$exercise4 = answerData.exercise) === null || _answerData$exercise4 === void 0 ? void 0 : _answerData$exercise4.left_time) > (eventItem === null || eventItem === void 0 ? void 0 : eventItem.reminder_time) * 60) {
|
|
|
var _answerData$exercise5;
|
|
|
var timeoutId = setTimeout(function () {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z.info({
|
|
|
content: "".concat(eventItem === null || eventItem === void 0 ? void 0 : eventItem.reminder_content),
|
|
|
icon: null,
|
|
|
title: '提示',
|
|
|
centered: true,
|
|
|
okText: "知道了"
|
|
|
});
|
|
|
}, ((answerData === null || answerData === void 0 || (_answerData$exercise5 = answerData.exercise) === null || _answerData$exercise5 === void 0 ? void 0 : _answerData$exercise5.left_time) - (eventItem === null || eventItem === void 0 ? void 0 : eventItem.reminder_time) * 60) * 1000);
|
|
|
countDownRefArr.current.push(timeoutId);
|
|
|
}
|
|
|
};
|
|
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
|
_loop();
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator2.e(err);
|
|
|
} finally {
|
|
|
_iterator2.f();
|
|
|
}
|
|
|
}
|
|
|
}, [answerData === null || answerData === void 0 || (_answerData$exercise6 = answerData.exercise) === null || _answerData$exercise6 === void 0 ? void 0 : _answerData$exercise6.left_time, answerData === null || answerData === void 0 || (_answerData$exercise7 = answerData.exercise) === null || _answerData$exercise7 === void 0 ? void 0 : _answerData$exercise7.exercise_events]);
|
|
|
return clearCountdownTimeout;
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |