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.
693 lines
27 KiB
693 lines
27 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[2908],{
|
|
|
|
/***/ 3882:
|
|
/*!***************************************************************!*\
|
|
!*** ./src/components/FileDownloadList/index.tsx + 1 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/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
;// 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@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);
|
|
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
|
|
var PreviewAll = __webpack_require__(95391);
|
|
// EXTERNAL MODULE: ./src/components/ImageDimensions/index.tsx + 1 modules
|
|
var ImageDimensions = __webpack_require__(27902);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(75798);
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(19351);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(64841);
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
var utils_authority = __webpack_require__(77883);
|
|
;// CONCATENATED MODULE: ./src/components/FileDownloadList/index.tsx
|
|
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 FileDownloadList = ({
|
|
className,
|
|
style,
|
|
dataSource = [],
|
|
authority = false,
|
|
callback,
|
|
showDimensions = true
|
|
}) => {
|
|
const [data, setData] = (0,_react_17_0_2_react.useState)({ content: "", type: "" });
|
|
const [openData, setOpenData] = (0,_react_17_0_2_react.useState)({});
|
|
const [isedit, setisedit] = (0,_react_17_0_2_react.useState)(false);
|
|
const [dimensions, setDimensions] = (0,_react_17_0_2_react.useState)({
|
|
title: "",
|
|
visible: false,
|
|
src: "",
|
|
snapshotData: {}
|
|
});
|
|
const monacoValueRef = (0,_react_17_0_2_react.useRef)();
|
|
const handleClick = (item) => __async(void 0, null, function* () {
|
|
setOpenData(item);
|
|
if (item.file_type === "txt") {
|
|
const res = yield (0,fetch/* default */.ZP)(item.url, {
|
|
method: "get",
|
|
headers: {
|
|
"Content-Type": "application/xml"
|
|
}
|
|
});
|
|
monacoValueRef.current = res;
|
|
}
|
|
setData({
|
|
type: item.file_type,
|
|
content: env/* default */.Z.API_SERVER + item.url
|
|
});
|
|
});
|
|
const handleAnnotation = (item) => {
|
|
var _a;
|
|
setDimensions({
|
|
visible: true,
|
|
src: env/* default */.Z.API_SERVER + item.url,
|
|
id: item.id,
|
|
title: item.title,
|
|
snapshotData: (_a = item == null ? void 0 : item.subitem) == null ? void 0 : _a.settings
|
|
});
|
|
};
|
|
const handleCheckAnnotation = (item) => __async(void 0, null, function* () {
|
|
var _a;
|
|
setData({
|
|
type: item.file_type,
|
|
content: env/* default */.Z.API_SERVER + ((_a = item == null ? void 0 : item.subitem) == null ? void 0 : _a.url)
|
|
});
|
|
});
|
|
const handleOk = () => {
|
|
callback();
|
|
setDimensions({ visible: false });
|
|
};
|
|
if (!(dataSource == null ? void 0 : dataSource.length)) {
|
|
return null;
|
|
}
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(FileDownloadListmodules.list, className), style }, dataSource.map((item, index) => {
|
|
var _a, _b, _c;
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { key: index, className: FileDownloadListmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.title,
|
|
onClick: () => handleClick(item)
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-fujian1" }),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: item.title }, item.title)
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: FileDownloadListmodules.size }, item.filesize), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.download,
|
|
onClick: () => {
|
|
var _a2;
|
|
(0,util/* downLoadLink */.Nd)("", `${env/* default */.Z.API_SERVER}${(_a2 = item.url) == null ? void 0 : _a2.replace("disposition=inline", "")}`);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiazai4" }),
|
|
"\u4E0B\u8F7D"
|
|
), !["other", "download"].includes(item == null ? void 0 : item.file_type) && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.preview,
|
|
onClick: () => handleClick(item)
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-yulan" }),
|
|
"\u9884\u89C8"
|
|
), ["image"].includes(item == null ? void 0 : item.file_type) && showDimensions && (authority ? /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.annotation,
|
|
onClick: () => handleAnnotation(item)
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-pizhu" }),
|
|
((_a = item.subitem) == null ? void 0 : _a.id) ? "\u4FEE\u6539\u6279\u6CE8" : "\u6279\u6CE8"
|
|
) : ((_b = item.subitem) == null ? void 0 : _b.id) && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.annotation,
|
|
onClick: () => handleCheckAnnotation(item)
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-chakanlaoshipizhu1" }),
|
|
"\u67E5\u770B\u8001\u5E08\u6279\u6CE8"
|
|
)), ["image"].includes(item == null ? void 0 : item.file_type) && ((_c = item.subitem) == null ? void 0 : _c.id) && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.download,
|
|
style: { marginLeft: 20 },
|
|
onClick: () => {
|
|
var _a2, _b2;
|
|
(0,util/* downLoadLink */.Nd)("", `${env/* default */.Z.API_SERVER}${(_b2 = (_a2 = item == null ? void 0 : item.subitem) == null ? void 0 : _a2.url) == null ? void 0 : _b2.replace("disposition=inline", "")}`);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiazai4" }),
|
|
"\u4E0B\u8F7D\u6279\u6CE8\u6587\u4EF6"
|
|
), ["office"].includes(item == null ? void 0 : item.file_type) && (0,utils_authority/* isAdmins */.eB)() && ["xlsx", "docx", "pptx"].includes(item == null ? void 0 : item.file_sub) && showDimensions && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.annotation,
|
|
onClick: () => {
|
|
setisedit(true);
|
|
handleClick(item);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-pizhu" }),
|
|
item.is_edit ? "\u4FEE\u6539\u6279\u6CE8" : "\u6279\u6CE8"
|
|
), item.is_edit && (0,utils_authority/* isStudent */.dE)() && showDimensions && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"div",
|
|
{
|
|
className: FileDownloadListmodules.annotation,
|
|
onClick: () => {
|
|
handleClick(item);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-sousuo7" }),
|
|
"\u67E5\u770B\u8001\u5E08\u6279\u6CE8"
|
|
));
|
|
})), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
PreviewAll/* default */.Z,
|
|
{
|
|
close: true,
|
|
data: data == null ? void 0 : data.content,
|
|
type: data == null ? void 0 : data.type,
|
|
hasMask: true,
|
|
editOffice: isedit ? "edit" : "view",
|
|
monacoEditor: {
|
|
value: monacoValueRef.current,
|
|
language: "txt",
|
|
onChange: () => {
|
|
},
|
|
options: {
|
|
readOnly: true,
|
|
fontSize: 14,
|
|
minimap: {
|
|
enabled: false
|
|
}
|
|
}
|
|
},
|
|
onImgDimensions: authority && showDimensions && data.type === "image" ? () => handleAnnotation(openData) : null,
|
|
onClose: () => {
|
|
callback();
|
|
setisedit(false);
|
|
setData({ content: "", type: "" });
|
|
}
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
ImageDimensions/* default */.Z,
|
|
{
|
|
onOk: handleOk,
|
|
onClose: () => setDimensions({ visible: false }),
|
|
data: dimensions
|
|
}
|
|
));
|
|
};
|
|
/* harmony default export */ var components_FileDownloadList = (FileDownloadList);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 63292:
|
|
/*!**********************************************************!*\
|
|
!*** ./src/components/MultiUpload/index.tsx + 3 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/_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/upload/index.js + 24 modules
|
|
var upload = __webpack_require__(73598);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
var es_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/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(19351);
|
|
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
|
|
var service = __webpack_require__(13813);
|
|
;// CONCATENATED MODULE: ./src/components/SingleUpload/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;
|
|
};
|
|
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 uploadNameSizeSeperator = "\u3000\u3000";
|
|
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 = (({
|
|
value = [],
|
|
action,
|
|
onChange,
|
|
className,
|
|
maxSize = 150,
|
|
title = "\u6587\u4EF6\u4E0A\u4F20",
|
|
accept = null
|
|
}) => {
|
|
const uploadProps = {
|
|
multiple: false,
|
|
fileList: value,
|
|
accept,
|
|
withCredentials: true,
|
|
beforeUpload: (file) => {
|
|
const 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(${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: `${ENV.API_SERVER}/api/attachments.json`,
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
onChange(info) {
|
|
var _a, _b, _c, _d;
|
|
let fileList = [...info.fileList];
|
|
fileList = fileList.map((file) => {
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
file.name = `${file.name}${uploadNameSizeSeperator}${bytesToSize(
|
|
file.size
|
|
)}`;
|
|
}
|
|
return __spreadValues({}, file);
|
|
});
|
|
if (info.file.status === "done" && ((_b = (_a = info.file) == null ? void 0 : _a.response) == null ? void 0 : _b.status) === -1) {
|
|
message.error((_d = (_c = info.file) == null ? void 0 : _c.response) == null ? void 0 : _d.message);
|
|
onChange([]);
|
|
return;
|
|
}
|
|
onChange(fileList);
|
|
},
|
|
onRemove: (file) => __async(void 0, null, function* () {
|
|
const fileSize = file.size / 1024 / 1024;
|
|
if (file.status === "uploading") {
|
|
return true;
|
|
}
|
|
if (!(fileSize < maxSize)) {
|
|
return true;
|
|
} else {
|
|
let id = file.response ? file.response.id : file.uid;
|
|
if (id) {
|
|
let rs = yield removeAttachment(
|
|
file.response ? file.response.id : file.id
|
|
);
|
|
return rs;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
})
|
|
};
|
|
function onCancel(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
}
|
|
return /* @__PURE__ */ React.createElement("div", { className: `single-upload ${className ? className : ""}` }, /* @__PURE__ */ React.createElement(Upload, __spreadValues({}, uploadProps), /* @__PURE__ */ React.createElement(
|
|
Button,
|
|
{
|
|
type: "primary",
|
|
title: value.length > 0 ? "\u6BCF\u6B21\u53EA\u80FD\u4E0A\u4F20\u4E00\u4E2A\u8D44\u6E90\uFF0C \u5220\u9664\u4E0B\u9762\u8D44\u6E90\u53EF\u91CD\u65B0\u4E0A\u4F20 " : "",
|
|
disabled: value.length > 0,
|
|
ghost: true
|
|
},
|
|
title
|
|
), /* @__PURE__ */ React.createElement("span", { onClick: onCancel, style: { marginLeft: 10 } }, "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", " ")));
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
|
|
var InboxOutlined = __webpack_require__(84263);
|
|
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
|
|
var lodash = __webpack_require__(89392);
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
;// CONCATENATED MODULE: ./src/assets/images/uploadImg.svg
|
|
var uploadImg_defProp = Object.defineProperty;
|
|
var uploadImg_getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var uploadImg_hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var uploadImg_propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var uploadImg_defNormalProp = (obj, key, value) => key in obj ? uploadImg_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var uploadImg_spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (uploadImg_hasOwnProp.call(b, prop))
|
|
uploadImg_defNormalProp(a, prop, b[prop]);
|
|
if (uploadImg_getOwnPropSymbols)
|
|
for (var prop of uploadImg_getOwnPropSymbols(b)) {
|
|
if (uploadImg_propIsEnum.call(b, prop))
|
|
uploadImg_defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
|
|
const SvgUploadImg = (props) => /* @__PURE__ */ React.createElement("svg", uploadImg_spreadValues({ width: 14, height: 14, xmlns: "http://www.w3.org/2000/svg" }, props), /* @__PURE__ */ React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */ React.createElement("path", { d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z", fill: "#3061D0", fillRule: "nonzero" }));
|
|
|
|
/* harmony default export */ var uploadImg = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=");
|
|
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx
|
|
var MultiUpload_defProp = Object.defineProperty;
|
|
var MultiUpload_getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var MultiUpload_hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var MultiUpload_propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var MultiUpload_defNormalProp = (obj, key, value) => key in obj ? MultiUpload_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var MultiUpload_spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (MultiUpload_hasOwnProp.call(b, prop))
|
|
MultiUpload_defNormalProp(a, prop, b[prop]);
|
|
if (MultiUpload_getOwnPropSymbols)
|
|
for (var prop of MultiUpload_getOwnPropSymbols(b)) {
|
|
if (MultiUpload_propIsEnum.call(b, prop))
|
|
MultiUpload_defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var MultiUpload_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 { Dragger } = upload["default"];
|
|
function coverToFileList(data) {
|
|
let rs = [];
|
|
if (data && data.length > 0) {
|
|
rs = data.map((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 = (({
|
|
value,
|
|
onChange,
|
|
action,
|
|
data,
|
|
className,
|
|
maxSize = 150,
|
|
title = "\u4E0A\u4F20\u9644\u4EF6",
|
|
showRemoveModal = false,
|
|
accept = "",
|
|
additionalText,
|
|
isDragger,
|
|
number = 1e3,
|
|
aloneClear = false
|
|
}) => {
|
|
const [disabled, setDisabled] = (0,_react_17_0_2_react.useState)(false);
|
|
let [fileList, setFileList] = (0,_react_17_0_2_react.useState)(value || []);
|
|
let [nums, setnums] = (0,_react_17_0_2_react.useState)(1);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
if (value) {
|
|
if (nums === 1) {
|
|
setFileList([...value]);
|
|
}
|
|
setnums(2);
|
|
if (number === (value == null ? void 0 : value.length)) {
|
|
setDisabled(true);
|
|
}
|
|
}
|
|
}, [value]);
|
|
const clearLastFile = () => {
|
|
setTimeout(() => {
|
|
fileList.pop();
|
|
setFileList([...fileList]);
|
|
}, 500);
|
|
};
|
|
const uploadProps = {
|
|
multiple: true,
|
|
disabled,
|
|
accept,
|
|
withCredentials: true,
|
|
fileList,
|
|
// fileList: fileList?.length ? fileList : value,
|
|
beforeUpload: (file, fileArr) => {
|
|
const fileSize = file.size / 1024 / 1024;
|
|
if (fileList.concat(fileArr).length > number) {
|
|
fileList.pop();
|
|
setFileList([...fileList]);
|
|
es_message/* default */.ZP.error(`\u6700\u591A\u53EA\u80FD\u4E0A\u4F20${number}\u4E2A\u6587\u4EF6`);
|
|
if (aloneClear) {
|
|
return Promise.reject();
|
|
}
|
|
clearLastFile();
|
|
return false;
|
|
}
|
|
if (!(fileSize < maxSize)) {
|
|
es_message/* default */.ZP.error(`\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(${maxSize}MB).`);
|
|
if (aloneClear) {
|
|
return Promise.reject();
|
|
}
|
|
clearLastFile();
|
|
return false;
|
|
}
|
|
return true;
|
|
},
|
|
data,
|
|
action: action || `${env/* default */.Z.API_SERVER}/api/attachments.json`,
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
onChange(info) {
|
|
var _a, _b, _c, _d;
|
|
if (info.file.status === "removed") {
|
|
fileList = info.fileList;
|
|
} else {
|
|
fileList = (0,lodash.uniqBy)([...info.fileList, ...fileList], "uid");
|
|
}
|
|
if (info.file.status === "done" && ((_b = (_a = info.file) == null ? void 0 : _a.response) == null ? void 0 : _b.status) === -1) {
|
|
es_message/* default */.ZP.error((_d = (_c = info.file) == null ? void 0 : _c.response) == null ? void 0 : _d.message);
|
|
return;
|
|
}
|
|
if (fileList.length >= number)
|
|
setDisabled(true);
|
|
else
|
|
setDisabled(false);
|
|
setFileList([...fileList]);
|
|
fileList = fileList.map((file) => {
|
|
var _a2, _b2;
|
|
if ((_a2 = file == null ? void 0 : file.response) == null ? void 0 : _a2.id) {
|
|
file.url = `/api/attachments/${(_b2 = file == null ? void 0 : file.response) == null ? void 0 : _b2.id}`;
|
|
}
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
file.name = `${file.name}${uploadNameSizeSeperator}${bytesToSize(
|
|
file.size
|
|
)}`;
|
|
}
|
|
return MultiUpload_spreadValues({}, file);
|
|
});
|
|
console.log("info:", info, fileList);
|
|
onChange(fileList);
|
|
},
|
|
onRemove: (file) => MultiUpload_async(void 0, null, function* () {
|
|
const remove = () => MultiUpload_async(void 0, null, function* () {
|
|
let id = file.response ? file.response.id : file.id;
|
|
if (id) {
|
|
let rs = yield (0,service/* removeAttachment */.JZ)(
|
|
file.response ? file.response.id : file.uid
|
|
);
|
|
return Promise.resolve(rs);
|
|
} else {
|
|
return true;
|
|
}
|
|
});
|
|
if (showRemoveModal) {
|
|
return new Promise((resolve, reject) => {
|
|
modal["default"].confirm({
|
|
centered: true,
|
|
width: 530,
|
|
okText: "\u786E\u5B9A",
|
|
cancelText: "\u53D6\u6D88",
|
|
title: "\u63D0\u793A",
|
|
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "tc font16" }, "\u662F\u5426\u786E\u8BA4\u5220\u9664?"),
|
|
onOk: () => MultiUpload_async(void 0, null, function* () {
|
|
const res = yield remove();
|
|
es_message/* default */.ZP.success("\u5220\u9664\u6210\u529F");
|
|
resolve(true);
|
|
}),
|
|
onCancel: () => {
|
|
return resolve(false);
|
|
}
|
|
});
|
|
});
|
|
} else {
|
|
return yield remove();
|
|
}
|
|
})
|
|
};
|
|
function onCancel(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
}
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `multi-upload ${className ? className : ""}` }, isDragger && /* @__PURE__ */ _react_17_0_2_react.createElement(Dragger, MultiUpload_spreadValues({}, uploadProps), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "ant-upload-drag-icon" }, /* @__PURE__ */ _react_17_0_2_react.createElement(InboxOutlined/* default */.Z, null)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: "ant-upload-text" }, "\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /* @__PURE__ */ _react_17_0_2_react.createElement("br", null), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", " "), additionalText), !isDragger && /* @__PURE__ */ _react_17_0_2_react.createElement(upload["default"], MultiUpload_spreadValues({}, uploadProps), /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { disabled, className: "upload_button" }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { className: "aBtn_img", src: uploadImg }), title), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: onCancel, className: "upload_text" }, "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", " ")));
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 13813:
|
|
/*!**************************************************!*\
|
|
!*** ./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 _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 64841);
|
|
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());
|
|
});
|
|
};
|
|
|
|
function getMoopCase(id) {
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)(`libraries/${id}.json`);
|
|
}
|
|
function getLibraryTags() {
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("library_tags.json");
|
|
}
|
|
function removeAttachment(id) {
|
|
return __async(this, null, function* () {
|
|
const response = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .del */ .IV)(`attachments/${id}.json`);
|
|
return response.status === 0;
|
|
});
|
|
}
|
|
function addMoopCase(params) {
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)(`libraries.json`, params);
|
|
}
|
|
function updateMoopCase(id, params) {
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)(`libraries/${id}.json`, params);
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |