@aliretail/react-link-selector
Version:
126 lines (103 loc) • 4.46 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = Detail;
var _pagination = _interopRequireDefault(require("@alifd/next/lib/pagination"));
var _table = _interopRequireDefault(require("@alifd/next/lib/table"));
var _search = _interopRequireDefault(require("@alifd/next/lib/search"));
var _react = _interopRequireWildcard(require("react"));
var _reactUniversalRequest = _interopRequireDefault(require("@aliretail/react-universal-request"));
var _api = _interopRequireDefault(require("../api"));
var _data = require("./data");
require("./index.scss");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var PAGESIZE = 20;
function Detail(props) {
var buildValue = function buildValue(val) {
return val;
};
var _useState = (0, _react.useState)([]),
data = _useState[0],
setData = _useState[1];
var _useState2 = (0, _react.useState)(buildValue(props.value)),
value = _useState2[0],
setValue = _useState2[1];
var _useState3 = (0, _react.useState)(0),
start = _useState3[0],
setStart = _useState3[1];
var _useState4 = (0, _react.useState)(''),
searchKeyword = _useState4[0],
setSearchKeyword = _useState4[1];
var _useState5 = (0, _react.useState)(0),
total = _useState5[0],
setTotal = _useState5[1];
var queryData = function queryData() {
(0, _reactUniversalRequest["default"])({
url: _api["default"].detail,
method: 'POST',
data: {
start: start,
limit: PAGESIZE,
pageName: searchKeyword
}
}).then(function (json) {
setTotal(json.result.totalElements);
setData(json.result);
});
};
(0, _react.useEffect)(function () {
queryData();
}, []);
(0, _react.useEffect)(function () {
setValue(buildValue(props.value));
}, [props.value]);
/** 检索当前页面组件 */
var search = function search(keyword) {
setSearchKeyword(keyword);
};
(0, _react.useEffect)(function () {
queryData();
}, [start, searchKeyword]);
var rowSelection = {
selectedRowKeys: value,
onSelect: function onSelect(checked, record, row) {
props.onSelect({
type: 'detail',
result: [record.itemId]
});
},
mode: 'single'
};
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_search["default"], {
style: {
margin: '10px 0'
},
shape: "simple",
onSearch: search,
placeholder: "\u901A\u8FC7\u5546\u54C1\u540D\u79F0\u3001ID\u641C\u7D22"
}), /*#__PURE__*/_react["default"].createElement("div", {
className: "detail-page-list"
}, /*#__PURE__*/_react["default"].createElement(_table["default"], {
dataSource: data,
rowSelection: rowSelection,
hasBorder: false,
primaryKey: "itemId",
columns: _data.columns
})), /*#__PURE__*/_react["default"].createElement(_pagination["default"], {
total: total,
pageSize: PAGESIZE,
hideOnlyOnePage: true,
current: Math.floor(start / PAGESIZE) + 1,
onChange: function onChange(n) {
setStart((n - 1) * PAGESIZE);
},
shape: "arrow-only",
pageShowCount: 5,
style: {
marginTop: '16px',
"float": 'right'
},
showJump: false
}));
}