From 73e8357e222985959364d28f413351f78ab53a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Sat, 28 Jan 2023 13:42:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/fieldManage.js | 17 +- .../fieldManagement/components/fieldSlide.js | 204 +++++++++--------- .../fieldManagement/components/fieldTable.js | 4 +- .../hrmSalary/pages/fieldManagement/index.js | 22 +- .../pages/fieldManagement/index.less | 3 + 5 files changed, 136 insertions(+), 114 deletions(-) diff --git a/pc4mobx/hrmSalary/apis/fieldManage.js b/pc4mobx/hrmSalary/apis/fieldManage.js index f8ac7a27..5e75f876 100644 --- a/pc4mobx/hrmSalary/apis/fieldManage.js +++ b/pc4mobx/hrmSalary/apis/fieldManage.js @@ -1,11 +1,20 @@ import { WeaTools } from "ecCom"; import { postFetch } from "../util/request"; -//获取薪资档案各tab的人数 -export const queryTabTotal = (params) => { - return WeaTools.callApi("/api/bs/hrmsalary/salaryArchive/queryTabTotal", "GET", params); +//获取编辑详情 +export const getSalaryFieldForm = (params) => { + return WeaTools.callApi("/api/bs/hrmsalary/salaryField/getSalaryForm", "GET", params); }; -// 导入档案 +// 字段管理查询 export const salaryFieldList = (params) => { return postFetch('/api/bs/hrmsalary/salaryField/list', params); } + +// 字段管理查询 +export const saveSalaryField = (params) => { + return postFetch('/api/bs/hrmsalary/salaryField/save', params); +} +// 删除字段管理 +export const deleteSalaryField = (params) => { + return postFetch('/api/bs/hrmsalary/salaryField/delete', params); +} diff --git a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldSlide.js b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldSlide.js index 9d9c7d9c..5614a9ae 100644 --- a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldSlide.js +++ b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldSlide.js @@ -6,10 +6,10 @@ */ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; -import { WeaFormItem, WeaHelpfulTip, WeaInput, WeaSelect, WeaSlideModal, WeaTextarea } from "ecCom"; -import { message, Modal, Switch } from "antd"; +import { WeaCheckbox, WeaFormItem, WeaHelpfulTip, WeaInput, WeaSelect, WeaSlideModal, WeaTextarea } from "ecCom"; +import { message, Modal } from "antd"; import SlideModalTitle from "../../../components/slideModalTitle"; -import { saveAdjustmentRule, saveLedgerBasic, saveLedgerItem } from "../../../apis/ledger"; +import { getSalaryFieldForm, saveSalaryField } from "../../../apis/fieldManage"; import { commonEnumList } from "../../../apis/payrollFiles"; import { dataTypeOptions, patternOptions, roundingModeOptions } from "../../salaryItem/options"; @@ -19,15 +19,16 @@ class FieldSlide extends Component { constructor(props) { super(props); this.state = { - current: 0, loading: false, + name: "", + useDefault: "", sharedType: "", shareTypeList: [], taxAgentIds: "", dataType: "number", roundingMode: "", pattern: "", - description: "", + description: "" }; } @@ -38,6 +39,30 @@ class FieldSlide extends Component { getTaxAgentSelectListAsAdmin(); } + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.editId !== this.props.editId && nextProps.editId) { + this.getSalaryFieldForm(nextProps.editId); + } + } + + getSalaryFieldForm = (id) => { + getSalaryFieldForm({ id }).then(({ status, data }) => { + if (status) { + const { name, useDefault, dataType, description, sharedType, roundingMode, taxAgentIds, pattern } = data; + this.setState({ + name, + useDefault: useDefault ? useDefault.toString() : "0", + dataType, + description, + sharedType: sharedType ? sharedType.toString() : "0", + roundingMode: roundingMode ? roundingMode.toString() : "0", + taxAgentIds, + pattern: pattern ? pattern.toString() : "0" + }); + } + }); + }; + /* * Author: 黎永顺 * Description: 获取可见性列表 @@ -47,7 +72,7 @@ class FieldSlide extends Component { commonEnumList = () => { const payload = { enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" - } + }; commonEnumList(payload).then(({ status, data }) => { if (status) { const result = _.map(data, it => ({ @@ -65,108 +90,79 @@ class FieldSlide extends Component { }; /* * Author: 黎永顺 - * Description: 保存基本信息 + * Description: 保存字段信息 * Params: * Date: 2022/12/12 */ - saveLedgerBasic = () => { - const { baseSettingInfo, current } = this.state; - const { editId } = this.props; - const { description, canEdit, ...extra } = baseSettingInfo; - const bool = _.every(Object.keys(extra), key => !!extra[key]); - if (!bool || _.isEmpty(baseSettingInfo)) { + saveFieldInfo = () => { + if (_.isEmpty(this.state.name)) { Modal.warning({ title: "信息确认", content: "必要信息不完整,红色*为必填项!" }); return false; } + const { onRefreshList, onCancel, editId } = this.props; + const { name, useDefault, dataType, description, sharedType, roundingMode, taxAgentIds, pattern } = this.state; + const payload = { + name, + useDefault: Number(useDefault), + dataType, + description, + sharedType, + roundingMode: Number(roundingMode), + taxAgentIds, + pattern: Number(pattern) + }; this.setState({ loading: true }); - saveLedgerBasic({ ...extra, description, id: editId }).then(({ status, data, errormsg }) => { + saveSalaryField({ ...payload, id: editId }).then(({ status, errormsg }) => { this.setState({ loading: false }); if (status) { - const { onRefreshList } = this.props; - message.success("保存成功"); onRefreshList(); - !editId && this.setState({ current: current + 1, saveSalarySobId: data }); - } else { - message.error(errormsg || "保存失败"); - } - }).catch(() => this.setState({ loading: false })); - }; - /* - * Author: 黎永顺 - * Description: 保存调薪计薪规则 - * Params: - * Date: 2022/12/12 - */ - saveLedgerAdjustRule = () => { - const { adjustRules, saveSalarySobId } = this.state; - const payload = { - salarySobId: this.props.editId || saveSalarySobId, - ruleParams: adjustRules - }; - this.setState({ loading: true }); - saveAdjustmentRule(payload).then(({ status, errormsg }) => { - this.setState({ loading: false }); - if (status) { - message.success("保存成功"); - this.handleClose(); - } else { - message.success(errormsg || "保存失败"); - } - }).catch(() => this.setState({ loading: false })); - }; - /* - * Author: 黎永顺 - * Description: 薪资项目保存 - * Params: - * Date: 2022/12/14 - */ - saveLedgerItem = () => { - const { empFields, itemGroups, saveSalarySobId } = this.state; - const { editId: salarySobId } = this.props; - const payload = { - empFields, - itemGroups: _.filter(itemGroups, it => it.name !== "未分类"), - items: _.find(itemGroups, it => it.name === "未分类").items || [], - salarySobId: salarySobId || saveSalarySobId - }; - this.setState({ loading: true }); - saveLedgerItem(payload).then(({ status, errormsg }) => { - this.setState({ loading: false }); - if (status) { + onCancel(); + this.handleReset(); message.success("保存成功"); } else { message.error(errormsg || "保存失败"); } }).catch(() => this.setState({ loading: false })); }; - handleChangeSlideTab = (current) => { - this.setState({ current: Number(current) }); - }; /* * Author: 黎永顺 - * Description: 基础信息字段切换 - * Params: - * Date: 2022/12/9 - */ - handleChangeSaveParams = (baseSettingInfo) => { - this.setState({ baseSettingInfo }); - }; - /* - * Author: 黎永顺 - * Description: 薪资项目保存数据 + * Description: 字段项修改 * Params: * Date: 2022/12/14 */ - handleSaveSalaryItemParams = (empFields, itemGroups) => { - this.setState({ empFields, itemGroups }); + handleChangeFields = (type, value) => { + this.setState({ [type]: value }); + }; + handleReset = () => { + this.setState({ + name: "", + useDefault: "", + sharedType: "", + taxAgentIds: "", + dataType: "number", + roundingMode: "", + pattern: "", + description: "" + }); }; render() { - const { title, visible, editId, taxAgentStore: { showOperateBtn, taxAgentAdminOption }, onCancel } = this.props; - const { shareTypeList, sharedType, taxAgentIds, dataType, roundingMode, pattern, description } = this.state; + const { title, visible, taxAgentStore: { showOperateBtn, taxAgentAdminOption }, onCancel } = this.props; + const { + loading, + name, + useDefault, + shareTypeList, + sharedType, + taxAgentIds, + dataType, + roundingMode, + pattern, + description + } = this.state; return ( { - console.log(11111); - }} + onSave={this.saveFieldInfo} /> } content={ -
+
- + this.handleChangeFields("name", value)}/> - { - }} + this.handleChangeFields("useDefault", value)} /> { - }} + onChange={value => this.handleChangeFields("sharedType", value)} style={{ width: 200 }} /> @@ -222,8 +216,7 @@ class FieldSlide extends Component { style={{ width: 200 }} value={taxAgentIds} options={taxAgentAdminOption} - onChange={(value) => { - }} + onChange={value => this.handleChangeFields("taxAgentIds", value)} /> } @@ -231,37 +224,36 @@ class FieldSlide extends Component { { - }} + onChange={value => this.handleChangeFields("dataType", value)} style={{ width: 200 }} /> - + { - }} + onChange={value => this.handleChangeFields("roundingMode", value)} /> - + { - }} + onChange={value => this.handleChangeFields("pattern", value)} /> { - }} + onChange={value => this.handleChangeFields("description", value)} />
} - onClose={onCancel} + onClose={() => { + this.handleReset(); + onCancel(); + }} /> ); } diff --git a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js index 64f8ca76..08e6a073 100644 --- a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js +++ b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js @@ -54,7 +54,7 @@ class FieldTable extends Component { }; getColumns = () => { const { columns } = this.state; - const { taxAgentStore, onEditLedger } = this.props; + const { taxAgentStore, onEditLedger, onDeleteLedger } = this.props; const { showOperateBtn } = taxAgentStore; return _.map([...columns, { dataIndex: "operate", @@ -73,7 +73,7 @@ class FieldTable extends Component { onClick={() => onEditLedger(record)}>{showOperateBtn ? "编辑" : "查看"} { showOperateBtn && - onEditLedger(record)}>删除 + onDeleteLedger(record)}>删除 }
; }; diff --git a/pc4mobx/hrmSalary/pages/fieldManagement/index.js b/pc4mobx/hrmSalary/pages/fieldManagement/index.js index d42eba87..ddc9e692 100644 --- a/pc4mobx/hrmSalary/pages/fieldManagement/index.js +++ b/pc4mobx/hrmSalary/pages/fieldManagement/index.js @@ -6,10 +6,11 @@ */ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; -import { Button } from "antd"; +import { Button, message, Modal } from "antd"; import { WeaInputSearch, WeaTop } from "ecCom"; import FieldTable from "./components/fieldTable"; import FieldSlide from "./components/fieldSlide"; +import { deleteSalaryField } from "../../apis/fieldManage"; import "./index.less"; @inject("taxAgentStore") @@ -33,6 +34,22 @@ class FieldManagement extends Component { const { id } = record; this.setState({ slideparams: { ...slideparams, visible: true, title: "编辑字段", editId: id } }); }; + handleDeleteField = (filedIds) => { + Modal.confirm({ + title: "信息确认", + content: "确认要删除吗?", + onOk: () => { + deleteSalaryField(filedIds).then((status, errormsg) => { + if (status) { + message.success("删除成功"); + this.setState({ doSearch: !this.state.doSearch }) + } else { + message.error(errormsg || "删除失败"); + } + }); + } + }); + }; handleResetField = () => { const { slideparams } = this.state; this.setState({ @@ -69,7 +86,8 @@ class FieldManagement extends Component { buttons={showOperateBtn ? btns : btns.slice(-1)} >
- + this.handleDeleteField([record.id])}/>