2022-03-18 14:16:52 +08:00
|
|
|
|
import React from 'react'
|
|
|
|
|
|
import { Row, Col, Upload, Icon, Radio, Switch } from 'antd'
|
|
|
|
|
|
import { WeaInput } from 'ecCom'
|
2022-04-13 16:56:31 +08:00
|
|
|
|
import { inject, observer } from 'mobx-react';
|
|
|
|
|
|
import BackgroundUpload from '../components/backgroundUpload'
|
2022-04-14 19:32:57 +08:00
|
|
|
|
import RequiredLabelTip from '../../../components/requiredLabelTip';
|
2022-03-18 14:16:52 +08:00
|
|
|
|
|
|
|
|
|
|
const Dragger = Upload.Dragger;
|
|
|
|
|
|
|
2022-04-13 16:56:31 +08:00
|
|
|
|
@inject('payrollStore')
|
|
|
|
|
|
@observer
|
2022-03-18 14:16:52 +08:00
|
|
|
|
export default class ShowSettingForm extends React.Component {
|
2022-04-13 16:56:31 +08:00
|
|
|
|
|
|
|
|
|
|
componentWillMount() {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { initShowSettingForm } = payrollStore
|
|
|
|
|
|
initShowSettingForm(this.props.id)
|
|
|
|
|
|
}
|
|
|
|
|
|
// form 字段变化时的回调
|
|
|
|
|
|
handleChange(params) {
|
|
|
|
|
|
const { payrollStore: {salaryTemplateShowSet, setSalaryTemplateShowSet}} = this.props;
|
2022-04-14 19:32:57 +08:00
|
|
|
|
let request = {...salaryTemplateShowSet, ...params};
|
2022-04-13 16:56:31 +08:00
|
|
|
|
setSalaryTemplateShowSet(request);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 工资单主题 插入变量
|
|
|
|
|
|
handleThemeNameCllck(param) {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { salaryTemplateShowSet, setSalaryTemplateShowSet } = payrollStore;
|
|
|
|
|
|
let request= {...salaryTemplateShowSet};
|
|
|
|
|
|
request.theme = (request.theme ? request.theme : "") + param;
|
|
|
|
|
|
setSalaryTemplateShowSet(request);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-03-18 14:16:52 +08:00
|
|
|
|
render() {
|
2022-04-13 16:56:31 +08:00
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { salaryTemplateShowSet } = payrollStore;
|
|
|
|
|
|
const { salaryItemSet } = payrollStore
|
|
|
|
|
|
const { theme,
|
|
|
|
|
|
background,
|
|
|
|
|
|
textContent,
|
|
|
|
|
|
textContentPosition,
|
|
|
|
|
|
salaryItemNullStatus,
|
|
|
|
|
|
salaryItemZeroStatus
|
|
|
|
|
|
} = salaryTemplateShowSet
|
2022-03-18 14:16:52 +08:00
|
|
|
|
const dropProps = {
|
|
|
|
|
|
name: 'file',
|
2022-04-13 16:56:31 +08:00
|
|
|
|
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);
|
|
|
|
|
|
},
|
2022-03-18 14:16:52 +08:00
|
|
|
|
};
|
|
|
|
|
|
return (
|
|
|
|
|
|
<div className="showSettingForm">
|
|
|
|
|
|
<div className="settingItemWrapper">
|
|
|
|
|
|
<div className="itemTitle">主题及其他设置</div>
|
|
|
|
|
|
<div className="itemContent">
|
|
|
|
|
|
<Row className="formItem">
|
|
|
|
|
|
<Col span={12}>
|
|
|
|
|
|
<Row>
|
2022-04-14 19:32:57 +08:00
|
|
|
|
<Col span={8}>工资单主题<RequiredLabelTip /></Col>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
<Col span={16}>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<WeaInput style={{width: "200px"}} value={theme} onChange={(value) => {this.handleChange({theme:value})}}/>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
</Col>
|
|
|
|
|
|
<Col span={12}>
|
2022-06-07 09:08:36 +08:00
|
|
|
|
<span style={{float: "right"}}>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
插入变量:
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<a onClick={() => {this.handleThemeNameCllck("${companyName}")}} className="themeFormalStr">公司名称</a>
|
|
|
|
|
|
<a onClick={() => {this.handleThemeNameCllck("${salaryMonth}")}} className="themeFormalStr">薪资所属月</a>
|
2022-06-07 09:08:36 +08:00
|
|
|
|
</span>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
<Row className="formItem">
|
2022-04-18 09:31:06 +08:00
|
|
|
|
<Col span={4}>工资单背景</Col>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
<Col span={20}>
|
2022-04-14 19:32:57 +08:00
|
|
|
|
<BackgroundUpload imageUrl={background} onChange={(value) => {this.handleChange({background: value})}}/>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
{/* <Dragger {...dropProps} style={{width: "100px"}}>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
<div style={{ padding: '55px 0' }}>
|
|
|
|
|
|
<Icon type="plus" />
|
|
|
|
|
|
</div>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
</Dragger> */}
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
|
|
|
|
|
|
<Row className="formItem">
|
|
|
|
|
|
<Col span={4}>文本内容</Col>
|
|
|
|
|
|
<Col span={20}>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<WeaInput value={textContent} onChange={(value) => {this.handleChange({textContent: value})}}/>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<Row className="formItem">
|
|
|
|
|
|
<Col span={4}>文本内容位置</Col>
|
|
|
|
|
|
<Col span={20}>
|
|
|
|
|
|
<Radio.Group value={textContentPosition} onChange={(e) => {this.handleChange({textContentPosition: e.target.value})}}>
|
|
|
|
|
|
<Radio value={"1"}>薪资项目前</Radio>
|
|
|
|
|
|
<Radio value={"2"}>薪资项目后</Radio>
|
|
|
|
|
|
</Radio.Group>
|
|
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
|
|
|
|
|
|
<Row className="formItem">
|
|
|
|
|
|
<Col span={6}>薪资项为空时不显示</Col>
|
|
|
|
|
|
<Col span={18}>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<Switch checked={salaryItemNullStatus} onChange={(value) => {this.handleChange({salaryItemNullStatus: value})}}/>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
|
|
|
|
|
|
<Row className="formItem">
|
|
|
|
|
|
<Col span={6}>薪资项为0时不显示</Col>
|
|
|
|
|
|
<Col span={18}>
|
2022-04-13 16:56:31 +08:00
|
|
|
|
<Switch checked={salaryItemZeroStatus} onChange={(value) => {this.handleChange({salaryItemZeroStatus: value})}}/>
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</Col>
|
|
|
|
|
|
</Row>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div className="settingItemWrapper">
|
|
|
|
|
|
<div className="itemTitle">薪资项目设置</div>
|
|
|
|
|
|
<div className="itemContent">
|
2022-04-13 16:56:31 +08:00
|
|
|
|
{
|
|
|
|
|
|
salaryItemSet.map(group => (
|
|
|
|
|
|
<div className="configItemWrapper">
|
|
|
|
|
|
<div className="configTitle">{group.groupName}</div>
|
|
|
|
|
|
<div className="configContent">
|
|
|
|
|
|
{group.items.map(item => (
|
|
|
|
|
|
<span className="editItem">{item.name}</span>
|
|
|
|
|
|
))}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
))
|
|
|
|
|
|
}
|
2022-03-18 14:16:52 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|