|
|
"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));
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |