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

204 lines
8.6 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[7527],{
/***/ 654:
/*!******************************************************!*\
!*** ./src/pages/Problems/OjForm/index.less?modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
// extracted by mini-css-extract-plugin
/* harmony default export */ __webpack_exports__.Z = ({"header":"header___HqHSe","checkboxs":"checkboxs___ObBnD","field":"field___w_sM6","oj-form-container":"oj-form-container____odYP","oj-left-panel":"oj-left-panel___emEB2","oj-form-info":"oj-form-info___m00Ag","footer":"footer___O4iSJ","collapse":"collapse___Ltfkj","test-case-name":"test-case-name___miZcb","btn-remove-case":"btn-remove-case___cHap2","icon-tag":"icon-tag___gmyTb","btn_back":"btn_back___tNmX3","testJi":"testJi___L3fHb","upBtn":"upBtn___RGH6X","djs":"djs____TS0n","time":"time___IAdHc"});
/***/ }),
/***/ 70085:
/*!****************************************************************!*\
!*** ./src/pages/MyProblem/RecordDetail/index.tsx + 1 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 */ RecordDetail; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/index.less?modules
var OjFormmodules = __webpack_require__(654);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(19351);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(23852);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
;// CONCATENATED MODULE: ./src/pages/MyProblem/RecordDetail/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/MyProblem/service.ts
var service = __webpack_require__(29128);
// EXTERNAL MODULE: ./src/pages/MyProblem/TestCasePanel/index.tsx + 1 modules
var TestCasePanel = __webpack_require__(43459);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
var monaco_editor = __webpack_require__(16162);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(9498);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
var PreviewAll = __webpack_require__(95391);
;// CONCATENATED MODULE: ./src/pages/MyProblem/RecordDetail/index.tsx
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
/* harmony default export */ var RecordDetail = (() => {
const { submitId } = (0,_umi_production_exports.useParams)();
const [data, setData] = (0,_react_17_0_2_react.useState)("");
const [monacoValue, setMonacoValue] = (0,_react_17_0_2_react.useState)("");
const [state, setState] = (0,_react_17_0_2_react.useState)(void 0);
function onBack() {
_umi_production_exports.history.back();
}
(0,_react_17_0_2_react.useEffect)(() => {
if (submitId) {
function init() {
return __async(this, null, function* () {
const response = yield (0,service/* getRecordDetail */.X6)(submitId);
setState(response.data);
});
}
init();
}
}, [submitId]);
const {
status,
created_at,
code,
name,
language,
pass_sets_count,
set_count,
error_msg,
output,
input,
expected_output,
execute_memory,
user,
execute_time,
input_file_url,
output_file_url,
is_file,
expected_output_file_url
} = state || {};
return /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: !state, delay: 500 }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "record-detail-info" }, !state ? null : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("header", { className: OjFormmodules/* default */.Z.header }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"img",
{
src: `${env/* default */.Z.IMG_SERVER}/images/${user.image_url}`,
alt: "user",
width: 30
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, user.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("h2", null, " ", name, " "), /* @__PURE__ */ _react_17_0_2_react.createElement("button", { className: "ant-btn", onClick: onBack, style: { border: "1px solid #bacffe", color: "#3061d0" } }, "\u8FD4\u56DE\u8BE5\u9898")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "record-detail-body" }, /* @__PURE__ */ _react_17_0_2_react.createElement("h2", null, " \u63D0\u4EA4\u8BB0\u5F55 "), /* @__PURE__ */ _react_17_0_2_react.createElement("ul", { className: "record-info" }, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, " ", "\u72B6\u6001\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: status === 0 ? "c-green" : "c-red" }, TestCasePanel/* ExecuteDict */.Im[status]), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, " ", "\u63D0\u4EA4\u65F6\u95F4\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, dayjs_min_default()(created_at).format("YYYY-MM-DD hh:mm:ss")), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, " ", "\u8BED\u8A00\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, language), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, " ", "\u6267\u884C\u7528\u65F6\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, execute_time * 1e3, "ms"), " "), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, " ", `${pass_sets_count} / ${set_count} \u4E2A\u901A\u8FC7\u7684\u6D4B\u8BD5\u7528\u4F8B`, " ")), /* @__PURE__ */ _react_17_0_2_react.createElement(
TestCasePanel/* DetailCommitOut */.Y4,
__spreadValues({}, {
status,
error_msg,
execute_time,
output,
input,
expected_output,
input_file_url,
output_file_url,
is_file,
expected_output_file_url,
setData,
setMonacoValue
})
), /* @__PURE__ */ _react_17_0_2_react.createElement("h2", null, " \u63D0\u4EA4\u7684\u5185\u5BB9 "), /* @__PURE__ */ _react_17_0_2_react.createElement(
monaco_editor/* default */.ZP,
{
height: "calc(100% - 126px)",
width: "100%",
language: language == null ? void 0 : language.toLocaleLowerCase(),
value: base64.Base64.decode(code),
options: {
readOnly: true
}
}
)))), /* @__PURE__ */ _react_17_0_2_react.createElement(
PreviewAll/* default */.Z,
{
close: true,
data,
type: !!data.length ? "txt" : "",
onClose: () => setData(""),
monacoEditor: {
value: monacoValue,
language: "txt",
onChange: () => {
},
options: {
readOnly: true,
fontSize: 14,
minimap: {
enabled: false
}
}
}
}
));
});
/***/ })
}]);