release/2.15.2.2409.01

This commit is contained in:
黎永顺 2024-09-25 14:11:46 +08:00
parent fd067b653f
commit a4fffbcbd4
4 changed files with 29 additions and 196 deletions

View File

@ -8,8 +8,6 @@ import { commonEnumList } from "../../apis/archive";
import { postFetch } from "../../util/request";
import { getItemForm } from "../../apis/item";
// import SalaryItemForm from "./salaryItemForm";
const getLabel = WeaLocaleProvider.getLabel;
const getKey = WeaTools.getKey;
@ -52,7 +50,8 @@ export default class CustomSalaryItemSlide extends React.Component {
return {
...c, items: _.map(c.items, fields => {
fields = {
...fields, label: getLabel(fields.lanId, fields.label),
...fields, viewAttr: props.showOperateBtn ? fields.viewAttr : 1,
label: getLabel(fields.lanId, fields.label),
value: !_.isNil(salaryItemForm[getKey(fields)]) ? String(salaryItemForm[getKey(fields)]) : fields.value
};
switch (getKey(fields)) {
@ -158,6 +157,7 @@ export default class CustomSalaryItemSlide extends React.Component {
<WeaSwitch fieldConfig={fields} form={form} formParams={formParams} onChange={this.handleChangeFormItem}/>
{
getKey(fields) === "formulaContent" && form.getFormParams().valueType !== "1" &&
this.props.showOperateBtn &&
<div className="formula_input_div" onClick={() => this.setState({ visible: true })}/>
}
{
@ -186,8 +186,7 @@ export default class CustomSalaryItemSlide extends React.Component {
render() {
const { onClose, salaryItemStore: { itemsForm: form } } = this.props;
// const { valueType, dataType, formulaId } = request;
const { visible, salaryItemName } = this.state;
const { visible } = this.state;
return (<WeaSlideModal
className="custom_salaryItemSlide"{...this.props}
top={0} width={800} height={100} measureT="%" measureX="px" measureY="%"
@ -206,10 +205,6 @@ export default class CustomSalaryItemSlide extends React.Component {
/>
}
</div>}/>
// <div className="customSalaryItemSlide">
// <SalaryItemForm {...this.props} onChangeFieldsItem={this.handleChange} onShowFormal={this.handleShowFormal}/>
// </div>
);
}
}

View File

@ -8,7 +8,6 @@ import { toDecimal_n } from "../../util";
import SystemSalaryItemModal from "./systemSalaryItemModal";
import CustomSalaryItemSlide from "./customSalaryItemSlide";
import SyncToSalaryAccountSetDialog from "./syncToSalaryAccountSetDialog";
import "../socialSecurityBenefits/programme/index.less";
import LogDialog from "../../components/logViewModal";
import "./index.less";
@ -21,54 +20,11 @@ export default class SalaryItem extends React.Component {
this.state = {
name: "", isQuery: false, loading: false,
customItemDialog: { visible: false, title: "", buttons: [] },// 自定义薪资项弹窗
value: "",
selectedKey: "0",
editable: false,
isAdd: false,
searchValue: "",
formalModalVisible: false,
searchParams: { current: 1, pageSize: 10, total: 0 },
selectedRowKeys: [],
syncSalarySetDialog: { visible: false, title: "", id: "" },
syncSalarySetDialog: { visible: false, title: "", id: "" }, // 同步到薪资账套弹窗
logDialogVisible: false, filterConditions: "[]"
};
this.record = {};
}
componentWillMount() { // 初始化渲染页面
// const { salaryItemStore: { getTableDatas }, salaryFileStore, taxAgentStore } = this.props;
// const { commonEnumList } = salaryFileStore;
// const { fetchTaxAgentOption } = taxAgentStore;
// fetchTaxAgentOption();
// commonEnumList("user", { enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" });
// getTableDatas({}).then(res => {
// this.setState({
// searchParams: {
// ...this.state.searchParams,
// current: res.pageNum,
// total: res.total
// }
// });
// });
}
onEditItem = (record, isedit) => {
this.record = record;
const { salaryItemStore: { getItemForm, setEditSlideVisible } } = this.props;
this.setState({
editable: isedit, isAdd: false,
syncSalarySetDialog: { ...this.state.syncSalarySetDialog, id: record.id }
});
getItemForm(record.id).then(() => {
setEditSlideVisible(true);
}).catch(({ errormsg }) => {
message.error(errormsg || "");
});
};
handleDeleteItem = (recordId) => {
const { selectedRowKeys, isQuery } = this.state;
const params = recordId ? [recordId] : selectedRowKeys;
@ -91,7 +47,6 @@ export default class SalaryItem extends React.Component {
}
});
};
handleValidateForm = () => {
return new Promise((resolve) => {
const { salaryItemStore: { itemsForm: form } } = this.props;
@ -134,7 +89,7 @@ export default class SalaryItem extends React.Component {
} else {
!f1.isValid && f1.showErrors();
!f2.taxAgentValidate && f1.showError("taxAgentIds", getLabel(111, "\"可见性范围\"未填写"));
!f2.formulaValidate && f1.showError("formulaId", getLabel(111, `\"${form.getFormDatas().valueType.valueSpan}\"未填写`));
!f2.formulaValidate && f1.showError("formulaContent", getLabel(111, `\"${form.getFormDatas().valueType.valueSpan}\"未填写`));
this.forceUpdate();
}
});
@ -153,7 +108,11 @@ export default class SalaryItem extends React.Component {
const { loading } = this.state;
const title = key === "edit" ? getLabel(111, "修改自定义薪资项目") : getLabel(111, "新建自定义薪资项目");
const buttons = key === "edit" ? [
<Button type="ghost">{getLabel(111, "同步到薪资账套")}</Button>,
<Button type="ghost" onClick={() => this.setState({
syncSalarySetDialog: {
...this.state.syncSalarySetDialog, visible: true, title: getLabel(111, "请选择薪资账套")
}
})}>{getLabel(111, "同步到薪资账套")}</Button>,
<Button type="primary" loading={loading}
onClick={() => this.handleSalaryItem("SAVE")}>{getLabel(111, "保存")}</Button>
] : [
@ -179,34 +138,10 @@ export default class SalaryItem extends React.Component {
};
render() {
const {
salaryItemStore,
salaryFileStore,
taxAgentStore: { showOperateBtn, showSalaryItemBtn, taxAgentOption }
} = this.props;
const { userStatusList } = salaryFileStore;
const { salaryItemStore, taxAgentStore: { showOperateBtn, showSalaryItemBtn } } = this.props;
const { selectedRowKeys, logDialogVisible, filterConditions, name, isQuery, customItemDialog } = this.state;
const { loading, deleteItemRequest, getTableDatas } = salaryItemStore;
const {
tableDataSource,
tableColumns,
systemItemVisible,
setSystemItemVisible,
editSlideVisible,
setEditSlideVisible,
request
} = salaryItemStore;
const handleMenuClick = (e) => {
const { salaryItemStore: { setEditSlideVisible, initRequest } } = this.props;
if (e.key === "1") {
this.setState({ editable: true, isAdd: true });
initRequest();
setEditSlideVisible(true);
} else if (e.key === "2") {
setSystemItemVisible(true);
}
};
const { systemItemVisible, setSystemItemVisible } = salaryItemStore;
const menu = (
<Menu onClick={this.onDropMenuClick}>
@ -223,69 +158,6 @@ export default class SalaryItem extends React.Component {
const dropMenuDatas = [
{ key: "log", icon: <i className="iconfont icon-caozuorizhi32"/>, content: getLabel(545781, "操作日志") }
];
// 新建和修改保存的回调
const handleSlideSave = (continueFlag) => {
const { salaryItemStore: { saveItem, request, getTableDatas } } = this.props;
const payload = _.cloneDeep(request);
const { name, sharedType, taxAgentIds } = request;
if (!name || (sharedType === "1" && !taxAgentIds)) {
Modal.warning({
title: "信息确认",
content: "必要信息不完整,红色*为必填项!"
});
return;
}
const { pattern, defaultValue, dataType, ...extra } = payload;
saveItem({
...extra, pattern, dataType,
defaultValue: dataType === "number" ? toDecimal_n(defaultValue, parseInt(pattern)) : defaultValue
}, continueFlag)
.then(() => {
getTableDatas({ ...this.state.searchParams }).then(res => {
this.setState({
searchParams: {
...this.state.searchParams,
total: res.total
}
});
});
});
};
const renderCustomOperate = () => {
let arrList = [];
if (this.state.isAdd) {
arrList = [
<Button type="primary" onClick={() => {
handleSlideSave(false);
}}>保存</Button>,
<Button type="default" onClick={() => {
handleSlideSave(true);
}}>保存并继续创建</Button>
];
} else if (this.state.editable) {
arrList = [
<Button type="ghost"
onClick={() => this.setState({
syncSalarySetDialog: {
...this.state.syncSalarySetDialog,
visible: true,
title: getLabel(111, "请选择薪资账套")
}
})}
>{getLabel(111, "同步到薪资账套")}</Button>,
<Button type="primary" onClick={() => {
handleSlideSave(true);
}}>保存</Button>
];
}
return arrList;
};
const handleSaveSlideChange = (value) => {
const { salaryItemStore: { setRequest } } = this.props;
setRequest(value);
};
!(showOperateBtn || showSalaryItemBtn) && (buttons = buttons.slice(-1));
return (
<React.Fragment>
@ -298,18 +170,6 @@ export default class SalaryItem extends React.Component {
onChange={val => this.setState({ selectedRowKeys: val })}/>
</div>
</WeaTop>
<SyncToSalaryAccountSetDialog
{...this.state.syncSalarySetDialog}
onCancel={() => this.setState({
syncSalarySetDialog: {
...this.state.syncSalarySetDialog,
visible: false, title: ""
}
})}
/>
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salaryitem" filterConditions={filterConditions}
onCancel={() => this.setState({ logDialogVisible: false })}/>
{
systemItemVisible &&
<SystemSalaryItemModal
@ -329,44 +189,21 @@ export default class SalaryItem extends React.Component {
}}
/>
}
{/*同步薪资账套*/}
<SyncToSalaryAccountSetDialog
{...this.state.syncSalarySetDialog}
onCancel={() => this.setState({
syncSalarySetDialog: { ...this.state.syncSalarySetDialog, visible: false, title: "" }
})}/>
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction="salaryitem" filterConditions={filterConditions}
onCancel={() => this.setState({ logDialogVisible: false })}/>
{/*新增编辑自定义薪资项目*/}
<CustomSalaryItemSlide {...customItemDialog} onSearch={() => this.setState({ isQuery: !isQuery })}
showOperateBtn={showOperateBtn || showSalaryItemBtn}
onClose={callback => this.setState({
customItemDialog: { ...customItemDialog, visible: false, id: "" }
}, () => callback && callback())}/>
{/*{*/}
{/* editSlideVisible &&*/}
{/* <WeaSlideModal*/}
{/* className="slideOuterWrapper"*/}
{/* visible={editSlideVisible}*/}
{/* top={0}*/}
{/* measureT="%"*/}
{/* width={800}*/}
{/* measureX="px"*/}
{/* height={100}*/}
{/* measureY="%"*/}
{/* direction={"right"}*/}
{/* title={*/}
{/* <SlideModalTitle*/}
{/* subtitle={(this.state.isAdd ? "新建" : "修改") + "自定义薪资项目"}*/}
{/* editable={false}*/}
{/* showOperateBtn={(showSalaryItemBtn || showOperateBtn)}*/}
{/* customOperate={(showSalaryItemBtn || showOperateBtn) ? renderCustomOperate() : []}*/}
{/* />*/}
{/* }*/}
{/* content={*/}
{/* <CustomSalaryItemSlide*/}
{/* record={this.record} editable={this.state.editable}*/}
{/* isAdd={this.state.isAdd} request={request}*/}
{/* userStatusList={userStatusList}*/}
{/* taxAgentAdminOption={taxAgentOption}*/}
{/* onChange={(value) => {*/}
{/* handleSaveSlideChange(value);*/}
{/* }}/>*/}
{/* }*/}
{/* onClose={() => setEditSlideVisible(false)}*/}
{/* />*/}
{/*}*/}
</React.Fragment>
);
}

View File

@ -10,7 +10,7 @@
padding: 8px 16px;
background: #f6f6f6;
& > .wea-new-table {
.wea-new-table {
background: #FFFFFF;
}
}
@ -27,7 +27,7 @@
background: #f6f6f6;
.wea-form-item-wrapper {
display: block !important;
//display: block !important;
.formula_input_div {
cursor: pointer;

View File

@ -9,7 +9,7 @@
*/
import React, { Component } from "react";
import { WeaCheckbox, WeaLocaleProvider, WeaTable } from "ecCom";
import { Dropdown, Menu } from "antd";
import { Dropdown, Menu, Spin } from "antd";
import * as API from "../../apis/item";
const getLabel = WeaLocaleProvider.getLabel;
@ -81,7 +81,7 @@ class SalaryItemsTable extends Component {
disabled: !record.canDelete
})
};
return (
return (<Spin spinning={loading && pageInfo.total === 0}>
<WeaTable rowKey="id" dataSource={dataSource} rowSelection={rowSelection} pagination={pagination}
loading={loading} scroll={{ y: `calc(100vh - 180px)` }}
columns={[
@ -107,7 +107,8 @@ class SalaryItemsTable extends Component {
</Dropdown>
</React.Fragment>)
}
]}/>);
]}/>
</Spin>);
}
}