No Description

index.js.map 15KB

1
  1. {"version":3,"file":"index.js","sources":["../../src/components/Common/Modal/index.tsx","../../src/components/Payment/assets/icon/close.png","../../src/components/Payment/AllocWantedModal/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { isBrowser } from '../Utils/utils';\r\n\r\nimport styles from './Modal.less';\r\n\r\nexport interface ModalProps {\r\n visible: boolean\r\n onCancel: (e: any) => void\r\n container?: HTMLElement | null\r\n}\r\n\r\nexport class Modal extends React.PureComponent<ModalProps> {\r\n static hasShowWarning = false;\r\n\r\n render() {\r\n if (!isBrowser()) return null; // 服务端无需渲染下列代码,渲染也会出错\r\n const DEFAULT_CONTAINER: HTMLElement | null = document.getElementById('container');\r\n const { children, visible, onCancel, container = DEFAULT_CONTAINER } = this.props\r\n let finalMountContainer: HTMLElement = document.body;\r\n if (!container) {\r\n if (!DEFAULT_CONTAINER) {\r\n if (!Modal.hasShowWarning) {\r\n Modal.hasShowWarning = true;\r\n }\r\n finalMountContainer = document.body;\r\n } else {\r\n if (!Modal.hasShowWarning) {\r\n Modal.hasShowWarning = true;\r\n }\r\n finalMountContainer = DEFAULT_CONTAINER;\r\n }\r\n }\r\n return visible && createPortal(\r\n <div className={ styles.wrapper }>\r\n <div\r\n className={ styles.overlay }\r\n onClick={ onCancel }\r\n />\r\n <div\r\n className={ styles.container }\r\n >\r\n { children }\r\n </div>\r\n </div>,\r\n finalMountContainer,\r\n )\r\n }\r\n}\r\n\r\nexport default Modal;","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'; export default img;","import React, { RefObject } from \"react\";\r\nimport { Input, Button, Popover, Tooltip } from \"antd\";\r\nimport { Modal } from \"@/components/Common/Modal/index.tsx\";\r\n\r\nimport CloseButtonIcon from \"../assets/icon/close.png\";\r\n\r\nimport styles from \"./AllocWantedModal.less\";\r\n\r\ninterface AllocWantedModalProps {\r\n allocValue: string | number | null;\r\n sendValueRange: Array<string | number>;\r\n sendRequest: Function;\r\n sendGiftData: {\r\n answerId: string | number;\r\n questionId: string | number;\r\n toUserId: string | number;\r\n };\r\n handleVisibleChange: (visible: boolean) => void;\r\n}\r\ninterface AllocWantedModalState {\r\n visible: boolean;\r\n outRangeTip: boolean;\r\n sendValue: string | number;\r\n}\r\n\r\nclass AllocWantedModal extends React.Component<\r\n AllocWantedModalProps,\r\n AllocWantedModalState\r\n> {\r\n ModalInputRef: RefObject<Input>;\r\n ModalContentRef: RefObject<any>;\r\n\r\n constructor(props: AllocWantedModalProps) {\r\n super(props);\r\n this.state = {\r\n visible: false,\r\n sendValue: 0,\r\n outRangeTip: false\r\n };\r\n this.ModalContentRef = React.createRef();\r\n this.ModalInputRef = React.createRef();\r\n }\r\n\r\n handleSendValueChange = (v: string | number) => {\r\n if (this.state.outRangeTip) {\r\n this.setState({\r\n outRangeTip: !this.checkSendValue()\r\n });\r\n }\r\n this.setState({\r\n sendValue: v\r\n });\r\n };\r\n\r\n checkSendValue = () => {\r\n const { sendValueRange } = this.props;\r\n const { sendValue } = this.state;\r\n let min = 0;\r\n let max = Number(this.props.allocValue);\r\n if (sendValueRange) {\r\n min = Number(sendValueRange[0]);\r\n max = Number(sendValueRange[1]);\r\n }\r\n if (sendValue > max) {\r\n this.setState({\r\n // sendValue: max,\r\n outRangeTip: true\r\n });\r\n return false;\r\n } else if (sendValue < min) {\r\n this.setState({\r\n // sendValue: max,\r\n outRangeTip: true\r\n });\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n handleCloseAction = () => {\r\n this.setState(\r\n {\r\n visible: false,\r\n sendValue: 0,\r\n outRangeTip: false\r\n },\r\n () => {\r\n this.props.handleVisibleChange(false);\r\n }\r\n );\r\n };\r\n\r\n handleShowAction = () => {\r\n this.setState(\r\n {\r\n visible: true\r\n },\r\n () => {\r\n this.props.handleVisibleChange(true);\r\n }\r\n );\r\n };\r\n\r\n handleConfirm = () => {\r\n const { sendGiftData } = this.props;\r\n const checkResult = this.checkSendValue();\r\n if (!checkResult) {\r\n // 未通过验证\r\n return null;\r\n }\r\n // 进行分配请求\r\n Promise.resolve(\r\n this.props.sendRequest({\r\n business_type: 14, // 表示悬赏答案\r\n ref_id: sendGiftData.answerId.toString(), // 对应回答的id\r\n origin_id: sendGiftData.questionId, // 对应问题的id\r\n to_user: sendGiftData.toUserId, // 悬赏给谁\r\n goods_id: 2, // 礼物id 帮币的话为2\r\n num: Number(this.state.sendValue) // 礼物数量\r\n })\r\n ).then((res: any) => {\r\n console.log(\"res: \", res);\r\n if (res) {\r\n this.handleCloseAction();\r\n } else {\r\n this.handleCloseAction();\r\n }\r\n });\r\n };\r\n\r\n renderCloseButton = () => {\r\n return (\r\n <div\r\n role=\"button\"\r\n tabIndex={-1}\r\n className={styles.closeButton}\r\n onClick={() => {\r\n this.handleCloseAction();\r\n }}\r\n >\r\n <img src={CloseButtonIcon} alt=\"close button for send wanted\" />\r\n </div>\r\n );\r\n // return null;\r\n };\r\n\r\n renderModalContent = () => {\r\n return (\r\n <div className={styles.wantedModalContent} ref={this.ModalContentRef}>\r\n {this.renderCloseButton()}\r\n <h4 className={styles.title}>分配悬赏奖金</h4>\r\n <div\r\n className={styles.wantedValueText}\r\n >{`剩余可分配 ${this.props.allocValue}元`}</div>\r\n <Tooltip\r\n visible={this.state.outRangeTip}\r\n title=\"超过范围值\"\r\n placement=\"bottom\"\r\n overlayClassName={styles.outRangeTextTip}\r\n getTooltipContainer={() => this.ModalContentRef && this.ModalContentRef.current}\r\n >\r\n <Input\r\n ref={this.ModalInputRef}\r\n className={styles.wantedInputNumber}\r\n suffix=\"元\"\r\n value={this.state.sendValue}\r\n onChange={e => this.handleSendValueChange(e.target.value)}\r\n onFocus={e =>\r\n e.target.setSelectionRange(0, String(this.state.sendValue).length)\r\n }\r\n />\r\n </Tooltip>\r\n <div className={styles.wantedValueTipBottom}>\r\n 需要在悬赏时间结束前将奖金分配完成, 否则将按照规则自动分配\r\n </div>\r\n <div className={styles.buttonRow}>\r\n <div className={styles.tipsButton} />\r\n <Button className={styles.confirmButton} onClick={this.handleConfirm}>\r\n 确认\r\n </Button>\r\n <div className={styles.tipsButton}>\r\n <Popover\r\n placement=\"bottom\"\r\n trigger=\"click\"\r\n getPopupContainer={() => this.ModalContentRef && this.ModalContentRef.current}\r\n overlayStyle={{\r\n width: \"320px\"\r\n }}\r\n content={\r\n <div className={styles.tipsView}>\r\n <h6>1、如何参与悬赏?</h6>\r\n <div>\r\n 悬赏问题皆有有效期,默认为120小时(5天),在有效期内回复的答案,才有资格被选为最佳答案,以及分得赏金。\r\n </div>\r\n <h6>2、赏金如何分?</h6>\r\n <div>\r\n 悬赏时间结束前,提问者可随时选出最优答案,并对赏金进行分配,直至赏金被分完或时间到期为止。若悬赏时间到期,悬赏者仍未分配赏金,且回答数大于等于2,系统则默认将赏金平分给点赞数前3名的回答。\r\n </div>\r\n <h6>3、赏金能退款吗?</h6>\r\n <div>\r\n 赏金只会在以下2种情况进行退款:一、悬赏时间到期,回答数小于2,赏金将自动退还至提问者的钱包;二、悬赏时间到期,悬赏者未分配完赏金,系统自动将剩余的赏金退还至提问者的钱包。\r\n </div>\r\n </div>\r\n }\r\n >\r\n <i className=\"schedule schedule-icon_rewardtips\" />\r\n </Popover>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n };\r\n\r\n render() {\r\n const { children } = this.props;\r\n return (\r\n <>\r\n <div className={styles.wrapper} onClick={() => this.handleShowAction()}>\r\n {children}\r\n </div>\r\n <Modal\r\n visible={this.state.visible}\r\n onCancel={() => this.handleCloseAction()}\r\n >\r\n {this.renderModalContent()}\r\n </Modal>\r\n </>\r\n );\r\n }\r\n}\r\n\r\nexport default AllocWantedModal;\r\n"],"names":["Modal","isBrowser","DEFAULT_CONTAINER","document","getElementById","props","children","visible","onCancel","container","finalMountContainer","body","hasShowWarning","createPortal","React","styles","wrapper","overlay","PureComponent","AllocWantedModal","v","state","outRangeTip","setState","checkSendValue","sendValue","sendValueRange","min","max","Number","allocValue","handleVisibleChange","sendGiftData","checkResult","Promise","resolve","sendRequest","business_type","ref_id","answerId","toString","origin_id","questionId","to_user","toUserId","goods_id","num","then","res","console","log","handleCloseAction","closeButton","CloseButtonIcon","wantedModalContent","ModalContentRef","renderCloseButton","title","wantedValueText","Tooltip","outRangeTextTip","current","Input","ModalInputRef","wantedInputNumber","e","handleSendValueChange","target","value","setSelectionRange","String","length","wantedValueTipBottom","buttonRow","tipsButton","Button","confirmButton","handleConfirm","Popover","width","tipsView","createRef","handleShowAction","renderModalContent","Component"],"mappings":";;;;;;;;;;;;;;;IAYaA,KAAb;;AAAA;;;;;;;;;;;6BAGW;UACH,CAACC,iBAAS,EAAd,EAAkB,OAAO,IAAP,CADX;;UAEDC,iBAAqC,GAAGC,QAAQ,CAACC,cAAT,CAAwB,WAAxB,CAA9C;wBACuE,KAAKC,KAHrE;UAGCC,QAHD,eAGCA,QAHD;UAGWC,OAHX,eAGWA,OAHX;UAGoBC,QAHpB,eAGoBA,QAHpB;8CAG8BC,SAH9B;UAG8BA,SAH9B,sCAG0CP,iBAH1C;UAIHQ,mBAAgC,GAAGP,QAAQ,CAACQ,IAAhD;;UACI,CAACF,SAAL,EAAgB;YACV,CAACP,iBAAL,EAAwB;cAClB,CAACF,KAAK,CAACY,cAAX,EAA2B;YACzBZ,KAAK,CAACY,cAAN,GAAuB,IAAvB;;;UAEFF,mBAAmB,GAAGP,QAAQ,CAACQ,IAA/B;SAJF,MAKO;cACD,CAACX,KAAK,CAACY,cAAX,EAA2B;YACzBZ,KAAK,CAACY,cAAN,GAAuB,IAAvB;;;UAEFF,mBAAmB,GAAGR,iBAAtB;;;;aAGGK,OAAO,IAAIM,qBAAY,CAC5BC;QAAK,SAAS,EAAGC,cAAM,CAACC;SACtBF;QACE,SAAS,EAAGC,cAAM,CAACE,OADrB;QAEE,OAAO,EAAGT;QAHd,EAKEM;QACE,SAAS,EAAGC,cAAM,CAACN;SAEjBH,QAHJ,CALF,CAD4B,EAY5BI,mBAZ4B,CAA9B;;;;;EArBuBI,cAAK,CAACI,aAAjC;;0CAAalB,yBACa;;ACb1B,MAAM,GAAG,GAAG,g1BAAg1B,CAAC;;;;;;ICyBv1BmB;;;;;4BAOQd,KAAZ,EAA0C;;;;;8IAClCA,KAAN;;;;;;gIAUsB,UAACe,CAAD,EAAwB;UAC1C,MAAKC,KAAL,CAAWC,WAAf,EAA4B;cACrBC,QAAL,CAAc;UACZD,WAAW,EAAE,CAAC,MAAKE,cAAL;SADhB;;;YAIGD,QAAL,CAAc;QACZE,SAAS,EAAEL;OADb;KAjBwC;;yHAsBzB,YAAM;UACbM,cADa,GACM,MAAKrB,KADX,CACbqB,cADa;UAEbD,SAFa,GAEC,MAAKJ,KAFN,CAEbI,SAFa;UAGjBE,GAAG,GAAG,CAAV;UACIC,GAAG,GAAGC,MAAM,CAAC,MAAKxB,KAAL,CAAWyB,UAAZ,CAAhB;;UACIJ,cAAJ,EAAoB;QAClBC,GAAG,GAAGE,MAAM,CAACH,cAAc,CAAC,CAAD,CAAf,CAAZ;QACAE,GAAG,GAAGC,MAAM,CAACH,cAAc,CAAC,CAAD,CAAf,CAAZ;;;UAEED,SAAS,GAAGG,GAAhB,EAAqB;cACdL,QAAL,CAAc;;UAEZD,WAAW,EAAE;SAFf;;eAIO,KAAP;OALF,MAMO,IAAIG,SAAS,GAAGE,GAAhB,EAAqB;cACrBJ,QAAL,CAAc;;UAEZD,WAAW,EAAE;SAFf;;eAIO,KAAP;;;aAEK,IAAP;KA5CwC;;4HA+CtB,YAAM;YACnBC,QAAL,CACE;QACEhB,OAAO,EAAE,KADX;QAEEkB,SAAS,EAAE,CAFb;QAGEH,WAAW,EAAE;OAJjB,EAME,YAAM;cACCjB,KAAL,CAAW0B,mBAAX,CAA+B,KAA/B;OAPJ;KAhDwC;;2HA4DvB,YAAM;YAClBR,QAAL,CACE;QACEhB,OAAO,EAAE;OAFb,EAIE,YAAM;cACCF,KAAL,CAAW0B,mBAAX,CAA+B,IAA/B;OALJ;KA7DwC;;wHAuE1B,YAAM;UACZC,YADY,GACK,MAAK3B,KADV,CACZ2B,YADY;;UAEdC,WAAW,GAAG,MAAKT,cAAL,EAApB;;UACI,CAACS,WAAL,EAAkB;;eAET,IAAP;OALkB;;;MAQpBC,OAAO,CAACC,OAAR,CACE,MAAK9B,KAAL,CAAW+B,WAAX,CAAuB;QACrBC,aAAa,EAAE,EADM;;QAErBC,MAAM,EAAEN,YAAY,CAACO,QAAb,CAAsBC,QAAtB,EAFa;;QAGrBC,SAAS,EAAET,YAAY,CAACU,UAHH;;QAIrBC,OAAO,EAAEX,YAAY,CAACY,QAJD;;QAKrBC,QAAQ,EAAE,CALW;;QAMrBC,GAAG,EAAEjB,MAAM,CAAC,MAAKR,KAAL,CAAWI,SAAZ,CANU;;OAAvB,CADF,EASEsB,IATF,CASO,UAACC,GAAD,EAAc;QACnBC,OAAO,CAACC,GAAR,CAAY,OAAZ,EAAqBF,GAArB;;YACIA,GAAJ,EAAS;gBACFG,iBAAL;SADF,MAEO;gBACAA,iBAAL;;OAdJ;KA/EwC;;4HAkGtB,YAAM;aAEtBrC;QACE,IAAI,EAAC,QADP;QAEE,QAAQ,EAAE,CAAC,CAFb;QAGE,SAAS,EAAEC,MAAM,CAACqC,WAHpB;QAIE,OAAO,EAAE,mBAAM;gBACRD,iBAAL;;SAGFrC;QAAK,GAAG,EAAEuC,GAAV;QAA2B,GAAG,EAAC;QARjC,CADF,CADwB;KAlGgB;;6HAkHrB,YAAM;aAEvBvC;QAAK,SAAS,EAAEC,MAAM,CAACuC,kBAAvB;QAA2C,GAAG,EAAE,MAAKC;SAClD,MAAKC,iBAAL,EADH,EAEE1C;QAAI,SAAS,EAAEC,MAAM,CAAC0C;gDAFxB,EAGE3C;QACE,SAAS,EAAEC,MAAM,CAAC2C;kDACT,MAAKrD,KAAL,CAAWyB,UAFtB,YAHF,EAMEhB,6BAAC6C,YAAD;QACE,OAAO,EAAE,MAAKtC,KAAL,CAAWC,WADtB;QAEE,KAAK,EAAC,gCAFR;QAGE,SAAS,EAAC,QAHZ;QAIE,gBAAgB,EAAEP,MAAM,CAAC6C,eAJ3B;QAKE,mBAAmB,EAAE;iBAAM,MAAKL,eAAL,IAAwB,MAAKA,eAAL,CAAqBM,OAAnD;;SAErB/C,6BAACgD,UAAD;QACE,GAAG,EAAE,MAAKC,aADZ;QAEE,SAAS,EAAEhD,MAAM,CAACiD,iBAFpB;QAGE,MAAM,EAAC,QAHT;QAIE,KAAK,EAAE,MAAK3C,KAAL,CAAWI,SAJpB;QAKE,QAAQ,EAAE,kBAAAwC,CAAC;iBAAI,MAAKC,qBAAL,CAA2BD,CAAC,CAACE,MAAF,CAASC,KAApC,CAAJ;SALb;QAME,OAAO,EAAE,iBAAAH,CAAC;iBACRA,CAAC,CAACE,MAAF,CAASE,iBAAT,CAA2B,CAA3B,EAA8BC,MAAM,CAAC,MAAKjD,KAAL,CAAWI,SAAZ,CAAN,CAA6B8C,MAA3D,CADQ;;QAbd,CANF,EAwBEzD;QAAK,SAAS,EAAEC,MAAM,CAACyD;sLAxBzB,EA2BE1D;QAAK,SAAS,EAAEC,MAAM,CAAC0D;SACrB3D;QAAK,SAAS,EAAEC,MAAM,CAAC2D;QADzB,EAEE5D,6BAAC6D,WAAD;QAAQ,SAAS,EAAE5D,MAAM,CAAC6D,aAA1B;QAAyC,OAAO,EAAE,MAAKC;wBAFzD,EAKE/D;QAAK,SAAS,EAAEC,MAAM,CAAC2D;SACrB5D,6BAACgE,YAAD;QACE,SAAS,EAAC,QADZ;QAEE,OAAO,EAAC,OAFV;QAGE,iBAAiB,EAAE;iBAAM,MAAKvB,eAAL,IAAwB,MAAKA,eAAL,CAAqBM,OAAnD;SAHrB;QAIE,YAAY,EAAE;UACZkB,KAAK,EAAE;SALX;QAOE,OAAO,EACLjE;UAAK,SAAS,EAAEC,MAAM,CAACiE;WACrBlE,6FADF,EAEEA,uVAFF,EAKEA,uFALF,EAMEA,ulBANF,EASEA,6FATF,EAUEA,uiBAVF;SAgBFA;QAAG,SAAS,EAAC;QAxBf,CADF,CALF,CA3BF,CADF;KAnHwC;;UAEnCO,KAAL,GAAa;MACXd,OAAO,EAAE,KADE;MAEXkB,SAAS,EAAE,CAFA;MAGXH,WAAW,EAAE;KAHf;UAKKiC,eAAL,GAAuBzC,cAAK,CAACmE,SAAN,EAAvB;UACKlB,aAAL,GAAqBjD,cAAK,CAACmE,SAAN,EAArB;;;;;;6BA6KO;;;UACC3E,QADD,GACc,KAAKD,KADnB,CACCC,QADD;aAGLQ,4DACEA;QAAK,SAAS,EAAEC,MAAM,CAACC,OAAvB;QAAgC,OAAO,EAAE;iBAAM,MAAI,CAACkE,gBAAL,EAAN;;SACtC5E,QADH,CADF,EAIEQ,6BAAC,KAAD;QACE,OAAO,EAAE,KAAKO,KAAL,CAAWd,OADtB;QAEE,QAAQ,EAAE;iBAAM,MAAI,CAAC4C,iBAAL,EAAN;;SAET,KAAKgC,kBAAL,EAJH,CAJF,CADF;;;;;EA9L2BrE,cAAK,CAACsE;;;;"}