"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[66651],{ /***/ 96317: /*!*********************************************************************!*\ !*** ./src/pages/Engineering/Evaluate/Detail/index.tsx + 9 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 */ Detail; } }); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(26801); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js var objectWithoutProperties = __webpack_require__(27161); 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 + 8 modules var _umi_production_exports = __webpack_require__(7181); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Detailmodules = ({"evaluateDetailContainer":"evaluateDetailContainer___I2lI8"}); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Header/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Headermodules = ({"headerContainer":"headerContainer___RP60j","breadcrumd":"breadcrumd___SFPna","select":"select___PNmEI"}); // EXTERNAL MODULE: ./src/pages/Engineering/components/Evaluate/index.ts + 4 modules var Evaluate = __webpack_require__(36815); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Header/index.tsx // import { Select } from 'antd'; // import ENV from '@/utils/env'; // const { Option } = Select; var Header = function Header() { var goBack = function goBack() { _umi_production_exports.history.push("/engineering/evaluate/course"); }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Headermodules.headerContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Headermodules.breadcrumd, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { onClick: function onClick() { return goBack(); }, children: "\u8BFE\u7A0B\u8BC4\u4EF7" }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: '>>' }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: "\u8BC4\u4EF7\u8BE6\u60C5" })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(Evaluate/* PanelTitle */.p, { title: "\u8BC4\u4EF7\u8BE6\u60C5", style: { padding: '12px 0 0 0' } })] }); }; /* harmony default export */ var Detail_Header = ((0,_umi_production_exports.connect)(function (_ref) { var loading = _ref.loading, engineeringEvaluteDetail = _ref.engineeringEvaluteDetail; return objectSpread2_default()({ loading: loading }, engineeringEvaluteDetail); })(Header)); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/TabList/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var TabListmodules = ({"evaluateDetailContainer":"evaluateDetailContainer___YrmXK","red":"red___MLKvr","green":"green___Dwseg","name":"name___mNPwy"}); // 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/table/index.js + 85 modules var table = __webpack_require__(72315); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/TabList/index.tsx var EvaluateDetailTabList = function EvaluateDetailTabList(_ref) { var loading = _ref.loading, name = _ref.name, tabListData = _ref.tabListData; var columns = [{ title: '分项', dataIndex: 'position', width: 96, align: 'center' }, { title: '课程目标', dataIndex: 'content', ellipsis: { showTitle: false }, render: function render(record) { return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { placement: "topLeft", title: record, children: record }); } }, { title: '课程权重', dataIndex: 'weigths', align: 'center', width: 80 }, { title: '考核方式', dataIndex: 'ways', width: 230, ellipsis: { showTitle: false }, render: function render(record) { if (record && record.length > 0) { var text = record.toString(); return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, { placement: "top", title: text, children: text }); } else { return '--'; } } }, { title: '达成分值', dataIndex: 'standard_grade', align: 'center', width: 80 }, { title: '实际分值', dataIndex: 'actual_grade', align: 'center', width: 80 }, { title: '评价结果', dataIndex: 'status', width: 94, align: 'center', render: function render(record) { return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: record ? TabListmodules.green : TabListmodules.red, children: record ? '达成' : '未达成' }); } }]; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: TabListmodules.evaluateDetailContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: TabListmodules.name, children: [name, "\u8FBE\u6210\u8BC4\u4EF7\u8BF4\u660E"] }), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { loading: loading.effects['engineeringEvaluteDetail/getCourseResultDetail'], rowKey: "id", columns: columns, bordered: false, dataSource: tabListData, pagination: false })] }); }; /* harmony default export */ var TabList = ((0,_umi_production_exports.connect)(function (_ref2) { var engineeringEvaluteDetail = _ref2.engineeringEvaluteDetail, loading = _ref2.loading; return objectSpread2_default()({ loading: loading }, engineeringEvaluteDetail); })(EvaluateDetailTabList)); // EXTERNAL MODULE: ./node_modules/_echarts-for-react@2.0.16@echarts-for-react/lib/index.js var lib = __webpack_require__(42441); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Echart/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Echartmodules = ({"evaluateEchartContainer":"evaluateEchartContainer___w4ehu","echartsWrap":"echartsWrap___zXCuT","no":"no___IWJUT","title":"title___hJp0r"}); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Select/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var Selectmodules = ({"evaluateSelectContainer":"evaluateSelectContainer___JjsG0","title":"title___cyEig"}); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js var es_select = __webpack_require__(57809); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Select/index.tsx var Select = function Select(_ref) { var dispatch = _ref.dispatch, classDataSource = _ref.classDataSource; console.log(classDataSource, 'classDataSource'); var active = classDataSource.active, dataList = classDataSource.dataList; var params = (0,_umi_production_exports.useParams)(); var handleChange = function handleChange(e) { dispatch({ type: 'engineeringEvaluteDetail/setClassActive', payload: { active: e, dataList: dataList } }); dispatch({ type: 'engineeringEvaluteDetail/getCourseResultDetail', payload: objectSpread2_default()(objectSpread2_default()({}, params), {}, { class_name: e }) }); }; return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: { height: 20, backgroundColor: '#fafafa' } }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Selectmodules.evaluateSelectContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Selectmodules.title, children: "\u5B66\u751F\u80FD\u529B\u8FBE\u6210\u60C5\u51B5\u56FE" }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Selectmodules.s, children: ["\u73ED\u7EA7\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select["default"], { style: { width: 138, marginRight: 32 }, value: active, onChange: handleChange, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, { value: null, children: '全部' }), dataList === null || dataList === void 0 ? void 0 : dataList.map(function (e) { return /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, { value: e, children: e }); })] })] })] })] }); }; /* harmony default export */ var Detail_Select = ((0,_umi_production_exports.connect)(function (_ref2) { var engineeringEvaluteDetail = _ref2.engineeringEvaluteDetail, loading = _ref2.loading; return objectSpread2_default()({ loading: loading }, engineeringEvaluteDetail); })(Select)); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/Echart/index.tsx var colors = ['#5470C6', '#91CC75', '#EE6666']; var Echart = function Echart(_ref) { var echartsData = _ref.echartsData; /** * 柱状图 */ var getBarOption = function getBarOption() { return { color: colors, tooltip: { show: true, trigger: 'axis', formatter: function formatter(params) { var result = '课程目标' + params[0].name; params.forEach(function (item) { result += "
"; result += ''; result += item.seriesName + ":"; result += isNaN(item.value) ? 0 : item.value; }); return result; } }, grid: { left: 70, right: 45 }, legend: { right: 42, data: [{ name: '实际分值', icon: 'path://M0 0h204.8v1024H0zM409.6 409.6h204.8v614.4H409.6zM819.2 204.8h204.8v819.2H819.2z', textStyle: { color: '#464F66', fontSize: 12, padding: [0, 25, 0, 0] } }, { name: '达成分值', icon: 'path://M1405.66347426 933.875L1042.7602489 271.57661309 625.42153893 924.8024191 307.88121642 643.55241937l54.43548375-72.58064557L607.27637795 788.71370968 1051.83282897 90.125 1423.80863607 770.5685487 1768.56670046 362.30241965l235.88709686 381.04838718-81.65322647 45.36290285-163.3064513-272.17741964z', textStyle: { color: '#464F66', fontSize: 12 } }] }, xAxis: [{ type: 'category', axisTick: { alignWithLabel: true, show: false }, axisLine: { lineStyle: { color: '#E0E2EC' // 设置轴线及文字颜色 } }, axisLabel: { color: '#6B758B', margin: 20, formatter: function formatter(v) { return "\u8BFE\u7A0B\u76EE\u6807".concat(v); } }, // prettier-ignore data: echartsData.barData.dataSource.xData }], yAxis: { type: 'value', name: '分数', nameTextStyle: { padding: [0, 35, 0, 0] }, position: 'left', alignTicks: true, axisTick: { // 坐标轴刻度 show: false }, splitLine: { show: true, lineStyle: { color: '#E0E2EC' } }, axisLine: { // 坐标轴轴线 show: false, // 不显示轴线 lineStyle: { color: '#6B758B' // 设置轴线及文字颜色 } }, axisLabel: {} // minInterval: 100, // interval: 20, }, series: [{ name: '实际分值', type: 'bar', data: echartsData.barData.dataSource.yBarData }, { name: '达成分值', type: 'line', symbol: 'circle', symbolSize: 6, data: echartsData.barData.dataSource.yLineData }] }; }; /** * 折线图 */ var getLineOption = function getLineOption() { return { tooltip: { show: true, trigger: 'axis', formatter: '分数: {c}' }, legend: { right: 42, data: [{ name: '课程达成度', icon: 'path://M1337.668817 1024L897.23871 220.215054 390.744086 1012.989247 5.367742 671.655914l66.064516-88.086022L368.722581 847.827957 908.249462 0 1359.690323 825.806452 1778.098925 330.322581l286.27957 462.451613-99.096775 55.053763-198.193548-330.322581z', textStyle: { color: '#464F66' } }] }, grid: { left: 60, right: 45 }, xAxis: { type: 'category', axisTick: { alignWithLabel: true, show: false }, splitLine: { show: false }, axisLine: { show: false, lineStyle: { color: '#E0E2EC' // 设置轴线及文字颜色 } }, axisLabel: { color: '#6B758B', rotate: 45, margin: 20 }, data: echartsData.lineData.xData }, yAxis: { type: 'value', name: '分数', nameTextStyle: { padding: [0, 35, 0, 0] }, position: 'left', alignTicks: true, axisTick: { // 坐标轴刻度 show: false }, splitLine: { show: true, lineStyle: { color: '#E0E2EC' } }, axisLine: { // 坐标轴轴线 show: false, // 不显示轴线 lineStyle: { color: '#6B758B' // 设置轴线及文字颜色 } } // minInterval: 100, // interval: 20, }, series: [{ name: '课程达成度', symbol: 'circle', symbolSize: 6, itemStyle: { color: '#0152D9' }, data: echartsData.lineData.seriesData, type: 'line' }] }; }; /** * 散点图 */ var getScatterOption = function getScatterOption(list) { return { tooltip: { position: 'top', formatter: function formatter(_ref2) { var _list$name_data, _list$student_ids, _list$class_data; var seriesName = _ref2.seriesName, name = _ref2.name, value = _ref2.value, dataIndex = _ref2.dataIndex; console.log(list, 'list'); if (['平均分值', '目标分值'].includes(seriesName)) { return ''; } return "\u59D3\u540D\uFF1A".concat(list === null || list === void 0 || (_list$name_data = list.name_data) === null || _list$name_data === void 0 ? void 0 : _list$name_data[dataIndex], "
\u5B66\u53F7\uFF1A").concat(list === null || list === void 0 || (_list$student_ids = list.student_ids) === null || _list$student_ids === void 0 ? void 0 : _list$student_ids[dataIndex], "
\u73ED\u7EA7\uFF1A").concat(list === null || list === void 0 || (_list$class_data = list.class_data) === null || _list$class_data === void 0 ? void 0 : _list$class_data[dataIndex], "
\u5206\u6570\uFF1A").concat(value); } }, legend: { right: 42, data: [{ name: '已达标', icon: 'path://M512 896c281.6 0 512-230.4 512-512S793.6-128 512-128 0 102.4 0 384s230.4 512 512 512z', textStyle: { color: '#464F66', fontSize: 12, padding: [0, 44, 0, 0] } }, { name: '未达标', icon: 'path://M512 896c281.6 0 512-230.4 512-512S793.6-128 512-128 0 102.4 0 384s230.4 512 512 512z', textStyle: { color: '#464F66', fontSize: 12, padding: [0, 12, 0, 0] } }] }, grid: { left: 70, right: 115 }, title: { text: "\u8BFE\u7A0B\u76EE\u6807".concat(list.name, "\u5B66\u751F\u80FD\u529B\u8FBE\u6210\u60C5\u51B5\u56FE"), left: 20, textStyle: { color: '#6B758B', fontSize: 14, fontWeight: 400 } }, xAxis: { name: '学生序号', nameTextStyle: { color: '#6B758B', fontWeight: 400, fontSize: 12, padding: [50, 0, 0, 0] }, axisTick: { alignWithLabel: true, show: false }, splitLine: { show: false }, axisLine: { lineStyle: { color: '#E0E2EC' // 设置轴线及文字颜色 } }, axisLabel: { color: '#6B758B', margin: 20, showMaxLabel: true }, data: list.xData }, yAxis: { type: 'value', name: '分数', nameTextStyle: { padding: [0, 35, 0, 0] }, position: 'left', alignTicks: true, axisTick: { // 坐标轴刻度 show: false }, splitLine: { show: true, lineStyle: { color: '#E0E2EC' } }, axisLine: { // 坐标轴轴线 show: false, // 不显示轴线 lineStyle: { color: '#6B758B' // 设置轴线及文字颜色 } } // minInterval: 100, // interval: 20, }, series: [{ name: '已达标', type: 'scatter', symbolSize: 12, itemStyle: { color: '#0152D9' }, data: list.yData.max }, { name: '未达标', type: 'scatter', symbolSize: 12, itemStyle: { color: '#98BDF7' }, data: list.yData.min }, { name: '平均分值', type: 'line', symbolSize: 1, cursor: 'default', data: list.average_scoreData, lineStyle: { color: '#0152D9', type: 'dashed' }, label: { show: true, position: 'right', formatter: function formatter(_ref3) { var dataIndex = _ref3.dataIndex; if (dataIndex === list.average_scoreData.length - 1) { var _list$average_scoreDa; return '平均分值' + (list === null || list === void 0 || (_list$average_scoreDa = list.average_scoreData) === null || _list$average_scoreDa === void 0 ? void 0 : _list$average_scoreDa[0]); } else { return ''; } }, color: '#0152D9' } }, { name: '目标分值', type: 'line', symbolSize: 1, cursor: 'default', data: list.goal_scoreData, lineStyle: { color: '#1CA261', type: 'dashed' }, label: { show: true, position: 'right', formatter: function formatter(_ref4) { var dataIndex = _ref4.dataIndex; if (dataIndex === list.goal_scoreData.length - 1) { var _list$goal_scoreData; return '目标分值' + (list === null || list === void 0 || (_list$goal_scoreData = list.goal_scoreData) === null || _list$goal_scoreData === void 0 ? void 0 : _list$goal_scoreData[0]); } else { return ''; } }, color: '#1CA261' } }] }; }; return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Echartmodules.evaluateEchartContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Echartmodules.echartsWrap, children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Echartmodules.title, children: [echartsData.barData.name, "\u8FBE\u6210\u5206\u6790"] }), /*#__PURE__*/(0,jsx_runtime.jsx)(lib/* default */.Z, { option: getBarOption(), style: { width: '100%' } })] }), /*#__PURE__*/(0,jsx_runtime.jsx)(Detail_Select, {}), Object.values(echartsData.scatterData).map(function (list, index) { return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Echartmodules.echartsWrap, children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib/* default */.Z, { option: getScatterOption(list) }) }, index); })] }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Echartmodules.evaluateEchartContainer, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: "".concat(Echartmodules.echartsWrap, " ").concat(Echartmodules.no), children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Echartmodules.title, children: [echartsData.lineData.name, "\u8FBE\u6210\u5206\u6790"] }), /*#__PURE__*/(0,jsx_runtime.jsx)(lib/* default */.Z, { option: getLineOption() })] }) })] }); }; /* harmony default export */ var Detail_Echart = ((0,_umi_production_exports.connect)(function (_ref5) { var engineeringEvaluteDetail = _ref5.engineeringEvaluteDetail; return objectSpread2_default()({}, engineeringEvaluteDetail); })(Echart)); ;// CONCATENATED MODULE: ./src/pages/Engineering/Evaluate/Detail/index.tsx var _excluded = ["dispatch"]; var EvaluateDetail = function EvaluateDetail(_ref) { var dispatch = _ref.dispatch, props = objectWithoutProperties_default()(_ref, _excluded); var params = (0,_umi_production_exports.useParams)(); (0,_react_17_0_2_react.useEffect)(function () { if (params.ec_year_id && params.id) { dispatch({ type: 'engineeringEvaluteDetail/getCourseResultDetail', payload: params }); dispatch({ type: 'engineeringEvaluteDetail/getCourseResultDetailClass', payload: params }); } }, []); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Detailmodules.evaluateDetailContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Detail_Header, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(TabList, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(Detail_Echart, {})] }); }; /* harmony default export */ var Detail = ((0,_umi_production_exports.connect)(function (_ref2) { var engineeringEvaluteDetail = _ref2.engineeringEvaluteDetail; return objectSpread2_default()({}, engineeringEvaluteDetail); })(EvaluateDetail)); /***/ }), /***/ 36815: /*!************************************************************************!*\ !*** ./src/pages/Engineering/components/Evaluate/index.ts + 4 modules ***! \************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { // EXPORTS __webpack_require__.d(__webpack_exports__, { p: function() { return /* reexport */ Evaluate_PanelTitle; }, v: function() { return /* reexport */ Evaluate_SelectWrap; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); ;// CONCATENATED MODULE: ./src/pages/Engineering/components/Evaluate/PanelTitle/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var PanelTitlemodules = ({"panelTitleContainer":"panelTitleContainer___Ypuh_"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Engineering/components/Evaluate/PanelTitle/index.tsx /* * @Author: dengcheng * @Date: 2022-03-29 21:51:10 * @Last Modified by: dengcheng * @Last Modified time: 2022-03-30 15:20:33 * @description:面板标题 */ var PanelTitle = function PanelTitle(_ref) { var title = _ref.title, _ref$style = _ref.style, style = _ref$style === void 0 ? {} : _ref$style; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: PanelTitlemodules.panelTitleContainer, style: style, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { children: title }) }); }; /* harmony default export */ var Evaluate_PanelTitle = (PanelTitle); ;// CONCATENATED MODULE: ./src/pages/Engineering/components/Evaluate/SelectWrap/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var SelectWrapmodules = ({"selectWrapContainer":"selectWrapContainer___qocIH"}); ;// CONCATENATED MODULE: ./src/pages/Engineering/components/Evaluate/SelectWrap/index.tsx var SelectWrap = function SelectWrap(_ref) { var title = _ref.title, children = _ref.children; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: SelectWrapmodules.selectWrapContainer, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: title }), children] }); }; /* harmony default export */ var Evaluate_SelectWrap = (SelectWrap); ;// CONCATENATED MODULE: ./src/pages/Engineering/components/Evaluate/index.ts // 面板标题 // 选择包装器 /***/ }) }]);