release/2.15.2.2409.01
This commit is contained in:
parent
fd067b653f
commit
a4fffbcbd4
|
|
@ -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>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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>);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue