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/p__Forums__New__index.aef36...

435 lines
18 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[74264],{
/***/ 40277:
/*!****************************************************!*\
!*** ./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/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(39647);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// 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
var _umi_production_exports = __webpack_require__(25789);
// 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 + 3 modules
var input = __webpack_require__(92832);
// 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 + 10 modules
var markdown_editor = __webpack_require__(15396);
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
var MultiUpload = __webpack_require__(60783);
// EXTERNAL MODULE: ./src/service/forums.ts
var forums = __webpack_require__(84942);
;// 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"});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Forums/New/index.tsx
var _excluded = ["forumsDetail", "globalSetting", "loading", "dispatch"];
var Option = es_select["default"].Option;
var New = function New(_ref) {
var _formValue$subject, _newData$forums, _newData$tag_list;
var forumsDetail = _ref.forumsDetail,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
props = objectWithoutProperties_default()(_ref, _excluded);
var params = (0,_umi_production_exports.useParams)();
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)({}),
_useState2 = slicedToArray_default()(_useState, 2),
formValue = _useState2[0],
setFormValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
isLoading = _useState4[0],
setIsLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
isEdit = _useState6[0],
setIsEdit = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)({}),
_useState8 = slicedToArray_default()(_useState7, 2),
newData = _useState8[0],
setNewData = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(1),
_useState10 = slicedToArray_default()(_useState9, 2),
type = _useState10[0],
setType = _useState10[1];
(0,_react_17_0_2_react.useEffect)(function () {
handelGetNewData();
if (params.memoId) {
setIsEdit(true);
handleGetEditData();
} else {
setIsEdit(false);
var data = {
forum_id: 5
};
setFormValue(objectSpread2_default()({}, data));
form.setFieldsValue(objectSpread2_default()({}, data));
}
}, [params.memoId]);
var handelGetNewData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,forums/* getForumsNewData */.iI)({});
case 2:
res = _context.sent;
setNewData(res || {});
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function handelGetNewData() {
return _ref2.apply(this, arguments);
};
}();
var handleGetEditData = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var _res$memo_tags;
var res, data;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,forums/* getForumsEditData */.qR)({
id: params.memoId
});
case 2:
_context2.t0 = _context2.sent;
if (_context2.t0) {
_context2.next = 5;
break;
}
_context2.t0 = {};
case 5:
res = _context2.t0;
data = {
subject: res.subject,
content: res.content,
attachments: (0,MultiUpload/* coverToFileList */.z)(res.attachments),
forum_id: res.forum_id,
memo_tags: (_res$memo_tags = res.memo_tags) === null || _res$memo_tags === void 0 ? void 0 : _res$memo_tags.map(function (item) {
return item.id;
})
};
setFormValue(objectSpread2_default()({}, data));
form.setFieldsValue(objectSpread2_default()({}, data));
case 9:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleGetEditData() {
return _ref3.apply(this, arguments);
};
}();
var handleFinish = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(value) {
var _formValue$attachment;
var postData, res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
postData = objectSpread2_default()(objectSpread2_default()({
id: isEdit ? params.memoId : null
}, formValue), {}, {
attachment_ids: (_formValue$attachment = formValue.attachments) === null || _formValue$attachment === void 0 || (_formValue$attachment = _formValue$attachment.filter(function (v) {
var _v$response;
return (_v$response = v.response) === null || _v$response === void 0 ? void 0 : _v$response.id;
})) === null || _formValue$attachment === void 0 ? void 0 : _formValue$attachment.map(function (v) {
var _v$response2;
return (_v$response2 = v.response) === null || _v$response2 === void 0 ? void 0 : _v$response2.id;
}),
tags: formValue.memo_tags
});
if (!isEdit) {
_context3.next = 7;
break;
}
_context3.next = 4;
return (0,forums/* updateForums */.b4)(postData);
case 4:
_context3.t0 = _context3.sent;
_context3.next = 10;
break;
case 7:
_context3.next = 9;
return (0,forums/* newForums */.dX)(postData);
case 9:
_context3.t0 = _context3.sent;
case 10:
res = _context3.t0;
setIsLoading(0);
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
message/* default */.ZP.success(res === null || res === void 0 ? void 0 : res.message);
if (type === 1) {
_umi_production_exports.history.push("/forums/".concat(isEdit ? params === null || params === void 0 ? void 0 : params.memoId : res === null || res === void 0 ? void 0 : res.memo_id));
} else {
_umi_production_exports.history.push("/forums/".concat(isEdit ? params === null || params === void 0 ? void 0 : params.memoId : res === null || res === void 0 ? void 0 : res.memo_id, "/edit"));
}
}
case 13:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleFinish(_x) {
return _ref4.apply(this, arguments);
};
}();
var onCancel = function onCancel() {
document.body.scrollIntoView();
if (window.location.href.includes('new')) {
_umi_production_exports.history.back();
} else {
_umi_production_exports.history.push("/forums/".concat(params.memoId));
}
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: Newmodules.bg,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: "animated fadeIn mb10",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: "mt10",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
separator: "/",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/forums",
children: "\u4EA4\u6D41\u95EE\u7B54"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
children: "\u8BE6\u60C5"
})]
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: "bg-white font16 pt20 pb20 pl20",
children: isEdit ? '编辑话题' : '发布话题'
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
className: Newmodules.formWrap,
scrollToFirstError: true,
layout: "vertical",
onValuesChange: function onValuesChange(changedValues, values) {
console.log(values, 'values');
setFormValue(objectSpread2_default()(objectSpread2_default()({}, formValue), changedValues));
},
onFinish: handleFinish,
onFinishFailed: function onFinishFailed() {
setIsLoading(0);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Newmodules.fieldWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "subject",
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16",
children: "\u8BDD\u9898\u540D\u79F0: "
}),
rules: [{
required: true,
message: "请先输入话题名称"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 50,
suffix: "".concat(((_formValue$subject = formValue.subject) === null || _formValue$subject === void 0 ? void 0 : _formValue$subject.length) || 0, "/50")
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Newmodules.mdWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "content",
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16",
children: "\u5185\u5BB9: "
}),
rules: [{
required: true,
message: "请先输入话题内容"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
height: 600,
id: "forums-new-content",
watch: true,
defaultValue: formValue.content
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "attachments",
style: {
width: 350
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MultiUpload/* default */.Z, {
showRemoveModal: true
})
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Newmodules.mdWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "forum_id",
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16",
children: "\u8BDD\u9898\u7C7B\u578B: "
}),
rules: [{
required: true,
message: "请先选择话题类型"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
style: {
width: 300
},
children: newData === null || newData === void 0 || (_newData$forums = newData.forums) === null || _newData$forums === void 0 ? void 0 : _newData$forums.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
value: item.id,
children: item.name
}, item.id);
})
})
})
}), formValue.forum_id === 5 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Newmodules.mdWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "memo_tags",
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font16",
children: "\u6280\u672F\u6807\u7B7E: "
}),
rules: [{
required: true,
message: "请先选择技术标签"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
style: {
width: 300
},
placeholder: "\u8BF7\u9009\u62E9\u6280\u672F\u6807\u7B7E",
mode: "multiple",
tokenSeparators: [';'],
filterOption: function filterOption(inputValue, option) {
return option.props.children.toLocaleLowerCase().indexOf(inputValue.toLocaleLowerCase()) != -1;
},
children: newData === null || newData === void 0 || (_newData$tag_list = newData.tag_list) === null || _newData$tag_list === void 0 ? void 0 : _newData$tag_list.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
value: item.id,
children: item.name
}, item.id);
})
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Newmodules.backgroundFa,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "pt40 mb30",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
type: "primary",
className: "".concat(Newmodules.button, " mr20"),
htmlType: "submit",
loading: isLoading === 1,
onClick: function onClick() {
setType(1);
setIsLoading(1);
},
children: "\u63D0\u4EA4"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
type: "primary",
className: "".concat(Newmodules.button, " mr20"),
htmlType: "submit",
loading: isLoading === 2,
onClick: function onClick() {
setType(2);
setIsLoading(2);
},
children: "\u4FDD\u5B58"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
type: "primary",
ghost: true,
className: "".concat(Newmodules.button, " mr20"),
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})
})
})]
})]
});
};
/* harmony default export */ var Forums_New = ((0,_umi_production_exports.connect)(function (_ref5) {
var forumsDetail = _ref5.forumsDetail,
loading = _ref5.loading,
globalSetting = _ref5.globalSetting;
return {
forumsDetail: forumsDetail,
globalSetting: globalSetting,
loading: loading.models.forumsDetail
};
})(New));
/***/ })
}]);