From d5fdab469900903ff66c0bf0fa45cf195d4cf562 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 1 Jul 2025 10:55:10 +0800 Subject: [PATCH] =?UTF-8?q?custom/=E4=B8=87=E5=BE=B7=E9=9A=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/index.js | 3 + pc4mobx/hrmSalary/pages/custom-pages/index.js | 10 +++ .../pages/custom-pages/wandelong/api/index.js | 10 +++ .../components/wdlImportDialog/index.js | 60 ++++++++++++++ .../wandelong/salaryDynamicTable/index.js | 83 +++++++++++++++++++ .../wandelong/salaryDynamicTable/index.less | 16 ++++ 6 files changed, 182 insertions(+) create mode 100644 pc4mobx/hrmSalary/pages/custom-pages/wandelong/api/index.js create mode 100644 pc4mobx/hrmSalary/pages/custom-pages/wandelong/components/wdlImportDialog/index.js create mode 100644 pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.js create mode 100644 pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.less diff --git a/pc4mobx/hrmSalary/index.js b/pc4mobx/hrmSalary/index.js index 42d08cee..becc56ed 100644 --- a/pc4mobx/hrmSalary/index.js +++ b/pc4mobx/hrmSalary/index.js @@ -56,6 +56,8 @@ import SupplementaryCalc from "./pages/supplementaryCalc"; import VariableSalary from "./pages/variableSalary"; import Datapush from "./pages/datapush"; import Layout from "./layout"; + +import CustomRoutes from "./pages/custom-pages"; import stores from "./stores"; import "./style/index"; // 读取系统多语言配置 @@ -123,6 +125,7 @@ const Routes = ( + {CustomRoutes} ); diff --git a/pc4mobx/hrmSalary/pages/custom-pages/index.js b/pc4mobx/hrmSalary/pages/custom-pages/index.js index e69de29b..88e36ac8 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/index.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/index.js @@ -0,0 +1,10 @@ +import React from "react"; +import Route from "react-router/lib/Route"; +import SalaryDynamicTable from "./wandelong/salaryDynamicTable"; + +const CustomRoutes = [ + +]; + +export default CustomRoutes; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/wandelong/api/index.js b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/api/index.js new file mode 100644 index 00000000..2956ccc8 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/api/index.js @@ -0,0 +1,10 @@ +import { postFetch } from "../../../../util/request"; + +// 万德隆薪资动态表 +export const getDynamicSalaryReport = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/wdl/dynamicSalaryReport", params); +}; +// 万德隆薪资动态表-导入 +export const importWdlDynamicSalaryReport = params => { + return postFetch("/api/bs/hrmsalary/salaryacct/wdl/importWdlDynamicSalaryReport", params); +}; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/wandelong/components/wdlImportDialog/index.js b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/components/wdlImportDialog/index.js new file mode 100644 index 00000000..2f51135d --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/components/wdlImportDialog/index.js @@ -0,0 +1,60 @@ +/* + * 万德隆薪酬二开 + * 导入 + * @Author: 黎永顺 + * @Date: 2025/6/30 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import ImportDialog from "../../../../../components/importDialog"; +import * as API from "../../api"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + importDialog: { + nextloading: false, importResult: {}, imageId: "", + previewUrl: "/api/bs/hrmsalary/salaryacct/wdl/previewWdlDynamicSalaryReport", + link: "/api/bs/hrmsalary/salaryacct/wdl/exportDynamicSalaryReport" + } + }; + } + + handleImport = (payload) => { + const { importDialog } = this.state; + this.setState({ importDialog: { ...importDialog, nextloading: true } }); + API.importWdlDynamicSalaryReport({ ...payload }).then(({ data, status }) => { + this.setState({ importDialog: { ...importDialog, nextloading: false } }); + if (status) { + this.setState({ + importDialog: { ...importDialog, ...payload, importResult: data } + }, ()=> this.props.onSuccess()); + } + }).catch(() => this.setState({ importDialog: { ...importDialog, nextloading: false } })); + }; + + render() { + const { importDialog } = this.state; + return ( + this.setState({ + importDialog: { + ...importDialog, importResult: {}, imageId: "", link: "" + } + })} + exportDataDom={null} + nextCallback={imageId => this.setState({ importDialog: { ...importDialog, imageId } })} + nextUplaodCallback={imageId => this.handleImport({ imageId })} + /> + ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.js b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.js new file mode 100644 index 00000000..22947d27 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.js @@ -0,0 +1,83 @@ +/* + * 万德隆薪酬二开 + * 薪资动态表 + * @Author: 黎永顺 + * @Date: 2025/6/30 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider, WeaTable, WeaTop } from "ecCom"; +import WdlImportDialog from "../components/wdlImportDialog"; +import { Button } from "antd"; +import * as API from "../api"; +import "./index.less"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + columns: [], dataSource: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, loading: false, visible: false + }; + } + + componentDidMount() { + this.getDynamicSalaryReport(); + } + + getDynamicSalaryReport = () => { + const { pageInfo } = this.state; + this.setState({ loading: true }); + API.getDynamicSalaryReport({ ...pageInfo }).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + const { columns, pageInfo: result } = data, { pageNum: current, pageSize, total, list: dataSource } = result; + this.setState({ + pageInfo: { current, pageSize, total }, dataSource, columns: _.map(columns, o => ({ + dataIndex: o.column, title: o.text, width: o.width + })) + }); + } + }).catch(() => this.setState({ loading: false })); + }; + + render() { + const { loading, columns, dataSource, pageInfo, visible } = this.state; + const pagination = { + ...pageInfo, + showTotal: total => `${getLabel(111, "共")} ${total} ${getLabel(111, "条")}`, + showQuickJumper: true, + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"], + onShowSizeChange: (current, pageSize) => { + this.setState({ + pageInfo: { ...pageInfo, current, pageSize } + }, () => this.getDynamicSalaryReport()); + }, + onChange: current => { + this.setState({ pageInfo: { ...pageInfo, current } }, () => this.getDynamicSalaryReport()); + } + }; + return (} iconBgcolor="#F14A2D" showDropIcon + buttons={[, + ]} + > +
+ + this.setState({ visible: false })} + onSuccess={this.getDynamicSalaryReport}/> +
+
); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.less b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.less new file mode 100644 index 00000000..591f1a5e --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/wandelong/salaryDynamicTable/index.less @@ -0,0 +1,16 @@ +.wdl-salary-dynamic-table { + .wea-new-top-content { + overflow-y: hidden; + + .wdl-salary-dynamic-table-container { + height: 100%; + width: 100%; + padding: 8px 16px 0 16px; + background: #F6F6F6; + + .wea-new-table { + background: #fff; + } + } + } +}