managementDetaile.1.jsx 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  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 ManagementDetaile = 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/customer/selectAdminCustomerList',
  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.list.length; i++) {
  29. let thisdata = data.data.list[i];
  30. theArr.push({
  31. key: i,
  32. id:thisdata.id,
  33. name:thisdata.name,
  34. sourceName:thisdata.sourceName,
  35. contacts:thisdata.contacts,
  36. contactMobile:thisdata.contactMobile,
  37. createTime:thisdata.createTime,
  38. followTime:thisdata.followTime,
  39. orderNo:thisdata.orderNo,
  40. // commodityName:thisdata.commodityName,
  41. // commodityType:thisdata.commodityType,
  42. // commodityMode:thisdata.commodityMode,
  43. // commodityQuantity:thisdata.commodityQuantity,
  44. // commodityPrice:thisdata.commodityPrice,
  45. // discountPrice:thisdata.discountPrice,
  46. // commodityFirstPayment:thisdata.commodityFirstPayment,
  47. // createTimes:thisdata.createTimes,
  48. // discountFirstPayment:thisdata.discountFirstPayment,
  49. // remarks:thisdata.remarks,
  50. // discountPrice:thisdata.discountPrice,
  51. // commodityFirstPayment:thisdata.commodityFirstPayment,
  52. // createTimes:thisdata.createTimes,
  53. // discountFirstPayment:thisdata.discountFirstPayment,
  54. // remarks:thisdata.remarks,
  55. });
  56. };
  57. this.state.pagination.current = data.data.pageNo;
  58. this.state.pagination.total = data.data.totalCount;
  59. }
  60. if(!data.data.list.length) {
  61. this.state.pagination.current = 0
  62. this.state.pagination.total = 0
  63. }
  64. this.setState({
  65. pageNo: pageNo,
  66. dataSource: theArr,
  67. pagination: this.state.pagination,
  68. selectedRowKeys: [],
  69. signBillVisible: false
  70. });
  71. }.bind(this),
  72. }).always(function () {
  73. this.setState({
  74. loading: false
  75. });
  76. }.bind(this));
  77. },
  78. getInitialState() {
  79. return {
  80. loading: false,
  81. visible: false,
  82. lookState:true,
  83. orgCodeUrl:[],
  84. checkedKeys: [],
  85. lookflowList:[],
  86. columns: [
  87. {
  88. title: '客户名称',
  89. dataIndex: 'name',
  90. key: 'name'
  91. }, {
  92. title: '来源',
  93. dataIndex: 'sourceName',
  94. key: 'sourceName',
  95. render:(text)=>{
  96. return (getOrderType(text))
  97. }
  98. },{
  99. title: '联系人',
  100. dataIndex: 'contacts',
  101. key: 'contacts'
  102. }, {
  103. title: '联系人电话',
  104. dataIndex: 'contactMobile',
  105. key: 'contactMobile'
  106. }, {
  107. title: '创建时间',
  108. dataIndex: 'createTime',
  109. key: 'createTime'
  110. }, {
  111. title: '跟进时间',
  112. dataIndex: 'followTime',
  113. key: 'followTime'
  114. },
  115. // {
  116. // title: '项目说明',
  117. // dataIndex: 'remarks',
  118. // key: 'remarks',
  119. // render:(text)=>{
  120. // return (text&&text.length>8?text.substr(0,8)+'…':text)
  121. // }
  122. // }
  123. ],
  124. flowList:[
  125. {
  126. title: '平台流水号',
  127. dataIndex: 'billNo',
  128. key: 'billNo',
  129. }, {
  130. title: '平台流水时间',
  131. dataIndex: 'createTime',
  132. key: 'createTime'
  133. }, {
  134. title: '流水金额(万元)',
  135. dataIndex: 'transactionAmount',
  136. key: 'transactionAmount'
  137. },{
  138. title: '付款人名称',
  139. dataIndex: 'payerName',
  140. key: 'payerName'
  141. }, {
  142. title: '收款人名称',
  143. dataIndex: 'payeeName',
  144. key: 'payeeName'
  145. },
  146. {
  147. title: '流水科目',
  148. dataIndex: 'transactionSubject',
  149. key: 'transactionSubject',
  150. render:(text)=>{return getTransactionProject(text) }
  151. }, {
  152. title: '流水渠道',
  153. dataIndex: 'transactionChannel',
  154. key: 'transactionChannel',
  155. render:(text)=>{return getTransactionChannel(text) }
  156. },{
  157. title: '财务流水号',
  158. dataIndex: 'financialPayNo',
  159. key: 'financialPayNo',
  160. }, {
  161. title: '财务流水时间',
  162. dataIndex: 'financialPayTime',
  163. key: 'financialPayTime',
  164. }, {
  165. title: '流水确认',
  166. dataIndex: 'confirmSign',
  167. key: 'confirmSign',
  168. render:(text)=>{return text?'已确认':'待确认' }
  169. },{
  170. title: '确认时间',
  171. dataIndex: 'confirmTime',
  172. key: 'confirmTime',
  173. }
  174. ]
  175. };
  176. },
  177. //查看基本详情基本信息
  178. loaduser(record){
  179. if(record){
  180. this.state.orderList=[]
  181. $.ajax({
  182. method: "get",
  183. dataType: "json",
  184. crossDomain: false,
  185. url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
  186. data: {
  187. orderNo: record.orderNo
  188. },
  189. success: function (data) {
  190. let thisData = data.data;
  191. if (!thisData) {
  192. if (data.error && data.error.length) {
  193. message.warning(data.error[0].message);
  194. };
  195. thisData = {};
  196. };
  197. this.setState({
  198. id:thisData.id,
  199. orderList:thisData,
  200. orderAmount:thisData.orderAmount,
  201. firstPayment:thisData.firstPayment,
  202. signTotalAmount:thisData.signTotalAmount,
  203. signFirstPayment:thisData.signFirstPayment,
  204. approval:thisData.approval==0?thisData.approval.toString():thisData.approval,
  205. orderRemarks:thisData.orderRemarks,
  206. orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
  207. //签单
  208. orderNo:thisData.orderNo,//订单编号
  209. buyerName:thisData.buyerName,
  210. });
  211. }.bind(this),
  212. }).always(function () {
  213. this.setState({
  214. loading: false
  215. });
  216. }.bind(this));
  217. }
  218. },
  219. handleOk(e) {
  220. this.setState({
  221. visible: false,
  222. });
  223. this.props.closeDesc(false, true);
  224. },
  225. handleCancel(e) {
  226. this.setState({
  227. visible: false,
  228. });
  229. this.props.closeDesc(false);
  230. },
  231. nextCancel() {
  232. this.setState({
  233. addnextVisible: false
  234. })
  235. },
  236. lookflow(){
  237. this.setState({
  238. loading: true,
  239. lookVisible:true,
  240. })
  241. this.state.lookSource=[];
  242. $.ajax({
  243. method: "get",
  244. dataType: "json",
  245. crossDomain: false,
  246. url: globalConfig.context +'/api/admin/order/getBillByOrderNo',
  247. data: {
  248. orderNo:this.props.datauser.orderNo,
  249. },
  250. success: function (data) {
  251. let theArr = [];
  252. if (!data.data) {
  253. if (data.error && data.error.length) {
  254. message.warning(data.error[0].message);
  255. };
  256. } else {
  257. for (let i = 0; i < data.data.length; i++) {
  258. let thisdata = data.data[i];
  259. theArr.push({
  260. key: i,
  261. billNo: thisdata.billNo,
  262. transactionAmount:thisdata.transactionAmount,
  263. createTime:thisdata.createTime,
  264. transactionAmount:thisdata.transactionAmount,
  265. payerName:thisdata.payerName,
  266. payeeName:thisdata.payeeName,
  267. transactionSubject:thisdata.transactionSubject,
  268. transactionChannel:thisdata.transactionChannel,
  269. financialPayNo:thisdata.financialPayNo,
  270. financialPayTime:thisdata.financialPayTime,
  271. orderNo:thisdata.orderNo,
  272. departmentName:thisdata.departmentName,
  273. salesmanName:thisdata.salesmanName,
  274. financeName:thisdata.financeName,
  275. confirmSign:thisdata.confirmSign,
  276. deleteSign:thisdata.deleteSign,
  277. confirmTime:thisdata.confirmTime
  278. });
  279. };
  280. };
  281. this.setState({
  282. lookflowList: theArr,
  283. });
  284. }.bind(this),
  285. }).always(function () {
  286. this.setState({
  287. loading: false
  288. });
  289. }.bind(this));
  290. },
  291. lookCancel(){
  292. this.setState({
  293. lookVisible:false
  294. })
  295. },
  296. tableRowClick(record, index) {
  297. this.setState({
  298. editFw:record,
  299. addnextVisible:true,
  300. });
  301. },
  302. componentWillMount() {
  303. },
  304. componentWillReceiveProps(nextProps) { //props改变时触发
  305. this.state.visible = nextProps.showDesc;
  306. if(nextProps.userDetaile && nextProps.showDesc ) {
  307. this.loaduser(nextProps.datauser);
  308. this.loadData(nextProps.datauser);
  309. }
  310. },
  311. render() {
  312. const FormItem = Form.Item
  313. const formItemLayout = {
  314. labelCol: { span: 8 },
  315. wrapperCol: { span: 14 },
  316. };
  317. const editFws=this.state.editFw || [];
  318. const orderDetaiel=this.state.orderList || [];
  319. return(
  320. <div className="user-content" >
  321. <Modal maskClosable={false} visible={this.state.visible}
  322. onOk={this.handleOk} onCancel={this.handleCancel}
  323. width='1000px'
  324. title='订单详情'
  325. footer=''
  326. className="admin-desc-content">
  327. <div className="content-title">
  328. {<div className="patent-table">
  329. <Spin spinning={this.state.loading}>
  330. <Table columns={this.state.columns}
  331. dataSource={this.state.dataSource}
  332. pagination={this.state.pagination}
  333. onRowClick={this.tableRowClick} />
  334. </Spin>
  335. </div>}
  336. </div >
  337. </Modal>
  338. </div>
  339. )
  340. }
  341. }));
  342. export default ManagementDetaile;