unit.jsx 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. /*
  2. @author:李霆
  3. @update:2018/05/29
  4. @descript:复制粘贴,拿起来就是干!!
  5. */
  6. import React from 'react';
  7. import {
  8. Radio,
  9. Icon,
  10. Button,
  11. Input,
  12. Select,
  13. Spin,
  14. message,
  15. DatePicker,
  16. Modal,
  17. Upload,
  18. Form,
  19. Row,
  20. Col,
  21. InputNumber
  22. } from 'antd';
  23. import $ from 'jquery/src/ajax';
  24. import './unit.less';
  25. import {
  26. socialAttribute,
  27. industry,
  28. } from '@/dataDic.js';
  29. import {
  30. splitUrl,
  31. } from '@/tools.js';
  32. const FormItem = Form.Item;
  33. import Crop from '@/crop/cropBlock';
  34. //图片组件
  35. const PicturesWall = React.createClass({
  36. getInitialState() {
  37. return {
  38. previewVisible: false,
  39. previewImage: '',
  40. fileList: []
  41. };
  42. },
  43. handleCancel() {
  44. this.setState({
  45. previewVisible: false
  46. });
  47. },
  48. handlePreview(file) {
  49. this.setState({
  50. previewImage: file.url || file.thumbUrl,
  51. previewVisible: true
  52. });
  53. },
  54. handleChange(info) {
  55. let fileList = info.fileList;
  56. this.setState({
  57. fileList
  58. });
  59. this.props.fileList(fileList);
  60. },
  61. componentWillReceiveProps(nextProps) {
  62. this.state.fileList = nextProps.pictureUrl;
  63. },
  64. render() {
  65. const { previewVisible, previewImage, fileList } = this.state;
  66. const uploadButton = (
  67. <div>
  68. <Icon type="plus" />
  69. <div className="ant-upload-text">点击上传</div>
  70. </div>
  71. );
  72. return (
  73. <div style={{ display: 'inline-block' }}>
  74. <Upload
  75. action={globalConfig.context + '/api/user/uploadPicture'}
  76. data={{ sign: 'user_picture' }}
  77. listType="picture-card"
  78. fileList={fileList}
  79. onPreview={this.handlePreview}
  80. onChange={this.handleChange}
  81. >
  82. {fileList.length >= 1 ? null : uploadButton}
  83. </Upload>
  84. <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
  85. <img alt="example" style={{ width: '100%' }} src={previewImage} />
  86. </Modal>
  87. </div>
  88. );
  89. }
  90. });
  91. const PicturesWallMore = React.createClass({
  92. getInitialState() {
  93. return {
  94. previewVisible: false,
  95. previewImage: '',
  96. fileList: []
  97. };
  98. },
  99. handleCancel() {
  100. this.setState({
  101. previewVisible: false
  102. });
  103. },
  104. handlePreview(file) {
  105. this.setState({
  106. previewImage: file.url || file.thumbUrl,
  107. previewVisible: true
  108. });
  109. },
  110. handleChange(info) {
  111. let fileList = info.fileList;
  112. this.setState({
  113. fileList
  114. });
  115. this.props.fileList(fileList);
  116. },
  117. componentWillReceiveProps(nextProps) {
  118. this.state.fileList = nextProps.pictureUrl;
  119. },
  120. render() {
  121. const { previewVisible, previewImage, fileList } = this.state;
  122. const uploadButton = (
  123. <div>
  124. <Icon type="plus" />
  125. <div className="ant-upload-text">点击上传</div>
  126. </div>
  127. );
  128. return (
  129. <div style={{ display: 'inline-block' }}>
  130. <Upload
  131. action={globalConfig.context + '/api/user/uploadHonerPicture'}
  132. data={{ sign: 'honor_picture' }}
  133. listType="picture-card"
  134. fileList={fileList}
  135. onPreview={this.handlePreview}
  136. onChange={this.handleChange}
  137. >
  138. {fileList.length >= 8 ? null : uploadButton}
  139. </Upload>
  140. <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>
  141. <img alt="example" style={{ width: '100%' }} src={previewImage} />
  142. </Modal>
  143. </div>
  144. );
  145. }
  146. });
  147. const Unit = React.createClass({
  148. getInitialState() {
  149. return {
  150. loading: false,
  151. orgCodeUrl: [],
  152. companyLogoUrl: [],
  153. ProvinceCity:[],
  154. qualiUrl:[]
  155. };
  156. },
  157. loadInformation(record) {
  158. this.setState({
  159. loading:true
  160. })
  161. $.ajax({
  162. method: 'get',
  163. dataType: 'json',
  164. url: globalConfig.context + '/api/user/getOrganizationDetail',
  165. success: function(data) {
  166. let thisData = data.data;
  167. if (!thisData) {
  168. if (data.error && data.error.length) {
  169. message.warning(data.error[0].message);
  170. }
  171. thisData = {};
  172. }
  173. // thisData.companyLogoUrl='/user/33e04d30-d001-45c5-8e1e-33a1964d2498/1104216629777565_user_picture.jpg'
  174. // let ProvinceCityArr = [];
  175. // let ProvinceS = thisData.locationProvince; //getprovince
  176. // let citys = thisData.locationCity;
  177. // let Areas = thisData.locationArea;
  178. // ProvinceCityArr.push(ProvinceS, citys, Areas);
  179. this.setState({
  180. InformationId: thisData.id,
  181. InformationUid: thisData.uid,
  182. identifyName: thisData.identifyName,
  183. listed: thisData.listed,
  184. highTechZone: thisData.highTechZone,
  185. orgCodeUrl: thisData.orgCodeUrl
  186. ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload')
  187. : [],
  188. // companyLogoUrl: thisData.companyLogoUrl
  189. // ? splitUrl(thisData.companyLogoUrl, ',', globalConfig.avatarHost + '/upload')
  190. // : [],
  191. companyLogoUrl:thisData.companyLogoUrl?thisData.companyLogoUrl.split(','):[],
  192. qualiUrl: thisData.honorPicture
  193. ? splitUrl(thisData.honorPicture, ',', globalConfig.avatarHost + '/upload')
  194. : [],
  195. dataInformation: thisData,
  196. //ProvinceCity: ProvinceCityArr[0] != null ? ProvinceCityArr : undefined,
  197. industry: String(thisData.industry) == 'null' ? undefined : String(thisData.industry),
  198. societyTag: thisData.societyTag || undefined,
  199. introduction: thisData.introduction,
  200. postalAddress: thisData.postalAddress,
  201. fixedTel: thisData.fixedTel,
  202. registeredCapital: thisData.registeredCapital,
  203. enterpriseScale: thisData.enterpriseScale,
  204. legalPerson: thisData.legalPerson,
  205. legalPersonIdCard: thisData.legalPersonIdCard,
  206. legalPersonTel: thisData.legalPersonTel,
  207. legalPersonEmail: thisData.legalPersonEmail,
  208. businessScope: thisData.businessScope,
  209. orgCode: thisData.orgCode,
  210. type:thisData.type,
  211. qq:thisData.qq,
  212. email:thisData.email,
  213. authentication:thisData.authentication
  214. });
  215. }.bind(this)
  216. }).always(
  217. function() {
  218. this.setState({
  219. loading: false
  220. });
  221. }.bind(this)
  222. );
  223. },
  224. //图片
  225. getOrgCodeUrl(e) {
  226. this.setState({
  227. orgCodeUrl: e
  228. });
  229. },
  230. getCompanyLogoUrl(e) {
  231. this.setState({
  232. companyLogoUrl: e
  233. });
  234. },
  235. getQualiUrl(e) {
  236. this.setState({
  237. qualiUrl: e
  238. });
  239. },
  240. //基本信息提交
  241. newSubmit(e) {
  242. this.setState({
  243. selectedRowKeys: []
  244. });
  245. let theorgCodeUrl = [];
  246. if (this.state.orgCodeUrl.length) {
  247. let picArr = [];
  248. this.state.orgCodeUrl.map(function(item) {
  249. if (item.response && item.response.data && item.response.data.length) {
  250. picArr.push(item.response.data);
  251. }
  252. });
  253. theorgCodeUrl = picArr.join(',');
  254. }
  255. //let thecompanyLogoUrl = [];
  256. // if (this.state.companyLogoUrl.length) {
  257. // let picArr = [];
  258. // this.state.companyLogoUrl.map(function(item) {
  259. // if (item.response && item.response.data && item.response.data.length) {
  260. // picArr.push(item.response.data);
  261. // }
  262. // });
  263. // thecompanyLogoUrl = picArr.join(',');
  264. // }
  265. let thequaliUrl = [];
  266. if (this.state.qualiUrl.length) {
  267. let picArr = [];
  268. this.state.qualiUrl.map(function(item) {
  269. if (item.response && item.response.data && item.response.data.length) {
  270. picArr.push(item.response.data);
  271. }
  272. });
  273. thequaliUrl = picArr.join(',');
  274. }
  275. this.setState({
  276. loading: true
  277. });
  278. $.ajax({
  279. method: 'post',
  280. dataType: 'json',
  281. url: globalConfig.context + '/api/user/updateOrganizationDetail',
  282. data: {
  283. id: this.state.InformationId,
  284. uid: this.state.InformationUid,
  285. societyTag: this.state.societyTag,
  286. identifyName: this.state.identifyName, //单位名称
  287. introduction: this.state.introduction,
  288. unitName: this.state.unitName,
  289. industry: this.state.industry,
  290. postalAddress: this.state.postalAddress,
  291. fixedTel: this.state.fixedTel,
  292. contactsFax: this.state.contactsFax,
  293. registeredCapital: this.state.registeredCapital ? this.state.registeredCapital : 0,
  294. enterpriseScale: this.state.enterpriseScale,
  295. legalPerson: this.state.legalPerson,
  296. legalPersonIdCard: this.state.legalPersonIdCard,
  297. legalPersonTel: this.state.legalPersonTel,
  298. legalPersonEmail: this.state.legalPersonEmail,
  299. highTechZone: this.state.highTechZone,
  300. listed: this.state.listed,
  301. contacts: this.state.contacts,
  302. orgCode: this.state.orgCode,
  303. businessScope: this.state.businessScope,
  304. introduction: this.state.introduction,
  305. // companyLogoUrl: thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '',
  306. companyLogoUrl:this.state.companyLogoUrl.length>0?(this.state.companyLogoUrl).join(','):[],
  307. honorPicture: thequaliUrl.length != 0 ? thequaliUrl : '',
  308. orgCodeUrl: theorgCodeUrl.length != 0 ? theorgCodeUrl : '',
  309. auditStatus: this.state.auditStatus,
  310. authentication:this.state.authentication,
  311. type:this.state.type,
  312. qq:this.state.qq,
  313. email:this.state.email
  314. }
  315. }).done(
  316. function(data) {
  317. this.setState({
  318. loading: false
  319. });
  320. if (!data.error.length) {
  321. message.success('保存成功');
  322. this.loadInformation();
  323. } else {
  324. message.warning(data.error[0].message);
  325. }
  326. }.bind(this)
  327. );
  328. },
  329. subFun(){
  330. if(!this.state.identifyName){
  331. message.warning("请填写单位名称")
  332. return;
  333. }
  334. if (!this.state.industry) {
  335. message.warning('请选择行业!');
  336. return false;
  337. }
  338. if (!this.state.societyTag) {
  339. message.warning('请选择社会性质!');
  340. return false;
  341. }
  342. if (isNaN(this.state.registeredCapital)) {
  343. message.warning('注册资本只能输入数字!');
  344. return false;
  345. }
  346. if (!this.state.email) {
  347. message.warning('请填写企业邮箱!');
  348. return false;
  349. }
  350. if (!this.state.qq) {
  351. message.warning('请填写企业QQ!');
  352. return false;
  353. }
  354. if (this.state.companyLogoUrl&&(this.state.companyLogoUrl.length)<1) {
  355. message.warning('请上传企业LOGO.');
  356. return false;
  357. }
  358. if(!this.state.businessScope){
  359. message.warning('请填写业务范围!');
  360. return false;
  361. }
  362. if(!this.state.introduction){
  363. message.warning('请填写企业简介!');
  364. return false;
  365. }
  366. if (this.state.qualiUrl&&(this.state.qualiUrl.length)<1) {
  367. message.warning('请上传资质荣誉照片.');
  368. return false;
  369. }
  370. this.newSubmit()
  371. },
  372. handleOk(){
  373. this.newSubmit();
  374. this.setState({
  375. visible:false
  376. })
  377. },
  378. handleCancel(){
  379. this.setState({
  380. visible:false
  381. })
  382. },
  383. //logo图片获取
  384. getAllImg(imgArr){
  385. this.setState({
  386. companyLogoUrl:imgArr
  387. })
  388. },
  389. componentWillMount() {
  390. this.loadInformation();
  391. },
  392. componentWillReceiveProps(nextProps) {
  393. },
  394. render() {
  395. return (
  396. <div className="unit-wrap">
  397. <Form layout="horizontal" onSubmit={this.newSubmit} id="demand-form" style={{width:'80%'}}>
  398. <Spin spinning={this.state.loading}>
  399. <Row style={{ marginBottom: 20 }}>
  400. <Col offset={2} span={4}>
  401. <h4 style={{fontSize:20}}>企业资料</h4>
  402. </Col>
  403. </Row>
  404. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  405. <FormItem
  406. className="half-item"
  407. labelCol={{ span: 4 }}
  408. wrapperCol={{ span: 18 }}
  409. label={<span><span className="color-red"> * </span>企业名称</span>}
  410. >
  411. <Input
  412. maxLength={128}
  413. value={this.state.identifyName}
  414. onChange={(e) => {
  415. this.setState({ identifyName: e.target.value });
  416. }}
  417. placeholder="请输入企业名称"
  418. />
  419. </FormItem>
  420. <FormItem
  421. className="half-item"
  422. labelCol={{ span: 4 }}
  423. wrapperCol={{ span: 18 }}
  424. label="企业规模"
  425. >
  426. <InputNumber
  427. placeholder="企业规模"
  428. value={this.state.enterpriseScale}
  429. InputNumber min={0} maxLength={16}
  430. style={{width:120,marginRight:10}}
  431. onChange={(e) => {
  432. this.setState({ enterpriseScale: e });
  433. }}
  434. />
  435. <span>人</span>
  436. </FormItem>
  437. </div>
  438. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  439. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label={<span><span className="color-red"> * </span>行业</span>}>
  440. <Select
  441. placeholder="选择行业"
  442. value={this.state.industry}
  443. onChange={(e) => {
  444. this.setState({ industry: e });
  445. }}
  446. >
  447. {industry.map(function(item) {
  448. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  449. })}
  450. </Select>
  451. </FormItem>
  452. <FormItem
  453. className="half-item"
  454. labelCol={{ span: 4 }}
  455. wrapperCol={{ span: 18 }}
  456. label={<span><span className="color-red"> * </span>社会属性</span>}
  457. >
  458. <Select
  459. placeholder="客户社会属性"
  460. value={this.state.societyTag}
  461. onChange={(e) => {
  462. this.setState({ societyTag: e });
  463. }}
  464. >
  465. {socialAttribute.map(function(item) {
  466. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  467. })}
  468. </Select>
  469. </FormItem>
  470. <FormItem
  471. className="half-item"
  472. labelCol={{ span: 4 }}
  473. wrapperCol={{ span: 18 }}
  474. label="通信地址"
  475. >
  476. <Input
  477. maxLength={255}
  478. placeholder="客户通信地址"
  479. value={this.state.postalAddress}
  480. onChange={(e) => {
  481. this.setState({ postalAddress: e.target.value });
  482. }}
  483. />
  484. </FormItem>
  485. <FormItem
  486. className="half-item"
  487. labelCol={{ span: 4 }}
  488. wrapperCol={{ span: 18 }}
  489. label="固定电话"
  490. >
  491. <Input
  492. maxLength={16}
  493. placeholder="客户固定电话"
  494. value={this.state.fixedTel}
  495. onChange={(e) => {
  496. this.setState({ fixedTel: e.target.value });
  497. }}
  498. />
  499. </FormItem>
  500. <FormItem
  501. className="half-item"
  502. labelCol={{ span: 4 }}
  503. wrapperCol={{ span: 18 }}
  504. label="注册资本"
  505. >
  506. <Input
  507. placeholder="注册资本单位为万元"
  508. value={this.state.registeredCapital}
  509. maxLength={6}
  510. onChange={(e) => {
  511. this.setState({ registeredCapital: e.target.value });
  512. }}
  513. />
  514. </FormItem>
  515. <FormItem
  516. className="half-item"
  517. labelCol={{ span: 4 }}
  518. wrapperCol={{ span: 18 }}
  519. label="法人名称"
  520. >
  521. <Input
  522. maxLength={16}
  523. placeholder="法人名称"
  524. value={this.state.legalPerson}
  525. onChange={(e) => {
  526. this.setState({ legalPerson: e.target.value });
  527. }}
  528. />
  529. </FormItem>
  530. <FormItem
  531. className="half-item"
  532. labelCol={{ span: 4 }}
  533. wrapperCol={{ span: 18 }}
  534. label="法人身份证号码"
  535. >
  536. <Input
  537. maxLength={32}
  538. placeholder="法人身份证号码"
  539. value={this.state.legalPersonIdCard}
  540. onChange={(e) => {
  541. this.setState({ legalPersonIdCard: e.target.value });
  542. }}
  543. />
  544. </FormItem>
  545. <FormItem
  546. className="half-item"
  547. labelCol={{ span: 4 }}
  548. wrapperCol={{ span: 18 }}
  549. label="法人电话"
  550. >
  551. <Input
  552. maxLength={16}
  553. placeholder="法人电话"
  554. value={this.state.legalPersonTel}
  555. onChange={(e) => {
  556. this.setState({ legalPersonTel: e.target.value });
  557. }}
  558. />
  559. </FormItem>
  560. <FormItem
  561. className="half-item"
  562. labelCol={{ span: 4 }}
  563. wrapperCol={{ span: 18 }}
  564. label="法人电子邮箱"
  565. >
  566. <Input
  567. maxLength={128}
  568. placeholder="法人电子邮箱"
  569. value={this.state.legalPersonEmail}
  570. onChange={(e) => {
  571. this.setState({ legalPersonEmail: e.target.value });
  572. }}
  573. />
  574. </FormItem>
  575. <FormItem
  576. className="half-item"
  577. labelCol={{ span: 4 }}
  578. wrapperCol={{ span: 18 }}
  579. label="机构代码"
  580. >
  581. <Input
  582. maxLength={32}
  583. placeholder="社会同意机构代码"
  584. value={this.state.orgCode}
  585. onChange={(e) => {
  586. this.setState({ orgCode: e.target.value });
  587. }}
  588. />
  589. </FormItem>
  590. <FormItem
  591. className="half-item"
  592. labelCol={{ span: 4 }}
  593. wrapperCol={{ span: 18 }}
  594. label={<span><span className="color-red"> * </span>企业邮箱</span>}
  595. >
  596. <Input
  597. maxLength={128}
  598. placeholder="请填写企业邮箱"
  599. value={this.state.email}
  600. onChange={(e) => {
  601. this.setState({ email: e.target.value });
  602. }}
  603. />
  604. </FormItem>
  605. <FormItem
  606. className="half-item"
  607. labelCol={{ span: 4 }}
  608. wrapperCol={{ span: 18 }}
  609. label={<span><span className="color-red"> * </span>企业QQ</span>}
  610. >
  611. <Input
  612. maxLength={16}
  613. placeholder="填写企业QQ"
  614. value={this.state.qq}
  615. onChange={(e) => {
  616. this.setState({ qq: e.target.value });
  617. }}
  618. />
  619. </FormItem>
  620. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="高新">
  621. <Radio.Group
  622. value={this.state.highTechZone}
  623. onChange={(e) => {
  624. this.setState({ highTechZone: e.target.value });
  625. }}
  626. >
  627. <Radio value={0}>是</Radio>
  628. <Radio value={1}>否 </Radio>
  629. </Radio.Group>
  630. </FormItem>
  631. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="上市">
  632. <Radio.Group
  633. value={this.state.listed}
  634. onChange={(e) => {
  635. this.setState({ listed: e.target.value });
  636. }}
  637. >
  638. <Radio value={0}>是</Radio>
  639. <Radio value={1}>否 </Radio>
  640. </Radio.Group>
  641. </FormItem>
  642. <div className="clearfix pictures">
  643. <FormItem
  644. className="half-item"
  645. labelCol={{ span: 4 }}
  646. wrapperCol={{ span: 18 }}
  647. style={{ marginTop: 15 }}
  648. label="机构证(PIC)"
  649. >
  650. <PicturesWall
  651. pictureSign="PIC"
  652. fileList={this.getOrgCodeUrl}
  653. pictureUrl={this.state.orgCodeUrl}
  654. />
  655. <p>图片建议:图片要清晰。</p>
  656. </FormItem>
  657. <FormItem
  658. className="half-item"
  659. style={{paddingTop:15}}
  660. labelCol={{ span: 4 }}
  661. wrapperCol={{ span: 18 }}
  662. label={<span><span className="color-red"> * </span>企业logo</span>}
  663. >
  664. {/* <PicturesWall
  665. pictureSign="logo"
  666. fileList={this.getCompanyLogoUrl}
  667. pictureUrl={this.state.companyLogoUrl}
  668. />
  669. <p>图片建议:图片要清晰。</p> */}
  670. <Crop
  671. getAllImg={this.getAllImg}
  672. number = {1}
  673. aspectRatio = {1/1}
  674. url ={globalConfig.context + '/api/user/uploadPicture64'}
  675. uploadData = {{sign:'user_picture'}}
  676. urlArr = {this.state.companyLogoUrl}
  677. />
  678. <p>图片建议 : 图片要清晰。</p>
  679. </FormItem>
  680. </div>
  681. <div className="clearfix">
  682. <FormItem
  683. className="half-item"
  684. labelCol={{ span: 4 }}
  685. wrapperCol={{ span: 18 }}
  686. label={<span><span className="color-red"> * </span>业务范围</span>}
  687. >
  688. <Input
  689. type="textarea"
  690. rows={4}
  691. maxLength={400}
  692. value={this.state.businessScope}
  693. placeholder="请输入业务范围"
  694. onChange={(e) => {
  695. this.setState({ businessScope: e.target.value });
  696. }}
  697. />
  698. </FormItem>
  699. <FormItem
  700. className="half-item"
  701. labelCol={{ span: 4 }}
  702. wrapperCol={{ span: 18 }}
  703. label={<span><span className="color-red"> * </span>企业简介</span>}
  704. >
  705. <Input
  706. type="textarea"
  707. rows={4}
  708. maxLength={512}
  709. value={this.state.introduction}
  710. placeholder="请输入企业简介"
  711. onChange={(e) => {
  712. this.setState({ introduction: e.target.value });
  713. }}
  714. />
  715. </FormItem>
  716. </div>
  717. <div className="clearfix">
  718. <FormItem
  719. labelCol={{ span: 2 }}
  720. wrapperCol={{ span: 18 }}
  721. style={{ marginTop: 15 }}
  722. label={<span><span className="color-red"> * </span>荣誉资质</span>}
  723. >
  724. <PicturesWallMore
  725. pictureSign="PIC"
  726. fileList={this.getQualiUrl}
  727. pictureUrl={this.state.qualiUrl}
  728. />
  729. <p>图片建议:图片要清晰。</p>
  730. </FormItem>
  731. </div>
  732. <Row style={{ marginBottom: 20 ,marginTop:10}}>
  733. <Col offset={2} span={4}>
  734. <Button size="large" className="set-submit" type="primary" onClick={this.subFun} >
  735. 保存
  736. </Button>
  737. </Col>
  738. </Row>
  739. </div>
  740. </Spin>
  741. </Form>
  742. </div>
  743. );
  744. }
  745. });
  746. export default Unit;