Merge branch 'feature/2.8.3.2307.02-薪资项目添加默认隐藏的功能' into release/2.8.3.2307.02
This commit is contained in:
commit
f3712e03ef
|
|
@ -6,13 +6,25 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaCheckbox, WeaFormItem, WeaHelpfulTip, WeaInput, WeaSelect, WeaSlideModal, WeaTextarea, WeaInputNumber } from "ecCom";
|
||||
import {
|
||||
WeaCheckbox,
|
||||
WeaFormItem,
|
||||
WeaHelpfulTip,
|
||||
WeaInput,
|
||||
WeaInputNumber,
|
||||
WeaLocaleProvider,
|
||||
WeaSelect,
|
||||
WeaSlideModal,
|
||||
WeaTextarea
|
||||
} from "ecCom";
|
||||
import { message, Modal } from "antd";
|
||||
import SlideModalTitle from "../../../components/slideModalTitle";
|
||||
import { getSalaryFieldForm, saveSalaryField } from "../../../apis/fieldManage";
|
||||
import { commonEnumList } from "../../../apis/payrollFiles";
|
||||
import { dataTypeOptions, patternOptions, roundingModeOptions } from "../../salaryItem/options";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
@inject("taxAgentStore")
|
||||
@observer
|
||||
class FieldSlide extends Component {
|
||||
|
|
@ -54,6 +66,7 @@ class FieldSlide extends Component {
|
|||
const {
|
||||
name,
|
||||
useDefault,
|
||||
hideDefault,
|
||||
useInEmployeeSalary,
|
||||
dataType,
|
||||
description,
|
||||
|
|
@ -68,6 +81,7 @@ class FieldSlide extends Component {
|
|||
name,
|
||||
useInEmployeeSalary: useInEmployeeSalary ? useInEmployeeSalary.toString() : "0",
|
||||
useDefault: useDefault ? useDefault.toString() : "0",
|
||||
hideDefault: hideDefault ? hideDefault.toString() : "0",
|
||||
dataType,
|
||||
description,
|
||||
sortedIndex,
|
||||
|
|
@ -120,6 +134,7 @@ class FieldSlide extends Component {
|
|||
const {
|
||||
name,
|
||||
useDefault,
|
||||
hideDefault,
|
||||
useInEmployeeSalary,
|
||||
dataType,
|
||||
description,
|
||||
|
|
@ -133,6 +148,7 @@ class FieldSlide extends Component {
|
|||
name,
|
||||
useInEmployeeSalary: Number(useInEmployeeSalary),
|
||||
useDefault: Number(useDefault),
|
||||
hideDefault: Number(hideDefault),
|
||||
dataType,
|
||||
description,
|
||||
sortedIndex,
|
||||
|
|
@ -168,6 +184,7 @@ class FieldSlide extends Component {
|
|||
name: "",
|
||||
useInEmployeeSalary: "1",
|
||||
useDefault: "0",
|
||||
hideDefault: "0",
|
||||
sharedType: "0",
|
||||
taxAgentIds: "",
|
||||
dataType: "number",
|
||||
|
|
@ -191,6 +208,7 @@ class FieldSlide extends Component {
|
|||
name,
|
||||
useInEmployeeSalary,
|
||||
useDefault,
|
||||
hideDefault,
|
||||
shareTypeList,
|
||||
sharedType,
|
||||
taxAgentIds,
|
||||
|
|
@ -250,6 +268,17 @@ class FieldSlide extends Component {
|
|||
placement="topLeft"
|
||||
/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label={getLabel(111, "核算时隐藏")} labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
|
||||
<WeaCheckbox
|
||||
value={hideDefault}
|
||||
display="switch"
|
||||
onChange={value => this.handleChangeFields("hideDefault", value)}
|
||||
/>
|
||||
<WeaHelpfulTip style={{ marginLeft: "10px" }}
|
||||
title={getLabel(111, "提示:开启后,在薪资账套中添加该项目时,默认勾选隐藏且在核算时隐藏该薪资项目,可在具体薪资账套中设置是否隐藏")}
|
||||
placement="topLeft"
|
||||
/>
|
||||
</WeaFormItem>
|
||||
<WeaFormItem label="可见性" labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
|
||||
<WeaSelect
|
||||
value={sharedType}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ class FieldTable extends Component {
|
|||
title: "操作"
|
||||
}], item => {
|
||||
const { dataIndex } = item;
|
||||
if (dataIndex === "useDefault") {
|
||||
if (dataIndex === "useDefault" || dataIndex === "hideDefault") {
|
||||
item.render = (text) => (<Switch checked={text === 1} disabled/>);
|
||||
} else if (dataIndex === "operate") {
|
||||
item.width = 120;
|
||||
|
|
|
|||
|
|
@ -74,8 +74,9 @@ export default class LedgerSalaryItemAddModal extends React.Component {
|
|||
let valueSpan = record[newColumn.dataIndex + "span"] !== undefined ? record[newColumn.dataIndex + "span"] : record[newColumn.dataIndex];
|
||||
switch (newColumn.dataIndex) {
|
||||
case "useDefault":
|
||||
case "hideDefault":
|
||||
case "useInEmployeeSalary":
|
||||
return <Switch checked={text == 1}/>;
|
||||
return <Switch checked={text === 1}/>;
|
||||
default:
|
||||
return <div dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
||||
}
|
||||
|
|
@ -96,6 +97,7 @@ export default class LedgerSalaryItemAddModal extends React.Component {
|
|||
if (item.id === key) {
|
||||
item.salaryItemId = item.id;
|
||||
item.key = item.id;
|
||||
item.itemHide = item.hideDefault;
|
||||
item.sortedIndex = (!_.isEmpty(_.maxBy(arrItems, it => it.sortedIndex)) ? _.maxBy(arrItems, it => it.sortedIndex).sortedIndex : 0) + keyIdx + 1;
|
||||
selectItems.push(item);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import { WeaLocaleProvider } from "ecCom";
|
||||
import { dataTypeOptions, patternOptions, roundingModeOptions } from "./options";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
export const columns = [
|
||||
{
|
||||
title: "名称",
|
||||
|
|
@ -54,11 +56,11 @@ export const columns = [
|
|||
];
|
||||
export const salaryItemFields = [
|
||||
{
|
||||
key: 'name',
|
||||
label: '名称',
|
||||
type: 'INPUT',
|
||||
key: "name",
|
||||
label: "名称",
|
||||
type: "INPUT",
|
||||
viewAttr: 3,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
// {
|
||||
// key: 'useInEmployeeSalary',
|
||||
|
|
@ -68,63 +70,70 @@ export const salaryItemFields = [
|
|||
// tip: '提示:开启后,该薪资项目不可删除或设为无效,取值方式会默认置为输入'
|
||||
// },
|
||||
{
|
||||
key: 'useDefault',
|
||||
label: '默认使用',
|
||||
type: 'SWITCH',
|
||||
key: "useDefault",
|
||||
label: "默认使用",
|
||||
type: "SWITCH",
|
||||
viewAttr: 2,
|
||||
tip: '提示:开启后,每个薪资方案都有该薪资项目,可在具体薪资方案中删除'
|
||||
tip: "提示:开启后,每个薪资方案都有该薪资项目,可在具体薪资方案中删除"
|
||||
},
|
||||
{
|
||||
key: 'sharedType',
|
||||
label: '可见性',
|
||||
type: 'SELECT',
|
||||
key: "hideDefault",
|
||||
label: getLabel(111, "核算时隐藏"),
|
||||
type: "SWITCH",
|
||||
viewAttr: 2,
|
||||
tip: ''
|
||||
tip: getLabel(111, "提示:开启后,在薪资账套中添加该项目时,默认勾选隐藏且在核算时隐藏该薪资项目,可在具体薪资账套中设置是否隐藏")
|
||||
},
|
||||
{
|
||||
key: 'taxAgentIds',
|
||||
label: '可见性范围',
|
||||
type: 'SELECT',
|
||||
key: "sharedType",
|
||||
label: "可见性",
|
||||
type: "SELECT",
|
||||
viewAttr: 2,
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: "taxAgentIds",
|
||||
label: "可见性范围",
|
||||
type: "SELECT",
|
||||
viewAttr: 3,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'dataType',
|
||||
label: '字段类型',
|
||||
type: 'SELECT',
|
||||
key: "dataType",
|
||||
label: "字段类型",
|
||||
type: "SELECT",
|
||||
viewAttr: 3,
|
||||
options: dataTypeOptions,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'roundingMode',
|
||||
label: '舍入规则',
|
||||
type: 'SELECT',
|
||||
key: "roundingMode",
|
||||
label: "舍入规则",
|
||||
type: "SELECT",
|
||||
viewAttr: 2,
|
||||
options: roundingModeOptions,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'pattern',
|
||||
label: '保留小数位',
|
||||
type: 'SELECT',
|
||||
key: "pattern",
|
||||
label: "保留小数位",
|
||||
type: "SELECT",
|
||||
viewAttr: 2,
|
||||
options: patternOptions,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'valueType',
|
||||
label: '取值方式',
|
||||
type: 'RADIO',
|
||||
key: "valueType",
|
||||
label: "取值方式",
|
||||
type: "RADIO",
|
||||
viewAttr: 2,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'formulaContent',
|
||||
label: '公式',
|
||||
type: 'INPUT',
|
||||
key: "formulaContent",
|
||||
label: "公式",
|
||||
type: "INPUT",
|
||||
viewAttr: 2,
|
||||
tip: ''
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
key: "sortedIndex",
|
||||
|
|
@ -134,18 +143,18 @@ export const salaryItemFields = [
|
|||
tip: ""
|
||||
},
|
||||
{
|
||||
key: 'description',
|
||||
label: '备注',
|
||||
type: 'TEXTAREA',
|
||||
key: "description",
|
||||
label: "备注",
|
||||
type: "TEXTAREA",
|
||||
viewAttr: 2,
|
||||
tip: ''
|
||||
},
|
||||
tip: ""
|
||||
}
|
||||
];
|
||||
export const valTakeOptions = [
|
||||
{ key: "1", showname: "输入" },
|
||||
{ key: "2", showname: "公式" },
|
||||
{ key: "3", showname: "SQL" }
|
||||
];
|
||||
export const valTakeOptions=[
|
||||
{key: "1", showname: '输入'},
|
||||
{key: "2", showname: '公式'},
|
||||
{key: "3", showname: 'SQL'},
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -112,9 +112,9 @@ export default class SalaryItem extends React.Component {
|
|||
return <a onClick={() => {
|
||||
this.onEditItem(record, false);
|
||||
}}>{text}</a>;
|
||||
case "useInEmployeeSalary":
|
||||
return <Switch checked={text === 1} disabled/>;
|
||||
case "useDefault":
|
||||
case "hideDefault":
|
||||
case "useInEmployeeSalary":
|
||||
return <Switch checked={text === 1} disabled/>;
|
||||
default:
|
||||
return <div dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
||||
|
|
@ -366,9 +366,23 @@ export default class SalaryItem extends React.Component {
|
|||
</WeaTop>
|
||||
|
||||
{
|
||||
systemItemVisible && <SystemSalaryItemModal visible={systemItemVisible} onCancel={() => {
|
||||
setSystemItemVisible(false);
|
||||
}}/>
|
||||
systemItemVisible &&
|
||||
<SystemSalaryItemModal
|
||||
visible={systemItemVisible}
|
||||
onCancel={() => {
|
||||
setSystemItemVisible(false);
|
||||
}}
|
||||
onInitTableList={() => {
|
||||
getTableDatas({ ...this.state.searchParams, name: this.state.searchValue }).then(res => {
|
||||
this.setState({
|
||||
searchParams: {
|
||||
...this.state.searchParams,
|
||||
total: res.total
|
||||
}
|
||||
});
|
||||
});
|
||||
}}
|
||||
/>
|
||||
}
|
||||
{
|
||||
editSlideVisible &&
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* Date: 2023/2/9
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaCheckbox, WeaFormItem, WeaInput, WeaSearchGroup, WeaSelect, WeaTextarea, WeaInputNumber } from "ecCom";
|
||||
import { WeaCheckbox, WeaFormItem, WeaInput, WeaInputNumber, WeaSearchGroup, WeaSelect, WeaTextarea } from "ecCom";
|
||||
import { salaryItemFields, valTakeOptions } from "./columns";
|
||||
|
||||
class SalaryItemForm extends Component {
|
||||
|
|
@ -86,7 +86,7 @@ class SalaryItemForm extends Component {
|
|||
if (key === "valueType") {
|
||||
onChangeFieldsItem({ formulaContent: "", formulaId: 0, valueType: v });
|
||||
} else {
|
||||
onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary") ? Number(v) : v });
|
||||
onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary" || key === "hideDefault") ? Number(v) : v });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
@ -131,7 +131,7 @@ class SalaryItemForm extends Component {
|
|||
(type === "INPUTNUMBER" && display) ?
|
||||
<WeaFormItem label={label} labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
|
||||
<WeaInputNumber value={value} viewAttr={viewAttr} precision={0}
|
||||
onChange={v => this.handleChangeSalaryFiledItems(key, v)}/>
|
||||
onChange={v => this.handleChangeSalaryFiledItems(key, v)}/>
|
||||
</WeaFormItem> : null
|
||||
}
|
||||
</React.Fragment>;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ export default class SystemSalaryItemModal extends React.Component {
|
|||
if (status) {
|
||||
message.success(getLabel(111, "添加成功"));
|
||||
this.setState({ selectedRowKeys: [] }, () => {
|
||||
this.getSysItemList();
|
||||
this.props.onInitTableList();
|
||||
this.props.onCancel();
|
||||
});
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ export class SalaryItemStore {
|
|||
@observable request = {
|
||||
name: "",
|
||||
useDefault: 0,
|
||||
hideDefault: 0,
|
||||
useInEmployeeSalary: 0,
|
||||
systemType: 0,
|
||||
roundingMode: "1",
|
||||
|
|
@ -63,6 +64,7 @@ export class SalaryItemStore {
|
|||
initRequest = () => this.request = {
|
||||
name: "",
|
||||
useDefault: 0,
|
||||
hideDefault: 0,
|
||||
useInEmployeeSalary: 0,
|
||||
systemType: 0,
|
||||
roundingMode: "1",
|
||||
|
|
|
|||
Loading…
Reference in New Issue