@bit-sun/business-component 3.1.0-alpha.2 → 3.1.0-alpha.4

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.
package/dist/index.esm.js CHANGED
@@ -13398,7 +13398,7 @@ var getDetailMatchRoute = function getDetailMatchRoute(path, routeObj, hideRoute
13398
13398
  return undefined;
13399
13399
  };
13400
13400
 
13401
- var css_248z$c = ".detail_page_head {\n height: 54px;\n position: fixed;\n z-index: 5;\n display: flex;\n align-items: center;\n background-color: #FFFFFF;\n border-bottom: 1px solid #f0f0f0;\n}\n.detail_page_head .ant-breadcrumb {\n display: block !important;\n}\n.detail_page_head .ant-breadcrumb .ant-breadcrumb-separator {\n margin: 0 2px;\n}\n.detail_page_head .ant-breadcrumb li .bread_name {\n color: #8A8F8D;\n font-size: 12px;\n cursor: pointer;\n}\n.detail_page_head .ant-breadcrumb li .bread_name:hover {\n color: #000000d9;\n}\n.detail_page_wrapper {\n height: calc(100vh - 80px);\n background-color: #FFF;\n}\n.back_home_img_content {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: 1px solid #BABABA;\n margin: 0 12px 0 20px;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.back_home_img_content .anticon-arrow-left {\n color: #BABABA;\n}\n.back_home_img_content:hover {\n background-color: #005CFF;\n border: 1px solid #005CFF;\n}\n.back_home_img_content:hover .anticon-arrow-left {\n color: #FFFFFF;\n}\n.detail_page_title_box {\n flex-grow: 1;\n}\n.detail_page_title {\n height: 20px;\n font-family: PingFangSC;\n font-weight: 600;\n font-size: 16px;\n margin-top: 2px;\n color: #000000;\n letter-spacing: 0;\n line-height: 20px;\n}\n.detail_page_btns {\n display: flex;\n gap: 8px;\n margin-right: 20px;\n}\n.detail_page_btns button {\n height: 32px !important;\n display: flex;\n align-items: center;\n gap: 2px;\n border-radius: 3px;\n padding: 0 10px;\n}\n.detail_page_btns .ant-btn-dangerous {\n background-color: #EC5246 !important;\n}\n";
13401
+ var css_248z$c = ".detail_page_head {\n height: 54px;\n z-index: 5;\n display: flex;\n align-items: center;\n background-color: #FFFFFF;\n border-bottom: 1px solid #f0f0f0;\n}\n.detail_page_head .ant-breadcrumb {\n display: block !important;\n}\n.detail_page_head .ant-breadcrumb .ant-breadcrumb-separator {\n margin: 0 2px;\n}\n.detail_page_head .ant-breadcrumb li .bread_name {\n color: #8A8F8D;\n font-size: 12px;\n cursor: pointer;\n}\n.detail_page_head .ant-breadcrumb li .bread_name:hover {\n color: #000000d9;\n}\n.detail_page_wrapper {\n height: calc(100vh - 80px);\n background-color: #FFF;\n}\n.back_home_img_content {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: 1px solid #BABABA;\n margin: 0 12px 0 20px;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.back_home_img_content .anticon-arrow-left {\n color: #BABABA;\n}\n.back_home_img_content:hover {\n background-color: #005CFF;\n border: 1px solid #005CFF;\n}\n.back_home_img_content:hover .anticon-arrow-left {\n color: #FFFFFF;\n}\n.detail_page_title_box {\n flex-grow: 1;\n}\n.detail_page_title {\n height: 20px;\n font-family: PingFangSC;\n font-weight: 600;\n font-size: 16px;\n margin-top: 2px;\n color: #000000;\n letter-spacing: 0;\n line-height: 20px;\n}\n.detail_page_btns {\n display: flex;\n gap: 8px;\n margin-right: 20px;\n}\n.detail_page_btns button {\n height: 32px !important;\n display: flex;\n align-items: center;\n gap: 2px;\n border-radius: 3px;\n padding: 0 10px;\n}\n.detail_page_btns .ant-btn-dangerous {\n background-color: #EC5246 !important;\n}\n";
13402
13402
  styleInject(css_248z$c);
13403
13403
 
