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.
NewEduCoderBuild/3402.async.js

794 lines
33 KiB

(self["webpackChunk"] = self["webpackChunk"] || []).push([[3402],{
/***/ 4435:
/*!*********************************************!*\
!*** ./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 */ 73598);
/* 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 */ 64841);
/* 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 */ 23852);
/* 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));
/***/ }),
/***/ 27883:
/*!*****************************************************************************************!*\
!*** ./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__(19351);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(64841);
// 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/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__(20008);
;// 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__(4435);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(75798);
;// 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) */
/***/ })
}]);