"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[54572],{ /***/ 77396: /*!*********************************************************************!*\ !*** ./src/pages/Classrooms/Lists/ExportList/index.tsx + 2 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 */ ExportList; } }); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js var regeneratorRuntime = __webpack_require__(10574); var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(39343); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(26801); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(11006); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/LeftOutlined.js + 1 modules var LeftOutlined = __webpack_require__(52063); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(7181); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules var modal = __webpack_require__(43418); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(4781); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ExportList/RepeatExportModel/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var RepeatExportModelmodules = ({"flex_box_center":"flex_box_center___NmZuL","flex_space_between":"flex_space_between___pCXi2","flex_box_vertical_center":"flex_box_vertical_center___cGU22","flex_box_center_end":"flex_box_center_end___OLEOh","flex_box_column":"flex_box_column___y8SJl","modal":"modal___VXplb"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ExportList/RepeatExportModel/index.tsx var RepeatExportModel = function RepeatExportModel(_ref) { var onOk = _ref.onOk, dispatch = _ref.dispatch, classroomList = _ref.classroomList; var _useState = (0,_react_17_0_2_react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), loading = _useState2[0], setLoading = _useState2[1]; var handleOk = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var _classroomList$action; var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: setLoading(true); _context.next = 3; return (0,fetch/* default */.ZP)("/api/homework_commons/".concat((_classroomList$action = classroomList.actionTabs) === null || _classroomList$action === void 0 || (_classroomList$action = _classroomList$action.params) === null || _classroomList$action === void 0 ? void 0 : _classroomList$action.categoryId, "/export_workspace_files.json"), { method: 'post', body: { is_repeat_export: 1 } }); case 3: res = _context.sent; if (res.status === 0) { onOk(); dispatch({ type: 'classroomList/setActionTabs', payload: {} }); } setLoading(false); case 6: case "end": return _context.stop(); } }, _callee); })); return function handleOk() { return _ref2.apply(this, arguments); }; }(); return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { title: "\u6E29\u99A8\u63D0\u793A", zIndex: 9999, className: RepeatExportModelmodules.modal, confirmLoading: loading, open: classroomList.actionTabs.key === '重复导出提醒' ? true : false, onCancel: function onCancel() { dispatch({ type: 'classroomList/setActionTabs', payload: {} }); }, onOk: handleOk, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "mb20", children: " \u60A8\u5728\u5F53\u524D\u680F\u76EE\u4E2D\u5DF2\u5B58\u5728\u5BFC\u51FA\u8BB0\u5F55\uFF0C\u662F\u5426\u91CD\u65B0\u5BFC\u51FA\uFF1F" }) }); }; /* harmony default export */ var ExportList_RepeatExportModel = ((0,_umi_production_exports.connect)(function (_ref3) { var classroomList = _ref3.classroomList; return { classroomList: classroomList }; })(RepeatExportModel)); // EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js var dayjs_min = __webpack_require__(9498); var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min); // 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/button/index.js var es_button = __webpack_require__(3113); // 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/pagination/index.js + 10 modules var pagination = __webpack_require__(41867); // EXTERNAL MODULE: ./src/utils/export.ts var utils_export = __webpack_require__(94386); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ExportList/index.tsx dayjs_min_default().locale('zh-cn'); var ExportType = [{ id: 'exercise_score', name: '试卷成绩' }, { id: 'shixun_work_list', name: '课堂实验成绩' }, { id: 'normal_work_list', name: '图文作业成绩' }, { id: 'group_work_list', name: '分组作业成绩' }, { id: 'course_total_score', name: '课堂总成绩' }, { id: 'course_total_homework', name: '课堂作业成绩' }, { id: 'course_total_exercise_and_other', name: '课堂试卷成绩' }, { id: 'course_member_act_score', name: '课堂活跃度' }, { id: 'mooc_records', name: '第三方慕课' }, { id: 'hack_work_list', name: '编程作业成绩' }, { id: 'workspace_files', name: '实验文件' }, { id: 'messages_statistics', name: '课堂互动统计' }]; var Status = [{ id: 'failed', name: '失败' }, { id: 'running', name: '执行中' }, { id: 'finished', name: '完成' }]; var ShixunsListPage = function ShixunsListPage(_ref) { var _params$type; var globalSetting = _ref.globalSetting, loading = _ref.loading, dispatch = _ref.dispatch; var _useState = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())), _useState2 = slicedToArray_default()(_useState, 2), params = _useState2[0], setParams = _useState2[1]; var _useState3 = (0,_react_17_0_2_react.useState)(), _useState4 = slicedToArray_default()(_useState3, 2), Result = _useState4[0], setResult = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(true), _useState6 = slicedToArray_default()(_useState5, 2), tableLoading = _useState6[0], setTableLoading = _useState6[1]; var _useState7 = (0,_react_17_0_2_react.useState)(1), _useState8 = slicedToArray_default()(_useState7, 2), page = _useState8[0], setPage = _useState8[1]; var types = params === null || params === void 0 || (_params$type = params.type) === null || _params$type === void 0 ? void 0 : _params$type.split(','); function init() { return _init.apply(this, arguments); } //根据类型不同 获取不同的数据 function _init() { _init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { var current, result, _args3 = arguments; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: current = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : 1; setTableLoading(true); _context3.next = 4; return (0,fetch/* default */.ZP)("/api/courses/".concat(params.coursesId, "/export_records.json"), { method: 'get', params: { page: current, per_page: 10, export_types: types } }); case 4: result = _context3.sent; if (result) { setResult(result); } setTableLoading(false); case 7: case "end": return _context3.stop(); } }, _callee3); })); return _init.apply(this, arguments); } (0,_react_17_0_2_react.useEffect)(function () { init(page); }, []); var columns = [{ title: '文件名', dataIndex: 'filename', ellipsis: true, width: '30%', render: function render(text, record, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { title: text, children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: text || (record === null || record === void 0 ? void 0 : record.preview_filename) }) }); } }, { title: '类型', dataIndex: 'export_type', ellipsis: true, render: function render(text) { return ExportType === null || ExportType === void 0 ? void 0 : ExportType.map(function (item) { if (text === (item === null || item === void 0 ? void 0 : item.id)) { return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { title: item.name, children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: item.name }) }); } }); } }, { title: '状态', dataIndex: 'status', ellipsis: true, render: function render(text) { return Status === null || Status === void 0 ? void 0 : Status.map(function (item) { if (text === (item === null || item === void 0 ? void 0 : item.id)) { return item.name; } }); } }, { title: '导出人', dataIndex: 'user', ellipsis: true, render: function render(text) { return text === null || text === void 0 ? void 0 : text.real_name; } }, { title: '下载次数', dataIndex: 'downloads' }, { title: '创建时间', dataIndex: 'created_at', width: '20%', render: function render(text) { return dayjs_min_default()(text).format('YYYY-MM-DD HH:mm:ss'); } }, { title: '操作', ellipsis: true, render: function render(invite_code, record, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)("span", { style: { cursor: 'pointer', color: '#0152d9' }, onClick: function onClick() { // if (record.export_type === 'workspace_files') { // const currentTimestamp = new Date().getTime(); // const targetTimestamp = new Date(record.created_at).getTime(); // const timeDifference = targetTimestamp - currentTimestamp; // const daysDifference = timeDifference / (1000 * 60 * 60 * 24); // let course_workspace_file_time = parseInt(record?.course_workspace_file_time) // const is30DaysDifference = Math.abs(daysDifference) <= course_workspace_file_time; // if (is30DaysDifference) { // Modal.info({ // icon: null, // title: '温馨提示', // content: