|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[34741],{
|
|
|
|
|
|
/***/ 52428:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/pages/Problems/OjForm/NewEdit/index.tsx + 4 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 */ Types; },
|
|
|
"default": function() { return /* binding */ NewEdit; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(91232);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// 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/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/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var NewEditmodules = ({"bg":"bg___HduZ7","header":"header___KbUo2","avatar":"avatar___UDYJ4","title":"title___OP1JL","exitBtn":"exitBtn___E3w1m","contentWrapper":"contentWrapper___IeO8M","tabWrapper":"tabWrapper___qc2MC","buttonFixed":"buttonFixed___jzejH","cancelBtn":"cancelBtn___c5OpP","saveBtn":"saveBtn___UhxvN","challengeBtn":"challengeBtn___h9r2O","baseInfoWrapper":"baseInfoWrapper___jei0F","baseLineHeight":"baseLineHeight___v1JXM","folderLineHeight":"folderLineHeight___tF8xb","uploadBtnWrapper":"uploadBtnWrapper___ICJS3","baseFormItem":"baseFormItem___sca4N","radioBtnWrapper":"radioBtnWrapper___VIxZD","difficultyRadio":"difficultyRadio___isD54","easy":"easy___gparw","medium":"medium___wRzjL","hard":"hard___sWxqC","testCaseTypeRadio":"testCaseTypeRadio___oiSFl","cascaderPopup":"cascaderPopup___OADQu","collapseWrapper":"collapseWrapper___saVIT","panelHeader":"panelHeader___hRptX","rateInput":"rateInput____HzUM","operationWrapper":"operationWrapper___YJRMc","open":"open___zkYQ_","close":"close___q9p81","add":"add___NB0_y","remove":"remove___xa9jD","codePanelWrapper":"codePanelWrapper___oacDD","uploadTableWrapper":"uploadTableWrapper___iMDly","unfold":"unfold___TdtCA"});
|
|
|
// 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/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// 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/tabs/index.js + 24 modules
|
|
|
var tabs = __webpack_require__(99313);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/util.tsx
|
|
|
var util = __webpack_require__(21848);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(80184);
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/service.ts
|
|
|
var service = __webpack_require__(22493);
|
|
|
// EXTERNAL MODULE: ./src/service/exercise.ts
|
|
|
var exercise = __webpack_require__(26613);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules
|
|
|
var CodePanel = __webpack_require__(71627);
|
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/CodeProgramPanel/index.tsx + 1 modules
|
|
|
var CodeProgramPanel = __webpack_require__(48373);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(35325);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var utils_util = __webpack_require__(1079);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(67390);
|
|
|
// EXTERNAL MODULE: ./src/service/paperlibrary.ts
|
|
|
var paperlibrary = __webpack_require__(34324);
|
|
|
// EXTERNAL MODULE: ./src/utils/enum.ts
|
|
|
var utils_enum = __webpack_require__(74967);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectDestructuringEmpty.js
|
|
|
var objectDestructuringEmpty = __webpack_require__(70236);
|
|
|
var objectDestructuringEmpty_default = /*#__PURE__*/__webpack_require__.n(objectDestructuringEmpty);
|
|
|
// 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/collapse/index.js + 8 modules
|
|
|
var collapse = __webpack_require__(36381);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
|
|
|
var input_number = __webpack_require__(5871);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/cascader/index.js + 18 modules
|
|
|
var cascader = __webpack_require__(19842);
|
|
|
// 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/select/index.js
|
|
|
var es_select = __webpack_require__(57809);
|
|
|
// 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/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/switch/index.js + 2 modules
|
|
|
var es_switch = __webpack_require__(78673);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/popconfirm/index.js + 2 modules
|
|
|
var popconfirm = __webpack_require__(14478);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/PlusCircleOutlined.js + 1 modules
|
|
|
var PlusCircleOutlined = __webpack_require__(32134);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.6.1@@ant-design/icons/es/icons/MinusCircleOutlined.js + 1 modules
|
|
|
var MinusCircleOutlined = __webpack_require__(12893);
|
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
|
|
|
var markdown_editor = __webpack_require__(49731);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
|
|
|
var tree = __webpack_require__(41416);
|
|
|
;// CONCATENATED MODULE: ./src/components/FolderTree/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var FolderTreemodules = ({"folderWrapper":"folderWrapper___G__0a","folderIcon":"folderIcon___oTG6c"});
|
|
|
// EXTERNAL MODULE: ./src/assets/images/problemset/folder-closed.png
|
|
|
var folder_closed = __webpack_require__(73631);
|
|
|
// EXTERNAL MODULE: ./src/assets/images/problemset/folder-opened.png
|
|
|
var folder_opened = __webpack_require__(5623);
|
|
|
// EXTERNAL MODULE: ./src/service/problemset.ts
|
|
|
var problemset = __webpack_require__(95974);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/FolderTree/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var NewFolder = function NewFolder(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
scrollId = _ref.scrollId;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
treeData = _useState2[0],
|
|
|
setTreeData = _useState2[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
getData();
|
|
|
}, []);
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res, item;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,problemset/* getPaperList */.NZ)({});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res !== null && res !== void 0 && res.data) {
|
|
|
item = [{
|
|
|
title: '根目录',
|
|
|
value: 0,
|
|
|
key: 0,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}),
|
|
|
isLeaf: false,
|
|
|
children: generateChildren(res.data || [])
|
|
|
}];
|
|
|
setTreeData(item);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var generateChildren = function generateChildren(data) {
|
|
|
return data.map(function (item) {
|
|
|
return {
|
|
|
title: item.name,
|
|
|
key: item.group_id,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}),
|
|
|
isLeaf: item.children.length === 0,
|
|
|
children: generateChildren(item.children)
|
|
|
};
|
|
|
});
|
|
|
};
|
|
|
var updateTreeData = function updateTreeData(list, key, changePart) {
|
|
|
return list.map(function (node) {
|
|
|
if (node.key === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), changePart);
|
|
|
}
|
|
|
if (node.children) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
children: updateTreeData(node.children, key, changePart)
|
|
|
});
|
|
|
}
|
|
|
return node;
|
|
|
});
|
|
|
};
|
|
|
var changeNodeIcon = function changeNodeIcon(list, key, open) {
|
|
|
return list.map(function (node) {
|
|
|
if (node.key === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
icon: open ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_opened,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: folder_closed,
|
|
|
className: FolderTreemodules.folderIcon
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
if (node.children) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, node), {}, {
|
|
|
children: changeNodeIcon(node.children, key, open)
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var onExpand = function onExpand(expandedKeys, info) {
|
|
|
setTreeData(function (originData) {
|
|
|
return changeNodeIcon(originData, info.node.key, info.expanded);
|
|
|
});
|
|
|
};
|
|
|
var params = value ? {
|
|
|
selectedKeys: value,
|
|
|
defaultExpandedKeys: value
|
|
|
} : {};
|
|
|
return treeData.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
id: scrollId || '',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree/* default */.Z, objectSpread2_default()({
|
|
|
showLine: {
|
|
|
showLeafIcon: false
|
|
|
},
|
|
|
showIcon: true,
|
|
|
treeData: treeData,
|
|
|
className: FolderTreemodules.folderWrapper,
|
|
|
onSelect: onChange,
|
|
|
onExpand: onExpand
|
|
|
}, params))
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var FolderTree = (NewFolder);
|
|
|
// EXTERNAL MODULE: ./src/components/Knowledge/index.tsx + 1 modules
|
|
|
var Knowledge = __webpack_require__(86176);
|
|
|
// EXTERNAL MODULE: ./src/pages/Shixuns/Edit/body/Level/Challenges/components/UploadFile/index.tsx + 2 modules
|
|
|
var UploadFile = __webpack_require__(2462);
|
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/MdEditorInForm.tsx
|
|
|
var MdEditorInForm = __webpack_require__(81331);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/BaseInfo.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default */.Z.TextArea;
|
|
|
var Panel = collapse/* default */.Z.Panel;
|
|
|
function BaseInfo(_ref) {
|
|
|
var _location, _formValue$hack;
|
|
|
var form = _ref.form,
|
|
|
onAddTestCases = _ref.onAddTestCases,
|
|
|
handleAddKnowledgeFinish = _ref.handleAddKnowledgeFinish,
|
|
|
formValue = _ref.formValue,
|
|
|
knowledgeOptions = _ref.knowledgeOptions,
|
|
|
categorys = _ref.categorys,
|
|
|
hack = _ref.hack,
|
|
|
callback_url = _ref.callback_url,
|
|
|
onChangeAverage = _ref.onChangeAverage,
|
|
|
onChangeScore = _ref.onChangeScore,
|
|
|
onChangeFile = _ref.onChangeFile,
|
|
|
onAddTestCase = _ref.onAddTestCase,
|
|
|
onRemoveTestCase = _ref.onRemoveTestCase,
|
|
|
onChangeSubDiscipline = _ref.onChangeSubDiscipline,
|
|
|
onChangeLanguage = _ref.onChangeLanguage,
|
|
|
uploadData = _ref.uploadData,
|
|
|
setUploadData = _ref.setUploadData,
|
|
|
handleUploadRatio = _ref.handleUploadRatio,
|
|
|
isshows = _ref.isshows,
|
|
|
isProgram = _ref.isProgram,
|
|
|
addUploadFnc = _ref.addUploadFnc,
|
|
|
activeKey = _ref.activeKey,
|
|
|
setActiveKey = _ref.setActiveKey;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
editAnalysis = _useState2[0],
|
|
|
setEditAnalysis = _useState2[1];
|
|
|
var is_random = ((_location = location) === null || _location === void 0 || (_location = _location.search) === null || _location === void 0 ? void 0 : _location.includes('select')) || false;
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(isshows),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isshow = _useState4[0],
|
|
|
setisshow = _useState4[1];
|
|
|
var test_set_average = hack.test_set_average,
|
|
|
test_set_score = hack.test_set_score;
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
unfold = _useState6[0],
|
|
|
setUnfold = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
showUploadFile = _useState8[0],
|
|
|
setShowUploadFile = _useState8[1];
|
|
|
var handleRemove = function handleRemove(item, key) {
|
|
|
var newList = toConsumableArray_default()(uploadData);
|
|
|
newList.splice(key, 1);
|
|
|
if (test_set_average) {
|
|
|
handleUploadRatio(newList);
|
|
|
} else {
|
|
|
setUploadData(newList);
|
|
|
}
|
|
|
};
|
|
|
var handleInputChange = function handleInputChange(e, key) {
|
|
|
var testData = uploadData.map(function (test, testIndex) {
|
|
|
if (testIndex === key) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, test), {}, {
|
|
|
score: e.target.value ? Number(e.target.value) : 0
|
|
|
});
|
|
|
}
|
|
|
return test;
|
|
|
});
|
|
|
setUploadData(testData);
|
|
|
};
|
|
|
var addUploadData = function addUploadData(files) {
|
|
|
if (!(files !== null && files !== void 0 && files.length)) return;
|
|
|
|
|
|
//文件
|
|
|
if (files !== null && files !== void 0 && files[0].is_file) {
|
|
|
addUploadFnc(files, true)();
|
|
|
var newList = uploadData.concat(files);
|
|
|
if (hack.test_set_average) {
|
|
|
handleUploadRatio(newList);
|
|
|
} else {
|
|
|
setUploadData(newList);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//文本
|
|
|
if (!(files !== null && files !== void 0 && files[0].is_file)) {
|
|
|
addUploadFnc(files);
|
|
|
}
|
|
|
};
|
|
|
function onStopPropagation(e) {
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.baseInfoWrapper,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8BD5\u9898\u540D\u79F0",
|
|
|
name: ['hack', 'name'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入试题名称'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
maxLength: 60,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u8BD5\u9898\u540D\u79F0"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8BD5\u9898\u63CF\u8FF0",
|
|
|
name: ['hack', "description"],
|
|
|
valuePropName: "defaultValue",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入描述内容'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
|
|
|
miniToolbar: true,
|
|
|
id: "moop_cases_content",
|
|
|
noStorage: true,
|
|
|
height: 200
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u53C2\u8003\u7B54\u6848",
|
|
|
name: ['hack', "answer_text"],
|
|
|
valuePropName: "defaultValue",
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
|
|
|
miniToolbar: true,
|
|
|
noStorage: true,
|
|
|
height: 200
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setEditAnalysis(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9898\u76EE\u89E3\u6790",
|
|
|
name: ["hack", 'analysis'],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MdEditorInForm/* RegularInput */.x, {
|
|
|
placeholder: "\u8BF7\u7F16\u8F91\u9898\u76EE\u89E3\u6790\uFF08\u975E\u5FC5\u586B\uFF09",
|
|
|
isEdit: editAnalysis
|
|
|
})
|
|
|
})
|
|
|
}), callback_url && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
label: "\u5206\u503C",
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
required: true,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: ['hack', 'score'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入分数'
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
disabled: is_random,
|
|
|
min: 1,
|
|
|
max: 100,
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
style: {
|
|
|
width: 176
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 font14",
|
|
|
children: "\u5206"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u65B9\u5411&\u8BFE\u7A0B",
|
|
|
name: ['hack', 'sub_discipline_id'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择课程'
|
|
|
}],
|
|
|
className: "".concat(NewEditmodules.baseLineHeight),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(cascader/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
disabled: is_random,
|
|
|
allowClear: false,
|
|
|
options: categorys,
|
|
|
placeholder: "\u8BF7\u9009\u62E9",
|
|
|
onChange: onChangeSubDiscipline,
|
|
|
popupClassName: NewEditmodules.cascaderPopup,
|
|
|
dropdownMenuColumnStyle: {
|
|
|
padding: '8px 12px',
|
|
|
fontSize: 14
|
|
|
}
|
|
|
})
|
|
|
}), isProgram ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u7F16\u7A0B\u8BED\u8A00",
|
|
|
style: {
|
|
|
paddingBottom: 16
|
|
|
},
|
|
|
name: ['hack', 'languages'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default */.Z.Group, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'C',
|
|
|
children: "C"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'C++',
|
|
|
children: "C++"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'Java',
|
|
|
children: "Java"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: 'Python',
|
|
|
children: "Python"
|
|
|
})]
|
|
|
})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u7F16\u7A0B\u8BED\u8A00",
|
|
|
name: ['hack_codes', 'language'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择编程语言'
|
|
|
}],
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
onChange: onChangeLanguage,
|
|
|
children: (0,util/* getSelectOptions */.jw)(util/* Keys */.R8.language)
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
label: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
lineHeight: '22px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5355\u4E2A\u6D4B\u8BD5\u96C6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u6700\u5927\u8BC4\u6D4B\u65F6\u957F"
|
|
|
})]
|
|
|
}),
|
|
|
required: true,
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: ['hack', 'time_limit'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入单个测试集评测时长限制'
|
|
|
}, {
|
|
|
type: 'number',
|
|
|
min: 3,
|
|
|
message: '最小限制时间是3秒'
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
max: 10,
|
|
|
min: 3,
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
style: {
|
|
|
width: 316
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10 font14",
|
|
|
children: "\u79D2"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8BC4\u6D4B\u5F97\u5206\u89C4\u8303",
|
|
|
name: ['hack', 'test_set_score'],
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeScore,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: true,
|
|
|
children: "\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6\u624D\u80FD\u83B7\u5F97\u5956\u52B1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: false,
|
|
|
children: "\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5956\u52B1"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: ['hack', "hide_actual_output"],
|
|
|
valuePropName: "checked",
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "\u9690\u85CF\u5B66\u5458\u8BC4\u6D4B\u5B9E\u9645\u8F93\u51FA\u7ED3\u679C\uFF0C\u4EC5\u5C55\u793A\u8BC4\u6D4B\u662F\u5426\u901A\u8FC7"
|
|
|
})]
|
|
|
}), !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: ['hack', 'test_set_average'],
|
|
|
label: "\u7CFB\u7EDF\u8BC4\u5206\u5360\u6BD4",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeAverage,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: true,
|
|
|
children: "\u5747\u5206\u6BD4\u4F8B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: false,
|
|
|
children: "\u81EA\u5B9A\u4E49\u6BD4\u4F8B"
|
|
|
})]
|
|
|
})
|
|
|
}), !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
|
|
|
onChange: function onChange(e) {
|
|
|
setisshow(e);
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
code_compile_score: 0
|
|
|
}
|
|
|
});
|
|
|
if (hack.test_set_average) {
|
|
|
if (hack.is_file) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
} else {
|
|
|
onAddTestCases();
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
checked: isshow
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: ["\u542F\u7528\u7F16\u8BD1\u901A\u8FC7\u5373\u53EF\u5F97\u5206", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#E99237'
|
|
|
},
|
|
|
children: "\uFF08\u82E5\u6CA1\u6709\u7F16\u8BD1\u8FC7\u7A0B\uFF0C\u5C06\u65E0\u6CD5\u83B7\u5F97\u7F16\u8BD1\u5F97\u5206\uFF09"
|
|
|
})]
|
|
|
})]
|
|
|
}), isshow && !hack.test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mb30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
style: {
|
|
|
marginLeft: 200
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入编译得分'
|
|
|
}],
|
|
|
name: ['hack', 'code_compile_score'],
|
|
|
style: {
|
|
|
marginBottom: 0
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
onChange: function onChange() {
|
|
|
if (hack.test_set_average) {
|
|
|
if (hack.is_file) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
} else {
|
|
|
onAddTestCases();
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
parser: function parser(e) {
|
|
|
return isNaN(parseInt(e)) ? '' : parseInt(e);
|
|
|
},
|
|
|
min: 0,
|
|
|
max: 100
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: "ml10",
|
|
|
children: "%"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8BC4\u6D4B\u65F6\u7A7A\u683C\u5904\u7406",
|
|
|
name: ['hack', 'submit_rule'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择评测时空格处理'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: 1,
|
|
|
children: "\u5FFD\u7565\u9996\u5C3E\u7A7A\u683C"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: 0,
|
|
|
children: "\u4E0D\u5FFD\u7565\u7A7A\u683C"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: 2,
|
|
|
children: "\u5FFD\u7565\u6240\u6709\u7A7A\u683C"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
className: NewEditmodules.radioBtnWrapper,
|
|
|
name: ['hack', 'is_file'],
|
|
|
label: "\u7528\u4F8B\u7C7B\u578B",
|
|
|
rules: [{
|
|
|
required: true
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: onChangeFile,
|
|
|
optionType: "button",
|
|
|
className: NewEditmodules.testCaseTypeRadio,
|
|
|
options: [{
|
|
|
label: '文本',
|
|
|
value: false
|
|
|
}, {
|
|
|
label: '文件',
|
|
|
value: true
|
|
|
}]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u6D4B\u8BD5\u7528\u4F8B",
|
|
|
required: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.uploadBtnWrapper,
|
|
|
children: [!hack.is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
onClick: onAddTestCase,
|
|
|
children: "\u6DFB\u52A0"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "ml20",
|
|
|
type: "primary",
|
|
|
onClick: function onClick() {
|
|
|
return setShowUploadFile(true);
|
|
|
},
|
|
|
children: "\u6279\u91CF\u4E0A\u4F20"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.upBtn,
|
|
|
children: (hack === null || hack === void 0 ? void 0 : hack.is_file) && /*#__PURE__*/(0,jsx_runtime.jsx)(UploadFile/* UploadTable */.Y2, {
|
|
|
className: NewEditmodules.uploadTableWrapper,
|
|
|
disabled: hack === null || hack === void 0 ? void 0 : hack.test_set_average,
|
|
|
inputChange: handleInputChange,
|
|
|
showScore: !hack.test_set_score,
|
|
|
data: uploadData,
|
|
|
onRemove: handleRemove
|
|
|
})
|
|
|
}), !hack.is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.List, {
|
|
|
name: "hack_sets",
|
|
|
children: function children(fields, _ref2) {
|
|
|
objectDestructuringEmpty_default()(_ref2);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(collapse/* default */.Z, {
|
|
|
accordion: true,
|
|
|
bordered: false,
|
|
|
activeKey: activeKey,
|
|
|
onChange: setActiveKey,
|
|
|
className: NewEditmodules.collapseWrapper,
|
|
|
expandIcon: function expandIcon(_ref3) {
|
|
|
var isActive = _ref3.isActive;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-weizhankai ".concat(isActive ? NewEditmodules.open : NewEditmodules.close),
|
|
|
style: {
|
|
|
fontSize: 14,
|
|
|
transition: 'all .2s'
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: fields.map(function (field, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(Panel, {
|
|
|
id: "scroll-key-".concat(field.key),
|
|
|
header: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "space-between",
|
|
|
wrap: false,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
className: NewEditmodules.panelHeader,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u6D4B\u8BD5\u7528\u4F8B", index + 1]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: 1,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
justify: "end",
|
|
|
wrap: false,
|
|
|
children: [!test_set_score && /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: NewEditmodules.rateInput,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr20",
|
|
|
children: "\u8BC4\u5206\u5360\u6BD4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: onStopPropagation,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: [field.name, 'score'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: "\u8BF7\u8F93\u5165\u6D4B\u8BD5\u96C6".concat(index + 1, "\u8BC4\u5206")
|
|
|
}],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
className: NewEditmodules.baseFormItem,
|
|
|
min: 0,
|
|
|
max: 100,
|
|
|
disabled: test_set_average
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ml10",
|
|
|
children: "%"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '78px',
|
|
|
className: NewEditmodules.operationWrapper,
|
|
|
children: index > 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(PlusCircleOutlined/* default */.Z, {
|
|
|
className: NewEditmodules.add,
|
|
|
onClick: function onClick(e) {
|
|
|
onStopPropagation(e);
|
|
|
onAddTestCase();
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(popconfirm/* default */.Z, {
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
title: '确定删除测试集' + (index + 1),
|
|
|
onCancel: onStopPropagation,
|
|
|
onConfirm: function onConfirm(e) {
|
|
|
onStopPropagation(e);
|
|
|
onRemoveTestCase(index);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MinusCircleOutlined/* default */.Z, {
|
|
|
className: "".concat(NewEditmodules.remove, " ml20"),
|
|
|
onClick: onStopPropagation
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
}),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8F93\u5165",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: [field.name, 'input'],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u8F93\u51FA",
|
|
|
labelCol: {
|
|
|
span: 24
|
|
|
},
|
|
|
name: [field.name, 'output'],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入输出内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
rows: 4
|
|
|
})
|
|
|
})]
|
|
|
}, field.key);
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.unfold,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return setUnfold(!unfold);
|
|
|
},
|
|
|
children: ["\u66F4\u591A\u8BBE\u7F6E", unfold ? /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xialajiantou1"
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xialajiantoubeifen"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: unfold ? 'block' : 'none'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u96BE\u5EA6",
|
|
|
name: ['hack', 'difficult'],
|
|
|
className: NewEditmodules.radioBtnWrapper,
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请选择难度'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
|
optionType: "button",
|
|
|
className: NewEditmodules.difficultyRadio,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 1,
|
|
|
className: NewEditmodules.easy,
|
|
|
children: "\u7B80\u5355"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 2,
|
|
|
className: NewEditmodules.medium,
|
|
|
children: "\u9002\u4E2D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Button */.ZP.Button, {
|
|
|
value: 3,
|
|
|
className: NewEditmodules.hard,
|
|
|
children: "\u56F0\u96BE"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u77E5\u8BC6\u70B9",
|
|
|
name: ['hack', 'tag_discipline_ids'],
|
|
|
className: NewEditmodules.baseLineHeight,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Knowledge/* Knowledge */.N, {
|
|
|
selectvalues: (hack === null || hack === void 0 ? void 0 : hack.tag_discipline_id) || (hack === null || hack === void 0 ? void 0 : hack.tag_discipline_ids),
|
|
|
disabled: is_random,
|
|
|
subId: formValue === null || formValue === void 0 || (_formValue$hack = formValue.hack) === null || _formValue$hack === void 0 || (_formValue$hack = _formValue$hack.sub_discipline_id) === null || _formValue$hack === void 0 ? void 0 : _formValue$hack[1],
|
|
|
knowledgeOptions: knowledgeOptions,
|
|
|
onAddKnowledgeFinish: handleAddKnowledgeFinish
|
|
|
})
|
|
|
}), !is_random && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
className: NewEditmodules.folderLineHeight,
|
|
|
label: '放入文件夹',
|
|
|
name: ['hack', 'item_banks_group_ids'],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(FolderTree, {
|
|
|
scrollId: "item_banks_group_ids"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadFile/* default */.ZP, {
|
|
|
rootIdentifier: null,
|
|
|
visible: showUploadFile,
|
|
|
onClose: function onClose() {
|
|
|
return setShowUploadFile(false);
|
|
|
},
|
|
|
onOK: addUploadData,
|
|
|
multiple: true,
|
|
|
defaultMultipleValue: hack === null || hack === void 0 ? void 0 : hack.is_file
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var NewEdit_BaseInfo = (BaseInfo);
|
|
|
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
|
|
|
var lodash = __webpack_require__(89392);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/NewEdit/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getTimeStamp() {
|
|
|
return new Date().getTime();
|
|
|
}
|
|
|
var initialState = {
|
|
|
loading: true,
|
|
|
user: null,
|
|
|
disciplines: [],
|
|
|
dicts: null,
|
|
|
status: 0,
|
|
|
data: undefined,
|
|
|
lastedUpdateTime: 0
|
|
|
};
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["SET_INITAL_DATA"] = 0] = "SET_INITAL_DATA";
|
|
|
Types[Types["SET_LOADING"] = 1] = "SET_LOADING";
|
|
|
Types[Types["SET_STATUS"] = 2] = "SET_STATUS";
|
|
|
return Types;
|
|
|
}({});
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_INITAL_DATA:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case Types.SET_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: action.payload
|
|
|
});
|
|
|
case Types.SET_STATUS:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
status: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//problems/new?difficult=3&sub_discipline_id=95&tag_discipline_id=105&newoj=1&pages=1
|
|
|
///problems/p2mblri6/edit
|
|
|
//* 从课堂试卷编辑入口进来 http://localhost:8000/problems/i4b5wuhn/edit?type=exercises&express_id=2510&callback_url=/classrooms/1309/exercise/2510/edit
|
|
|
/* harmony default export */ var NewEdit = (function () {
|
|
|
var _data$hack, _data$hack4;
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var _useParams = (0,_umi_production_exports.useParams)(),
|
|
|
id = _useParams.id;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
formValue = _useState2[0],
|
|
|
setFormValue = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
knowledgeOptions = _useState4[0],
|
|
|
setKnowledgeOptions = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
uploadData = _useState6[0],
|
|
|
setUploadData = _useState6[1];
|
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var loading = state.loading,
|
|
|
data = state.data,
|
|
|
user = state.user,
|
|
|
disciplines = state.disciplines,
|
|
|
dicts = state.dicts,
|
|
|
status = state.status;
|
|
|
var hack_sets = data === null || data === void 0 ? void 0 : data.hack_sets;
|
|
|
var test_set_average = data === null || data === void 0 || (_data$hack = data.hack) === null || _data$hack === void 0 ? void 0 : _data$hack.test_set_average;
|
|
|
var _getJsonFromUrl = (0,utils_util/* getJsonFromUrl */.oP)(),
|
|
|
callback_url = _getJsonFromUrl.callback_url,
|
|
|
express_id = _getJsonFromUrl.express_id,
|
|
|
score = _getJsonFromUrl.score,
|
|
|
question_id = _getJsonFromUrl.question_id,
|
|
|
type = _getJsonFromUrl.type;
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
MyGroup = _useState8[0],
|
|
|
setMyGroup = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
isshows = _useState10[0],
|
|
|
setisshows = _useState10[1];
|
|
|
var isProgram = type === '1';
|
|
|
var categorys = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
var rs = [];
|
|
|
if (disciplines) {
|
|
|
(0,util/* getDisciplineOptions */.D0)(disciplines, rs);
|
|
|
}
|
|
|
return rs;
|
|
|
}, [disciplines]);
|
|
|
var initData = (0,_react_17_0_2_react.useCallback)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var timeStamp,
|
|
|
discips,
|
|
|
response,
|
|
|
rs,
|
|
|
res,
|
|
|
category,
|
|
|
_user,
|
|
|
code,
|
|
|
language,
|
|
|
_hack_sets,
|
|
|
description,
|
|
|
difficult,
|
|
|
name,
|
|
|
open_or_not,
|
|
|
sub_discipline_id,
|
|
|
tag_discipline_id,
|
|
|
analysis,
|
|
|
_res$submit_rule,
|
|
|
submit_rule,
|
|
|
time_limit,
|
|
|
_test_set_average,
|
|
|
test_set_score,
|
|
|
_status,
|
|
|
tag_discipline_ids,
|
|
|
item_banks_group_id,
|
|
|
_res$is_file,
|
|
|
is_file,
|
|
|
hide_actual_output,
|
|
|
code_compile_score,
|
|
|
languages,
|
|
|
is_my,
|
|
|
codes,
|
|
|
answer_text,
|
|
|
_getDisciplineIds,
|
|
|
_getDisciplineIds2,
|
|
|
ids,
|
|
|
dictData,
|
|
|
new_hack_sets,
|
|
|
_getJsonFromUrl2,
|
|
|
lastedUpdateTime,
|
|
|
newCodes,
|
|
|
_tagIds$split,
|
|
|
_tagIds$split2,
|
|
|
_ids2,
|
|
|
_ids3,
|
|
|
_yield$getUser,
|
|
|
_user2,
|
|
|
_getJsonFromUrl3,
|
|
|
_difficult,
|
|
|
discipline_id,
|
|
|
_sub_discipline_id,
|
|
|
_tag_discipline_id,
|
|
|
tagIds,
|
|
|
banksIds,
|
|
|
_getDisciplineIds3,
|
|
|
_getDisciplineIds4,
|
|
|
_ids,
|
|
|
_dictData,
|
|
|
_args = arguments;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
timeStamp = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
|
|
|
discips = disciplines;
|
|
|
if (!(discips.length === 0)) {
|
|
|
_context.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 5;
|
|
|
return (0,service/* getDisciplines */.d1)('new_question');
|
|
|
case 5:
|
|
|
response = _context.sent;
|
|
|
discips = response.disciplines;
|
|
|
case 7:
|
|
|
if (!id) {
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
rs = {
|
|
|
disciplines: discips
|
|
|
};
|
|
|
_context.next = 11;
|
|
|
return (0,service/* getProgrammingTopic */.fu)(id);
|
|
|
case 11:
|
|
|
res = _context.sent;
|
|
|
if (res.message) {
|
|
|
if (res.status === '401') {
|
|
|
// history.push('/user/login')
|
|
|
document.location.href = '/user/login';
|
|
|
}
|
|
|
} else {
|
|
|
// console.log(res.hack_sets, 'response1')
|
|
|
category = res.category, _user = res.user, code = res.code, language = res.language, _hack_sets = res.hack_sets, description = res.description, difficult = res.difficult, name = res.name, open_or_not = res.open_or_not, sub_discipline_id = res.sub_discipline_id, tag_discipline_id = res.tag_discipline_id, analysis = res.analysis, _res$submit_rule = res.submit_rule, submit_rule = _res$submit_rule === void 0 ? 1 : _res$submit_rule, time_limit = res.time_limit, _test_set_average = res.test_set_average, test_set_score = res.test_set_score, _status = res.status, tag_discipline_ids = res.tag_discipline_ids, item_banks_group_id = res.item_banks_group_id, _res$is_file = res.is_file, is_file = _res$is_file === void 0 ? false : _res$is_file, hide_actual_output = res.hide_actual_output, code_compile_score = res.code_compile_score, languages = res.languages, is_my = res.is_my, codes = res.codes, answer_text = res.answer_text; //
|
|
|
_getDisciplineIds = (0,util/* getDisciplineIds */.y3)(discips, sub_discipline_id), _getDisciplineIds2 = slicedToArray_default()(_getDisciplineIds, 2), ids = _getDisciplineIds2[0], dictData = _getDisciplineIds2[1]; // console.log('----',hack_sets);
|
|
|
new_hack_sets = is_file ? [{
|
|
|
input: '',
|
|
|
output: '',
|
|
|
score: 100,
|
|
|
position: 1
|
|
|
}] : _hack_sets;
|
|
|
if (is_file) {
|
|
|
setUploadData(_hack_sets);
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': new_hack_sets
|
|
|
});
|
|
|
} else {
|
|
|
setUploadData([]);
|
|
|
}
|
|
|
_getJsonFromUrl2 = (0,utils_util/* getJsonFromUrl */.oP)(), lastedUpdateTime = _getJsonFromUrl2.lastedUpdateTime;
|
|
|
newCodes = codes === null || codes === void 0 ? void 0 : codes.map(function (e) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
code: base64.Base64.decode(e === null || e === void 0 ? void 0 : e.code)
|
|
|
});
|
|
|
});
|
|
|
rs = objectSpread2_default()(objectSpread2_default()({}, rs), {}, {
|
|
|
loading: false,
|
|
|
user: _user,
|
|
|
dicts: dictData,
|
|
|
status: _status,
|
|
|
lastedUpdateTime: timeStamp ? timeStamp : lastedUpdateTime ? lastedUpdateTime : 0,
|
|
|
data: {
|
|
|
hack_codes: {
|
|
|
language: language,
|
|
|
code: base64.Base64.decode(code)
|
|
|
},
|
|
|
hack: {
|
|
|
category: category,
|
|
|
difficult: difficult,
|
|
|
name: name,
|
|
|
description: description,
|
|
|
open_or_not: open_or_not,
|
|
|
time_limit: time_limit,
|
|
|
test_set_average: _test_set_average,
|
|
|
test_set_score: test_set_score,
|
|
|
sub_discipline_id: ids,
|
|
|
tag_discipline_ids: tag_discipline_ids,
|
|
|
languages: languages,
|
|
|
score: score || 1,
|
|
|
item_banks_group_ids: item_banks_group_id,
|
|
|
is_file: is_file,
|
|
|
is_my: is_my,
|
|
|
code_compile_score: code_compile_score,
|
|
|
hide_actual_output: hide_actual_output,
|
|
|
analysis: analysis,
|
|
|
answer_text: answer_text,
|
|
|
submit_rule: submit_rule
|
|
|
},
|
|
|
hack_sets: new_hack_sets,
|
|
|
tags: tag_discipline_ids,
|
|
|
codes: newCodes
|
|
|
}
|
|
|
});
|
|
|
if (parseInt(code_compile_score) > 0) {
|
|
|
setisshows(true);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: rs
|
|
|
});
|
|
|
setFormValue({
|
|
|
hack: {
|
|
|
category: category,
|
|
|
difficult: difficult,
|
|
|
name: name,
|
|
|
description: description,
|
|
|
open_or_not: open_or_not,
|
|
|
time_limit: time_limit,
|
|
|
test_set_average: _test_set_average,
|
|
|
test_set_score: test_set_score,
|
|
|
sub_discipline_id: ids,
|
|
|
tag_discipline_ids: tag_discipline_ids,
|
|
|
score: score || 1,
|
|
|
item_banks_group_ids: item_banks_group_id,
|
|
|
is_file: is_file,
|
|
|
analysis: analysis,
|
|
|
answer_text: answer_text,
|
|
|
submit_rule: submit_rule
|
|
|
},
|
|
|
codes: newCodes
|
|
|
});
|
|
|
handleSetKnowledge(ids === null || ids === void 0 ? void 0 : ids[0], ids === null || ids === void 0 ? void 0 : ids[1], discips);
|
|
|
}
|
|
|
_context.next = 27;
|
|
|
break;
|
|
|
case 15:
|
|
|
_context.next = 17;
|
|
|
return (0,service/* getUser */.PR)();
|
|
|
case 17:
|
|
|
_yield$getUser = _context.sent;
|
|
|
_user2 = _yield$getUser.user;
|
|
|
_getJsonFromUrl3 = (0,utils_util/* getJsonFromUrl */.oP)(), _difficult = _getJsonFromUrl3.difficult, discipline_id = _getJsonFromUrl3.discipline_id, _sub_discipline_id = _getJsonFromUrl3.sub_discipline_id, _tag_discipline_id = _getJsonFromUrl3.tag_discipline_id, tagIds = _getJsonFromUrl3.tagIds, banksIds = _getJsonFromUrl3.banksIds;
|
|
|
_difficult = Number(_difficult || 2);
|
|
|
banksIds = [Number(banksIds || 0)];
|
|
|
_getDisciplineIds3 = (0,util/* getDisciplineIds */.y3)(discips, parseInt(_sub_discipline_id, 10)), _getDisciplineIds4 = slicedToArray_default()(_getDisciplineIds3, 2), _ids = _getDisciplineIds4[0], _dictData = _getDisciplineIds4[1];
|
|
|
_ids = discipline_id ? [Number(discipline_id || 0), Number(_sub_discipline_id || 0)].filter(function (e) {
|
|
|
return !!e;
|
|
|
}) : [];
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
loading: false,
|
|
|
user: _user2,
|
|
|
disciplines: discips,
|
|
|
status: 0,
|
|
|
dicts: _dictData,
|
|
|
data: {
|
|
|
hack_codes: {
|
|
|
language: 'C',
|
|
|
code: ''
|
|
|
},
|
|
|
hack: {
|
|
|
category: null,
|
|
|
difficult: _difficult,
|
|
|
time_limit: 3,
|
|
|
description: '',
|
|
|
test_set_score: true,
|
|
|
test_set_average: true,
|
|
|
open_or_not: true,
|
|
|
sub_discipline_id: _ids,
|
|
|
tag_discipline_id: tagIds && (tagIds === null || tagIds === void 0 || (_tagIds$split = tagIds.split(',')) === null || _tagIds$split === void 0 ? void 0 : _tagIds$split.map(function (x) {
|
|
|
return Number(x);
|
|
|
})),
|
|
|
name: '',
|
|
|
item_banks_group_ids: banksIds,
|
|
|
is_file: false,
|
|
|
answer_text: '',
|
|
|
submit_rule: 1
|
|
|
},
|
|
|
tags: _tag_discipline_id ? _tag_discipline_id === null || _tag_discipline_id === void 0 ? void 0 : _tag_discipline_id.split(',').map(function (t) {
|
|
|
return parseInt(t, 10);
|
|
|
}) : [],
|
|
|
hack_sets: [{
|
|
|
input: '',
|
|
|
output: '',
|
|
|
score: 100,
|
|
|
position: 1
|
|
|
}]
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
setFormValue({
|
|
|
hack: {
|
|
|
category: null,
|
|
|
difficult: _difficult,
|
|
|
time_limit: 3,
|
|
|
description: '',
|
|
|
test_set_average: true,
|
|
|
open_or_not: true,
|
|
|
sub_discipline_id: _ids,
|
|
|
tag_discipline_id: tagIds && (tagIds === null || tagIds === void 0 || (_tagIds$split2 = tagIds.split(',')) === null || _tagIds$split2 === void 0 ? void 0 : _tagIds$split2.map(function (x) {
|
|
|
return Number(x);
|
|
|
})),
|
|
|
name: '',
|
|
|
item_banks_group_id: banksIds,
|
|
|
is_file: false,
|
|
|
answer_text: '',
|
|
|
submit_rule: 1
|
|
|
}
|
|
|
});
|
|
|
handleSetKnowledge((_ids2 = _ids) === null || _ids2 === void 0 ? void 0 : _ids2[0], (_ids3 = _ids) === null || _ids3 === void 0 ? void 0 : _ids3[1], discips);
|
|
|
case 27:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})), [id, disciplines]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
try {
|
|
|
initData();
|
|
|
} catch (error) {
|
|
|
console.log(error, '----');
|
|
|
// history.replace('/user/login', { from: location.pathname })
|
|
|
}
|
|
|
}, []);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
//获取我的分组信息
|
|
|
function init() {
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
function _init() {
|
|
|
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var data;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,fetch/* get */.U2)('item_banks_groups/mine.json');
|
|
|
case 2:
|
|
|
data = _context2.sent;
|
|
|
setMyGroup(data);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
init();
|
|
|
}, []);
|
|
|
var handleSetKnowledge = function handleSetKnowledge(id, subId, discips) {
|
|
|
var _discips$find;
|
|
|
var options = discips === null || discips === void 0 || (_discips$find = discips.find(function (item) {
|
|
|
return item.id === id;
|
|
|
})) === null || _discips$find === void 0 || (_discips$find = _discips$find.sub_disciplines) === null || _discips$find === void 0 || (_discips$find = _discips$find.find(function (subItem) {
|
|
|
return subItem.id === subId;
|
|
|
})) === null || _discips$find === void 0 ? void 0 : _discips$find.tag_disciplines;
|
|
|
|
|
|
// setKnowledgeOptions(options || []);
|
|
|
};
|
|
|
function onSubmit(_x, _x2, _x3) {
|
|
|
return _onSubmit.apply(this, arguments);
|
|
|
}
|
|
|
function _onSubmit() {
|
|
|
_onSubmit = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(values, saveType, is_cover) {
|
|
|
var _hack$tag_discipline_;
|
|
|
var _values, hack_sets, hack_codes, hack, tags, codes, obj, _hack$tag_discipline_2, _hack$tag_discipline_3, update_hack_sets, new_hack_sets, sumScore, new_list, _iterator, _step, item, newCodes, res, _yield$updateExercise, _status2, _yield$addProgramming, identifier, exam_identifier, _res, _yield$addExerciseQue, _status3;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
_values = objectSpread2_default()({}, values), hack_sets = _values.hack_sets, hack_codes = _values.hack_codes, hack = _values.hack, tags = _values.tags, codes = _values.codes; // 知识点多选功能
|
|
|
obj = [];
|
|
|
if ((hack === null || hack === void 0 || (_hack$tag_discipline_ = hack.tag_discipline_ids) === null || _hack$tag_discipline_ === void 0 ? void 0 : _hack$tag_discipline_.length) > 0) {
|
|
|
if (hack !== null && hack !== void 0 && (_hack$tag_discipline_2 = hack.tag_discipline_ids) !== null && _hack$tag_discipline_2 !== void 0 && (_hack$tag_discipline_2 = _hack$tag_discipline_2[0]) !== null && _hack$tag_discipline_2 !== void 0 && _hack$tag_discipline_2.value) {
|
|
|
hack === null || hack === void 0 || (_hack$tag_discipline_3 = hack.tag_discipline_ids) === null || _hack$tag_discipline_3 === void 0 || _hack$tag_discipline_3.map(function (v) {
|
|
|
obj.push(v === null || v === void 0 ? void 0 : v.value);
|
|
|
});
|
|
|
} else {
|
|
|
obj = hack === null || hack === void 0 ? void 0 : hack.tag_discipline_ids;
|
|
|
}
|
|
|
}
|
|
|
hack.tag_discipline_ids = obj;
|
|
|
update_hack_sets = [];
|
|
|
new_hack_sets = [];
|
|
|
sumScore = 0;
|
|
|
new_list = hack !== null && hack !== void 0 && hack.is_file ? uploadData.map(function (e, i) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
position: i + 1
|
|
|
});
|
|
|
}) : hack_sets.map(function (e) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
|
|
|
is_file: false
|
|
|
});
|
|
|
});
|
|
|
_iterator = createForOfIteratorHelper_default()(new_list);
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
item = _step.value;
|
|
|
sumScore += item.score;
|
|
|
if (item.id && item.id >= 0) {
|
|
|
update_hack_sets.push(item);
|
|
|
} else {
|
|
|
new_hack_sets.push(item);
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
if (new_list !== null && new_list !== void 0 && new_list.length) {
|
|
|
_context6.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.error('测试集不能为空');
|
|
|
return _context6.abrupt("return");
|
|
|
case 13:
|
|
|
sumScore += parseInt(hack.code_compile_score || 0);
|
|
|
if (!(sumScore !== 100 && !hack.test_set_score)) {
|
|
|
_context6.next = 17;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.error('测试集的评分占比之和必须等于100');
|
|
|
return _context6.abrupt("return");
|
|
|
case 17:
|
|
|
if (!(new_list !== null && new_list !== void 0 && new_list.some(function (e) {
|
|
|
return !e.output;
|
|
|
}))) {
|
|
|
_context6.next = 20;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.error('测试集输出不能为空');
|
|
|
return _context6.abrupt("return");
|
|
|
case 20:
|
|
|
newCodes = {};
|
|
|
if (isProgram) {
|
|
|
codes === null || codes === void 0 || codes.forEach(function (e) {
|
|
|
newCodes[e.language] = e !== null && e !== void 0 && e.code ? base64.Base64.encode(e === null || e === void 0 ? void 0 : e.code) : '';
|
|
|
});
|
|
|
} else {
|
|
|
hack_codes.code = base64.Base64.encode(hack_codes === null || hack_codes === void 0 ? void 0 : hack_codes.code);
|
|
|
}
|
|
|
hack.sub_discipline_id = hack.sub_discipline_id[1];
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: true
|
|
|
});
|
|
|
if (!callback_url) {
|
|
|
hack.score = hack.difficult * 100;
|
|
|
}
|
|
|
//编辑
|
|
|
if (!id) {
|
|
|
_context6.next = 53;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 28;
|
|
|
return (0,service/* updateProgrammingTopic */.l_)(id, {
|
|
|
hack: hack,
|
|
|
hack_codes: hack_codes,
|
|
|
hack_sets: new_hack_sets,
|
|
|
update_hack_sets: update_hack_sets,
|
|
|
tags: tags,
|
|
|
is_cover: is_cover,
|
|
|
languages: hack.languages,
|
|
|
codes: newCodes
|
|
|
});
|
|
|
case 28:
|
|
|
if (!callback_url) {
|
|
|
_context6.next = 47;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 31;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(id);
|
|
|
case 31:
|
|
|
if (!callback_url.includes('paperlibrary')) {
|
|
|
_context6.next = 37;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 34;
|
|
|
return (0,paperlibrary/* createOrModifyQuestion */.oF)({
|
|
|
id: express_id,
|
|
|
question_id: question_id,
|
|
|
item_type: utils_enum/* QuestionType */.c.Program,
|
|
|
name: hack.name,
|
|
|
question_score: hack.score,
|
|
|
difficulty: hack.difficult,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
item_banks_group_ids: hack.item_banks_group_ids,
|
|
|
analysis: hack.analysis
|
|
|
// identifier: id
|
|
|
});
|
|
|
case 34:
|
|
|
res = _context6.sent;
|
|
|
if (res.status === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 37:
|
|
|
_context6.next = 39;
|
|
|
return (0,service/* updateExerciseQuestion */.GM)(question_id, {
|
|
|
question_type: 6,
|
|
|
question_score: hack.score,
|
|
|
question_title: hack.name,
|
|
|
description: hack.description,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
item_banks_group_ids: hack.item_banks_group_ids,
|
|
|
identifier: id,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 39:
|
|
|
_yield$updateExercise = _context6.sent;
|
|
|
_status2 = _yield$updateExercise.status;
|
|
|
if (!(_status2 === 0)) {
|
|
|
_context6.next = 45;
|
|
|
break;
|
|
|
}
|
|
|
if (!(saveType === 'start')) {
|
|
|
_context6.next = 44;
|
|
|
break;
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 44:
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
case 45:
|
|
|
_context6.next = 50;
|
|
|
break;
|
|
|
case 47:
|
|
|
// window.location.reload()
|
|
|
message/* default */.ZP.success('保存成功');
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
initData(getTimeStamp());
|
|
|
case 50:
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
_context6.next = 83;
|
|
|
break;
|
|
|
case 53:
|
|
|
_context6.next = 55;
|
|
|
return (0,service/* addProgrammingTopic */.zQ)({
|
|
|
hack: hack,
|
|
|
hack_codes: hack_codes,
|
|
|
hack_sets: new_list,
|
|
|
tags: tags,
|
|
|
examination_bank_id: express_id || null
|
|
|
});
|
|
|
case 55:
|
|
|
_yield$addProgramming = _context6.sent;
|
|
|
identifier = _yield$addProgramming.identifier;
|
|
|
exam_identifier = _yield$addProgramming.exam_identifier;
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
if (!(saveType === 'start')) {
|
|
|
_context6.next = 61;
|
|
|
break;
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 61:
|
|
|
if (!identifier) {
|
|
|
_context6.next = 83;
|
|
|
break;
|
|
|
}
|
|
|
if (callback_url) {
|
|
|
_context6.next = 66;
|
|
|
break;
|
|
|
}
|
|
|
modal/* default */.Z.confirm({
|
|
|
icon: null,
|
|
|
title: '提示',
|
|
|
width: 452,
|
|
|
centered: true,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u7F16\u7A0B\u9898\u5DF2\u4FDD\u5B58!\u76EE\u524D\u5916\u4E8E\u672A\u53D1\u5E03\u72B6\u6001\uFF0C\u53D1\u5E03\u540E\u5373\u53EF\u5E94\u7528\u5230\u81EA\u5DF1\u7BA1\u7406\u7684\u8BFE\u5802\uFF0C\u662F\u5426\u7ACB\u5373\u53D1\u5E03?"
|
|
|
}),
|
|
|
cancelText: '稍后再说',
|
|
|
okText: '立即发布',
|
|
|
onCancel: function onCancel() {
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
},
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
_context5.next = 2;
|
|
|
return onPublish(identifier);
|
|
|
case 2:
|
|
|
_umi_production_exports.history.replace('/problemset');
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
// history.replace(`/problems/${identifier}/edit?lastedUpdateTime=${getTimeStamp()}`)
|
|
|
_context6.next = 83;
|
|
|
break;
|
|
|
case 66:
|
|
|
_context6.next = 68;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(identifier);
|
|
|
case 68:
|
|
|
if (id) {
|
|
|
_context6.next = 82;
|
|
|
break;
|
|
|
}
|
|
|
if (!callback_url.includes('paperlibrary')) {
|
|
|
_context6.next = 75;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 72;
|
|
|
return (0,paperlibrary/* createOrModifyQuestion */.oF)({
|
|
|
id: express_id,
|
|
|
item_type: utils_enum/* QuestionType */.c.Program,
|
|
|
name: hack.name,
|
|
|
question_score: hack.score,
|
|
|
difficulty: hack.difficult,
|
|
|
sub_discipline_id: hack.sub_discipline_id,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
identifier: exam_identifier,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 72:
|
|
|
_res = _context6.sent;
|
|
|
if (_res.status === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
return _context6.abrupt("return");
|
|
|
case 75:
|
|
|
_context6.next = 77;
|
|
|
return (0,service/* addExerciseQuestion */.MK)(parseInt(express_id, 10), {
|
|
|
question_type: 6,
|
|
|
question_score: hack.score,
|
|
|
question_title: hack.name,
|
|
|
identifier: identifier,
|
|
|
tag_discipline_ids: hack.tag_discipline_ids,
|
|
|
analysis: hack.analysis
|
|
|
});
|
|
|
case 77:
|
|
|
_yield$addExerciseQue = _context6.sent;
|
|
|
_status3 = _yield$addExerciseQue.status;
|
|
|
if (_status3 === 0) {
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
}
|
|
|
_context6.next = 83;
|
|
|
break;
|
|
|
case 82:
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
case 83:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return _onSubmit.apply(this, arguments);
|
|
|
}
|
|
|
function onPublish(_x4) {
|
|
|
return _onPublish.apply(this, arguments);
|
|
|
}
|
|
|
function _onPublish() {
|
|
|
_onPublish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7(identifier) {
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
_context7.next = 2;
|
|
|
return (0,service/* publishProgrammingTopic */.j2)(identifier);
|
|
|
case 2:
|
|
|
response = _context7.sent;
|
|
|
if (response.status === 0) {
|
|
|
message/* default */.ZP.success('发布成功');
|
|
|
dispatch({
|
|
|
type: Types.SET_STATUS,
|
|
|
payload: 1
|
|
|
});
|
|
|
} else {
|
|
|
message/* default */.ZP.info(response.message);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _onPublish.apply(this, arguments);
|
|
|
}
|
|
|
function onCancelPublish() {
|
|
|
return _onCancelPublish.apply(this, arguments);
|
|
|
}
|
|
|
function _onCancelPublish() {
|
|
|
_onCancelPublish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
_context8.next = 2;
|
|
|
return (0,service/* cancelPublishProgrammingTopic */.ZS)(id);
|
|
|
case 2:
|
|
|
response = _context8.sent;
|
|
|
if (response.status === 0) {
|
|
|
message/* default */.ZP.success('撤销发布成功');
|
|
|
dispatch({
|
|
|
type: Types.SET_STATUS,
|
|
|
payload: 0
|
|
|
});
|
|
|
} else {
|
|
|
message/* default */.ZP.info(response.message);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
return _onCancelPublish.apply(this, arguments);
|
|
|
}
|
|
|
function onChallenge() {
|
|
|
return _onChallenge.apply(this, arguments);
|
|
|
}
|
|
|
function _onChallenge() {
|
|
|
_onChallenge = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
|
|
|
var formValues;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
formValues = form.getFieldsValue();
|
|
|
onSubmit(formValues, 'start');
|
|
|
setTimeout( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
|
|
|
var _yield$startChallenge, identifier;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
_context9.next = 2;
|
|
|
return (0,service/* startChallenge */.uE)(id);
|
|
|
case 2:
|
|
|
_yield$startChallenge = _context9.sent;
|
|
|
identifier = _yield$startChallenge.identifier;
|
|
|
if (isProgram) {
|
|
|
window.location.href = "/myproblems/".concat(identifier, "?type=1");
|
|
|
} else {
|
|
|
window.location.href = "/myproblems/".concat(identifier);
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
})), 400);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
return _onChallenge.apply(this, arguments);
|
|
|
}
|
|
|
function onBack() {
|
|
|
if (callback_url) {
|
|
|
console.log('---', searchParams.get('callback_url'));
|
|
|
_umi_production_exports.history.replace(searchParams.get('callback_url'));
|
|
|
} else {
|
|
|
if (isProgram) {
|
|
|
var _localStorage$getItem;
|
|
|
var item = (_localStorage$getItem = localStorage.getItem('program_homework')) === null || _localStorage$getItem === void 0 ? void 0 : _localStorage$getItem.split(',');
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(item === null || item === void 0 ? void 0 : item[0], "/program_homework/").concat(item === null || item === void 0 ? void 0 : item[1], "/detail"));
|
|
|
} else {
|
|
|
_umi_production_exports.history.replace("/problemset");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var handleUploadRatio = function handleUploadRatio(testSetData) {
|
|
|
var code_compile_score = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var score = Math.floor((100 - code_compile_score) / testSetData.length);
|
|
|
var lastScore = score + (100 - code_compile_score) % testSetData.length;
|
|
|
var newTestSetData = testSetData.map(function (item, index) {
|
|
|
if (index === testSetData.length - 1) {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
score: lastScore
|
|
|
});
|
|
|
}
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, item), {}, {
|
|
|
score: score
|
|
|
});
|
|
|
});
|
|
|
setUploadData(newTestSetData);
|
|
|
};
|
|
|
function onChangeScore(e) {
|
|
|
if (!e.target.value) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
test_set_score: e.target.value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onChangeFile(e) {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: e.target.value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onChangeAverage(e) {
|
|
|
var value = e.target.value;
|
|
|
if (value) {
|
|
|
handleUploadRatio(uploadData);
|
|
|
}
|
|
|
var currentHackSets = form.getFieldValue('hack_sets');
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: currentHackSets,
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
test_set_average: value
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onAddTestCase() {
|
|
|
var rs = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = rs.length + 1;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
rs.map(function (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: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: rs
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
setActiveKey(rs.length - 1);
|
|
|
setScrollFlag(true);
|
|
|
}
|
|
|
function onAddTestCases() {
|
|
|
var rs = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = rs.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
rs.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === rs.length - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': rs
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: rs
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (test_set_average) {
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = hack_sets === null || hack_sets === void 0 ? void 0 : hack_sets.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
hack_sets === null || hack_sets === void 0 || hack_sets.map(function (item, index) {
|
|
|
item.score = averageMark;
|
|
|
item.position = index + 1;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: hack_sets
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': hack_sets
|
|
|
});
|
|
|
}
|
|
|
}, [test_set_average]);
|
|
|
function onRemoveTestCase(index) {
|
|
|
var sets = form.getFieldValue('hack_sets');
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = (sets === null || sets === void 0 ? void 0 : sets.length) - 1;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
sets.splice(index, 1);
|
|
|
sets === null || sets === void 0 || sets.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: sets
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': sets
|
|
|
});
|
|
|
}
|
|
|
function onChangeLanguage(language) {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_codes: objectSpread2_default()(objectSpread2_default()({}, data.hack_codes), {}, {
|
|
|
language: language
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var handleValuesChange = function handleValuesChange(changedValues) {
|
|
|
var _changedValues$hack;
|
|
|
if (changedValues !== null && changedValues !== void 0 && (_changedValues$hack = changedValues.hack) !== null && _changedValues$hack !== void 0 && _changedValues$hack.sub_discipline_id) {
|
|
|
var _changedValues$hack2, _disciplines$find, _form$getFieldsValue;
|
|
|
var _changedValues$hack$s = changedValues === null || changedValues === void 0 || (_changedValues$hack2 = changedValues.hack) === null || _changedValues$hack2 === void 0 ? void 0 : _changedValues$hack2.sub_discipline_id,
|
|
|
_changedValues$hack$s2 = slicedToArray_default()(_changedValues$hack$s, 2),
|
|
|
_id = _changedValues$hack$s2[0],
|
|
|
subId = _changedValues$hack$s2[1];
|
|
|
var options = disciplines === null || disciplines === void 0 || (_disciplines$find = disciplines.find(function (item) {
|
|
|
return item.id === _id;
|
|
|
})) === null || _disciplines$find === void 0 || (_disciplines$find = _disciplines$find.sub_disciplines) === null || _disciplines$find === void 0 || (_disciplines$find = _disciplines$find.find(function (subItem) {
|
|
|
return subItem.id === subId;
|
|
|
})) === null || _disciplines$find === void 0 ? void 0 : _disciplines$find.tag_disciplines;
|
|
|
|
|
|
// setKnowledgeOptions(options);
|
|
|
var fieldData = objectSpread2_default()(objectSpread2_default()({}, form.getFieldsValue()), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, (_form$getFieldsValue = form.getFieldsValue()) === null || _form$getFieldsValue === void 0 ? void 0 : _form$getFieldsValue.hack), {}, {
|
|
|
tag_discipline_ids: []
|
|
|
})
|
|
|
});
|
|
|
form.setFieldsValue(fieldData);
|
|
|
setFormValue(fieldData);
|
|
|
} else {
|
|
|
setFormValue(objectSpread2_default()({}, form.getFieldsValue()));
|
|
|
}
|
|
|
};
|
|
|
var handleAddKnowledgeFinish = function handleAddKnowledgeFinish(item) {
|
|
|
setKnowledgeOptions([].concat(toConsumableArray_default()(knowledgeOptions), [objectSpread2_default()({}, item)]));
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _data$hack2;
|
|
|
if (data !== null && data !== void 0 && (_data$hack2 = data.hack) !== null && _data$hack2 !== void 0 && (_data$hack2 = _data$hack2.sub_discipline_id) !== null && _data$hack2 !== void 0 && _data$hack2[1]) {
|
|
|
var _data$hack3;
|
|
|
getTagData(data === null || data === void 0 || (_data$hack3 = data.hack) === null || _data$hack3 === void 0 || (_data$hack3 = _data$hack3.sub_discipline_id) === null || _data$hack3 === void 0 ? void 0 : _data$hack3[1]);
|
|
|
}
|
|
|
}, [data === null || data === void 0 || (_data$hack4 = data.hack) === null || _data$hack4 === void 0 ? void 0 : _data$hack4.sub_discipline_id]);
|
|
|
//进来的时候 取一次值
|
|
|
var getTagData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(id) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return (0,exercise/* getTagDiscipline */.YY)({
|
|
|
sub_discipline_id: id
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
setKnowledgeOptions(res.tag_disciplines);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function getTagData(_x5) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
//调用接口 获取knowledgeOptions
|
|
|
function onChangeSubDiscipline(values) {
|
|
|
// getTagData(values?.[1])
|
|
|
var subId = values[1];
|
|
|
var _getDisciplineIds5 = (0,util/* getDisciplineIds */.y3)(disciplines, subId),
|
|
|
_getDisciplineIds6 = slicedToArray_default()(_getDisciplineIds5, 2),
|
|
|
dictData = _getDisciplineIds6[1];
|
|
|
form.setFieldsValue({
|
|
|
tags: []
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
dicts: dictData,
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
sub_discipline_id: values
|
|
|
}),
|
|
|
tags: []
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var addUploadFnc = function addUploadFnc(files) {
|
|
|
var _form$getFieldValue;
|
|
|
var isFuc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
|
if (isFuc) {
|
|
|
return function () {
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: true
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
hack: {
|
|
|
is_file: true
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
}
|
|
|
var newFiles = files === null || files === void 0 ? void 0 : files.map(function (e) {
|
|
|
return {
|
|
|
input: e.input,
|
|
|
output: e.output,
|
|
|
score: 0,
|
|
|
position: 1
|
|
|
};
|
|
|
});
|
|
|
var sets = (_form$getFieldValue = form.getFieldValue('hack_sets')) === null || _form$getFieldValue === void 0 || (_form$getFieldValue = _form$getFieldValue.filter(function (e) {
|
|
|
return e.input || e.output;
|
|
|
})) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue.concat(newFiles);
|
|
|
var by = parseInt(form.getFieldValue('hack').code_compile_score) || 0;
|
|
|
var len = sets === null || sets === void 0 ? void 0 : sets.length;
|
|
|
var averageMark = Math.floor((100 - by) / len);
|
|
|
var remainder = (100 - by) % len;
|
|
|
sets === null || sets === void 0 || sets.map(function (item, index) {
|
|
|
if (test_set_average) {
|
|
|
item.score = averageMark;
|
|
|
if (index === len - 1) {
|
|
|
item.score = averageMark + remainder;
|
|
|
}
|
|
|
}
|
|
|
item.position = index + 1;
|
|
|
return item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: Types.SET_INITAL_DATA,
|
|
|
payload: {
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
hack_sets: sets,
|
|
|
hack: objectSpread2_default()(objectSpread2_default()({}, data.hack), {}, {
|
|
|
is_file: false
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
form.setFieldsValue({
|
|
|
'hack_sets': sets,
|
|
|
hack: {
|
|
|
is_file: false
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleFinish = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var formValues, _errorInfo$errorField, _errorInfo$errorField2, firstErrorMessage;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.prev = 0;
|
|
|
_context4.next = 3;
|
|
|
return form.validateFields();
|
|
|
case 3:
|
|
|
formValues = form.getFieldsValue();
|
|
|
if (!(searchParams.get("exercise") && !callback_url.includes('paperlibrary'))) {
|
|
|
_context4.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
modal/* default */.Z.confirm({
|
|
|
title: '保存提示',
|
|
|
content: '此题目已存在试题库中,是否将修改后的试题覆盖试题库的原题?',
|
|
|
okText: '覆盖原题',
|
|
|
cancelText: '不覆盖',
|
|
|
onOk: function onOk() {
|
|
|
return onSubmit(formValues, '', 1);
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
return onSubmit(formValues, '', 0);
|
|
|
}
|
|
|
});
|
|
|
return _context4.abrupt("return");
|
|
|
case 7:
|
|
|
onSubmit(formValues, '', 1);
|
|
|
_context4.next = 15;
|
|
|
break;
|
|
|
case 10:
|
|
|
_context4.prev = 10;
|
|
|
_context4.t0 = _context4["catch"](0);
|
|
|
form.scrollToField(_context4.t0 === null || _context4.t0 === void 0 || (_errorInfo$errorField = _context4.t0.errorFields) === null || _errorInfo$errorField === void 0 || (_errorInfo$errorField = _errorInfo$errorField[0]) === null || _errorInfo$errorField === void 0 ? void 0 : _errorInfo$errorField.name, {
|
|
|
behavior: 'smooth',
|
|
|
block: 'start'
|
|
|
});
|
|
|
firstErrorMessage = _context4.t0 === null || _context4.t0 === void 0 || (_errorInfo$errorField2 = _context4.t0.errorFields) === null || _errorInfo$errorField2 === void 0 || (_errorInfo$errorField2 = _errorInfo$errorField2[0]) === null || _errorInfo$errorField2 === void 0 || (_errorInfo$errorField2 = _errorInfo$errorField2.errors) === null || _errorInfo$errorField2 === void 0 ? void 0 : _errorInfo$errorField2[0];
|
|
|
message/* default */.ZP.error(firstErrorMessage);
|
|
|
case 15:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4, null, [[0, 10]]);
|
|
|
}));
|
|
|
return function handleFinish() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
activeKey = _useState12[0],
|
|
|
setActiveKey = _useState12[1];
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
scrollFlag = _useState14[0],
|
|
|
setScrollFlag = _useState14[1]; //标识activeKey的变动是不是由于添加测试用例,如果是则需要滚动到相应位置
|
|
|
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (scrollFlag) {
|
|
|
var newCaseDom = document.getElementById("scroll-key-".concat(activeKey));
|
|
|
newCaseDom === null || newCaseDom === void 0 || newCaseDom.scrollIntoView({
|
|
|
behavior: "smooth"
|
|
|
});
|
|
|
setScrollFlag(false);
|
|
|
}
|
|
|
}, [activeKey, scrollFlag]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
delay: 500,
|
|
|
children: !data ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "vh100"
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.bg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("header", {
|
|
|
className: NewEditmodules.header,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.avatar,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/").concat(user === null || user === void 0 ? void 0 : user.image_url),
|
|
|
alt: "user"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: user === null || user === void 0 ? void 0 : user.name
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.title,
|
|
|
children: [" ", (data === null || data === void 0 ? void 0 : data.hack.name) || '编程题', " "]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: NewEditmodules.exitBtn,
|
|
|
onClick: onBack,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon iconfont icon-tuichu1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u9000\u51FA"
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
colon: false,
|
|
|
form: form,
|
|
|
initialValues: data,
|
|
|
onValuesChange: handleValuesChange,
|
|
|
labelCol: {
|
|
|
flex: '200px'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.contentWrapper,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z, {
|
|
|
className: NewEditmodules.tabWrapper,
|
|
|
tabBarGutter: 180,
|
|
|
centered: true,
|
|
|
items: [{
|
|
|
label: '基础信息',
|
|
|
key: '1',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(NewEdit_BaseInfo, {
|
|
|
onAddTestCases: onAddTestCases,
|
|
|
form: form,
|
|
|
handleAddKnowledgeFinish: handleAddKnowledgeFinish,
|
|
|
MyGroup: MyGroup,
|
|
|
formValue: formValue,
|
|
|
knowledgeOptions: knowledgeOptions,
|
|
|
onChangeLanguage: onChangeLanguage,
|
|
|
onChangeSubDiscipline: onChangeSubDiscipline,
|
|
|
onRemoveTestCase: onRemoveTestCase,
|
|
|
onAddTestCase: onAddTestCase,
|
|
|
dicts: dicts,
|
|
|
categorys: categorys,
|
|
|
callback_url: callback_url,
|
|
|
hack: data.hack,
|
|
|
onChangeScore: onChangeScore,
|
|
|
onChangeAverage: onChangeAverage,
|
|
|
onChangeFile: onChangeFile,
|
|
|
uploadData: uploadData,
|
|
|
setUploadData: setUploadData,
|
|
|
handleUploadRatio: handleUploadRatio,
|
|
|
isshows: isshows,
|
|
|
isProgram: isProgram,
|
|
|
addUploadFnc: addUploadFnc,
|
|
|
activeKey: activeKey,
|
|
|
setActiveKey: setActiveKey
|
|
|
})
|
|
|
}, {
|
|
|
label: '学员初始代码',
|
|
|
key: '2',
|
|
|
forceRender: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.codePanelWrapper,
|
|
|
children: isProgram ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "codes",
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodeProgramPanel/* default */.Z, {})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: ['hack_codes', 'code'],
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodePanel/* default */.Z, {
|
|
|
language: data.hack_codes.language
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}]
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.buttonFixed,
|
|
|
children: !id ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.cancelBtn,
|
|
|
onClick: onBack,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "".concat(NewEditmodules.saveBtn, " ml20"),
|
|
|
loading: loading,
|
|
|
type: "primary",
|
|
|
onClick: (0,lodash.throttle)(handleFinish, 1000),
|
|
|
children: "\u4FDD\u5B58"
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: NewEditmodules.cancelBtn,
|
|
|
onClick: onBack,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "".concat(NewEditmodules.saveBtn, " ml20"),
|
|
|
loading: loading,
|
|
|
type: "primary",
|
|
|
onClick: (0,lodash.throttle)(handleFinish, 1000),
|
|
|
children: "\u4FDD\u5B58"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
className: "".concat(NewEditmodules.challengeBtn, " ml20"),
|
|
|
onClick: (0,lodash.throttle)(onChallenge, 1000),
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon iconfont icon-kaishitiaozhan1 mr5 font14"
|
|
|
}),
|
|
|
children: status ? '开始挑战' : '模拟挑战'
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 73631:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-closed.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAZxJREFUOBGtlL1Ow0AMgH2XUIkOLFXVASgTsDHxBIAEzAwMPBQjT8AATGVBgEBCYmHmFcICYmBogCbNYSe52HUTVZWwFJ3PP599Z+WMcy6Af5SwYkWnLYifTyBzq5XNK8YNwbbvYP381ZuaVlN1+HJwAc4d1QYaA+gDsHYANrhGHTdCMtSDMILtwSMDn7ZiANPKwyjeQ0Reo4r1gEoEwRkDb7spdPcBeocMk1Cv00oii5L+fgPwcR/zHfb3AJY2sEpUVLOUhB/l+w7I1iS9TYDFrM3AzhqGDstPZ3li2Z12U2WLvk4fGJh+F0elYN8ZrbWiA7igAP4WR6sFzDAKPgPHP0VnlMsFS5IyyIGoeAamCKybYI5UQLWVE2fgGI/s72wqQXRd9jyxiHgGJtihFxGQm8Qd5XvtF3fEQOrQH9mDm1Z9hyJuEphXIq9uSWSQqv8a4RbAUTFdcs7gifwplYGjT3wzbPFz6Q70EZv8WZoxMP66ApMc86inirNBA8njcFIuvOTXhowPyzuQJiukzi3hQgS7b+I9nJtQn/AHsLGsvlcPPWsAAAAASUVORK5CYII=";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 5623:
|
|
|
/*!********************************************************!*\
|
|
|
!*** ./src/assets/images/problemset/folder-opened.png ***!
|
|
|
\********************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAedJREFUOBGtVDtLA0EQ/jY5z7dgEBVJLHyAitpYWQqKjVZa5BfEKpWlWPgrLG0UEdTexkILRUQiSBBBCAhGUINFHia53Dm7ufXcvfgIOHA3O69vvtnbPeY4ThD/KIF/xBJQhg/wbmkZtj0KMKbEGNIweg4xuPmq+DWDKSOfz2/AqaxpOVWzip8HC2xTsydfjoMHhMd2VMDjkSswTPqSucOhh3PmupaIediBOnL52UTLENC7QCV1bC9vkjkF3i4WVUDeORIF2sf5ymOk7mY1pr87hoHEhekHDLYQOfck8c6c6OeYfPHN3LyOxEB2KwQru0LrBvTPdaGRipj7ISUzqUWJ/moiRyc1tUXAQP42Tsa6sEIRCtwDRXqESDYS8RuG5iyRMEWFAat4CbvsAmgFmukmeYofJYeSAimab0L4DfQNHiF1laFAyMv840o2zN3Q1FMuIOIWStF9OtAxH4xkIC8NZyN9SnIOsNISkLRd3EWlFBP0lQJtDzVTyc8mBKB3U65nUnBYmDaFAr98BFGqvYKtwOMZHRsp1vsedVxV8bQRJXu5BbKWa6sAmK1lj2FiOoLcS5LYNX/N+3ktp+GapFJMeoDccdI9gEJ2nW5HhJjKuXmktih7yjJoC8VVwNpldXnr+KX8DfcD09mnwzz7SXEAAAAASUVORK5CYII=";
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |