import React from "react"; import { Icon, Modal, Radio, Switch } from "antd"; import { WeaFormItem, WeaInput, WeaSearchGroup } from "ecCom"; import { inject, observer } from "mobx-react"; import BackgroundUpload from "../components/backgroundUpload"; import './index.less'; @inject("payrollStore") @observer export default class ShowSettingForm extends React.Component { componentWillMount() { const { payrollStore } = this.props; const { initShowSettingForm } = payrollStore; initShowSettingForm(this.props.id); } // form 字段变化时的回调 handleChange(params) { const { payrollStore: { salaryTemplateShowSet, setSalaryTemplateShowSet } } = this.props; let request = { ...salaryTemplateShowSet, ...params }; setSalaryTemplateShowSet(request); } // 工资单主题 插入变量 handleThemeNameCllck(param) { const { payrollStore } = this.props; const { salaryTemplateShowSet, setSalaryTemplateShowSet } = payrollStore; let request = { ...salaryTemplateShowSet }; request.theme = (request.theme ? request.theme : "") + param; setSalaryTemplateShowSet(request); } handleDownClick(index) { const { payrollStore: { salaryItemSet, setSalaryItemSet } } = this.props; let downItem = salaryItemSet[index + 1]; let thisItem = salaryItemSet[index]; let resultSet = [...salaryItemSet]; resultSet[index] = downItem; resultSet[index + 1] = thisItem; setSalaryItemSet(resultSet); } handleUpClick(index) { const { payrollStore: { salaryItemSet, setSalaryItemSet } } = this.props; let upItem = salaryItemSet[index - 1]; let thisItem = salaryItemSet[index]; let resultSet = [...salaryItemSet]; resultSet[index] = upItem; resultSet[index - 1] = thisItem; setSalaryItemSet(resultSet); } handleDeleteItem(group, item) { const { payrollStore: { salaryItemSet, setSalaryItemSet } } = this.props; console.log("item:", item); let resultSalaryItemSet = [...salaryItemSet]; resultSalaryItemSet.map(sourceGroup => { if (sourceGroup.id == group.id) { sourceGroup.items.map((sourceItem, index) => { if (sourceItem.id == item.id) { sourceGroup.items.splice(index, 1); } }); } }); setSalaryItemSet(resultSalaryItemSet); } handleDeleteClick(index) { Modal.confirm({ title: "信息确认", content: "确认删除", onOk: () => { const { payrollStore: { salaryItemSet, setSalaryItemSet } } = this.props; let resultSalaryItemSet = [...salaryItemSet]; resultSalaryItemSet.splice(index, 1); setSalaryItemSet(resultSalaryItemSet); }, onCancel: () => { } }); } render() { const { payrollStore } = this.props; const { salaryTemplateShowSet } = payrollStore; const { salaryItemSet } = payrollStore; const { theme, background, textContent, textContentPosition, salaryItemNullStatus, salaryItemZeroStatus } = salaryTemplateShowSet; return (
{ this.handleChange({ theme: value }); }}/> 插入变量: { this.handleThemeNameCllck("${companyName}"); }} className="themeFormalStr" style={{ marginRight: "10px" }}>公司名称 { this.handleThemeNameCllck("${salaryMonth}"); }} className="themeFormalStr">薪资所属月 { this.handleChange({ background: value }); }}/> { this.handleChange({ textContent: value }); }}/> { this.handleChange({ textContentPosition: e.target.value }); }}> 薪资项目前 薪资项目后 { this.handleChange({ salaryItemNullStatus: value }); }}/> { this.handleChange({ salaryItemZeroStatus: value }); }}/> { salaryItemSet.map((group, index) => (
{group.groupName} { index < salaryItemSet.length - 1 && { this.handleDownClick(index); }} /> } { index > 0 && { this.handleUpClick(index); }} /> } { this.handleDeleteClick(index); }} />
{group.items.map(item => ( {item.name} { this.handleDeleteItem(group, item); }} /> ))}
)) }
); } }