13404
13404
  var quanping = "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20width%3D%2234px%22%20height%3D%2234px%22%20viewBox%3D%220%200%2034%2034%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%20%20%20%20%3Ctitle%3E%E7%9F%A9%E5%BD%A2%3C%2Ftitle%3E%20%20%20%20%3Cg%20id%3D%22%E5%88%97%E8%A1%A8%E5%8A%9F%E8%83%BD%22%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E6%98%9F%E6%BE%9C-%E6%90%9C%E7%B4%A2-%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD%22%20transform%3D%22translate%28-1823.000000%2C%20-297.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E6%90%9C%E7%B4%A2%E7%BB%84%E4%BB%B6-%E6%A0%B7%E5%BC%8F%E4%B8%80%22%20transform%3D%22translate%28230.000000%2C%20284.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E7%A1%AE%E5%AE%9A%E5%A4%87%E4%BB%BD-2%22%20transform%3D%22translate%281593.000000%2C%2013.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M5.55801813%2C1%20L28.4419819%2C1%20C30.0269041%2C1%2030.6016352%2C1.16502331%2031.181059%2C1.47490258%20C31.7604829%2C1.78478186%2032.2152181%2C2.2395171%2032.5250974%2C2.81894097%20C32.8349767%2C3.39836484%2033%2C3.97309593%2033%2C5.55801813%20L33%2C28.4419819%20C33%2C30.0269041%2032.8349767%2C30.6016352%2032.5250974%2C31.181059%20C32.2152181%2C31.7604829%2031.7604829%2C32.2152181%2031.181059%2C32.5250974%20C30.6016352%2C32.8349767%2030.0269041%2C33%2028.4419819%2C33%20L5.55801813%2C33%20C3.97309593%2C33%203.39836484%2C32.8349767%202.81894097%2C32.5250974%20C2.2395171%2C32.2152181%201.78478186%2C31.7604829%201.47490258%2C31.181059%20C1.16502331%2C30.6016352%201%2C30.0269041%201%2C28.4419819%20L1%2C5.55801813%20C1%2C3.97309593%201.16502331%2C3.39836484%201.47490258%2C2.81894097%20C1.78478186%2C2.2395171%202.2395171%2C1.78478186%202.81894097%2C1.47490258%20C3.39836484%2C1.16502331%203.97309593%2C1%205.55801813%2C1%20Z%22%20id%3D%22%E7%9F%A9%E5%BD%A2%22%20stroke%3D%22%23D9D9D9%22%20stroke-width%3D%220.888888889%22%3E%3C%2Fpath%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22scanning%22%20transform%3D%22translate%289.000000%2C%209.000000%29%22%20fill%3D%22%23000000%22%20fill-rule%3D%22nonzero%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M5.21873562%2C9.69278114%20L6.28954184%2C10.7432953%20L2.532%2C14.5%20L5.24949999%2C14.5%20L5.24949999%2C16%20L1.5%2C16%20C0.671572876%2C16%200%2C15.3284271%200%2C14.5%20L0%2C11%20L1.5%2C11%20L1.5%2C13.41%20L5.21873562%2C9.69278114%20Z%20M10.7898541%2C9.72266777%20L14.499%2C13.431%20L14.5%2C11%20L16%2C11%20L16%2C14.5%20C16%2C15.3284271%2015.3284271%2C16%2014.5%2C16%20L10.7495%2C16%20L10.7495%2C14.5%20L13.446%2C14.5%20L9.71904783%2C10.7731819%20L10.7898541%2C9.72266777%20Z%20M14.5%2C0%20C15.3284271%2C0%2016%2C0.671572876%2016%2C1.5%20L16%2C5%20L14.5%2C5%20L14.499%2C2.588%20L10.779708%2C6.3074783%20L9.71904783%2C5.24681813%20L13.465%2C1.5%20L10.75%2C1.5%20L10.75%2C0%20L14.5%2C0%20Z%20M5.25000001%2C0%20L5.25000001%2C1.5%20L2.567%2C1.5%20L6.31400442%2C5.24681813%20L5.25334424%2C6.3074783%20L1.5%2C2.554%20L1.5%2C5%20L0%2C5%20L0%2C1.5%20C0%2C0.671572876%200.671572876%2C0%201.5%2C0%20L5.25000001%2C0%20Z%22%20id%3D%22%E5%BD%A2%E7%8A%B6%22%3E%3C%2Fpath%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%3C%2Fg%3E%3C%2Fsvg%3E";
@@ -15071,6 +15071,41 @@ var ResizeableTitle$2 = function ResizeableTitle(props) {
15071
15071
  }
15072
15072
  }, /*#__PURE__*/React$1.createElement("th", _objectSpread2({}, restProps)));
15073
15073
  };
