UNPKG

fx-form-widget

Version:
221 lines (218 loc) 8.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _modal = _interopRequireDefault(require("antd/lib/modal")); var _table = _interopRequireDefault(require("antd/lib/table")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _button = _interopRequireDefault(require("antd/lib/button")); var _input = _interopRequireDefault(require("antd/lib/input")); var _message2 = _interopRequireDefault(require("antd/lib/message")); var _theme2 = _interopRequireDefault(require("antd/lib/theme")); var _react = _interopRequireWildcard(require("react")); var _icons = require("@ant-design/icons"); var _httpClient = _interopRequireDefault(require("../../config/httpClient")); var _useVariants2 = _interopRequireDefault(require("antd/es/form/hooks/useVariants")); require("./index.less"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } var useToken = _theme2["default"].useToken; var Color = function Color(_ref) { var value = _ref.value, _onChange = _ref.onChange, schema = _ref.schema, isInit = _ref.isInit; var readonly = schema.readonly; var _useToken = useToken(), token = _useToken.token; var _useVariants = (0, _useVariants2["default"])(undefined), variant = _useVariants[0]; var _useState = (0, _react.useState)(), usageInfo = _useState[0], setUsageInfo = _useState[1]; var _useState2 = (0, _react.useState)([]), incrList = _useState2[0], setIncrList = _useState2[1]; var _useState3 = (0, _react.useState)([]), selectedRowKeys = _useState3[0], setSelectedRowKeys = _useState3[1]; var _useState4 = (0, _react.useState)(false), isModalVisible = _useState4[0], setModalVisible = _useState4[1]; var _useState5 = (0, _react.useState)(), selectIncr = _useState5[0], setSelectIncr = _useState5[1]; (0, _react.useEffect)(function () { if (value && incrList.length) { var _checkIncr$; var checkIncr = incrList.filter(function (item) { return value === null || value === void 0 ? void 0 : value.includes(item.prefix); }); var prefix = checkIncr.length ? [(_checkIncr$ = checkIncr[0]) === null || _checkIncr$ === void 0 ? void 0 : _checkIncr$.prefix] : []; setSelectedRowKeys(prefix); setSelectIncr(prefix[0]); } else { setSelectedRowKeys([]); } }, [value, incrList]); (0, _react.useEffect)(function () { isInit && getIncrList(); }, [isInit]); // 获取供应商编码 type:20 var getUsageInfo = function getUsageInfo(prefix) { return new Promise(function (resolve, reject) { try { _httpClient["default"].post('/bestgift/basic/incr/getInfoByUsage', { prefix: prefix, type: 20 }).then(function (res) { if (res && res.success && res.data) { setUsageInfo(res.data); _onChange && _onChange("" + res.data.prefix + res.data.random); resolve(true); } reject(false); }); } catch (error) { reject(false); } }); }; // 编码状态 state:10(启用)、获取供应商编码 type:20 var getIncrList = function getIncrList() { return new Promise(function (resolve, reject) { try { _httpClient["default"].post('/bestgift/basic/incr/getList', { state: 10, type: 20 }).then(function (res) { if (res && res.success && res.data) { var _res$data$, _res$data$2; setIncrList(res.data); ((_res$data$ = res.data[0]) === null || _res$data$ === void 0 ? void 0 : _res$data$.prefix) && !value && getUsageInfo((_res$data$2 = res.data[0]) === null || _res$data$2 === void 0 ? void 0 : _res$data$2.prefix); resolve(true); } reject(false); }); } catch (error) { reject(false); } }); }; var checkGoodsNumber = function checkGoodsNumber() { if (!!selectIncr) { getUsageInfo(selectIncr)["finally"](function () { setModalVisible(false); }); } else { _message2["default"].error('请选择编码规则'); } }; var rowSelection = { columnWidth: 50, selectedRowKeys: selectedRowKeys, onChange: function onChange(selectedRowKeys) { setSelectedRowKeys(selectedRowKeys); setSelectIncr(selectedRowKeys[0]); } }; return /*#__PURE__*/_react["default"].createElement("div", { className: "fx__form-coding-rules" }, /*#__PURE__*/_react["default"].createElement(_input["default"].Group, { compact: true }, /*#__PURE__*/_react["default"].createElement(_input["default"], { allowClear: true, autoComplete: "off", maxLength: 30, value: value, onChange: function onChange(e) { return _onChange && _onChange(e.target.value.replace(/[^\a-\z\A-\Z0-9\-]/g, '')); }, disabled: readonly || (usageInfo === null || usageInfo === void 0 ? void 0 : usageInfo.allowEdit) === -10, style: { width: readonly ? '100%' : 'calc(100% - 70px)' }, placeholder: "\u8BF7\u9009\u62E9\u4F9B\u5E94\u5546\u7F16\u7801" }), !readonly && /*#__PURE__*/_react["default"].createElement(_button["default"], { style: variant === "filled" ? { borderColor: "transparent", boxShadow: "none", backgroundColor: token.colorFillTertiary } : {}, className: "fx__goods-link-btn", onClick: function onClick() { setModalVisible(true); getIncrList(); // 获取增量规则 } }, "\u5207\u6362\u7F16\u7801")), /*#__PURE__*/_react["default"].createElement(_modal["default"], { title: "\u9009\u62E9\u4F9B\u5E94\u5546\u7F16\u7801\u89C4\u5219", open: isModalVisible, styles: { body: { padding: '0' } }, maskClosable: true, onCancel: function onCancel() { return setModalVisible(false); }, footer: /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center' } }, /*#__PURE__*/_react["default"].createElement("div", { style: { flex: 1, textAlign: 'left' } }, /*#__PURE__*/_react["default"].createElement(_button["default"], { key: "add", type: "link", size: "small", icon: /*#__PURE__*/_react["default"].createElement(_icons.PlusCircleOutlined, null), onClick: function onClick() { return window.open('/home/application/supply-chain/goods/coding'); } }, "\u65B0\u589E\u89C4\u5219"), /*#__PURE__*/_react["default"].createElement(_button["default"], { key: "refresh", type: "link", size: "small", icon: /*#__PURE__*/_react["default"].createElement(_icons.UndoOutlined, null), onClick: function onClick() { return getIncrList().then(function () { return _message2["default"].success('刷新成功!'); }); } }, "\u5237\u65B0\u5217\u8868")), /*#__PURE__*/_react["default"].createElement(_button["default"], { key: "submit", type: "primary", onClick: checkGoodsNumber }, "\u786E\u5B9A")) }, /*#__PURE__*/_react["default"].createElement(_table["default"], { rowSelection: (0, _extends2["default"])({ type: 'radio' }, rowSelection), size: "small", columns: [{ title: '编码前缀', dataIndex: 'prefix', align: 'center' }, { title: '是否可编辑', dataIndex: 'allowEdit', align: 'center', render: function render(val) { return val === 10 ? '是' : '否'; } }], rowKey: "prefix", scroll: { y: 300 }, dataSource: incrList, pagination: false }))); }; var _default = exports["default"] = Color;