@bit-sun/business-component 2.0.20 → 2.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,12 @@
1
1
  interface exportIconType {
2
- url: string;
3
- params: any;
4
- otherParams?: any;
2
+ /** others选填,使用axios发请求,*/
3
+ request: {
4
+ url: string;
5
+ params: Function | Object;
6
+ others?: Object;
7
+ };
8
+ /** BsSulaQueryTable的tableRef*/
9
+ tableRef: any;
5
10
  }
6
- declare const ExportIcon: ({ params, url, otherParams }: exportIconType) => JSX.Element;
11
+ declare const ExportIcon: ({ request, tableRef }: exportIconType) => JSX.Element;
7
12
  export default ExportIcon;
package/dist/index.esm.js CHANGED
@@ -3,7 +3,7 @@ import React, { createContext, useContext, useEffect, forwardRef, createElement,
3
3
  import { message, Menu, Space, Dropdown, Tooltip, Button, Checkbox, Input, Modal, Select, Form, Divider, Spin, Table, TreeSelect, Tag, InputNumber, Popover } from 'antd';
4
4
  import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
5
5
  import classNames from 'classnames';
6
- import _ from 'lodash';
6
+ import _, { omit } from 'lodash';
7
7
  import { useDebounceFn } from 'ahooks';
8
8
  import { stringify } from 'querystring';
9
9
  import { Resizable } from 'react-resizable';
@@ -413,6 +413,16 @@ function _regeneratorRuntime() {
413
413
  }, exports;
414
414
  }
415
415
 
416
+ function _typeof(obj) {
417
+ "@babel/helpers - typeof";
418
+
419
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
420
+ return typeof obj;
421
+ } : function (obj) {
422
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
423
+ }, _typeof(obj);
424
+ }
425
+
416
426
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
417
427
  try {
418
428
  var info = gen[key](arg);
@@ -825,14 +835,14 @@ function _objectWithoutProperties$1(source, excluded) {
825
835
  return target;
826
836
  }
827
837
 
828
- function _typeof(obj) {
838
+ function _typeof$1(obj) {
829
839
  "@babel/helpers - typeof";
830
840
 
831
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
841
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
832
842
  return typeof obj;
833
843
  } : function (obj) {
834
844
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
835
- }, _typeof(obj);
845
+ }, _typeof$1(obj);
836
846
  }
837
847
 
