You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Graduations__Lists__Stud...

1684 lines
82 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[4492],{
/***/ 88077:
/*!******************************************************!*\
!*** ./src/components/CodeBox/index.tsx + 1 modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_CodeBox; }
});
// UNUSED EXPORTS: CodeDeleteModal
// EXTERNAL MODULE: ./node_modules/_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);
;// CONCATENATED MODULE: ./src/components/CodeBox/index.tsx
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
class CodeBox extends _react_17_0_2_react.Component {
constructor(props) {
super(props);
// 生成一个随机数
this.randomNum = (min, max) => {
return Math.floor(Math.random() * (max - min) + min);
};
this.drawPic = () => {
this.randomCode();
};
this.reloadPic = () => {
this.drawPic();
};
// 输入验证码
this.changeCode = (e) => {
console.log(e.target.value, 222);
this.setState({
value: e.target.value,
showError: false
});
};
this.onVerify = () => {
let 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 = _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
// 默认不显示验证码的错误信息
};
}
componentDidMount() {
this.drawPic();
}
// 生成一个随机的颜色
randomColor(min, max) {
const r = this.randomNum(min, max);
const g = this.randomNum(min, max);
const b = this.randomNum(min, max);
return `rgb(${r}, ${g}, ${b})`;
}
drawText(ctx, txt, i) {
ctx.fillStyle = this.randomColor(this.state.colorMin, this.state.colorMax);
const fontSize = this.randomNum(this.state.fontSizeMin, this.state.fontSizeMax);
ctx.font = fontSize + "px SimHei";
const padding = 10;
const offset = (this.state.contentWidth - 40) / (this.state.code.length - 1);
let x = padding;
if (i > 0) {
x = padding + i * offset;
}
let y = this.randomNum(this.state.fontSizeMax, this.state.contentHeight - 5);
if (fontSize > 40) {
y = 40;
}
const 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);
}
drawLine(ctx) {
for (let 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();
}
}
drawDot(ctx) {
for (let 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();
}
}
// 随机生成验证码
randomCode() {
let random = "";
const str = "QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm1234567890";
for (let i = 0; i < this.state.codeLength; i++) {
const index = Math.floor(Math.random() * 57);
random += str[index];
}
this.setState({
code: random
}, () => {
const canvas = this.canvas.current;
const ctx = canvas.getContext("2d");
ctx.textBaseline = "bottom";
ctx.fillStyle = this.randomColor(this.state.backgroundColorMin, this.state.backgroundColorMax);
ctx.fillRect(0, 0, this.state.contentWidth, this.state.contentHeight);
for (let i = 0; i < this.state.code.length; i++) {
this.drawText(ctx, this.state.code[i], i);
}
this.drawLine(ctx);
this.drawDot(ctx);
});
}
render() {
const { className, width = 300 } = this.props;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_3_2_classnames_default()(CodeBoxmodules.codeBox, className), style: { width } }, /* @__PURE__ */ _react_17_0_2_react.createElement("aside", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
value: this.state.value,
onChange: this.changeCode,
placeholder: "\u8BF7\u8F93\u5165\u56FE\u7247\u4E2D\u7684\u9A8C\u8BC1\u7801"
}
), this.state.showError && /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, !!this.state.value ? "\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u9A8C\u8BC1\u7801" : "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
"canvas",
{
onClick: this.reloadPic,
ref: this.canvas,
width: "100",
height: "30"
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "current", onClick: this.reloadPic }, "\u770B\u4E0D\u6E05\uFF1F\u6362\u4E00\u5F20")));
}
}
const CodeDeleteModal = (cb, text) => {
let box;
Modal.confirm({
centered: true,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
title: "\u63D0\u793A",
content: /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("p", null, text), /* @__PURE__ */ React.createElement(CodeBox, { ref: (el) => box = el })),
onOk: () => __async(void 0, null, function* () {
if (box.onVerify()) {
return Promise.reject();
}
cb();
})
});
};
/* harmony default export */ var components_CodeBox = (CodeBox);
/***/ }),
/***/ 34024:
/*!****************************************************************************!*\
!*** ./src/pages/Graduations/Lists/StudentSelection/index.tsx + 8 modules ***!
\****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ StudentSelection; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
var _umi_production_exports = __webpack_require__(87210);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(59981);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Teacher/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Teachermodules = ({"flex_box_center":"flex_box_center___Oy3Ur","flex_space_between":"flex_space_between___tSEQI","flex_box_vertical_center":"flex_box_vertical_center___ub8YO","flex_box_center_end":"flex_box_center_end___MdOG3","flex_box_column":"flex_box_column___yn_xj","wrap":"wrap___j5lSK","teacherList":"teacherList___eiRwI","list":"list___xa00z","top":"top___Cgsez","tag":"tag___J4aum","name":"name___tDF5G","num":"num___pHt23","check":"check___kslxc","center":"center___FWR7i","img":"img___xWZT8","col":"col___Wszet","bottom":"bottom___ErSvm"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(72315);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(41867);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(94477);
// EXTERNAL MODULE: ./src/pages/Graduations/components/HeadTitle/index.tsx + 1 modules
var HeadTitle = __webpack_require__(72231);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(87101);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(3163);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(64741);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(97282);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/DetailsModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var DetailsModalmodules = ({"flex_box_center":"flex_box_center___VCd4U","flex_space_between":"flex_space_between___PXXJc","flex_box_vertical_center":"flex_box_vertical_center___FvcHp","flex_box_center_end":"flex_box_center_end___faOk_","flex_box_column":"flex_box_column___hYdgW","wrap":"wrap___Lk1KU","des":"des___NrGnB","row":"row____lS7x","list":"list___PEHaz","actionBtns":"actionBtns___eC3BF","state":"state___PF2x0","tag":"tag___WyoKH","tag0":"tag0___HB3U8","tag1":"tag1___YmXRD","tag2":"tag2___l3QtF","tag3":"tag3___dBINp","name":"name___IBwDK"});
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__(12586);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(55830);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/DetailsModal/index.tsx
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const TopicModal = ({
visible,
data = {},
onSucceed = () => {
},
onClose = () => {
}
}) => {
var _a;
const query = (0,_umi_production_exports.useParams)();
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(true);
const [tabs, setTabs] = (0,_react_17_0_2_react.useState)(1);
const [total, setTotal] = (0,_react_17_0_2_react.useState)(0);
const [list, setList] = (0,_react_17_0_2_react.useState)([]);
const [params, setParams] = (0,_react_17_0_2_react.useState)({
page: 1,
per_page: 20
});
(0,_react_17_0_2_react.useEffect)(() => {
if (visible) {
if ((0,authority/* isGPAdminOrTeacher */.tu)()) {
getList(params);
setTabs(data.tabs);
} else {
setLoading(false);
}
}
}, [visible]);
console.log(data, "data");
const getList = (record) => __async(void 0, null, function* () {
setLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${query.id}/student_tasks/review_list.json`, {
method: "get",
params: __spreadProps(__spreadValues({}, record), { task_id: data.id })
});
if (res.status === 0) {
setList((res == null ? void 0 : res.data) || []);
setTotal(res == null ? void 0 : res.count);
}
setLoading(false);
});
const handleApply = (item, type) => __async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(
`/api/graduations/${query.id}/${type === "\u901A\u8FC7" ? "student_tasks" : "student_tasks/not_pass"}.json`,
{
method: "post",
body: {
id: item.id
}
}
);
if (res.status === 0) {
message/* default */.ZP.success("\u64CD\u4F5C\u6210\u529F");
getList(params);
onSucceed();
}
});
const tabsMenu = [
{ id: 1, name: "\u8BFE\u9898\u8BE6\u60C5" },
{ id: 2, name: "\u7533\u8BF7\u8BB0\u5F55" }
];
const columns = [
{
title: "\u5B66\u751F\u59D3\u540D",
dataIndex: "name",
ellipsis: true,
width: 110,
render: (text, v) => {
var _a2;
return /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, (_a2 = v == null ? void 0 : v.student) == null ? void 0 : _a2.name);
}
},
{
title: "\u5B66\u53F7",
dataIndex: "student_id",
ellipsis: true,
width: 140,
render: (text, v) => {
var _a2;
return /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, ((_a2 = v == null ? void 0 : v.student) == null ? void 0 : _a2.student_id) || "--");
}
},
{
title: "\u4E13\u4E1A",
dataIndex: "major",
ellipsis: true,
render: (text, v) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-333" }, text)
},
{
title: "\u9009\u9898\u5BA1\u6838\u72B6\u6001",
dataIndex: "state",
width: 120,
ellipsis: true,
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, text === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag0 }, "\u5F85\u5BA1\u6838"), text === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag1 }, "\u5DF2\u901A\u8FC7"), text === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { color: "#E30000" }, className: DetailsModalmodules.tag2 }, "\u5DF2\u9A73\u56DE"), text === 3 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag3 }, "\u5DF2\u64A4\u56DE"))
},
{
title: "\u7533\u8BF7\u65F6\u95F4",
width: 190,
dataIndex: "time",
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { color: "#232B40" } }, text)
},
{
title: /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u64CD\u4F5C"),
dataIndex: "action",
key: "action",
align: "right",
width: 120,
render: (text, v) => /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: DetailsModalmodules.actionBtns }, v.state === 0 ? /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => handleApply(v, "\u901A\u8FC7") }, "\u901A\u8FC7"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { onClick: () => handleApply(v, "\u9A73\u56DE"), className: "ml10" }, "\u9A73\u56DE")) : /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, "\u901A\u8FC7"), /* @__PURE__ */ _react_17_0_2_react.createElement("b", { className: "ml10" }, "\u9A73\u56DE")))
}
];
const handleChangePage = (param, per_page, sorter) => {
params.page = param == null ? void 0 : param.current;
params.per_page = param == null ? void 0 : param.pageSize;
setParams(__spreadValues({}, params));
getList(params);
};
return /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
destroyOnClose: true,
onCancel: onClose,
open: visible,
footer: null,
title: (0,authority/* isGPAdminOrTeacher */.tu)() ? /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* SuperiorTabs */.tp,
{
dataSource: tabsMenu,
value: tabs,
onChange: (v) => setTabs(v)
}
) : "\u8BFE\u9898\u8BE6\u60C5",
width: 1e3,
afterClose: () => {
setParams({
page: 1,
per_page: 20
});
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.wrap }, tabs === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.des }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row, style: { alignItems: "center" } }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u540D\u79F0"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { style: { maxWidth: (0,authority/* isGPAdminOrTeacher */.tu)() ? "100%" : "769px" }, title: data.name }, data.name || "--"), (0,authority/* isGPStudent */.h)() && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.state }, data.state === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag0 }, "\u5F85\u5BA1\u6838"), data.state === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag1 }, "\u5DF2\u901A\u8FC7"), data.state === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag2 }, "\u5DF2\u9A73\u56DE"), data.state === 3 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.tag3 }, "\u5DF2\u64A4\u56DE"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6307\u5BFC\u8001\u5E08"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: data.teacher_names }, data.teacher_names || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u9002\u5408\u4E13\u4E1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: data.major }, data.major || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u6765\u6E90"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: data.source }, data.source || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u5B66\u79D1\u65B9\u5411"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: data.direction }, data.direction || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.row }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u4ECB\u7ECD"), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, data.description ? /* @__PURE__ */ _react_17_0_2_react.createElement(RenderHtml/* default */.Z, { value: data.description }) : "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: DetailsModalmodules.list }, (_a = data == null ? void 0 : data.attachments) == null ? void 0 : _a.map((e, i) => /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => {
var _a2;
(0,util/* downLoadLink */.Nd)("", `${env/* default */.Z.API_SERVER}${(_a2 = e == null ? void 0 : e.url) == null ? void 0 : _a2.replace("disposition=inline", "")}`);
} }, e.title)))), tabs === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
dataSource: list,
bordered: false,
rowKey: (v) => v.id,
columns,
loading,
scroll: { y: 500 },
size: "large",
onChange: handleChangePage,
pagination: {
pageSize: params.per_page,
total,
current: params.page,
showQuickJumper: true,
showSizeChanger: true,
hideOnSinglePage: !total,
size: "default",
pageSizeOptions: ["10", "20", "50", "100", "200"],
showTotal: util/* showTotal */.rU
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { height: "20px" } }))
);
};
/* harmony default export */ var DetailsModal = (TopicModal);
// EXTERNAL MODULE: ./src/pages/Graduations/components/SettingModal/index.tsx + 1 modules
var SettingModal = __webpack_require__(2611);
// EXTERNAL MODULE: ./src/components/CodeBox/index.tsx + 1 modules
var CodeBox = __webpack_require__(88077);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Teacher/index.tsx
var Teacher_defProp = Object.defineProperty;
var Teacher_defProps = Object.defineProperties;
var Teacher_getOwnPropDescs = Object.getOwnPropertyDescriptors;
var Teacher_getOwnPropSymbols = Object.getOwnPropertySymbols;
var Teacher_hasOwnProp = Object.prototype.hasOwnProperty;
var Teacher_propIsEnum = Object.prototype.propertyIsEnumerable;
var Teacher_defNormalProp = (obj, key, value) => key in obj ? Teacher_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var Teacher_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (Teacher_hasOwnProp.call(b, prop))
Teacher_defNormalProp(a, prop, b[prop]);
if (Teacher_getOwnPropSymbols)
for (var prop of Teacher_getOwnPropSymbols(b)) {
if (Teacher_propIsEnum.call(b, prop))
Teacher_defNormalProp(a, prop, b[prop]);
}
return a;
};
var Teacher_spreadProps = (a, b) => Teacher_defProps(a, Teacher_getOwnPropDescs(b));
var Teacher_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const Page = ({
graduations,
dispatch
}) => {
var _a;
const urlParams = (0,_umi_production_exports.useParams)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const [tabs, setTabs] = (0,_react_17_0_2_react.useState)(1);
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(false);
const [total, setTotal] = (0,_react_17_0_2_react.useState)(0);
const [totalCount, setTotalCount] = (0,_react_17_0_2_react.useState)(0);
const [list, setList] = (0,_react_17_0_2_react.useState)([]);
const [modalList, setModalList] = (0,_react_17_0_2_react.useState)([]);
const [listData, setListData] = (0,_react_17_0_2_react.useState)({});
const [listStudentData, setListStudentData] = (0,_react_17_0_2_react.useState)({});
const [modalLoading, setModalLoading] = (0,_react_17_0_2_react.useState)(true);
const [visible, setVisible] = (0,_react_17_0_2_react.useState)(false);
const { menus } = graduations;
const box = (0,_react_17_0_2_react.useRef)(null);
const getUrlState = (searchParams == null ? void 0 : searchParams.get("state")) ? Number(searchParams == null ? void 0 : searchParams.get("state")) : "";
const tabParams = menus.find((e) => e.clazz === "student_selection") || {};
const tabIndex = menus.find((e) => e.clazz === "student_selection") || 1;
const [params, setParams] = (0,_react_17_0_2_react.useState)({
keyword: "",
status: getUrlState,
page: 1,
per_page: 20
});
(0,_react_17_0_2_react.useEffect)(() => {
getList(params);
}, [tabs]);
const tags = [
{ id: "", name: "\u5168\u90E8" },
{ id: 1, name: "\u8FBE\u6210\u53CC\u9009" },
{ id: 0, name: "\u672A\u8FBE\u6210\u53CC\u9009" }
];
const getList = (record) => Teacher_async(void 0, null, function* () {
setLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${urlParams == null ? void 0 : urlParams.id}/${tabs === 1 ? "graduation_tasks" : "student_tasks/student_list"}.json`, {
method: "get",
params: record
});
if (res.status === 0) {
setList((res == null ? void 0 : res.data) || []);
setTotal(res == null ? void 0 : res.count);
setTotalCount((res == null ? void 0 : res.total_count) || 0);
}
setLoading(false);
});
const handleChangeStatus = (status) => {
params.status = status;
params.page = 1;
setParams(params);
getList(params);
};
const handleSearch = (v) => {
params.keyword = v;
params.page = 1;
setParams(params);
getList(params);
};
const handlePagination = (page, pageSize) => {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
const columns = [
{
title: "\u5B66\u751F\u59D3\u540D",
dataIndex: "name",
ellipsis: true,
width: 100,
render: (text, v) => /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "topLeft", title: text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, text || "--"))
},
{
title: "\u5B66\u53F7",
ellipsis: true,
width: 100,
dataIndex: "student_id",
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "topLeft", title: text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, text || "--"))
},
{
title: "\u4E13\u4E1A",
dataIndex: "major",
ellipsis: true,
width: 110,
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "topLeft", title: text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "c-grey-666" }, text || "--"))
},
{
title: "\u8BFE\u9898\u540D\u79F0",
ellipsis: true,
dataIndex: "graduation_tasks",
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "topLeft", title: text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, text || "--"))
},
{
title: "\u6307\u5BFC\u8001\u5E08",
dataIndex: "teacher",
ellipsis: true,
width: 110,
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "topLeft", title: text }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, text || "--"))
},
{
title: "\u53CC\u9009\u72B6\u6001",
dataIndex: "status",
width: 90,
render: (text) => /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, text === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { color: "#E30000" } }, "\u672A\u8FBE\u6210\u53CC\u9009"), text === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u8FBE\u6210\u53CC\u9009"))
},
{
title: "\u64CD\u4F5C",
dataIndex: "action",
align: "right",
width: 90,
render: (text, v) => /* @__PURE__ */ _react_17_0_2_react.createElement(
"span",
{
onClick: () => Teacher_async(void 0, null, function* () {
setModalLoading(true);
setVisible(2);
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${urlParams == null ? void 0 : urlParams.id}/graduation_tasks.json`, {
method: "get",
params: {
per_page: 1e3,
status: 0,
page: 1
}
});
if (res.status === 0) {
if (v.status === 0) {
setModalList(res == null ? void 0 : res.data);
} else {
setModalList([{ id: v.task_id, name: v.graduation_tasks }, ...res == null ? void 0 : res.data]);
}
}
setModalLoading(false);
setListStudentData(Teacher_spreadProps(Teacher_spreadValues({}, v), { save_task_id: v.task_id }));
}),
className: "current font14 c-light-primary"
},
v.status === 0 ? "\u5206\u914D\u8BFE\u9898" : "\u53D8\u66F4\u8BFE\u9898"
)
}
];
const handleDeselect = (t, item) => Teacher_async(void 0, null, function* () {
t.stopPropagation();
modal["default"].confirm({
centered: true,
title: "\u63D0\u793A",
icon: null,
content: "\u786E\u8BA4\u53D6\u6D88\u53CC\u9009\uFF1F\u53D6\u6D88\u53CC\u9009\u540E\u5B66\u751F\u9700\u8981\u91CD\u65B0\u8FDB\u884C\u9009\u9898\uFF0C\u4E14\u5B66\u751F\u5728\u539F\u8BFE\u9898\u63D0\u4EA4\u7684\u6587\u6863\u5C06\u88AB\u6E05\u7A7A\u4E14\u65E0\u6CD5\u6062\u590D\u3002",
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => Teacher_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(
`/api/graduations/${urlParams.id}/student_tasks/${item.ger_id}.json`,
{
method: "delete"
}
);
if (res.status === 0) {
message/* default */.ZP.success("\u64CD\u4F5C\u6210\u529F");
getList(params);
}
})
});
});
const renderList = () => {
if (tabs === 2) {
return /* @__PURE__ */ _react_17_0_2_react.createElement(
table["default"],
{
columns,
dataSource: list,
pagination: false,
className: "mb30",
style: { minHeight: 500 }
}
);
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.teacherList }, list.map((e) => {
var _a2, _b, _c, _d, _e, _f, _g;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => {
setListData(Teacher_spreadProps(Teacher_spreadValues({}, e), { tabs: 1 }));
setVisible(1);
}, className: Teachermodules.list, key: e.id }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.top }, e.status === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.tag }, "\u672A\u8FBE\u6210\u53CC\u9009"), e.status === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.tag, style: { borderColor: "#D6F7EF", color: "#01795D" } }, "\u8FBE\u6210\u53CC\u9009"), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: e.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.name }, e.name)), e.status === 0 && !!(e == null ? void 0 : e.wait_review_count) && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.num }, (e == null ? void 0 : e.wait_review_count) > 99 ? "99+" : e == null ? void 0 : e.wait_review_count), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.check, onClick: (t) => {
t.stopPropagation();
setListData(Teacher_spreadProps(Teacher_spreadValues({}, e), { tabs: 2 }));
setVisible(1);
} }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-HISTORY font14 mr5" }), "\u67E5\u770B\u9009\u9898\u7533\u8BF7")), e.status === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.center }, /* @__PURE__ */ _react_17_0_2_react.createElement("img", { className: Teachermodules.img, src: env/* default */.Z.IMG_SERVER + "/images/" + ((_a2 = e == null ? void 0 : e.passed_student) == null ? void 0 : _a2.image_url) }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.col }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "c-black", title: (_b = e == null ? void 0 : e.passed_student) == null ? void 0 : _b.name }, (0,util/* cutName */.Pq)((_c = e == null ? void 0 : e.passed_student) == null ? void 0 : _c.name, 6)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "c-black" }, ((_d = e == null ? void 0 : e.passed_student) == null ? void 0 : _d.student_id) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.col }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u4E13\u4E1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { maxWidth: 112 }, title: (_e = e == null ? void 0 : e.passed_student) == null ? void 0 : _e.major, className: "c-grey-666 multi-llipsis1e" }, ((_f = e == null ? void 0 : e.passed_student) == null ? void 0 : _f.major) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.col }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u7533\u8BF7\u65F6\u95F4"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "c-black" }, ((_g = e == null ? void 0 : e.passed_student) == null ? void 0 : _g.passed_time) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.col }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u9009\u9898\u5BA1\u6838\u72B6\u6001"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "c-grey-333" }, e == null ? void 0 : e.state_name)), /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { onClick: (t) => handleDeselect(t, e), style: { marginLeft: "auto" } }, "\u53D6\u6D88\u53CC\u9009")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.bottom }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mr30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u6307\u5BFC\u8001\u5E08"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { maxWidth: 70 }, title: e == null ? void 0 : e.teacher_names }, (e == null ? void 0 : e.teacher_names) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mr30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u8BFE\u9898\u6765\u6E90"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { maxWidth: 100 }, title: e == null ? void 0 : e.source }, (e == null ? void 0 : e.source) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u5B66\u79D1\u65B9\u5411"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { style: { maxWidth: 180 }, title: e == null ? void 0 : e.direction }, (e == null ? void 0 : e.direction) || "--"))));
}));
};
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
HeadTitle/* default */.Z,
{
style: { marginBottom: 12 },
title: "\u5B66\u751F\u9009\u9898",
status: tabParams == null ? void 0 : tabParams.status,
startAt: tabParams == null ? void 0 : tabParams.start_at,
endAt: tabParams == null ? void 0 : tabParams.end_at
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomTabs */.YG,
{
value: tabs,
tabBarExtraContent: (0,util/* timeContrast */.QB)(tabParams == null ? void 0 : tabParams.next_start_at) && /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { onClick: () => {
setVisible(3);
} }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-anquanshezhi font14 mr5" }), "\u5B66\u751F\u9009\u9898\u8BBE\u7F6E"),
dataSource: [{ id: 1, name: `\u9009\u9898\u5217\u8868` }, { id: 2, name: `\u5B66\u751F\u5217\u8868` }],
onChange: (category) => {
if (category === tabs)
return;
params.page = 1;
params.keyword = "";
params.status = "";
setList([]);
setTotal(0);
setTabs(category);
}
}
), !!totalCount && /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { align: "middle", justify: "space-between", style: { margin: "6px 0 14px 0" } }, /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomTags */.qp,
{
title: "\u53CC\u9009\u72B6\u6001",
className: "mt20",
value: params.status,
onChange: handleChangeStatus,
dataSource: tags,
titleWidth: 56
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomInput */.t7,
{
style: { width: 329 },
placeholder: tabs === 1 ? "\u8BF7\u8F93\u5165\u8BFE\u9898\u540D\u79F0/\u6307\u5BFC\u8001\u5E08\u8FDB\u884C\u641C\u7D22" : "\u8BF7\u8F93\u5165\u8BFE\u9898\u540D\u79F0/\u5B66\u751F\u59D3\u540D/\u5B66\u53F7\u8FDB\u884C\u641C\u7D22",
value: params.keyword,
onChange: handleSearch
}
)), /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading }, !!list.length ? renderList() : /* @__PURE__ */ _react_17_0_2_react.createElement(
NoData/* default */.Z,
{
customText: !totalCount && (tabs === 1 ? /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6682\u65E0\u9009\u9898\uFF0C\u8BF7\u5148\u5B8C\u6210", /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { to: `/graduations/${urlParams.id}/topics` }, "\u8BFE\u9898\u5F55\u5165")) : /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6682\u65E0\u5B66\u751F\uFF0C\u70B9\u51FB\u53BB", /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { to: `/graduations/${urlParams.id}/students` }, "\u9080\u8BF7\u5B66\u751F"), "\u52A0\u5165\u6BD5\u8BBE"))
}
)), /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
current: params.page,
showQuickJumper: true,
showSizeChanger: true,
hideOnSinglePage: !total,
pageSize: params.per_page,
className: "mb30",
pageSizeOptions: ["10", "20", "50", "100", "200"],
total,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
DetailsModal,
{
data: listData,
visible: visible === 1,
onClose: () => {
setVisible(false);
},
onSucceed: () => {
getList(params);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
destroyOnClose: true,
onCancel: () => setVisible(false),
open: visible === 2,
title: listStudentData.status === 0 ? "\u5206\u914D\u8BFE\u9898" : "\u53D8\u66F4\u8BFE\u9898",
width: 520,
afterClose: () => {
setListStudentData({});
},
onOk: () => {
const fuc = () => Teacher_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${urlParams.id}/student_tasks/give_task.json`, {
method: "post",
body: {
task_id: listStudentData.task_id,
student_id: listStudentData.id
}
});
if (res.status === 0) {
message/* default */.ZP.success("\u64CD\u4F5C\u6210\u529F");
getList(params);
setVisible(false);
}
});
if (listStudentData.task_id !== listStudentData.save_task_id && listStudentData.status === 1) {
modal["default"].confirm({
centered: true,
okText: "\u786E\u5B9A",
icon: null,
cancelText: "\u53D6\u6D88",
title: "\u53D8\u66F4\u8BFE\u9898",
content: /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("p", null, "\u8BE5\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002\u786E\u8BA4\u4E3A\u8BE5\u5B66\u751F\u53D8\u66F4\u8BFE\u9898\uFF1F\u53D8\u66F4\u540E\u5B66\u751F\u5728\u539F\u8BFE\u9898\u63D0\u4EA4\u7684\u6587\u6863\u5C06\u6E05\u7A7A\u4E14\u65E0\u6CD5\u6062\u590D\u3002"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801\u540E\u786E\u8BA4\u53D8\u66F4"), /* @__PURE__ */ _react_17_0_2_react.createElement(CodeBox/* default */.Z, { ref: (el) => box.current = el })),
onOk: fuc
});
return;
}
fuc();
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Teachermodules.modal }, /* @__PURE__ */ _react_17_0_2_react.createElement(skeleton/* default */.Z, { loading: modalLoading }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mb10" }, "\u8BFE\u9898"), /* @__PURE__ */ _react_17_0_2_react.createElement(
es_select["default"],
{
showSearch: true,
size: "large",
placeholder: "\u8BF7\u9009\u62E9\u8BFE\u9898",
optionFilterProp: "children",
value: listStudentData.task_id,
onChange: (task_id) => {
setListStudentData(Teacher_spreadProps(Teacher_spreadValues({}, listStudentData), { task_id }));
},
style: { width: "100%" }
},
modalList.map((item) => /* @__PURE__ */ _react_17_0_2_react.createElement(es_select["default"].Option, { value: item.id, key: item.id }, item.name))
)))
), /* @__PURE__ */ _react_17_0_2_react.createElement(
SettingModal/* default */.Z,
{
visible: visible === 3,
data: Teacher_spreadProps(Teacher_spreadValues({}, tabParams), { disabled_time: (_a = menus == null ? void 0 : menus[tabIndex - 1]) == null ? void 0 : _a.end_at }),
onClose: () => setVisible(false),
onSuccess: () => {
setVisible(false);
}
}
));
};
/* harmony default export */ var Teacher = ((0,_umi_production_exports.connect)(({
graduations
}) => ({
graduations
}))(Page));
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Student/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Studentmodules = ({"flex_box_center":"flex_box_center___NXcIP","flex_space_between":"flex_space_between___Pebyg","flex_box_vertical_center":"flex_box_vertical_center___BQGzf","flex_box_center_end":"flex_box_center_end___zN8c6","flex_box_column":"flex_box_column___slo4Z","wrap":"wrap___Cl57w","tip":"tip___sGVnl","listWrap":"listWrap___OYoyC","list":"list___rT4Q_","left":"left___b7Ykx","state":"state___ZiQzs","tag":"tag___swdOn","tag0":"tag0___M6FYN","tag1":"tag1___Sg8yD","tag2":"tag2___iT8lP","tag3":"tag3___jqhO2","name":"name___BNDAZ","info":"info___pKNSG","time":"time___jyND5","right":"right___XT6Gh","btn":"btn___vKu7W"});
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/TopicModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TopicModalmodules = ({"flex_box_center":"flex_box_center___F8QoL","flex_space_between":"flex_space_between___ixN8I","flex_box_vertical_center":"flex_box_vertical_center___lwi7z","flex_box_center_end":"flex_box_center_end___MtVph","flex_box_column":"flex_box_column___fn2Wu","wrap":"wrap___CkyzG","listWrap":"listWrap___d0chX","list":"list___S7Zml","top":"top___FxvYM","box":"box___kpIeL","name":"name___MGi0J","des":"des___VqXEd","check":"check___tTb0k","bottom":"bottom____2Rzh"});
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/TopicModal/index.tsx
var TopicModal_defProp = Object.defineProperty;
var TopicModal_getOwnPropSymbols = Object.getOwnPropertySymbols;
var TopicModal_hasOwnProp = Object.prototype.hasOwnProperty;
var TopicModal_propIsEnum = Object.prototype.propertyIsEnumerable;
var TopicModal_defNormalProp = (obj, key, value) => key in obj ? TopicModal_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var TopicModal_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (TopicModal_hasOwnProp.call(b, prop))
TopicModal_defNormalProp(a, prop, b[prop]);
if (TopicModal_getOwnPropSymbols)
for (var prop of TopicModal_getOwnPropSymbols(b)) {
if (TopicModal_propIsEnum.call(b, prop))
TopicModal_defNormalProp(a, prop, b[prop]);
}
return a;
};
var TopicModal_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const TopicModal_TopicModal = ({
visible,
onSucceed = () => {
},
onClose = () => {
},
onListClick
}) => {
const query = (0,_umi_production_exports.useParams)();
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(true);
const [total, setTotal] = (0,_react_17_0_2_react.useState)(0);
const [list, setList] = (0,_react_17_0_2_react.useState)([]);
const initParams = {
keyword: "",
page: 1,
per_page: 20,
status: 0
};
const [params, setParams] = (0,_react_17_0_2_react.useState)(TopicModal_spreadValues({}, initParams));
(0,_react_17_0_2_react.useEffect)(() => {
if (visible) {
getList(params);
}
}, [visible]);
const getList = (record) => TopicModal_async(void 0, null, function* () {
setLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${query.id}/graduation_tasks.json`, {
method: "get",
params: record
});
if (res.status === 0) {
setList((res == null ? void 0 : res.data) || []);
setTotal(res == null ? void 0 : res.count);
}
setLoading(false);
});
const handleSearch = (v) => {
params.keyword = v;
params.page = 1;
setParams(params);
getList(params);
};
const handlePagination = (page, pageSize) => {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
const handleApply = (t, id) => TopicModal_async(void 0, null, function* () {
t.stopPropagation();
modal["default"].confirm({
centered: true,
title: "\u63D0\u793A",
icon: null,
content: "\u786E\u8BA4\u52A0\u5165\u8BE5\u8BFE\u9898\uFF1F",
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => TopicModal_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(
`/api/graduations/${query.id}/student_tasks/${id}.json`,
{
method: "put"
}
);
if (res.status === 0) {
message/* default */.ZP.success("\u7533\u8BF7\u6210\u529F");
onSucceed();
}
})
});
});
return /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
destroyOnClose: true,
onCancel: onClose,
open: visible,
footer: null,
title: "\u5B66\u751F\u9009\u9898",
width: 1e3,
afterClose: () => {
setParams(TopicModal_spreadValues({}, initParams));
}
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomInput */.t7,
{
style: { width: 329 },
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u9898\u540D\u79F0/\u6307\u5BFC\u8001\u5E08\u8FDB\u884C\u641C\u7D22",
value: params.keyword,
onChange: handleSearch,
className: "mb20"
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.listWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading }, !!list.length ? list.map((e) => /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => {
onListClick(e);
}, className: TopicModalmodules.list, key: e.id }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.top }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.box }, /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: e.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.name }, e.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.des }, /* @__PURE__ */ _react_17_0_2_react.createElement(
RenderHtml/* default */.Z,
{
showTextOnly: true,
showLines: 2,
value: e.description || ""
}
))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.check }, /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { onClick: (t) => handleApply(t, e.id) }, "\u7533\u8BF7\u8BE5\u8BFE\u9898"))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: TopicModalmodules.bottom }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mr30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u6307\u5BFC\u8001\u5E08"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { title: e == null ? void 0 : e.teacher_names, style: { maxWidth: 70 } }, (e == null ? void 0 : e.teacher_names) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mr30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u8BFE\u9898\u6765\u6E90"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { title: e == null ? void 0 : e.source, style: { maxWidth: 100 } }, (e == null ? void 0 : e.source) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mr30" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u5B66\u79D1\u65B9\u5411"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { title: e == null ? void 0 : e.direction, style: { maxWidth: 180 } }, (e == null ? void 0 : e.direction) || "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, "\u9002\u7528\u4E13\u4E1A"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { title: e == null ? void 0 : e.major, style: { maxWidth: 140 } }, (e == null ? void 0 : e.major) || "--"))))) : /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, { loading }))), /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
current: params.page,
hideOnSinglePage: !total,
showQuickJumper: true,
className: "mb20",
showSizeChanger: true,
pageSize: params.per_page,
pageSizeOptions: ["10", "20", "50", "100", "200"],
total,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
}
))
);
};
/* harmony default export */ var StudentSelection_TopicModal = (TopicModal_TopicModal);
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/Student/index.tsx
var Student_defProp = Object.defineProperty;
var Student_getOwnPropSymbols = Object.getOwnPropertySymbols;
var Student_hasOwnProp = Object.prototype.hasOwnProperty;
var Student_propIsEnum = Object.prototype.propertyIsEnumerable;
var Student_defNormalProp = (obj, key, value) => key in obj ? Student_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var Student_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (Student_hasOwnProp.call(b, prop))
Student_defNormalProp(a, prop, b[prop]);
if (Student_getOwnPropSymbols)
for (var prop of Student_getOwnPropSymbols(b)) {
if (Student_propIsEnum.call(b, prop))
Student_defNormalProp(a, prop, b[prop]);
}
return a;
};
var Student_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const Student_Page = ({
graduations,
dispatch
}) => {
const urlParams = (0,_umi_production_exports.useParams)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const [loading, setLoading] = (0,_react_17_0_2_react.useState)(false);
const [total, setTotal] = (0,_react_17_0_2_react.useState)(0);
const [totalCount, setTotalCount] = (0,_react_17_0_2_react.useState)(0);
const [list, setList] = (0,_react_17_0_2_react.useState)([]);
const [listData, setListData] = (0,_react_17_0_2_react.useState)({});
const [listVisible, setListVisible] = (0,_react_17_0_2_react.useState)(false);
const [visible, setVisible] = (0,_react_17_0_2_react.useState)(false);
const getUrlState = (searchParams == null ? void 0 : searchParams.get("state")) ? Number(searchParams == null ? void 0 : searchParams.get("state")) : "";
const [params, setParams] = (0,_react_17_0_2_react.useState)({
keyword: "",
state: getUrlState,
page: 1,
per_page: 20
});
const { menus } = graduations;
const tabParams = menus.find((e) => e.clazz === "student_selection") || {};
(0,_react_17_0_2_react.useEffect)(() => {
getList(params);
}, []);
const tags = [
{ id: "", name: "\u5168\u90E8" },
{ id: 0, name: "\u5F85\u5BA1\u6838" },
{ id: 1, name: "\u5DF2\u901A\u8FC7" },
{ id: 2, name: "\u5DF2\u9A73\u56DE" },
{ id: 3, name: "\u5DF2\u64A4\u56DE" }
];
const getList = (record) => Student_async(void 0, null, function* () {
setLoading(true);
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${urlParams == null ? void 0 : urlParams.id}/student_tasks/checked_list.json`, {
method: "get",
params: record
});
if (res.status === 0) {
setList((res == null ? void 0 : res.data) || []);
setTotal(res == null ? void 0 : res.count);
setTotalCount(res == null ? void 0 : res.total_count);
}
setLoading(false);
});
const handleChangeStatus = (state) => {
params.state = state;
params.page = 1;
setParams(params);
getList(params);
};
const handlePagination = (page, pageSize) => {
params.page = page;
params.per_page = pageSize;
setParams(params);
getList(params);
};
const handleClick = (t, item) => Student_async(void 0, null, function* () {
t.stopPropagation();
modal["default"].confirm({
centered: true,
title: "\u63D0\u793A",
icon: null,
content: item.state === 0 ? "\u786E\u8BA4\u64A4\u56DE\u8BE5\u8BFE\u9898\u7533\u8BF7\uFF1F" : "\u786E\u8BA4\u53D6\u6D88\u53CC\u9009\uFF1F\u53D6\u6D88\u540E\u9700\u8981\u91CD\u65B0\u8FDB\u884C\u9009\u9898",
okText: "\u786E\u8BA4",
cancelText: "\u53D6\u6D88",
onOk: () => Student_async(void 0, null, function* () {
const res = yield (0,fetch/* default */.ZP)(
`/api/graduations/${urlParams.id}/student_tasks/${item.id}.json`,
{
method: "delete"
}
);
if (res.status === 0) {
message/* default */.ZP.success("\u64CD\u4F5C\u6210\u529F");
getList(params);
}
})
});
});
const renderList = () => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.listWrap }, list.map((e) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: () => {
setListVisible(true);
setListData(Student_spreadValues({}, e));
}, className: Studentmodules.list, key: e.id }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.left }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.state }, e.state === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.tag0 }, "\u5F85\u5BA1\u6838"), e.state === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.tag1 }, "\u5DF2\u901A\u8FC7"), e.state === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.tag2 }, "\u5DF2\u9A73\u56DE"), e.state === 3 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.tag3 }, "\u5DF2\u64A4\u56DE"), /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: e.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.name }, e.name))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.info }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u6307\u5BFC\u8001\u5E08", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: e.teacher_names }, (0,util/* cutName */.Pq)(e.teacher_names, 9))), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u8BFE\u9898\u6765\u6E90", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: e.source }, (0,util/* cutName */.Pq)(e.source, 9))), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5B66\u79D1\u65B9\u5411", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: e.direction }, (0,util/* cutName */.Pq)(e.direction, 9)))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.time }, "\u7533\u8BF7\u65F6\u95F4\xA0\xA0", e.time)), [0, 1].includes(tabParams == null ? void 0 : tabParams.status) && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.right }, e.state === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: (t) => handleClick(t, e), className: Studentmodules.btn }, "\u64A4\u56DE\u7533\u8BF7"), e.state === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { onClick: (t) => handleClick(t, e), className: Studentmodules.btn }, "\u53D6\u6D88\u53CC\u9009")));
}));
};
const isNotEmpty = !!list.length;
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.wrap }, (tabParams == null ? void 0 : tabParams.status) === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Studentmodules.tip }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { style: { paddingTop: 2 }, className: "iconfont icon-weixiada font12 mr5" }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u9009\u9898\u9636\u6BB5\u5DF2\u7ED3\u675F\uFF0C\u82E5\u8981\u53D8\u66F4\u8BFE\u9898\u9700\u8054\u7CFB\u7BA1\u7406\u5458\u624B\u52A8\u8FDB\u884C\u53D8\u66F4")), /* @__PURE__ */ _react_17_0_2_react.createElement(
HeadTitle/* default */.Z,
{
style: { marginBottom: 12 },
title: "\u5B66\u751F\u9009\u9898",
status: tabParams == null ? void 0 : tabParams.status,
startAt: tabParams == null ? void 0 : tabParams.start_at,
endAt: tabParams == null ? void 0 : tabParams.end_at
}
), !!totalCount && /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { align: "middle", justify: "space-between" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
ui_customization/* CustomTags */.qp,
{
title: "\u5BA1\u6838\u72B6\u6001",
className: "mt20",
value: params.state,
onChange: handleChangeStatus,
dataSource: tags,
titleWidth: 56
}
), (tabParams == null ? void 0 : tabParams.status) !== 2 && /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { onClick: () => setVisible(true) }, "\u70B9\u51FB\u9009\u9898")), /* @__PURE__ */ _react_17_0_2_react.createElement(spin/* default */.Z, { spinning: loading }, isNotEmpty ? renderList() : /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, { loading, ButtonTwo: (tabParams == null ? void 0 : tabParams.status) !== 2 && !totalCount && /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { onClick: () => setVisible(true) }, "\u70B9\u51FB\u9009\u9898") })), /* @__PURE__ */ _react_17_0_2_react.createElement(
pagination/* default */.Z,
{
current: params.page,
hideOnSinglePage: !total,
showSizeChanger: true,
showQuickJumper: true,
className: "mb20",
pageSizeOptions: ["10", "20", "50", "100", "200"],
total,
pageSize: params.per_page,
showTotal: util/* showTotal */.rU,
onChange: handlePagination
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
StudentSelection_TopicModal,
{
onClose: () => setVisible(false),
visible,
onListClick: (e) => {
setListData(Student_spreadValues({}, e));
setListVisible(true);
},
onSucceed: () => {
getList(params);
setVisible(false);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(
DetailsModal,
{
data: listData,
visible: listVisible,
onClose: () => setListVisible(false),
onSucceed: () => {
}
}
));
};
/* harmony default export */ var Student = ((0,_umi_production_exports.connect)(({
graduations
}) => ({
graduations
}))(Student_Page));
;// CONCATENATED MODULE: ./src/pages/Graduations/Lists/StudentSelection/index.tsx
const StudentSelection_Page = ({
graduations,
dispatch,
loading
}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(skeleton/* default */.Z, { style: { margin: "20px 0 0 45px" }, loading: loading.effects["graduations/getGraduationsDetails"] }, (0,authority/* isGPAdminOrTeacher */.tu)() ? /* @__PURE__ */ _react_17_0_2_react.createElement(Teacher, null) : /* @__PURE__ */ _react_17_0_2_react.createElement(Student, null));
};
/* harmony default export */ var StudentSelection = ((0,_umi_production_exports.connect)(({
loading,
graduations
}) => ({
loading,
graduations
}))(StudentSelection_Page));
/***/ }),
/***/ 72231:
/*!**************************************************************************!*\
!*** ./src/pages/Graduations/components/HeadTitle/index.tsx + 1 modules ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_HeadTitle; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/pages/Graduations/components/HeadTitle/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var HeadTitlemodules = ({"flex_box_center":"flex_box_center___oGGi8","flex_space_between":"flex_space_between___e1At5","flex_box_vertical_center":"flex_box_vertical_center___K1Nl5","flex_box_center_end":"flex_box_center_end___IP1rf","flex_box_column":"flex_box_column____nxPW","title":"title___Ynb7w","time":"time___dxFRB"});
// 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: ./src/pages/Graduations/components/Tags/index.tsx + 1 modules
var Tags = __webpack_require__(74250);
// 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/Graduations/components/HeadTitle/index.tsx
const HeadTitle = ({
className,
status,
style = {},
startAt,
endAt,
title
}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_3_2_classnames_default()(HeadTitlemodules.title, className), style }, /* @__PURE__ */ _react_17_0_2_react.createElement("b", null, title), /* @__PURE__ */ _react_17_0_2_react.createElement(Tags/* default */.Z, { className: "ml10", status }), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: HeadTitlemodules.time }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "\u5F00\u542F\u65F6\u95F4", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml10" }, startAt ? dayjs_min_default()(startAt).format("YYYY-MM-DD HH:mm") : "--")), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml30" }, "\u622A\u6B62\u65F6\u95F4", /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml10" }, endAt ? dayjs_min_default()(endAt).format("YYYY-MM-DD HH:mm") : "--"))));
};
/* harmony default export */ var components_HeadTitle = (HeadTitle);
/***/ }),
/***/ 2611:
/*!*****************************************************************************!*\
!*** ./src/pages/Graduations/components/SettingModal/index.tsx + 1 modules ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_SettingModal; }
});
// 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/message/index.js + 4 modules
var message = __webpack_require__(8591);
// 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/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// 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/date-picker/index.js + 66 modules
var date_picker = __webpack_require__(52409);
;// CONCATENATED MODULE: ./src/pages/Graduations/components/SettingModal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var SettingModalmodules = ({"flex_box_center":"flex_box_center___cQ5Sl","flex_space_between":"flex_space_between___BU1Wl","flex_box_vertical_center":"flex_box_vertical_center___jBfz4","flex_box_center_end":"flex_box_center_end___mFYce","flex_box_column":"flex_box_column___jBfuW","wrap":"wrap___npJKs","label":"label___mSlLf"});
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(64741);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
var _umi_production_exports = __webpack_require__(87210);
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(94477);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(87101);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(3163);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 14 modules
var markdown_editor = __webpack_require__(20103);
// 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);
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/ShixunHomeworks/Detail/components/ConfigWorks/Releasesetting.tsx
var Releasesetting = __webpack_require__(75117);
;// CONCATENATED MODULE: ./src/pages/Graduations/components/SettingModal/index.tsx
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const SettingModal = ({
visible,
data,
onClose = () => {
},
onSuccess = () => {
}
}) => {
const [fileList, setFileList] = (0,_react_17_0_2_react.useState)([]);
const [startAt, setStartAt] = (0,_react_17_0_2_react.useState)("");
const [endAt, setEndAt] = (0,_react_17_0_2_react.useState)("");
const [description, setDescription] = (0,_react_17_0_2_react.useState)("");
const [btnLoading, setBtnLoading] = (0,_react_17_0_2_react.useState)(false);
const query = (0,_umi_production_exports.useParams)();
(0,_react_17_0_2_react.useEffect)(() => {
var _a;
if (visible) {
setDescription((data == null ? void 0 : data.description) || "");
setStartAt((data == null ? void 0 : data.start_at) || "");
setEndAt((data == null ? void 0 : data.end_at) || "");
setFileList(((_a = data == null ? void 0 : data.attachments) == null ? void 0 : _a.map((e) => ({
name: e.name || e.title,
status: "done",
response: {
id: e.id
}
}))) || []);
}
}, [visible]);
const uploadProps = {
multiple: true,
withCredentials: true,
fileList,
beforeUpload: (file) => {
const fileSize = file.size / 1024 / 1024;
if (fileSize > 150) {
message/* default */.ZP.error(`\u300A${file.name}\u300B\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(150M)`);
return upload["default"].LIST_IGNORE;
}
return true;
},
action: `${env/* default */.Z.API_SERVER}/api/attachments.json`,
onChange(info) {
setFileList((0,util/* dealUploadChange */.uD)(info));
}
};
const handleOk = () => __async(void 0, null, function* () {
if (!startAt || !endAt) {
message/* default */.ZP.warning(`\u8BF7\u9009\u62E9${timeName}`);
return;
}
setBtnLoading(true);
console.log(fileList, "fileList");
const res = yield (0,fetch/* default */.ZP)(`/api/graduations/${query.id}/graduation_stages/${data.id}.json`, {
method: "put",
body: {
start_at: startAt,
end_at: endAt,
description,
attachment_ids: fileList.map((e) => {
var _a;
return (_a = e == null ? void 0 : e.response) == null ? void 0 : _a.id;
})
}
});
if ((res == null ? void 0 : res.status) === 0) {
message/* default */.ZP.success("\u4FDD\u5B58\u8BBE\u7F6E\u6210\u529F");
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "graduations/getGraduationsDetails",
payload: { id: query == null ? void 0 : query.id }
});
onSuccess();
return;
}
setBtnLoading(false);
});
console.log(data, "data");
const jsonItem = [
{
name: "\u5B66\u751F\u9009\u9898",
key: "student_selection",
timeName: "\u5B66\u751F\u9009\u9898\u8D77\u6B62\u65F6\u95F4",
width: 460,
text: "\u5728\u6B64\u65F6\u95F4\u5185\uFF0C\u5B66\u751F\u53EF\u81EA\u52A9\u64CD\u4F5C\u9009\u9898\u548C\u66F4\u6539\u9009\u9898"
},
{
name: "\u4EFB\u52A1\u4E66",
key: "tasks",
width: 460,
timeName: "\u4EFB\u52A1\u4E66\u8D77\u6B62\u65F6\u95F4",
text: ""
},
{
name: "\u5F00\u9898\u62A5\u544A",
key: "opening_report",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u5F00\u9898\u62A5\u544A\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
},
{
name: "\u4E2D\u671F\u68C0\u67E5",
key: "midterm_report",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u4E2D\u671F\u68C0\u67E5\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
},
{
name: "\u6BD5\u4E1A\u8BBA\u6587",
key: "thesis",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u6BD5\u4E1A\u8BBA\u6587\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
},
{
name: "\u6BD5\u4E1A\u7B54\u8FA9",
key: "final_defense",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u6BD5\u4E1A\u7B54\u8FA9\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
},
{
name: "\u8BBA\u6587\u5B9A\u7A3F",
key: "final_thesis",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u8BBA\u6587\u5B9A\u7A3F\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
},
{
name: "\u5F52\u6863",
key: "archives",
width: 1146,
timeName: "\u5B66\u751F\u63D0\u4EA4\u5F52\u6863\u8D77\u6B62\u65F6\u95F4",
text: "\u5728\u8BE5\u9636\u6BB5\u5185\u6216\u8005\u8001\u5E08\u8BC4\u9605\u901A\u8FC7\u4E4B\u524D\uFF0C\u5B66\u751F\u53EF\u4EE5\u81EA\u7531\u63D0\u4EA4\u6587\u6863\uFF0C\u4E00\u65E6\u8FC7\u4E86\u622A\u6B62\u65F6\u95F4\uFF0C\u5219\u9700\u8981\u7BA1\u7406\u5458\u6388\u6743\u8865\u4EA4"
}
];
const stageItem = ["opening_report", "midterm_report", "thesis", "final_defense", "final_thesis", "archives"];
const disabled = fileList.some((e) => !(e == null ? void 0 : e.response));
const { timeName, text, width, key } = (jsonItem == null ? void 0 : jsonItem.find((e) => e.key === (data == null ? void 0 : data.clazz))) || {};
return /* @__PURE__ */ _react_17_0_2_react.createElement(
modal["default"],
{
centered: true,
destroyOnClose: true,
confirmLoading: btnLoading,
okButtonProps: {
disabled
},
onCancel: onClose,
onOk: handleOk,
open: visible,
title: `${data.name}\u8BBE\u7F6E`,
width,
afterClose: () => {
setFileList([]);
setStartAt("");
setDescription("");
setEndAt("");
setBtnLoading(false);
},
okText: "\u4FDD\u5B58\u8BBE\u7F6E",
cancelText: "\u53D6\u6D88"
},
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: SettingModalmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: SettingModalmodules.label }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, "*"), timeName), /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { align: "middle", className: stageItem.includes(key) ? "mb20" : "" }, /* @__PURE__ */ _react_17_0_2_react.createElement(
date_picker["default"],
{
format: "YYYY-MM-DD HH:mm",
value: startAt ? dayjs_min_default()(startAt) : "",
disabledDate: (current) => (0,Releasesetting/* disabledDate */.Q8)(current, "", data == null ? void 0 : data.disabled_time),
disabledTime: (current) => (0,Releasesetting/* disabledTime */.d0)(current, data == null ? void 0 : data.disabled_time),
showTime: { format: "HH:mm" },
onChange: (v, f) => {
setStartAt(f);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: "ml10 mr10" }, "\u81F3"), /* @__PURE__ */ _react_17_0_2_react.createElement(
date_picker["default"],
{
format: "YYYY-MM-DD HH:mm",
value: endAt ? dayjs_min_default()(endAt) : "",
disabledDate: (current) => (0,Releasesetting/* disabledDate */.Q8)(current, "", data == null ? void 0 : data.disabled_time),
disabledTime: (current) => (0,Releasesetting/* disabledTime */.d0)(current, data == null ? void 0 : data.disabled_time),
showTime: { format: "HH:mm" },
onChange: (v, f) => {
setEndAt(f);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: `${key === "student_selection" ? "mt10" : "ml10"} font14`, style: { color: "#9096A3" } }, text)), stageItem.includes(key) && /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: SettingModalmodules.label }, "\u9636\u6BB5\u63CF\u8FF0"), /* @__PURE__ */ _react_17_0_2_react.createElement(
markdown_editor/* default */.Z,
{
height: 140,
defaultValue: description,
onChange: (v) => {
setDescription(v);
}
}
), /* @__PURE__ */ _react_17_0_2_react.createElement(upload["default"], __spreadValues({}, uploadProps), /* @__PURE__ */ _react_17_0_2_react.createElement(row/* default */.Z, { align: "middle", className: "mt10" }, /* @__PURE__ */ _react_17_0_2_react.createElement(ui_customization/* CustomButton */.op, { style: { borderRadius: 2 } }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "icon-shangchuan3 mr5" }), "\u4E0A\u4F20\u6587\u6863"), /* @__PURE__ */ _react_17_0_2_react.createElement(
"div",
{
className: "ml10 font14",
style: { color: "#5F6367" },
onClick: (e) => {
e.stopPropagation();
}
},
"\u4E0A\u4F20\u6B64\u9636\u6BB5\u7684\u6587\u6863\u6A21\u7248\u3001\u6279\u9605\u8981\u6C42\u7B49\u6587\u6863\uFF0C\u5355\u4E2A\u6587\u6863\u5927\u5C0F\u4E0D\u8D85\u8FC7150M"
)))))
);
};
/* harmony default export */ var components_SettingModal = (SettingModal);
/***/ }),
/***/ 74250:
/*!*********************************************************************!*\
!*** ./src/pages/Graduations/components/Tags/index.tsx + 1 modules ***!
\*********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ components_Tags; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/pages/Graduations/components/Tags/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Tagsmodules = ({"flex_box_center":"flex_box_center___Sswcw","flex_space_between":"flex_space_between___nBexI","flex_box_vertical_center":"flex_box_vertical_center___sPXvb","flex_box_center_end":"flex_box_center_end___c6nca","flex_box_column":"flex_box_column___Bq_gi","tag":"tag___NEywM"});
// 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);
;// CONCATENATED MODULE: ./src/pages/Graduations/components/Tags/index.tsx
const Tags = ({
className,
status
}) => {
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, status === 0 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_3_2_classnames_default()(Tagsmodules.tag, className) }, "\u672A\u5F00\u59CB"), status === 1 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_3_2_classnames_default()(Tagsmodules.tag, className), style: { background: "#19CB70" } }, "\u8FDB\u884C\u4E2D"), status === 2 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: _classnames_2_3_2_classnames_default()(Tagsmodules.tag, className), style: { background: "#EE5D5D" } }, "\u5DF2\u7ED3\u675F"));
};
/* harmony default export */ var components_Tags = (Tags);
/***/ })
}]);