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.
1435 lines
62 KiB
1435 lines
62 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[95125],{
|
|
|
|
/***/ 40362:
|
|
/*!***********************************************************************************************************!*\
|
|
!*** ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules ***!
|
|
\***********************************************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ icons_ArrowLeftOutlined; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.25.6@@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__(33614);
|
|
// 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.4.2@@ant-design/icons-svg/es/asn/ArrowLeftOutlined.js
|
|
// This icon file is generated automatically.
|
|
var ArrowLeftOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z" } }] }, "name": "arrow-left", "theme": "outlined" };
|
|
/* harmony default export */ var asn_ArrowLeftOutlined = (ArrowLeftOutlined);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
var AntdIcon = __webpack_require__(1393);
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/ArrowLeftOutlined.js
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
var ArrowLeftOutlined_ArrowLeftOutlined = function ArrowLeftOutlined(props, ref) {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
ref: ref,
|
|
icon: asn_ArrowLeftOutlined
|
|
}));
|
|
};
|
|
|
|
/** */
|
|
var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(ArrowLeftOutlined_ArrowLeftOutlined);
|
|
if (false) {}
|
|
/* harmony default export */ var icons_ArrowLeftOutlined = (RefIcon);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 35064:
|
|
/*!************************************************************************************!*\
|
|
!*** ./src/pages/Classrooms/Lists/Exercise/DetailedAnalysis/index.tsx + 1 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 */ DetailedAnalysis; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
var slicedToArray = __webpack_require__(79800);
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
var _umi_production_exports = __webpack_require__(80608);
|
|
// 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/breadcrumb/index.js + 6 modules
|
|
var breadcrumb = __webpack_require__(66104);
|
|
// 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/tabs/index.js + 24 modules
|
|
var tabs = __webpack_require__(99313);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
|
|
var es_radio = __webpack_require__(5112);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
|
|
var table = __webpack_require__(51945);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
var modal = __webpack_require__(43418);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/ArrowLeftOutlined.js + 1 modules
|
|
var ArrowLeftOutlined = __webpack_require__(40362);
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/DetailedAnalysis/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var DetailedAnalysismodules = ({"flex_box_center":"flex_box_center___Qx5by","flex_space_between":"flex_space_between___Jovvb","flex_box_vertical_center":"flex_box_vertical_center___ZgKxt","flex_box_center_end":"flex_box_center_end___rLoZQ","flex_box_column":"flex_box_column___H7gvw","title":"title___mKlZQ","link":"link____MbLK","wrap":"wrap___M54Mm","info":"info___LS1sD","name":"name___XFTyf","box":"box___MY5TN","tab":"tab___Pts7W","group":"group___KTR8B","modal":"modal___wynb6","head":"head___rpYjK","des":"des___PNfp8","sub":"sub___LF5wd","tags":"tags___tdrDl"});
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(49105);
|
|
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.13@dayjs/dayjs.min.js
|
|
var dayjs_min = __webpack_require__(61186);
|
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(71681);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Exercise/DetailedAnalysis/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Export = function Export(_ref) {
|
|
var _window$location$path, _userInfo$course, _modalData$tags;
|
|
var exercise = _ref.exercise,
|
|
user = _ref.user,
|
|
dispatch = _ref.dispatch;
|
|
var isExam = (_window$location$path = window.location.pathname) === null || _window$location$path === void 0 ? void 0 : _window$location$path.includes('exercise');
|
|
var path = isExam ? 'exercise' : 'shixun_homework';
|
|
var urlParams = (0,_umi_production_exports.useParams)();
|
|
var userInfo = user.userInfo;
|
|
var _useState = (0,_react_17_0_2_react.useState)({}),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
data = _useState2[0],
|
|
setData = _useState2[1];
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(),
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
modalData = _useState4[0],
|
|
setModalData = _useState4[1];
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(0),
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
height = _useState6[0],
|
|
setHeight = _useState6[1];
|
|
var _useState7 = (0,_react_17_0_2_react.useState)([]),
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
list = _useState8[0],
|
|
setList = _useState8[1];
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(true),
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
tableLoading = _useState10[0],
|
|
setTableLoading = _useState10[1];
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(false),
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
qualityshow = _useState12[0],
|
|
setqualityshow = _useState12[1];
|
|
var _useState13 = (0,_react_17_0_2_react.useState)(0),
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
total = _useState14[0],
|
|
setTotal = _useState14[1];
|
|
var _useState15 = (0,_react_17_0_2_react.useState)({
|
|
type: '2',
|
|
degree: 0,
|
|
page: 1,
|
|
limit: 10,
|
|
id: urlParams.studentId
|
|
}),
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
params = _useState16[0],
|
|
setParams = _useState16[1];
|
|
var _ref2 = (data === null || data === void 0 ? void 0 : data.analysis_data) || {},
|
|
bug = _ref2.bug,
|
|
vulnerability = _ref2.vulnerability,
|
|
codeSmall = _ref2.codeSmall;
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
getData();
|
|
getList(params);
|
|
}, []);
|
|
var getData = /*#__PURE__*/function () {
|
|
var _ref3 = 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/code_analyses_detail/analyse_detail.json', {
|
|
method: "get",
|
|
params: {
|
|
id: urlParams.studentId
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context.sent;
|
|
if (res.status === 0) {
|
|
setData(res.data);
|
|
}
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
return function getData() {
|
|
return _ref3.apply(this, arguments);
|
|
};
|
|
}();
|
|
var getList = /*#__PURE__*/function () {
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(params) {
|
|
var res, _res$data;
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
setTableLoading(true);
|
|
_context2.next = 3;
|
|
return (0,fetch/* default */.ZP)('/api/code_analyses_detail/analyse_detail_list.json', {
|
|
method: "get",
|
|
params: params
|
|
});
|
|
case 3:
|
|
res = _context2.sent;
|
|
if (res.status === 0) {
|
|
setList(res.data.recordList);
|
|
setTotal((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.recordSum);
|
|
}
|
|
setTableLoading(false);
|
|
case 6:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
}));
|
|
return function getList(_x) {
|
|
return _ref4.apply(this, arguments);
|
|
};
|
|
}();
|
|
var iconJson = {
|
|
'阻断': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
color: '#D4333F'
|
|
},
|
|
className: "iconfont icon-zuduan font14"
|
|
}),
|
|
'严重': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
color: '#D4333F'
|
|
},
|
|
className: "iconfont icon-yanzhong font14"
|
|
}),
|
|
'主要': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
color: '#D4333F'
|
|
},
|
|
className: "iconfont icon-zhuyao font14"
|
|
}),
|
|
'次要': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
color: '#B0D513'
|
|
},
|
|
className: "iconfont icon-ciyao font14"
|
|
}),
|
|
'提示': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
color: '#4B9FD5'
|
|
},
|
|
className: "iconfont icon-tishi10 font14"
|
|
}),
|
|
'Bug': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "iconfont icon-bug"
|
|
}),
|
|
'漏洞': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "iconfont icon-loudong1"
|
|
}),
|
|
'代码规范': /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "iconfont icon-yiwei"
|
|
})
|
|
};
|
|
var columns = [{
|
|
title: '序号',
|
|
dataIndex: 'name',
|
|
align: 'left',
|
|
width: 80,
|
|
render: function render(text, record, index) {
|
|
return params.limit * (params.page - 1) + index + 1;
|
|
}
|
|
}, {
|
|
title: "".concat(params.type === '2' ? 'Bug' : params.type === '3' ? '漏洞' : '规范异常', "\u540D\u79F0"),
|
|
align: 'left',
|
|
ellipsis: true,
|
|
dataIndex: 'name',
|
|
render: function render(r, v) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
target: "_blank",
|
|
href: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams.exerciseId, "/analysis/").concat(urlParams.studentId, "/code?name=").concat(data === null || data === void 0 ? void 0 : data.user_name, "&rule_id=").concat(v.ruleId, "&uuid=").concat(v.uuid, "&issueId=").concat(v.issueId, "&language=").concat(v.language, "&rowNumber=").concat(v.rowNumber),
|
|
className: DetailedAnalysismodules.link,
|
|
children: r
|
|
});
|
|
}
|
|
}, {
|
|
title: '文件路径',
|
|
align: 'left',
|
|
ellipsis: true,
|
|
dataIndex: 'filePath'
|
|
}, {
|
|
title: '严重程度',
|
|
align: 'left',
|
|
width: 90,
|
|
dataIndex: 'level',
|
|
render: function render(v) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: [iconJson[v], /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "ml5",
|
|
children: v
|
|
})]
|
|
});
|
|
}
|
|
}, {
|
|
title: '操作',
|
|
width: 154,
|
|
align: 'left',
|
|
dataIndex: 'action',
|
|
render: function render(record, v) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
justify: "space-between",
|
|
align: "middle",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
onClick: function onClick() {
|
|
return getModalData(v);
|
|
},
|
|
className: "current c-light-primary",
|
|
children: "\u95EE\u9898\u5206\u6790"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
target: "_blank",
|
|
href: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams.exerciseId, "/analysis/").concat(urlParams.studentId, "/code?name=").concat(data === null || data === void 0 ? void 0 : data.user_name, "&rule_id=").concat(v.ruleId, "&uuid=").concat(v.uuid, "&issueId=").concat(v.issueId, "&language=").concat(v.language, "&rowNumber=").concat(v.rowNumber),
|
|
className: "current c-light-primary",
|
|
children: "\u4EE3\u7801\u8BE6\u60C5"
|
|
})]
|
|
});
|
|
}
|
|
}];
|
|
var handleTabsChange = function handleTabsChange(activeKey) {
|
|
params.page = 1;
|
|
params.type = activeKey;
|
|
setParams(objectSpread2_default()({}, params));
|
|
getList(params);
|
|
};
|
|
var handleCheck = function handleCheck(e) {
|
|
params.page = 1;
|
|
params.degree = e.target.value;
|
|
setParams(objectSpread2_default()({}, params));
|
|
getList(params);
|
|
};
|
|
var handleChangePage = function handleChangePage(param) {
|
|
params.page = param === null || param === void 0 ? void 0 : param.current;
|
|
params.limit = param === null || param === void 0 ? void 0 : param.pageSize;
|
|
setParams(objectSpread2_default()({}, params));
|
|
getList(params);
|
|
};
|
|
var getModalData = /*#__PURE__*/function () {
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(v) {
|
|
var res;
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
_context3.next = 2;
|
|
return (0,fetch/* default */.ZP)('/api/code_analyses_detail/problem_analysis.json', {
|
|
method: "get",
|
|
params: {
|
|
rule_id: v.ruleId
|
|
}
|
|
});
|
|
case 2:
|
|
res = _context3.sent;
|
|
if (res.status === 0) {
|
|
setModalData(objectSpread2_default()(objectSpread2_default()({}, res.data), {}, {
|
|
level: v.level,
|
|
type: params.type === '2' ? 'Bug' : params.type === '3' ? '漏洞' : '代码规范'
|
|
}));
|
|
setHeight(32);
|
|
}
|
|
case 4:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee3);
|
|
}));
|
|
return function getModalData(_x2) {
|
|
return _ref5.apply(this, arguments);
|
|
};
|
|
}();
|
|
var qualityList = [{
|
|
live: 'A',
|
|
gz: '0个错误',
|
|
ld: '0个漏洞',
|
|
gf: '0 - 5%'
|
|
}, {
|
|
live: 'B',
|
|
gz: '至少1个次要错误',
|
|
ld: '至少1个次要漏洞',
|
|
gf: '6% - 10%'
|
|
}, {
|
|
live: 'C',
|
|
gz: '至少1个主要错误',
|
|
ld: '至少1个主要漏洞',
|
|
gf: '11% - 20%'
|
|
}, {
|
|
live: 'D',
|
|
gz: '至少1个严重错误',
|
|
ld: '至少1个严重漏洞',
|
|
gf: '21% - 50%'
|
|
}, {
|
|
live: 'E',
|
|
gz: '至少1个阻断错误',
|
|
ld: '至少1个阻断漏洞',
|
|
gf: '超过50%'
|
|
}];
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
className: "edu-container",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
className: "animated fadeIn",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
className: "mt10",
|
|
children: userInfo && /*#__PURE__*/(0,jsx_runtime.jsxs)(breadcrumb/* default */.Z, {
|
|
separator: ">",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path),
|
|
children: userInfo === null || userInfo === void 0 || (_userInfo$course = userInfo.course) === null || _userInfo$course === void 0 ? void 0 : _userInfo$course.course_name
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
|
|
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path),
|
|
children: [isExam ? '考试' : '实训', "\u5217\u8868"]
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
|
|
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.exerciseId, "/detail"),
|
|
children: [isExam ? '试卷' : '作业', "\u8BE6\u60C5"]
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(breadcrumb/* default */.Z.Item, {
|
|
children: data === null || data === void 0 ? void 0 : data.user_name
|
|
})]
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
className: [DetailedAnalysismodules.title, 'mt20'].join(' '),
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
style: {
|
|
width: "100%"
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
flex: "1",
|
|
style: {
|
|
lineHeight: '24px'
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
to: "/classrooms/".concat(urlParams.coursesId, "/").concat(path, "/").concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.exerciseId, "/detail"),
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ArrowLeftOutlined/* default */.Z, {
|
|
className: "font16 c-black"
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("strong", {
|
|
className: "font20 ml5",
|
|
children: data === null || data === void 0 ? void 0 : data.name
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "iconfont icon-a-wenhaobeifen2",
|
|
onClick: function onClick() {
|
|
setqualityshow(true);
|
|
},
|
|
style: {
|
|
fontWeight: 800,
|
|
color: "#0152d9",
|
|
"float": 'right',
|
|
cursor: 'pointer'
|
|
},
|
|
children: "\u89C4\u5219\u8BF4\u660E"
|
|
})]
|
|
})
|
|
})
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
className: DetailedAnalysismodules.wrap,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.info,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/").concat(data === null || data === void 0 ? void 0 : data.avatar),
|
|
alt: ""
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
style: {
|
|
marginLeft: 30
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
className: DetailedAnalysismodules.name,
|
|
children: data === null || data === void 0 ? void 0 : data.user_name
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u5B66\u53F7\uFF1A"
|
|
}), data === null || data === void 0 ? void 0 : data.student_number]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4EE3\u7801\u884C\u6570\uFF1A"
|
|
}), data === null || data === void 0 ? void 0 : data.total_row_number]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
style: {
|
|
marginTop: 65
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u5206\u73ED\uFF1A"
|
|
}), data === null || data === void 0 ? void 0 : data.group_course_name]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u590D\u6742\u4EE3\u7801\uFF1A"
|
|
}), data === null || data === void 0 ? void 0 : data.complexity]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ol", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
children: "\u8D28\u91CF\u8BC4\u5206\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
|
|
children: data === null || data === void 0 ? void 0 : data.quality_score
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.box,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "mb20",
|
|
children: bug === null || bug === void 0 ? void 0 : bug.total
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: "\u7F3A\u9677"
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: ["\u7B49\u7EA7\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
children: bug === null || bug === void 0 ? void 0 : bug.levelStr
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u963B\u65AD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#A73E38',
|
|
width: (bug === null || bug === void 0 ? void 0 : bug.blocker) === 0 ? 0 : "".concat((bug === null || bug === void 0 ? void 0 : bug.blocker) / (bug === null || bug === void 0 ? void 0 : bug.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: bug === null || bug === void 0 ? void 0 : bug.blocker
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E25\u91CD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#DB544D',
|
|
width: (bug === null || bug === void 0 ? void 0 : bug.critical) === 0 ? 0 : "".concat((bug === null || bug === void 0 ? void 0 : bug.critical) / (bug === null || bug === void 0 ? void 0 : bug.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: bug === null || bug === void 0 ? void 0 : bug.critical
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E3B\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#F7AB3E',
|
|
width: (bug === null || bug === void 0 ? void 0 : bug.major) === 0 ? 0 : "".concat((bug === null || bug === void 0 ? void 0 : bug.major) / (bug === null || bug === void 0 ? void 0 : bug.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: bug === null || bug === void 0 ? void 0 : bug.major
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u6B21\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#E7DF37',
|
|
width: (bug === null || bug === void 0 ? void 0 : bug.minor) === 0 ? 0 : "".concat((bug === null || bug === void 0 ? void 0 : bug.minor) / (bug === null || bug === void 0 ? void 0 : bug.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: bug === null || bug === void 0 ? void 0 : bug.minor
|
|
})]
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "mb20",
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: "\u6F0F\u6D1E"
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: ["\u7B49\u7EA7\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.levelStr
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u963B\u65AD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#A73E38',
|
|
width: (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.blocker) === 0 ? 0 : "".concat((vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.blocker) / (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.blocker
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E25\u91CD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#DB544D',
|
|
width: (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.critical) === 0 ? 0 : "".concat((vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.critical) / (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.critical
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E3B\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#F7AB3E',
|
|
width: (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.major) === 0 ? 0 : "".concat((vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.major) / (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.major
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u6B21\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#E7DF37',
|
|
width: (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.minor) === 0 ? 0 : "".concat((vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.minor) / (vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.minor
|
|
})]
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: "mb20",
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: "\u4EE3\u7801\u89C4\u8303"
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: ["\u7B49\u7EA7\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.levelStr
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u963B\u65AD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#A73E38',
|
|
width: (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.blocker) === 0 ? 0 : "".concat((codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.blocker) / (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.blocker
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E25\u91CD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#DB544D',
|
|
width: (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.critical) === 0 ? 0 : "".concat((codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.critical) / (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.critical
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u4E3B\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#F7AB3E',
|
|
width: (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.major) === 0 ? 0 : "".concat((codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.major) / (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.major
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u6B21\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
style: {
|
|
background: '#E7DF37',
|
|
width: (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.minor) === 0 ? 0 : "".concat((codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.minor) / (codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total) * 100, "%")
|
|
}
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.minor
|
|
})]
|
|
})]
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(tabs/* default */.Z, {
|
|
className: DetailedAnalysismodules.tab,
|
|
activeKey: params.type,
|
|
onChange: handleTabsChange,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z.TabPane, {
|
|
tab: "Bug (".concat((bug === null || bug === void 0 ? void 0 : bug.total) || 0, ")")
|
|
}, '2'), /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z.TabPane, {
|
|
tab: "\u6F0F\u6D1E (".concat((vulnerability === null || vulnerability === void 0 ? void 0 : vulnerability.total) || 0, ")")
|
|
}, '3'), /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z.TabPane, {
|
|
tab: "\u4EE3\u7801\u89C4\u8303 (".concat((codeSmall === null || codeSmall === void 0 ? void 0 : codeSmall.total) || 0, ")")
|
|
}, '1')]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.group,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "mr5",
|
|
children: "\u4E25\u91CD\u7A0B\u5EA6:"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
|
|
value: params.degree,
|
|
onChange: handleCheck,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
value: 0,
|
|
children: "\u5168\u90E8"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
value: 1,
|
|
children: "\u963B\u65AD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
value: 2,
|
|
children: "\u4E25\u91CD"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
value: 3,
|
|
children: "\u4E3B\u8981"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
value: 4,
|
|
children: "\u6B21\u8981"
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
style: {
|
|
padding: '30px 30px 0 30px'
|
|
},
|
|
dataSource: list,
|
|
columns: columns,
|
|
onChange: handleChangePage,
|
|
loading: tableLoading,
|
|
pagination: {
|
|
pageSize: params.limit,
|
|
total: total,
|
|
current: params.page,
|
|
showQuickJumper: true,
|
|
hideOnSinglePage: true,
|
|
position: ["bottomCenter"],
|
|
showTotal: function showTotal(total) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
className: "mr10",
|
|
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "c-orange",
|
|
children: total
|
|
}), "\u6761\u6570\u636E"]
|
|
});
|
|
}
|
|
}
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.modal,
|
|
style: {
|
|
height: "".concat(height, "vh")
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.head,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: "\u95EE\u9898\u5206\u6790"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "icon-zuixiaohua iconfont mt10",
|
|
onClick: function onClick() {
|
|
return setHeight(32);
|
|
}
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
style: {
|
|
margin: '0 18px'
|
|
},
|
|
className: "icon-fangda iconfont",
|
|
onClick: function onClick() {
|
|
return setHeight(80);
|
|
}
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "icon-guanbi7 iconfont",
|
|
onClick: function onClick() {
|
|
return setHeight(0);
|
|
}
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.des,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: DetailedAnalysismodules.sub,
|
|
children: modalData === null || modalData === void 0 ? void 0 : modalData.title
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: DetailedAnalysismodules.tags,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: [iconJson[modalData === null || modalData === void 0 ? void 0 : modalData.type], "\xA0", modalData === null || modalData === void 0 ? void 0 : modalData.type]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: [iconJson[modalData === null || modalData === void 0 ? void 0 : modalData.level], "\xA0", modalData === null || modalData === void 0 ? void 0 : modalData.level]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
className: "iconfont icon-biaoqian4 mr5"
|
|
}), modalData === null || modalData === void 0 || (_modalData$tags = modalData.tags) === null || _modalData$tags === void 0 ? void 0 : _modalData$tags.join(',')]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: ["\u751F\u6548\u65F6\u95F4", dayjs_min_default()(modalData === null || modalData === void 0 ? void 0 : modalData.createTime).format('ll')]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
children: modalData === null || modalData === void 0 ? void 0 : modalData.language
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
children: ["\u5E38\u91CF/\u4EFB\u52A1:", modalData === null || modalData === void 0 ? void 0 : modalData.constantIssue]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: DetailedAnalysismodules.example,
|
|
dangerouslySetInnerHTML: {
|
|
__html: (modalData === null || modalData === void 0 ? void 0 : modalData.example) || ''
|
|
}
|
|
})]
|
|
})]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, {
|
|
open: qualityshow,
|
|
title: "\u89C4\u5219\u8BF4\u660E",
|
|
width: 800,
|
|
footer: null,
|
|
onCancel: function onCancel() {
|
|
setqualityshow(false);
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u4E00\u3001\u7B49\u7EA7\u89C4\u5219"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "1. \u7F3A\u9677\u7B49\u7EA7"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
dataSource: qualityList,
|
|
columns: [{
|
|
title: '等级',
|
|
dataIndex: 'live'
|
|
}, {
|
|
title: '缺陷评估规则',
|
|
dataIndex: 'gz'
|
|
}, {
|
|
title: '漏洞评估规则',
|
|
dataIndex: 'ld'
|
|
}, {
|
|
title: '代码规范评估规则',
|
|
dataIndex: 'gf'
|
|
}],
|
|
pagination: false
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u6CE8\uFF1A\u4EE3\u7801\u89C4\u8303\u8BC4\u4F30\u89C4\u5219\u4E2D\u6570\u503C\u6765\u6E90\u4E3A\u8BA1\u7B97\u6280\u672F\u503A\u52A1\u65F6\u95F4\u5360\u5F00\u53D1\u6240\u6709\u4EE3\u7801\u6240\u9700\u8981\u7684\u65F6\u95F4\u7684\u6BD4\u4F8B\uFF08Technical Debt Ratio\uFF09"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '20px'
|
|
},
|
|
children: "Technical Debt Ratio = \u6280\u672F\u503A\u52A1\u65F6\u95F4 / \u5F00\u53D1\u65F6\u95F4"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '20px'
|
|
},
|
|
children: "\u6280\u672F\u503A\u52A1\u65F6\u95F4\u4E3A\u4FEE\u590D\u6240\u6709\u95EE\u9898\u6240\u9700\u8981\u7684\u65F6\u95F4\u3002"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u4E8C\u3001\u590D\u6742\u5EA6\u89C4\u5219"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u6839\u636E\u4EE3\u7801\u8DEF\u5F84\u6570\u8BA1\u7B97\u7684\u6570\u503C\uFF0C\u6BCF\u5F53\u4E00\u4E2A\u51FD\u6570\u7684\u63A7\u5236\u6D41\u5206\u53C9\u65F6\uFF0C\u590D\u6742\u5EA6\u8BA1\u6570\u5668\u5C31\u4F1A\u81EA\u589E\u4E00\u3002"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u6BCF\u4E2A\u7A0B\u5E8F\u8BED\u8A00\u7684\u5173\u952E\u5B57\u5BF9\u5E94\u7684\u590D\u6742\u5EA6\u6570\u636E\u4E0D\u540C\uFF0C\u4F46\u6BCF\u4E2A\u51FD\u6570\u7684\u6700\u5C0F\u590D\u6742\u5EA6\u4E3A1\u3002\uFF08\u7279\u5B9A\u8BED\u8A00\u7684\u8BE6\u7EC6\u6570\u636E\u7565\uFF09"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
children: "\u4E09\u3001\u4EE3\u7801\u8D28\u91CF\u5206\u89C4\u5219"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u4EE3\u7801\u8D28\u91CF\u5206 = 0.5*\u7F3A\u9677\u5206\u6570 + 0.3*\u6F0F\u6D1E\u5206\u6570 + 0.2*\u4EE3\u7801\u89C4\u8303\u6027\u5206\u6570"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u5176\u4E2D\uFF1A"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u7F3A\u9677/\u6F0F\u6D1E/\u4EE3\u7801\u89C4\u8303\u6027\u5206\u6570\u8BA1\u7B97\u89C4\u5219\u4E3A\uFF1A100 - 100 *((100*\u963B\u65AD\u6570 + 5*\u4E25\u91CD\u6570 + 3*\u4E3B\u8981\u6570 + 1*\u6B21\u6570\uFF09/ \u4EE3\u7801\u884C\u6570\uFF09"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
style: {
|
|
marginLeft: '10px'
|
|
},
|
|
children: "\u6CE8\uFF1A\u5206\u6570\u4E3A\u7A7A\u7684\u4EE3\u8868\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u683C\u5F0F\u3002"
|
|
})]
|
|
})]
|
|
});
|
|
};
|
|
/* harmony default export */ var DetailedAnalysis = ((0,_umi_production_exports.connect)(function (_ref6) {
|
|
var exercise = _ref6.exercise,
|
|
user = _ref6.user;
|
|
return {
|
|
exercise: exercise,
|
|
user: user
|
|
};
|
|
})(Export));
|
|
|
|
/***/ }),
|
|
|
|
/***/ 66104:
|
|
/*!**************************************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js + 6 modules ***!
|
|
\**************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ breadcrumb; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
|
|
var _classnames_2_5_1_classnames = __webpack_require__(92310);
|
|
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.43.0@rc-util/es/Children/toArray.js
|
|
var toArray = __webpack_require__(75440);
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.43.0@rc-util/es/pickAttrs.js
|
|
var pickAttrs = __webpack_require__(47413);
|
|
// 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/_util/reactNode.js
|
|
var reactNode = __webpack_require__(92343);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
var context = __webpack_require__(36355);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.4.0@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
|
|
var DownOutlined = __webpack_require__(46952);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/dropdown.js
|
|
var dropdown = __webpack_require__(91857);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbSeparator.js
|
|
"use client";
|
|
|
|
|
|
|
|
const BreadcrumbSeparator = _ref => {
|
|
let {
|
|
children
|
|
} = _ref;
|
|
const {
|
|
getPrefixCls
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
const prefixCls = getPrefixCls('breadcrumb');
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("li", {
|
|
className: `${prefixCls}-separator`,
|
|
"aria-hidden": "true"
|
|
}, children === '' ? children : children || '/');
|
|
};
|
|
BreadcrumbSeparator.__ANT_BREADCRUMB_SEPARATOR = true;
|
|
/* harmony default export */ var breadcrumb_BreadcrumbSeparator = (BreadcrumbSeparator);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItemRender.js
|
|
"use client";
|
|
|
|
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
|
|
|
|
function getBreadcrumbName(route, params) {
|
|
if (route.title === undefined || route.title === null) {
|
|
return null;
|
|
}
|
|
const paramsKeys = Object.keys(params).join('|');
|
|
return typeof route.title === 'object' ? route.title : String(route.title).replace(new RegExp(`:(${paramsKeys})`, 'g'), (replacement, key) => params[key] || replacement);
|
|
}
|
|
function renderItem(prefixCls, item, children, href) {
|
|
if (children === null || children === undefined) {
|
|
return null;
|
|
}
|
|
const {
|
|
className,
|
|
onClick
|
|
} = item,
|
|
restItem = __rest(item, ["className", "onClick"]);
|
|
const passedProps = Object.assign(Object.assign({}, (0,pickAttrs/* default */.Z)(restItem, {
|
|
data: true,
|
|
aria: true
|
|
})), {
|
|
onClick
|
|
});
|
|
if (href !== undefined) {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("a", Object.assign({}, passedProps, {
|
|
className: _classnames_2_5_1_classnames_default()(`${prefixCls}-link`, className),
|
|
href: href
|
|
}), children);
|
|
}
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("span", Object.assign({}, passedProps, {
|
|
className: _classnames_2_5_1_classnames_default()(`${prefixCls}-link`, className)
|
|
}), children);
|
|
}
|
|
function useItemRender(prefixCls, itemRender) {
|
|
const mergedItemRender = (item, params, routes, path, href) => {
|
|
if (itemRender) {
|
|
return itemRender(item, params, routes, path);
|
|
}
|
|
const name = getBreadcrumbName(item, params);
|
|
return renderItem(prefixCls, item, name, href);
|
|
};
|
|
return mergedItemRender;
|
|
}
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/BreadcrumbItem.js
|
|
"use client";
|
|
|
|
var BreadcrumbItem_rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const InternalBreadcrumbItem = props => {
|
|
const {
|
|
prefixCls,
|
|
separator = '/',
|
|
children,
|
|
menu,
|
|
overlay,
|
|
dropdownProps,
|
|
href
|
|
} = props;
|
|
// Warning for deprecated usage
|
|
if (false) {}
|
|
/** If overlay is have Wrap a Dropdown */
|
|
const renderBreadcrumbNode = breadcrumbItem => {
|
|
if (menu || overlay) {
|
|
const mergeDropDownProps = Object.assign({}, dropdownProps);
|
|
if (menu) {
|
|
const _a = menu || {},
|
|
{
|
|
items
|
|
} = _a,
|
|
menuProps = BreadcrumbItem_rest(_a, ["items"]);
|
|
mergeDropDownProps.menu = Object.assign(Object.assign({}, menuProps), {
|
|
items: items === null || items === void 0 ? void 0 : items.map((_a, index) => {
|
|
var {
|
|
key,
|
|
title,
|
|
label,
|
|
path
|
|
} = _a,
|
|
itemProps = BreadcrumbItem_rest(_a, ["key", "title", "label", "path"]);
|
|
let mergedLabel = label !== null && label !== void 0 ? label : title;
|
|
if (path) {
|
|
mergedLabel = /*#__PURE__*/_react_17_0_2_react.createElement("a", {
|
|
href: `${href}${path}`
|
|
}, mergedLabel);
|
|
}
|
|
return Object.assign(Object.assign({}, itemProps), {
|
|
key: key !== null && key !== void 0 ? key : index,
|
|
label: mergedLabel
|
|
});
|
|
})
|
|
});
|
|
} else if (overlay) {
|
|
mergeDropDownProps.overlay = overlay;
|
|
}
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(dropdown/* default */.Z, Object.assign({
|
|
placement: "bottom"
|
|
}, mergeDropDownProps), /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
className: `${prefixCls}-overlay-link`
|
|
}, breadcrumbItem, /*#__PURE__*/_react_17_0_2_react.createElement(DownOutlined/* default */.Z, null)));
|
|
}
|
|
return breadcrumbItem;
|
|
};
|
|
// wrap to dropDown
|
|
const link = renderBreadcrumbNode(children);
|
|
if (link !== undefined && link !== null) {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /*#__PURE__*/_react_17_0_2_react.createElement("li", null, link), separator && /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, null, separator));
|
|
}
|
|
return null;
|
|
};
|
|
const BreadcrumbItem = props => {
|
|
const {
|
|
prefixCls: customizePrefixCls,
|
|
children,
|
|
href
|
|
} = props,
|
|
restProps = BreadcrumbItem_rest(props, ["prefixCls", "children", "href"]);
|
|
const {
|
|
getPrefixCls
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({}, restProps, {
|
|
prefixCls: prefixCls
|
|
}), renderItem(prefixCls, restProps, children, href));
|
|
};
|
|
BreadcrumbItem.__ANT_BREADCRUMB_ITEM = true;
|
|
/* harmony default export */ var breadcrumb_BreadcrumbItem = (BreadcrumbItem);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
|
|
var style = __webpack_require__(17313);
|
|
// 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/breadcrumb/style/index.js
|
|
|
|
|
|
const genBreadcrumbStyle = token => {
|
|
const {
|
|
componentCls,
|
|
iconCls
|
|
} = token;
|
|
return {
|
|
[componentCls]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
|
|
color: token.itemColor,
|
|
fontSize: token.fontSize,
|
|
[iconCls]: {
|
|
fontSize: token.iconFontSize
|
|
},
|
|
ol: {
|
|
display: 'flex',
|
|
flexWrap: 'wrap',
|
|
margin: 0,
|
|
padding: 0,
|
|
listStyle: 'none'
|
|
},
|
|
a: Object.assign({
|
|
color: token.linkColor,
|
|
transition: `color ${token.motionDurationMid}`,
|
|
padding: `0 ${token.paddingXXS}px`,
|
|
borderRadius: token.borderRadiusSM,
|
|
height: token.lineHeight * token.fontSize,
|
|
display: 'inline-block',
|
|
marginInline: -token.marginXXS,
|
|
'&:hover': {
|
|
color: token.linkHoverColor,
|
|
backgroundColor: token.colorBgTextHover
|
|
}
|
|
}, (0,style/* genFocusStyle */.Qy)(token)),
|
|
[`li:last-child`]: {
|
|
color: token.lastItemColor
|
|
},
|
|
[`${componentCls}-separator`]: {
|
|
marginInline: token.separatorMargin,
|
|
color: token.separatorColor
|
|
},
|
|
[`${componentCls}-link`]: {
|
|
[`
|
|
> ${iconCls} + span,
|
|
> ${iconCls} + a
|
|
`]: {
|
|
marginInlineStart: token.marginXXS
|
|
}
|
|
},
|
|
[`${componentCls}-overlay-link`]: {
|
|
borderRadius: token.borderRadiusSM,
|
|
height: token.lineHeight * token.fontSize,
|
|
display: 'inline-block',
|
|
padding: `0 ${token.paddingXXS}px`,
|
|
marginInline: -token.marginXXS,
|
|
[`> ${iconCls}`]: {
|
|
marginInlineStart: token.marginXXS,
|
|
fontSize: token.fontSizeIcon
|
|
},
|
|
'&:hover': {
|
|
color: token.linkHoverColor,
|
|
backgroundColor: token.colorBgTextHover,
|
|
a: {
|
|
color: token.linkHoverColor
|
|
}
|
|
},
|
|
a: {
|
|
'&:hover': {
|
|
backgroundColor: 'transparent'
|
|
}
|
|
}
|
|
},
|
|
// rtl style
|
|
[`&${token.componentCls}-rtl`]: {
|
|
direction: 'rtl'
|
|
}
|
|
})
|
|
};
|
|
};
|
|
// ============================== Export ==============================
|
|
/* harmony default export */ var breadcrumb_style = ((0,genComponentStyleHook/* default */.Z)('Breadcrumb', token => {
|
|
const BreadcrumbToken = (0,statistic/* merge */.TS)(token, {});
|
|
return [genBreadcrumbStyle(BreadcrumbToken)];
|
|
}, token => ({
|
|
itemColor: token.colorTextDescription,
|
|
lastItemColor: token.colorText,
|
|
iconFontSize: token.fontSize,
|
|
linkColor: token.colorTextDescription,
|
|
linkHoverColor: token.colorText,
|
|
separatorColor: token.colorTextDescription,
|
|
separatorMargin: token.marginXS
|
|
})));
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/useItems.js
|
|
var useItems_rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
function route2item(route) {
|
|
const {
|
|
breadcrumbName,
|
|
children
|
|
} = route,
|
|
rest = useItems_rest(route, ["breadcrumbName", "children"]);
|
|
const clone = Object.assign({
|
|
title: breadcrumbName
|
|
}, rest);
|
|
if (children) {
|
|
clone.menu = {
|
|
items: children.map(_a => {
|
|
var {
|
|
breadcrumbName: itemBreadcrumbName
|
|
} = _a,
|
|
itemProps = useItems_rest(_a, ["breadcrumbName"]);
|
|
return Object.assign(Object.assign({}, itemProps), {
|
|
title: itemBreadcrumbName
|
|
});
|
|
})
|
|
};
|
|
}
|
|
return clone;
|
|
}
|
|
function useItems(items, routes) {
|
|
return (0,_react_17_0_2_react.useMemo)(() => {
|
|
if (items) {
|
|
return items;
|
|
}
|
|
if (routes) {
|
|
return routes.map(route2item);
|
|
}
|
|
return null;
|
|
}, [items, routes]);
|
|
}
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/Breadcrumb.js
|
|
"use client";
|
|
|
|
var Breadcrumb_rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const getPath = (params, path) => {
|
|
if (path === undefined) {
|
|
return path;
|
|
}
|
|
let mergedPath = (path || '').replace(/^\//, '');
|
|
Object.keys(params).forEach(key => {
|
|
mergedPath = mergedPath.replace(`:${key}`, params[key]);
|
|
});
|
|
return mergedPath;
|
|
};
|
|
const Breadcrumb = props => {
|
|
const {
|
|
prefixCls: customizePrefixCls,
|
|
separator = '/',
|
|
style,
|
|
className,
|
|
rootClassName,
|
|
routes: legacyRoutes,
|
|
items,
|
|
children,
|
|
itemRender,
|
|
params = {}
|
|
} = props,
|
|
restProps = Breadcrumb_rest(props, ["prefixCls", "separator", "style", "className", "rootClassName", "routes", "items", "children", "itemRender", "params"]);
|
|
const {
|
|
getPrefixCls,
|
|
direction,
|
|
breadcrumb
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
let crumbs;
|
|
const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);
|
|
const [wrapSSR, hashId] = breadcrumb_style(prefixCls);
|
|
const mergedItems = useItems(items, legacyRoutes);
|
|
if (false) {}
|
|
const mergedItemRender = useItemRender(prefixCls, itemRender);
|
|
if (mergedItems && mergedItems.length > 0) {
|
|
// generated by route
|
|
const paths = [];
|
|
const itemRenderRoutes = items || legacyRoutes;
|
|
crumbs = mergedItems.map((item, index) => {
|
|
const {
|
|
path,
|
|
key,
|
|
type,
|
|
menu,
|
|
overlay,
|
|
onClick,
|
|
className: itemClassName,
|
|
separator: itemSeparator,
|
|
dropdownProps
|
|
} = item;
|
|
const mergedPath = getPath(params, path);
|
|
if (mergedPath !== undefined) {
|
|
paths.push(mergedPath);
|
|
}
|
|
const mergedKey = key !== null && key !== void 0 ? key : index;
|
|
if (type === 'separator') {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(breadcrumb_BreadcrumbSeparator, {
|
|
key: mergedKey
|
|
}, itemSeparator);
|
|
}
|
|
const itemProps = {};
|
|
const isLastItem = index === mergedItems.length - 1;
|
|
if (menu) {
|
|
itemProps.menu = menu;
|
|
} else if (overlay) {
|
|
itemProps.overlay = overlay;
|
|
}
|
|
let {
|
|
href
|
|
} = item;
|
|
if (paths.length && mergedPath !== undefined) {
|
|
href = `#/${paths.join('/')}`;
|
|
}
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(InternalBreadcrumbItem, Object.assign({
|
|
key: mergedKey
|
|
}, itemProps, (0,pickAttrs/* default */.Z)(item, {
|
|
data: true,
|
|
aria: true
|
|
}), {
|
|
className: itemClassName,
|
|
dropdownProps: dropdownProps,
|
|
href: href,
|
|
separator: isLastItem ? '' : separator,
|
|
onClick: onClick,
|
|
prefixCls: prefixCls
|
|
}), mergedItemRender(item, params, itemRenderRoutes, paths, href));
|
|
});
|
|
} else if (children) {
|
|
const childrenLength = (0,toArray/* default */.Z)(children).length;
|
|
crumbs = (0,toArray/* default */.Z)(children).map((element, index) => {
|
|
if (!element) {
|
|
return element;
|
|
}
|
|
// =================== Warning =====================
|
|
if (false) {}
|
|
false ? 0 : void 0;
|
|
const isLastItem = index === childrenLength - 1;
|
|
return (0,reactNode/* cloneElement */.Tm)(element, {
|
|
separator: isLastItem ? '' : separator,
|
|
key: index
|
|
});
|
|
});
|
|
}
|
|
const breadcrumbClassName = _classnames_2_5_1_classnames_default()(prefixCls, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.className, {
|
|
[`${prefixCls}-rtl`]: direction === 'rtl'
|
|
}, className, rootClassName, hashId);
|
|
const mergedStyle = Object.assign(Object.assign({}, breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.style), style);
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("nav", Object.assign({
|
|
className: breadcrumbClassName,
|
|
style: mergedStyle
|
|
}, restProps), /*#__PURE__*/_react_17_0_2_react.createElement("ol", null, crumbs)));
|
|
};
|
|
Breadcrumb.Item = breadcrumb_BreadcrumbItem;
|
|
Breadcrumb.Separator = breadcrumb_BreadcrumbSeparator;
|
|
if (false) {}
|
|
/* harmony default export */ var breadcrumb_Breadcrumb = (Breadcrumb);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/breadcrumb/index.js
|
|
"use client";
|
|
|
|
|
|
/* harmony default export */ var breadcrumb = (breadcrumb_Breadcrumb);
|
|
|
|
/***/ })
|
|
|
|
}]); |