838
848
  /**
@@ -1737,7 +1747,7 @@ function warning$1(valid, message) {
1737
1747
  warningOnce(valid, "[@ant-design/icons] ".concat(message));
1738
1748
  }
1739
1749
  function isIconDefinition(target) {
1740
- return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');
1750
+ return _typeof$1(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof$1(target.icon) === 'object' || typeof target.icon === 'function');
1741
1751
  }
1742
1752
  function normalizeAttrs() {
1743
1753
  var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -8983,9 +8993,11 @@ GuideWrapper.Field = Field;
8983
8993
  var exportlogo = "data:image/png;base64,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";
8984
8994
 
8985
8995
  var ExportIcon = function ExportIcon(_ref) {
8986
- var params = _ref.params,
8987
- url = _ref.url,
8988
- otherParams = _ref.otherParams;
8996
+ var request = _ref.request,
8997
+ tableRef = _ref.tableRef;
8998
+ var url = request.url,
8999
+ params = request.params,
9000
+ others = request.others;
8989
9001
  return /*#__PURE__*/React.createElement("div", {
8990
9002
  style: {
8991
9003
  cursor: 'pointer'
@@ -8996,11 +9008,29 @@ var ExportIcon = function ExportIcon(_ref) {
8996
9008
  width: 32,
8997
9009
  src: exportlogo,
8998
9010
  onClick: function onClick() {
9011
+ var _tableRef$current, _convertedParams$sele, _convertedParams$sele2;
9012
+
9013
+ var convertedParams = tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.getExportParams();
9014
+ var requestData;
9015
+
9016
+ if (typeof params === 'function') {
9017
+ requestData = _objectSpread2({}, omit(params(convertedParams), 'selectedRows'));
9018
+ } else if (_typeof(params) === 'object') {
9019
+ requestData = _objectSpread2({}, params);
9020
+ }
9021
+
9022
+ if (!params) {
9023
+ requestData = omit(convertedParams, 'selectedRows');
9024
+ }
9025
+
9026
+ requestData['qp-id-in'] = convertedParams === null || convertedParams === void 0 ? void 0 : (_convertedParams$sele = convertedParams.selectedRows) === null || _convertedParams$sele === void 0 ? void 0 : (_convertedParams$sele2 = _convertedParams$sele.map(function (d) {
9027
+ return d.id;
9028
+ })) === null || _convertedParams$sele2 === void 0 ? void 0 : _convertedParams$sele2.join(',');
8999
9029
  axios(_objectSpread2({
9000
9030
  url: url,
9001
9031
  method: 'POST',
9002
- data: (params === null || params === void 0 ? void 0 : params.current) || (typeof params == 'function' ? params() : params)
9003
- }, otherParams)).then(function (result) {
9032
+ data: requestData
9033
+ }, others)).then(function (result) {
9004
9034
  result = result.data;
9005
9035
 
9006
9036
  if (result.code !== '000000') {
package/dist/index.js CHANGED
@@ -424,6 +424,16 @@ function _regeneratorRuntime() {
424
424
  }, exports;
425
425
  }
426
426
 
427
+ function _typeof(obj) {
428
+ "@babel/helpers - typeof";
429
+
430
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
431
+ return typeof obj;
432
+ } : function (obj) {
433
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
434
+ }, _typeof(obj);
435
+ }
436
+
427
437
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
428
438
  try {
429
439
  var info = gen[key](arg);
@@ -836,14 +846,14 @@ function _objectWithoutProperties$1(source, excluded) {
836
846
  return target;
837
847
  }
838
848
 
839
- function _typeof(obj) {
849
+ function _typeof$1(obj) {
840
850
  "@babel/helpers - typeof";
841
851
 
842
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
852
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
843
853
  return typeof obj;
844
854
  } : function (obj) {
845
855
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
846
- }, _typeof(obj);
856
+ }, _typeof$1(obj);
847
857
  }
848
858
 
849
859
  /**
@@ -1748,7 +1758,7 @@ function warning$1(valid, message) {
1748
1758
  warningOnce(valid, "[@ant-design/icons] ".concat(message));
1749
1759
  }
1750
1760
  function isIconDefinition(target) {
1751
- return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');
1761
+ return _typeof$1(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof$1(target.icon) === 'object' || typeof target.icon === 'function');
1752
1762
  }
1753
1763
  function normalizeAttrs() {
1754
1764
  var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -8994,9 +9004,11 @@ GuideWrapper.Field = Field;
8994
9004
  var exportlogo = "data:image/png;base64,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";
8995
9005
 
8996
9006
  var ExportIcon = function ExportIcon(_ref) {
8997
- var params = _ref.params,
8998
- url = _ref.url,
8999
- otherParams = _ref.otherParams;
9007
+ var request = _ref.request,
9008
+ tableRef = _ref.tableRef;
9009
+ var url = request.url,
9010
+ params = request.params,
9011
+ others = request.others;
9000
9012
  return /*#__PURE__*/React__default['default'].createElement("div", {
9001
9013
  style: {
9002
9014
  cursor: 'pointer'
@@ -9007,11 +9019,29 @@ var ExportIcon = function ExportIcon(_ref) {
9007
9019
  width: 32,
9008
9020
  src: exportlogo,
9009
9021
  onClick: function onClick() {
9022
+ var _tableRef$current, _convertedParams$sele, _convertedParams$sele2;
9023
+
9024
+ var convertedParams = tableRef === null || tableRef === void 0 ? void 0 : (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.getExportParams();
9025
+ var requestData;
9026
+
9027
+ if (typeof params === 'function') {
9028
+ requestData = _objectSpread2({}, _.omit(params(convertedParams), 'selectedRows'));
9029
+ } else if (_typeof(params) === 'object') {
9030
+ requestData = _objectSpread2({}, params);
9031
+ }
9032
+
9033
+ if (!params) {
9034
+ requestData = _.omit(convertedParams, 'selectedRows');
9035
+ }
9036
+
9037
+ requestData['qp-id-in'] = convertedParams === null || convertedParams === void 0 ? void 0 : (_convertedParams$sele = convertedParams.selectedRows) === null || _convertedParams$sele === void 0 ? void 0 : (_convertedParams$sele2 = _convertedParams$sele.map(function (d) {
9038
+ return d.id;
9039
+ })) === null || _convertedParams$sele2 === void 0 ? void 0 : _convertedParams$sele2.join(',');
9010
9040
  axios__default['default'](_objectSpread2({
9011
9041
  url: url,
9012
9042
  method: 'POST',
9013
- data: (params === null || params === void 0 ? void 0 : params.current) || (typeof params == 'function' ? params() : params)
9014
- }, otherParams)).then(function (result) {
9043
+ data: requestData
9044
+ }, others)).then(function (result) {
9015
9045
  result = result.data;
9016
9046
 
9017
9047
  if (result.code !== '000000') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-sun/business-component",
3
- "version": "2.0.20",
3
+ "version": "2.0.21",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: 导出按钮
3
+ order: 5
4
+ nav:
5
+ title: 组件
6
+ order: 1
7
+ group:
8
+ path: /components/functional
9
+ order: 0
10
+ title: 功能组件
11
+ ---
12
+
13
+ ## ExportIcon
14
+
15
+ 导出按钮demo
16
+
17
+ ```tsx
18
+ import React, { useState, useRef } from 'react';
19
+ import {ExportIcon} from '../../../../index';
20
+
21
+
22
+
23
+ export default () => {
24
+
25
+ const tableRef = useRef()
26
+
27
+ return (
28
+ <div>
29
+ <ExportIcon request={{url:'abc'}} tableRef={tableRef}/>
30
+ </div>
31
+ );
32
+ };
33
+ ```
34
+
35
+ <API></API>
36
+
37
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -2,26 +2,44 @@ import React, {Ref} from 'react'
2
2
  import {message, Popconfirm, Tooltip} from "antd";
3
3
  import axios from 'axios'
4
4
  import exportlogo from '../../../../assets/exportlogo.png'
5
-
5
+ import {omit} from 'lodash'
6
6
  interface exportIconType{
7
- url: string,
8
- params: any,
9
- otherParams?: any
7
+ /** others选填,使用axios发请求,*/
8
+ request:{
9
+ url: string,
10
+ params: Function | Object,
11
+ others?: Object
12
+ },
13
+ /** BsSulaQueryTable的tableRef*/
14
+ tableRef: any,
10
15
  }
11
16
 
12
- const ExportIcon = ({params, url, otherParams}: exportIconType) => {
13
-
17
+ const ExportIcon = ({request, tableRef}: exportIconType) => {
18
+ const {url, params, others} = request
14
19
 
15
20
  return (
16
21
  <div style={{ cursor: 'pointer' }}>
17
22
  <Tooltip title="导出数据">
18
23
  <img width={32} src={exportlogo} onClick={() =>{
24
+ const convertedParams = tableRef?.current?.getExportParams()
25
+ let requestData: any
26
+
27
+ if(typeof params === 'function'){
28
+ requestData = {...omit(params(convertedParams),'selectedRows')}
29
+ }else if(typeof params === 'object'){
30
+ requestData = {...params}
31
+ }
32
+ if(!params){
33
+ requestData = omit(convertedParams, 'selectedRows')
34
+ }
35
+
36
+ requestData['qp-id-in'] = convertedParams?.selectedRows?.map((d: any) => d.id)?.join(',')
19
37
 
20
38
  axios({
21
39
  url,
22
40
  method:'POST',
23
- data:params?.current || (typeof params == 'function' ? params() : params),
24
- ...otherParams,
41
+ data:requestData,
42
+ ...others,
25
43
  })
26
44
  .then((result: any) => {
27
45
  result = result.data;