UNPKG

ming-demo3

Version:
427 lines (373 loc) 14.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _baseui = require("@mdf/baseui"); var _util = require("@mdf/cube/lib/helpers/util"); var _row = _interopRequireDefault(require("../basic/row")); var _col = _interopRequireDefault(require("../basic/col")); var _button = _interopRequireDefault(require("../basic/button")); var RadioGroup = _baseui.Radio.Group; if (process.env.__CLIENT__ === true) { require("./sens.css"); } var SensDataRole = function (_React$Component) { (0, _inherits2["default"])(SensDataRole, _React$Component); function SensDataRole(props) { var _this; (0, _classCallCheck2["default"])(this, SensDataRole); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(SensDataRole).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRadioChange", function (e, item) { var sensData = _this.state.sensData; var code = item.code; sensData.forEach(function (data) { var children = data.children; if (children) { children.forEach(function (data1) { var children1 = data1.children; if (children1) { children1.forEach(function (data2) { if (data2.code == code) { if (cb.utils.isEmpty(data2.oldAuth)) data2.oldAuth = data2.hasAuth; data2.hasAuth = e.target.value; if (data2.hasAuth != data2.oldAuth) { data2._status = "Update"; if (data1.hasAuth != data1.oldAuth) data1._status = 'Update'; if (data.hasAuth != data.oldAuth) data._status = 'Update'; } else data2._status = "UnChange"; } return; }); } }); } }); _this.setState({ sensData: sensData }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loopSetEnable", function (data, isEnable) { data.map(function (item) { item.isEnable = isEnable; if (item.children) _this.loopSetEnable(item.children, isEnable); }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setIndeterminate", function (authList) { authList.forEach(function (ele) { var second = ele.children; if (second) { var secondLen = second.length, checkedLen1 = 0, indet1 = 0; second.forEach(function (ele1) { var last = ele1.children; if (last) { var lastLen = last.length, checkedLen2 = 0; last.forEach(function (ele2) { if (ele2.isEnable) checkedLen2 += 1; }); if (lastLen > checkedLen2 && checkedLen2 != 0) { ele1.indeterminate = true; ele1.isEnable = false; } else { if (lastLen == checkedLen2 && lastLen != 0) ele1.isEnable = true; if (checkedLen2 == 0) ele1.isEnable = false; ele1.indeterminate = false; } } if (ele1.isEnable) checkedLen1 += 1; if (ele1.indeterminate) indet1 += 1; }); if (secondLen > checkedLen1 && (checkedLen1 != 0 || indet1 != 0)) { ele.indeterminate = true; ele.isEnable = false; } else { if (secondLen == checkedLen1) ele.isEnable = true; ele.indeterminate = false; } } }); return authList; }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loopTree", function (tree, data) { tree.map(function (item) { if (item.children) { if (item._status == 'Update') data.push(item); _this.loopTree(item.children, data); } else if (item._status == 'Update') data.push(item); }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (e, type) { if (type == 'cancel') { _this.setState({ sensData: cb.utils.extend(true, [], _this.state.cacheData) }); return; } var sensData = _this.state.sensData; var data = []; _this.loopTree(sensData, data); if (data.length == 0) { cb.utils.alert('数据未更改~', 'error'); return; } var proxy = cb.rest.DynamicProxy.create({ saveSensData: { url: 'sensdata/save', method: 'POST', options: { token: true } } }); proxy.saveSensData({ data: data }, function (err, result) { if (err) cb.utils.alert('保存失败!' + (err ? err.message : ''), 'error');else cb.utils.alert('保存成功!', 'success'); }, (0, _assertThisInitialized2["default"])(_this)); }); _this.state = { sensData: [] }; _this.getSensData(); return _this; } (0, _createClass2["default"])(SensDataRole, [{ key: "getSensData", value: function () { var _getSensData = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() { var config, json, sensData; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: config = { url: 'sensdata/list', method: 'GET' }; _context.next = 3; return (0, _util.proxy)(config); case 3: json = _context.sent; if (!(json.code !== 200)) { _context.next = 7; break; } cb.utils.alert('获取敏感数据列表失败!' + json.message, 'error'); return _context.abrupt("return"); case 7: sensData = json.data || []; this.setState({ sensData: sensData, 'cacheData': cb.utils.extend(true, [], sensData) }); case 9: case "end": return _context.stop(); } } }, _callee, this); })); function getSensData() { return _getSensData.apply(this, arguments); } return getSensData; }() }, { key: "onChecked", value: function onChecked(e, code, level) { var _this2 = this; var sensData = this.state.sensData; var isEnable = e.target.checked; sensData && sensData.forEach(function (ele) { if (ele.level == level) { if (ele.code == code) { if (cb.utils.isEmpty(ele.oldAuth)) ele.oldAuth = ele.isEnable; ele.isEnable = isEnable; if (ele.oldAuth != ele.isEnable) ele._status = 'Update';else ele._status = 'UnChange'; if (ele.children) _this2.loopSetEnable(ele.children, isEnable); return; } } else { var second = ele.children; second && second.forEach(function (ele1) { if (ele1.level == level) { if (ele1.code == code) { if (cb.utils.isEmpty(ele1.oldAuth)) ele1.oldAuth = ele1.isEnable; ele1.isEnable = isEnable; if (ele1.oldAuth != ele1.isEnable) ele1._status = 'Update';else ele1._status = 'UnChange'; if (ele1.children) _this2.loopSetEnable(ele1.children, isEnable); return; } } else { var third = ele1.children; third && third.forEach(function (ele2) { if (ele2.code == code) { if (cb.utils.isEmpty(ele2.oldAuth)) ele2.oldAuth = ele2.isEnable; ele2.isEnable = isEnable; if (ele2.oldAuth != ele2.isEnable) ele2._status = 'Update';else ele2._status = 'UnChange'; return; } }); } }); } }); sensData = this.setIndeterminate(sensData); this.setState({ sensData: sensData }); } }, { key: "getAuthControl", value: function getAuthControl() { var sensData = this.state.sensData; var authControl = []; sensData.forEach(function (ele) { var _this5 = this; var options = []; var second = ele.children ? ele.children : []; var secondLen = second.length; second.forEach(function (item, index) { var _this4 = this; var third = item.children ? item.children : []; var thirdAuth = [], thirdLen = third.length; third.forEach(function (item1, index1) { var _this3 = this; var thirdClass = 'third-row'; if (thirdLen == index1 + 1) thirdClass += ' third-row-end'; thirdAuth.push(_react["default"].createElement(_row["default"], { colCount: 12, className: thirdClass }, _react["default"].createElement(_col["default"], { span: 3 }, _react["default"].createElement(_baseui.Checkbox, { checked: item1.isEnable, onChange: function onChange(e) { return _this3.onChecked(e, item1.code, 3); } }, item1.name)), _react["default"].createElement(_col["default"], { span: 9, className: "last-auth" }, _react["default"].createElement(RadioGroup, { onChange: function onChange(e) { return _this3.onRadioChange(e, item1); }, value: item1.hasAuth }, _react["default"].createElement(_baseui.Radio, { disabled: !item1.isEnable, value: false }, "\u65E0\u6743"), _react["default"].createElement(_baseui.Radio, { disabled: !item1.isEnable, value: true }, "\u6709\u6743"))))); }, this); var secondClass = 'second-row'; if (secondLen == index + 1) secondClass += ' second-row-end'; options.push(_react["default"].createElement(_row["default"], { colCount: 12, className: secondClass }, _react["default"].createElement(_col["default"], { span: 2 }, _react["default"].createElement(_baseui.Checkbox, { checked: item.isEnable, indeterminate: item.indeterminate, onChange: function onChange(e) { return _this4.onChecked(e, item.code, 2); } }, item.name)), _react["default"].createElement(_col["default"], { span: 10 }, thirdAuth))); }, this); authControl.push(_react["default"].createElement(_row["default"], { colCount: 12, className: "roleRow-2 sensRole" }, _react["default"].createElement(_col["default"], { span: 2 }, _react["default"].createElement(_baseui.Checkbox, { className: "firstRole", checked: ele.isEnable, indeterminate: ele.indeterminate, onChange: function onChange(e) { return _this5.onChecked(e, ele.code, 1); } }, ele.name)), _react["default"].createElement(_col["default"], { span: 10 }, options))); }, this); return authControl; } }, { key: "getFooterControl", value: function getFooterControl() { var _this6 = this; return _react["default"].createElement(_row["default"], { colCount: 12, className: "bottom-toolbar" }, _react["default"].createElement(_button["default"], { type: "primary", onClick: function onClick(e) { return _this6.buttonClick(e); } }, "\u4FDD\u5B58"), _react["default"].createElement(_button["default"], { className: "m-l-10", onClick: function onClick(e) { return _this6.buttonClick(e, 'cancel'); } }, "\u53D6\u6D88")); } }, { key: "getBodyControl", value: function getBodyControl() { var bodyControl = []; var authControl = this.getAuthControl(); bodyControl.push(_react["default"].createElement(_row["default"], { colCount: 12, className: "sensRoleRow" }, _react["default"].createElement(_col["default"], { className: "role-select", span: 10 }, authControl))); return bodyControl; } }, { key: "getControl", value: function getControl() { var body = this.getBodyControl(); var footer = this.getFooterControl(); return _react["default"].createElement("div", { className: "roleControl footerFixed" }, _react["default"].createElement("div", { className: "sensRole-header" }, "\u542F\u7528\u654F\u611F\u6570\u636E\u6743\u9650\u63A7\u5236"), _react["default"].createElement("div", { className: "sensRole-body" }, body), _react["default"].createElement("div", { className: "" }, footer)); } }, { key: "render", value: function render() { var control = this.getControl(); return control; } }]); return SensDataRole; }(_react["default"].Component); exports["default"] = SensDataRole; ; //# sourceMappingURL=SensDataRole.js.map