onEditLedger(record)}>{(showSalaryItemBtn || showOperateBtn) ? "编辑" : "查看"}
+ onClick={() => onEditLedger(record)}>{admin ? "编辑" : "查看"}
{
- record.canDelete && (showSalaryItemBtn || showOperateBtn) &&
+ record.canDelete && admin &&
onDeleteLedger(record)}>删除
}
} iconBgcolor="#F14A2D" className="fieldManageWrapper"
- buttons={(showSalaryItemBtn || showOperateBtn) ? btns : btns.slice(-1)}
+ buttons={admin ? btns : btns.slice(-1)}
showDropIcon onDropMenuClick={this.onDropMenuClick}
dropMenuDatas={[
{
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/LedgerBackCalculatedSalaryItemTable.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/LedgerBackCalculatedSalaryItemTable.js
index 3788b5f9..b2cb8a73 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/LedgerBackCalculatedSalaryItemTable.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/LedgerBackCalculatedSalaryItemTable.js
@@ -6,11 +6,8 @@
*/
import React, { Component } from "react";
import { WeaTable } from "ecCom";
-import { inject, observer } from "mobx-react";
import LedgerBackCalcEditSlide from "./ledgerBackCalcEditSlide";
-@inject("taxAgentStore")
-@observer
class LedgerBackCalculatedSalaryItemTable extends Component {
constructor(props) {
super(props);
@@ -56,7 +53,8 @@ class LedgerBackCalculatedSalaryItemTable extends Component {
render() {
const { backCalcEditSlide } = this.state;
- const { taxAgentStore: { showOperateBtn }, dataSource, editId, saveSalarySobId, key } = this.props;
+ const { record, dataSource, editId, saveSalarySobId, key } = this.props;
+ const showOperateBtn = editId ? record.opts.includes("admin") : true;
const columns = [
{
dataIndex: "name",
@@ -78,7 +76,7 @@ class LedgerBackCalculatedSalaryItemTable extends Component {
width: 80,
render: (text, record, index) => {
const { canEdit } = record;
- return (showOperateBtn && canEdit) ?
+ return showOperateBtn ?
this.handleEditBackCalc(record)}>编辑 :
;
}
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/copyLedgerModal.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/copyLedgerModal.js
index a3fd96e5..80884056 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/copyLedgerModal.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/copyLedgerModal.js
@@ -11,9 +11,10 @@ import { duplicateLedger } from "../../../apis/ledger";
import { WeaDialog } from "ecCom";
import { Button, message } from "antd";
import { getSearchs } from "../../../util";
+import { postFetch } from "../../../util/request";
import "./index.less";
-@inject("ledgerStore", "taxAgentStore")
+@inject("ledgerStore")
@observer
class CopyLedgerModal extends Component {
constructor(props) {
@@ -31,42 +32,39 @@ class CopyLedgerModal extends Component {
if (nextProps.visible !== this.props.visible && nextProps.visible) {
const { ledgerStore, name, taxAgentId } = nextProps;
const { copyForm: form } = ledgerStore;
- form.updateFields({
- name: { value: name },
- taxAgentId: { value: taxAgentId.toString() }
- });
+ form.updateFields({ name: { value: name }, taxAgentId: { value: taxAgentId } });
}
}
getTaxAgentSelectListAsAdmin = () => {
- const { taxAgentStore, ledgerStore } = this.props;
+ const { ledgerStore } = this.props;
const { copyForm: form } = ledgerStore;
- const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
- getTaxAgentSelectListAsAdmin().then(({ status, data }) => {
- if (status) {
- const conditions = _.map(copyConditions, it => {
- it.items = _.map(it.items, child => {
- if (child.domkey[0] === "taxAgentId") {
- return {
- ...child,
- options: _.map(data, it => ({ key: it.id, showname: it.content }))
- };
- } else {
- return { ...child };
- }
+ postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "QUERY_DATA" })
+ .then(({ status, data }) => {
+ if (status) {
+ const conditions = _.map(copyConditions, it => {
+ it.items = _.map(it.items, child => {
+ if (child.domkey[0] === "taxAgentId") {
+ return {
+ ...child, options: _.map(data, it => ({ key: String(it.id), showname: it.name }))
+ };
+ } else {
+ return { ...child };
+ }
+ });
+ return { ...it };
});
- return { ...it };
- });
- form.initFormFields(conditions);
- }
- });
+ form.initFormFields(conditions);
+ }
+ });
};
handleSubmit = () => {
const { ledgerStore, id, onRefreshList, onCancel } = this.props;
const { copyForm: form } = ledgerStore;
form.validateForm().then(f => {
if (f.isValid) {
- const payload = { id, ...form.getFormParams() };
+ const { taxAgentId, ...formParams } = form.getFormParams();
+ const payload = { id, ...formParams, taxAgentIds: taxAgentId.split(",") };
this.setState({ loading: true });
duplicateLedger(payload).then(({ status, errormsg }) => {
this.setState({ loading: false });
@@ -84,7 +82,6 @@ class CopyLedgerModal extends Component {
});
};
-
render() {
const { onCancel, ledgerStore, ...extra } = this.props;
const { loading } = this.state;
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
index 96d0463d..3680c269 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
@@ -91,39 +91,14 @@
//调薪计薪规则弹框
.adjustRuleModalWrapper {
- .titleTipWrapper {
- display: flex;
- align-items: center;
+ .calcRules .cust {
+ line-height: 30px;
- .title {
- margin-right: 4px;
- }
- }
-
- .adjustRuleDetailWrapper {
- display: flex;
- flex-direction: column;
-
- .adjustSalaryFlex {
+ .child {
display: flex;
align-items: center;
- margin-bottom: 10px;
}
}
-
- .wea-select, .ant-select-selection, .ant-select {
- width: 100%;
- }
-
- .wea-select {
- display: inline-block;
- position: relative;
- }
-
- .ant-select-selection {
- height: 30px;
- border-radius: 0;
- }
}
// 回算薪资项目
@@ -172,6 +147,10 @@
display: flex;
align-items: center;
+ .wea-ignore-node i {
+ display: none;
+ }
+
.wea-sortable-grid-item {
display: inline-block;
border: none;
@@ -249,7 +228,7 @@
padding: 0;
background: transparent;
border: none;
- font-size: 20px!important;
+ font-size: 20px !important;
line-height: 20px;
}
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountApprRule.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountApprRule.js
index 1a19b304..3cdb2983 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountApprRule.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountApprRule.js
@@ -61,10 +61,11 @@ class LedgerAccountApprRule extends Component {
}
renderForm = (form, conditions) => {
- const { saveSalarySobId, editId } = this.props;
+ const { saveSalarySobId, editId, record } = this.props;
const { approvalItemGroup } = this.state;
const { isFormInit } = form;
const formParams = form.getFormParams();
+ const showOperateBtn = editId ? record.opts.includes("admin") : true;
let group = [];
isFormInit && conditions && conditions.map(c => {
let items = [];
@@ -76,8 +77,8 @@ class LedgerAccountApprRule extends Component {
wrapperCol={{ span: `${fields.fieldcol}` }} error={form.getError(fields)}
tipPosition="bottom"
>
-
+
),
hide: fields.hide
});
@@ -89,6 +90,7 @@ class LedgerAccountApprRule extends Component {
tipPosition="bottom"
>
this.setState({
approvalItemGroup: _.map(approvalItemGroup, o => ({
...o,
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountSalaryItemsSet.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountSalaryItemsSet.js
index 1f53c37b..7a4ee3cc 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountSalaryItemsSet.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAccountSalaryItemsSet.js
@@ -55,26 +55,29 @@ class LedgerAccountSalaryItemsSet extends Component {
render() {
const { editDialog, salaryItemDialog } = this.state;
- const { datas } = this.props;
+ const { datas, showOperateBtn = true } = this.props;
return (
- this.setState({
- editDialog: { visible: true, title: getLabel(111, "添加分类") }
- })}/>
-
+ {
+ showOperateBtn && this.setState({
+ editDialog: { visible: true, title: getLabel(111, "添加分类") }
+ })}/>
+ }
({ ...o, filter: !showOperateBtn }))}
onChange={list => this.props.onChange(list)}
renderNodeItem={(item) => {
return
{item.groupName}
-
+ {
+ showOperateBtn &&
+
this.setState({
editDialog: {
visible: true, groupName: item.groupName, groupId: item.id, title: getLabel(111, "分类名称编辑")
@@ -82,14 +85,17 @@ class LedgerAccountSalaryItemsSet extends Component {
})}/>
this.handleDeleteClick(item)}/>
+ }
- this.handleAddSalaryItems(item)}/>
+ {
+ showOperateBtn && this.handleAddSalaryItems(item)}/>
+ }
{
!_.isEmpty(item.approvalItems) ?
({ ...o, filter: !showOperateBtn }))}
onChange={(items) => this.props.onChange(
_.map(datas, child => {
if (child.id === item.id) {
@@ -102,7 +108,10 @@ class LedgerAccountSalaryItemsSet extends Component {
return
{filed.salaryItemName}
-
this.handleDeleteClick(item, filed)}/>
+ {
+ showOperateBtn &&
+ this.handleDeleteClick(item, filed)}/>
+ }
;
}}
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAdjustRuleAddModal.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAdjustRuleAddModal.js
index b81b506e..0956eb81 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAdjustRuleAddModal.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAdjustRuleAddModal.js
@@ -5,170 +5,139 @@
* Date: 2022/12/12
*/
import React, { Component } from "react";
-import { WeaDialog, WeaFormItem, WeaHelpfulTip, WeaSearchGroup, WeaSelect } from "ecCom";
-import { Button, Modal, Radio } from "antd";
-import { monthDays } from "../config";
+import { inject, observer } from "mobx-react";
+import { WeaDialog, WeaFormItem, WeaHelpfulTip, WeaLocaleProvider, WeaSelect, WeaTools } from "ecCom";
+import FormInfo from "../../../components/FormInfo";
+import { WeaSwitch } from "comsMobx";
+import { Button } from "antd";
import { listSalarySobItem } from "../../../apis/ledger";
+import { monthDays, ruleConditions } from "../config";
import "./index.less";
+const { getLabel } = WeaLocaleProvider;
+const getKey = WeaTools.getKey;
+
+@inject("ledgerStore")
+@observer
class LedgerAdjustRuleAddModal extends Component {
constructor(props) {
super(props);
- this.state = {
- beforeAdjustmentType: 2,
- afterAdjustmentType: 1,
- salaryItemId: "",
- salaryItemName: "",
- dayOfMonth: "1",
- salaryItemOptions: []
- };
+ this.state = { conditions: [] };
}
componentWillReceiveProps(nextProps, nextContext) {
- if (nextProps.visible !== this.props.visible && nextProps.salarySobId) this.listSalarySobItem(nextProps.salarySobId);
+ if (nextProps.visible !== this.props.visible && nextProps.visible) this.listSalarySobItem(nextProps.salarySobId);
+ if (nextProps.visible !== this.props.visible && !nextProps.visible) this.props.ledgerStore.initRuleForm();
}
listSalarySobItem = (salarySobId) => {
const { salaryRuleItemsList } = this.props;
const payload = {
- excludeSalaryItemIds: _.map(salaryRuleItemsList, item => item.salaryItemId),
- salarySobId
+ excludeSalaryItemIds: _.map(salaryRuleItemsList, item => item.salaryItemId), salarySobId
};
listSalarySobItem(payload).then(({ status, data }) => {
if (status) {
this.setState({
- salaryItemOptions: _.map(data, it => ({ key: it.salaryItemId.toString(), showname: it.salaryItemName }))
- });
+ conditions: _.map(ruleConditions, item => ({
+ ...item, items: _.map(item.items, o => {
+ o = { ...o, label: getLabel(o.lanId, o.label) };
+ if (getKey(o) === "salaryItemId") {
+ return {
+ ...o, options: _.map(data, it => ({ key: it.salaryItemId.toString(), showname: it.salaryItemName }))
+ };
+ } else if (getKey(o) === "dayOfMonth") {
+ return { ...o, options: monthDays };
+ } else if (getKey(o) === "beforeAdjustmentType" || getKey(o) === "afterAdjustmentType") {
+ return {
+ ...o,
+ options: _.map(o.options, k => ({
+ ...k,
+ showname: !k.helpfultip ? getLabel(k.lanId, k.showname) :
+ {getLabel(k.lanId, k.showname)}
+
+
+ }))
+ };
+ }
+ return o;
+ })
+ }))
+ }, () => this.props.ledgerStore.ruleForm.initFormFields(this.state.conditions));
}
});
};
handleSave = () => {
- const { salaryRuleItemsList, onSave } = this.props;
- const { salaryItemOptions, ...extraItems } = this.state;
- if (_.isEmpty(extraItems.salaryItemId)) {
- Modal.warning({
- title: "信息确认",
- content: "必要信息不完整,红色*为必填项!"
- });
- return;
- }
- const items = { ...extraItems, salaryItemName: this.state.salaryItemName };
- const { salaryItemName, salaryItemId, ...extraFileds } = items;
- const salaryItemNameFiled = salaryItemName.split(","), salaryItemIdFiled = salaryItemId.split(",");
- const fields = _.map(salaryItemNameFiled, (item, index) => {
- return {
- ...extraFileds,
- salaryItemName: item,
- salaryItemId: salaryItemIdFiled[index]
- };
- });
- this.handleReset();
- onSave([...salaryRuleItemsList, ...fields]);
- };
- handleReset = () => {
- this.setState({
- beforeAdjustmentType: 2,
- afterAdjustmentType: 1,
- salaryItemId: "",
- salaryItemName: "",
- dayOfMonth: "1",
- salaryItemOptions: []
- }, () => {
- const { onCancel } = this.props;
- onCancel();
+ const { salaryRuleItemsList, onSave, ledgerStore: { ruleForm } } = this.props;
+ ruleForm.validateForm().then(f => {
+ if (f.isValid) {
+ const { salaryItemId } = ruleForm.getFormParams(), { fieldMap } = ruleForm;
+ const fields = _.map(salaryItemId.split(","), o => ({
+ ...ruleForm.getFormParams(),
+ salaryItemId: o,
+ salaryItemName: _.find(fieldMap["salaryItemId"]["options"], k => k.key === o).showname
+ }));
+ this.props.onCancel(onSave([...salaryRuleItemsList, ...fields]));
+ } else {
+ f.showErrors();
+ }
});
};
render() {
- const {
- salaryItemId,
- salaryItemOptions,
- dayOfMonth,
- beforeAdjustmentType,
- afterAdjustmentType
- } = this.state;
- const { title, visible } = this.props;
- const buttons = [];
- return (
-
-
-
- this.setState({ salaryItemId, salaryItemName })}
- />
-
- } labelCol={{ span: 4 }} wrapperCol={{ span: 20 }} colon={false}>
-
-
-
如果:调薪生效日期在
-
this.setState({ dayOfMonth })}
- />
- (含)之前
+ const { ledgerStore: { ruleForm } } = this.props, { conditions } = this.state;
+ const buttons = [];
+ const itemRender = {
+ salaryItemId: (field, textAreaProps, form, formParams) => {
+ return ();
+ },
+ dayOfMonth: () => null,
+ beforeAdjustmentType: () => null,
+ afterAdjustmentType: () => null
+ };
+ const childrenComponents = {
+ salaryItemId: () => {
+ const { dayOfMonth, beforeAdjustmentType, afterAdjustmentType } = ruleForm.getFormParams();
+ const coms = [], { fieldMap } = ruleForm;
+ coms.push(
+
+ {getLabel(111, "计薪规则")}
+
+ } labelCol={{ span: 6 }} wrapperCol={{ span: 18 }}>
+
+
+
{fieldMap["dayOfMonth"].label}
+
ruleForm.updateFields({ dayOfMonth: { value: v } })}/>
+ {getLabel(111, "(含)之前")}
-
-
计薪规则为:
-
this.setState({ beforeAdjustmentType: e.target.value })}
- value={beforeAdjustmentType}>
- 取调整后薪资
- 分段计薪
- 取平均
-
-
+
+
{fieldMap["beforeAdjustmentType"].label}
+
ruleForm.updateFields({ beforeAdjustmentType: { value: v } })}/>
-
否则:调薪生效日期在{dayOfMonth}号之后
-
-
计薪规则为:
-
this.setState({ afterAdjustmentType: e.target.value })}
- value={afterAdjustmentType}>
- 取调整前薪资
- 分段计薪
- 取平均
-
-
+
+
{getLabel(111, "否则:调薪生效日期在10号之后")}
+
+
+
{fieldMap["afterAdjustmentType"].label}
+
ruleForm.updateFields({ afterAdjustmentType: { value: v } })}/>
-
+ );
+ return [{ com:
{coms}
, col: 1 }];
+ }
+ };
+ return (
+
+
);
}
@@ -176,14 +145,3 @@ class LedgerAdjustRuleAddModal extends Component {
export default LedgerAdjustRuleAddModal;
-const AdjustTitle = () => {
- return
- 计薪规则
-
- :
-
;
-};
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAssociatedPersonnel.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAssociatedPersonnel.js
index 905c2f3b..5889b792 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAssociatedPersonnel.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerAssociatedPersonnel.js
@@ -5,7 +5,6 @@
* Date: 2022/12/12
*/
import React, { Component } from "react";
-import { inject, observer } from "mobx-react";
import { Button, message, Modal } from "antd";
import { WeaButtonIcon, WeaInputSearch, WeaTab } from "ecCom";
import PersonalScopeTable from "../../../components/PersonalScopeTable";
@@ -37,8 +36,6 @@ const APISaveFox = {
edit: editLedgerPersonRange
};
-@inject("taxAgentStore")
-@observer
class LedgerAssociatedPersonnel extends Component {
constructor(props) {
super(props);
@@ -224,7 +221,8 @@ class LedgerAssociatedPersonnel extends Component {
externalPersonModalVisible,
loading, extEmpsWitch
} = this.state;
- const { taxAgentStore: { showOperateBtn }, editId, saveSalarySobId } = this.props;
+ const { record, editId, saveSalarySobId } = this.props;
+ const admin = editId ? record.opts.includes("admin") : true;
const topTab = [
{
title: "关联人员范围",
@@ -239,7 +237,7 @@ class LedgerAssociatedPersonnel extends Component {
viewcondition: "externalList"
}
];
- const btns = showOperateBtn ? [
+ const btns = admin ? [