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

622 lines
24 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[88093],{
/***/ 11069:
/*!***************************************************************!*\
!*** ./src/pages/Equipment/Maintenance/index.tsx + 3 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 */ Maintenance; }
});
// 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/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectDestructuringEmpty.js
var objectDestructuringEmpty = __webpack_require__(70236);
var objectDestructuringEmpty_default = /*#__PURE__*/__webpack_require__.n(objectDestructuringEmpty);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(38854);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules
var menu = __webpack_require__(20834);
// 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/input/index.js + 3 modules
var input = __webpack_require__(92832);
// 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/pagination/index.js + 10 modules
var pagination = __webpack_require__(86859);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(71681);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(27876);
// EXTERNAL MODULE: ./src/service/onlinedevice.ts
var onlinedevice = __webpack_require__(44555);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js
var upload = __webpack_require__(60028);
;// CONCATENATED MODULE: ./src/pages/Equipment/Maintenance/Dialog/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Dialogmodules = ({"file_button":"file_button___Ta3Fp","my_modal":"my_modal___cAWzt"});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Equipment/Maintenance/Dialog/index.tsx
var TextArea = input/* default */.Z.TextArea;
var DeviceTypeDialog = function DeviceTypeDialog(_ref) {
var visible = _ref.visible,
setVisible = _ref.setVisible,
dataInfo = _ref.dataInfo,
queryData = _ref.queryData;
// 关联设备弹窗
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
(0,_react_17_0_2_react.useEffect)(function () {
if (visible) {
if (dataInfo !== null && dataInfo !== void 0 && dataInfo.id) {
//编辑时 查看详情
(0,onlinedevice/* device_type_table_info */.SY)(dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.id).then(function (res) {
for (var i in res) {
form.setFieldValue(i, res[i]);
}
});
}
} else {
form.resetFields();
}
}, [visible]);
var _useState = (0,_react_17_0_2_react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
FileLists = _useState2[0],
setFileLists = _useState2[1];
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
maskClosable: false,
centered: true,
keyboard: false,
destroyOnClose: true,
className: Dialogmodules.my_modal,
title: "".concat(dataInfo !== null && dataInfo !== void 0 && dataInfo.id ? '编辑' : '新增', "\u8BBE\u5907\u7C7B\u578B"),
width: "700px",
open: visible,
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _values$operate_manua;
var values, _values$description, _values$name, _values$description2, _values$name2;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return form.validateFields();
case 2:
values = form.getFieldsValue();
values.operate_manual_ids = [];
values === null || values === void 0 || (_values$operate_manua = values.operate_manuals) === null || _values$operate_manua === void 0 || _values$operate_manua.map(function (item) {
var _values$operate_manua2, _item$response;
values === null || values === void 0 || (_values$operate_manua2 = values.operate_manual_ids) === null || _values$operate_manua2 === void 0 || _values$operate_manua2.push((item === null || item === void 0 || (_item$response = item.response) === null || _item$response === void 0 ? void 0 : _item$response.id) || (item === null || item === void 0 ? void 0 : item.id));
});
if (form.getFieldValue('id')) {
//编辑
(0,onlinedevice/* device_type_table_update */.RW)({
id: form.getFieldValue('id'),
description: values === null || values === void 0 || (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim(),
name: values === null || values === void 0 || (_values$name = values.name) === null || _values$name === void 0 ? void 0 : _values$name.trim(),
category: values === null || values === void 0 ? void 0 : values.category,
operate_manual_ids: values === null || values === void 0 ? void 0 : values.operate_manual_ids
}).then(function (res) {
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
message/* default */.ZP.success('编辑成功');
setVisible(false);
queryData();
}
});
} else {
//新增
(0,onlinedevice/* device_type_table_add */.d_)({
description: values === null || values === void 0 || (_values$description2 = values.description) === null || _values$description2 === void 0 ? void 0 : _values$description2.trim(),
name: values === null || values === void 0 || (_values$name2 = values.name) === null || _values$name2 === void 0 ? void 0 : _values$name2.trim(),
category: values === null || values === void 0 ? void 0 : values.category,
operate_manual_ids: values === null || values === void 0 ? void 0 : values.operate_manual_ids
}).then(function (res) {
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
message/* default */.ZP.success('新增成功');
setVisible(false);
queryData();
}
});
}
case 6:
case "end":
return _context.stop();
}
}, _callee);
})),
onCancel: function onCancel() {
setVisible(false);
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
className: Dialogmodules.formWrap,
form: form,
style: {
marginTop: '20px'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
rules: [{
required: true
}],
label: "\u8BBE\u5907\u79CD\u7C7B",
name: "category",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
size: "large",
disabled: ['计算机', '路由器', '交换机', '防火墙', '树莓派', 'FPGA', 'STM32', '串口服务器', '服务器', '摄像头'].includes(dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.name),
allowClear: true,
options: [{
value: 1,
label: '物理机'
}, {
value: 2,
label: '虚拟机'
}]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "name",
label: "\u7C7B\u578B\u540D\u79F0",
rules: [{
required: true
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
size: "large",
disabled: ['计算机', '路由器', '交换机', '防火墙', '树莓派', 'FPGA', 'STM32', '串口服务器', '服务器', '摄像头'].includes(dataInfo === null || dataInfo === void 0 ? void 0 : dataInfo.name)
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "operate_manuals",
label: "\u64CD\u4F5C\u624B\u518C",
valuePropName: "fileList",
getValueFromEvent: function getValueFromEvent(e) {
if (Array.isArray(e)) {
return e;
}
return e && e.fileList;
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
action: env/* default */.Z.API_SERVER + '/api/attachments.json',
withCredentials: true,
onChange: function onChange(e) {
var _e$fileList;
setFileLists(e === null || e === void 0 || (_e$fileList = e.fileList) === null || _e$fileList === void 0 ? void 0 : _e$fileList.slice(-1));
},
onRemove: function onRemove(file) {
console.log(file);
setFileLists([]);
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Dialogmodules.file_button,
children: "\u4E0A\u4F20\u624B\u518C"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "description",
label: "\u7C7B\u578B\u8BF4\u660E",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
rows: 4,
maxLength: 5000,
size: "large"
})
})]
})
});
};
/* harmony default export */ var Dialog = (DeviceTypeDialog);
;// CONCATENATED MODULE: ./src/pages/Equipment/Maintenance/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Maintenancemodules = ({"header_div":"header_div___trzMW","header_title":"header_title___RyK0X","search":"search___lF9UC","searchIcon":"searchIcon___YY41x","search_params":"search_params___eBV0k","clear_Data":"clear_Data___Wcmtq","ellipsis":"ellipsis___eB9rv"});
// EXTERNAL MODULE: ./src/styles/table_botton.less
var table_botton = __webpack_require__(743);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
var _umi_production_exports = __webpack_require__(80608);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(49105);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 3 modules
var PreviewAll = __webpack_require__(89976);
;// CONCATENATED MODULE: ./src/pages/Equipment/Maintenance/index.tsx
// import { history } from 'umi';
// import FileViewer from 'react-file-viewer';
var DeviceTypePage = function DeviceTypePage(_ref) {
objectDestructuringEmpty_default()(_ref);
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
tableData = _useState2[0],
setTableData = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(1),
_useState4 = slicedToArray_default()(_useState3, 2),
page = _useState4[0],
setPage = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(10),
_useState6 = slicedToArray_default()(_useState5, 2),
limit = _useState6[0],
setLimit = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
total = _useState8[0],
setTotal = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(''),
_useState10 = slicedToArray_default()(_useState9, 2),
keyword = _useState10[0],
setKeyword = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
visible = _useState12[0],
setVisible = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)({}),
_useState14 = slicedToArray_default()(_useState13, 2),
dataInfo = _useState14[0],
setDataInfo = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)({
content: "",
type: ""
}),
_useState16 = slicedToArray_default()(_useState15, 2),
data = _useState16[0],
setData = _useState16[1];
var monacoValueRef = (0,_react_17_0_2_react.useRef)();
var _useState17 = (0,_react_17_0_2_react.useState)(false),
_useState18 = slicedToArray_default()(_useState17, 2),
isedit = _useState18[0],
setisedit = _useState18[1];
(0,_react_17_0_2_react.useEffect)(function () {
queryData();
}, [page, limit]);
var preview = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(item.file_type === "txt")) {
_context.next = 5;
break;
}
_context.next = 3;
return (0,fetch/* default */.ZP)(item.url, {
method: "get",
headers: {
"Content-Type": "application/xml"
}
});
case 3:
res = _context.sent;
monacoValueRef.current = res;
case 5:
setData({
type: item.file_type,
content: env/* default */.Z.API_SERVER + item.url
});
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function preview(_x) {
return _ref2.apply(this, arguments);
};
}();
var columns = [{
title: '类型名称',
width: 200,
ellipsis: true,
key: 'name',
dataIndex: 'name'
}, {
title: '关联设备数',
width: 100,
key: 'associated_device_count',
dataIndex: 'associated_device_count'
}, {
title: '支持实验项目数',
width: 100,
key: 'shixun_num',
dataIndex: 'shixun_num'
},
// {
// title: '支持实验课程数',
// width: 100,
// key: 'subject_num',
// dataIndex: 'subject_num',
// },
{
title: '操作手册',
width: 250,
key: 'operate_manuals',
dataIndex: 'operate_manuals',
render: function render(text) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Maintenancemodules.cs_list,
children: text.map(function (v, k) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
overlay: function overlay() {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(menu/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z.Item, {
onClick: function onClick() {
return preview(v);
},
disabled: v.file_type === 'audio' || v.file_type === 'video' || v.file_type === 'office' || v.file_type === 'html' || v.file_type === 'pdf' || v.file_type === 'image' || v.file_type === 'txt' ? false : true,
children: "\u5728\u7EBF\u9884\u89C8"
}, "1"), /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z.Item, {
onClick: function onClick() {
return (0,util/* downLoadLink */.Nd)(v.name, env/* default */.Z.API_SERVER + v.url);
},
children: "\u4E0B\u8F7D"
}, "2")]
});
},
placement: "bottom",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
href: "#",
className: Maintenancemodules.cs_text,
children: [v.name, "\u3001"]
})
}, k);
})
});
}
}, {
title: '类型说明',
key: 'description',
width: 200,
ellipsis: true,
dataIndex: 'description'
}, {
title: '操作',
fixed: 'right',
key: 'cz',
width: 200,
render: function render(_, record) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: "flex"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: "#165dff",
marginRight: '10px',
cursor: "pointer"
},
onClick: function onClick() {
_umi_production_exports.history.push("/equipment/maintenance/".concat(record === null || record === void 0 ? void 0 : record.id, "/details"));
},
children: "\u8BE6\u60C5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: "#165dff",
marginRight: '10px',
cursor: "pointer"
},
onClick: function onClick() {
setVisible(true);
setDataInfo(record);
},
children: "\u7F16\u8F91"
}), !['计算机', '路由器', '交换机', '防火墙', '树莓派', 'FPGA', 'STM32', '串口服务器', '服务器', '摄像头'].includes(record === null || record === void 0 ? void 0 : record.name) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: "#5f6367",
cursor: "pointer"
},
onClick: function onClick() {
deleteTag(record);
},
children: "\u5220\u9664"
})]
});
}
}];
var onChange = function onChange(pageNumber) {
setPage(pageNumber);
};
var onShowSizeChange = function onShowSizeChange(current, pageSize) {
setLimit(pageSize);
};
var queryData = function queryData() {
(0,onlinedevice/* device_type_table_query */.uz)({
page: page,
limit: limit,
keyword: keyword
}).then(function (res) {
// if (res.status == 0) {
setTableData(res === null || res === void 0 ? void 0 : res.device_types);
setTotal(res === null || res === void 0 ? void 0 : res.device_type_count);
// }
});
};
var deleteTag = function deleteTag(data) {
modal/* default */.Z.confirm({
title: '删除',
icon: null,
centered: true,
content: '删除该类型后,数据不可恢复,请确定是否删除',
okText: '确认',
cancelText: '取消',
onOk: function onOk() {
(0,onlinedevice/* device_type_table_delete */.BM)(data.id).then(function (res) {
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
message/* default */.ZP.success('删除成功');
queryData();
} else {
message/* default */.ZP.error(res === null || res === void 0 ? void 0 : res.message);
}
});
}
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Maintenancemodules.header_div,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Maintenancemodules.header_title,
children: "\u8BBE\u5907\u7C7B\u578B\u7BA1\u7406"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Maintenancemodules.search_params,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
placeholder: "\u8BF7\u8F93\u5165\u60A8\u60F3\u641C\u7D22\u7684\u5185\u5BB9",
size: "large",
className: Maintenancemodules.search,
value: keyword,
onChange: function onChange(e) {
setKeyword(e.target.value);
},
onSearch: function onSearch(value) {
setKeyword(value);
},
suffix: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-sousuo9 font14 ".concat(Maintenancemodules.searchIcon),
onClick: function onClick() {
queryData();
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Maintenancemodules.clear_Data,
style: {
width: '88px',
marginLeft: '20px'
},
onClick: function onClick() {
setVisible(true);
setDataInfo({});
},
children: "\u65B0\u5EFA\u7C7B\u578B"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
scroll: {
x: 1500
},
columns: columns,
dataSource: tableData,
pagination: false,
rowKey: function rowKey(record) {
return record.id;
}
}), total > limit && /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
showQuickJumper: true,
current: page,
pageSize: limit,
total: total,
onChange: onChange,
className: Maintenancemodules.page_style,
onShowSizeChange: onShowSizeChange
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Dialog, {
visible: visible,
queryData: queryData,
setVisible: setVisible,
dataInfo: dataInfo
}), /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, {
close: true,
data: data === null || data === void 0 ? void 0 : data.content,
type: data === null || data === void 0 ? void 0 : data.type,
hasMask: true,
editOffice: isedit ? 'edit' : 'view',
monacoEditor: {
value: monacoValueRef.current,
language: "txt",
onChange: function onChange() {},
options: {
readOnly: true,
fontSize: 14,
minimap: {
enabled: false
}
}
},
onImgDimensions: null,
onClose: function onClose() {
setisedit(false);
setData({
content: "",
type: ""
});
}
})]
});
};
/* harmony default export */ var Maintenance = (DeviceTypePage);
/***/ }),
/***/ 743:
/*!**************************************!*\
!*** ./src/styles/table_botton.less ***!
\**************************************/
/***/ (function() {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ 60028:
/*!**********************************************************!*\
!*** ./node_modules/_antd@5.9.0@antd/es/upload/index.js ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony import */ var _Dragger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Dragger */ 71409);
/* harmony import */ var _Upload__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Upload */ 81376);
"use client";
const Upload = _Upload__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z;
Upload.Dragger = _Dragger__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z;
Upload.LIST_IGNORE = _Upload__WEBPACK_IMPORTED_MODULE_0__/* .LIST_IGNORE */ .E;
/* harmony default export */ __webpack_exports__.Z = (Upload);
/***/ })
}]);