"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[339],{ /***/ 98629: /*!**********************************************************!*\ !*** ./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 ))); }; /***/ }), /***/ 30339: /*!*************************************************************************************!*\ !*** ./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__(67866); // 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/index.js + 5 modules var input = __webpack_require__(98135); // 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__(54449); // 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__(98629); // EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules var ui_customization = __webpack_require__(26324); ;// 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__(32150); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(51165); // EXTERNAL MODULE: ./src/utils/authority.ts var authority = __webpack_require__(88141); ;// 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); /***/ }) }]);