产品-薪资账套薪资项目项添加编辑的功能
This commit is contained in:
parent
c9c79460c7
commit
3f63b26184
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaButtonIcon, WeaSearchGroup } from "ecCom";
|
||||
import { WeaButtonIcon, WeaInputSearch, WeaLocaleProvider, WeaSearchGroup } from "ecCom";
|
||||
import { Button, Modal } from "antd";
|
||||
import CategoryAddModal from "./categoryAddModal";
|
||||
import LedgerSalaryItemAddModal from "./ledgerSalaryItemAddModal";
|
||||
|
|
@ -14,6 +14,8 @@ import LedgerSalaryItemTable from "./ledgerSalaryItemTable";
|
|||
import LedgerMovoTo from "./ledgerMovoTo";
|
||||
import "./index.less";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
@inject("ledgerStore")
|
||||
@observer
|
||||
class LedgerSalaryItemNormal extends Component {
|
||||
|
|
@ -30,7 +32,8 @@ class LedgerSalaryItemNormal extends Component {
|
|||
moveModalPayload: {
|
||||
visible: false, title: "",
|
||||
dataList: [], record: null, value: ""
|
||||
}
|
||||
},
|
||||
salaryItemKeywords: ""
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -140,15 +143,23 @@ class LedgerSalaryItemNormal extends Component {
|
|||
taxAgentStore
|
||||
} = this.props;
|
||||
const { showOperateBtn } = taxAgentStore;
|
||||
const { categoryModal, addCategoryItemsVisible, moveModalPayload } = this.state;
|
||||
const { categoryModal, addCategoryItemsVisible, moveModalPayload, salaryItemKeywords } = this.state;
|
||||
const newDateSource = _.map(dataSource, item => {
|
||||
return {
|
||||
...item,
|
||||
items: _.filter(item.items || [], child => child.name.indexOf(salaryItemKeywords) !== -1)
|
||||
};
|
||||
});
|
||||
return (
|
||||
<WeaSearchGroup needTigger={false} showGroup
|
||||
title={<TitleComp showOperateBtn={showOperateBtn} titleName={incomeCategoriesTitleName}
|
||||
onAddCategory={this.handleAddCategory}/>}>
|
||||
onAddCategory={this.handleAddCategory} keyword={salaryItemKeywords}
|
||||
onChange={val => this.setState({ salaryItemKeywords: val })}
|
||||
/>}>
|
||||
<div className="categroyListWrapper">
|
||||
{
|
||||
_.map(dataSource, field => {
|
||||
const { items } = field;
|
||||
_.map(newDateSource, field => {
|
||||
const { items, id, uuid } = field;
|
||||
return <WeaSearchGroup
|
||||
needTigger showGroup
|
||||
title={
|
||||
|
|
@ -166,7 +177,9 @@ class LedgerSalaryItemNormal extends Component {
|
|||
}
|
||||
>
|
||||
<LedgerSalaryItemTable
|
||||
dataSource={items} salarySobId={editId || saveSalarySobId}
|
||||
tableData={items}
|
||||
dataSource={_.find(dataSource, childItem => childItem.id === id || childItem.uuid === uuid).items}
|
||||
salarySobId={editId || saveSalarySobId}
|
||||
selectedRowKeys={field.selectedRowKeys || []}
|
||||
onDropCategoryItem={(data) => onDropCategoryItem(field, data)}
|
||||
onHandleItemhide={(data) => onHandleItemhide(field, data)}
|
||||
|
|
@ -240,12 +253,17 @@ const TitleNormalComp = (props) => {
|
|||
};
|
||||
|
||||
const TitleComp = (props) => {
|
||||
const { onAddCategory, titleName, showOperateBtn } = props;
|
||||
const { onAddCategory, titleName, showOperateBtn, salaryItemKeywords, onChange } = props;
|
||||
return <div className="titleWrapper">
|
||||
<div><span className="topTitle active">{titleName}</span></div>
|
||||
{
|
||||
showOperateBtn &&
|
||||
<Button type="ghost" onClick={() => onAddCategory()}>新增分类</Button>
|
||||
}
|
||||
<div>
|
||||
{
|
||||
showOperateBtn &&
|
||||
<Button type="ghost" onClick={() => onAddCategory()} style={{ marginRight: 10 }}>新增分类</Button>
|
||||
}
|
||||
<WeaInputSearch value={salaryItemKeywords} onChange={onChange}
|
||||
placeholder={getLabel(111, "请输入薪资项目名称")}
|
||||
/>
|
||||
</div>
|
||||
</div>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -88,8 +88,8 @@ class LedgerSalaryItemTable extends Component {
|
|||
const {
|
||||
itemHide: hideDefault,
|
||||
valueType, name, description,
|
||||
roundingMode, formulaId, dataType,
|
||||
pattern, canEdit, formulaContent
|
||||
roundingMode, formulaId, dataType, useInEmployeeSalary,
|
||||
pattern, canEdit, formulaContent, originFormulaContent, originSqlContent
|
||||
} = _.find(dataSource, it => it.salaryItemId === salaryItemId);
|
||||
const { data: userStatusList } = await commonEnumList({ enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" });
|
||||
if (id) {
|
||||
|
|
@ -101,6 +101,7 @@ class LedgerSalaryItemTable extends Component {
|
|||
visible: true,
|
||||
request: {
|
||||
...data,
|
||||
useInEmployeeSalary: !_.isNil(data.useInEmployeeSalary) ? data.useInEmployeeSalary : "0",
|
||||
hideDefault: _.isNil(hideDefault) ? "0" : hideDefault,
|
||||
valueType,
|
||||
roundingMode,
|
||||
|
|
@ -121,9 +122,9 @@ class LedgerSalaryItemTable extends Component {
|
|||
canEdit, dataType, description,
|
||||
formulaContent, formulaId, name,
|
||||
hideDefault: _.isNil(hideDefault) ? "0" : hideDefault,
|
||||
valueType,
|
||||
roundingMode,
|
||||
pattern
|
||||
valueType, roundingMode, pattern,
|
||||
originFormulaContent, originSqlContent,
|
||||
useInEmployeeSalary: !_.isNil(useInEmployeeSalary) ? useInEmployeeSalary : "0"
|
||||
},
|
||||
record,
|
||||
userStatusList: _.map(userStatusList, it => ({ key: it.value.toString(), showname: it.defaultLabel }))
|
||||
|
|
@ -221,6 +222,7 @@ class LedgerSalaryItemTable extends Component {
|
|||
render() {
|
||||
const { salaryItemPayload, editFormulModal } = this.state;
|
||||
const {
|
||||
tableData,
|
||||
dataSource,
|
||||
onDropCategoryItem,
|
||||
onChangeSelectedRowKeys,
|
||||
|
|
@ -236,7 +238,7 @@ class LedgerSalaryItemTable extends Component {
|
|||
disabled: !record.canDelete
|
||||
})
|
||||
};
|
||||
const checkValue = (!_.isEmpty(dataSource) && _.every(dataSource, it => it.itemHide && it.itemHide === "1")) ? "1" : "0";
|
||||
const checkValue = (!_.isEmpty(tableData) && _.every(tableData, it => it.itemHide && it.itemHide === "1")) ? "1" : "0";
|
||||
const columns = [
|
||||
{
|
||||
title: "名称",
|
||||
|
|
@ -296,7 +298,7 @@ class LedgerSalaryItemTable extends Component {
|
|||
<WeaTable
|
||||
rowKey={record => record.id || record.key}
|
||||
rowSelection={rowSelection}
|
||||
dataSource={dataSource}
|
||||
dataSource={tableData}
|
||||
columns={columns}
|
||||
onRow={(record, index) => ({
|
||||
index,
|
||||
|
|
@ -304,7 +306,7 @@ class LedgerSalaryItemTable extends Component {
|
|||
})}
|
||||
pagination={false}
|
||||
onDrop={onDropCategoryItem}
|
||||
draggable={true}
|
||||
draggable={dataSource.length === tableData.length}
|
||||
/>
|
||||
<LedgerSalaryItemEditSlide
|
||||
{...salaryItemPayload}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,20 @@
|
|||
* Date: 2023/2/9
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaCheckbox, WeaFormItem, WeaInput, WeaInputNumber, WeaSearchGroup, WeaSelect, WeaTextarea } from "ecCom";
|
||||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
WeaSearchGroup,
|
||||
WeaSelect,
|
||||
WeaTextarea
|
||||
} from "ecCom";
|
||||
import { salaryItemFields, valTakeOptions } from "./columns";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
class SalaryItemForm extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
|
@ -19,7 +30,7 @@ class SalaryItemForm extends Component {
|
|||
componentDidMount() {
|
||||
const { salaryItemFieldsList } = this.state;
|
||||
const { request, editable, record, isAdd = false, taxAgentAdminOption, isLedger = false } = this.props;
|
||||
const { systemType = "", sharedType, valueType } = request;
|
||||
const { systemType = "", sharedType, valueType, useInEmployeeSalary } = request;
|
||||
this.setState({
|
||||
salaryItemFieldsList: _.map(salaryItemFieldsList, item => {
|
||||
const { key } = item;
|
||||
|
|
@ -56,18 +67,19 @@ class SalaryItemForm extends Component {
|
|||
case "hideDefault":
|
||||
return {
|
||||
...item,
|
||||
viewAttr: 2
|
||||
viewAttr: 2,
|
||||
tip: isLedger ? getLabel(111, "开启后,薪资核算不会展示该项目,但是不影响该项目的核算值") : item.tip
|
||||
};
|
||||
case "valueType":
|
||||
return {
|
||||
...item,
|
||||
viewAttr: (isLedger && record.canEdit) || (editable && record.canEdit) || isAdd ? 2 : 1
|
||||
viewAttr: (useInEmployeeSalary.toString() === "0" && ((isLedger && record.canEdit) || (editable && record.canEdit) || isAdd)) ? 2 : 1
|
||||
};
|
||||
case "formulaContent":
|
||||
return {
|
||||
...item,
|
||||
key: valueType.toString() === "3" ? "originSqlContent" : "originFormulaContent",
|
||||
display: valueType && (valueType.toString() === "2" || valueType.toString() === "3"),
|
||||
display: useInEmployeeSalary.toString() === "0" && valueType && (valueType.toString() === "2" || valueType.toString() === "3"),
|
||||
viewAttr: (isLedger && record.canEdit) || (editable && record.canEdit) || isAdd ? 2 : 1
|
||||
};
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue