signCustomer.jsx 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. import React from 'react';
  2. import {
  3. Radio,
  4. Icon,
  5. Button,
  6. AutoComplete,
  7. Cascader,
  8. Input,
  9. Select,
  10. Tabs,
  11. Spin,
  12. Popconfirm,
  13. Table,
  14. Switch,
  15. message,
  16. DatePicker,
  17. Upload,
  18. Form,
  19. Modal, Tooltip
  20. } from 'antd';
  21. import ajax from 'jquery/src/ajax/xhr.js';
  22. import $ from 'jquery/src/ajax';
  23. import moment from 'moment';
  24. import { citySelect, provinceList } from '@/NewDicProvinceList';
  25. import { socialAttribute, industry, auditStatusL, lvl, currentMember } from '@/dataDic.js';
  26. import { getSocialAttribute, beforeUploadFile, ShowModal } from "@/tools.js";
  27. import FollowDetail from './followDetail.jsx'
  28. import ShowModalDiv from "@/showModal.jsx";
  29. import ZhuanjiaoDetail from "@/zhuanjiaoDetail.jsx";
  30. import IntentionDetail from './intentionDetail/intentionDetail.jsx'
  31. import './customer.less';
  32. import {ChooseList} from "../../../order/orderNew/chooseList";
  33. import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
  34. const {TabPane} = Tabs
  35. const IntentionCustomer = Form.create()(React.createClass({
  36. loadData(pageNo, apiUrl) {
  37. this.setState({
  38. visitModul:false,
  39. loading: true,
  40. ispage:pageNo,
  41. modalVisible:false
  42. });
  43. let api=apiUrl?apiUrl:this.props.ApiUrl;
  44. $.ajax({
  45. method: "post",
  46. dataType: "json",
  47. crossDomain: false,
  48. url: globalConfig.context + api,
  49. data: {
  50. pageNo: pageNo || 1,
  51. pageSize: this.state.pagination.pageSize,
  52. name: this.state.nameSearch,
  53. channel: this.state.channelSearch,
  54. province: !(this.state.addressSearch).length ? this.state.provinceSearch : this.state.addressSearch[0],
  55. city: !(this.state.addressSearch).length ? '' : this.state.addressSearch[1],
  56. startDate: this.state.releaseDate[0],
  57. endDate: this.state.releaseDate[1],
  58. },
  59. success: function(data) {
  60. ShowModal(this);
  61. let theArr = [];
  62. if(data.error.length || data.data.list == "") {
  63. if(data.error && data.error.length) {
  64. message.warning(data.error[0].message);
  65. };
  66. } else {
  67. for(let i = 0; i < data.data.list.length; i++) {
  68. let thisdata = data.data.list[i];
  69. let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area);
  70. thisdata.key = i;
  71. thisdata.id = thisdata.uid;
  72. thisdata.transferTime = thisdata.transferTime && thisdata.transferTime.split(" ")[0];
  73. thisdata.lastSignTime = thisdata.lastSignTime && thisdata.lastSignTime.split(" ")[0];
  74. thisdata.lastFollowTime = thisdata.lastFollowTime && thisdata.lastFollowTime.split(" ")[0];
  75. thisdata.locationProvince = diqu
  76. theArr.push(thisdata);
  77. };
  78. this.state.pagination.current = data.data.pageNo;
  79. this.state.pagination.total = data.data.totalCount;
  80. };
  81. if(data.data&&data.data.list&&!data.data.list.length){
  82. this.state.pagination.current=0
  83. this.state.pagination.total=0
  84. };
  85. this.setState({
  86. dataSource: theArr,
  87. pagination: this.state.pagination,
  88. selectedRowKeys:[]
  89. });
  90. }.bind(this),
  91. }).always(function() {
  92. this.setState({
  93. loading: false
  94. });
  95. }.bind(this));
  96. },
  97. getInitialState() {
  98. return {
  99. addressSearch: [],
  100. orgCodeUrl: [],
  101. companyLogoUrl: [],
  102. visible: false,
  103. searchMore: true,
  104. releaseDate: [],
  105. visitModul: false,
  106. keys: false,
  107. detailApi: "",
  108. followData: {},
  109. selectedRowKeys: [],
  110. selectedRowKey: [],
  111. selectedRows: [],
  112. loading: false,
  113. defaultActiveKey: '',
  114. modalVisible: false,
  115. pagination: {
  116. defaultCurrent: 1,
  117. defaultPageSize: 10,
  118. showQuickJumper: true,
  119. pageSize: 10,
  120. onChange: function (page) {
  121. this.loadData(page);
  122. }.bind(this),
  123. showTotal: function (total) {
  124. return "共" + total + "条数据";
  125. },
  126. },
  127. columns: [
  128. {
  129. title: "客户名称",
  130. dataIndex: "name",
  131. key: "name",
  132. width: 150,
  133. render: (text,record) => {
  134. return (
  135. <span>
  136. {record.channel === 1 ? <div style={{
  137. background:'#ef7207',
  138. color:'#FFF',
  139. padding: '1px 7px',
  140. borderRadius:'5px',
  141. fontSize:'12px',
  142. display: 'inline-block',
  143. marginRight:'10px'
  144. }}>
  145. 渠道
  146. </div> : null}
  147. <Tooltip title={text}>
  148. <div style={{
  149. maxWidth:'120px',
  150. overflow:'hidden',
  151. textOverflow: "ellipsis",
  152. whiteSpace:'nowrap',
  153. }}>{text}</div>
  154. </Tooltip>
  155. </span>
  156. )
  157. },
  158. },
  159. {
  160. title: "地区",
  161. dataIndex: "locationProvince",
  162. key: "locationProvince",
  163. },
  164. {
  165. title: "最新签单日期",
  166. dataIndex: "transferTime",
  167. key: "transferTime",
  168. },
  169. // {
  170. // title: "最新跟进日期",
  171. // dataIndex: "lastFollowTime",
  172. // key: "lastFollowTime",
  173. // },
  174. // {
  175. // title: "剩余私有天数",
  176. // dataIndex: "surplusFollowTime",
  177. // key: "surplusFollowTime",
  178. // },
  179. // {
  180. // title: "剩余签单天数",
  181. // dataIndex: "surplusSignTime",
  182. // key: "surplusSignTime",
  183. // },
  184. // {
  185. // title: "联系人",
  186. // dataIndex: "contacts",
  187. // key: "contacts",
  188. // },
  189. // {
  190. // title: "联系电话",
  191. // dataIndex: "contactMobile",
  192. // key: "contactMobile",
  193. // },
  194. {
  195. title: "社会属性",
  196. dataIndex: "societyTag",
  197. key: "societyTag",
  198. render: (text) => {
  199. return getSocialAttribute(text);
  200. },
  201. },
  202. {
  203. title: "操作",
  204. dataIndex: "abc",
  205. key: "abc",
  206. render: (text, record, index) => {
  207. return (
  208. <div>
  209. <Button
  210. onClick={(e) => {
  211. e.stopPropagation(), this.visit(record);
  212. }}
  213. type="primary"
  214. >
  215. 客户跟进
  216. </Button>
  217. <Button
  218. style={{ marginLeft: 10 }}
  219. onClick={(e) => {
  220. e.stopPropagation(), this.zhuanjiaoDetail(record);
  221. }}
  222. type="primary"
  223. >
  224. 转交记录
  225. </Button>
  226. <Button
  227. style={{ marginLeft: 10 }}
  228. type="primary"
  229. onClick={(e)=>{
  230. e.stopPropagation();
  231. this.setState({
  232. defaultActiveKey: '6'
  233. },()=>{
  234. this.tableRowClick(record);
  235. })
  236. }}
  237. >
  238. 转交业务
  239. </Button>
  240. </div>
  241. );
  242. },
  243. },
  244. ],
  245. data: [],
  246. dataSource: [],
  247. };
  248. },
  249. zhuanjiaoDetail(record) {
  250. this.setState({
  251. zhuanjiaoVisible: true,
  252. zhuanjiaoId: record.id
  253. })
  254. },
  255. zhuanjiaoDetailCancel() {
  256. this.setState({
  257. zhuanjiaoVisible: false
  258. })
  259. },
  260. //进入新增拜访记录
  261. visit(e) {
  262. this.setState({
  263. followData:e,
  264. visitModul:true,
  265. modalVisible:false
  266. })
  267. },
  268. //列表删除功能
  269. delectRow() {
  270. let deletedIds;
  271. for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
  272. let rowItem = this.state.selectedRows[idx];
  273. if(rowItem.id) {
  274. deletedIds = rowItem.id;
  275. };
  276. };
  277. this.setState({
  278. loading: true,
  279. selectedRowKeys: [],
  280. });
  281. $.ajax({
  282. method: "get",
  283. dataType: "json",
  284. crossDomain: false,
  285. url: globalConfig.context + "/api/admin/customer/deleteCustomer",
  286. data: {
  287. uid: deletedIds, //删除的ID
  288. }
  289. }).done(function(data) {
  290. if(!data.error.length) {
  291. message.success('删除成功!');
  292. this.setState({
  293. loading: false,
  294. });
  295. } else {
  296. message.warning(data.error[0].message);
  297. };
  298. this.loadData(this.state.ispage);
  299. }.bind(this));
  300. },
  301. componentWillMount() {
  302. //城市
  303. let Province = [];
  304. provinceList.map(function(item) {
  305. var id = String(item.id)
  306. Province.push(
  307. <Select.Option value={id} key={item.name}>{item.name}</Select.Option>
  308. )
  309. });
  310. //行业
  311. let intentionalArr = [];
  312. industry.map(function(item) {
  313. intentionalArr.push(
  314. <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>
  315. )
  316. });
  317. this.state.Provinces = Province;
  318. this.state.intentionalOption = intentionalArr;
  319. this.loadData();
  320. },
  321. closeDesc(e, s) {
  322. this.state.basicState=e
  323. this.state.visitModul=e;
  324. this.state.modalVisible=e;
  325. this.state.showDesc = e;
  326. this.setState({
  327. defaultActiveKey:''
  328. })
  329. if(s) {
  330. this.loadData(this.state.ispage);
  331. };
  332. },
  333. search() {
  334. this.loadData();
  335. },
  336. reset() {
  337. this.state.nameSearch = '';
  338. this.state.addressSearch = [];
  339. this.state.provinceSearch = undefined;
  340. this.state.channelSearch = undefined;
  341. this.state.citySearch = undefined;
  342. this.state.releaseDate[0] = undefined;
  343. this.state.releaseDate[1] = undefined;
  344. this.loadData();
  345. },
  346. searchSwitch() {
  347. this.setState({
  348. visitModul:false,
  349. searchMore: !this.state.searchMore
  350. });
  351. },
  352. //整行点击
  353. tableRowClick(record) {
  354. this.state.visitModul=false;
  355. this.state.RowData = record;
  356. this.setState({
  357. // selectedRowKeys: [],
  358. modalVisible:true,
  359. basicState:true,
  360. contactState:true,
  361. modalName: record.name
  362. })
  363. },
  364. //指定转交人自动补全
  365. supervisor(e){
  366. $.ajax({
  367. method: "get",
  368. dataType: "json",
  369. crossDomain: false,
  370. url: globalConfig.context + "/api/admin/customer/listAdminByName",
  371. data:{
  372. adminName:e
  373. },
  374. success: function (data) {
  375. let thedata=data.data;
  376. if (!thedata) {
  377. if (data.error && data.error.length) {
  378. message.warning(data.error[0].message);
  379. };
  380. thedata = {};
  381. };
  382. this.setState({
  383. customerArr:thedata,
  384. });
  385. }.bind(this),
  386. }).always(function () {
  387. this.setState({
  388. loading: false
  389. });
  390. }.bind(this));
  391. },
  392. componentWillReceiveProps(nextProps) {
  393. if(nextProps.ApiUrl!=this.props.ApiUrl) {
  394. if(!this.state.searchMore){
  395. this.state.searchMore=true
  396. }
  397. this.state.nameSearch = '';
  398. this.state.addressSearch = [];
  399. this.state.provinceSearch = undefined;
  400. this.state.channelSearch = undefined
  401. this.state.citySearch = undefined;
  402. this.state.releaseDate[0] = undefined;
  403. this.state.releaseDate[1] = undefined;
  404. this.loadData(null,nextProps.ApiUrl);
  405. };
  406. },
  407. changeList(arr) {
  408. const newArr = [];
  409. this.state.columns.forEach(item => {
  410. arr.forEach(val => {
  411. if (val === item.title) {
  412. newArr.push(item);
  413. }
  414. });
  415. });
  416. this.setState({
  417. changeList: newArr
  418. });
  419. },
  420. //上级主管输入框失去焦点是判断客户是否存在
  421. selectAuto(value, options) {
  422. this.setState({
  423. auto: value,
  424. });
  425. },
  426. //值改变时请求客户名称
  427. httpChange(e) {
  428. if (e.length >= 1) {
  429. this.supervisor(e);
  430. }
  431. this.setState({
  432. auto: e,
  433. });
  434. },
  435. showConfirm() {
  436. if(this.state.confirmLoading){
  437. return false;
  438. }
  439. let _this = this;
  440. Modal.confirm({
  441. title: "提示",
  442. content: (
  443. <span style={{ color: "red" }}>
  444. 确定要转交以下客户吗?
  445. {
  446. this.state.selectedRows.map((value,index)=>(
  447. <div key={index} style={{marginTop:'5px',color: "#000"}}>
  448. {value.name}
  449. </div>
  450. ))
  451. }
  452. </span>
  453. ),
  454. onOk() {
  455. _this.setState({
  456. informationTransferVisible:true
  457. })
  458. },
  459. onCancel() {},
  460. });
  461. },
  462. //转交
  463. changeAssigner(infor) {
  464. if (this.state.theTypes) {
  465. this.setState({
  466. confirmLoading: true,
  467. informationTransferVisible:false
  468. })
  469. const hide = message.loading('转交中...', 0);
  470. let changeIds = '';
  471. let oldAid = '';
  472. for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
  473. let rowItem = this.state.selectedRows[idx];
  474. if (rowItem.id) {
  475. oldAid = rowItem.aid;
  476. changeIds = this.state.selectedRows.length-1 === idx ? changeIds +rowItem.id : changeIds + rowItem.id + ',' ;
  477. }
  478. }
  479. $.ajax({
  480. method: "get",
  481. dataType: "json",
  482. crossDomain: false,
  483. url: globalConfig.context + "/api/admin/customer/transferToOther",
  484. data: {
  485. uid: changeIds, //这一行数据的ID
  486. aid: this.state.theTypes, //指定转交人的ID
  487. oldAid: window.adminData.uid,
  488. operatorType:4,
  489. data:infor,
  490. },
  491. }).done(
  492. function (data) {
  493. hide();
  494. if (!data.error.length) {
  495. message.success("转交成功!");
  496. this.setState({
  497. auto: "",
  498. loading: false,
  499. selectedRowKeys: [],
  500. });
  501. } else {
  502. message.warning(data.error[0].message);
  503. }
  504. this.loadData(
  505. Math.min(
  506. this.state.ispage == undefined ? 1 : this.state.ispage,
  507. Math.ceil((this.state.pagination.total - 1) / 10)
  508. )
  509. );
  510. this.setState({
  511. confirmLoading: false
  512. })
  513. }.bind(this)
  514. );
  515. } else {
  516. message.warning("请输入转交人姓名");
  517. }
  518. },
  519. blurChange(e) {
  520. let theType = "";
  521. let contactLists = this.state.customerArr || [];
  522. if (e) {
  523. contactLists.map(function (item) {
  524. if (item.name == e.toString()) {
  525. theType = item.id;
  526. }
  527. });
  528. }
  529. this.setState({
  530. theTypes: theType,
  531. });
  532. },
  533. render() {
  534. const rowSelection = {
  535. selectedRowKeys: this.state.selectedRowKeys,
  536. onChange: (selectedRowKeys, selectedRows) => {
  537. this.setState({
  538. modalVisible:false,
  539. selectedRows: selectedRows,
  540. selectedRowKeys: selectedRowKeys
  541. });
  542. },
  543. onSelect: (recordt, selected, selectedRows) => {
  544. this.setState({
  545. modalVisible:false,
  546. recordt: recordt.id
  547. })
  548. },
  549. };
  550. const hasSelected = this.state.selectedRowKeys.length > 0;
  551. const { RangePicker } = DatePicker;
  552. const dataSources=this.state.customerArr || [];
  553. const options = dataSources.map((group) =>
  554. <Select.Option key={group.id} value={group.name}>{group.name}</Select.Option>
  555. )
  556. const intentionState = this.props.intentionState ||'';
  557. return (
  558. <div className="user-content">
  559. <ShowModalDiv ShowModal={this.state.showModal} />
  560. {this.state.zhuanjiaoVisible ? (
  561. <ZhuanjiaoDetail
  562. cancel={this.zhuanjiaoDetailCancel}
  563. visible={this.state.zhuanjiaoVisible}
  564. type={1}
  565. id={this.state.zhuanjiaoId}
  566. />
  567. ) : (
  568. ""
  569. )}
  570. <div className="content-title">
  571. <span>{!intentionState ? "签单客户" : "签单客户"}</span>
  572. </div>
  573. <Tabs defaultActiveKey="1" className="test">
  574. <TabPane tab="搜索" key="1">
  575. <div className="user-search">
  576. <Input
  577. placeholder="客户名称"
  578. value={this.state.nameSearch}
  579. onChange={(e) => {
  580. this.setState({ nameSearch: e.target.value });
  581. }}
  582. />
  583. <Select
  584. placeholder="是否为渠道"
  585. style={{ width: 110 }}
  586. value={this.state.channelSearch}
  587. onChange={(e) => {
  588. this.setState({ channelSearch: e });
  589. }}
  590. >
  591. <Select.Option value={0}>
  592. 非渠道
  593. </Select.Option>
  594. <Select.Option value={1}>
  595. 渠道
  596. </Select.Option>
  597. </Select>
  598. <Select
  599. placeholder="省"
  600. style={{ width: 80 }}
  601. value={this.state.provinceSearch}
  602. onChange={(e) => {
  603. this.setState({ provinceSearch: e });
  604. }}
  605. >
  606. {this.state.Provinces}
  607. </Select>
  608. <span style={{ marginRight: "10px" }}>
  609. <Cascader
  610. options={citySelect()}
  611. value={this.state.addressSearch}
  612. placeholder="选择城市"
  613. onChange={(e, pre) => {
  614. this.setState({ addressSearch: e });
  615. }}
  616. />
  617. </span>
  618. {/* <div className="clearfix" style={{ marginTop: "5px" }}>
  619. <div
  620. className="search-more"
  621. style={this.state.searchMore ? { display: "none" } : {}}
  622. > */}
  623. <span>签单时间:</span>
  624. <RangePicker
  625. value={[
  626. this.state.releaseDate[0]
  627. ? moment(this.state.releaseDate[0])
  628. : null,
  629. this.state.releaseDate[1]
  630. ? moment(this.state.releaseDate[1])
  631. : null,
  632. ]}
  633. onChange={(data, dataString) => {
  634. this.setState({ releaseDate: dataString });
  635. }}
  636. />
  637. {/* </div>
  638. </div> */}
  639. <Button
  640. type="primary"
  641. onClick={this.search}
  642. style={{ marginLeft: 10 }}
  643. >
  644. 搜索
  645. </Button>
  646. <Button onClick={this.reset}>重置</Button>
  647. {/* {adminData.isSuperAdmin?<Popconfirm title="是否删除?" onConfirm={this.delectRow} okText="是" cancelText="否">
  648. <Button type="danger" style={{marginLeft:'10px'}}
  649. disabled={!hasSelected}
  650. >删除<Icon type="minus" />
  651. </Button>
  652. </Popconfirm>:''
  653. }*/}
  654. {/* <span style={{ marginLeft: "10px", marginRight: "20px" }}>
  655. 更多搜索
  656. <Switch
  657. checked={!this.state.searchMore}
  658. onChange={this.searchSwitch}
  659. />
  660. </span> */}
  661. </div>
  662. </TabPane>
  663. <TabPane tab="操作" key="2">
  664. <div className="user-search">
  665. <AutoComplete
  666. className="certain-category-search"
  667. dropdownClassName="certain-category-search-dropdown"
  668. dropdownMatchSelectWidth={false}
  669. style={{ width: "120px" }}
  670. dataSource={options}
  671. placeholder="输入转交人姓名"
  672. value={this.state.auto}
  673. onChange={this.httpChange}
  674. filterOption={true}
  675. onBlur={this.blurChange}
  676. onSelect={this.selectAuto}
  677. disabled={!hasSelected}
  678. >
  679. <Input />
  680. </AutoComplete>
  681. <Button
  682. type="primary"
  683. onClick={(e) => {
  684. e.stopPropagation();
  685. this.showConfirm();
  686. }}
  687. disabled={!hasSelected}
  688. style={{ marginRight: 10 }}
  689. >
  690. 转交客户
  691. </Button>
  692. <EnterpriseNameChange
  693. type='journal'
  694. disabled={!(hasSelected && this.state.selectedRows.length === 1)}
  695. style={{ marginLeft: 10 }}
  696. enterpriseId={this.state.selectedRows[0] && this.state.selectedRows[0].id}/>
  697. </div>
  698. </TabPane>
  699. <TabPane tab="更改表格显示数据" key="3">
  700. <div style={{ marginLeft: 10 }}>
  701. <ChooseList
  702. columns={this.state.columns}
  703. changeFn={this.changeList}
  704. changeList={this.state.changeList}
  705. top={55}
  706. margin={11}
  707. />
  708. </div>
  709. </TabPane>
  710. </Tabs>
  711. <div className="patent-table">
  712. <Spin spinning={this.state.loading}>
  713. <Table
  714. size="middle"
  715. columns={
  716. this.state.changeList
  717. ? this.state.changeList
  718. : this.state.columns
  719. }
  720. dataSource={this.state.dataSource}
  721. rowSelection={rowSelection}
  722. pagination={this.state.pagination}
  723. onRowClick={this.tableRowClick}
  724. />
  725. </Spin>
  726. </div>
  727. <FollowDetail
  728. followData={this.state.followData}
  729. visitModul={this.state.visitModul}
  730. closeDesc={this.closeDesc}
  731. loadData={this.loadData}
  732. />
  733. <IntentionDetail
  734. detailApi={this.props.detailApi}
  735. IntentionData={this.state.RowData}
  736. loadData={this.loadData}
  737. modalVisible={this.state.modalVisible}
  738. defaultActiveKey={this.state.defaultActiveKey}
  739. name={this.state.modalName}
  740. closeDesc={this.closeDesc}
  741. basicState={this.state.basicState}
  742. contactState={this.state.contactState}
  743. />
  744. {this.state.informationTransferVisible && <Modal
  745. visible={this.state.informationTransferVisible}
  746. title="提醒"
  747. onCancel={()=>{
  748. this.setState({
  749. informationTransferVisible:false
  750. })
  751. }}
  752. footer={[
  753. <Button key="1" size="large" type={"primary"} onClick={()=>{
  754. this.changeAssigner(1);
  755. }}>需要</Button>,
  756. <Button key="2" size="large" type={"danger"} onClick={()=>{
  757. this.changeAssigner(0);
  758. }}>不需要</Button>,
  759. ]}
  760. >
  761. 请确定,是否将客户资料一并转交!选择“需要”,系统将全部客户资料一并转交!选择“不需要”,原客户资料保存您的客户资料中,请注意客户资料的更新维护,谢谢
  762. </Modal>}
  763. </div>
  764. );
  765. }
  766. }));
  767. export default IntentionCustomer;