import React from 'react' import { Row, Col, Upload, Icon, Radio, Switch, Modal } from 'antd' import { WeaInput, WeaDraggable } from 'ecCom' import { inject, observer } from 'mobx-react'; import BackgroundUpload from '../components/backgroundUpload' import RequiredLabelTip from '../../../components/requiredLabelTip'; const Dragger = Upload.Dragger; @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) } handleDrag(data1, data2) { console.log("data1:", data1); console.log("data2:", data2); } 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 const dropProps = { name: 'file', action: '/api/doc/upload/uploadFile', onChange(info) { const { status } = info.file; if (status !== 'uploading') { console.log(info.file, info.fileList); } if (status === 'done') { message.success(`${info.file.name} file uploaded successfully.`); } else if (status === 'error') { message.error(`${info.file.name} file upload failed.`); } }, onDrop(e) { console.log('Dropped files', e.dataTransfer.files); }, }; return (
主题及其他设置
工资单主题 {this.handleChange({theme:value})}}/> 插入变量: {this.handleThemeNameCllck("${companyName}")}} className="themeFormalStr">公司名称 {this.handleThemeNameCllck("${salaryMonth}")}} className="themeFormalStr">薪资所属月 工资单背景 {this.handleChange({background: value})}}/> {/*
*/}
文本内容 {this.handleChange({textContent: value})}}/> 文本内容位置 {this.handleChange({textContentPosition: e.target.value})}}> 薪资项目前 薪资项目后 薪资项为空时不显示 {this.handleChange({salaryItemNullStatus: value})}}/> 薪资项为0时不显示 {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)}}/> ))}
)) }
) } }