userDesc.jsx 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. import React from 'react';
  2. import { Icon, Modal, message, Spin, Input, Select, DatePicker, Button, Radio, Form, Cascader } from 'antd';
  3. import moment from 'moment';
  4. import './userList.less';
  5. import ajax from 'jquery/src/ajax/xhr.js';
  6. import $ from 'jquery/src/ajax';
  7. import { areaSelect, getProvince } from '../../NewDicProvinceList.js';
  8. import { getAuditState } from '../../tools.js';
  9. import { auditStatusList, certifyStepList } from '../../dataDic.js';
  10. const UserShow = Form.create()(React.createClass({
  11. getInitialState() {
  12. return {
  13. visible: false,
  14. loading: false
  15. };
  16. },
  17. loadData(uid) {
  18. this.setState({
  19. loading: true
  20. });
  21. $.ajax({
  22. method: "get",
  23. dataType: "json",
  24. crossDomain: false,
  25. url: globalConfig.context + "/api/admin/userCertify/userDetail",
  26. data: {
  27. uid: uid
  28. },
  29. success: function (data) {
  30. let thisData = data.data;
  31. if (!thisData) {
  32. if (data.error && data.error.length) {
  33. message.warning(data.error[0].message);
  34. };
  35. thisData = {};
  36. };
  37. this.setState({
  38. username: thisData.username,
  39. sex: thisData.sex,
  40. id: thisData.id,
  41. birth: thisData.dateOfBirthYear + '-' + thisData.dateOfBirthMonth,
  42. idNumber: thisData.idNumber,
  43. province: thisData.province,
  44. city: thisData.city,
  45. area: thisData.area,
  46. positiveIdUrl: thisData.positiveIdUrl,
  47. oppositeIdUrl: thisData.oppositeIdUrl,
  48. aftUsername: thisData.aftUsername,
  49. contactMobile: thisData.contactMobile,
  50. bankName: thisData.bankName,
  51. bankAccount: thisData.bankAccount,
  52. bankCardNumber: thisData.bankCardNumber,
  53. amountMoney: thisData.amountMoney,
  54. auditStatus: thisData.auditStatus,
  55. process: thisData.process ? String(thisData.process) : undefined,
  56. paymentDateFormattedDate: thisData.paymentDateFormattedDate,
  57. paymentDate: thisData.paymentDate,
  58. level: thisData.level,
  59. aid: thisData.aid, //业务员ID
  60. mid: thisData.mid //客户经理ID
  61. });
  62. this.props.form.resetFields();
  63. }.bind(this),
  64. }).always(function () {
  65. this.setState({
  66. loading: false
  67. });
  68. }.bind(this));
  69. },
  70. getAccountManagerList() {
  71. this.setState({
  72. loading: true
  73. });
  74. $.ajax({
  75. method: "get",
  76. dataType: "json",
  77. crossDomain: false,
  78. url: globalConfig.context + "/api/admin/userCertify/accountManager",
  79. success: function (data) {
  80. let theArr = [];
  81. if (!data.data) {
  82. if (data.error && data.error.length) {
  83. message.warning(data.error[0].message);
  84. };
  85. return;
  86. };
  87. for (var item in data.data) {
  88. theArr.push(
  89. <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
  90. )
  91. };
  92. this.setState({
  93. accountManagerOption: theArr,
  94. accountManagerList: data.data
  95. });
  96. }.bind(this),
  97. }).always(function () {
  98. this.setState({
  99. loading: false
  100. });
  101. }.bind(this));
  102. },
  103. getTechnicianList() {
  104. this.setState({
  105. loading: true
  106. });
  107. $.ajax({
  108. method: "get",
  109. dataType: "json",
  110. crossDomain: false,
  111. url: globalConfig.context + "/api/admin/userCertify/technician",
  112. success: function (data) {
  113. let theArr = [];
  114. if (!data.data) {
  115. if (data.error && data.error.length) {
  116. message.warning(data.error[0].message);
  117. };
  118. return;
  119. };
  120. for (var item in data.data) {
  121. theArr.push(
  122. <Select.Option value={item} key={item}>{data.data[item]}</Select.Option>
  123. )
  124. };
  125. this.setState({
  126. technicianOption: theArr,
  127. technicianList: data.data
  128. });
  129. }.bind(this),
  130. }).always(function () {
  131. this.setState({
  132. loading: false
  133. });
  134. }.bind(this));
  135. },
  136. handleSubmit(e) {
  137. e.preventDefault();
  138. this.props.form.validateFields((err, values) => {
  139. if (!err) {
  140. this.setState({
  141. loading: true
  142. });
  143. $.ajax({
  144. method: "POST",
  145. dataType: "json",
  146. crossDomain: false,
  147. url: globalConfig.context + "/api/admin/userCertify/updateUserDetail",
  148. data: {
  149. uid: this.props.uid,
  150. id: this.state.id,
  151. auditStatus: values.auditStatus,
  152. level: this.state.level,
  153. aid: values.aid, //指派业务员ID
  154. mid: values.mid, //指派客户经理ID
  155. }
  156. }).done(function (data) {
  157. if (!data.error.length) {
  158. message.success('保存成功!');
  159. } else {
  160. message.warning(data.error[0].message);
  161. }
  162. }.bind(this)).always(function () {
  163. this.setState({
  164. visible: false
  165. });
  166. this.props.handleOk();
  167. }.bind(this));
  168. }
  169. });
  170. },
  171. componentWillMount() {
  172. this.loadData(this.props.uid);
  173. this.getAccountManagerList();
  174. this.getTechnicianList();
  175. },
  176. componentWillReceiveProps(nextProps) {
  177. if (!this.props.visible && nextProps.visible) {
  178. this.loadData(nextProps.uid);
  179. };
  180. },
  181. render() {
  182. const { getFieldDecorator } = this.props.form;
  183. const FormItem = Form.Item
  184. const formItemLayout = {
  185. labelCol: { span: 6 },
  186. wrapperCol: { span: 12 },
  187. };
  188. return (
  189. <Form horizontal onSubmit={this.handleSubmit} className="person-form">
  190. <FormItem
  191. {...formItemLayout}
  192. label="用户名" >
  193. {getFieldDecorator('username')(
  194. <span>{this.state.username}</span>
  195. )}
  196. </FormItem>
  197. <FormItem
  198. {...formItemLayout}
  199. label="性别" >
  200. {getFieldDecorator('sex')(
  201. <span>{this.state.sex}</span>
  202. )}
  203. </FormItem>
  204. <FormItem
  205. {...formItemLayout}
  206. label="出生日期" >
  207. {getFieldDecorator('birth')(
  208. <span>{this.state.birth}</span>
  209. )}
  210. </FormItem>
  211. <FormItem
  212. {...formItemLayout}
  213. label="身份证号" >
  214. {getFieldDecorator('idNumber')(
  215. <span>{this.state.idNumber}</span>
  216. )}
  217. </FormItem>
  218. <FormItem
  219. labelCol={{ span: 6 }}
  220. wrapperCol={{ span: 18 }}
  221. label="身份证图片" >
  222. <div className="idcard-img clearfix">
  223. {this.state.positiveIdUrl ? <div>
  224. <div className="idcard-imgbox">
  225. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.positiveIdUrl} alt="点击查看大图"
  226. onClick={(e) => { window.open(e.target.src) }} />
  227. </div>
  228. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  229. {this.state.oppositeIdUrl ? <div>
  230. <div className="idcard-imgbox">
  231. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.oppositeIdUrl} alt="点击查看大图"
  232. onClick={(e) => { window.open(e.target.src) }} />
  233. </div>
  234. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  235. </div>
  236. </FormItem>
  237. <FormItem
  238. {...formItemLayout}
  239. label="认证姓名" >
  240. {getFieldDecorator('aftUsername')(
  241. <span>{this.state.aftUsername}</span>
  242. )}
  243. </FormItem>
  244. <FormItem
  245. {...formItemLayout}
  246. label="联系电话" >
  247. {getFieldDecorator('contactMobile')(
  248. <span>{this.state.contactMobile}</span>
  249. )}
  250. </FormItem>
  251. <FormItem
  252. {...formItemLayout}
  253. label="所在地" >
  254. {getFieldDecorator('address')(
  255. <span>{getProvince(this.state.province, this.state.city, this.state.area)}</span>
  256. )}
  257. </FormItem>
  258. <FormItem
  259. {...formItemLayout}
  260. label="开户银行" >
  261. {getFieldDecorator('bankAccount')(
  262. <span>{this.state.bankAccount}</span>
  263. )}
  264. </FormItem>
  265. <FormItem
  266. {...formItemLayout}
  267. label="银行卡号" >
  268. {getFieldDecorator('bankCardNumber')(
  269. <span>{this.state.bankCardNumber}</span>
  270. )}
  271. </FormItem>
  272. <FormItem
  273. {...formItemLayout}
  274. label="用户等级" >
  275. {getFieldDecorator('level')(
  276. <span>{"Lv." + this.state.level}</span>
  277. )}
  278. </FormItem>
  279. <FormItem
  280. {...formItemLayout}
  281. label="认证状态" >
  282. {getFieldDecorator('auditStatus', {
  283. initialValue: this.state.auditStatus
  284. })(
  285. <Select placeholder="选择要修改的认证状态" style={{ width: 200 }}
  286. onChange={(e) => { this.state.auditStatus = e }}>
  287. {
  288. auditStatusList.map(function (item, i) {
  289. return <Select.Option key={i} value={item.value} >{item.key}</Select.Option>
  290. })
  291. }
  292. </Select>
  293. )}
  294. </FormItem>
  295. <FormItem
  296. {...formItemLayout}
  297. label="业务员" >
  298. {getFieldDecorator('aid', {
  299. initialValue: this.state.aid
  300. })(
  301. <Select placeholder="选择一个业务员" style={{ width: 200 }}>
  302. {this.state.technicianOption}
  303. </Select>
  304. )}
  305. </FormItem>
  306. <FormItem
  307. {...formItemLayout}
  308. label="客户经理" >
  309. {getFieldDecorator('mid', {
  310. initialValue: this.state.mid
  311. })(
  312. <Select placeholder="选择一个客户经理" style={{ width: 200 }}>
  313. {this.state.accountManagerOption}
  314. </Select>
  315. )}
  316. </FormItem>
  317. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  318. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  319. <Button className="set-submit" type="ghost" onClick={this.props.closeDesc}>取消</Button>
  320. </FormItem>
  321. </Form >
  322. )
  323. }
  324. }));
  325. const UserForm = Form.create()(React.createClass({
  326. getInitialState() {
  327. return {
  328. visible: false,
  329. loading: false,
  330. saveSign: "save"
  331. };
  332. },
  333. loadData(uid) {
  334. this.setState({
  335. loading: true
  336. });
  337. $.ajax({
  338. method: "post",
  339. dataType: "json",
  340. crossDomain: false,
  341. url: globalConfig.context + "/api/admin/userDetail",
  342. data: {
  343. uid: uid
  344. },
  345. success: function (data) {
  346. let thisData = data.data;
  347. if (!thisData) {
  348. if (data.error && data.error.length) {
  349. message.warning(data.error[0].message);
  350. };
  351. thisData = {};
  352. };
  353. let d = new Date()
  354. if (thisData && thisData.dateOfBirthMonth && thisData.dateOfBirthYear) {
  355. d.setMonth(thisData.dateOfBirthMonth - 1);
  356. d.setYear(parseInt(thisData.dateOfBirthYear));
  357. };
  358. this.setState({
  359. username: thisData.username,
  360. sex: thisData.sex,
  361. id: thisData.id,
  362. birth: d,
  363. idNumber: thisData.idNumber,
  364. address: [thisData.province, thisData.city, thisData.area],
  365. positiveIdUrl: thisData.positiveIdUrl,
  366. oppositeIdUrl: thisData.oppositeIdUrl,
  367. aftUsername: thisData.aftUsername,
  368. contactMobile: thisData.contactMobile,
  369. bankName: thisData.bankName,
  370. bankAccount: thisData.bankAccount,
  371. bankCardNumber: thisData.bankCardNumber,
  372. amountMoney: thisData.amountMoney,
  373. auditStatus: thisData.auditStatus,
  374. process: thisData.process ? String(thisData.process) : undefined,
  375. paymentDateFormattedDate: thisData.paymentDateFormattedDate,
  376. paymentDate: thisData.paymentDate,
  377. level: thisData.level,
  378. aid: thisData.aid, //业务员ID
  379. mid: thisData.mid //客户经理ID
  380. });
  381. this.props.form.resetFields();
  382. }.bind(this),
  383. }).always(function () {
  384. this.setState({
  385. loading: false
  386. });
  387. }.bind(this));
  388. },
  389. handleSubmit(e) {
  390. if (e) {
  391. e.preventDefault();
  392. };
  393. this.props.form.validateFields((err, values) => {
  394. // //金额判断
  395. // if (values.amountMoney && values.amountMoney < 0 && values.amountMoney > 100 && /^\d+(\.\d{2})?$/.test(values.amountMoney)) {
  396. // message.warning('请输入0-100以内的金额');
  397. // return;
  398. // };
  399. if ((this.state.auditStatus == "5" && values.level == "0") || (this.state.auditStatus != "5" && values.level != "0")) {
  400. message.warning('认证状态和用户等级不匹配!');
  401. return;
  402. };
  403. if (!err) {
  404. this.setState({
  405. loading: true
  406. });
  407. $.ajax({
  408. method: "POST",
  409. dataType: "json",
  410. crossDomain: false,
  411. url: globalConfig.context + "/api/admin/updateUserDetail",
  412. data: {
  413. uid: this.props.uid,
  414. id: this.state.id,
  415. username: values.username,
  416. sex: values.sex,
  417. dateOfBirthYear: values.birth ? values.birth._d.getFullYear() : undefined,
  418. dateOfBirthMonth: values.birth ? values.birth._d.getMonth() + 1 : undefined,
  419. idNumber: values.idNumber,
  420. aftUsername: values.aftUsername,
  421. province: values.address[0],
  422. city: values.address[1],
  423. area: values.address[2],
  424. contactMobile: values.contactMobile,
  425. bankName: values.bankName,
  426. bankAccount: values.bankAccount,
  427. bankCardNumber: values.bankCardNumber,
  428. amountMoney: values.amountMoney,
  429. //auditStatus: values.auditStatus,
  430. paymentDateFormattedDate: values.paymentDateFormattedDate ? values.paymentDateFormattedDate.format("YYYY-MM-DD") : undefined,
  431. level: values.level,
  432. //aid: values.aid, //指派业务员ID
  433. //mid: values.mid, //指派客户经理ID
  434. saveSign: this.state.saveSign
  435. }
  436. }).done(function (data) {
  437. if (!data.error.length) {
  438. message.success('保存成功!');
  439. } else {
  440. message.warning(data.error[0].message);
  441. }
  442. }.bind(this)).always(function () {
  443. this.setState({
  444. visible: false,
  445. saveSign: "save"
  446. });
  447. this.props.handleOk();
  448. }.bind(this));
  449. }
  450. });
  451. },
  452. componentWillMount() {
  453. this.loadData(this.props.uid);
  454. },
  455. componentWillReceiveProps(nextProps) {
  456. if (!this.props.visible && nextProps.visible) {
  457. this.loadData(nextProps.uid);
  458. };
  459. },
  460. render() {
  461. const { getFieldDecorator } = this.props.form;
  462. const { MonthPicker } = DatePicker;
  463. const FormItem = Form.Item
  464. const formItemLayout = {
  465. labelCol: { span: 6 },
  466. wrapperCol: { span: 12 },
  467. };
  468. return (
  469. <Form horizontal onSubmit={this.handleSubmit} className="person-form">
  470. <FormItem
  471. {...formItemLayout}
  472. label="用户名" >
  473. {getFieldDecorator('username', {
  474. initialValue: this.state.username
  475. })(
  476. <Input />
  477. )}
  478. </FormItem>
  479. <FormItem
  480. {...formItemLayout}
  481. label="性别" >
  482. {getFieldDecorator('sex', {
  483. initialValue: this.state.sex
  484. })(
  485. <Radio.Group>
  486. <Radio value="男">男</Radio>
  487. <Radio value="女">女</Radio>
  488. </Radio.Group>
  489. )}
  490. </FormItem>
  491. <FormItem
  492. {...formItemLayout}
  493. label="出生日期" >
  494. {getFieldDecorator('birth', {
  495. initialValue: !this.state.birth ? null : moment(this.state.birth, 'YYYY/MM')
  496. })(
  497. <MonthPicker />
  498. )}
  499. </FormItem>
  500. <FormItem
  501. {...formItemLayout}
  502. label="身份证号" >
  503. {getFieldDecorator('idNumber', {
  504. initialValue: this.state.idNumber
  505. })(
  506. <Input />
  507. )}
  508. </FormItem>
  509. <FormItem
  510. labelCol={{ span: 6 }}
  511. wrapperCol={{ span: 18 }}
  512. label="身份证图片" >
  513. <div className="idcard-img clearfix">
  514. {this.state.positiveIdUrl ? <div>
  515. <div className="idcard-imgbox">
  516. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.positiveIdUrl} alt="点击查看大图"
  517. onClick={(e) => { window.open(e.target.src) }} />
  518. </div>
  519. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  520. {this.state.oppositeIdUrl ? <div>
  521. <div className="idcard-imgbox">
  522. <img src={globalConfig.context + '/open/writeImage?path=' + this.state.oppositeIdUrl} alt="点击查看大图"
  523. onClick={(e) => { window.open(e.target.src) }} />
  524. </div>
  525. </div> : <div><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />未上传</div>}
  526. </div>
  527. </FormItem>
  528. <FormItem
  529. {...formItemLayout}
  530. label="认证姓名" >
  531. {getFieldDecorator('aftUsername', {
  532. initialValue: this.state.aftUsername
  533. })(
  534. <Input />
  535. )}
  536. </FormItem>
  537. <FormItem
  538. {...formItemLayout}
  539. label="联系电话" >
  540. {getFieldDecorator('contactMobile', {
  541. initialValue: this.state.contactMobile
  542. })(
  543. <Input />
  544. )}
  545. </FormItem>
  546. <FormItem
  547. {...formItemLayout}
  548. label="所在地" >
  549. {getFieldDecorator('address', {
  550. initialValue: this.state.address
  551. })(
  552. <Cascader options={areaSelect()} placeholder="请选择地址" />
  553. )}
  554. </FormItem>
  555. <FormItem
  556. {...formItemLayout}
  557. label="开户银行" >
  558. {getFieldDecorator('bankAccount', {
  559. initialValue: this.state.bankAccount
  560. })(
  561. <Input />
  562. )}
  563. </FormItem>
  564. <FormItem
  565. {...formItemLayout}
  566. label="银行卡号" >
  567. {getFieldDecorator('bankCardNumber', {
  568. initialValue: this.state.bankCardNumber
  569. })(
  570. <Input />
  571. )}
  572. </FormItem>
  573. <FormItem
  574. {...formItemLayout}
  575. label="用户等级" >
  576. {getFieldDecorator('level', {
  577. initialValue: this.state.level
  578. })(
  579. <Select placeholder="选择要修改的用户等级" style={{ width: 200 }} >
  580. <Select.Option value="0" >Lv.0</Select.Option>
  581. <Select.Option value="1" >Lv.1</Select.Option>
  582. <Select.Option value="2" >Lv.2</Select.Option>
  583. <Select.Option value="3" >Lv.3</Select.Option>
  584. <Select.Option value="4" >Lv.4</Select.Option>
  585. <Select.Option value="5" >Lv.5</Select.Option>
  586. </Select>
  587. )}
  588. </FormItem>
  589. <FormItem
  590. {...formItemLayout}
  591. label="认证状态" >
  592. {getFieldDecorator('auditStatus')(
  593. <span>{getAuditState(this.state.auditStatus)}</span>
  594. )}
  595. </FormItem>
  596. <FormItem
  597. {...formItemLayout}
  598. label="业务员" >
  599. {getFieldDecorator('aid', )(
  600. <span>{this.props.data.adminName}</span>
  601. )}
  602. </FormItem>
  603. <FormItem
  604. {...formItemLayout}
  605. label="客户经理" >
  606. {getFieldDecorator('mid')(
  607. <span>{this.props.data.managerName}</span>
  608. )}
  609. </FormItem>
  610. <FormItem wrapperCol={{ span: 12, offset: 4 }}>
  611. <Button className="set-submit" type="primary" htmlType="submit">保存</Button>
  612. <Button className="set-submit" type="ghost"
  613. onClick={() => {
  614. this.state.saveSign = "submit";
  615. this.handleSubmit();
  616. }}>提交审核</Button>
  617. </FormItem>
  618. </Form >
  619. )
  620. }
  621. }));
  622. const PatentDesc = React.createClass({
  623. getInitialState() {
  624. return {
  625. visible: false,
  626. loading: false
  627. };
  628. },
  629. showModal() {
  630. this.setState({
  631. visible: true,
  632. });
  633. },
  634. handleCancel(e) {
  635. this.setState({
  636. visible: false,
  637. });
  638. this.props.closeDesc(false);
  639. },
  640. handleOk(e) {
  641. this.setState({
  642. visible: false,
  643. });
  644. this.props.closeDesc(false, true);
  645. },
  646. componentWillReceiveProps(nextProps) {
  647. this.state.visible = nextProps.showDesc;
  648. },
  649. render() {
  650. if (this.props.data) {
  651. return (
  652. <div className="patent-desc">
  653. <Spin spinning={this.state.loading} className='spin-box'>
  654. <Modal maskClosable={false} title="用户详情" visible={this.state.visible}
  655. onOk={this.checkPatentProcess} onCancel={this.handleCancel}
  656. width='600px'
  657. footer=''
  658. className="admin-desc-content">
  659. {window.showAuditStatus ? <UserShow
  660. uid={this.props.data.id}
  661. data={this.props.data}
  662. closeDesc={this.handleCancel}
  663. visible={this.state.visible}
  664. handleOk={this.handleOk} />
  665. : <UserForm
  666. uid={this.props.data.id}
  667. data={this.props.data}
  668. closeDesc={this.handleCancel}
  669. visible={this.state.visible}
  670. handleOk={this.handleOk} />}
  671. </Modal>
  672. </Spin>
  673. </div>
  674. );
  675. } else {
  676. return <div></div>
  677. }
  678. },
  679. });
  680. export default PatentDesc;
  681. // <FormItem
  682. // {...formItemLayout}
  683. // label="打款金额"
  684. // >
  685. // {getFieldDecorator('amountMoney', {
  686. // initialValue: this.state.amountMoney
  687. // })(
  688. // <Input />
  689. // )}
  690. // </FormItem>
  691. // <FormItem
  692. // {...formItemLayout}
  693. // label="打款日期"
  694. // >
  695. // {getFieldDecorator('paymentDateFormattedDate', {
  696. // initialValue: this.state.paymentDate ? moment(this.state.paymentDate) : null
  697. // })(
  698. // <DatePicker />
  699. // )}
  700. // </FormItem>