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

608 lines
33 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[6595],{
/***/ 80488:
/*!**********************************************************!*\
!*** ./src/components/FixedButton/index.tsx + 1 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
t: function() { return /* binding */ FixedButton; }
});
// 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/button/index.js
var es_button = __webpack_require__(3113);
;// CONCATENATED MODULE: ./src/components/FixedButton/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var FixedButtonmodules = ({"buttonFixed":"buttonFixed___vyq30","button":"button___hxmYv","buttonWrap":"buttonWrap___uK8dl"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
;// CONCATENATED MODULE: ./src/components/FixedButton/index.tsx
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
const FixedButton = ({
cancelText = "\u53D6\u6D88",
okText = "\u786E\u5B9A",
loading = false,
hasOkBtn = true,
hasCancelBtn = true,
okButtonProps = {},
onCancel = () => {
},
onOk = () => {
},
className = ""
}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(FixedButtonmodules.buttonFixed, className) }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: FixedButtonmodules.buttonWrap }, hasCancelBtn && /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
size: "middle",
className: `${FixedButtonmodules.button} mr20`,
onClick: onCancel
},
cancelText
), hasOkBtn && /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
__spreadValues({
size: "middle",
type: "primary",
className: `${FixedButtonmodules.button} mr20`,
loading,
onClick: onOk
}, okButtonProps),
okText
)));
};
/***/ }),
/***/ 6595:
/*!*************************************************************************************!*\
!*** ./src/pages/Shixuns/Detail/Settings/components/TestCase/index.tsx + 1 modules ***!
\*************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_TestCase; }
});
// 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 + 15 modules
var _umi_production_exports = __webpack_require__(23852);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/collapse/index.js + 8 modules
var collapse = __webpack_require__(74997);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(20008);
// 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/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(24905);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
var input_number = __webpack_require__(97913);
// 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/space/index.js + 3 modules
var space = __webpack_require__(81327);
// 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/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
var es_switch = __webpack_require__(78673);
// EXTERNAL MODULE: ./src/components/FixedButton/index.tsx + 1 modules
var FixedButton = __webpack_require__(80488);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(20473);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Detail/Settings/components/TestCase/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TestCasemodules = ({"wrap":"wrap___BgpUe","row":"row___UWxAG","textarea":"textarea___gaLin","btn":"btn___ZpuhS","sub":"sub___Jd_ZS"});
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
var monaco_editor = __webpack_require__(16162);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(64841);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(77883);
;// CONCATENATED MODULE: ./src/pages/Shixuns/Detail/Settings/components/TestCase/index.tsx
/* provided dependency */ var React = __webpack_require__(/*! react */ 59301);
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 { Panel } = collapse["default"];
const { TextArea } = input["default"];
const TestCase = ({
active,
type = "jupyter"
}) => {
var _a, _b;
const params = (0,_umi_production_exports.useParams)();
const [form] = es_form["default"].useForm();
const [formValue, setFormValue] = (0,_react_17_0_2_react.useState)({});
const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false);
const [activeKey, setActiveKey] = (0,_react_17_0_2_react.useState)(0);
const [testSetList, setTestSetList] = (0,_react_17_0_2_react.useState)([]);
const [tagsList, setTagsList] = (0,_react_17_0_2_react.useState)([]);
const [list, setList] = (0,_react_17_0_2_react.useState)([]);
const editable = (_b = (_a = (0,authority/* userInfo */.eY)()) == null ? void 0 : _a.shixun) == null ? void 0 : _b.editable;
(0,_react_17_0_2_react.useEffect)(() => {
if (active === "testCase") {
getData();
}
}, [active]);
(0,_react_17_0_2_react.useEffect)(() => {
getTags();
}, []);
const getData = () => __async(void 0, null, function* () {
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
const testSetData = [{ hidden: 0, input: "", output: "", score: 100 }];
const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${params == null ? void 0 : params.id}/jupyter_evalute_setting.json`, { method: "get" });
if ((res == null ? void 0 : res.status) === 0) {
setList((_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.standard_scripts);
const initData = {
open_evaluate: (_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.open_evaluate,
exec_time: ((_c = res == null ? void 0 : res.data) == null ? void 0 : _c.exec_time) || 3,
test_set_score: ((_d = res == null ? void 0 : res.data) == null ? void 0 : _d.test_set_score) === null ? false : (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.test_set_score,
test_set_average: ((_f = res == null ? void 0 : res.data) == null ? void 0 : _f.test_set_average) === null ? true : (_g = res == null ? void 0 : res.data) == null ? void 0 : _g.test_set_average,
choice_standard_scripts: ((_h = res == null ? void 0 : res.data) == null ? void 0 : _h.choice_standard_scripts) || null,
evaluate_script: ((_i = res == null ? void 0 : res.data) == null ? void 0 : _i.evaluate_script) || "",
evaluate_method: (_j = res == null ? void 0 : res.data) == null ? void 0 : _j.evaluate_method,
use_jupyter_result: (_k = res == null ? void 0 : res.data) == null ? void 0 : _k.use_jupyter_result
};
form.setFieldsValue(initData);
setFormValue(initData);
setTestSetList(((_m = (_l = res == null ? void 0 : res.data) == null ? void 0 : _l.test_sets) == null ? void 0 : _m.length) ? (_n = res == null ? void 0 : res.data) == null ? void 0 : _n.test_sets : testSetData);
}
});
const getTags = () => __async(void 0, null, function* () {
var _a2;
const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${params == null ? void 0 : params.id}/get_jupyter_tags.json`, { method: "get" });
if ((res == null ? void 0 : res.status) === 0) {
setTagsList(((_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.list) || []);
}
});
const handleOk = (values) => __async(void 0, null, function* () {
const scoreList = testSetList.map((item) => item.score);
const sumScore = scoreList.reduce((current, next) => current + next, 0);
if (values.test_set_score && sumScore !== 100) {
message/* default */.ZP.warning("\u6D4B\u8BD5\u7528\u4F8B\u7684\u8BC4\u5206\u5360\u6BD4\u4E4B\u548C\u5FC5\u987B\u7B49\u4E8E100");
return;
}
if (values.evaluate_method === 3 && (testSetList == null ? void 0 : testSetList.some((e) => !e.tags))) {
message/* default */.ZP.warning("\u8BF7\u9009\u62E9\u6307\u5B9A\u4EE3\u7801\u5757");
return;
}
setBtnLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${params == null ? void 0 : params.id}/update_jupyter_evaluate_setting.json`, {
method: "post",
body: __spreadProps(__spreadValues({}, values), {
mirror_script_id: values == null ? void 0 : values.choice_standard_scripts,
open_evaluate: (values == null ? void 0 : values.open_evaluate) ? 1 : 0,
test_set: testSetList.map((e) => __spreadProps(__spreadValues({}, e), { is_file: false }))
})
});
if (res.status === 0) {
message/* default */.ZP.success("\u4FDD\u5B58\u6210\u529F");
}
setBtnLoading(false);
});
const handleValuesChange = (changedValues) => {
setFormValue(__spreadValues({}, form.getFieldsValue()));
if ("test_set_average" in changedValues && (changedValues == null ? void 0 : changedValues.test_set_average)) {
handleShareRatio(testSetList);
}
if ("test_set_score" in changedValues && (changedValues == null ? void 0 : changedValues.test_set_score)) {
form.setFieldsValue({ test_set_average: true });
setFormValue(__spreadProps(__spreadValues({}, form.getFieldsValue()), { test_set_average: true }));
handleShareRatio(testSetList);
}
if ("choice_standard_scripts" in changedValues) {
modal["default"].confirm({
centered: true,
title: "\u63D0\u793A",
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
content: /* @__PURE__ */ React.createElement("div", { className: "tc font16" }, "\u539F\u6709\u811A\u672C\u5C06\u88AB\u65B0\u7684\u811A\u672C\u8986\u76D6\uFF0C\u65E0\u6CD5\u64A4\u9500", /* @__PURE__ */ React.createElement("br", null), "\u662F\u5426\u786E\u8BA4\u6267\u884C\u8986\u76D6\u64CD\u4F5C"),
onOk: () => __async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${params == null ? void 0 : params.id}/get_script_contents.json`, {
method: "get",
params: {
id: params == null ? void 0 : params.id,
script_id: changedValues == null ? void 0 : changedValues.choice_standard_scripts
}
});
if (res == null ? void 0 : res.content) {
modal["default"].info({
centered: true,
title: "\u63D0\u793A",
okText: "\u77E5\u9053\u5566",
content: /* @__PURE__ */ React.createElement("div", { className: "tc font16" }, "\u8BC4\u6D4B\u811A\u672C\u751F\u6210\u6210\u529F\uFF01")
});
form.setFieldsValue({ evaluate_script: res == null ? void 0 : res.content });
setFormValue(__spreadProps(__spreadValues({}, form.getFieldsValue()), { evaluate_script: res == null ? void 0 : res.content }));
}
})
});
}
};
const handleShareRatio = (testSetData) => {
let code_compile_score = 0;
const score = Math.floor((100 - code_compile_score) / testSetData.length);
const lastScore = score + (100 - code_compile_score) % testSetData.length;
testSetData = testSetData.map((item, index) => {
if (index === testSetData.length - 1) {
return __spreadProps(__spreadValues({}, item), { score: lastScore });
}
return __spreadProps(__spreadValues({}, item), { score });
});
setTestSetList(testSetData);
};
const handleAddTestSet = () => {
const testSetData = [...testSetList, { hidden: 0, input: "", output: "", score: 0 }];
if (form.getFieldValue("test_set_average")) {
handleShareRatio(testSetData);
} else {
setTestSetList(testSetData);
}
};
const { test_set_score, test_set_average, choice_standard_scripts, open_evaluate } = formValue;
return /* @__PURE__ */ React.createElement("section", { className: TestCasemodules.wrap }, /* @__PURE__ */ React.createElement(
es_form["default"],
{
form,
disabled: !open_evaluate,
layout: "vertical",
onValuesChange: handleValuesChange,
onFinish: handleOk
},
/* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
name: "open_evaluate",
style: { marginTop: 10 },
valuePropName: "checked"
},
/* @__PURE__ */ React.createElement(es_checkbox["default"], { disabled: false }, "\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD")
),
/* @__PURE__ */ React.createElement("h4", { className: "font14" }, "\u8BC4\u6D4B\u65F6\u957F\u9650\u5236"),
/* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
label: "\u8BC4\u6D4B\u65F6\u957F\uFF08\u79D2\uFF09\uFF1A",
name: "exec_time",
className: TestCasemodules.row,
rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u8BC4\u6D4B\u65F6\u957F\u9650\u5236" }, {
type: "number",
min: 3,
message: "\u6700\u5C0F\u9650\u5236\u65F6\u95F4\u662F3\u79D2"
}]
},
/* @__PURE__ */ React.createElement(input_number/* default */.Z, { size: "large", style: { width: 400 }, min: 3 })
)),
/* @__PURE__ */ React.createElement("h4", { className: "font14 mb10" }, "\u7CFB\u7EDF\u8BC4\u5206\u89C4\u5219"),
/* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement(es_form["default"].Item, { name: "test_set_score" }, /* @__PURE__ */ React.createElement(es_radio/* default.Group */.ZP.Group, null, /* @__PURE__ */ React.createElement(space/* default */.Z, { direction: "vertical" }, /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: false }, "\u901A\u8FC7\u5168\u90E8\u6D4B\u8BD5\u96C6", /* @__PURE__ */ React.createElement("span", { className: "c-grey-999" }, " \uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u4EC5\u5F53\u6240\u6709\u6D4B\u8BD5\u96C6\u90FD\u6B63\u786E\u65F6\uFF0C\u624D\u83B7\u5F97\u4E00\u6B21\u6027\u5956\u52B1\uFF09")), /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: true }, "\u901A\u8FC7\u90E8\u5206\u6D4B\u8BD5\u96C6", /* @__PURE__ */ React.createElement("span", { className: "c-grey-999" }, " \uFF08\u5B66\u5458\u8BC4\u6D4B\uFF0C\u901A\u8FC7\u6D4B\u8BD5\u96C6\u5373\u53EF\u83B7\u5F97\u5BF9\u5E94\u5956\u52B1\uFF09")))))),
/* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
label: /* @__PURE__ */ React.createElement("span", { style: { fontWeight: 500 }, className: "c-black" }, "\u8BC4\u6D4B\u8BBE\u7F6E"),
name: "evaluate_method",
style: { flexDirection: "row", marginTop: 15 },
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u8BC4\u6D4B\u8BBE\u7F6E" }]
},
/* @__PURE__ */ React.createElement(es_radio/* default.Group */.ZP.Group, null, /* @__PURE__ */ React.createElement(space/* default */.Z, { direction: "vertical" }, /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: 1 }, "\u901A\u8FC7\u6240\u6709\u4EE3\u7801\u5757\u8BC4\u6D4B", /* @__PURE__ */ React.createElement("span", { className: "c-grey-999" }, " \uFF08\u5BF9\u5B66\u5458\u4EFB\u52A1\u6587\u4EF6\u7684\u6240\u6709\u975E\u7A7A\u4EE3\u7801\u5757\u8FDB\u884C\u8BC4\u6D4B\uFF09")), /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: 3 }, "\u901A\u8FC7\u6307\u5B9A\u4EE3\u7801\u5757\u8BC4\u6D4B", /* @__PURE__ */ React.createElement("span", { className: "c-grey-999" }, " \uFF08\u5BF9\u5B66\u5458\u4EFB\u52A1\u6587\u4EF6\u7684\u6307\u5B9A\u975E\u7A7A\u4EE3\u7801\u5757\u8FDB\u884C\u8BC4\u6D4B\uFF09"))))
),
/* @__PURE__ */ React.createElement(row/* default */.Z, { align: "middle", justify: "space-between", className: "font14" }, /* @__PURE__ */ React.createElement("div", { style: { fontWeight: 500 } }, /* @__PURE__ */ React.createElement("span", { className: TestCasemodules.sub }, "*"), "\u6D4B\u8BD5\u7528\u4F8B"), /* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement(ui_customization/* CustomButton */.op, { style: { borderRadius: 2 }, onClick: handleAddTestSet }, "\u6DFB\u52A0\u6D4B\u8BD5\u7528\u4F8B"))),
test_set_score && /* @__PURE__ */ React.createElement(es_form["default"].Item, { name: "test_set_average" }, /* @__PURE__ */ React.createElement(es_radio/* default.Group */.ZP.Group, null, /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: true }, "\u5747\u5206\u6BD4\u4F8B"), /* @__PURE__ */ React.createElement(es_radio/* default */.ZP, { value: false, style: { marginLeft: 50 } }, "\u81EA\u5B9A\u4E49\u6BD4\u4F8B"))),
/* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement("div", null, testSetList.map((item, key) => {
return /* @__PURE__ */ React.createElement(
collapse["default"],
{
activeKey,
key,
onChange: () => {
setActiveKey((p) => p === key ? null : key);
}
},
/* @__PURE__ */ React.createElement(
Panel,
{
header: /* @__PURE__ */ React.createElement("div", { className: "font16" }, /* @__PURE__ */ React.createElement("span", { className: "mr10" }, "\u6D4B\u8BD5\u7528\u4F8B", key + 1), formValue.test_set_score && /* @__PURE__ */ React.createElement("span", { style: { marginLeft: 40 } }, /* @__PURE__ */ React.createElement(
input["default"],
{
style: { width: 120 },
value: item.score,
onClick: (e) => e.stopPropagation(),
type: "number",
disabled: test_set_average,
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
return __spreadProps(__spreadValues({}, test), { score: e.target.value ? Number(e.target.value) : 0 });
}
return test;
});
const data = { test_set_average: false };
setFormValue(__spreadValues(__spreadValues({}, formValue), data));
form.setFieldsValue(data);
setTestSetList(testData);
}
}
), /* @__PURE__ */ React.createElement("span", { className: "ml10 mr10" }, "%")), /* @__PURE__ */ React.createElement("span", { className: "tr flex1", style: { float: "right" } }, key !== 0 && /* @__PURE__ */ React.createElement(tooltip/* default */.Z, { placement: "bottom", title: "\u5220\u9664" }, /* @__PURE__ */ React.createElement("span", { style: { color: "#c5c5c5" }, className: "current iconfont icon-shanchu4", onClick: (e) => {
e.stopPropagation();
modal["default"].confirm({
centered: true,
icon: null,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
title: "\u63D0\u793A",
content: "\u786E\u8BA4\u8981\u5220\u9664\u8FD9\u4E2A\u6D4B\u8BD5\u7528\u4F8B\u5417\uFF1F",
onOk: () => {
const testData = testSetList.filter((_, testIndex) => testIndex !== key);
handleShareRatio(testData);
}
});
} })))),
key
},
/* @__PURE__ */ React.createElement("div", null, formValue.evaluate_method === 3 && /* @__PURE__ */ React.createElement(row/* default */.Z, { align: "middle", className: "mb20" }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", { className: TestCasemodules.sub }, "*"), /* @__PURE__ */ React.createElement("span", null, "\u6307\u5B9A\u4EE3\u7801\u5757"), /* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: "\u8BF7\u5148\u5728Jupyter\u4E2D\u5BF9\u60A8\u9700\u8981\u8BC4\u6D4B\u7684\u6307\u5B9A\u4EE3\u7801\u5757\u5B8C\u6210\u6807\u7B7E\u8BBE\u7F6E\u3002" }, /* @__PURE__ */ React.createElement("i", { style: { marginLeft: 6, marginRight: 20, color: "#145DFF" }, className: "iconfont icon-xiaowenhao2 font14" }))), /* @__PURE__ */ React.createElement(
es_select["default"],
{
value: item.tags,
size: "large",
style: { width: 450 },
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
return __spreadProps(__spreadValues({}, test), { tags: e });
}
return test;
});
setTestSetList(testData);
}
},
tagsList == null ? void 0 : tagsList.map((e) => /* @__PURE__ */ React.createElement(es_select["default"].Option, { value: e == null ? void 0 : e.tags, key: e == null ? void 0 : e.tags }, e == null ? void 0 : e.tags))
)), /* @__PURE__ */ React.createElement(row/* default */.Z, { align: "middle" }, /* @__PURE__ */ React.createElement("div", null, " ", /* @__PURE__ */ React.createElement("span", null, "\u9884\u671F\u8F93\u51FA")), /* @__PURE__ */ React.createElement(
TextArea,
{
bordered: false,
className: TestCasemodules.textarea,
rows: 5,
placeholder: "\u9884\u671F\u8F93\u51FA",
value: item.output,
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
return __spreadProps(__spreadValues({}, test), { output: e.target.value });
}
return test;
});
setTestSetList(testData);
}
}
)), /* @__PURE__ */ React.createElement(row/* default */.Z, { className: "mt20", align: "middle" }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, "\u53EF\u89C1\u6027"), /* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("div", null, '\u5168\u90E8\u9690\u85CF\uFF1A\u9690\u85CF\u6D4B\u8BD5\u96C6\u53EF\u4EE5\u9632\u6B62\u5B66\u751F\u901A\u8FC7"print"\u7B49\u624B\u6BB5\u76F4\u63A5\u901A\u5173'), /* @__PURE__ */ React.createElement("div", null, "\u9690\u85CF\u9884\u671F\u8F93\u51FA\uFF1A\u52FE\u9009\u540E\u9884\u671F\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1"), /* @__PURE__ */ React.createElement("div", null, "\u9690\u85CF\u5B9E\u9645\u8F93\u51FA\uFF1A\u52FE\u9009\u540E\u5B9E\u9645\u8F93\u51FA\u5BF9\u5B66\u5458\u59CB\u7EC8\u4E0D\u53EF\u89C1")) }, /* @__PURE__ */ React.createElement("i", { style: { marginLeft: 6, marginRight: 13, color: "#145DFF" }, className: "iconfont icon-xiaowenhao2 font14" }))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(
es_checkbox["default"],
{
className: "font14 ml5",
checked: item.hidden === 1,
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
let param = {
is_invisible: false,
actual_output_visible: false
};
if (e.target.checked) {
param = {
is_invisible: true,
actual_output_visible: true
};
}
return __spreadProps(__spreadValues(__spreadValues({}, test), param), { hidden: e.target.checked ? 1 : 0 });
}
return test;
});
setTestSetList(testData);
}
},
"\u5168\u90E8\u9690\u85CF"
)), /* @__PURE__ */ React.createElement(
es_checkbox["default"],
{
checked: item.is_invisible,
style: { margin: "0 60px" },
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
let hidden = 0;
if (e.target.checked && test.actual_output_visible) {
hidden = 1;
}
return __spreadProps(__spreadValues({}, test), { hidden, is_invisible: e.target.checked });
}
return test;
});
setTestSetList(testData);
}
},
"\u9690\u85CF\u9884\u671F\u8F93\u51FA"
), /* @__PURE__ */ React.createElement(
es_checkbox["default"],
{
checked: item.actual_output_visible,
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
let hidden = 0;
if (e.target.checked && test.is_invisible) {
hidden = 1;
}
return __spreadProps(__spreadValues({}, test), { hidden, actual_output_visible: e.target.checked });
}
return test;
});
setTestSetList(testData);
}
},
"\u9690\u85CF\u5B9E\u9645\u8F93\u51FA"
)), /* @__PURE__ */ React.createElement("div", { className: "mt20" }, /* @__PURE__ */ React.createElement("span", { className: "font14 mr20" }, "\u7279\u6B8A\u5224\u5B9A:"), /* @__PURE__ */ React.createElement(
es_checkbox["default"],
{
checked: item.last_match_rule,
onChange: (e) => {
const testData = testSetList.map((test, testIndex) => {
if (testIndex === key) {
return __spreadProps(__spreadValues({}, test), { last_match_rule: e.target.checked });
}
return test;
});
setTestSetList(testData);
}
},
/* @__PURE__ */ React.createElement("span", { className: "font14" }, "\u672B\u5C3E\u5339\u914D", /* @__PURE__ */ React.createElement("span", { className: "font12 c-light-black" }, "\uFF08\u5B9E\u9645\u8F93\u51FA\u4E0E\u9884\u671F\u8F93\u51FA\u6700\u540E\u4E00\u884C\u76F8\u540C\u5373\u53EF\u901A\u5173\uFF09"))
)))
)
);
}))),
/* @__PURE__ */ React.createElement("h4", { className: "font14 mt20 mb10" }, /* @__PURE__ */ React.createElement("span", { className: TestCasemodules.sub }, "*"), "\u8BC4\u6D4B\u811A\u672C"),
/* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
name: "choice_standard_scripts",
rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u8BC4\u6D4B\u811A\u672C" }]
},
/* @__PURE__ */ React.createElement(
es_select["default"],
{
getPopupContainer: (trigger) => trigger.parentNode,
size: "large",
style: { width: 400 },
placeholder: "\u8BF7\u9009\u62E9\u8BC4\u6D4B\u811A\u672C"
},
list.map((item, index) => {
return /* @__PURE__ */ React.createElement(es_select["default"].Option, { value: item.id, key: index }, item.scptname);
})
)
)),
/* @__PURE__ */ React.createElement(tooltip/* default */.Z, { title: !open_evaluate && "\u8BF7\u542F\u7528Jupyter\u8BC4\u6D4B\u529F\u80FD\u540E\uFF0C\u8FDB\u884C\u7F16\u8F91", placement: "topLeft" }, /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
name: "evaluate_script"
},
/* @__PURE__ */ React.createElement(
monaco_editor/* default */.ZP,
{
height: 450,
style: { border: "1px solid #ccc" },
language: "shell",
theme: "vs-light",
options: {
readOnly: !open_evaluate
}
}
)
)),
(0,authority/* isSuperAdmins */.Ny)() && /* @__PURE__ */ React.createElement(row/* default */.Z, { className: "mb20", align: "middle" }, /* @__PURE__ */ React.createElement(
es_form["default"].Item,
{
name: "use_jupyter_result",
className: "mt10",
valuePropName: "checked",
noStyle: true
},
/* @__PURE__ */ React.createElement(es_switch/* default */.Z, null)
), /* @__PURE__ */ React.createElement("div", { className: "ml10" }, "\u662F\u5426\u6CBF\u7528Jupyter\u8FD0\u884C\u7ED3\u679C"))
), /* @__PURE__ */ React.createElement(
FixedButton/* FixedButton */.t,
{
okText: "\u4FDD\u5B58",
hasOkBtn: editable,
loading: btnLoading,
onCancel: () => _umi_production_exports.history.push(`/shixuns/${params == null ? void 0 : params.id}/challenges`),
onOk: () => form.submit(),
className: type === "jupyterLab" ? TestCasemodules.btn : ""
}
));
};
/* harmony default export */ var components_TestCase = (TestCase);
/***/ })
}]);