|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[6788,13488],{
|
|
|
|
|
|
/***/ 60936:
|
|
|
/*!*******************************************************************************************************!*\
|
|
|
!*** ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules ***!
|
|
|
\*******************************************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ icons_InboxOutlined; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/extends.js
|
|
|
var esm_extends = __webpack_require__(61796);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.3.1@@ant-design/icons-svg/es/asn/InboxOutlined.js
|
|
|
// This icon file is generated automatically.
|
|
|
var InboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z" } }] }, "name": "inbox", "theme": "outlined" };
|
|
|
/* harmony default export */ var asn_InboxOutlined = (InboxOutlined);
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
|
var AntdIcon = __webpack_require__(91851);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/InboxOutlined.js
|
|
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var InboxOutlined_InboxOutlined = function InboxOutlined(props, ref) {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
|
ref: ref,
|
|
|
icon: asn_InboxOutlined
|
|
|
}));
|
|
|
};
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var icons_InboxOutlined = (/*#__PURE__*/_react_17_0_2_react.forwardRef(InboxOutlined_InboxOutlined));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 90136:
|
|
|
/*!******************************************************!*\
|
|
|
!*** ./src/components/CodeBox/index.tsx + 1 modules ***!
|
|
|
\******************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ components_CodeBox; }
|
|
|
});
|
|
|
|
|
|
// UNUSED EXPORTS: CodeDeleteModal
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/classCallCheck.js
|
|
|
var classCallCheck = __webpack_require__(94312);
|
|
|
var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createClass.js
|
|
|
var createClass = __webpack_require__(24127);
|
|
|
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/assertThisInitialized.js
|
|
|
var assertThisInitialized = __webpack_require__(1300);
|
|
|
var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/inherits.js
|
|
|
var inherits = __webpack_require__(93242);
|
|
|
var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/createSuper.js
|
|
|
var createSuper = __webpack_require__(10564);
|
|
|
var createSuper_default = /*#__PURE__*/__webpack_require__.n(createSuper);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(22060);
|
|
|
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 + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
;// 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.3.2@classnames/index.js
|
|
|
var _classnames_2_3_2_classnames = __webpack_require__(12124);
|
|
|
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_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_3_2_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);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 40840:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/MultiUpload/index.tsx + 3 modules ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
z: function() { return /* binding */ coverToFileList; },
|
|
|
Z: function() { return /* binding */ MultiUpload; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// 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/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(6557);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var es_message = __webpack_require__(8591);
|
|
|
// 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/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(78130);
|
|
|
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
|
|
|
var service = __webpack_require__(84568);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var uploadNameSizeSeperator = ' ';
|
|
|
function bytesToSize(bytes) {
|
|
|
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
|
if (bytes == 0) return '0 Byte';
|
|
|
var i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
|
return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
|
|
|
}
|
|
|
/* harmony default export */ var SingleUpload = (function (_ref) {
|
|
|
var _ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
|
action = _ref.action,
|
|
|
_onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
_ref$maxSize = _ref.maxSize,
|
|
|
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
|
|
|
_ref$title = _ref.title,
|
|
|
title = _ref$title === void 0 ? '文件上传' : _ref$title,
|
|
|
_ref$accept = _ref.accept,
|
|
|
accept = _ref$accept === void 0 ? null : _ref$accept;
|
|
|
var uploadProps = {
|
|
|
multiple: false,
|
|
|
fileList: value,
|
|
|
accept: accept,
|
|
|
withCredentials: true,
|
|
|
beforeUpload: function beforeUpload(file) {
|
|
|
var fileSize = file.size / 1024 / 1024;
|
|
|
if (!(fileSize < maxSize)) {
|
|
|
message.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20"));
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
action: "".concat(ENV.API_SERVER, "/api/attachments.json"),
|
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
|
onChange: function onChange(info) {
|
|
|
var _info$file;
|
|
|
var fileList = _toConsumableArray(info.fileList);
|
|
|
fileList = fileList.map(function (file) {
|
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
|
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
|
|
|
}
|
|
|
return _objectSpread({}, file);
|
|
|
});
|
|
|
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
|
|
|
var _info$file2;
|
|
|
message.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
|
|
|
_onChange([]);
|
|
|
return;
|
|
|
}
|
|
|
_onChange(fileList);
|
|
|
},
|
|
|
onRemove: function () {
|
|
|
var _onRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
|
var fileSize, id, rs;
|
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
fileSize = file.size / 1024 / 1024;
|
|
|
if (!(file.status === 'uploading')) {
|
|
|
_context.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return", true);
|
|
|
case 3:
|
|
|
if (fileSize < maxSize) {
|
|
|
_context.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return", true);
|
|
|
case 7:
|
|
|
id = file.response ? file.response.id : file.uid;
|
|
|
if (!id) {
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 11;
|
|
|
return removeAttachment(file.response ? file.response.id : file.id);
|
|
|
case 11:
|
|
|
rs = _context.sent;
|
|
|
return _context.abrupt("return", rs);
|
|
|
case 15:
|
|
|
return _context.abrupt("return", true);
|
|
|
case 16:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
function onRemove(_x) {
|
|
|
return _onRemove.apply(this, arguments);
|
|
|
}
|
|
|
return onRemove;
|
|
|
}()
|
|
|
};
|
|
|
function onCancel(e) {
|
|
|
e.preventDefault();
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/_jsx("div", {
|
|
|
className: "single-upload ".concat(className ? className : ''),
|
|
|
children: /*#__PURE__*/_jsxs(Upload, _objectSpread(_objectSpread({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
|
type: "primary",
|
|
|
title: value.length > 0 ? '每次只能上传一个资源, 删除下面资源可重新上传 ' : '',
|
|
|
disabled: value.length > 0,
|
|
|
ghost: true,
|
|
|
children: title
|
|
|
}), /*#__PURE__*/_jsxs("span", {
|
|
|
onClick: onCancel,
|
|
|
style: {
|
|
|
marginLeft: 10
|
|
|
},
|
|
|
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", ' ']
|
|
|
})]
|
|
|
}))
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
|
|
|
var InboxOutlined = __webpack_require__(60936);
|
|
|
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
|
|
|
var lodash = __webpack_require__(89392);
|
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/assets/images/uploadImg.svg
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
|
var __defProp = Object.defineProperty;
|
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
|
var __defNormalProp = function __defNormalProp(obj, key, value) {
|
|
|
return key in obj ? __defProp(obj, key, {
|
|
|
enumerable: true,
|
|
|
configurable: true,
|
|
|
writable: true,
|
|
|
value: value
|
|
|
}) : obj[key] = value;
|
|
|
};
|
|
|
var __spreadValues = function __spreadValues(a, b) {
|
|
|
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
|
|
|
if (__getOwnPropSymbols) {
|
|
|
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var prop = _step.value;
|
|
|
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
}
|
|
|
return a;
|
|
|
};
|
|
|
|
|
|
var SvgUploadImg = function SvgUploadImg(props) {
|
|
|
return /* @__PURE__ */React.createElement("svg", __spreadValues({
|
|
|
width: 14,
|
|
|
height: 14,
|
|
|
xmlns: "http://www.w3.org/2000/svg"
|
|
|
}, props), /* @__PURE__ */React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */React.createElement("path", {
|
|
|
d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z",
|
|
|
fill: "#3061D0",
|
|
|
fillRule: "nonzero"
|
|
|
}));
|
|
|
};
|
|
|
|
|
|
/* harmony default export */ var uploadImg = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=");
|
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Dragger = upload/* default */.Z.Dragger;
|
|
|
function coverToFileList(data) {
|
|
|
var rs = [];
|
|
|
if (data && data.length > 0) {
|
|
|
rs = data.map(function (item) {
|
|
|
return {
|
|
|
uid: item.id,
|
|
|
id: item.id,
|
|
|
name: item.title + uploadNameSizeSeperator + item.filesize,
|
|
|
url: item.url,
|
|
|
filesize: item.filesize,
|
|
|
status: 'done',
|
|
|
response: {
|
|
|
id: item.id
|
|
|
}
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
return rs;
|
|
|
}
|
|
|
/* harmony default export */ var MultiUpload = (function (_ref) {
|
|
|
var value = _ref.value,
|
|
|
_onChange = _ref.onChange,
|
|
|
action = _ref.action,
|
|
|
data = _ref.data,
|
|
|
className = _ref.className,
|
|
|
_ref$maxSize = _ref.maxSize,
|
|
|
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
|
|
|
_ref$title = _ref.title,
|
|
|
title = _ref$title === void 0 ? '上传附件' : _ref$title,
|
|
|
_ref$showRemoveModal = _ref.showRemoveModal,
|
|
|
showRemoveModal = _ref$showRemoveModal === void 0 ? false : _ref$showRemoveModal,
|
|
|
_ref$accept = _ref.accept,
|
|
|
accept = _ref$accept === void 0 ? '' : _ref$accept,
|
|
|
additionalText = _ref.additionalText,
|
|
|
isDragger = _ref.isDragger,
|
|
|
_ref$number = _ref.number,
|
|
|
number = _ref$number === void 0 ? 1000 : _ref$number,
|
|
|
_ref$aloneClear = _ref.aloneClear,
|
|
|
aloneClear = _ref$aloneClear === void 0 ? false : _ref$aloneClear;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
disabled = _useState2[0],
|
|
|
setDisabled = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(value || []),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
fileList = _useState4[0],
|
|
|
setFileList = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(1),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
nums = _useState6[0],
|
|
|
setnums = _useState6[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (value) {
|
|
|
if (nums === 1) {
|
|
|
setFileList(toConsumableArray_default()(value));
|
|
|
}
|
|
|
setnums(2);
|
|
|
if (number === (value === null || value === void 0 ? void 0 : value.length)) {
|
|
|
setDisabled(true);
|
|
|
}
|
|
|
}
|
|
|
}, [value]);
|
|
|
var clearLastFile = function clearLastFile() {
|
|
|
setTimeout(function () {
|
|
|
fileList.pop();
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
}, 500);
|
|
|
};
|
|
|
var uploadProps = {
|
|
|
multiple: true,
|
|
|
disabled: disabled,
|
|
|
accept: accept,
|
|
|
withCredentials: true,
|
|
|
fileList: fileList,
|
|
|
// fileList: fileList?.length ? fileList : value,
|
|
|
beforeUpload: function beforeUpload(file, fileArr) {
|
|
|
var fileSize = file.size / 1024 / 1024;
|
|
|
if (fileList.concat(fileArr).length > number) {
|
|
|
fileList.pop();
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
es_message/* default */.ZP.error("\u6700\u591A\u53EA\u80FD\u4E0A\u4F20".concat(number, "\u4E2A\u6587\u4EF6"));
|
|
|
if (aloneClear) {
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
clearLastFile();
|
|
|
return false;
|
|
|
}
|
|
|
if (!(fileSize < maxSize)) {
|
|
|
es_message/* default */.ZP.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB)."));
|
|
|
if (aloneClear) {
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
clearLastFile();
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
data: data,
|
|
|
action: action || "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
|
onChange: function onChange(info) {
|
|
|
var _info$file;
|
|
|
if (info.file.status === "removed") {
|
|
|
fileList = info.fileList;
|
|
|
} else {
|
|
|
fileList = (0,lodash.uniqBy)([].concat(toConsumableArray_default()(info.fileList), toConsumableArray_default()(fileList)), 'uid');
|
|
|
}
|
|
|
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
|
|
|
var _info$file2;
|
|
|
es_message/* default */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
|
|
|
return;
|
|
|
}
|
|
|
if (fileList.length >= number) setDisabled(true);else setDisabled(false);
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
fileList = fileList.map(function (file) {
|
|
|
var _file$response;
|
|
|
if (file !== null && file !== void 0 && (_file$response = file.response) !== null && _file$response !== void 0 && _file$response.id) {
|
|
|
var _file$response2;
|
|
|
file.url = "/api/attachments/".concat(file === null || file === void 0 || (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.id);
|
|
|
}
|
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
|
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
|
|
|
}
|
|
|
return objectSpread2_default()({}, file);
|
|
|
});
|
|
|
console.log('info:', info, fileList);
|
|
|
_onChange(fileList);
|
|
|
},
|
|
|
onRemove: function () {
|
|
|
var _onRemove = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) {
|
|
|
var remove;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
remove = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var id, rs;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
id = file.response ? file.response.id : file.id;
|
|
|
if (!id) {
|
|
|
_context.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 4;
|
|
|
return (0,service/* removeAttachment */.JZ)(file.response ? file.response.id : file.uid);
|
|
|
case 4:
|
|
|
rs = _context.sent;
|
|
|
return _context.abrupt("return", Promise.resolve(rs));
|
|
|
case 8:
|
|
|
return _context.abrupt("return", true);
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function remove() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
if (!showRemoveModal) {
|
|
|
_context3.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return", new Promise(function (resolve, reject) {
|
|
|
modal/* default */.Z.confirm({
|
|
|
centered: true,
|
|
|
width: 530,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tc font16",
|
|
|
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?"
|
|
|
}),
|
|
|
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 remove();
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
es_message/* default */.ZP.success('删除成功');
|
|
|
resolve(true);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}(),
|
|
|
onCancel: function onCancel() {
|
|
|
return resolve(false);
|
|
|
}
|
|
|
});
|
|
|
}));
|
|
|
case 5:
|
|
|
_context3.next = 7;
|
|
|
return remove();
|
|
|
case 7:
|
|
|
return _context3.abrupt("return", _context3.sent);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
function onRemove(_x) {
|
|
|
return _onRemove.apply(this, arguments);
|
|
|
}
|
|
|
return onRemove;
|
|
|
}()
|
|
|
};
|
|
|
function onCancel(e) {
|
|
|
e.preventDefault();
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "multi-upload ".concat(className ? className : ''),
|
|
|
children: [isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "ant-upload-drag-icon",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "ant-upload-text",
|
|
|
children: ["\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", ' ']
|
|
|
}), additionalText]
|
|
|
})), !isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
|
disabled: disabled,
|
|
|
className: "upload_button",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: "aBtn_img",
|
|
|
src: uploadImg
|
|
|
}), title]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: onCancel,
|
|
|
className: "upload_text",
|
|
|
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", ' ']
|
|
|
})]
|
|
|
}))]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 10643:
|
|
|
/*!**********************************************!*\
|
|
|
!*** ./src/components/TooltipTags/index.tsx ***!
|
|
|
\**********************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 6848);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TooltipTags = function TooltipTags(_ref) {
|
|
|
var value = _ref.value,
|
|
|
_ref$visible = _ref.visible,
|
|
|
visible = _ref$visible === void 0 ? true : _ref$visible,
|
|
|
children = _ref.children;
|
|
|
var txt = {
|
|
|
未发布: "作业尚未发布",
|
|
|
未开始: "作业已发布,尚未到达开始作业时间",
|
|
|
提交中: "作业进行中,所有考生可提交作业",
|
|
|
补交中: "作业进行中,所有学生可补交作业",
|
|
|
进行中: "作业进行中,部分班级正在作业提交中/补交中",
|
|
|
已截止: "到达作业截止时间,作业已结束",
|
|
|
已结束: "课堂已结束"
|
|
|
};
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
|
|
|
children: visible ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(antd__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
|
placement: "topLeft",
|
|
|
title: txt[value],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
|
|
|
children: children
|
|
|
})
|
|
|
}) : children
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__.Z = (TooltipTags);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 96055:
|
|
|
/*!***************************************************************************!*\
|
|
|
!*** ./src/pages/Classrooms/Lists/ProgramHomework/index.tsx + 22 modules ***!
|
|
|
\***************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
CommonHomeworkContext: function() { return /* binding */ CommonHomeworkContext; },
|
|
|
"default": function() { return /* binding */ ProgramHomework; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(11006);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
|
|
|
var _umi_production_exports = __webpack_require__(49266);
|
|
|
// 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/pagination/index.js + 10 modules
|
|
|
var pagination = __webpack_require__(41867);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/index.js + 2 modules
|
|
|
var affix = __webpack_require__(81228);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(22739);
|
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
|
var authority = __webpack_require__(13186);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(93923);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(27161);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(91506);
|
|
|
// EXTERNAL MODULE: ./src/components/CodeBox/index.tsx + 1 modules
|
|
|
var CodeBox = __webpack_require__(90136);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/DelCompontent.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["classroomList", "dispatch", "match", "location", "user", "onCallback"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var DelShixun = function DelShixun(_ref) {
|
|
|
var _classroomList$action, _classroomList$action2;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
dispatch = _ref.dispatch,
|
|
|
match = _ref.match,
|
|
|
location = _ref.location,
|
|
|
user = _ref.user,
|
|
|
onCallback = _ref.onCallback,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
confirmLoading = _useState2[0],
|
|
|
setConfirmLoading = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
visible = _useState4[0],
|
|
|
setVisible = _useState4[1];
|
|
|
var delBox = (0,_react_17_0_2_react.useRef)(null);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (classroomList.actionTabs.key === '删除') {
|
|
|
if ((0,authority/* isSuperAdmin */.j5)()) {
|
|
|
setVisible(true);
|
|
|
return;
|
|
|
}
|
|
|
var selectNum = {
|
|
|
hasNum: 0,
|
|
|
noHasNum: 0
|
|
|
};
|
|
|
classroomList.actionTabs.selectArrsAll.map(function (item) {
|
|
|
var _user$userInfo;
|
|
|
if (item.author_login === ((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login)) {
|
|
|
++selectNum.hasNum;
|
|
|
} else {
|
|
|
++selectNum.noHasNum;
|
|
|
}
|
|
|
});
|
|
|
if (selectNum.noHasNum > 0) {
|
|
|
modal/* default */.Z.info({
|
|
|
title: '权限提示',
|
|
|
className: 'custom-modal-divider ',
|
|
|
icon: null,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: ["\u5F53\u524D\u9009\u4E2D\u8D44\u6E90\u4E2D\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-blue",
|
|
|
children: selectNum.hasNum
|
|
|
}), "\u4E2A\u7531\u60A8\u672C\u4EBA\u53D1\u5E03\uFF0C", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-red",
|
|
|
children: selectNum.noHasNum
|
|
|
}), ' ', "\u4E2A\u7531\u5176\u4ED6\u8001\u5E08\u53D1\u5E03\u3002", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u8BFE\u5802\u5185\u53EA\u80FD\u5220\u9664\u672C\u4EBA\u53D1\u5E03\u7684\u8D44\u6E90\uFF0C\u8BF7\u53D6\u6D88\u9009\u4E2D\u5176\u4ED6\u8001\u5E08\u53D1\u5E03\u7684\u8D44\u6E90\u3002"]
|
|
|
}),
|
|
|
onOk: function onOk() {
|
|
|
cancel();
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
setVisible(true);
|
|
|
}
|
|
|
} else {
|
|
|
setVisible(false);
|
|
|
}
|
|
|
}, [classroomList.actionTabs.key]);
|
|
|
var cancel = function cancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u63D0\u793A",
|
|
|
open: visible,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
confirmLoading: confirmLoading,
|
|
|
destroyOnClose: true,
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _delBox$current;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if (!((_delBox$current = delBox.current) !== null && _delBox$current !== void 0 && _delBox$current.onVerify())) {
|
|
|
_context.next = 2;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return");
|
|
|
case 2:
|
|
|
setConfirmLoading(true);
|
|
|
_context.next = 5;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.coursesId, "/homework_commons/multi_destroy.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
homework_ids: toConsumableArray_default()(classroomList.actionTabs.selectArrs)
|
|
|
}
|
|
|
});
|
|
|
case 5:
|
|
|
res = _context.sent;
|
|
|
setConfirmLoading(false);
|
|
|
if (res.status === 0) {
|
|
|
(0,util/* trackEvent */.L9)(['教学课堂', '图文作业', '删除']);
|
|
|
message/* default */.ZP.success('删除成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '清除选择数据'
|
|
|
}
|
|
|
});
|
|
|
onCallback && onCallback();
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomTeacherCommonList',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, classroomList.actionTabs.params), {}, {
|
|
|
type: 5
|
|
|
})
|
|
|
});
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomCommonList',
|
|
|
payload: objectSpread2_default()({}, classroomList.actionTabs.params)
|
|
|
});
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params.coursesId
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
cancel();
|
|
|
},
|
|
|
children: !(classroomList !== null && classroomList !== void 0 && (_classroomList$action = classroomList.actionTabs) !== null && _classroomList$action !== void 0 && _classroomList$action.status) || !['未发布'].includes(classroomList === null || classroomList === void 0 || (_classroomList$action2 = classroomList.actionTabs) === null || _classroomList$action2 === void 0 ? void 0 : _classroomList$action2.status) ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
color: '#DD0000'
|
|
|
},
|
|
|
children: "\u5220\u9664\u4F5C\u4E1A\u5219\u4F1A\u6E05\u9664\u5B66\u751F\u6240\u6709\u7684\u7B54\u9898\u6570\u636E\uFF0C\u4E14\u6570\u636E\u4E0D\u53EF\u6062\u590D\uFF0C\u5982\u786E\u5B9A\u5220\u9664\uFF0C\u8BF7\u8F93\u5165\u4E0B\u65B9\u9A8C\u8BC1\u7801"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(CodeBox/* default */.Z, {
|
|
|
ref: function ref(el) {
|
|
|
return delBox.current = el;
|
|
|
}
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u63D0\u4EA4\u4F5C\u54C1\u5C06\u5168\u90E8\u88AB\u5220\u9664\uFF0C\u4E0D\u53EF\u6062\u590D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F"
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var DelCompontent = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList,
|
|
|
user = _ref3.user;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
user: user
|
|
|
};
|
|
|
})(DelShixun));
|
|
|
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/Publish.tsx
|
|
|
var Publish = __webpack_require__(99073);
|
|
|
// EXTERNAL MODULE: ./src/components/CutOffNow/index.tsx + 1 modules
|
|
|
var CutOffNow = __webpack_require__(51108);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SetPublic.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var SetPublic = function SetPublic(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u63D0\u793A",
|
|
|
open: classroomList.actionTabs.key === '设为公开' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.coursesId, "/homework_commons/set_public.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
homework_ids: toConsumableArray_default()(classroomList.actionTabs.selectArrs)
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
(0,util/* trackEvent */.L9)(['教学课堂', '图文作业', '设为公开']);
|
|
|
message/* default */.ZP.success('操作成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '清除选择数据'
|
|
|
}
|
|
|
});
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomTeacherCommonList',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, classroomList.actionTabs.params), {}, {
|
|
|
type: 5
|
|
|
})
|
|
|
});
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomCommonList',
|
|
|
payload: objectSpread2_default()({}, classroomList.actionTabs.params)
|
|
|
});
|
|
|
}
|
|
|
// dispatch({
|
|
|
// type: 'classroomList/getClassroomShixunsList',
|
|
|
// payload: { ...classroomList.actionTabs.params },
|
|
|
// });
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: ["\u8BBE\u4E3A\u516C\u5F00\u540E\uFF0C\u975E\u8BFE\u5802\u6210\u5458\u4E5F\u53EF\u4EE5\u8BBF\u95EE\u67E5\u770B", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u662F\u5426\u786E\u8BA4\u8BBE\u4E3A\u516C\u5F00\uFF1F"]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_SetPublic = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList;
|
|
|
return {
|
|
|
classroomList: classroomList
|
|
|
};
|
|
|
})(SetPublic));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/AddHomeworkBank.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AddHomeworkBank_excluded = ["classroomList", "dispatch", "onCallback"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AddHomeworkBank_DelShixun = function DelShixun(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
dispatch = _ref.dispatch,
|
|
|
onCallback = _ref.onCallback,
|
|
|
props = objectWithoutProperties_default()(_ref, AddHomeworkBank_excluded);
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u63D0\u793A",
|
|
|
open: classroomList.actionTabs.key === '收藏' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/homework_commons/add_to_homework_bank.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
all_check: 0,
|
|
|
homework_ids: toConsumableArray_default()(classroomList.actionTabs.selectArrs)
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
(0,util/* trackEvent */.L9)(['教学课堂', '图文作业', '收藏']);
|
|
|
message/* default */.ZP.success('收藏成功,请前往【个人主页/课堂资源】查看');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
onCallback && onCallback();
|
|
|
// dispatch({
|
|
|
// type: 'classroomList/getClassroomCommonHomeworksList',
|
|
|
// payload: { ...classroomList.actionTabs.params },
|
|
|
// });
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomTeacherCommonList',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, classroomList.actionTabs.params), {}, {
|
|
|
type: 5
|
|
|
})
|
|
|
});
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomCommonList',
|
|
|
payload: objectSpread2_default()({}, classroomList.actionTabs.params)
|
|
|
});
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: "\u786E\u8BA4\u6536\u85CF\uFF1F"
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var AddHomeworkBank = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList;
|
|
|
return {
|
|
|
classroomList: classroomList
|
|
|
};
|
|
|
})(AddHomeworkBank_DelShixun));
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(22060);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
|
|
|
var row = __webpack_require__(95237);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
|
|
|
var col = __webpack_require__(43604);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(1056);
|
|
|
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js
|
|
|
var dayjs_min = __webpack_require__(9498);
|
|
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/AddCategory.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var PublishShixun = function PublishShixun(_ref) {
|
|
|
var _actionTabs$selectArr, _actionTabs$selectArr2;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch,
|
|
|
onCallback = _ref.onCallback;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
|
var actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var disabledDate = function disabledDate(current) {
|
|
|
return current && current < dayjs_min_default()().startOf('day');
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u65B0\u5EFA\u76EE\u5F55",
|
|
|
open: classroomList.actionTabs.key === '新建目录' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var formValue, fetchUrl, res, _location$pathname, type, id, urlList, url;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
formValue = form.getFieldValue();
|
|
|
fetchUrl = "/api/course_modules/".concat(classroomList.detailCommonHomeworksList.main_category_id, "/add_second_category.json");
|
|
|
_context.next = 4;
|
|
|
return (0,fetch/* default */.ZP)(fetchUrl, {
|
|
|
method: 'post',
|
|
|
body: objectSpread2_default()({}, formValue)
|
|
|
});
|
|
|
case 4:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('添加成功');
|
|
|
onCallback && onCallback();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params.coursesId
|
|
|
}
|
|
|
});
|
|
|
type = classroomList.actionTabs.selectArrs.type;
|
|
|
id = (res === null || res === void 0 ? void 0 : res.category_id) || 0;
|
|
|
urlList = (_location$pathname = location.pathname) === null || _location$pathname === void 0 ? void 0 : _location$pathname.split('/');
|
|
|
urlList[4] = id;
|
|
|
urlList[3] = type || urlList[3];
|
|
|
url = urlList === null || urlList === void 0 ? void 0 : urlList.join('/');
|
|
|
_umi_production_exports.history.push(url);
|
|
|
}
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tc",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("br", {})
|
|
|
}), classroomList.courseGroups.course_groups && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: defineProperty_default()({}, 'name', ''),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "name",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
className: "mt30",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: "\u76EE\u5F55\u540D\u79F0\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: '1',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
defaultValue: ((_actionTabs$selectArr = actionTabs.selectArrs) === null || _actionTabs$selectArr === void 0 ? void 0 : _actionTabs$selectArr.category_name) || ((_actionTabs$selectArr2 = actionTabs.selectArrs) === null || _actionTabs$selectArr2 === void 0 ? void 0 : _actionTabs$selectArr2.name)
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var AddCategory = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var classroomList = _ref4.classroomList,
|
|
|
loading = _ref4.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(PublishShixun));
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tabs/index.js + 24 modules
|
|
|
var tabs = __webpack_require__(99313);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
|
|
|
var es_checkbox = __webpack_require__(24905);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/index.js
|
|
|
var _react_infinite_scroller_1_2_4_react_infinite_scroller = __webpack_require__(26724);
|
|
|
var _react_infinite_scroller_1_2_4_react_infinite_scroller_default = /*#__PURE__*/__webpack_require__.n(_react_infinite_scroller_1_2_4_react_infinite_scroller);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/typography/index.js + 18 modules
|
|
|
var typography = __webpack_require__(53877);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/divider/index.js + 1 modules
|
|
|
var divider = __webpack_require__(28103);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules
|
|
|
var space = __webpack_require__(81327);
|
|
|
// EXTERNAL MODULE: ./src/service/shixuns.ts
|
|
|
var shixuns = __webpack_require__(25248);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/JupyterList/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var JupyterListmodules = ({"shixunItemWrapper":"shixunItemWrapper___ClCET","checkboxWrapper":"checkboxWrapper___bZ8gF","contentWrapper":"contentWrapper____pt8D","title":"title___tfmFW","desc":"desc___NDuDd","info":"info___mahF7"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/JupyterList/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Paragraph = typography/* default */.Z.Paragraph;
|
|
|
var JupyterList = function JupyterList(_ref, ref) {
|
|
|
var createShixunParams = _ref.createShixunParams;
|
|
|
var difficultyFilter = [{
|
|
|
name: '全部',
|
|
|
id: '0'
|
|
|
}, {
|
|
|
name: '初级',
|
|
|
id: '1'
|
|
|
}, {
|
|
|
name: '中级',
|
|
|
id: '2'
|
|
|
}, {
|
|
|
name: '中高级',
|
|
|
id: '3'
|
|
|
}, {
|
|
|
name: '高级',
|
|
|
id: '4'
|
|
|
}];
|
|
|
var typeFilter = [{
|
|
|
name: '最热',
|
|
|
id: 'hot'
|
|
|
}, {
|
|
|
name: '最新',
|
|
|
id: 'new'
|
|
|
}];
|
|
|
var _useState = (0,_react_17_0_2_react.useState)('0'),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
diff = _useState2[0],
|
|
|
setDiff = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)('hot'),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
type = _useState4[0],
|
|
|
setType = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
shixunList = _useState6[0],
|
|
|
setShixunList = _useState6[1];
|
|
|
var listParams = (0,_react_17_0_2_react.useRef)({
|
|
|
page: 1,
|
|
|
order: 'hot',
|
|
|
keyword: '',
|
|
|
shixun_type: 'jupyter',
|
|
|
diff: '0',
|
|
|
limit: 10
|
|
|
});
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(params, triggerByScroll) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,shixuns/* getShixunsList */.he)(params);
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status) {
|
|
|
_context.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
if (!(res.shixuns.length === 0 && triggerByScroll)) {
|
|
|
_context.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
setHasMore(false);
|
|
|
return _context.abrupt("return");
|
|
|
case 7:
|
|
|
setShixunList(res.shixuns);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData(_x, _x2) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
|
|
|
return {
|
|
|
search: function search(keyword) {
|
|
|
return getData(objectSpread2_default()(objectSpread2_default()({}, listParams.current), {}, {
|
|
|
keyword: keyword
|
|
|
}));
|
|
|
},
|
|
|
changeKeyWord: function changeKeyWord(keyword) {
|
|
|
return listParams.current.keyword = keyword;
|
|
|
}
|
|
|
};
|
|
|
});
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
getData(listParams.current);
|
|
|
}, []);
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
checkboxValue = _useState8[0],
|
|
|
setCheckboxValue = _useState8[1];
|
|
|
var handleChange = function handleChange(checkedValue) {
|
|
|
setCheckboxValue(checkedValue);
|
|
|
createShixunParams.current.shixun_ids = checkedValue;
|
|
|
};
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
hasMore = _useState10[0],
|
|
|
setHasMore = _useState10[1];
|
|
|
var handleLoadMore = function handleLoadMore(page) {
|
|
|
getData(objectSpread2_default()(objectSpread2_default()({}, listParams.current), {}, {
|
|
|
page: page
|
|
|
}), true);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
marginTop: 20,
|
|
|
maxHeight: 200,
|
|
|
overflowY: 'auto',
|
|
|
overflowX: 'hidden'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
justify: "space-between",
|
|
|
style: {
|
|
|
marginBottom: 8
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: difficultyFilter.map(function (value, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: diff === value.id ? 'primary' : 'default',
|
|
|
onClick: function onClick() {
|
|
|
setDiff(value.id);
|
|
|
listParams.current.diff = value.id;
|
|
|
getData(listParams.current);
|
|
|
// setCheckboxValue([]);
|
|
|
// createShixunParams.current.shixun_ids = [];
|
|
|
},
|
|
|
children: value.name
|
|
|
}, index);
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: typeFilter.map(function (value, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: "mr20",
|
|
|
type: type === value.id ? 'primary' : 'default',
|
|
|
onClick: function onClick() {
|
|
|
setType(value.id);
|
|
|
listParams.current.order = value.id;
|
|
|
getData(listParams.current);
|
|
|
// setCheckboxValue([]);
|
|
|
// createShixunParams.current.shixun_ids = [];
|
|
|
},
|
|
|
children: value.name
|
|
|
}, index);
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)((_react_infinite_scroller_1_2_4_react_infinite_scroller_default()), {
|
|
|
initialLoad: false,
|
|
|
pageStart: 1,
|
|
|
threshold: 700,
|
|
|
loadMore: handleLoadMore,
|
|
|
hasMore: hasMore,
|
|
|
useWindow: false,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z.Group, {
|
|
|
onChange: handleChange,
|
|
|
value: checkboxValue,
|
|
|
children: shixunList.map(function (shixunItem) {
|
|
|
var _ref3 = shixunItem || {},
|
|
|
name = _ref3.name,
|
|
|
id = _ref3.id,
|
|
|
description = _ref3.description,
|
|
|
challenge_names = _ref3.challenge_names,
|
|
|
author_name = _ref3.author_name,
|
|
|
author_school_name = _ref3.author_school_name,
|
|
|
level = _ref3.level,
|
|
|
total_stu_num = _ref3.total_stu_num;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: JupyterListmodules.shixunItemWrapper,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: JupyterListmodules.checkboxWrapper,
|
|
|
gutter: 14,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
value: id
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: JupyterListmodules.title,
|
|
|
children: name
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: JupyterListmodules.contentWrapper,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Paragraph, {
|
|
|
ellipsis: {
|
|
|
rows: 2
|
|
|
},
|
|
|
className: JupyterListmodules.desc,
|
|
|
style: {
|
|
|
color: '#8e8888'
|
|
|
},
|
|
|
children: description
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
children: challenge_names.map(function (chanllengeName, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: JupyterListmodules.mission,
|
|
|
children: ["\u7B2C", index + 1, "\u5173", chanllengeName]
|
|
|
}, index);
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(divider/* default */.Z, {
|
|
|
dashed: true,
|
|
|
style: {
|
|
|
margin: '8px 0'
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
className: JupyterListmodules.info,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(space/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: author_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "|"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: author_school_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "|"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u96BE\u5EA6\u7CFB\u6570\xA0", level]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "|"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u5B66\u4E60\u4EBA\u6570\xA0", total_stu_num]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
}, id);
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_JupyterList = (/*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(JupyterList));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SelectPolls.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var SelectPollsmodules = ({"flex_box_center":"flex_box_center___Cx3ju","flex_space_between":"flex_space_between___rc8Mm","flex_box_vertical_center":"flex_box_vertical_center___6BCc9","flex_box_center_end":"flex_box_center_end___sN3Ig","flex_box_column":"flex_box_column___wjzgd","line1":"line1___cHCBY","form":"form___IMCYE"});
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
|
var NoData = __webpack_require__(73208);
|
|
|
// EXTERNAL MODULE: ./src/service/classrooms.ts
|
|
|
var classrooms = __webpack_require__(28787);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SelectPolls.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TabPane = tabs/* default */.Z.TabPane;
|
|
|
var CuttOffNowShixun = function CuttOffNowShixun(_ref) {
|
|
|
var _tabData;
|
|
|
var shixunHomeworks = _ref.shixunHomeworks,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch,
|
|
|
refreshList = _ref.refreshList;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var brankList = shixunHomeworks.brankList;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
showNoData = _useState2[0],
|
|
|
setShowNoData = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
hasMore = _useState4[0],
|
|
|
setHasMore = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
btnLoading = _useState6[0],
|
|
|
setBtnLoading = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)('myself'),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
tabKey = _useState8[0],
|
|
|
setTabKey = _useState8[1];
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
tabData = _useState10[0],
|
|
|
setTabData = _useState10[1];
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
isTeacher = _useState12[0],
|
|
|
setisTeacher = _useState12[1];
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)({
|
|
|
page: 0,
|
|
|
limit: 20,
|
|
|
object_type: 'normal',
|
|
|
search: '',
|
|
|
filter: 'myself'
|
|
|
}),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
query = _useState14[0],
|
|
|
setQuery = _useState14[1];
|
|
|
var tabs = [{
|
|
|
name: '我的资源',
|
|
|
id: 'myself'
|
|
|
}, {
|
|
|
name: '公共资源',
|
|
|
id: 'public'
|
|
|
}, {
|
|
|
name: 'jupyter实训',
|
|
|
id: 'jupyter'
|
|
|
}];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (shixunHomeworks.actionTabs.key === '题库选用') getData();
|
|
|
}, [shixunHomeworks.actionTabs.key]);
|
|
|
var groupIdsInitialValues = [];
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _res$object_list, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if (!hasMore) {
|
|
|
_context.next = 11;
|
|
|
break;
|
|
|
}
|
|
|
setShowNoData(false);
|
|
|
++query.page;
|
|
|
_context.next = 5;
|
|
|
return dispatch({
|
|
|
type: 'shixunHomeworks/getBrankList',
|
|
|
payload: objectSpread2_default()({}, query)
|
|
|
});
|
|
|
case 5:
|
|
|
res = _context.sent;
|
|
|
tabData = toConsumableArray_default()(tabData.concat(res.object_list));
|
|
|
setisTeacher(res.is_teacher);
|
|
|
if (((_res$object_list = res.object_list) === null || _res$object_list === void 0 ? void 0 : _res$object_list.length) < query.limit) {
|
|
|
setHasMore(false);
|
|
|
} else {
|
|
|
setHasMore(true);
|
|
|
}
|
|
|
setTabData(toConsumableArray_default()(tabData));
|
|
|
if (res.object_list == '' && query.page === 1) {
|
|
|
setShowNoData(true);
|
|
|
}
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var createShixunParams = (0,_react_17_0_2_react.useRef)({
|
|
|
identifier: params.coursesId,
|
|
|
shixun_ids: [],
|
|
|
type: 'normal',
|
|
|
coursesId: params.coursesId
|
|
|
});
|
|
|
var handleCreateShixunHomework = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(params) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
setBtnLoading(true);
|
|
|
_context2.next = 3;
|
|
|
return (0,classrooms/* createShixunHomework */.aQ)(params);
|
|
|
case 3:
|
|
|
res = _context2.sent;
|
|
|
setBtnLoading(false);
|
|
|
if (!res.status) {
|
|
|
// message.success('')
|
|
|
refreshList();
|
|
|
dispatch({
|
|
|
type: 'shixunHomeworks/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
}
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleCreateShixunHomework(_x) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var searchCallbackRef = (0,_react_17_0_2_react.useRef)();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u9009\u7528\u8BFE\u5802\u8D44\u6E90",
|
|
|
destroyOnClose: true,
|
|
|
open: shixunHomeworks.actionTabs.key === '题库选用' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
width: 800,
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
okButtonProps: {
|
|
|
loading: btnLoading
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var formValue, res, _shixunHomeworks$acti;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
if (!(tabKey === 'jupyter')) {
|
|
|
_context3.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
handleCreateShixunHomework(createShixunParams.current);
|
|
|
return _context3.abrupt("return");
|
|
|
case 3:
|
|
|
setBtnLoading(true);
|
|
|
formValue = form.getFieldValue();
|
|
|
_context3.next = 7;
|
|
|
return dispatch({
|
|
|
type: 'shixunHomeworks/saveBanks',
|
|
|
payload: {
|
|
|
course_id: params.coursesId,
|
|
|
object_type: 'normal',
|
|
|
category: params.categoryId,
|
|
|
bank_id: formValue.group_ids
|
|
|
}
|
|
|
});
|
|
|
case 7:
|
|
|
res = _context3.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
(0,util/* trackEvent */.L9)(['教学课堂', '图文作业', '选用课堂资源']);
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params.coursesId
|
|
|
}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'shixunHomeworks/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '立即发布',
|
|
|
selectArrs: res.object_ids,
|
|
|
params: (_shixunHomeworks$acti = shixunHomeworks.actionTabs) === null || _shixunHomeworks$acti === void 0 ? void 0 : _shixunHomeworks$acti.params
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
setBtnLoading(false);
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'shixunHomeworks/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
children: tabs.map(function (item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
shape: "round",
|
|
|
type: tabKey === item.id ? 'primary' : 'default',
|
|
|
className: "mr10",
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(event) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
if (!(item.id === 'jupyter')) {
|
|
|
_context4.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
setTabKey(item.id);
|
|
|
return _context4.abrupt("return");
|
|
|
case 3:
|
|
|
tabData = [];
|
|
|
hasMore = true;
|
|
|
query.page = 0;
|
|
|
query.search = '';
|
|
|
query.filter = item.id;
|
|
|
getData();
|
|
|
setTabKey(item.id);
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function (_x2) {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: item.name
|
|
|
}, key);
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
span: 12,
|
|
|
className: "tr",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
|
|
|
placeholder: "\u8F93\u5165\u6807\u9898\u3001\u9002\u7528\u8BFE\u7A0B\u8FDB\u884C\u641C\u7D22",
|
|
|
onChange: function onChange(e) {
|
|
|
if (tabKey === 'jupyter') {
|
|
|
var _searchCallbackRef$cu;
|
|
|
(_searchCallbackRef$cu = searchCallbackRef.current) === null || _searchCallbackRef$cu === void 0 || _searchCallbackRef$cu.changeKeyWord(e.target.value);
|
|
|
}
|
|
|
},
|
|
|
onSearch: function onSearch(value) {
|
|
|
if (tabKey === 'jupyter') {
|
|
|
var _searchCallbackRef$cu2;
|
|
|
(_searchCallbackRef$cu2 = searchCallbackRef.current) === null || _searchCallbackRef$cu2 === void 0 || _searchCallbackRef$cu2.search(value);
|
|
|
return;
|
|
|
}
|
|
|
hasMore = true;
|
|
|
query.search = value;
|
|
|
query.page = 0;
|
|
|
tabData = [];
|
|
|
getData();
|
|
|
},
|
|
|
style: {
|
|
|
width: 260
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
}), tabKey === 'myself' && /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "tc mt10",
|
|
|
children: ["\u9009\u7528\u5BF9\u8C61\uFF1A\u4F60\u5728\u8BFE\u5802\u56FE\u6587\u4F5C\u4E1A\u5217\u8868\u4E2D\u5DF2", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-orange",
|
|
|
children: "\u6536\u85CF"
|
|
|
}), "\u7684\u56FE\u6587\u4F5C\u4E1A"]
|
|
|
}), tabKey === 'public' && /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tc mt10",
|
|
|
children: "\u9009\u7528\u5BF9\u8C61\uFF1A\u9898\u5E93\u4E2D\u5DF2\u8BBE\u7F6E\u6210\u516C\u5171\u5C5E\u6027\u7684\u6240\u6709\u56FE\u6587\u4F5C\u4E1A"
|
|
|
}), tabKey === 'jupyter' ? /*#__PURE__*/(0,jsx_runtime.jsx)(components_JupyterList, {
|
|
|
createShixunParams: createShixunParams,
|
|
|
ref: searchCallbackRef
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
background: '#F4FAFF',
|
|
|
maxHeight: 200,
|
|
|
overflow: 'auto',
|
|
|
padding: '20px 10px'
|
|
|
},
|
|
|
children: [!isTeacher && tabKey === 'public' && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
flexDirection: 'column',
|
|
|
paddingTop: '30px',
|
|
|
alignItems: 'center',
|
|
|
justifyContent: 'center'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u901A\u8FC7\u804C\u4E1A\u8BA4\u8BC1\u7684\u6559\u5E08\u624D\u80FD\u8BBF\u95EE\u516C\u5171\u8BFE\u7A0B\u8D44\u6E90\u5E93"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
cursor: 'pointer',
|
|
|
background: '#ff6800',
|
|
|
height: '30px',
|
|
|
textAlign: 'center',
|
|
|
marginTop: '5px',
|
|
|
padding: '5px 0px',
|
|
|
color: '#fff',
|
|
|
width: '80px'
|
|
|
},
|
|
|
onClick: function onClick() {
|
|
|
// dispatch({
|
|
|
// type: 'account/setActionTabs',
|
|
|
// payload: {
|
|
|
// key: 'Account-ProfessionalAuth'}
|
|
|
// })
|
|
|
window.open("/account/certification");
|
|
|
},
|
|
|
children: "\u7ACB\u5373\u8BA4\u8BC1"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)((_react_infinite_scroller_1_2_4_react_infinite_scroller_default()), {
|
|
|
initialLoad: false,
|
|
|
pageStart: 0,
|
|
|
threshold: 700,
|
|
|
loadMore: function loadMore() {
|
|
|
setHasMore(false);
|
|
|
getData();
|
|
|
},
|
|
|
hasMore: hasMore,
|
|
|
useWindow: false,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: defineProperty_default()({}, 'group_ids', groupIdsInitialValues),
|
|
|
className: SelectPollsmodules.form,
|
|
|
onChange: function onChange(value) {
|
|
|
var formValue = form.getFieldValue();
|
|
|
groupIdsInitialValues = formValue;
|
|
|
},
|
|
|
children: [tabData == '' && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
|
|
|
styles: {
|
|
|
margin: '10px auto'
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "group_ids",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z.Group, {
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
},
|
|
|
className: "font14",
|
|
|
children: (_tabData = tabData) === null || _tabData === void 0 ? void 0 : _tabData.map(function (v, k) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "2",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
onChange: function onChange(e) {},
|
|
|
value: String(v.id),
|
|
|
defaultChecked: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: ['c-black', SelectPollsmodules.line1].join(' '),
|
|
|
children: v.name
|
|
|
})
|
|
|
}, k)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
className: "c-black",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: SelectPollsmodules.line1,
|
|
|
children: v === null || v === void 0 ? void 0 : v.course_list_name
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "50px",
|
|
|
className: "c-black",
|
|
|
children: tabKey === 'public' && (0,authority/* isSuperAdmins */.Ny)() ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-blue current",
|
|
|
onClick: function onClick() {
|
|
|
window.open("/users/innov/topics/".concat(v.id, "/personal/normal/edit"));
|
|
|
},
|
|
|
children: "\u7F16\u8F91"
|
|
|
}) : tabKey === 'myself' ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-blue current",
|
|
|
onClick: function onClick() {
|
|
|
window.open("/users/innov/topics/".concat(v.id, "/personal/normal/edit"));
|
|
|
},
|
|
|
children: "\u7F16\u8F91"
|
|
|
}) : v === null || v === void 0 ? void 0 : v.username
|
|
|
})]
|
|
|
}, k);
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var SelectPolls = ((0,_umi_production_exports.connect)(function (_ref7) {
|
|
|
var shixunHomeworks = _ref7.shixunHomeworks,
|
|
|
loading = _ref7.loading;
|
|
|
return {
|
|
|
shixunHomeworks: shixunHomeworks,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(CuttOffNowShixun));
|
|
|
// EXTERNAL MODULE: ./src/service/shixunHomeworks.ts
|
|
|
var shixunHomeworks = __webpack_require__(3688);
|
|
|
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
|
|
|
var MultiUpload = __webpack_require__(40840);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/AfterAppendix.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AfterAppendix_PublishShixun = function PublishShixun(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u8865\u4EA4\u9644\u4EF6",
|
|
|
open: classroomList.actionTabs.key === '补交附件' ? true : false,
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _formValue$attachment;
|
|
|
var formValue, selectArrs, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return form.validateFields();
|
|
|
case 2:
|
|
|
formValue = objectSpread2_default()({}, form.getFieldValue());
|
|
|
selectArrs = classroomList.actionTabs.selectArrs;
|
|
|
formValue.attachment_ids = (_formValue$attachment = formValue.attachment_ids) === null || _formValue$attachment === void 0 ? void 0 : _formValue$attachment.map(function (item) {
|
|
|
return item.response.id;
|
|
|
});
|
|
|
_context.next = 7;
|
|
|
return (0,shixunHomeworks/* reviseAttachment */.mz)(objectSpread2_default()(objectSpread2_default()({}, formValue), {}, {
|
|
|
homeworkId: selectArrs.work_id
|
|
|
}));
|
|
|
case 7:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
// history.push(`/classrooms/${params.coursesId}/common_homework/${selectArrs.homework_id}/review/${selectArrs.work_id}`)
|
|
|
form.resetFields();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
}
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
form.resetFields();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: {},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "attachment_ids",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: "请上传附件"
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MultiUpload/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "description",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.TextArea, {
|
|
|
placeholder: "\u8BF7\u5728\u6B64\u8F93\u5165\u8865\u4EA4\u9644\u4EF6\u7684\u539F\u56E0\uFF0C\u6700\u5927\u9650\u5236100\u4E2A\u5B57\u7B26",
|
|
|
rows: 7
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var AfterAppendix = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList,
|
|
|
loading = _ref3.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(AfterAppendix_PublishShixun));
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules
|
|
|
var es_menu = __webpack_require__(20834);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/TabMenu/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var TabMenumodules = ({"tabMenuContainer":"tabMenuContainer___Sxna3","control":"control___ka76r","iconH":"iconH___GpOCh","selectBtn":"selectBtn___KJw1e"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/TabMenu/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TabMenu = function TabMenu(_ref) {
|
|
|
var isLoading = _ref.isLoading,
|
|
|
addText = _ref.addText,
|
|
|
tabDataSource = _ref.tabDataSource,
|
|
|
isAdmin = _ref.isAdmin,
|
|
|
TooltipTitle = _ref.TooltipTitle,
|
|
|
categoryId = _ref.categoryId,
|
|
|
dropdownMenu = _ref.dropdownMenu,
|
|
|
classroomList = _ref.classroomList,
|
|
|
isShowRightControl = _ref.isShowRightControl,
|
|
|
defaultSelectedKeys = _ref.defaultSelectedKeys,
|
|
|
onTabMenuClick = _ref.onTabMenuClick,
|
|
|
onTooltipTitleClick = _ref.onTooltipTitleClick,
|
|
|
onDropdownMenuClick = _ref.onDropdownMenuClick;
|
|
|
/**
|
|
|
* 渲染菜单
|
|
|
*/
|
|
|
var getDropdownMenu = function getDropdownMenu() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z, {
|
|
|
onClick: function onClick(_ref2) {
|
|
|
var key = _ref2.key;
|
|
|
return onDropdownMenuClick(key);
|
|
|
},
|
|
|
children: dropdownMenu.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
children: item.name
|
|
|
}, item.id);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: TabMenumodules.tabMenuContainer,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z, {
|
|
|
mode: "horizontal",
|
|
|
selectedKeys: defaultSelectedKeys,
|
|
|
children: tabDataSource.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_menu/* default */.Z.Item, {
|
|
|
onClick: function onClick() {
|
|
|
return !isLoading ? onTabMenuClick(item) : {};
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-666 ".concat(isAdmin ? 'mr20' : ''),
|
|
|
children: item.name
|
|
|
}), item.total !== undefined && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-999",
|
|
|
children: item.total || 0
|
|
|
})]
|
|
|
}, item.id);
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
className: "gutter-row iconfont icon-paihang",
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
alignItems: 'center',
|
|
|
color: '#0152d9',
|
|
|
paddingBottom: 3
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: 8,
|
|
|
cursor: 'pointer'
|
|
|
},
|
|
|
onClick: function onClick() {
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/program_homework/ranking"));
|
|
|
},
|
|
|
children: "\u6392\u884C\u699C"
|
|
|
}), isAdmin && isShowRightControl && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: TabMenumodules.control,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-blue font16 current",
|
|
|
style: {
|
|
|
marginLeft: 20,
|
|
|
marginRight: 20
|
|
|
},
|
|
|
onClick: onTooltipTitleClick,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: TooltipTitle,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: !categoryId ? "".concat(TabMenumodules.iconH, " iconfont icon-xinjianmulu1") : "".concat(TabMenumodules.iconH, " iconfont icon-zhongmingmingmulu")
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: function onClick() {
|
|
|
onDropdownMenuClick('1');
|
|
|
},
|
|
|
className: TabMenumodules.selectBtn,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tianjiadaohang"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: addText ? addText : '新建'
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_TabMenu = (TabMenu);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
|
|
|
var dropdown = __webpack_require__(38854);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SearchSortController/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var SearchSortControllermodules = ({"searchSortControllerContainer":"searchSortControllerContainer___tQmMS","btn":"btn___ECfiD","btnSort":"btnSort___Y5Oja","tips":"tips___fhrLg"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SearchSortController/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var SearchSortController = function SearchSortController(_ref) {
|
|
|
var isAdmin = _ref.isAdmin,
|
|
|
dataSource = _ref.dataSource,
|
|
|
batchStatus = _ref.batchStatus,
|
|
|
SortMenuName = _ref.SortMenuName,
|
|
|
setSortMenuName = _ref.setSortMenuName,
|
|
|
onSearch = _ref.onSearch,
|
|
|
onSort = _ref.onSort,
|
|
|
onBatch = _ref.onBatch;
|
|
|
// const [SortMenuName, setSortMenuName] = useState<any>('默认排序');
|
|
|
|
|
|
var SortMenus = isAdmin ? [{
|
|
|
name: '默认排序',
|
|
|
type: 'position',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '创建时间升序',
|
|
|
type: 'created_at',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '创建时间降序',
|
|
|
type: 'created_at',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '更新时间升序',
|
|
|
type: 'updated_at',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '更新时间降序',
|
|
|
type: 'updated_at',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '作业名称升序',
|
|
|
type: 'name_pinyin',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '作业名称降序',
|
|
|
type: 'name_pinyin',
|
|
|
direction: 'desc'
|
|
|
}] : [{
|
|
|
name: '默认排序',
|
|
|
type: 'position',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '按发布时间升序',
|
|
|
type: 'created_at',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '按发布时间降序',
|
|
|
type: 'created_at',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '按截止时间升序',
|
|
|
type: 'updated_at',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '按截止时间降序',
|
|
|
type: 'updated_at',
|
|
|
direction: 'desc'
|
|
|
}, {
|
|
|
name: '作业名称升序',
|
|
|
type: 'name_pinyin',
|
|
|
direction: 'asc'
|
|
|
}, {
|
|
|
name: '作业名称降序',
|
|
|
type: 'name_pinyin',
|
|
|
direction: 'desc'
|
|
|
}];
|
|
|
|
|
|
/**
|
|
|
* 排序点击事件
|
|
|
*/
|
|
|
var sortClick = function sortClick(data) {
|
|
|
setSortMenuName(data.name);
|
|
|
onSort(data);
|
|
|
};
|
|
|
|
|
|
// 默认排序
|
|
|
var isDefault = SortMenuName === '默认排序';
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: SearchSortControllermodules.searchSortControllerContainer,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
|
|
|
dropdownRender: function dropdownRender() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z, {
|
|
|
selectedKeys: [SortMenuName],
|
|
|
children: SortMenus.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
onClick: function onClick() {
|
|
|
return sortClick(item);
|
|
|
},
|
|
|
children: item.name
|
|
|
}, item.name);
|
|
|
})
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "".concat(SearchSortControllermodules.btn, " ").concat(isDefault ? SearchSortControllermodules.btnSort : ''),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-paixu font14 mr5"
|
|
|
}), SortMenuName]
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}), isDefault && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u4F18\u5148\u6309\u7167\u8C03\u6574\u6392\u5E8F\u7ED3\u679C\u5C55\u793A\uFF0C\u672A\u8BBE\u7F6E\u6392\u5E8F\u65F6\uFF0C\u6309\u7167\u521B\u5EFA\u65F6\u95F4\u964D\u5E8F\u6392\u5217",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: SearchSortControllermodules.tips,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-a-wenhaobeifen2"
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
|
|
|
allowClear: true,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u540D\u79F0\u8FDB\u884C\u641C\u7D22",
|
|
|
onSearch: onSearch,
|
|
|
style: {
|
|
|
width: 220,
|
|
|
marginLeft: 'auto'
|
|
|
}
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_SearchSortController = (SearchSortController);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/BottomControl/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var BottomControlmodules = ({"bottomControlContainer":"bottomControlContainer___kLlgA","buttonWrap":"buttonWrap___vOH3N","moveCategory":"moveCategory___lgwfd"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
|
var DownOutlined = __webpack_require__(42884);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/BottomControl/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var BottomControl = function BottomControl(_ref) {
|
|
|
var buttonDataSource = _ref.buttonDataSource,
|
|
|
_onClick = _ref.onClick;
|
|
|
var _useContext = (0,_react_17_0_2_react.useContext)(CommonHomeworkContext),
|
|
|
allSelect = _useContext.allSelect,
|
|
|
setAllSelect = _useContext.setAllSelect,
|
|
|
setSelectArrs = _useContext.setSelectArrs,
|
|
|
dataSource = _useContext.dataSource,
|
|
|
selectArrs = _useContext.selectArrs,
|
|
|
useBatchStatus = _useContext.useBatchStatus,
|
|
|
dispatch = _useContext.dispatch,
|
|
|
params = _useContext.params,
|
|
|
getData = _useContext.getData,
|
|
|
detailLeftMenus = _useContext.detailLeftMenus,
|
|
|
main_category_id = _useContext.main_category_id,
|
|
|
setSelectArrsAll = _useContext.setSelectArrsAll;
|
|
|
var courseModules;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
moveVisible = _useState2[0],
|
|
|
setMoveVisible = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
keyword = _useState4[0],
|
|
|
setKeyword = _useState4[1];
|
|
|
var onChecked = function onChecked(event) {
|
|
|
setAllSelect(event.target.checked);
|
|
|
setSelectArrs(event.target.checked ? dataSource.map(function (item) {
|
|
|
return item.homework_id;
|
|
|
}) : []);
|
|
|
if (event.target.checked) {
|
|
|
setSelectArrsAll(toConsumableArray_default()(dataSource));
|
|
|
} else {
|
|
|
setSelectArrsAll([]);
|
|
|
}
|
|
|
};
|
|
|
var onStartSort = function onStartSort() {
|
|
|
var payload = {
|
|
|
courseId: params['id'],
|
|
|
container_type: 'program_homework'
|
|
|
};
|
|
|
if (params.categoryId) {
|
|
|
payload.category_id = params.categoryId;
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'classroomList/getAllTaskList',
|
|
|
payload: payload
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '调整排序'
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
if (detailLeftMenus.course_modules) {
|
|
|
courseModules = detailLeftMenus.course_modules.filter(function (v) {
|
|
|
return v.type === 'program_homework';
|
|
|
})[0];
|
|
|
}
|
|
|
var menu = /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: BottomControlmodules.moveCategory,
|
|
|
onMouseLeave: function onMouseLeave(e) {
|
|
|
return setMoveVisible(false);
|
|
|
}
|
|
|
// onMouseOut={e => setMoveVisible(false)}
|
|
|
,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_menu/* default */.Z
|
|
|
// onMouseLeave={e => setMoveVisible(false)}
|
|
|
// onMouseOut={e => setMoveVisible(false)}
|
|
|
, {
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(_ref2) {
|
|
|
var item, key, keyPath, domEvent, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
item = _ref2.item, key = _ref2.key, keyPath = _ref2.keyPath, domEvent = _ref2.domEvent;
|
|
|
if (!(selectArrs == '')) {
|
|
|
_context.next = 4;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.error('请选择你要操作的任务');
|
|
|
return _context.abrupt("return", null);
|
|
|
case 4:
|
|
|
_context.next = 6;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/homework_commons/move_to_category.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
homework_ids: selectArrs,
|
|
|
new_category_id: key
|
|
|
}
|
|
|
});
|
|
|
case 6:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('操作成功');
|
|
|
useBatchStatus(false);
|
|
|
getData();
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params.coursesId
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
style: {
|
|
|
maxHeight: 300,
|
|
|
width: 240,
|
|
|
overflow: 'auto'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
className: "ant-menu-item multi-llipsis1e ant-menu-item-only-child",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
onChange: function onChange(e) {
|
|
|
setKeyword(e.target.value);
|
|
|
}
|
|
|
})
|
|
|
}), courseModules && courseModules['second_category'].filter(function (r) {
|
|
|
return r.category_name !== '未分配目录';
|
|
|
}).map(function (item, key) {
|
|
|
var _item$third_category;
|
|
|
if (keyword !== '' && item.category_name.indexOf(keyword) < 0) {
|
|
|
return;
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
className: "multi-llipsis1e",
|
|
|
children: item.category_name
|
|
|
}, item.category_id), item === null || item === void 0 || (_item$third_category = item.third_category) === null || _item$third_category === void 0 ? void 0 : _item$third_category.map(function (val) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
style: {
|
|
|
marginLeft: 20
|
|
|
},
|
|
|
className: "multi-llipsis1e",
|
|
|
children: val.category_name
|
|
|
}, val.category_id);
|
|
|
})]
|
|
|
});
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
|
className: "ant-menu-item multi-llipsis1e ant-menu-item-only-child",
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '添加目录',
|
|
|
params: params,
|
|
|
selectArrs: {
|
|
|
category_id: main_category_id,
|
|
|
type: 'program_homework'
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: "\u65B0\u5EFA\u5B50\u76EE\u5F55..."
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: BottomControlmodules.bottomControlContainer,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_checkbox/* default */.Z, {
|
|
|
checked: allSelect,
|
|
|
onChange: onChecked,
|
|
|
children: ["\u5168\u9009\u672C\u9875\uFF08", selectArrs.length, "\uFF09"]
|
|
|
})
|
|
|
}), (0,authority/* isAdmin */.GJ)() && buttonDataSource.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
icon: item.icon,
|
|
|
className: BottomControlmodules.buttonWrap,
|
|
|
onClick: function onClick() {
|
|
|
return _onClick(item);
|
|
|
},
|
|
|
children: item.name
|
|
|
})
|
|
|
}, item.key);
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
onClick: onStartSort,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tiaozhengpaixu2"
|
|
|
}),
|
|
|
className: BottomControlmodules.buttonWrap,
|
|
|
children: "\u8C03\u6574\u6392\u5E8F"
|
|
|
})
|
|
|
}), (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
|
|
|
open: moveVisible,
|
|
|
placement: "topLeft",
|
|
|
dropdownRender: function dropdownRender() {
|
|
|
return menu;
|
|
|
},
|
|
|
getPopupContainer: function getPopupContainer(trigger) {
|
|
|
return trigger.parentNode;
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "ant-dropdown-link",
|
|
|
onMouseEnter: function onMouseEnter(e) {
|
|
|
return setMoveVisible(true);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
className: BottomControlmodules.buttonWrap,
|
|
|
style: {
|
|
|
position: "relative",
|
|
|
zIndex: 999
|
|
|
},
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-yidongmulu"
|
|
|
}),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u79FB\u52A8\u5230\u76EE\u5F55 ", /*#__PURE__*/(0,jsx_runtime.jsx)(DownOutlined/* default */.Z, {})]
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
ghost: true,
|
|
|
onClick: function onClick() {
|
|
|
useBatchStatus(false);
|
|
|
setSelectArrs([]);
|
|
|
},
|
|
|
children: "\u53D6\u6D88\u64CD\u4F5C"
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_BottomControl = (BottomControl);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
|
|
|
var table = __webpack_require__(72315);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/List/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Listmodules = ({"listContainer":"listContainer___vU05G","info":"info___fXyuU","title":"title___fItHS","left":"left___MFkuv","right":"right___JT8Xj","flexBox":"flexBox___n8e_m","detail":"detail___HXdq0","iconV":"iconV___CwPu5","shixunTag":"shixunTag___oYTPp"});
|
|
|
// EXTERNAL MODULE: ./src/components/TooltipTags/index.tsx
|
|
|
var TooltipTags = __webpack_require__(10643);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/List/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var List = function List(_ref) {
|
|
|
var _params, _dataSource$status, _dataSource$status2, _dataSource$status3, _dataSource$status5, _dataSource$status6, _dataSource$status7, _dataSource$status8, _dataSource$status9, _dataSource$status10, _dataSource$status11, _dataSource$status12;
|
|
|
var dataSource = _ref.dataSource,
|
|
|
elseParams = _ref.params,
|
|
|
classroomList = _ref.classroomList,
|
|
|
manageAllGroup = _ref.manageAllGroup;
|
|
|
var _useContext = (0,_react_17_0_2_react.useContext)(CommonHomeworkContext),
|
|
|
batchStatus = _useContext.batchStatus,
|
|
|
selectArrs = _useContext.selectArrs,
|
|
|
setSelectArrs = _useContext.setSelectArrs,
|
|
|
selectArrsAll = _useContext.selectArrsAll,
|
|
|
setSelectArrsAll = _useContext.setSelectArrsAll,
|
|
|
dispatch = _useContext.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
isshow = _useState2[0],
|
|
|
setisshow = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
lists = _useState4[0],
|
|
|
setlists = _useState4[1];
|
|
|
params = objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, elseParams), params), {}, {
|
|
|
category: (_params = params) === null || _params === void 0 ? void 0 : _params.categoryId
|
|
|
});
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setlists([]);
|
|
|
setisshow(false);
|
|
|
}, []);
|
|
|
var columns = [{
|
|
|
title: '班级',
|
|
|
dataIndex: 'course_group_name',
|
|
|
key: 'course_group_name'
|
|
|
}, {
|
|
|
title: '状态',
|
|
|
dataIndex: 'status',
|
|
|
key: 'status',
|
|
|
width: 80,
|
|
|
filters: [{
|
|
|
text: '未开始',
|
|
|
value: '未开始'
|
|
|
}, {
|
|
|
text: '提交中',
|
|
|
value: '提交中'
|
|
|
}, {
|
|
|
text: '补交中',
|
|
|
value: '补交中'
|
|
|
}, {
|
|
|
text: '已截止',
|
|
|
value: '已截止'
|
|
|
}, {
|
|
|
text: '未发布',
|
|
|
value: '未发布'
|
|
|
}
|
|
|
// {
|
|
|
// text: '匿评中',
|
|
|
// value: '匿评中',
|
|
|
// },
|
|
|
// {
|
|
|
// text: '申诉中',
|
|
|
// value: '申诉中',
|
|
|
// },
|
|
|
],
|
|
|
|
|
|
onFilter: function onFilter(value, record) {
|
|
|
return record.status.indexOf(value) === 0;
|
|
|
}
|
|
|
}, {
|
|
|
title: '提交情况',
|
|
|
dataIndex: 'statistics',
|
|
|
key: 'statistics',
|
|
|
width: 80,
|
|
|
render: function render(v) {
|
|
|
var _v$split, _v$split2;
|
|
|
return v === '--' ? v : /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: v === null || v === void 0 || (_v$split = v.split('/')) === null || _v$split === void 0 ? void 0 : _v$split[0]
|
|
|
}), "\xA0/\xA0", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: v === null || v === void 0 || (_v$split2 = v.split('/')) === null || _v$split2 === void 0 ? void 0 : _v$split2[1]
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '发布时间',
|
|
|
dataIndex: 'publish_time',
|
|
|
key: 'publish_time',
|
|
|
sorter: true,
|
|
|
showSorterTooltip: false,
|
|
|
sortOrder: params.sort_by === 'publish_time' ? params.sort_direction === 'desc' ? 'descend' : 'ascend' : null
|
|
|
}, {
|
|
|
title: '截止时间',
|
|
|
dataIndex: 'end_time',
|
|
|
key: 'end_time',
|
|
|
sorter: true,
|
|
|
showSorterTooltip: false,
|
|
|
sortOrder: params.sort_by === 'end_time' ? params.sort_direction === 'desc' ? 'descend' : 'ascend' : null
|
|
|
}, {
|
|
|
title: '补交时间',
|
|
|
dataIndex: 'late_time',
|
|
|
key: 'late_time',
|
|
|
sorter: true,
|
|
|
showSorterTooltip: false,
|
|
|
sortOrder: params.sort_by === 'late_time' ? params.sort_direction === 'desc' ? 'descend' : 'ascend' : null
|
|
|
}, {
|
|
|
title: '分班老师',
|
|
|
dataIndex: 'teachers',
|
|
|
key: 'teachers',
|
|
|
width: 150,
|
|
|
ellipsis: {
|
|
|
showTitle: false
|
|
|
},
|
|
|
render: function render(v) {
|
|
|
return v === '--' || !v ? '--' : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
title: v,
|
|
|
children: v
|
|
|
});
|
|
|
}
|
|
|
}];
|
|
|
function getlist() {
|
|
|
return _getlist.apply(this, arguments);
|
|
|
}
|
|
|
function _getlist() {
|
|
|
_getlist = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
_context7.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/homework_commons/".concat(dataSource.homework_id, "/group_settings_statistics.json"), {
|
|
|
method: 'get',
|
|
|
params: objectSpread2_default()({}, params)
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context7.sent;
|
|
|
setlists(res.data);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _getlist.apply(this, arguments);
|
|
|
}
|
|
|
var onChecked = function onChecked(key) {
|
|
|
if (selectArrs.includes(key)) {
|
|
|
setSelectArrs(selectArrs.filter(function (value) {
|
|
|
return value !== key;
|
|
|
}));
|
|
|
setSelectArrsAll(selectArrsAll.filter(function (val) {
|
|
|
return val.homework_id !== key;
|
|
|
}));
|
|
|
} else {
|
|
|
setSelectArrs([].concat(toConsumableArray_default()(selectArrs), [key]));
|
|
|
setSelectArrsAll([].concat(toConsumableArray_default()(selectArrsAll), [dataSource]));
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.listContainer,
|
|
|
onClick: function onClick(event) {
|
|
|
event.stopPropagation();
|
|
|
if ((0,authority/* isStudent */.dE)()) {
|
|
|
(0,util/* openNewWindow */.xg)("/classrooms/".concat(params.coursesId, "/program_homework/").concat(dataSource.homework_id, "/detail?tabs=1"));
|
|
|
} else {
|
|
|
(0,util/* openNewWindow */.xg)("/classrooms/".concat(params.coursesId, "/program_homework/").concat(dataSource.homework_id, "/detail"));
|
|
|
}
|
|
|
},
|
|
|
children: [(0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
},
|
|
|
style: {
|
|
|
margin: '11px 0 0 10px'
|
|
|
},
|
|
|
checked: selectArrs.includes(dataSource.homework_id),
|
|
|
onChange: function onChange() {
|
|
|
return onChecked(dataSource.homework_id);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.info,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.title,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.left,
|
|
|
style: (0,authority/* isStudent */.dE)() ? {
|
|
|
paddingRight: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.challenge_count) - (dataSource === null || dataSource === void 0 ? void 0 : dataSource.finished_challenge_count) ? 60 : 140
|
|
|
} : {},
|
|
|
children: [(0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(TooltipTags/* default */.Z, {
|
|
|
value: (_dataSource$status = dataSource.status) === null || _dataSource$status === void 0 ? void 0 : _dataSource$status[0],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(util/* StatusClassroomsTags */.VV, {
|
|
|
temporary: true,
|
|
|
style: {
|
|
|
margin: '0px 10px 0px 0px'
|
|
|
},
|
|
|
status: dataSource.status
|
|
|
})
|
|
|
}), (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsx)(util/* StatusClassroomsTags */.VV, {
|
|
|
temporary: true,
|
|
|
style: {
|
|
|
margin: '0px 10px 0px 0px'
|
|
|
},
|
|
|
status: dataSource.status
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
onClick: function onClick(event) {
|
|
|
return event.stopPropagation();
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: '_blank',
|
|
|
to: "/classrooms/".concat(params.coursesId, "/program_homework/").concat(dataSource.homework_id, "/detail").concat((0,authority/* isStudent */.dE)() ? '?tabs=1' : ''),
|
|
|
children: dataSource.name
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.right,
|
|
|
children: [(0,authority/* isAdmin */.GJ)() && dataSource.status === '未发布' && /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: "_blank",
|
|
|
to: "/",
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(e) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '立即发布',
|
|
|
selectArrs: [dataSource === null || dataSource === void 0 ? void 0 : dataSource.homework_id],
|
|
|
selectArrsAll: [dataSource],
|
|
|
params: objectSpread2_default()({}, params),
|
|
|
type: 2
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: Listmodules.flexBox,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-yishezhifabushijian1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u53D1\u5E03"
|
|
|
})]
|
|
|
})
|
|
|
}), (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.actionIcon,
|
|
|
children: [(dataSource === null || dataSource === void 0 ? void 0 : dataSource.challenge_count) - (dataSource === null || dataSource === void 0 ? void 0 : dataSource.finished_challenge_count) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-yiwancheng1"
|
|
|
}), !((_dataSource$status2 = dataSource.status) !== null && _dataSource$status2 !== void 0 && _dataSource$status2.includes('已截止')) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(e) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
_context2.next = 3;
|
|
|
return (0,fetch/* default */.ZP)("/api/problems/".concat(dataSource === null || dataSource === void 0 ? void 0 : dataSource.start_identifier, "/start.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context2.sent;
|
|
|
if (res) {
|
|
|
window.open("/myproblems/".concat(res === null || res === void 0 ? void 0 : res.identifier, "?type=1"));
|
|
|
localStorage.setItem('program_homework', [params.coursesId, dataSource.homework_id]);
|
|
|
}
|
|
|
// openNewWindow(
|
|
|
// `/classrooms/${params.coursesId}/program_homework/${
|
|
|
// dataSource.homework_id
|
|
|
// }/detail${isStudent() ? '?tabs=1' : ''}`,
|
|
|
// );
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function (_x2) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
className: Listmodules.flexBox,
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-kaishixuexi font14"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5F00\u59CB\u5B66\u4E60"
|
|
|
})]
|
|
|
}), ((_dataSource$status3 = dataSource.status) === null || _dataSource$status3 === void 0 ? void 0 : _dataSource$status3.includes('已截止')) && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: Listmodules.flexBox,
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-chakanzuoye font14"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u67E5\u770B\u4F5C\u4E1A"
|
|
|
})]
|
|
|
})]
|
|
|
}), (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
|
|
|
placement: "bottomCenter",
|
|
|
overlayClassName: Listmodules.dro,
|
|
|
dropdownRender: function dropdownRender() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_menu/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
style: {
|
|
|
textAlign: 'center'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: "_blank",
|
|
|
to: "/",
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(e) {
|
|
|
var _classroomList$Assist;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
if (!((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist = classroomList.AssistantObject) !== null && _classroomList$Assist !== void 0 && (_classroomList$Assist = _classroomList$Assist.hack) !== null && _classroomList$Assist !== void 0 && _classroomList$Assist.can_publish))) {
|
|
|
_context3.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return _context3.abrupt("return");
|
|
|
case 5:
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '立即发布',
|
|
|
selectArrs: [dataSource === null || dataSource === void 0 ? void 0 : dataSource.homework_id],
|
|
|
selectArrsAll: [dataSource],
|
|
|
params: objectSpread2_default()({}, params),
|
|
|
type: 2,
|
|
|
manage_all_group: manageAllGroup
|
|
|
}
|
|
|
});
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function (_x3) {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: "\u7ACB\u5373\u53D1\u5E03"
|
|
|
})
|
|
|
}, 1), /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
style: {
|
|
|
textAlign: 'center'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: "_blank",
|
|
|
to: "/",
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(e) {
|
|
|
var _classroomList$Assist2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
if (!((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist2 = classroomList.AssistantObject) !== null && _classroomList$Assist2 !== void 0 && (_classroomList$Assist2 = _classroomList$Assist2.hack) !== null && _classroomList$Assist2 !== void 0 && _classroomList$Assist2.can_stop))) {
|
|
|
_context4.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return _context4.abrupt("return");
|
|
|
case 5:
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '立即截止',
|
|
|
selectArrs: [dataSource === null || dataSource === void 0 ? void 0 : dataSource.homework_id],
|
|
|
selectArrsAll: [dataSource],
|
|
|
params: objectSpread2_default()({}, params),
|
|
|
type: 2
|
|
|
}
|
|
|
});
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function (_x4) {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: "\u7ACB\u5373\u622A\u6B62"
|
|
|
})
|
|
|
}, 2), /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
style: {
|
|
|
textAlign: 'center'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: "_blank",
|
|
|
to: "/",
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(e) {
|
|
|
var _classroomList$Assist3, _dataSource$status4;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
if (!((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist3 = classroomList.AssistantObject) !== null && _classroomList$Assist3 !== void 0 && (_classroomList$Assist3 = _classroomList$Assist3.hack) !== null && _classroomList$Assist3 !== void 0 && _classroomList$Assist3.can_delete))) {
|
|
|
_context5.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return _context5.abrupt("return");
|
|
|
case 5:
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '删除',
|
|
|
selectArrs: [dataSource === null || dataSource === void 0 ? void 0 : dataSource.homework_id],
|
|
|
selectArrsAll: selectArrsAll,
|
|
|
params: params,
|
|
|
status: dataSource === null || dataSource === void 0 || (_dataSource$status4 = dataSource.status) === null || _dataSource$status4 === void 0 ? void 0 : _dataSource$status4[0]
|
|
|
}
|
|
|
});
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return function (_x5) {
|
|
|
return _ref6.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: "\u7ACB\u5373\u5220\u9664"
|
|
|
})
|
|
|
}, 22), /*#__PURE__*/(0,jsx_runtime.jsx)(es_menu/* default */.Z.Item, {
|
|
|
style: {
|
|
|
textAlign: 'center'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
target: "_blank",
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
},
|
|
|
to: "/classrooms/".concat(params.coursesId, "/program_homework/").concat(dataSource.homework_id, "/detail?tabs=3"),
|
|
|
children: "\u9AD8\u7EA7\u8BBE\u7F6E"
|
|
|
})
|
|
|
}, 6)]
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
onClick: function onClick(e) {
|
|
|
return e.stopPropagation();
|
|
|
},
|
|
|
className: Listmodules.flexBox,
|
|
|
style: {
|
|
|
marginRight: 6,
|
|
|
cursor: 'default'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-gengduo4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u66F4\u591A"
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Listmodules.detail,
|
|
|
children: (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-333 mr20",
|
|
|
children: dataSource.author
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '已结束', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status5 = dataSource.status) === null || _dataSource$status5 === void 0 ? void 0 : _dataSource$status5[0]) && !!dataSource.uncommit_count && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u672A\u505A\u9898"
|
|
|
}), dataSource.uncommit_count, "\u4EBA"]
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '已结束', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status6 = dataSource.status) === null || _dataSource$status6 === void 0 ? void 0 : _dataSource$status6[0]) && !!dataSource.commit_count && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u5DF2\u505A\u9898"
|
|
|
}), dataSource.commit_count, "\u4EBA"]
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '已结束', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status7 = dataSource.status) === null || _dataSource$status7 === void 0 ? void 0 : _dataSource$status7[0]) && !!dataSource.compelete_count && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u5DF2\u5B8C\u6210"
|
|
|
}), dataSource.compelete_count, "\u4EBA"]
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status8 = dataSource.status) === null || _dataSource$status8 === void 0 ? void 0 : _dataSource$status8[0]) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u53D1\u5E03\u65F6\u95F4"
|
|
|
}), dataSource.publish_time]
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status9 = dataSource.status) === null || _dataSource$status9 === void 0 ? void 0 : _dataSource$status9[0]) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u622A\u6B62\u65F6\u95F4"
|
|
|
}), dataSource.end_time]
|
|
|
}), ['已结束'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status10 = dataSource.status) === null || _dataSource$status10 === void 0 ? void 0 : _dataSource$status10[0]) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 mr10",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u7ED3\u675F\u65F6\u95F4"
|
|
|
}), dataSource.status_time]
|
|
|
}), !!(dataSource !== null && dataSource !== void 0 && dataSource.late_time) && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.late_time) !== '--' && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mr5",
|
|
|
children: "\u8865\u4EA4\u622A\u6B62\u65F6\u95F4"
|
|
|
}), dataSource === null || dataSource === void 0 ? void 0 : dataSource.late_time]
|
|
|
}), ['未开始', '进行中', '已截止', '提交中', '补交中', '匿评中', '申诉中'].includes(dataSource === null || dataSource === void 0 || (_dataSource$status11 = dataSource.status) === null || _dataSource$status11 === void 0 ? void 0 : _dataSource$status11[0]) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Listmodules.iconV,
|
|
|
onClick: /*#__PURE__*/function () {
|
|
|
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(e) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
if (!isshow) {
|
|
|
getlist();
|
|
|
}
|
|
|
setisshow(!isshow);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return function (_x6) {
|
|
|
return _ref7.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-".concat(isshow ? 'shouqi' : 'xiala2')
|
|
|
}), ' ']
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Listmodules.content,
|
|
|
children: [(0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Listmodules.infoStuIcon,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-333",
|
|
|
children: dataSource.author
|
|
|
}), (dataSource === null || dataSource === void 0 || (_dataSource$status12 = dataSource.status) === null || _dataSource$status12 === void 0 ? void 0 : _dataSource$status12[0]) === '已截止' && !!(dataSource !== null && dataSource !== void 0 && dataSource.status_time) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999 ml20",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shengyushijian font12 mr5"
|
|
|
}), ' ', dataSource === null || dataSource === void 0 ? void 0 : dataSource.status_time]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "ml20 c-grey-999",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shijian1 font12 mr5"
|
|
|
}), dataSource === null || dataSource === void 0 ? void 0 : dataSource.commit_count, "/", dataSource === null || dataSource === void 0 ? void 0 : dataSource.all_count, " ", dataSource.status_time]
|
|
|
})]
|
|
|
}), (0,authority/* isAdmin */.GJ)() && dataSource.status !== '未发布' && isshow && lists.length > 5 && /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
|
scroll: {
|
|
|
y: 240
|
|
|
},
|
|
|
onRow: function onRow(e) {
|
|
|
return {
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
onHeaderRow: function onHeaderRow(columns, index) {
|
|
|
return {
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
} // 点击表头行
|
|
|
};
|
|
|
},
|
|
|
|
|
|
pagination: false,
|
|
|
dataSource: lists,
|
|
|
style: {
|
|
|
marginTop: 14,
|
|
|
marginRight: 6,
|
|
|
cursor: 'default'
|
|
|
},
|
|
|
onChange: function onChange(a, b, c) {
|
|
|
if (c.field) params.sort_by = c.field;
|
|
|
if (!c.order) params['sort_direction'] = 'asc';
|
|
|
if (c.order === 'ascend') params['sort_direction'] = 'asc';
|
|
|
if (c.order === 'descend') params['sort_direction'] = 'desc';
|
|
|
// if (!c.order) delete params['b_order'];
|
|
|
if (!c.order) params['sort_direction'] = 'asc';
|
|
|
getlist();
|
|
|
},
|
|
|
columns: columns
|
|
|
}), (0,authority/* isAdmin */.GJ)() && dataSource.status !== '未发布' && isshow && lists.length < 6 && lists.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
|
onRow: function onRow(e) {
|
|
|
return {
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
onHeaderRow: function onHeaderRow(columns, index) {
|
|
|
return {
|
|
|
onClick: function onClick(e) {
|
|
|
e.stopPropagation();
|
|
|
e.preventDefault();
|
|
|
} // 点击表头行
|
|
|
};
|
|
|
},
|
|
|
|
|
|
pagination: false,
|
|
|
dataSource: lists,
|
|
|
style: {
|
|
|
marginTop: 14,
|
|
|
marginRight: 6,
|
|
|
cursor: 'default'
|
|
|
},
|
|
|
onChange: function onChange(a, b, c) {
|
|
|
if (c.field) params.sort_by = c.field;
|
|
|
if (!c.order) params['sort_direction'] = 'asc';
|
|
|
if (c.order === 'ascend') params['sort_direction'] = 'asc';
|
|
|
if (c.order === 'descend') params['sort_direction'] = 'desc';
|
|
|
// if (!c.order) delete params['b_order'];
|
|
|
if (!c.order) params['sort_direction'] = 'asc';
|
|
|
getlist();
|
|
|
},
|
|
|
columns: columns
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_List = (List);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var ProgramHomeworkmodules = ({"flex_box_center":"flex_box_center___Cf9V9","flex_space_between":"flex_space_between___eZ6tD","flex_box_vertical_center":"flex_box_vertical_center___HV5P5","flex_box_center_end":"flex_box_center_end___nMv5m","flex_box_column":"flex_box_column___pSZ2w","bg":"bg___KWyBO","containerTitle":"containerTitle____BHtc","containerDesc":"containerDesc___owLy5","listItem":"listItem___G1EbM","info":"info___sPjht","title":"title___shRTj","titleLeft":"titleLeft___h6rpG","titleRight":"titleRight___LEnUj","acitons":"acitons___UegZy","moveCategory":"moveCategory___PL8Dd","spanSize":"spanSize___QkMiH"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_react-sortable-hoc@1.11.0@react-sortable-hoc/dist/react-sortable-hoc.esm.js
|
|
|
var react_sortable_hoc_esm = __webpack_require__(44589);
|
|
|
// EXTERNAL MODULE: ./node_modules/_array-move@3.0.1@array-move/index.js
|
|
|
var _array_move_3_0_1_array_move = __webpack_require__(39180);
|
|
|
var _array_move_3_0_1_array_move_default = /*#__PURE__*/__webpack_require__.n(_array_move_3_0_1_array_move);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
|
|
|
var drawer = __webpack_require__(43428);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SortShixunPanel/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/SortShixunPanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var SortableItem = (0,react_sortable_hoc_esm/* SortableElement */.W8)(function (_ref) {
|
|
|
var item = _ref.item;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: item.task_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: [item.user_name, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
marginLeft: '20px'
|
|
|
},
|
|
|
children: item.category
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
var SortableList = (0,react_sortable_hoc_esm/* SortableContainer */.JN)(function (_ref2) {
|
|
|
var items = _ref2.items;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
|
|
|
className: "task-list-container",
|
|
|
children: items.map(function (value, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(SortableItem, {
|
|
|
index: index,
|
|
|
item: value
|
|
|
}, "".concat(value.task_id));
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
/* harmony default export */ var SortShixunPanel = (function (_ref3) {
|
|
|
var data = _ref3.data,
|
|
|
callback = _ref3.callback,
|
|
|
onCancel = _ref3.onCancel,
|
|
|
_ref3$visible = _ref3.visible,
|
|
|
visible = _ref3$visible === void 0 ? false : _ref3$visible;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(data),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
values = _useState2[0],
|
|
|
setValues = _useState2[1];
|
|
|
function onSave() {
|
|
|
callback(values.map(function (item) {
|
|
|
return item.task_id;
|
|
|
}));
|
|
|
}
|
|
|
function onSortEnd(info) {
|
|
|
var newIndex = info.newIndex,
|
|
|
oldIndex = info.oldIndex;
|
|
|
setValues(_array_move_3_0_1_array_move_default()(values, oldIndex, newIndex));
|
|
|
}
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setValues(data);
|
|
|
}, [JSON.stringify(data)]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(drawer/* default */.Z, {
|
|
|
placement: 'bottom',
|
|
|
height: '100%',
|
|
|
closable: true,
|
|
|
onClose: onCancel,
|
|
|
style: {
|
|
|
zIndex: 9999
|
|
|
},
|
|
|
open: visible,
|
|
|
rootClassName: "sort-list-panel",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "sort-list-tip",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u6E29\u99A8\u63D0\u793A\uFF1A\u8BF7\u5728\u5217\u8868\u4E2D\u957F\u6309\u9F20\u6807\u5DE6\u952E\uFF0C\u8FDB\u884C\u62D6\u653E\u6392\u5E8F\u3002\u5B8C\u6210\u6392\u5E8F\u540E\u8BF7\u70B9\u51FB\u201C\u4FDD\u5B58\u201D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "ghost",
|
|
|
onClick: onCancel,
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
disabled: values.length === 0,
|
|
|
type: "primary",
|
|
|
onClick: onSave,
|
|
|
children: "\u4FDD\u5B58"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(SortableList, {
|
|
|
axis: "xy",
|
|
|
helperClass: "dragging-li",
|
|
|
items: values,
|
|
|
onSortEnd: onSortEnd
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/OtherHomework/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var OtherHomeworkmodules = ({"otherHomeworkWrap":"otherHomeworkWrap___WlvHv","otherHomeworkContainer":"otherHomeworkContainer___Qfj2O","flex":"flex___q8ATC","search":"search___xedy7","content":"content___VSdQb","listItem":"listItem___u6wwP","info":"info___vvX3a","title":"title___FtVL7","describe":"describe___g43sA","footer":"footer___TNGYY"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/components/OtherHomework/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var OtherHomework = function OtherHomework(_ref) {
|
|
|
var courseId = _ref.courseId,
|
|
|
type = _ref.type,
|
|
|
onCancel = _ref.onCancel;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)({
|
|
|
targerData: [],
|
|
|
originData: []
|
|
|
}),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
dataSource = _useState2[0],
|
|
|
setData = _useState2[1];
|
|
|
|
|
|
// 选中的key
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
checkedKeys = _useState4[0],
|
|
|
setCheckedKeys = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
loading = _useState6[0],
|
|
|
setLoading = _useState6[1];
|
|
|
/**
|
|
|
* 获取数据
|
|
|
*/
|
|
|
var getData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var result;
|
|
|
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/courses/".concat(courseId, "/homework_commons/impersonal_list.json"), {
|
|
|
method: 'get',
|
|
|
params: {
|
|
|
type: type
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
result = _context.sent;
|
|
|
setLoading(false);
|
|
|
setData({
|
|
|
targerData: result.homeworks,
|
|
|
originData: result.homeworks
|
|
|
});
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
getData();
|
|
|
}, []);
|
|
|
|
|
|
/**
|
|
|
* 提交数据
|
|
|
*/
|
|
|
var postSubmit = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var data, result;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
setLoading(true);
|
|
|
data = {
|
|
|
homework_common_ids: checkedKeys
|
|
|
};
|
|
|
if (params.categoryId) {
|
|
|
data = objectSpread2_default()(objectSpread2_default()({}, data), {}, {
|
|
|
category_id: params.categoryId
|
|
|
});
|
|
|
}
|
|
|
_context2.next = 5;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.coursesId, "/homework_commons/create_collaborators.json"), {
|
|
|
method: 'POST',
|
|
|
body: data
|
|
|
});
|
|
|
case 5:
|
|
|
result = _context2.sent;
|
|
|
if (result && result.homework_ids.length > 0) {
|
|
|
message/* default */.ZP.success('提交成功');
|
|
|
onCancel();
|
|
|
}
|
|
|
setLoading(false);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function postSubmit() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
|
|
|
/**
|
|
|
* 复选框change事件
|
|
|
*/
|
|
|
var onCheckChange = function onCheckChange(event, key) {
|
|
|
if (event.target.checked) {
|
|
|
setCheckedKeys([].concat(toConsumableArray_default()(checkedKeys), [key]));
|
|
|
} else {
|
|
|
setCheckedKeys(checkedKeys.filter(function (item) {
|
|
|
return item !== key;
|
|
|
}));
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
*/
|
|
|
var onSearch = function onSearch(value) {
|
|
|
var newData = dataSource.originData.filter(function (item) {
|
|
|
return item.name.indexOf(value) > -1;
|
|
|
});
|
|
|
setData(objectSpread2_default()(objectSpread2_default()({}, dataSource), {}, {
|
|
|
targerData: newData
|
|
|
}));
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 提交
|
|
|
*/
|
|
|
var onSubmit = function onSubmit() {
|
|
|
postSubmit();
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "animated fadeInUp fast ".concat(OtherHomeworkmodules.otherHomeworkWrap),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: OtherHomeworkmodules.otherHomeworkContainer,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: OtherHomeworkmodules.search,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
|
|
|
size: 'middle',
|
|
|
enterButton: "\u641C\u7D22",
|
|
|
onSearch: onSearch,
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u56FE\u6587\u4F5C\u4E1A\u540D\u79F0\u8FDB\u884C\u67E5\u8BE2"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: OtherHomeworkmodules.content,
|
|
|
children: dataSource.targerData.map(function (item) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "".concat(OtherHomeworkmodules.listItem, " mb10"),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
checked: checkedKeys.includes(item.id),
|
|
|
onChange: function onChange(event) {
|
|
|
return onCheckChange(event, item.id);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: OtherHomeworkmodules.info,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "".concat(OtherHomeworkmodules.flex, " mb10"),
|
|
|
style: {
|
|
|
justifyContent: 'space-between'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: OtherHomeworkmodules.title,
|
|
|
children: item.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
ghost: true,
|
|
|
onClick: function onClick() {
|
|
|
return (0,util/* openNewWindow */.xg)("/classrooms/".concat(params.coursesId, "/common_homework/").concat(item.id, "/detail"));
|
|
|
},
|
|
|
children: "\u67E5\u770B\u4F5C\u4E1A"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "mb20 font14 c-grey-999 ".concat(OtherHomeworkmodules.describe),
|
|
|
children: item.description
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "font12",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-grey-333 mr20",
|
|
|
children: item.user.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-grey-999",
|
|
|
children: ["\u521B\u5EFA\u65F6\u95F4\uFF1A", item.created_at]
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}, item.id);
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: OtherHomeworkmodules.footer,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
ghost: true,
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
disabled: checkedKeys.length === 0 || loading,
|
|
|
onClick: onSubmit,
|
|
|
children: "\u786E\u5B9A"
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_OtherHomework = (OtherHomework);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/ProgramHomework/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CommonHomeworkContext = /*#__PURE__*/(0,_react_17_0_2_react.createContext)({
|
|
|
selectArrs: []
|
|
|
});
|
|
|
var ShixunsListPage = function ShixunsListPage(_ref) {
|
|
|
var _user$userInfo4, _detailCommonHomework;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch,
|
|
|
user = _ref.user;
|
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
|
var paramsFromRouter = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(function () {
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, paramsFromRouter), {}, {
|
|
|
id: paramsFromRouter.coursesId,
|
|
|
limit: 20
|
|
|
});
|
|
|
}),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
params = _useState2[0],
|
|
|
setParams = _useState2[1];
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
// 选中的课程
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
selectArrs = _useState4[0],
|
|
|
setSelectArrs = _useState4[1];
|
|
|
// 全选
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
allSelect = _useState6[0],
|
|
|
setAllSelect = _useState6[1];
|
|
|
// 批量显隐状态
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
batchStatus = _useState8[0],
|
|
|
useBatchStatus = _useState8[1];
|
|
|
// 暂时不知道有什么用
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
selectArrsAll = _useState10[0],
|
|
|
setSelectArrsAll = _useState10[1];
|
|
|
|
|
|
// 选择其他人作业组件的显隐状态
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
otherStatus = _useState12[0],
|
|
|
setOtherStatus = _useState12[1];
|
|
|
// const [keyword, setKeyword] = useState('');
|
|
|
|
|
|
var _useState13 = (0,_react_17_0_2_react.useState)('默认排序'),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
SortMenuName = _useState14[0],
|
|
|
setSortMenuName = _useState14[1];
|
|
|
var userInfo = user.userInfo;
|
|
|
var detailCommonHomeworksList = classroomList.detailCommonHomeworksList,
|
|
|
detailLeftMenus = classroomList.detailLeftMenus,
|
|
|
detailTopBanner = classroomList.detailTopBanner,
|
|
|
taskList = classroomList.taskList;
|
|
|
var courseModules;
|
|
|
params.type = 1;
|
|
|
if (params.categoryId) {
|
|
|
params.category = params.categoryId;
|
|
|
} else {
|
|
|
delete params.category;
|
|
|
}
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var tabs = searchParams.get("tabs");
|
|
|
if (tabs && tabs !== undefined) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
params.status = tabs;
|
|
|
} else {
|
|
|
params.order = tabs;
|
|
|
}
|
|
|
}
|
|
|
}, [location.search]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (searchParams.get("tabs") === '0') {
|
|
|
params.status = '0';
|
|
|
params.page = 1;
|
|
|
// setParams({...params})
|
|
|
}
|
|
|
|
|
|
params.status = searchParams.get("tabs");
|
|
|
}, [searchParams.get("tabs")]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setParams(objectSpread2_default()(objectSpread2_default()({}, params), paramsFromRouter));
|
|
|
}, [paramsFromRouter === null || paramsFromRouter === void 0 ? void 0 : paramsFromRouter.categoryId]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _user$userInfo, _user$userInfo3;
|
|
|
if (paramsFromRouter.categoryId) {
|
|
|
params.categoryId = paramsFromRouter.categoryId; //location.pathname变化时useParams也会变化,暂且先这样处理
|
|
|
params.category = paramsFromRouter.categoryId;
|
|
|
} else {
|
|
|
delete params.category;
|
|
|
}
|
|
|
if (user !== null && user !== void 0 && (_user$userInfo = user.userInfo) !== null && _user$userInfo !== void 0 && _user$userInfo.login) {
|
|
|
var _user$userInfo2;
|
|
|
dispatch({
|
|
|
type: 'classroomList/getAssistantPermissions',
|
|
|
payload: {
|
|
|
course_id: params.id
|
|
|
}
|
|
|
});
|
|
|
var localRecordValue = util/* localSort */.cX.getItem("".concat(user === null || user === void 0 || (_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login).concat((0,authority/* isAdmin */.GJ)() ? 'Teacher' : 'Student'), 'CommonHomework');
|
|
|
if (localRecordValue) {
|
|
|
params.sort_by = localRecordValue === null || localRecordValue === void 0 ? void 0 : localRecordValue.type;
|
|
|
params.sort_direction = localRecordValue === null || localRecordValue === void 0 ? void 0 : localRecordValue.direction;
|
|
|
setSortMenuName(localRecordValue === null || localRecordValue === void 0 ? void 0 : localRecordValue.name);
|
|
|
}
|
|
|
var tabs = searchParams.get("tabs");
|
|
|
var data = {};
|
|
|
if (tabs && tabs !== undefined) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
params.status = tabs;
|
|
|
} else {
|
|
|
params.order = tabs;
|
|
|
}
|
|
|
}
|
|
|
getData(data);
|
|
|
} else if (user !== null && user !== void 0 && (_user$userInfo3 = user.userInfo) !== null && _user$userInfo3 !== void 0 && _user$userInfo3.username) {
|
|
|
var _tabs = searchParams.get("tabs");
|
|
|
var _data = {};
|
|
|
if (_tabs && _tabs !== undefined) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
params.status = _tabs;
|
|
|
} else {
|
|
|
params.order = _tabs;
|
|
|
}
|
|
|
}
|
|
|
getData(_data);
|
|
|
}
|
|
|
}, [user === null || user === void 0 || (_user$userInfo4 = user.userInfo) === null || _user$userInfo4 === void 0 ? void 0 : _user$userInfo4.login, location === null || location === void 0 ? void 0 : location.pathname]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (classroomList.actionTabs.key === '清除选择数据') {
|
|
|
setSelectArrs([]);
|
|
|
setSelectArrsAll([]);
|
|
|
}
|
|
|
if (classroomList.actionTabs.key === '目录重命名成功') {
|
|
|
getData();
|
|
|
}
|
|
|
}, [classroomList.actionTabs.key]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
setSelectArrs([]);
|
|
|
}, [detailCommonHomeworksList]);
|
|
|
|
|
|
/**
|
|
|
* 监听二级目录变化
|
|
|
*/
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
useBatchStatus(false);
|
|
|
}, [params.categoryId]);
|
|
|
|
|
|
/**
|
|
|
* 监听课程选中
|
|
|
*/
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (detailCommonHomeworksList && detailCommonHomeworksList.homeworks) {
|
|
|
if (selectArrs.length === detailCommonHomeworksList.homeworks.length && selectArrs.length > 0) {
|
|
|
setAllSelect(true);
|
|
|
} else if (selectArrs.length !== detailCommonHomeworksList.homeworks.length) {
|
|
|
setAllSelect(false);
|
|
|
}
|
|
|
}
|
|
|
}, [selectArrs]);
|
|
|
var onShowSizeChange = function onShowSizeChange(current, pageSize) {
|
|
|
params.page = current;
|
|
|
getData();
|
|
|
};
|
|
|
var getData = function getData() {
|
|
|
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
setSelectArrs([]);
|
|
|
setSelectArrsAll([]);
|
|
|
//判断身份 如果是老师 调用另外一个接口
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomTeacherCommonList',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, params), {}, {
|
|
|
type: 5
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var getMenus = function getMenus() {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
var all_count = detailCommonHomeworksList.all_count,
|
|
|
unpublished_count = detailCommonHomeworksList.unpublished_count,
|
|
|
not_start_count = detailCommonHomeworksList.not_start_count,
|
|
|
in_progress_count = detailCommonHomeworksList.in_progress_count,
|
|
|
overed_count = detailCommonHomeworksList.overed_count;
|
|
|
return [{
|
|
|
name: '全部',
|
|
|
id: 0,
|
|
|
total: all_count || 0
|
|
|
}, {
|
|
|
name: '未发布',
|
|
|
id: 1,
|
|
|
total: unpublished_count || 0
|
|
|
}, {
|
|
|
name: '未开始',
|
|
|
id: 4,
|
|
|
total: not_start_count || 0
|
|
|
}, {
|
|
|
name: '进行中',
|
|
|
id: 2,
|
|
|
total: in_progress_count || 0
|
|
|
}, {
|
|
|
name: '已截止',
|
|
|
id: 3,
|
|
|
total: overed_count || 0
|
|
|
}];
|
|
|
} else {
|
|
|
return [{
|
|
|
name: '全部',
|
|
|
id: 0
|
|
|
},
|
|
|
// { name: '未发布', id: 0 },
|
|
|
{
|
|
|
name: '提交中',
|
|
|
id: 2
|
|
|
}, {
|
|
|
name: '补交中',
|
|
|
id: 10
|
|
|
},
|
|
|
// { name: '进行中', id: 2 },
|
|
|
// { name: '匿评中', id: 3 },
|
|
|
// { name: '申诉中', id: 4 },
|
|
|
{
|
|
|
name: '已截止',
|
|
|
id: 3
|
|
|
}];
|
|
|
}
|
|
|
};
|
|
|
|
|
|
// const Menus: { name: string; id: number | string }[] = [
|
|
|
// { name: '全部', id: 0 },
|
|
|
// { name: '未发布', id: 1 },
|
|
|
// { name: '未开始', id: 4 },
|
|
|
// { name: '进行中', id: 2 },
|
|
|
// // { name: '提交中', id: 1 },
|
|
|
// // { name: '补交中', id: 2 },
|
|
|
// // { name: '匿评中', id: 3 },
|
|
|
// // { name: '申诉中', id: 4 },
|
|
|
// { name: '已截止', id: 3 },
|
|
|
// ].filter(item => {
|
|
|
// if (!isAdmin()) {
|
|
|
// return item.name !== '未发布';
|
|
|
// }
|
|
|
// return item;
|
|
|
// });
|
|
|
|
|
|
if (detailLeftMenus.course_modules) {
|
|
|
courseModules = classroomList.detailLeftMenus.course_modules.filter(function (v) {
|
|
|
return v.type === 'common_homework';
|
|
|
})[0];
|
|
|
}
|
|
|
// console.log('--------', params);
|
|
|
|
|
|
var actionsArr = ['删除', '立即发布', '立即截止', '收藏'].filter(function (item) {
|
|
|
if (!(userInfo !== null && userInfo !== void 0 && userInfo.main_site)) {
|
|
|
return item !== '收藏';
|
|
|
}
|
|
|
return item;
|
|
|
}).filter(function (item) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
return true;
|
|
|
} else {
|
|
|
return item !== '删除';
|
|
|
}
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* tab控制栏右侧数据集合
|
|
|
*/
|
|
|
var dropdownMenu = [{
|
|
|
name: '新建图文作业',
|
|
|
id: '1'
|
|
|
}, {
|
|
|
name: '选用资源',
|
|
|
id: '2'
|
|
|
}
|
|
|
// { name: '选用他人创建作业', id: '3' },
|
|
|
];
|
|
|
|
|
|
/**
|
|
|
* 右侧导航控制栏 下拉菜单点击事件
|
|
|
* @param key 选中菜单的id
|
|
|
*/
|
|
|
var onDropdownMenuClick = function onDropdownMenuClick(key) {
|
|
|
var _classroomList$Assist;
|
|
|
if ((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist = classroomList.AssistantObject.hack) !== null && _classroomList$Assist !== void 0 && _classroomList$Assist.can_create)) {
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return;
|
|
|
}
|
|
|
// 新建图文作业
|
|
|
if (key === '1') {
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(params.coursesId, "/program_homework/").concat(params.categoryId, "/add"));
|
|
|
} else if (key === '2') {
|
|
|
// 选用资源
|
|
|
onSelectResources();
|
|
|
} else if (key === '3') {
|
|
|
setOtherStatus(true);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 选用资源点击事件
|
|
|
* @returns
|
|
|
*/
|
|
|
var onSelectResources = function onSelectResources() {
|
|
|
dispatch({
|
|
|
type: 'shixunHomeworks/setActionTabs',
|
|
|
payload: {
|
|
|
key: '题库选用',
|
|
|
params: params
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var getButtomControlButtonDataSource = function getButtomControlButtonDataSource() {
|
|
|
var menu = [{
|
|
|
key: 'publish',
|
|
|
name: '批量发布',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-fabu5"
|
|
|
})
|
|
|
}, {
|
|
|
key: 'deadline',
|
|
|
name: '批量截止',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-piliangjiezhi2"
|
|
|
})
|
|
|
}, {
|
|
|
key: 'delete',
|
|
|
name: '批量删除',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-piliangshanchu2"
|
|
|
})
|
|
|
}
|
|
|
// {
|
|
|
// key: 'public',
|
|
|
// name: '设为公开',
|
|
|
// icon: <i className="iconfont icon-sheweigongkai2" />,
|
|
|
// },
|
|
|
];
|
|
|
|
|
|
return menu.filter(function (item) {
|
|
|
if ((0,authority/* isAdmin */.GJ)() || (0,authority/* isAssistant */.Rm)()) {
|
|
|
return true;
|
|
|
} else {
|
|
|
return item.name !== '批量删除';
|
|
|
}
|
|
|
}).filter(function (item) {
|
|
|
if (detailTopBanner.is_public) {
|
|
|
return true;
|
|
|
} else {
|
|
|
return item.name !== '设为公开';
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var onBottomControlClick = function onBottomControlClick(data) {
|
|
|
var _classroomList$Assist2, _classroomList$Assist3, _classroomList$Assist4;
|
|
|
if (selectArrs.length === 0) {
|
|
|
message/* default */.ZP.error('请选择你要操作的任务');
|
|
|
return false;
|
|
|
}
|
|
|
var key = data.name;
|
|
|
var param = {
|
|
|
key: key,
|
|
|
selectArrs: selectArrs,
|
|
|
selectArrsAll: selectArrsAll,
|
|
|
type: ['publish', 'deadline'].includes(data.key) ? 1 : '',
|
|
|
params: params
|
|
|
};
|
|
|
switch (data.key) {
|
|
|
// case "publish":
|
|
|
// case "deadline":
|
|
|
// if(isAssistant() && !classroomList?.CourseAssistantPermissions?.hack?.can_publish){
|
|
|
// message.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
// return ;
|
|
|
// }
|
|
|
case 'publish':
|
|
|
key = '立即发布';
|
|
|
if ((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist2 = classroomList.AssistantObject) !== null && _classroomList$Assist2 !== void 0 && (_classroomList$Assist2 = _classroomList$Assist2.hack) !== null && _classroomList$Assist2 !== void 0 && _classroomList$Assist2.can_publish)) {
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return;
|
|
|
}
|
|
|
break;
|
|
|
case 'deadline':
|
|
|
key = '立即截止';
|
|
|
if ((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist3 = classroomList.AssistantObject) !== null && _classroomList$Assist3 !== void 0 && (_classroomList$Assist3 = _classroomList$Assist3.hack) !== null && _classroomList$Assist3 !== void 0 && _classroomList$Assist3.can_stop)) {
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return;
|
|
|
}
|
|
|
break;
|
|
|
case 'delete':
|
|
|
key = '删除';
|
|
|
if ((0,authority/* isAssistant */.Rm)() && !((_classroomList$Assist4 = classroomList.AssistantObject) !== null && _classroomList$Assist4 !== void 0 && (_classroomList$Assist4 = _classroomList$Assist4.hack) !== null && _classroomList$Assist4 !== void 0 && _classroomList$Assist4.can_delete)) {
|
|
|
message/* default */.ZP.warning('您未获取此权限,需向管理员申请权限才能使用此功能');
|
|
|
return;
|
|
|
}
|
|
|
break;
|
|
|
case 'collection':
|
|
|
key = '收藏';
|
|
|
break;
|
|
|
}
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, param), {}, {
|
|
|
key: key
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var onSortTaskList = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(ids) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return dispatch({
|
|
|
type: 'classroomList/updateTaskPosition',
|
|
|
payload: {
|
|
|
category_id: params.categoryId,
|
|
|
courseId: params['id'],
|
|
|
task_ids: ids,
|
|
|
container_type: 'program_homework'
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
getData();
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function onSortTaskList(_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var homeWorks = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
var rs = [];
|
|
|
if (taskList.length > 0) {
|
|
|
rs = taskList.map(function (item) {
|
|
|
return {
|
|
|
user_name: item.user_name,
|
|
|
task_name: item.task_name,
|
|
|
task_id: item.task_id,
|
|
|
category: item.category
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
return rs;
|
|
|
}, [taskList]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(CommonHomeworkContext.Provider, {
|
|
|
value: {
|
|
|
params: params,
|
|
|
batchStatus: batchStatus,
|
|
|
selectArrs: selectArrs,
|
|
|
setSelectArrs: setSelectArrs,
|
|
|
allSelect: allSelect,
|
|
|
dataSource: detailCommonHomeworksList.homeworks || [],
|
|
|
detailLeftMenus: detailLeftMenus,
|
|
|
main_category_id: detailCommonHomeworksList.main_category_id || '',
|
|
|
selectArrsAll: selectArrsAll,
|
|
|
setAllSelect: setAllSelect,
|
|
|
useBatchStatus: useBatchStatus,
|
|
|
dispatch: dispatch,
|
|
|
getData: getData,
|
|
|
setSelectArrsAll: setSelectArrsAll
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: ProgramHomeworkmodules.bg,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(components_TabMenu, {
|
|
|
isLoading: loading['classroomList/getClassroomTeacherCommonList'],
|
|
|
tabDataSource: getMenus(),
|
|
|
classroomList: classroomList,
|
|
|
isAdmin: (0,authority/* isAdmin */.GJ)(),
|
|
|
TooltipTitle: !params.categoryId ? '新建子目录' : '目录重命名',
|
|
|
categoryId: params.categoryId,
|
|
|
dropdownMenu: dropdownMenu,
|
|
|
isShowRightControl: (0,util/* getCategoryName */.Oo)(detailLeftMenus === null || detailLeftMenus === void 0 ? void 0 : detailLeftMenus.course_modules, params.categoryId) !== '未分配目录',
|
|
|
onTabMenuClick: function onTabMenuClick(item) {
|
|
|
if (item.id !== undefined) {
|
|
|
if ((0,authority/* isAdmin */.GJ)()) {
|
|
|
params.status = item.id;
|
|
|
} else {
|
|
|
params.status = item.id;
|
|
|
}
|
|
|
}
|
|
|
useBatchStatus(false);
|
|
|
params.page = 1;
|
|
|
_umi_production_exports.history.replace("".concat(location.pathname, "?tabs=").concat(item.id));
|
|
|
getData(params);
|
|
|
},
|
|
|
defaultSelectedKeys: [searchParams.get("tabs") ? searchParams.get("tabs") : '0'],
|
|
|
onTooltipTitleClick: function onTooltipTitleClick() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: !params.categoryId ? '添加目录' : '目录重命名',
|
|
|
params: params,
|
|
|
selectArrs: {
|
|
|
category_name: detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.category_name,
|
|
|
category_id: (detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.category_id) || (detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.main_category_id)
|
|
|
},
|
|
|
cb: function cb() {
|
|
|
getData();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
onDropdownMenuClick: onDropdownMenuClick
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(components_SearchSortController, {
|
|
|
dataSource: detailCommonHomeworksList.homeworks || [],
|
|
|
isAdmin: (0,authority/* isAdmin */.GJ)(),
|
|
|
batchStatus: batchStatus,
|
|
|
SortMenuName: SortMenuName,
|
|
|
setSortMenuName: setSortMenuName,
|
|
|
onSearch: function onSearch(value) {
|
|
|
params.search = value.trim();
|
|
|
params.page = 1;
|
|
|
getData();
|
|
|
},
|
|
|
onSort: function onSort(item) {
|
|
|
var _user$userInfo5;
|
|
|
params.sort_by = item.type;
|
|
|
params.sort_direction = item.direction;
|
|
|
params.page = 1;
|
|
|
util/* localSort */.cX.setItem("".concat(user === null || user === void 0 || (_user$userInfo5 = user.userInfo) === null || _user$userInfo5 === void 0 ? void 0 : _user$userInfo5.login).concat((0,authority/* isAdmin */.GJ)() ? 'Teacher' : 'Student'), item, 'CommonHomework');
|
|
|
getData(params);
|
|
|
},
|
|
|
onBatch: function onBatch(status) {
|
|
|
return useBatchStatus(status);
|
|
|
}
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
className: "minH500 skt-loading relative pb40 mb30",
|
|
|
children: !loading[(0,authority/* isAdmin */.GJ)() ? 'classroomList/getClassroomTeacherCommonList' : 'classroomList/getClassroomCommonList'] && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: "animated fadeIn",
|
|
|
children: [detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 || (_detailCommonHomework = detailCommonHomeworksList.homeworks) === null || _detailCommonHomework === void 0 ? void 0 : _detailCommonHomework.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(components_List, {
|
|
|
dataSource: item,
|
|
|
params: params,
|
|
|
classroomList: classroomList,
|
|
|
manageAllGroup: detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.manage_all_group
|
|
|
}, index);
|
|
|
}), !loading[(0,authority/* isAdmin */.GJ)() ? 'classroomList/getClassroomTeacherCommonList' : 'classroomList/getClassroomCommonList'] && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
className: "tc mb50 mt30",
|
|
|
children: (detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.query_total_count) > 10 && /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
|
|
|
hideOnSinglePage: true,
|
|
|
showSizeChanger: false,
|
|
|
onChange: onShowSizeChange,
|
|
|
defaultPageSize: 20,
|
|
|
defaultCurrent: 1,
|
|
|
current: params.page || 1,
|
|
|
total: (0,authority/* isAdmin */.GJ)() ? detailCommonHomeworksList.query_total_count : detailCommonHomeworksList.student_all_count
|
|
|
})
|
|
|
})]
|
|
|
}), selectArrs.length > 0 && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)(affix/* default */.Z, {
|
|
|
offsetBottom: 0,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_BottomControl, {
|
|
|
buttonDataSource: getButtomControlButtonDataSource(),
|
|
|
onClick: onBottomControlClick
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DelCompontent, {
|
|
|
onCallback: function onCallback() {
|
|
|
return useBatchStatus(false);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Publish/* default */.Z, {
|
|
|
onCallback: function onCallback() {
|
|
|
return useBatchStatus(false);
|
|
|
},
|
|
|
courseEndTime: detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.course_end_time
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(CutOffNow/* default */.Z, {
|
|
|
courseEndTime: detailCommonHomeworksList === null || detailCommonHomeworksList === void 0 ? void 0 : detailCommonHomeworksList.course_end_time,
|
|
|
courseId: paramsFromRouter.coursesId,
|
|
|
visible: classroomList.actionTabs.key === '立即截止',
|
|
|
isBatch: classroomList.actionTabs.type !== 2,
|
|
|
homeworkIds: classroomList.actionTabs.selectArrs,
|
|
|
successCallback: function successCallback() {
|
|
|
useBatchStatus(false);
|
|
|
getData();
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(components_SetPublic, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddHomeworkBank, {
|
|
|
onCallback: function onCallback() {
|
|
|
return useBatchStatus(false);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddCategory, {
|
|
|
onCallback: function onCallback() {
|
|
|
return useBatchStatus(false);
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(SelectPolls, {
|
|
|
refreshList: getData
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AfterAppendix, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(SortShixunPanel, {
|
|
|
visible: classroomList.actionTabs.key === '调整排序',
|
|
|
callback: onSortTaskList,
|
|
|
data: homeWorks,
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: ''
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}), otherStatus && /*#__PURE__*/(0,jsx_runtime.jsx)(components_OtherHomework, {
|
|
|
courseId: params.coursesId,
|
|
|
type: "1",
|
|
|
onCancel: function onCancel() {
|
|
|
return setOtherStatus(false);
|
|
|
}
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ProgramHomework = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList,
|
|
|
loading = _ref3.loading,
|
|
|
user = _ref3.user,
|
|
|
globalSetting = _ref3.globalSetting;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
globalSetting: globalSetting,
|
|
|
user: user,
|
|
|
loading: loading.effects
|
|
|
};
|
|
|
})(ShixunsListPage));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 84568:
|
|
|
/*!**************************************************!*\
|
|
|
!*** ./src/pages/MoopCases/FormPanel/service.ts ***!
|
|
|
\**************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ $J: function() { return /* binding */ getMoopCase; },
|
|
|
/* harmony export */ JZ: function() { return /* binding */ removeAttachment; },
|
|
|
/* harmony export */ bN: function() { return /* binding */ updateMoopCase; },
|
|
|
/* harmony export */ jP: function() { return /* binding */ addMoopCase; },
|
|
|
/* harmony export */ rO: function() { return /* binding */ getLibraryTags; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js */ 10574);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js */ 39343);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 91506);
|
|
|
|
|
|
|
|
|
|
|
|
function getMoopCase(id) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)("libraries/".concat(id, ".json"));
|
|
|
}
|
|
|
function getLibraryTags() {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)('library_tags.json');
|
|
|
}
|
|
|
function removeAttachment(_x) {
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function _removeAttachment() {
|
|
|
_removeAttachment = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(id) {
|
|
|
var response;
|
|
|
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_2_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .del */ .IV)("attachments/".concat(id, ".json"));
|
|
|
case 2:
|
|
|
response = _context.sent;
|
|
|
return _context.abrupt("return", response.status === 0);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function addMoopCase(params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .post */ .v_)("libraries.json", params);
|
|
|
}
|
|
|
function updateMoopCase(id, params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .put */ .gz)("libraries/".concat(id, ".json"), params);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 27666:
|
|
|
/*!****************************************************************************!*\
|
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/_util/throttleByAnimationFrame.js ***!
|
|
|
\****************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ 40877);
|
|
|
/* harmony import */ var rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rc-util/es/raf */ 90571);
|
|
|
|
|
|
|
|
|
function throttleByAnimationFrame(fn) {
|
|
|
let requestId;
|
|
|
const later = args => () => {
|
|
|
requestId = null;
|
|
|
fn.apply(void 0, (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(args));
|
|
|
};
|
|
|
const throttled = function () {
|
|
|
if (requestId == null) {
|
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
|
args[_key] = arguments[_key];
|
|
|
}
|
|
|
requestId = (0,rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)(later(args));
|
|
|
}
|
|
|
};
|
|
|
throttled.cancel = () => {
|
|
|
rc_util_es_raf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z.cancel(requestId);
|
|
|
requestId = null;
|
|
|
};
|
|
|
return throttled;
|
|
|
}
|
|
|
/* harmony default export */ __webpack_exports__.Z = (throttleByAnimationFrame);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 81228:
|
|
|
/*!*********************************************************************!*\
|
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/affix/index.js + 2 modules ***!
|
|
|
\*********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ affix; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/classCallCheck.js
|
|
|
var classCallCheck = __webpack_require__(67873);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/createClass.js
|
|
|
var createClass = __webpack_require__(22695);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/inherits.js
|
|
|
var inherits = __webpack_require__(66217);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.5@@babel/runtime/helpers/esm/createSuper.js + 1 modules
|
|
|
var createSuper = __webpack_require__(43819);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js
|
|
|
var _classnames_2_3_2_classnames = __webpack_require__(12124);
|
|
|
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-resize-observer@1.4.0@rc-resize-observer/es/index.js + 4 modules
|
|
|
var es = __webpack_require__(28647);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/omit.js
|
|
|
var omit = __webpack_require__(99468);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/throttleByAnimationFrame.js
|
|
|
var throttleByAnimationFrame = __webpack_require__(27666);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
|
var context = __webpack_require__(36355);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
|
|
|
var genComponentStyleHook = __webpack_require__(83116);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
|
|
|
var statistic = __webpack_require__(37613);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/style/index.js
|
|
|
|
|
|
// ============================== Shared ==============================
|
|
|
const genSharedAffixStyle = token => {
|
|
|
const {
|
|
|
componentCls
|
|
|
} = token;
|
|
|
return {
|
|
|
[componentCls]: {
|
|
|
position: 'fixed',
|
|
|
zIndex: token.zIndexPopup
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
// ============================== Export ==============================
|
|
|
/* harmony default export */ var style = ((0,genComponentStyleHook/* default */.Z)('Affix', token => {
|
|
|
const affixToken = (0,statistic/* merge */.TS)(token, {
|
|
|
zIndexPopup: token.zIndexBase + 10
|
|
|
});
|
|
|
return [genSharedAffixStyle(affixToken)];
|
|
|
}));
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/utils.js
|
|
|
function getTargetRect(target) {
|
|
|
return target !== window ? target.getBoundingClientRect() : {
|
|
|
top: 0,
|
|
|
bottom: window.innerHeight
|
|
|
};
|
|
|
}
|
|
|
function getFixedTop(placeholderRect, targetRect, offsetTop) {
|
|
|
if (offsetTop !== undefined && targetRect.top > placeholderRect.top - offsetTop) {
|
|
|
return offsetTop + targetRect.top;
|
|
|
}
|
|
|
return undefined;
|
|
|
}
|
|
|
function getFixedBottom(placeholderRect, targetRect, offsetBottom) {
|
|
|
if (offsetBottom !== undefined && targetRect.bottom < placeholderRect.bottom + offsetBottom) {
|
|
|
const targetBottomOffset = window.innerHeight - targetRect.bottom;
|
|
|
return offsetBottom + targetBottomOffset;
|
|
|
}
|
|
|
return undefined;
|
|
|
}
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/affix/index.js
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];
|
|
|
function getDefaultTarget() {
|
|
|
return typeof window !== 'undefined' ? window : null;
|
|
|
}
|
|
|
var AffixStatus;
|
|
|
(function (AffixStatus) {
|
|
|
AffixStatus[AffixStatus["None"] = 0] = "None";
|
|
|
AffixStatus[AffixStatus["Prepare"] = 1] = "Prepare";
|
|
|
})(AffixStatus || (AffixStatus = {}));
|
|
|
let InternalAffix = /*#__PURE__*/function (_React$Component) {
|
|
|
(0,inherits/* default */.Z)(InternalAffix, _React$Component);
|
|
|
var _super = (0,createSuper/* default */.Z)(InternalAffix);
|
|
|
function InternalAffix() {
|
|
|
var _this;
|
|
|
(0,classCallCheck/* default */.Z)(this, InternalAffix);
|
|
|
_this = _super.apply(this, arguments);
|
|
|
_this.state = {
|
|
|
status: AffixStatus.None,
|
|
|
lastAffix: false,
|
|
|
prevTarget: null
|
|
|
};
|
|
|
_this.placeholderNodeRef = /*#__PURE__*/(0,_react_17_0_2_react.createRef)();
|
|
|
_this.fixedNodeRef = /*#__PURE__*/(0,_react_17_0_2_react.createRef)();
|
|
|
_this.addListeners = () => {
|
|
|
const targetFunc = _this.getTargetFunc();
|
|
|
const target = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();
|
|
|
const {
|
|
|
prevTarget
|
|
|
} = _this.state;
|
|
|
if (prevTarget !== target) {
|
|
|
TRIGGER_EVENTS.forEach(eventName => {
|
|
|
prevTarget === null || prevTarget === void 0 ? void 0 : prevTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
|
|
target === null || target === void 0 ? void 0 : target.addEventListener(eventName, _this.lazyUpdatePosition);
|
|
|
});
|
|
|
_this.updatePosition();
|
|
|
_this.setState({
|
|
|
prevTarget: target
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
_this.removeListeners = () => {
|
|
|
if (_this.timer) {
|
|
|
clearTimeout(_this.timer);
|
|
|
_this.timer = null;
|
|
|
}
|
|
|
const {
|
|
|
prevTarget
|
|
|
} = _this.state;
|
|
|
const targetFunc = _this.getTargetFunc();
|
|
|
const newTarget = targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc();
|
|
|
TRIGGER_EVENTS.forEach(eventName => {
|
|
|
newTarget === null || newTarget === void 0 ? void 0 : newTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
|
|
prevTarget === null || prevTarget === void 0 ? void 0 : prevTarget.removeEventListener(eventName, _this.lazyUpdatePosition);
|
|
|
});
|
|
|
_this.updatePosition.cancel();
|
|
|
// https://github.com/ant-design/ant-design/issues/22683
|
|
|
_this.lazyUpdatePosition.cancel();
|
|
|
};
|
|
|
_this.getOffsetTop = () => {
|
|
|
const {
|
|
|
offsetBottom,
|
|
|
offsetTop
|
|
|
} = _this.props;
|
|
|
return offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;
|
|
|
};
|
|
|
_this.getOffsetBottom = () => _this.props.offsetBottom;
|
|
|
// =================== Measure ===================
|
|
|
_this.measure = () => {
|
|
|
const {
|
|
|
status,
|
|
|
lastAffix
|
|
|
} = _this.state;
|
|
|
const {
|
|
|
onChange
|
|
|
} = _this.props;
|
|
|
const targetFunc = _this.getTargetFunc();
|
|
|
if (status !== AffixStatus.Prepare || !_this.fixedNodeRef.current || !_this.placeholderNodeRef.current || !targetFunc) {
|
|
|
return;
|
|
|
}
|
|
|
const offsetTop = _this.getOffsetTop();
|
|
|
const offsetBottom = _this.getOffsetBottom();
|
|
|
const targetNode = targetFunc();
|
|
|
if (targetNode) {
|
|
|
const newState = {
|
|
|
status: AffixStatus.None
|
|
|
};
|
|
|
const placeholderRect = getTargetRect(_this.placeholderNodeRef.current);
|
|
|
if (placeholderRect.top === 0 && placeholderRect.left === 0 && placeholderRect.width === 0 && placeholderRect.height === 0) {
|
|
|
return;
|
|
|
}
|
|
|
const targetRect = getTargetRect(targetNode);
|
|
|
const fixedTop = getFixedTop(placeholderRect, targetRect, offsetTop);
|
|
|
const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);
|
|
|
if (fixedTop !== undefined) {
|
|
|
newState.affixStyle = {
|
|
|
position: 'fixed',
|
|
|
top: fixedTop,
|
|
|
width: placeholderRect.width,
|
|
|
height: placeholderRect.height
|
|
|
};
|
|
|
newState.placeholderStyle = {
|
|
|
width: placeholderRect.width,
|
|
|
height: placeholderRect.height
|
|
|
};
|
|
|
} else if (fixedBottom !== undefined) {
|
|
|
newState.affixStyle = {
|
|
|
position: 'fixed',
|
|
|
bottom: fixedBottom,
|
|
|
width: placeholderRect.width,
|
|
|
height: placeholderRect.height
|
|
|
};
|
|
|
newState.placeholderStyle = {
|
|
|
width: placeholderRect.width,
|
|
|
height: placeholderRect.height
|
|
|
};
|
|
|
}
|
|
|
newState.lastAffix = !!newState.affixStyle;
|
|
|
if (onChange && lastAffix !== newState.lastAffix) {
|
|
|
onChange(newState.lastAffix);
|
|
|
}
|
|
|
_this.setState(newState);
|
|
|
}
|
|
|
};
|
|
|
_this.prepareMeasure = () => {
|
|
|
// event param is used before. Keep compatible ts define here.
|
|
|
_this.setState({
|
|
|
status: AffixStatus.Prepare,
|
|
|
affixStyle: undefined,
|
|
|
placeholderStyle: undefined
|
|
|
});
|
|
|
// Test if `updatePosition` called
|
|
|
if (false) {}
|
|
|
};
|
|
|
_this.updatePosition = (0,throttleByAnimationFrame/* default */.Z)(() => {
|
|
|
_this.prepareMeasure();
|
|
|
});
|
|
|
_this.lazyUpdatePosition = (0,throttleByAnimationFrame/* default */.Z)(() => {
|
|
|
const targetFunc = _this.getTargetFunc();
|
|
|
const {
|
|
|
affixStyle
|
|
|
} = _this.state;
|
|
|
// Check position change before measure to make Safari smooth
|
|
|
if (targetFunc && affixStyle) {
|
|
|
const offsetTop = _this.getOffsetTop();
|
|
|
const offsetBottom = _this.getOffsetBottom();
|
|
|
const targetNode = targetFunc();
|
|
|
if (targetNode && _this.placeholderNodeRef.current) {
|
|
|
const targetRect = getTargetRect(targetNode);
|
|
|
const placeholderRect = getTargetRect(_this.placeholderNodeRef.current);
|
|
|
const fixedTop = getFixedTop(placeholderRect, targetRect, offsetTop);
|
|
|
const fixedBottom = getFixedBottom(placeholderRect, targetRect, offsetBottom);
|
|
|
if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// Directly call prepare measure since it's already throttled.
|
|
|
_this.prepareMeasure();
|
|
|
});
|
|
|
return _this;
|
|
|
}
|
|
|
(0,createClass/* default */.Z)(InternalAffix, [{
|
|
|
key: "getTargetFunc",
|
|
|
value: function getTargetFunc() {
|
|
|
const {
|
|
|
getTargetContainer
|
|
|
} = this.context;
|
|
|
const {
|
|
|
target
|
|
|
} = this.props;
|
|
|
if (target !== undefined) {
|
|
|
return target;
|
|
|
}
|
|
|
return getTargetContainer !== null && getTargetContainer !== void 0 ? getTargetContainer : getDefaultTarget;
|
|
|
}
|
|
|
// Event handler
|
|
|
}, {
|
|
|
key: "componentDidMount",
|
|
|
value: function componentDidMount() {
|
|
|
// [Legacy] Wait for parent component ref has its value.
|
|
|
// We should use target as directly element instead of function which makes element check hard.
|
|
|
this.timer = setTimeout(this.addListeners);
|
|
|
}
|
|
|
}, {
|
|
|
key: "componentDidUpdate",
|
|
|
value: function componentDidUpdate(prevProps) {
|
|
|
this.addListeners();
|
|
|
if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {
|
|
|
this.updatePosition();
|
|
|
}
|
|
|
this.measure();
|
|
|
}
|
|
|
}, {
|
|
|
key: "componentWillUnmount",
|
|
|
value: function componentWillUnmount() {
|
|
|
this.removeListeners();
|
|
|
}
|
|
|
// =================== Render ===================
|
|
|
}, {
|
|
|
key: "render",
|
|
|
value: function render() {
|
|
|
const {
|
|
|
affixStyle,
|
|
|
placeholderStyle
|
|
|
} = this.state;
|
|
|
const {
|
|
|
affixPrefixCls,
|
|
|
rootClassName,
|
|
|
children
|
|
|
} = this.props;
|
|
|
const className = _classnames_2_3_2_classnames_default()(affixStyle && rootClassName, {
|
|
|
[affixPrefixCls]: !!affixStyle
|
|
|
});
|
|
|
let props = (0,omit/* default */.Z)(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'affixPrefixCls', 'rootClassName']);
|
|
|
// Omit this since `onTestUpdatePosition` only works on test.
|
|
|
if (false) {}
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(es/* default */.Z, {
|
|
|
onResize: this.updatePosition
|
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement("div", Object.assign({}, props, {
|
|
|
ref: this.placeholderNodeRef
|
|
|
}), affixStyle && /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
|
style: placeholderStyle,
|
|
|
"aria-hidden": "true"
|
|
|
}), /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
|
className: className,
|
|
|
ref: this.fixedNodeRef,
|
|
|
style: affixStyle
|
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement(es/* default */.Z, {
|
|
|
onResize: this.updatePosition
|
|
|
}, children))));
|
|
|
}
|
|
|
}]);
|
|
|
return InternalAffix;
|
|
|
}(_react_17_0_2_react.Component);
|
|
|
InternalAffix.contextType = context/* ConfigContext */.E_;
|
|
|
const Affix = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)((props, ref) => {
|
|
|
const {
|
|
|
prefixCls: customizePrefixCls,
|
|
|
rootClassName
|
|
|
} = props;
|
|
|
const {
|
|
|
getPrefixCls
|
|
|
} = (0,_react_17_0_2_react.useContext)(context/* ConfigContext */.E_);
|
|
|
const affixPrefixCls = getPrefixCls('affix', customizePrefixCls);
|
|
|
const [wrapSSR, hashId] = style(affixPrefixCls);
|
|
|
const AffixProps = Object.assign(Object.assign({}, props), {
|
|
|
affixPrefixCls,
|
|
|
rootClassName: _classnames_2_3_2_classnames_default()(rootClassName, hashId)
|
|
|
});
|
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(InternalAffix, Object.assign({}, AffixProps, {
|
|
|
ref: ref
|
|
|
})));
|
|
|
});
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var affix = (Affix);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 51581:
|
|
|
/*!****************************************************************************************************!*\
|
|
|
!*** ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/dist/InfiniteScroll.js ***!
|
|
|
\****************************************************************************************************/
|
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
|
value: true
|
|
|
}));
|
|
|
|
|
|
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
|
|
|
|
var _react = __webpack_require__(/*! react */ 59301);
|
|
|
|
|
|
var _react2 = _interopRequireDefault(_react);
|
|
|
|
|
|
var _propTypes = __webpack_require__(/*! prop-types */ 12708);
|
|
|
|
|
|
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
|
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
|
|
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
|
|
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
|
|
|
|
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
|
|
|
|
|
var InfiniteScroll = function (_Component) {
|
|
|
_inherits(InfiniteScroll, _Component);
|
|
|
|
|
|
function InfiniteScroll(props) {
|
|
|
_classCallCheck(this, InfiniteScroll);
|
|
|
|
|
|
var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));
|
|
|
|
|
|
_this.scrollListener = _this.scrollListener.bind(_this);
|
|
|
_this.eventListenerOptions = _this.eventListenerOptions.bind(_this);
|
|
|
_this.mousewheelListener = _this.mousewheelListener.bind(_this);
|
|
|
return _this;
|
|
|
}
|
|
|
|
|
|
_createClass(InfiniteScroll, [{
|
|
|
key: 'componentDidMount',
|
|
|
value: function componentDidMount() {
|
|
|
this.pageLoaded = this.props.pageStart;
|
|
|
this.options = this.eventListenerOptions();
|
|
|
this.attachScrollListener();
|
|
|
}
|
|
|
}, {
|
|
|
key: 'componentDidUpdate',
|
|
|
value: function componentDidUpdate() {
|
|
|
if (this.props.isReverse && this.loadMore) {
|
|
|
var parentElement = this.getParentElement(this.scrollComponent);
|
|
|
parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;
|
|
|
this.loadMore = false;
|
|
|
}
|
|
|
this.attachScrollListener();
|
|
|
}
|
|
|
}, {
|
|
|
key: 'componentWillUnmount',
|
|
|
value: function componentWillUnmount() {
|
|
|
this.detachScrollListener();
|
|
|
this.detachMousewheelListener();
|
|
|
}
|
|
|
}, {
|
|
|
key: 'isPassiveSupported',
|
|
|
value: function isPassiveSupported() {
|
|
|
var passive = false;
|
|
|
|
|
|
var testOptions = {
|
|
|
get passive() {
|
|
|
passive = true;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
try {
|
|
|
document.addEventListener('test', null, testOptions);
|
|
|
document.removeEventListener('test', null, testOptions);
|
|
|
} catch (e) {
|
|
|
// ignore
|
|
|
}
|
|
|
return passive;
|
|
|
}
|
|
|
}, {
|
|
|
key: 'eventListenerOptions',
|
|
|
value: function eventListenerOptions() {
|
|
|
var options = this.props.useCapture;
|
|
|
|
|
|
if (this.isPassiveSupported()) {
|
|
|
options = {
|
|
|
useCapture: this.props.useCapture,
|
|
|
passive: true
|
|
|
};
|
|
|
}
|
|
|
return options;
|
|
|
}
|
|
|
|
|
|
// Set a defaut loader for all your `InfiniteScroll` components
|
|
|
|
|
|
}, {
|
|
|
key: 'setDefaultLoader',
|
|
|
value: function setDefaultLoader(loader) {
|
|
|
this.defaultLoader = loader;
|
|
|
}
|
|
|
}, {
|
|
|
key: 'detachMousewheelListener',
|
|
|
value: function detachMousewheelListener() {
|
|
|
var scrollEl = window;
|
|
|
if (this.props.useWindow === false) {
|
|
|
scrollEl = this.scrollComponent.parentNode;
|
|
|
}
|
|
|
|
|
|
scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
|
|
|
}
|
|
|
}, {
|
|
|
key: 'detachScrollListener',
|
|
|
value: function detachScrollListener() {
|
|
|
var scrollEl = window;
|
|
|
if (this.props.useWindow === false) {
|
|
|
scrollEl = this.getParentElement(this.scrollComponent);
|
|
|
}
|
|
|
|
|
|
scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
|
|
|
scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
|
|
|
}
|
|
|
}, {
|
|
|
key: 'getParentElement',
|
|
|
value: function getParentElement(el) {
|
|
|
var scrollParent = this.props.getScrollParent && this.props.getScrollParent();
|
|
|
if (scrollParent != null) {
|
|
|
return scrollParent;
|
|
|
}
|
|
|
return el && el.parentNode;
|
|
|
}
|
|
|
}, {
|
|
|
key: 'filterProps',
|
|
|
value: function filterProps(props) {
|
|
|
return props;
|
|
|
}
|
|
|
}, {
|
|
|
key: 'attachScrollListener',
|
|
|
value: function attachScrollListener() {
|
|
|
var parentElement = this.getParentElement(this.scrollComponent);
|
|
|
|
|
|
if (!this.props.hasMore || !parentElement) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
var scrollEl = window;
|
|
|
if (this.props.useWindow === false) {
|
|
|
scrollEl = parentElement;
|
|
|
}
|
|
|
|
|
|
scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
|
|
|
scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
|
|
|
scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
|
|
|
|
|
|
if (this.props.initialLoad) {
|
|
|
this.scrollListener();
|
|
|
}
|
|
|
}
|
|
|
}, {
|
|
|
key: 'mousewheelListener',
|
|
|
value: function mousewheelListener(e) {
|
|
|
// Prevents Chrome hangups
|
|
|
// See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
|
|
|
if (e.deltaY === 1 && !this.isPassiveSupported()) {
|
|
|
e.preventDefault();
|
|
|
}
|
|
|
}
|
|
|
}, {
|
|
|
key: 'scrollListener',
|
|
|
value: function scrollListener() {
|
|
|
var el = this.scrollComponent;
|
|
|
var scrollEl = window;
|
|
|
var parentNode = this.getParentElement(el);
|
|
|
|
|
|
var offset = void 0;
|
|
|
if (this.props.useWindow) {
|
|
|
var doc = document.documentElement || document.body.parentNode || document.body;
|
|
|
var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;
|
|
|
if (this.props.isReverse) {
|
|
|
offset = scrollTop;
|
|
|
} else {
|
|
|
offset = this.calculateOffset(el, scrollTop);
|
|
|
}
|
|
|
} else if (this.props.isReverse) {
|
|
|
offset = parentNode.scrollTop;
|
|
|
} else {
|
|
|
offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;
|
|
|
}
|
|
|
|
|
|
// Here we make sure the element is visible as well as checking the offset
|
|
|
if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {
|
|
|
this.detachScrollListener();
|
|
|
this.beforeScrollHeight = parentNode.scrollHeight;
|
|
|
this.beforeScrollTop = parentNode.scrollTop;
|
|
|
// Call loadMore after detachScrollListener to allow for non-async loadMore functions
|
|
|
if (typeof this.props.loadMore === 'function') {
|
|
|
this.props.loadMore(this.pageLoaded += 1);
|
|
|
this.loadMore = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}, {
|
|
|
key: 'calculateOffset',
|
|
|
value: function calculateOffset(el, scrollTop) {
|
|
|
if (!el) {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);
|
|
|
}
|
|
|
}, {
|
|
|
key: 'calculateTopPosition',
|
|
|
value: function calculateTopPosition(el) {
|
|
|
if (!el) {
|
|
|
return 0;
|
|
|
}
|
|
|
return el.offsetTop + this.calculateTopPosition(el.offsetParent);
|
|
|
}
|
|
|
}, {
|
|
|
key: 'render',
|
|
|
value: function render() {
|
|
|
var _this2 = this;
|
|
|
|
|
|
var renderProps = this.filterProps(this.props);
|
|
|
|
|
|
var children = renderProps.children,
|
|
|
element = renderProps.element,
|
|
|
hasMore = renderProps.hasMore,
|
|
|
initialLoad = renderProps.initialLoad,
|
|
|
isReverse = renderProps.isReverse,
|
|
|
loader = renderProps.loader,
|
|
|
loadMore = renderProps.loadMore,
|
|
|
pageStart = renderProps.pageStart,
|
|
|
ref = renderProps.ref,
|
|
|
threshold = renderProps.threshold,
|
|
|
useCapture = renderProps.useCapture,
|
|
|
useWindow = renderProps.useWindow,
|
|
|
getScrollParent = renderProps.getScrollParent,
|
|
|
props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);
|
|
|
|
|
|
props.ref = function (node) {
|
|
|
_this2.scrollComponent = node;
|
|
|
if (ref) {
|
|
|
ref(node);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var childrenArray = [children];
|
|
|
if (hasMore) {
|
|
|
if (loader) {
|
|
|
isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);
|
|
|
} else if (this.defaultLoader) {
|
|
|
isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);
|
|
|
}
|
|
|
}
|
|
|
return _react2.default.createElement(element, props, childrenArray);
|
|
|
}
|
|
|
}]);
|
|
|
|
|
|
return InfiniteScroll;
|
|
|
}(_react.Component);
|
|
|
|
|
|
InfiniteScroll.propTypes = {
|
|
|
children: _propTypes2.default.node.isRequired,
|
|
|
element: _propTypes2.default.node,
|
|
|
hasMore: _propTypes2.default.bool,
|
|
|
initialLoad: _propTypes2.default.bool,
|
|
|
isReverse: _propTypes2.default.bool,
|
|
|
loader: _propTypes2.default.node,
|
|
|
loadMore: _propTypes2.default.func.isRequired,
|
|
|
pageStart: _propTypes2.default.number,
|
|
|
ref: _propTypes2.default.func,
|
|
|
getScrollParent: _propTypes2.default.func,
|
|
|
threshold: _propTypes2.default.number,
|
|
|
useCapture: _propTypes2.default.bool,
|
|
|
useWindow: _propTypes2.default.bool
|
|
|
};
|
|
|
InfiniteScroll.defaultProps = {
|
|
|
element: 'div',
|
|
|
hasMore: false,
|
|
|
initialLoad: true,
|
|
|
pageStart: 0,
|
|
|
ref: null,
|
|
|
threshold: 250,
|
|
|
useWindow: true,
|
|
|
isReverse: false,
|
|
|
useCapture: false,
|
|
|
loader: null,
|
|
|
getScrollParent: null
|
|
|
};
|
|
|
exports["default"] = InfiniteScroll;
|
|
|
module.exports = exports['default'];
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 26724:
|
|
|
/*!**************************************************************************************!*\
|
|
|
!*** ./node_modules/_react-infinite-scroller@1.2.4@react-infinite-scroller/index.js ***!
|
|
|
\**************************************************************************************/
|
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
|
|
module.exports = __webpack_require__(/*! ./dist/InfiniteScroll */ 51581)
|
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |