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

2105 lines
85 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[54492],{
/***/ 49951:
/*!******************************************************!*\
!*** ./src/components/CodeBox/index.tsx + 1 modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_CodeBox; }
});
// UNUSED EXPORTS: CodeDeleteModal
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/classCallCheck.js
var classCallCheck = __webpack_require__(82100);
var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createClass.js
var createClass = __webpack_require__(29186);
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/assertThisInitialized.js
var assertThisInitialized = __webpack_require__(13720);
var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/inherits.js
var inherits = __webpack_require__(80619);
var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createSuper.js
var createSuper = __webpack_require__(47074);
var createSuper_default = /*#__PURE__*/__webpack_require__.n(createSuper);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(85573);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// 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/input/index.js + 3 modules
var input = __webpack_require__(92832);
;// CONCATENATED MODULE: ./src/components/CodeBox/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CodeBoxmodules = ({"codeBox":"codeBox___WpkVl"});
// 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/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/CodeBox/index.tsx
// class定义组件建议用函数取组件实例比如 ref={el => box = el}
// onVerify方法校验验证码是否有误
var CodeBox = /*#__PURE__*/function (_Component) {
inherits_default()(CodeBox, _Component);
var _super = createSuper_default()(CodeBox);
function CodeBox(props) {
var _this;
classCallCheck_default()(this, CodeBox);
_this = _super.call(this, props);
defineProperty_default()(assertThisInitialized_default()(_this), "canvas", void 0);
// 生成一个随机数
defineProperty_default()(assertThisInitialized_default()(_this), "randomNum", function (min, max) {
return Math.floor(Math.random() * (max - min) + min);
});
defineProperty_default()(assertThisInitialized_default()(_this), "drawPic", function () {
_this.randomCode();
});
defineProperty_default()(assertThisInitialized_default()(_this), "reloadPic", function () {
_this.drawPic();
});
// 输入验证码
defineProperty_default()(assertThisInitialized_default()(_this), "changeCode", function (e) {
console.log(e.target.value, 222);
_this.setState({
value: e.target.value,
showError: false
});
});
defineProperty_default()(assertThisInitialized_default()(_this), "onVerify", function () {
var error;
if (_this.state.value.toLowerCase() !== '' && _this.state.value.toLowerCase() !== _this.state.code.toLowerCase()) {
error = true;
} else if (_this.state.value.toLowerCase() === '') {
error = true;
} else if (_this.state.value.toLowerCase() === _this.state.code.toLowerCase()) {
error = false;
}
_this.setState({
showError: error
});
return error;
});
_this.canvas = /*#__PURE__*/_react_17_0_2_react.createRef();
_this.state = {
value: '',
code: '',
codeLength: 4,
fontSizeMin: 20,
fontSizeMax: 22,
backgroundColorMin: 240,
backgroundColorMax: 250,
colorMin: 10,
colorMax: 20,
lineColorMin: 40,
lineColorMax: 180,
contentWidth: 96,
contentHeight: 38,
showError: false // 默认不显示验证码的错误信息
};
return _this;
}
createClass_default()(CodeBox, [{
key: "componentDidMount",
value: function componentDidMount() {
this.drawPic();
}
}, {
key: "randomColor",
value:
// 生成一个随机的颜色
function randomColor(min, max) {
var r = this.randomNum(min, max);
var g = this.randomNum(min, max);
var b = this.randomNum(min, max);
return "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")");
}
}, {
key: "drawText",
value: function drawText(ctx, txt, i) {
ctx.fillStyle = this.randomColor(this.state.colorMin, this.state.colorMax);
var fontSize = this.randomNum(this.state.fontSizeMin, this.state.fontSizeMax);
ctx.font = fontSize + 'px SimHei';
var padding = 10;
var offset = (this.state.contentWidth - 40) / (this.state.code.length - 1);
var x = padding;
if (i > 0) {
x = padding + i * offset;
}
var y = this.randomNum(this.state.fontSizeMax, this.state.contentHeight - 5);
if (fontSize > 40) {
y = 40;
}
var deg = this.randomNum(-10, 10);
// 修改坐标原点和旋转角度
ctx.translate(x, y);
ctx.rotate(deg * Math.PI / 180);
ctx.fillText(txt, 0, 0);
// 恢复坐标原点和旋转角度
ctx.rotate(-deg * Math.PI / 180);
ctx.translate(-x, -y);
}
}, {
key: "drawLine",
value: function drawLine(ctx) {
// 绘制干扰线
for (var i = 0; i < 1; i++) {
ctx.strokeStyle = this.randomColor(this.state.lineColorMin, this.state.lineColorMax);
ctx.beginPath();
ctx.moveTo(this.randomNum(0, this.state.contentWidth), this.randomNum(0, this.state.contentHeight));
ctx.lineTo(this.randomNum(0, this.state.contentWidth), this.randomNum(0, this.state.contentHeight));
ctx.stroke();
}
}
}, {
key: "drawDot",
value: function drawDot(ctx) {
// 绘制干扰点
for (var i = 0; i < 100; i++) {
ctx.fillStyle = this.randomColor(0, 255);
ctx.beginPath();
ctx.arc(this.randomNum(0, this.state.contentWidth), this.randomNum(0, this.state.contentHeight), 1, 0, 2 * Math.PI);
ctx.fill();
}
}
}, {
key: "randomCode",
value:
// 随机生成验证码
function randomCode() {
var _this2 = this;
var random = '';
// 去掉了I l i o O,可自行添加
var str = 'QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890';
for (var i = 0; i < this.state.codeLength; i++) {
var index = Math.floor(Math.random() * 57);
random += str[index];
}
this.setState({
code: random
}, function () {
var canvas = _this2.canvas.current;
var ctx = canvas.getContext('2d');
ctx.textBaseline = 'bottom';
// 绘制背景
ctx.fillStyle = _this2.randomColor(_this2.state.backgroundColorMin, _this2.state.backgroundColorMax);
ctx.fillRect(0, 0, _this2.state.contentWidth, _this2.state.contentHeight);
// 绘制文字
for (var _i = 0; _i < _this2.state.code.length; _i++) {
_this2.drawText(ctx, _this2.state.code[_i], _i);
}
_this2.drawLine(ctx);
_this2.drawDot(ctx);
});
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
_this$props$width = _this$props.width,
width = _this$props$width === void 0 ? 300 : _this$props$width;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(CodeBoxmodules.codeBox, className),
style: {
width: width
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
value: this.state.value,
onChange: this.changeCode,
placeholder: "\u8BF7\u8F93\u5165\u56FE\u7247\u4E2D\u7684\u9A8C\u8BC1\u7801"
}), this.state.showError && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: !!this.state.value ? '请输入正确的验证码' : '请输入验证码'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("canvas", {
onClick: this.reloadPic,
ref: this.canvas,
width: "100",
height: "30"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "current",
onClick: this.reloadPic,
children: "\u770B\u4E0D\u6E05\uFF1F\u6362\u4E00\u5F20"
})]
})]
});
}
}]);
return CodeBox;
}(_react_17_0_2_react.Component);
var CodeDeleteModal = function CodeDeleteModal(cb, text) {
var box;
Modal.confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: /*#__PURE__*/_jsxs("div", {
children: [/*#__PURE__*/_jsx("p", {
children: text
}), /*#__PURE__*/_jsx(CodeBox, {
ref: function ref(el) {
return box = el;
}
})]
}),
onOk: function () {
var _onOk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!box.onVerify()) {
_context.next = 2;
break;
}
return _context.abrupt("return", Promise.reject());
case 2:
cb();
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
/* harmony default export */ var components_CodeBox = (CodeBox);
/***/ }),
/***/ 85854:
/*!****************************************************************************!*\
!*** ./src/pages/Graduations/Lists/StudentSelection/index.tsx + 8 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 */ StudentSelection; }
});
// 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/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(61621);
// 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/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/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/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Teacher/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Teachermodules = ({"flex_box_center":"flex_box_center___Oy3Ur","flex_space_between":"flex_space_between___tSEQI","flex_box_vertical_center":"flex_box_vertical_center___ub8YO","flex_box_center_end":"flex_box_center_end___MdOG3","flex_box_column":"flex_box_column___yn_xj","flex-col":"flex-col___emKzi","flex-row":"flex-row___iPx1Z","justify-start":"justify-start___UgH51","justify-center":"justify-center___mxd55","justify-end":"justify-end___SDodz","justify-evenly":"justify-evenly___UxfoV","justify-around":"justify-around___Rl3HD","justify-between":"justify-between___jjJrK","align-start":"align-start___xSpRb","align-center":"align-center___Jqypx","align-end":"align-end___MlcMx","wrap":"wrap___j5lSK","teacherList":"teacherList___eiRwI","list":"list___xa00z","top":"top___Cgsez","tag":"tag___J4aum","name":"name___tDF5G","num":"num___pHt23","check":"check___kslxc","center":"center___FWR7i","img":"img___xWZT8","col":"col___Wszet","bottom":"bottom___ErSvm"});
// 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/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// 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/table/index.js + 85 modules
var table = __webpack_require__(1710);
// 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/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(58421);
// 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 + 50 modules
var ui_customization = __webpack_require__(91384);
// EXTERNAL MODULE: ./src/pages/Graduations/components/HeadTitle/index.tsx + 1 modules
var HeadTitle = __webpack_require__(2537);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(55794);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(20681);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(14160);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(61983);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/DetailsModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var DetailsModalmodules = ({"flex_box_center":"flex_box_center___VCd4U","flex_space_between":"flex_space_between___PXXJc","flex_box_vertical_center":"flex_box_vertical_center___FvcHp","flex_box_center_end":"flex_box_center_end___faOk_","flex_box_column":"flex_box_column___hYdgW","flex-col":"flex-col___Yykat","flex-row":"flex-row___Tg6Ym","justify-start":"justify-start___t20H5","justify-center":"justify-center___GYfTK","justify-end":"justify-end___t3rWN","justify-evenly":"justify-evenly___YYNKn","justify-around":"justify-around____wnZK","justify-between":"justify-between___e9Z2G","align-start":"align-start___JdP3X","align-center":"align-center___w_5hC","align-end":"align-end___dUeKD","wrap":"wrap___Lk1KU","des":"des___NrGnB","row":"row____lS7x","list":"list___PEHaz","actionBtns":"actionBtns___eC3BF","state":"state___PF2x0","tag":"tag___WyoKH","tag0":"tag0___HB3U8","tag1":"tag1___YmXRD","tag2":"tag2___l3QtF","tag3":"tag3___dBINp","name":"name___IBwDK"});
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 2 modules
var RenderHtml = __webpack_require__(11209);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(85186);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/DetailsModal/index.tsx
var TopicModal = function TopicModal(_ref) {
var _data$attachments;
var visible = _ref.visible,
_ref$data = _ref.data,
data = _ref$data === void 0 ? {} : _ref$data,
_ref$onSucceed = _ref.onSucceed,
onSucceed = _ref$onSucceed === void 0 ? function () {} : _ref$onSucceed,
_ref$onClose = _ref.onClose,
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose;
var query = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)(true),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(1),
_useState4 = slicedToArray_default()(_useState3, 2),
tabs = _useState4[0],
setTabs = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
total = _useState6[0],
setTotal = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)([]),
_useState8 = slicedToArray_default()(_useState7, 2),
list = _useState8[0],
setList = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)({
page: 1,
per_page: 20
}),
_useState10 = slicedToArray_default()(_useState9, 2),
params = _useState10[0],
setParams = _useState10[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (visible) {
if ((0,authority/* isGPAdminOrTeacher */.tu)()) {
getList(params);
setTabs(data.tabs);
} else {
setLoading(false);
}
}
}, [visible]);
console.log(data, 'data');
var getList = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(record) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(query.id, "/student_tasks/review_list.json"), {
method: "get",
params: objectSpread2_default()(objectSpread2_default()({}, record), {}, {
task_id: data.id
})
});
case 3:
res = _context.sent;
if (res.status === 0) {
setList((res === null || res === void 0 ? void 0 : res.data) || []);
setTotal(res === null || res === void 0 ? void 0 : res.count);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getList(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleApply = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(item, type) {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(query.id, "/").concat(type === '通过' ? 'student_tasks' : 'student_tasks/not_pass', ".json"), {
method: 'post',
body: {
id: item.id
}
});
case 2:
res = _context2.sent;
if (res.status === 0) {
message/* default */.ZP.success('操作成功');
getList(params);
onSucceed();
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleApply(_x2, _x3) {
return _ref3.apply(this, arguments);
};
}();
var tabsMenu = [{
id: 1,
name: '课题详情'
}, {
id: 2,
name: '申请记录'
}];
var columns = [{
title: '学员姓名',
dataIndex: 'name',
ellipsis: true,
width: 110,
render: function render(text, v) {
var _v$student;
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: v === null || v === void 0 || (_v$student = v.student) === null || _v$student === void 0 ? void 0 : _v$student.name
});
}
}, {
title: '学号',
dataIndex: 'student_id',
ellipsis: true,
width: 140,
render: function render(text, v) {
var _v$student2;
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: (v === null || v === void 0 || (_v$student2 = v.student) === null || _v$student2 === void 0 ? void 0 : _v$student2.student_id) || '--'
});
}
}, {
title: '专业',
dataIndex: 'major',
ellipsis: true,
render: function render(text, v) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333",
children: text
});
}
}, {
title: '选题审核状态',
dataIndex: 'state',
width: 120,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [text === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag0,
children: "\u5F85\u5BA1\u6838"
}), text === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag1,
children: "\u5DF2\u901A\u8FC7"
}), text === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: '#E30000'
},
className: DetailsModalmodules.tag2,
children: "\u5DF2\u9A73\u56DE"
}), text === 3 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag3,
children: "\u5DF2\u64A4\u56DE"
})]
});
}
}, {
title: '申请时间',
width: 190,
dataIndex: 'time',
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: '#232B40'
},
children: text
});
}
}, {
title: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u64CD\u4F5C"
}),
dataIndex: 'action',
key: 'action',
align: 'right',
width: 120,
render: function render(text, v) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: DetailsModalmodules.actionBtns,
children: v.state === 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
return handleApply(v, '通过');
},
children: "\u901A\u8FC7"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
return handleApply(v, '驳回');
},
className: "ml10",
children: "\u9A73\u56DE"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: "\u901A\u8FC7"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: "ml10",
children: "\u9A73\u56DE"
})]
})
});
}
}];
var handleChangePage = function handleChangePage(param, per_page, sorter) {
params.page = param === null || param === void 0 ? void 0 : param.current;
params.per_page = param === null || param === void 0 ? void 0 : param.pageSize;
setParams(objectSpread2_default()({}, params));
getList(params);
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
destroyOnClose: true,
onCancel: onClose,
open: visible,
footer: null,
title: (0,authority/* isGPAdminOrTeacher */.tu)() ? /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* SuperiorTabs */.tp, {
dataSource: tabsMenu,
value: tabs,
onChange: function onChange(v) {
return setTabs(v);
}
}) : '课题详情',
width: 1000,
afterClose: function afterClose() {
setParams({
page: 1,
per_page: 20
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.wrap,
children: [tabs === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.des,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
style: {
alignItems: 'center'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u8BFE\u9898\u540D\u79F0"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
maxWidth: (0,authority/* isGPAdminOrTeacher */.tu)() ? '100%' : '769px'
},
title: data.name,
children: data.name || '--'
}), (0,authority/* isGPStudent */.h)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.state,
children: [data.state === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag0,
children: "\u5F85\u5BA1\u6838"
}), data.state === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag1,
children: "\u5DF2\u901A\u8FC7"
}), data.state === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag2,
children: "\u5DF2\u9A73\u56DE"
}), data.state === 3 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.tag3,
children: "\u5DF2\u64A4\u56DE"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6307\u5BFC\u8001\u5E08"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: data.teacher_names,
children: data.teacher_names || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u8BFE\u9898\u9002\u5408\u4E13\u4E1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: data.major,
children: data.major || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u8BFE\u9898\u6765\u6E90"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: data.source,
children: data.source || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u8BFE\u9898\u5B66\u79D1\u65B9\u5411"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: data.direction,
children: data.direction || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DetailsModalmodules.row,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u8BFE\u9898\u4ECB\u7ECD"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data.description ? /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: data.description
}) : '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DetailsModalmodules.list,
children: data === null || data === void 0 || (_data$attachments = data.attachments) === null || _data$attachments === void 0 ? void 0 : _data$attachments.map(function (e, i) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
var _e$url;
(0,util/* downLoadLink */.Nd)('', "".concat(env/* default */.Z.API_SERVER).concat(e === null || e === void 0 || (_e$url = e.url) === null || _e$url === void 0 ? void 0 : _e$url.replace('disposition=inline', '')));
},
children: e.title
});
})
})]
}), tabs === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
dataSource: list,
bordered: false,
rowKey: function rowKey(v) {
return v.id;
},
columns: columns,
loading: loading,
scroll: {
y: 500
},
size: "large",
onChange: handleChangePage,
pagination: {
pageSize: params.per_page,
total: total,
current: params.page,
showQuickJumper: true,
showSizeChanger: true,
hideOnSinglePage: !total,
size: "default",
pageSizeOptions: ['10', '20', '50', '100', '200'],
showTotal: util/* showTotal */.rU
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: '20px'
}
})]
})
});
};
/* harmony default export */ var DetailsModal = (TopicModal);
// EXTERNAL MODULE: ./src/pages/Graduations/components/SettingModal/index.tsx + 1 modules
var SettingModal = __webpack_require__(23116);
// EXTERNAL MODULE: ./src/components/CodeBox/index.tsx + 1 modules
var CodeBox = __webpack_require__(49951);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Teacher/index.tsx
var Page = function Page(_ref) {
var _menus;
var graduations = _ref.graduations,
dispatch = _ref.dispatch;
var urlParams = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var _useState = (0,_react_17_0_2_react.useState)(1),
_useState2 = slicedToArray_default()(_useState, 2),
tabs = _useState2[0],
setTabs = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
total = _useState6[0],
setTotal = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
totalCount = _useState8[0],
setTotalCount = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)([]),
_useState10 = slicedToArray_default()(_useState9, 2),
list = _useState10[0],
setList = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)([]),
_useState12 = slicedToArray_default()(_useState11, 2),
modalList = _useState12[0],
setModalList = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)({}),
_useState14 = slicedToArray_default()(_useState13, 2),
listData = _useState14[0],
setListData = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)({}),
_useState16 = slicedToArray_default()(_useState15, 2),
listStudentData = _useState16[0],
setListStudentData = _useState16[1];
var _useState17 = (0,_react_17_0_2_react.useState)(true),
_useState18 = slicedToArray_default()(_useState17, 2),
modalLoading = _useState18[0],
setModalLoading = _useState18[1];
var _useState19 = (0,_react_17_0_2_react.useState)(false),
_useState20 = slicedToArray_default()(_useState19, 2),
visible = _useState20[0],
setVisible = _useState20[1];
var menus = graduations.menus;
var box = (0,_react_17_0_2_react.useRef)(null);
var getUrlState = searchParams !== null && searchParams !== void 0 && searchParams.get('state') ? Number(searchParams === null || searchParams === void 0 ? void 0 : searchParams.get('state')) : '';
var tabParams = menus.find(function (e) {
return e.clazz === 'student_selection';
}) || {};
var tabIndex = menus.find(function (e) {
return e.clazz === 'student_selection';
}) || 1;
var _useState21 = (0,_react_17_0_2_react.useState)({
keyword: '',
status: getUrlState,
page: 1,
per_page: 20
}),
_useState22 = slicedToArray_default()(_useState21, 2),
params = _useState22[0],
setParams = _useState22[1];
(0,_react_17_0_2_react.useEffect)(function () {
getList(params);
}, [tabs]);
var tags = [{
id: '',
name: '全部'
}, {
id: 1,
name: '达成双选'
}, {
id: 0,
name: '未达成双选'
}];
var getList = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(record) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.id, "/").concat(tabs === 1 ? 'graduation_tasks' : 'student_tasks/student_list', ".json"), {
method: "get",
params: record
});
case 3:
res = _context.sent;
if (res.status === 0) {
setList((res === null || res === void 0 ? void 0 : res.data) || []);
setTotal(res === null || res === void 0 ? void 0 : res.count);
setTotalCount((res === null || res === void 0 ? void 0 : res.total_count) || 0);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getList(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleChangeStatus = function handleChangeStatus(status) {
params.status = status;
params.page = 1;
setParams(params);
getList(params);
};
var handleSearch = function handleSearch(v) {
params.keyword = v;
params.page = 1;
setParams(params);
getList(params);
};
var handlePagination = function handlePagination(page, pageSize) {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
var columns = [{
title: '学员姓名',
dataIndex: 'name',
ellipsis: true,
width: 100,
render: function render(text, v) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "topLeft",
title: text,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: text || "--"
})
});
}
}, {
title: '学号',
ellipsis: true,
width: 100,
dataIndex: 'student_id',
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "topLeft",
title: text,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: text || "--"
})
});
}
}, {
title: '专业',
dataIndex: 'major',
ellipsis: true,
width: 110,
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "topLeft",
title: text,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-666",
children: text || '--'
})
});
}
}, {
title: '课题名称',
ellipsis: true,
dataIndex: 'graduation_tasks',
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "topLeft",
title: text,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: text || '--'
})
});
}
}, {
title: '指导老师',
dataIndex: 'teacher',
ellipsis: true,
width: 110,
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "topLeft",
title: text,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: text || '--'
})
});
}
}, {
title: '双选状态',
dataIndex: 'status',
width: 90,
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [text === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: '#E30000'
},
children: "\u672A\u8FBE\u6210\u53CC\u9009"
}), text === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8FBE\u6210\u53CC\u9009"
})]
});
}
}, {
title: '操作',
dataIndex: 'action',
align: 'right',
width: 90,
render: function render(text, v) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
setModalLoading(true);
setVisible(2);
_context2.next = 4;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.id, "/graduation_tasks.json"), {
method: "get",
params: {
per_page: 1000,
status: 0,
page: 1
}
});
case 4:
res = _context2.sent;
if (res.status === 0) {
if (v.status === 0) {
setModalList(res === null || res === void 0 ? void 0 : res.data);
} else {
setModalList([{
id: v.task_id,
name: v.graduation_tasks
}].concat(toConsumableArray_default()(res === null || res === void 0 ? void 0 : res.data)));
}
}
setModalLoading(false);
setListStudentData(objectSpread2_default()(objectSpread2_default()({}, v), {}, {
save_task_id: v.task_id
}));
case 8:
case "end":
return _context2.stop();
}
}, _callee2);
})),
className: "current font14 c-light-primary",
children: v.status === 0 ? '分配课题' : '变更课题'
});
}
}];
var handleDeselect = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(t, item) {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
t.stopPropagation();
modal/* default */.Z.confirm({
centered: true,
title: '提示',
icon: null,
content: '确认取消双选?取消双选后学员需要重新进行选题,且学员在原课题提交的文档将被清空且无法恢复。',
okText: '确认',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams.id, "/student_tasks/").concat(item.ger_id, ".json"), {
method: 'delete'
});
case 2:
res = _context3.sent;
if (res.status === 0) {
message/* default */.ZP.success('操作成功');
getList(params);
}
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 2:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleDeselect(_x2, _x3) {
return _ref4.apply(this, arguments);
};
}();
var renderList = function renderList() {
if (tabs === 2) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
columns: columns,
dataSource: list,
pagination: false,
className: "mb30",
style: {
minHeight: 500
}
});
}
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.teacherList,
children: list.map(function (e) {
var _e$passed_student, _e$passed_student2, _e$passed_student3, _e$passed_student4, _e$passed_student5, _e$passed_student6, _e$passed_student7;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
setListData(objectSpread2_default()(objectSpread2_default()({}, e), {}, {
tabs: 1
}));
setVisible(1);
},
className: Teachermodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.top,
children: [e.status === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.tag,
children: "\u672A\u8FBE\u6210\u53CC\u9009"
}), e.status === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.tag,
style: {
borderColor: '#D6F7EF',
color: '#01795D'
},
children: "\u8FBE\u6210\u53CC\u9009"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: e.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.name,
children: e.name
})
}), e.status === 0 && !!(e !== null && e !== void 0 && e.wait_review_count) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.num,
children: (e === null || e === void 0 ? void 0 : e.wait_review_count) > 99 ? '99+' : e === null || e === void 0 ? void 0 : e.wait_review_count
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.check,
onClick: function onClick(t) {
t.stopPropagation();
setListData(objectSpread2_default()(objectSpread2_default()({}, e), {}, {
tabs: 2
}));
setVisible(1);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-HISTORY font14 mr5"
}), "\u67E5\u770B\u9009\u9898\u7533\u8BF7"]
})]
}), e.status === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.center,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: Teachermodules.img,
src: env/* default */.Z.IMG_SERVER + '/images/' + (e === null || e === void 0 || (_e$passed_student = e.passed_student) === null || _e$passed_student === void 0 ? void 0 : _e$passed_student.image_url)
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.col,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-black",
title: e === null || e === void 0 || (_e$passed_student2 = e.passed_student) === null || _e$passed_student2 === void 0 ? void 0 : _e$passed_student2.name,
children: (0,util/* cutName */.Pq)(e === null || e === void 0 || (_e$passed_student3 = e.passed_student) === null || _e$passed_student3 === void 0 ? void 0 : _e$passed_student3.name, 6)
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-black",
children: (e === null || e === void 0 || (_e$passed_student4 = e.passed_student) === null || _e$passed_student4 === void 0 ? void 0 : _e$passed_student4.student_id) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.col,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u4E13\u4E1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
maxWidth: 112
},
title: e === null || e === void 0 || (_e$passed_student5 = e.passed_student) === null || _e$passed_student5 === void 0 ? void 0 : _e$passed_student5.major,
className: "c-grey-666 multi-llipsis1e",
children: (e === null || e === void 0 || (_e$passed_student6 = e.passed_student) === null || _e$passed_student6 === void 0 ? void 0 : _e$passed_student6.major) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.col,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u7533\u8BF7\u65F6\u95F4"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-black",
children: (e === null || e === void 0 || (_e$passed_student7 = e.passed_student) === null || _e$passed_student7 === void 0 ? void 0 : _e$passed_student7.passed_time) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.col,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u9009\u9898\u5BA1\u6838\u72B6\u6001"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-333",
children: e === null || e === void 0 ? void 0 : e.state_name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomButton */.op, {
onClick: function onClick(t) {
return handleDeselect(t, e);
},
style: {
marginLeft: 'auto'
},
children: "\u53D6\u6D88\u53CC\u9009"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.bottom,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mr30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u6307\u5BFC\u8001\u5E08"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
maxWidth: 70
},
title: e === null || e === void 0 ? void 0 : e.teacher_names,
children: (e === null || e === void 0 ? void 0 : e.teacher_names) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mr30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8BFE\u9898\u6765\u6E90"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
maxWidth: 100
},
title: e === null || e === void 0 ? void 0 : e.source,
children: (e === null || e === void 0 ? void 0 : e.source) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u5B66\u79D1\u65B9\u5411"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
maxWidth: 180
},
title: e === null || e === void 0 ? void 0 : e.direction,
children: (e === null || e === void 0 ? void 0 : e.direction) || '--'
})]
})]
})]
}, e.id);
})
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Teachermodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(HeadTitle/* default */.Z, {
style: {
marginBottom: 12
},
title: "\u5B66\u5458\u9009\u9898",
status: tabParams === null || tabParams === void 0 ? void 0 : tabParams.status,
startAt: tabParams === null || tabParams === void 0 ? void 0 : tabParams.start_at,
endAt: tabParams === null || tabParams === void 0 ? void 0 : tabParams.end_at
}), /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomTabs */.YG, {
value: tabs,
tabBarExtraContent: (0,util/* timeContrast */.QB)(tabParams === null || tabParams === void 0 ? void 0 : tabParams.next_start_at) && /*#__PURE__*/(0,jsx_runtime.jsxs)(ui_customization/* CustomButton */.op, {
onClick: function onClick() {
setVisible(3);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-anquanshezhi font14 mr5"
}), "\u5B66\u5458\u9009\u9898\u8BBE\u7F6E"]
}),
dataSource: [{
id: 1,
name: "\u9009\u9898\u5217\u8868"
}, {
id: 2,
name: "\u5B66\u5458\u5217\u8868"
}],
onChange: function onChange(category) {
if (category === tabs) return;
params.page = 1;
params.keyword = '';
params.status = '';
setList([]);
setTotal(0);
setTabs(category);
}
}), !!totalCount && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
justify: "space-between",
style: {
margin: '6px 0 14px 0'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomTags */.qp, {
title: "\u53CC\u9009\u72B6\u6001",
className: "mt20",
value: params.status,
onChange: handleChangeStatus,
dataSource: tags,
titleWidth: 56
}), /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomInput */.t7, {
style: {
width: 329
},
placeholder: tabs === 1 ? '请输入课题名称/指导老师进行搜索' : '请输入课题名称/学员姓名/学号进行搜索',
value: params.keyword,
onChange: handleSearch
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: !!list.length ? renderList() : /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
customText: !totalCount && (tabs === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u6682\u65E0\u9009\u9898\uFF0C\u8BF7\u5148\u5B8C\u6210", /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/graduations/".concat(urlParams.id, "/topics"),
children: "\u8BFE\u9898\u5F55\u5165"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u6682\u65E0\u5B66\u5458\uFF0C\u70B9\u51FB\u53BB", /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/graduations/".concat(urlParams.id, "/students"),
children: "\u9080\u8BF7\u5B66\u5458"
}), "\u52A0\u5165\u6BD5\u8BBE"]
}))
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
current: params.page,
showQuickJumper: true,
showSizeChanger: true,
hideOnSinglePage: !total,
pageSize: params.per_page,
className: "mb30",
pageSizeOptions: ['10', '20', '50', '100', '200'],
total: total,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DetailsModal, {
data: listData,
visible: visible === 1,
onClose: function onClose() {
setVisible(false);
},
onSucceed: function onSucceed() {
getList(params);
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
destroyOnClose: true,
onCancel: function onCancel() {
return setVisible(false);
},
open: visible === 2,
title: listStudentData.status === 0 ? '分配课题' : '变更课题',
width: 520,
afterClose: function afterClose() {
setListStudentData({});
},
onOk: function onOk() {
var fuc = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams.id, "/student_tasks/give_task.json"), {
method: "post",
body: {
task_id: listStudentData.task_id,
student_id: listStudentData.id
}
});
case 2:
res = _context5.sent;
if (res.status === 0) {
message/* default */.ZP.success('操作成功');
getList(params);
setVisible(false);
}
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function fuc() {
return _ref5.apply(this, arguments);
};
}();
if (listStudentData.task_id !== listStudentData.save_task_id && listStudentData.status === 1) {
modal/* default */.Z.confirm({
centered: true,
okText: '确定',
icon: null,
cancelText: '取消',
title: '变更课题',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u8BE5\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002\u786E\u8BA4\u4E3A\u8BE5\u5B66\u5458\u53D8\u66F4\u8BFE\u9898\uFF1F\u53D8\u66F4\u540E\u5B66\u5458\u5728\u539F\u8BFE\u9898\u63D0\u4EA4\u7684\u6587\u6863\u5C06\u6E05\u7A7A\u4E14\u65E0\u6CD5\u6062\u590D\u3002"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801\u540E\u786E\u8BA4\u53D8\u66F4"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(CodeBox/* default */.Z, {
ref: function ref(el) {
return box.current = el;
}
})]
}),
onOk: fuc
});
return;
}
fuc();
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Teachermodules.modal,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(skeleton/* default */.Z, {
loading: modalLoading,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mb10",
children: "\u8BFE\u9898"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
showSearch: true,
size: "large",
placeholder: "\u8BF7\u9009\u62E9\u8BFE\u9898",
optionFilterProp: "children",
value: listStudentData.task_id,
onChange: function onChange(task_id) {
setListStudentData(objectSpread2_default()(objectSpread2_default()({}, listStudentData), {}, {
task_id: task_id
}));
},
style: {
width: '100%'
},
children: modalList.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: item.id,
children: item.name
}, item.id);
})
})]
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(SettingModal/* default */.Z, {
visible: visible === 3,
data: objectSpread2_default()(objectSpread2_default()({}, tabParams), {}, {
disabled_time: menus === null || menus === void 0 || (_menus = menus[tabIndex - 1]) === null || _menus === void 0 ? void 0 : _menus.end_at
}),
onClose: function onClose() {
return setVisible(false);
},
onSuccess: function onSuccess() {
setVisible(false);
}
})]
});
};
/* harmony default export */ var Teacher = ((0,_umi_production_exports.connect)(function (_ref6) {
var graduations = _ref6.graduations;
return {
graduations: graduations
};
})(Page));
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Student/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Studentmodules = ({"flex_box_center":"flex_box_center___NXcIP","flex_space_between":"flex_space_between___Pebyg","flex_box_vertical_center":"flex_box_vertical_center___BQGzf","flex_box_center_end":"flex_box_center_end___zN8c6","flex_box_column":"flex_box_column___slo4Z","flex-col":"flex-col___BEhFY","flex-row":"flex-row___AbjhN","justify-start":"justify-start___FsbWp","justify-center":"justify-center___qWGi7","justify-end":"justify-end___RrgtM","justify-evenly":"justify-evenly___J6L5d","justify-around":"justify-around___FSaAG","justify-between":"justify-between___GRLKZ","align-start":"align-start___clYdu","align-center":"align-center___w1L3L","align-end":"align-end___rbWkE","wrap":"wrap___Cl57w","tip":"tip___sGVnl","listWrap":"listWrap___OYoyC","list":"list___rT4Q_","left":"left___b7Ykx","state":"state___ZiQzs","tag":"tag___swdOn","tag0":"tag0___M6FYN","tag1":"tag1___Sg8yD","tag2":"tag2___iT8lP","tag3":"tag3___jqhO2","name":"name___BNDAZ","info":"info___pKNSG","time":"time___jyND5","right":"right___XT6Gh","btn":"btn___vKu7W"});
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/TopicModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TopicModalmodules = ({"flex_box_center":"flex_box_center___F8QoL","flex_space_between":"flex_space_between___ixN8I","flex_box_vertical_center":"flex_box_vertical_center___lwi7z","flex_box_center_end":"flex_box_center_end___MtVph","flex_box_column":"flex_box_column___fn2Wu","flex-col":"flex-col___qE0XG","flex-row":"flex-row___zw8Rw","justify-start":"justify-start___SMruj","justify-center":"justify-center___XYiAY","justify-end":"justify-end___Zd7YG","justify-evenly":"justify-evenly___o6Vns","justify-around":"justify-around___lQ3Oh","justify-between":"justify-between___bWuvd","align-start":"align-start___aLu6o","align-center":"align-center___gkc2M","align-end":"align-end___vdX4L","wrap":"wrap___CkyzG","listWrap":"listWrap___d0chX","list":"list___S7Zml","top":"top___FxvYM","box":"box___kpIeL","name":"name___MGi0J","des":"des___VqXEd","check":"check___tTb0k","bottom":"bottom____2Rzh"});
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/TopicModal/index.tsx
var TopicModal_TopicModal = function TopicModal(_ref) {
var visible = _ref.visible,
_ref$onSucceed = _ref.onSucceed,
onSucceed = _ref$onSucceed === void 0 ? function () {} : _ref$onSucceed,
_ref$onClose = _ref.onClose,
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
onListClick = _ref.onListClick;
var query = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)(true),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
total = _useState4[0],
setTotal = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)([]),
_useState6 = slicedToArray_default()(_useState5, 2),
list = _useState6[0],
setList = _useState6[1];
var initParams = {
keyword: '',
page: 1,
per_page: 20,
status: 0
};
var _useState7 = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, initParams)),
_useState8 = slicedToArray_default()(_useState7, 2),
params = _useState8[0],
setParams = _useState8[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (visible) {
getList(params);
}
}, [visible]);
var getList = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(record) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(query.id, "/graduation_tasks.json"), {
method: "get",
params: record
});
case 3:
res = _context.sent;
if (res.status === 0) {
setList((res === null || res === void 0 ? void 0 : res.data) || []);
setTotal(res === null || res === void 0 ? void 0 : res.count);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getList(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleSearch = function handleSearch(v) {
params.keyword = v;
params.page = 1;
setParams(params);
getList(params);
};
var handlePagination = function handlePagination(page, pageSize) {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
var handleApply = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(t, id) {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
t.stopPropagation();
modal/* default */.Z.confirm({
centered: true,
title: '提示',
icon: null,
content: '确认加入该课题?',
okText: '确认',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(query.id, "/student_tasks/").concat(id, ".json"), {
method: 'put'
});
case 2:
res = _context2.sent;
if (res.status === 0) {
message/* default */.ZP.success('申请成功');
onSucceed();
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 2:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleApply(_x2, _x3) {
return _ref3.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
destroyOnClose: true,
onCancel: onClose,
open: visible,
footer: null,
title: "\u5B66\u5458\u9009\u9898",
width: 1000,
afterClose: function afterClose() {
setParams(objectSpread2_default()({}, initParams));
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TopicModalmodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomInput */.t7, {
style: {
width: 329
},
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u9898\u540D\u79F0/\u6307\u5BFC\u8001\u5E08\u8FDB\u884C\u641C\u7D22",
value: params.keyword,
onChange: handleSearch,
className: "mb20"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TopicModalmodules.listWrap,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: !!list.length ? list.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
onListClick(e);
},
className: TopicModalmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TopicModalmodules.top,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TopicModalmodules.box,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: e.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TopicModalmodules.name,
children: e.name
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TopicModalmodules.des,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
showTextOnly: true,
showLines: 2,
value: e.description || ''
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TopicModalmodules.check,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomButton */.op, {
onClick: function onClick(t) {
return handleApply(t, e.id);
},
children: "\u7533\u8BF7\u8BE5\u8BFE\u9898"
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TopicModalmodules.bottom,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mr30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u6307\u5BFC\u8001\u5E08"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: e === null || e === void 0 ? void 0 : e.teacher_names,
style: {
maxWidth: 70
},
children: (e === null || e === void 0 ? void 0 : e.teacher_names) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mr30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8BFE\u9898\u6765\u6E90"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: e === null || e === void 0 ? void 0 : e.source,
style: {
maxWidth: 100
},
children: (e === null || e === void 0 ? void 0 : e.source) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "mr30",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u5B66\u79D1\u65B9\u5411"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: e === null || e === void 0 ? void 0 : e.direction,
style: {
maxWidth: 180
},
children: (e === null || e === void 0 ? void 0 : e.direction) || '--'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u9002\u7528\u4E13\u4E1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: e === null || e === void 0 ? void 0 : e.major,
style: {
maxWidth: 140
},
children: (e === null || e === void 0 ? void 0 : e.major) || '--'
})]
})]
})]
}, e.id);
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
loading: loading
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
current: params.page,
hideOnSinglePage: !total,
showQuickJumper: true,
className: "mb20",
showSizeChanger: true,
pageSize: params.per_page,
pageSizeOptions: ['10', '20', '50', '100', '200'],
total: total,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
})]
})
});
};
/* harmony default export */ var StudentSelection_TopicModal = (TopicModal_TopicModal);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Student/index.tsx
var Student_Page = function Page(_ref) {
var graduations = _ref.graduations,
dispatch = _ref.dispatch;
var urlParams = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
total = _useState4[0],
setTotal = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
totalCount = _useState6[0],
setTotalCount = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)([]),
_useState8 = slicedToArray_default()(_useState7, 2),
list = _useState8[0],
setList = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)({}),
_useState10 = slicedToArray_default()(_useState9, 2),
listData = _useState10[0],
setListData = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
listVisible = _useState12[0],
setListVisible = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
visible = _useState14[0],
setVisible = _useState14[1];
var getUrlState = searchParams !== null && searchParams !== void 0 && searchParams.get('state') ? Number(searchParams === null || searchParams === void 0 ? void 0 : searchParams.get('state')) : '';
var _useState15 = (0,_react_17_0_2_react.useState)({
keyword: '',
state: getUrlState,
page: 1,
per_page: 20
}),
_useState16 = slicedToArray_default()(_useState15, 2),
params = _useState16[0],
setParams = _useState16[1];
var menus = graduations.menus;
var tabParams = menus.find(function (e) {
return e.clazz === 'student_selection';
}) || {};
(0,_react_17_0_2_react.useEffect)(function () {
getList(params);
}, []);
var tags = [{
id: '',
name: '全部'
}, {
id: 0,
name: '待审核'
}, {
id: 1,
name: '已通过'
}, {
id: 2,
name: '已驳回'
}, {
id: 3,
name: '已撤回'
}];
var getList = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(record) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.id, "/student_tasks/checked_list.json"), {
method: "get",
params: record
});
case 3:
res = _context.sent;
if (res.status === 0) {
setList((res === null || res === void 0 ? void 0 : res.data) || []);
setTotal(res === null || res === void 0 ? void 0 : res.count);
setTotalCount(res === null || res === void 0 ? void 0 : res.total_count);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getList(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleChangeStatus = function handleChangeStatus(state) {
params.state = state;
params.page = 1;
setParams(params);
getList(params);
};
var handlePagination = function handlePagination(page, pageSize) {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
var handleClick = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(t, item) {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
t.stopPropagation();
modal/* default */.Z.confirm({
centered: true,
title: '提示',
icon: null,
content: item.state === 0 ? '确认撤回该课题申请?' : '确认取消双选?取消后需要重新进行选题',
okText: '确认',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,fetch/* default */.ZP)("/api/graduations/".concat(urlParams.id, "/student_tasks/").concat(item.id, ".json"), {
method: 'delete'
});
case 2:
res = _context2.sent;
if (res.status === 0) {
message/* default */.ZP.success('操作成功');
getList(params);
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 2:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleClick(_x2, _x3) {
return _ref3.apply(this, arguments);
};
}();
var renderList = function renderList() {
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.listWrap,
children: list.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
setListVisible(true);
setListData(objectSpread2_default()({}, e));
},
className: Studentmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.left,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.state,
children: [e.state === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.tag0,
children: "\u5F85\u5BA1\u6838"
}), e.state === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.tag1,
children: "\u5DF2\u901A\u8FC7"
}), e.state === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.tag2,
children: "\u5DF2\u9A73\u56DE"
}), e.state === 3 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.tag3,
children: "\u5DF2\u64A4\u56DE"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: e.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Studentmodules.name,
children: e.name
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.info,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u6307\u5BFC\u8001\u5E08", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: e.teacher_names,
children: (0,util/* cutName */.Pq)(e.teacher_names, 9)
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u8BFE\u9898\u6765\u6E90", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: e.source,
children: (0,util/* cutName */.Pq)(e.source, 9)
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u5B66\u79D1\u65B9\u5411", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: e.direction,
children: (0,util/* cutName */.Pq)(e.direction, 9)
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.time,
children: ["\u7533\u8BF7\u65F6\u95F4\xA0\xA0", e.time]
})]
}), [0, 1].includes(tabParams === null || tabParams === void 0 ? void 0 : tabParams.status) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.right,
children: [e.state === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick(t) {
return handleClick(t, e);
},
className: Studentmodules.btn,
children: "\u64A4\u56DE\u7533\u8BF7"
}), e.state === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick(t) {
return handleClick(t, e);
},
className: Studentmodules.btn,
children: "\u53D6\u6D88\u53CC\u9009"
})]
})]
}, e.id);
})
});
};
var isNotEmpty = !!list.length;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.wrap,
children: [(tabParams === null || tabParams === void 0 ? void 0 : tabParams.status) === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Studentmodules.tip,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
paddingTop: 2
},
className: "iconfont icon-weixiada font12 mr5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u9009\u9898\u9636\u6BB5\u5DF2\u7ED3\u675F\uFF0C\u82E5\u8981\u53D8\u66F4\u8BFE\u9898\u9700\u8054\u7CFB\u7BA1\u7406\u5458\u624B\u52A8\u8FDB\u884C\u53D8\u66F4"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(HeadTitle/* default */.Z, {
style: {
marginBottom: 12
},
title: "\u5B66\u5458\u9009\u9898",
status: tabParams === null || tabParams === void 0 ? void 0 : tabParams.status,
startAt: tabParams === null || tabParams === void 0 ? void 0 : tabParams.start_at,
endAt: tabParams === null || tabParams === void 0 ? void 0 : tabParams.end_at
}), !!totalCount && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
justify: "space-between",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomTags */.qp, {
title: "\u5BA1\u6838\u72B6\u6001",
className: "mt20",
value: params.state,
onChange: handleChangeStatus,
dataSource: tags,
titleWidth: 56
}), (tabParams === null || tabParams === void 0 ? void 0 : tabParams.status) !== 2 && /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomButton */.op, {
onClick: function onClick() {
return setVisible(true);
},
children: "\u70B9\u51FB\u9009\u9898"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: isNotEmpty ? renderList() : /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
loading: loading,
ButtonTwo: (tabParams === null || tabParams === void 0 ? void 0 : tabParams.status) !== 2 && !totalCount && /*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomButton */.op, {
onClick: function onClick() {
return setVisible(true);
},
children: "\u70B9\u51FB\u9009\u9898"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
current: params.page,
hideOnSinglePage: !total,
showSizeChanger: true,
showQuickJumper: true,
className: "mb20",
pageSizeOptions: ['10', '20', '50', '100', '200'],
total: total,
pageSize: params.per_page,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
}), /*#__PURE__*/(0,jsx_runtime.jsx)(StudentSelection_TopicModal, {
onClose: function onClose() {
return setVisible(false);
},
visible: visible,
onListClick: function onListClick(e) {
setListData(objectSpread2_default()({}, e));
setListVisible(true);
},
onSucceed: function onSucceed() {
getList(params);
setVisible(false);
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DetailsModal, {
data: listData,
visible: listVisible,
onClose: function onClose() {
return setListVisible(false);
},
onSucceed: function onSucceed() {}
})]
});
};
/* harmony default export */ var Student = ((0,_umi_production_exports.connect)(function (_ref4) {
var graduations = _ref4.graduations;
return {
graduations: graduations
};
})(Student_Page));
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/index.tsx
var StudentSelection_Page = function Page(_ref) {
var graduations = _ref.graduations,
dispatch = _ref.dispatch,
loading = _ref.loading;
return /*#__PURE__*/(0,jsx_runtime.jsx)(skeleton/* default */.Z, {
style: {
margin: '20px 0 0 45px'
},
loading: loading.effects['graduations/getGraduationsDetails'],
children: (0,authority/* isGPAdminOrTeacher */.tu)() ? /*#__PURE__*/(0,jsx_runtime.jsx)(Teacher, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(Student, {})
});
};
/* harmony default export */ var StudentSelection = ((0,_umi_production_exports.connect)(function (_ref2) {
var loading = _ref2.loading,
graduations = _ref2.graduations;
return {
loading: loading,
graduations: graduations
};
})(StudentSelection_Page));
/***/ })
}]);