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.
1190 lines
52 KiB
1190 lines
52 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[1953],{
|
|
|
|
/***/ 337:
|
|
/*!*********************************************************!*\
|
|
!*** ./src/components/FolderTree/index.tsx + 1 modules ***!
|
|
\*********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ FolderTree; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
|
|
var tree = __webpack_require__(51218);
|
|
;// 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__(63992);
|
|
;// CONCATENATED MODULE: ./src/components/FolderTree/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));
|
|
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 NewFolder = ({
|
|
value,
|
|
onChange,
|
|
scrollId
|
|
}) => {
|
|
const [treeData, setTreeData] = (0,_react_17_0_2_react.useState)([]);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
getData();
|
|
}, []);
|
|
const getData = () => __async(void 0, null, function* () {
|
|
const res = yield (0,problemset/* getPaperList */.NZ)({});
|
|
if (res == null ? void 0 : res.data) {
|
|
const item = [
|
|
{
|
|
title: "\u6839\u76EE\u5F55",
|
|
value: 0,
|
|
key: 0,
|
|
icon: /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: folder_closed, className: FolderTreemodules.folderIcon }),
|
|
isLeaf: false,
|
|
children: generateChildren(res.data || [])
|
|
}
|
|
];
|
|
setTreeData(item);
|
|
}
|
|
});
|
|
const generateChildren = (data) => {
|
|
return data.map((item) => ({
|
|
title: item.name,
|
|
key: item.group_id,
|
|
icon: /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: folder_closed, className: FolderTreemodules.folderIcon }),
|
|
isLeaf: item.children.length === 0,
|
|
children: generateChildren(item.children)
|
|
}));
|
|
};
|
|
const updateTreeData = (list, key, changePart) => list.map((node) => {
|
|
if (node.key === key) {
|
|
return __spreadValues(__spreadValues({}, node), changePart);
|
|
}
|
|
if (node.children) {
|
|
return __spreadProps(__spreadValues({}, node), {
|
|
children: updateTreeData(node.children, key, changePart)
|
|
});
|
|
}
|
|
return node;
|
|
});
|
|
const changeNodeIcon = (list, key, open) => {
|
|
return list.map((node) => {
|
|
if (node.key === key) {
|
|
return __spreadProps(__spreadValues({}, node), {
|
|
icon: open ? /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: folder_opened, className: FolderTreemodules.folderIcon }) : /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: folder_closed, className: FolderTreemodules.folderIcon })
|
|
});
|
|
}
|
|
if (node.children) {
|
|
return __spreadProps(__spreadValues({}, node), { children: changeNodeIcon(node.children, key, open) });
|
|
}
|
|
});
|
|
};
|
|
const onExpand = (expandedKeys, info) => {
|
|
setTreeData((originData) => {
|
|
return changeNodeIcon(originData, info.node.key, info.expanded);
|
|
});
|
|
};
|
|
const params = value ? {
|
|
selectedKeys: value,
|
|
defaultExpandedKeys: value
|
|
} : {};
|
|
return treeData.length > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { id: scrollId || "" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
tree["default"],
|
|
__spreadValues({
|
|
showLine: { showLeafIcon: false },
|
|
showIcon: true,
|
|
treeData,
|
|
className: FolderTreemodules.folderWrapper,
|
|
onSelect: onChange,
|
|
onExpand
|
|
}, params)
|
|
));
|
|
};
|
|
/* harmony default export */ var FolderTree = (NewFolder);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 52453:
|
|
/*!********************************************************!*\
|
|
!*** ./src/components/Knowledge/index.tsx + 1 modules ***!
|
|
\********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
N: function() { return /* binding */ Knowledge; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
var es_select = __webpack_require__(57809);
|
|
// 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/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/input/index.js + 5 modules
|
|
var input = __webpack_require__(1056);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
var message = __webpack_require__(8591);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(87101);
|
|
;// CONCATENATED MODULE: ./src/components/Knowledge/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var Knowledgemodules = ({"wrap":"wrap___F7E3F","selectWrapper":"selectWrapper____kESB","tips":"tips___aHjQY","linkBtn":"linkBtn___uggVr","mainText":"mainText____S1I0"});
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
|
|
var ExclamationCircleOutlined = __webpack_require__(80045);
|
|
;// CONCATENATED MODULE: ./src/components/Knowledge/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 { Option } = es_select["default"];
|
|
const Knowledge = ({
|
|
subId,
|
|
value,
|
|
selectvalues,
|
|
disabled,
|
|
knowledgeOptions = [],
|
|
onChange = () => {
|
|
},
|
|
onAddKnowledgeFinish = () => {
|
|
}
|
|
}) => {
|
|
const addValue = (0,_react_17_0_2_react.useRef)();
|
|
const [values, setValues] = (0,_react_17_0_2_react.useState)([]);
|
|
value = value || [];
|
|
const handleChange = (e, valuesmap) => {
|
|
if (e) {
|
|
setValues([valuesmap.key]);
|
|
onChange([valuesmap.key]);
|
|
} else {
|
|
setValues([]);
|
|
onChange([]);
|
|
}
|
|
};
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if ((selectvalues == null ? void 0 : selectvalues.length) > 0) {
|
|
setValues([...selectvalues]);
|
|
onChange([...selectvalues]);
|
|
}
|
|
}, [knowledgeOptions]);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if ((value == null ? void 0 : value.length) > 0) {
|
|
onChange([...value]);
|
|
}
|
|
}, [knowledgeOptions]);
|
|
const handleAdd = (e) => {
|
|
e.preventDefault();
|
|
addValue.current = "";
|
|
modal["default"].confirm({
|
|
centered: true,
|
|
width: 640,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
icon: null,
|
|
title: "\u65B0\u5EFA\u77E5\u8BC6\u70B9",
|
|
className: "custom-modal-divider",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "font14" }, /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { className: "mb20" }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(ExclamationCircleOutlined/* default */.Z, { style: { color: "#FF8C29" } })), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { className: `ml10 ${Knowledgemodules.mainText}` }, "\u65B0\u5EFA\u7684\u77E5\u8BC6\u70B9\u4EC5\u672C\u4EBA\u53EF\u89C1\uFF0C\u5E73\u53F0\u5BA1\u6838\u5217\u5165\u516C\u5F00\u77E5\u8BC6\u70B9\u540E\uFF0C\u5BF9\u6240\u6709\u7528\u6237\u53EF\u89C1\u3002", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "\u5E73\u53F0\u6709\u6743\u5220\u9664\u4E0D\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF0C\u8BF7\u8BA4\u771F\u586B\u5199\u77E5\u8BC6\u70B9\u540D\u79F0\u3002")), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
input["default"],
|
|
{
|
|
maxLength: 20,
|
|
size: "middle",
|
|
showCount: true,
|
|
placeholder: "\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0",
|
|
defaultValue: addValue.current,
|
|
onChange: (e2) => {
|
|
addValue.current = e2.target.value;
|
|
}
|
|
}
|
|
)),
|
|
onOk: () => {
|
|
return new Promise((resolve, reject) => __async(void 0, null, function* () {
|
|
if (!addValue.current) {
|
|
message/* default */.ZP.warning("\u8BF7\u8F93\u5165\u77E5\u8BC6\u70B9\u540D\u79F0");
|
|
return reject();
|
|
}
|
|
if (addValue.current.length > 20) {
|
|
message/* default */.ZP.warning("\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC720\u5B57\u7684\u77E5\u8BC6\u70B9\u540D\u79F0");
|
|
return reject();
|
|
}
|
|
const res = yield (0,fetch/* default */.ZP)(
|
|
`/api/tag_disciplines.json`,
|
|
{
|
|
method: "post",
|
|
body: {
|
|
name: addValue.current,
|
|
sub_discipline_id: subId
|
|
}
|
|
}
|
|
);
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
onAddKnowledgeFinish({ id: res.tag_discipline_id, name: addValue.current, type: "personal" });
|
|
let value2 = [];
|
|
value2.push(res.tag_discipline_id);
|
|
onChange([...value2]);
|
|
setValues([res.tag_discipline_id]);
|
|
onChange([...value2]);
|
|
}
|
|
return resolve();
|
|
}));
|
|
}
|
|
});
|
|
};
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { wrap: false, align: "middle", className: Knowledgemodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_select["default"],
|
|
{
|
|
disabled: !subId || disabled,
|
|
className: Knowledgemodules.selectWrapper,
|
|
placeholder: "\u8BF7\u9009\u62E9\u77E5\u8BC6\u70B9",
|
|
onChange: handleChange,
|
|
style: {
|
|
width: 490
|
|
},
|
|
showSearch: true,
|
|
allowClear: true,
|
|
value: knowledgeOptions == null ? void 0 : knowledgeOptions.filter((item) => (values == null ? void 0 : values.includes(item == null ? void 0 : item.id)) || (values == null ? void 0 : values.includes((item == null ? void 0 : item.id) + ""))).map((item) => item.name)
|
|
},
|
|
knowledgeOptions == null ? void 0 : knowledgeOptions.map((item) => /* @__PURE__ */ _react_17_0_2_react.createElement(Option, { key: item.id, value: item.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: "flex", justifyContent: "space-between" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { overflow: "hidden", whiteSpace: "nowrap", textOverflow: "ellipsis" } }, item.name), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, item.type === "personal" ? "\uFF08\u81EA\u7528\uFF09" : ""))))
|
|
)), subId && /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { className: "ml20" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Knowledgemodules.tips }, "\u6CA1\u6709\u5408\u9002\u7684\u77E5\u8BC6\u70B9\uFF1F"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Knowledgemodules.linkBtn, onClick: handleAdd }, "\u65B0\u5EFA\u77E5\u8BC6\u70B9")));
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 66013:
|
|
/*!********************************************!*\
|
|
!*** ./src/pages/Problems/OjForm/util.tsx ***!
|
|
\********************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ D0: function() { return /* binding */ getDisciplineOptions; },
|
|
/* harmony export */ R8: function() { return /* binding */ Keys; },
|
|
/* harmony export */ jw: function() { return /* binding */ getSelectOptions; },
|
|
/* harmony export */ y3: function() { return /* binding */ getDisciplineIds; }
|
|
/* harmony export */ });
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd */ 57809);
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
|
|
|
|
const { Option } = antd__WEBPACK_IMPORTED_MODULE_1__["default"];
|
|
var Keys = /* @__PURE__ */ ((Keys2) => {
|
|
Keys2[Keys2["language"] = 0] = "language";
|
|
Keys2[Keys2["difficult"] = 1] = "difficult";
|
|
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 /* difficult */]: [
|
|
{ title: "\u7B80\u5355", key: 1 },
|
|
{ title: "\u4E2D\u7B49", 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__WEBPACK_IMPORTED_MODULE_0__.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, []];
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 7563:
|
|
/*!************************************************************!*\
|
|
!*** ./src/pages/Problemset/NewItem/index.tsx + 1 modules ***!
|
|
\************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
"default": function() { return /* binding */ Problemset_NewItem; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
|
|
var _umi_production_exports = __webpack_require__(87210);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
var es_form = __webpack_require__(78241);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
var modal = __webpack_require__(43418);
|
|
// 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/breadcrumb/index.js + 6 modules
|
|
var breadcrumb = __webpack_require__(66104);
|
|
// 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/cascader/index.js + 18 modules
|
|
var cascader = __webpack_require__(19842);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
var tooltip = __webpack_require__(6848);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
var upload = __webpack_require__(6557);
|
|
// 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/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(64741);
|
|
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var NewItemmodules = ({"bgWrapper":"bgWrapper___yZrnF","bg":"bg___DMAyj","main":"main___l1oS8","addTypeRadio":"addTypeRadio___eH2zI","formWrap":"formWrap___ydPvR","questionTypeRadio":"questionTypeRadio___jQze1","difficultyWrapper":"difficultyWrapper___W9ML_","difficultyRadio":"difficultyRadio___z9UyX","easy":"easy___5Owsm","medium":"medium___NeHBc","hard":"hard___Hrees","cascaderWrapper":"cascaderWrapper___AUd1O","courseCascader":"courseCascader___UEeI3","knowledgeWrapper":"knowledgeWrapper___sIao8","knowledgeWrap":"knowledgeWrap___PX71i","uploadTips":"uploadTips___v_XSU","uploadTipsIcon":"uploadTipsIcon___gfQUD","downloadBtn":"downloadBtn___BqNPb","uploadBtn":"uploadBtn___p7bAk","buttonFixed":"buttonFixed___j1UZJ","buttonWrap":"buttonWrap___FfqsJ","button":"button___TuRr2","topicWrap":"topicWrap___v5_lJ","cascaderPopup":"cascaderPopup___nXZ4B","unfold":"unfold____IJ2y"});
|
|
// EXTERNAL MODULE: ./src/components/QuestionEditor/index.tsx + 4 modules
|
|
var QuestionEditor = __webpack_require__(96398);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(3163);
|
|
// EXTERNAL MODULE: ./src/components/Knowledge/index.tsx + 1 modules
|
|
var Knowledge = __webpack_require__(52453);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/QuestionCircleOutlined.js + 1 modules
|
|
var QuestionCircleOutlined = __webpack_require__(98815);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(87101);
|
|
// EXTERNAL MODULE: ./src/components/FolderTree/index.tsx + 1 modules
|
|
var FolderTree = __webpack_require__(337);
|
|
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/util.tsx
|
|
var OjForm_util = __webpack_require__(66013);
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
var base64 = __webpack_require__(24334);
|
|
;// CONCATENATED MODULE: ./src/pages/Problemset/NewItem/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));
|
|
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 transformItemType = (itemType) => itemType === "SINGLE" || itemType === "MULTIPLE" ? "SELECT" : itemType;
|
|
const transformIsAnswer = (arr) => arr.map((item) => __spreadProps(__spreadValues({}, item), { is_answer: item.is_answer ? 1 : 0 }));
|
|
const RenderEditor = ({ form, currentItemType }) => {
|
|
const editorMapping = {
|
|
"SELECT": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* ChoiceQuestionEditor */.uh,
|
|
{
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9009\u62E9\u9898\u9898\u5E72\u5185\u5BB9",
|
|
titleKey: "name",
|
|
choiceKey: "choices",
|
|
analysisKey: "analysis",
|
|
choiceOptionsPath: "choices",
|
|
choiceTextKey: "choice_text",
|
|
answerKey: "is_answer",
|
|
allowChangeMode: true
|
|
}
|
|
),
|
|
"JUDGMENT": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* JudgmentQuestionEditor */.ZZ,
|
|
{
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u5224\u65AD\u9898\u9898\u5E72\u5185\u5BB9",
|
|
choiceKey: "choices"
|
|
}
|
|
),
|
|
"COMPLETION": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* CompletionQuestionEditor */.u8,
|
|
{
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
|
|
scoreByBlank: false,
|
|
answerKey: "standard_answers"
|
|
}
|
|
),
|
|
"SUBJECTIVE": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* SubjectiveQuestionEditor */.Wk,
|
|
{
|
|
showKeywords: true,
|
|
isMustKeyWords: false,
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7B80\u7B54\u9898\u9898\u5E72\u5185\u5BB9"
|
|
}
|
|
),
|
|
"COMBINATION": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* CombinationQuestionEditor */.rL,
|
|
{
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u7EC4\u5408\u9898\u9898\u5E72\u5185\u5BB9",
|
|
choiceKey: "choices",
|
|
withScore: false
|
|
}
|
|
),
|
|
"BPROGRAM": /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
QuestionEditor/* BProgramEditor */.tc,
|
|
{
|
|
form,
|
|
questionTitlePlaceholder: "\u8BF7\u7F16\u8F91\u9898\u5E72\u5E76\u8BBE\u7F6E\u586B\u7A7A\u9879",
|
|
scoreByBlank: false,
|
|
answerKey: "standard_answers"
|
|
}
|
|
)
|
|
};
|
|
return editorMapping[currentItemType] || null;
|
|
};
|
|
const NewItem = ({
|
|
problemset,
|
|
loading,
|
|
dispatch
|
|
}) => {
|
|
var _a, _b, _c, _d, _e;
|
|
const param = (0,_umi_production_exports.useParams)();
|
|
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
|
|
const [form] = es_form["default"].useForm();
|
|
const [pages, setPages] = (0,_react_17_0_2_react.useState)();
|
|
const [knowledgeOptions, setKnowledgeOptions] = (0,_react_17_0_2_react.useState)([]);
|
|
const editId = (0,_react_17_0_2_react.useRef)();
|
|
const [IsSingle, setIsSingle] = (0,_react_17_0_2_react.useState)(1);
|
|
const [fileList, setFileList] = (0,_react_17_0_2_react.useState)([]);
|
|
const [fail, setFail] = (0,_react_17_0_2_react.useState)();
|
|
const [isLoading, setisloading] = (0,_react_17_0_2_react.useState)(false);
|
|
const [unfold, setUnfold] = (0,_react_17_0_2_react.useState)(false);
|
|
const [initValues, setInitValues] = (0,_react_17_0_2_react.useState)();
|
|
const [currentItemType, setCurrentItemType] = (0,_react_17_0_2_react.useState)("SELECT");
|
|
const formKnowLedgeValue = currentItemType === "BPROGRAM" ? (_a = es_form["default"].useWatch("hack", form)) == null ? void 0 : _a.tag_discipline_ids : es_form["default"].useWatch("knowledge", form);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
dispatch({
|
|
type: "globalSetting/footerToggle",
|
|
payload: false
|
|
});
|
|
return () => {
|
|
dispatch({
|
|
type: "globalSetting/footerToggle",
|
|
payload: true
|
|
});
|
|
};
|
|
}, []);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
window.addEventListener("beforeunload", handleBeforeunload);
|
|
return () => {
|
|
window.removeEventListener("beforeunload", handleBeforeunload);
|
|
};
|
|
}, []);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
const queryPages = searchParams.get("pages");
|
|
setPages(queryPages);
|
|
const paramsEditId = param.id;
|
|
editId.current = paramsEditId;
|
|
}, []);
|
|
const isEdit = param.type === "edit";
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
dispatch({
|
|
type: "problemset/getEditDisciplines",
|
|
payload: { source: "new_question" }
|
|
});
|
|
if (searchParams.get("type") === "1") {
|
|
editId.current && dispatch({
|
|
type: "problemset/getEditDataBprogram",
|
|
payload: { id: editId.current }
|
|
});
|
|
} else {
|
|
editId.current && dispatch({
|
|
type: "problemset/getEditData",
|
|
payload: { id: editId.current }
|
|
});
|
|
}
|
|
}, []);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
var _a2, _b2, _c2, _d2, _e2, _f;
|
|
if (!isEdit) {
|
|
setInitValues({
|
|
item_type: "SELECT",
|
|
choices: Array.from({ length: 4 }, () => ({ choice_text: "", is_answer: 0 })),
|
|
difficulty: 2,
|
|
item_banks_group_id: [Number(searchParams.get("group_id")) || 0]
|
|
});
|
|
} else {
|
|
if (!(problemset == null ? void 0 : problemset.editData)) {
|
|
return;
|
|
}
|
|
const { discipline, sub_discipline, sub_discipline_id, tag_disciplines, item_type, choices = [], sub_item_banks = [] } = (problemset == null ? void 0 : problemset.editData) || {};
|
|
if (searchParams.get("type") === "1") {
|
|
setCurrentItemType("BPROGRAM");
|
|
if ((_a2 = problemset == null ? void 0 : problemset.disciplinesData) == null ? void 0 : _a2.disciplines) {
|
|
const [ids, dictData] = (0,OjForm_util/* getDisciplineIds */.y3)((_b2 = problemset == null ? void 0 : problemset.disciplinesData) == null ? void 0 : _b2.disciplines, sub_discipline_id);
|
|
const initData = {
|
|
item_type: "BPROGRAM",
|
|
standard_answers: problemset.editData.standard_answer,
|
|
difficulty: problemset.editData.difficult,
|
|
item_banks_group_id: problemset.editData.item_banks_group_id,
|
|
hack: __spreadProps(__spreadValues({}, problemset.editData), {
|
|
sub_discipline_id: ids,
|
|
tag_discipline_ids: (_c2 = problemset.editData) == null ? void 0 : _c2.tag_discipline_ids
|
|
}),
|
|
hack_codes: __spreadProps(__spreadValues({}, problemset.editData), {
|
|
code: base64.Base64.decode(((_d2 = problemset.editData) == null ? void 0 : _d2.code) || "")
|
|
}),
|
|
hack_sets: __spreadValues({}, (_f = (_e2 = problemset.editData) == null ? void 0 : _e2.hack_sets) == null ? void 0 : _f[0])
|
|
};
|
|
setInitValues(initData);
|
|
if (sub_discipline_id) {
|
|
getTagData(sub_discipline_id).then((publicKnowledgeOptions) => {
|
|
});
|
|
}
|
|
}
|
|
} else {
|
|
const initData = __spreadProps(__spreadValues({}, problemset == null ? void 0 : problemset.editData), {
|
|
item_type: transformItemType(item_type),
|
|
choices: transformIsAnswer(choices),
|
|
course: [discipline == null ? void 0 : discipline.id, sub_discipline == null ? void 0 : sub_discipline.id],
|
|
knowledge: tag_disciplines == null ? void 0 : tag_disciplines.map((item) => item.id),
|
|
sub_item_banks: sub_item_banks.map((item) => __spreadProps(__spreadValues({}, item), { choices: transformIsAnswer(item.choices) }))
|
|
});
|
|
setInitValues(initData);
|
|
setCurrentItemType(transformItemType(item_type));
|
|
if (sub_discipline == null ? void 0 : sub_discipline.id) {
|
|
getTagData(sub_discipline == null ? void 0 : sub_discipline.id).then((publicKnowledgeOptions) => {
|
|
var _a3;
|
|
const ids = publicKnowledgeOptions == null ? void 0 : publicKnowledgeOptions.map((option) => option.id);
|
|
if (!(ids == null ? void 0 : ids.includes((_a3 = tag_disciplines == null ? void 0 : tag_disciplines[0]) == null ? void 0 : _a3.id))) {
|
|
setKnowledgeOptions((preOptions) => [...preOptions, ...tag_disciplines]);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}, [problemset.editData, problemset == null ? void 0 : problemset.disciplinesData]);
|
|
const handleBeforeunload = (event) => {
|
|
event.preventDefault();
|
|
event.returnValue = "";
|
|
};
|
|
const setInitDataByQuestionType = (questionType, item_banks_group_id = null) => {
|
|
form.resetFields();
|
|
form.setFieldsValue({ item_type: questionType, item_banks_group_id });
|
|
setCurrentItemType(questionType);
|
|
switch (questionType) {
|
|
case "SELECT":
|
|
form.setFieldsValue({ choices: Array.from({ length: 4 }, () => ({ choice_text: "", is_answer: 0 })) });
|
|
break;
|
|
case "JUDGMENT":
|
|
form.setFieldsValue({ choices: [{ choice_text: "\u6B63\u786E", is_answer: 0 }, { choice_text: "\u9519\u8BEF", is_answer: 0 }] });
|
|
break;
|
|
case "COMPLETION":
|
|
form.setFieldsValue({ standard_answers: [] });
|
|
break;
|
|
case "SUBJECTIVE":
|
|
form.setFieldsValue({ answer_texts: [], use_keywords: true });
|
|
break;
|
|
case "COMBINATION":
|
|
break;
|
|
case "PROGRAM":
|
|
break;
|
|
case "BPROGRAM":
|
|
form.setFieldsValue({
|
|
hack: {
|
|
time_limit: 3,
|
|
allow_student_debug: false,
|
|
submit_rule: 1
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
};
|
|
const handleValuesChange = (changedValues, allowChangeValues) => {
|
|
var _a2;
|
|
if (changedValues == null ? void 0 : changedValues.item_type) {
|
|
if ((changedValues == null ? void 0 : changedValues.item_type) === "PROGRAM") {
|
|
(0,util/* openNewWindow */.xg)(`/problems/newcreate`);
|
|
}
|
|
setInitDataByQuestionType(changedValues == null ? void 0 : changedValues.item_type, allowChangeValues == null ? void 0 : allowChangeValues.item_banks_group_id);
|
|
setUnfold(false);
|
|
}
|
|
if (changedValues == null ? void 0 : changedValues.course) {
|
|
const [id, subId] = changedValues.course;
|
|
getTagData(subId);
|
|
form.setFieldsValue({ knowledge: [] });
|
|
}
|
|
if ((_a2 = changedValues == null ? void 0 : changedValues.hack) == null ? void 0 : _a2.sub_discipline_id) {
|
|
const [id, subId] = changedValues.hack.sub_discipline_id;
|
|
getTagData(subId);
|
|
form.setFieldsValue({
|
|
hack: {
|
|
tag_discipline_ids: []
|
|
}
|
|
});
|
|
}
|
|
};
|
|
const handleAddKnowledgeFinish = (item) => {
|
|
setKnowledgeOptions([...knowledgeOptions, __spreadValues({}, item)]);
|
|
};
|
|
const handleFinish = () => __async(void 0, null, function* () {
|
|
var _a2, _b2, _c2, _d2;
|
|
const formValues = form.getFieldsValue();
|
|
if ((formValues == null ? void 0 : formValues.item_type) == "COMPLETION") {
|
|
if (formValues.is_ordered == void 0) {
|
|
formValues.is_ordered = true;
|
|
}
|
|
}
|
|
let { course = [], item_type, item_banks_group_id, knowledge = [], choices } = formValues || {};
|
|
const [id, subId] = course;
|
|
if (IsSingle === 1) {
|
|
if (item_type === "PROGRAM") {
|
|
(0,util/* openNewWindow */.xg)(`/problems/newcreate`);
|
|
return;
|
|
}
|
|
if (item_type === "BPROGRAM") {
|
|
let datas = __spreadProps(__spreadValues({}, formValues), {
|
|
hack: __spreadProps(__spreadValues({}, formValues == null ? void 0 : formValues.hack), {
|
|
sub_discipline_id: (_b2 = (_a2 = formValues == null ? void 0 : formValues.hack) == null ? void 0 : _a2.sub_discipline_id) == null ? void 0 : _b2[1],
|
|
difficult: formValues.difficulty,
|
|
item_banks_group_ids: formValues.item_banks_group_id
|
|
}),
|
|
hack_codes: __spreadProps(__spreadValues({}, formValues.hack_codes), {
|
|
code: base64.Base64.encode(formValues.hack_codes.code)
|
|
}),
|
|
hack_sets: [__spreadValues({}, formValues.hack_sets)],
|
|
update_hack_sets: [__spreadValues({}, formValues.hack_sets)],
|
|
is_blank: true
|
|
});
|
|
if (isEdit || sessionStorage.projectFill) {
|
|
let res2 = yield (0,fetch/* default */.ZP)(`/api/problems/${editId.current || sessionStorage.projectFill}.json`, {
|
|
method: "put",
|
|
body: __spreadValues({}, datas)
|
|
});
|
|
if (res2.status === 0) {
|
|
_umi_production_exports.history.replace(`/problemset?group_id=${formValues.hack.item_banks_group_id}`);
|
|
}
|
|
} else {
|
|
let res2 = yield (0,fetch/* default */.ZP)(`/api/problems.json`, {
|
|
method: "post",
|
|
body: __spreadValues({}, datas)
|
|
});
|
|
if (res2.status === 0) {
|
|
modal["default"].confirm({
|
|
title: "\u63D0\u793A",
|
|
centered: true,
|
|
icon: null,
|
|
content: "\u8BD5\u9898\u65B0\u589E\u6210\u529F",
|
|
okText: "\u7EE7\u7EED\u65B0\u589E",
|
|
cancelText: "\u8FD4\u56DE\u5217\u8868",
|
|
onOk() {
|
|
setInitDataByQuestionType(currentItemType, item_banks_group_id);
|
|
},
|
|
onCancel() {
|
|
_umi_production_exports.history.replace(`/problemset?group_id=${item_banks_group_id}`);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if (item_type === "SELECT") {
|
|
item_type = choices.filter((choice) => choice.is_answer === 1).length > 1 ? "MULTIPLE" : "SINGLE";
|
|
}
|
|
if (item_type === "COMBINATION") {
|
|
let { sub_item_banks } = formValues || {};
|
|
formValues.sub_item_banks = sub_item_banks == null ? void 0 : sub_item_banks.map((item) => __spreadValues({}, item));
|
|
}
|
|
const postData = __spreadProps(__spreadValues({}, formValues), {
|
|
discipline_id: id,
|
|
sub_discipline_id: subId,
|
|
item_banks_group_ids: item_banks_group_id,
|
|
tag_discipline_ids: knowledge,
|
|
item_type
|
|
});
|
|
let res;
|
|
if (isEdit) {
|
|
res = yield dispatch({
|
|
type: "problemset/editProblemset",
|
|
payload: __spreadProps(__spreadValues({}, postData), { id: editId.current })
|
|
});
|
|
} else {
|
|
res = yield dispatch({
|
|
type: "problemset/addProblemset",
|
|
payload: postData
|
|
});
|
|
}
|
|
if (res.status === 0) {
|
|
if (isEdit) {
|
|
_umi_production_exports.history.replace(`/problemset?group_id=${item_banks_group_id}`);
|
|
} else {
|
|
modal["default"].confirm({
|
|
title: "\u63D0\u793A",
|
|
centered: true,
|
|
icon: null,
|
|
content: "\u8BD5\u9898\u65B0\u589E\u6210\u529F",
|
|
okText: "\u7EE7\u7EED\u65B0\u589E",
|
|
cancelText: "\u8FD4\u56DE\u5217\u8868",
|
|
onOk() {
|
|
setInitDataByQuestionType(currentItemType, item_banks_group_id);
|
|
},
|
|
onCancel() {
|
|
_umi_production_exports.history.replace(`/problemset?group_id=${item_banks_group_id}`);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} else {
|
|
if ((fileList == null ? void 0 : fileList.length) <= 0) {
|
|
message/* default */.ZP.info("\u8BF7\u4E0A\u4F20\u8BD5\u9898\u6587\u4EF6");
|
|
return;
|
|
}
|
|
setisloading(true);
|
|
const formData = new FormData();
|
|
formData.append("file", fileList[0]);
|
|
formData.append("sub_discipline_id", subId);
|
|
const result = yield (0,fetch/* default */.ZP)(
|
|
`/api/item_banks/file_import.json`,
|
|
{
|
|
method: "post",
|
|
body: formData
|
|
},
|
|
true
|
|
);
|
|
setisloading(false);
|
|
if ((result == null ? void 0 : result.status) === 0) {
|
|
if (((_c2 = result == null ? void 0 : result.fail) == null ? void 0 : _c2.length) > 0) {
|
|
setFail(result == null ? void 0 : result.fail);
|
|
message/* default */.ZP.error("\u4E0A\u4F20\u5931\u8D25\u9898\u6570\u4E3A" + ((_d2 = result == null ? void 0 : result.fail) == null ? void 0 : _d2.length) + "\uFF0C\u53EF\u5728\u5E95\u90E8\u8BD5\u9898\u5217\u8868\u67E5\u770B\u9519\u8BEF\u539F\u56E0\u3002");
|
|
return;
|
|
}
|
|
form.setFieldsValue({ course: [] });
|
|
setFileList([]);
|
|
setFail([]);
|
|
message/* default */.ZP.info("\u4E0A\u4F20\u6210\u529F");
|
|
}
|
|
}
|
|
});
|
|
const handleFinishFailed = (errInfo) => __async(void 0, null, function* () {
|
|
var _a2, _b2;
|
|
if (errInfo.errorFields[0].name.includes("standard_answers")) {
|
|
message/* default */.ZP.error("\u586B\u7A7A\u9879\u7B54\u6848\u4E0D\u80FD\u4E3A\u7A7A");
|
|
} else {
|
|
message/* default */.ZP.error(errInfo.errorFields[0].errors[0]);
|
|
}
|
|
form.scrollToField((_b2 = (_a2 = errInfo == null ? void 0 : errInfo.errorFields) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.name, { behavior: "smooth", block: "center" });
|
|
});
|
|
const getTagData = (id) => __async(void 0, null, function* () {
|
|
const res = yield dispatch({
|
|
type: "exercise/getTagDiscipline",
|
|
payload: { sub_discipline_id: id }
|
|
});
|
|
setKnowledgeOptions(res.tag_disciplines);
|
|
return res == null ? void 0 : res.tag_disciplines;
|
|
});
|
|
const columns = [
|
|
{
|
|
title: "\u9898\u76EE\u540D\u79F0",
|
|
dataIndex: "name",
|
|
key: "name"
|
|
},
|
|
{
|
|
title: "\u9519\u8BEF\u539F\u56E0",
|
|
dataIndex: "message",
|
|
key: "message"
|
|
}
|
|
];
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.bgWrapper }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: NewItemmodules.bg }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z, { className: "mb20", separator: ">" }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, { href: "/problemset" }, "\u8BD5\u9898\u5E93"), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, isEdit ? "\u7F16\u8F91" : "\u65B0\u589E", "\u8BD5\u9898")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.main }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_radio/* default.Group */.ZP.Group,
|
|
{
|
|
className: NewItemmodules.addTypeRadio,
|
|
optionType: "button",
|
|
options: [
|
|
{ label: "\u5355\u4E2A\u6DFB\u52A0", value: 1 },
|
|
{ label: "\u6279\u91CF\u5BFC\u5165", value: 2 }
|
|
],
|
|
onChange: (e) => {
|
|
setIsSingle(e.target.value);
|
|
form.setFieldsValue({ course: [] });
|
|
setFileList([]);
|
|
setFail([]);
|
|
},
|
|
value: IsSingle
|
|
}
|
|
), IsSingle === 1 && initValues && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"],
|
|
{
|
|
form,
|
|
className: NewItemmodules.formWrap,
|
|
layout: "horizontal",
|
|
colon: false,
|
|
onValuesChange: handleValuesChange,
|
|
onFinish: handleFinish,
|
|
onFinishFailed: handleFinishFailed,
|
|
initialValues: initValues
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { label: "\u8BD5\u9898\u7C7B\u578B", name: "item_type", rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u9898\u578B" }] }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_radio/* default.Group */.ZP.Group,
|
|
{
|
|
disabled: isEdit,
|
|
optionType: "button",
|
|
className: NewItemmodules.questionTypeRadio,
|
|
options: [
|
|
{ label: "\u9009\u62E9\u9898", value: "SELECT" },
|
|
{ label: "\u5224\u65AD\u9898", value: "JUDGMENT" },
|
|
{ label: "\u586B\u7A7A\u9898", value: "COMPLETION" },
|
|
{ label: "\u7B80\u7B54\u9898", value: "SUBJECTIVE" },
|
|
{ label: "\u7F16\u7A0B\u9898", value: "PROGRAM" },
|
|
{ label: "\u7EC4\u5408\u9898", value: "COMBINATION" },
|
|
{ label: "\u7A0B\u5E8F\u586B\u7A7A\u9898", value: "BPROGRAM" }
|
|
]
|
|
}
|
|
)),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.topicWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(RenderEditor, { currentItemType, form })),
|
|
currentItemType !== "PROGRAM" && /* @__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,
|
|
{
|
|
label: "\u65B9\u5411&\u8BFE\u7A0B",
|
|
className: `${NewItemmodules.cascaderWrapper} mb30`,
|
|
labelCol: { span: 24 },
|
|
style: { marginTop: currentItemType === "PROGRAM" ? 0 : 30 },
|
|
name: currentItemType === "BPROGRAM" ? ["hack", "sub_discipline_id"] : "course",
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u8BFE\u7A0B" }]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
cascader/* default */.Z,
|
|
{
|
|
className: NewItemmodules.courseCascader,
|
|
popupClassName: NewItemmodules.cascaderPopup,
|
|
dropdownMenuColumnStyle: {
|
|
padding: "8px 12px",
|
|
fontSize: 14
|
|
},
|
|
showArrow: true,
|
|
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
|
|
allowClear: false,
|
|
options: problemset.courseOptions
|
|
}
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.unfold }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => setUnfold(!unfold) }, "\u66F4\u591A\u8BBE\u7F6E", unfold ? /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xialajiantou1" }) : /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xialajiantoubeifen" }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: unfold ? "block" : "none" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u77E5\u8BC6\u70B9",
|
|
name: currentItemType === "BPROGRAM" ? ["hack", "tag_discipline_ids"] : "knowledge",
|
|
labelCol: { flex: "62px" },
|
|
labelAlign: "left",
|
|
className: `${NewItemmodules.knowledgeWrapper} mb30`
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
Knowledge/* Knowledge */.N,
|
|
{
|
|
selectvalues: formKnowLedgeValue,
|
|
subId: ((_b = form.getFieldsValue().course) == null ? void 0 : _b[1]) || ((_e = (_d = (_c = form.getFieldsValue()) == null ? void 0 : _c.hack) == null ? void 0 : _d.sub_discipline_id) == null ? void 0 : _e[1]),
|
|
knowledgeOptions,
|
|
onAddKnowledgeFinish: handleAddKnowledgeFinish
|
|
}
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
labelCol: { flex: "62px" },
|
|
labelAlign: "left",
|
|
name: "difficulty",
|
|
label: "\u96BE\u5EA6",
|
|
className: `${NewItemmodules.difficultyWrapper} mb30`,
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u96BE\u5EA6" }]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_radio/* default.Group */.ZP.Group,
|
|
{
|
|
optionType: "button",
|
|
className: NewItemmodules.difficultyRadio
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Button */.ZP.Button, { value: 1, className: NewItemmodules.easy }, "\u7B80\u5355"),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Button */.ZP.Button, { value: 2, className: NewItemmodules.medium }, "\u9002\u4E2D"),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_radio/* default.Button */.ZP.Button, { value: 3, className: NewItemmodules.hard }, "\u56F0\u96BE")
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
label: "\u653E\u5165\u6587\u4EF6\u5939\u76EE\u5F55",
|
|
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u6587\u4EF6\u5939" }],
|
|
name: "item_banks_group_id",
|
|
labelCol: { span: 24 },
|
|
wrapperCol: { span: 24 }
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(FolderTree/* default */.Z, { scrollId: "item_banks_group_id" })
|
|
)))
|
|
), IsSingle === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"],
|
|
{
|
|
form,
|
|
className: NewItemmodules.formWrap,
|
|
layout: "vertical",
|
|
onValuesChange: handleValuesChange,
|
|
onFinish: handleFinish
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { className: NewItemmodules.cascaderWrapper, label: "\u65B9\u5411&\u8BFE\u7A0B\uFF1A", name: "course", rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u8BFE\u7A0B" }] }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
cascader/* default */.Z,
|
|
{
|
|
className: NewItemmodules.courseCascader,
|
|
popupClassName: NewItemmodules.cascaderPopup,
|
|
dropdownMenuColumnStyle: {
|
|
padding: "8px 12px",
|
|
fontSize: 14
|
|
},
|
|
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
|
|
showArrow: true,
|
|
allowClear: false,
|
|
options: problemset.courseOptions,
|
|
style: {
|
|
width: 490
|
|
}
|
|
}
|
|
)),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mb30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: NewItemmodules.uploadTips }, "\u6839\u636E\u6A21\u677F\u8981\u6C42\u7F16\u8F91\u9700\u8981\u4E0A\u4F20\u7684\u8BD5\u9898", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u63D0\u793A:"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "1\u3001\u76EE\u524D\u4EC5\u652F\u6301Excel\u683C\u5F0F\u6A21\u677F\uFF1B"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "2\u3001\u4E0D\u652F\u6301\u7EC4\u5408\u9898\u548C\u5B9E\u8BAD\u9898\u5BFC\u5165\uFF1B"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "3\u3001\u6BCF\u6B21\u6700\u591A\u5BFC\u5165300\u9898\uFF1B"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "4\u3001\u586B\u7A7A\u9898\u5BFC\u5165\u6700\u591A\u652F\u63018\u4E2A\u586B\u7A7A\u9879\u3002")) }, /* @__PURE__ */ _react_17_0_2_react.createElement(QuestionCircleOutlined/* default */.Z, { className: NewItemmodules.uploadTipsIcon }))), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"a",
|
|
{
|
|
className: `${NewItemmodules.downloadBtn} ml30`,
|
|
href: env/* default */.Z.API_SERVER + `/api/item_banks/down_template`,
|
|
download: true
|
|
},
|
|
"\u4E0B\u8F7D\u8BD5\u9898\u6A21\u7248",
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiazai4 ml10", style: { fontSize: 14 } })
|
|
)),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
upload["default"],
|
|
{
|
|
onRemove: () => {
|
|
setFileList([]);
|
|
},
|
|
beforeUpload: (file) => {
|
|
console.log(file);
|
|
if ((file == null ? void 0 : file.size) > 1024 * 1024 * 50) {
|
|
message/* default */.ZP.info("\u6587\u4EF6\u8D85\u8FC750M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42");
|
|
return false;
|
|
}
|
|
let filelist = [];
|
|
filelist.push(file);
|
|
setFileList([...filelist]);
|
|
return false;
|
|
},
|
|
fileList,
|
|
accept: ".xls,.xlsx",
|
|
showUploadList: {
|
|
removeIcon: /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shanchu12", style: { color: "#F65160" } })
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.uploadBtn }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-shangchuan3", style: { fontSize: 14 } }), "\u70B9\u51FB\u4E0A\u4F20")
|
|
)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), (fail == null ? void 0 : fail.length) > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { fontSize: "18px", display: "flex", width: "100%", justifyContent: "center" } }, "\u9519\u8BEF\u5217\u8868"), (fail == null ? void 0 : fail.length) > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
table["default"],
|
|
{
|
|
style: { marginTop: "10px" },
|
|
dataSource: fail,
|
|
columns
|
|
}
|
|
))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.buttonFixed }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: NewItemmodules.buttonWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
size: "middle",
|
|
className: `${NewItemmodules.button} mr20`,
|
|
onClick: () => _umi_production_exports.history.push("/problemset")
|
|
},
|
|
"\u53D6\u6D88"
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
size: "middle",
|
|
type: "primary",
|
|
className: `${NewItemmodules.button} mr20`,
|
|
onClick: () => form.submit(),
|
|
loading: loading["problemset/editProblemset"] || loading["problemset/addProblemset"] || isLoading
|
|
},
|
|
currentItemType === "PROGRAM" && IsSingle === 1 ? "\u7ACB\u5373\u521B\u5EFA" : "\u4FDD\u5B58\u9898\u76EE"
|
|
)))));
|
|
};
|
|
/* harmony default export */ var Problemset_NewItem = ((0,_umi_production_exports.connect)(
|
|
({
|
|
problemset,
|
|
loading,
|
|
globalSetting
|
|
}) => ({
|
|
problemset,
|
|
globalSetting,
|
|
loading: loading.effects
|
|
})
|
|
)(NewItem));
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 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=";
|
|
|
|
/***/ })
|
|
|
|
}]); |