"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:
//
因平台的实验数据储存容量和成本消耗较大,导出的实验文件自创建时间起将保存 {course_workspace_file_time} 天,超过保存期限会被自动清除,请尽快下载!
//
若您需要个性化的数据保存周期服务,我们可以提供相关技术支持,并根据您的需求收取定制费用。请 { // ContactAdmins(course_workspace_file_time) // }}>联系平台运营以获取详细的技术支持。
//
, // okText: '知道了' // }) // getDownFile({ id: record?.id }); // } else { // Modal.info({ // icon: null, // title: '温馨提示', // content:
//
导出的实验文件已超过 {course_workspace_file_time} 天保存期限,为减少平台的实验数据储存容量和成本消耗,目前已被自动清除。
//
若您需要个性化的数据保存周期服务,我们可以提供相关技术支持,并根据您的需求收取定制费用。请 { // ContactAdmins(course_workspace_file_time) // }}>联系平台运营以获取详细的技术支持。
//
, // okText: '知道了' // }) // } // return; // } if (record.export_type === 'workspace_files') { var currentTimestamp = new Date().getTime(); var targetTimestamp = new Date(record.created_at).getTime(); var timeDifference = targetTimestamp - currentTimestamp; var daysDifference = timeDifference / (1000 * 60 * 60 * 24); console.log(Math.abs(daysDifference), 22); var is30DaysDifference = Math.abs(daysDifference) <= 30; if (is30DaysDifference) { modal/* default */.Z.info({ icon: null, title: '温馨提示', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "\u5BFC\u51FA\u7684\u5B9E\u9A8C\u6587\u4EF6\u81EA\u521B\u5EFA\u65F6\u95F4\u8D77\u9ED8\u8BA4\u4FDD\u755930\u5929\uFF0C\u8D85\u8FC7\u4FDD\u7559\u671F\u9650\u4F1A\u88AB\u81EA\u52A8\u6E05\u9664\uFF0C\u8BF7\u5C3D\u5FEB\u4E0B\u8F7D\uFF01\u5982\u8D85\u8FC7\u6587\u4EF6\u7684\u4FDD\u7559\u671F\u9650\u4ECD\u9700\u4E0B\u8F7D\uFF0C\u53EF\u91CD\u65B0\u5BFC\u51FA\u6587\u4EF6\u5E76\u4E0B\u8F7D\u3002" }), okText: '知道了' }); (0,utils_export/* getDownFile */._k)({ id: record === null || record === void 0 ? void 0 : record.id }); } else { modal/* default */.Z.confirm({ icon: null, title: '温馨提示', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: "\u8BE5\u5B9E\u9A8C\u6587\u4EF6\u8D85\u8FC7\u4FDD\u5B58\u671F\u9650\u5DF2\u88AB\u6E05\u9664\uFF0C\u662F\u5426\u91CD\u65B0\u5BFC\u51FA\uFF1F" }), okText: '确认', onOk: function () { var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0,fetch/* default */.ZP)("/api/homework_commons/".concat(record.exportable_id, "/export_workspace_files.json"), { method: 'post', body: { is_repeat_export: 1 } }); case 2: res = _context.sent; if (res.status === 0) { init(); } case 4: case "end": return _context.stop(); } }, _callee); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }(), cancelText: '取消' }); } return; } (0,utils_export/* getDownFile */._k)({ id: record === null || record === void 0 ? void 0 : record.id }); }, children: (record === null || record === void 0 ? void 0 : record.status) === 'finished' ? '下载' : '' }); } }].filter(function (item) { return !!item; }); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { style: { background: '#fff' }, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", { style: { fontSize: '16px', height: '40px', display: 'flex', alignItems: 'center', justifyContent: 'space-between', background: '#fff', padding: '10px 20px' }, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(LeftOutlined/* default */.Z, { onClick: function onClick() { _umi_production_exports.history.back(); }, style: { marginTop: '4px', cursor: 'pointer', marginRight: '5px' } }), ' ', "\u5BFC\u51FA\u5217\u8868"] }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, { onClick: function onClick() { setPage(1); init(); }, type: "primary", style: { height: '30px', borderRadius: '4px' }, children: "\u66F4\u65B0" })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { background: '#fff', marginBottom: 14 }, children: /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { rowKey: "id", columns: columns, dataSource: Result === null || Result === void 0 ? void 0 : Result.export_records, pagination: false, loading: tableLoading }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, { hideOnSinglePage: true, pageSize: 10, showSizeChanger: false, onChange: /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(page, pagesize) { return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: setPage(page); init(page); case 2: case "end": return _context2.stop(); } }, _callee2); })); return function (_x, _x2) { return _ref2.apply(this, arguments); }; }(), style: { textAlign: 'center', paddingBottom: 20 }, current: page, total: Result === null || Result === void 0 ? void 0 : Result.total_count }), /*#__PURE__*/(0,jsx_runtime.jsx)(ExportList_RepeatExportModel, { onOk: init })] }); }; /* harmony default export */ var ExportList = ((0,_umi_production_exports.connect)(function (_ref3) { var loading = _ref3.loading, globalSetting = _ref3.globalSetting; return { globalSetting: globalSetting, loading: loading }; })(ShixunsListPage)); /***/ }) }]);