import React from 'react'; import { Radio, Icon, Button, AutoComplete, Cascader, Input, Select, Spin, Popconfirm, Table, Switch, message, DatePicker, Upload, Form, Modal, Tabs, Tag, Tooltip } from 'antd'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import TechAchievementDesc from '@/manageCenter/achievement/crmAchievement.jsx'; import { citySelect, provinceList ,areaSelect} from '@/NewDicProvinceList'; import { socialAttribute, industry, auditStatusL, lvl, currentMember ,slcRedit,dataGrade} from '@/dataDic.js'; import { getSocialAttribute, beforeUploadFile,splitUrl ,getSlcRedit,getDataGrade,getAchievementCategory,getTechAuditStatus,getboutique,getXiangmoState} from '@/tools.js'; import './customer.less'; import ImgList from "../../../../common/imgList"; import {ChooseList} from "../../../order/orderNew/chooseList"; const TabPane = Tabs.TabPane; //图片组件 const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: '', fileList: [], } }, handleCancel() { this.setState({ previewVisible: false }) }, handlePreview(file) { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }, handleChange(info) { let fileList = info.fileList; this.setState({ fileList }); this.props.fileList(fileList); }, componentWillReceiveProps(nextProps) { this.state.fileList = nextProps.pictureUrl; }, render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = ( <div> <Icon type="plus" /> <div className="ant-upload-text">点击上传</div> </div> ); return( <div style={{display:"inline-block"}}> <ImgList domId={this.props.domId} uploadConfig={{ action:globalConfig.context + "/api/admin/customer/uploadCustomerImg", data:{ 'sign': '' }, multiple:true, listType:"picture-card", }} onChange={(infor)=>{ this.handleChange(infor) }} fileList={fileList} /> </div> ); } }); const IntentionCustomer = Form.create()(React.createClass({ loadData(pageNo, apiUrl) { this.setState({ visitModul:false, loading: true, ispage:pageNo, modalVisible:false }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/customer/listDepCustomerInformation", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.nameSearch, dataGrade: this.state.dataGrade, province: !(this.state.addressSearch).length ? this.state.provinceSearch : this.state.addressSearch[0], city: !(this.state.addressSearch).length ? '' : this.state.addressSearch[1], startDate: this.state.releaseDate[0], endDate: this.state.releaseDate[1], }, success: function(data) { let theArr = []; if(data.error.length || data.data.list == "") { if(data.error && data.error.length) { message.warning(data.error[0].message); }; } else { for(let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area); theArr.push({ key: i, id: thisdata.id,//用户ID type:thisdata.type,//类型 name: thisdata.name,//用户名称 diqu: diqu,//省市区 industry: thisdata.industry,//行业 contacts: thisdata.contacts,//联系人 iname: thisdata.iname,//客户资料所属人 dataGrade:thisdata.dataGrade?(thisdata.dataGrade*100).toFixed(2)+"%":"",//资料完整度 contactMobile: thisdata.contactMobile,//联系人电话 createTime: thisdata.createTime,//行业 }); }; this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; }; if(data.data&&data.data.list&&!data.data.list.length){ this.state.pagination.current=0 this.state.pagination.total=0 } this.setState({ dataSource: theArr, pagination: this.state.pagination, selectedRowKeys:[] }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, loadDatas(pageNo) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/achievement/listUserAchievement", data: { pageNo: pageNo || 1, pageSize: this.state.paginationDate.pageSize, uid:this.state.uid, }, success: function (data) { let theArr = []; if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, id: thisdata.id, serialNumber: thisdata.serialNumber, dataCategory: thisdata.dataCategory, name: thisdata.name, keyword: thisdata.keyword, theName: thisdata.username || thisdata.ownerName, category: thisdata.category, ownerName: thisdata.username ? thisdata.username : thisdata.ownerName, ownerType: thisdata.ownerType, ownerMobile: thisdata.ownerMobile, status: thisdata.status, releaseDate: thisdata.releaseDate, releaseDateFormattedDate: thisdata.releaseDateFormattedDate, auditStatus: thisdata.auditStatus, boutique: thisdata.boutique, hot: thisdata.hot, techBrokerId:thisdata.techBrokerId, createTimeFormattedDate: thisdata.createTimeFormattedDate, remark:thisdata.remark }); }; this.state.paginationDate.current = data.data.pageNo; this.state.paginationDate.total = data.data.totalCount; }; this.setState({ dataSourceDate: theArr, paginationDate: this.state.paginationDate }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, loadDatac(pageNo, apiUrl) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/customers/selectListOrgAnnual", data: { // pageNo: pageNo || 1, // pageSize: this.state.pagination.pageSize, uid:this.state.uid, }, success: function(data) { let theArr = []; if(data.error.length || data.data.list == "") { if(data.error && data.error.length) { message.warning(data.error[0].message); }; } else { for(let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area); theArr.push({ key: i, id: thisdata.id,//年报ID year:thisdata.year,//年份 salesAmount: thisdata.salesAmount,//营销额 fixedAssets:thisdata.fixedAssets,//固定资产 researchAmount: thisdata.researchAmount,//研发费用 assets: thisdata.assets,//总资产 aid: thisdata.aid,//录入人 }); }; // this.state.pagination.current = data.data.pageNo; // this.state.pagination.total = data.data.totalCount; }; if(data.data&&data.data.list&&!data.data.list.length){ this.state.pagination.current=0 this.state.pagination.total=0 } this.setState({ dataSourcec: theArr, // pageNo: pageNo, // pagination: this.state.pagination, // selectedRowKeys:[] }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, loadDatax(pageNo, apiUrl) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/customers/selectListOrgYearProject", data: { uid:this.state.uid, }, success: function(data) { let theArr = []; if(data.error.length || data.data.list == "") { if(data.error && data.error.length) { message.warning(data.error[0].message); }; } else { for(let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area); theArr.push({ key: i, id: thisdata.id,//用户ID projectName:thisdata.projectName,//项目名称 year: thisdata.year,//年份 status: thisdata.status?thisdata.status.toString():"",//项目状态 remark: thisdata.remark,//备注 aid: thisdata.aid,//录入人 }); }; // this.state.pagination.current = data.data.pageNo; // this.state.pagination.total = data.data.totalCount; }; if(data.data&&data.data.list&&!data.data.list.length){ this.state.pagination.current=0 this.state.pagination.total=0 } this.setState({ dataSourcex: theArr, }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { addressSearch: [], orgCodeUrl: [], companyLogoUrl: [], visible: false, releaseDate: [], visitModul:false, detailApi:'', followData:{}, selectedRowKeys: [], selectedRows: [], loading: false, callnub:"0", modalVisible:false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadData(page); }.bind(this), showTotal: function(total) { return '共' + total + '条数据'; } }, paginationDate: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadDatas(page); }.bind(this), showTotal: function(total) { return '共' + total + '条数据'; } }, columns: [{ title: '客户名称', dataIndex: 'name', key: 'name', }, { title: '地区', dataIndex: 'diqu', key: 'diqu', }, { title: '联系人', dataIndex: 'contacts', key: 'contacts', },{ title: '联系电话', dataIndex: 'contactMobile', key: 'contactMobile', }, { title: '资料完整度', dataIndex: 'dataGrade', key: 'dataGrade', }, { title: '客户资料所属人', dataIndex: 'iname', key: 'iname', }, { title: '行业', dataIndex: 'industry', key: 'industry' }, { title: '创建时间', dataIndex: 'createTime', key: 'createTime', } ], businessScope:[], salesTarget: [], data: [], dataSource: [], columnsDate: [ { title: '编号', dataIndex: 'serialNumber', key: 'serialNumber', }, { title: '名称', dataIndex: 'name', key: 'name', }, { title: '关键字', dataIndex: 'keyword', key: 'keyword', }, { title: '类型', dataIndex: 'category', key: 'category', render: text => { return getAchievementCategory(text); } },{ title: '审核状态', dataIndex: 'auditStatus', key: 'auditStatus', render: text => { return getTechAuditStatus(text) } }, { title: '是否精品', dataIndex: 'boutique', key: 'boutique', render: text => { return getboutique(text) } }, { title: '发布时间', dataIndex: 'releaseDateFormattedDate', key: 'releaseDateFormattedDate', },{ title: '录入时间', dataIndex: 'createTimeFormattedDate', key: 'createTimeFormattedDate', }, ], dataSourceDate: [], columnsc: [{ title: '年份', dataIndex: 'year', key: 'year', }, { title: '营销收入(万)', dataIndex: 'salesAmount', key: 'salesAmount', }, { title: '总资产(万)', dataIndex: 'assets', key: 'assets' }, { title: '固定资产(万)', dataIndex: 'fixedAssets', key: 'fixedAssets' }, { title: '研发费用(万)', dataIndex: 'researchAmount', key: 'researchAmount', } ], dataSourcec: [], columnsx: [{ title: '项目名称', dataIndex: 'projectName', key: 'projectName', },{ title: '年份', dataIndex: 'year', key: 'year', }, { title: '项目状态', dataIndex: 'status', key: 'status', render: text => { return getXiangmoState(text); } }, { title: '备注', dataIndex: 'remark', key: 'remark', } ], dataSourcex: [], }; }, componentWillMount() { //城市 let Province = []; provinceList.map(function(item) { var id = String(item.id) Province.push( <Select.Option value={id} key={item.name}>{item.name}</Select.Option> ) }); //行业 let intentionalArr = []; industry.map(function(item) { intentionalArr.push( <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option> ) }); //会员等级 let lvlArr = []; lvl.map(function(item) { lvlArr.push( <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option> ) }); //会员状态customerStatus let currentMemberArr = []; currentMember.map(function(item) { currentMemberArr.push( <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option> ) }); this.state.Provinces = Province; this.state.intentionalOption = intentionalArr; this.state.lvlArrOption = lvlArr; this.state.currentMemberArrOption = currentMemberArr; this.loadData(); }, search() { this.loadData(); }, reset() { this.state.nameSearch = ''; this.state.addressSearch = []; this.state.dataGrade=undefined; this.state.follow=undefined; this.state.provinceSearch = undefined; this.state.citySearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.loadData(); }, //列表详情 details(id) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/customer/findOrganizationCustomerDetail", data: { uid:id }, success: function(data) { let thisDetail= data.data; if(data.error.length || data.data.list == "") { if(data.error && data.error.length) { message.warning(data.error[0].message); }; } else { let ProvinceCityArr = []; let ProvinceS = thisDetail.locationProvince; //省 let citys = thisDetail.locationCity;//市 let Areas = thisDetail.locationArea;//区 ProvinceCityArr.push(ProvinceS, citys, Areas); this.setState({ detailId:thisDetail.id,//详情ID identifyName:thisDetail.identifyName,//客户名称 uid:thisDetail.uid,//客户ID societyTag:thisDetail.societyTag,//社会标签 companyLogoUrl:thisDetail.companyLogoUrl? splitUrl(thisDetail.companyLogoUrl, ',', globalConfig.avatarHost + '/upload') : [],//公司LOGO introduction:thisDetail.introduction,//介绍 industry:thisDetail.industry?thisDetail.industry.toString():"",//行业 locationProvince:thisDetail.locationProvince,//省 locationCity:thisDetail.locationCity,//市 locationArea:thisDetail.locationArea,//区 ProvinceCity: ProvinceCityArr[0]!=null?ProvinceCityArr:undefined,//省市区 postalAddress:thisDetail.postalAddress,//通讯地址 contactsFixedTel:thisDetail.contactsFixedTel,//固定电话 contactsFax:thisDetail.contactsFax,//传真地址 registeredCapital:thisDetail.registeredCapital,//注册资金 enterpriseScale:thisDetail.enterpriseScale,//企业规模 legalPerson:thisDetail.legalPerson,//法人 legalPersonIdCard:thisDetail.legalPersonIdCard,//法人身份证 legalPersonTel:thisDetail.legalPersonTel,//法人联系电话 legalPersonEmail:thisDetail.legalPersonEmail,//法人联系邮箱 highTechZone:thisDetail.highTechZone,//是否高新 listed:thisDetail.listed,//是否高新 international:thisDetail.international,//是否国际化 orgCode:thisDetail.orgCode,//社会统一机构 orgCodeUrl:thisDetail.orgCodeUrl? splitUrl(thisDetail.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],//社会统一机构地址 businessScope: thisDetail.businessScope ? thisDetail.businessScope.split(',').filter((v)=> v) : [],//业务范围 salesTarget:thisDetail.salesTarget ? thisDetail.salesTarget.split(',').filter((v)=> v) : [],//销售目标企业 contacts:thisDetail.contacts,//主要联系人姓名 contactMobile:thisDetail.contactMobile,//主要联系人电话 investment:thisDetail.investment,//投资机构 businessAudit:thisDetail.businessAudit,//业务认证 auditStatus:thisDetail.auditStatus,//实名认证 intellectualProperty:thisDetail.intellectualProperty,//已有知识产权情况 yearSalesAmount:thisDetail.yearSalesAmount,//年度销售额 lastYearResearchAmount:thisDetail.lastYearResearchAmount,//上年度研发费用 assets:thisDetail.assets,//总资产 qualification:thisDetail.qualification,//企业资质情况 cooperationSituation:thisDetail.cooperationSituation,//企业与高校院所 informationMaintainer:thisDetail.informationMaintainer,//资料维护人 informationMaintainerName:thisDetail.informationMaintainerName,//资料维护人 coreTechnology:thisDetail.coreTechnology,//核心技术 accomplishSituation:thisDetail.accomplishSituation,//客户已完成项目情况 creditRating:thisDetail.creditRating?thisDetail.creditRating.toString():"",//信用等级 }); }}.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //基本信息提交 newSubmit(e) { e.preventDefault(); if(!this.state.industry) { message.warning('请选择行业'); return false; }; if(!this.state.societyTag) { message.warning('请选择社会属性'); return false; }; if(!this.state.ProvinceCity[1]) { message.warning('请选择地区'); return false; }; if(!this.state.registeredCapital) { message.warning('请填写注册资本'); return false; }; if(!this.state.businessScope) { message.warning('请填写公司主营产品'); return false; }; if(!this.state.intellectualProperty) { message.warning('请填写已有知识产权情况'); return false; }; var reg = /^[1-9]\d*$|^0$/; if(this.state.consultationPrice) { if(this.state.consultationPrice.length > 6) { message.warning('咨询费用不超过6位数'); this.refs.consul.focus(); return false; }; if(!reg.test(this.state.consultationPrice)) { message.warning('咨询费用只能输入数字'); this.refs.consul.focus(); return false; } } this.state.data = []; this.setState({ selectedRowKeys: [], }); let theorgCodeUrl = []; if(this.state.orgCodeUrl.length) { let picArr = []; this.state.orgCodeUrl.map(function(item) { if(item.response && item.response.data && item.response.data.length) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); }; let thecompanyLogoUrl = []; if(this.state.companyLogoUrl.length) { let picArr = []; this.state.companyLogoUrl.map(function(item) { if(item.response && item.response.data && item.response.data.length) { picArr.push(item.response.data); } }); thecompanyLogoUrl = picArr.join(","); }; let years = []; let yearMonth = this.state.yearMonth != undefined ? new Date(this.state.yearMonth).toLocaleDateString() : ''; years = yearMonth.split('/'); this.setState({ loading: true }); $.ajax({ method: "post", dataType: "json", url: globalConfig.context + '/api/admin/customer/updateOrganizationCustomer', data: { id:this.state.detailId,//详情ID identifyName:this.state.identifyName,//客户名称 uid:this.state.uid,//客户ID societyTag:this.state.societyTag,//社会标签 companyLogoUrl:thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '',//公司LOGO introduction:this.state.introduction,//介绍 industry:this.state.industry,//行业 locationProvince:(this.state.ProvinceCity)[0],//省 locationCity:(this.state.ProvinceCity)[1],//市 locationArea:(this.state.ProvinceCity)[2],//区 postalAddress:this.state.postalAddress,//通讯地址 contactsFixedTel:this.state.contactsFixedTel,//固定电话 contactsFax:this.state.contactsFax,//传真地址 registeredCapital:this.state.registeredCapital,//注册资金 enterpriseScale:this.state.enterpriseScale,//企业规模 legalPerson:this.state.legalPerson,//法人 legalPersonIdCard:this.state.legalPersonIdCard,//法人身份证 legalPersonTel:this.state.legalPersonTel,//法人联系电话 legalPersonEmail:this.state.legalPersonEmail,//法人联系邮箱 highTechZone:this.state.highTechZone,//是否高新 listed:this.state.listed,//是否高新 international:this.state.international,//是否国际化 orgCode:this.state.orgCode,//社会统一机构 orgCodeUrl: theorgCodeUrl.length != 0 ? theorgCodeUrl : '',//社会统一机构地址 businessScope:this.state.businessScope,//业务范围 contacts:this.state.contacts,//主要联系人姓名 contactMobile:this.state.contactMobile,//主要联系人电话 investment:this.state.investment,//投资机构 businessAudit:this.state.businessAudit,//业务认证 auditStatus:this.state.auditStatus,//实名认证 intellectualProperty:this.state.intellectualProperty,//已有知识产权情况 yearSalesAmount:this.state.yearSalesAmount,//年度销售额 lastYearResearchAmount:this.state.lastYearResearchAmount,//上年度研发费用 assets:this.state.assets,//总资产 qualification:this.state.qualification,//企业资质情况 cooperationSituation:this.state.cooperationSituation,//企业与高校院所 informationMaintainer:this.state.informationMaintainer,//资料维护人 informationMaintainerName:this.state.informationMaintainerName,//资料维护人 coreTechnology:this.state.coreTechnology,//核心技术 accomplishSituation:this.state.accomplishSituation,//客户已完成项目情况 creditRating:this.state.creditRating,//信用等级 } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.visitCancel(); this.loadData(); } else { message.warning(data.error[0].message); } }.bind(this)); }, //整行点击 tableRowClick(record, index) { this.state.visitModul=true; this.details(record.id); }, //指定转交人自动补全 supervisor(e){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/listAdminByName", data:{ adminName:e }, success: function (data) { let thedata=data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }; this.setState({ customerArr:thedata, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //输入转交人输入框失去焦点是判断客户是否存在 selectAuto(value,options){ this.setState({ auto:value }) }, blurChange(e){ let theType=''; let contactLists=this.state.customerArr||[]; if (e) { contactLists.map(function (item) { if (item.name == e.toString()) { theType = item.id; } }); } this.setState({ theTypes:theType }) }, //值改变时请求客户名称 httpChange(e){ if(e.length>=1){ this.supervisor(e); } this.setState({ auto:e }) }, //转交 changeAssigner() { if(this.state.theTypes){ this.setState({ selectedRowKeys: [], }); let id; for(let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if(rowItem.id) { id=rowItem.id; }; }; $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/updateInformationMaintainerr", data: { id: id, //客户ID aid: this.state.theTypes, //指定转交人的ID } }).done(function(data) { if(!data.error.length) { message.success('转交成功!'); this.setState({ auto:'', loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(this.state.ispage); }.bind(this)); }else{ message.warning('请输入转交人姓名') } }, //详情打开 visitOk(e) { this.setState({ visitModul: false }); }, //详情关闭 visitCancel(e) { this.setState({ visitModul: false, callnub:"0" }); }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, getCompanyLogoUrl(e) { this.setState({ companyLogoUrl: e }); }, componentWillReceiveProps(nextProps) { if(nextProps.ApiUrl!=this.props.ApiUrl) { this.state.nameSearch = ''; this.state.addressSearch = []; this.state.provinceSearch = undefined; this.state.citySearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.loadData(null,nextProps.ApiUrl); }; }, callback(e) { if(e == '0') { this.setState({ callnub: e, }) } if(e == '1') { this.setState({ callnub: e, }) this.loadDatas(); } if(e == '2') { this.setState({ callnub: e, }) this.loadDatac(); } if(e == '3') { this.setState({ callnub: e, }) this.loadDatax(); } }, //发布成果 addClick() { this.state.RowData = {}; this.setState({ showDesc: true, }); }, //关闭发布成果 closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadDatas(); }; }, tableRowClickDate(record, index) { this.state.RowData = record; if(index!=undefined){ this.setState({ showDesc: true }); } }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, render() { const { RangePicker, MonthPicker } = DatePicker; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const FormItem = Form.Item; const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ modalVisible:false, selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); }, onSelect: (recordt, selected, selectedRows) => { this.setState({ modalVisible:false, recordt: recordt.id }) }, }; const hasSelected = this.state.selectedRowKeys.length > 0; const dataSources=this.state.customerArr || []; const options = dataSources.map((group) => <Select.Option key={group.id} value={group.name}>{group.name}</Select.Option> ) const intentionState = this.props.intentionState ||''; return( <div className="user-content" > <div className="content-title"> <span>客户资料管理</span> </div> <Tabs defaultActiveKey="1" className="test"> <TabPane tab="搜索" key="1"> <div className="user-search"> <Input placeholder="客户名称" value={this.state.nameSearch} onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} /> <Select placeholder="省" style={{ width: 80 }} value={this.state.provinceSearch} onChange={(e) => {this.setState({ provinceSearch: e});}}> {this.state.Provinces} </Select> <span style={{marginRight:'10px'}}> <Cascader options={citySelect()} value={this.state.addressSearch} placeholder="选择城市" onChange={(e,pre) => { this.setState({ addressSearch: e }) }} /> </span> <Select placeholder="资料是否完善" style={{ width: 120 }} value={this.state.dataGrade} onChange={(e) => { this.setState({ dataGrade: e }) }}> <Select.Option value="0" >未完善</Select.Option> <Select.Option value="1" >已完善</Select.Option> </Select> <RangePicker style={{marginRight:'10px'}} value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null, this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null]} onChange={(data, dataString) => { this.setState({ releaseDate: dataString }); }} /> <Button type="primary" onClick={this.search}>搜索</Button> <Button onClick={this.reset}>重置</Button> </div> </TabPane> <TabPane tab="更改表格显示数据" key="2"> <div style={{ marginLeft: 10 }}> <ChooseList columns={this.state.columns} changeFn={this.changeList} changeList={this.state.changeList} top={55} margin={11} /> </div> </TabPane> </Tabs> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={ this.state.changeList ? this.state.changeList : this.state.columns } dataSource={this.state.dataSource} // rowSelection={rowSelection} pagination={this.state.pagination} onRowClick={this.tableRowClick} bordered size="small" /> </Spin> </div> <Modal className="customeDetails" footer='' title="客户资料" width='1000px' visible={this.state.visitModul} onOk={this.visitOk} onCancel={this.visitCancel} > <Tabs onChange={this.callback} activeKey={this.state.callnub}> <TabPane tab="基本信息" key="0"> <div> <Form layout="horizontal" onSubmit={this.newSubmit} id="demand-form"> <Spin spinning={this.state.loading}> <div style={{fontSize:'18px',marginLeft:'50px',marginTop:'15px',marginBottom:'10px',color:"red",fontWeight:"bold"}}>基本信息</div> <div className="clearfix" > <FormItem className="half-item" {...formItemLayout} label="客户姓名" > <span>{this.state.identifyName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="资料所属人" > <span>{this.state.informationMaintainerName}</span> </FormItem> </div> <div className="clearfix" > <FormItem className="half-item" {...formItemLayout} label="企业行业"> <Select placeholder="选择行业" value={this.state.industry} style={{width:'95%'}} onChange={(e)=>{this.setState({industry:e})}} disabled={true}> { industry.map(function (item) { return <Select.Option key={item.value} >{item.key}</Select.Option> }) } </Select> <span style={{color:'red',marginLeft:'5px'}}>*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="社会属性" > <Select placeholder="客户社会属性" value={this.state.societyTag} style={{width:'95%'}} onChange={(e)=>{this.setState({societyTag:e})}} disabled={true}> { socialAttribute.map(function (item) { return <Select.Option key={item.value} >{item.key}</Select.Option> }) } </Select> <span style={{color:'red',marginLeft:'5px'}}>*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="省-市-区" > <Cascader options={areaSelect()} value={this.state.ProvinceCity} placeholder="选择城市" style={{width:'95%'}} onChange={(e,pre) => { this.setState({ ProvinceCity: e }) }} disabled={true}/> <span style={{color:'red',marginLeft:'5px'}}>*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="注册资本" > <Input placeholder="注册资本" style={{width:'90%'}} value={this.state.registeredCapital} onChange={(e) => { this.setState({ registeredCapital: e.target.value })}} disabled={true}/>万 <span style={{color:'red',marginLeft:'5px'}}>*</span> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 20 }} label="主营产品" > {this.state.businessScope.map((tag) => { const isLongTag = tag.length > 20; const tagElem = ( <Tag key={tag}> {isLongTag ? `${tag.slice(0, 20)}...` : tag} </Tag> ); return isLongTag ? <Tooltip title={tag} key={tag}>{tagElem}</Tooltip> : tagElem; })} </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 20 }} label="销售目标企业" > {this.state.salesTarget.map((tag) => { const isLongTag = tag.length > 20; const tagElem = ( <Tag key={tag}> {isLongTag ? `${tag.slice(0, 20)}...` : tag} </Tag> ); return isLongTag ? <Tooltip title={tag} key={tag}>{tagElem}</Tooltip> : tagElem; })} </FormItem> </div> <div style={{fontSize:'18px',marginLeft:'50px',marginTop:'15px',marginBottom:'10px',color:"red",fontWeight:"bold"}}>企业资料</div> <FormItem className="half-item" {...formItemLayout} label="通信地址" > <Input placeholder="客户通信地址" value={this.state.postalAddress} onChange={(e,pre) => { this.setState({ postalAddress: e.target.value }) }} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="固定电话" > <Input placeholder="客户固定电话" value={this.state.contactsFixedTel} onChange={(e) => { this.setState({ contactsFixedTel: e.target.value }) }} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="客户传真" > <Input placeholder="客户传真" value={this.state.contactsFax} onChange={(e) => { this.setState({ contactsFax: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="企业人数" > <Input placeholder="单位规模" value={this.state.enterpriseScale} onChange={(e) => { this.setState({ enterpriseScale: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人名称" > <Input placeholder="法人名称" value={this.state.legalPerson} onChange={(e) => { this.setState({ legalPerson: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人身份证" > <Input placeholder="法人身份证" value={this.state.legalPersonIdCard} onChange={(e) => { this.setState({ legalPersonIdCard: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="联系人" > <Input placeholder="主要联系人" value={this.state.contacts} onChange={(e) => { this.setState({ contacts: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="联系人号码" > <Input placeholder="主要联系人号码" value={this.state.contactMobile} onChange={(e) => { this.setState({ contactMobile: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人电话" > <Input placeholder="法人电话" value={this.state.legalPersonTel} onChange={(e) => { this.setState({ legalPersonTel: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人邮箱" > <Input placeholder="法人电子邮箱" value={this.state.legalPersonEmail} onChange={(e) => {this.setState({legalPersonEmail: e.target.value })}} disabled={true}/> </FormItem> <FormItem className="half-item" {...formItemLayout} label="社会统一信用机构代码" > <Input placeholder="社会统一信用机构代码" value={this.state.orgCode} onChange={(e) => { this.setState({ orgCode: e.target.value })}} disabled={true}/> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 18 }} label="客户简介" > <Input type="textarea" rows={3} value={this.state.introduction} onChange={(e,pre) => { this.setState({ introduction: e.target.value })}} disabled={true}/> </FormItem> </div> <div className="clearfix pictures"> <FormItem style={{display:'inline-block',width:'350px',marginTop:'20px',marginLeft:'95px'}} labelCol={{ span: 8 }} wrapperCol={{ span: 10 }} label="机构证书(PIC)" > <PicturesWall domId={'crmAll1'} fileList={this.getOrgCodeUrl} pictureUrl={this.state.orgCodeUrl} /> <p>建议:图片要清晰。</p> </FormItem> <FormItem style={{display:'inline-block',width:'350px',marginTop:'20px',marginTop:'20px'}} labelCol={{ span: 8 }} wrapperCol={{ span: 10 }} label="单位LOGO" > <PicturesWall domId={'crmAll2'} fileList={this.getCompanyLogoUrl} pictureUrl={this.state.companyLogoUrl} /> <p>建议:图片要清晰。</p> </FormItem> </div> <div style={{fontSize:'18px',marginLeft:'50px',marginTop:'15px',marginBottom:'10px',color:"red",fontWeight:"bold"}}>重要资料</div> <div className='clearfix' > <FormItem className="half-item" {...formItemLayout} label="客户信用等级" > <Select placeholder="客户信用等级" value={this.state.creditRating} onChange={(e)=>{this.setState({creditRating:e})}} disabled={true}> { slcRedit.map(function (item) { return <Select.Option key={item.value} >{item.key}</Select.Option> }) } </Select> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 19 }} label="企业核心技术" > <Input type="textarea" rows={3} value={this.state.coreTechnology} onChange={(e,pre) => { this.setState({ coreTechnology: e.target.value })}} disabled={true}/> </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 19 }} label="企业资质情况" > <Input type="textarea" rows={3} value={this.state.qualification} placeholder="请按如下格式填写:资质名称+获得时间+拥有人+发证机构" onChange={(e,pre) => { this.setState({ qualification: e.target.value })}} disabled={true}/> </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span:4 }} wrapperCol={{ span: 19 }} label="高企合作情况" > <Input type="textarea" rows={3} value={this.state.cooperationSituation} onChange={(e,pre) => { this.setState({ cooperationSituation: e.target.value })}} disabled={true}/> </FormItem> </div> </div> </div> </Spin> </Form> </div> </TabPane> <TabPane tab="知识产权列表" key="1"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsDate} dataSource={this.state.dataSourceDate} rowSelection={rowSelection} pagination={this.state.paginationDate} onRowClick={this.tableRowClickDate} /> </Spin> </TabPane> <TabPane tab="财务信息" key="2"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsc} dataSource={this.state.dataSourcec} rowSelection={rowSelection} onRowClick={this.tableRowClickDatec} /> </Spin> </TabPane> <TabPane tab="项目信息" key="3"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsx} dataSource={this.state.dataSourcex} rowSelection={rowSelection} onRowClick={this.tableRowClickDatex} /> </Spin> </TabPane> </Tabs> </Modal> <TechAchievementDesc data={this.state.RowData} detailApiUrl={this.props['data-detailApiUrl']} achievementCategoryOption={this.state.achievementCategoryOption} showDesc={this.state.showDesc} uid={this.state.uid} closeDesc={this.closeDesc} loadDatas={this.loadDatas} /> </div > ); } })); export default IntentionCustomer;