diff --git a/pc4mobx/hrmSalary/components/selectItemsModal/index11.js b/pc4mobx/hrmSalary/components/selectItemsModal/index11.js
deleted file mode 100644
index 27cc02a7..00000000
--- a/pc4mobx/hrmSalary/components/selectItemsModal/index11.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Author: 黎永顺
- * Description:
- * Date: 2022-05-19 15:18:09
- * LastEditTime: 2022-06-29 10:06:13
- */
-import React from "react";
-import { WeaCheckbox, WeaInputSearch, WeaDialog } from "ecCom";
-import { Button, Dropdown, Menu, Modal } from "antd";
-import "../../pages/dataAcquisition/attendance/index.less"
-
-
-export const items = [
- {
- key: "1",
- title: "测试",
- checked: false
- },
- {
- key: "2",
- title: "测试2",
- checked: true
- }
-];
-
-export default class SelectItemModal extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- searchValue: ""
- };
- }
-
- handleShowChecked(value) {
- value = value == 1 ? true : false;
- this.props.onShowChecked(value);
- }
-
- handleMenuClick(e) {
- if (e.key == "1") { //恢复默认设置
- this.props.onRestoreDefault();
- } else if (e.key == "2") {
- this.props.onSetDefault();
- } else if (e.key == "3") {
-
- }
- }
-
- render() {
- const menu = (
-
- );
- return (
- {
- this.props.onSave();
- }}>保存,
- 更多
- ]}
- >
-
- {
- this.setState({ searchValue: value });
- }}
- onSearch={(value) => {
- this.props.onSearch(value);
- }}
- />
-
- {this.props.children}
-
- {
- this.handleShowChecked(value);
- }}/>
-
-
- );
- }
-}
diff --git a/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrappercopy.js b/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrappercopy.js
deleted file mode 100644
index b29f38b8..00000000
--- a/pc4mobx/hrmSalary/components/selectItemsModal/selectItemsWrappercopy.js
+++ /dev/null
@@ -1,78 +0,0 @@
-import React from "react";
-import { WeaCheckbox } from "ecCom";
-import { Col, Icon, Row } from "antd";
-
-export default class SelectItemsWrapper extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- showContent: true,
- checkStatus: false
- };
- }
-
- handleAllChecked(value) {
- value = value == 1 ? true : false;
- let items = [...this.props.items];
- items.map(item => {
- item.checked = value;
- });
- this.setState({
- checkStatus: value
- });
- this.props.onChange(items);
- }
-
- handleItemChange(value, record) {
- value = value == 1 ? true : false;
- let items = [...this.props.items];
- items.map(item => {
- if (item.id == record.id) {
- item.checked = value;
- }
- });
- this.props.onChange(items);
- }
-
- render() {
- return (
-
-
-
{this.props.title}} onChange={(value) => {
- this.handleAllChecked(value);
- }} value={this.state.checkStatus}/>
-
this.setState({
- showContent: !this.state.showContent
- })}>已选中{this.props.items ? this.props.items.filter(item => item.checked).length : 0}个字段
-
- {
- this.state.showContent ? :
- }
-
-
-
- {
- this.state.showContent &&
-
- {
- this.props.items && this.props.items.map(item => (
- {
- this.handleItemChange(value, item);
- }}/>
- ))
- }
-
-
- }
-
-
- );
- }
-}
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceRefrenceDataModal.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceRefrenceDataModal.js
index 3b96d14b..2308b556 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceRefrenceDataModal.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceRefrenceDataModal.js
@@ -10,7 +10,14 @@ import { WeaDialog } from "ecCom";
import { Button, message } from "antd";
import { reFrenceConditions } from "../columns";
import { getSearchs } from "../../../../util";
-import { checkOperation, getLedgerList, syncAttendanceRefer } from "../../../../apis/attendance";
+import {
+ checkOperation,
+ getAttendanceFieldSettingList,
+ getLedgerList, returnToAttendanceFieldSettingDefault, saveAttendanceFieldSetting, saveAttendanceFieldSettingAsDefault,
+ syncAttendanceRefer
+} from "../../../../apis/attendance";
+import SelectItemModal from "../../../../components/selectItemsModal";
+import SelectItemsWrapper from "../../../../components/selectItemsModal/selectItemsWrapper";
import "./index.less";
@inject("attendanceStore")
@@ -20,7 +27,9 @@ class AttendanceRefrenceDataModal extends Component {
super(props);
this.state = {
loading: false,
- condition: []
+ headerSetLoading: false,
+ condition: [],
+ headerSetPayload: { visible: false, title: "", children: null }
};
}
@@ -92,12 +101,112 @@ class AttendanceRefrenceDataModal extends Component {
const { attendanceStore: { refenceform } } = this.props;
refenceform.resetForm();
};
+ /*
+ * Author: 黎永顺
+ * Description: 表头设置
+ * Params:
+ * Date: 2023/3/8
+ */
+ handleHeaderSetting = () => {
+ const { headerSetPayload } = this.state;
+ this.setState({ headerSetLoading: true });
+ getAttendanceFieldSettingList({ sourceType: "QUOTE" }).then(({ status, data }) => {
+ this.setState({ headerSetLoading: false });
+ if (status) {
+ this.setState({
+ headerSetPayload: {
+ ...headerSetPayload,
+ visible: true, title: "引用考勤字段设置",
+ children: this.setItemRef = dom}
+ dataSource={data}
+ onSelectGroupAll={this.handleSelectGroupAll}
+ onSelectItem={this.handleSelectItem}
+ />
+ }
+ });
+ }
+ }).catch(() => this.setState({ headerSetLoading: false }));
+ };
+ handleCloseSettings = () => {
+ const { headerSetPayload } = this.state;
+ this.setState({
+ headerSetPayload: {
+ ...headerSetPayload,
+ visible: false, title: "", children: null
+ }
+ });
+ };
+ handleSearchItemSet = (val) => this.setItemRef.handleSearchItemSet(val);
+ 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: "QUOTE" }).then(({ status, errormsg }) => {
+ if (status) {
+ message.success("操作成功");
+ this.handleHeaderSetting({ sourceType: "QUOTE" });
+ } 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: "QUOTE" };
+ 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: "QUOTE" };
+ saveAttendanceFieldSetting(payload).then(({ status, errormsg }) => {
+ if (status) {
+ message.success("保存成功");
+ this.handleCloseSettings();
+ } else {
+ message.error(errormsg || "保存失败");
+ }
+ });
+ };
render() {
- const { condition, loading } = this.state;
+ const { condition, loading, headerSetLoading, headerSetPayload } = this.state;
const { attendanceStore: { refenceform } } = this.props;
const buttons = [
-
+ ,
+
];
return (
{getSearchs(refenceform, condition, 1)}
+ {/* 表头设置 */}
+
);
}
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.js
deleted file mode 100644
index 76d7df05..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import React from "react";
-import { DatePicker } from "antd";
-import { inject, observer } from "mobx-react";
-import { WeaTable } from "ecCom";
-import "./editSlideContent.less";
-
-const { MonthPicker } = DatePicker;
-
-let emptyItem = {
- incomeLowerLimit: "0.00",
- incomeUpperLimit: "0.00",
- dutyFreeValue: "0.00",
- dutyFreeRate: "0.00",
- taxableIncomeLl: "0.00",
- taxableIncomeUl: "0.00",
- taxRate: "0.00",
- taxDeduction: "0.00"
-};
-
-@inject("attendanceStore")
-@observer
-export default class EditSlideContent extends React.Component {
- constructor(props) {
- super(props);
- }
-
- componentWillMount() {
- // 初始化渲染页面
- const { attendanceStore: { viewAttendQuote } } = this.props;
- viewAttendQuote({ attendQuoteId: this.props.id });
- }
-
- getColumns(columns) {
- let result = [...columns];
- return result.filter(item => item.hide == "false");
- }
-
- getScrollWidth() {
- const { attendanceStore } = this.props;
- const { attendQuoteDetailTableStore } = attendanceStore;
- return (
- this.getColumns(
- attendQuoteDetailTableStore.columns
- ? attendQuoteDetailTableStore.columns
- : []
- ).length * 150
- );
- }
-
- render() {
- const {
- attendanceStore,
- attendanceStore: { viewAttendQuote }
- } = this.props;
- const {
- attendQuoteDetailPageInfo,
- attendQuoteDetailTableStore
- } = attendanceStore;
-
- const pagination = {
- total: attendQuoteDetailPageInfo.total,
- showTotal: total => `共 ${total} 条`,
- showSizeChanger: true,
- pageSizeOptions: ["10", "20", "50", "100"],
- onShowSizeChange: (current, pageSize) => {
- viewAttendQuote({ attendQuoteId: this.props.id, current, pageSize });
- },
- onChange: current => {
- viewAttendQuote({
- attendQuoteId: this.props.id,
- current,
- pageSize: attendQuoteDetailPageInfo.pageSize
- });
- }
- };
- return (
-
-
- {this.props.salaryYearMonth != "" &&
-
- 考勤周期: {this.props.salaryYearMonth}
-
}
-
-
-
-
-
- );
- }
-}
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.less b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.less
deleted file mode 100644
index fd7858c8..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/editSlideContent.less
+++ /dev/null
@@ -1,26 +0,0 @@
-.attendSlide {
- .titleWrapper {
- height: 47px;
- line-height: 47px;
- overflow: hidden;
- padding-left: 10px;
- padding-right: 10px;
- .slideLeftTitle {
- float: left;
- }
- .rightTitle {
- float: right;
- }
- }
- .weaRangePickerWrapper {
- display: inline-block;
- .monthPickerWrapper {
- width: 100px;
- display: inline-block;
- }
- .betweenLable {
- margin-left: 10px;
- margin-right: 10px;
- }
- }
-}
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/headerSetModal.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/headerSetModal.js
deleted file mode 100644
index c8ee03f1..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/headerSetModal.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react'
-import { Modal } from 'antd'
-import SelectItemModal, { items } from '../../../components/selectItemsModal/selectItemsWrapper';
-
-
-export default class HeaderSetModal extends React.Component {
- render() {
- return (
-
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/indexcopy.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/indexcopy.js
deleted file mode 100644
index 3b4727bd..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/indexcopy.js
+++ /dev/null
@@ -1,921 +0,0 @@
-import React from "react";
-import { inject, observer } from "mobx-react";
-import { Button, Col, DatePicker, Dropdown, Menu, message, Modal, Row, Switch } from "antd";
-import { WeaDatePicker, WeaInputSearch, WeaNewScroll, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
-import moment from "moment";
-import { renderNoright } from "../../../util";
-import CustomTab from "../../../components/customTab";
-import { columns } from "./columns";
-import ImportModal from "../../../components/importModal";
-import HeaderSet from "../../../components/importModal/headerSet";
-import SelectItemModal from "../../../components/selectItemsModal";
-import RefereAttendFormModal from "./refereAttendFormModal";
-import SelectItemsWrapper from "../../../components/selectItemsModal/selectItemsWrapper";
-import SlideModalTitle from "../../../components/slideModalTitle";
-import EditSlideContent from "./editSlideContent";
-import TwoColContent from "../../../components/twoColContent";
-import TipLabel from "../../../components/TipLabel";
-import ItemMangeFormModal from "./itemMangeFormModal";
-import CustomPaginationTable from "../../../components/customPaginationTable";
-import "../otherDeduct/index.less";
-
-const MonthPicker = DatePicker.MonthPicker;
-
-@inject("attendanceStore", "taxAgentStore")
-@observer
-export default class Attendance extends React.Component {
- constructor(props) {
- super(props);
- columns.map(item => {
- if (item.key == "cz") {
- item.render = (text, record) => {
- return (
-
- );
- };
- }
- });
- this.state = {
- value: "",
- selectedKey: "0",
- searchValue: "",
- modalParam: {
- salarySobId: "",
- salaryYearMonth: moment(new Date()).format("YYYY-MM") // 薪资所属月
- },
- modalVisiable: false,
- selectItemVisible: false,
- refereAttendFormVisible: false,
- tabSelectedKey: "0",
- itemMangeVisible: false,
- itemMangeValue: {},
- fieldName: "",
- fieldSettingSearchValue: "",
- fieldCurrent: 1,
- inited: false
- };
- this.fieldSearch = {};
- this.listSearch = {
- salaryYearMonth: [moment(new Date()).startOf("year").format("YYYY-MM"), moment(new Date()).startOf("month").format("YYYY-MM")],
- current: 1
- };
- this.recordId = ""; // 考勤数据列表查看选择项
- this.salaryYearMonth = ""; // 考勤数据查看,当前数据的薪资所属月
- this.pageInfo = { current: 1, pageSize: 10 };
- }
-
- componentWillMount() {
- const { attendanceStore: { doInit, getLedgerList } } = this.props;
- doInit(this.listSearch);
- getLedgerList().then(() => {
- this.setState({
- inited: true
- });
- });
- }
-
- onShowSlide() {
- const { attendanceStore: { setSlideVisiable } } = this.props;
- setSlideVisiable(true);
- }
-
- onItemEdit(record) {
- this.setState({
- itemMangeVisible: true
- });
-
- const {
- attendanceStore: { setCurrentItemOperate, setCurrentItem }
- } = this.props;
- setCurrentItemOperate("update");
- setCurrentItem(record);
- }
-
- // 字段列表分页
- handleFieldPageChange(value) {
- const { attendanceStore: { getAttendanceFieldList } } = this.props;
- this.fieldSearch.current = value;
- this.fieldSearch.pageSize = this.pageInfo.pageSize;
- getAttendanceFieldList(this.fieldSearch);
- }
-
- handleFieldShowSizeChange(pageInfo) {
- const { attendanceStore: { getAttendanceFieldList } } = this.props;
- this.fieldSearch.current = pageInfo;
- getAttendanceFieldList({ ...this.fieldSearch, ...pageInfo });
- }
-
- // 列表
- handleDataPageChange(value) {
- const { attendanceStore: { getAttendanceList } } = this.props;
- this.listSearch.current = value;
- getAttendanceList(this.listSearch);
- }
-
- handleDataShowSizeChange(pageInfo) {
- const { attendanceStore: { getAttendanceList } } = this.props;
- getAttendanceList({ ...this.listSearch, ...pageInfo });
- }
-
- // 下载导入模板链接点击
- handleTemplateLinkClick() {
- const { attendanceStore: { downloadTemplate } } = this.props;
- const { modalParam: { salarySobId, salaryYearMonth } } = this.state;
- if (!salaryYearMonth || salaryYearMonth == "") {
- message.warning("薪资所属月不能为空");
- return;
- }
-
- if (!salarySobId || salarySobId == "") {
- message.warning("薪资账套不能为空");
- return;
- }
- downloadTemplate(salaryYearMonth, salarySobId);
- }
-
- // 导入预览
- handlePreviewImport(params) {
- const { attendanceStore: { previewAttendQuote } } = this.props;
- previewAttendQuote(params);
- }
-
- // 考勤导入
- handleImport(params) {
- const { attendanceStore: { importAttendQuoteData } } = this.props;
- importAttendQuoteData(params);
- }
-
- // 导入完成
- handleFinish() {
- this.setState({ modalVisiable: false });
- const { attendanceStore: { getAttendanceList, step } } = this.props;
- if (step === 2) {
- getAttendanceList({ ...this.pageInfo });
- }
- }
-
- // 考情引用的列
- getColumns(columns) {
- const {
- attendanceStore: { deleteAttendance, doInit },
- taxAgentStore: { showOperateBtn }
- } = this.props;
- let result = [...columns];
- result.push({
- title: "操作",
- key: "operate",
- render: (text, record) => {
- return (
-
-
this.handleViewAttendance(record)}>查看
- {showOperateBtn &&
-
{
- Modal.confirm({
- title: "信息确认",
- content: "确认删除",
- onOk: () => {
- deleteAttendance([
- record.id
- ]).then(({ status, errormsg }) => {
- if (status) {
- message.success("删除成功");
- doInit(this.listSearch);
- } else {
- message.error(errormsg || "删除失败");
- }
- });
- },
- onCancel: () => {
- }
- });
- }}>
- 删除
-
- }>
-
-
-
- }
-
- );
- }
- });
- return result;
- }
-
- // 查看考勤详情
- handleViewAttendance(record) {
- const { attendanceStore: { setSlideVisiable } } = this.props;
- this.recordId = record.id;
- this.salaryYearMonth = record.attendCycle;
- setSlideVisiable(true);
- }
-
- // 引用同步Cancel事件
- handleRefereCancel() {
- this.setState({ refereAttendFormVisible: false });
- const { attendanceStore: { getAttendanceList } } = this.props;
- this.listSearch.current = 1;
- getAttendanceList(this.listSearch);
- }
-
- // 获取周期
- handleLoadCycle(month, sob) {
- if (!month || month == "") {
- return;
- }
- if (!sob || sob == "") {
- return;
- }
- const { attendanceStore: { getSalaryCycleAndAttendCycle } } = this.props;
- getSalaryCycleAndAttendCycle(month, sob);
- }
-
- // 初始导入参数
- handleInitImportModal() {
- const {
- attendanceStore: {
- setPreviewAttendQuoteColumns,
- setPreviewAttendQuoteDataSource,
- setImportResult
- }
- } = this.props;
- setPreviewAttendQuoteColumns([]);
- setPreviewAttendQuoteDataSource([]);
- setImportResult({});
- }
-
- // 引用详情列表搜索
- handleSearch(params) {
- const { attendanceStore: { viewAttendQuote } } = this.props;
- let request = { attendQuoteId: this.recordId, ...params };
- viewAttendQuote(request);
- }
-
- handleExportAttendQuote = () => {
- const url = `${window.location
- .origin}/api/bs/hrmsalary/attendQuote/export?attendQuoteId=${this
- .recordId}`;
- window.open(url, "_self");
- };
-
- handleChangeMonth = (type, val) => {
- const { attendanceStore: { getAttendanceList } } = this.props;
- this.listSearch.salaryYearMonth[type] = val && moment(val).format("YYYY-MM");
- !this.listSearch.salaryYearMonth[0] && (this.listSearch.salaryYearMonth[0] = moment(new Date()).startOf("year").format("YYYY-MM"));
- !this.listSearch.salaryYearMonth[1] && (this.listSearch.salaryYearMonth = this.listSearch.salaryYearMonth.filter(n => n));
- getAttendanceList(this.listSearch);
- };
-
- render() {
- const { attendanceStore, taxAgentStore: { showOperateBtn } } = this.props;
- const { modalParam } = this.state;
- const { loading, hasRight, tableStore } = attendanceStore;
- const {
- step, setStep, setSlideVisiable, slideVisiable, doBatchDelete, searchFieldSettingList,
- fieldSettingAttendList, fieldSettingCustomList, setFieldSettingAttendList, setFieldSettingCustomList
- } = attendanceStore;
- const {
- getAttendanceFieldSettingList, saveAttendanceFieldSetting, fieldDataSource,
- fieldTableStore, fieldPageInfo, attendanceDataSource, attendanceColumns,
- attendancePageInfo, importLedgerList, previewAttendQuoteColumns, previewAttendQuoteDataSource,
- importResult, cycle
- } = attendanceStore;
-
- if (!hasRight && !loading) {
- // 无权限处理
- return renderNoright();
- }
-
- const rightMenu = [
- // 右键菜单
- // {
- // key: 'BTN_DEL',
- // icon: ,
- // content : '批量删除',
- // disable: selectedRowKeys.length === 0, // 没有选中禁用
- // onClick : batchDelete,
- // }
- ];
- const collectParams = {
- // 收藏功能配置
- favname: "考勤引用",
- favouritetype: 1,
- objid: 0,
- link: "wui/index.html#/ns_demo03/index",
- importantlevel: 1
- };
-
- const topTab = [
- {
- title: "考勤数据",
- viewcondition: "0"
- },
- {
- title: "字段管理",
- viewcondition: "1"
- }
- ];
-
- const renderSearchOperationItem = () => {
- const { taxAgentStore: { showOperateBtn } } = this.props;
- return showOperateBtn
- ?
-
-
-
- : null;
- };
-
- const renderLeftOperation = () => {
- return (
-
- 薪资所属月:
- {
- return current && this.listSearch.salaryYearMonth[1] && current.getTime() > new Date(this.listSearch.salaryYearMonth[1]).getTime();
- }}
- format="YYYY-MM"
- onChange={(val) => this.handleChangeMonth("0", val)}
- />
- 至
- {
- return current && this.listSearch.salaryYearMonth[0] && current.getTime() < new Date(this.listSearch.salaryYearMonth[0]).getTime();
- }}
- format="YYYY-MM"
- onChange={(val) => this.handleChangeMonth("1", val)}
- />
-
- );
- };
-
- const renderHeaderSetCompoent = () => {
- return (
- {
- getAttendanceFieldSettingList({ sourceType: "IMPORT" });
- this.setState({
- selectItemVisible: true
- });
- }}
- />
- );
- };
-
- const renderFormComponent = () => {
- return (
-
-
-
- 薪资所属月:
-
- {
- this.setState({
- modalParam: { ...modalParam, salaryYearMonth: value }
- });
- this.handleLoadCycle(value, this.state.modalParam.salarySobId);
- }}
- />
-
-
-
- 薪资账套:
-
- {this.state.inited &&
- ({ key: it.id, showname: it.content }))] : [{
- key: "",
- showname: ""
- }]
- }
- onChange={value => {
- this.setState({
- modalParam: { ...modalParam, salarySobId: value }
- });
- this.handleLoadCycle(
- this.state.modalParam.salaryYearMonth,
- value
- );
- }}/>}
-
-
-
- 薪资周期:
-
- {cycle.salaryCycle}
-
-
-
- 考勤周期:
-
- {cycle.attendCycle}
-
-
- );
- };
-
- const renderCustomOperate = () => {
- return ([
-
- {showOperateBtn &&
-
- // 导出全部
- }
- {
- this.setState({ searchValue: v });
- }}
- onSearch={v => {
- this.handleSearch({ keyword: v });
- }}
- />
-
- ]);
- };
-
- const handleItemSearch = value => {
- const { attendanceStore: { getAttendanceFieldList } } = this.props;
- this.fieldSearch = { fieldName: value };
- getAttendanceFieldList(this.fieldSearch);
- };
-
- const handleNewClick = () => {
- const { attendanceStore: { setCurrentItemOperate } } = this.props;
- this.setState({ itemMangeVisible: true });
- setCurrentItemOperate("add");
- };
-
- const renderRightOperation = () => {
- return (
-
- {showOperateBtn &&
- }
- {
- this.setState({ fieldName: value });
- }}
- placeholder="请输入字段名称"
- onSearch={value => {
- this.setState({ fieldSettingSearchValue: value });
- handleItemSearch(value);
- }}
- />
-
- );
- };
-
- const menu = (
-
- );
-
- const handleTabChange = v => {
- const {
- attendanceStore: { getAttendanceFieldList, getAttendanceList }
- } = this.props;
- this.setState({
- tabSelectedKey: v
- });
-
- if (v == "1") {
- this.fieldSearch = { fieldName: this.state.fieldName };
- getAttendanceFieldList(this.fieldSearch);
- } else if (v == "0") {
- this.listSearch = {
- salaryYearMonth: []
- };
- getAttendanceList({});
- }
- };
-
- const handleSwitchItemChange = (record, value) => {
- const {
- attendanceStore: { updateAttendanceFieldStatus, getAttendanceFieldList }
- } = this.props;
- let request = {
- id: record.id,
- enableStatus: value
- };
- updateAttendanceFieldStatus(request).then(result => {
- this.fieldSearch = { fieldName: this.state.fieldName };
- getAttendanceFieldList(this.fieldSearch);
- });
- };
-
- // 字段Columns
- const getFieldColumns = columns => {
- let newColumns = columns.filter(item => item.hide == "false");
- newColumns = newColumns.map(column => {
- let newColumn = column;
- newColumn.render = (text, record, index) => {
- //前端元素转义
- let valueSpan =
- record[newColumn.dataIndex + "span"] !== undefined
- ? record[newColumn.dataIndex + "span"]
- : record[newColumn.dataIndex];
- switch (newColumn.dataIndex) {
- case "username":
- return (
- {
- this.onItemEdit(record);
- }}
- dangerouslySetInnerHTML={{ __html: valueSpan }}
- />
- );
- case "enableStatus":
- return (
- {
- handleSwitchItemChange(record, value);
- }}
- />
- );
- default:
- return ;
- }
- };
- return newColumn;
- });
- // 与e10保持一致,先去掉字段管理页面的操作列
- // newColumns.push({
- // title: "操作",
- // dataIndex: "operate",
- // render: (text, record) => {
- // return (
- // {this.onItemEdit(record)}}>查看明细
- // )
- // }
- // })
- return [
- // {
- // title: "序号",
- // dataIndex: "index",
- // width: 80,
- // render: (text, record, index) => {
- // const { current, pageSize } = this.pageInfo;
- // return (current - 1) * pageSize + index + 1;
- // }
- // },
- ...newColumns
- ];
- };
-
- // 保存回调
- const handleItemMangeSave = value => {
- const {
- attendanceStore: { saveAttendanceField, getAttendanceFieldList }
- } = this.props;
- value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
- saveAttendanceField(value).then(() => {
- this.fieldSearch = { fieldName: this.state.fieldName };
- getAttendanceFieldList(this.fieldSearch);
- this.setState({ itemMangeVisible: false });
- });
- };
-
- const handleItemMangeUpdate = value => {
- const {
- attendanceStore: { updateAttendanceField, getAttendanceFieldList }
- } = this.props;
- value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
- updateAttendanceField(value);
- this.fieldSearch = { fieldName: this.state.fieldName };
- getAttendanceFieldList(this.fieldSearch);
- this.setState({ itemMangeVisible: false });
- };
-
- const handleShowChecked = value => {
- const {
- attendanceStore: {
- fieldSettingAttendList,
- fieldSettingCustomList,
- setFieldSettingAttendList,
- setFieldSettingCustomList,
- searchFieldSettingList
- }
- } = this.props;
- if (value) {
- let attendList = [...fieldSettingAttendList];
- let customList = [...fieldSettingCustomList];
- setFieldSettingAttendList(
- attendList.filter(item => item.checked == value)
- );
- setFieldSettingCustomList(
- customList.filter(item => item.checked == value)
- );
- } else {
- searchFieldSettingList(this.state.fieldSettingSearchValue);
- }
- };
-
- const handleonRestoreDefault = (sourceType = "IMPORT") => {
- const {
- attendanceStore: { returnToAttendanceFieldSettingDefault }
- } = this.props;
- returnToAttendanceFieldSettingDefault(sourceType);
- };
-
- const handleSetDefault = (sourceType = "IMPORT") => {
- const {
- attendanceStore: { saveAttendanceFieldSettingAsDefault }
- } = this.props;
- saveAttendanceFieldSettingAsDefault(sourceType);
- };
-
- const handleRefereHeaderSet = () => {
- const { attendanceStore: { getAttendanceFieldSettingList } } = this.props;
- getAttendanceFieldSettingList({ sourceType: "QUOTE" });
- };
-
- return (
-
-
} // 左侧图标
- iconBgcolor="#F14A2D" // 左侧图标背景色
- showDropIcon={false} // 是否显示下拉按钮
- dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
- dropMenuProps={{ collectParams }}>
- {this.state.tabSelectedKey == 0
- ?
-
{
- this.pageInfo = { current: 1, pageSize: 10 };
- handleTabChange(v);
- }}
- />
- {
- }}
- />
-
-
- {
- this.pageInfo.current = value;
- this.handleDataPageChange(value);
- }}
- onShowSizeChange={(current, pageSize) => {
- this.pageInfo = { current, pageSize };
- this.handleDataShowSizeChange(this.pageInfo);
- }}
- />
-
-
-
- :
- {
- this.setState({
- tabSelectedKey: v
- }, () => {
- this.pageInfo = { current: 1, pageSize: 10 };
- });
- }}
- />
-
-
- {
- this.pageInfo.current = value;
- this.handleFieldPageChange(value);
- }}
- onShowSizeChange={(current, pageSize) => {
- this.pageInfo = { current, pageSize };
- this.handleFieldShowSizeChange(this.pageInfo);
- }}
- />
-
-
- }
- rightContent={
-
- }
- />
-
}
-
- {
- this.handleInitImportModal();
- }}
- params={this.state.modalParam}
- columns={previewAttendQuoteColumns}
- step={step}
- setStep={setStep}
- slideDataSource={previewAttendQuoteDataSource}
- importResult={importResult}
- onFinish={() => {
- this.handleFinish();
- }}
- previewImport={params => {
- this.handlePreviewImport(params);
- }}
- importFile={params => {
- this.handleImport(params);
- }}
- headerSetCompoent={renderHeaderSetCompoent()}
- templateLink={() => {
- this.handleTemplateLinkClick();
- }}
- renderFormComponent={() => renderFormComponent()}
- visiable={this.state.modalVisiable}
- onCancel={() => {
- this.handleFinish();
- }}
- />
-
- {
- handleonRestoreDefault();
- }}
- onSetDefault={() => {
- handleSetDefault();
- }}
- onSave={() => {
- saveAttendanceFieldSetting();
- }}
- onShowChecked={value => {
- handleShowChecked(value);
- }}
- onSearch={value => {
- searchFieldSettingList(value);
- }}
- visible={this.state.selectItemVisible}
- onCancel={() => this.setState({ selectItemVisible: false })}>
-
- {
- setFieldSettingAttendList(value);
- }}
- items={fieldSettingAttendList}
- title="考勤模块"
- />
- {
- setFieldSettingCustomList(value);
- }}
- items={fieldSettingCustomList}
- title={"自定义"}
- />
-
-
-
- {this.state.refereAttendFormVisible &&
- {
- saveAttendanceFieldSetting("QUOTE");
- }}
- onRestoreDefault={() => {
- handleonRestoreDefault("QUOTE");
- }}
- onSetDefault={() => {
- handleSetDefault("QUOTE");
- }}
- onShowChecked={value => {
- handleShowChecked(value);
- }}
- onSearch={value => {
- searchFieldSettingList(value);
- }}
- onChange={value => {
- setFieldSettingAttendList(value);
- }}
- items={fieldSettingAttendList}
- onHeaderSet={() => {
- handleRefereHeaderSet();
- }}
- visible={this.state.refereAttendFormVisible}
- onCancel={() => {
- this.handleRefereCancel();
- }}
- />}
- {this.state.itemMangeVisible &&
- {
- handleItemMangeUpdate(value);
- }}
- onSave={value => handleItemMangeSave(value)}
- onCancel={() => {
- this.setState({ itemMangeVisible: false });
- }}
- />}
- {slideVisiable &&
-
- }
- content={
-
- }
- onClose={() => setSlideVisiable(false)}
- showMask={true}
- closeMaskOnClick={() => setSlideVisiable(false)}
- />}
-
- );
- }
-}
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/itemMangeFormModal.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/itemMangeFormModal.js
deleted file mode 100644
index adf2d2ff..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/itemMangeFormModal.js
+++ /dev/null
@@ -1,124 +0,0 @@
-import React from "react";
-import { Button, Col, Row, Switch } from "antd";
-import { inject, observer } from "mobx-react";
-import { WeaDialog, WeaInput, WeaSelect } from "ecCom";
-import "./index.less";
-
-@inject("attendanceStore")
-@observer
-export default class ItemMangeFormModal extends React.Component {
- componentWillMount() {
- const { attendanceStore: { currentItem, currentItemOperate } } = this.props;
- if (currentItemOperate == "add") {
- this.state = {
- request: {
- fieldName: "",
- fieldType: "1",
- enableStatus: 0,
- description: ""
- }
- };
- } else {
- this.state = {
- request: currentItem
- };
- }
- }
-
- handleChange(params) {
- const { request } = this.state;
- let result = { ...request, ...params };
- this.setState({ request: result });
- }
-
- convertFieldType = (fileTypeStr) => {
- if (fileTypeStr == "数值") {
- return "1";
- } else if (fileTypeStr == "文本") {
- return "2";
- } else if (fileTypeStr == "1" || fileTypeStr == "2") {
- return fileTypeStr;
- }
- return "";
- };
-
- render() {
- const options = [
- {
- key: "1",
- selected: true,
- showname: "数值"
- },
- {
- key: "2",
- selected: false,
- showname: "文本"
- }
- ];
- const { request } = this.state;
- const { fieldName, fieldType, enableStatus, description } = request;
- let fileTypeKey = this.convertFieldType(fieldType);
- const { attendanceStore: { currentItemOperate } } = this.props;
- return (
- {
- currentItemOperate == "add" ? this.props.onSave(this.state.request) :
- this.props.onUpdate(this.state.request);
- }
- }>保存
- ]}>
-
-
-
- 字段名称
-
-
- {
- this.handleChange({ fieldName: v });
- }}/>
-
-
-
-
- 类型
-
-
- this.handleChange({ fieldType: v })}
- />
-
-
-
-
- 是否启用
-
-
- {
- let enableStatus = 0;
- if (value) {
- enableStatus = 1;
- }
- this.handleChange({ enableStatus });
- }}/>
-
-
-
-
- 备注
-
-
- {
- this.handleChange({ description: v });
- }}/>
-
-
-
-
-
- );
- }
-}
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/refereAttendFormModal.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/refereAttendFormModal.js
deleted file mode 100644
index 8b9ccee7..00000000
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/refereAttendFormModal.js
+++ /dev/null
@@ -1,198 +0,0 @@
-import React from "react";
-import { Button, Col, message, Row, Select } from "antd";
-import moment from "moment";
-import { WeaDatePicker, WeaDialog, WeaError, WeaInput, WeaSelect } from "ecCom";
-import SelectItemModal from "../../../components/selectItemsModal";
-import SelectItemsWrapper from "../../../components/selectItemsModal/selectItemsWrapper";
-import { inject, observer } from "mobx-react";
-import { notNull } from "../../../util/validate";
-
-const { Option } = Select;
-
-@inject("attendanceStore")
-@observer
-export default class RefereAttendFormModal extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- headerSetVisible: false,
- inited: false,
- request: {
- salarySobId: "",
- salaryYearMonth: moment(new Date()).format("YYYY-MM"),
- employeeIds: [],
- description: ""
- }
- };
- }
-
- handleHeaderSet() {
- this.setState({ headerSetVisible: true });
- this.props.onHeaderSet();
- }
-
- componentWillMount() {
- const { attendanceStore: { getLedgerList } } = this.props;
- getLedgerList().then(() => {
- this.setState({
- inited: true
- });
- });
- }
-
- // 请求参数改变事件
- handleRequestChange(params) {
- const { request } = this.state;
- let result = { ...request, ...params };
- this.setState({ request: result });
- }
-
- // 同步点击回调
- handleSync = () => {
- if (!this.handleAsync) {
- this.handleAsync = _.debounce(() => {
- const { attendanceStore: { syncAttendanceRefer, checkOperation } } = this.props;
- if (!this.validate()) {
- return;
- }
- const { salarySobId, salaryYearMonth: salaryYearMonthStr } = this.state.request;
- const payload = {
- salaryYearMonthStr,
- salarySobId
- };
- checkOperation(payload).then(({ status, data, errorMsg }) => {
- if (status && data) {
- syncAttendanceRefer(this.state.request).then(() => {
- this.props.onCancel();
- });
- } else {
- message.warning("已经核算过不可操作");
- }
- });
- this.handleAsync = null;
- }, 500);
- }
- this.handleAsync();
- };
-
- // 校验数据
- validate() {
- const { request } = this.state;
- if (!notNull(request.salarySobId) && !notNull(request.salaryYearMonth)) {
- this.refs.weaError.showError();
- this.refs.weaError1.showError();
- return false;
- }
- if (!notNull(request.salarySobId)) {
- this.refs.weaError1.showError();
- return false;
- }
- if (!notNull(request.salaryYearMonth)) {
- this.refs.weaError.showError();
- return false;
- }
- return true;
- }
-
-
- render() {
- const { attendanceStore: { importLedgerList } } = this.props;
- return (
- 同步,
-
- ]}
- visible={this.props.visible}
- onCancel={this.props.onCancel}>
-
- 薪资所属月:
-
-
- {
- if (value === "") this.refs.weaError.showError();
- this.handleRequestChange({ salaryYearMonth: value });
- }}
- />
-
-
-
-
- 薪资账套:
-
- {
- this.state.inited &&
-
- ({
- key: it.id,
- showname: it.content
- }))]
- }
- onChange={(value) => {
- if (value === "") this.refs.weaError1.showError();
- this.handleRequestChange({ salarySobId: value });
- }}/>
-
- }
-
-
-
- 备注
-
- {
- this.handleRequestChange({ description: value });
- }}/>
-
-
-
-
- {
- this.props.onShowChecked(value);
- }}
- onRestoreDefault={() => {
- this.props.onRestoreDefault();
- }}
- onSetDefault={() => {
- this.props.onSetDefault();
- }}
- onSearch={(value) => {
- this.props.onSearch(value);
- }}
- onSave={(value) => {
- this.props.onSave(value);
- }}
- visible={this.state.headerSetVisible} onCancel={() => this.setState({ headerSetVisible: false })}>
- {
- this.props.onChange(value);
- }}/>
-
-
- );
- }
-}