产品-社保档案基础信息修改

This commit is contained in:
黎永顺 2023-07-25 16:16:39 +08:00
parent e963bcfb57
commit ada5aee430
8 changed files with 133 additions and 95 deletions

View File

@ -163,7 +163,14 @@ export const testFormual = params => {
// 根据id获取formual
export const detailFormual = params => {
return WeaTools.callApi('/api/bs/hrmsalary/formula/detail', 'GET', params);
return fetch('/api/bs/hrmsalary/formula/detail', {
method: 'POST',
mode: 'cors',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(params)
}).then(res => res.json())
}

View File

@ -20,8 +20,8 @@ class LedgerSalaryItemEditSlide extends Component {
handleChange = (params) => {
const request = { ...this.props.request, ...params };
console.log(this.props.request, params);
this.props.onUpdateRequest(request);
const key = Object.keys(params)[0];
this.props.onUpdateRequest(request, key);
};
handleShowFormal = () => this.props.onEditFormnul();

View File

@ -11,7 +11,6 @@ import { Button, Modal } from "antd";
import CategoryAddModal from "./categoryAddModal";
import LedgerSalaryItemAddModal from "./ledgerSalaryItemAddModal";
import LedgerSalaryItemTable from "./ledgerSalaryItemTable";
import FormalFormModal from "../../salaryItem/formalFormModal";
import LedgerMovoTo from "./ledgerMovoTo";
import "./index.less";
@ -28,15 +27,6 @@ class LedgerSalaryItemNormal extends Component {
name: "",
id: ""
},
editFormulModal: {
visible: false,
formulaId: "",
valueType: "",
dataType: ""
},
//公式保存数据
formnulField: {},
formnulId: "",
moveModalPayload: {
visible: false, title: "",
dataList: [], record: null, value: ""
@ -44,36 +34,6 @@ class LedgerSalaryItemNormal extends Component {
};
}
componentWillUnmount() {
this.handleResetFormnul();
}
handleEditFormnul = (field, record) => {
console.log(record);
const { valueType, formulaId, dateType: dataType, id, key } = record;
const { editFormulModal } = this.state;
this.setState({
editFormulModal: {
...editFormulModal,
visible: true,
valueType, formulaId, dataType
},
formnulField: field,
formnulId: id || key
});
};
handleSaveFormnul = (data) => {
const { onSaveFormnul } = this.props;
const { formnulField, formnulId } = this.state;
const tmpV = _.cloneDeep(formnulField.items);
const formnulData = _.map(tmpV, it => {
if (it.id === formnulId || it.key === formnulId) {
return { ...it, formulaId: data.id, formulaContent: data.formula };
}
return { ...it };
});
onSaveFormnul(formnulField.uuid, formnulData);
};
handleAddCategory = (name = "", id = "") => {
const { categoryModal } = this.state;
this.setState({
@ -128,23 +88,6 @@ class LedgerSalaryItemNormal extends Component {
}
}, () => form.resetForm());
};
handleCloseFormnul = () => {
const { editFormulModal } = this.state;
this.setState({
editFormulModal: {
...editFormulModal,
visible: false,
formulaId: "",
valueType: "", dataType: ""
}
});
};
handleResetFormnul = () => {
this.setState({
formnulField: {},
formnulId: ""
});
};
handleCancelMove = () => {
this.setState({
moveModalPayload: {
@ -196,7 +139,7 @@ class LedgerSalaryItemNormal extends Component {
taxAgentStore
} = this.props;
const { showOperateBtn } = taxAgentStore;
const { categoryModal, addCategoryItemsVisible, editFormulModal, moveModalPayload } = this.state;
const { categoryModal, addCategoryItemsVisible, moveModalPayload } = this.state;
return (
<WeaSearchGroup needTigger={false} showGroup
title={<TitleComp showOperateBtn={showOperateBtn} titleName={incomeCategoriesTitleName}
@ -227,7 +170,6 @@ class LedgerSalaryItemNormal extends Component {
onDropCategoryItem={(data) => onDropCategoryItem(field, data)}
onHandleItemhide={(data) => onHandleItemhide(field, data)}
onChangeSelectedRowKeys={(data) => onChangeSelectedRowKeys(field, data)}
onEditFormnul={(data) => this.handleEditFormnul(field, data)}
onMoveTo={this.handleMoveTo}
/>
</WeaSearchGroup>;
@ -250,15 +192,6 @@ class LedgerSalaryItemNormal extends Component {
onSaveCategory={onSaveCategory}
onCancel={this.handleClose}
/>
{/*公式编辑*/}
{
editFormulModal.visible &&
<FormalFormModal
{...editFormulModal}
onSaveFormal={this.handleSaveFormnul}
onCancel={this.handleCloseFormnul}
/>
}
</div>
</WeaSearchGroup>
);

View File

@ -9,6 +9,7 @@ import { WeaCheckbox, WeaHelpfulTip, WeaLocaleProvider, WeaTable } from "ecCom";
import LedgerSalaryItemEditSlide from "./ledgerSalaryItemEditSlide";
import { getSalaryItemForm } from "../../../apis/ledger";
import { commonEnumList } from "../../../apis/ruleconfig";
import FormalFormModal from "../../salaryItem/formalFormModal";
const getLabel = WeaLocaleProvider.getLabel;
@ -21,6 +22,12 @@ class LedgerSalaryItemTable extends Component {
visible: false, record: {},
request: {}, isLedger: true,
userStatusList: [], loading: false
},
editFormulModal: {
visible: false,
formulaId: "",
valueType: "",
dataType: ""
}
};
}
@ -91,11 +98,17 @@ class LedgerSalaryItemTable extends Component {
salaryItemPayload: {
...this.state.salaryItemPayload,
visible: true,
request: { ...data, hideDefault, valueType, roundingMode, pattern },
request: {
...data,
hideDefault: _.isNil(hideDefault) ? "0" : hideDefault,
valueType,
roundingMode,
pattern
},
record,
userStatusList: _.map(userStatusList, it => ({ key: it.value.toString(), showname: it.defaultLabel }))
}
});
}, () => console.log(111, this.state.salaryItemPayload));
}
});
};
@ -112,18 +125,86 @@ class LedgerSalaryItemTable extends Component {
salaryItemPayload: { ...salaryItemPayload, visible: false }
});
const { id } = record;
const { hideDefault, roundingMode, pattern, valueType } = request;
this.handleChangeSalaryItem({ itemHide: hideDefault.toString(), roundingMode, pattern, valueType }, id);
//TODO:渲染列表数据
const {
hideDefault,
roundingMode,
pattern,
valueType,
originFormulaContent,
originSqlContent,
formulaId
} = request;
this.handleChangeSalaryItem({
itemHide: hideDefault.toString(),
roundingMode,
pattern,
valueType,
formulaContent: valueType.toString() === "2" ? originFormulaContent : originSqlContent,
formulaId: ((valueType.toString() === "3" && !originSqlContent) || valueType.toString() === "1") ? "" : formulaId
}, id);
};
handleEditFormnul = () => {
const { salaryItemPayload, editFormulModal } = this.state;
const { record } = salaryItemPayload;
const { valueType, formulaId, dateType: dataType } = record;
this.setState({
editFormulModal: {
...editFormulModal,
visible: true,
valueType, formulaId, dataType
}
});
};
handleCloseFormnul = () => {
const { editFormulModal } = this.state;
this.setState({
editFormulModal: {
...editFormulModal,
visible: false,
formulaId: "",
valueType: "", dataType: ""
}
});
};
handleSaveFormnul = (data) => {
const { salaryItemPayload } = this.state;
const { record } = salaryItemPayload;
const { salaryItemId } = record;
const { dataSource, onHandleItemhide } = this.props;
const tmpV = _.cloneDeep(dataSource);
const formnulData = _.map(tmpV, it => {
if (it.salaryItemId === salaryItemId) {
return {
...it,
formulaId: data.id, formulaContent: data.formula,
originFormulaContent: data.referenceType === "formula" ? data.formula : "",
originSqlContent: data.referenceType === "sql" ? data.formula : ""
};
}
return { ...it };
});
this.setState({
salaryItemPayload: {
...salaryItemPayload,
request: {
...salaryItemPayload.request,
formulaId: data.id,
originFormulaContent: data.referenceType === "formula" ? data.formula : "",
originSqlContent: data.referenceType === "sql" ? data.formula : ""
}
}
}, () => {
this.handleCloseFormnul();
onHandleItemhide(formnulData);
});
};
render() {
const { salaryItemPayload } = this.state;
const { salaryItemPayload, editFormulModal } = this.state;
const {
dataSource,
onDropCategoryItem,
onChangeSelectedRowKeys,
onEditFormnul,
selectedRowKeys,
onMoveTo
} = this.props;
@ -150,9 +231,10 @@ class LedgerSalaryItemTable extends Component {
</span>,
dataIndex: "valueType",
key: "valueType",
render: (_, record) => {
render: (e, record) => {
const { valueType } = record;
return <span> {valueType === 1 ? "输入" : valueType === 2 ? "自定义公式" : valueType === 3 ? "SQL" : ""} </span>;
const key = !_.isNil(valueType) ? valueType : "";
return <span> {key.toString() === "1" ? "输入" : key.toString() === "2" ? "自定义公式" : key.toString() === "3" ? "SQL" : ""} </span>;
}
},
{
@ -207,16 +289,19 @@ class LedgerSalaryItemTable extends Component {
/>
<LedgerSalaryItemEditSlide
{...salaryItemPayload}
onUpdateRequest={request => {
const key = Object.keys(request)[0];
onUpdateRequest={(request, key) => {
console.log(salaryItemPayload);
this.setState({
salaryItemPayload: {
...salaryItemPayload, request,
record: key === "valueType" ? { ...salaryItemPayload.record, request } : { ...salaryItemPayload.record }
record: key === "valueType" ? {
...salaryItemPayload.record,
[key]: request[key]
} : { ...salaryItemPayload.record }
}
});
}}
onEditFormnul={() => onEditFormnul(salaryItemPayload.record)}
onEditFormnul={this.handleEditFormnul}
onSave={this.handleSaveItem}
onClose={() => this.setState({
salaryItemPayload: {
@ -224,6 +309,15 @@ class LedgerSalaryItemTable extends Component {
}
})}
/>
{/*公式编辑*/}
{
editFormulModal.visible &&
<FormalFormModal
{...editFormulModal}
onSaveFormal={this.handleSaveFormnul}
onCancel={this.handleCloseFormnul}
/>
}
</React.Fragment>
);
}

View File

@ -132,6 +132,8 @@ class LedgerSlide extends Component {
}) || [],
salarySobId: salarySobId || saveSalarySobId
};
console.log("payload", payload);
// return;
this.setState({ loading: true });
saveLedgerItem(payload).then(({ status, errormsg }) => {
this.setState({ loading: false });

View File

@ -39,11 +39,11 @@ export default class FormalFormModal extends React.Component {
}
componentWillMount() {
const { salaryItemStore } = this.props;
const { salaryItemStore, formulaId, valueType } = this.props;
const { salaryAcctImportTemplateParam, setSearchFields, detailFormual } = salaryItemStore;
setSearchFields([]);
if (!!this.props.formulaId && this.props.formulaId != 0) {
detailFormual(this.props.formulaId).then(data => {
detailFormual({ formulaId, returnType: valueType.toString() === "2" ? "formula" : "sql" }).then(data => {
this.parameters = data.parameters;
this.referenceType = data.referenceType;
this.extendParam = data.extendParam;

View File

@ -66,6 +66,7 @@ class SalaryItemForm extends Component {
case "formulaContent":
return {
...item,
key: valueType.toString() === "3" ? "originSqlContent" : "originFormulaContent",
display: valueType && (valueType.toString() === "2" || valueType.toString() === "3"),
viewAttr: (isLedger && record.canEdit) || (editable && record.canEdit) || isAdd ? 2 : 1
};
@ -87,9 +88,10 @@ class SalaryItemForm extends Component {
salaryItemFieldsList: _.map(salaryItemFieldsList, item => {
if (key === "sharedType" && item.key === "taxAgentIds") {
return { ...item, display: v === "1", viewAttr: 3 };
} else if (key === "valueType" && item.key === "formulaContent") {
} else if (key === "valueType" && (item.key === "originSqlContent" || item.key === "originFormulaContent")) {
return {
...item,
key: v === "3" ? "originSqlContent" : "originFormulaContent",
label: v === "2" ? "公式" : v === "3" ? "SQL" : "",
display: v === "2" || v === "3"
};
@ -97,11 +99,11 @@ class SalaryItemForm extends Component {
return { ...item };
})
}, () => {
if (key === "valueType" && !this.props.isLedger) {
onChangeFieldsItem({ formulaContent: "", formulaId: 0, valueType: v });
} else {
onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary" || key === "hideDefault") ? Number(v) : v });
}
// if (key === "valueType" && !this.props.isLedger) {
// onChangeFieldsItem({ formulaContent: "", formulaId: 0, valueType: v });
// } else {
onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary" || key === "hideDefault") ? Number(v) : v });
// }
});
};
@ -119,7 +121,7 @@ class SalaryItemForm extends Component {
(type === "INPUT" && display) ?
<WeaFormItem label={label} labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>
<WeaInput viewAttr={viewAttr} value={value}
onClick={() => key === "formulaContent" && onShowFormal()}
onClick={() => (key === "originSqlContent" || key === "originFormulaContent") && onShowFormal()}
onChange={v => this.handleChangeSalaryFiledItems(key, v)}/></WeaFormItem> :
(type === "SWITCH" && display) ?
<WeaFormItem label={label} labelCol={{ span: 6 }} wrapperCol={{ span: 12 }}>

View File

@ -334,9 +334,9 @@ export class SalaryItemStore {
// 根据id获取formual
@action
detailFormual = (formulaId) => {
detailFormual = (params) => {
return new Promise((resolve, reject) => {
API.detailFormual({ formulaId }).then(res => {
API.detailFormual(params).then(res => {
if (res.status) {
this.formulaDetail = res.data;
resolve(res.data);