薪资账套页面重构

This commit is contained in:
黎永顺 2022-12-13 16:10:48 +08:00
parent 61b595404f
commit a193ed6690
10 changed files with 734 additions and 33 deletions

View File

@ -268,3 +268,17 @@ export const listAdjustmentRule = params => {
body: JSON.stringify(params)
}).then(res => res.json());
};
//获取回算薪资项目
export const getAggregate = params => {
return WeaTools.callApi("/api/bs/hrmsalary/salarysob/backitem/getAggregate", "GET", params);
};
//编辑回算薪资项目详情
export const getBackitemForm = params => {
return WeaTools.callApi("/api/bs/hrmsalary/salarysob/backitem/getForm", "GET", params);
};
//保存回算薪资项目详情
export const salarysobBackitemSave = params => {
return postFetch("/api/bs/hrmsalary/salarysob/backitem/save", params);
};

View File

@ -0,0 +1,102 @@
/*
* Author: 黎永顺
* name: 回算薪资项目表格数据
* Description:
* Date: 2022/12/13
*/
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);
this.state = {
backCalcEditSlide: {
visible: false,
title: "编辑薪资项目",
id: "",
salaryItemId: ""
}
};
}
handleEditBackCalc = (record) => {
const { id, salaryItemId } = record;
const { backCalcEditSlide } = this.state;
this.setState({
backCalcEditSlide: {
...backCalcEditSlide,
visible: true,
id,
salaryItemId
}
});
};
handleClose = (isRefresh = false) => {
const { backCalcEditSlide } = this.state;
const { onRefresh } = this.props;
this.setState({
backCalcEditSlide: {
...backCalcEditSlide,
visible: false,
id: "",
salaryItemId: ""
}
}, () => {
isRefresh && onRefresh();
});
};
render() {
const { backCalcEditSlide } = this.state;
const { taxAgentStore: { showOperateBtn }, dataSource, editId } = this.props;
const columns = [
{
dataIndex: "name",
title: "薪资项目",
render: (text) => {
return <span className="tdEllipsis" title={text}>{text}</span>;
}
},
{
dataIndex: "formulaContent",
title: "核算公式",
render: (text, record) => {
return <span className="tdEllipsis" title={text}>{text}</span>;
}
},
{
dataIndex: "",
title: "操作",
width: 80,
render: (text, record, index) => {
const { canEdit } = record;
return (showOperateBtn && canEdit) ?
<a href="javascript: void(0);" onClick={() => this.handleEditBackCalc(record)}>编辑</a> : <span></span>;
}
}
];
return (
<div>
<WeaTable
rowKey="id"
dataSource={dataSource}
columns={columns}
pagination={false}
/>
<LedgerBackCalcEditSlide
{...backCalcEditSlide}
editId={editId}
showOperateBtn={showOperateBtn}
onCancle={this.handleClose}
/>
</div>
);
}
}
export default LedgerBackCalculatedSalaryItemTable;

View File

