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

843 lines
40 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[9575],{
/***/ 61137:
/*!**********************************************!*\
!*** ./src/components/AsyncButton/index.tsx ***!
\**********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Z: function() { return /* binding */ AsyncButton; }
/* harmony export */ });
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd */ 3113);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
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 AsyncButton = (_a) => {
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
const [btnLoading, setBtnLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP, __spreadProps(__spreadValues({}, props), { loading: btnLoading, onClick: (e) => __async(void 0, null, function* () {
try {
setBtnLoading(true);
yield props.onClick(e);
setBtnLoading(false);
} catch (error) {
console.error(error);
setBtnLoading(false);
}
}) }), children);
};
/***/ }),
/***/ 45339:
/*!*****************************************************************!*\
!*** ./src/components/BehavioralAnalysis/index.tsx + 1 modules ***!
\*****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
ij: function() { return /* binding */ AnalysisNoData; },
_s: function() { return /* binding */ PhotosList; },
Uf: function() { return /* binding */ dealOncFnc; },
ZP: function() { return /* binding */ components_BehavioralAnalysis; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/BehavioralAnalysis/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var BehavioralAnalysismodules = ({"flex_box_center":"flex_box_center___swvFl","flex_space_between":"flex_space_between___AqPFV","flex_box_vertical_center":"flex_box_vertical_center___XWInJ","flex_box_center_end":"flex_box_center_end___GB61t","flex_box_column":"flex_box_column___dJnz1","analysis":"analysis___xyV_c","title":"title___DQ3VK","itemWrap":"itemWrap___vFE5r","item":"item___NjeOt","list":"list___BbMrm","wrap":"wrap___UQTTb","img":"img___tNvUo","tips":"tips___Eu4wH","footer":"footer___ZbR9W","noData":"noData___mLlw0"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
// EXTERNAL MODULE: ./node_modules/_echarts-for-react@2.0.16@echarts-for-react/lib/index.js
var lib = __webpack_require__(42441);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(2518);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(46948);
;// CONCATENATED MODULE: ./src/components/BehavioralAnalysis/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;
};
const dealOncFnc = (data = {}) => {
var _a, _b, _c, _d;
let emotion = (_a = data == null ? void 0 : data.emotion) == null ? void 0 : _a.map((v) => {
return __spreadValues({ value: v == null ? void 0 : v.rate }, v);
});
let focus = (_b = data == null ? void 0 : data.focus) == null ? void 0 : _b.map((v) => {
return __spreadValues({ value: v == null ? void 0 : v.rate }, v);
});
let action = (_c = data == null ? void 0 : data.action) == null ? void 0 : _c.map((v) => {
return __spreadValues({ value: v == null ? void 0 : v.rate }, v);
});
let intention = (_d = data == null ? void 0 : data.intention) == null ? void 0 : _d.map((v) => {
return __spreadValues({ value: v == null ? void 0 : v.rate }, v);
});
return [{
title: "\u8868\u60C5\u5360\u6BD4",
color: ["#f7ca2e", "#4ccf71", "#3791ee", "#f9ac95", "#4f74ee", "#f0e999"],
data: emotion || []
}, {
title: "\u4E13\u6CE8\u5EA6\u5360\u6BD4",
color: ["#4f74ee", "#f9ac95", "#9cb5fe", "#eaa170", "#3791ee", "#a39bed"],
data: focus || []
}, {
title: "\u884C\u4E3A\u5360\u6BD4\u60C5\u51B5",
color: ["#5eca9c", "#a39bed", "#f68238", "#f0e999", "#eaa170", "#f9ac95"],
data: action || []
}, {
title: "\u610F\u56FE\u5360\u6BD4\u60C5\u51B5",
color: ["#eaa170", "#739fcb", "#f0e999", "#f9ac95", "#4f74ee", "#5eca9c"],
data: intention || []
}];
};
const PhotosList = ({
className,
dataSource = [],
col = 4,
right,
bottom = 23,
precision = 0,
wrapWidth = 1200
}) => {
const cutText = (str = "", num, init = "--") => {
if (!str)
return init;
return (str == null ? void 0 : str.length) > num ? (str == null ? void 0 : str.slice(0, num - 1)) + "..." : str;
};
const width = Math.floor((wrapWidth - (col - 1) * right) / col);
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(BehavioralAnalysismodules.list, className) }, !!(dataSource == null ? void 0 : dataSource.length) && (dataSource == null ? void 0 : dataSource.map((item, index) => {
const { cover_pic, created_at, emotion, action, intention, focus } = item;
return /* @__PURE__ */ _react_17_0_2_react.createElement(
"div",
{
key: index,
className: BehavioralAnalysismodules.wrap,
style: {
width,
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
marginBottom: bottom
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.img }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { src: `${cover_pic}` }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.tips }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-paisheshijian mr5 font14" }), " \u62CD\u6444\u65F6\u95F4"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, created_at))),
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.footer }, /* @__PURE__ */ _react_17_0_2_react.createElement("ul", null, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-biaoqing" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8868\u60C5\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: emotion }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-333" }, cutText(emotion, 4))))), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-hangwei" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u884C\u4E3A\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: action }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-333" }, cutText(action, 4)))))), /* @__PURE__ */ _react_17_0_2_react.createElement("ul", null, /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-yitu" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u610F\u56FE\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: intention }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-333" }, cutText(intention, 4))))), /* @__PURE__ */ _react_17_0_2_react.createElement("li", null, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-zhuangtai" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u4E13\u6CE8\u5EA6\uFF1A", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: focus }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-333" }, cutText(focus, 3)))))))
);
})));
};
const AnalysisNoData = ({
className,
style,
title,
hideBar = false,
children,
customText = "",
noDataText = "",
emptyData = [],
loading,
actionAnalysis
}) => {
var _a, _b;
const empty = ((_a = emptyData == null ? void 0 : emptyData[0]) == null ? void 0 : _a.every((e) => {
var _a2;
return !((_a2 = e == null ? void 0 : e.data) == null ? void 0 : _a2.length);
})) && !((_b = emptyData == null ? void 0 : emptyData[1]) == null ? void 0 : _b.length) || !actionAnalysis;
const text = actionAnalysis ? noDataText : customText;
return /* @__PURE__ */ _react_17_0_2_react.createElement(skeleton/* default */.Z, { loading, active: true }, empty && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(BehavioralAnalysismodules.noData, className), style }, !!title && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.title }, !hideBar && /* @__PURE__ */ _react_17_0_2_react.createElement("b", null), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, title)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.itemWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, { customText: text }))), !empty && children);
};
const BehavioralAnalysis = ({
className,
style,
data = [],
title,
hideBar = false,
loading = false
}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_5_1_classnames_default()(BehavioralAnalysismodules.analysis, className), style }, !!title && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.title }, !hideBar && /* @__PURE__ */ _react_17_0_2_react.createElement("b", null), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, title)), /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.itemWrap }, data == null ? void 0 : data.map((v, k) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: BehavioralAnalysismodules.item, key: k }, /* @__PURE__ */ _react_17_0_2_react.createElement(
lib/* default */.Z,
{
option: {
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b}: {c}%"
},
title: {
left: "center",
bottom: 15,
text: v == null ? void 0 : v.title
},
legend: {
top: 10,
right: 10,
orient: "vertical",
show: true,
align: "left",
icon: "circle",
itemWidth: 10,
itemHeight: 10,
formatter: function(name) {
for (let i in v == null ? void 0 : v.data) {
if (name == (v == null ? void 0 : v.data[i].name)) {
return name + " " + (v == null ? void 0 : v.data[i].value) + "%";
}
}
},
textStyle: {
color: "#767676",
fontSize: 12
}
},
color: v == null ? void 0 : v.color,
series: [
{
type: "pie",
radius: ["20%", "35%"],
center: ["20%", "40%"],
avoidLabelOverlap: false,
label: {
show: false
},
labelLine: {
show: false
},
data: v == null ? void 0 : v.data
}
]
},
style: { height: 145 }
}
));
}))));
};
/* harmony default export */ var components_BehavioralAnalysis = (BehavioralAnalysis);
/***/ }),
/***/ 19575:
/*!*****************************************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/Analysis/index.tsx + 2 modules ***!
\*****************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
mU: function() { return /* binding */ StatisticItem; },
Q_: function() { return /* binding */ caculatePercent; },
ZP: function() { return /* binding */ components_Analysis; }
});
// 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/progress/index.js + 13 modules
var progress = __webpack_require__(93948);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// 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/table/index.js + 85 modules
var table = __webpack_require__(86383);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/Analysis/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Analysismodules = ({"analysisWrapper":"analysisWrapper___vy_V8","title":"title___tQAzn","tableWrapper":"tableWrapper___ztB9P","firstCol":"firstCol___Itr68","itemWrapper":"itemWrapper___Jaw8O","itemTitle":"itemTitle___gmKyn","count":"count___MUY3o","echarts_list":"echarts_list___RNu3g","echarts_item":"echarts_item___ZHo0B","tips":"tips___k4pHA"});
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(64841);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(23852);
// EXTERNAL MODULE: ./src/components/BehavioralAnalysis/index.tsx + 1 modules
var BehavioralAnalysis = __webpack_require__(45339);
// 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/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(20473);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(75798);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/ClearanceModal/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 ClearanceModal = ({
shixunHomeworks,
dispatch,
isShow,
setIsShow,
item,
courseId,
categoryId
}) => {
const [params, setParams] = (0,_react_17_0_2_react.useState)({
page: 1,
limit: 10,
keyword: "",
type: null
});
const [result, setResult] = (0,_react_17_0_2_react.useState)([]);
const [tableLoading, setTabLoading] = (0,_react_17_0_2_react.useState)(false);
const [activeTab, setActiveTab] = (0,_react_17_0_2_react.useState)(1);
(0,_react_17_0_2_react.useEffect)(() => {
if (isShow) {
getdata();
}
}, [isShow, params.type]);
function getdata() {
return __async(this, null, function* () {
setTabLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/homework_commons/${categoryId}/shixun_game_statisic.json`, {
method: "get",
params: {
challenge_id: item.id,
id: categoryId,
type: params.type,
page: params.page,
limit: params.limit,
keyword: params.keyword
}
});
setTabLoading(false);
if (res.status === 0) {
setResult(res == null ? void 0 : res.data);
}
});
}
const columns = [
{
title: "\u5E8F\u53F7",
dataIndex: "number",
width: 50,
fixed: "left",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#000" } }, params.limit * (params.page - 1) + index + 1)
},
{
title: "\u5B66\u751F\u59D3\u540D",
dataIndex: "name",
key: "name",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#3061D0", cursor: "pointer" }, onClick: () => {
(0,util/* openNewWindow */.xg)(`/classrooms/${courseId}/shixun_homework/${categoryId}/${record.student_work_id}/comment`);
} }, text)
},
{
title: "\u5B66\u53F7",
dataIndex: "student_id",
key: "student_id",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text)
},
{
title: "\u73ED\u7EA7",
dataIndex: "group_name",
key: "group_name",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text)
},
{
title: "\u8BC4\u6D4B\u6B21\u6570",
dataIndex: "evaluate_count",
key: "evaluate_count",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text)
},
{
title: "\u5B9E\u8BAD\u8017\u65F6",
dataIndex: "time_consuming",
key: "time_consuming",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text)
},
{
title: "\u901A\u5173\u60C5\u51B5",
dataIndex: "complete_status",
key: "complete_status",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, text == 2 ? "\u5DF2\u901A\u5173" : "\u672A\u901A\u5173")
}
];
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
title: "\u5173\u5361\u901A\u5173\u8BE6\u60C5",
open: isShow,
width: 900,
footer: null,
maskClosable: false,
onCancel: () => {
params.keyword = "";
params.page = 1;
params.limit = 10;
params.type = null;
setParams(__spreadValues({}, params));
setIsShow(false);
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: "20px" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: {
color: "#333",
marginRight: "20px",
wordBreak: "break-all",
textOverflow: "ellipsis",
overflow: "hidden",
WebkitLineClamp: 2,
display: "-webkit-box",
WebkitBoxOrient: "vertical"
} }, "\u5173\u5361", item == null ? void 0 : item.index, " ", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: item == null ? void 0 : item.subject }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, item == null ? void 0 : item.subject))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { display: "flex", alignItems: "center", justifyContent: "flex-end" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_select["default"],
{
size: "large",
value: params.type,
onChange: (value) => __async(void 0, null, function* () {
params.type = value;
setParams(__spreadValues({}, params));
getdata();
}),
style: { width: 140, marginRight: 20 }
},
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: null }, "\u5168\u90E8"),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 1 }, "\u672A\u901A\u5173"),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: 2 }, "\u5DF2\u901A\u5173")
)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomInput */.t7,
{
style: { width: 220 },
placeholder: "\u8BF7\u8F93\u5165\u59D3\u540D/\u5B66\u53F7\u641C\u7D22",
value: params.keyword,
onChange: (value) => {
params.keyword = value;
params.page = 1;
setParams(__spreadValues({}, params));
getdata();
}
}
)))),
/* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
scroll: { y: 380 },
columns,
loading: tableLoading,
dataSource: result.users,
pagination: {
size: "default",
showQuickJumper: true,
showSizeChanger: true,
pageSizeOptions: ["10", "15", "50", "100", "200"],
// hideOnSinglePage: true,
pageSize: params.limit,
current: params.page,
position: ["bottomRight"],
onChange: (page, pagesize) => {
params.page = page;
params.limit = pagesize;
setParams(__spreadValues({}, params));
getdata();
},
total: result == null ? void 0 : result.count,
showTotal: (total, range) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5171", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#165DFF" } }, " ", total, " "), "\u6761\u6570\u636E")
}
}
)
));
};
/* harmony default export */ var components_ClearanceModal = ((0,_umi_production_exports.connect)(
({ shixunHomeworks }) => ({
shixunHomeworks
})
)(ClearanceModal));
// EXTERNAL MODULE: ./src/components/AsyncButton/index.tsx
var AsyncButton = __webpack_require__(61137);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/Analysis/index.tsx
var Analysis_defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var Analysis_getOwnPropSymbols = Object.getOwnPropertySymbols;
var Analysis_hasOwnProp = Object.prototype.hasOwnProperty;
var Analysis_propIsEnum = Object.prototype.propertyIsEnumerable;
var Analysis_defNormalProp = (obj, key, value) => key in obj ? Analysis_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var Analysis_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (Analysis_hasOwnProp.call(b, prop))
Analysis_defNormalProp(a, prop, b[prop]);
if (Analysis_getOwnPropSymbols)
for (var prop of Analysis_getOwnPropSymbols(b)) {
if (Analysis_propIsEnum.call(b, prop))
Analysis_defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var Analysis_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 StatisticItem = ({ title, strokeColor, trailColor, percent, count }) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Analysismodules.itemWrapper }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Analysismodules.itemTitle }, title), /* @__PURE__ */ _react_17_0_2_react.createElement(progress/* default */.Z, { percent, strokeColor, trailColor }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Analysismodules.count }, count, "\u4EBA"));
};
const caculatePercent = (total, target) => {
const str = `${(target / total * 100).toFixed(1)}`;
if (str === "0.0") {
return 0;
}
return str;
};
const Analysis = () => {
const [data, setData] = (0,_react_17_0_2_react.useState)();
const params = (0,_umi_production_exports.useParams)();
const [tableLoading, setTabLoading] = (0,_react_17_0_2_react.useState)(false);
const [result, setResult] = (0,_react_17_0_2_react.useState)();
const [selectedRecord, setSelectedRecord] = (0,_react_17_0_2_react.useState)();
const [isClearanceVisible, setIsClearanceVisible] = (0,_react_17_0_2_react.useState)(false);
const [clearanceParams, setClearanceParams] = (0,_react_17_0_2_react.useState)({
page: 1,
limit: 10
});
(0,_react_17_0_2_react.useEffect)(() => {
(0,fetch/* default */.ZP)(`/api/homework_commons/${params.categoryId}/statistic.json`, { method: "GET" }).then((res) => {
setData(res);
});
getClearanceData();
}, []);
const mock = [
{ title: "\u6309\u65F6\u901A\u5173", color: "#00AE87", trailColor: "#e5f6f3", percent: caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.finished_count), count: data == null ? void 0 : data.finished_count },
{ title: "\u8865\u4EA4\u901A\u5173", color: "#2271FF", trailColor: "#e7f0ff", percent: caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.late_finished_count), count: data == null ? void 0 : data.late_finished_count },
{ title: "\u672A\u901A\u5173", color: "#E53333", trailColor: "#fceaea", percent: caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.unfinished_count), count: data == null ? void 0 : data.unfinished_count },
{ title: "\u672A\u5F00\u542F", color: "#C6CED6", trailColor: "#f6f7f8", percent: caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.unstart_count), count: data == null ? void 0 : data.unstart_count }
];
const columns = [
{
title: "\u5E8F\u53F7",
dataIndex: "number",
width: 80,
fixed: "left",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, clearanceParams.limit * (clearanceParams.page - 1) + index + 1)
},
{
title: "\u4EFB\u52A1\u540D\u79F0",
dataIndex: "subject",
key: "subject",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#000" } }, text)
},
{
title: "\u5DF2\u901A\u5173",
width: 120,
dataIndex: "completed_sum",
key: "completed_sum",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text, " \u4EBA")
},
{
title: "\u672A\u901A\u5173",
width: 120,
dataIndex: "uncompleted_sum",
key: "uncompleted_sum",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text, " \u4EBA")
},
{
title: "\u603B\u8BC4\u6D4B\u6B21\u6570",
width: 120,
dataIndex: "evaluation_total",
key: "evaluation_total",
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#333" } }, text, " \u6B21")
},
{
title: /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u901A\u5173\u7387", /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: "\u901A\u5173\u7387=\u901A\u8FC7\u8BC4\u6D4B\u7684\u4EBA\u6570/\u4F5C\u4E1A\u53D1\u5E03\u4EBA\u6570" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Analysismodules.tips }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-a-wenhaobeifen2" })))),
dataIndex: "passed_rate",
key: "passed_rate",
width: 120,
ellipsis: true,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#000" } }, text, !!text ? "%" : "")
},
{
title: "\u64CD\u4F5C",
dataIndex: "action",
key: "action",
align: "right",
ellipsis: true,
width: 100,
render: (text, record, index) => /* @__PURE__ */ _react_17_0_2_react.createElement(
"a",
{
style: { color: "#165DFF" },
onClick: (e) => {
e.stopPropagation();
setSelectedRecord(__spreadProps(Analysis_spreadValues({}, record), { index: clearanceParams.limit * (clearanceParams.page - 1) + index + 1 }));
setIsClearanceVisible(true);
}
},
"\u67E5\u770B"
)
}
];
function getClearanceData() {
return Analysis_async(this, null, function* () {
setTabLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/homework_commons/${params.categoryId}/shixun_challenge_statisic.json`, {
method: "get",
params: { page: clearanceParams.page, limit: clearanceParams.limit }
});
setTabLoading(false);
if (res.status === 0) {
setResult(res == null ? void 0 : res.data);
}
});
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Analysismodules.analysisWrapper }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${Analysismodules.title} mb20` }, "\u4F5C\u4E1A\u5B8C\u6210\u60C5\u51B5"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mb20" }, "\u5E94\u63D0\u4EA4", data == null ? void 0 : data.total_count, "\u4EBA\uFF0C\u6309\u65F6\u901A\u5173", data == null ? void 0 : data.finished_count, "\u4EBA\uFF0C\u5360\u6BD4", caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.finished_count), "\uFF1B \u8865\u4EA4\u901A\u5173", data == null ? void 0 : data.late_finished_count, "\u4EBA\uFF0C\u5360\u6BD4", caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.late_finished_count), "\uFF1B \u672A\u901A\u5173", data == null ? void 0 : data.unfinished_count, "\u4EBA\uFF0C\u5360\u6BD4", caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.unfinished_count), "\uFF1B \u672A\u5F00\u542F", data == null ? void 0 : data.unstart_count, "\u4EBA\uFF0C\u5360\u6BD4", caculatePercent(data == null ? void 0 : data.total_count, data == null ? void 0 : data.unstart_count)), /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { justify: "space-between", className: "mb30" }, mock.map((item) => /* @__PURE__ */ _react_17_0_2_react.createElement(col/* default */.Z, { flex: "212px", key: item.title }, /* @__PURE__ */ _react_17_0_2_react.createElement(
StatisticItem,
{
title: item.title,
strokeColor: item.color,
trailColor: item.trailColor,
percent: parseInt(item.percent),
count: item.count
}
)))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${Analysismodules.title} mb20` }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u901A\u5173\u60C5\u51B5"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { flex: 1, display: "flex", alignItems: "center", justifyContent: "flex-end" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(AsyncButton/* AsyncButton */.Z, { type: "primary", onClick: () => Analysis_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/homework_commons/${params == null ? void 0 : params.categoryId}/export_challenge_statistic.json`, {
method: "get"
});
if (res.status == 0) {
(0,util/* openNewWindow */.xg)(`/classrooms/${params == null ? void 0 : params.coursesId}/exportlist/shixun_work_list`);
}
}) }, "\u5BFC\u51FA\u901A\u5173\u60C5\u51B5"))), /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
scroll: { y: 490 },
columns,
loading: tableLoading,
className: (result == null ? void 0 : result.count) < clearanceParams.limit ? "mb30" : "mb15",
dataSource: result == null ? void 0 : result.challenges,
pagination: {
size: "default",
showQuickJumper: true,
showSizeChanger: true,
pageSizeOptions: ["10", "15", "50", "100", "200"],
hideOnSinglePage: true,
pageSize: clearanceParams.limit,
current: clearanceParams.page,
position: ["bottomRight"],
onChange: (page, pagesize) => {
clearanceParams.page = page;
clearanceParams.limit = pagesize;
setClearanceParams(Analysis_spreadValues({}, clearanceParams));
getClearanceData();
},
total: result == null ? void 0 : result.count,
showTotal: (total, range) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5171", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#165DFF" } }, " ", total, " "), "\u6761\u6570\u636E")
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: `${Analysismodules.title} mb20` }, "\u4EE3\u7801\u67E5\u91CD\u60C5\u51B5"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mb20" }, "\u7591\u4F3C\u6284\u88AD\u4EBA\u6570", data == null ? void 0 : data.review_total_count, "\u4EBA\uFF0C\u4EE3\u7801\u91CD\u5408100%\u4EBA\u6570", data == null ? void 0 : data.first_review_count, "\u4EBA\uFF1B\u4EE3\u7801\u91CD\u540890%\uFF5E100%\u4EBA\u6570", data == null ? void 0 : data.second_review_count, "\u4EBA\uFF1B\u4EE3\u7801\u91CD\u540880%\uFF5E90%\u4EBA\u6570", data == null ? void 0 : data.third_review_count, "\u4EBA\uFF1B\u4EE3\u7801\u91CD\u540870%\uFF5E80%\u4EBA\u6570", data == null ? void 0 : data.fourth_review_count, "\u4EBA\u3002"), /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
bordered: true,
className: `${Analysismodules.tableWrapper} mb30`,
columns: [
{
title: "\u4EE3\u7801\u91CD\u5408\u7387",
align: "center",
className: Analysismodules.firstCol,
render: () => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5360\u6BD4");
}
},
{
title: "100%",
align: "center",
dataIndex: "a"
},
{
title: "90%-100%",
align: "center",
dataIndex: "b"
},
{
title: "80%-90%",
align: "center",
dataIndex: "c"
},
{
title: "70%-80%",
align: "center",
dataIndex: "d"
}
],
dataSource: [
{
a: `${data == null ? void 0 : data.first_review_count}\u4EBA`,
b: `${data == null ? void 0 : data.second_review_count}\u4EBA`,
c: `${data == null ? void 0 : data.third_review_count}\u4EBA`,
d: `${data == null ? void 0 : data.fourth_review_count}\u4EBA`,
index: 0
}
],
rowKey: "index",
pagination: false
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(BehavioralAnalysis/* default */.ZP, { title: "\u5B9E\u8BAD\u884C\u4E3A\u5206\u6790\u7EDF\u8BA1", data: (0,BehavioralAnalysis/* dealOncFnc */.Uf)(data) }), /* @__PURE__ */ _react_17_0_2_react.createElement(
components_ClearanceModal,
{
courseId: params.coursesId,
item: selectedRecord,
isShow: isClearanceVisible,
setIsShow: setIsClearanceVisible,
categoryId: params.categoryId
}
));
};
/* harmony default export */ var components_Analysis = (Analysis);
/***/ })
}]);