intentionCustomer.jsx 21 KB

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