unit.jsx 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  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.qualiUrl&&(this.state.qualiUrl.length)<1) {
  359. message.warning('请上传资质荣誉照片.');
  360. return false;
  361. }
  362. this.newSubmit()
  363. },
  364. handleOk(){
  365. this.newSubmit();
  366. this.setState({
  367. visible:false
  368. })
  369. },
  370. handleCancel(){
  371. this.setState({
  372. visible:false
  373. })
  374. },
  375. //logo图片获取
  376. getAllImg(imgArr){
  377. this.setState({
  378. companyLogoUrl:imgArr
  379. })
  380. },
  381. componentWillMount() {
  382. this.loadInformation();
  383. },
  384. componentWillReceiveProps(nextProps) {
  385. },
  386. render() {
  387. return (
  388. <div className="unit-wrap">
  389. <Form layout="horizontal" onSubmit={this.newSubmit} id="demand-form" style={{width:'80%'}}>
  390. <Spin spinning={this.state.loading}>
  391. <Row style={{ marginBottom: 20 }}>
  392. <Col offset={2} span={4}>
  393. <h4 style={{fontSize:20}}>企业资料</h4>
  394. </Col>
  395. </Row>
  396. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  397. <FormItem
  398. className="half-item"
  399. labelCol={{ span: 4 }}
  400. wrapperCol={{ span: 18 }}
  401. label={<span><span className="color-red"> * </span>企业名称</span>}
  402. >
  403. <Input
  404. maxLength={128}
  405. value={this.state.identifyName}
  406. onChange={(e) => {
  407. this.setState({ identifyName: e.target.value });
  408. }}
  409. placeholder="请输入企业名称"
  410. />
  411. </FormItem>
  412. <FormItem
  413. className="half-item"
  414. labelCol={{ span: 4 }}
  415. wrapperCol={{ span: 18 }}
  416. label="企业规模"
  417. >
  418. <InputNumber
  419. placeholder="企业规模"
  420. value={this.state.enterpriseScale}
  421. InputNumber min={0} max={999999}
  422. style={{width:120,marginRight:10}}
  423. onChange={(e) => {
  424. this.setState({ enterpriseScale: e });
  425. }}
  426. />
  427. <span>人</span>
  428. </FormItem>
  429. </div>
  430. <div className="clearfix" style={{ paddingLeft: '60px' }}>
  431. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label={<span><span className="color-red"> * </span>行业</span>}>
  432. <Select
  433. placeholder="选择行业"
  434. value={this.state.industry}
  435. onChange={(e) => {
  436. this.setState({ industry: e });
  437. }}
  438. >
  439. {industry.map(function(item) {
  440. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  441. })}
  442. </Select>
  443. </FormItem>
  444. <FormItem
  445. className="half-item"
  446. labelCol={{ span: 4 }}
  447. wrapperCol={{ span: 18 }}
  448. label={<span><span className="color-red"> * </span>社会属性</span>}
  449. >
  450. <Select
  451. placeholder="客户社会属性"
  452. value={this.state.societyTag}
  453. onChange={(e) => {
  454. this.setState({ societyTag: e });
  455. }}
  456. >
  457. {socialAttribute.map(function(item) {
  458. return <Select.Option key={item.value}>{item.key}</Select.Option>;
  459. })}
  460. </Select>
  461. </FormItem>
  462. <FormItem
  463. className="half-item"
  464. labelCol={{ span: 4 }}
  465. wrapperCol={{ span: 18 }}
  466. label="通信地址"
  467. >
  468. <Input
  469. maxLength={255}
  470. placeholder="客户通信地址"
  471. value={this.state.postalAddress}
  472. onChange={(e) => {
  473. this.setState({ postalAddress: e.target.value });
  474. }}
  475. />
  476. </FormItem>
  477. <FormItem
  478. className="half-item"
  479. labelCol={{ span: 4 }}
  480. wrapperCol={{ span: 18 }}
  481. label="固定电话"
  482. >
  483. <Input
  484. maxLength={13}
  485. placeholder="客户固定电话"
  486. value={this.state.fixedTel}
  487. onChange={(e) => {
  488. this.setState({ fixedTel: e.target.value });
  489. }}
  490. />
  491. </FormItem>
  492. <FormItem
  493. className="half-item"
  494. labelCol={{ span: 4 }}
  495. wrapperCol={{ span: 18 }}
  496. label="注册资本"
  497. >
  498. <Input
  499. placeholder="注册资本"
  500. value={this.state.registeredCapital}
  501. maxLength="6"
  502. onChange={(e) => {
  503. this.setState({ registeredCapital: e.target.value });
  504. }}
  505. />
  506. </FormItem>
  507. <FormItem
  508. className="half-item"
  509. labelCol={{ span: 4 }}
  510. wrapperCol={{ span: 18 }}
  511. label="法人名称"
  512. >
  513. <Input
  514. placeholder="法人名称"
  515. value={this.state.legalPerson}
  516. onChange={(e) => {
  517. this.setState({ legalPerson: e.target.value });
  518. }}
  519. />
  520. </FormItem>
  521. <FormItem
  522. className="half-item"
  523. labelCol={{ span: 4 }}
  524. wrapperCol={{ span: 18 }}
  525. label="法人身份证号码"
  526. >
  527. <Input
  528. placeholder="法人身份证号码"
  529. value={this.state.legalPersonIdCard}
  530. onChange={(e) => {
  531. this.setState({ legalPersonIdCard: e.target.value });
  532. }}
  533. />
  534. </FormItem>
  535. <FormItem
  536. className="half-item"
  537. labelCol={{ span: 4 }}
  538. wrapperCol={{ span: 18 }}
  539. label="法人电话"
  540. >
  541. <Input
  542. placeholder="法人电话"
  543. value={this.state.legalPersonTel}
  544. onChange={(e) => {
  545. this.setState({ legalPersonTel: e.target.value });
  546. }}
  547. />
  548. </FormItem>
  549. <FormItem
  550. className="half-item"
  551. labelCol={{ span: 4 }}
  552. wrapperCol={{ span: 18 }}
  553. label="法人电子邮箱"
  554. >
  555. <Input
  556. placeholder="法人电子邮箱"
  557. value={this.state.legalPersonEmail}
  558. onChange={(e) => {
  559. this.setState({ legalPersonEmail: e.target.value });
  560. }}
  561. />
  562. </FormItem>
  563. <FormItem
  564. className="half-item"
  565. labelCol={{ span: 4 }}
  566. wrapperCol={{ span: 18 }}
  567. label="机构代码"
  568. >
  569. <Input
  570. placeholder="社会同意机构代码"
  571. value={this.state.orgCode}
  572. onChange={(e) => {
  573. this.setState({ orgCode: e.target.value });
  574. }}
  575. />
  576. </FormItem>
  577. <FormItem
  578. className="half-item"
  579. labelCol={{ span: 4 }}
  580. wrapperCol={{ span: 18 }}
  581. label={<span><span className="color-red"> * </span>企业邮箱</span>}
  582. >
  583. <Input
  584. placeholder="请填写企业邮箱"
  585. value={this.state.email}
  586. onChange={(e) => {
  587. this.setState({ email: e.target.value });
  588. }}
  589. />
  590. </FormItem>
  591. <FormItem
  592. className="half-item"
  593. labelCol={{ span: 4 }}
  594. wrapperCol={{ span: 18 }}
  595. label={<span><span className="color-red"> * </span>企业QQ</span>}
  596. >
  597. <Input
  598. placeholder="填写企业QQ"
  599. value={this.state.qq}
  600. onChange={(e) => {
  601. this.setState({ qq: e.target.value });
  602. }}
  603. />
  604. </FormItem>
  605. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="高新">
  606. <Radio.Group
  607. value={this.state.highTechZone}
  608. onChange={(e) => {
  609. this.setState({ highTechZone: e.target.value });
  610. }}
  611. >
  612. <Radio value={0}>是</Radio>
  613. <Radio value={1}>否 </Radio>
  614. </Radio.Group>
  615. </FormItem>
  616. <FormItem className="half-item" labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="上市">
  617. <Radio.Group
  618. value={this.state.listed}
  619. onChange={(e) => {
  620. this.setState({ listed: e.target.value });
  621. }}
  622. >
  623. <Radio value={0}>是</Radio>
  624. <Radio value={1}>否 </Radio>
  625. </Radio.Group>
  626. </FormItem>
  627. <div className="clearfix pictures">
  628. <FormItem
  629. className="half-item"
  630. labelCol={{ span: 4 }}
  631. wrapperCol={{ span: 18 }}
  632. style={{ marginTop: 15 }}
  633. label="机构证(PIC)"
  634. >
  635. <PicturesWall
  636. pictureSign="PIC"
  637. fileList={this.getOrgCodeUrl}
  638. pictureUrl={this.state.orgCodeUrl}
  639. />
  640. <p>图片建议:图片要清晰。</p>
  641. </FormItem>
  642. <FormItem
  643. className="half-item"
  644. style={{paddingTop:15}}
  645. labelCol={{ span: 4 }}
  646. wrapperCol={{ span: 18 }}
  647. label={<span><span className="color-red"> * </span>企业logo</span>}
  648. >
  649. {/* <PicturesWall
  650. pictureSign="logo"
  651. fileList={this.getCompanyLogoUrl}
  652. pictureUrl={this.state.companyLogoUrl}
  653. />
  654. <p>图片建议:图片要清晰。</p> */}
  655. <Crop
  656. getAllImg={this.getAllImg}
  657. number = {1}
  658. aspectRatio = {1/1}
  659. url ={globalConfig.context + '/api/user/uploadPicture64'}
  660. uploadData = {{sign:'user_picture'}}
  661. urlArr = {this.state.companyLogoUrl}
  662. />
  663. <p>图片建议 : 图片要清晰。</p>
  664. </FormItem>
  665. </div>
  666. <div className="clearfix">
  667. <FormItem
  668. className="half-item"
  669. labelCol={{ span: 4 }}
  670. wrapperCol={{ span: 18 }}
  671. label="业务范围"
  672. >
  673. <Input
  674. type="textarea"
  675. rows={4}
  676. value={this.state.businessScope}
  677. placeholder="请输入业务范围"
  678. onChange={(e) => {
  679. this.setState({ businessScope: e.target.value });
  680. }}
  681. />
  682. </FormItem>
  683. <FormItem
  684. className="half-item"
  685. labelCol={{ span: 4 }}
  686. wrapperCol={{ span: 18 }}
  687. label="企业简介"
  688. >
  689. <Input
  690. type="textarea"
  691. rows={4}
  692. value={this.state.introduction}
  693. placeholder="请输入企业简介"
  694. onChange={(e) => {
  695. this.setState({ introduction: e.target.value });
  696. }}
  697. />
  698. </FormItem>
  699. </div>
  700. <div className="clearfix">
  701. <FormItem
  702. labelCol={{ span: 2 }}
  703. wrapperCol={{ span: 18 }}
  704. style={{ marginTop: 15 }}
  705. label={<span><span className="color-red"> * </span>荣誉资质</span>}
  706. >
  707. <PicturesWallMore
  708. pictureSign="PIC"
  709. fileList={this.getQualiUrl}
  710. pictureUrl={this.state.qualiUrl}
  711. />
  712. <p>图片建议:图片要清晰。</p>
  713. </FormItem>
  714. </div>
  715. <Row style={{ marginBottom: 20 ,marginTop:10}}>
  716. <Col offset={2} span={4}>
  717. <Button size="large" className="set-submit" type="primary" onClick={this.subFun} >
  718. 保存
  719. </Button>
  720. </Col>
  721. </Row>
  722. </div>
  723. </Spin>
  724. </Form>
  725. </div>
  726. );
  727. }
  728. });
  729. export default Unit;