projectOrderDetaile.jsx 32 KB

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