fx-form-widget
Version:
221 lines (218 loc) • 8.6 kB
JavaScript
"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;