From e5d30f224bb78a28ceb7519de882d4d1547cb0ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Tue, 23 Jan 2024 10:51:38 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feature/2.10.1.2401.01-=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/index.js | 4 +++- .../standingBook/standingBook.js | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js diff --git a/pc4mobx/hrmSalary/index.js b/pc4mobx/hrmSalary/index.js index 743b5cfc..c7ecec4c 100644 --- a/pc4mobx/hrmSalary/index.js +++ b/pc4mobx/hrmSalary/index.js @@ -6,7 +6,8 @@ import MySalary from "./pages/mySalaryBenefits"; import Programme from "./pages/socialSecurityBenefits/programme"; // import Archivess from "./pages/socialSecurityBenefits/archives"; import Archives from "./pages/socialSecurityBenefits/welfareArchive"; //社保福利档案重构页面 -import StandingBook from "./pages/socialSecurityBenefits/standingBook"; +import StandingBookDemo from "./pages/socialSecurityBenefits/standingBook"; +import StandingBook from "./pages/socialSecurityBenefits/standingBook/standingBook";//社保福利台账重构页面 import StandingBookDetail from "./pages/socialSecurityBenefits/standingBookDetail"; import StandingBookOfflineComparison from "./pages/socialSecurityBenefits/standingBookOfflineComparison"; import SalaryItem from "./pages/salaryItem"; @@ -122,6 +123,7 @@ const Routes = ( {/**/} + + 社保福利台账重构 + + ); + } +} + +export default StandingBook; From e15a88b1f4aa4c4b478b60479e79d252ca754302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Tue, 23 Jan 2024 15:38:03 +0800 Subject: [PATCH 02/14] =?UTF-8?q?feature/2.10.1.2401.01-=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../standingBook/columns.js | 19 +++ .../components/welfareRecordQuery.js | 109 ++++++++++++++++++ .../standingBook/index.less | 38 ++++++ .../standingBook/standingBook.js | 19 ++- pc4mobx/hrmSalary/stores/StandingBook.js | 1 + 5 files changed, 183 insertions(+), 3 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordQuery.js diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js index ea3a33dc..6f00eaba 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js @@ -41,3 +41,22 @@ export const socialAccountConditions = [ title: "" } ]; +export const welfareRQConditions = [ + { + items: [ + { + colSpan: 1, + conditionType: "SELECT", + domkey: ["paymentOrganization"], + fieldcol: 14, + label: "个税扣缴义务人", + lanId: 537996, + labelcol: 6, + options: [], + viewAttr: 2 + } + ], + defaultshow: true, + title: "" + } +]; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordQuery.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordQuery.js new file mode 100644 index 00000000..956f8cce --- /dev/null +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordQuery.js @@ -0,0 +1,109 @@ +/* + * Author: 黎永顺 + * name: 社保福利台账重构-查询组件 + * Description: + * Date: 2024/1/23 + */ +import React, { Component } from "react"; +import { inject, observer } from "mobx-react"; +import { WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom"; +import { WeaSwitch } from "comsMobx"; +import * as API from "../../../../apis/standingBook"; +import { welfareRQConditions } from "../columns"; +import { MonthRangePicker } from "../../../reportView/components/statisticalMicroSettingsSlide"; +import moment from "moment"; + +const getLabel = WeaLocaleProvider.getLabel; +const getKey = WeaTools.getKey; + +@inject("standingBookStore") +@observer +class WelfareRecordQuery extends Component { + constructor(props) { + super(props); + this.state = { + conditions: [], + dateRange: [ + moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"), + moment(new Date()).endOf("year").format("YYYY-MM") + ] + }; + } + + componentDidMount() { + API.getAdminTaxAgentList().then(({ status, data }) => { + if (status) { + this.setState({ + conditions: _.map(welfareRQConditions, item => { + return { + ...item, + items: _.map(item.items, o => { + if (getKey(o) === "paymentOrganization") { + return { ...o, options: _.map(data, g => ({ key: g.id.toString(), showname: g.name })) }; + } + return o; + }) + }; + }) + }, () => { + const { standingBookStore: { welfareRQForm } } = this.props; + welfareRQForm.initFormFields(this.state.conditions); + }); + } + }); + } + + renderForm = (form, conditions) => { + const { dateRange } = this.state; + const { isFormInit } = form; + const formParams = form.getFormParams(); + let group = []; + isFormInit && conditions && conditions.map(c => { + let items = []; + c.items.map(fields => { + items.push({ + com: ( + + + ) + }); + }); + group.push( + + this.setState({ dateRange: v }, () => this.getWelfareRecordLiost())}/> + ) + }, + ...items + ]} + />); + }); + return group; + }; + getWelfareRecordLiost = () => { + const { standingBookStore: { welfareRQForm } } = this.props; + const { dateRange } = this.state; + const [startTime, endTime] = dateRange; + const payload = { + ...welfareRQForm.getFormParams(), startTime, endTime + }; + console.log(payload); + }; + + render() { + const { standingBookStore: { welfareRQForm } } = this.props; + const { conditions } = this.state; + return ( +
{this.renderForm(welfareRQForm, conditions)}
+ ); + } +} + +export default WelfareRecordQuery; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.less b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.less index f306bdf9..54a6730c 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.less +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/index.less @@ -54,3 +54,41 @@ } } } + +//社保福利台账页面重构 +.salary-welfare-record { + min-width: 1000px; + overflow: auto; + width: 100%; + height: 100%; + background: #f6f6f6; + + .salary-welfare-record-content { + width: 100%; + height: 100%; + padding: 8px 16px; + display: flex; + flex-direction: column; + + .salary-welfare-record-query { + width: 100%; + height: 46px; + display: flex; + align-items: center; + + .wea-search-group { + width: 100%; + padding: 0; + + .wea-content { + padding: 0; + + .rangePickerBox { + display: flex; + align-items: center; + } + } + } + } + } +} diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js index 195c3b17..76b138f0 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js @@ -6,15 +6,28 @@ * Date: 2024/1/23 */ import React, { Component } from "react"; -import { WeaLocaleProvider } from "ecCom"; +import { inject, observer } from "mobx-react"; +import { WeaLocaleProvider, WeaTop } from "ecCom"; +import { Button } from "antd"; +import WelfareRecordQuery from "./components/welfareRecordQuery"; +import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; +@inject("standingBookStore", "taxAgentStore") +@observer class StandingBook extends Component { render() { + const { taxAgentStore: { showOperateBtn } } = this.props; + const rightBtns = []; return ( -
- 社保福利台账重构 +
+ } + iconBgcolor="#F14A2D" buttons={showOperateBtn ? rightBtns : []}> +
+ +
+
); } diff --git a/pc4mobx/hrmSalary/stores/StandingBook.js b/pc4mobx/hrmSalary/stores/StandingBook.js index 1288da0f..c1c159bb 100644 --- a/pc4mobx/hrmSalary/stores/StandingBook.js +++ b/pc4mobx/hrmSalary/stores/StandingBook.js @@ -11,6 +11,7 @@ export class StandingBookStore { @action initAccountForm = () => this.accountForm = new WeaForm(); @observable addCPForm = new WeaForm(); // 社保台账详情页面,添加补差人员form @action initAddCPForm = () => this.addCPForm = new WeaForm(); + @observable welfareRQForm = new WeaForm(); // 社保台账页面重构,查询form @observable tableStore = new TableStore(); // new table From 6a91ce8b3c3e63a781622bf851717a12a8d443ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Tue, 23 Jan 2024 19:05:57 +0800 Subject: [PATCH 03/14] =?UTF-8?q?feature/2.10.1.2401.01-=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/welfareRecord.js | 56 ----------- .../standingBook/columns.js | 2 +- .../components/welfareRecordList.js | 97 +++++++++++++++++++ .../components/welfareRecordQuery.js | 14 +-- .../standingBook/index.less | 9 +- .../standingBook/standingBook.js | 46 ++++++++- pc4mobx/hrmSalary/util/index.js | 11 ++- 7 files changed, 167 insertions(+), 68 deletions(-) delete mode 100644 pc4mobx/hrmSalary/apis/welfareRecord.js create mode 100644 pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordList.js diff --git a/pc4mobx/hrmSalary/apis/welfareRecord.js b/pc4mobx/hrmSalary/apis/welfareRecord.js deleted file mode 100644 index 48f5d330..00000000 --- a/pc4mobx/hrmSalary/apis/welfareRecord.js +++ /dev/null @@ -1,56 +0,0 @@ -import { WeaTools } from 'ecCom'; - -//台账 -export const getRecordList = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/batch/list', 'get', params); -}; -export const getCalcForm = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/accountForm', 'get', params); -}; -export const save = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/save', 'post', params); -}; -export const doArchive = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/file', 'post', params); -}; -export const deleteRecord = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/delete', 'post', params); -}; - -//核算 -export const getCalcTabs = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/tabList', 'get', params); -}; -export const getNormalForm = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/commonForm', 'get', params); -}; -export const saveNormalForm = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/common/save', 'post', params); -}; -export const deleteNormal = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/common/delete', 'post', params); -}; -export const getSupplementaryForm = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/querySupplementaryForm', 'get', params); -}; -export const saveSupplementaryForm = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/supplementary/save', 'post', params); -}; -export const deleteSupplementary = params => { - return WeaTools.callApi('/api/bs/hrmsalary/siaccount/supplementary/delete', 'post', params); -}; - -// 导出正常缴纳核算 -export const exportNormalPaymentAccount = params => { - return WeaTools.callApi('/api/bs/hrmsalary/common/export', 'post', params); -}; - -// 导出总览 -export const exportOverView = params => { - return WeaTools.callApi('/api/bs/hrmsalary/overview/export', 'post', params); -}; - -// 导出补缴核算 -export const exportSupplementaryAccount = params => { - return WeaTools.callApi('/api/bs/hrmsalary/supplementary/export', 'post', params); -}; \ No newline at end of file diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js index 6f00eaba..7bec5243 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js @@ -48,7 +48,7 @@ export const welfareRQConditions = [ colSpan: 1, conditionType: "SELECT", domkey: ["paymentOrganization"], - fieldcol: 14, + fieldcol: 8, label: "个税扣缴义务人", lanId: 537996, labelcol: 6, diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordList.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordList.js new file mode 100644 index 00000000..9a2df88c --- /dev/null +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/components/welfareRecordList.js @@ -0,0 +1,97 @@ +/* + * Author: 黎永顺 + * name:社保福利台账重构-列表 + * Description: + * Date: 2024/1/23 + */ +import React, { Component } from "react"; +import { Spin } from "antd"; +import { WeaLocaleProvider } from "ecCom"; +import { getIframeParentHeight } from "../../../../util"; +import * as API from "../../../../apis/standingBook"; + +const getLabel = WeaLocaleProvider.getLabel; + +class WelfareRecordList extends Component { + constructor(props) { + super(props); + this.state = { + loading: false, dataSource: [], columns: [], + pageInfo: { current: 0, pageSize: 10, total: 0 } + }; + } + + componentDidMount() { + window.addEventListener("message", this.handleReceive, false); + } + + componentWillUnmount() { + window.removeEventListener("message", this.handleReceive, false); + } + + handleReceive = ({ data }) => { + const { pageInfo } = this.state; + const { type, payload: { id, params } = {} } = data; + if (type === "init") { + this.getWelfareRecordList(); + } else if (type === "turn") { + switch (id) { + case "PAGEINFO": + this.setState({ pageInfo: { ...pageInfo, ...params } }, () => this.getWelfareRecordList()); + break; + default: + break; + } + } + }; + postMessageToChild = (payload = {}) => { + const i18n = { + "共": getLabel(18609, "共"), "条": getLabel(18256, "条"), + "总计": getLabel(523, "总计"), "已归档": getLabel(18800, "已归档"), + "未归档": getLabel(17999, "已归档"), "操作": getLabel(30585, "操作"), + "核算": getLabel(538780, "核算"), "归档": getLabel(251, "归档"), + "查看": getLabel(33564, "查看"), "重新核算": getLabel(542637, "重新核算"), + "删除": getLabel(535052, "删除") + }; + const childFrameObj = document.getElementById("unitTable"); + childFrameObj && childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*"); + }; + getWelfareRecordList = () => { + const { queryForm } = this.props; + const { pageInfo } = this.state; + const payload = { ...pageInfo, ...queryForm }; + this.setState({ loading: true }); + API.getCommonList(payload).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + const { pageInfo: result } = data; + const { columns, list: dataSource, pageNum: current, pageSize, total } = result; + this.setState({ + pageInfo: { ...pageInfo, current, pageSize, total }, + dataSource, columns + }, () => this.postMessageToChild({ + scrollHeight: 100, dataSource, columns, pageInfo: this.state.pageInfo + })); + } + }).catch(() => this.setState({ loading: false })); + }; + + render() { + const { loading, dataSource } = this.state; + return ( +
+ +