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.
768 lines
31 KiB
768 lines
31 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[4264],{
|
|
|
|
/***/ 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)", " ")));
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 608:
|
|
/*!****************************************************!*\
|
|
!*** ./src/pages/Forums/New/index.tsx + 1 modules ***!
|
|
\****************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
"default": function() { return /* binding */ Forums_New; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
|
|
var _umi_production_exports = __webpack_require__(23852);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
var es_select = __webpack_require__(57809);
|
|
// 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/breadcrumb/index.js + 6 modules
|
|
var breadcrumb = __webpack_require__(66104);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(20008);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
|
|
var markdown_editor = __webpack_require__(16393);
|
|
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
|
|
var MultiUpload = __webpack_require__(63292);
|
|
// EXTERNAL MODULE: ./src/service/forums.ts
|
|
var forums = __webpack_require__(85084);
|
|
;// CONCATENATED MODULE: ./src/pages/Forums/New/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var Newmodules = ({"bg":"bg___pOKLN","flexRow":"flexRow___mNnbK","flexJustifyCenter":"flexJustifyCenter___uouQe","flexAlignEnd":"flexAlignEnd___CKILp","flexAlignCenter":"flexAlignCenter___y5peS","flexColumn":"flexColumn___JJd9N","formWrap":"formWrap___D8WBe","titleWrap":"titleWrap___ICMYl","fieldWrap":"fieldWrap___XNrtY","mdWrap":"mdWrap___gRykC","backgroundFa":"backgroundFa___jKoLp","button":"button___f0Fqa"});
|
|
;// CONCATENATED MODULE: ./src/pages/Forums/New/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 __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 { Option } = es_select["default"];
|
|
const New = (_a) => {
|
|
var _b = _a, {
|
|
forumsDetail,
|
|
globalSetting,
|
|
loading,
|
|
dispatch
|
|
} = _b, props = __objRest(_b, [
|
|
"forumsDetail",
|
|
"globalSetting",
|
|
"loading",
|
|
"dispatch"
|
|
]);
|
|
var _a2, _b2, _c;
|
|
const params = (0,_umi_production_exports.useParams)();
|
|
const [form] = es_form["default"].useForm();
|
|
const [formValue, setFormValue] = (0,_react_17_0_2_react.useState)({});
|
|
const [isLoading, setIsLoading] = (0,_react_17_0_2_react.useState)(0);
|
|
const [isEdit, setIsEdit] = (0,_react_17_0_2_react.useState)(false);
|
|
const [newData, setNewData] = (0,_react_17_0_2_react.useState)({});
|
|
const [type, setType] = (0,_react_17_0_2_react.useState)(1);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
handelGetNewData();
|
|
if (params.memoId) {
|
|
setIsEdit(true);
|
|
handleGetEditData();
|
|
} else {
|
|
setIsEdit(false);
|
|
const data = { forum_id: 5 };
|
|
setFormValue(__spreadValues({}, data));
|
|
form.setFieldsValue(__spreadValues({}, data));
|
|
}
|
|
}, [params.memoId]);
|
|
const handelGetNewData = () => __async(void 0, null, function* () {
|
|
const res = yield (0,forums/* getForumsNewData */.iI)({});
|
|
setNewData(res || {});
|
|
});
|
|
const handleGetEditData = () => __async(void 0, null, function* () {
|
|
var _a3;
|
|
const res = (yield (0,forums/* getForumsEditData */.qR)({ id: params.memoId })) || {};
|
|
const data = {
|
|
subject: res.subject,
|
|
content: res.content,
|
|
attachments: (0,MultiUpload/* coverToFileList */.z)(res.attachments),
|
|
forum_id: res.forum_id,
|
|
memo_tags: (_a3 = res.memo_tags) == null ? void 0 : _a3.map((item) => item.id)
|
|
};
|
|
setFormValue(__spreadValues({}, data));
|
|
form.setFieldsValue(__spreadValues({}, data));
|
|
});
|
|
const handleFinish = (value) => __async(void 0, null, function* () {
|
|
var _a3, _b3;
|
|
const postData = __spreadProps(__spreadValues({
|
|
id: isEdit ? params.memoId : null
|
|
}, formValue), {
|
|
attachment_ids: (_b3 = (_a3 = formValue.attachments) == null ? void 0 : _a3.filter((v) => {
|
|
var _a4;
|
|
return (_a4 = v.response) == null ? void 0 : _a4.id;
|
|
})) == null ? void 0 : _b3.map((v) => {
|
|
var _a4;
|
|
return (_a4 = v.response) == null ? void 0 : _a4.id;
|
|
}),
|
|
tags: formValue.memo_tags
|
|
});
|
|
const res = isEdit ? yield (0,forums/* updateForums */.b4)(postData) : yield (0,forums/* newForums */.dX)(postData);
|
|
setIsLoading(0);
|
|
if ((res == null ? void 0 : res.status) === 0) {
|
|
message/* default */.ZP.success(res == null ? void 0 : res.message);
|
|
if (type === 1) {
|
|
_umi_production_exports.history.push(`/forums/${isEdit ? params == null ? void 0 : params.memoId : res == null ? void 0 : res.memo_id}`);
|
|
} else {
|
|
_umi_production_exports.history.push(`/forums/${isEdit ? params == null ? void 0 : params.memoId : res == null ? void 0 : res.memo_id}/edit`);
|
|
}
|
|
}
|
|
});
|
|
const onCancel = () => {
|
|
document.body.scrollIntoView();
|
|
if (window.location.href.includes("new")) {
|
|
_umi_production_exports.history.back();
|
|
} else {
|
|
_umi_production_exports.history.push(`/forums/${params.memoId}`);
|
|
}
|
|
};
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: Newmodules.bg }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: "animated fadeIn mb10" }, /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: "mt10" }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z, { separator: "/" }, /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
_umi_production_exports.Link,
|
|
{
|
|
to: `/forums`
|
|
},
|
|
"\u4EA4\u6D41\u95EE\u7B54"
|
|
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, "\u8BE6\u60C5")))), /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: "bg-white font16 pt20 pb20 pl20" }, isEdit ? "\u7F16\u8F91\u8BDD\u9898" : "\u53D1\u5E03\u8BDD\u9898"), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"],
|
|
{
|
|
form,
|
|
className: Newmodules.formWrap,
|
|
scrollToFirstError: true,
|
|
layout: "vertical",
|
|
onValuesChange: (changedValues, values) => {
|
|
console.log(values, "values");
|
|
setFormValue(__spreadValues(__spreadValues({}, formValue), changedValues));
|
|
},
|
|
onFinish: handleFinish,
|
|
onFinishFailed: () => {
|
|
setIsLoading(0);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Newmodules.fieldWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: "subject", label: /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "font16" }, "\u8BDD\u9898\u540D\u79F0: "), rules: [{ required: true, message: "\u8BF7\u5148\u8F93\u5165\u8BDD\u9898\u540D\u79F0" }] }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"], { maxLength: 50, suffix: `${((_a2 = formValue.subject) == null ? void 0 : _a2.length) || 0}/50` }))),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Newmodules.mdWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: "content",
|
|
label: /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "font16" }, "\u5185\u5BB9: "),
|
|
rules: [
|
|
{ required: true, message: "\u8BF7\u5148\u8F93\u5165\u8BDD\u9898\u5185\u5BB9" }
|
|
]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(markdown_editor/* default */.Z, { height: 600, id: "forums-new-content", watch: true, defaultValue: formValue.content })
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: "attachments",
|
|
style: { width: 350 }
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(MultiUpload/* default */.Z, { showRemoveModal: true })
|
|
))),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Newmodules.mdWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: "forum_id",
|
|
label: /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "font16" }, "\u8BDD\u9898\u7C7B\u578B: "),
|
|
rules: [
|
|
{ required: true, message: "\u8BF7\u5148\u9009\u62E9\u8BDD\u9898\u7C7B\u578B" }
|
|
]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"], { style: { width: 300 } }, (_b2 = newData == null ? void 0 : newData.forums) == null ? void 0 : _b2.map((item) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(Option, { key: item.id, value: item.id }, item.name);
|
|
}))
|
|
)),
|
|
formValue.forum_id === 5 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Newmodules.mdWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_form["default"].Item,
|
|
{
|
|
name: "memo_tags",
|
|
label: /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "font16" }, "\u6280\u672F\u6807\u7B7E: "),
|
|
rules: [
|
|
{ required: true, message: "\u8BF7\u5148\u9009\u62E9\u6280\u672F\u6807\u7B7E" }
|
|
]
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_select["default"],
|
|
{
|
|
style: { width: 300 },
|
|
placeholder: "\u8BF7\u9009\u62E9\u6280\u672F\u6807\u7B7E",
|
|
mode: "multiple",
|
|
tokenSeparators: [";"],
|
|
filterOption: (inputValue, option) => {
|
|
return option.props.children.toLocaleLowerCase().indexOf(inputValue.toLocaleLowerCase()) != -1;
|
|
}
|
|
},
|
|
(_c = newData == null ? void 0 : newData.tag_list) == null ? void 0 : _c.map((item) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(Option, { key: item.id, value: item.id }, item.name);
|
|
})
|
|
)
|
|
)),
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Newmodules.backgroundFa }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "pt40 mb30" }, /* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
size: "middle",
|
|
type: "primary",
|
|
className: `${Newmodules.button} mr20`,
|
|
htmlType: "submit",
|
|
loading: isLoading === 1,
|
|
onClick: () => {
|
|
setType(1);
|
|
setIsLoading(1);
|
|
}
|
|
},
|
|
"\u63D0\u4EA4"
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
size: "middle",
|
|
type: "primary",
|
|
className: `${Newmodules.button} mr20`,
|
|
htmlType: "submit",
|
|
loading: isLoading === 2,
|
|
onClick: () => {
|
|
setType(2);
|
|
setIsLoading(2);
|
|
}
|
|
},
|
|
"\u4FDD\u5B58"
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
es_button/* default */.ZP,
|
|
{
|
|
size: "middle",
|
|
type: "primary",
|
|
ghost: true,
|
|
className: `${Newmodules.button} mr20`,
|
|
onClick: onCancel
|
|
},
|
|
"\u53D6\u6D88"
|
|
))))
|
|
));
|
|
};
|
|
/* harmony default export */ var Forums_New = ((0,_umi_production_exports.connect)(
|
|
({
|
|
forumsDetail,
|
|
loading,
|
|
globalSetting
|
|
}) => ({
|
|
forumsDetail,
|
|
globalSetting,
|
|
loading: loading.models.forumsDetail
|
|
})
|
|
)(New));
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 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);
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |