diff --git a/pc4mobx/hrmSalary/components/selectItemsModal/index.js b/pc4mobx/hrmSalary/components/selectItemsModal/index.js
index 7b8ca17a..b7d01a5d 100644
--- a/pc4mobx/hrmSalary/components/selectItemsModal/index.js
+++ b/pc4mobx/hrmSalary/components/selectItemsModal/index.js
@@ -27,21 +27,24 @@ export default class SelectItemModal extends React.Component {
render() {
const { searchValue } = this.state;
- const { title, onSearchItemSet, onShowOnlyChecked, children, ...extra } = this.props;
- const btns = [];
+ const {
+ title, onSearchItemSet, onShowOnlyChecked, children,
+ onMoreOpts, onSave, ...extra
+ } = this.props;
+ const btns = [];
const moreBtn = {
datas: [
{
key: "recovery",
content: "恢复默认设置",
icon: ,
- onClick: key => alert(`点击事物处理函数接受的实参为 ${key}`)
+ onClick: key => onMoreOpts(key)
},
{
key: "setting",
content: "设为默认设置",
icon: ,
- onClick: key => alert(`点击事物处理函数接受的实参为 ${key}`)
+ onClick: key => onMoreOpts(key)
}
]
};
diff --git a/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrapper.js b/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrapper.js
index 9984ac9f..1a0d44d0 100644
--- a/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrapper.js
+++ b/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrapper.js
@@ -18,6 +18,15 @@ class SelectItemsWrapper extends Component {
};
}
+ componentDidMount() {
+ const { dataSource } = this.props
+ this.setState({
+ selectItem: _.map(_.filter(_.reduce(dataSource, (pre, cur) => {
+ return [...pre, ...cur.items];
+ }, []), item => !!item.checked), it => it.id)
+ });
+ }
+
handleSearchItemSet = (searchVal) => this.setState({ searchVal });
handleShowOnlyChecked = (showOnlyChecked) => this.setState({ showOnlyChecked: !!Number(showOnlyChecked) });
handleSelectGroupAll = (groupId, checked) => {
@@ -47,8 +56,9 @@ class SelectItemsWrapper extends Component {
const { onSelectGroupAll } = this.props;
const { groupName, groupId, items } = item;
const number = _.filter(items, it => !!it.checked).length;
+ const value = _.every(items, it => !!it.checked) ? "1" : "0";
return
- onSelectGroupAll(groupId, val)}/>
+ onSelectGroupAll(groupId, val)}/>
已选择{number}个字段
;
};
@@ -75,7 +85,6 @@ class SelectItemsWrapper extends Component {
return { ...item, items: _.filter(item.items, it => !!it.checked) };
});
}
- console.log(setItemList);
return (
{
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataComp.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataComp.js
index 8e2dbd78..6f58700a 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataComp.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataComp.js
@@ -14,7 +14,10 @@ import {
getLedgerList,
getSalaryCycleAndAttendCycle,
importAttendQuoteData,
- previewAttendQuote
+ previewAttendQuote,
+ returnToAttendanceFieldSettingDefault,
+ saveAttendanceFieldSetting,
+ saveAttendanceFieldSettingAsDefault
} from "../../../../apis/attendance";
import ImportModal from "../../../../components/importModal";
import HeaderSet from "../../../../components/importModal/headerSet";
@@ -248,6 +251,65 @@ class AttendanceDataComp extends Component {
handleShowOnlyChecked = (checked) => this.setItemRef.handleShowOnlyChecked(checked);
handleSelectGroupAll = (groupId, checked) => this.setItemRef.handleSelectGroupAll(groupId, checked);
handleSelectItem = (id, checked) => this.setItemRef.handleSelectItem(id, checked);
+ handleMoreOpts = (key) => {
+ switch (key) {
+ case "recovery":
+ returnToAttendanceFieldSettingDefault({ sourceType: "IMPORT" }).then(({ status, errormsg }) => {
+ if (status) {
+ message.success("操作成功");
+ this.handleHeaderSettings({ sourceType: "IMPORT" });
+ } else {
+ message.error(errormsg || "操作失败");
+ }
+ });
+ break;
+ case "setting":
+ const { state, props } = this.setItemRef;
+ let currentSettingFields = [];
+ const { selectItem } = state, { dataSource } = props;
+ _.forEach(dataSource, item => {
+ currentSettingFields = _.map([...currentSettingFields, ...item.items], child => {
+ return {
+ id: child.id,
+ checked: selectItem.includes(child.id)
+ };
+ });
+ });
+ const payload = { currentSettingFields, sourceType: "IMPORT" };
+ saveAttendanceFieldSettingAsDefault(payload).then(({ status, errormsg }) => {
+ if (status) {
+ message.success("操作成功");
+ } else {
+ message.error(errormsg || "操作失败");
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ };
+ handleSave = () => {
+ const { state, props } = this.setItemRef;
+ let currentSettingFields = [];
+ const { selectItem } = state, { dataSource } = props;
+ _.forEach(dataSource, item => {
+ currentSettingFields = _.map([...currentSettingFields, ...item.items], child => {
+ return {
+ id: child.id,
+ checked: selectItem.includes(child.id)
+ };
+ });
+ });
+ const payload = { currentSettingFields, sourceType: "IMPORT" };
+ saveAttendanceFieldSetting(payload).then(({ status, errormsg }) => {
+ if (status) {
+ message.success("保存成功");
+ this.handleCloseSettings();
+ } else {
+ message.error(errormsg || "保存失败");
+ }
+ });
+ };
/*
* Author: 黎永顺
* Description: 考勤数据引用
@@ -330,6 +392,7 @@ class AttendanceDataComp extends Component {
onCancel={this.handleCloseSettings}
onSearchItemSet={this.handleSearchItemSet}
onShowOnlyChecked={this.handleShowOnlyChecked}
+ onMoreOpts={this.handleMoreOpts} onSave={this.handleSave}
/>
{/* 考勤数据引用 */}