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

321 lines
16 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[9695],{
/***/ 63315:
/*!********************************************************************!*\
!*** ./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/_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__(67866);
// 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__(98135);
// 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__(68243);
;// 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","footer":"footer___BXamP","footer_button":"footer_button___SgR41","button_style":"button_style___Dhnsl"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(13462);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
var markdown_editor = __webpack_require__(96180);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/MultipleEditor/index.tsx
var MultipleEditor = __webpack_require__(68566);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/SingleEditor/index.tsx
var SingleEditor = __webpack_require__(47938);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/Polls/Edit/components/SubjectiveEditor/index.tsx
var SubjectiveEditor = __webpack_require__(63254);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Polls/Add/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 ShixunsListPage = ({
classroomList,
globalSetting,
loading,
user,
dispatch
}) => {
var _a;
const params = (0,_umi_production_exports.useParams)();
(0,_react_17_0_2_react.useEffect)(() => {
setTimeout(() => {
document.body.scrollIntoView();
}, 300);
dispatch({
type: "globalSetting/footerToggle",
payload: false
});
return () => {
dispatch({
type: "globalSetting/footerToggle",
payload: true
});
};
}, []);
const { userInfo } = user;
const [form] = es_form["default"].useForm();
let [editData, setEditData] = (0,_react_17_0_2_react.useState)([]);
let [editKey, setEditKey] = (0,_react_17_0_2_react.useState)(-1);
const childrenRef = (0,_react_17_0_2_react.useRef)();
const questionType = [{ name: "\u5355\u9009\u9898", id: 1 }, { name: "\u591A\u9009\u9898", id: 2 }, { name: "\u95EE\u7B54\u9898", id: 3 }];
const callback = (key, data, allData) => {
switch (key) {
case "edit":
if (editKey === -1 || data === -1) {
editKey = data;
setEditKey(data);
} else {
message/* default */.ZP.error("\u4E0D\u80FD\u540C\u65F6\u7F16\u8F91\u4E24\u9898");
}
break;
case "add":
if (editKey != -1) {
message/* default */.ZP.error("\u4E0D\u80FD\u540C\u65F6\u7F16\u8F91\u4E24\u9898");
return;
}
delete data.id;
editData.splice(data == null ? void 0 : data.key, 0, { insert_id: data == null ? void 0 : data.insert_id, question: __spreadValues({}, data) }).slice();
setEditData([...editData]);
setEditKey((data == null ? void 0 : data.key) + 1);
break;
case "addContinue":
setEditData([...data]);
break;
case "del":
editData.splice(data - 1, 1);
setEditData([...editData]);
setEditKey(-1);
break;
case "isadd":
editData[editKey - 1] = { question: data };
if (allData) {
setEditKey(editData.length + 1);
setEditData([...editData, { question: { question_type: allData } }]);
} else {
setEditData([...editData]);
setEditKey(-1);
}
break;
}
};
const renderQuestion = function() {
return editData == null ? void 0 : editData.map((v, k) => {
var _a2;
v.key = k + 1;
v.len = editData.length;
if (v.question.question_type === 1) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { key: v.id }, /* @__PURE__ */ _react_17_0_2_react.createElement(SingleEditor/* default */.Z, { ref: childrenRef, editKey, polls_status: 1, isadd: true, callback, editData: v }), /* @__PURE__ */ _react_17_0_2_react.createElement(divider/* default */.Z, null));
}
if (v.question.question_type === 2) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { key: v.id }, /* @__PURE__ */ _react_17_0_2_react.createElement(MultipleEditor/* default */.Z, { ref: childrenRef, editKey, polls_status: 1, isadd: true, callback, editData: v }), /* @__PURE__ */ _react_17_0_2_react.createElement(divider/* default */.Z, null));
}
if (((_a2 = v.question) == null ? void 0 : _a2.question_type) === 3) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { key: v.id }, /* @__PURE__ */ _react_17_0_2_react.createElement(SubjectiveEditor/* default */.Z, { ref: childrenRef, editKey, polls_status: 1, isadd: true, callback, editData: v }), /* @__PURE__ */ _react_17_0_2_react.createElement(divider/* default */.Z, null));
}
});
};
const addQuestion = (type) => __async(void 0, null, function* () {
if (editKey !== -1) {
message/* default */.ZP.error("\u4E0D\u80FD\u540C\u65F6\u7F16\u8F91\u4E24\u9898");
return;
}
setEditKey(editData.length + 1);
setEditData([...editData, { question: { question_type: type } }]);
});
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: "edu-container" }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: "animated fadeIn" }, /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: "mt10" }, userInfo && /* @__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: `${userInfo.first_category_url}`
},
(_a = userInfo == null ? void 0 : userInfo.course) == null ? void 0 : _a.course_name
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
to: `/classrooms/${params.coursesId}/poll`
},
"\u95EE\u5377\u5217\u8868"
)), /* @__PURE__ */ _react_17_0_2_react.createElement(breadcrumb/* default */.Z.Item, null, "\u65B0\u5EFA\u95EE\u5377"))), /* @__PURE__ */ _react_17_0_2_react.createElement("aside", { className: [Addmodules.title, "mt20"].join(" ") }, /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { style: { width: "100%" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "1" }, /* @__PURE__ */ _react_17_0_2_react.createElement("strong", { className: "font18 ml5" }, "\u65B0\u5EFA\u95EE\u5377")), /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
_umi_production_exports.Link,
{
className: "font14 c-light-black",
to: `/classrooms/${params.coursesId}/poll`
},
"\u8FD4\u56DE"
))))), /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: [Addmodules.bg, "pt30", "pl30", "pr30", "pb30", "mt10"].join(" ") }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"],
{
layout: "vertical",
form
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
name: "polls_name",
label: "\u95EE\u5377\u6807\u9898\uFF1A",
rules: [{ required: true, message: "\u8BF7\u586B\u5199\u95EE\u5377\u6807\u9898" }]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(input["default"], { maxLength: 60, placeholder: "\u95EE\u5377\u6807\u9898\uFF0C\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26", style: { height: "40px" } })
),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { label: "\u95EE\u5377\u987B\u77E5\uFF1A", name: "polls_description" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
markdown_editor/* default */.Z,
{
watch: true,
height: 200,
placeholder: "\u8BF7\u5728\u6B64\u8F93\u5165\u672C\u6B21\u95EE\u5377\u7B54\u9898\u7684\u76F8\u5173\u8BF4\u660E,\u6700\u5927\u9650\u52365000\u5B57"
}
))
)), editData != "" && /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: [Addmodules.bg, "pt30", "pl20", "pr20", "pb20", "mt20"].join(" ") }, renderQuestion())), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Addmodules.footer }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Addmodules.footer_button }, /* @__PURE__ */ _react_17_0_2_react.createElement("section", { className: Addmodules.bg, style: { display: "flex" } }, questionType.map(function(item) {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Addmodules.button_style, onClick: () => addQuestion(item.id) }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-tianjia4 mr5 font14" }), item.name);
})), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
type: "primary",
style: { marginLeft: "auto", background: "#ffffff", color: "#343636", border: "1px #eeeeee solid" },
onClick: () => __async(void 0, null, function* () {
var _a2, _b;
yield form.validateFields();
const value = form.getFieldValue();
value.is_md = true;
if (((_a2 = editData.filter((item) => item.question.question_title)) == null ? void 0 : _a2.length) <= 0) {
message/* default */.ZP.info("\u8BF7\u81F3\u5C11\u6DFB\u52A0\u4E00\u9053\u8BD5\u9898");
return;
}
const res = yield (0,polls/* addPolls */.rJ)(__spreadProps(__spreadValues(__spreadValues({}, value), params), { poll_questions: editData.filter((item) => {
var _a3;
return (_a3 = item == null ? void 0 : item.question) == null ? void 0 : _a3.question_title;
}).map((item) => item.question) }));
if (res.status === 0) {
(0,util/* trackEvent */.L9)(["\u6559\u5B66\u8BFE\u5802", "\u95EE\u5377", "\u65B0\u5EFA\u95EE\u5377"]);
_umi_production_exports.history.push(`/classrooms/${params.coursesId}/poll/${(_b = res.data) == null ? void 0 : _b.id}/detail?tabs=2`);
}
})
},
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-baocun1 font14 mr5" }),
"\u4FDD\u5B58\u95EE\u5377"
), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_button/* default */.ZP,
{
type: "primary",
style: { marginLeft: "20px" },
onClick: () => __async(void 0, null, function* () {
var _a2, _b, _c, _d;
yield form.validateFields();
const value = form.getFieldValue();
value.is_md = true;
if (((_a2 = editData.filter((item) => item.question.question_title)) == null ? void 0 : _a2.length) <= 0) {
message/* default */.ZP.info("\u8BF7\u81F3\u5C11\u6DFB\u52A0\u4E00\u9053\u8BD5\u9898");
return;
}
const res = yield (0,polls/* addPolls */.rJ)(__spreadProps(__spreadValues(__spreadValues({}, value), params), { poll_questions: editData.filter((item) => {
var _a3;
return (_a3 = item == null ? void 0 : item.question) == null ? void 0 : _a3.question_title;
}).map((item) => item.question) }));
if (res.status === 0) {
(0,util/* trackEvent */.L9)(["\u6559\u5B66\u8BFE\u5802", "\u95EE\u5377", "\u65B0\u5EFA\u95EE\u5377"]);
_umi_production_exports.history.push(`/classrooms/${params.coursesId}/poll/${(_b = res.data) == null ? void 0 : _b.id}/detail?tabs=2`);
dispatch({
type: "polls/setActionTabs",
payload: {
key: "\u7ACB\u5373\u53D1\u5E03",
selectArrs: [(_c = res.data) == null ? void 0 : _c.id],
types: 2,
params: { categoryId: (_d = res.data) == null ? void 0 : _d.id }
}
});
}
})
},
/* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-fasong font16 mr5" }),
"\u53D1\u5E03\u95EE\u5377"
))));
};
/* harmony default export */ var Add = ((0,_umi_production_exports.connect)(
({
classroomList,
loading,
user,
globalSetting
}) => ({
classroomList,
globalSetting,
user,
loading: loading.effects
})
)(ShixunsListPage));
/***/ })
}]);