15074
+ var getSettingFieldOrColumn = function getSettingFieldOrColumn(savedConfig, originConfig, type) {
15075
+ var isStringArray = function isStringArray(value) {
15076
+ return Array.isArray(value) && value.every(function (v) {
15077
+ return typeof v === 'string';
15078
+ });
15079
+ };
15080
+ var getItemKey = function getItemKey(config, type) {
15081
+ try {
15082
+ if (type === 'columns') {
15083
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
15084
+ }
15085
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
15086
+ } catch (e) {}
15087
+ return '';
15088
+ };
15089
+ var newConfig = [];
15090
+ if (savedConfig.length) {
15091
+ var hash = originConfig.reduce(function (prev, inneritem) {
15092
+ prev[getItemKey(inneritem, type)] = inneritem;
15093
+ return prev;
15094
+ }, {});
15095
+ savedConfig.forEach(function (config, index) {
15096
+ var inner = hash[getItemKey(config, type)];
15097
+ inner && newConfig.push(_objectSpread2(_objectSpread2({}, inner), config));
15098
+ });
15099
+ }
15100
+ if (newConfig.length) return newConfig;
15101
+ if (type === 'columns') {
15102
+ return originConfig.filter(function (column) {
15103
+ var columnKey = getItemKey(column, type);
15104
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15105
+ });
15106
+ }
15107
+ return _toConsumableArray(originConfig);
15108
+ };
15074
15109
  var BsSulaQueryTable = (function (props) {
15075
15110
  var _props$expandable, _value$exportConfig7;
15076
15111
  var bsTableCode = (props === null || props === void 0 ? void 0 : props.tableCode) || window.location.hash; //设置列字段的唯一标识
@@ -15086,21 +15121,6 @@ var BsSulaQueryTable = (function (props) {
15086
15121
  }
15087
15122
  return [];
15088
15123
  };
15089
- var getInitialSearchFieldsInfo = function getInitialSearchFieldsInfo() {
15090
- //获取搜索字段的缓存配置
15091
- var _props$fields = props.fields,
15092
- fields = _props$fields === void 0 ? [] : _props$fields;
15093
- var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15094
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15095
- var inner = fields.filter(function (inneritem) {
15096
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15097
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15098
- return innerKey && innerKey === itemKey;
15099
- })[0];
15100
- return _objectSpread2(_objectSpread2({}, inner), item);
15101
- }) : fields;
15102
- return _toConsumableArray(showSearchFields);
15103
- };
15104
15124
  var refs = useRef(null);
15105
15125
  var _useState = useState(''),
15106
15126
  _useState2 = _slicedToArray(_useState, 2),
