Nessuna descrizione

index.js 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. import { a as _inherits, b as _createClass, c as _defineProperty, d as _classCallCheck, e as _possibleConstructorReturn, f as _getPrototypeOf, j as _assertThisInitialized } from '../_rollupPluginBabelHelpers-bf46fecd.js';
  2. import React from 'react';
  3. import { s as styleInject } from '../style-inject.es-1f59c1d0.js';
  4. import { createPortal } from 'react-dom';
  5. import { i as isBrowser, s as styles$1 } from '../Modal-67d33baf.js';
  6. import { Tooltip, Input, Button, Popover } from 'antd';
  7. var Modal =
  8. /*#__PURE__*/
  9. function (_React$PureComponent) {
  10. _inherits(Modal, _React$PureComponent);
  11. function Modal() {
  12. _classCallCheck(this, Modal);
  13. return _possibleConstructorReturn(this, _getPrototypeOf(Modal).apply(this, arguments));
  14. }
  15. _createClass(Modal, [{
  16. key: "render",
  17. value: function render() {
  18. if (!isBrowser()) return null; // 服务端无需渲染下列代码,渲染也会出错
  19. var DEFAULT_CONTAINER = document.getElementById('container');
  20. var _this$props = this.props,
  21. children = _this$props.children,
  22. visible = _this$props.visible,
  23. onCancel = _this$props.onCancel,
  24. _this$props$container = _this$props.container,
  25. container = _this$props$container === void 0 ? DEFAULT_CONTAINER : _this$props$container;
  26. var finalMountContainer = document.body;
  27. if (!container) {
  28. if (!DEFAULT_CONTAINER) {
  29. if (!Modal.hasShowWarning) {
  30. Modal.hasShowWarning = true;
  31. }
  32. finalMountContainer = document.body;
  33. } else {
  34. if (!Modal.hasShowWarning) {
  35. Modal.hasShowWarning = true;
  36. }
  37. finalMountContainer = DEFAULT_CONTAINER;
  38. }
  39. }
  40. return visible && createPortal(React.createElement("div", {
  41. className: styles$1.wrapper
  42. }, React.createElement("div", {
  43. className: styles$1.overlay,
  44. onClick: onCancel
  45. }), React.createElement("div", {
  46. className: styles$1.container
  47. }, children)), finalMountContainer);
  48. }
  49. }]);
  50. return Modal;
  51. }(React.PureComponent);
  52. _defineProperty(Modal, "hasShowWarning", false);
  53. const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAACMUlEQVQ4T52Uz4tSURTHPxP9oCkKy0UuIqvZSAsrHHgLEaFSDCJoU0GpQaBgqOCmP6AWKrR5kIELNzZZUUQLlReFFowOboQK2oyLkgExsxqJoprixlx5yXs1dXbvnO/93HPPO+dM8WfbCuwANgNfgA/A0OzIlElgH3AIsBrEl4EXwEvguz4+CdsIHAV2/yVjEX4PVFez/SXXwzYAJ4GdawBJyWfggQTqYSKj/f8AklKR4V1gRcJ2rWY1Zvl8PqumaW8n4YFAwFqpVCb988BzCTsCzMiDDodjut1uX11YWGh4PJ470p/L5ZRIJHI+kUhcU1V1UXfRR+CWhF0ARPHHpqrqbCwWC7darXm32z2Xz+fdoVDobL1ef+z1eu8ZlOO2gIkeChrVKpPJHEylUhd7vd5rm822V9O0it/vf2hS16qAbQfOmBW+3W6HnU6nMhgMlux2+5XRaLRion0iYJuAsJGgWq2e8Pv9x5vN5lOXy6V0Op1XiqLkh8PhNwN9WdbsHLBFL6jVaqc8Hs+xYrE4FwwGnyWTyZl0On2p2+0uKopyo9/vf9XpfwA3JcwNHND/zUajcblUKpWj0WhT+qPRqD2bzUbi8fj1QqHwRgfrA/clbBtwGlgnBRaLZb3Rc0z8j4COfgJmgcP/MQEiw/LkbAqwGCmxMdZq7wDRKmI9/Tbo8ltk6NQ/2YTcAWrA+EeY7TPRewK4B5jWwcRB8Syxy5YmLzGD6XViQuSm/QSINjC0n/ltqZBTCKFgAAAAAElFTkSuQmCC';
  54. var css = ".AllocWantedModal_wantedModalContent__3tJgp {\n background-color: white;\n width: 360px;\n height: 314px;\n padding: 22px 28px;\n border-radius: 7px;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_title__31N0x {\n font-size: 18px;\n font-weight: 400;\n text-align: center;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_wantedValueText__39a-6 {\n color: #565656;\n margin-top: 48px;\n font-size: 14px;\n line-height: 20px;\n text-align: center;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_wantedInputNumber__2qs1k {\n margin: 11px auto;\n text-align: center;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_wantedInputNumber__2qs1k .ant-input {\n color: #FB4B56;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_wantedValueTipBottom__2JmOx {\n margin: 0 auto;\n font-size: 12px;\n text-align: center;\n width: 208px;\n color: #9B9B9B;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 23px;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C .AllocWantedModal_confirmButton__1oARY {\n color: white;\n background-color: #71C135;\n width: 170px;\n height: 36px;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C .AllocWantedModal_confirmButton__1oARY:hover,\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C .AllocWantedModal_confirmButton__1oARY:focus {\n outline: none;\n border-color: #8cd158;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C .AllocWantedModal_tipsButton__QUN7t {\n margin-left: 22px;\n width: 20px;\n}\n.AllocWantedModal_wantedModalContent__3tJgp .AllocWantedModal_buttonRow__RkN1C .AllocWantedModal_tipsButton__QUN7t .schedule {\n font-size: 18px;\n cursor: pointer;\n}\n.AllocWantedModal_closeButton__1Os0F {\n position: absolute;\n right: 10px;\n top: 10px;\n display: block;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n cursor: pointer;\n}\n.AllocWantedModal_closeButton__1Os0F img {\n width: 100%;\n height: 100%;\n}\n.AllocWantedModal_tipsView__3AZ9T h6 {\n margin: 0;\n font-size: 12px;\n line-height: 22px;\n color: #3D3D3D;\n}\n.AllocWantedModal_tipsView__3AZ9T div {\n font-size: 12px;\n}\n.AllocWantedModal_outRangeTextTip__3LKBb .ant-tooltip-inner {\n color: red;\n}\n";
  55. var styles = {"wantedModalContent":"AllocWantedModal_wantedModalContent__3tJgp","title":"AllocWantedModal_title__31N0x","wantedValueText":"AllocWantedModal_wantedValueText__39a-6","wantedInputNumber":"AllocWantedModal_wantedInputNumber__2qs1k","wantedValueTipBottom":"AllocWantedModal_wantedValueTipBottom__2JmOx","buttonRow":"AllocWantedModal_buttonRow__RkN1C","confirmButton":"AllocWantedModal_confirmButton__1oARY","tipsButton":"AllocWantedModal_tipsButton__QUN7t","closeButton":"AllocWantedModal_closeButton__1Os0F","tipsView":"AllocWantedModal_tipsView__3AZ9T","outRangeTextTip":"AllocWantedModal_outRangeTextTip__3LKBb"};
  56. styleInject(css);
  57. var AllocWantedModal =
  58. /*#__PURE__*/
  59. function (_React$Component) {
  60. _inherits(AllocWantedModal, _React$Component);
  61. function AllocWantedModal(props) {
  62. var _this;
  63. _classCallCheck(this, AllocWantedModal);
  64. _this = _possibleConstructorReturn(this, _getPrototypeOf(AllocWantedModal).call(this, props));
  65. _defineProperty(_assertThisInitialized(_this), "ModalInputRef", void 0);
  66. _defineProperty(_assertThisInitialized(_this), "ModalContentRef", void 0);
  67. _defineProperty(_assertThisInitialized(_this), "handleSendValueChange", function (v) {
  68. if (_this.state.outRangeTip) {
  69. _this.setState({
  70. outRangeTip: !_this.checkSendValue()
  71. });
  72. }
  73. _this.setState({
  74. sendValue: v
  75. });
  76. });
  77. _defineProperty(_assertThisInitialized(_this), "checkSendValue", function () {
  78. var sendValueRange = _this.props.sendValueRange;
  79. var sendValue = _this.state.sendValue;
  80. var min = 0;
  81. var max = Number(_this.props.allocValue);
  82. if (sendValueRange) {
  83. min = Number(sendValueRange[0]);
  84. max = Number(sendValueRange[1]);
  85. }
  86. if (sendValue > max) {
  87. _this.setState({
  88. // sendValue: max,
  89. outRangeTip: true
  90. });
  91. return false;
  92. } else if (sendValue < min) {
  93. _this.setState({
  94. // sendValue: max,
  95. outRangeTip: true
  96. });
  97. return false;
  98. }
  99. return true;
  100. });
  101. _defineProperty(_assertThisInitialized(_this), "handleCloseAction", function () {
  102. _this.setState({
  103. visible: false,
  104. sendValue: 0,
  105. outRangeTip: false
  106. }, function () {
  107. _this.props.handleVisibleChange(false);
  108. });
  109. });
  110. _defineProperty(_assertThisInitialized(_this), "handleShowAction", function () {
  111. _this.setState({
  112. visible: true
  113. }, function () {
  114. _this.props.handleVisibleChange(true);
  115. });
  116. });
  117. _defineProperty(_assertThisInitialized(_this), "handleConfirm", function () {
  118. var sendGiftData = _this.props.sendGiftData;
  119. var checkResult = _this.checkSendValue();
  120. if (!checkResult) {
  121. // 未通过验证
  122. return null;
  123. } // 进行分配请求
  124. Promise.resolve(_this.props.sendRequest({
  125. business_type: 14,
  126. // 表示悬赏答案
  127. ref_id: sendGiftData.answerId.toString(),
  128. // 对应回答的id
  129. origin_id: sendGiftData.questionId,
  130. // 对应问题的id
  131. to_user: sendGiftData.toUserId,
  132. // 悬赏给谁
  133. goods_id: 2,
  134. // 礼物id 帮币的话为2
  135. num: Number(_this.state.sendValue) // 礼物数量
  136. })).then(function (res) {
  137. console.log("res: ", res);
  138. if (res) {
  139. _this.handleCloseAction();
  140. } else {
  141. _this.handleCloseAction();
  142. }
  143. });
  144. });
  145. _defineProperty(_assertThisInitialized(_this), "renderCloseButton", function () {
  146. return React.createElement("div", {
  147. role: "button",
  148. tabIndex: -1,
  149. className: styles.closeButton,
  150. onClick: function onClick() {
  151. _this.handleCloseAction();
  152. }
  153. }, React.createElement("img", {
  154. src: img,
  155. alt: "close button for send wanted"
  156. })); // return null;
  157. });
  158. _defineProperty(_assertThisInitialized(_this), "renderModalContent", function () {
  159. return React.createElement("div", {
  160. className: styles.wantedModalContent,
  161. ref: _this.ModalContentRef
  162. }, _this.renderCloseButton(), React.createElement("h4", {
  163. className: styles.title
  164. }, "\u5206\u914D\u60AC\u8D4F\u5956\u91D1"), React.createElement("div", {
  165. className: styles.wantedValueText
  166. }, "\u5269\u4F59\u53EF\u5206\u914D ".concat(_this.props.allocValue, "\u5143")), React.createElement(Tooltip, {
  167. visible: _this.state.outRangeTip,
  168. title: "\u8D85\u8FC7\u8303\u56F4\u503C",
  169. placement: "bottom",
  170. overlayClassName: styles.outRangeTextTip,
  171. getTooltipContainer: function getTooltipContainer() {
  172. return _this.ModalContentRef && _this.ModalContentRef.current;
  173. }
  174. }, React.createElement(Input, {
  175. ref: _this.ModalInputRef,
  176. className: styles.wantedInputNumber,
  177. suffix: "\u5143",
  178. value: _this.state.sendValue,
  179. onChange: function onChange(e) {
  180. return _this.handleSendValueChange(e.target.value);
  181. },
  182. onFocus: function onFocus(e) {
  183. return e.target.setSelectionRange(0, String(_this.state.sendValue).length);
  184. }
  185. })), React.createElement("div", {
  186. className: styles.wantedValueTipBottom
  187. }, "\u9700\u8981\u5728\u60AC\u8D4F\u65F6\u95F4\u7ED3\u675F\u524D\u5C06\u5956\u91D1\u5206\u914D\u5B8C\u6210, \u5426\u5219\u5C06\u6309\u7167\u89C4\u5219\u81EA\u52A8\u5206\u914D"), React.createElement("div", {
  188. className: styles.buttonRow
  189. }, React.createElement("div", {
  190. className: styles.tipsButton
  191. }), React.createElement(Button, {
  192. className: styles.confirmButton,
  193. onClick: _this.handleConfirm
  194. }, "\u786E\u8BA4"), React.createElement("div", {
  195. className: styles.tipsButton
  196. }, React.createElement(Popover, {
  197. placement: "bottom",
  198. trigger: "click",
  199. getPopupContainer: function getPopupContainer() {
  200. return _this.ModalContentRef && _this.ModalContentRef.current;
  201. },
  202. overlayStyle: {
  203. width: "320px"
  204. },
  205. content: React.createElement("div", {
  206. className: styles.tipsView
  207. }, React.createElement("h6", null, "1\u3001\u5982\u4F55\u53C2\u4E0E\u60AC\u8D4F\uFF1F"), React.createElement("div", null, "\u60AC\u8D4F\u95EE\u9898\u7686\u6709\u6709\u6548\u671F\uFF0C\u9ED8\u8BA4\u4E3A120\u5C0F\u65F6\uFF085\u5929\uFF09\uFF0C\u5728\u6709\u6548\u671F\u5185\u56DE\u590D\u7684\u7B54\u6848\uFF0C\u624D\u6709\u8D44\u683C\u88AB\u9009\u4E3A\u6700\u4F73\u7B54\u6848\uFF0C\u4EE5\u53CA\u5206\u5F97\u8D4F\u91D1\u3002"), React.createElement("h6", null, "2\u3001\u8D4F\u91D1\u5982\u4F55\u5206\uFF1F"), React.createElement("div", null, "\u60AC\u8D4F\u65F6\u95F4\u7ED3\u675F\u524D\uFF0C\u63D0\u95EE\u8005\u53EF\u968F\u65F6\u9009\u51FA\u6700\u4F18\u7B54\u6848\uFF0C\u5E76\u5BF9\u8D4F\u91D1\u8FDB\u884C\u5206\u914D\uFF0C\u76F4\u81F3\u8D4F\u91D1\u88AB\u5206\u5B8C\u6216\u65F6\u95F4\u5230\u671F\u4E3A\u6B62\u3002\u82E5\u60AC\u8D4F\u65F6\u95F4\u5230\u671F\uFF0C\u60AC\u8D4F\u8005\u4ECD\u672A\u5206\u914D\u8D4F\u91D1\uFF0C\u4E14\u56DE\u7B54\u6570\u5927\u4E8E\u7B49\u4E8E2\uFF0C\u7CFB\u7EDF\u5219\u9ED8\u8BA4\u5C06\u8D4F\u91D1\u5E73\u5206\u7ED9\u70B9\u8D5E\u6570\u524D3\u540D\u7684\u56DE\u7B54\u3002"), React.createElement("h6", null, "3\u3001\u8D4F\u91D1\u80FD\u9000\u6B3E\u5417\uFF1F"), React.createElement("div", null, "\u8D4F\u91D1\u53EA\u4F1A\u5728\u4EE5\u4E0B2\u79CD\u60C5\u51B5\u8FDB\u884C\u9000\u6B3E\uFF1A\u4E00\u3001\u60AC\u8D4F\u65F6\u95F4\u5230\u671F\uFF0C\u56DE\u7B54\u6570\u5C0F\u4E8E2\uFF0C\u8D4F\u91D1\u5C06\u81EA\u52A8\u9000\u8FD8\u81F3\u63D0\u95EE\u8005\u7684\u94B1\u5305\uFF1B\u4E8C\u3001\u60AC\u8D4F\u65F6\u95F4\u5230\u671F\uFF0C\u60AC\u8D4F\u8005\u672A\u5206\u914D\u5B8C\u8D4F\u91D1\uFF0C\u7CFB\u7EDF\u81EA\u52A8\u5C06\u5269\u4F59\u7684\u8D4F\u91D1\u9000\u8FD8\u81F3\u63D0\u95EE\u8005\u7684\u94B1\u5305\u3002"))
  208. }, React.createElement("i", {
  209. className: "schedule schedule-icon_rewardtips"
  210. })))));
  211. });
  212. _this.state = {
  213. visible: false,
  214. sendValue: 0,
  215. outRangeTip: false
  216. };
  217. _this.ModalContentRef = React.createRef();
  218. _this.ModalInputRef = React.createRef();
  219. return _this;
  220. }
  221. _createClass(AllocWantedModal, [{
  222. key: "render",
  223. value: function render() {
  224. var _this2 = this;
  225. var children = this.props.children;
  226. return React.createElement(React.Fragment, null, React.createElement("div", {
  227. className: styles.wrapper,
  228. onClick: function onClick() {
  229. return _this2.handleShowAction();
  230. }
  231. }, children), React.createElement(Modal, {
  232. visible: this.state.visible,
  233. onCancel: function onCancel() {
  234. return _this2.handleCloseAction();
  235. }
  236. }, this.renderModalContent()));
  237. }
  238. }]);
  239. return AllocWantedModal;
  240. }(React.Component);
  241. export default AllocWantedModal;
  242. //# sourceMappingURL=index.js.map