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.
1838 lines
79 KiB
1838 lines
79 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[6913],{
|
|
|
|
/***/ 55339:
|
|
/*!****************************************************!*\
|
|
!*** ./src/components/tpi-code-setting/index.less ***!
|
|
\****************************************************/
|
|
/***/ (function() {
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 26224:
|
|
/*!*************************************************************!*\
|
|
!*** ./src/components/SplitContainer/index.tsx + 1 modules ***!
|
|
\*************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ SplitContainer; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
;// CONCATENATED MODULE: ./src/components/SplitContainer/index.less
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
;// CONCATENATED MODULE: ./src/components/SplitContainer/index.tsx
|
|
|
|
|
|
/* harmony default export */ var SplitContainer = (({ defaultX = "40%", leftChild, rightChild, className, hideResize = false }) => {
|
|
const [moveX, setMoveX] = (0,_react_17_0_2_react.useState)(defaultX);
|
|
const resizeXFlag = (0,_react_17_0_2_react.useRef)();
|
|
function onResizeStart() {
|
|
resizeXFlag.current = true;
|
|
}
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
function onMove(e) {
|
|
if (resizeXFlag.current) {
|
|
setMoveX(e.pageX);
|
|
}
|
|
}
|
|
function onMouseUp() {
|
|
resizeXFlag.current = false;
|
|
}
|
|
window.addEventListener("mousemove", onMove);
|
|
window.addEventListener("mouseup", onMouseUp);
|
|
return () => {
|
|
window.removeEventListener("mousemove", onMove);
|
|
window.removeEventListener("mouseup", onMouseUp);
|
|
};
|
|
}, []);
|
|
const leftPanelWidth = typeof moveX === "number" && moveX !== 0.01 ? `${moveX}px` : defaultX;
|
|
const rightPanelWidth = `calc(100% - ${hideResize ? "0px" : "4px"} - ${leftPanelWidth})`;
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `split-panel-container ${className}` }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { style: {
|
|
width: leftPanelWidth,
|
|
display: moveX === 0.01 ? "none" : ""
|
|
} }, leftChild), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"section",
|
|
{
|
|
className: "resize-x-bar",
|
|
onMouseDown: onResizeStart
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: "btn-resize" }, /* @__PURE__ */ _react_17_0_2_react.createElement("svg", { width: "16", height: "13", viewBox: "0 0 16 13" }, /* @__PURE__ */ _react_17_0_2_react.createElement("path", { d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z" })))
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"section",
|
|
{
|
|
style: { width: rightPanelWidth }
|
|
},
|
|
rightChild
|
|
));
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 38836:
|
|
/*!*********************************************************!*\
|
|
!*** ./src/components/tpi-code-setting/CodeSetting.tsx ***!
|
|
\*********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less */ 55339);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 57809);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd */ 78673);
|
|
|
|
|
|
|
|
const Option = antd__WEBPACK_IMPORTED_MODULE_2__["default"].Option;
|
|
/* harmony default export */ __webpack_exports__.Z = (({
|
|
isTheoretical,
|
|
onFontSizeChange,
|
|
cmFontSize,
|
|
cmCodeMode,
|
|
autoFormat,
|
|
onCodeModeChange,
|
|
onTabToSpace,
|
|
onAutoFormat,
|
|
formatDocument,
|
|
className = "",
|
|
tabToSpace,
|
|
children
|
|
}) => {
|
|
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: `tpi-code-setting ${className}` }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("h3", null, "\u4EE3\u7801\u683C\u5F0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u663E\u793A\u6A21\u5F0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
antd__WEBPACK_IMPORTED_MODULE_2__["default"],
|
|
{
|
|
bordered: false,
|
|
size: "small",
|
|
value: cmCodeMode,
|
|
onChange: onCodeModeChange
|
|
},
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: "vs" }, "\u767D\u8272\u80CC\u666F"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: "vs-dark" }, "\u9ED1\u8272\u80CC\u666F")
|
|
)), !isTheoretical && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5B57\u4F53\u5927\u5C0F"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
antd__WEBPACK_IMPORTED_MODULE_2__["default"],
|
|
{
|
|
bordered: false,
|
|
size: "small",
|
|
value: cmFontSize,
|
|
onChange: onFontSizeChange
|
|
},
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 12 }, "12px"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 14 }, "14px"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 16 }, "16px"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 18 }, "18px"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 20 }, "20px"),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Option, { value: 22 }, "22px")
|
|
)), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "Tab\u8F6C\u6362"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, { checked: tabToSpace, onChange: onTabToSpace })), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item", onClick: formatDocument }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", { style: { cursor: "pointer" } }, "\u683C\u5F0F\u5316\u4EE3\u7801")))), !isTheoretical && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("h3", null, "\u5FEB\u6377\u952E"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u4FDD\u5B58\u4EE3\u7801"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + S")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5524\u51FA\u5FEB\u6377\u952E\u5217\u8868"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "F1 / Alt + F1")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u5DE6\u53F3\u7F29\u8FDB"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + ]/[")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8DF3\u5230\u5339\u914D\u7684\u62EC\u53F7"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Ctrl + Shift + \\")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8F6C\u5230\u884C\u9996"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "Home")), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", { className: "file-item" }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("b", null, "\u8F6C\u5230\u884C\u5C3E"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", null, "End"))), children));
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 28106:
|
|
/*!************************************************************!*\
|
|
!*** ./src/pages/Question/AddOrEdit/index.tsx + 7 modules ***!
|
|
\************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Types: function() { return /* binding */ AddOrEdit_Types; },
|
|
"default": function() { return /* binding */ AddOrEdit; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var AddOrEditmodules = ({"header":"header___N_IdR","field":"field___XG_dh","oj-form-container":"oj-form-container___syYzK","oj-left-panel":"oj-left-panel___L082x","oj-form-info":"oj-form-info___q0IU5","footer":"footer___pGCM2","result":"result___LM9Ms","passText":"passText___nUoL4","noPassText":"noPassText___ECHHG","pass":"pass___tDubp","noPass":"noPass___ilYvg","test-case-name":"test-case-name___MI_KD","btn-remove-case":"btn-remove-case___OiaTQ","icon-tag":"icon-tag___D86WO","btn_back":"btn_back___FyaSY","testJi":"testJi___NDviK","upBtn":"upBtn___FiZX4","oj-problems":"oj-problems___xb70g","row":"row___v036E","a":"a___yRaYH","b":"b___gWQyu","inputTwo":"inputTwo___IZ9og","inputOne":"inputOne____NmcT","cusModal":"cusModal___fJ5gm","oj-custom-large-spin":"oj-custom-large-spin___Aar0g","MdEditor":"MdEditor___hgoes"});
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(1056);
|
|
// 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/collapse/index.js + 8 modules
|
|
var collapse = __webpack_require__(74997);
|
|
// 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/message/index.js + 4 modules
|
|
var message = __webpack_require__(8591);
|
|
// 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/spin/index.js + 1 modules
|
|
var spin = __webpack_require__(71418);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
|
|
var table = __webpack_require__(72315);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
var es_select = __webpack_require__(57809);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
|
|
var input_number = __webpack_require__(85731);
|
|
// 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/space/index.js + 3 modules
|
|
var space = __webpack_require__(81327);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/popconfirm/index.js + 2 modules
|
|
var popconfirm = __webpack_require__(14478);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/util.tsx
|
|
|
|
|
|
const { Option } = es_select["default"];
|
|
var Keys = /* @__PURE__ */ ((Keys2) => {
|
|
Keys2[Keys2["language"] = 0] = "language";
|
|
Keys2[Keys2["difficulty"] = 1] = "difficulty";
|
|
Keys2[Keys2["category"] = 2] = "category";
|
|
Keys2[Keys2["openOrNot"] = 3] = "openOrNot";
|
|
return Keys2;
|
|
})(Keys || {});
|
|
const Options = {
|
|
[0 /* language */]: [
|
|
{ title: "C", key: "C" },
|
|
{ title: "C++", key: "C++" },
|
|
{ title: "Python", key: "Python" },
|
|
{ title: "Java", key: "Java" },
|
|
{ title: "JavaScript", key: "JavaScript" },
|
|
{ title: "Ruby", key: "Ruby" }
|
|
],
|
|
[1 /* difficulty */]: [
|
|
{ title: "\u7B80\u5355", key: 1 },
|
|
{ title: "\u9002\u4E2D", key: 2 },
|
|
{ title: "\u56F0\u96BE", key: 3 }
|
|
],
|
|
[2 /* category */]: [
|
|
{ title: "\u7A0B\u5E8F\u8BBE\u8BA1", key: 1 },
|
|
{ title: "\u7B97\u6CD5", key: 2 }
|
|
],
|
|
[3 /* openOrNot */]: [
|
|
{ title: "\u516C\u5F00", key: 1 },
|
|
{ title: "\u79C1\u6709", key: 0 }
|
|
]
|
|
};
|
|
function getSelectOptions(name) {
|
|
return Options[name].map((item) => /* @__PURE__ */ _react_17_0_2_react.createElement(Option, { key: item.title, value: item.key }, " ", item.title, " "));
|
|
}
|
|
function getDisciplineOptions(data, result) {
|
|
data.map((value) => {
|
|
const { id, name, sub_disciplines } = value;
|
|
let item = {
|
|
value: id,
|
|
label: name
|
|
};
|
|
result.push(item);
|
|
if (sub_disciplines && sub_disciplines.length > 0) {
|
|
item.children = [];
|
|
getDisciplineOptions(sub_disciplines, item.children);
|
|
}
|
|
});
|
|
}
|
|
function getDisciplineIds(data, sub_disciplines_id) {
|
|
var _a;
|
|
let rs = [];
|
|
for (let index = 0; index < data.length; index++) {
|
|
const value = data[index];
|
|
if (((_a = value.sub_disciplines) == null ? void 0 : _a.length) > 0) {
|
|
rs[0] = value.id;
|
|
for (let j = 0; j < value.sub_disciplines.length; j++) {
|
|
const item = value.sub_disciplines[j];
|
|
if (item.id === sub_disciplines_id) {
|
|
rs[1] = item.id;
|
|
return [rs, item.tag_disciplines || item.sub_disciplines || []];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return [rs, []];
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
|
|
var _umi_production_exports = __webpack_require__(87210);
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
var base64 = __webpack_require__(24334);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
|
|
var PoweroffOutlined = __webpack_require__(22321);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/CloseCircleOutlined.js + 1 modules
|
|
var CloseCircleOutlined = __webpack_require__(47104);
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 14 modules
|
|
var markdown_editor = __webpack_require__(20103);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(87101);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/service.ts
|
|
|
|
function addProgrammingTopic(params) {
|
|
return (0,fetch/* post */.v_)(`practices.json`, params);
|
|
}
|
|
function getUser() {
|
|
return (0,fetch/* get */.U2)("problems/new.json");
|
|
}
|
|
function getProgrammingTopic(id) {
|
|
return (0,fetch/* get */.U2)(`practices/${id}/edit.json`);
|
|
}
|
|
function updateProgrammingTopic(id, params) {
|
|
return (0,fetch/* put */.gz)(`practices/${id}`, params);
|
|
}
|
|
function addExerciseQuestion(exerciseId, params) {
|
|
return post(`exercises/${exerciseId}/exercise_questions.json`, params);
|
|
}
|
|
function updateExerciseQuestion(id, params) {
|
|
return put(`exercise_questions/${id}.json`, params);
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./src/components/SplitContainer/index.tsx + 1 modules
|
|
var SplitContainer = __webpack_require__(26224);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
|
|
var drawer = __webpack_require__(43428);
|
|
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
|
|
var monaco_editor = __webpack_require__(1699);
|
|
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
|
|
var CodeSetting = __webpack_require__(38836);
|
|
// EXTERNAL MODULE: ./src/components/modal.tsx
|
|
var modal = __webpack_require__(69210);
|
|
// EXTERNAL MODULE: ./src/utils/urlTool.ts
|
|
var urlTool = __webpack_require__(65746);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/CodePanel/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var CodePanelmodules = ({"code-panel-container":"code-panel-container___BZjjl","action-oj-bar":"action-oj-bar___xbXpK","active":"active___EMVKI"});
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/CodePanel/index.tsx
|
|
var __defProp = Object.defineProperty;
|
|
var __defProps = Object.defineProperties;
|
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
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 __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const initialState = {
|
|
theme: (0,urlTool/* fromStore */.G)("cmCodeMode", "vs-dark"),
|
|
fontSize: (0,urlTool/* fromStore */.G)("cmFontSize", 14),
|
|
showEditorSetting: false,
|
|
tabToSpace: (0,urlTool/* fromStore */.G)("cmTabToSpace", true)
|
|
};
|
|
var Types = /* @__PURE__ */ ((Types2) => {
|
|
Types2[Types2["set_font_size"] = 0] = "set_font_size";
|
|
Types2[Types2["set_theme"] = 1] = "set_theme";
|
|
Types2[Types2["on_tab_to_space"] = 2] = "on_tab_to_space";
|
|
Types2[Types2["set_show_editor_setting"] = 3] = "set_show_editor_setting";
|
|
return Types2;
|
|
})(Types || {});
|
|
function reducer(state, action) {
|
|
switch (action.type) {
|
|
case 3 /* set_show_editor_setting */:
|
|
return __spreadProps(__spreadValues({}, state), { showEditorSetting: action.payload });
|
|
case 1 /* set_theme */:
|
|
return __spreadProps(__spreadValues({}, state), { theme: action.payload });
|
|
case 0 /* set_font_size */:
|
|
return __spreadProps(__spreadValues({}, state), { fontSize: action.payload });
|
|
case 2 /* on_tab_to_space */:
|
|
return __spreadProps(__spreadValues({}, state), { tabToSpace: action.payload });
|
|
default:
|
|
throw new Error();
|
|
}
|
|
}
|
|
/* harmony default export */ var CodePanel = (({ value, onChange, language, onLanguage, languageItems, ActionBarRender = (onShowCodeSetting) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(DefaultActionBar, { languageItems, onLanguage, language, onShowCodeSetting });
|
|
} }) => {
|
|
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState);
|
|
const { theme, fontSize, showEditorSetting, tabToSpace } = state;
|
|
console.log(value, language, "value");
|
|
const codeSettingOption = {
|
|
onFontSizeChange: (val) => {
|
|
dispatch({
|
|
type: 0 /* set_font_size */,
|
|
payload: val
|
|
});
|
|
(0,urlTool/* toStore */.t)("cmFontSize", val);
|
|
},
|
|
tabToSpace,
|
|
cmFontSize: fontSize,
|
|
className: "oj",
|
|
cmCodeMode: theme,
|
|
onTabToSpace: (checked) => {
|
|
dispatch({
|
|
type: 2 /* on_tab_to_space */,
|
|
payload: checked
|
|
});
|
|
(0,urlTool/* toStore */.t)("cmTabToSpace", checked);
|
|
},
|
|
onCodeModeChange: (val) => {
|
|
dispatch({
|
|
type: 1 /* set_theme */,
|
|
payload: val
|
|
});
|
|
(0,urlTool/* toStore */.t)("cmCodeMode", val);
|
|
}
|
|
};
|
|
function onHideCodeSetting() {
|
|
dispatch({
|
|
type: 3 /* set_show_editor_setting */,
|
|
payload: false
|
|
});
|
|
}
|
|
function onShowCodeSetting() {
|
|
dispatch({
|
|
type: 3 /* set_show_editor_setting */,
|
|
payload: true
|
|
});
|
|
}
|
|
const editorOption = {
|
|
value,
|
|
language,
|
|
onChange,
|
|
theme,
|
|
height: "calc(100% - 56px)",
|
|
options: {
|
|
fontSize,
|
|
insertSpaces: tabToSpace
|
|
}
|
|
};
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodePanelmodules["code-panel-container"] }, ActionBarRender(onShowCodeSetting), /* @__PURE__ */ _react_17_0_2_react.createElement(monaco_editor/* default */.ZP, __spreadValues({ key: language }, editorOption))), /* @__PURE__ */ _react_17_0_2_react.createElement(modal/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
drawer/* default */.Z,
|
|
{
|
|
rootClassName: "oj",
|
|
title: null,
|
|
placement: "right",
|
|
closable: false,
|
|
open: showEditorSetting,
|
|
onClose: onHideCodeSetting
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(CodeSetting/* default */.Z, __spreadValues({}, codeSettingOption))
|
|
)));
|
|
});
|
|
function DefaultActionBar({ languageItems, language, onShowCodeSetting, onLanguage }) {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: CodePanelmodules["action-oj-bar"] }, languageItems == null ? void 0 : languageItems.map((e) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: language === (e == null ? void 0 : e.language) ? CodePanelmodules.active : "", onClick: () => onLanguage(e == null ? void 0 : e.language), key: e == null ? void 0 : e.language }, e == null ? void 0 : e.language);
|
|
}), /* @__PURE__ */ _react_17_0_2_react.createElement("a", { onClick: onShowCodeSetting }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shezhi" })));
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tabs/index.js + 24 modules
|
|
var tabs = __webpack_require__(99313);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/ManageModal/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var ManageModalmodules = ({"flex_box_center":"flex_box_center___4yAaY","flex_space_between":"flex_space_between___YaUgM","flex_box_vertical_center":"flex_box_vertical_center___zR3dp","flex_box_center_end":"flex_box_center_end___rwgS5","flex_box_column":"flex_box_column___LhFeP","wrap":"wrap___xTL91","in":"in___eSY86","btns":"btns___UdEGI","customModal":"customModal___CL0OL"});
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/ManageModal/index.tsx
|
|
var __async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
const ManageModal = ({
|
|
visible,
|
|
onOK,
|
|
onCancel
|
|
}) => {
|
|
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(false);
|
|
const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false);
|
|
const [active, setActive] = (0,_react_17_0_2_react.useState)("1");
|
|
const [text, setText] = (0,_react_17_0_2_react.useState)("");
|
|
const [dataSource, setDataSource] = (0,_react_17_0_2_react.useState)([]);
|
|
const add = () => __async(void 0, null, function* () {
|
|
if (!text) {
|
|
message/* default */.ZP.warning(`\u9898\u76EE${title}\u4E0D\u80FD\u4E3A\u7A7A`);
|
|
return;
|
|
}
|
|
setBtnLoading(true);
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "post",
|
|
body: {
|
|
target: visible,
|
|
name: text
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
onOK();
|
|
return;
|
|
}
|
|
setBtnLoading(false);
|
|
});
|
|
const getPointData = (search = "") => __async(void 0, null, function* () {
|
|
setLoading(true);
|
|
let res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "get",
|
|
params: {
|
|
target: visible,
|
|
search
|
|
}
|
|
});
|
|
setDataSource(res.tag_disciplines || []);
|
|
setLoading(false);
|
|
});
|
|
const rename = (r) => {
|
|
let text2 = r.name;
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
className: "custom-modal-divider",
|
|
centered: true,
|
|
title: "\u91CD\u547D\u540D",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input["default"],
|
|
{
|
|
defaultValue: text2,
|
|
placeholder: `\u8BF7\u8F93\u5165${title}\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57`,
|
|
maxLength: 20,
|
|
onChange: (e) => {
|
|
text2 = e.target.value;
|
|
}
|
|
}
|
|
)),
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => __async(void 0, null, function* () {
|
|
if (!text2) {
|
|
message/* default */.ZP.warning(`\u9898\u76EE${title}\u4E0D\u80FD\u4E3A\u7A7A`);
|
|
return Promise.reject();
|
|
}
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines/${r.id}/rename.json`, {
|
|
method: "post",
|
|
body: {
|
|
id: r.id,
|
|
name: text2
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
getPointData();
|
|
}
|
|
})
|
|
});
|
|
};
|
|
const del = (r) => {
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
className: "custom-modal-divider",
|
|
centered: true,
|
|
width: 570,
|
|
title: "\u5220\u9664",
|
|
content: visible === "practice" ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u786E\u8BA4\u5C06\u9898\u76EE\u6765\u6E90\u201C", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-primary" }, r.name), "\u201D\u5220\u9664\u5417\uFF1F", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5220\u9664\u540E\uFF0C\u4F1A\u5C06\u76F8\u5173\u9898\u76EE\u4E2D\u7684\u6765\u6E90\u8FDB\u884C\u6E05\u9664\u3002") : /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u786E\u8BA4\u5C06\u9898\u76EE\u77E5\u8BC6\u70B9\u201C", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-primary" }, r.name), "\u201D\u5220\u9664\u5417\uFF1F", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5220\u9664\u540E\uFF0C\u4F1A\u5C06\u76F8\u5173\u9898\u76EE\u4E2D\u7684\u77E5\u8BC6\u70B9\u8FDB\u884C\u6E05\u9664\u3002"),
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => __async(void 0, null, function* () {
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines/${r.id}.json`, {
|
|
method: "delete",
|
|
body: {
|
|
id: r.id
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
getPointData();
|
|
}
|
|
})
|
|
});
|
|
};
|
|
const handleSearch = (e) => {
|
|
getPointData(e);
|
|
};
|
|
const title = visible === "practice" ? "\u77E5\u8BC6\u70B9" : "\u6765\u6E90";
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_modal["default"],
|
|
{
|
|
afterClose: () => {
|
|
setBtnLoading(false);
|
|
setLoading(false);
|
|
setText("");
|
|
setActive("1");
|
|
setDataSource([]);
|
|
},
|
|
centered: true,
|
|
keyboard: false,
|
|
width: 600,
|
|
title: `${title}\u7BA1\u7406`,
|
|
open: !!visible,
|
|
className: ManageModalmodules.customModal,
|
|
footer: null,
|
|
onCancel
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: ManageModalmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
tabs["default"],
|
|
{
|
|
activeKey: active,
|
|
onChange: (key) => {
|
|
setText("");
|
|
setActive(key);
|
|
getPointData();
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(tabs["default"].TabPane, { tab: `\u65B0\u589E${title}`, key: "1" }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"], { value: text, onChange: (e) => setText(e.target.value), className: ManageModalmodules.in, placeholder: `\u8F93\u5165${title}\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57`, maxLength: 20 }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: ManageModalmodules.btns }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { onClick: onCancel, className: "mr20" }, "\u53D6\u6D88 "), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { loading: btnLoading, onClick: add, type: "primary" }, "\u786E\u8BA4\u65B0\u5EFA"))),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(tabs["default"].TabPane, { tab: `\u5DF2\u6709${title}`, key: "2" }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"].Search, { allowClear: true, onSearch: handleSearch, value: text, onChange: (e) => setText(e.target.value), className: ManageModalmodules.in, placeholder: `\u8F93\u5165${title}\u540D\u79F0\u8FDB\u884C\u67E5\u8BE2` }), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
table["default"],
|
|
{
|
|
dataSource,
|
|
bordered: false,
|
|
loading,
|
|
scroll: dataSource.length > 7 ? { y: 300 } : {},
|
|
style: { padding: "0 0px 20px 0px" },
|
|
columns: [
|
|
{
|
|
title: `${title}\u540D\u79F0`,
|
|
dataIndex: "name",
|
|
ellipsis: true
|
|
},
|
|
{
|
|
title: "\u64CD\u4F5C",
|
|
dataIndex: "action",
|
|
width: 120,
|
|
render: (v, r) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => rename(r), className: "current mr10 c-light-primary" }, "\u91CD\u547D\u540D"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => del(r), className: "current c-grey-666" }, "\u5220\u9664"))
|
|
}
|
|
],
|
|
pagination: false
|
|
}
|
|
))
|
|
))
|
|
);
|
|
};
|
|
/* harmony default export */ var AddOrEdit_ManageModal = (ManageModal);
|
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(64741);
|
|
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx + 2 modules
|
|
var UploadFile = __webpack_require__(14021);
|
|
// 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/utils/util.tsx
|
|
var util = __webpack_require__(3163);
|
|
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
|
|
var RenderHtml = __webpack_require__(12586);
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
var authority = __webpack_require__(55830);
|
|
;// CONCATENATED MODULE: ./src/pages/Question/AddOrEdit/index.tsx
|
|
var AddOrEdit_defProp = Object.defineProperty;
|
|
var AddOrEdit_defProps = Object.defineProperties;
|
|
var AddOrEdit_getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
var AddOrEdit_getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var AddOrEdit_hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var AddOrEdit_propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var AddOrEdit_defNormalProp = (obj, key, value) => key in obj ? AddOrEdit_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var AddOrEdit_spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (AddOrEdit_hasOwnProp.call(b, prop))
|
|
AddOrEdit_defNormalProp(a, prop, b[prop]);
|
|
if (AddOrEdit_getOwnPropSymbols)
|
|
for (var prop of AddOrEdit_getOwnPropSymbols(b)) {
|
|
if (AddOrEdit_propIsEnum.call(b, prop))
|
|
AddOrEdit_defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var AddOrEdit_spreadProps = (a, b) => AddOrEdit_defProps(a, AddOrEdit_getOwnPropDescs(b));
|
|
var AddOrEdit_async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const { TextArea } = input["default"];
|
|
const { confirm: AddOrEdit_confirm } = es_modal["default"];
|
|
const { Panel } = collapse["default"];
|
|
const AddOrEdit_initialState = {
|
|
loading: true,
|
|
user: null,
|
|
status: 0,
|
|
data: void 0,
|
|
lastedUpdateTime: 0
|
|
};
|
|
var AddOrEdit_Types = /* @__PURE__ */ ((Types2) => {
|
|
Types2[Types2["SET_INITAL_DATA"] = 0] = "SET_INITAL_DATA";
|
|
Types2[Types2["SET_LOADING"] = 1] = "SET_LOADING";
|
|
Types2[Types2["SET_STATUS"] = 2] = "SET_STATUS";
|
|
return Types2;
|
|
})(AddOrEdit_Types || {});
|
|
const initText = "#### \u9898\u76EE\u63CF\u8FF0\n\u73B0\u6709\u4E00\u4E2A\u6574\u578B\u6570\u7EC4 `nums`\uFF0C\u8BF7\u7F16\u5199\u7A0B\u5E8F\u5C06\u6570\u7EC4 `nums` \u4E2D\u7684\u6240\u6709 `$$0$$` \u79FB\u52A8\u5230\u6570\u7EC4\u7684\u672B\u5C3E\uFF0C\u4F46\u4E0D\u6539\u53D8\u975E\u96F6\u5143\u7D20\u5728\u6570\u7EC4\u4E2D\u7684\u76F8\u5BF9\u4F4D\u7F6E\u3002\u8BF7\u5728\u539F\u6570\u7EC4 `nums` \u4E0A\u8FDB\u884C\u64CD\u4F5C\u3002\n#### \u8F93\u5165\u8F93\u51FA\u683C\u5F0F\n**\u8F93\u5165\u683C\u5F0F**\n\u7B2C\u4E00\u884C\u6709\u4E00\u4E2A\u6574\u6570 `numsSize`\uFF0C\u8868\u793A\u6570\u7EC4 `nums` \u7684\u5927\u5C0F\uFF1B\n\u7B2C\u4E8C\u884C\u6709 `numsSize` \u4E2A\u6574\u6570\uFF0C\u8868\u793A\u6570\u7EC4 `nums` \u7684\u6240\u6709\u5143\u7D20\uFF0C\u6BCF\u4E2A\u6574\u6570\u7528\u4E00\u4E2A\u7A7A\u683C\u9694\u5F00\u3002\n**\u8F93\u51FA\u683C\u5F0F**\n\u4E00\u884C\u8F93\u51FA\u6570\u7EC4 `nums` \u7684\u6240\u6709\u5143\u7D20\uFF0C\u6709 `numsSize` \u4E2A\u6574\u6570\uFF0C\u6BCF\u4E2A\u6574\u6570\u7528\u4E00\u4E2A\u7A7A\u683C\u9694\u5F00\u3002\n#### \u8F93\u5165\u8F93\u51FA\u6837\u4F8B1\n**\u8F93\u5165**\n`4`\n`0 1 2 3`\n**\u8F93\u51FA**\n`1 2 3 0`\n**\u89E3\u91CA\uFF08\u53EF\u9009\uFF09**\nXXXXX\n#### \u8F93\u5165\u8F93\u51FA\u6837\u4F8B2\n**\u8F93\u5165**\n`5`\n`1 1 0 1 0`\n**\u8F93\u51FA**\n`1 1 1 0 0`\n**\u89E3\u91CA\uFF08\u53EF\u9009\uFF09**\nXXXXX\n#### \u8BF4\u660E\u63D0\u793A\n-`1\u2264n\u2264100`";
|
|
function AddOrEdit_reducer(state, action) {
|
|
switch (action.type) {
|
|
case 0 /* SET_INITAL_DATA */:
|
|
return AddOrEdit_spreadValues(AddOrEdit_spreadValues({}, state), action.payload);
|
|
case 1 /* SET_LOADING */:
|
|
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, state), { loading: action.payload });
|
|
case 2 /* SET_STATUS */:
|
|
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, state), { status: action.payload });
|
|
default:
|
|
throw new Error();
|
|
}
|
|
}
|
|
/* harmony default export */ var AddOrEdit = (() => {
|
|
var _a, _b, _c;
|
|
const location = (0,_umi_production_exports.useLocation)();
|
|
const { id } = (0,_umi_production_exports.useParams)();
|
|
const [form] = es_form["default"].useForm();
|
|
const [formValue, setFormValue] = (0,_react_17_0_2_react.useState)();
|
|
const [visible, setVisible] = (0,_react_17_0_2_react.useState)(false);
|
|
const [uploadData, setUploadData] = (0,_react_17_0_2_react.useState)([]);
|
|
const [pointData, setPointData] = (0,_react_17_0_2_react.useState)([]);
|
|
const [sourceData, setSourceData] = (0,_react_17_0_2_react.useState)([]);
|
|
const [dataSource, setDataSource] = (0,_react_17_0_2_react.useState)([]);
|
|
const [languageItems, setLanguageItems] = (0,_react_17_0_2_react.useState)([]);
|
|
const [language, setLanguage] = (0,_react_17_0_2_react.useState)("C");
|
|
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(AddOrEdit_reducer, AddOrEdit_initialState);
|
|
const { loading, data, user, status } = state;
|
|
const hack_sets = data == null ? void 0 : data.hack_sets;
|
|
const test_set_average = (_a = data == null ? void 0 : data.hack) == null ? void 0 : _a.test_set_average;
|
|
const [ischecked, setischecked] = (0,_react_17_0_2_react.useState)(false);
|
|
const saveLanguageItems = (0,_react_17_0_2_react.useRef)([]);
|
|
const [btnOneLoading, setBtnOneLoading] = (0,_react_17_0_2_react.useState)(false);
|
|
const [btnTwoLoading, setBtnTwoLoading] = (0,_react_17_0_2_react.useState)(false);
|
|
const btnClickStatus = (0,_react_17_0_2_react.useRef)(true);
|
|
const [reviewData, setReviewData] = (0,_react_17_0_2_react.useState)({});
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
type: "globalSetting/headerFooterToggle",
|
|
payload: false
|
|
});
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
type: "globalSetting/onlyShowBackTopToggle",
|
|
payload: true
|
|
});
|
|
return () => {
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
type: "globalSetting/headerFooterToggle",
|
|
payload: true
|
|
});
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
type: "globalSetting/onlyShowBackTopToggle",
|
|
payload: false
|
|
});
|
|
};
|
|
}, []);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
setTimeout(() => {
|
|
document.title = "\u5728\u7EBF\u5237\u9898";
|
|
}, 400);
|
|
});
|
|
const getPointData = () => AddOrEdit_async(void 0, null, function* () {
|
|
const res1 = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "get",
|
|
params: {
|
|
target: "practice"
|
|
// position: 'index'
|
|
}
|
|
});
|
|
const res2 = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "get",
|
|
params: {
|
|
target: "practice_source"
|
|
// position: 'index'
|
|
}
|
|
});
|
|
setPointData(res1.tag_disciplines || []);
|
|
setSourceData(res2.tag_disciplines || []);
|
|
});
|
|
var initLanguage = [
|
|
{
|
|
language: "C",
|
|
code: ""
|
|
},
|
|
{
|
|
language: "C++",
|
|
code: ""
|
|
},
|
|
{
|
|
language: "Java",
|
|
code: ""
|
|
},
|
|
{
|
|
language: "Python",
|
|
code: ""
|
|
}
|
|
];
|
|
const initData = (0,_react_17_0_2_react.useCallback)(() => AddOrEdit_async(void 0, null, function* () {
|
|
dispatch({
|
|
type: 1 /* SET_LOADING */,
|
|
payload: true
|
|
});
|
|
if (id) {
|
|
const response = yield getProgrammingTopic(id);
|
|
const {
|
|
user: user2,
|
|
language: language2,
|
|
practice_sets: hack_sets2,
|
|
practice_codes,
|
|
description,
|
|
difficulty,
|
|
name,
|
|
open_or_not,
|
|
time_limit,
|
|
test_set_average: test_set_average2,
|
|
test_set_score,
|
|
status: status2,
|
|
tag_discipline_ids,
|
|
source_discipline_ids,
|
|
item_banks_group_id,
|
|
is_file = false,
|
|
hide_actual_output,
|
|
review_privilege,
|
|
review_description,
|
|
submit_rule
|
|
} = response;
|
|
const review = { review_privilege, status: status2, review_description, name };
|
|
setReviewData(review);
|
|
setischecked(hide_actual_output);
|
|
const new_hack_sets = is_file ? [
|
|
{
|
|
input: "",
|
|
output: "",
|
|
score: 100,
|
|
position: 1
|
|
}
|
|
] : hack_sets2;
|
|
if (is_file) {
|
|
setUploadData(hack_sets2);
|
|
form.setFieldsValue({
|
|
hack_sets: new_hack_sets
|
|
});
|
|
} else {
|
|
setUploadData([]);
|
|
}
|
|
const rs = {
|
|
loading: true,
|
|
user: user2,
|
|
status: status2,
|
|
data: {
|
|
hack: {
|
|
difficulty,
|
|
name,
|
|
description,
|
|
open_or_not,
|
|
time_limit,
|
|
test_set_average: test_set_average2,
|
|
test_set_score,
|
|
tag_discipline_ids,
|
|
source_discipline_ids,
|
|
is_file,
|
|
submit_rule
|
|
},
|
|
hack_sets: new_hack_sets
|
|
}
|
|
};
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: rs
|
|
});
|
|
setFormValue({
|
|
hack: {
|
|
difficulty,
|
|
name,
|
|
description,
|
|
open_or_not,
|
|
time_limit,
|
|
test_set_average: test_set_average2,
|
|
test_set_score,
|
|
tag_discipline_ids,
|
|
source_discipline_ids,
|
|
is_file
|
|
}
|
|
});
|
|
const newCodes = practice_codes == null ? void 0 : practice_codes.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), {
|
|
code: base64.Base64.decode(e == null ? void 0 : e.code)
|
|
}));
|
|
setLanguageItems(newCodes);
|
|
saveLanguageItems.current = newCodes;
|
|
} else {
|
|
const { user: user2 } = yield getUser();
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
loading: true,
|
|
status: 0,
|
|
user: user2,
|
|
data: {
|
|
hack: {
|
|
difficulty: "",
|
|
time_limit: 3,
|
|
description: initText,
|
|
test_set_score: true,
|
|
test_set_average: true,
|
|
open_or_not: true,
|
|
name: "",
|
|
is_file: false,
|
|
submit_rule: 1
|
|
},
|
|
hack_sets: [
|
|
{
|
|
input: "",
|
|
output: "",
|
|
score: 100,
|
|
position: 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
});
|
|
setFormValue({
|
|
hack: {
|
|
difficulty: "",
|
|
time_limit: 3,
|
|
description: "",
|
|
test_set_average: true,
|
|
open_or_not: true,
|
|
name: "",
|
|
is_file: false
|
|
}
|
|
});
|
|
setLanguageItems(initLanguage);
|
|
saveLanguageItems.current = initLanguage;
|
|
}
|
|
dispatch({
|
|
type: 1 /* SET_LOADING */,
|
|
payload: false
|
|
});
|
|
}), [id]);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
try {
|
|
initData();
|
|
getPointData();
|
|
} catch (error) {
|
|
console.log(error, "----");
|
|
}
|
|
}, []);
|
|
function onSubmit(values, type) {
|
|
return AddOrEdit_async(this, null, function* () {
|
|
var _a2;
|
|
const { hack_sets: hack_sets2, hack } = AddOrEdit_spreadValues({}, values);
|
|
hack.hide_actual_output = ischecked;
|
|
let update_hack_sets = [];
|
|
let new_hack_sets = [];
|
|
let sumScore = 0;
|
|
const new_list = (hack == null ? void 0 : hack.is_file) ? uploadData.map((e, i) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), { position: i + 1 })) : hack_sets2.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), { is_file: false }));
|
|
for (let item of new_list) {
|
|
sumScore += item.score;
|
|
if (item.id && item.id >= 0) {
|
|
update_hack_sets.push(item);
|
|
} else {
|
|
new_hack_sets.push(item);
|
|
}
|
|
}
|
|
if (!(new_list == null ? void 0 : new_list.length)) {
|
|
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u4E0D\u80FD\u4E3A\u7A7A");
|
|
return;
|
|
}
|
|
if (sumScore !== 100 && !hack.test_set_score) {
|
|
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");
|
|
return;
|
|
}
|
|
if (new_list == null ? void 0 : new_list.some((e) => !e.output)) {
|
|
message/* default */.ZP.error("\u6D4B\u8BD5\u96C6\u8F93\u51FA\u4E0D\u80FD\u4E3A\u7A7A");
|
|
return;
|
|
}
|
|
if (btnClickStatus.current) {
|
|
setBtnOneLoading(true);
|
|
} else {
|
|
setBtnTwoLoading(true);
|
|
}
|
|
let res;
|
|
const newLanguageItems = languageItems == null ? void 0 : languageItems.map((e) => AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, e), {
|
|
code: base64.Base64.encode(e == null ? void 0 : e.code)
|
|
}));
|
|
if (id) {
|
|
res = yield updateProgrammingTopic(id, {
|
|
practice: hack,
|
|
practice_codes: newLanguageItems,
|
|
practice_sets: new_hack_sets,
|
|
update_practice_sets: update_hack_sets
|
|
});
|
|
} else {
|
|
res = yield addProgrammingTopic({
|
|
practice: hack,
|
|
practice_codes: newLanguageItems,
|
|
practice_sets: new_list,
|
|
publish: !btnClickStatus.current
|
|
});
|
|
}
|
|
setBtnOneLoading(false);
|
|
setBtnTwoLoading(false);
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
if ((_a2 = res == null ? void 0 : res.similar_practice) == null ? void 0 : _a2.length) {
|
|
setVisible(true);
|
|
setDataSource(res == null ? void 0 : res.similar_practice);
|
|
return;
|
|
}
|
|
if (id) {
|
|
message/* default */.ZP.success("\u4FDD\u5B58\u6210\u529F");
|
|
if (!btnClickStatus.current) {
|
|
const res2 = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/start`, {
|
|
method: "get"
|
|
});
|
|
if ((res2 == null ? void 0 : res2.status) === 0) {
|
|
_umi_production_exports.history.push(`/problems/${res2 == null ? void 0 : res2.identifier}/oj/${id}`);
|
|
}
|
|
}
|
|
} else {
|
|
message/* default */.ZP.success("\u65B0\u5EFA\u6210\u529F");
|
|
_umi_production_exports.history.replace(`/problems/${res == null ? void 0 : res.identifier}/ojedit`);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function onBack() {
|
|
_umi_production_exports.history.replace("/problems");
|
|
}
|
|
const handleUploadRatio = (testSetData) => {
|
|
const score = Math.floor(100 / testSetData.length);
|
|
const lastScore = score + 100 % testSetData.length;
|
|
testSetData = testSetData.map((item, index) => {
|
|
if (index === testSetData.length - 1) {
|
|
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, item), { score: lastScore });
|
|
}
|
|
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, item), { score });
|
|
});
|
|
setUploadData(testSetData);
|
|
};
|
|
function onChangeScore(e) {
|
|
if (!e.target.value) {
|
|
handleUploadRatio(uploadData);
|
|
}
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
|
|
test_set_score: e.target.value
|
|
})
|
|
})
|
|
}
|
|
});
|
|
}
|
|
function onChangeFile(e) {
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
|
|
is_file: e.target.value
|
|
})
|
|
})
|
|
}
|
|
});
|
|
}
|
|
function onChangehide(e) {
|
|
setischecked(e.target.checked);
|
|
}
|
|
function onChangeAverage(e) {
|
|
const value = e.target.value;
|
|
if (value) {
|
|
handleUploadRatio(uploadData);
|
|
}
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data.hack), {
|
|
test_set_average: value
|
|
})
|
|
})
|
|
}
|
|
});
|
|
}
|
|
function onAddTestCase() {
|
|
let rs = form.getFieldValue("hack_sets");
|
|
const len = rs.length + 1;
|
|
const averageMark = Math.floor(100 / len);
|
|
const remainder = 100 % len;
|
|
rs.map((item, index) => {
|
|
if (test_set_average) {
|
|
item.score = averageMark;
|
|
}
|
|
item.position = index + 1;
|
|
return item;
|
|
});
|
|
rs.push({
|
|
input: "",
|
|
output: "",
|
|
position: len,
|
|
score: test_set_average ? averageMark + remainder : 0
|
|
});
|
|
form.setFieldsValue({
|
|
hack_sets: rs
|
|
});
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack_sets: rs
|
|
})
|
|
}
|
|
});
|
|
}
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if (test_set_average) {
|
|
const len = hack_sets == null ? void 0 : hack_sets.length;
|
|
const averageMark = Math.floor(100 / len);
|
|
const remainder = 100 % len;
|
|
hack_sets == null ? void 0 : hack_sets.map((item, index) => {
|
|
item.score = averageMark;
|
|
item.position = index + 1;
|
|
if (index === len - 1) {
|
|
item.score = averageMark + remainder;
|
|
}
|
|
return item;
|
|
});
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack_sets
|
|
})
|
|
}
|
|
});
|
|
form.setFieldsValue({ hack_sets });
|
|
}
|
|
}, [test_set_average]);
|
|
function onRemoveTestCase(index) {
|
|
let sets = form.getFieldValue("hack_sets");
|
|
const len = (sets == null ? void 0 : sets.length) - 1;
|
|
const averageMark = Math.ceil(100 / len);
|
|
const remainder = 100 % len;
|
|
sets.splice(index, 1);
|
|
sets == null ? void 0 : sets.map((item, index2) => {
|
|
if (test_set_average) {
|
|
item.score = averageMark;
|
|
if (index2 === len - 1) {
|
|
item.score = averageMark + remainder;
|
|
}
|
|
}
|
|
item.position = index2 + 1;
|
|
return item;
|
|
});
|
|
dispatch({
|
|
type: 0 /* SET_INITAL_DATA */,
|
|
payload: {
|
|
data: AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, data), {
|
|
hack_sets: sets
|
|
})
|
|
}
|
|
});
|
|
form.setFieldsValue({ hack_sets: sets });
|
|
}
|
|
function onChangeLanguage(language2) {
|
|
setLanguage(language2);
|
|
}
|
|
const onChangeLanguageValue = (e) => {
|
|
var _a2;
|
|
const index = (_a2 = saveLanguageItems.current) == null ? void 0 : _a2.findIndex(
|
|
(e2) => e2.language === language
|
|
);
|
|
saveLanguageItems.current[index].code = e;
|
|
setLanguageItems(saveLanguageItems.current);
|
|
};
|
|
const handleValuesChange = (changedValues) => {
|
|
setFormValue(AddOrEdit_spreadValues({}, form.getFieldsValue()));
|
|
};
|
|
const skip = (v) => AddOrEdit_async(void 0, null, function* () {
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${v}/start`, {
|
|
method: "get"
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
(0,util/* openNewWindow */.xg)(`/problems/${res == null ? void 0 : res.identifier}/oj/${v}`);
|
|
}
|
|
});
|
|
const getPassResult = () => AddOrEdit_async(void 0, null, function* () {
|
|
const response = yield getProgrammingTopic(id);
|
|
const {
|
|
name,
|
|
status: status2,
|
|
review_privilege,
|
|
review_description
|
|
} = response;
|
|
const review = { review_privilege, status: status2, review_description, name };
|
|
setReviewData(review);
|
|
});
|
|
const handleNoPass = () => {
|
|
let text = "";
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
width: 700,
|
|
className: "custom-modal-divider",
|
|
centered: true,
|
|
title: "\u4E0D\u901A\u8FC7\u539F\u56E0",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt20" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
markdown_editor/* default */.Z,
|
|
{
|
|
className: AddOrEditmodules.MdEditor,
|
|
defaultValue: text,
|
|
onChange: (e) => {
|
|
text = e;
|
|
}
|
|
}
|
|
)),
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => AddOrEdit_async(void 0, null, function* () {
|
|
if (!text) {
|
|
message/* default */.ZP.warning(`\u4E0D\u901A\u8FC7\u539F\u56E0\u4E0D\u80FD\u4E3A\u7A7A`);
|
|
return Promise.reject();
|
|
}
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/review.json`, {
|
|
method: "post",
|
|
body: {
|
|
op: "fail",
|
|
description: text
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
message/* default */.ZP.success("\u63D0\u4EA4\u6210\u529F");
|
|
getPassResult();
|
|
}
|
|
})
|
|
});
|
|
};
|
|
const handlePass = () => AddOrEdit_async(void 0, null, function* () {
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
// width: 700,
|
|
className: `custom-modal-divider`,
|
|
centered: true,
|
|
title: "\u63D0\u793A",
|
|
content: `\u786E\u8BA4\u5C06\u9898\u76EE\u300A${reviewData == null ? void 0 : reviewData.name}\u300B\u7684\u5BA1\u6838\u901A\u8FC7\u5417\uFF1F`,
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => AddOrEdit_async(void 0, null, function* () {
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/practices/${id}/review.json`, {
|
|
method: "post",
|
|
body: {
|
|
op: "pass"
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
message/* default */.ZP.success("\u63D0\u4EA4\u6210\u529F");
|
|
getPassResult();
|
|
}
|
|
})
|
|
});
|
|
});
|
|
const handleNoPassReason = () => {
|
|
const modal = es_modal["default"].confirm({
|
|
icon: null,
|
|
width: 700,
|
|
className: `${AddOrEditmodules.cusModal} custom-modal-divider`,
|
|
centered: true,
|
|
title: /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "1" }, "\u4E0D\u901A\u8FC7\u539F\u56E0"), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "iconfont icon-guanbi7 font12 current c-grey-c", onClick: () => modal.destroy() }))),
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
RenderHtml/* default */.Z,
|
|
{
|
|
className: "mt20",
|
|
value: (reviewData == null ? void 0 : reviewData.review_description) || ""
|
|
}
|
|
))
|
|
});
|
|
};
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading, size: "large", className: AddOrEditmodules["oj-custom-large-spin"] }, !data ? null : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("header", { className: AddOrEditmodules.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 == null ? void 0 : user.image_url}`,
|
|
alt: "user",
|
|
width: 30
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, user == null ? void 0 : user.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("h2", null, " ", (_b = data == null ? void 0 : data.hack) == null ? void 0 : _b.name, " "), id ? /* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: AddOrEditmodules.btn_back, onClick: onBack }, " ", /* @__PURE__ */ _react_17_0_2_react.createElement(PoweroffOutlined/* default */.Z, null), "\u9000\u51FA") : null), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"],
|
|
{
|
|
form,
|
|
initialValues: data,
|
|
layout: "vertical",
|
|
className: AddOrEditmodules["oj-form-container"],
|
|
onValuesChange: handleValuesChange,
|
|
onFinish: onSubmit
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
SplitContainer/* default */.Z,
|
|
{
|
|
hideResize: true,
|
|
className: AddOrEditmodules["oj-problems"],
|
|
leftChild: /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
LeftPanel,
|
|
{
|
|
formValue,
|
|
onRemoveTestCase,
|
|
onAddTestCase,
|
|
hack: data.hack,
|
|
onChangeScore,
|
|
onChangehide,
|
|
onChangeAverage,
|
|
onChangeFile,
|
|
uploadData,
|
|
setUploadData,
|
|
handleUploadRatio,
|
|
ischecked,
|
|
pointData,
|
|
sourceData,
|
|
getPointData
|
|
}
|
|
),
|
|
rightChild: /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
CodePanel,
|
|
{
|
|
value: (_c = languageItems == null ? void 0 : languageItems.find((e) => e.language === language)) == null ? void 0 : _c.code,
|
|
onChange: onChangeLanguageValue,
|
|
onLanguage: onChangeLanguage,
|
|
languageItems,
|
|
language
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["footer"] }, !!id && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.result }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5BA1\u6838\u7ED3\u679C:"), (reviewData == null ? void 0 : reviewData.review_privilege) ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: handlePass, className: AddOrEditmodules.pass }, "\u901A\u8FC7"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: handleNoPass, className: AddOrEditmodules.noPass }, "\u4E0D\u901A\u8FC7")) : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, (reviewData == null ? void 0 : reviewData.status) === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u672A\u53D1\u5E03"), (reviewData == null ? void 0 : reviewData.status) === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5DF2\u516C\u5F00"), (reviewData == null ? void 0 : reviewData.status) === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u672A\u5BA1\u6279"), (reviewData == null ? void 0 : reviewData.status) === 3 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5BA1\u6838\u4E2D"), (reviewData == null ? void 0 : reviewData.status) === 4 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.passText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tongguo" }), "\u5BA1\u6838\u5B8C\u6210\u5F85\u516C\u5F00"), (reviewData == null ? void 0 : reviewData.status) === 5 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.noPassText }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-weitongguo1" }), "\u5BA1\u6838\u4E0D\u901A\u8FC7", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: handleNoPassReason }, "\u67E5\u770B\u539F\u56E0")))), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", ghost: true, onClick: onBack }, "\u9000\u51FA\u7F16\u8F91"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnTwoLoading, loading: btnOneLoading, type: "primary", onClick: () => {
|
|
btnClickStatus.current = true;
|
|
form.submit();
|
|
} }, "\u4FDD\u5B58 "), id ? /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnOneLoading, loading: btnTwoLoading, style: { background: "#2FC25B", border: 0 }, type: "primary", onClick: () => {
|
|
btnClickStatus.current = false;
|
|
form.submit();
|
|
} }, "\u7ACB\u5373\u4F53\u9A8C") : /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled: btnOneLoading, loading: btnTwoLoading, type: "primary", onClick: () => {
|
|
btnClickStatus.current = false;
|
|
form.submit();
|
|
} }, "\u4FDD\u5B58\u5E76\u53D1\u5E03\u5BA1\u6838"))
|
|
)), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_modal["default"],
|
|
{
|
|
centered: true,
|
|
destroyOnClose: true,
|
|
footer: null,
|
|
open: visible,
|
|
onCancel: () => setVisible(false),
|
|
title: "\u76F8\u4F3C\u6027\u68C0\u6D4B",
|
|
width: "600px"
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "font14" }, "\u7ECF\u7CFB\u7EDF\u68C0\u6D4B\u53D1\u73B0\uFF0C\u672C\u9898\u76EE\u4E0E\u7CFB\u7EDF\u4E2D\u5DF2\u521B\u5EFA\u7684\u9898\u76EE\u9AD8\u5EA6\u96F7\u540C\uFF0C\u8BF7\u8C03\u6574\u9898\u76EE\u540E\u518D\u8FDB\u884C\u4FDD\u5B58"), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
table["default"],
|
|
{
|
|
dataSource,
|
|
bordered: false,
|
|
scroll: dataSource.length > 7 ? { y: 300 } : {},
|
|
columns: [
|
|
{
|
|
title: "\u76F8\u4F3C\u9898\u9898\u76EE",
|
|
dataIndex: "name",
|
|
ellipsis: true,
|
|
render: (v, r) => /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"span",
|
|
{
|
|
onClick: () => skip(r == null ? void 0 : r.identifier),
|
|
style: { textDecorationLine: "underline" },
|
|
className: "current c-light-primary"
|
|
},
|
|
v
|
|
)
|
|
},
|
|
{
|
|
title: "\u521B\u5EFA\u65F6\u95F4",
|
|
dataIndex: "create_time",
|
|
width: 170,
|
|
render: (v) => {
|
|
var _a2;
|
|
return (_a2 = dayjs_min_default()(v)) == null ? void 0 : _a2.format("YYYY-MM-DD HH:mm");
|
|
}
|
|
}
|
|
],
|
|
pagination: false
|
|
}
|
|
))
|
|
));
|
|
});
|
|
function LeftPanel({
|
|
ischecked,
|
|
formValue,
|
|
hack,
|
|
onChangeAverage,
|
|
onChangeScore,
|
|
onChangehide,
|
|
onChangeFile,
|
|
onAddTestCase,
|
|
onRemoveTestCase,
|
|
uploadData,
|
|
setUploadData,
|
|
handleUploadRatio,
|
|
pointData,
|
|
sourceData,
|
|
getPointData
|
|
}) {
|
|
var _a, _b;
|
|
const { test_set_average, test_set_score } = hack;
|
|
const [showUploadFile, setShowUploadFile] = (0,_react_17_0_2_react.useState)(false);
|
|
const [manageVisible, setManageVisible] = (0,_react_17_0_2_react.useState)(false);
|
|
const handleRemove = (item, key) => {
|
|
const newList = [...uploadData];
|
|
newList.splice(key, 1);
|
|
if (test_set_average) {
|
|
handleUploadRatio(newList);
|
|
} else {
|
|
setUploadData(newList);
|
|
}
|
|
};
|
|
const handleInputChange = (e, key) => {
|
|
console.log(e, key);
|
|
const testData = uploadData.map((test, testIndex) => {
|
|
if (testIndex === key) {
|
|
return AddOrEdit_spreadProps(AddOrEdit_spreadValues({}, test), { score: e.target.value ? Number(e.target.value) : 0 });
|
|
}
|
|
return test;
|
|
});
|
|
setUploadData(testData);
|
|
};
|
|
const addUploadData = (files) => {
|
|
const newList = uploadData.concat(files);
|
|
if (hack.test_set_average) {
|
|
handleUploadRatio(newList);
|
|
} else {
|
|
setUploadData(newList);
|
|
}
|
|
};
|
|
function onStopPropagation(e) {
|
|
e.stopPropagation();
|
|
}
|
|
function addPoint() {
|
|
if ((0,authority/* isSuperAdmins */.Ny)()) {
|
|
setManageVisible("practice");
|
|
return;
|
|
}
|
|
let text = "";
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
className: "custom-modal-divider",
|
|
centered: true,
|
|
title: "\u65B0\u5EFA\u77E5\u8BC6\u70B9",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input["default"],
|
|
{
|
|
placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57",
|
|
maxLength: 20,
|
|
onChange: (e) => {
|
|
text = e.target.value;
|
|
}
|
|
}
|
|
)),
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => AddOrEdit_async(this, null, function* () {
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "post",
|
|
body: {
|
|
target: "practice",
|
|
name: text
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
getPointData();
|
|
}
|
|
})
|
|
});
|
|
}
|
|
function addOrigin() {
|
|
if ((0,authority/* isSuperAdmins */.Ny)()) {
|
|
setManageVisible("practice_source");
|
|
return;
|
|
}
|
|
let text = "";
|
|
es_modal["default"].confirm({
|
|
icon: null,
|
|
className: "custom-modal-divider",
|
|
centered: true,
|
|
title: "\u65B0\u5EFA\u6765\u6E90",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input["default"],
|
|
{
|
|
placeholder: "\u8BF7\u8F93\u5165\u6765\u6E90\u540D\u79F0\uFF0C\u4E0D\u8D85\u8FC720\u4E2A\u5B57",
|
|
maxLength: 20,
|
|
onChange: (e) => {
|
|
text = e.target.value;
|
|
}
|
|
}
|
|
)),
|
|
okText: "\u786E\u8BA4",
|
|
cancelText: "\u53D6\u6D88",
|
|
onOk: () => AddOrEdit_async(this, null, function* () {
|
|
const res = yield (0,fetch/* default */.ZP)(`/api/tag_disciplines.json`, {
|
|
method: "post",
|
|
body: {
|
|
target: "practice_source",
|
|
name: text
|
|
}
|
|
});
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
getPointData();
|
|
}
|
|
})
|
|
});
|
|
}
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["oj-left-panel"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules["oj-form-info"] }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u9898\u76EE\u540D\u79F0",
|
|
name: ["hack", "name"],
|
|
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0" }],
|
|
className: AddOrEditmodules.inputOne
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input["default"],
|
|
{
|
|
bordered: false,
|
|
maxLength: 60,
|
|
placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0",
|
|
suffix: /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, ((_b = (_a = formValue == null ? void 0 : formValue.hack) == null ? void 0 : _a.name) == null ? void 0 : _b.length) || 0, "/", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-999" }, "60"))
|
|
}
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: ["hack", "description"],
|
|
valuePropName: "defaultValue",
|
|
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u63CF\u8FF0\u5185\u5BB9" }]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
markdown_editor/* default */.Z,
|
|
{
|
|
placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u63CF\u8FF0\u2026",
|
|
miniToolbar: true,
|
|
id: "moop_cases_content",
|
|
noStorage: true,
|
|
height: 200
|
|
}
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.a }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u96BE\u6613\u5EA6",
|
|
name: ["hack", "difficulty"],
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u96BE\u6613\u5EA6" }]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"], null, getSelectOptions(Keys.difficulty))
|
|
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.b }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u9898\u76EE\u6765\u6E90",
|
|
name: ["hack", "source_discipline_ids"]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_select["default"],
|
|
{
|
|
placeholder: "\u9009\u62E9\u9898\u76EE\u6765\u6E90",
|
|
showSearch: false,
|
|
mode: "multiple",
|
|
showArrow: true,
|
|
getPopupContainer: (trigger) => trigger.parentNode
|
|
},
|
|
sourceData.map((e) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { key: e.id, value: e.id }, e.name);
|
|
})
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
style: { padding: "0 18px" },
|
|
type: "primary",
|
|
ghost: true,
|
|
onClick: () => addOrigin()
|
|
},
|
|
(0,authority/* isSuperAdmins */.Ny)() ? "\u6765\u6E90\u7BA1\u7406" : "\u65B0\u5EFA\u6765\u6E90"
|
|
))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.b, style: { width: "100%", marginLeft: 0 } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u77E5\u8BC6\u70B9",
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9" }],
|
|
name: ["hack", "tag_discipline_ids"]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_select["default"],
|
|
{
|
|
placeholder: "\u9009\u62E9\u77E5\u8BC6\u70B9",
|
|
showSearch: false,
|
|
mode: "multiple",
|
|
showArrow: true,
|
|
getPopupContainer: (trigger) => trigger.parentNode
|
|
},
|
|
pointData.map((e) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { key: e.id, value: e.id }, e.name);
|
|
})
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { type: "primary", ghost: true, onClick: () => addPoint() }, (0,authority/* isSuperAdmins */.Ny)() ? "\u77E5\u8BC6\u70B9\u7BA1\u7406" : "\u65B0\u5EFA\u77E5\u8BC6\u70B9"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.field }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236",
|
|
name: ["hack", "time_limit"],
|
|
rules: [
|
|
{ required: true, message: "\u8BF7\u8F93\u5165\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236" },
|
|
{
|
|
type: "number",
|
|
min: 3,
|
|
message: "\u6700\u5C0F\u9650\u5236\u65F6\u95F4\u662F3\u79D2"
|
|
}
|
|
],
|
|
className: AddOrEditmodules.inputTwo,
|
|
extra: /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"span",
|
|
{
|
|
style: {
|
|
position: "absolute",
|
|
left: 200,
|
|
top: 11,
|
|
color: "#333"
|
|
}
|
|
},
|
|
"\u79D2",
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml5 c-grey-999" }, "(\u4EE3\u7801\u6267\u884C\u6240\u5141\u8BB8\u7684\u6700\u5927\u65F6\u957F)")
|
|
)
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(input_number/* default */.Z, { style: { width: 185 }, min: 3 })
|
|
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tst-case-info" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"h3",
|
|
{
|
|
className: "flex-container",
|
|
style: { justifyContent: "space-between" }
|
|
},
|
|
" ",
|
|
"\u6D4B\u8BD5\u7528\u4F8B\u4E0E\u7CFB\u7EDF\u8BC4\u5206\u89C4\u5219",
|
|
!hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
style: { height: 40 },
|
|
type: "primary",
|
|
ghost: true,
|
|
onClick: onAddTestCase
|
|
},
|
|
"\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B"
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: ["hack", "test_set_score"] }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeScore }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "tip" }, " ", "\uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u4EC5\u5F53\u6240\u6709\u6D4B\u8BD5\u96C6\u90FD\u6B63\u786E\u65F6\uFF0C\u624D\u83B7\u5F97\u4E00\u6B21\u6027\u5956\u52B1\uFF09")), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "tip" }, " ", "\uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u901A\u8FC7\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5BF9\u5E94\u5956\u52B1\uFF09")))), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_checkbox["default"],
|
|
{
|
|
style: { marginBottom: "5px" },
|
|
checked: ischecked,
|
|
onChange: onChangehide
|
|
},
|
|
"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA \uFF08\u9009\u4E2D\uFF0C\u5219\u5728\u5B66\u751F\u505A\u9898\u8FC7\u7A0B\u4E2D\u65E0\u6CD5\u770B\u5230\u5B9E\u9645\u8F93\u51FA\u7ED3\u679C\uFF0C\u4EC5\u5C55\u793A\u662F\u5426\u8BC4\u6D4B\u662F\u5426\u901A\u8FC7\uFF09"
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
className: AddOrEditmodules.testJi,
|
|
name: ["hack", "is_file"],
|
|
label: "\u7528\u4F8B\u7C7B\u578B:"
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeFile }, /* @__PURE__ */ _react_17_0_2_react.createElement(space/* default */.Z, { direction: "horizontal" }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u6587\u672C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u6587\u4EF6")))
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u8BC4\u6D4B\u65F6\u7A7A\u683C\u5904\u7406",
|
|
name: ["hack", "submit_rule"],
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u7F16\u7A0B\u8BED\u8A00" }]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, null, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 0 }, "\u4E0D\u5FFD\u7565\u7A7A\u683C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 1 }, "\u5FFD\u7565\u9996\u5C3E\u7A7A\u683C"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: 2 }, "\u5FFD\u7565\u6240\u6709\u7A7A\u683C"))
|
|
), !hack.test_set_score && /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: ["hack", "test_set_average"], label: "\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4" }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Group */.ZP.Group, { onChange: onChangeAverage }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: true }, "\u5747\u5206\u6BD4\u4F8B"), /* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default */.ZP, { value: false }, "\u81EA\u5B9A\u4E49\u6BD4\u4F8B"))), hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: AddOrEditmodules.upBtn }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
ghost: true,
|
|
type: "primary",
|
|
className: "mb20",
|
|
onClick: () => setShowUploadFile(true)
|
|
},
|
|
"\u6279\u91CF\u4E0A\u4F20\u6D4B\u8BD5\u7528\u4F8B"
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
UploadFile/* UploadTable */.Y2,
|
|
{
|
|
disabled: hack == null ? void 0 : hack.test_set_average,
|
|
inputChange: handleInputChange,
|
|
showScore: !hack.test_set_score,
|
|
data: uploadData,
|
|
onRemove: handleRemove
|
|
}
|
|
)), !hack.is_file && /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].List, { name: "hack_sets" }, (fields, {}) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(collapse["default"], { accordion: true }, fields.map((field, index) => /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
Panel,
|
|
{
|
|
key: `${field.key}--${index}`,
|
|
header: /* @__PURE__ */ _react_17_0_2_react.createElement("a", { className: AddOrEditmodules["test-case-name"] }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6D4B\u8BD5\u7528\u4F8B", index + 1), !test_set_score ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: [field.name, "score"],
|
|
fieldKey: [field.fieldKey, "score"],
|
|
rules: [
|
|
{
|
|
required: true,
|
|
message: `\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6${index + 1}\u8BC4\u5206`
|
|
}
|
|
]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input_number/* default */.Z,
|
|
{
|
|
onClick: onStopPropagation,
|
|
min: 0,
|
|
max: 100,
|
|
disabled: test_set_average
|
|
}
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "%")) : null),
|
|
extra: index > 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: onStopPropagation }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
popconfirm/* default */.Z,
|
|
{
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
title: "\u786E\u5B9A\u5220\u9664\u6D4B\u8BD5\u96C6\b" + (index + 1),
|
|
onConfirm: () => {
|
|
onRemoveTestCase(index);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
CloseCircleOutlined/* default */.Z,
|
|
{
|
|
className: AddOrEditmodules["btn-remove-case"]
|
|
}
|
|
)
|
|
)) : null
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u8F93\u5165",
|
|
name: [field.name, "input"],
|
|
fieldKey: [field.fieldKey, "input"]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(TextArea, null)
|
|
),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u8F93\u51FA",
|
|
name: [field.name, "output"],
|
|
fieldKey: [field.fieldKey, "output"],
|
|
rules: [
|
|
{ required: true, message: "\u8BF7\u8F93\u5165\u8F93\u51FA\u5185\u5BB9" }
|
|
]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(TextArea, null)
|
|
)
|
|
)));
|
|
}))), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
UploadFile/* default */.ZP,
|
|
{
|
|
rootIdentifier: null,
|
|
visible: showUploadFile,
|
|
onClose: () => setShowUploadFile(false),
|
|
onOK: addUploadData
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
AddOrEdit_ManageModal,
|
|
{
|
|
visible: manageVisible,
|
|
onCancel: () => {
|
|
setManageVisible(false);
|
|
getPointData();
|
|
},
|
|
onOK: () => {
|
|
setManageVisible(false);
|
|
getPointData();
|
|
}
|
|
}
|
|
));
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 65746:
|
|
/*!******************************!*\
|
|
!*** ./src/utils/urlTool.ts ***!
|
|
\******************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ G: function() { return /* binding */ fromStore; },
|
|
/* harmony export */ t: function() { return /* binding */ toStore; }
|
|
/* harmony export */ });
|
|
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! store */ 7062);
|
|
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__);
|
|
const isDev = (/* unused pure expression or super */ null && ("production" === "development"));
|
|
|
|
function toStore(key, val) {
|
|
let _config = store__WEBPACK_IMPORTED_MODULE_0___default().get("__ec");
|
|
if (!_config)
|
|
_config = {};
|
|
_config[key] = val;
|
|
store__WEBPACK_IMPORTED_MODULE_0___default().set("__ec", _config);
|
|
}
|
|
function fromStore(key, defaultVal) {
|
|
let _config = store__WEBPACK_IMPORTED_MODULE_0___default().get("__ec");
|
|
if (!_config)
|
|
return defaultVal;
|
|
return _config[key] === void 0 ? defaultVal : _config[key];
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |