"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[41297],{ /***/ 64683: /*!***************************************************************!*\ !*** ./src/components/FileDownloadList/index.tsx + 3 modules ***! \***************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "Z": function() { return /* binding */ components_FileDownloadList; } }); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js var regeneratorRuntime = __webpack_require__(17061); var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(17156); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(27424); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); ;// CONCATENATED MODULE: ./src/components/FileDownloadList/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var FileDownloadListmodules = ({"flex_box_center":"flex_box_center___A3pzf","flex_space_between":"flex_space_between___JBoa5","flex_box_vertical_center":"flex_box_vertical_center___MJuIO","flex_box_center_end":"flex_box_center_end___OcjUA","flex_box_column":"flex_box_column___zSH4A","list":"list___KhJas","middle":"middle___IjlYi","row":"row___GGtIx","title":"title___o_xqf","size":"size___OVRoL","download":"download___ZLcIH","preview":"preview___gi0kI","annotation":"annotation___KVSwj"}); // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(94184); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules var PreviewAll = __webpack_require__(36579); // EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js + 1 modules var style = __webpack_require__(22536); // EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js var spin = __webpack_require__(11382); ;// CONCATENATED MODULE: ./src/components/ImageDimensions/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var ImageDimensionsmodules = ({"imageDimensions":"imageDimensions___a7crR","img":"img___Kroat"}); // EXTERNAL MODULE: ./node_modules/markerjs3/markerjs2.esm.js var markerjs2_esm = __webpack_require__(20507); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(84519); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(29427); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/ImageDimensions/index.tsx var ImageDimensions = function ImageDimensions(_ref) { var data = _ref.data, className = _ref.className, _ref$style = _ref.style, style = _ref$style === void 0 ? {} : _ref$style, onClose = _ref.onClose, onOk = _ref.onOk; var imgRef = (0,react.useRef)(null); var markerArea = (0,react.useRef)(null); var _useState = (0,react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), loading = _useState2[0], setLoading = _useState2[1]; var _useState3 = (0,react.useState)('正在加载中'), _useState4 = slicedToArray_default()(_useState3, 2), loadingText = _useState4[0], setLoadingText = _useState4[1]; (0,react.useEffect)(function () { if (data !== null && data !== void 0 && data.visible) { document.body.setAttribute('data-custom', 'height'); } else { document.body.removeAttribute('data-custom'); } if (data !== null && data !== void 0 && data.src) { getImg(); } }, [data === null || data === void 0 ? void 0 : data.visible]); var getImg = /*#__PURE__*/function () { var _ref2 = 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: setLoading(true); setLoadingText('正在加载中'); _context.next = 4; return (0,util/* toDataUrl */.ZJ)(data === null || data === void 0 ? void 0 : data.src); case 4: res = _context.sent; imgRef.current.src = ""; imgRef.current.src = res; imgRef.current.onload = function () { initMarkerjs(); }; setLoading(false); setLoadingText(''); case 10: case "end": return _context.stop(); } }, _callee); })); return function getImg() { return _ref2.apply(this, arguments); }; }(); var onSave = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(event) { var res, result; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: setLoading(true); setLoadingText('正在保存中'); _context2.next = 4; return (0,fetch/* default */.ZP)('/api/attachments.json', { method: 'post', body: { file_type: 'base64', original_filename: data.title, file: event.dataUrl } }); case 4: res = _context2.sent; if (!(res !== null && res !== void 0 && res.id)) { _context2.next = 10; break; } _context2.next = 8; return (0,fetch/* default */.ZP)("/api/attachments/".concat(data.id, "/add_subitem.json"), { method: 'post', body: { subitem_id: res === null || res === void 0 ? void 0 : res.id, settings: JSON.stringify(event.state) } }); case 8: result = _context2.sent; if (result.status === 0) { onOk(); } case 10: setLoading(false); setLoadingText(''); case 12: case "end": return _context2.stop(); } }, _callee2); })); return function onSave(_x) { return _ref3.apply(this, arguments); }; }(); var dealDom = function dealDom() { // 删除标签 // 找到href为"https://markerjs.com/"的a标签 var targetLink = document.querySelector('a[href="https://markerjs.com/"]'); if (targetLink && targetLink.parentNode) { targetLink.parentNode.style.display = 'none'; } // 设置title var item = [{ name: '[data-action="select"]', title: '选择' }, { name: '[data-action="delete"]', title: '删除元素' }, { name: '[data-action="undo"]', title: '撤销' }, { name: '[data-type-name="FrameMarker"]', title: '矩形' }, { name: '[data-type-name="FreehandMarker"]', title: '画线' }, { name: '[data-type-name="ArrowMarker"]', title: '箭头' }, { name: '[data-type-name="TextMarker"]', title: '文本' }, { name: '[data-type-name="EllipseMarker"]', title: '椭圆' }, { name: '[data-type-name="HighlightMarker"]', title: '方块' }, { name: '[data-type-name="CalloutMarker"]', title: '注释' }, { name: '[data-action="render"]', title: '保存' }, { name: '[data-action="close"]', title: '退出' }]; item.forEach(function (e) { var targetElement = document.querySelector(e.name); if (targetElement) { targetElement.setAttribute('title', e.title); } }); }; var initMarkerjs = function initMarkerjs() { markerArea.current = new markerjs2_esm/* MarkerArea */.hP(imgRef.current); markerArea.current.addEventListener('render', onSave); markerArea.current.addEventListener('beforeclose', onClose); markerArea.current.show(); console.log(markerArea.current, '22222'); if (data !== null && data !== void 0 && data.snapshotData) { markerArea.current.restoreState(data.snapshotData); } setTimeout(function () { dealDom(); }, 300); }; return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, { children: (data === null || data === void 0 ? void 0 : data.visible) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: classnames_default()(ImageDimensionsmodules.imageDimensions, className), style: style, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, { spinning: loading, tip: loadingText, style: { position: 'absolute' } }), /*#__PURE__*/(0,jsx_runtime.jsx)("img", { className: ImageDimensionsmodules.img, ref: imgRef // crossOrigin='anonymous' // src={data?.src} })] }) }); }; /* harmony default export */ var components_ImageDimensions = (ImageDimensions); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(59758); ;// CONCATENATED MODULE: ./src/components/FileDownloadList/index.tsx var FileDownloadList = function FileDownloadList(_ref) { var className = _ref.className, style = _ref.style, _ref$dataSource = _ref.dataSource, dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource, _ref$authority = _ref.authority, authority = _ref$authority === void 0 ? false : _ref$authority, callback = _ref.callback, _ref$showDimensions = _ref.showDimensions, showDimensions = _ref$showDimensions === void 0 ? true : _ref$showDimensions; var _useState = (0,react.useState)({ content: "", type: "" }), _useState2 = slicedToArray_default()(_useState, 2), data = _useState2[0], setData = _useState2[1]; var _useState3 = (0,react.useState)({}), _useState4 = slicedToArray_default()(_useState3, 2), openData = _useState4[0], setOpenData = _useState4[1]; var _useState5 = (0,react.useState)({ title: '', visible: false, src: '', snapshotData: {} }), _useState6 = slicedToArray_default()(_useState5, 2), dimensions = _useState6[0], setDimensions = _useState6[1]; var monacoValueRef = (0,react.useRef)(); var handleClick = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item) { var res; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: setOpenData(item); if (!(item.file_type === "txt")) { _context.next = 6; break; } _context.next = 4; return (0,fetch/* default */.ZP)(item.url, { method: "get", headers: { "Content-Type": "application/xml" } }); case 4: res = _context.sent; monacoValueRef.current = res; case 6: setData({ type: item.file_type, content: env/* default.API_SERVER */.Z.API_SERVER + item.url }); case 7: case "end": return _context.stop(); } }, _callee); })); return function handleClick(_x) { return _ref2.apply(this, arguments); }; }(); var handleAnnotation = function handleAnnotation(item) { var _item$subitem; setDimensions({ visible: true, src: env/* default.API_SERVER */.Z.API_SERVER + item.url, id: item.id, title: item.title, snapshotData: item === null || item === void 0 ? void 0 : (_item$subitem = item.subitem) === null || _item$subitem === void 0 ? void 0 : _item$subitem.settings }); }; var handleCheckAnnotation = /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(item) { var _item$subitem2; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: setData({ type: item.file_type, content: env/* default.API_SERVER */.Z.API_SERVER + (item === null || item === void 0 ? void 0 : (_item$subitem2 = item.subitem) === null || _item$subitem2 === void 0 ? void 0 : _item$subitem2.url) }); case 1: case "end": return _context2.stop(); } }, _callee2); })); return function handleCheckAnnotation(_x2) { return _ref3.apply(this, arguments); }; }(); var handleOk = function handleOk() { callback(); setDimensions({ visible: false }); }; if (!(dataSource !== null && dataSource !== void 0 && dataSource.length)) { return null; } return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: classnames_default()(FileDownloadListmodules.list, className), style: style, children: dataSource.map(function (item, index) { var _item$subitem3, _item$subitem4; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.row, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.title, onClick: function onClick() { return handleClick(item); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-fujian1" }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { title: item.title, children: item.title })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: FileDownloadListmodules.size, children: item.filesize }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.download, onClick: function onClick() { var _item$url; (0,util/* downLoadLink */.Nd)('', "".concat(env/* default.API_SERVER */.Z.API_SERVER).concat((_item$url = item.url) === null || _item$url === void 0 ? void 0 : _item$url.replace('disposition=inline', ''))); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-xiazai4" }), "\u4E0B\u8F7D"] }), !['other', 'download'].includes(item === null || item === void 0 ? void 0 : item.file_type) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.preview, onClick: function onClick() { return handleClick(item); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-yulan" }), "\u9884\u89C8"] }), ['image'].includes(item === null || item === void 0 ? void 0 : item.file_type) && showDimensions && (authority ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.annotation, onClick: function onClick() { return handleAnnotation(item); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-pizhu" }), (_item$subitem3 = item.subitem) !== null && _item$subitem3 !== void 0 && _item$subitem3.id ? '修改批注' : '批注'] }) : ((_item$subitem4 = item.subitem) === null || _item$subitem4 === void 0 ? void 0 : _item$subitem4.id) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: FileDownloadListmodules.annotation, onClick: function onClick() { return handleCheckAnnotation(item); }, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-chakanlaoshipizhu1" }), "\u67E5\u770B\u8001\u5E08\u6279\u6CE8"] }))] }, index); }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, { close: true, data: data === null || data === void 0 ? void 0 : data.content, type: data === null || data === void 0 ? void 0 : data.type, hasMask: true, monacoEditor: { value: monacoValueRef.current, language: "txt", onChange: function onChange() {}, options: { readOnly: true, fontSize: 14, minimap: { enabled: false } } }, onImgDimensions: authority && showDimensions && data.type === 'image' ? function () { return handleAnnotation(openData); } : null, onClose: function onClose() { return setData({ content: "", type: "" }); } }), /*#__PURE__*/(0,jsx_runtime.jsx)(components_ImageDimensions, { onOk: handleOk, onClose: function onClose() { return setDimensions({ visible: false }); }, data: dimensions })] }); }; /* harmony default export */ var components_FileDownloadList = (FileDownloadList); /***/ }), /***/ 31590: /*!**********************************************************!*\ !*** ./src/components/MultiUpload/index.tsx + 1 modules ***! \**********************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { "z": function() { return /* binding */ coverToFileList; }, "Z": function() { return /* binding */ MultiUpload; } }); // EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js + 1 modules var style = __webpack_require__(29913); // EXTERNAL MODULE: ./node_modules/antd/es/button/index.js var es_button = __webpack_require__(71577); // EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js + 1 modules var modal_style = __webpack_require__(35611); // EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules var modal = __webpack_require__(85402); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js var regeneratorRuntime = __webpack_require__(17061); var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(17156); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(42122); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js + 1 modules var message_style = __webpack_require__(14934); // EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules var message = __webpack_require__(12461); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js var toConsumableArray = __webpack_require__(861); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(27424); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/antd/es/upload/style/index.js + 1 modules var upload_style = __webpack_require__(13759); // EXTERNAL MODULE: ./node_modules/antd/es/upload/index.js + 20 modules var upload = __webpack_require__(7426); // EXTERNAL MODULE: ./node_modules/react/index.js var react = __webpack_require__(67294); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(59758); // EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts var service = __webpack_require__(39507); // EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(85893); ;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx var uploadNameSizeSeperator = '  '; function bytesToSize(bytes) { var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; if (bytes == 0) return '0 Byte'; var i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)), 10); return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i]; } /* harmony default export */ var SingleUpload = (function (_ref) { var _ref$value = _ref.value, value = _ref$value === void 0 ? [] : _ref$value, action = _ref.action, _onChange = _ref.onChange, className = _ref.className, _ref$maxSize = _ref.maxSize, maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize, _ref$title = _ref.title, title = _ref$title === void 0 ? '文件上传' : _ref$title, _ref$accept = _ref.accept, accept = _ref$accept === void 0 ? null : _ref$accept; var uploadProps = { multiple: false, fileList: value, accept: accept, withCredentials: true, beforeUpload: function beforeUpload(file) { var fileSize = file.size / 1024 / 1024; if (!(fileSize < maxSize)) { _message.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20")); return Promise.reject(); } return true; }, action: "".concat(ENV.API_SERVER, "/api/attachments.json"), // ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a onChange: function onChange(info) { var _info$file, _info$file$response; var fileList = _toConsumableArray(info.fileList); fileList = fileList.map(function (file) { if (file.name.indexOf(uploadNameSizeSeperator) === -1) { file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size)); } return _objectSpread({}, file); }); if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) { var _info$file2, _info$file2$response; _message.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message); _onChange([]); return; } _onChange(fileList); }, onRemove: function () { var _onRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) { var fileSize, id, rs; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: fileSize = file.size / 1024 / 1024; if (!(file.status === 'uploading')) { _context.next = 3; break; } return _context.abrupt("return", true); case 3: if (fileSize < maxSize) { _context.next = 7; break; } return _context.abrupt("return", true); case 7: id = file.response ? file.response.id : file.uid; if (!id) { _context.next = 15; break; } _context.next = 11; return removeAttachment(file.response ? file.response.id : file.id); case 11: rs = _context.sent; return _context.abrupt("return", rs); case 15: return _context.abrupt("return", true); case 16: case "end": return _context.stop(); } }, _callee); })); function onRemove(_x) { return _onRemove.apply(this, arguments); } return onRemove; }() }; function onCancel(e) { e.preventDefault(); e.stopPropagation(); } return /*#__PURE__*/_jsx("div", { className: "single-upload ".concat(className ? className : ''), children: /*#__PURE__*/_jsxs(_Upload, _objectSpread(_objectSpread({}, uploadProps), {}, { children: [/*#__PURE__*/_jsx(_Button, { type: "primary", title: value.length > 0 ? '每次只能上传一个资源, 删除下面资源可重新上传 ' : '', disabled: value.length > 0, ghost: true, children: title }), /*#__PURE__*/_jsxs("span", { onClick: onCancel, style: { marginLeft: 10 }, children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", ' '] })] })) }); }); // EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/InboxOutlined.js + 1 modules var InboxOutlined = __webpack_require__(64082); // EXTERNAL MODULE: ./node_modules/lodash/lodash.js var lodash = __webpack_require__(96486); ;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx var Dragger = upload/* default.Dragger */.Z.Dragger; function coverToFileList(data) { var rs = []; if (data && data.length > 0) { rs = data.map(function (item) { return { uid: item.id, id: item.id, name: item.title + uploadNameSizeSeperator + item.filesize, url: item.url, filesize: item.filesize, status: 'done', response: { id: item.id } }; }); } return rs; } /* harmony default export */ var MultiUpload = (function (_ref) { var value = _ref.value, _onChange = _ref.onChange, action = _ref.action, className = _ref.className, _ref$maxSize = _ref.maxSize, maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize, _ref$title = _ref.title, title = _ref$title === void 0 ? '上传附件' : _ref$title, _ref$showRemoveModal = _ref.showRemoveModal, showRemoveModal = _ref$showRemoveModal === void 0 ? false : _ref$showRemoveModal, _ref$accept = _ref.accept, accept = _ref$accept === void 0 ? '' : _ref$accept, additionalText = _ref.additionalText, isDragger = _ref.isDragger, _ref$number = _ref.number, number = _ref$number === void 0 ? 1000 : _ref$number, _ref$aloneClear = _ref.aloneClear, aloneClear = _ref$aloneClear === void 0 ? false : _ref$aloneClear; var _useState = (0,react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), disabled = _useState2[0], setDisabled = _useState2[1]; var _useState3 = (0,react.useState)(value || []), _useState4 = slicedToArray_default()(_useState3, 2), fileList = _useState4[0], setFileList = _useState4[1]; var _useState5 = (0,react.useState)(1), _useState6 = slicedToArray_default()(_useState5, 2), nums = _useState6[0], setnums = _useState6[1]; (0,react.useEffect)(function () { if (value) { if (nums === 1) { setFileList(toConsumableArray_default()(value)); } setnums(2); if (number === (value === null || value === void 0 ? void 0 : value.length)) { setDisabled(true); } } }, [value]); var clearLastFile = function clearLastFile() { setTimeout(function () { fileList.pop(); setFileList(toConsumableArray_default()(fileList)); }, 500); }; var uploadProps = { multiple: true, disabled: disabled, accept: accept, withCredentials: true, fileList: fileList, // fileList: fileList?.length ? fileList : value, beforeUpload: function beforeUpload(file, fileArr) { var fileSize = file.size / 1024 / 1024; if (fileList.concat(fileArr).length > number) { fileList.pop(); setFileList(toConsumableArray_default()(fileList)); message/* default.error */.ZP.error("\u6700\u591A\u53EA\u80FD\u4E0A\u4F20".concat(number, "\u4E2A\u6587\u4EF6")); if (aloneClear) { return Promise.reject(); } clearLastFile(); return false; } if (!(fileSize < maxSize)) { message/* default.error */.ZP.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB).")); if (aloneClear) { return Promise.reject(); } clearLastFile(); return false; } return true; }, action: action || "".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments.json"), // ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a onChange: function onChange(info) { var _info$file, _info$file$response; if (info.file.status === "removed") { fileList = info.fileList; } else { fileList = (0,lodash.uniqBy)([].concat(toConsumableArray_default()(info.fileList), toConsumableArray_default()(fileList)), 'uid'); } if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) { var _info$file2, _info$file2$response; message/* default.error */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message); return; } if (fileList.length >= number) setDisabled(true);else setDisabled(false); setFileList(toConsumableArray_default()(fileList)); fileList = fileList.map(function (file) { var _file$response; if (file !== null && file !== void 0 && (_file$response = file.response) !== null && _file$response !== void 0 && _file$response.id) { var _file$response2; file.url = "/api/attachments/".concat(file === null || file === void 0 ? void 0 : (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.id); } if (file.name.indexOf(uploadNameSizeSeperator) === -1) { file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size)); } return objectSpread2_default()({}, file); }); console.log('info:', info, fileList); _onChange(fileList); }, onRemove: function () { var _onRemove = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) { var remove; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: remove = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var id, rs; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: id = file.response ? file.response.id : file.id; if (!id) { _context.next = 8; break; } _context.next = 4; return (0,service/* removeAttachment */.JZ)(file.response ? file.response.id : file.uid); case 4: rs = _context.sent; return _context.abrupt("return", Promise.resolve(rs)); case 8: return _context.abrupt("return", true); case 9: case "end": return _context.stop(); } }, _callee); })); return function remove() { return _ref2.apply(this, arguments); }; }(); if (!showRemoveModal) { _context3.next = 5; break; } return _context3.abrupt("return", new Promise(function (resolve, reject) { modal/* default.confirm */.Z.confirm({ centered: true, width: 530, okText: '确定', cancelText: '取消', title: '提示', content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: "tc font16", children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?" }), onOk: function () { var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var res; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return remove(); case 2: res = _context2.sent; message/* default.success */.ZP.success('删除成功'); resolve(true); case 5: case "end": return _context2.stop(); } }, _callee2); })); function onOk() { return _onOk.apply(this, arguments); } return onOk; }(), onCancel: function onCancel() { return resolve(false); } }); })); case 5: _context3.next = 7; return remove(); case 7: return _context3.abrupt("return", _context3.sent); case 8: case "end": return _context3.stop(); } }, _callee3); })); function onRemove(_x) { return _onRemove.apply(this, arguments); } return onRemove; }() }; function onCancel(e) { e.preventDefault(); e.stopPropagation(); } return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "multi-upload ".concat(className ? className : ''), children: [isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", { className: "ant-upload-drag-icon", children: /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {}) }), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", { className: "ant-upload-text", children: ["\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", ' '] }), additionalText] })), !isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.Z, { disabled: disabled, children: title }), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { onClick: onCancel, style: { marginLeft: 10, color: '#FA6400' }, children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", ' '] })] }))] }); }); /***/ }), /***/ 39507: /*!**************************************************!*\ !*** ./src/pages/MoopCases/FormPanel/service.ts ***! \**************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "$J": function() { return /* binding */ getMoopCase; }, /* harmony export */ "JZ": function() { return /* binding */ removeAttachment; }, /* harmony export */ "bN": function() { return /* binding */ updateMoopCase; }, /* harmony export */ "jP": function() { return /* binding */ addMoopCase; }, /* harmony export */ "rO": function() { return /* binding */ getLibraryTags; } /* harmony export */ }); /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061); /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156); /* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 84519); function getMoopCase(id) { return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)("libraries/".concat(id, ".json")); } function getLibraryTags() { return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)('library_tags.json'); } function removeAttachment(_x) { return _removeAttachment.apply(this, arguments); } function _removeAttachment() { _removeAttachment = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(id) { var response; return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_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,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .del */ .IV)("attachments/".concat(id, ".json")); case 2: response = _context.sent; return _context.abrupt("return", response.status === 0); case 4: case "end": return _context.stop(); } }, _callee); })); return _removeAttachment.apply(this, arguments); } function addMoopCase(params) { return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .post */ .v_)("libraries.json", params); } function updateMoopCase(id, params) { return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .put */ .gz)("libraries/".concat(id, ".json"), params); } /***/ }) }]);