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/p__Classrooms__Lists__Templ...

360 lines
20 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[89785],{
/***/ 68618:
/*!********************************************************!*\
!*** ./src/pages/Classrooms/Lists/Template/service.ts ***!
\********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ BE: function() { return /* binding */ getTemplateInfo; },
/* harmony export */ EW: function() { return /* binding */ getLabReport; },
/* harmony export */ Pt: function() { return /* binding */ updateReport; },
/* harmony export */ QB: function() { return /* binding */ updateTemplate; },
/* harmony export */ R4: function() { return /* binding */ getStuTemplateContent; },
/* harmony export */ WF: function() { return /* binding */ addTemplate; },
/* harmony export */ cq: function() { return /* binding */ addReport; },
/* harmony export */ jA: function() { return /* binding */ delLabReport; },
/* harmony export */ kG: function() { return /* binding */ getLabReports; },
/* harmony export */ lP: function() { return /* binding */ getTemplateContent; },
/* harmony export */ r_: function() { return /* binding */ getStuTemplateInfo; }
/* harmony export */ });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 57964);
function getLabReports(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)('lab_templates.json', params);
}
function delLabReport(id, course_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .del */ .IV)("lab_templates/".concat(id, ".json"), {
course_id: course_id
});
}
function addTemplate(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("lab_templates.json", params);
}
function updateTemplate(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)("lab_templates/".concat(id, ".json"), params);
}
function getTemplateInfo(course_id, id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("lab_templates/".concat(id, "/view.json"), {
course_id: course_id
});
}
function getTemplateContent(course_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("lab_templates/demo.json", {
course_id: course_id
});
}
function getStuTemplateContent(course_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("lab_templates/template_content.json", {
course_id: course_id,
clazz: 'normal'
});
}
function getStuTemplateInfo(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("lab_reports/".concat(id, "/detail.json"));
}
function addReport(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("lab_reports.json", params);
}
function updateReport(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)("lab_reports/".concat(id, ".json"), params);
}
function getLabReport(course_id, student_work_id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)('lab_reports/view.json', {
course_id: course_id,
student_work_id: student_work_id
});
}
/***/ }),
/***/ 87450:
/*!***************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Template/student/index.tsx ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./index.less */ 7293);
/* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../service */ 68618);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd */ 78241);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! antd */ 66104);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! antd */ 3113);
/* harmony import */ var _components_RenderHtml__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/RenderHtml */ 25720);
/* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/markdown-editor */ 25598);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! umi */ 63350);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var initialData = {
content: '',
lab_template: {}
};
var initialState = {
loading: false,
data: _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, initialData),
templateInfo: {}
};
function reducer(state, action) {
switch (action.type) {
case 'SETLOADING':
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, state), {}, {
loading: action.payload
});
case 'INITDATA':
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, state), {}, {
data: action.payload
});
case 'INITTEMPLATECONTENT':
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, state), {}, {
templateInfo: action.payload
});
default:
throw new Error();
}
}
function StudentExperimentPanel(_ref) {
var _userInfo$course, _userInfo$course2;
var user = _ref.user;
var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_4__.useReducer)(reducer, initialState),
_useReducer2 = _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var data = state.data,
templateInfo = state.templateInfo,
loading = state.loading;
var _useParams = (0,umi__WEBPACK_IMPORTED_MODULE_9__.useParams)(),
courseId = _useParams.courseId,
reportId = _useParams.reportId,
homeworkId = _useParams.homeworkId;
var userInfo = user.userInfo;
var _Form$useForm = antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.useForm(),
_Form$useForm2 = _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2___default()(_Form$useForm, 1),
form = _Form$useForm2[0];
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
function init() {
return _init.apply(this, arguments);
}
function _init() {
_init = _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee() {
var response;
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,_service__WEBPACK_IMPORTED_MODULE_6__/* .getStuTemplateInfo */ .r_)(reportId);
case 2:
response = _context.sent;
dispatch({
type: 'INITDATA',
payload: response
});
form.setFieldsValue({
content: response.content
});
case 5:
case "end":
return _context.stop();
}
}, _callee);
}));
return _init.apply(this, arguments);
}
if (reportId && reportId !== '0') {
init();
}
}, [reportId]);
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
function initTemplate() {
return _initTemplate.apply(this, arguments);
}
function _initTemplate() {
_initTemplate = _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee2() {
var response;
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,_service__WEBPACK_IMPORTED_MODULE_6__/* .getStuTemplateContent */ .R4)(courseId);
case 2:
response = _context2.sent;
dispatch({
type: 'INITTEMPLATECONTENT',
payload: response
});
form.setFieldsValue({
content: response.content
});
case 5:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _initTemplate.apply(this, arguments);
}
if (reportId === '0') {
initTemplate();
}
}, [courseId, reportId]);
function onSubmit(_x) {
return _onSubmit.apply(this, arguments);
}
function _onSubmit() {
_onSubmit = _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee3(values) {
var status, response, _response;
return _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
dispatch({
type: 'SETLOADING',
payload: true
});
status = 0;
if (!(reportId && reportId !== '0')) {
_context3.next = 9;
break;
}
_context3.next = 5;
return (0,_service__WEBPACK_IMPORTED_MODULE_6__/* .updateReport */ .Pt)(reportId, _root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, values), {}, {
id: reportId
}));
case 5:
response = _context3.sent;
status = response.status;
_context3.next = 13;
break;
case 9:
_context3.next = 11;
return (0,_service__WEBPACK_IMPORTED_MODULE_6__/* .addReport */ .cq)(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_local_v9_test5_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, values), {}, {
work_id: homeworkId
}));
case 11:
_response = _context3.sent;
status = _response.status;
case 13:
dispatch({
type: 'SETLOADING',
payload: false
});
if (status === 0) {
umi__WEBPACK_IMPORTED_MODULE_9__.history.back();
}
case 15:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _onSubmit.apply(this, arguments);
}
var lab_template = data.lab_template;
function onCancel() {
umi__WEBPACK_IMPORTED_MODULE_9__.history.back();
}
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
form: form,
layout: "vertical",
onFinish: onSubmit,
className: "experiment-wrapper",
children: [userInfo && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
separator: ">",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z.Item, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(umi__WEBPACK_IMPORTED_MODULE_9__.Link, {
to: "".concat((_userInfo$course = userInfo.course) === null || _userInfo$course === void 0 ? void 0 : _userInfo$course.first_category_url),
children: userInfo === null || userInfo === void 0 || (_userInfo$course2 = userInfo.course) === null || _userInfo$course2 === void 0 ? void 0 : _userInfo$course2.course_name
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z.Item, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(umi__WEBPACK_IMPORTED_MODULE_9__.Link, {
to: "/classrooms/".concat(courseId, "/common_homework"),
children: " \u56FE\u6587\u4F5C\u4E1A "
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z.Item, {
children: [userInfo.username, " \u63D0\u4EA4\u5B9E\u9A8C\u62A5\u544A"]
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("h2", {
children: [" ", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(umi__WEBPACK_IMPORTED_MODULE_9__.Link, {
to: "/classrooms/".concat(courseId, "/common_homework"),
children: "<"
}), " \xA0\xA0", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("span", {}), lab_template.title || '提交实验报告']
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
className: "experiment-panel",
children: [(lab_template.description || templateInfo.description) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(react__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("h4", {
children: "\u8BF4\u660E\uFF1A"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_components_RenderHtml__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
value: lab_template.description || templateInfo.description
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z.Item, {
label: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)("b", {
children: "\u586B\u5199\u5185\u5BB9"
}),
name: "content",
valuePropName: "defaultValue",
rules: [{
required: true,
message: '实验报告内容不能为空'
}],
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_components_markdown_editor__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
id: "experiment-student-report",
height: 386,
watch: true
})
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, {
loading: loading,
type: "primary",
htmlType: "submit",
children: "\u63D0\u4EA4"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(antd__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, {
onClick: onCancel,
style: {
marginLeft: 14
},
children: "\u53D6\u6D88"
})]
});
}
/* harmony default export */ __webpack_exports__["default"] = ((0,umi__WEBPACK_IMPORTED_MODULE_9__.connect)(function (_ref2) {
var user = _ref2.user;
return {
user: user
};
})(StudentExperimentPanel));
/***/ }),
/***/ 7293:
/*!****************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Template/student/index.less ***!
\****************************************************************/
/***/ (function() {
// extracted by mini-css-extract-plugin
/***/ })
}]);