goods_online_lists.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. /*
  2. * 商品管理——在售商品
  3. * */
  4. import { connect } from 'dva/index';
  5. import React, { Component, Fragment } from 'react';
  6. import { Form, Spin, Tooltip } from 'antd';
  7. import Link from 'umi/link';
  8. import router from 'umi/router';
  9. import {
  10. failTip,
  11. sucTip,
  12. list_com_page_size_10,
  13. dragSldTableColumn,
  14. getTableNum,
  15. sldComLanguage,
  16. sldPopConfirm,
  17. dateFormat,
  18. sldHandlePaginationData,
  19. sldtbaleOpeBtnText,
  20. sldIconBtn,
  21. formItemLayoutModal,
  22. getSldListGoodsImg80,
  23. list_com_page_more,
  24. quillEscapeToHtml,
  25. } from '@/utils/utils';
  26. import global from '@/global.less';
  27. import styles from './product.less';
  28. import StandardTable from '@/components/StandardTable';
  29. import Search from '@/components/Search/Search';
  30. import SldModal from '@/components/SldModal/SldModal';
  31. let pageSize = list_com_page_size_10;
  32. @connect(({ product }) => ({
  33. product,
  34. }))
  35. @Form.create()
  36. export default class GoodsOnlineLists extends Component {
  37. constructor(props) {
  38. super(props);
  39. this.state = {
  40. search_height:0,
  41. modal_width: 700,
  42. modalVisibleDetail: false,
  43. initLoading: false,
  44. submiting: false,
  45. show_foot: false,
  46. modalVisible: false,//是否显示规格弹框
  47. data: {},//列表数据
  48. selectedRows: [],
  49. selectedRowKeys: [],//selectedRows的key
  50. title: `${sldComLanguage('商品规格')}`,
  51. type: 'add',//'add'新增 'edit'编辑
  52. params: { pageSize: pageSize },//搜索条件
  53. search_data: [{
  54. type: 'input',
  55. label: `${sldComLanguage('商品名称')}`,
  56. name: 'goodsName',
  57. placeholder: `${sldComLanguage('请输入商品名称')}`,
  58. }, {
  59. type: 'input',
  60. label: `${sldComLanguage('商品货号')}`,
  61. name: 'goodsCode',
  62. placeholder: `${sldComLanguage('请输入商品货号')}`,
  63. }, {
  64. type: 'input',
  65. label: `${sldComLanguage('条形码')}`,
  66. name: 'barCode',
  67. placeholder: `${sldComLanguage('请输入商品条形码')}`,
  68. }, {
  69. type: 'tree_select',
  70. label: `${sldComLanguage('店铺分类')}`,
  71. name: 'StoreCategoryId',
  72. placeholder: `${sldComLanguage('请选择店铺分类')}`,
  73. data: [],
  74. },/*{
  75. type: 'select',
  76. label: `${sldComLanguage('商品类型')}`,
  77. name: 'isVirtualGoods',
  78. placeholder: `${sldComLanguage('请选择商品类型')}`,
  79. sel_data: [
  80. { key: '', name: `${sldComLanguage('全部')}` },
  81. { key: 1, name: `${sldComLanguage('实物商品')}` },
  82. { key: 2, name: `${sldComLanguage('虚拟商品')}` },
  83. ],
  84. },*/ {
  85. type: 'rangepicker',
  86. label: `${sldComLanguage('发布时间')}`,
  87. name: 'search_create_time',
  88. placeholder1: `${sldComLanguage('开始时间')}`,
  89. placeholder2: `${sldComLanguage('结束时间')}`,
  90. }],
  91. view_spec_data: [{
  92. type: 'scroll_table',
  93. name: '',
  94. label: ``,
  95. width: 740,
  96. content: '',
  97. data: [],
  98. columns: this.goods_spec_columns,
  99. rowKey: 'productId',
  100. }],//查看规格
  101. formValues: {},//搜索条件
  102. addData: [{
  103. type: 'select',
  104. label: `${sldComLanguage('顶部版式')}`,
  105. name: 'topTemplateId',
  106. placeholder: `${sldComLanguage('请选择顶部关联版式')}`,
  107. sel_data: [],
  108. sele_key: 'templateId',
  109. sele_name: 'templateName',
  110. diy: true,
  111. }, {
  112. type: 'select',
  113. label: `${sldComLanguage('底部版式')}`,
  114. name: 'bottomTemplateId',
  115. placeholder: `${sldComLanguage('请选择底部关联版式')}`,
  116. sel_data: [],
  117. sele_key: 'templateId',
  118. sele_name: 'templateName',
  119. diy: true,
  120. }],//设置关联版式的数据
  121. operateData: [],
  122. columns: [
  123. {
  124. title: ' ',
  125. align: 'center',
  126. width: 30,
  127. render: (text, record, index) => getTableNum(this.state.params, pageSize, index),
  128. },
  129. {
  130. title: `${sldComLanguage('商品信息')}`,
  131. dataIndex: 'mainImage',
  132. align: 'center',
  133. width: 250,
  134. render: (text, record) => {
  135. return <div className={`${styles.goods_info} ${global.com_flex_row_flex_start}`}>
  136. {/*{record.isVirtualGoods == 2&&<span className={`${styles.virtual_goods_flag}`}>虚拟</span>}*/}
  137. <div className={styles.goods_img}>{getSldListGoodsImg80(text)}</div>
  138. <div className={`${global.com_flex_column_space_between} ${styles.goods_detail}`}>
  139. <span className={styles.goods_name}>
  140. {record.goodsName}
  141. </span>
  142. <span className={styles.goods_brief}>
  143. {record.categoryPath}
  144. </span>
  145. </div>
  146. </div>;
  147. },
  148. },
  149. {
  150. title: `${sldComLanguage('店铺分类')}`,
  151. dataIndex: 'innerLabelList',
  152. align: 'center',
  153. render: (text, record, index) => {
  154. return <div className={`${global.flex_column_center_center}`}>
  155. {text!=undefined&&text.length>0
  156. ?<Fragment>
  157. {text.map((item,index)=>{
  158. return <div key={index}>
  159. {quillEscapeToHtml(quillEscapeToHtml(item))}
  160. </div>
  161. })}
  162. </Fragment>
  163. :'--'
  164. }
  165. </div>;
  166. },
  167. },
  168. {
  169. title: `${sldComLanguage('商品价格')}`,
  170. dataIndex: 'goodsMoney',
  171. align: 'center',
  172. },
  173. // {
  174. // title: `${sldComLanguage('商品库存')}`,
  175. // dataIndex: 'goodsStock',
  176. // align: 'center',
  177. //
  178. // render: (text, record, index) => {
  179. // return <span style={{
  180. // color: record.warning ? '#FF490A' : '#696969',
  181. // fontWeight: record.warning ? '700' : '500',
  182. // }}>{text}</span>;
  183. // },
  184. // },
  185. // {
  186. // title: `${sldComLanguage('实际/虚拟销量')}`,
  187. // dataIndex: 'actualSales',
  188. // align: 'center',
  189. //
  190. // render: (text, record) => {
  191. // return <div>{record.actualSales}/{record.virtualSales}</div>;
  192. // },
  193. // },
  194. {
  195. title: `${sldComLanguage('是否推荐')}`,
  196. dataIndex: 'storeIsRecommend',
  197. align: 'center',
  198. render: (text, record) => {
  199. return text == 1 ? `${sldComLanguage('推荐')}` : `${sldComLanguage('不推荐')}`;
  200. },
  201. },
  202. {
  203. title: `${sldComLanguage('发布时间')}`,
  204. dataIndex: 'createTime',
  205. align: 'center',
  206. },
  207. {
  208. title: `${sldComLanguage('操作')}`,
  209. align: 'center',
  210. width: 100,
  211. render: (text, record) => (
  212. <Fragment>
  213. {sldtbaleOpeBtnText(`${sldComLanguage('查看规格')}`, () => this.viewSpec(record))}
  214. <span className={global.splitLine}></span>
  215. {record.isLock == 0 &&
  216. <Link to={{
  217. pathname: '/goods/goods_list_to_add',
  218. query: {
  219. id: record.goodsId,
  220. },
  221. }}>
  222. {sldtbaleOpeBtnText(`${sldComLanguage('编辑')}`, () => null)}
  223. </Link>
  224. }
  225. {/*商品被锁定*/}
  226. {record.isLock == 1 &&
  227. <Tooltip placement="topRight" title={`${sldComLanguage('该商品参加活动期间不能进行编辑、删除等操作')}`}>
  228. <a className={global.tableOperateText} style={{ color: '#fff', background: '#999', cursor: 'auto',whiteSpace:'nowrap',display:'inline-block',marginTop:1,marginLeft:5 }}
  229. onClick={(e) => { e.preventDefault()}}>
  230. {sldComLanguage('锁定')}
  231. </a>
  232. </Tooltip>
  233. }
  234. </Fragment>
  235. ),
  236. },
  237. ]
  238. };
  239. }
  240. goods_spec_columns = [
  241. {
  242. title: ' ',
  243. dataIndex: 'productId',
  244. align: 'center',
  245. width: 30,
  246. render: (text, record, index) => {
  247. return index + 1;
  248. },
  249. },
  250. {
  251. title: `${sldComLanguage('商品规格')}`,
  252. dataIndex: 'specValues',
  253. align: 'center',
  254. width: 200,
  255. render: (text, record, index) => {
  256. return <div style={{ width: 200, wordBreak: 'normal', wordWrap: 'break-word' }}>{text}</div>;
  257. },
  258. },
  259. // {
  260. // title: `${sldComLanguage('价格(元)')}`,
  261. // dataIndex: 'productPrice',
  262. // align: 'center',
  263. // width: 110,
  264. // },
  265. // {
  266. // title: `${sldComLanguage('库存')}`,
  267. // dataIndex: 'productStock',
  268. // align: 'center',
  269. // width: 100,
  270. // render: (text, record, index) => {
  271. // return <span style={{
  272. // color: record.warning ? '#FF490A' : '#696969',
  273. // fontWeight: record.warning ? '700' : '500',
  274. // }}>{text}</span>;
  275. // },
  276. // },
  277. {
  278. title: `${sldComLanguage('货号')}`,
  279. dataIndex: 'productCode',
  280. align: 'center',
  281. width: 150,
  282. render: (text) => {
  283. return text?text:'--';
  284. },
  285. },
  286. {
  287. title: `${sldComLanguage('条形码')}`,
  288. dataIndex: 'barCode',
  289. align: 'center',
  290. width: 150,
  291. render: (text) => {
  292. return text?text:'--';
  293. },
  294. },
  295. ];
  296. componentDidMount() {
  297. this.get_list({ pageSize })
  298. this.getTemplateList();
  299. this.getStoreCat();//获取店铺分类
  300. this.resize();
  301. window.addEventListener('resize', this.resize);
  302. }
  303. componentWillUnmount() {
  304. window.removeEventListener('resize', this.resize);
  305. }
  306. resize = () =>{
  307. const {search_height} = this.state;
  308. if(this.refs.search_part!=undefined){
  309. if(this.refs.search_part.clientHeight != search_height){
  310. this.setState({search_height:this.refs.search_part.clientHeight})
  311. }
  312. }
  313. }
  314. //获取店铺分类
  315. getStoreCat = () => {
  316. const { dispatch } = this.props;
  317. let { search_data } = this.state;
  318. let dis_type = 'product/get_store_category_list';
  319. let payload = { pageSize: list_com_page_more };
  320. dispatch({
  321. type: dis_type,
  322. payload: payload,
  323. callback: (res) => {
  324. if (res.state == 200) {
  325. let tmp_data = search_data.filter(item => item.name == 'StoreCategoryId')[0];
  326. for (let i in res.data) {
  327. res.data[i].key = res.data[i].innerLabelId;
  328. res.data[i].value = res.data[i].innerLabelId;
  329. res.data[i].title = res.data[i].innerLabelName;
  330. if (res.data[i].children != null && res.data[i].children.length > 0) {
  331. res.data[i].children.map(item => {
  332. item.key = item.innerLabelId;
  333. item.value = item.innerLabelId;
  334. item.title = item.innerLabelName;
  335. });
  336. }
  337. }
  338. tmp_data.data = res.data;
  339. this.setState({ search_data });
  340. }
  341. },
  342. });
  343. };
  344. //设置关联版式
  345. setTemplate = () => {
  346. let { addData } = this.state;
  347. this.setState({
  348. operateData: JSON.parse(JSON.stringify(addData)),
  349. title: `${sldComLanguage('设置关联版式')}`,
  350. modal_width: 500,
  351. modalVisible: true,
  352. type: 'template',
  353. show_foot: true,
  354. });
  355. };
  356. sldHandleConfirm = (val) => {
  357. const { selectedRowKeys } = this.state;
  358. val.goodsIds = selectedRowKeys.join(',');
  359. if (val.topTemplateId == undefined && val.bottomTemplateId == undefined) {
  360. failTip(`${sldComLanguage('请至少选择一个模版')}`);
  361. return false;
  362. }
  363. this.operateGoods(val, 'template');
  364. };
  365. // 查看规格
  366. viewSpec = (val) => {
  367. let { view_spec_data, operateData } = this.state;
  368. operateData = JSON.parse(JSON.stringify(view_spec_data));
  369. operateData[0].columns = this.goods_spec_columns;
  370. operateData[0].data = val.productList;
  371. this.setState({
  372. modalVisible: true,
  373. show_foot: false,
  374. title: `${sldComLanguage('查看规格')}`,
  375. modal_width: 760,
  376. operateData,
  377. });
  378. };
  379. //商品操作
  380. operateGoods = (id, type) => {
  381. this.setState({ submiting: true });
  382. const { params } = this.state;
  383. const { dispatch } = this.props;
  384. let param_data = {};
  385. let dis_type = '';
  386. if (type == 'lockup') {
  387. dis_type = 'product/lockup_goods';
  388. param_data = id;
  389. } else if (type == 'recommend') {
  390. dis_type = 'product/set_goods_recommend';
  391. param_data = id;
  392. } else if (type == 'del') {
  393. dis_type = 'product/del_goods';
  394. param_data = id;
  395. } else if (type == 'template') {
  396. dis_type = 'product/set_related_template';
  397. param_data = id;
  398. }
  399. dispatch({
  400. type: dis_type,
  401. payload: param_data,
  402. callback: (res) => {
  403. this.setState({ submiting: false });
  404. if (res.state == 200) {
  405. sucTip(res.msg);
  406. this.get_list(params);
  407. this.setState({
  408. selectedRows: [],
  409. selectedRowKeys: [],
  410. modalVisible: false,
  411. });
  412. } else {
  413. failTip(res.msg);
  414. }
  415. },
  416. });
  417. };
  418. //获取数据列表
  419. get_list = (params) => {
  420. this.setState({ initLoading: true });
  421. const { dispatch } = this.props;
  422. dispatch({
  423. type: 'product/get_goods_lists',
  424. payload: { ...params, state: 3 },
  425. callback: (res) => {
  426. this.setState({ initLoading: false });
  427. if (res.state == 200) {
  428. if (res.data?.list?.length == 0 && this.state.params.current > 1) {
  429. params.current = params.current - 1;
  430. this.get_list(params);
  431. } else {
  432. res.data.list.map(item=>{
  433. item.disabled = item.isLock == 1?true:false;
  434. })
  435. this.setState({
  436. data: res.data,
  437. });
  438. }
  439. }
  440. },
  441. });
  442. };
  443. //获取关联版式列表
  444. getTemplateList = () => {
  445. const { dispatch } = this.props;
  446. let { addData } = this.state;
  447. dispatch({
  448. type: 'product/get_related_template_lists',
  449. payload: { pageSize: list_com_page_more },
  450. callback: (res) => {
  451. this.setState({ initLoading: false });
  452. if (res.state == 200) {
  453. let topData = res.data.list.filter(item => item.templatePosition == 1);
  454. let bottomData = res.data.list.filter(item => item.templatePosition == 2);
  455. for (let i in addData) {
  456. if (addData[i].name == 'topTemplateId') {
  457. addData[i].sel_data = topData;
  458. } else {
  459. addData[i].sel_data = bottomData;
  460. }
  461. }
  462. this.setState({ addData });
  463. }
  464. },
  465. });
  466. };
  467. handleSelectRows = (rows, rowkeys) => {
  468. this.setState({
  469. selectedRows: rows,
  470. selectedRowKeys: rowkeys,
  471. });
  472. };
  473. handleTablePagination = (pagination, filtersArg, sorter, type = 'main') => {
  474. const { formValues } = this.state;
  475. if (type == 'main') {
  476. const params = sldHandlePaginationData(pagination, filtersArg, sorter, formValues);
  477. pageSize = params.pageSize;
  478. this.setState({ params });
  479. this.get_list(params);
  480. }
  481. };
  482. //表格拖动
  483. resizeTable = (index, size, type, data) => {
  484. let datas = dragSldTableColumn(index, size, data);
  485. this.setState({ [type]: datas });
  486. };
  487. //搜索事件
  488. search = (data) => {
  489. const values = { ...data };
  490. //时间处理
  491. if (values.search_create_time) {
  492. values.startTime = values.search_create_time[0] ? values.search_create_time[0].format(dateFormat) + ' 00:00:00' : '';
  493. values.endTime = values.search_create_time[1] ? values.search_create_time[1].format(dateFormat) + ' 23:59:59' : '';
  494. values.search_create_time = '';
  495. }
  496. for (let i in values) {
  497. if (values[i] == '') {
  498. delete values[i];
  499. }
  500. }
  501. this.setState({
  502. formValues: values,
  503. params: { pageSize: pageSize }
  504. });
  505. this.get_list({ pageSize: pageSize, ...values });
  506. };
  507. //搜索重置事件
  508. seaReset = () => {
  509. //搜索条件置为空
  510. this.setState({
  511. formValues: {},
  512. params: { pageSize: pageSize }
  513. });
  514. this.get_list({ pageSize: pageSize });
  515. };
  516. sldHandleCancle = () => {
  517. this.setState({ modalVisible: false });
  518. };
  519. //发布商品
  520. addGoods = () => {
  521. this.setState({ initLoading: false });
  522. //先检验是否达到发布的最大数量
  523. const { dispatch } = this.props;
  524. dispatch({
  525. type: 'product/check_is_allow_add_goods',
  526. callback: (res) => {
  527. if (res.state == 200) {
  528. //跳转到发布商品页面
  529. router.push('/goods/goods_list_to_add');
  530. }else{
  531. failTip(res.msg);
  532. }
  533. },
  534. });
  535. }
  536. //搜索点击
  537. moreSearchToggle = () => {
  538. const {search_height} = this.state;
  539. if(this.refs.search_part!=undefined){
  540. if(this.refs.search_part.clientHeight != search_height){
  541. this.setState({search_height:this.refs.search_part.clientHeight})
  542. }
  543. }
  544. }
  545. render() {
  546. const {
  547. selectedRows,
  548. selectedRowKeys,
  549. search_data,
  550. columns,
  551. initLoading,
  552. data,
  553. modalVisible,
  554. operateData,
  555. title,
  556. modal_width,
  557. show_foot,
  558. submiting,
  559. search_height
  560. } = this.state;
  561. return (
  562. <div className={global.common_page} style={{ flex: 1, padding: 0 }}>
  563. <div className={global.tableListForm} ref={'search_part'}>
  564. <Search search_data={search_data} moreSearchToggle={() => this.moreSearchToggle()}
  565. seaSubmit={(data) => this.search(data)} seaReset={() => this.seaReset()}/>
  566. </div>
  567. {/*公共功能条-start*/}
  568. <div className={global.operate_bg}
  569. style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between' }}>
  570. <div style={{ display: 'flex', flexDirection: 'row' }}>
  571. {sldIconBtn(() => this.addGoods(), `${sldComLanguage('发布商品')}`, 7, 0, 12, 12, 3, 'fabu1', '#036EB8')}
  572. {selectedRowKeys.length == 0 ? sldIconBtn(() => {
  573. failTip(`${sldComLanguage('请先选中数据')}`);
  574. //确认下架选中的商品吗?
  575. }, `${sldComLanguage('下架')}`, 7, 0, 13, 13, 3, 'ziyuan31', '#f9a006') : sldPopConfirm('leftBottom', `${sldComLanguage('确认下架选中的商品吗?')}`, () => this.operateGoods({ goodsIds: selectedRowKeys.join(',') }, 'lockup'), `${sldComLanguage('确定')}`, `${sldComLanguage('取消')}`, sldIconBtn(null, `${sldComLanguage('下架')}`, 7, 0, 13, 13, 3, 'ziyuan31', '#f9a006'), 0, 0, '#f9a006')}
  576. {selectedRowKeys.length == 0 ? sldIconBtn(() => {
  577. failTip(`${sldComLanguage('请先选中数据')}`);
  578. //确认删除选中的商品吗?
  579. }, `${sldComLanguage('删除')}`, 7, 0, 15, 15, 3, 'piliangshanchu', '#F21414') : sldPopConfirm('leftBottom', `${sldComLanguage('确认删除选中的商品吗?')}`, () => this.operateGoods({ goodsIds: selectedRowKeys.join(',') }, 'del'), `${sldComLanguage('确定')}`, `${sldComLanguage('取消')}`, sldIconBtn(null, `${sldComLanguage('删除')}`, 7, 0, 15, 15, 3, 'piliangshanchu', '#F21414'), 0, 0, '#F21414')}
  580. {selectedRowKeys.length == 0 ? sldIconBtn(() => {
  581. failTip(`${sldComLanguage('请先选中数据')}`);
  582. //确认将选中的商品设置为推荐商品吗?
  583. }, `${sldComLanguage('设置推荐')}`, 7, 0, 15, 15, 3, 'nav-tuijian', '#ffa70f') : sldPopConfirm('leftBottom', `${sldComLanguage('确认将选中的商品设置为推荐商品吗?')}`, () => this.operateGoods({
  584. goodsIds: selectedRowKeys.join(','),
  585. isRecommend: 1,
  586. }, 'recommend'), `${sldComLanguage('确定')}`, `${sldComLanguage('取消')}`, sldIconBtn(null, `${sldComLanguage('设置推荐')}`, 7, 0, 15, 15, 3, 'nav-tuijian', '#ffa70f'), 0, 0, '#ffa70f')}
  587. {selectedRowKeys.length == 0 ? sldIconBtn(() => {
  588. failTip(`${sldComLanguage('请先选中数据')}`);
  589. //确认将选中的商品取消推荐吗?
  590. }, `${sldComLanguage('取消推荐')}`, 7, 0, 15, 15, 3, 'quxiaotuijian2', '#0f419c') : sldPopConfirm('leftBottom', `${sldComLanguage('确认将选中的商品取消推荐吗?')}`, () => this.operateGoods({
  591. goodsIds: selectedRowKeys.join(','),
  592. isRecommend: 0,
  593. }, 'recommend'), `${sldComLanguage('确定')}`, `${sldComLanguage('取消')}`, sldIconBtn(null, `${sldComLanguage('取消推荐')}`, 7, 0, 15, 15, 3, 'quxiaotuijian2', '#0f419c'), 0, 0, '#0f419c')}
  594. {selectedRowKeys.length == 0
  595. ? sldIconBtn(() => {
  596. failTip(`${sldComLanguage('请先选中数据')}`);
  597. //确认为选中的商品设置关联版式吗?
  598. }, `${sldComLanguage('设置关联版式')}`, 7, 0, 14, 14, 3, 'glsz', '#0c93f2')
  599. : sldIconBtn(() => this.setTemplate(), `${sldComLanguage('设置关联版式')}`, 7, 0, 14, 14, 3, 'glsz', '#0c93f2')}
  600. </div>
  601. </div>
  602. {/*公共功能条-end*/}
  603. <Spin spinning={initLoading}>
  604. {/*标准表格-start*/}
  605. <StandardTable
  606. totalHeight={document.body.clientHeight - 190 - search_height - 15}
  607. bordered={false}
  608. selectedRows={selectedRows}
  609. data={data}
  610. rowKey={'goodsId'}
  611. isCheck={true}
  612. columns={columns}
  613. onSelectRow={this.handleSelectRows}
  614. onChange={(pagination, filtersArg, sorter) => this.handleTablePagination(pagination, filtersArg, sorter, 'main')}
  615. onSldHandleSeleRow={this.onSldHandleSeleRow}
  616. resizeTable={(index, size) => this.resizeTable(index, size, 'columns', columns)}
  617. isColumnResize={true}
  618. />
  619. {/*标准表格-end*/}
  620. </Spin>
  621. { /*新增/编辑对话框-start*/}
  622. <SldModal
  623. width={modal_width}
  624. title={title}
  625. submiting={submiting}
  626. modalVisible={modalVisible}
  627. sldHandleConfirm={(val) => this.sldHandleConfirm(val)}
  628. sldHandleCancle={this.sldHandleCancle}
  629. formItemLayoutModal={formItemLayoutModal}
  630. content={operateData}
  631. show_foot={show_foot}
  632. />
  633. { /*新增/编辑对话框-end*/}
  634. </div>
  635. );
  636. }
  637. }