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__Classrooms__Lists__Polls...

474 lines
21 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[39695,28723],{
/***/ 28536:
/*!********************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Polls/Add/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 */ Add; }
});
// 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/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// 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/_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__(63350);
// 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/divider/index.js + 1 modules
var divider = __webpack_require__(28103);
// 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/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(24650);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./src/service/polls.ts
var polls = __webpack_require__(47107);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Polls/Add/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Addmodules = ({"flex_box_center":"flex_box_center___awg_W","flex_space_between":"flex_space_between___vs3La","flex_box_vertical_center":"flex_box_vertical_center___I3QTf","flex_box_center_end":"flex_box_center_end___fRTLL","flex_box_column":"flex_box_column___Z539C","bg":"bg___Dw6dz","title":"title___Z4aJr","titleLeft":"titleLeft___hTg4o","titleRight":"titleRight___mYUY7"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(80348);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 10 modules
var markdown_editor = __webpack_require__(25598);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/PlusCircleOutlined.js + 1 modules
var PlusCircleOutlined = __webpack_require__(65547);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/MultipleEditor/index.tsx
var MultipleEditor = __webpack_require__(42861);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/SingleEditor/index.tsx
var SingleEditor = __webpack_require__(69252);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/SubjectiveEditor/index.tsx
var SubjectiveEditor = __webpack_require__(10925);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Polls/Add/index.tsx
var ShixunsListPage = function ShixunsListPage(_ref) {
var _userInfo$course;
var classroomList = _ref.classroomList,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
user = _ref.user,
dispatch = _ref.dispatch;
var params = (0,_umi_production_exports.useParams)();
(0,_react_17_0_2_react.useEffect)(function () {
setTimeout(function () {
document.body.scrollIntoView();
}, 300);
}, []);
var userInfo = user.userInfo;
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),
editData = _useState2[0],
setEditData = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(-1),
_useState4 = slicedToArray_default()(_useState3, 2),
editKey = _useState4[0],
setEditKey = _useState4[1];
var childrenRef = (0,_react_17_0_2_react.useRef)();
var questionType = [{
name: "单选题",
id: 1
}, {
name: "多选题",
id: 2
}, {
name: "主观题",
id: 3
}];
var callback = function callback(key, data, allData) {
switch (key) {
case "edit":
if (editKey === -1 || data === -1) {
editKey = data;
setEditKey(data);
} else {
message/* default */.ZP.error("不能同时编辑两题");
}
break;
case "add":
if (editKey != -1) {
message/* default */.ZP.error("不能同时编辑两题");
return;
}
delete data.id;
editData.splice(data === null || data === void 0 ? void 0 : data.key, 0, {
insert_id: data === null || data === void 0 ? void 0 : data.insert_id,
question: objectSpread2_default()({}, data)
}).slice();
setEditData(toConsumableArray_default()(editData));
setEditKey((data === null || data === void 0 ? void 0 : data.key) + 1);
break;
case "addContinue":
// editData = [...polls.editData?.poll_questions]
setEditData(toConsumableArray_default()(data));
break;
case "del":
editData.splice(data - 1, 1);
setEditData(toConsumableArray_default()(editData));
setEditKey(-1);
break;
case 'isadd':
editData[editKey - 1] = {
question: data
};
// let aa=[...editData,{question:data}].filter((item:any)=>item.question.question_title)
if (allData) {
setEditKey(editData.length + 1);
setEditData([].concat(toConsumableArray_default()(editData), [{
question: {
question_type: allData
}
}]));
} else {
setEditData(toConsumableArray_default()(editData));
setEditKey(-1);
}
break;
}
};
var renderQuestion = function renderQuestion() {
return editData === null || editData === void 0 ? void 0 : editData.map(function (v, k) {
var _v$question;
v.key = k + 1;
v.len = editData.length;
if (v.question.question_type === 1) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(SingleEditor/* default */.Z, {
ref: childrenRef,
editKey: editKey,
polls_status: 1,
isadd: true,
callback: callback,
editData: v
}), /*#__PURE__*/(0,jsx_runtime.jsx)(divider/* default */.Z, {})]
}, v.id);
}
if (v.question.question_type === 2) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(MultipleEditor/* default */.Z, {
ref: childrenRef,
editKey: editKey,
polls_status: 1,
isadd: true,
callback: callback,
editData: v
}), /*#__PURE__*/(0,jsx_runtime.jsx)(divider/* default */.Z, {})]
}, v.id);
}
if (((_v$question = v.question) === null || _v$question === void 0 ? void 0 : _v$question.question_type) === 3) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(SubjectiveEditor/* default */.Z, {
ref: childrenRef,
editKey: editKey,
polls_status: 1,
isadd: true,
callback: callback,
editData: v
}), /*#__PURE__*/(0,jsx_runtime.jsx)(divider/* default */.Z, {})]
}, v.id);
}
});
};
var addQuestion = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(type) {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(editKey !== -1)) {
_context.next = 3;
break;
}
message/* default */.ZP.error("不能同时编辑两题");
return _context.abrupt("return");
case 3:
setEditKey(editData.length + 1);
setEditData([].concat(toConsumableArray_default()(editData), [{
question: {
question_type: type
}
}]));
case 5:
case "end":
return _context.stop();
}
}, _callee);
}));
return function addQuestion(_x) {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "edu-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "animated fadeIn",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: "mt10",
children: userInfo && /*#__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: "".concat(userInfo.first_category_url),
children: userInfo === null || userInfo === void 0 || (_userInfo$course = userInfo.course) === null || _userInfo$course === void 0 ? void 0 : _userInfo$course.course_name
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/classrooms/".concat(params.coursesId, "/poll"),
children: "\u95EE\u5377\u5217\u8868"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
children: "\u65B0\u5EFA\u95EE\u5377"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
className: [Addmodules.title, 'mt20'].join(' '),
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
style: {
width: "100%"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
className: "font20 ml5",
children: "\u65B0\u5EFA\u95EE\u5377"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
className: "font16 c-light-black",
to: "/classrooms/".concat(params.coursesId, "/poll"),
children: "\u8FD4\u56DE"
})
})]
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: [Addmodules.bg, 'pt30', 'pl30', 'pr30', 'pb30', 'mt20'].join(' '),
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
layout: "vertical",
form: form,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "polls_name",
label: "\u95EE\u5377\u6807\u9898\uFF1A",
rules: [{
required: true,
message: "请填写问卷标题"
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
maxLength: 60,
placeholder: "\u95EE\u5377\u6807\u9898\uFF0C\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u95EE\u5377\u987B\u77E5\uFF1A",
name: "polls_description",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
watch: true,
placeholder: "\u8BF7\u5728\u6B64\u8F93\u5165\u672C\u6B21\u95EE\u5377\u7B54\u9898\u7684\u76F8\u5173\u8BF4\u660E,\u6700\u5927\u9650\u52365000\u5B57"
})
}), editData != '' && /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: [Addmodules.bg, 'pt30', 'pl20', 'pr20', 'pb20', 'mt20'].join(' '),
children: renderQuestion()
}), /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: [Addmodules.bg, 'pt30', 'pl30', 'pr30', 'pb30', 'mt20'].join(' '),
children: questionType.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
className: "mr20",
type: "primary",
onClick: function onClick() {
return addQuestion(item.id);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(PlusCircleOutlined/* default */.Z, {
className: "mr5"
}), item.name]
});
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
className: "tr",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_umi_production_exports.history.back();
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
})),
children: "\u53D6\u6D88"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
style: {
margin: '0px 20px'
},
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var _editData$filter;
var value, res, _res$data;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return form.validateFields();
case 2:
value = form.getFieldValue();
value.is_md = true;
if (!(((_editData$filter = editData.filter(function (item) {
return item.question.question_title;
})) === null || _editData$filter === void 0 ? void 0 : _editData$filter.length) <= 0)) {
_context3.next = 7;
break;
}
message/* default */.ZP.info('请至少添加一道试题');
return _context3.abrupt("return");
case 7:
_context3.next = 9;
return (0,polls/* addPolls */.rJ)(objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, value), params), {}, {
poll_questions: editData.filter(function (item) {
var _item$question;
return item === null || item === void 0 || (_item$question = item.question) === null || _item$question === void 0 ? void 0 : _item$question.question_title;
}).map(function (item) {
return item.question;
})
}));
case 9:
res = _context3.sent;
if (res.status === 0) {
(0,util/* trackEvent */.L9)(['教学课堂', '问卷', '新建问卷']);
// history.push(`/classrooms/${params.coursesId}/poll/${res.data?.id}/edit`)
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/poll/").concat((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.id, "/detail?tabs=2"));
}
case 11:
case "end":
return _context3.stop();
}
}, _callee3);
})),
children: "\u4FDD\u5B58"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var _editData$filter2;
var value, res, _res$data2, _res$data3, _res$data4;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return form.validateFields();
case 2:
value = form.getFieldValue();
value.is_md = true;
if (!(((_editData$filter2 = editData.filter(function (item) {
return item.question.question_title;
})) === null || _editData$filter2 === void 0 ? void 0 : _editData$filter2.length) <= 0)) {
_context4.next = 7;
break;
}
message/* default */.ZP.info('请至少添加一道试题');
return _context4.abrupt("return");
case 7:
_context4.next = 9;
return (0,polls/* addPolls */.rJ)(objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, value), params), {}, {
poll_questions: editData.filter(function (item) {
var _item$question2;
return item === null || item === void 0 || (_item$question2 = item.question) === null || _item$question2 === void 0 ? void 0 : _item$question2.question_title;
}).map(function (item) {
return item.question;
})
}));
case 9:
res = _context4.sent;
if (res.status === 0) {
(0,util/* trackEvent */.L9)(['教学课堂', '问卷', '新建问卷']);
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/poll/").concat((_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.id, "/detail?tabs=2"));
dispatch({
type: 'polls/setActionTabs',
payload: {
key: '立即发布',
selectArrs: [(_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.id],
types: 2,
params: {
categoryId: (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.id
}
}
});
}
case 11:
case "end":
return _context4.stop();
}
}, _callee4);
})),
children: "\u4FDD\u5B58\u5E76\u53D1\u5E03"
})]
})]
})
})]
});
};
/* harmony default export */ var Add = ((0,_umi_production_exports.connect)(function (_ref6) {
var classroomList = _ref6.classroomList,
loading = _ref6.loading,
user = _ref6.user,
globalSetting = _ref6.globalSetting;
return {
classroomList: classroomList,
globalSetting: globalSetting,
user: user,
loading: loading.effects
};
})(ShixunsListPage));
/***/ })
}]);