(self["webpackChunk"] = self["webpackChunk"] || []).push([[6337],{ /***/ 93058: /*!*********************************************!*\ !*** ./src/components/UploadFile/index.tsx ***! \*********************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ cT: function() { return /* binding */ uploadFile; }, /* harmony export */ pe: function() { return /* binding */ decrypt; } /* harmony export */ }); /* unused harmony exports reNameFile, UploadFile */ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 6557); /* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 8591); /* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/fetch */ 94754); /* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! crypto-js */ 28209); /* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uuid */ 1012); /* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! umi */ 23175); /* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ali-oss */ 47257); /* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(ali_oss__WEBPACK_IMPORTED_MODULE_5__); var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; 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 __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; 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 { Dragger } = antd__WEBPACK_IMPORTED_MODULE_4__["default"]; const decrypt = (word) => { const ENC_KEY = "bf3c199c2470cb477d907b1e0917c17b"; const IV = "5183666c72eec9e4"; var key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(ENC_KEY); let iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(IV); var decrypt2 = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.decrypt(word, key, { iv, mode: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().mode).CBC // padding: CryptoJS.pad.ZeroPadding }); return decrypt2.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Utf8); }; let tempCheckpoint; const reNameFile = (_0) => __async(void 0, [_0], function* ({ identifier, oldFilename, newFilename }) { var _a, _b, _c, _d, _e, _f; const res = yield Fetch("/api/buckets/get_upload_token_for_big_files.json", { method: "get" }); res.data = JSON.parse(decrypt(res.data)); const client = new OSS({ endpoint: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.end_point, region: (_b = res == null ? void 0 : res.data) == null ? void 0 : _b.region, accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id, accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret, bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket, stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token }); return new Promise((resolve, reject) => { console.log(11111, `${identifier}/${oldFilename}`, `${identifier}/${newFilename}`, res.data); client.copy(`/${identifier}/${oldFilename}`, `/${identifier}/${newFilename}`).then((r) => { console.log("\u62F7\u8D1D\u6210\u529F", r); }).catch((e) => { console.log(e); }); }); }); const uploadFile = (file, obj, config) => __async(void 0, null, function* () { var _a, _b, _c, _d, _e, _f; obj.file_name = file.name; const res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP)("/api/buckets/get_upload_token.json", { method: "get" }); console.log("decrypt(res.data):", decrypt(res.data)); res.data = JSON.parse(decrypt(res.data)); const namearrs = file.name.split("."); namearrs.pop(); const name = obj.realFileName ? namearrs.join("") : (0,uuid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(); const client = new (ali_oss__WEBPACK_IMPORTED_MODULE_5___default())({ endpoint: (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.end_point, region: (_b = res == null ? void 0 : res.data) == null ? void 0 : _b.region, accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id, accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret, bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket, stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token }); return new Promise((resolve, reject) => { var _a2; client.multipartUpload(`${name}`, new Blob([file], { type: file.type }), __spreadProps(__spreadValues({ timeout: 200 * 1e3, partSize: 102400 }, config), { callback: { url: (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.callback_url, host: res == null ? void 0 : res.data.bucket_host, body: "bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&" + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* .parseParams */ .rz)(obj) // body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + obj.login + '&container_id=' + obj.container_id + '&container_type='+obj.container_type, } })).then(function(result) { var _a3; file.response = (_a3 = result.data) == null ? void 0 : _a3.data; resolve(result == null ? void 0 : result.data); }).catch(function(err) { reject(err); console.log("err:", err); }); }); }); const UploadFile = (_a) => { var _b = _a, { user, cancelUpload } = _b, props = __objRest(_b, ["user", "cancelUpload"]); const [fileList, setFileList] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]); let [client, setClient] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(); const _props = { onRemove: (e) => { setFileList([...fileList.filter((item) => item.name !== e.name)]); props.onChange(fileList.filter((item) => item.name !== e.name)); }, disabled: props.disabled, multiple: true, fileList: fileList == null ? void 0 : fileList.map((item) => item.file), customRequest: () => { }, beforeUpload: (file) => __async(void 0, null, function* () { let fileSize = props.maxSize || 1024 * 1024 * 1024 * 1; if (!!fileList.filter((item) => item.name === file.name).length) { antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info(`${file.name}\u5DF2\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9`); return; } if ((file == null ? void 0 : file.size) > fileSize) { antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.info(`\u6587\u4EF6\u8D85\u8FC7${fileSize / 1024 / 1024 / 1024}GB\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42`); return false; } fileList.push({ name: file.name, file }); setFileList([...fileList]); props.onChange(fileList); return false; }) }; const _uploadFiles = (file, obj) => __async(void 0, null, function* () { var _a2, _b2, _c, _d, _e, _f; obj.file_name = file.name; const name = file.name; const res = yield (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP)("/api/buckets/get_upload_token_for_big_files.json", { method: "get" }); res.data = JSON.parse(decrypt(res.data)); if ((res == null ? void 0 : res.status) !== 0) { fileList[fileList.findIndex((item) => item.name === name)]["status"] = "error"; fileList[fileList.findIndex((item) => item.name === name)]["file"]["status"] = "error"; props.onChange(fileList); antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u5C1D\u8BD5"); return; } client = new (ali_oss__WEBPACK_IMPORTED_MODULE_5___default())({ endpoint: (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.end_point, region: (_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.region, accessKeyId: (_c = res == null ? void 0 : res.data) == null ? void 0 : _c.access_key_id, accessKeySecret: (_d = res == null ? void 0 : res.data) == null ? void 0 : _d.access_key_secret, bucket: (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.bucket, stsToken: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.security_token }); console.log(file, "file"); setClient(client); const namearrs = file.name.split("."); namearrs.pop(); const filename = obj.realFileName ? namearrs.join(".") : (0,uuid__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(); return new Promise((resolve, reject) => { var _a3; try { client.multipartUpload(`${props.identifier}/${filename}${name.indexOf(".") > -1 ? "." + name.split(".").pop() : ""}`, new Blob([file.file], { type: file.file.type }), { timeout: 3600 * 1e3, partSize: 1002400, progress: (p, checkpoint, res2) => { try { console.log("\u8FDB\u5EA6", p, checkpoint, res2); const index = fileList.findIndex((item) => item.name === name); fileList[index]["file"]["percent"] = p * 100; fileList[index].tempCheckpoint = checkpoint; setFileList([...fileList]); } catch (e) { } }, checkpoint: fileList[fileList.findIndex((item) => item.name === name)].tempCheckpoint, callback: { customValue: { id: name + "" }, url: (_a3 = res == null ? void 0 : res.data) == null ? void 0 : _a3.callback_url, host: res == null ? void 0 : res.data.bucket_host, body: "bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&" + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_1__/* .parseParams */ .rz)(obj) } }).then(function(result) { var _a4, _b3, _c2; const index = fileList.findIndex((item) => item.name === name); let status = "done"; if (((_a4 = result.data) == null ? void 0 : _a4.status) === 0) { file.response = (_b3 = result.data) == null ? void 0 : _b3.data; const index2 = fileList.findIndex((item) => item.name === name); fileList[index2]["status"] = "done"; fileList[index2]["file"]["status"] = "done"; } else { antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning((_c2 = result.data) == null ? void 0 : _c2.message); status = "error"; } fileList[index]["status"] = status; fileList[index]["file"]["status"] = status; props.onChange(fileList); resolve(result == null ? void 0 : result.data); }).catch(function(err) { fileList[fileList.findIndex((item) => item.name === name)]["status"] = "error"; fileList[fileList.findIndex((item) => item.name === name)]["file"]["status"] = "error"; antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP.warning("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u5C1D\u8BD5"); setFileList([...fileList]); props.onChange(fileList); reject(err); console.log("err:", err); }); } catch (e) { } }); }); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (fileList.every((item) => item === "done" || item === "error")) { props.onComplete(fileList); } }, [fileList]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (cancelUpload) { client == null ? void 0 : client.cancel(); } }, [cancelUpload]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (props.uploading) fileList.map((item) => __async(void 0, null, function* () { var _a2; if ((!item.status || item.status === "error") && !cancelUpload) { item.status = "uploading"; item.file.status = "uploading"; const res = yield _uploadFiles(item, { login: (_a2 = user == null ? void 0 : user.userInfo) == null ? void 0 : _a2.login, container_type: props.container_type, container_id: props.container_id, description: props.description, realFileName: props.realFileName }); } })); }, [props.uploading]); return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement( Dragger, __spreadProps(__spreadValues({}, _props), { height: props.height, className: props.className }), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: "ant-upload-hint" }, props.text || "\u62D6\u62FD\u6587\u4EF6\u6216\u8005\u70B9\u51FB\u4E0A\u4F20") ); }; /* harmony default export */ __webpack_exports__.ZP = ((0,umi__WEBPACK_IMPORTED_MODULE_3__.connect)( ({ loading, globalSetting, user }) => ({ globalSetting, loading: loading.models.competitions, user }) )(UploadFile)); /***/ }), /***/ 638: /*!*****************************************************************************************!*\ !*** ./src/pages/Shixuns/Edit/body/Dataset/components/UploadFile/index.tsx + 1 modules ***! \*****************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ components_UploadFile; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./src/utils/env.ts + 1 modules var env = __webpack_require__(13316); // EXTERNAL MODULE: ./src/utils/fetch.ts var fetch = __webpack_require__(94754); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules var upload = __webpack_require__(6557); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules var es_form = __webpack_require__(78241); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules var 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/input/index.js + 5 modules var input = __webpack_require__(1056); ;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Dataset/components/UploadFile/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var UploadFilemodules = ({"wrap":"wrap___EmsVa","colorBlue":"colorBlue___XqtfP","repeatedName":"repeatedName___yMQsm"}); // EXTERNAL MODULE: ./src/components/UploadFile/index.tsx var UploadFile = __webpack_require__(93058); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(19234); ;// CONCATENATED MODULE: ./src/pages/Shixuns/Edit/body/Dataset/components/UploadFile/index.tsx var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; 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 __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); 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 { Dragger } = upload["default"]; const UploadFile_UploadFile = ({ dispatch, id, onClose, onOK, visible, wrapClassName, local, containerId, rootIdentifier }) => { var _a; const [formValue, setFormValue] = (0,_react_17_0_2_react.useState)({}); const [repeatedName, setRepeatedName] = (0,_react_17_0_2_react.useState)([]); const [xhrItems, setXhrItems] = (0,_react_17_0_2_react.useState)([]); const [disabled, setDisabled] = (0,_react_17_0_2_react.useState)(0); const [cancelUpload, setCancelUpload] = (0,_react_17_0_2_react.useState)(false); const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false); const [form] = es_form["default"].useForm(); const [fileList, setFileList] = (0,_react_17_0_2_react.useState)([]); const savedFileList = (0,_react_17_0_2_react.useRef)([]); (0,_react_17_0_2_react.useEffect)(() => { if (visible) { form.resetFields(); setFileList([]); setXhrItems([]); setRepeatedName([]); setDisabled(0); setBtnLoading(false); setCancelUpload(false); } }, [visible]); const handleChangeFile = (info) => { var _a2, _b, _c; if (info.file.status === "done" || info.file.status === "uploading") { setFileList(info.fileList); if (!info.file.response) { return; } if ((_a2 = info.file.response) == null ? void 0 : _a2.id) { message/* default */.ZP.success("\u4E0A\u4F20\u6210\u529F\uFF01"); return; } setFileList(fileList.filter((item) => item.uid !== info.file.uid)); ((_b = info.file.response) == null ? void 0 : _b.message) && message/* default */.ZP.info((_c = info.file.response) == null ? void 0 : _c.message); } }; const handleRemoveFile = (info) => __async(void 0, null, function* () { var _a2; if (!disabled) { const newFileList = fileList.filter((item) => item.uid !== info.uid); setFileList(newFileList); savedFileList.current = [...newFileList]; setRepeatedName(repeatedName.filter((item) => item !== info.name)); message/* default */.ZP.info("\u5220\u9664\u6210\u529F"); if (!newFileList.length) { form.setFieldsValue({ file: void 0 }); form.validateFields(); } return; } if (!info.response) { message/* default */.ZP.info("\u8FD8\u672A\u4E0A\u4F20\u5B8C\u6210\uFF0C\u65E0\u6CD5\u8FDB\u884C\u5220\u9664\u64CD\u4F5C\uFF01"); return; } const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${id}/destroy_data_sets.json`, { method: "Delete", body: { id: [(_a2 = info == null ? void 0 : info.response) == null ? void 0 : _a2.id] } }); if (res.status === 0) { setFileList(fileList.filter((item) => item.uid !== info.uid)); message/* default */.ZP.info("\u5220\u9664\u6210\u529F"); } }); const handleBeforeUpload = (info) => { if (fileList == null ? void 0 : fileList.some((e) => e.name === info.name)) { message/* default */.ZP.info(`${info.name}\u6587\u4EF6\u5DF2\u5B58\u5728`); return false; } if (info.size / 1024 / 1024 > 500) { message/* default */.ZP.info("\u6587\u4EF6\u8D85\u8FC7500M\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"); return false; } const param = { name: info.name, uid: info.uid, file: info, percent: 0 }; fileList.push(param); savedFileList.current = [...fileList]; setFileList([...fileList]); return false; }; const draggerProps = { height: 300, multiple: true, disabled: disabled > 0, withCredentials: true, fileList, action: `${env/* default */.Z.API_SERVER}/api/attachments.json`, onChange: handleChangeFile, onRemove: handleRemoveFile, beforeUpload: handleBeforeUpload }; const uploadRequest = (params, url, callback2, progressFunction, error2) => { const formData = new FormData(); Object.keys(params).forEach((key) => { formData.append(key, params[key]); }); const xhr = new window.XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener( "load", function(res) { var _a2; callback2(JSON.parse((_a2 = res == null ? void 0 : res.target) == null ? void 0 : _a2.response)); }, false ); xhr.addEventListener( "error", function(err) { if (error2) { error2(err); } }, false ); xhr.upload.onprogress = (e) => { if (progressFunction) { progressFunction(e); } }; xhr.open("POST", url); xhr.send(formData); return xhr; }; const getProgress = (event, item) => { if (event.lengthComputable) { const percent = Math.floor(event.loaded / event.total * 100); const param = __spreadProps(__spreadValues({}, item), { percent, status: percent === 100 ? "done" : "uploading" }); console.log(savedFileList.current, 333); savedFileList.current = savedFileList.current.map((e) => e.uid === item.uid ? param : e); setFileList(savedFileList.current); } }; const error = (res, item) => { const param = __spreadProps(__spreadValues({}, item), { status: "error" }); message/* default */.ZP.warning("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u5C1D\u8BD5"); savedFileList.current = savedFileList.current.map((e) => e.uid === item.uid ? param : e); if (savedFileList.current.every((e) => e.status === "done" || e.status === "error")) { setBtnLoading(false); setDisabled(2); } setFileList(savedFileList.current); }; const callback = (res, item) => { let param = __spreadProps(__spreadValues({}, item), { status: "done" }); if (res.status === 0) { } else { param = __spreadProps(__spreadValues({}, item), { status: "error" }); message/* default */.ZP.error("\u4E0A\u4F20\u5931\u8D25!"); } savedFileList.current = savedFileList.current.map((e) => e.uid === item.uid ? param : e); if (savedFileList.current.every((e) => e.status === "done")) { message/* default */.ZP.success("\u4E0A\u4F20\u5B8C\u6210!"); cancelEnd(true); return; } if (savedFileList.current.every((e) => e.status === "done" || e.status === "error")) { setBtnLoading(false); setDisabled(2); } setFileList(savedFileList.current); }; const isOnLine = () => { let netStatus = true; if (window.navigator.onLine == true) { netStatus = true; } else { netStatus = false; } ; return netStatus; }; const handleFinish = (values) => __async(void 0, null, function* () { setBtnLoading(true); if (disabled === 3) { setDisabled(2); return; } if (disabled === 2 || disabled === 1) { onUploadAgain(); return; } const { commitMessage = "", fileOss = [] } = values || {}; const filesItems = local ? fileList : fileOss; const names = filesItems.map((e) => e.name); if (names.filter((item) => item.indexOf("\u3001") != -1 || item.indexOf(" ") != -1).length > 0) { message/* default */.ZP.info("\u6570\u636E\u96C6\u540D\u79F0\u7981\u6B62\u6709\u7A7A\u683C\u4E0E\u3001"); setBtnLoading(false); return; } const res = yield (0,fetch/* default */.ZP)(`/api/shixuns/${id}/check_data_sets`, { method: "post", body: { files_name: names } }); if (res.status === -3) { setRepeatedName(res == null ? void 0 : res.exist_files); setBtnLoading(false); return; } if (JSON.stringify(res) === "{}") { setBtnLoading(false); message/* default */.ZP.error("\u7F51\u7EDC\u5DF2\u65AD\u5F00,\u8BF7\u7A0D\u540E\u91CD\u8BD5!"); return; } if (res.status === 0) { fileList.forEach((item) => { const xhr = uploadRequest( { file: item.file, description: commitMessage }, `${env/* default */.Z.API_SERVER}/api/shixuns/${id}/upload_data_sets.json`, (e) => callback(e, item), (e) => getProgress(e, item), (e) => error(e, item) ); xhrItems.push(xhr); }); setDisabled(1); } }); const onUploadAgain = () => { const { commitMessage = "" } = __spreadValues({}, form.getFieldsValue()) || {}; const errorFileList = savedFileList.current.filter((item) => item.status === "error"); const t = savedFileList.current.map((e) => __spreadProps(__spreadValues({}, e), { status: e.status === "error" ? "uploading" : e.status })); setFileList(t); errorFileList.forEach((item) => { const xhr = uploadRequest( { file: item.file, description: commitMessage }, `${env/* default */.Z.API_SERVER}/api/shixuns/${id}/upload_data_sets.json`, (e) => callback(e, item), (e) => getProgress(e, item), (e) => error(e, item) ); xhrItems.push(xhr); }); }; const handleValuesChange = (changedValues) => { var _a2, _b; console.log(changedValues, "changedValues"); if ("fileOss" in changedValues) { if ((changedValues == null ? void 0 : changedValues.fileOss.every((e) => e.status === "done")) && ((_a2 = changedValues == null ? void 0 : changedValues.fileOss) == null ? void 0 : _a2.length)) { message/* default */.ZP.success("\u4E0A\u4F20\u5B8C\u6210!"); cancelEnd(true); return; } if ((changedValues == null ? void 0 : changedValues.fileOss.every((e) => e.status === "done" || e.status === "error")) && ((_b = changedValues == null ? void 0 : changedValues.fileOss) == null ? void 0 : _b.length)) { setDisabled(3); setBtnLoading(false); return; } setRepeatedName(repeatedName.filter((item) => { var _a3; return (_a3 = changedValues == null ? void 0 : changedValues.fileOss) == null ? void 0 : _a3.some((e) => e.name === item); })); } setFormValue(__spreadValues({}, form.getFieldsValue())); }; const cancelEnd = (bool) => { if (!bool) { setCancelUpload(true); xhrItems.forEach((e) => { e.abort(); }); } onOK(); onClose(); }; const handleCancel = () => { const { fileOss = [] } = __spreadValues({}, form.getFieldsValue()) || {}; const fileListItems = fileList == null ? void 0 : fileList.every((e) => e.status === "done"); const ossItems = fileOss == null ? void 0 : fileOss.every((e) => e.status === "done"); if (!fileListItems || !ossItems) { modal["default"].confirm({ title: "\u5173\u95ED\u5F39\u6846\u63D0\u793A", content: "\u6709\u6587\u4EF6\u672A\u4E0A\u4F20,\u662F\u5426\u786E\u5B9A\u79BB\u5F00\uFF1F", okText: "\u79BB\u5F00", cancelText: "\u53D6\u6D88", onOk: () => { cancelEnd(); } }); return; } cancelEnd(); }; const returnDom = () => { return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: `iconfont icon-shangchuan font50 ${UploadFilemodules.colorBlue}` })), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `font14 mt30` }, "\u62D6\u62FD\u6587\u4EF6\u6216", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: `${UploadFilemodules.colorBlue} ml5` }, "\u70B9\u51FB\u6B64\u5904\u4E0A\u4F20"))); }; const handleComplete = (item) => { console.log(item, 444); }; return /* @__PURE__ */ _react_17_0_2_react.createElement( modal["default"], { open: visible, onOk: () => { (0,util/* trackEvent */.L9)(["\u5B9E\u8DF5\u9879\u76EE", "\u8BBE\u7F6E", "\u6570\u636E\u96C6", "\u4E0A\u4F20\u6587\u4EF6"]); form.submit(); }, centered: true, okText: disabled === 0 ? "\u786E\u5B9A" : disabled === 1 ? "\u4E0A\u4F20\u4E2D" : "\u91CD\u65B0\u4E0A\u4F20", okButtonProps: { loading: btnLoading }, onCancel: handleCancel, width: "1000px", title: "\u4E0A\u4F20\u6587\u4EF6" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: UploadFilemodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement( es_form["default"], { className: "mt10", form, scrollToFirstError: true, layout: "vertical", onFinish: handleFinish, onValuesChange: handleValuesChange }, local ? /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { label: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u9009\u62E9\u6587\u4EF6 ", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-black" }, "(\u5355\u4E2A\u6587\u4EF6\u4E0D\u8D85\u8FC7500M)")), name: "file", rules: [ { required: true, message: "\u8BF7\u9009\u62E9\u6587\u4EF6" } ] }, /* @__PURE__ */ _react_17_0_2_react.createElement(Dragger, __spreadValues({}, draggerProps), " ", returnDom())) : /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { label: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u9009\u62E9\u6587\u4EF6 ", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-light-black" }, "(\u5355\u4E2A\u6587\u4EF6\u4E0D\u8D85\u8FC7100GB)")), name: "fileOss", rules: [ { required: true, message: "\u8BF7\u9009\u62E9\u6587\u4EF6" } ] }, /* @__PURE__ */ _react_17_0_2_react.createElement( UploadFile/* default */.ZP, { identifier: rootIdentifier, cancelUpload, container_type: "Shixun", container_id: containerId, uploading: disabled < 3 ? disabled : 0, disabled: disabled > 0, height: 300, maxSize: 100 * 1024 * 1024 * 1024, description: formValue.commitMessage || "", text: returnDom(), onComplete: handleComplete, realFileName: true } )), !!repeatedName.length && /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: UploadFilemodules.repeatedName }, repeatedName.join("\u3001"), "\u5DF2\u5B58\u5728,\u8BF7\u5220\u9664\u540E\u518D\u4E0A\u4F20"), /* @__PURE__ */ _react_17_0_2_react.createElement( es_form["default"].Item, { name: "commitMessage", label: "\u5907\u6CE8:", rules: [ { whitespace: true, message: "\u8BF7\u52FF\u8F93\u5165\u7A7A\u683C" } ] }, /* @__PURE__ */ _react_17_0_2_react.createElement( input["default"], { bordered: false, disabled: disabled > 0, maxLength: 100, suffix: `${((_a = formValue.commitMessage) == null ? void 0 : _a.length) || 0}/100`, placeholder: "\u8BF7\u586B\u5199\u5907\u6CE8\u4FE1\u606F" } ) ) )) ); }; /* harmony default export */ var components_UploadFile = (UploadFile_UploadFile); /***/ }), /***/ 3828: /*!************************!*\ !*** crypto (ignored) ***! \************************/ /***/ (function() { /* (ignored) */ /***/ }) }]);