@@ -15124,11 +15144,13 @@ var BsSulaQueryTable = (function (props) {
15124
15144
  setIsFnllScreen = _useState4[1];
15125
15145
  // @ts-nocheck
15126
15146
  var value = props;
15147
+ var _props$fields = props.fields,
15148
+ fields = _props$fields === void 0 ? [] : _props$fields;
15127
15149
  var _useState5 = useState([]),
15128
15150
  _useState6 = _slicedToArray(_useState5, 2),
15129
15151
  showColumn = _useState6[0],
15130
15152
  setShowColumns = _useState6[1]; // 列字段
15131
- var originSearchFields = getInitialSearchFieldsInfo();
15153
+ var originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
15132
15154
  var _useState7 = useState(originSearchFields),
15133
15155
  _useState8 = _slicedToArray(_useState7, 2),
15134
15156
  showSearchFields = _useState8[0],
@@ -15221,44 +15243,11 @@ var BsSulaQueryTable = (function (props) {
15221
15243
  }
15222
15244
  var columns = props.columns;
15223
15245
  var columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
15224
- var isStringArray = function isStringArray(value) {
15225
- return Array.isArray(value) && value.every(function (v) {
15226
- return typeof v === 'string';
15227
- });
15228
- };
15229
- var getColumnKey = function getColumnKey(column) {
15230
- if (isStringArray(column.key)) {
15231
- return JSON.stringify(column.key);
15232
- } else if (isStringArray(column.dataIndex)) {
15233
- return JSON.stringify(column.dataIndex);
15234
- } else {
15235
- return column.key || column.dataIndex || '';
15236
- }
15237
- };
15238
15246
  var parseWidth = function parseWidth(widthStr) {
15239
15247
  var parsedWidth = parseInt(widthStr.replace('px', ''));
15240
15248
  return isNaN(parsedWidth) ? 0 : parsedWidth;
15241
15249
  };
15242
- // 优化column key发生改变与原key不一致时产生的bug
15243
- var getShowColumns = function getShowColumns(columnConfig) {
15244
- var cols = [];
15245
- if (columnConfig.length) {
15246
- columnConfig.forEach(function (config, index) {
15247
- var hash = columns.reduce(function (prev, inneritem) {
15248
- prev[getColumnKey(inneritem)] = inneritem;
15249
- return prev;
15250
- }, {});
15251
- var inner = hash[getColumnKey(config)];
15252
- inner && cols.push(_objectSpread2(_objectSpread2({}, inner), config));
15253
- });
15254
- }
15255
- if (cols.length) return cols;
15256
- return columns.filter(function (column) {
15257
- var columnKey = getColumnKey(column);
15258
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15259
- });
15260
- };
15261
- var showColumns = getShowColumns(columnConfig);
15250
+ var showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
15262
15251
  showColumns.forEach(function (item, index) {
15263
15252
  item.width = item.width || getItemDefaultWidth(item);
15264
15253
  handleBssulaColumnsSpecialParams(item);
@@ -15271,7 +15260,7 @@ var BsSulaQueryTable = (function (props) {
15271
15260
  });
15272
15261
  setShowColumns(_toConsumableArray(showColumns));
15273
15262
  var exportColumnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION, bsTableCodeExport);
15274
- var showExportColumns = getShowColumns(exportColumnConfig);
15263
+ var showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
15275
15264
  showExportColumns.forEach(function (item, index) {
15276
15265
  item.width = item.width || getItemDefaultWidth(item);
15277
15266
  handleBssulaColumnsSpecialParams(item);
@@ -15289,14 +15278,7 @@ var BsSulaQueryTable = (function (props) {
15289
15278
  var _props$fields2 = props.fields,
15290
15279
  fields = _props$fields2 === void 0 ? [] : _props$fields2;
15291
15280
  var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15292
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15293
- var inner = fields.filter(function (inneritem) {
15294
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15295
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15296
- return innerKey && innerKey === itemKey;
15297
- })[0];
15298
- return _objectSpread2(_objectSpread2({}, inner), item);
15299
- }) : fields;
15281
+ var showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
15300
15282
  setShowSearchFields(_toConsumableArray(showSearchFields));
15301
15283
  };
15302
15284
  //组件初始挂载
package/dist/index.js CHANGED
@@ -13421,7 +13421,7 @@ var getDetailMatchRoute = function getDetailMatchRoute(path, routeObj, hideRoute
13421
13421
  return undefined;
13422
13422
  };
13423
13423
 
13424
- var css_248z$c = ".detail_page_head {\n height: 54px;\n position: fixed;\n z-index: 5;\n display: flex;\n align-items: center;\n background-color: #FFFFFF;\n border-bottom: 1px solid #f0f0f0;\n}\n.detail_page_head .ant-breadcrumb {\n display: block !important;\n}\n.detail_page_head .ant-breadcrumb .ant-breadcrumb-separator {\n margin: 0 2px;\n}\n.detail_page_head .ant-breadcrumb li .bread_name {\n color: #8A8F8D;\n font-size: 12px;\n cursor: pointer;\n}\n.detail_page_head .ant-breadcrumb li .bread_name:hover {\n color: #000000d9;\n}\n.detail_page_wrapper {\n height: calc(100vh - 80px);\n background-color: #FFF;\n}\n.back_home_img_content {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: 1px solid #BABABA;\n margin: 0 12px 0 20px;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.back_home_img_content .anticon-arrow-left {\n color: #BABABA;\n}\n.back_home_img_content:hover {\n background-color: #005CFF;\n border: 1px solid #005CFF;\n}\n.back_home_img_content:hover .anticon-arrow-left {\n color: #FFFFFF;\n}\n.detail_page_title_box {\n flex-grow: 1;\n}\n.detail_page_title {\n height: 20px;\n font-family: PingFangSC;\n font-weight: 600;\n font-size: 16px;\n margin-top: 2px;\n color: #000000;\n letter-spacing: 0;\n line-height: 20px;\n}\n.detail_page_btns {\n display: flex;\n gap: 8px;\n margin-right: 20px;\n}\n.detail_page_btns button {\n height: 32px !important;\n display: flex;\n align-items: center;\n gap: 2px;\n border-radius: 3px;\n padding: 0 10px;\n}\n.detail_page_btns .ant-btn-dangerous {\n background-color: #EC5246 !important;\n}\n";
13424
+ var css_248z$c = ".detail_page_head {\n height: 54px;\n z-index: 5;\n display: flex;\n align-items: center;\n background-color: #FFFFFF;\n border-bottom: 1px solid #f0f0f0;\n}\n.detail_page_head .ant-breadcrumb {\n display: block !important;\n}\n.detail_page_head .ant-breadcrumb .ant-breadcrumb-separator {\n margin: 0 2px;\n}\n.detail_page_head .ant-breadcrumb li .bread_name {\n color: #8A8F8D;\n font-size: 12px;\n cursor: pointer;\n}\n.detail_page_head .ant-breadcrumb li .bread_name:hover {\n color: #000000d9;\n}\n.detail_page_wrapper {\n height: calc(100vh - 80px);\n background-color: #FFF;\n}\n.back_home_img_content {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: 1px solid #BABABA;\n margin: 0 12px 0 20px;\n border-radius: 14px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.back_home_img_content .anticon-arrow-left {\n color: #BABABA;\n}\n.back_home_img_content:hover {\n background-color: #005CFF;\n border: 1px solid #005CFF;\n}\n.back_home_img_content:hover .anticon-arrow-left {\n color: #FFFFFF;\n}\n.detail_page_title_box {\n flex-grow: 1;\n}\n.detail_page_title {\n height: 20px;\n font-family: PingFangSC;\n font-weight: 600;\n font-size: 16px;\n margin-top: 2px;\n color: #000000;\n letter-spacing: 0;\n line-height: 20px;\n}\n.detail_page_btns {\n display: flex;\n gap: 8px;\n margin-right: 20px;\n}\n.detail_page_btns button {\n height: 32px !important;\n display: flex;\n align-items: center;\n gap: 2px;\n border-radius: 3px;\n padding: 0 10px;\n}\n.detail_page_btns .ant-btn-dangerous {\n background-color: #EC5246 !important;\n}\n";
13425
13425
  styleInject(css_248z$c);
13426
13426
 
13427
13427
  var quanping = "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20width%3D%2234px%22%20height%3D%2234px%22%20viewBox%3D%220%200%2034%2034%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%20%20%20%20%3Ctitle%3E%E7%9F%A9%E5%BD%A2%3C%2Ftitle%3E%20%20%20%20%3Cg%20id%3D%22%E5%88%97%E8%A1%A8%E5%8A%9F%E8%83%BD%22%20stroke%3D%22none%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E6%98%9F%E6%BE%9C-%E6%90%9C%E7%B4%A2-%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD%22%20transform%3D%22translate%28-1823.000000%2C%20-297.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E6%90%9C%E7%B4%A2%E7%BB%84%E4%BB%B6-%E6%A0%B7%E5%BC%8F%E4%B8%80%22%20transform%3D%22translate%28230.000000%2C%20284.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22%E7%A1%AE%E5%AE%9A%E5%A4%87%E4%BB%BD-2%22%20transform%3D%22translate%281593.000000%2C%2013.000000%29%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M5.55801813%2C1%20L28.4419819%2C1%20C30.0269041%2C1%2030.6016352%2C1.16502331%2031.181059%2C1.47490258%20C31.7604829%2C1.78478186%2032.2152181%2C2.2395171%2032.5250974%2C2.81894097%20C32.8349767%2C3.39836484%2033%2C3.97309593%2033%2C5.55801813%20L33%2C28.4419819%20C33%2C30.0269041%2032.8349767%2C30.6016352%2032.5250974%2C31.181059%20C32.2152181%2C31.7604829%2031.7604829%2C32.2152181%2031.181059%2C32.5250974%20C30.6016352%2C32.8349767%2030.0269041%2C33%2028.4419819%2C33%20L5.55801813%2C33%20C3.97309593%2C33%203.39836484%2C32.8349767%202.81894097%2C32.5250974%20C2.2395171%2C32.2152181%201.78478186%2C31.7604829%201.47490258%2C31.181059%20C1.16502331%2C30.6016352%201%2C30.0269041%201%2C28.4419819%20L1%2C5.55801813%20C1%2C3.97309593%201.16502331%2C3.39836484%201.47490258%2C2.81894097%20C1.78478186%2C2.2395171%202.2395171%2C1.78478186%202.81894097%2C1.47490258%20C3.39836484%2C1.16502331%203.97309593%2C1%205.55801813%2C1%20Z%22%20id%3D%22%E7%9F%A9%E5%BD%A2%22%20stroke%3D%22%23D9D9D9%22%20stroke-width%3D%220.888888889%22%3E%3C%2Fpath%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20id%3D%22scanning%22%20transform%3D%22translate%289.000000%2C%209.000000%29%22%20fill%3D%22%23000000%22%20fill-rule%3D%22nonzero%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M5.21873562%2C9.69278114%20L6.28954184%2C10.7432953%20L2.532%2C14.5%20L5.24949999%2C14.5%20L5.24949999%2C16%20L1.5%2C16%20C0.671572876%2C16%200%2C15.3284271%200%2C14.5%20L0%2C11%20L1.5%2C11%20L1.5%2C13.41%20L5.21873562%2C9.69278114%20Z%20M10.7898541%2C9.72266777%20L14.499%2C13.431%20L14.5%2C11%20L16%2C11%20L16%2C14.5%20C16%2C15.3284271%2015.3284271%2C16%2014.5%2C16%20L10.7495%2C16%20L10.7495%2C14.5%20L13.446%2C14.5%20L9.71904783%2C10.7731819%20L10.7898541%2C9.72266777%20Z%20M14.5%2C0%20C15.3284271%2C0%2016%2C0.671572876%2016%2C1.5%20L16%2C5%20L14.5%2C5%20L14.499%2C2.588%20L10.779708%2C6.3074783%20L9.71904783%2C5.24681813%20L13.465%2C1.5%20L10.75%2C1.5%20L10.75%2C0%20L14.5%2C0%20Z%20M5.25000001%2C0%20L5.25000001%2C1.5%20L2.567%2C1.5%20L6.31400442%2C5.24681813%20L5.25334424%2C6.3074783%20L1.5%2C2.554%20L1.5%2C5%20L0%2C5%20L0%2C1.5%20C0%2C0.671572876%200.671572876%2C0%201.5%2C0%20L5.25000001%2C0%20Z%22%20id%3D%22%E5%BD%A2%E7%8A%B6%22%3E%3C%2Fpath%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%20%20%20%20%3C%2Fg%3E%20%20%20%20%3C%2Fg%3E%3C%2Fsvg%3E";
@@ -15094,6 +15094,41 @@ var ResizeableTitle$2 = function ResizeableTitle(props) {
15094
15094
  }
15095
15095
  }, /*#__PURE__*/React__default['default'].createElement("th", _objectSpread2({}, restProps)));
15096
15096
  };
15097
+ var getSettingFieldOrColumn = function getSettingFieldOrColumn(savedConfig, originConfig, type) {
15098
+ var isStringArray = function isStringArray(value) {
15099
+ return Array.isArray(value) && value.every(function (v) {
15100
+ return typeof v === 'string';
15101
+ });
15102
+ };
15103
+ var getItemKey = function getItemKey(config, type) {
15104
+ try {
15105
+ if (type === 'columns') {
15106
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
15107
+ }
15108
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
15109
+ } catch (e) {}
15110
+ return '';
15111
+ };
15112
+ var newConfig = [];
15113
+ if (savedConfig.length) {
15114
+ var hash = originConfig.reduce(function (prev, inneritem) {
15115
+ prev[getItemKey(inneritem, type)] = inneritem;
15116
+ return prev;
15117
+ }, {});
15118
+ savedConfig.forEach(function (config, index) {
15119
+ var inner = hash[getItemKey(config, type)];
15120
+ inner && newConfig.push(_objectSpread2(_objectSpread2({}, inner), config));
15121
+ });
15122
+ }
15123
+ if (newConfig.length) return newConfig;
15124
+ if (type === 'columns') {
15125
+ return originConfig.filter(function (column) {
15126
+ var columnKey = getItemKey(column, type);
15127
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15128
+ });
15129
+ }
15130
+ return _toConsumableArray(originConfig);
15131
+ };
15097
15132
  var BsSulaQueryTable = (function (props) {
15098
15133
  var _props$expandable, _value$exportConfig7;
15099
15134
  var bsTableCode = (props === null || props === void 0 ? void 0 : props.tableCode) || window.location.hash; //设置列字段的唯一标识
@@ -15109,21 +15144,6 @@ var BsSulaQueryTable = (function (props) {
15109
15144
  }
15110
15145
  return [];
15111
15146
  };
15112
- var getInitialSearchFieldsInfo = function getInitialSearchFieldsInfo() {
15113
- //获取搜索字段的缓存配置
15114
- var _props$fields = props.fields,
15115
- fields = _props$fields === void 0 ? [] : _props$fields;
15116
- var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15117
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15118
- var inner = fields.filter(function (inneritem) {
15119
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15120
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15121
- return innerKey && innerKey === itemKey;
15122
- })[0];
15123
- return _objectSpread2(_objectSpread2({}, inner), item);
15124
- }) : fields;
15125
- return _toConsumableArray(showSearchFields);
15126
- };
15127
15147
  var refs = React$1.useRef(null);
15128
15148
  var _useState = React$1.useState(''),
15129
15149
  _useState2 = _slicedToArray(_useState, 2),
@@ -15147,11 +15167,13 @@ var BsSulaQueryTable = (function (props) {
15147
15167
  setIsFnllScreen = _useState4[1];
15148
15168
  // @ts-nocheck
15149
15169
  var value = props;
15170
+ var _props$fields = props.fields,
15171
+ fields = _props$fields === void 0 ? [] : _props$fields;
15150
15172
  var _useState5 = React$1.useState([]),
15151
15173
  _useState6 = _slicedToArray(_useState5, 2),
15152
15174
  showColumn = _useState6[0],
15153
15175
  setShowColumns = _useState6[1]; // 列字段
15154
- var originSearchFields = getInitialSearchFieldsInfo();
15176
+ var originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
15155
15177
  var _useState7 = React$1.useState(originSearchFields),
15156
15178
  _useState8 = _slicedToArray(_useState7, 2),
15157
15179
  showSearchFields = _useState8[0],
@@ -15244,44 +15266,11 @@ var BsSulaQueryTable = (function (props) {
15244
15266
  }
15245
15267
  var columns = props.columns;
15246
15268
  var columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
15247
- var isStringArray = function isStringArray(value) {
15248
- return Array.isArray(value) && value.every(function (v) {
15249
- return typeof v === 'string';
15250
- });
15251
- };
15252
- var getColumnKey = function getColumnKey(column) {
15253
- if (isStringArray(column.key)) {
15254
- return JSON.stringify(column.key);
15255
- } else if (isStringArray(column.dataIndex)) {
15256
- return JSON.stringify(column.dataIndex);
15257
- } else {
15258
- return column.key || column.dataIndex || '';
15259
- }
15260
- };
15261
15269
  var parseWidth = function parseWidth(widthStr) {
15262
15270
  var parsedWidth = parseInt(widthStr.replace('px', ''));
15263
15271
  return isNaN(parsedWidth) ? 0 : parsedWidth;
15264
15272
  };
15265
- // 优化column key发生改变与原key不一致时产生的bug
15266
- var getShowColumns = function getShowColumns(columnConfig) {
15267
- var cols = [];
15268
- if (columnConfig.length) {
15269
- columnConfig.forEach(function (config, index) {
15270
- var hash = columns.reduce(function (prev, inneritem) {
15271
- prev[getColumnKey(inneritem)] = inneritem;
15272
- return prev;
15273
- }, {});
15274
- var inner = hash[getColumnKey(config)];
15275
- inner && cols.push(_objectSpread2(_objectSpread2({}, inner), config));
15276
- });
15277
- }
15278
- if (cols.length) return cols;
15279
- return columns.filter(function (column) {
15280
- var columnKey = getColumnKey(column);
15281
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
15282
- });
15283
- };
15284
- var showColumns = getShowColumns(columnConfig);
15273
+ var showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
15285
15274
  showColumns.forEach(function (item, index) {
15286
15275
  item.width = item.width || getItemDefaultWidth(item);
15287
15276
  handleBssulaColumnsSpecialParams(item);
@@ -15294,7 +15283,7 @@ var BsSulaQueryTable = (function (props) {
15294
15283
  });
15295
15284
  setShowColumns(_toConsumableArray(showColumns));
15296
15285
  var exportColumnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION, bsTableCodeExport);
15297
- var showExportColumns = getShowColumns(exportColumnConfig);
15286
+ var showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
15298
15287
  showExportColumns.forEach(function (item, index) {
15299
15288
  item.width = item.width || getItemDefaultWidth(item);
15300
15289
  handleBssulaColumnsSpecialParams(item);
@@ -15312,14 +15301,7 @@ var BsSulaQueryTable = (function (props) {
15312
15301
  var _props$fields2 = props.fields,
15313
15302
  fields = _props$fields2 === void 0 ? [] : _props$fields2;
15314
15303
  var searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
15315
- var showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map(function (item) {
15316
- var inner = fields.filter(function (inneritem) {
15317
- var innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
15318
- var itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
15319
- return innerKey && innerKey === itemKey;
15320
- })[0];
15321
- return _objectSpread2(_objectSpread2({}, inner), item);
15322
- }) : fields;
15304
+ var showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
15323
15305
  setShowSearchFields(_toConsumableArray(showSearchFields));
15324
15306
  };
15325
15307
  //组件初始挂载
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-sun/business-component",
3
- "version": "3.1.0-alpha.2",
3
+ "version": "3.1.0-alpha.4",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -32,6 +32,12 @@ interface Column {
32
32
  onHeaderCell?: (column: Column) => any; // 仅作示例,具体类型根据实际情况定义
33
33
  }
34
34
 
35
+ interface Field {
36
+ name: string;
37
+ label: string;
38
+ field: any;
39
+ }
40
+
35
41
  const MemoQueryTable = React.memo(QueryTable);
36
42
  const { Text } = Typography;
37
43
 
@@ -53,8 +59,54 @@ const ResizeableTitle = (props) => {
53
59
  );
54
60
  };
55
61
 
62
+ const getSettingFieldOrColumn = (savedConfig, originConfig, type: string) => {
63
+
64
+ const isStringArray = (value: any): value is string[] => {
65
+ return Array.isArray(value) && value.every(v => typeof v === 'string');
66
+ }
67
+
68
+ const getItemKey = (config: Column | Field, type: string): string => {
69
+ try {
70
+
71
+ if (type === 'columns') {
72
+ return isStringArray(config.key) ? JSON.stringify(config.key) : isStringArray(config.dataIndex) ? JSON.stringify(config.dataIndex) : config.key || config.dataIndex || '';
73
+ }
74
+ return isStringArray(config.name) ? JSON.stringify(config.name) : config.name || '';
75
+
76
+ } catch(e) {}
77
+
78
+ return '';
79
+ }
80
+
81
+ const newConfig = [];
82
+
83
+ if (savedConfig.length) {
84
+ const hash = originConfig.reduce((prev, inneritem) => {
85
+ prev[getItemKey(inneritem, type)] = inneritem;
86
+ return prev;
87
+ }, {} as { [key: string]: Column | Field });
88
+
89
+ savedConfig.forEach((config, index) => {
90
+ let inner = hash[getItemKey(config, type)];
91
+ inner && newConfig.push({ ...inner, ...config });
92
+ })
93
+ }
94
+
95
+ if (newConfig.length) return newConfig;
96
+
97
+ if (type === 'columns') {
98
+ return originConfig.filter(column => {
99
+ const columnKey = getItemKey(column, type);
100
+ return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
101
+ });
102
+ }
103
+
104
+ return [...originConfig];
105
+ }
106
+
56
107
  export default (props: any) => {
57
108
  const bsTableCode = props?.tableCode || window.location.hash; //设置列字段的唯一标识
109
+
58
110
  const getConfigFromlocalstorage = (type: string, tableCode:string = bsTableCode) => {
59
111
  let config = localStorage.getItem(type) || '[]';
60
112
  let configArray = JSON.parse(config);
@@ -67,26 +119,7 @@ export default (props: any) => {
67
119
  }
68
120
  return [];
69
121
  };
70
- const getInitialSearchFieldsInfo = () => {
71
- //获取搜索字段的缓存配置
72
- const { fields = [] } = props;
73
- let searchFieldsConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION);
74
- let showSearchFields = searchFieldsConfig.length ? searchFieldsConfig.map((item) => {
75
- let inner = fields.filter(
76
- (inneritem) => {
77
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : inneritem.name;
78
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : item.name;
79
- return innerKey && innerKey === itemKey;
80
- }
81
- )[0];
82
122
 
83
- return {
84
- ...inner,
85
- ...item,
86
- };
87
- }) : fields;
88
- return [...showSearchFields]
89
- }
90
123
  const refs = useRef(null);
91
124
  const [pagePath, setPagePath] = useState('');
92
125
  // 获取 table columns中所有的 key 防止有的地方是 dataindex
@@ -106,8 +139,9 @@ export default (props: any) => {
106
139
  const [isFullScreen, setIsFnllScreen]: any = useState(false);
107
140
  // @ts-nocheck
108
141
  const value = props;
142
+ const { fields = [] } = props;
109
143
  const [showColumn, setShowColumns] = useState([]); // 列字段
110
- const originSearchFields = getInitialSearchFieldsInfo();
144
+ const originSearchFields = getSettingFieldOrColumn(getConfigFromlocalstorage(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION), fields, 'searchFields');
111
145
  const [showSearchFields, setShowSearchFields] = useState(originSearchFields); //搜索项字段
112
146
  const [showExportColumn, setShowExportColumns] = useState([]); // 导出列字段
113
147
 
@@ -217,49 +251,12 @@ export default (props: any) => {
217
251
  let columnConfig = getConfigFromlocalstorage(ENUM.BROWSER_CACHE.COLUMN_CONDITION);
218
252
 
219
253
 
220
- const isStringArray = (value: any): value is string[] => {
221
- return Array.isArray(value) && value.every(v => typeof v === 'string');
222
- }
223
-
224
- const getColumnKey = (column: Column): string => {
225
- if (isStringArray(column.key)) {
226
- return JSON.stringify(column.key);
227
- } else if (isStringArray(column.dataIndex)) {
228
- return JSON.stringify(column.dataIndex);
229
- } else {
230
- return column.key || column.dataIndex || '';
231
- }
232
- }
233
-
234
254
  const parseWidth = (widthStr: string): number => {
235
255
  const parsedWidth = parseInt(widthStr.replace('px', ''));
236
256
  return isNaN(parsedWidth) ? 0 : parsedWidth;
237
257
  }
238
258
 
239
- // 优化column key发生改变与原key不一致时产生的bug
240
- const getShowColumns = (columnConfig: Array<Column>) => {
241
- const cols = [];
242
- if (columnConfig.length) {
243
- columnConfig.forEach((config, index) => {
244
- const hash = columns.reduce((prev, inneritem) => {
245
- prev[getColumnKey(inneritem)] = inneritem;
246
- return prev;
247
- }, {} as { [key: string]: Column });
248
-
249
- let inner = hash[getColumnKey(config)];
250
- inner && cols.push({ ...inner, ...config });
251
- })
252
- }
253
-
254
- if (cols.length) return cols;
255
-
256
- return columns.filter(column => {
257
- const columnKey = getColumnKey(column);
258
- return column.notRegularCheckList || checkedList.indexOf(columnKey) > -1;
259
- });
260
- }
261
-
262
- let showColumns = getShowColumns(columnConfig);
259
+ let showColumns = getSettingFieldOrColumn(columnConfig, columns, 'columns');
263
260
 
264
261
  showColumns.forEach((item, index) => {
265
262
  item.width = item.width || getItemDefaultWidth(item);
@@ -278,7 +275,7 @@ export default (props: any) => {
278
275
  ENUM.BROWSER_CACHE.COLUMN_CONDITION,
279
276
  bsTableCodeExport,
280
277
  );
281
- let showExportColumns = getShowColumns(exportColumnConfig);
278
+ let showExportColumns = getSettingFieldOrColumn(exportColumnConfig, columns, 'columns');
282
279
 
283
280
  showExportColumns.forEach((item, index) => {
284
281
  item.width = item.width || getItemDefaultWidth(item);
@@ -301,24 +298,7 @@ export default (props: any) => {
301
298
  let searchFieldsConfig = getConfigFromlocalstorage(
302
299
  ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION,
303
300
  );
304
- let showSearchFields = searchFieldsConfig.length
305
- ? searchFieldsConfig.map((item) => {
306
- let inner = fields.filter((inneritem) => {
307
- let innerKey = Array.isArray(inneritem.name)
308
- ? JSON.stringify(inneritem.name)
309
- : inneritem.name;
310
- let itemKey = Array.isArray(item.name)
311
- ? JSON.stringify(item.name)
312
- : item.name;
313
- return innerKey && innerKey === itemKey;
314
- })[0];
315
-
316
- return {
317
- ...inner,
318
- ...item,
319
- };
320
- })
321
- : fields;
301
+ const showSearchFields = getSettingFieldOrColumn(searchFieldsConfig, fields, 'searchFields');
322
302
  setShowSearchFields([...showSearchFields]);
323
303
  };
324
304
 
@@ -1,6 +1,5 @@
1
1
  .detail_page_head {
2
2
  height: 54px;
3
- position: fixed;
4
3
  z-index: 5;
5
4
  display: flex;
6
5
  align-items: center;