villianjs-pro 1.0.23 → 1.0.25
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/ProTable/components/Container.d.ts +2 -1
- package/dist/ProTable/components/Container.js +1 -1
- package/dist/ProTable/table.js +1 -1
- package/dist/ProTable/types.d.ts +2 -1
- package/dist/imports/components/import-detail-dialog.js +1 -1
- package/dist/imports/components/import-history-dialog.js +1 -1
- package/dist/imports/components/import-progress-step.js +1 -1
- package/dist/imports/components/import-result-step.js +1 -1
- package/dist/imports/types.d.ts +2 -0
- package/dist/library/index.d.ts +1 -0
- package/dist/library/index.js +1 -1
- package/dist/library/table.d.ts +57 -0
- package/dist/library/table.js +1 -0
- package/dist/locale/langs/en-us/index.js +1 -1
- package/dist/locale/langs/zh-cn/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { ProTableProps, ProTableSearchProps, GridCardRender } from "../types";
|
|
2
|
+
import type { ProTableProps, ProTableSearchProps, GridCardRender, ProTableRef } from "../types";
|
|
3
3
|
export declare const Container: <DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, ValueType = "text">(props: {
|
|
4
4
|
prefixCls: string;
|
|
5
5
|
cssVarCls: string;
|
|
@@ -13,6 +13,7 @@ export declare const Container: <DataSource extends Record<string, any> = Record
|
|
|
13
13
|
pagination: any;
|
|
14
14
|
tableProps: Omit<ProTableProps<DataSource, ParamsType, ValueType>, "columns" | "search" | "searchType" | "showCreateBtn" | "createBtnProps" | "onCreate" | "showBatchRemoveBtn" | "batchRemoveBtnProps" | "onBatchRemove" | "headerButtonItems" | "headerButtonMaxCount" | "openPageSizeCache" | "defaultPageSize">;
|
|
15
15
|
actionRef?: any;
|
|
16
|
+
tableRef?: React.ForwardedRef<ProTableRef<DataSource, ParamsType, ValueType>>;
|
|
16
17
|
wrapCSS: (element: React.ReactElement) => React.ReactElement;
|
|
17
18
|
gridCardRender?: GridCardRender<DataSource>;
|
|
18
19
|
gridColumns?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React,{useContext,useImperativeHandle}from"react";import{Flex}from"antd";import classNames from"classnames";import ProTableSearch from"./search";import{ProTableList}from"./list/index";import{ProTableContext}from"../context";export var Container=function(props){var prefixCls=props.prefixCls,cssVarCls=props.cssVarCls,className=props.className,style=props.style,searchConfig=props.searchConfig,searchColumns=props.searchColumns,columns=props.columns,headerTitle=props.headerTitle,rowSelection=props.rowSelection,pagination=props.pagination,tableProps=props.tableProps,actionRef=props.actionRef,tableRef=props.tableRef,wrapCSS=props.wrapCSS,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns,gridCardFieldsPerRow=props.gridCardFieldsPerRow;var contextValue=useContext(ProTableContext);useImperativeHandle(tableRef,function(){return{actionRef:actionRef,selectedRowKeys:contextValue.selectedRowKeys,selectedRows:contextValue.selectedRows,operationType:contextValue.operationType,currentRecord:contextValue.currentRecord,currentIndex:contextValue.currentIndex,viewMode:contextValue.viewMode,dataSource:contextValue.dataSource,loading:contextValue.loading}},[actionRef,contextValue.selectedRowKeys,contextValue.selectedRows,contextValue.operationType,contextValue.currentRecord,contextValue.currentIndex,contextValue.viewMode,contextValue.dataSource,contextValue.loading]);var _React_useState=_sliced_to_array(React.useState(function(){return(searchConfig===null||searchConfig===void 0?void 0:searchConfig.initialValues)||{}}),2),searchFormValues=_React_useState[0],setSearchFormValues=_React_useState[1];var handleSearchFinish=React.useCallback(function(values){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return _async_to_generator(function(){var _actionRef_current_setPageInfo,_actionRef_current,_searchConfig;return _ts_generator(this,function(_state){switch(_state.label){case 0:setSearchFormValues(values||{});actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:(_actionRef_current_setPageInfo=_actionRef_current.setPageInfo)===null||_actionRef_current_setPageInfo===void 0?void 0:_actionRef_current_setPageInfo.call(_actionRef_current,{current:1});if(!(searchConfig===null||searchConfig===void 0?void 0:searchConfig.onFinish))return[3,2];return[4,(_searchConfig=searchConfig).onFinish.apply(_searchConfig,[values].concat(_to_consumable_array(args)))];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[searchConfig,actionRef]);var handleSearchReset=React.useCallback(function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return _async_to_generator(function(){var _actionRef_current_reset,_actionRef_current,_searchConfig;return _ts_generator(this,function(_state){switch(_state.label){case 0:setSearchFormValues({});if(!(searchConfig===null||searchConfig===void 0?void 0:searchConfig.onReset))return[3,2];return[4,(_searchConfig=searchConfig).onReset.apply(_searchConfig,_to_consumable_array(args))];case 1:_state.sent();_state.label=2;case 2:actionRef===null||actionRef===void 0?void 0:(_actionRef_current=actionRef.current)===null||_actionRef_current===void 0?void 0:(_actionRef_current_reset=_actionRef_current.reset)===null||_actionRef_current_reset===void 0?void 0:_actionRef_current_reset.call(_actionRef_current);return[2]}})})()},[searchConfig,actionRef]);var mergedSearchConfig=React.useMemo(function(){if(!searchConfig){return null}return _object_spread_props(_object_spread({},searchConfig),{onFinish:handleSearchFinish,onReset:handleSearchReset})},[searchConfig,handleSearchFinish,handleSearchReset]);var mergedTableProps=React.useMemo(function(){return _object_spread_props(_object_spread({},tableProps),{params:_object_spread({},tableProps.params||{},searchFormValues),gridCardFieldsPerRow:gridCardFieldsPerRow})},[tableProps,searchFormValues,gridCardFieldsPerRow]);return wrapCSS(React.createElement(Flex,{vertical:true,gap:8,className:classNames(prefixCls,cssVarCls,className),style:style},mergedSearchConfig&&React.createElement(ProTableSearch,_object_spread({columns:searchColumns},mergedSearchConfig)),React.createElement(ProTableList,{columns:columns,headerTitle:headerTitle,rowSelection:rowSelection,pagination:pagination,tableProps:mergedTableProps,actionRef:actionRef,gridCardRender:gridCardRender,gridColumns:gridColumns})))};
|
package/dist/ProTable/table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React,{useImperativeHandle}from"react";import{useCommonStyles}from"../hooks";import useStyle from"./styles";import{ButtonGroup}from"../ButtonGroup";import{PlusOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../locale";import{usePagination}from"./hooks/usePagination";import{ProTableContext}from"./context";import{Container}from"./components/Container";import{OperationContainer}from"./components/operation-container";import{OperationContent}from"./components/operation-content";import{OperationContentRouter}from"./components/operation-content-router";import{RowActions}from"./components/row-actions";import{RowActionsRouter}from"./components/row-actions-router";import{HeaderButtonsWrapper}from"./components/header-buttons-wrapper";import{MemoryRouter,Routes,Route}from"react-router-dom";import classNames from"classnames";import ConfirmButton from"../ConfirmButton/ConfirmButton";import{convertHeaderButtonToGroupItem,createOperationHandler,ColumnHelper}from"./utils";var ProTableComponent=function(props,ref){var _props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,search=props.search,searchType=props.searchType,_props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_headerButtonItems=props.headerButtonItems,headerButtonItems=_props_headerButtonItems===void 0?[]:_props_headerButtonItems,_props_headerButtonMaxCount=props.headerButtonMaxCount,headerButtonMaxCount=_props_headerButtonMaxCount===void 0?3:_props_headerButtonMaxCount,rowSelection=props.rowSelection,_props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,_props_mode=props.mode,mode=_props_mode===void 0?"modal":_props_mode,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_rowButtonMaxCount=props.rowButtonMaxCount,rowButtonMaxCount=_props_rowButtonMaxCount===void 0?3:_props_rowButtonMaxCount,modalProps=props.modalProps,drawerProps=props.drawerProps,_props_routerBasePath=props.routerBasePath,routerBasePath=_props_routerBasePath===void 0?"/table":_props_routerBasePath,operationContent=props.operationContent,onGetDetail=props.onGetDetail,onRemove=props.onRemove,actionRef=props.actionRef,formConfig=props.formConfig,_props_defaultViewMode=props.defaultViewMode,defaultViewMode=_props_defaultViewMode===void 0?"table":_props_defaultViewMode,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns,_props_gridCardFieldsPerRow=props.gridCardFieldsPerRow,gridCardFieldsPerRow=_props_gridCardFieldsPerRow===void 0?3:_props_gridCardFieldsPerRow,restProps=_object_without_properties(props,["columns","search","searchType","showCreateBtn","createBtnProps","onCreate","showBatchRemoveBtn","batchRemoveBtnProps","onBatchRemove","headerButtonItems","headerButtonMaxCount","rowSelection","openPageSizeCache","defaultPageSize","mode","showViewBtn","viewBtnProps","showUpdateBtn","updateBtnProps","showRemoveBtn","removeBtnProps","rowButtonItems","rowButtonMaxCount","modalProps","drawerProps","routerBasePath","operationContent","onGetDetail","onRemove","actionRef","formConfig","defaultViewMode","gridCardRender","gridColumns","gridCardFieldsPerRow"]);var _useCommonStyles=useCommonStyles("pro-table",props,useStyle),prefixCls=_useCommonStyles.prefixCls,cssVarCls=_useCommonStyles.cssVarCls,wrapCSS=_useCommonStyles.wrapCSS;var messages=useLocale().messages;var internalActionRef=React.useRef(undefined);var currentActionRef=React.useMemo(function(){if(!actionRef)return internalActionRef;if((typeof actionRef==="undefined"?"undefined":_type_of(actionRef))==="object"&&"current"in actionRef)return actionRef;return internalActionRef},[actionRef]);var currentPagination=usePagination({openPageSizeCache:openPageSizeCache,defaultPageSize:defaultPageSize,tableKey:restProps.tableKey,tableProps:restProps}).currentPagination;var _React_useState=_sliced_to_array(React.useState([]),2),selectedRowKeys=_React_useState[0],setSelectedRowKeys=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState([]),2),selectedRows=_React_useState1[0],setSelectedRows=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState("list"),2),operationType=_React_useState2[0],setOperationType=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState(null),2),currentRecord=_React_useState3[0],setCurrentRecord=_React_useState3[1];var _React_useState4=_sliced_to_array(React.useState(-1),2),currentIndex=_React_useState4[0],setCurrentIndex=_React_useState4[1];var _React_useState5=_sliced_to_array(React.useState(false),2),operationVisible=_React_useState5[0],setOperationVisible=_React_useState5[1];var _React_useState6=_sliced_to_array(React.useState(defaultViewMode),2),viewMode=_React_useState6[0],setViewMode=_React_useState6[1];var _React_useState7=_sliced_to_array(React.useState([]),2),dataSource=_React_useState7[0],setDataSource=_React_useState7[1];var _React_useState8=_sliced_to_array(React.useState(false),2),loading=_React_useState8[0],setLoading=_React_useState8[1];var searchColumns=React.useMemo(function(){return columns.filter(function(column){var _column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch;return!hideInSearch})},[columns]);var searchConfig=React.useMemo(function(){if(search===false){return null}var layoutType=(search===null||search===void 0?void 0:search.layoutType)||searchType||"Form";var layout=(search===null||search===void 0?void 0:search.layout)||"inline";var searchProps=(search===null||search===void 0?void 0:search.searchProps)||{};return _object_spread_props(_object_spread({layoutType:layoutType,layout:layout},searchProps),{onFinish:function(values){return _async_to_generator(function(){var _searchProps_onFinish,_currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,searchProps===null||searchProps===void 0?void 0:(_searchProps_onFinish=searchProps.onFinish)===null||_searchProps_onFinish===void 0?void 0:_searchProps_onFinish.call(searchProps,values)];case 1:_state.sent();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,3];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 2:_state.sent();_state.label=3;case 3:return[2]}})})()},onReset:function(values){return _async_to_generator(function(){var _searchProps_onReset,_currentActionRef_current_reloadAndRest,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:searchProps===null||searchProps===void 0?void 0:(_searchProps_onReset=searchProps.onReset)===null||_searchProps_onReset===void 0?void 0:_searchProps_onReset.call(searchProps,values);if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reloadAndRest=(_currentActionRef_current=currentActionRef.current).reloadAndRest)===null||_currentActionRef_current_reloadAndRest===void 0?void 0:_currentActionRef_current_reloadAndRest.call(_currentActionRef_current)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()}})},[search,searchType,currentActionRef]);var handleCreateClick=React.useCallback(function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectedRowKeys)];case 1:_state.sent();return[3,3];case 2:setOperationType("create");setCurrentRecord(null);setCurrentIndex(-1);if(mode!=="router"){setOperationVisible(true)}_state.label=3;case 3:return[2]}})})()},[onCreate,selectedRowKeys,mode]);var handleViewClick=React.useCallback(createOperationHandler("view",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleUpdateClick=React.useCallback(createOperationHandler("update",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleRemoveClick=React.useCallback(function(record,index){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,6];_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onRemove(record,index)];case 2:result=_state.sent();if(result===false){return[2]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[3,6];case 5:error=_state.sent();console.error("删除失败:",error);return[2];case 6:return[2]}})})()},[onRemove,currentActionRef]);var handleOperationClose=React.useCallback(function(){setOperationVisible(false);setOperationType("list");setCurrentRecord(null);setCurrentIndex(-1)},[]);var handleOperationSuccess=React.useCallback(function(){var shouldRefresh=arguments.length>0&&arguments[0]!==void 0?arguments[0]:true;return _async_to_generator(function(){var _currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(shouldRefresh===false){return[2]}handleOperationClose();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,false)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[handleOperationClose,currentActionRef]);var handleBatchRemoveConfirm=React.useCallback(function(){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onBatchRemove||selectedRowKeys.length===0){return[2,false]}_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onBatchRemove(selectedRowKeys)];case 2:result=_state.sent();if(result===false){return[2,false]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[2,true];case 5:error=_state.sent();console.error("批量删除失败:",error);return[2,false];case 6:return[2]}})})()},[onBatchRemove,selectedRowKeys,currentActionRef]);var convertToButtonItem=React.useCallback(function(config,defaultKey,defaultHandler){return convertHeaderButtonToGroupItem(config,defaultKey,selectedRowKeys,defaultHandler)},[selectedRowKeys]);var headerTitle=React.useMemo(function(){var items=[];if(showCreateBtn&&createBtnProps!==false){var createBtn=convertToButtonItem(createBtnProps,"$create",handleCreateClick);if(createBtn){if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}if(!createBtn.type){createBtn.type="primary"}items.push(createBtn)}}if(showBatchRemoveBtn&&batchRemoveBtnProps!==false){var config=batchRemoveBtnProps||{};var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(visible){var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var batchRemoveBtnLabel=config.label||messages.table.batchRemoveBtnText;var batchRemoveBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$batchRemove",label:batchRemoveBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:2,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$batchRemove",mode:"modal",title:messages.table.batchRemoveModalTitle,content:messages.table.batchRemoveModalContent.replace("{count}",String(selectedRowKeys.length)),onConfirm:handleBatchRemoveConfirm,okText:"确定",cancelText:"取消",triggerBtnProps:{type:config.type,variant:config.variant||"outlined",color:config.color||"danger",disabled:selectedRowKeys.length===0||disabled,icon:batchRemoveBtnIcon,size:config.size,style:config.style,className:config.className}},batchRemoveBtnLabel)})}}headerButtonItems.forEach(function(item,index){var button=convertToButtonItem(item,item.key||"$custom-".concat(index));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:headerButtonMaxCount})},[showCreateBtn,createBtnProps,handleCreateClick,showBatchRemoveBtn,batchRemoveBtnProps,handleBatchRemoveConfirm,headerButtonItems,headerButtonMaxCount,selectedRowKeys,convertToButtonItem,messages]);var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection&&!showBatchRemoveBtn){return undefined}return _object_spread({},rowSelection)},[rowSelection,showBatchRemoveBtn]);var mergedColumns=React.useMemo(function(){var hasActions=showViewBtn||showUpdateBtn||showRemoveBtn||rowButtonItems.length>0;var columnsWithDefaults=ColumnHelper.addDefaultConfig(columns);if(!hasActions){return columnsWithDefaults}if(ColumnHelper.hasActionColumn(columns)){return columnsWithDefaults}var ActionComponent=mode==="router"?RowActionsRouter:RowActions;return _to_consumable_array(columnsWithDefaults).concat([{title:messages.table.operateColumnTitle||"操作",key:"actions",dataIndex:"actions",valueType:"option",fixed:"right",width:260,render:function(_,record,index){return React.createElement(ActionComponent,{record:record,index:index,showViewBtn:showViewBtn,viewBtnProps:viewBtnProps,onView:handleViewClick,showUpdateBtn:showUpdateBtn,updateBtnProps:updateBtnProps,onUpdate:handleUpdateClick,showRemoveBtn:showRemoveBtn,removeBtnProps:removeBtnProps,onRemove:handleRemoveClick,rowButtonItems:rowButtonItems,maxCount:rowButtonMaxCount,rowKey:restProps.rowKey})}}])},[columns,mode,showViewBtn,viewBtnProps,handleViewClick,showUpdateBtn,updateBtnProps,handleUpdateClick,showRemoveBtn,removeBtnProps,handleRemoveClick,rowButtonItems,rowButtonMaxCount,messages,restProps.rowKey]);var tableProps=React.useMemo(function(){var _prefixCls=restProps.prefixCls,_className=restProps.className,_style=restProps.style,_size=restProps.size,_tableKey=restProps.tableKey,_pagination=restProps.pagination,userOnLoadingChange=restProps.onLoadingChange,antdTableProps=_object_without_properties(restProps,["prefixCls","className","style","size","tableKey","pagination","onLoadingChange"]);return _object_spread_props(_object_spread({},antdTableProps),{onLoadingChange:function(newLoading){var loadingState=typeof newLoading==="boolean"?newLoading:!!newLoading;setLoading(loadingState);userOnLoadingChange===null||userOnLoadingChange===void 0?void 0:userOnLoadingChange(newLoading)}})},[restProps]);var contextValue=React.useMemo(function(){return{selectedRowKeys:selectedRowKeys,setSelectedRowKeys:setSelectedRowKeys,selectedRows:selectedRows,setSelectedRows:setSelectedRows,operationType:operationType,setOperationType:function(type){return setOperationType(type)},currentRecord:currentRecord,setCurrentRecord:function(record){return setCurrentRecord(record)},currentIndex:currentIndex,setCurrentIndex:function(index){return setCurrentIndex(index)},viewMode:viewMode,setViewMode:setViewMode,dataSource:dataSource,setDataSource:setDataSource,loading:loading,setLoading:setLoading}},[selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);useImperativeHandle(ref,function(){return{actionRef:currentActionRef,selectedRowKeys:selectedRowKeys,selectedRows:selectedRows,operationType:operationType,currentRecord:currentRecord,currentIndex:currentIndex,viewMode:viewMode,dataSource:dataSource,loading:loading}},[currentActionRef,selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);var renderOperationContent=function(){if(operationContent){return operationContent({type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess})}return React.createElement(OperationContent,{type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};var listContent=React.useMemo(function(){var content=React.createElement(Container,{prefixCls:prefixCls,cssVarCls:cssVarCls,className:restProps.className,style:restProps.style,searchConfig:searchConfig,searchColumns:searchColumns,columns:mergedColumns,headerTitle:mode==="router"?React.createElement(HeaderButtonsWrapper,{mode:mode,operationType:operationType},headerTitle):headerTitle,rowSelection:mergedRowSelection,pagination:currentPagination,tableProps:tableProps,actionRef:currentActionRef,wrapCSS:wrapCSS,gridCardRender:gridCardRender,gridColumns:gridColumns,gridCardFieldsPerRow:gridCardFieldsPerRow});return content},[prefixCls,cssVarCls,restProps.className,restProps.style,searchConfig,searchColumns,mergedColumns,headerTitle,mergedRowSelection,currentPagination,tableProps,currentActionRef,wrapCSS,mode,operationType,gridCardRender,gridColumns,gridCardFieldsPerRow]);var renderOperationRoute=function(type){return React.createElement(OperationContentRouter,{type:type,currentRecord:currentRecord,operationContent:operationContent,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};if(mode==="router"){return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},React.createElement("div",{className:classNames(prefixCls,cssVarCls,restProps.className),style:restProps.style},React.createElement(MemoryRouter,{basename:routerBasePath,initialEntries:[routerBasePath]},React.createElement(Routes,null,React.createElement(Route,{path:"/",element:listContent}),React.createElement(Route,{path:"/create",element:renderOperationRoute("create")}),React.createElement(Route,{path:"/update/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/edit/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/view/:id",element:renderOperationRoute("view")}),React.createElement(Route,{path:"/detail/:id",element:renderOperationRoute("view")}))))))}return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},listContent,operationType!=="list"&&React.createElement(OperationContainer,{mode:mode,operationType:operationType,visible:operationVisible,onClose:handleOperationClose,modalProps:modalProps,drawerProps:drawerProps},renderOperationContent())))};export var ProTable=React.forwardRef(ProTableComponent);
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import React,{useImperativeHandle}from"react";import{useCommonStyles}from"../hooks";import useStyle from"./styles";import{ButtonGroup}from"../ButtonGroup";import{PlusOutlined,DeleteOutlined}from"@ant-design/icons";import{useLocale}from"../locale";import{usePagination}from"./hooks/usePagination";import{ProTableContext}from"./context";import{Container}from"./components/Container";import{OperationContainer}from"./components/operation-container";import{OperationContent}from"./components/operation-content";import{OperationContentRouter}from"./components/operation-content-router";import{RowActions}from"./components/row-actions";import{RowActionsRouter}from"./components/row-actions-router";import{HeaderButtonsWrapper}from"./components/header-buttons-wrapper";import{MemoryRouter,Routes,Route}from"react-router-dom";import classNames from"classnames";import ConfirmButton from"../ConfirmButton/ConfirmButton";import{convertHeaderButtonToGroupItem,createOperationHandler,ColumnHelper}from"./utils";var ProTableComponent=function(props,ref){var _props_columns=props.columns,columns=_props_columns===void 0?[]:_props_columns,search=props.search,searchType=props.searchType,_props_showCreateBtn=props.showCreateBtn,showCreateBtn=_props_showCreateBtn===void 0?true:_props_showCreateBtn,createBtnProps=props.createBtnProps,onCreate=props.onCreate,_props_showBatchRemoveBtn=props.showBatchRemoveBtn,showBatchRemoveBtn=_props_showBatchRemoveBtn===void 0?true:_props_showBatchRemoveBtn,batchRemoveBtnProps=props.batchRemoveBtnProps,onBatchRemove=props.onBatchRemove,_props_headerButtonItems=props.headerButtonItems,headerButtonItems=_props_headerButtonItems===void 0?[]:_props_headerButtonItems,_props_headerButtonMaxCount=props.headerButtonMaxCount,headerButtonMaxCount=_props_headerButtonMaxCount===void 0?3:_props_headerButtonMaxCount,rowSelection=props.rowSelection,_props_openPageSizeCache=props.openPageSizeCache,openPageSizeCache=_props_openPageSizeCache===void 0?false:_props_openPageSizeCache,_props_defaultPageSize=props.defaultPageSize,defaultPageSize=_props_defaultPageSize===void 0?10:_props_defaultPageSize,_props_mode=props.mode,mode=_props_mode===void 0?"modal":_props_mode,_props_showViewBtn=props.showViewBtn,showViewBtn=_props_showViewBtn===void 0?true:_props_showViewBtn,viewBtnProps=props.viewBtnProps,_props_showUpdateBtn=props.showUpdateBtn,showUpdateBtn=_props_showUpdateBtn===void 0?true:_props_showUpdateBtn,updateBtnProps=props.updateBtnProps,_props_showRemoveBtn=props.showRemoveBtn,showRemoveBtn=_props_showRemoveBtn===void 0?true:_props_showRemoveBtn,removeBtnProps=props.removeBtnProps,_props_rowButtonItems=props.rowButtonItems,rowButtonItems=_props_rowButtonItems===void 0?[]:_props_rowButtonItems,_props_rowButtonMaxCount=props.rowButtonMaxCount,rowButtonMaxCount=_props_rowButtonMaxCount===void 0?3:_props_rowButtonMaxCount,modalProps=props.modalProps,drawerProps=props.drawerProps,_props_routerBasePath=props.routerBasePath,routerBasePath=_props_routerBasePath===void 0?"/table":_props_routerBasePath,operationContent=props.operationContent,onGetDetail=props.onGetDetail,onRemove=props.onRemove,actionRef=props.actionRef,tableRef=props.tableRef,formConfig=props.formConfig,_props_defaultViewMode=props.defaultViewMode,defaultViewMode=_props_defaultViewMode===void 0?"table":_props_defaultViewMode,gridCardRender=props.gridCardRender,gridColumns=props.gridColumns,_props_gridCardFieldsPerRow=props.gridCardFieldsPerRow,gridCardFieldsPerRow=_props_gridCardFieldsPerRow===void 0?3:_props_gridCardFieldsPerRow,restProps=_object_without_properties(props,["columns","search","searchType","showCreateBtn","createBtnProps","onCreate","showBatchRemoveBtn","batchRemoveBtnProps","onBatchRemove","headerButtonItems","headerButtonMaxCount","rowSelection","openPageSizeCache","defaultPageSize","mode","showViewBtn","viewBtnProps","showUpdateBtn","updateBtnProps","showRemoveBtn","removeBtnProps","rowButtonItems","rowButtonMaxCount","modalProps","drawerProps","routerBasePath","operationContent","onGetDetail","onRemove","actionRef","tableRef","formConfig","defaultViewMode","gridCardRender","gridColumns","gridCardFieldsPerRow"]);var _useCommonStyles=useCommonStyles("pro-table",props,useStyle),prefixCls=_useCommonStyles.prefixCls,cssVarCls=_useCommonStyles.cssVarCls,wrapCSS=_useCommonStyles.wrapCSS;var messages=useLocale().messages;var internalActionRef=React.useRef(undefined);var currentActionRef=React.useMemo(function(){if(!actionRef)return internalActionRef;if((typeof actionRef==="undefined"?"undefined":_type_of(actionRef))==="object"&&"current"in actionRef)return actionRef;return internalActionRef},[actionRef]);var currentPagination=usePagination({openPageSizeCache:openPageSizeCache,defaultPageSize:defaultPageSize,tableKey:restProps.tableKey,tableProps:restProps}).currentPagination;var _React_useState=_sliced_to_array(React.useState([]),2),selectedRowKeys=_React_useState[0],setSelectedRowKeys=_React_useState[1];var _React_useState1=_sliced_to_array(React.useState([]),2),selectedRows=_React_useState1[0],setSelectedRows=_React_useState1[1];var _React_useState2=_sliced_to_array(React.useState("list"),2),operationType=_React_useState2[0],setOperationType=_React_useState2[1];var _React_useState3=_sliced_to_array(React.useState(null),2),currentRecord=_React_useState3[0],setCurrentRecord=_React_useState3[1];var _React_useState4=_sliced_to_array(React.useState(-1),2),currentIndex=_React_useState4[0],setCurrentIndex=_React_useState4[1];var _React_useState5=_sliced_to_array(React.useState(false),2),operationVisible=_React_useState5[0],setOperationVisible=_React_useState5[1];var _React_useState6=_sliced_to_array(React.useState(defaultViewMode),2),viewMode=_React_useState6[0],setViewMode=_React_useState6[1];var _React_useState7=_sliced_to_array(React.useState([]),2),dataSource=_React_useState7[0],setDataSource=_React_useState7[1];var _React_useState8=_sliced_to_array(React.useState(false),2),loading=_React_useState8[0],setLoading=_React_useState8[1];var searchColumns=React.useMemo(function(){return columns.filter(function(column){var _column_hideInSearch=column.hideInSearch,hideInSearch=_column_hideInSearch===void 0?true:_column_hideInSearch;return!hideInSearch})},[columns]);var searchConfig=React.useMemo(function(){if(search===false){return null}var layoutType=(search===null||search===void 0?void 0:search.layoutType)||searchType||"Form";var layout=(search===null||search===void 0?void 0:search.layout)||"inline";var searchProps=(search===null||search===void 0?void 0:search.searchProps)||{};return _object_spread_props(_object_spread({layoutType:layoutType,layout:layout},searchProps),{onFinish:function(values){return _async_to_generator(function(){var _searchProps_onFinish,_currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:return[4,searchProps===null||searchProps===void 0?void 0:(_searchProps_onFinish=searchProps.onFinish)===null||_searchProps_onFinish===void 0?void 0:_searchProps_onFinish.call(searchProps,values)];case 1:_state.sent();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,3];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 2:_state.sent();_state.label=3;case 3:return[2]}})})()},onReset:function(values){return _async_to_generator(function(){var _searchProps_onReset,_currentActionRef_current_reloadAndRest,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:searchProps===null||searchProps===void 0?void 0:(_searchProps_onReset=searchProps.onReset)===null||_searchProps_onReset===void 0?void 0:_searchProps_onReset.call(searchProps,values);if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reloadAndRest=(_currentActionRef_current=currentActionRef.current).reloadAndRest)===null||_currentActionRef_current_reloadAndRest===void 0?void 0:_currentActionRef_current_reloadAndRest.call(_currentActionRef_current)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()}})},[search,searchType,currentActionRef]);var handleCreateClick=React.useCallback(function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onCreate)return[3,2];return[4,onCreate(selectedRowKeys)];case 1:_state.sent();return[3,3];case 2:setOperationType("create");setCurrentRecord(null);setCurrentIndex(-1);if(mode!=="router"){setOperationVisible(true)}_state.label=3;case 3:return[2]}})})()},[onCreate,selectedRowKeys,mode]);var handleViewClick=React.useCallback(createOperationHandler("view",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleUpdateClick=React.useCallback(createOperationHandler("update",setOperationType,setCurrentIndex,setCurrentRecord,setOperationVisible,onGetDetail,mode),[onGetDetail,mode]);var handleRemoveClick=React.useCallback(function(record,index){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onRemove)return[3,6];_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onRemove(record,index)];case 2:result=_state.sent();if(result===false){return[2]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[3,6];case 5:error=_state.sent();console.error("删除失败:",error);return[2];case 6:return[2]}})})()},[onRemove,currentActionRef]);var handleOperationClose=React.useCallback(function(){setOperationVisible(false);setOperationType("list");setCurrentRecord(null);setCurrentIndex(-1)},[]);var handleOperationSuccess=React.useCallback(function(){var shouldRefresh=arguments.length>0&&arguments[0]!==void 0?arguments[0]:true;return _async_to_generator(function(){var _currentActionRef_current_reload,_currentActionRef_current;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(shouldRefresh===false){return[2]}handleOperationClose();if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,2];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,false)];case 1:_state.sent();_state.label=2;case 2:return[2]}})})()},[handleOperationClose,currentActionRef]);var handleBatchRemoveConfirm=React.useCallback(function(){return _async_to_generator(function(){var result,_currentActionRef_current_reload,_currentActionRef_current,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(!onBatchRemove||selectedRowKeys.length===0){return[2,false]}_state.label=1;case 1:_state.trys.push([1,5,,6]);return[4,onBatchRemove(selectedRowKeys)];case 2:result=_state.sent();if(result===false){return[2,false]}if(!(currentActionRef===null||currentActionRef===void 0?void 0:currentActionRef.current))return[3,4];return[4,(_currentActionRef_current_reload=(_currentActionRef_current=currentActionRef.current).reload)===null||_currentActionRef_current_reload===void 0?void 0:_currentActionRef_current_reload.call(_currentActionRef_current,true)];case 3:_state.sent();_state.label=4;case 4:setSelectedRowKeys([]);setSelectedRows([]);return[2,true];case 5:error=_state.sent();console.error("批量删除失败:",error);return[2,false];case 6:return[2]}})})()},[onBatchRemove,selectedRowKeys,currentActionRef]);var convertToButtonItem=React.useCallback(function(config,defaultKey,defaultHandler){return convertHeaderButtonToGroupItem(config,defaultKey,selectedRowKeys,defaultHandler)},[selectedRowKeys]);var headerTitle=React.useMemo(function(){var items=[];if(showCreateBtn&&createBtnProps!==false){var createBtn=convertToButtonItem(createBtnProps,"$create",handleCreateClick);if(createBtn){if(!createBtn.icon){createBtn.icon=React.createElement(PlusOutlined,null)}if(createBtn.order===undefined){createBtn.order=1}if(!createBtn.label){createBtn.label=messages.table.createBtnText}if(!createBtn.type){createBtn.type="primary"}items.push(createBtn)}}if(showBatchRemoveBtn&&batchRemoveBtnProps!==false){var config=batchRemoveBtnProps||{};var visible=typeof(config===null||config===void 0?void 0:config.visible)==="function"?config.visible(selectedRowKeys):(config===null||config===void 0?void 0:config.visible)!==false;if(visible){var disabled=typeof(config===null||config===void 0?void 0:config.disabled)==="function"?config.disabled(selectedRowKeys):(config===null||config===void 0?void 0:config.disabled)||false;var batchRemoveBtnLabel=config.label||messages.table.batchRemoveBtnText;var batchRemoveBtnIcon=config.icon||React.createElement(DeleteOutlined,null);var _config_order;items.push({key:config.key||"$batchRemove",label:batchRemoveBtnLabel,order:(_config_order=config.order)!==null&&_config_order!==void 0?_config_order:2,isCustom:true,component:React.createElement(ConfirmButton,{key:config.key||"$batchRemove",mode:"modal",title:messages.table.batchRemoveModalTitle,content:messages.table.batchRemoveModalContent.replace("{count}",String(selectedRowKeys.length)),onConfirm:handleBatchRemoveConfirm,okText:"确定",cancelText:"取消",triggerBtnProps:{type:config.type,variant:config.variant||"outlined",color:config.color||"danger",disabled:selectedRowKeys.length===0||disabled,icon:batchRemoveBtnIcon,size:config.size,style:config.style,className:config.className}},batchRemoveBtnLabel)})}}headerButtonItems.forEach(function(item,index){var button=convertToButtonItem(item,item.key||"$custom-".concat(index));if(button){items.push(button)}});if(items.length===0){return null}return React.createElement(ButtonGroup,{items:items,maxCount:headerButtonMaxCount})},[showCreateBtn,createBtnProps,handleCreateClick,showBatchRemoveBtn,batchRemoveBtnProps,handleBatchRemoveConfirm,headerButtonItems,headerButtonMaxCount,selectedRowKeys,convertToButtonItem,messages]);var mergedRowSelection=React.useMemo(function(){if(rowSelection===false){return false}if(!rowSelection&&!showBatchRemoveBtn){return undefined}return _object_spread({},rowSelection)},[rowSelection,showBatchRemoveBtn]);var mergedColumns=React.useMemo(function(){var hasActions=showViewBtn||showUpdateBtn||showRemoveBtn||rowButtonItems.length>0;var columnsWithDefaults=ColumnHelper.addDefaultConfig(columns);if(!hasActions){return columnsWithDefaults}if(ColumnHelper.hasActionColumn(columns)){return columnsWithDefaults}var ActionComponent=mode==="router"?RowActionsRouter:RowActions;return _to_consumable_array(columnsWithDefaults).concat([{title:messages.table.operateColumnTitle||"操作",key:"actions",dataIndex:"actions",valueType:"option",fixed:"right",width:260,render:function(_,record,index){return React.createElement(ActionComponent,{record:record,index:index,showViewBtn:showViewBtn,viewBtnProps:viewBtnProps,onView:handleViewClick,showUpdateBtn:showUpdateBtn,updateBtnProps:updateBtnProps,onUpdate:handleUpdateClick,showRemoveBtn:showRemoveBtn,removeBtnProps:removeBtnProps,onRemove:handleRemoveClick,rowButtonItems:rowButtonItems,maxCount:rowButtonMaxCount,rowKey:restProps.rowKey})}}])},[columns,mode,showViewBtn,viewBtnProps,handleViewClick,showUpdateBtn,updateBtnProps,handleUpdateClick,showRemoveBtn,removeBtnProps,handleRemoveClick,rowButtonItems,rowButtonMaxCount,messages,restProps.rowKey]);var tableProps=React.useMemo(function(){var _prefixCls=restProps.prefixCls,_className=restProps.className,_style=restProps.style,_size=restProps.size,_tableKey=restProps.tableKey,_pagination=restProps.pagination,userOnLoadingChange=restProps.onLoadingChange,antdTableProps=_object_without_properties(restProps,["prefixCls","className","style","size","tableKey","pagination","onLoadingChange"]);return _object_spread_props(_object_spread({},antdTableProps),{onLoadingChange:function(newLoading){var loadingState=typeof newLoading==="boolean"?newLoading:!!newLoading;setLoading(loadingState);userOnLoadingChange===null||userOnLoadingChange===void 0?void 0:userOnLoadingChange(newLoading)}})},[restProps]);var contextValue=React.useMemo(function(){return{selectedRowKeys:selectedRowKeys,setSelectedRowKeys:setSelectedRowKeys,selectedRows:selectedRows,setSelectedRows:setSelectedRows,operationType:operationType,setOperationType:function(type){return setOperationType(type)},currentRecord:currentRecord,setCurrentRecord:function(record){return setCurrentRecord(record)},currentIndex:currentIndex,setCurrentIndex:function(index){return setCurrentIndex(index)},viewMode:viewMode,setViewMode:setViewMode,dataSource:dataSource,setDataSource:setDataSource,loading:loading,setLoading:setLoading}},[selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);useImperativeHandle(ref,function(){return{actionRef:currentActionRef,selectedRowKeys:selectedRowKeys,selectedRows:selectedRows,operationType:operationType,currentRecord:currentRecord,currentIndex:currentIndex,viewMode:viewMode,dataSource:dataSource,loading:loading}},[currentActionRef,selectedRowKeys,selectedRows,operationType,currentRecord,currentIndex,viewMode,dataSource,loading]);var renderOperationContent=function(){if(operationContent){return operationContent({type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess})}return React.createElement(OperationContent,{type:operationType,record:currentRecord||undefined,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};var listContent=React.useMemo(function(){var content=React.createElement(Container,{prefixCls:prefixCls,cssVarCls:cssVarCls,className:restProps.className,style:restProps.style,searchConfig:searchConfig,searchColumns:searchColumns,columns:mergedColumns,headerTitle:mode==="router"?React.createElement(HeaderButtonsWrapper,{mode:mode,operationType:operationType},headerTitle):headerTitle,rowSelection:mergedRowSelection,pagination:currentPagination,tableProps:tableProps,actionRef:currentActionRef,tableRef:tableRef,wrapCSS:wrapCSS,gridCardRender:gridCardRender,gridColumns:gridColumns,gridCardFieldsPerRow:gridCardFieldsPerRow});return content},[prefixCls,cssVarCls,restProps.className,restProps.style,searchConfig,searchColumns,mergedColumns,headerTitle,mergedRowSelection,currentPagination,tableProps,currentActionRef,wrapCSS,mode,operationType,gridCardRender,gridColumns,gridCardFieldsPerRow]);var renderOperationRoute=function(type){return React.createElement(OperationContentRouter,{type:type,currentRecord:currentRecord,operationContent:operationContent,onClose:handleOperationClose,onSuccess:handleOperationSuccess,tableColumns:columns,formConfig:formConfig})};if(mode==="router"){return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},React.createElement("div",{className:classNames(prefixCls,cssVarCls,restProps.className),style:restProps.style},React.createElement(MemoryRouter,{basename:routerBasePath,initialEntries:[routerBasePath]},React.createElement(Routes,null,React.createElement(Route,{path:"/",element:listContent}),React.createElement(Route,{path:"/create",element:renderOperationRoute("create")}),React.createElement(Route,{path:"/update/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/edit/:id",element:renderOperationRoute("update")}),React.createElement(Route,{path:"/view/:id",element:renderOperationRoute("view")}),React.createElement(Route,{path:"/detail/:id",element:renderOperationRoute("view")}))))))}return wrapCSS(React.createElement(ProTableContext.Provider,{value:contextValue},listContent,operationType!=="list"&&React.createElement(OperationContainer,{mode:mode,operationType:operationType,visible:operationVisible,onClose:handleOperationClose,modalProps:modalProps,drawerProps:drawerProps},renderOperationContent())))};export var ProTable=React.forwardRef(ProTableComponent);
|
package/dist/ProTable/types.d.ts
CHANGED
|
@@ -266,10 +266,11 @@ export type ProTableRef<DataSource extends Record<string, any> = Record<string,
|
|
|
266
266
|
/**
|
|
267
267
|
* 公共属性
|
|
268
268
|
*/
|
|
269
|
-
export type ProTableProps<DataSource = Record<string, any>, ParamsType = Record<string, any>, ValueType = "text"> = AntdProTableProps<DataSource, ParamsType, ValueType> & {
|
|
269
|
+
export type ProTableProps<DataSource extends Record<string, any> = Record<string, any>, ParamsType extends Record<string, any> = Record<string, any>, ValueType = "text"> = AntdProTableProps<DataSource, ParamsType, ValueType> & {
|
|
270
270
|
prefixCls?: string;
|
|
271
271
|
className?: string;
|
|
272
272
|
style?: React.CSSProperties;
|
|
273
|
+
tableRef?: React.ForwardedRef<ProTableRef<DataSource, ParamsType, ValueType>>;
|
|
273
274
|
size?: SizeType;
|
|
274
275
|
tableKey?: string;
|
|
275
276
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useMemo,useEffect,useState,useRef,useCallback}from"react";import React from"react";import{Tag,Row,Col,Card,Alert,theme,Descriptions,Progress,Spin}from"antd";import{ProTable}from"../../ProTable";import{Modal}from"../../Modal";import{CheckCircleOutlined,CloseCircleOutlined,ExclamationCircleOutlined,LoadingOutlined}from"@ant-design/icons";import{formatDate}from"../utils/date";import{getContainerStyle,getStatCardStyle,getStatNumberStyle,getStatLabelStyle,getRowNumberStyle}from"../utils/styles";import{useLocale}from"../../locale";import{useImportContextOptional}from"../context/import-context";var useToken=theme.useToken;export var ImportDetailDialog=function(param){var open=param.open,onOpenChange=param.onOpenChange,record=param.record,errorColumns=param.errorColumns,queryImportErrors=param.queryImportErrors,errorTableProps=param.errorTableProps,contentRender=param.contentRender,propsQueryProgress=param.queryProgress,propsPollInterval=param.pollInterval;var _messages_imports_detail_processingDescription;var token=useToken().token;var messages=useLocale().messages;var context=useImportContextOptional();var queryProgress=propsQueryProgress!==null&&propsQueryProgress!==void 0?propsQueryProgress:context===null||context===void 0?void 0:context.queryProgress;var _ref;var pollInterval=(_ref=propsPollInterval!==null&&propsPollInterval!==void 0?propsPollInterval:context===null||context===void 0?void 0:context.pollInterval)!==null&&_ref!==void 0?_ref:2e3;var _useState=_sliced_to_array(useState(null),2),currentProgress=_useState[0],setCurrentProgress=_useState[1];var _useState1=_sliced_to_array(useState(record.status),2),currentStatus=_useState1[0],setCurrentStatus=_useState1[1];var _useState2=_sliced_to_array(useState(record),2),currentRecord=_useState2[0],setCurrentRecord=_useState2[1];var pollingRef=useRef(null);var isUnmountedRef=useRef(false);useEffect(function(){setCurrentRecord(record);setCurrentStatus(record.status)},[record]);var queryProgressRef=useRef(queryProgress);var recordIdRef=useRef(record.id);var currentStatusRef=useRef(currentStatus);useEffect(function(){queryProgressRef.current=queryProgress;recordIdRef.current=record.id;currentStatusRef.current=currentStatus},[queryProgress,record.id,currentStatus]);var fetchProgress=useCallback(function(){return _async_to_generator(function(){var progress,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isUnmountedRef.current||!queryProgressRef.current||currentStatusRef.current!=="processing"){return[2]}_state.label=1;case 1:_state.trys.push([1,3,,4]);return[4,queryProgressRef.current(recordIdRef.current)];case 2:progress=_state.sent();if(isUnmountedRef.current)return[2];setCurrentProgress(progress);if(progress.status!==currentStatusRef.current){setCurrentStatus(progress.status);setCurrentRecord(function(prev){var _progress_success,_progress_failed,_progress_total;return _object_spread_props(_object_spread({},prev),{status:progress.status,success:(_progress_success=progress.success)!==null&&_progress_success!==void 0?_progress_success:prev.success,failed:(_progress_failed=progress.failed)!==null&&_progress_failed!==void 0?_progress_failed:prev.failed,total:(_progress_total=progress.total)!==null&&_progress_total!==void 0?_progress_total:prev.total})})}else{setCurrentRecord(function(prev){var _progress_success,_progress_failed,_progress_total;return _object_spread_props(_object_spread({},prev),{success:(_progress_success=progress.success)!==null&&_progress_success!==void 0?_progress_success:prev.success,failed:(_progress_failed=progress.failed)!==null&&_progress_failed!==void 0?_progress_failed:prev.failed,total:(_progress_total=progress.total)!==null&&_progress_total!==void 0?_progress_total:prev.total})})}if(progress.status==="completed"||progress.status==="failed"){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}}return[3,4];case 3:error=_state.sent();console.error("查询导入进度失败:",error);return[3,4];case 4:return[2]}})})()},[]);useEffect(function(){if(!open){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}isUnmountedRef.current=true;return}isUnmountedRef.current=false;if(currentStatus==="processing"&&queryProgress){fetchProgress();pollingRef.current=setInterval(function(){fetchProgress()},pollInterval)}return function(){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}isUnmountedRef.current=true}},[open,currentStatus,queryProgress,pollInterval,fetchProgress]);var formattedCreatedAt=useMemo(function(){if(!record.createdAt)return"";try{var date=new Date(record.createdAt);if(isNaN(date.getTime())){return record.createdAt}return formatDate(date,"YYYY-MM-DD HH:mm:ss")}catch(e){return record.createdAt}},[record.createdAt]);var containerStyle=useMemo(function(){return getContainerStyle(token)},[token]);var statCardStyle=useMemo(function(){return getStatCardStyle(token)},[token]);var statNumberStyle=useMemo(function(){return getStatNumberStyle(token)},[token]);var statLabelStyle=useMemo(function(){return getStatLabelStyle(token)},[token]);var successRate=useMemo(function(){if(currentRecord.total===0)return"0.0";return(currentRecord.success/currentRecord.total*100).toFixed(1)},[currentRecord.success,currentRecord.total]);var defaultErrorColumns=useMemo(function(){return[{title:messages.imports.detail.errorColumns.rowNumber,dataIndex:"row_number",key:"row_number",width:120,valueType:"digit",render:function(_,recordItem){return React.createElement("span",{style:getRowNumberStyle(token)},messages.imports.detail.rowNumberText.replace("{rowNumber}",String(recordItem.row_number)))}},{title:messages.imports.detail.errorColumns.errorType,dataIndex:"error_type",key:"error_type",width:160,valueType:"text"},{title:messages.imports.detail.errorColumns.errorMessage,dataIndex:"error_message",key:"error_message",valueType:"text",ellipsis:true},{title:messages.imports.detail.errorColumns.errorId,dataIndex:"id",key:"id",width:220,valueType:"text",copyable:true}]},[messages]);var finalErrorColumns=useMemo(function(){if(errorColumns&&errorColumns.length>0){return errorColumns}return defaultErrorColumns},[errorColumns,defaultErrorColumns]);var errorRequest=useMemo(function(){if(!queryImportErrors){return function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,{data:[],success:true,total:0}]})})()}}return function(params){return _async_to_generator(function(){var result,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,queryImportErrors(_object_spread({importId:currentRecord.id},params))];case 1:result=_state.sent();return[2,{data:result.list||[],success:true,total:result.total||0}];case 2:error=_state.sent();console.error(messages.imports.detail.queryFailed,error);return[2,{data:[],success:false,total:0}];case 3:return[2]}})})()}},[queryImportErrors,currentRecord.id,messages]);var progressPercent=useMemo(function(){if(currentProgress){return Math.round(currentProgress.progress||0)}if(currentRecord.total>0){return Math.round((currentRecord.success+currentRecord.failed)/currentRecord.total*100)}return 0},[currentProgress,currentRecord]);var headerNode=React.createElement(React.Fragment,null,React.createElement(Descriptions,{column:3,size:"small",labelStyle:{fontSize:token.fontSizeSM,color:token.colorTextSecondary},contentStyle:{fontSize:token.fontSizeSM,color:token.colorText}},React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.importId,span:3},React.createElement("span",{style:{fontFamily:"monospace",fontWeight:token.fontWeightStrong}},currentRecord.id)),React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.currentStatus,span:1},React.createElement("div",null,currentStatus==="completed"&&React.createElement(Tag,{color:"success"},messages.imports.detail.status.completed),currentStatus==="failed"&&React.createElement(Tag,{color:"error"},messages.imports.detail.status.failed),currentStatus==="processing"&&React.createElement(Tag,{color:"processing"},messages.imports.detail.status.processing))),React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.importTime,span:2},React.createElement("span",{style:{fontWeight:token.fontWeightStrong}},formattedCreatedAt))),currentStatus==="processing"&&React.createElement("div",{style:{padding:token.padding,background:token.colorInfoBg,borderRadius:token.borderRadius,marginBottom:token.margin,border:"1px solid ".concat(token.colorInfoBorder)}},React.createElement("div",{style:{display:"flex",alignItems:"center",gap:token.marginSM,marginBottom:token.marginSM}},React.createElement(Spin,{indicator:React.createElement(LoadingOutlined,{style:{fontSize:token.fontSizeLG,color:token.colorInfo},spin:true})}),React.createElement("div",{style:{flex:1}},React.createElement("div",{style:{fontSize:token.fontSize,fontWeight:token.fontWeightStrong,color:token.colorText,marginBottom:token.marginXXS}},messages.imports.detail.processingTitle||"正在处理导入任务..."),React.createElement("div",{style:{fontSize:token.fontSizeSM,color:token.colorTextSecondary}},((_messages_imports_detail_processingDescription=messages.imports.detail.processingDescription)===null||_messages_imports_detail_processingDescription===void 0?void 0:_messages_imports_detail_processingDescription.replace("{current}",String(currentRecord.success+currentRecord.failed)).replace("{total}",String(currentRecord.total)))||"已处理 ".concat(currentRecord.success+currentRecord.failed," / ").concat(currentRecord.total," 条数据")))),React.createElement(Progress,{percent:progressPercent,strokeColor:token.colorInfo,showInfo:true})),React.createElement(Row,{gutter:token.margin,style:{marginInline:0}},React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorBgContainer})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorText})},currentRecord.total),React.createElement("p",{style:statLabelStyle},messages.imports.detail.stats.total))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorSuccessBg,borderColor:token.colorSuccessBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorSuccess})},currentRecord.success),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorSuccessText})},messages.imports.detail.stats.success))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorErrorBg,borderColor:token.colorErrorBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorError})},currentRecord.failed),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorErrorText})},messages.imports.detail.stats.failed))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorInfoBg,borderColor:token.colorInfoBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorInfo})},successRate,"%"),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorInfoText})},messages.imports.importResult.successRate||"成功率")))));var failedTableNode=currentRecord.failed>0&&queryImportErrors&¤tStatus!=="processing"?React.createElement("div",null,React.createElement(ProTable,_object_spread({rowKey:"id",columns:finalErrorColumns,request:errorRequest,search:false,pagination:{defaultPageSize:10,showSizeChanger:true,showQuickJumper:true},size:"small",showCreateBtn:false,showBatchRemoveBtn:false,showViewBtn:false,showUpdateBtn:false,showRemoveBtn:false,rowButtonItems:[],headerButtonItems:[{key:"title",label:messages.imports.detail.failedDataTitle,icon:React.createElement(ExclamationCircleOutlined,{style:{color:token.colorError}}),isCustom:true,component:React.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},React.createElement(ExclamationCircleOutlined,{style:{color:token.colorError}}),React.createElement("h3",{style:{fontSize:14,fontWeight:600,color:token.colorText,margin:0}},messages.imports.detail.failedDataTitle))}],scroll:{x:800}},errorTableProps))):null;var bodyContent=contentRender?contentRender({record:currentRecord,defaultHeader:headerNode,defaultFailedTable:failedTableNode}):React.createElement(React.Fragment,null,headerNode,failedTableNode,currentStatus==="completed"&¤tRecord.failed===0&&React.createElement(Alert,{message:messages.imports.detail.successAlert,type:"success",icon:React.createElement(CheckCircleOutlined,null)}),currentStatus==="failed"&&React.createElement(Alert,{message:messages.imports.detail.failedAlert.message,description:messages.imports.detail.failedAlert.description,type:"error",icon:React.createElement(CloseCircleOutlined,null)}));return React.createElement(Modal,{title:messages.imports.detail.title,open:open,onCancel:function(){return onOpenChange(false)},footer:null,width:1e3,centered:false,destroyOnHidden:true,styles:{body:{maxHeight:"90vh",overflowY:"auto"}}},React.createElement("div",{style:containerStyle},bodyContent))};
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useMemo,useEffect,useState,useRef,useCallback}from"react";import React from"react";import{Tag,Row,Col,Card,Alert,theme,Descriptions,Progress,Spin}from"antd";import{ProTable}from"../../ProTable";import{Modal}from"../../Modal";import{CheckCircleOutlined,CloseCircleOutlined,ExclamationCircleOutlined,LoadingOutlined}from"@ant-design/icons";import{formatDate}from"../utils/date";import{getContainerStyle,getStatCardStyle,getStatNumberStyle,getStatLabelStyle,getRowNumberStyle}from"../utils/styles";import{useLocale}from"../../locale";import{useImportContextOptional}from"../context/import-context";var useToken=theme.useToken;export var ImportDetailDialog=function(param){var open=param.open,onOpenChange=param.onOpenChange,record=param.record,errorColumns=param.errorColumns,queryImportErrors=param.queryImportErrors,errorTableProps=param.errorTableProps,contentRender=param.contentRender,propsQueryProgress=param.queryProgress,propsPollInterval=param.pollInterval;var _messages_imports_detail_processingDescription;var token=useToken().token;var messages=useLocale().messages;var context=useImportContextOptional();var queryProgress=propsQueryProgress!==null&&propsQueryProgress!==void 0?propsQueryProgress:context===null||context===void 0?void 0:context.queryProgress;var _ref;var pollInterval=(_ref=propsPollInterval!==null&&propsPollInterval!==void 0?propsPollInterval:context===null||context===void 0?void 0:context.pollInterval)!==null&&_ref!==void 0?_ref:2e3;var _useState=_sliced_to_array(useState(null),2),currentProgress=_useState[0],setCurrentProgress=_useState[1];var _useState1=_sliced_to_array(useState(record.status),2),currentStatus=_useState1[0],setCurrentStatus=_useState1[1];var _useState2=_sliced_to_array(useState(record),2),currentRecord=_useState2[0],setCurrentRecord=_useState2[1];var pollingRef=useRef(null);var isUnmountedRef=useRef(false);useEffect(function(){setCurrentRecord(record);setCurrentStatus(record.status)},[record]);var queryProgressRef=useRef(queryProgress);var recordIdRef=useRef(record.id);var currentStatusRef=useRef(currentStatus);useEffect(function(){queryProgressRef.current=queryProgress;recordIdRef.current=record.id;currentStatusRef.current=currentStatus},[queryProgress,record.id,currentStatus]);var fetchProgress=useCallback(function(){return _async_to_generator(function(){var progress,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isUnmountedRef.current||!queryProgressRef.current||currentStatusRef.current!=="processing"){return[2]}_state.label=1;case 1:_state.trys.push([1,3,,4]);return[4,queryProgressRef.current(recordIdRef.current)];case 2:progress=_state.sent();if(isUnmountedRef.current)return[2];setCurrentProgress(progress);if(progress.status!==currentStatusRef.current){setCurrentStatus(progress.status);setCurrentRecord(function(prev){var _progress_success,_progress_failed,_progress_total;return _object_spread_props(_object_spread({},prev),{status:progress.status,success:(_progress_success=progress.success)!==null&&_progress_success!==void 0?_progress_success:prev.success,failed:(_progress_failed=progress.failed)!==null&&_progress_failed!==void 0?_progress_failed:prev.failed,total:(_progress_total=progress.total)!==null&&_progress_total!==void 0?_progress_total:prev.total})})}else{setCurrentRecord(function(prev){var _progress_success,_progress_failed,_progress_total;return _object_spread_props(_object_spread({},prev),{success:(_progress_success=progress.success)!==null&&_progress_success!==void 0?_progress_success:prev.success,failed:(_progress_failed=progress.failed)!==null&&_progress_failed!==void 0?_progress_failed:prev.failed,total:(_progress_total=progress.total)!==null&&_progress_total!==void 0?_progress_total:prev.total})})}if(progress.status==="completed"||progress.status==="failed"){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}}return[3,4];case 3:error=_state.sent();console.error("查询导入进度失败:",error);return[3,4];case 4:return[2]}})})()},[]);useEffect(function(){if(!open){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}isUnmountedRef.current=true;return}isUnmountedRef.current=false;if(currentStatus==="processing"&&queryProgress){fetchProgress();pollingRef.current=setInterval(function(){fetchProgress()},pollInterval)}return function(){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}isUnmountedRef.current=true}},[open,currentStatus,queryProgress,pollInterval,fetchProgress]);var formattedCreatedAt=useMemo(function(){if(!record.createdAt)return"";try{var date=new Date(record.createdAt);if(isNaN(date.getTime())){return record.createdAt}return formatDate(date,"YYYY-MM-DD HH:mm:ss")}catch(e){return record.createdAt}},[record.createdAt]);var containerStyle=useMemo(function(){return getContainerStyle(token)},[token]);var statCardStyle=useMemo(function(){return getStatCardStyle(token)},[token]);var statNumberStyle=useMemo(function(){return getStatNumberStyle(token)},[token]);var statLabelStyle=useMemo(function(){return getStatLabelStyle(token)},[token]);var successRate=useMemo(function(){if(currentRecord.total===0)return"0.0";return(currentRecord.success/currentRecord.total*100).toFixed(1)},[currentRecord.success,currentRecord.total]);var defaultErrorColumns=useMemo(function(){return[{title:messages.imports.detail.errorColumns.rowNumber,dataIndex:"row_number",key:"row_number",width:120,valueType:"digit",render:function(_,recordItem){return React.createElement("span",{style:getRowNumberStyle(token)},messages.imports.detail.rowNumberText.replace("{rowNumber}",String(recordItem.row_number)))}},{title:messages.imports.detail.errorColumns.errorType,dataIndex:"error_type",key:"error_type",width:160,valueType:"text"},{title:messages.imports.detail.errorColumns.errorMessage,dataIndex:"error_message",key:"error_message",valueType:"text",ellipsis:true},{title:messages.imports.detail.errorColumns.errorId,dataIndex:"id",key:"id",width:220,valueType:"text",copyable:true}]},[messages]);var finalErrorColumns=useMemo(function(){if(errorColumns&&errorColumns.length>0){return errorColumns}return defaultErrorColumns},[errorColumns,defaultErrorColumns]);var errorRequest=useMemo(function(){if(!queryImportErrors){return function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,{data:[],success:true,total:0}]})})()}}return function(params){return _async_to_generator(function(){var result,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,queryImportErrors(_object_spread({importId:currentRecord.id},params))];case 1:result=_state.sent();return[2,{data:result.list||[],success:true,total:result.total||0}];case 2:error=_state.sent();console.error(messages.imports.detail.queryFailed,error);return[2,{data:[],success:false,total:0}];case 3:return[2]}})})()}},[queryImportErrors,currentRecord.id,messages]);var progressPercent=useMemo(function(){if(currentProgress){return Math.round(currentProgress.progress||0)}if(currentRecord.total>0){return Math.round((currentRecord.success+currentRecord.failed)/currentRecord.total*100)}return 0},[currentProgress,currentRecord]);var headerNode=React.createElement(React.Fragment,null,React.createElement(Descriptions,{column:3,size:"small",labelStyle:{fontSize:token.fontSizeSM,color:token.colorTextSecondary},contentStyle:{fontSize:token.fontSizeSM,color:token.colorText}},React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.importId,span:3},React.createElement("span",{style:{fontFamily:"monospace",fontWeight:token.fontWeightStrong}},currentRecord.id)),React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.currentStatus,span:1},React.createElement("div",null,currentStatus==="completed"&&React.createElement(Tag,{color:"success"},messages.imports.detail.status.completed),currentStatus==="failed"&&React.createElement(Tag,{color:"error"},messages.imports.detail.status.failed),currentStatus==="processing"&&React.createElement(Tag,{color:"processing"},messages.imports.detail.status.processing),currentStatus==="cancelled"&&React.createElement(Tag,{color:"default"},messages.imports.detail.status.cancelled))),React.createElement(Descriptions.Item,{label:messages.imports.detail.labels.importTime,span:2},React.createElement("span",{style:{fontWeight:token.fontWeightStrong}},formattedCreatedAt))),currentStatus==="processing"&&React.createElement("div",{style:{padding:token.padding,background:token.colorInfoBg,borderRadius:token.borderRadius,marginBottom:token.margin,border:"1px solid ".concat(token.colorInfoBorder)}},React.createElement("div",{style:{display:"flex",alignItems:"center",gap:token.marginSM,marginBottom:token.marginSM}},React.createElement(Spin,{indicator:React.createElement(LoadingOutlined,{style:{fontSize:token.fontSizeLG,color:token.colorInfo},spin:true})}),React.createElement("div",{style:{flex:1}},React.createElement("div",{style:{fontSize:token.fontSize,fontWeight:token.fontWeightStrong,color:token.colorText,marginBottom:token.marginXXS}},messages.imports.detail.processingTitle||"正在处理导入任务..."),React.createElement("div",{style:{fontSize:token.fontSizeSM,color:token.colorTextSecondary}},((_messages_imports_detail_processingDescription=messages.imports.detail.processingDescription)===null||_messages_imports_detail_processingDescription===void 0?void 0:_messages_imports_detail_processingDescription.replace("{current}",String(currentRecord.success+currentRecord.failed)).replace("{total}",String(currentRecord.total)))||"已处理 ".concat(currentRecord.success+currentRecord.failed," / ").concat(currentRecord.total," 条数据")))),React.createElement(Progress,{percent:progressPercent,strokeColor:token.colorInfo,showInfo:true})),React.createElement(Row,{gutter:token.margin,style:{marginInline:0}},React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorBgContainer})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorText})},currentRecord.total),React.createElement("p",{style:statLabelStyle},messages.imports.detail.stats.total))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorSuccessBg,borderColor:token.colorSuccessBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorSuccess})},currentRecord.success),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorSuccessText})},messages.imports.detail.stats.success))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorErrorBg,borderColor:token.colorErrorBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorError})},currentRecord.failed),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorErrorText})},messages.imports.detail.stats.failed))),React.createElement(Col,{span:6},React.createElement(Card,{variant:"outlined",styles:{body:_object_spread_props(_object_spread({},statCardStyle),{background:token.colorInfoBg,borderColor:token.colorInfoBorder})}},React.createElement("p",{style:_object_spread_props(_object_spread({},statNumberStyle),{color:token.colorInfo})},successRate,"%"),React.createElement("p",{style:_object_spread_props(_object_spread({},statLabelStyle),{color:token.colorInfoText})},messages.imports.importResult.successRate||"成功率")))));var failedTableNode=currentRecord.failed>0&&queryImportErrors&¤tStatus!=="processing"?React.createElement("div",null,React.createElement(ProTable,_object_spread({rowKey:"id",columns:finalErrorColumns,request:errorRequest,search:false,pagination:{defaultPageSize:10,showSizeChanger:true,showQuickJumper:true},size:"small",showCreateBtn:false,showBatchRemoveBtn:false,showViewBtn:false,showUpdateBtn:false,showRemoveBtn:false,rowButtonItems:[],headerButtonItems:[{key:"title",label:messages.imports.detail.failedDataTitle,icon:React.createElement(ExclamationCircleOutlined,{style:{color:token.colorError}}),isCustom:true,component:React.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},React.createElement(ExclamationCircleOutlined,{style:{color:token.colorError}}),React.createElement("h3",{style:{fontSize:14,fontWeight:600,color:token.colorText,margin:0}},messages.imports.detail.failedDataTitle))}],scroll:{x:800}},errorTableProps))):null;var bodyContent=contentRender?contentRender({record:currentRecord,defaultHeader:headerNode,defaultFailedTable:failedTableNode}):React.createElement(React.Fragment,null,headerNode,failedTableNode,currentStatus==="completed"&¤tRecord.failed===0&&React.createElement(Alert,{message:messages.imports.detail.successAlert,type:"success",icon:React.createElement(CheckCircleOutlined,null)}),currentStatus==="failed"&&React.createElement(Alert,{message:messages.imports.detail.failedAlert.message,description:messages.imports.detail.failedAlert.description,type:"error",icon:React.createElement(CloseCircleOutlined,null)}));return React.createElement(Modal,{title:messages.imports.detail.title,open:open,onCancel:function(){return onOpenChange(false)},footer:null,width:1e3,centered:false,destroyOnHidden:true,styles:{body:{maxHeight:"90vh",overflowY:"auto"}}},React.createElement("div",{style:containerStyle},bodyContent))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useState,useMemo,useCallback}from"react";import{Button,theme}from"antd";import{ProTable}from"../../ProTable";import{Modal}from"../../Modal";import React from"react";import{EyeOutlined}from"@ant-design/icons";import{ImportDetailDialog}from"./import-detail-dialog";import{useImportContextOptional}from"../context/import-context";import{useRef}from"react";import{useLocale}from"../../locale";var useToken=theme.useToken;export var ImportHistoryDialog=function(param){var open=param.open,onOpenChange=param.onOpenChange,customColumns=param.columns,customQueryImportRecords=param.queryImportRecords,tableProps=param.tableProps;var token=useToken().token;var messages=useLocale().messages;var context=useImportContextOptional();var _useState=_sliced_to_array(useState(null),2),selectedRecord=_useState[0],setSelectedRecord=_useState[1];var _useState1=_sliced_to_array(useState(false),2),detailDialogOpen=_useState1[0],setDetailDialogOpen=_useState1[1];var tableRef=useRef(null);var handleViewDetail=useCallback(function(record){setSelectedRecord(record);setDetailDialogOpen(true)},[]);var finalQueryImportRecords=customQueryImportRecords!==null&&customQueryImportRecords!==void 0?customQueryImportRecords:context===null||context===void 0?void 0:context.queryImportRecords;var finalQueryImportErrors=context===null||context===void 0?void 0:context.queryImportErrors;var finalImportErrorColumns=context===null||context===void 0?void 0:context.importErrorColumns;var finalImportErrorTableProps=context===null||context===void 0?void 0:context.importErrorTableProps;var finalImportDetailContentRender=context===null||context===void 0?void 0:context.importDetailContentRender;var defaultColumns=useMemo(function(){return[{title:messages.imports.history.columns.importId,dataIndex:"id",key:"id",hideInSearch:true},{title:messages.imports.history.columns.status,dataIndex:"status",key:"status",hideInSearch:false,valueType:"select",width:150,valueEnum:{completed:{text:messages.imports.history.statusEnum.completed,status:"Success"},failed:{text:messages.imports.history.statusEnum.failed,status:"Error"},processing:{text:messages.imports.history.statusEnum.processing,status:"Processing"},cancelled:{text:messages.imports.history.statusEnum.cancelled,status:"Cancelled"}}},{title:messages.imports.history.columns.total,dataIndex:"total",key:"total",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.success,dataIndex:"success",key:"success",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.failed,dataIndex:"failed",key:"failed",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.importTime,dataIndex:"createdAt",key:"createdAt",hideInSearch:false,valueType:"dateTime",width:200},{title:messages.imports.history.columns.operation,key:"action",hideInSearch:true,width:100,fixed:"right",render:function(_,record){return React.createElement(Button,{variant:"link",color:"primary",size:"small",icon:React.createElement(EyeOutlined,null),onClick:function(){return handleViewDetail(record)}},messages.imports.history.view)}}]},[handleViewDetail,messages]);var finalColumns=useMemo(function(){if(customColumns){return customColumns}return defaultColumns},[customColumns,defaultColumns]);var handleRequest=useMemo(function(){if(!finalQueryImportRecords){return function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,{data:[],success:true,total:0}]})})()}}return function(params){return _async_to_generator(function(){var result,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,finalQueryImportRecords(params)];case 1:result=_state.sent();return[2,{data:result.list||[],success:true,total:result.total||0}];case 2:error=_state.sent();console.error(messages.imports.history.queryFailed,error);return[2,{data:[],success:false,total:0}];case 3:return[2]}})})()}},[finalQueryImportRecords]);return React.createElement(React.Fragment,null,React.createElement(Modal,{title:messages.imports.history.title,open:open,onCancel:function(){return onOpenChange(false)},footer:null,width:1e3,centered:false,destroyOnHidden:true,styles:{body:{padding:"0"}},maskClosable:false},React.createElement(ProTable,_object_spread_props(_object_spread({columns:finalColumns,request:handleRequest,rowKey:"id",ref:tableRef,search:{labelWidth:"auto",defaultCollapsed:false},pagination:{defaultPageSize:10,showSizeChanger:true,showQuickJumper:true},size:"small",showCreateBtn:false,showBatchRemoveBtn:false,showViewBtn:false,showUpdateBtn:false,showRemoveBtn:false,rowButtonItems:[],scroll:{x:1e3}},tableProps),{style:{padding:"".concat(token.paddingSM,"px 0")}}))),selectedRecord&&React.createElement(ImportDetailDialog,{open:detailDialogOpen,onOpenChange:setDetailDialogOpen,record:selectedRecord,errorColumns:finalImportErrorColumns,queryImportErrors:finalQueryImportErrors,errorTableProps:finalImportErrorTableProps,contentRender:finalImportDetailContentRender,queryProgress:context===null||context===void 0?void 0:context.queryProgress,pollInterval:context===null||context===void 0?void 0:context.pollInterval}))};
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useState,useMemo,useCallback}from"react";import{Button,theme}from"antd";import{ProTable}from"../../ProTable";import{Modal}from"../../Modal";import React from"react";import{EyeOutlined}from"@ant-design/icons";import{ImportDetailDialog}from"./import-detail-dialog";import{useImportContextOptional}from"../context/import-context";import{useRef}from"react";import{useLocale}from"../../locale";import{tagRender}from"../../library";var useToken=theme.useToken;export var ImportHistoryDialog=function(param){var open=param.open,onOpenChange=param.onOpenChange,customColumns=param.columns,customQueryImportRecords=param.queryImportRecords,tableProps=param.tableProps;var token=useToken().token;var messages=useLocale().messages;var context=useImportContextOptional();var _useState=_sliced_to_array(useState(null),2),selectedRecord=_useState[0],setSelectedRecord=_useState[1];var _useState1=_sliced_to_array(useState(false),2),detailDialogOpen=_useState1[0],setDetailDialogOpen=_useState1[1];var tableRef=useRef(null);var handleViewDetail=useCallback(function(record){setSelectedRecord(record);setDetailDialogOpen(true)},[]);var finalQueryImportRecords=customQueryImportRecords!==null&&customQueryImportRecords!==void 0?customQueryImportRecords:context===null||context===void 0?void 0:context.queryImportRecords;var finalQueryImportErrors=context===null||context===void 0?void 0:context.queryImportErrors;var finalImportErrorColumns=context===null||context===void 0?void 0:context.importErrorColumns;var finalImportErrorTableProps=context===null||context===void 0?void 0:context.importErrorTableProps;var finalImportDetailContentRender=context===null||context===void 0?void 0:context.importDetailContentRender;var defaultColumns=useMemo(function(){return[{title:messages.imports.history.columns.importId,dataIndex:"id",key:"id",hideInSearch:true},{title:messages.imports.history.columns.status,dataIndex:"status",key:"status",hideInSearch:false,valueType:"select",width:150,valueEnum:{completed:{text:messages.imports.history.statusEnum.completed,color:"success",status:"Success"},failed:{text:messages.imports.history.statusEnum.failed,color:"error",status:"Error"},processing:{text:messages.imports.history.statusEnum.processing,color:"processing",status:"Processing"},cancelled:{text:messages.imports.history.statusEnum.cancelled,color:"default",status:"Cancelled"}},render:tagRender},{title:messages.imports.history.columns.total,dataIndex:"total",key:"total",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.success,dataIndex:"success",key:"success",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.failed,dataIndex:"failed",key:"failed",hideInSearch:true,valueType:"digit",width:150},{title:messages.imports.history.columns.importTime,dataIndex:"createdAt",key:"createdAt",hideInSearch:false,valueType:"dateTime",width:200},{title:messages.imports.history.columns.operation,key:"action",hideInSearch:true,width:100,fixed:"right",render:function(_,record){return React.createElement(Button,{variant:"link",color:"primary",size:"small",icon:React.createElement(EyeOutlined,null),onClick:function(){return handleViewDetail(record)}},messages.imports.history.view)}}]},[handleViewDetail,messages]);var finalColumns=useMemo(function(){if(customColumns){return customColumns}return defaultColumns},[customColumns,defaultColumns]);var handleRequest=useMemo(function(){if(!finalQueryImportRecords){return function(){return _async_to_generator(function(){return _ts_generator(this,function(_state){return[2,{data:[],success:true,total:0}]})})()}}return function(params){return _async_to_generator(function(){var result,error;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,finalQueryImportRecords(params)];case 1:result=_state.sent();return[2,{data:result.list||[],success:true,total:result.total||0}];case 2:error=_state.sent();console.error(messages.imports.history.queryFailed,error);return[2,{data:[],success:false,total:0}];case 3:return[2]}})})()}},[finalQueryImportRecords]);return React.createElement(React.Fragment,null,React.createElement(Modal,{title:messages.imports.history.title,open:open,onCancel:function(){return onOpenChange(false)},footer:null,width:1e3,centered:false,destroyOnHidden:true,styles:{body:{padding:"0"}},maskClosable:false},React.createElement(ProTable,_object_spread_props(_object_spread({columns:finalColumns,request:handleRequest,rowKey:"id",ref:tableRef,search:{labelWidth:"auto",defaultCollapsed:false},pagination:{defaultPageSize:10,showSizeChanger:true,showQuickJumper:true},size:"small",showCreateBtn:false,showBatchRemoveBtn:false,showViewBtn:false,showUpdateBtn:false,showRemoveBtn:false,rowButtonItems:[],scroll:{x:1e3}},tableProps),{style:{padding:"".concat(token.paddingSM,"px 0")}}))),selectedRecord&&React.createElement(ImportDetailDialog,{open:detailDialogOpen,onOpenChange:setDetailDialogOpen,record:selectedRecord,errorColumns:finalImportErrorColumns,queryImportErrors:finalQueryImportErrors,errorTableProps:finalImportErrorTableProps,contentRender:finalImportDetailContentRender,queryProgress:context===null||context===void 0?void 0:context.queryProgress,pollInterval:context===null||context===void 0?void 0:context.pollInterval}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useEffect,useState,useRef,useCallback,memo,useMemo}from"react";import{Spin,Button,theme,message}from"antd";import React from"react";import{LoadingOutlined,HistoryOutlined,CloseOutlined}from"@ant-design/icons";import{ImportHistoryDialog}from"./import-history-dialog";import{handleImportError}from"../utils/error-handler";import{getContainerStyle,getCenterContentStyle,getTextCenterStyle,getTitleStyle,getButtonGroupStyle}from"../utils/styles";import{useImportContextOptional}from"../context/import-context";import{useLocale}from"../../locale";var useToken=theme.useToken;export var ImportProgressStep=memo(function(param){var importId=param.importId,uploadResult=param.uploadResult,onComplete=param.onComplete,onClose=param.onClose,propsOnCancel=param.onCancel,propsQueryProgress=param.queryProgress,propsCancelImport=param.cancelImport,propsPollInterval=param.pollInterval,propsImportProgressStepRender=param.importProgressStepRender;var context=useImportContextOptional();var queryProgress=propsQueryProgress!==null&&propsQueryProgress!==void 0?propsQueryProgress:context===null||context===void 0?void 0:context.queryProgress;var cancelImport=propsCancelImport!==null&&propsCancelImport!==void 0?propsCancelImport:context===null||context===void 0?void 0:context.cancelImport;var _ref;var pollInterval=(_ref=propsPollInterval!==null&&propsPollInterval!==void 0?propsPollInterval:context===null||context===void 0?void 0:context.pollInterval)!==null&&_ref!==void 0?_ref:2e3;var importProgressStepRender=propsImportProgressStepRender!==null&&propsImportProgressStepRender!==void 0?propsImportProgressStepRender:context===null||context===void 0?void 0:context.importProgressStepRender;var messages=useLocale().messages;var token=useToken().token;var _useState=_sliced_to_array(useState(null),2),progressInfo=_useState[0],setProgressInfo=_useState[1];var _useState1=_sliced_to_array(useState(false),2),historyDialogOpen=_useState1[0],setHistoryDialogOpen=_useState1[1];var _useState2=_sliced_to_array(useState(false),2),isCancelling=_useState2[0],setIsCancelling=_useState2[1];var pollingRef=useRef(null);var isUnmountedRef=useRef(false);var isCompletedRef=useRef(false);var hasShownErrorRef=useRef(false);var queryProgressRef=useRef(queryProgress);var cancelImportRef=useRef(cancelImport);var importIdRef=useRef(importId);var uploadResultRef=useRef(uploadResult);var onCompleteRef=useRef(onComplete);var onCancelRef=useRef(propsOnCancel);useEffect(function(){queryProgressRef.current=queryProgress;cancelImportRef.current=cancelImport;importIdRef.current=importId;uploadResultRef.current=uploadResult;onCompleteRef.current=onComplete;onCancelRef.current=propsOnCancel},[queryProgress,cancelImport,importId,uploadResult,onComplete,propsOnCancel]);var stopPolling=useCallback(function(){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}},[]);var handleComplete=useCallback(function(progress){if(isCompletedRef.current)return;isCompletedRef.current=true;stopPolling();var result={importId:progress.importId,total:progress.total||0,success:progress.success||0,failed:progress.failed||0,message:progress.message||(progress.status==="completed"?messages.imports.importProgress.importCompleted:messages.imports.importProgress.importFailed)};onCompleteRef.current(result)},[stopPolling]);var fetchProgress=useCallback(function(){return _async_to_generator(function(){var currentQueryProgress,result,error,errorMessage;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isUnmountedRef.current||isCompletedRef.current)return[2];currentQueryProgress=queryProgressRef.current;if(!currentQueryProgress){stopPolling();return[2]}_state.label=1;case 1:_state.trys.push([1,3,,4]);return[4,currentQueryProgress(importIdRef.current,uploadResultRef.current)];case 2:result=_state.sent();if(isUnmountedRef.current)return[2];setProgressInfo(result);if(result.status==="completed"||result.status==="failed"){handleComplete(result)}return[3,4];case 3:error=_state.sent();if(isUnmountedRef.current)return[2];errorMessage=handleImportError(error,messages.imports.importProgress.queryProgressFailed);if(!hasShownErrorRef.current){hasShownErrorRef.current=true;message.error(errorMessage)}return[3,4];case 4:return[2]}})})()},[handleComplete,stopPolling]);useEffect(function(){isUnmountedRef.current=false;isCompletedRef.current=false;hasShownErrorRef.current=false;if(!queryProgress){var errorMsg=messages.imports.importProgress.queryProgressNotConfigured;var errorProgress={importId:importId,progress:0,status:"failed",total:0,success:0,failed:0,message:errorMsg};handleComplete(errorProgress);return function(){isUnmountedRef.current=true}}fetchProgress();pollingRef.current=setInterval(function(){fetchProgress()},pollInterval);return function(){isUnmountedRef.current=true;stopPolling()}},[pollInterval,queryProgress]);var containerStyle=useMemo(function(){return getContainerStyle(token)},[token]);var centerContentStyle=useMemo(function(){return getCenterContentStyle(token)},[token]);var textCenterStyle=useMemo(function(){return getTextCenterStyle()},[]);var titleStyle=useMemo(function(){return getTitleStyle(token,"small")},[token]);var buttonGroupStyle=useMemo(function(){return getButtonGroupStyle(token)},[token]);var renderDefaultProgress=useCallback(function(){return React.createElement("div",{style:centerContentStyle},React.createElement(Spin,{indicator:React.createElement(LoadingOutlined,{style:{fontSize:token.fontSizeXL*1.5,color:token.colorPrimary},spin:true})}),React.createElement("div",{style:textCenterStyle},React.createElement("div",{style:titleStyle},messages.imports.importProgress.title)))},[token.colorPrimary,centerContentStyle,textCenterStyle,titleStyle]);var handleOpenHistory=useCallback(function(){setHistoryDialogOpen(true)},[]);var handleCancel=useCallback(function(){return _async_to_generator(function(){var cancelResult,error,errorMessage;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isCancelling||isCompletedRef.current)return[2];setIsCancelling(true);stopPolling();_state.label=1;case 1:_state.trys.push([1,4,,5]);if(!cancelImportRef.current)return[3,3];return[4,cancelImportRef.current(importIdRef.current,uploadResultRef.current)];case 2:_state.sent();_state.label=3;case 3:cancelResult={importId:importIdRef.current,success:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.success)||0,failed:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.failed)||0,total:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.total)||0,message:messages.imports.importProgress.importCancelled||"导入已取消"};onCompleteRef.current(cancelResult);return[3,5];case 4:error=_state.sent();errorMessage=handleImportError(error,messages.imports.importProgress.cancelFailed||"取消导入失败");message.error(errorMessage);setIsCancelling(false);if(queryProgressRef.current){pollingRef.current=setInterval(function(){fetchProgress()},pollInterval)}return[3,5];case 5:return[2]}})})()},[isCancelling,stopPolling,progressInfo,pollInterval,fetchProgress,messages]);return React.createElement(React.Fragment,null,React.createElement("div",{style:containerStyle},importProgressStepRender?importProgressStepRender(progressInfo||{},uploadResult||{}):renderDefaultProgress(),React.createElement("div",{style:buttonGroupStyle},onClose&&React.createElement(Button,{onClick:onClose,style:{background:"transparent"}},messages.imports.importProgress.closeWindow),React.createElement(Button,{type:"primary",icon:React.createElement(HistoryOutlined,null),onClick:handleOpenHistory},messages.imports.importProgress.viewHistory),(cancelImport||propsOnCancel)&&!isCancelling&&(!progressInfo||progressInfo.status==="processing")&&React.createElement(Button,{danger:true,icon:React.createElement(CloseOutlined,null),onClick:propsOnCancel||handleCancel},messages.imports.importProgress.cancelImport||"取消导入")),isCancelling&&React.createElement("div",{style:{padding:token.paddingSM,background:token.colorWarningBg,borderRadius:token.borderRadius,textAlign:"center",color:token.colorWarningText,fontSize:token.fontSizeSM}},messages.imports.importProgress.cancelling||"正在取消导入任务,请稍候...")),React.createElement(ImportHistoryDialog,{open:historyDialogOpen,onOpenChange:setHistoryDialogOpen}))});ImportProgressStep.displayName="ImportProgressStep";
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}import{useEffect,useState,useRef,useCallback,memo,useMemo}from"react";import{Spin,theme,message}from"antd";import React from"react";import{LoadingOutlined,HistoryOutlined,CloseOutlined}from"@ant-design/icons";import{ImportHistoryDialog}from"./import-history-dialog";import{handleImportError}from"../utils/error-handler";import{getContainerStyle,getCenterContentStyle,getTextCenterStyle,getTitleStyle,getButtonGroupStyle}from"../utils/styles";import{useImportContextOptional}from"../context/import-context";import{useLocale}from"../../locale";import{Button}from"../../Button";var useToken=theme.useToken;export var ImportProgressStep=memo(function(param){var importId=param.importId,uploadResult=param.uploadResult,onComplete=param.onComplete,onClose=param.onClose,propsOnCancel=param.onCancel,propsQueryProgress=param.queryProgress,propsCancelImport=param.cancelImport,propsPollInterval=param.pollInterval,propsImportProgressStepRender=param.importProgressStepRender;var context=useImportContextOptional();var queryProgress=propsQueryProgress!==null&&propsQueryProgress!==void 0?propsQueryProgress:context===null||context===void 0?void 0:context.queryProgress;var cancelImport=propsCancelImport!==null&&propsCancelImport!==void 0?propsCancelImport:context===null||context===void 0?void 0:context.cancelImport;var _ref;var pollInterval=(_ref=propsPollInterval!==null&&propsPollInterval!==void 0?propsPollInterval:context===null||context===void 0?void 0:context.pollInterval)!==null&&_ref!==void 0?_ref:2e3;var importProgressStepRender=propsImportProgressStepRender!==null&&propsImportProgressStepRender!==void 0?propsImportProgressStepRender:context===null||context===void 0?void 0:context.importProgressStepRender;var messages=useLocale().messages;var token=useToken().token;var _useState=_sliced_to_array(useState(null),2),progressInfo=_useState[0],setProgressInfo=_useState[1];var _useState1=_sliced_to_array(useState(false),2),historyDialogOpen=_useState1[0],setHistoryDialogOpen=_useState1[1];var _useState2=_sliced_to_array(useState(false),2),isCancelling=_useState2[0],setIsCancelling=_useState2[1];var pollingRef=useRef(null);var isUnmountedRef=useRef(false);var isCompletedRef=useRef(false);var hasShownErrorRef=useRef(false);var queryProgressRef=useRef(queryProgress);var cancelImportRef=useRef(cancelImport);var importIdRef=useRef(importId);var uploadResultRef=useRef(uploadResult);var onCompleteRef=useRef(onComplete);var onCancelRef=useRef(propsOnCancel);useEffect(function(){queryProgressRef.current=queryProgress;cancelImportRef.current=cancelImport;importIdRef.current=importId;uploadResultRef.current=uploadResult;onCompleteRef.current=onComplete;onCancelRef.current=propsOnCancel},[queryProgress,cancelImport,importId,uploadResult,onComplete,propsOnCancel]);var stopPolling=useCallback(function(){if(pollingRef.current){clearInterval(pollingRef.current);pollingRef.current=null}},[]);var handleComplete=useCallback(function(progress){if(isCompletedRef.current)return;isCompletedRef.current=true;stopPolling();var result={importId:progress.importId,status:progress.status,total:progress.total||0,success:progress.success||0,failed:progress.failed||0,message:progress.message||(progress.status==="completed"?messages.imports.importProgress.importCompleted:progress.status==="cancelled"?messages.imports.importProgress.importCancelled||"导入已取消":messages.imports.importProgress.importFailed)};onCompleteRef.current(result)},[stopPolling,messages]);var fetchProgress=useCallback(function(){return _async_to_generator(function(){var currentQueryProgress,result,error,errorMessage;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isUnmountedRef.current||isCompletedRef.current)return[2];currentQueryProgress=queryProgressRef.current;if(!currentQueryProgress){stopPolling();return[2]}_state.label=1;case 1:_state.trys.push([1,3,,4]);return[4,currentQueryProgress(importIdRef.current,uploadResultRef.current)];case 2:result=_state.sent();if(isUnmountedRef.current)return[2];setProgressInfo(result);if(result.status==="completed"||result.status==="failed"||result.status==="cancelled"){handleComplete(result)}return[3,4];case 3:error=_state.sent();if(isUnmountedRef.current)return[2];errorMessage=handleImportError(error,messages.imports.importProgress.queryProgressFailed);if(!hasShownErrorRef.current){hasShownErrorRef.current=true;message.error(errorMessage)}return[3,4];case 4:return[2]}})})()},[handleComplete,stopPolling]);useEffect(function(){isUnmountedRef.current=false;isCompletedRef.current=false;hasShownErrorRef.current=false;if(!queryProgress){var errorMsg=messages.imports.importProgress.queryProgressNotConfigured;var errorProgress={importId:importId,progress:0,status:"failed",total:0,success:0,failed:0,message:errorMsg};handleComplete(errorProgress);return function(){isUnmountedRef.current=true}}fetchProgress();pollingRef.current=setInterval(function(){fetchProgress()},pollInterval);return function(){isUnmountedRef.current=true;stopPolling()}},[pollInterval,queryProgress]);var containerStyle=useMemo(function(){return getContainerStyle(token)},[token]);var centerContentStyle=useMemo(function(){return getCenterContentStyle(token)},[token]);var textCenterStyle=useMemo(function(){return getTextCenterStyle()},[]);var titleStyle=useMemo(function(){return getTitleStyle(token,"small")},[token]);var buttonGroupStyle=useMemo(function(){return getButtonGroupStyle(token)},[token]);var renderDefaultProgress=useCallback(function(){return React.createElement("div",{style:centerContentStyle},React.createElement(Spin,{indicator:React.createElement(LoadingOutlined,{style:{fontSize:token.fontSizeXL*1.5,color:token.colorPrimary},spin:true})}),React.createElement("div",{style:textCenterStyle},React.createElement("div",{style:titleStyle},messages.imports.importProgress.title)))},[token.colorPrimary,centerContentStyle,textCenterStyle,titleStyle]);var handleOpenHistory=useCallback(function(){setHistoryDialogOpen(true)},[]);var handleCancel=useCallback(function(){return _async_to_generator(function(){var cancelResult,error,errorMessage;return _ts_generator(this,function(_state){switch(_state.label){case 0:if(isCancelling||isCompletedRef.current)return[2];setIsCancelling(true);stopPolling();_state.label=1;case 1:_state.trys.push([1,4,,5]);if(!cancelImportRef.current)return[3,3];return[4,cancelImportRef.current(importIdRef.current,uploadResultRef.current)];case 2:_state.sent();_state.label=3;case 3:isCompletedRef.current=true;cancelResult={importId:importIdRef.current,status:"cancelled",success:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.success)||0,failed:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.failed)||0,total:(progressInfo===null||progressInfo===void 0?void 0:progressInfo.total)||0,message:messages.imports.importProgress.importCancelled||"导入已取消"};onCompleteRef.current(cancelResult);return[3,5];case 4:error=_state.sent();errorMessage=handleImportError(error,messages.imports.importProgress.cancelFailed||"取消导入失败");message.error(errorMessage);setIsCancelling(false);if(queryProgressRef.current){pollingRef.current=setInterval(function(){fetchProgress()},pollInterval)}return[3,5];case 5:return[2]}})})()},[isCancelling,stopPolling,progressInfo,pollInterval,fetchProgress,messages]);return React.createElement(React.Fragment,null,React.createElement("div",{style:containerStyle},importProgressStepRender?importProgressStepRender(progressInfo||{},uploadResult||{}):renderDefaultProgress(),React.createElement("div",{style:buttonGroupStyle},onClose&&React.createElement(Button,{onClick:onClose,style:{background:"transparent"}},messages.imports.importProgress.closeWindow),React.createElement(Button,{type:"primary",icon:React.createElement(HistoryOutlined,null),onClick:handleOpenHistory},messages.imports.importProgress.viewHistory),(cancelImport||propsOnCancel)&&!isCancelling&&(!progressInfo||progressInfo.status==="processing")&&React.createElement(Button,{danger:true,icon:React.createElement(CloseOutlined,null),onClick:propsOnCancel||handleCancel},messages.imports.importProgress.cancelImport||"取消导入")),isCancelling&&React.createElement("div",{style:{padding:token.paddingSM,background:token.colorWarningBg,borderRadius:token.borderRadius,textAlign:"center",color:token.colorWarningText,fontSize:token.fontSizeSM}},messages.imports.importProgress.cancelling||"正在取消导入任务,请稍候...")),React.createElement(ImportHistoryDialog,{open:historyDialogOpen,onOpenChange:setHistoryDialogOpen}))});ImportProgressStep.displayName="ImportProgressStep";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useState,useMemo,memo,useCallback}from"react";import React from"react";import{Card,Button,Row,Col,theme,Alert}from"antd";import{CheckCircleOutlined,CloseCircleOutlined,HistoryOutlined}from"@ant-design/icons";import{ImportHistoryDialog}from"./import-history-dialog";import{StatCard}from"./stat-card";import{getContainerStyle,getCenterContentStyle,getTextCenterStyle,getTitleStyle,getSubtitleStyle,getSummaryCardStyle,getSummaryTitleStyle,getSummaryItemStyle,getButtonGroupStyle,getIconContainerStyle,getIconSmallStyle}from"../utils/styles";import{useLocale}from"../../locale";var useToken=theme.useToken;export var ImportResultStep=memo(function(param){var result=param.result,onClose=param.onClose;var token=useToken().token;var messages=useLocale().messages;var _useState=_sliced_to_array(useState(false),2),historyDialogOpen=_useState[0],setHistoryDialogOpen=_useState[1];var successRate=useMemo(function(){if(result.total===0)return"0.0";return(result.success/result.total*100).toFixed(1)},[result.success,result.total]);var
|
|
1
|
+
function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import{useState,useMemo,memo,useCallback}from"react";import React from"react";import{Card,Button,Row,Col,theme,Alert}from"antd";import{CheckCircleOutlined,CloseCircleOutlined,HistoryOutlined}from"@ant-design/icons";import{ImportHistoryDialog}from"./import-history-dialog";import{StatCard}from"./stat-card";import{getContainerStyle,getCenterContentStyle,getTextCenterStyle,getTitleStyle,getSubtitleStyle,getSummaryCardStyle,getSummaryTitleStyle,getSummaryItemStyle,getButtonGroupStyle,getIconContainerStyle,getIconSmallStyle}from"../utils/styles";import{useLocale}from"../../locale";var useToken=theme.useToken;export var ImportResultStep=memo(function(param){var result=param.result,onClose=param.onClose;var token=useToken().token;var messages=useLocale().messages;var _useState=_sliced_to_array(useState(false),2),historyDialogOpen=_useState[0],setHistoryDialogOpen=_useState[1];var successRate=useMemo(function(){if(result.total===0)return"0.0";return(result.success/result.total*100).toFixed(1)},[result.success,result.total]);var isCancelled=useMemo(function(){return result.status==="cancelled"},[result.status]);var isError=useMemo(function(){return!isCancelled&&result.total===0&&result.success===0&&result.failed===0},[isCancelled,result.total,result.success,result.failed]);var containerStyle=useMemo(function(){return getContainerStyle(token)},[token]);var centerContentStyle=useMemo(function(){return getCenterContentStyle(token,true)},[token]);var textCenterStyle=useMemo(function(){return getTextCenterStyle()},[]);var titleStyle=useMemo(function(){return getTitleStyle(token,"medium")},[token]);var subtitleStyle=useMemo(function(){return getSubtitleStyle(token)},[token]);var summaryCardStyle=useMemo(function(){return getSummaryCardStyle(token)},[token]);var summaryTitleStyle=useMemo(function(){return getSummaryTitleStyle(token)},[token]);var summaryItemStyle=useMemo(function(){return getSummaryItemStyle(token)},[token]);var buttonGroupStyle=useMemo(function(){return getButtonGroupStyle(token)},[token]);var iconContainerStyle=useMemo(function(){return getIconContainerStyle()},[]);var iconSmallStyle=useMemo(function(){return getIconSmallStyle(token)},[token]);var handleOpenHistory=useCallback(function(){setHistoryDialogOpen(true)},[]);return React.createElement(React.Fragment,null,React.createElement("div",{style:containerStyle},React.createElement("div",{style:centerContentStyle},isCancelled?React.createElement(CloseCircleOutlined,{style:{fontSize:token.fontSizeXL*3,color:token.colorWarning}}):isError?React.createElement(CloseCircleOutlined,{style:{fontSize:token.fontSizeXL*3,color:token.colorError}}):result.failed===0?React.createElement(CheckCircleOutlined,{style:{fontSize:token.fontSizeXL*3,color:token.colorSuccess}}):React.createElement("div",{style:iconContainerStyle},React.createElement(CheckCircleOutlined,{style:{fontSize:token.fontSizeXL*3,color:token.colorSuccess}}),React.createElement(CloseCircleOutlined,{style:_object_spread({fontSize:token.fontSizeXL*1.5,color:token.colorError},iconSmallStyle)})),React.createElement("div",{style:textCenterStyle},React.createElement("p",{style:titleStyle},isCancelled?messages.imports.importResult.importCancelled:isError?messages.imports.importResult.importFailed:result.failed===0?messages.imports.importResult.importSuccess:messages.imports.importResult.importCompleted),result.importId&&React.createElement("p",{style:subtitleStyle},messages.imports.importResult.importIdLabel.replace("{id}",result.importId)))),!isError&&React.createElement(Row,{gutter:16},React.createElement(Col,{span:8},React.createElement(StatCard,{value:result.total,label:messages.imports.importResult.total,type:"total"})),React.createElement(Col,{span:8},React.createElement(StatCard,{value:result.success,label:messages.imports.importResult.success,type:"success"})),React.createElement(Col,{span:8},React.createElement(StatCard,{value:result.failed,label:messages.imports.importResult.failed,type:"failed"}))),React.createElement(Card,{variant:"outlined",styles:{body:summaryCardStyle},style:{marginTop:token.marginSM}},React.createElement("h4",{style:summaryTitleStyle},isError?messages.imports.importResult.errorTitle:messages.imports.importResult.summaryTitle),React.createElement("div",null,isError?React.createElement(Alert,{message:result.message||messages.imports.importResult.importFailed,type:"error",showIcon:true}):React.createElement(React.Fragment,null,React.createElement("div",{style:summaryItemStyle},React.createElement("span",{style:{color:token.colorTextSecondary}},messages.imports.importResult.successRate),React.createElement("span",{style:{fontWeight:token.fontWeightStrong,color:token.colorText}},successRate,"%")),React.createElement("div",{style:summaryItemStyle},React.createElement("span",{style:{color:token.colorTextSecondary}},messages.imports.importResult.status),React.createElement("span",{style:{fontWeight:token.fontWeightStrong,color:token.colorText}},result.message)),result.failed>0&&React.createElement(Alert,{message:messages.imports.importResult.failedAlert.replace("{count}",String(result.failed)),type:"error",style:{marginTop:token.marginSM}})))),React.createElement("div",{style:buttonGroupStyle},onClose&&React.createElement(Button,{onClick:onClose,style:{background:"transparent"}},messages.imports.importResult.close),React.createElement(Button,{type:"primary",icon:React.createElement(HistoryOutlined,null),onClick:handleOpenHistory},messages.imports.importResult.viewHistory))),React.createElement(ImportHistoryDialog,{open:historyDialogOpen,onOpenChange:setHistoryDialogOpen}))});ImportResultStep.displayName="ImportResultStep";
|
package/dist/imports/types.d.ts
CHANGED
package/dist/library/index.d.ts
CHANGED
package/dist/library/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}export*from"./db";export*from"./file";export*from"./string";export*from"./form";export*from"./is";export var waitTime=function(){var time=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;return new Promise(function(resolve){setTimeout(function(){resolve(true)},time)})};export var returnFalse=function(fn){return _async_to_generator(function(){var result,e;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,fn()];case 1:result=_state.sent();if(result===false){return[2,false]}return[2,true];case 2:e=_state.sent();return[2,false];case 3:return[2]}})})()};
|
|
1
|
+
function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g["throw"]=verb(1),g["return"]=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}}export*from"./db";export*from"./file";export*from"./string";export*from"./form";export*from"./is";export*from"./table";export var waitTime=function(){var time=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;return new Promise(function(resolve){setTimeout(function(){resolve(true)},time)})};export var returnFalse=function(fn){return _async_to_generator(function(){var result,e;return _ts_generator(this,function(_state){switch(_state.label){case 0:_state.trys.push([0,2,,3]);return[4,fn()];case 1:result=_state.sent();if(result===false){return[2,false]}return[2,true];case 2:e=_state.sent();return[2,false];case 3:return[2]}})})()};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { TagProps } from "antd";
|
|
3
|
+
/** Option 选项类型 */
|
|
4
|
+
export interface OptionItem {
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
value: string | number | boolean;
|
|
7
|
+
color?: string;
|
|
8
|
+
/** Tag 组件的其他 props */
|
|
9
|
+
tagProps?: Omit<TagProps, "color" | "children">;
|
|
10
|
+
}
|
|
11
|
+
/** ValueEnum 枚举项类型 */
|
|
12
|
+
export interface ValueEnumItem {
|
|
13
|
+
text: ReactNode;
|
|
14
|
+
color?: string;
|
|
15
|
+
status?: "success" | "error" | "processing" | "warning" | "default";
|
|
16
|
+
/** Tag 组件的其他 props */
|
|
17
|
+
tagProps?: Omit<TagProps, "color" | "children">;
|
|
18
|
+
}
|
|
19
|
+
/** 列配置类型 */
|
|
20
|
+
export interface TagRenderColumn {
|
|
21
|
+
dataIndex?: string | number | readonly (string | number)[];
|
|
22
|
+
fieldProps?: {
|
|
23
|
+
options?: OptionItem[];
|
|
24
|
+
[key: string]: unknown;
|
|
25
|
+
};
|
|
26
|
+
valueEnum?: Record<string, ValueEnumItem | ReactNode>;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* ProTable 列 Tag 渲染函数
|
|
31
|
+
*
|
|
32
|
+
* 支持从 `options` 或 `valueEnum` 中获取标签配置,自动匹配颜色和文本。
|
|
33
|
+
* 支持数组值(多选场景),会渲染多个 Tag。
|
|
34
|
+
*
|
|
35
|
+
* @param text - 单元格文本(ProTable 默认传入)
|
|
36
|
+
* @param record - 行数据
|
|
37
|
+
* @param _index - 行索引
|
|
38
|
+
* @param _action - ProTable action
|
|
39
|
+
* @param column - 列配置
|
|
40
|
+
* @returns 渲染的 Tag 组件
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* const columns = [
|
|
45
|
+
* {
|
|
46
|
+
* title: '状态',
|
|
47
|
+
* dataIndex: 'status',
|
|
48
|
+
* render: tagRender,
|
|
49
|
+
* valueEnum: {
|
|
50
|
+
* active: { text: '活跃', color: 'green' },
|
|
51
|
+
* inactive: { text: '禁用', color: 'red' },
|
|
52
|
+
* },
|
|
53
|
+
* },
|
|
54
|
+
* ];
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare const tagRender: (_text: ReactNode, record: Record<string, unknown>, _index: number, _action: unknown, column: TagRenderColumn) => ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _type_of(obj){"@swc/helpers - typeof";return obj&&typeof Symbol!=="undefined"&&obj.constructor===Symbol?"symbol":typeof obj}import{Tag,Space}from"antd";import React from"react";var findOptionItem=function(options,value){if(!(options===null||options===void 0?void 0:options.length))return undefined;return options.find(function(opt){return opt.value===value})};var getEnumItem=function(valueEnum,value){if(!valueEnum||value==null)return undefined;var item=valueEnum[String(value)];if(!item)return undefined;if(typeof item==="string"||typeof item==="number"){return{text:item}}if((typeof item==="undefined"?"undefined":_type_of(item))==="object"&&item!==null&&"text"in item){return item}return{text:item}};var renderSingleTag=function(value,options,valueEnum){if(value==null||value===""){return null}var optItem=findOptionItem(options,value);if(optItem){return React.createElement(Tag,_object_spread({color:optItem.color},optItem.tagProps),optItem.label)}var enumItem=getEnumItem(valueEnum,value);if(enumItem){return React.createElement(Tag,_object_spread({color:enumItem.color},enumItem.tagProps),enumItem.text)}return React.createElement(Tag,null,String(value))};var getValueByDataIndex=function(record,dataIndex){if(dataIndex==null)return undefined;if(typeof dataIndex==="string"||typeof dataIndex==="number"){return record[dataIndex]}if(Array.isArray(dataIndex)){return dataIndex.reduce(function(obj,key){if(obj&&(typeof obj==="undefined"?"undefined":_type_of(obj))==="object"){return obj[key]}return undefined},record)}return undefined};export var tagRender=function(_text,record,_index,_action,column){var _column_fieldProps;var value=getValueByDataIndex(record,column.dataIndex);var options=column===null||column===void 0?void 0:(_column_fieldProps=column.fieldProps)===null||_column_fieldProps===void 0?void 0:_column_fieldProps.options;var valueEnum=column===null||column===void 0?void 0:column.valueEnum;if(Array.isArray(value)){var tags=value.map(function(v){return renderSingleTag(v,options,valueEnum)}).filter(Boolean);if(tags.length===0)return null;return React.createElement(Space,{size:4,wrap:true},tags.map(function(tag,i){return React.createElement("span",{key:i},tag)}))}return renderSingleTag(value,options,valueEnum)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var local={imports:{primaryText:"Import",secondaryText:"Import History",stepTitles:{upload:"Import Data",uploading:"Upload File",importing:"Import Progress",result:"Import Result"},uploadStep:{defaultTip:"Please ensure the data format matches the template",downloadTitle:"Step 1: Download Template",downloadDescription:"Download the standard template file and fill in the data according to the format",downloadButtonText:"Download Import Template",uploadTitle:"Step 2: Upload File",uploadDescription:"Select the filled data file to upload (supports CSV, Excel formats)",uploadButtonText:"Select File to Upload",dragText:"Drag file here or click to upload",tipsTitle:"Tips:"},uploadProgress:{title:"Uploading file...",progressText:"Upload progress {percent}%",alertMessage:"Do not refresh or close the page",alertDescription:"Closing the page during file upload will cause the upload to fail, please wait patiently"},importProgress:{title:"Importing...",closeWindow:"Close Window",viewHistory:"View Import History",queryProgressFailed:"Failed to query import progress",queryProgressNotConfigured:"Import progress query interface not configured",importCompleted:"Import completed",importFailed:"Import failed"},importResult:{importSuccess:"Import successful!",importCompleted:"Import completed",importFailed:"Import failed",importIdLabel:"Import ID: {id}",total:"Total",success:"Success",failed:"Failed",summaryTitle:"Import Summary",errorTitle:"Error Information",successRate:"Success Rate",status:"Status",failedAlert:"{count} records failed to import, please check details in import history",close:"Close",viewHistory:"View Import History"},history:{title:"Import History",columns:{importId:"Import ID",status:"Status",total:"Total",success:"Success",failed:"Failed",importTime:"Import Time",operation:"Operation"},statusEnum:{completed:"Completed",failed:"Failed",processing:"Processing",cancelled:"Cancelled"},view:"View",queryFailed:"Failed to query import records:"},detail:{title:"Import Details",labels:{importId:"Import ID",currentStatus:"Current Status",importTime:"Import Time"},status:{completed:"Completed",failed:"Failed",processing:"Processing"},stats:{total:"Total",success:"Success",failed:"Failed"},errorColumns:{rowNumber:"Row Number",errorType:"Error Type",errorMessage:"Error Message",errorId:"Error ID"},rowNumberText:"Row {rowNumber}",failedDataTitle:"Failed Data Details",successAlert:"All data imported successfully, no failed records",failedAlert:{message:"Import task failed",description:"Please check if the data format is correct, or contact technical support"},queryFailed:"Failed to query import error records:"},errors:{uploadMethodNotSet:"File upload method not set",uploadFailed:"Upload failed: Import ID not returned",uploadError:"File upload failed, please try again"}},tabSelector:{placeholder:"Click to select items...",confirmSelect:"Confirm Selection ({count})",searchPlaceholder:"Please enter keywords"},beyond:{more:"More"},list:{emptyText:"No data",totalText:"Total {total} items"}};export default local;
|
|
1
|
+
var local={imports:{primaryText:"Import",secondaryText:"Import History",stepTitles:{upload:"Import Data",uploading:"Upload File",importing:"Import Progress",result:"Import Result"},uploadStep:{defaultTip:"Please ensure the data format matches the template",downloadTitle:"Step 1: Download Template",downloadDescription:"Download the standard template file and fill in the data according to the format",downloadButtonText:"Download Import Template",uploadTitle:"Step 2: Upload File",uploadDescription:"Select the filled data file to upload (supports CSV, Excel formats)",uploadButtonText:"Select File to Upload",dragText:"Drag file here or click to upload",tipsTitle:"Tips:"},uploadProgress:{title:"Uploading file...",progressText:"Upload progress {percent}%",alertMessage:"Do not refresh or close the page",alertDescription:"Closing the page during file upload will cause the upload to fail, please wait patiently"},importProgress:{title:"Importing...",closeWindow:"Close Window",viewHistory:"View Import History",queryProgressFailed:"Failed to query import progress",queryProgressNotConfigured:"Import progress query interface not configured",importCompleted:"Import completed",importFailed:"Import failed",importCancelled:"Import cancelled",cancelFailed:"Failed to cancel import",cancelling:"Cancelling import task, please wait..."},importResult:{importSuccess:"Import successful!",importCompleted:"Import completed",importFailed:"Import failed",importCancelled:"Import cancelled",importIdLabel:"Import ID: {id}",total:"Total",success:"Success",failed:"Failed",summaryTitle:"Import Summary",errorTitle:"Error Information",successRate:"Success Rate",status:"Status",failedAlert:"{count} records failed to import, please check details in import history",close:"Close",viewHistory:"View Import History"},history:{title:"Import History",columns:{importId:"Import ID",status:"Status",total:"Total",success:"Success",failed:"Failed",importTime:"Import Time",operation:"Operation"},statusEnum:{completed:"Completed",failed:"Failed",processing:"Processing",cancelled:"Cancelled"},view:"View",queryFailed:"Failed to query import records:"},detail:{title:"Import Details",labels:{importId:"Import ID",currentStatus:"Current Status",importTime:"Import Time"},status:{completed:"Completed",failed:"Failed",processing:"Processing",cancelled:"Cancelled"},stats:{total:"Total",success:"Success",failed:"Failed"},errorColumns:{rowNumber:"Row Number",errorType:"Error Type",errorMessage:"Error Message",errorId:"Error ID"},rowNumberText:"Row {rowNumber}",failedDataTitle:"Failed Data Details",successAlert:"All data imported successfully, no failed records",failedAlert:{message:"Import task failed",description:"Please check if the data format is correct, or contact technical support"},queryFailed:"Failed to query import error records:"},errors:{uploadMethodNotSet:"File upload method not set",uploadFailed:"Upload failed: Import ID not returned",uploadError:"File upload failed, please try again"}},tabSelector:{placeholder:"Click to select items...",confirmSelect:"Confirm Selection ({count})",searchPlaceholder:"Please enter keywords"},beyond:{more:"More"},list:{emptyText:"No data",totalText:"Total {total} items"}};export default local;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var local={switch:{activeText:"启用",inactiveText:"禁用"},form:{text:"请输入",select:"请选择",start:"开始",ended:"结束",reset:"重置",submit:"提交",query:"查询"},table:{createBtnText:"新增",batchRemoveBtnText:"批量删除",batchRemoveModalTitle:"警告",batchRemoveModalContent:"即将删除{count}项数据,删除后无法恢复,是否继续?",createTitle:"新增",updateTitle:"更新",viewTitle:"详情",operateColumnTitle:"操作",viewBtnText:"查看",updateBtnText:"编辑",removeBtnText:"删除",moreBtnText:"更多",removeConfirm:"确定要删除这项吗?",removeTip:"警告?",backText:"返回",pagePt:"请输入添加项",pageAddText:"保存",createSubmitText:"创建",updateSubmitText:"保存",submitText:"提交",cancelText:"取消",closeText:"关闭"},upload:{btnText:"上传",limitSize:"文件大小不能超过 {limit}MB!",uploadFail:"上传失败"},adminTransfer:{unSelectText:"取消选择",selectText:"选择",selectedOption:"已选{length}项",clear:"清空",removeBtnText:"删除"},treeTable:{triggerText:"选择",selectedOption:"已选{length}项",clear:"清空",removeBtnText:"删除",waitSelectListText:"待选列表",selectedListText:"已选列表",searchTextPt:"请输入关键字",selectedText:"已选",unselectedText:"未选",treeTitle:"树型列表"},exports:{text:"导出",progressResText:"正在导出",successResText:"导出成功",errorResText:"导出失败",cancelBtnText:"取消",exportTitle:"导出",retryText:"重试"},treePanel:{selectedText:"已选",clearText:"清空",rootText:"全部",limitText:"最多选择${maxCount}项。",searchPlaceholder:"请输入关键字"},imports:{primaryText:"导入",secondaryText:"导入记录",stepTitles:{upload:"导入数据",uploading:"上传文件",importing:"导入进度",result:"导入结果"},uploadStep:{defaultTip:"请确保数据格式与模板一致",downloadTitle:"第一步:下载模板",downloadDescription:"下载标准模板文件,按照格式填写数据",downloadButtonText:"下载导入模板",uploadTitle:"第二步:上传文件",uploadDescription:"选择填写好的数据文件进行上传(支持 CSV、Excel 格式)",uploadButtonText:"选择文件上传",dragText:"拖拽文件到此处,或点击上传",tipsTitle:"温馨提示:"},uploadProgress:{title:"正在上传文件...",progressText:"上传进度 {percent}%",alertMessage:"请勿刷新或关闭页面",alertDescription:"文件上传过程中关闭页面会导致上传失败,请耐心等待"},importProgress:{title:"正在导入中...",closeWindow:"关闭窗口",viewHistory:"查看导入记录",queryProgressFailed:"查询导入进度失败",queryProgressNotConfigured:"查询导入进度接口未配置",importCompleted:"导入完成",importFailed:"导入失败"},importResult:{importSuccess:"导入成功!",importCompleted:"导入完成",importFailed:"导入失败",importIdLabel:"导入 ID: {id}",total:"总计",success:"成功",failed:"失败",summaryTitle:"导入摘要",errorTitle:"错误信息",successRate:"成功率",status:"状态",failedAlert:"{count} 条数据导入失败,请在导入记录中查看详情",close:"关闭",viewHistory:"查看导入记录"},history:{title:"导入记录",columns:{importId:"导入 ID",status:"状态",total:"总计",success:"成功",failed:"失败",importTime:"导入时间",operation:"操作"},statusEnum:{completed:"已完成",failed:"失败",processing:"处理中",cancelled:"已取消"},view:"查看",queryFailed:"查询导入记录失败:"},detail:{title:"导入详情",labels:{importId:"导入 ID",currentStatus:"当前状态",importTime:"导入时间"},status:{completed:"已完成",failed:"失败",processing:"处理中"},stats:{total:"总计",success:"成功",failed:"失败"},errorColumns:{rowNumber:"行号",errorType:"错误类型",errorMessage:"错误信息",errorId:"错误 ID"},rowNumberText:"第 {rowNumber} 行",failedDataTitle:"失败数据详情",successAlert:"所有数据已成功导入,无失败记录",failedAlert:{message:"导入任务失败",description:"请检查数据格式是否正确,或联系技术支持"},queryFailed:"查询导入失败记录失败:"},errors:{uploadMethodNotSet:"文件上传方法未设置",uploadFailed:"上传失败:未返回导入 ID",uploadError:"文件上传失败,请重试"}},tabSelector:{placeholder:"点击选择项目...",confirmSelect:"确认选择 ({count})",searchPlaceholder:"请输入关键字"},beyond:{more:"更多"},list:{emptyText:"暂无数据",totalText:"共 {total} 条"}};export default local;
|
|
1
|
+
var local={switch:{activeText:"启用",inactiveText:"禁用"},form:{text:"请输入",select:"请选择",start:"开始",ended:"结束",reset:"重置",submit:"提交",query:"查询"},table:{createBtnText:"新增",batchRemoveBtnText:"批量删除",batchRemoveModalTitle:"警告",batchRemoveModalContent:"即将删除{count}项数据,删除后无法恢复,是否继续?",createTitle:"新增",updateTitle:"更新",viewTitle:"详情",operateColumnTitle:"操作",viewBtnText:"查看",updateBtnText:"编辑",removeBtnText:"删除",moreBtnText:"更多",removeConfirm:"确定要删除这项吗?",removeTip:"警告?",backText:"返回",pagePt:"请输入添加项",pageAddText:"保存",createSubmitText:"创建",updateSubmitText:"保存",submitText:"提交",cancelText:"取消",closeText:"关闭"},upload:{btnText:"上传",limitSize:"文件大小不能超过 {limit}MB!",uploadFail:"上传失败"},adminTransfer:{unSelectText:"取消选择",selectText:"选择",selectedOption:"已选{length}项",clear:"清空",removeBtnText:"删除"},treeTable:{triggerText:"选择",selectedOption:"已选{length}项",clear:"清空",removeBtnText:"删除",waitSelectListText:"待选列表",selectedListText:"已选列表",searchTextPt:"请输入关键字",selectedText:"已选",unselectedText:"未选",treeTitle:"树型列表"},exports:{text:"导出",progressResText:"正在导出",successResText:"导出成功",errorResText:"导出失败",cancelBtnText:"取消",exportTitle:"导出",retryText:"重试"},treePanel:{selectedText:"已选",clearText:"清空",rootText:"全部",limitText:"最多选择${maxCount}项。",searchPlaceholder:"请输入关键字"},imports:{primaryText:"导入",secondaryText:"导入记录",stepTitles:{upload:"导入数据",uploading:"上传文件",importing:"导入进度",result:"导入结果"},uploadStep:{defaultTip:"请确保数据格式与模板一致",downloadTitle:"第一步:下载模板",downloadDescription:"下载标准模板文件,按照格式填写数据",downloadButtonText:"下载导入模板",uploadTitle:"第二步:上传文件",uploadDescription:"选择填写好的数据文件进行上传(支持 CSV、Excel 格式)",uploadButtonText:"选择文件上传",dragText:"拖拽文件到此处,或点击上传",tipsTitle:"温馨提示:"},uploadProgress:{title:"正在上传文件...",progressText:"上传进度 {percent}%",alertMessage:"请勿刷新或关闭页面",alertDescription:"文件上传过程中关闭页面会导致上传失败,请耐心等待"},importProgress:{title:"正在导入中...",closeWindow:"关闭窗口",viewHistory:"查看导入记录",queryProgressFailed:"查询导入进度失败",queryProgressNotConfigured:"查询导入进度接口未配置",importCompleted:"导入完成",importFailed:"导入失败",importCancelled:"导入已取消",cancelFailed:"取消导入失败",cancelling:"正在取消导入任务,请稍候..."},importResult:{importSuccess:"导入成功!",importCompleted:"导入完成",importFailed:"导入失败",importCancelled:"导入已取消",importIdLabel:"导入 ID: {id}",total:"总计",success:"成功",failed:"失败",summaryTitle:"导入摘要",errorTitle:"错误信息",successRate:"成功率",status:"状态",failedAlert:"{count} 条数据导入失败,请在导入记录中查看详情",close:"关闭",viewHistory:"查看导入记录"},history:{title:"导入记录",columns:{importId:"导入 ID",status:"状态",total:"总计",success:"成功",failed:"失败",importTime:"导入时间",operation:"操作"},statusEnum:{completed:"已完成",failed:"失败",processing:"处理中",cancelled:"已取消"},view:"查看",queryFailed:"查询导入记录失败:"},detail:{title:"导入详情",labels:{importId:"导入 ID",currentStatus:"当前状态",importTime:"导入时间"},status:{completed:"已完成",failed:"失败",processing:"处理中",cancelled:"已取消"},stats:{total:"总计",success:"成功",failed:"失败"},errorColumns:{rowNumber:"行号",errorType:"错误类型",errorMessage:"错误信息",errorId:"错误 ID"},rowNumberText:"第 {rowNumber} 行",failedDataTitle:"失败数据详情",successAlert:"所有数据已成功导入,无失败记录",failedAlert:{message:"导入任务失败",description:"请检查数据格式是否正确,或联系技术支持"},queryFailed:"查询导入失败记录失败:"},errors:{uploadMethodNotSet:"文件上传方法未设置",uploadFailed:"上传失败:未返回导入 ID",uploadError:"文件上传失败,请重试"}},tabSelector:{placeholder:"点击选择项目...",confirmSelect:"确认选择 ({count})",searchPlaceholder:"请输入关键字"},beyond:{more:"更多"},list:{emptyText:"暂无数据",totalText:"共 {total} 条"}};export default local;
|