@aliretail/react-materials-components
Version:
103 lines (95 loc) • 3.24 kB
JavaScript
import _Select from "@alifd/next/es/select";
import _Radio from "@alifd/next/es/radio";
import _extends from "@babel/runtime/helpers/extends";
import _NumberPicker from "@alifd/next/es/number-picker";
import * as React from 'react';
import { withFormError } from "../FormError";
var StrategyMap = new Map([[1, {
description: '允许申请售后时长',
prefix: '订单签收',
suffix: '内允许售后'
}], [2, {
description: '售后审核时长',
prefix: '申请售后',
suffix: '内未审核,售后单自动审核通过'
}], [3, {
description: '审核后发起退货时长',
prefix: '退货审核通过后,买家',
suffix: '内未发起退货,售后单自动关闭'
}], [4, {
description: '售后自动收货时长',
prefix: '补寄/换货商家发货',
suffix: '售后单自动收货'
}]]);
var getStrategyItem = function getStrategyItem(key) {
return StrategyMap.get(key);
};
/** 错误提示增强过后的NumberPicker */
var NumberPickerWithError = withFormError(_NumberPicker, 'TimeoutType');
var TimeoutType = /*#__PURE__*/React.forwardRef(function (props) {
// eslint-disable-next-line react/prop-types
var value = props.value,
onChange = props.onChange;
var _ref = value || {},
type = _ref.type,
time = _ref.time,
unit = _ref.unit;
var handleTypeChange = function handleTypeChange(t) {
onChange === null || onChange === void 0 ? void 0 : onChange({
time: undefined,
type: t,
unit: unit || 'day'
});
};
var handleTimeChange = function handleTimeChange(t) {
onChange === null || onChange === void 0 ? void 0 : onChange(_extends({}, value, {
time: t
}));
};
var handleUnitChange = function handleUnitChange(u) {
onChange === null || onChange === void 0 ? void 0 : onChange(_extends({}, value, {
unit: u
}));
};
var strategy = getStrategyItem(type);
return /*#__PURE__*/React.createElement("div", {
className: "aliretail-timeout-type"
}, /*#__PURE__*/React.createElement("div", {
className: "aliretail-timeout-type-radio"
}, /*#__PURE__*/React.createElement(_Radio.Group, {
value: type,
onChange: handleTypeChange
}, /*#__PURE__*/React.createElement(_Radio, {
value: 1
}, getStrategyItem(1).description), /*#__PURE__*/React.createElement(_Radio, {
value: 2
}, getStrategyItem(2).description), /*#__PURE__*/React.createElement(_Radio, {
value: 3
}, getStrategyItem(3).description), /*#__PURE__*/React.createElement(_Radio, {
value: 4
}, getStrategyItem(4).description))), strategy && /*#__PURE__*/React.createElement("div", {
className: "aliretail-timeout-type-inputs"
}, strategy.prefix, /*#__PURE__*/React.createElement(NumberPickerWithError, {
rules: [{
max: 100,
min: 50
}],
value: time,
onChange: handleTimeChange,
placeholder: "\u8BF7\u8F93\u5165",
style: {
width: 120,
margin: '0 8px'
}
}), /*#__PURE__*/React.createElement(_Select, {
value: unit,
onChange: handleUnitChange,
style: {
width: 100,
marginRight: 8
}
}, /*#__PURE__*/React.createElement(_Select.Option, {
value: "day"
}, "\u5929")), strategy.suffix));
});
export default TimeoutType;