nsc-react-component 4.2.5 → 4.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PureComponent","Table","Tree","Button","Modal","Popover","message","EditorForm","cls","DownOutlined","EyeOutlined","EditOutlined","RightOutlined","PlusOutlined","EllipsisOutlined","DeleteOutlined","converFunction","getLess","request","config","getStorage","getButtonPermissons","HeaderSearch","convertColumns","getNewColumns","throttle","styles","BasePage","constructor","props","_type","_size","_defineProperty","createRef","checkedTreeKeys","name","userType","account","state","value","deptId","onSearch","selected","res","key","keys","length","tableWrapperRef","current","tableHeader","getElementsByClassName","headerHeight","getBoundingClientRect","height","tableHeaderHeight","setState","calculateTableHeaderHeight","storePrefix","type","content","size","selectedRowKeys","selectedRowDatas","treeSelectedKey","expand","formType","tableSize","treeSearchPrams","popopens","moreOpen","elementHeight","permissionButtons","queryParams","buttonsLoading","treeWidth","showLeft","componentDidMount","_this$pageContentRef$","initData","permisson","pageContentRef","clientHeight","window","addEventListener","throttleCalculateTableHeaderHeight","setTimeout","componentDidUpdate","prevProps","_this$pageRef$current","pageRef","componentWillUnmount","removeEventListener","setSearchParams","params","callBack","_this$searchRef$curre","searchRef","doSubmit","data","_this$editorRef$curre","label","arguments","undefined","editorRef","showForm","_this$props$formPageP","editorflag","formPageProps","_this$props$formPageP2","funcs","pathname","concat","tableCode","id","history","serviceName","servicePath","Date","getTime","title","_this$editorRef","newValue","_objectSpread","show","hideForm","_this$editorRef$curre2","setLoading","loading","_this$editorRef$curre3","setEditFormValues","_this$editorRef$curre4","setFormValue","getEditFormValues","_this$editorRef$curre5","getFormValue","onDelete","_this$tableRef$curren","_this$tableRef$curren2","deletePosition","deleteUrl","deleteParams","buttonClick","requestParams","requestUrls","requestConfig","_this","tableRef","getSelectedRowKeys","getSelectedRowDatas","url","warning","confirm","onOk","record","ids","Utils","Error","dataParams","otherParams","_objectWithoutProperties","_excluded","defaultParams","method","autoPrefix","join","finalParams","then","code","_this$searchRef","_this$props$onCallBac","_this$props$onCallBac2","success","getSearchValues","onCallBacks","onDeleteCallBack","tableLoad","error","catch","console","log","_tableStore$requestCo","_this$tableRef$curren3","defaultRequestConfig","tableProps","store","tableStore","convertQueryParams","requestConig","storeConfig","storeParams","otherStoreConfig","_excluded2","load","_tableStore$requestCo2","_this$props$onCallBac3","onQueryCallBack","tableReload","_this$tableRef$curren4","autoLoad","reload","callback","_res$data","records","currentPage","_this$tableRef$curren5","treeLoad","_this$treeRef$current","treeRef","_this$tableRef$curren6","_this$tableRef$curren7","setSelectedRowKeys","_this$tableRef$curren8","setSelectedRowDatas","_this$tableRef$curren9","resetSelectedRowKeys","_this$tableRef$curren10","_this$searchRef2","fromValue","getChildrenData","rowKey","resKey","childNodes","children","map","item","index","renderToolButtons","toolbuttons","toolbarFlag","flag","showSearch","_item$props","pageType","onClick","icon","_excluded3","createElement","className","_extends","style","marginLeft","marginRight","placement","open","onOpenChange","renderCloumnButton","columnButtons","rowRecord","actionProps","baseActionColumn","newButtons","showIcon","_item$props2","recordShow","_excluded4","eventOption","Uitls","func","Function","push","e","eval","number","buttonNumber","_item$props3","_excluded5","Number","_item$props4","_excluded6","trigger","treeSelect","selectedKeys","obj","_this$searchRef3","_this$props$onCallBac4","_this$props$onCallBac5","keyword","searchKey","searchField","parantSelect","treeProps","selectedNodes","dataref","attribute","isLeaf","onTreeSelect","treeSelectCallBack","resetSearch","_this$searchRef$curre2","resetFields","getText","text","_props$data","newText","i","setTableData","_this$tableRef$curren11","setData","setTreeData","_this$treeRef$current2","converParams","handleMouseDown","preventDefault","mask","document","cssText","body","appendChild","handleMouseMove","newWidth","screenX","throttledMouseMove","handleMouseUp","getElementById","removeChild","render","_this2","_tableProps$toolbar","_tableProps$toolbar2","_this$props$formPageP3","columns","submitUrl","submitParams","showToolButton","buttons","editorForm","onShowForm","formChangeValid","toolButtonPosition","permission","has","filterColumn","actionColumn","showRowSelection","columnOrder","expandable","tableTitle","othertableParams","_excluded7","newTableStore","_newTableStore$reques","treeStore","treeSearch","titleAlias","treeTitle","othertreeParams","_excluded8","tableParams","listeners","_this$props$onCallBac6","_this$props$onCallBac7","tableLoadCallBack","defaultValue","menuCode","permissons","tableColumn","searchForms","editorForms","toolButtons","formButton","buttonMap","editor","delete","search","returnButton","_buttonMap$code","defaultProps","onEditor","_this2$props$onCallBa","_this2$props$onCallBa2","onEditorCallBack","onSearchCallBack","checkPerssion","indexOf","onAdd","_this$props$onCallBac8","_this$props$onCallBac9","onAddCallBack","bind","danger","Array","isArray","child","_child$props","_child$props2","_child$props3","_child$props4","_child$props5","_child$props6","_child$props7","_item$props5","_item$props6","_item$props7","_item$props8","_item$props9","dataIndex","align","textAlign","width","fixed","reacord","Fragment","searchFlag","tableTool","toolFlag","toolbar","tools","toolHeight","paddingHeight","tableContentHeight","PaginationHeight","pagination","tableHeight","tableSrollHeight","scroll","x","y","ref","pageTitle","display","onMouseDown","checkable","searchable","onSelect","onReset","_this$searchRef$curre3","searchFormProps","expandIcon","_ref","_record$childNodes","_record$childNodes2","expanded","onExpand","onChange","onToolClick","onRefresh","_this$props$onCallBac10","_this$props$onCallBac11","onSumbitCallBack","forms","onSubmit","onHideForm","onFormChange","changeValid","requestObject","addUrl","editorUrl","addParams","editorParams"],"sources":["../../../src/components/page/BasePage/index.tsx"],"sourcesContent":["import React, { PureComponent, ReactNode } from \"react\";\r\nimport Table from \"../../base/table\";\r\nimport Tree from \"../../base/tree\";\r\nimport Button from \"../../base/button\";\r\nimport Modal from \"../../base/modal\";\r\nimport Popover from \"../../base/popover\";\r\nimport message from \"../../base/message\";\r\nimport EditorForm, { FormPageProps } from \"../FormPage/index\";\r\nimport cls from \"classnames\";\r\nimport \"./index.module.less\";\r\nimport Store, { PageStore, StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport {\r\n DownOutlined,\r\n EyeOutlined,\r\n EditOutlined,\r\n RightOutlined,\r\n PlusOutlined,\r\n EllipsisOutlined,\r\n DeleteOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { converFunction, getLess, getNode, simplifyColumns } from \"../../utils\";\r\nimport request from \"nsc-request\";\r\nimport config from \"../../config\";\r\nimport { getStorage, px2vw, getButtonPermissons } from \"@bj-nsc/functions\";\r\nimport HeaderSearch from \"../HeaderSearch\";\r\nimport { PaginationProps } from \"antd\";\r\nimport nscfile from \"nsc-file\";\r\nimport { convertColumns, getNewColumns } from \"./utils\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport throttle from \"lodash/throttle\";\r\nimport CompoundedSpace from \"antd/es/space\";\r\ntype ButtonItem =\r\n | string\r\n | {\r\n code: string;\r\n recordShow?: string | Function;\r\n props?: any;\r\n };\r\n\r\ninterface TableProps {\r\n actionColumn?: boolean; //是否显示操作列\r\n store?: StoreProps;\r\n filterColumn?: boolean; //是否显示过滤按钮\r\n showRowSelection?: boolean; //是否表格勾选列\r\n pagination?: boolean | PaginationProps; //是否显示分页\r\n columnOrder?: boolean; //是否显示表格序列\r\n [propsName: string]: any;\r\n}\r\nconst styles = null;\r\ninterface TreeProps {\r\n store?: StoreProps;\r\n showSearch?: boolean; //是否显示搜索框\r\n searchKey?: string; //搜索value对应的key\r\n searchField?: string; //查询对应的key\r\n titleAlias?: string; //树title对应的key,默认title\r\n nodePorps?: object;\r\n parantSelect?: boolean;\r\n [propsName: string]: any;\r\n}\r\ninterface FormProps extends FormPageProps {}\r\n\r\nexport interface NSCBaseBageProps {\r\n showSearch?: boolean; //是否显示头部搜索栏\r\n tableProps?: TableProps; //表格参数\r\n treeProps?: TreeProps; //左侧树参数\r\n submitParams?: Object; //添加参数,默认mothod:post, 参数通过data传递\r\n submitUrl?: string;\r\n onSubmit?: (value?: any, label?: any) => void;\r\n columns?: Array<Object>;\r\n showLeft?: boolean; //是否显示左侧目录树\r\n showToolButton?: boolean; //是否显示按钮栏\r\n editorForm?: boolean; //是否需要表单功能 , 为false 编辑,查看,新增功能均不可用\r\n deleteUrl?: string; //删除url\r\n onDelete?: (selectedKeys?: Array<string>) => void; //删除参数,默认mothod:post, 参数通过ids拼接传递给后台\r\n deleteParams?: Object;\r\n children?: React.ReactNode;\r\n onSearch?: (value?: any) => void;\r\n onReset?: () => void;\r\n initData?: any; //初始化回调函数,在componentDidMount中调用\r\n buttons?: ButtonItem[]; //按钮集合 ['add','delete','search','editor','delete_batch']\r\n onShowForm?: (value?: any, editorFlag?: string) => void; //打开表单回调\r\n onHideForm?: () => void; //打开表单回调\r\n onFormChange?: (changedValues?: any, allValues?: any) => void; //表单onChange回调\r\n formType?: \"modal\" | \"drawer\" | \"page\";\r\n formChangeValid?: boolean; //表单校验\r\n className?: any;\r\n toolButtonPosition?: \"right\" | \"buttom\";\r\n pageTitle?: string | ReactNode;\r\n actionProps?: {\r\n textAlign?: string;\r\n showIcon?: boolean;\r\n width?: number;\r\n buttonNumber?: number | \"all\";\r\n };\r\n searchFormProps?: { wrapperCol?: any; labelCol?: any };\r\n onTreeSelect?: (value?: any, editorFlag?: string) => void; //打开表单回调\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n tableLoadCallBack?: any; //列表查询回调--load\r\n };\r\n pageType?: \"normal\" | \"tabspage\";\r\n formPageProps?: FormPageProps;\r\n buttonClick?: {\r\n onAdd?: () => void;\r\n onEditor?: (value?: any) => void;\r\n onSearch?: (value?: any) => void;\r\n onDelete?: (value?: any) => void;\r\n };\r\n permission?: {\r\n has?: boolean;\r\n menuCode?: string;\r\n };\r\n requestParams?: {\r\n //需要额外传的固定请求参数\r\n addParams?: Object; //新增固定参数\r\n editorParams?: Object; //编辑固定参数\r\n queryParams?: Object; //查询固定参数\r\n deleteParams?: Object; //删除固定参数\r\n };\r\n requestUrls?: {\r\n addUrl?: string; //新增url\r\n editorUrl?: string; //编辑url\r\n deleteUrl?: string; //删除url\r\n };\r\n funcs?: any;\r\n requestConfig?: any;\r\n [propsName: string]: any;\r\n}\r\n\r\nclass BasePage extends PureComponent<NSCBaseBageProps, any> {\r\n tableRef = React.createRef<any>();\r\n treeRef = React.createRef<any>();\r\n searchRef = React.createRef<any>();\r\n editorRef = React.createRef<any>();\r\n pageRef = React.createRef<any>();\r\n pageContentRef = React.createRef<any>();\r\n dateFormat = {} as any;\r\n tableWrapperRef = React.createRef<HTMLDivElement>();\r\n static convertColumns = convertColumns;\r\n constructor(props: any) {\r\n super(props);\r\n let { storePrefix } = config();\r\n let type = getStorage(\r\n storePrefix ? storePrefix + \"-\" + \"formType\" : \"formType\"\r\n );\r\n type = type?.content;\r\n let size = getStorage(\r\n storePrefix ? storePrefix + \"-\" + \"tableSize\" : \"tableSize\"\r\n );\r\n size = size?.content;\r\n this.state = {\r\n type: \"add\",\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n treeSelectedKey: \"\",\r\n expand: false,\r\n formType: type || \"modal\",\r\n tableSize: size || \"default\",\r\n treeSearchPrams: {},\r\n popopens: {},\r\n moreOpen: false,\r\n elementHeight: 0,\r\n permissionButtons: [],\r\n queryParams: {},\r\n tableHeaderHeight: 0, // 添加表头高度到state\r\n buttonsLoading: {},\r\n treeWidth: this.props.showLeft ? 260 : 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { initData, permisson = {} } = this.props;\r\n const elementHeight = this.pageContentRef.current?.clientHeight;\r\n\r\n // 添加窗口resize监听\r\n window.addEventListener(\"resize\", this.throttleCalculateTableHeaderHeight);\r\n\r\n // 初始计算表头高度\r\n setTimeout(this.calculateTableHeaderHeight, 0);\r\n\r\n this.setState({\r\n elementHeight,\r\n });\r\n initData && initData();\r\n }\r\n componentDidUpdate(prevProps) {\r\n const elementHeight = this.pageRef.current?.clientHeight;\r\n if (elementHeight > this.state.elementHeight) {\r\n this.setState({\r\n elementHeight,\r\n });\r\n }\r\n if (prevProps.showLeft !== this.props.showLeft) {\r\n this.setState({\r\n treeWidth: this.props.showLeft ? 260 : 0,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n // 移除resize监听\r\n window.removeEventListener(\r\n \"resize\",\r\n this.throttleCalculateTableHeaderHeight\r\n );\r\n }\r\n setSearchParams(params, callBack) {\r\n this.searchRef.current?.setSearchParams(params);\r\n callBack && callBack(params);\r\n }\r\n doSubmit(data, label = \"编辑\") {\r\n this.editorRef.current?.doSubmit(data, label);\r\n }\r\n\r\n onSelect = (checkedTreeKeys: any) => {\r\n const { name, userType, account } = this.state;\r\n const value = { name, userType, account, deptId: checkedTreeKeys[0] };\r\n if (this.props.onSearch) {\r\n this.props.onSearch(value);\r\n }\r\n // this.tableLoad(value);\r\n };\r\n\r\n //显示表单\r\n showForm(value?: any, editorflag = \"add\", callBack?: any) {\r\n if (this.props.formPageProps?.formType == \"page\") {\r\n const { funcs = {} } = this.props;\r\n let pathname = `/formpage/${editorflag ? editorflag : \"add\"}/${\r\n this.props.tableCode\r\n }`;\r\n if (editorflag == \"editor\" || editorflag == \"search\") {\r\n pathname = pathname + \"?id=\" + value.id;\r\n }\r\n funcs?.history(\r\n {\r\n pathname: pathname,\r\n serviceName: \"setting-web\",\r\n servicePath: \"/setting\",\r\n id: new Date().getTime() + (value?.id || \"_\") + editorflag,\r\n title:\r\n `【${\r\n editorflag == \"add\"\r\n ? \"新增\"\r\n : editorflag == \"editor\"\r\n ? \"编辑\"\r\n : \"查看\"\r\n }】` + this.props.formPageProps?.title || \"\",\r\n },\r\n \"addTab\"\r\n );\r\n } else {\r\n let newValue = value ? { ...value } : null;\r\n this.editorRef?.current?.show(newValue, editorflag, callBack);\r\n }\r\n }\r\n\r\n //关闭表单\r\n hideForm() {\r\n this.editorRef.current?.hideForm();\r\n }\r\n\r\n setLoading(loading: boolean) {\r\n this.editorRef.current?.setLoading(loading);\r\n }\r\n\r\n setEditFormValues(value, type = \"编辑\") {\r\n this.editorRef.current?.setFormValue(value, type);\r\n }\r\n\r\n getEditFormValues() {\r\n return this.editorRef.current?.getFormValue();\r\n }\r\n\r\n //批量删除\r\n onDelete(data?: any, deletePosition = \"row\") {\r\n const {\r\n deleteUrl,\r\n onDelete,\r\n deleteParams = {},\r\n buttonClick = {},\r\n requestParams = {},\r\n requestUrls = {},\r\n requestConfig = {},\r\n } = this.props;\r\n let _this = this;\r\n const selectedRowKeys = this.tableRef.current?.getSelectedRowKeys();\r\n const selectedRowDatas = this.tableRef.current?.getSelectedRowDatas();\r\n let url = requestUrls.deleteUrl ? requestUrls.deleteUrl : deleteUrl;\r\n let params: any = requestParams.deleteParams\r\n ? requestParams.deleteParams\r\n : deleteParams;\r\n if (deletePosition == \"toolbar\") {\r\n if (selectedRowKeys.length == 0) {\r\n message.warning(\"请选择要删除的数据!\");\r\n return;\r\n }\r\n }\r\n Modal.confirm({\r\n content: \"是否确认删除所选项?\",\r\n // centered:true,\r\n onOk: () => {\r\n if (buttonClick.onDelete) {\r\n converFunction(\r\n buttonClick.onDelete,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: deletePosition == \"toolbar\" ? selectedRowDatas : data,\r\n ids: deletePosition == \"toolbar\" ? selectedRowKeys : data?.id,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onDelete) {\r\n onDelete &&\r\n onDelete(deletePosition == \"toolbar\" ? selectedRowKeys : data);\r\n return;\r\n }\r\n if (!url) {\r\n throw new Error(\"url不能为空!\");\r\n }\r\n const { data: dataParams = {}, ...otherParams } = params;\r\n const defaultParams = {\r\n method: \"post\",\r\n autoPrefix: true,\r\n params: {\r\n ids: deletePosition == \"toolbar\" ? selectedRowKeys.join() : data.id,\r\n ...dataParams,\r\n },\r\n ...requestConfig,\r\n };\r\n let finalParams = {} as any;\r\n finalParams = { ...defaultParams, ...otherParams };\r\n request(url, {\r\n ...finalParams,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (code === 200) {\r\n message.success(\"删除成功!\");\r\n let value = _this.searchRef?.current?.getSearchValues();\r\n _this.props.onCallBacks?.onDeleteCallBack &&\r\n converFunction(\r\n _this.props.onCallBacks?.onDeleteCallBack,\r\n { pageRef: this.props.pageRef },\r\n this.props.Utils\r\n );\r\n _this.tableLoad(value);\r\n } else {\r\n message.error(\"删除失败!\");\r\n }\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n },\r\n });\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n const {\r\n requestConfig: defaultRequestConfig = {},\r\n requestParams = {},\r\n tableProps = {},\r\n } = this.props;\r\n const { store: tableStore = {} } = tableProps;\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams.data || queryParams.params || {};\r\n\r\n let finalParams = {\r\n ...data,\r\n ...tableStore.requestConfig?.params,\r\n ...params,\r\n };\r\n const { requestConig: storeConfig = {} } = tableStore;\r\n const { params: storeParams = {}, ...otherStoreConfig } = storeConfig;\r\n this.tableRef.current?.store.load({\r\n ...defaultRequestConfig,\r\n ...otherStoreConfig,\r\n ...requestConfig,\r\n params: { ...storeParams, ...finalParams },\r\n });\r\n }\r\n //查询\r\n onSearch(params) {\r\n const {\r\n onSearch,\r\n onCallBacks,\r\n requestParams = {},\r\n tableProps = {},\r\n } = this.props;\r\n const { store: tableStore = {} } = tableProps;\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams.data || queryParams.params || {};\r\n let finalParams = {\r\n ...data,\r\n ...tableStore.requestConfig?.params,\r\n ...params,\r\n };\r\n if (onSearch) {\r\n onSearch({ ...finalParams, ...this.state.treeSearchPrams });\r\n return;\r\n }\r\n this.tableLoad({ ...finalParams, ...this.state.treeSearchPrams });\r\n onCallBacks?.onQueryCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onQueryCallBack,\r\n { pageRef: this.props.pageRef, params: params },\r\n this.props.Utils\r\n );\r\n }\r\n //表格重新加载\r\n tableReload(params = {}, autoLoad = true) {\r\n this.tableRef.current?.store?.reload({\r\n callback: (res) => {\r\n if (\r\n autoLoad &&\r\n res?.data?.records?.length == 0 &&\r\n this.state.currentPage !== 1\r\n ) {\r\n this.tableRef.current?.store?.reload({\r\n params: { current: 1, ...params },\r\n });\r\n }\r\n },\r\n });\r\n }\r\n treeLoad(params: any, requestConfig = {}) {\r\n const { requestConfig: defaultRequestConfig = {} } = this.props;\r\n this.treeRef.current?.store.load({\r\n ...defaultRequestConfig,\r\n ...requestConfig,\r\n params: params,\r\n });\r\n }\r\n getSelectedRowKeys() {\r\n return this.tableRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.tableRef.current?.getSelectedRowDatas();\r\n }\r\n setSelectedRowKeys(data: Array<String | Number>) {\r\n return this.tableRef.current?.setSelectedRowKeys(data);\r\n }\r\n setSelectedRowDatas(data: Array<Object>) {\r\n return this.tableRef.current?.setSelectedRowDatas(data);\r\n }\r\n resetSelectedRowKeys() {\r\n return this.tableRef.current?.resetSelectedRowKeys();\r\n }\r\n\r\n getSearchValues() {\r\n const fromValue = this.searchRef?.current?.getSearchValues();\r\n return { ...fromValue, ...this.state.treeSearchPrams };\r\n }\r\n\r\n getChildrenData(data, keys = []) {\r\n const { tableProps } = this.props;\r\n const { rowKey = \"id\" } = tableProps;\r\n let resKey = [];\r\n let key = \"\";\r\n if (data.childNodes) {\r\n const children = data.childNodes;\r\n children.map((item, index) => {\r\n if (typeof rowKey == \"function\") {\r\n key = rowKey(item);\r\n } else {\r\n key = item[rowKey];\r\n }\r\n if (item.childNodes) {\r\n this.getChildrenData(item.childNodes, keys);\r\n } else {\r\n resKey = [...keys, key];\r\n }\r\n });\r\n } else {\r\n resKey = [...keys, key];\r\n }\r\n return resKey;\r\n }\r\n\r\n renderToolButtons(toolbuttons: any, toolbarFlag) {\r\n const flag = toolbuttons.length > 5;\r\n const { showSearch = true } = this.props;\r\n const content = toolbuttons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, icon, show, ...params } = item.props;\r\n if (index > 3) {\r\n return (\r\n <div\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-editor\"),\r\n getLess(styles, \"nsc-basepage-content-item\")\r\n )}\r\n >\r\n <Button\r\n key={index}\r\n onClick={() => {\r\n this.setState({\r\n moreOpen: false,\r\n });\r\n onClick && onClick();\r\n }}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n </div>\r\n );\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-tool-buttons\"))}\r\n style={{ marginLeft: 0 }}\r\n >\r\n {toolbuttons.map((item: any, index: any) => {\r\n if (flag) {\r\n if (index < 4) {\r\n return (\r\n <div\r\n key={index}\r\n style={{\r\n marginRight: 12,\r\n }}\r\n >\r\n {item}\r\n </div>\r\n );\r\n } else if (index == 4) {\r\n return (\r\n <Popover\r\n content={content}\r\n title={null}\r\n placement=\"bottom\"\r\n key={index}\r\n open={this.state.moreOpen}\r\n onOpenChange={(open) => {\r\n if (open) {\r\n this.setState({\r\n moreOpen: true,\r\n });\r\n } else {\r\n this.setState({\r\n moreOpen: false,\r\n });\r\n }\r\n }}\r\n // open={true}\r\n // overlayClassName={styles['pop-box']}\r\n >\r\n <Button type=\"primary\">\r\n 更多 <DownOutlined />\r\n </Button>\r\n </Popover>\r\n );\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return (\r\n <div\r\n key={index}\r\n style={{\r\n marginRight: index == toolbuttons.length - 1 ? 0 : 12,\r\n }}\r\n >\r\n {item}\r\n </div>\r\n );\r\n }\r\n })}\r\n </div>\r\n );\r\n }\r\n renderCloumnButton(columnButtons: any, rowRecord: any) {\r\n const { actionProps, tableProps = {} } = this.props;\r\n const { baseActionColumn } = config();\r\n const newButtons = [];\r\n const { rowKey = \"id\" } = tableProps;\r\n let key = \"\";\r\n if (typeof rowKey == \"function\") {\r\n key = rowKey(rowRecord);\r\n } else {\r\n key = rowRecord[rowKey];\r\n }\r\n let showIcon = false;\r\n if (actionProps?.showIcon === true || baseActionColumn.showIcon === true)\r\n showIcon = true;\r\n columnButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, icon, recordShow, ...params } =\r\n item.props;\r\n if (recordShow) {\r\n if (typeof recordShow == \"string\") {\r\n try {\r\n const eventOption = {\r\n record: rowRecord,\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n };\r\n const Utils = { ...this.props.Uitls };\r\n let func = new Function(\"eventOption,Utils\", recordShow);\r\n const show = func(eventOption, Utils);\r\n show && newButtons.push(item);\r\n } catch (e) {\r\n let record = rowRecord;\r\n if (eval(recordShow)) {\r\n newButtons.push(item);\r\n }\r\n }\r\n } else if (typeof recordShow == \"function\") {\r\n const show = recordShow(rowRecord);\r\n show && newButtons.push(item);\r\n }\r\n } else {\r\n newButtons.push(item);\r\n }\r\n });\r\n let number = actionProps?.buttonNumber\r\n ? actionProps?.buttonNumber\r\n : baseActionColumn?.buttonNumber\r\n ? baseActionColumn?.buttonNumber\r\n : 3;\r\n let flag = false;\r\n if (number == \"all\") {\r\n flag = false;\r\n } else {\r\n flag = newButtons.length > number;\r\n }\r\n\r\n const content = newButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, recordShow, icon, show, ...params } =\r\n item.props;\r\n if (index > Number(number) - 1) {\r\n return (\r\n <Button\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-editor\"),\r\n getLess(styles, \"nsc-basepage-content-item\")\r\n )}\r\n key={index}\r\n onClick={() => {\r\n let data = { ...this.state.popopens };\r\n data[rowRecord.id] = false;\r\n this.setState({\r\n popopens: data,\r\n });\r\n onClick && onClick(rowRecord);\r\n }}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n }\r\n });\r\n return newButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, recordShow, icon, ...params } =\r\n item.props;\r\n if (flag) {\r\n if (index < number) {\r\n return (\r\n <Button\r\n className={cls(getLess(styles, \"nsc-basepage-editor\"), {\r\n [getLess(styles, \"nsc-basepage-editor-first\")]: index === 0,\r\n })}\r\n key={index}\r\n onClick={() => {\r\n onClick && onClick(rowRecord);\r\n }}\r\n icon={icon}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n } else if (index == number) {\r\n return (\r\n <Popover\r\n placement=\"bottom\"\r\n title={null}\r\n content={content}\r\n trigger={[\"click\"]}\r\n key={index}\r\n open={this.state.popopens[key] || false}\r\n onOpenChange={(open) => {\r\n if (open) {\r\n let data = { ...this.state.popopens };\r\n data[key] = true;\r\n this.setState({\r\n popopens: data,\r\n });\r\n } else {\r\n this.setState({\r\n popopens: {},\r\n });\r\n }\r\n }}\r\n // overlayClassName={styles['pop']}\r\n >\r\n <a className={getLess(styles, \"nsc-basepage-editor\")}>\r\n <EllipsisOutlined />\r\n </a>\r\n </Popover>\r\n );\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return (\r\n <Button\r\n className={cls(getLess(styles, \"nsc-basepage-editor\"), {\r\n [getLess(styles, \"nsc-basepage-editor-first\")]: index === 0,\r\n })}\r\n key={index}\r\n onClick={() => {\r\n onClick && onClick(rowRecord);\r\n }}\r\n {...params}\r\n type=\"link\"\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n }\r\n });\r\n // }\r\n }\r\n //树点击事件\r\n treeSelect(selectedKeys: any, obj: any) {\r\n let keyword = \"\";\r\n const {\r\n searchKey = \"key\",\r\n searchField = \"\",\r\n parantSelect = true,\r\n } = this.props.treeProps;\r\n const { treeSelectedKey } = this.state;\r\n const { selected, selectedNodes } = obj;\r\n\r\n if (selected) {\r\n keyword = selectedNodes[0].dataref.attribute[searchKey];\r\n if (parantSelect) {\r\n this.setState({\r\n treeSelectedKey: selectedKeys[0],\r\n treeSearchPrams: { [searchField]: keyword },\r\n });\r\n } else {\r\n if (selectedNodes[0].isLeaf || !selectedNodes[0].children) {\r\n if (selectedKeys[0] !== treeSelectedKey) {\r\n this.setState({\r\n treeSelectedKey: selectedKeys[0],\r\n treeSearchPrams: { [searchField]: keyword },\r\n });\r\n }\r\n }\r\n }\r\n } else {\r\n this.setState({\r\n treeSelectedKey: keyword,\r\n treeSearchPrams: {},\r\n });\r\n }\r\n if (this.props.onTreeSelect) {\r\n this.props.onTreeSelect(selectedKeys, obj);\r\n return;\r\n }\r\n const fromValue = this.searchRef?.current?.getSearchValues() || {};\r\n searchField && this.tableLoad({ ...fromValue, [searchField]: keyword });\r\n this.props.onCallBacks?.treeSelectCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.treeSelectCallBack,\r\n { pageRef: this.props.pageRef, selectedKeys: selectedKeys, obj: obj },\r\n this.props.Utils\r\n );\r\n // utils.callback(this.props.onCallBacks?.treeSelectCallBack, this, [\r\n // selectedKeys,\r\n // obj,\r\n // ]);\r\n }\r\n resetSearch() {\r\n this.searchRef.current?.resetFields();\r\n }\r\n getText(props, text) {\r\n let newText = text;\r\n if (props?.data && props?.data?.length > 0) {\r\n let data = props.data;\r\n for (let i = 0; i < data?.length; i++) {\r\n if (data[i].value == text) {\r\n newText = data[i].label;\r\n }\r\n }\r\n }\r\n return newText;\r\n }\r\n setTableData(data) {\r\n this.tableRef.current?.store?.setData(data);\r\n }\r\n setTreeData(data) {\r\n this.treeRef.current?.store?.setData(data);\r\n }\r\n getSelectedKey = (selected) => {\r\n let res = [];\r\n for (let key in selected) {\r\n const keys = selected[key];\r\n if (keys.length > 0) {\r\n res = [...res, ...keys];\r\n }\r\n }\r\n return res;\r\n };\r\n\r\n convertQueryParams() {\r\n const { requestParams = {} } = this.props;\r\n let queryParams: any = requestParams.queryParams;\r\n if (queryParams && typeof queryParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", queryParams);\r\n let converParams = func(Utils);\r\n queryParams = converParams;\r\n } else {\r\n queryParams = queryParams || {};\r\n }\r\n return queryParams;\r\n }\r\n\r\n // 计算表头高度的方法\r\n calculateTableHeaderHeight = () => {\r\n if (this.tableWrapperRef.current) {\r\n const tableHeader =\r\n this.tableWrapperRef.current.getElementsByClassName(\r\n \"ant-table-thead\"\r\n )[0];\r\n if (tableHeader) {\r\n const headerHeight = tableHeader.getBoundingClientRect().height;\r\n if (headerHeight !== this.state.tableHeaderHeight) {\r\n this.setState({\r\n tableHeaderHeight: headerHeight,\r\n });\r\n }\r\n }\r\n }\r\n };\r\n throttleCalculateTableHeaderHeight = throttle(\r\n this.calculateTableHeaderHeight,\r\n 500\r\n );\r\n\r\n // 优化拖拽相关方法\r\n handleMouseDown(e: React.MouseEvent) {\r\n e.preventDefault();\r\n\r\n // 创建遮罩层以处理iframe场景\r\n const mask = document.createElement(\"div\");\r\n mask.style.cssText = `\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n z-index: 9999;\r\n cursor: col-resize;\r\n `;\r\n mask.id = \"drag-mask\";\r\n document.body.appendChild(mask);\r\n\r\n const handleMouseMove = (e: MouseEvent) => {\r\n const newWidth = e.screenX;\r\n // 限制最小100px,最大500px\r\n if (newWidth >= 50 && newWidth <= 800) {\r\n this.setState({ treeWidth: newWidth });\r\n }\r\n };\r\n\r\n const throttledMouseMove = throttle(handleMouseMove, 16);\r\n\r\n const handleMouseUp = () => {\r\n document.removeEventListener(\"mousemove\", throttledMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n // 移除遮罩层\r\n const mask = document.getElementById(\"drag-mask\");\r\n if (mask) {\r\n document.body.removeChild(mask);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousemove\", throttledMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n }\r\n\r\n render() {\r\n const {\r\n columns = [],\r\n showSearch = true,\r\n children,\r\n submitUrl = \"\",\r\n tableProps = {},\r\n treeProps = {},\r\n formPageProps = {},\r\n showLeft = false,\r\n submitParams = {},\r\n showToolButton = true,\r\n buttons = [],\r\n editorForm = true,\r\n onShowForm,\r\n formChangeValid = true,\r\n className,\r\n toolButtonPosition = \"buttom\",\r\n actionProps,\r\n deletePosition = \"toolbar\",\r\n buttonClick = {},\r\n permission = { has: false },\r\n requestParams = {},\r\n requestUrls = {},\r\n } = this.props;\r\n const {\r\n store: tableStore = {},\r\n filterColumn = true,\r\n actionColumn = true,\r\n showRowSelection = true,\r\n columnOrder = true,\r\n expandable = {},\r\n parantSelect = true,\r\n title: tableTitle,\r\n ...othertableParams\r\n } = tableProps;\r\n let newTableStore = { ...tableStore };\r\n if (requestParams.queryParams) {\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams?.data || queryParams?.params || {};\r\n newTableStore.requestConfig = {\r\n params: { ...data, ...newTableStore.requestConfig?.params },\r\n };\r\n }\r\n const {\r\n store: treeStore = {},\r\n showSearch: treeSearch = true,\r\n titleAlias = \"title\",\r\n title: treeTitle,\r\n ...othertreeParams\r\n } = treeProps;\r\n let _this = this;\r\n let tableParams = {\r\n filterColumn,\r\n store: {\r\n listeners: {\r\n load: (data) => {\r\n _this.props.onCallBacks?.tableLoadCallBack &&\r\n _this.props.onCallBacks?.tableLoadCallBack(data);\r\n },\r\n },\r\n ...newTableStore,\r\n },\r\n ...othertableParams,\r\n } as any;\r\n const defaultValue: any = {};\r\n const columnButtons: any = [];\r\n const { elementHeight } = this.state;\r\n let permissionButtons = [];\r\n if (permission.has && permission.menuCode) {\r\n permissionButtons =\r\n getButtonPermissons(permission.menuCode).permissons || [];\r\n }\r\n const obj = convertColumns(columns, {});\r\n let tableColumn: any[] = getNewColumns(columns, this.props);\r\n const searchForms = obj.searchForms || [];\r\n const editorForms = obj.editorForms || [];\r\n const toolButtons: any = [];\r\n const formButton: any = [];\r\n const { baseActionColumn } = config();\r\n let showIcon = true;\r\n if (actionProps?.showIcon === false) showIcon = false;\r\n else if (baseActionColumn.showIcon === false) showIcon = false;\r\n const buttonMap = {\r\n editor: { name: \"编辑\", code: \"editor\", icon: <EditOutlined /> },\r\n delete: { name: \"删除\", code: \"delete\", icon: <DeleteOutlined /> },\r\n search: { name: \"查看\", code: \"search\", icon: <EyeOutlined /> },\r\n };\r\n const returnButton = (code, show = \"\", defaultProps = {}) => {\r\n let props = {\r\n icon: showIcon ? buttonMap[code].icon : null,\r\n type: \"link\",\r\n ...defaultProps,\r\n } as any;\r\n\r\n if (show) {\r\n props = { ...props, recordShow: show };\r\n }\r\n return (\r\n <Button\r\n onClick={(record: any) => {\r\n if (code == \"delete\") {\r\n this.onDelete(record);\r\n } else {\r\n if (code == \"editor\" && buttonClick.onEditor) {\r\n converFunction(\r\n buttonClick.onEditor,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n } else if (code == \"search\" && buttonClick.onSearch) {\r\n converFunction(\r\n buttonClick.onSearch,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onShowForm) {\r\n onShowForm(record.attribute || record, code);\r\n return;\r\n }\r\n\r\n this.showForm(record.attribute || record, code, () => {\r\n let callBack =\r\n code == \"editor\"\r\n ? this.props.onCallBacks?.onEditorCallBack\r\n : this.props.onCallBacks?.onSearchCallBack;\r\n callBack &&\r\n converFunction(\r\n callBack,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n });\r\n }\r\n }}\r\n {...props}\r\n >\r\n {buttonMap[code]?.name}\r\n </Button>\r\n );\r\n };\r\n const checkPerssion = (code) => {\r\n if (!permission.has) {\r\n return true;\r\n } else {\r\n return permissionButtons.indexOf(code) > -1;\r\n }\r\n };\r\n buttons.map((item: any) => {\r\n if ((item == \"add\" || item.code == \"add\") && checkPerssion(\"add\")) {\r\n toolButtons.push(\r\n <Button\r\n type={\"primary\"}\r\n onClick={() => {\r\n const { onShowForm, buttonClick = {} } = this.props;\r\n if (buttonClick?.onAdd) {\r\n converFunction(\r\n buttonClick.onAdd,\r\n {\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onShowForm) {\r\n onShowForm(null, \"add\");\r\n return;\r\n }\r\n this.showForm(null, null, () => {\r\n this.props.onCallBacks?.onAddCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onAddCallBack,\r\n {\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n });\r\n }}\r\n icon={<PlusOutlined />}\r\n >\r\n 添加\r\n </Button>\r\n );\r\n } else if (\r\n (item == \"delete_batch\" || item.code == \"delete_batch\") &&\r\n checkPerssion(\"delete_batch\")\r\n ) {\r\n toolButtons.push(\r\n <Button\r\n type={\"primary\"}\r\n onClick={this.onDelete.bind(this, null, \"toolbar\")}\r\n icon={<DeleteOutlined />}\r\n danger\r\n >\r\n 批量删除\r\n </Button>\r\n );\r\n } else {\r\n if (checkPerssion(item.code ? item.code : item)) {\r\n columnButtons.push(\r\n returnButton(\r\n item.code ? item.code : item,\r\n item.recordShow,\r\n item.props || {}\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (\r\n child?.props?.pageType == \"toolButton\" &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n toolButtons.push(child);\r\n } else if (\r\n child?.props?.pageType == \"formButton\" &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n formButton.push(child);\r\n } else if (\r\n (child?.props?.pageType == \"columnButton\" ||\r\n child?.props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n columnButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (\r\n item?.props?.pageType == \"toolButton\" &&\r\n checkPerssion(item?.props?.code)\r\n ) {\r\n toolButtons.push(item);\r\n } else if (\r\n (item?.props?.pageType == \"columnButton\" ||\r\n item?.props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(item?.props?.code)\r\n ) {\r\n columnButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\" && checkPerssion(props?.code)) {\r\n toolButtons.push(children);\r\n } else if (\r\n (props?.pageType == \"columnButton\" ||\r\n props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(props?.code)\r\n ) {\r\n columnButtons.push(children);\r\n }\r\n }\r\n actionColumn &&\r\n tableColumn.push({\r\n title: \"操作\",\r\n dataIndex: \"action\",\r\n align: actionProps?.textAlign\r\n ? actionProps?.textAlign\r\n : baseActionColumn.textAlign\r\n ? baseActionColumn.textAlign\r\n : \"left\",\r\n width: actionProps?.width\r\n ? actionProps?.width\r\n : baseActionColumn.width\r\n ? baseActionColumn.width\r\n : 200,\r\n fixed: \"right\",\r\n render: (text: any, record: any) => {\r\n return (\r\n <div className={getLess(styles, \"nsc-basepage-action\")}>\r\n {this.renderCloumnButton(columnButtons, record)}\r\n </div>\r\n );\r\n },\r\n });\r\n\r\n if (columnOrder)\r\n tableColumn = [\r\n {\r\n title: \"序号\",\r\n width: 80,\r\n align: \"center\",\r\n render: (text, reacord, index) => {\r\n return <>{index + 1}</>;\r\n },\r\n },\r\n ...tableColumn,\r\n ];\r\n let searchFlag = showSearch && searchForms.length > 0;\r\n let { tableTool } = config();\r\n let toolFlag =\r\n showToolButton &&\r\n toolButtons.length > 0 &&\r\n toolButtonPosition == \"buttom\";\r\n let toolbarFlag = !(\r\n tableProps.toolbar == false ||\r\n tableProps.toolbar?.show == false ||\r\n tableProps.toolbar?.tools?.length == 0 ||\r\n tableTool?.show == false\r\n );\r\n let headerHeight = showSearch && searchForms.length > 0 ? 104 : 0; //头部搜索栏高度\r\n let toolHeight = tableTitle || toolFlag ? 50 : 0;\r\n let paddingHeight = 20 * 2; //上下间距\r\n let tableContentHeight =\r\n elementHeight - toolHeight - paddingHeight - headerHeight;\r\n let PaginationHeight = tableProps.pagination !== false ? 32 + 16 : 0; //32 为分页器高度,16为margin间距\r\n let tableHeight = tableContentHeight - PaginationHeight;\r\n let tableSrollHeight =\r\n tableContentHeight -\r\n (this.state.tableHeaderHeight > 0 ? this.state.tableHeaderHeight : 55) -\r\n PaginationHeight;\r\n // if (tableProps.pagination !== false) {\r\n const scroll = tableParams.scroll;\r\n tableParams = {\r\n ...tableParams,\r\n scroll: { x: \"max-content\", y: tableSrollHeight, ...scroll },\r\n };\r\n // }\r\n return (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage\"), className)}\r\n ref={this.pageRef}\r\n >\r\n {this.props.pageTitle && (\r\n <div className={cls(getLess(styles, \"nsc-basepage-title\"))}>\r\n {this.props.pageTitle}\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-pane\"))}\r\n style={{ display: \"flex\" }}\r\n >\r\n {showLeft && (\r\n <div\r\n className={getLess(styles, \"nsc-basepage-left\")}\r\n style={{ width: this.state.treeWidth }}\r\n >\r\n {treeTitle && (\r\n <div className={getLess(styles, \"tree-title\")}>{treeTitle}</div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"tree-content\"), {\r\n [getLess(styles, \"tree-content-notitle\")]: !treeTitle,\r\n })}\r\n >\r\n <div\r\n className=\"tree-drag\"\r\n onMouseDown={this.handleMouseDown.bind(this)}\r\n ></div>\r\n <Tree\r\n store={{ ...treeStore }}\r\n showIcon={false}\r\n checkable={false}\r\n searchable={treeSearch}\r\n onSelect={this.treeSelect.bind(this)}\r\n selectedKeys={[this.state.treeSelectedKey]}\r\n titleAlias={titleAlias}\r\n ref={this.treeRef}\r\n {...othertreeParams}\r\n />\r\n </div>\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-right\"), {\r\n [getLess(styles, \"nsc-basepage-no-left-right\")]: !showLeft,\r\n })}\r\n style={{\r\n width: `calc(100% - ${this.state.treeWidth}px - ${\r\n showLeft ? 15 : 0\r\n }px)`,\r\n }}\r\n >\r\n {showSearch && searchForms.length > 0 && (\r\n <div className={getLess(styles, \"nsc-basepage-headersearch\")}>\r\n <HeaderSearch\r\n searchForms={searchForms}\r\n toolButtonPosition={toolButtonPosition}\r\n onSearch={this.onSearch.bind(this)}\r\n onReset={() => {\r\n if (this.props.onReset) {\r\n this.props.onReset();\r\n return;\r\n }\r\n this.searchRef.current?.resetFields();\r\n this.tableLoad({});\r\n }}\r\n ref={this.searchRef}\r\n searchFormProps={this.props.searchFormProps}\r\n />\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-content\"), {\r\n [getLess(styles, \"nsc-basepage-content-gap\")]: !searchFlag,\r\n })}\r\n ref={this.pageContentRef}\r\n >\r\n {(tableTitle || toolFlag) && (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-table-title\"), {\r\n [getLess(styles, \"nsc-basepage-title-width\")]: !toolbarFlag,\r\n })}\r\n >\r\n <div>{tableTitle}</div>\r\n {toolFlag && this.renderToolButtons(toolButtons, toolbarFlag)}\r\n </div>\r\n )}\r\n\r\n <div\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-table\"),\r\n {\r\n [getLess(styles, \"nsc-basepage-table-top\")]: !toolbarFlag,\r\n },\r\n {\r\n [getLess(styles, \"nsc-basepage-table-top2\")]:\r\n toolbarFlag && !toolFlag,\r\n }\r\n )}\r\n ref={this.tableWrapperRef}\r\n style={{ height: tableContentHeight }}\r\n >\r\n <Table\r\n ref={this.tableRef}\r\n columns={tableColumn}\r\n expandable={{\r\n expandIcon: ({ expanded, onExpand, record }) => {\r\n return (\r\n <>\r\n {expanded &&\r\n record.childNodes &&\r\n record.childNodes?.length > 0 ? (\r\n <DownOutlined\r\n onClick={(e) => onExpand(record, e)}\r\n className={getLess(styles, \"expand-icon\")}\r\n />\r\n ) : record.childNodes &&\r\n record.childNodes?.length > 0 ? (\r\n <RightOutlined\r\n onClick={(e) => onExpand(record, e)}\r\n className={getLess(styles, \"expand-icon\")}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n },\r\n ...expandable,\r\n }}\r\n columnOrder={true}\r\n onChange={(pagination) => {\r\n const { currentPage } = this.state;\r\n if (currentPage !== pagination.current) {\r\n this.setState({\r\n currentPage: pagination.current,\r\n });\r\n }\r\n }}\r\n toolbar={{\r\n onToolClick: {\r\n onRefresh: () => {\r\n const params = this.getSearchValues();\r\n this.tableLoad(params);\r\n },\r\n },\r\n ...tableProps.toolbar,\r\n }}\r\n showRowSelection={showRowSelection}\r\n style={{ height: tableHeight }}\r\n {...tableParams}\r\n // pagination={false}\r\n />\r\n {/* <div></div> */}\r\n </div>\r\n </div>\r\n </div>\r\n {editorForm && this.props.formPageProps?.formType !== \"page\" && (\r\n <EditorForm\r\n ref={this.editorRef}\r\n callBack={() => {\r\n this.props.onCallBacks?.onSumbitCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onSumbitCallBack,\r\n { pageRef: this.props.pageRef },\r\n this.props.Utils\r\n );\r\n this.tableReload();\r\n }}\r\n forms={editorForms}\r\n submitUrl={submitUrl}\r\n submitParams={submitParams}\r\n onSubmit={this.props.onSubmit}\r\n onHideForm={this.props.onHideForm}\r\n onFormChange={this.props.onFormChange}\r\n formType={this.props.formType || \"auto\"}\r\n changeValid={formChangeValid}\r\n Utils={this.props.Utils}\r\n requestObject={{\r\n addUrl: requestUrls.addUrl,\r\n editorUrl: requestUrls.editorUrl,\r\n addParams: requestParams.addParams,\r\n editorParams: requestParams.editorParams,\r\n }}\r\n funcs={this.props.funcs}\r\n {...formPageProps}\r\n >\r\n {formButton}\r\n </EditorForm>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default BasePage;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PureComponent","Table","Tree","Button","Modal","Popover","message","EditorForm","cls","DownOutlined","EyeOutlined","EditOutlined","RightOutlined","PlusOutlined","EllipsisOutlined","DeleteOutlined","converFunction","getLess","request","config","getStorage","getButtonPermissons","HeaderSearch","convertColumns","getNewColumns","throttle","styles","BasePage","constructor","props","_type","_size","_defineProperty","createRef","checkedTreeKeys","name","userType","account","state","value","deptId","onSearch","selected","res","key","keys","length","tableWrapperRef","current","tableHeader","getElementsByClassName","headerHeight","getBoundingClientRect","height","tableHeaderHeight","setState","calculateTableHeaderHeight","storePrefix","type","content","size","selectedRowKeys","selectedRowDatas","treeSelectedKey","expand","formType","tableSize","treeSearchPrams","popopens","moreOpen","elementHeight","permissionButtons","queryParams","buttonsLoading","treeWidth","showLeft","componentDidMount","_this$pageContentRef$","initData","permisson","pageContentRef","clientHeight","window","addEventListener","throttleCalculateTableHeaderHeight","setTimeout","componentDidUpdate","prevProps","_this$pageContentRef$2","componentWillUnmount","removeEventListener","setSearchParams","params","callBack","_this$searchRef$curre","searchRef","doSubmit","data","_this$editorRef$curre","label","arguments","undefined","editorRef","showForm","_this$props$formPageP","editorflag","formPageProps","_this$props$formPageP2","funcs","pathname","concat","tableCode","id","history","serviceName","servicePath","Date","getTime","title","_this$editorRef","newValue","_objectSpread","show","hideForm","_this$editorRef$curre2","setLoading","loading","_this$editorRef$curre3","setEditFormValues","_this$editorRef$curre4","setFormValue","getEditFormValues","_this$editorRef$curre5","getFormValue","onDelete","_this$tableRef$curren","_this$tableRef$curren2","deletePosition","deleteUrl","deleteParams","buttonClick","requestParams","requestUrls","requestConfig","_this","tableRef","getSelectedRowKeys","getSelectedRowDatas","url","warning","confirm","onOk","pageRef","record","ids","Utils","Error","dataParams","otherParams","_objectWithoutProperties","_excluded","defaultParams","method","autoPrefix","join","finalParams","then","code","_this$searchRef","_this$props$onCallBac","_this$props$onCallBac2","success","getSearchValues","onCallBacks","onDeleteCallBack","tableLoad","error","catch","console","log","_tableStore$requestCo","_this$tableRef$curren3","defaultRequestConfig","tableProps","store","tableStore","convertQueryParams","requestConig","storeConfig","storeParams","otherStoreConfig","_excluded2","load","_tableStore$requestCo2","_this$props$onCallBac3","onQueryCallBack","tableReload","_this$tableRef$curren4","autoLoad","reload","callback","_res$data","records","currentPage","_this$tableRef$curren5","treeLoad","_this$treeRef$current","treeRef","_this$tableRef$curren6","_this$tableRef$curren7","setSelectedRowKeys","_this$tableRef$curren8","setSelectedRowDatas","_this$tableRef$curren9","resetSelectedRowKeys","_this$tableRef$curren10","_this$searchRef2","fromValue","getChildrenData","rowKey","resKey","childNodes","children","map","item","index","renderToolButtons","toolbuttons","toolbarFlag","flag","showSearch","_item$props","pageType","onClick","icon","_excluded3","createElement","className","_extends","style","marginLeft","marginRight","placement","open","onOpenChange","renderCloumnButton","columnButtons","rowRecord","actionProps","baseActionColumn","newButtons","showIcon","_item$props2","recordShow","_excluded4","eventOption","Uitls","func","Function","push","e","eval","number","buttonNumber","_item$props3","_excluded5","Number","_item$props4","_excluded6","trigger","treeSelect","selectedKeys","obj","_this$searchRef3","_this$props$onCallBac4","_this$props$onCallBac5","keyword","searchKey","searchField","parantSelect","treeProps","selectedNodes","dataref","attribute","isLeaf","onTreeSelect","treeSelectCallBack","resetSearch","_this$searchRef$curre2","resetFields","getText","text","_props$data","newText","i","setTableData","_this$tableRef$curren11","setData","setTreeData","_this$treeRef$current2","converParams","handleMouseDown","preventDefault","mask","document","cssText","body","appendChild","handleMouseMove","newWidth","screenX","throttledMouseMove","handleMouseUp","getElementById","removeChild","render","_this2","_tableProps$toolbar","_tableProps$toolbar2","_this$props$formPageP3","columns","submitUrl","submitParams","showToolButton","buttons","editorForm","onShowForm","formChangeValid","toolButtonPosition","permission","has","filterColumn","actionColumn","showRowSelection","columnOrder","expandable","tableTitle","othertableParams","_excluded7","newTableStore","_newTableStore$reques","treeStore","treeSearch","titleAlias","treeTitle","othertreeParams","_excluded8","tableParams","listeners","_this$props$onCallBac6","_this$props$onCallBac7","tableLoadCallBack","defaultValue","menuCode","permissons","tableColumn","searchForms","editorForms","toolButtons","formButton","buttonMap","editor","delete","search","returnButton","_buttonMap$code","defaultProps","onEditor","_this2$props$onCallBa","_this2$props$onCallBa2","onEditorCallBack","onSearchCallBack","checkPerssion","indexOf","onAdd","_this$props$onCallBac8","_this$props$onCallBac9","onAddCallBack","bind","danger","Array","isArray","child","_child$props","_child$props2","_child$props3","_child$props4","_child$props5","_child$props6","_child$props7","_item$props5","_item$props6","_item$props7","_item$props8","_item$props9","dataIndex","align","textAlign","width","fixed","reacord","Fragment","searchFlag","tableTool","toolFlag","toolbar","tools","toolHeight","paddingHeight","tableContentHeight","PaginationHeight","pagination","tableHeight","tableSrollHeight","scroll","x","y","ref","pageTitle","display","onMouseDown","checkable","searchable","onSelect","onReset","_this$searchRef$curre3","searchFormProps","expandIcon","_ref","_record$childNodes","_record$childNodes2","expanded","onExpand","onChange","onToolClick","onRefresh","_this$props$onCallBac10","_this$props$onCallBac11","onSumbitCallBack","forms","onSubmit","onHideForm","onFormChange","changeValid","requestObject","addUrl","editorUrl","addParams","editorParams"],"sources":["../../../src/components/page/BasePage/index.tsx"],"sourcesContent":["import React, { PureComponent, ReactNode } from \"react\";\r\nimport Table from \"../../base/table\";\r\nimport Tree from \"../../base/tree\";\r\nimport Button from \"../../base/button\";\r\nimport Modal from \"../../base/modal\";\r\nimport Popover from \"../../base/popover\";\r\nimport message from \"../../base/message\";\r\nimport EditorForm, { FormPageProps } from \"../FormPage/index\";\r\nimport cls from \"classnames\";\r\nimport \"./index.module.less\";\r\nimport Store, { PageStore, StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport {\r\n DownOutlined,\r\n EyeOutlined,\r\n EditOutlined,\r\n RightOutlined,\r\n PlusOutlined,\r\n EllipsisOutlined,\r\n DeleteOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { converFunction, getLess, getNode, simplifyColumns } from \"../../utils\";\r\nimport request from \"nsc-request\";\r\nimport config from \"../../config\";\r\nimport { getStorage, px2vw, getButtonPermissons } from \"@bj-nsc/functions\";\r\nimport HeaderSearch from \"../HeaderSearch\";\r\nimport { PaginationProps } from \"antd\";\r\nimport nscfile from \"nsc-file\";\r\nimport { convertColumns, getNewColumns } from \"./utils\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport throttle from \"lodash/throttle\";\r\nimport CompoundedSpace from \"antd/es/space\";\r\ntype ButtonItem =\r\n | string\r\n | {\r\n code: string;\r\n recordShow?: string | Function;\r\n props?: any;\r\n };\r\n\r\ninterface TableProps {\r\n actionColumn?: boolean; //是否显示操作列\r\n store?: StoreProps;\r\n filterColumn?: boolean; //是否显示过滤按钮\r\n showRowSelection?: boolean; //是否表格勾选列\r\n pagination?: boolean | PaginationProps; //是否显示分页\r\n columnOrder?: boolean; //是否显示表格序列\r\n [propsName: string]: any;\r\n}\r\nconst styles = null;\r\ninterface TreeProps {\r\n store?: StoreProps;\r\n showSearch?: boolean; //是否显示搜索框\r\n searchKey?: string; //搜索value对应的key\r\n searchField?: string; //查询对应的key\r\n titleAlias?: string; //树title对应的key,默认title\r\n nodePorps?: object;\r\n parantSelect?: boolean;\r\n [propsName: string]: any;\r\n}\r\ninterface FormProps extends FormPageProps {}\r\n\r\nexport interface NSCBaseBageProps {\r\n showSearch?: boolean; //是否显示头部搜索栏\r\n tableProps?: TableProps; //表格参数\r\n treeProps?: TreeProps; //左侧树参数\r\n submitParams?: Object; //添加参数,默认mothod:post, 参数通过data传递\r\n submitUrl?: string;\r\n onSubmit?: (value?: any, label?: any) => void;\r\n columns?: Array<Object>;\r\n showLeft?: boolean; //是否显示左侧目录树\r\n showToolButton?: boolean; //是否显示按钮栏\r\n editorForm?: boolean; //是否需要表单功能 , 为false 编辑,查看,新增功能均不可用\r\n deleteUrl?: string; //删除url\r\n onDelete?: (selectedKeys?: Array<string>) => void; //删除参数,默认mothod:post, 参数通过ids拼接传递给后台\r\n deleteParams?: Object;\r\n children?: React.ReactNode;\r\n onSearch?: (value?: any) => void;\r\n onReset?: () => void;\r\n initData?: any; //初始化回调函数,在componentDidMount中调用\r\n buttons?: ButtonItem[]; //按钮集合 ['add','delete','search','editor','delete_batch']\r\n onShowForm?: (value?: any, editorFlag?: string) => void; //打开表单回调\r\n onHideForm?: () => void; //打开表单回调\r\n onFormChange?: (changedValues?: any, allValues?: any) => void; //表单onChange回调\r\n formType?: \"modal\" | \"drawer\" | \"page\";\r\n formChangeValid?: boolean; //表单校验\r\n className?: any;\r\n toolButtonPosition?: \"right\" | \"buttom\";\r\n pageTitle?: string | ReactNode;\r\n actionProps?: {\r\n textAlign?: string;\r\n showIcon?: boolean;\r\n width?: number;\r\n buttonNumber?: number | \"all\";\r\n };\r\n searchFormProps?: { wrapperCol?: any; labelCol?: any };\r\n onTreeSelect?: (value?: any, editorFlag?: string) => void; //打开表单回调\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n tableLoadCallBack?: any; //列表查询回调--load\r\n };\r\n pageType?: \"normal\" | \"tabspage\";\r\n formPageProps?: FormPageProps;\r\n buttonClick?: {\r\n onAdd?: () => void;\r\n onEditor?: (value?: any) => void;\r\n onSearch?: (value?: any) => void;\r\n onDelete?: (value?: any) => void;\r\n };\r\n permission?: {\r\n has?: boolean;\r\n menuCode?: string;\r\n };\r\n requestParams?: {\r\n //需要额外传的固定请求参数\r\n addParams?: Object; //新增固定参数\r\n editorParams?: Object; //编辑固定参数\r\n queryParams?: Object; //查询固定参数\r\n deleteParams?: Object; //删除固定参数\r\n };\r\n requestUrls?: {\r\n addUrl?: string; //新增url\r\n editorUrl?: string; //编辑url\r\n deleteUrl?: string; //删除url\r\n };\r\n funcs?: any;\r\n requestConfig?: any;\r\n [propsName: string]: any;\r\n}\r\n\r\nclass BasePage extends PureComponent<NSCBaseBageProps, any> {\r\n tableRef = React.createRef<any>();\r\n treeRef = React.createRef<any>();\r\n searchRef = React.createRef<any>();\r\n editorRef = React.createRef<any>();\r\n pageRef = React.createRef<any>();\r\n pageContentRef = React.createRef<any>();\r\n dateFormat = {} as any;\r\n tableWrapperRef = React.createRef<HTMLDivElement>();\r\n static convertColumns = convertColumns;\r\n constructor(props: any) {\r\n super(props);\r\n let { storePrefix } = config();\r\n let type = getStorage(\r\n storePrefix ? storePrefix + \"-\" + \"formType\" : \"formType\"\r\n );\r\n type = type?.content;\r\n let size = getStorage(\r\n storePrefix ? storePrefix + \"-\" + \"tableSize\" : \"tableSize\"\r\n );\r\n size = size?.content;\r\n this.state = {\r\n type: \"add\",\r\n selectedRowKeys: [],\r\n selectedRowDatas: [],\r\n treeSelectedKey: \"\",\r\n expand: false,\r\n formType: type || \"modal\",\r\n tableSize: size || \"default\",\r\n treeSearchPrams: {},\r\n popopens: {},\r\n moreOpen: false,\r\n elementHeight: 0,\r\n permissionButtons: [],\r\n queryParams: {},\r\n tableHeaderHeight: 0, // 添加表头高度到state\r\n buttonsLoading: {},\r\n treeWidth: this.props.showLeft ? 260 : 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { initData, permisson = {} } = this.props;\r\n const elementHeight = this.pageContentRef.current?.clientHeight;\r\n\r\n // 添加窗口resize监听\r\n window.addEventListener(\"resize\", this.throttleCalculateTableHeaderHeight);\r\n\r\n // 初始计算表头高度\r\n setTimeout(this.calculateTableHeaderHeight, 0);\r\n\r\n this.setState({\r\n elementHeight,\r\n });\r\n initData && initData();\r\n }\r\n componentDidUpdate(prevProps) {\r\n const elementHeight = this.pageContentRef.current?.clientHeight;\r\n if (elementHeight > this.state.elementHeight) {\r\n this.setState({\r\n elementHeight,\r\n });\r\n }\r\n if (prevProps.showLeft !== this.props.showLeft) {\r\n this.setState({\r\n treeWidth: this.props.showLeft ? 260 : 0,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n // 移除resize监听\r\n window.removeEventListener(\r\n \"resize\",\r\n this.throttleCalculateTableHeaderHeight\r\n );\r\n }\r\n setSearchParams(params, callBack) {\r\n this.searchRef.current?.setSearchParams(params);\r\n callBack && callBack(params);\r\n }\r\n doSubmit(data, label = \"编辑\") {\r\n this.editorRef.current?.doSubmit(data, label);\r\n }\r\n\r\n onSelect = (checkedTreeKeys: any) => {\r\n const { name, userType, account } = this.state;\r\n const value = { name, userType, account, deptId: checkedTreeKeys[0] };\r\n if (this.props.onSearch) {\r\n this.props.onSearch(value);\r\n }\r\n // this.tableLoad(value);\r\n };\r\n\r\n //显示表单\r\n showForm(value?: any, editorflag = \"add\", callBack?: any) {\r\n if (this.props.formPageProps?.formType == \"page\") {\r\n const { funcs = {} } = this.props;\r\n let pathname = `/formpage/${editorflag ? editorflag : \"add\"}/${\r\n this.props.tableCode\r\n }`;\r\n if (editorflag == \"editor\" || editorflag == \"search\") {\r\n pathname = pathname + \"?id=\" + value.id;\r\n }\r\n funcs?.history(\r\n {\r\n pathname: pathname,\r\n serviceName: \"setting-web\",\r\n servicePath: \"/setting\",\r\n id: new Date().getTime() + (value?.id || \"_\") + editorflag,\r\n title:\r\n `【${\r\n editorflag == \"add\"\r\n ? \"新增\"\r\n : editorflag == \"editor\"\r\n ? \"编辑\"\r\n : \"查看\"\r\n }】` + this.props.formPageProps?.title || \"\",\r\n },\r\n \"addTab\"\r\n );\r\n } else {\r\n let newValue = value ? { ...value } : null;\r\n this.editorRef?.current?.show(newValue, editorflag, callBack);\r\n }\r\n }\r\n\r\n //关闭表单\r\n hideForm() {\r\n this.editorRef.current?.hideForm();\r\n }\r\n\r\n setLoading(loading: boolean) {\r\n this.editorRef.current?.setLoading(loading);\r\n }\r\n\r\n setEditFormValues(value, type = \"编辑\") {\r\n this.editorRef.current?.setFormValue(value, type);\r\n }\r\n\r\n getEditFormValues() {\r\n return this.editorRef.current?.getFormValue();\r\n }\r\n\r\n //批量删除\r\n onDelete(data?: any, deletePosition = \"row\") {\r\n const {\r\n deleteUrl,\r\n onDelete,\r\n deleteParams = {},\r\n buttonClick = {},\r\n requestParams = {},\r\n requestUrls = {},\r\n requestConfig = {},\r\n } = this.props;\r\n let _this = this;\r\n const selectedRowKeys = this.tableRef.current?.getSelectedRowKeys();\r\n const selectedRowDatas = this.tableRef.current?.getSelectedRowDatas();\r\n let url = requestUrls.deleteUrl ? requestUrls.deleteUrl : deleteUrl;\r\n let params: any = requestParams.deleteParams\r\n ? requestParams.deleteParams\r\n : deleteParams;\r\n if (deletePosition == \"toolbar\") {\r\n if (selectedRowKeys.length == 0) {\r\n message.warning(\"请选择要删除的数据!\");\r\n return;\r\n }\r\n }\r\n Modal.confirm({\r\n content: \"是否确认删除所选项?\",\r\n // centered:true,\r\n onOk: () => {\r\n if (buttonClick.onDelete) {\r\n converFunction(\r\n buttonClick.onDelete,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: deletePosition == \"toolbar\" ? selectedRowDatas : data,\r\n ids: deletePosition == \"toolbar\" ? selectedRowKeys : data?.id,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onDelete) {\r\n onDelete &&\r\n onDelete(deletePosition == \"toolbar\" ? selectedRowKeys : data);\r\n return;\r\n }\r\n if (!url) {\r\n throw new Error(\"url不能为空!\");\r\n }\r\n const { data: dataParams = {}, ...otherParams } = params;\r\n const defaultParams = {\r\n method: \"post\",\r\n autoPrefix: true,\r\n params: {\r\n ids: deletePosition == \"toolbar\" ? selectedRowKeys.join() : data.id,\r\n ...dataParams,\r\n },\r\n ...requestConfig,\r\n };\r\n let finalParams = {} as any;\r\n finalParams = { ...defaultParams, ...otherParams };\r\n request(url, {\r\n ...finalParams,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (code === 200) {\r\n message.success(\"删除成功!\");\r\n let value = _this.searchRef?.current?.getSearchValues();\r\n _this.props.onCallBacks?.onDeleteCallBack &&\r\n converFunction(\r\n _this.props.onCallBacks?.onDeleteCallBack,\r\n { pageRef: this.props.pageRef },\r\n this.props.Utils\r\n );\r\n _this.tableLoad(value);\r\n } else {\r\n message.error(\"删除失败!\");\r\n }\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n },\r\n });\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n const {\r\n requestConfig: defaultRequestConfig = {},\r\n requestParams = {},\r\n tableProps = {},\r\n } = this.props;\r\n const { store: tableStore = {} } = tableProps;\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams.data || queryParams.params || {};\r\n\r\n let finalParams = {\r\n ...data,\r\n ...tableStore.requestConfig?.params,\r\n ...params,\r\n };\r\n const { requestConig: storeConfig = {} } = tableStore;\r\n const { params: storeParams = {}, ...otherStoreConfig } = storeConfig;\r\n this.tableRef.current?.store.load({\r\n ...defaultRequestConfig,\r\n ...otherStoreConfig,\r\n ...requestConfig,\r\n params: { ...storeParams, ...finalParams },\r\n });\r\n }\r\n //查询\r\n onSearch(params) {\r\n const {\r\n onSearch,\r\n onCallBacks,\r\n requestParams = {},\r\n tableProps = {},\r\n } = this.props;\r\n const { store: tableStore = {} } = tableProps;\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams.data || queryParams.params || {};\r\n let finalParams = {\r\n ...data,\r\n ...tableStore.requestConfig?.params,\r\n ...params,\r\n };\r\n if (onSearch) {\r\n onSearch({ ...finalParams, ...this.state.treeSearchPrams });\r\n return;\r\n }\r\n this.tableLoad({ ...finalParams, ...this.state.treeSearchPrams });\r\n onCallBacks?.onQueryCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onQueryCallBack,\r\n { pageRef: this.props.pageRef, params: params },\r\n this.props.Utils\r\n );\r\n }\r\n //表格重新加载\r\n tableReload(params = {}, autoLoad = true) {\r\n this.tableRef.current?.store?.reload({\r\n callback: (res) => {\r\n if (\r\n autoLoad &&\r\n res?.data?.records?.length == 0 &&\r\n this.state.currentPage !== 1\r\n ) {\r\n this.tableRef.current?.store?.reload({\r\n params: { current: 1, ...params },\r\n });\r\n }\r\n },\r\n });\r\n }\r\n treeLoad(params: any, requestConfig = {}) {\r\n const { requestConfig: defaultRequestConfig = {} } = this.props;\r\n this.treeRef.current?.store.load({\r\n ...defaultRequestConfig,\r\n ...requestConfig,\r\n params: params,\r\n });\r\n }\r\n getSelectedRowKeys() {\r\n return this.tableRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.tableRef.current?.getSelectedRowDatas();\r\n }\r\n setSelectedRowKeys(data: Array<String | Number>) {\r\n return this.tableRef.current?.setSelectedRowKeys(data);\r\n }\r\n setSelectedRowDatas(data: Array<Object>) {\r\n return this.tableRef.current?.setSelectedRowDatas(data);\r\n }\r\n resetSelectedRowKeys() {\r\n return this.tableRef.current?.resetSelectedRowKeys();\r\n }\r\n\r\n getSearchValues() {\r\n const fromValue = this.searchRef?.current?.getSearchValues();\r\n return { ...fromValue, ...this.state.treeSearchPrams };\r\n }\r\n\r\n getChildrenData(data, keys = []) {\r\n const { tableProps } = this.props;\r\n const { rowKey = \"id\" } = tableProps;\r\n let resKey = [];\r\n let key = \"\";\r\n if (data.childNodes) {\r\n const children = data.childNodes;\r\n children.map((item, index) => {\r\n if (typeof rowKey == \"function\") {\r\n key = rowKey(item);\r\n } else {\r\n key = item[rowKey];\r\n }\r\n if (item.childNodes) {\r\n this.getChildrenData(item.childNodes, keys);\r\n } else {\r\n resKey = [...keys, key];\r\n }\r\n });\r\n } else {\r\n resKey = [...keys, key];\r\n }\r\n return resKey;\r\n }\r\n\r\n renderToolButtons(toolbuttons: any, toolbarFlag) {\r\n const flag = toolbuttons.length > 5;\r\n const { showSearch = true } = this.props;\r\n const content = toolbuttons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, icon, show, ...params } = item.props;\r\n if (index > 3) {\r\n return (\r\n <div\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-editor\"),\r\n getLess(styles, \"nsc-basepage-content-item\")\r\n )}\r\n >\r\n <Button\r\n key={index}\r\n onClick={() => {\r\n this.setState({\r\n moreOpen: false,\r\n });\r\n onClick && onClick();\r\n }}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n </div>\r\n );\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-tool-buttons\"))}\r\n style={{ marginLeft: 0 }}\r\n >\r\n {toolbuttons.map((item: any, index: any) => {\r\n if (flag) {\r\n if (index < 4) {\r\n return (\r\n <div\r\n key={index}\r\n style={{\r\n marginRight: 12,\r\n }}\r\n >\r\n {item}\r\n </div>\r\n );\r\n } else if (index == 4) {\r\n return (\r\n <Popover\r\n content={content}\r\n title={null}\r\n placement=\"bottom\"\r\n key={index}\r\n open={this.state.moreOpen}\r\n onOpenChange={(open) => {\r\n if (open) {\r\n this.setState({\r\n moreOpen: true,\r\n });\r\n } else {\r\n this.setState({\r\n moreOpen: false,\r\n });\r\n }\r\n }}\r\n // open={true}\r\n // overlayClassName={styles['pop-box']}\r\n >\r\n <Button type=\"primary\">\r\n 更多 <DownOutlined />\r\n </Button>\r\n </Popover>\r\n );\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return (\r\n <div\r\n key={index}\r\n style={{\r\n marginRight: index == toolbuttons.length - 1 ? 0 : 12,\r\n }}\r\n >\r\n {item}\r\n </div>\r\n );\r\n }\r\n })}\r\n </div>\r\n );\r\n }\r\n renderCloumnButton(columnButtons: any, rowRecord: any) {\r\n const { actionProps, tableProps = {} } = this.props;\r\n const { baseActionColumn } = config();\r\n const newButtons = [];\r\n const { rowKey = \"id\" } = tableProps;\r\n let key = \"\";\r\n if (typeof rowKey == \"function\") {\r\n key = rowKey(rowRecord);\r\n } else {\r\n key = rowRecord[rowKey];\r\n }\r\n let showIcon = false;\r\n if (actionProps?.showIcon === true || baseActionColumn.showIcon === true)\r\n showIcon = true;\r\n columnButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, icon, recordShow, ...params } =\r\n item.props;\r\n if (recordShow) {\r\n if (typeof recordShow == \"string\") {\r\n try {\r\n const eventOption = {\r\n record: rowRecord,\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n };\r\n const Utils = { ...this.props.Uitls };\r\n let func = new Function(\"eventOption,Utils\", recordShow);\r\n const show = func(eventOption, Utils);\r\n show && newButtons.push(item);\r\n } catch (e) {\r\n let record = rowRecord;\r\n if (eval(recordShow)) {\r\n newButtons.push(item);\r\n }\r\n }\r\n } else if (typeof recordShow == \"function\") {\r\n const show = recordShow(rowRecord);\r\n show && newButtons.push(item);\r\n }\r\n } else {\r\n newButtons.push(item);\r\n }\r\n });\r\n let number = actionProps?.buttonNumber\r\n ? actionProps?.buttonNumber\r\n : baseActionColumn?.buttonNumber\r\n ? baseActionColumn?.buttonNumber\r\n : 3;\r\n let flag = false;\r\n if (number == \"all\") {\r\n flag = false;\r\n } else {\r\n flag = newButtons.length > number;\r\n }\r\n\r\n const content = newButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, recordShow, icon, show, ...params } =\r\n item.props;\r\n if (index > Number(number) - 1) {\r\n return (\r\n <Button\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-editor\"),\r\n getLess(styles, \"nsc-basepage-content-item\")\r\n )}\r\n key={index}\r\n onClick={() => {\r\n let data = { ...this.state.popopens };\r\n data[rowRecord.id] = false;\r\n this.setState({\r\n popopens: data,\r\n });\r\n onClick && onClick(rowRecord);\r\n }}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n }\r\n });\r\n return newButtons.map((item: any, index: any) => {\r\n const { children, pageType, onClick, recordShow, icon, ...params } =\r\n item.props;\r\n if (flag) {\r\n if (index < number) {\r\n return (\r\n <Button\r\n className={cls(getLess(styles, \"nsc-basepage-editor\"), {\r\n [getLess(styles, \"nsc-basepage-editor-first\")]: index === 0,\r\n })}\r\n key={index}\r\n onClick={() => {\r\n onClick && onClick(rowRecord);\r\n }}\r\n icon={icon}\r\n {...params}\r\n type={\"link\"}\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n } else if (index == number) {\r\n return (\r\n <Popover\r\n placement=\"bottom\"\r\n title={null}\r\n content={content}\r\n trigger={[\"click\"]}\r\n key={index}\r\n open={this.state.popopens[key] || false}\r\n onOpenChange={(open) => {\r\n if (open) {\r\n let data = { ...this.state.popopens };\r\n data[key] = true;\r\n this.setState({\r\n popopens: data,\r\n });\r\n } else {\r\n this.setState({\r\n popopens: {},\r\n });\r\n }\r\n }}\r\n // overlayClassName={styles['pop']}\r\n >\r\n <a className={getLess(styles, \"nsc-basepage-editor\")}>\r\n <EllipsisOutlined />\r\n </a>\r\n </Popover>\r\n );\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return (\r\n <Button\r\n className={cls(getLess(styles, \"nsc-basepage-editor\"), {\r\n [getLess(styles, \"nsc-basepage-editor-first\")]: index === 0,\r\n })}\r\n key={index}\r\n onClick={() => {\r\n onClick && onClick(rowRecord);\r\n }}\r\n {...params}\r\n type=\"link\"\r\n >\r\n {showIcon !== false && (\r\n <span className={getLess(styles, \"nsc-basepage-icon\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className={getLess(styles, \"nsc-basepage-text\")}>\r\n {children}\r\n </span>\r\n </Button>\r\n );\r\n }\r\n });\r\n // }\r\n }\r\n //树点击事件\r\n treeSelect(selectedKeys: any, obj: any) {\r\n let keyword = \"\";\r\n const {\r\n searchKey = \"key\",\r\n searchField = \"\",\r\n parantSelect = true,\r\n } = this.props.treeProps;\r\n const { treeSelectedKey } = this.state;\r\n const { selected, selectedNodes } = obj;\r\n\r\n if (selected) {\r\n keyword = selectedNodes[0].dataref.attribute[searchKey];\r\n if (parantSelect) {\r\n this.setState({\r\n treeSelectedKey: selectedKeys[0],\r\n treeSearchPrams: { [searchField]: keyword },\r\n });\r\n } else {\r\n if (selectedNodes[0].isLeaf || !selectedNodes[0].children) {\r\n if (selectedKeys[0] !== treeSelectedKey) {\r\n this.setState({\r\n treeSelectedKey: selectedKeys[0],\r\n treeSearchPrams: { [searchField]: keyword },\r\n });\r\n }\r\n }\r\n }\r\n } else {\r\n this.setState({\r\n treeSelectedKey: keyword,\r\n treeSearchPrams: {},\r\n });\r\n }\r\n if (this.props.onTreeSelect) {\r\n this.props.onTreeSelect(selectedKeys, obj);\r\n return;\r\n }\r\n const fromValue = this.searchRef?.current?.getSearchValues() || {};\r\n searchField && this.tableLoad({ ...fromValue, [searchField]: keyword });\r\n this.props.onCallBacks?.treeSelectCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.treeSelectCallBack,\r\n { pageRef: this.props.pageRef, selectedKeys: selectedKeys, obj: obj },\r\n this.props.Utils\r\n );\r\n // utils.callback(this.props.onCallBacks?.treeSelectCallBack, this, [\r\n // selectedKeys,\r\n // obj,\r\n // ]);\r\n }\r\n resetSearch() {\r\n this.searchRef.current?.resetFields();\r\n }\r\n getText(props, text) {\r\n let newText = text;\r\n if (props?.data && props?.data?.length > 0) {\r\n let data = props.data;\r\n for (let i = 0; i < data?.length; i++) {\r\n if (data[i].value == text) {\r\n newText = data[i].label;\r\n }\r\n }\r\n }\r\n return newText;\r\n }\r\n setTableData(data) {\r\n this.tableRef.current?.store?.setData(data);\r\n }\r\n setTreeData(data) {\r\n this.treeRef.current?.store?.setData(data);\r\n }\r\n getSelectedKey = (selected) => {\r\n let res = [];\r\n for (let key in selected) {\r\n const keys = selected[key];\r\n if (keys.length > 0) {\r\n res = [...res, ...keys];\r\n }\r\n }\r\n return res;\r\n };\r\n\r\n convertQueryParams() {\r\n const { requestParams = {} } = this.props;\r\n let queryParams: any = requestParams.queryParams;\r\n if (queryParams && typeof queryParams == \"string\") {\r\n const Utils = this.props.Utils || {};\r\n let func = new Function(\"Utils\", queryParams);\r\n let converParams = func(Utils);\r\n queryParams = converParams;\r\n } else {\r\n queryParams = queryParams || {};\r\n }\r\n return queryParams;\r\n }\r\n\r\n // 计算表头高度的方法\r\n calculateTableHeaderHeight = () => {\r\n if (this.tableWrapperRef.current) {\r\n const tableHeader =\r\n this.tableWrapperRef.current.getElementsByClassName(\r\n \"ant-table-thead\"\r\n )[0];\r\n if (tableHeader) {\r\n const headerHeight = tableHeader.getBoundingClientRect().height;\r\n if (headerHeight !== this.state.tableHeaderHeight) {\r\n this.setState({\r\n tableHeaderHeight: headerHeight,\r\n });\r\n }\r\n }\r\n }\r\n };\r\n throttleCalculateTableHeaderHeight = throttle(\r\n this.calculateTableHeaderHeight,\r\n 500\r\n );\r\n\r\n // 优化拖拽相关方法\r\n handleMouseDown(e: React.MouseEvent) {\r\n e.preventDefault();\r\n\r\n // 创建遮罩层以处理iframe场景\r\n const mask = document.createElement(\"div\");\r\n mask.style.cssText = `\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n z-index: 9999;\r\n cursor: col-resize;\r\n `;\r\n mask.id = \"drag-mask\";\r\n document.body.appendChild(mask);\r\n\r\n const handleMouseMove = (e: MouseEvent) => {\r\n const newWidth = e.screenX;\r\n // 限制最小100px,最大500px\r\n if (newWidth >= 50 && newWidth <= 800) {\r\n this.setState({ treeWidth: newWidth });\r\n }\r\n };\r\n\r\n const throttledMouseMove = throttle(handleMouseMove, 16);\r\n\r\n const handleMouseUp = () => {\r\n document.removeEventListener(\"mousemove\", throttledMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n // 移除遮罩层\r\n const mask = document.getElementById(\"drag-mask\");\r\n if (mask) {\r\n document.body.removeChild(mask);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousemove\", throttledMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n }\r\n\r\n render() {\r\n const {\r\n columns = [],\r\n showSearch = true,\r\n children,\r\n submitUrl = \"\",\r\n tableProps = {},\r\n treeProps = {},\r\n formPageProps = {},\r\n showLeft = false,\r\n submitParams = {},\r\n showToolButton = true,\r\n buttons = [],\r\n editorForm = true,\r\n onShowForm,\r\n formChangeValid = true,\r\n className,\r\n toolButtonPosition = \"buttom\",\r\n actionProps,\r\n deletePosition = \"toolbar\",\r\n buttonClick = {},\r\n permission = { has: false },\r\n requestParams = {},\r\n requestUrls = {},\r\n } = this.props;\r\n const {\r\n store: tableStore = {},\r\n filterColumn = true,\r\n actionColumn = true,\r\n showRowSelection = true,\r\n columnOrder = true,\r\n expandable = {},\r\n parantSelect = true,\r\n title: tableTitle,\r\n ...othertableParams\r\n } = tableProps;\r\n let newTableStore = { ...tableStore };\r\n if (requestParams.queryParams) {\r\n let queryParams: any = this.convertQueryParams();\r\n let data = queryParams?.data || queryParams?.params || {};\r\n newTableStore.requestConfig = {\r\n params: { ...data, ...newTableStore.requestConfig?.params },\r\n };\r\n }\r\n const {\r\n store: treeStore = {},\r\n showSearch: treeSearch = true,\r\n titleAlias = \"title\",\r\n title: treeTitle,\r\n ...othertreeParams\r\n } = treeProps;\r\n let _this = this;\r\n let tableParams = {\r\n filterColumn,\r\n store: {\r\n listeners: {\r\n load: (data) => {\r\n _this.props.onCallBacks?.tableLoadCallBack &&\r\n _this.props.onCallBacks?.tableLoadCallBack(data);\r\n },\r\n },\r\n ...newTableStore,\r\n },\r\n ...othertableParams,\r\n } as any;\r\n const defaultValue: any = {};\r\n const columnButtons: any = [];\r\n const { elementHeight } = this.state;\r\n let permissionButtons = [];\r\n if (permission.has && permission.menuCode) {\r\n permissionButtons =\r\n getButtonPermissons(permission.menuCode).permissons || [];\r\n }\r\n const obj = convertColumns(columns, {});\r\n let tableColumn: any[] = getNewColumns(columns, this.props);\r\n const searchForms = obj.searchForms || [];\r\n const editorForms = obj.editorForms || [];\r\n const toolButtons: any = [];\r\n const formButton: any = [];\r\n const { baseActionColumn } = config();\r\n let showIcon = true;\r\n if (actionProps?.showIcon === false) showIcon = false;\r\n else if (baseActionColumn.showIcon === false) showIcon = false;\r\n const buttonMap = {\r\n editor: { name: \"编辑\", code: \"editor\", icon: <EditOutlined /> },\r\n delete: { name: \"删除\", code: \"delete\", icon: <DeleteOutlined /> },\r\n search: { name: \"查看\", code: \"search\", icon: <EyeOutlined /> },\r\n };\r\n const returnButton = (code, show = \"\", defaultProps = {}) => {\r\n let props = {\r\n icon: showIcon ? buttonMap[code].icon : null,\r\n type: \"link\",\r\n ...defaultProps,\r\n } as any;\r\n\r\n if (show) {\r\n props = { ...props, recordShow: show };\r\n }\r\n return (\r\n <Button\r\n onClick={(record: any) => {\r\n if (code == \"delete\") {\r\n this.onDelete(record);\r\n } else {\r\n if (code == \"editor\" && buttonClick.onEditor) {\r\n converFunction(\r\n buttonClick.onEditor,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n } else if (code == \"search\" && buttonClick.onSearch) {\r\n converFunction(\r\n buttonClick.onSearch,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onShowForm) {\r\n onShowForm(record.attribute || record, code);\r\n return;\r\n }\r\n\r\n this.showForm(record.attribute || record, code, () => {\r\n let callBack =\r\n code == \"editor\"\r\n ? this.props.onCallBacks?.onEditorCallBack\r\n : this.props.onCallBacks?.onSearchCallBack;\r\n callBack &&\r\n converFunction(\r\n callBack,\r\n {\r\n pageRef: this.props.pageRef,\r\n record: record.attribute || record,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n });\r\n }\r\n }}\r\n {...props}\r\n >\r\n {buttonMap[code]?.name}\r\n </Button>\r\n );\r\n };\r\n const checkPerssion = (code) => {\r\n if (!permission.has) {\r\n return true;\r\n } else {\r\n return permissionButtons.indexOf(code) > -1;\r\n }\r\n };\r\n buttons.map((item: any) => {\r\n if ((item == \"add\" || item.code == \"add\") && checkPerssion(\"add\")) {\r\n toolButtons.push(\r\n <Button\r\n type={\"primary\"}\r\n onClick={() => {\r\n const { onShowForm, buttonClick = {} } = this.props;\r\n if (buttonClick?.onAdd) {\r\n converFunction(\r\n buttonClick.onAdd,\r\n {\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n return;\r\n }\r\n if (onShowForm) {\r\n onShowForm(null, \"add\");\r\n return;\r\n }\r\n this.showForm(null, null, () => {\r\n this.props.onCallBacks?.onAddCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onAddCallBack,\r\n {\r\n pageRef: this.props.pageRef,\r\n funcs: this.props.funcs,\r\n },\r\n this.props.Utils\r\n );\r\n });\r\n }}\r\n icon={<PlusOutlined />}\r\n >\r\n 添加\r\n </Button>\r\n );\r\n } else if (\r\n (item == \"delete_batch\" || item.code == \"delete_batch\") &&\r\n checkPerssion(\"delete_batch\")\r\n ) {\r\n toolButtons.push(\r\n <Button\r\n type={\"primary\"}\r\n onClick={this.onDelete.bind(this, null, \"toolbar\")}\r\n icon={<DeleteOutlined />}\r\n danger\r\n >\r\n 批量删除\r\n </Button>\r\n );\r\n } else {\r\n if (checkPerssion(item.code ? item.code : item)) {\r\n columnButtons.push(\r\n returnButton(\r\n item.code ? item.code : item,\r\n item.recordShow,\r\n item.props || {}\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (\r\n child?.props?.pageType == \"toolButton\" &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n toolButtons.push(child);\r\n } else if (\r\n child?.props?.pageType == \"formButton\" &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n formButton.push(child);\r\n } else if (\r\n (child?.props?.pageType == \"columnButton\" ||\r\n child?.props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(child?.props?.code)\r\n ) {\r\n columnButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (\r\n item?.props?.pageType == \"toolButton\" &&\r\n checkPerssion(item?.props?.code)\r\n ) {\r\n toolButtons.push(item);\r\n } else if (\r\n (item?.props?.pageType == \"columnButton\" ||\r\n item?.props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(item?.props?.code)\r\n ) {\r\n columnButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\" && checkPerssion(props?.code)) {\r\n toolButtons.push(children);\r\n } else if (\r\n (props?.pageType == \"columnButton\" ||\r\n props?.pageType == \"cloumnButton\") &&\r\n checkPerssion(props?.code)\r\n ) {\r\n columnButtons.push(children);\r\n }\r\n }\r\n actionColumn &&\r\n tableColumn.push({\r\n title: \"操作\",\r\n dataIndex: \"action\",\r\n align: actionProps?.textAlign\r\n ? actionProps?.textAlign\r\n : baseActionColumn.textAlign\r\n ? baseActionColumn.textAlign\r\n : \"left\",\r\n width: actionProps?.width\r\n ? actionProps?.width\r\n : baseActionColumn.width\r\n ? baseActionColumn.width\r\n : 200,\r\n fixed: \"right\",\r\n render: (text: any, record: any) => {\r\n return (\r\n <div className={getLess(styles, \"nsc-basepage-action\")}>\r\n {this.renderCloumnButton(columnButtons, record)}\r\n </div>\r\n );\r\n },\r\n });\r\n\r\n if (columnOrder)\r\n tableColumn = [\r\n {\r\n title: \"序号\",\r\n width: 80,\r\n align: \"center\",\r\n render: (text, reacord, index) => {\r\n return <>{index + 1}</>;\r\n },\r\n },\r\n ...tableColumn,\r\n ];\r\n let searchFlag = showSearch && searchForms.length > 0;\r\n let { tableTool } = config();\r\n let toolFlag =\r\n showToolButton &&\r\n toolButtons.length > 0 &&\r\n toolButtonPosition == \"buttom\";\r\n let toolbarFlag = !(\r\n tableProps.toolbar == false ||\r\n tableProps.toolbar?.show == false ||\r\n tableProps.toolbar?.tools?.length == 0 ||\r\n tableTool?.show == false\r\n );\r\n let headerHeight = showSearch && searchForms.length > 0 ? 104 : 0; //头部搜索栏高度\r\n let toolHeight = tableTitle || toolFlag ? 50 : 0;\r\n let paddingHeight = 20 * 2; //上下间距\r\n let tableContentHeight =\r\n elementHeight - toolHeight - paddingHeight ;\r\n let PaginationHeight = tableProps.pagination !== false ? 32 + 16 : 0; //32 为分页器高度,16为margin间距\r\n let tableHeight = tableContentHeight - PaginationHeight;\r\n let tableSrollHeight =\r\n tableContentHeight -\r\n (this.state.tableHeaderHeight > 0 ? this.state.tableHeaderHeight : 55) -\r\n PaginationHeight;\r\n // if (tableProps.pagination !== false) {\r\n const scroll = tableParams.scroll;\r\n tableParams = {\r\n ...tableParams,\r\n scroll: { x: \"max-content\", y: tableSrollHeight, ...scroll },\r\n };\r\n // }\r\n return (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage\"), className)}\r\n ref={this.pageRef}\r\n >\r\n {this.props.pageTitle && (\r\n <div className={cls(getLess(styles, \"nsc-basepage-title\"))}>\r\n {this.props.pageTitle}\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-pane\"))}\r\n style={{ display: \"flex\" }}\r\n >\r\n {showLeft && (\r\n <div\r\n className={getLess(styles, \"nsc-basepage-left\")}\r\n style={{ width: this.state.treeWidth }}\r\n >\r\n {treeTitle && (\r\n <div className={getLess(styles, \"tree-title\")}>{treeTitle}</div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"tree-content\"), {\r\n [getLess(styles, \"tree-content-notitle\")]: !treeTitle,\r\n })}\r\n >\r\n <div\r\n className=\"tree-drag\"\r\n onMouseDown={this.handleMouseDown.bind(this)}\r\n ></div>\r\n <Tree\r\n store={{ ...treeStore }}\r\n showIcon={false}\r\n checkable={false}\r\n searchable={treeSearch}\r\n onSelect={this.treeSelect.bind(this)}\r\n selectedKeys={[this.state.treeSelectedKey]}\r\n titleAlias={titleAlias}\r\n ref={this.treeRef}\r\n {...othertreeParams}\r\n />\r\n </div>\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-right\"), {\r\n [getLess(styles, \"nsc-basepage-no-left-right\")]: !showLeft,\r\n })}\r\n style={{\r\n width: `calc(100% - ${this.state.treeWidth}px - ${\r\n showLeft ? 15 : 0\r\n }px)`,\r\n }}\r\n >\r\n {showSearch && searchForms.length > 0 && (\r\n <div className={getLess(styles, \"nsc-basepage-headersearch\")}>\r\n <HeaderSearch\r\n searchForms={searchForms}\r\n toolButtonPosition={toolButtonPosition}\r\n onSearch={this.onSearch.bind(this)}\r\n onReset={() => {\r\n if (this.props.onReset) {\r\n this.props.onReset();\r\n return;\r\n }\r\n this.searchRef.current?.resetFields();\r\n this.tableLoad({});\r\n }}\r\n ref={this.searchRef}\r\n searchFormProps={this.props.searchFormProps}\r\n />\r\n </div>\r\n )}\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-content\"), {\r\n [getLess(styles, \"nsc-basepage-content-gap\")]: !searchFlag,\r\n })}\r\n ref={this.pageContentRef}\r\n >\r\n {(tableTitle || toolFlag) && (\r\n <div\r\n className={cls(getLess(styles, \"nsc-basepage-table-title\"), {\r\n [getLess(styles, \"nsc-basepage-title-width\")]: !toolbarFlag,\r\n })}\r\n >\r\n <div>{tableTitle}</div>\r\n {toolFlag && this.renderToolButtons(toolButtons, toolbarFlag)}\r\n </div>\r\n )}\r\n\r\n <div\r\n className={cls(\r\n getLess(styles, \"nsc-basepage-table\"),\r\n {\r\n [getLess(styles, \"nsc-basepage-table-top\")]: !toolbarFlag,\r\n },\r\n {\r\n [getLess(styles, \"nsc-basepage-table-top2\")]:\r\n toolbarFlag && !toolFlag,\r\n }\r\n )}\r\n ref={this.tableWrapperRef}\r\n style={{ height: tableContentHeight }}\r\n >\r\n <Table\r\n ref={this.tableRef}\r\n columns={tableColumn}\r\n expandable={{\r\n expandIcon: ({ expanded, onExpand, record }) => {\r\n return (\r\n <>\r\n {expanded &&\r\n record.childNodes &&\r\n record.childNodes?.length > 0 ? (\r\n <DownOutlined\r\n onClick={(e) => onExpand(record, e)}\r\n className={getLess(styles, \"expand-icon\")}\r\n />\r\n ) : record.childNodes &&\r\n record.childNodes?.length > 0 ? (\r\n <RightOutlined\r\n onClick={(e) => onExpand(record, e)}\r\n className={getLess(styles, \"expand-icon\")}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n },\r\n ...expandable,\r\n }}\r\n columnOrder={true}\r\n onChange={(pagination) => {\r\n const { currentPage } = this.state;\r\n if (currentPage !== pagination.current) {\r\n this.setState({\r\n currentPage: pagination.current,\r\n });\r\n }\r\n }}\r\n toolbar={{\r\n onToolClick: {\r\n onRefresh: () => {\r\n const params = this.getSearchValues();\r\n this.tableLoad(params);\r\n },\r\n },\r\n ...tableProps.toolbar,\r\n }}\r\n showRowSelection={showRowSelection}\r\n style={{ height: tableHeight }}\r\n {...tableParams}\r\n // pagination={false}\r\n />\r\n {/* <div></div> */}\r\n </div>\r\n </div>\r\n </div>\r\n {editorForm && this.props.formPageProps?.formType !== \"page\" && (\r\n <EditorForm\r\n ref={this.editorRef}\r\n callBack={() => {\r\n this.props.onCallBacks?.onSumbitCallBack &&\r\n converFunction(\r\n this.props.onCallBacks?.onSumbitCallBack,\r\n { pageRef: this.props.pageRef },\r\n this.props.Utils\r\n );\r\n this.tableReload();\r\n }}\r\n forms={editorForms}\r\n submitUrl={submitUrl}\r\n submitParams={submitParams}\r\n onSubmit={this.props.onSubmit}\r\n onHideForm={this.props.onHideForm}\r\n onFormChange={this.props.onFormChange}\r\n formType={this.props.formType || \"auto\"}\r\n changeValid={formChangeValid}\r\n Utils={this.props.Utils}\r\n requestObject={{\r\n addUrl: requestUrls.addUrl,\r\n editorUrl: requestUrls.editorUrl,\r\n addParams: requestParams.addParams,\r\n editorParams: requestParams.editorParams,\r\n }}\r\n funcs={this.props.funcs}\r\n {...formPageProps}\r\n >\r\n {formButton}\r\n </EditorForm>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default BasePage;\r\n"],"mappings":"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"}