mySettlementDetaile.jsx 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858
  1. import React from 'react';
  2. import { Table, Modal, message, Spin, Input, Button, Form ,Radio} from 'antd';
  3. import $ from 'jquery/src/ajax';
  4. import '../../userMangagement.less';
  5. import {getApprovedState,getPaymentState,getOrderState,getProjectState,getOrderChannel,getChangeState,getOrderType,getTransactionProject,getTransactionChannel} from '../../../../tools.js';
  6. const MySettlementDetaile = Form.create()(React.createClass({
  7. loadData(record) {
  8. this.state.data = [];
  9. this.setState({
  10. loading: true
  11. });
  12. $.ajax({
  13. method: "get",
  14. dataType: "json",
  15. crossDomain: false,
  16. url: globalConfig.context + '/api/admin/order/getOrderCommodity',
  17. data: {
  18. orderNo:record?record.orderNo:this.props.datauser.orderNo
  19. },
  20. success: function (data) {
  21. let theArr = [];
  22. if (!data.data) {
  23. if (data.error && data.error.length) {
  24. message.warning(data.error[0].message);
  25. };
  26. } else {
  27. for (let i = 0; i < data.data.length; i++) {
  28. let thisdata = data.data[i];
  29. theArr.push({
  30. key: i,
  31. id:thisdata.id,
  32. orderNo:thisdata.orderNo,
  33. commodityName:thisdata.commodityName,
  34. commodityType:thisdata.commodityType,
  35. commodityMode:thisdata.commodityMode,
  36. commodityQuantity:thisdata.commodityQuantity,
  37. commodityPrice:thisdata.commodityPrice,
  38. discountPrice:thisdata.discountPrice,
  39. commodityFirstPayment:thisdata.commodityFirstPayment,
  40. createTimes:thisdata.createTimes,
  41. discountFirstPayment:thisdata.discountFirstPayment,
  42. remarks:thisdata.remarks,
  43. });
  44. };
  45. }
  46. this.setState({
  47. dataSource: theArr,
  48. });
  49. }.bind(this),
  50. }).always(function () {
  51. this.setState({
  52. loading: false
  53. });
  54. }.bind(this));
  55. },
  56. getInitialState() {
  57. return {
  58. loading: false,
  59. visible: false,
  60. contractState:false,
  61. orgCodeUrl:[],
  62. lookflowList:[],
  63. checkedKeys: [],
  64. columns: [
  65. {
  66. title: '业务项目名称',
  67. dataIndex: 'commodityName',
  68. key: 'commodityName'
  69. }, {
  70. title: '项目类别',
  71. dataIndex: 'commodityType',
  72. key: 'commodityType',
  73. render:(text)=>{
  74. return (getOrderType(text))
  75. }
  76. },{
  77. title: '项目数量',
  78. dataIndex: 'commodityQuantity',
  79. key: 'commodityQuantity'
  80. }, {
  81. title: '服务市价(万元)',
  82. dataIndex: 'commodityPrice',
  83. key: 'commodityPrice'
  84. }, {
  85. title: '实签价格(万元)',
  86. dataIndex: 'discountPrice',
  87. key: 'discountPrice'
  88. }, {
  89. title: '下单时间',
  90. dataIndex: 'createTimes',
  91. key: 'createTimes'
  92. }, {
  93. title: '项目说明',
  94. dataIndex: 'remarks',
  95. key: 'remarks',
  96. render:(text)=>{
  97. return (text&&text.length>8?text.substr(0,8)+'…':text)
  98. }
  99. }
  100. ],
  101. flowList:[
  102. {
  103. title: '平台流水号',
  104. dataIndex: 'billNo',
  105. key: 'billNo',
  106. }, {
  107. title: '平台流水时间',
  108. dataIndex: 'createTime',
  109. key: 'createTime'
  110. }, {
  111. title: '流水金额(万元)',
  112. dataIndex: 'transactionAmount',
  113. key: 'transactionAmount'
  114. },{
  115. title: '付款人名称',
  116. dataIndex: 'payerName',
  117. key: 'payerName'
  118. }, {
  119. title: '收款人名称',
  120. dataIndex: 'payeeName',
  121. key: 'payeeName'
  122. },
  123. {
  124. title: '流水科目',
  125. dataIndex: 'transactionSubject',
  126. key: 'transactionSubject',
  127. render:(text)=>{return getTransactionProject(text) }
  128. }, {
  129. title: '流水渠道',
  130. dataIndex: 'transactionChannel',
  131. key: 'transactionChannel',
  132. render:(text)=>{return getTransactionChannel(text) }
  133. },{
  134. title: '财务流水号',
  135. dataIndex: 'financialPayNo',
  136. key: 'financialPayNo',
  137. }, {
  138. title: '财务流水时间',
  139. dataIndex: 'financialPayTime',
  140. key: 'financialPayTime',
  141. }, {
  142. title: '流水确认',
  143. dataIndex: 'confirmSign',
  144. key: 'confirmSign',
  145. render:(text)=>{return text?'已确认':'待确认' }
  146. },{
  147. title: '确认时间',
  148. dataIndex: 'confirmTime',
  149. key: 'confirmTime',
  150. }
  151. ]
  152. };
  153. },
  154. //查看基本详情基本信息
  155. loaduser(record){
  156. if(record){
  157. this.state.orderList=[]
  158. $.ajax({
  159. method: "get",
  160. dataType: "json",
  161. crossDomain: false,
  162. url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
  163. data: {
  164. orderNo: record.orderNo
  165. },
  166. success: function (data) {
  167. let thisData = data.data;
  168. if (!thisData) {
  169. if (data.error && data.error.length) {
  170. message.warning(data.error[0].message);
  171. };
  172. thisData = {};
  173. };
  174. this.setState({
  175. orderType:thisData.orderType,
  176. id:thisData.id,
  177. contractNo:thisData.contractNo,
  178. orderList:thisData,
  179. orderAmount:thisData.orderAmount,
  180. firstPayment:thisData.firstPayment,
  181. signTotalAmount:thisData.signTotalAmount,
  182. signFirstPayment:thisData.signFirstPayment,
  183. approval:thisData.approval==0?thisData.approval.toString():thisData.approval,
  184. orderRemarks:thisData.orderRemarks,
  185. orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
  186. //签单
  187. orderNo:thisData.orderNo,//订单编号
  188. buyerName:thisData.buyerName,
  189. });
  190. }.bind(this),
  191. }).always(function () {
  192. this.setState({
  193. loading: false
  194. });
  195. }.bind(this));
  196. }
  197. },
  198. handleOk() {
  199. this.setState({
  200. visible: false,
  201. });
  202. this.props.closeDesc(false, true);
  203. },
  204. handleCancel() {
  205. this.setState({
  206. visible: false,
  207. });
  208. this.props.closeDesc(false);
  209. },
  210. componentWillMount() {
  211. },
  212. nextCancel() {
  213. this.setState({
  214. addnextVisible: false
  215. })
  216. },
  217. lookflow(){
  218. this.setState({
  219. loading: true,
  220. lookVisible:true,
  221. })
  222. this.state.lookSource=[];
  223. $.ajax({
  224. method: "get",
  225. dataType: "json",
  226. crossDomain: false,
  227. url: globalConfig.context +'/api/admin/order/getBillByOrderNo',
  228. data: {
  229. orderNo:this.props.datauser.orderNo,
  230. },
  231. success: function (data) {
  232. let theArr = [];
  233. if (!data.data) {
  234. if (data.error && data.error.length) {
  235. message.warning(data.error[0].message);
  236. };
  237. } else {
  238. for (let i = 0; i < data.data.length; i++) {
  239. let thisdata = data.data[i];
  240. theArr.push({
  241. key: i,
  242. billNo: thisdata.billNo,
  243. transactionAmount:thisdata.transactionAmount,
  244. createTime:thisdata.createTime,
  245. transactionAmount:thisdata.transactionAmount,
  246. payerName:thisdata.payerName,
  247. payeeName:thisdata.payeeName,
  248. transactionSubject:thisdata.transactionSubject,
  249. transactionChannel:thisdata.transactionChannel,
  250. financialPayNo:thisdata.financialPayNo,
  251. financialPayTime:thisdata.financialPayTime,
  252. orderNo:thisdata.orderNo,
  253. departmentName:thisdata.departmentName,
  254. salesmanName:thisdata.salesmanName,
  255. financeName:thisdata.financeName,
  256. confirmSign:thisdata.confirmSign,
  257. deleteSign:thisdata.deleteSign,
  258. confirmTime:thisdata.confirmTime
  259. });
  260. };
  261. };
  262. this.setState({
  263. lookflowList: theArr,
  264. });
  265. }.bind(this),
  266. }).always(function () {
  267. this.setState({
  268. loading: false
  269. });
  270. }.bind(this));
  271. },
  272. //保存合同编号
  273. subContract(e) {
  274. e.preventDefault();
  275. this.setState({
  276. loading: true
  277. });
  278. let api='/api/admin/order/updateServiceOrder';
  279. $.ajax({
  280. method: "POST",
  281. dataType: "json",
  282. crossDomain: false,
  283. url: globalConfig.context + api,
  284. data:{
  285. orderNo:this.state.orderNo,
  286. contractNo:this.state.contractNo,
  287. signTotalAmount:this.state.signTotalAmount,
  288. signFirstPayment:this.state.signFirstPayment,
  289. }
  290. }).done(function(data) {
  291. this.setState({
  292. loading: false
  293. });
  294. if(!data.error.length) {
  295. message.success('保存成功!');
  296. this.handleOk()
  297. } else {
  298. message.warning(data.error[0].message);
  299. }
  300. }.bind(this));
  301. },
  302. lookCancel(){
  303. this.setState({
  304. lookVisible:false
  305. })
  306. },
  307. tableRowClick(record) {
  308. this.setState({
  309. editFw:record,
  310. addnextVisible:true,
  311. });
  312. },
  313. /* -----变更操作开始----- */
  314. //新建变更
  315. addChange(){
  316. this.setState({
  317. addChangeState:true,
  318. stateAdd:1,
  319. changeRemarks:''
  320. })
  321. },
  322. //产看变更记录
  323. lookChange(){
  324. this.setState({
  325. addChangeState:true,
  326. stateAdd:0
  327. })
  328. this.lookChangeData()
  329. },
  330. //查看变更列表修改变更
  331. modifyChangeCancel(){
  332. this.setState({
  333. modifyChangeState:false
  334. })
  335. },
  336. //获取变更记录
  337. lookChangeData(){
  338. this.setState({
  339. loading:true
  340. });
  341. $.ajax({
  342. method: "get",
  343. dataType: "json",
  344. crossDomain: false,
  345. url: globalConfig.context +'/api/admin/order/viewOrderChange',
  346. data: {
  347. orderNo:this.props.datauser.orderNo,
  348. },
  349. success: function (data) {
  350. let theArr = [];
  351. if (!data.data) {
  352. if (data.error && data.error.length) {
  353. message.warning(data.error[0].message);
  354. };
  355. } else {
  356. for (let i = 0; i < data.data.length; i++) {
  357. theArr = data.data;
  358. };
  359. };
  360. this.setState({
  361. changeHtml: theArr,
  362. });
  363. }.bind(this),
  364. }).always(function () {
  365. this.setState({
  366. loading: false
  367. });
  368. }.bind(this));
  369. },
  370. //添加变更状态
  371. addChangeCancel(){
  372. this.setState({
  373. addChangeState:false
  374. })
  375. },
  376. //新建变更
  377. subChangeState(e){
  378. e.preventDefault();
  379. this.setState({
  380. loading: true
  381. });
  382. $.ajax({
  383. method: "POST",
  384. dataType: "json",
  385. crossDomain: false,
  386. url: globalConfig.context +'/api/admin/order/addOrderChange' ,
  387. data: {
  388. orderNo:this.props.datauser.orderNo,
  389. changeComment:this.state.changeRemarks
  390. }
  391. }).done(function(data) {
  392. this.setState({
  393. loading: false
  394. });
  395. if(!data.error.length) {
  396. message.success('保存成功!');
  397. this.addChangeCancel();
  398. this.loaduser(this.props.datauser);
  399. } else {
  400. message.warning(data.error[0].message);
  401. }
  402. }.bind(this));
  403. },
  404. //查看修改变更
  405. modifyChange(item){
  406. this.setState({
  407. modifyChangeState:true,
  408. changePromoter:item.creater,
  409. changeTime:item.createTime,
  410. changeState:item.changeStatus,
  411. changeRemarks:item.changeComment,
  412. idt:item.changeId,
  413. orderNot:item.orderNo
  414. })
  415. },
  416. //删除变更
  417. modifyDelete(item){
  418. this.setState({
  419. loading: true
  420. });
  421. $.ajax({
  422. method: "get",
  423. dataType: "json",
  424. crossDomain: false,
  425. url: globalConfig.context +'/api/admin/order/deleteOrderChange' ,
  426. data: {
  427. changeId:item.changeId,
  428. }
  429. }).done(function(data) {
  430. this.setState({
  431. loading: false
  432. });
  433. if(!data.error.length) {
  434. message.success('删除成功!');
  435. this.lookChangeData();
  436. this.loaduser()
  437. } else {
  438. message.warning(data.error[0].message);
  439. }
  440. }.bind(this));
  441. },
  442. //修改变更保存
  443. changeModify(e){
  444. e.preventDefault();
  445. this.setState({
  446. loading: true
  447. });
  448. $.ajax({
  449. method: "POST",
  450. dataType: "json",
  451. crossDomain: false,
  452. url: globalConfig.context +'/api/admin/order/updateOrderChange' ,
  453. data: {
  454. changeId:this.state.idt,
  455. changeStatus:this.state.changeState,
  456. changeComment:this.state.changeRemarks
  457. }
  458. }).done(function(data) {
  459. this.setState({
  460. loading: false
  461. });
  462. if(!data.error.length) {
  463. message.success('保存成功!');
  464. this.modifyChangeCancel();
  465. this.lookChangeData();
  466. this.loaduser(this.props.datauser)
  467. } else {
  468. message.warning(data.error[0].message);
  469. }
  470. }.bind(this));
  471. },
  472. /*-----变更操作结束----*/
  473. componentWillReceiveProps(nextProps) { //props改变时触发
  474. this.state.visible = nextProps.showDesc;
  475. if(nextProps.userDetaile && nextProps.showDesc ) {
  476. this.loaduser(nextProps.datauser);
  477. this.loadData(nextProps.datauser);
  478. }
  479. },
  480. render() {
  481. const FormItem = Form.Item
  482. const formItemLayout = {
  483. labelCol: { span: 8 },
  484. wrapperCol: { span: 14 },
  485. };
  486. const changeHtml=this.state.changeHtml ||[];
  487. const editFws=this.state.editFw || [];
  488. const orderDetaiel=this.state.orderList || [];
  489. return(
  490. <div>
  491. <Modal maskClosable={false} visible={this.state.visible}
  492. onOk={this.handleOk} onCancel={this.handleCancel}
  493. width='1000px'
  494. title='查看订单详情'
  495. footer=''
  496. className="admin-desc-content">
  497. <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >
  498. <Spin spinning={this.state.loading}>
  499. <div className="clearfix">
  500. <div className="clearfix">
  501. <FormItem className="half-item"
  502. {...formItemLayout}
  503. label="订单编号" >
  504. <span>{orderDetaiel.orderNo}</span>
  505. </FormItem>
  506. <FormItem className="half-item"
  507. {...formItemLayout}
  508. label="下单时间" >
  509. <span>{orderDetaiel.createTime}</span>
  510. </FormItem>
  511. <FormItem className="half-item"
  512. {...formItemLayout}
  513. label="客户名称" >
  514. <span>{orderDetaiel.buyerName}</span>
  515. </FormItem>
  516. <FormItem className="half-item"
  517. {...formItemLayout}
  518. label="订单类型" >
  519. <span>{getOrderType(orderDetaiel.orderType)}</span>
  520. </FormItem>
  521. <FormItem className="half-item"
  522. {...formItemLayout}
  523. label="订单渠道" >
  524. <span>{getOrderChannel(orderDetaiel.orderChannel)}</span>
  525. </FormItem>
  526. <FormItem className="half-item"
  527. {...formItemLayout}
  528. label="订单状态" >
  529. <span>{getOrderState(orderDetaiel.orderStatus)}</span>
  530. </FormItem>
  531. <FormItem className="half-item"
  532. {...formItemLayout}
  533. label="已收款项" >
  534. <span>{orderDetaiel.actuallyTotalAmount+"万元"}</span>
  535. </FormItem>
  536. <FormItem className="half-item"
  537. {...formItemLayout}
  538. label="结算状态" >
  539. <span>{getPaymentState(orderDetaiel.liquidationStatus)}</span>
  540. </FormItem>
  541. <FormItem className="half-item"
  542. {...formItemLayout}
  543. label="市价订单金额" >
  544. <span>{orderDetaiel.orderAmount+"万元"}</span>
  545. </FormItem>
  546. <FormItem className="half-item"
  547. {...formItemLayout}
  548. label="市价首款金额" >
  549. <span>{orderDetaiel.firstPayment+"万元"}</span>
  550. </FormItem>
  551. <div className='clearfix'>
  552. <FormItem className="half-item"
  553. {...formItemLayout}
  554. label="实签订单金额" >
  555. <span>{orderDetaiel.signTotalAmount+"万元"}</span>
  556. </FormItem>
  557. <FormItem className="half-item"
  558. {...formItemLayout}
  559. label="实签首款金额" >
  560. <span>{orderDetaiel.signFirstPayment+"万元"}</span>
  561. </FormItem>
  562. <FormItem className="half-item"
  563. {...formItemLayout}
  564. label="特批立项" >
  565. <span>{getApprovedState(orderDetaiel.approval)}</span>
  566. </FormItem>
  567. <FormItem className="half-item"
  568. {...formItemLayout}
  569. label="合同编号" >
  570. <Input placeholder="请输入合同编号" value={this.state.contractNo} onChange={(e)=>{this.setState({contractNo:e.target.value})}} style={{width:'240px'}} />
  571. </FormItem>
  572. <div className='clearfix'>
  573. <FormItem
  574. labelCol={{ span: 4 }}
  575. wrapperCol={{ span: 16 }}
  576. label="订单留言" >
  577. <span>{orderDetaiel.orderRemarks}</span>
  578. </FormItem>
  579. </div>
  580. <div className='clearfix'>
  581. <div className="changeStatusTxt">
  582. <FormItem className="half-item"
  583. {...formItemLayout}
  584. style={{color:'red'}}
  585. label="变更状态" >
  586. <span>{getChangeState(orderDetaiel.changeStatus)}</span>
  587. </FormItem>
  588. </div>
  589. <div className="clearfix">
  590. <FormItem className="half-item"
  591. {...formItemLayout}
  592. label="变更操作" >
  593. <Button onClick={this.addChange}>添加变更</Button>
  594. </FormItem>
  595. <FormItem className="half-item"
  596. {...formItemLayout}
  597. label="变更操作" >
  598. <Button onClick={this.lookChange}>查看变更纪录</Button>
  599. </FormItem>
  600. </div>
  601. </div>
  602. </div>
  603. </div>
  604. <div className='clearfix'>
  605. <FormItem className="half-item"
  606. {...formItemLayout}
  607. label="订单负责人" >
  608. <span>{orderDetaiel.salesmanName}</span>
  609. </FormItem>
  610. <FormItem className="half-item"
  611. {...formItemLayout}
  612. label="业务品类" >
  613. <span>{orderDetaiel.projectType}</span>
  614. </FormItem>
  615. </div>
  616. <div className='clearfix'>
  617. <FormItem className="half-item"
  618. {...formItemLayout}
  619. label="意向时间" >
  620. <span>{orderDetaiel.createTime}</span>
  621. </FormItem>
  622. <FormItem className="half-item"
  623. {...formItemLayout}
  624. label="签单时间" >
  625. <span>{orderDetaiel.signTime}</span>
  626. </FormItem>
  627. <FormItem className="half-item"
  628. {...formItemLayout}
  629. label="财务负责人" >
  630. <span>{orderDetaiel.financeName}</span>
  631. <Button onClick={this.lookflow} style={{float:'right'}}>查看流水</Button>
  632. </FormItem>
  633. <FormItem className="half-item"
  634. {...formItemLayout}
  635. label="项目负责人" >
  636. <span>{orderDetaiel.technicianName}</span>
  637. </FormItem>
  638. <FormItem className="half-item"
  639. {...formItemLayout}
  640. label="立项时间" >
  641. <span>{orderDetaiel.setUpTime}</span>
  642. </FormItem>
  643. <FormItem className="half-item"
  644. {...formItemLayout}
  645. label="项目状态" >
  646. <span>{getProjectState(orderDetaiel.projectStage)}</span>
  647. </FormItem>
  648. </div>
  649. <div>
  650. <span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>
  651. </div>
  652. <div className="patent-table">
  653. <Spin spinning={this.state.loading}>
  654. <Table columns={this.state.columns}
  655. dataSource={this.state.dataSource}
  656. pagination={false}
  657. onRowClick={this.tableRowClick}
  658. />
  659. </Spin>
  660. </div>
  661. <div style={{marginTop:'10px'}}>
  662. <Button type="primary" onClick={this.subContract} style={{float:'left',marginLeft:'200px'}}>保存</Button>
  663. <Button className="cancel" type="ghost" onClick={this.handleCancel} style={{float:'right',marginRight:'200px'}}>返回</Button>
  664. </div>
  665. </div>
  666. </Spin>
  667. </Form >
  668. </Modal>
  669. <Modal maskClosable={false} visible={this.state.addnextVisible}
  670. onOk={this.nextCancel} onCancel={this.nextCancel}
  671. width='550px'
  672. title='查看明细服务'
  673. footer=''
  674. className="admin-desc-content">
  675. <Form layout="horizontal" id="demand-form">
  676. <Spin spinning={this.state.loading}>
  677. <div className="clearfix">
  678. <FormItem className="half-item"
  679. {...formItemLayout}
  680. label="服务名称" >
  681. <span>{editFws.commodityName}</span>
  682. </FormItem>
  683. <FormItem className="half-item"
  684. {...formItemLayout}
  685. label="市场价格" >
  686. <span>{editFws.commodityPrice+"万元"}</span>
  687. </FormItem>
  688. <FormItem className="half-item"
  689. {...formItemLayout}
  690. label="实签价格" >
  691. <span>{editFws.discountPrice+"万元"}</span>
  692. </FormItem>
  693. <FormItem className="half-item"
  694. {...formItemLayout}
  695. label="服务数量" >
  696. <span>{editFws.commodityQuantity}</span>
  697. </FormItem>
  698. <FormItem className="half-item"
  699. {...formItemLayout}
  700. label="市场首付金额" >
  701. <span>{editFws.commodityFirstPayment+"万元"}</span>
  702. </FormItem>
  703. <FormItem className="half-item"
  704. {...formItemLayout}
  705. label="签单首付金额" >
  706. <span>{editFws.discountFirstPayment+"万元"}</span>
  707. </FormItem>
  708. <div className='clearfix'>
  709. <FormItem
  710. labelCol={{ span: 4 }}
  711. wrapperCol={{ span: 16 }}
  712. label="服务说明" >
  713. <span>{editFws.remarks}</span>
  714. </FormItem>
  715. </div>
  716. </div>
  717. </Spin>
  718. </Form >
  719. </Modal>
  720. <Modal maskClosable={false} visible={this.state.lookVisible}
  721. onOk={this.lookCancel} onCancel={this.lookCancel}
  722. width='1300px'
  723. title= '查看流水'
  724. footer=''
  725. className="admin-desc-content">
  726. <Form layout="horizontal" id="demand-form">
  727. <Spin spinning={this.state.loading}>
  728. <div className="clearfix">
  729. <Table columns={this.state.flowList}
  730. dataSource={this.state.lookflowList}
  731. pagination={false}
  732. />
  733. </div>
  734. </Spin>
  735. </Form >
  736. </Modal>
  737. <Modal maskClosable={false} visible={this.state.addChangeState}
  738. onOk={this.addChangeCancel} onCancel={this.addChangeCancel}
  739. width='800px'
  740. title= {this.state.stateAdd?'添加变更':'查看变更记录'}
  741. footer=''
  742. className="admin-desc-content">
  743. <Form layout="horizontal" id="demand-form">
  744. <Spin spinning={this.state.loading}>
  745. <div className="clearfix">
  746. {this.state.stateAdd?<div className="clearfix">
  747. <FormItem
  748. labelCol={{ span: 4 }}
  749. wrapperCol={{ span: 16 }}
  750. label="变更说明" >
  751. <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks}
  752. onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/>
  753. </FormItem>
  754. <div className="clearfix">
  755. <Button type="primary" onClick={this.subChangeState} style={{margin:"10px 50px 10px 128px"}}>保存</Button>
  756. <Button onClick={this.addChangeCancel}>取消</Button>
  757. </div>
  758. </div>:
  759. <div>
  760. {
  761. changeHtml.length?changeHtml.map(function(item,index){
  762. return (<div className="changeBorder" key={index}>
  763. <FormItem className="half-item"
  764. {...formItemLayout}
  765. label="变更发起人" >
  766. <span>{item.creater}</span>
  767. </FormItem>
  768. <FormItem className="half-item"
  769. {...formItemLayout}
  770. label="变更申请时间" >
  771. <span>{item.createTime}</span>
  772. </FormItem>
  773. <div className='clearfix'>
  774. <FormItem className="half-item"
  775. {...formItemLayout}
  776. label="变更状态" >
  777. <span>{getChangeState(item.changeStatus)}</span>
  778. </FormItem>
  779. <FormItem className="half-item"
  780. {...formItemLayout}
  781. label="变更操作" >
  782. <Button onClick={()=>{this.modifyChange(item)}}>修改</Button>
  783. {/*<Button type="danger" onClick={(e)=>{this.modifyDelete(item)}}>删除</Button>*/}
  784. </FormItem>
  785. </div>
  786. <div className='clearfix changeRemark'>
  787. <FormItem
  788. labelCol={{ span: 4 }}
  789. wrapperCol={{ span: 16 }}
  790. label="变更说明" >
  791. <p>{item.changeComment}</p>
  792. </FormItem>
  793. </div>
  794. </div>)
  795. },this):<p style={{textAlign:"center"}}>暂无变更记录</p>}
  796. </div>
  797. }
  798. </div>
  799. </Spin>
  800. </Form >
  801. </Modal>
  802. <Modal maskClosable={false} visible={this.state.modifyChangeState}
  803. onOk={this.modifyChangeCancel} onCancel={this.modifyChangeCancel}
  804. width='600px'
  805. title= "修改变更 "
  806. footer=''
  807. className="admin-desc-content">
  808. <Form layout="horizontal" id="demand-form">
  809. <Spin spinning={this.state.loading}>
  810. <div className="clearfix">
  811. <div className="clearfix">
  812. <FormItem className="half-item"
  813. {...formItemLayout}
  814. label="变更发起人" >
  815. <span>{this.state.changePromoter}</span>
  816. </FormItem>
  817. <FormItem className="half-item"
  818. {...formItemLayout}
  819. label="变更申请时间" >
  820. <span>{this.state.changeTime}</span>
  821. </FormItem>
  822. <div className='clearfix'>
  823. <FormItem
  824. labelCol={{ span: 4 }}
  825. wrapperCol={{ span: 16 }}
  826. label="变更状态" >
  827. <Radio.Group onChange={(e)=>{this.setState({changeState:e.target.value})}} value={this.state.changeState}>
  828. <Radio value={1}>变更中</Radio>
  829. <Radio value={2}>变更完成</Radio>
  830. </Radio.Group>
  831. </FormItem>
  832. </div>
  833. <div className='clearfix'>
  834. <FormItem
  835. labelCol={{ span: 4 }}
  836. wrapperCol={{ span: 16 }}
  837. label="变更说明" >
  838. <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks}
  839. onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/>
  840. </FormItem>
  841. </div>
  842. <div className="clearfix">
  843. <Button type="primary" onClick={this.changeModify} style={{margin:"10px 95px"}}>保存</Button>
  844. <Button onClick={this.modifyChangeCancel}>取消</Button>
  845. </div>
  846. </div>
  847. </div>
  848. </Spin>
  849. </Form >
  850. </Modal>
  851. </div>
  852. )
  853. }
  854. }));
  855. export default MySettlementDetaile;