@ -88,10 +88,11 @@
}
}
.adjustRuleDetailWrapper{
.adjustRuleDetailWrapper {
display: flex;
flex-direction: column;
.adjustSalaryFlex{
.adjustSalaryFlex {
display: flex;
align-items: center;
margin-bottom: 10px;
@ -112,3 +113,38 @@
border-radius: 0;
}
}
// 回算薪资项目
.ledgerBackCalculatedSalaryItemWrapper {
.titleWrapper {
display: flex;
align-items: center;
& > span {
margin-right: 8px;
}
}
}
//回算薪资项目编辑弹框
.backCalcSlideWrapper {
.backCalcSlideCol {
border: 1px solid #ebedf0;
border-bottom: none;
margin: 10px;
.wea-form-item {
padding: 4px 10px;
border-bottom: 1px solid #ebedf0;
}
}
.textareaBox {
position: relative;
z-index: 1;
& > .wea-textarea-normal {
z-index: -11;
}
}
}

View File

@ -6,7 +6,7 @@
*/
import React, { Component } from "react";
import { WeaDialog, WeaFormItem, WeaHelpfulTip, WeaSearchGroup, WeaSelect } from "ecCom";
import { Button, Radio } from "antd";
import { Button, Modal, Radio } from "antd";
import { monthDays } from "../config";
import { listSalarySobItem } from "../../../apis/ledger";
import "./index.less";
@ -15,7 +15,7 @@ class LedgerAdjustRuleAddModal extends Component {
constructor(props) {
super(props);
this.state = {
beforeAdjustmentType: 4,
beforeAdjustmentType: 2,
afterAdjustmentType: 1,
salaryItemId: "",
salaryItemName: "",
@ -25,11 +25,10 @@ class LedgerAdjustRuleAddModal extends Component {
}
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && nextProps.salarySobId) this.listSalarySobItem();
if (nextProps.visible !== this.props.visible && nextProps.salarySobId) this.listSalarySobItem(nextProps.salarySobId);
}
listSalarySobItem = () => {
const { salarySobId } = this.props;
listSalarySobItem = (salarySobId) => {
const payload = {
excludeSalaryItemIds: [],
salarySobId
@ -37,11 +36,42 @@ class LedgerAdjustRuleAddModal extends Component {
listSalarySobItem(payload).then(({ status, data }) => {
if (status) {
this.setState({
salaryItemOptions: _.map(data, it => ({ key: it.id, showname: it.content }))
salaryItemOptions: _.map(data, it => ({ key: it.salaryItemId.toString(), showname: it.salaryItemName }))
});
}
});
};
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,
};
this.handleReset();
onSave([...salaryRuleItemsList, items]);
};
handleReset = () => {
this.setState({
beforeAdjustmentType: 2,
afterAdjustmentType: 1,
salaryItemId: "",
salaryItemName: "",
dayOfMonth: "1",
salaryItemOptions: []
}, () => {
const { onCancel } = this.props;
onCancel();
});
};
render() {
const {
@ -51,34 +81,37 @@ class LedgerAdjustRuleAddModal extends Component {
beforeAdjustmentType,
afterAdjustmentType
} = this.state;
const { onCancel, title, visible } = this.props;
const buttons = [<Button type="primary">保存</Button>];
const { title, visible } = this.props;
const buttons = [<Button type="primary" onClick={this.handleSave}>保存</Button>];
return (
<WeaDialog
initLoadCss
className="adjustRuleModalWrapper"
title={title}
visible={visible}
style={{ width: 780 }}
style={{ width: 750 }}
buttons={buttons}
onCancel={onCancel}
onCancel={this.handleReset}
>
<WeaSearchGroup col={1} needTigger title="" showGroup>
<WeaFormItem label="薪资项目" labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaSearchGroup col={1} needTigger title="" showGroup center>
<WeaFormItem label="薪资项目" labelCol={{ span: 4 }} wrapperCol={{ span: 20 }}
style={{ tableLayout: "fixed" }}>
<WeaSelect
multiple
viewAttr={3}
value={salaryItemId}
style={{ width: "100%" }}
options={salaryItemOptions}
value={salaryItemId}
onChange={(salaryItemId, salaryItemName) => this.setState({ salaryItemId, salaryItemName })}
/>
</WeaFormItem>
<WeaFormItem label={<AdjustTitle/>} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} colon={false}>
<WeaFormItem label={<AdjustTitle/>} labelCol={{ span: 4 }} wrapperCol={{ span: 20 }} colon={false}>
<div className="adjustRuleDetailWrapper">
<div className="adjustSalaryFlex">
<span>如果调薪生效日期在</span>
<WeaSelect
viewAttr={3}
style={{ width: 60 }}
style={{ width: 60, margin: "0 6px" }}
value={dayOfMonth}
options={monthDays}
onChange={(dayOfMonth) => this.setState({ dayOfMonth })}
@ -87,9 +120,8 @@ class LedgerAdjustRuleAddModal extends Component {
</div>
<div className="adjustSalaryFlex">
<span>计薪规则为</span>
<Radio.Group onChange={(value) => {
console.log(value);
}} value={beforeAdjustmentType}>
<Radio.Group onChange={(e) => this.setState({ beforeAdjustmentType: e.target.value })}
value={beforeAdjustmentType}>
<Radio value={2}>取调整后薪资</Radio>
<Radio value={4}>分段计薪<WeaHelpfulTip
style={{ marginLeft: "10px" }}
@ -106,12 +138,11 @@ class LedgerAdjustRuleAddModal extends Component {
</Radio>
</Radio.Group>
</div>
<div>否则调薪生效日期在{dayOfMonth}号之后</div>
<div style={{ marginBottom: 10 }}>否则调薪生效日期在{dayOfMonth}号之后</div>
<div className="adjustSalaryFlex">
<span>计薪规则为</span>
<Radio.Group onChange={(value) => {
console.log(value);
}} value={afterAdjustmentType}>
<Radio.Group onChange={(e) => this.setState({ afterAdjustmentType: e.target.value })}
value={afterAdjustmentType}>
<Radio value={1}>取调整前薪资</Radio>
<Radio value={4}>分段计薪<WeaHelpfulTip
style={{ marginLeft: "10px" }}

View File

@ -0,0 +1,196 @@
/*
* Author: 黎永顺
* name: 编辑回算薪资项目
* Description:
* Date: 2022/12/13
*/
import React, { Component } from "react";
import { WeaFormItem, WeaInput, WeaSelect, WeaSlideModal, WeaTextarea } from "ecCom";
import { Col, message, Modal, Row } from "antd";
import SlideModalTitle from "../../../components/slideModalTitle";
import { getBackitemForm, salarysobBackitemSave } from "../../../apis/ledger";
import { fieldType, keepDecimalPlaces, roundingRules, valueTaking } from "../config";
import FormalFormModal from "../../salaryItem/formalFormModal";
import "./index.less";
class LedgerBackCalcEditSlide extends Component {
constructor(props) {
super(props);
this.state = {
loading: false,
dataType: "",
formulaContent: "",
pattern: "",
roundingMode: "",
valueType: "",
salaryItem: [],
backCalcEditFormulModal: {
visible: false,
valueType: "",
dataType: ""
}
};
}
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && nextProps.id) this.getBackitemForm(nextProps.id);
}
getBackitemForm = (id) => {
getBackitemForm({ id }).then(({ status, data }) => {
if (status) {
this.setState({ ...data });
}
});
};
handleChange = (type, value) => {
this.setState({
...this.state,
[type]: value
});
};
handleSaveBackCalcItems = () => {
const { salaryItem, loading, backCalcEditFormulModal, ...extra } = this.state;
const { salaryItemId, editId: salarySobId, onCancle } = this.props;
if (extra.valueType === "FORMULA" && _.isEmpty(extra.formulaContent)) {
Modal.warning({
title: "信息确认",
content: "必要信息不完整,红色*为必填项!"
});
return;
}
const payload = { ...extra, salarySobId, salaryItemId };
this.setState({ loading: true });
salarysobBackitemSave(payload).then(({ status, errormsg }) => {
this.setState({ loading: false });
if (status) {
message.success("保存成功");
onCancle(true);
} else {
message.error(errormsg || "保存失败");
}
}).catch(() => this.setState({ loading: false }));
};
handleEditFormnul = () => {
const { backCalcEditFormulModal, valueType, dataType } = this.state;
this.setState({
backCalcEditFormulModal: {
...backCalcEditFormulModal,
visible: true,
valueType,
dataType: _.lowerCase(dataType)
}
});
};
handleCloseEditFormnul = () => {
const { backCalcEditFormulModal } = this.state;
this.setState({
backCalcEditFormulModal: {
...backCalcEditFormulModal,
visible: false,
valueType: "",
dataType: ""
}
});
};
render() {
const { title, visible, showOperateBtn, onCancle } = this.props;
const {
valueType,
dataType,
roundingMode,
pattern,
salaryItem = [],
loading,
formulaContent,
backCalcEditFormulModal
} = this.state;
const salaryItemName = salaryItem[0] ? salaryItem[0].name : "";
return (
<WeaSlideModal
className="backCalcSlideWrapper"
visible={visible}
top={0}
width={100}
height={100}
direction="right"
measure="%"
title={
<SlideModalTitle
subtitle={title}
tabs={[]}
loading={loading}
showOperateBtn={showOperateBtn}
editable={true}
onSave={this.handleSaveBackCalcItems}
/>
}
content={
<div className="backCalcSlideContent">
<Row>
<Col span={16} className="backCalcSlideCol">
<WeaFormItem label="薪资项目" labelCol={{ span: 3 }} wrapperCol={{ span: 12 }}>
<WeaInput value={salaryItemName} viewAttr={1}/>
</WeaFormItem>
<WeaFormItem label="字段类型" labelCol={{ span: 3 }} wrapperCol={{ span: 12 }}>
<WeaSelect options={fieldType} value={dataType} viewAttr={1}/>
</WeaFormItem>
<Row gutter={20}>
<Col span={12}>
<WeaFormItem label="舍入规则" labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
<WeaSelect
options={roundingRules} value={roundingMode} viewAttr={3}
onChange={(v) => this.handleChange("roundingMode", v)}
/>
</WeaFormItem>
</Col>
<Col span={12}>
<WeaFormItem label="保留小数位" labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
<WeaSelect
options={keepDecimalPlaces} value={pattern} viewAttr={3}
onChange={(v) => this.handleChange("pattern", v)}
/>
</WeaFormItem>
</Col>
</Row>
<WeaFormItem label="取值方式" labelCol={{ span: 3 }} wrapperCol={{ span: 12 }}>
<WeaSelect
options={valueTaking} value={valueType} detailtype={3}
viewAttr={3}
onChange={(v) => this.handleChange("valueType", v)}
/>
</WeaFormItem>
{
valueType === "FORMULA" &&
<WeaFormItem label="公式内容" labelCol={{ span: 3 }} wrapperCol={{ span: 12 }}>
<div className="textareaBox" onClick={this.handleEditFormnul}>
<WeaTextarea viewAttr={3} value={formulaContent}/>
</div>
{/*公式弹框*/}
{
backCalcEditFormulModal.visible &&
<FormalFormModal
{...backCalcEditFormulModal}
formulaContent={formulaContent}
onSaveFormal={data => this.setState({
...this.state,
formulaId: data.id,
formulaContent: data.formula
})}
onCancel={this.handleCloseEditFormnul}
/>
}
</WeaFormItem>
}
</Col>
</Row>
</div>
}
onClose={onCancle}
/>
);
}
}
export default LedgerBackCalcEditSlide;

View File

@ -0,0 +1,104 @@
/*
* Author: 黎永顺
* name: 回算薪资项目
* Description:
* Date: 2022/12/13
*/
import React, { Component } from "react";
import { WeaHelpfulTip, WeaSearchGroup } from "ecCom";
import LedgerBackCalculatedSalaryItemTable from "./LedgerBackCalculatedSalaryItemTable";
import { getAggregate } from "../../../apis/ledger";
import "./index.less";
class LedgerBackCalculatedSalaryItem extends Component {
constructor(props) {
super(props);
this.state = {
backCalcItems: [
{
key: "issuedItems",
label: "已发项目设置",
dataSource: [],
helpContent: [
"核算时,已发项目的公式中各项目值均取该项目在该账套核算中的最后一次核算值;",
"已发项目的公式设置,只可在【取最后一次核算值的项目】中选择;"
]
},
{
key: "reissueItems",
label: "补发项目设置",
dataSource: [],
helpContent: [
"系统内置补发项目【补发薪资合计】,可新增其他的项目,如【补发备注】等;",
"公式取值为当次回算的核算值。"
]
}
]
};
}
componentDidMount() {
this.getAggregate();
}
getAggregate = () => {
const { editId: salarySobId } = this.props;
const { backCalcItems } = this.state;
getAggregate({ salarySobId }).then(({ status, data }) => {
if (status) {
this.setState({
backCalcItems: _.map(backCalcItems, item => {
const { key } = item;
return {
...item,
dataSource: data[key]
};
})
});
}
});
};
render() {
const { backCalcItems } = this.state;
return (
<div className="ledgerBackCalculatedSalaryItemWrapper">
{
_.map(backCalcItems, item => {
const { key, label, helpContent, dataSource } = item;
return (
<WeaSearchGroup
key={key}
needTigger
title={
<TitleComp title={label} helpContent={helpContent}/>
}
showGroup
>
<LedgerBackCalculatedSalaryItemTable
{...this.props} dataSource={dataSource}
onRefresh={this.getAggregate}
/>
</WeaSearchGroup>);
})
}
</div>
);
}
}
export default LedgerBackCalculatedSalaryItem;
const TitleComp = (props) => {
const helpContent = _.map(props.helpContent, (it, idx) => {
return <div>{`${idx + 1}${it}`}</div>;
});
return <div className="titleWrapper">
<span>{props.title}</span>
<WeaHelpfulTip
width={300}
title={helpContent}
placement="topLeft"
/>
</div>;
};

View File

@ -7,7 +7,9 @@
import React, { Component } from "react";
import { inject, observer } from "mobx-react";
import { WeaButtonIcon, WeaTab, WeaTable } from "ecCom";
import { Modal } from "antd";
import LedgerAdjustRuleAddModal from "./ledgerAdjustRuleAddModal";
import { listAdjustmentRule } from "../../../apis/ledger";
@inject("taxAgentStore")
@observer
@ -16,7 +18,6 @@ class LedgerSalaryAdjustmentRules extends Component {
super(props);
this.state = {
dataSource: [],
columns: [],
adjustRuleAddModal: {
visible: false,
title: "调薪计薪规则项",
@ -25,6 +26,24 @@ class LedgerSalaryAdjustmentRules extends Component {
};
}
componentDidMount() {
this.listAdjustmentRule();
}
listAdjustmentRule = () => {
const { editId: salarySobId } = this.props;
listAdjustmentRule({ salarySobId }).then(({ status, data }) => {
if (status) {
this.setState({
dataSource: data
}, () => {
const { onSaveParams } = this.props;
const { dataSource } = this.state;
onSaveParams(dataSource);
});
}
});
};
handleAddAdjustRule = () => {
const { adjustRuleAddModal } = this.state;
const { editId } = this.props;
@ -46,14 +65,73 @@ class LedgerSalaryAdjustmentRules extends Component {
}
});
};
handleDelete = (index) => {
const { dataSource } = this.state;
Modal.confirm({
title: "信息确认",
content: "确认要删除吗?",
onOk: () => {
this.setState({
dataSource: _.filter(dataSource, (it, idx) => idx !== index)
}, () => {
const { onSaveParams } = this.props;
const { dataSource } = this.state;
onSaveParams(dataSource);
});
}
});
};
convertAdjustmentType = (index) => {
const nameList = {
1: "取调薪前薪资",
2: "取调薪后薪资",
3: "平均值",
4: "分段计薪"
};
return nameList[Number(index)];
};
render() {
const { taxAgentStore: { showOperateBtn }, editId } = this.props;
const { taxAgentStore: { showOperateBtn }, editId, onSaveParams } = this.props;
const { adjustRuleAddModal } = this.state;
const { dataSource, columns } = this.state;
const { dataSource } = this.state;
const btns = showOperateBtn ? [
<WeaButtonIcon buttonType="add" type="primary" onClick={this.handleAddAdjustRule}/>
] : [];
const columns = [
{
title: "序号",
dataIndex: "index",
width: 60,
render: (text, record, index) => {
return index + 1;
}
},
{
dataIndex: "salaryItemName",
title: "薪资项目",
render: (text) => {
return <span className="tdEllipsis" title={text}>{text}</span>;
}
},
{
dataIndex: "salaryCalculationRules",
title: "计薪规则",
render: (text, record) => {
const salaryCalculationRules = `${record.dayOfMonth}号(含)之前调薪,${this.convertAdjustmentType(record.beforeAdjustmentType)}${record.dayOfMonth}号之后调薪,${this.convertAdjustmentType(record.afterAdjustmentType)}`;
return <span className="tdEllipsis" title={salaryCalculationRules}>{salaryCalculationRules}</span>;
}
},
{
dataIndex: "",
title: "操作",
width: 80,
render: (text, record, index) => {
return showOperateBtn ?
<a href="javascript: void(0);" onClick={() => this.handleDelete(index)}>删除</a> : <span></span>;
}
}
];
return (
<div>
<WeaTab datas={[]} keyParam="viewcondition" buttons={btns}/>
@ -65,7 +143,18 @@ class LedgerSalaryAdjustmentRules extends Component {
/>
<LedgerAdjustRuleAddModal
{...adjustRuleAddModal}
salaryRuleItemsList={dataSource}
onCancel={this.handleCloseModal}
onSave={(dataSource) => {
this.setState({ dataSource }, () => {
const { dataSource } = this.state;
const ruleParams = _.map(dataSource, it => {
const { salaryCalculationRules, ...params } = it;
return { ...params };
});
onSaveParams(ruleParams);
});
}}
/>
</div>
);

View File

@ -12,7 +12,8 @@ import SlideModalTitle from "../../../components/slideModalTitle";
import LedgerBaseSetting from "./ledgerBaseSetting";
import LedgerAssociatedPersonnel from "./ledgerAssociatedPersonnel";
import LedgerSalaryAdjustmentRules from "./ledgerSalaryAdjustmentRules";
import { saveLedgerBasic } from "../../../apis/ledger";
import LedgerBackCalculatedSalaryItem from "./ledgerBackCalculatedSalaryItem";
import { saveAdjustmentRule, saveLedgerBasic } from "../../../apis/ledger";
import "./index.less";
const Step = WeaSteps.Step;
@ -32,10 +33,17 @@ class LedgerSlide extends Component {
this.state = {
current: 0,
loading: false,
baseSettingInfo: {}
baseSettingInfo: {},
adjustRules: []
};
}
/*
* Author: 黎永顺
* Description: 保存基本信息
* Params:
* Date: 2022/12/12
*/
saveLedgerBasic = () => {
const { baseSettingInfo, current } = this.state;
const { editId } = this.props;
@ -61,6 +69,29 @@ class LedgerSlide extends Component {
}
}).catch(() => this.setState({ loading: false }));
};
/*
* Author: 黎永顺
* Description: 保存调薪计薪规则
* Params:
* Date: 2022/12/12
*/
saveLedgerAdjustRule = () => {
const { adjustRules } = this.state;
const payload = {
salarySobId: this.props.editId,
ruleParams: adjustRules
};
this.setState({ loading: true });
saveAdjustmentRule(payload).then(({ status, errormsg }) => {
this.setState({ loading: false });
if (status) {
message.success("保存成功");
} else {
message.success(errormsg || "保存失败");
}
}).catch(() => this.setState({ loading: false }));
}
;
handleChangeSlideTab = (current) => {
this.setState({ current: Number(current) });
};
@ -86,8 +117,12 @@ class LedgerSlide extends Component {
case 1:
CurrentDom = <LedgerAssociatedPersonnel {...this.props}/>;
break;
case 3:
CurrentDom = <LedgerBackCalculatedSalaryItem {...this.props}/>;
break;
case 4:
CurrentDom = <LedgerSalaryAdjustmentRules {...this.props}/>;
CurrentDom =
<LedgerSalaryAdjustmentRules {...this.props} onSaveParams={(adjustRules) => this.setState({ adjustRules })}/>;
break;
default:
CurrentDom = null;
@ -136,9 +171,9 @@ class LedgerSlide extends Component {
CurrentDom = !editId ?
[
<Button type="ghost" onClick={() => this.setState({ current: current - 1 })}>上一步</Button>,
<Button type="primary">完成</Button>
<Button type="primary" loading={loading} onClick={this.saveLedgerAdjustRule}>完成</Button>
] : [
<Button type="primary" loading={loading} onClick={this.saveLedgerBasic}>保存</Button>
<Button type="primary" loading={loading} onClick={this.saveLedgerAdjustRule}>保存</Button>
];
break;
default:

View File

@ -666,3 +666,91 @@ export const monthDays = [
showname: "31号"
}
];
export const fieldType = [
{
key: "STRING",
selected: false,
showname: "字符"
},
{
key: "NUMBER",
selected: false,
showname: "数值"
}
];
export const valueTaking = [
{
key: "INPUT",
selected: false,
showname: "输入"
},
{
key: "FORMULA",
selected: false,
showname: "公式"
}
];
export const roundingRules = [
{
key: "RAW_DATA",
selected: false,
showname: "原始数据"
},
{
key: "ROUNDING",
selected: false,
showname: "四舍五入"
},
{
key: "ROUND_UP",
selected: false,
showname: "向上舍入"
},
{
key: "ROUND_DOWN",
selected: false,
showname: "向下舍入"
},
{
key: "CEILING",
selected: false,
showname: "见分进角"
},
{
key: "UP_EVEN",
selected: false,
showname: "向上求偶"
},
];
export const keepDecimalPlaces = [
{
key: "0",
selected: false,
showname: "0"
},
{
key: "1",
selected: false,
showname: "1"
},
{
key: "2",
selected: false,
showname: "2"
},
{
key: "3",
selected: false,
showname: "3"
},
{
key: "4",
selected: false,
showname: "4"
},
{
key: "5",
selected: false,
showname: "5"
}
];

View File

@ -67,6 +67,12 @@ export default class FormalFormModal extends React.Component {
let groupParams = {};
if (this.props.valueType == "3") {
groupParams = { "referenceType": "sql" };
} else if (this.props.valueType === "FORMULA") {
groupParams = { "referenceType": "backCalc" };
this.referenceType = "backCalc";
this.setState({
value: this.props.formulaContent
});
}
salaryAcctImportTemplateParam(groupParams);
}
@ -247,7 +253,7 @@ export default class FormalFormModal extends React.Component {
const { value, formulaDatasourceList, extendParam } = this.state;
return (
<WeaDialog
title={`${this.props.valueType == 2 ? "函数" : "SQL"}公式`}
title={`${(this.props.valueType == 2 || this.props.valueType === "FORMULA") ? "函数" : "SQL"}公式`}
visible={this.props.visible}
style={{ width: 800 }}
buttons={[