This commit is contained in:
MustangDeng 2022-05-06 10:11:45 +08:00
parent e4e4f791eb
commit b573e6edf6
5 changed files with 108 additions and 23 deletions

View File

@ -2,6 +2,7 @@ import React from 'react'
import {Modal, Button, Icon } from 'antd' import {Modal, Button, Icon } from 'antd'
import { WeaTextarea, WeaInput } from 'ecCom' import { WeaTextarea, WeaInput } from 'ecCom'
import { inject, observer } from 'mobx-react'; import { inject, observer } from 'mobx-react';
import ValidRuleEditModal from '../ledger/step5/ValidRuleEditModal';
@inject('salaryItemStore') @inject('salaryItemStore')
@observer @observer
@ -60,11 +61,31 @@ export default class FormalFormModal extends React.Component {
// 多行文本编辑 // 多行文本编辑
handleChange(value) { handleChange(value) {
if(value && value.trim() == "") {
this.parameters = []
}
this.setState({ this.setState({
value value
}) })
} }
// 获取光标位置
getPositionForTextArea(ctrl) {
let CaretPos = {
start:0,
end:0
};
if (ctrl.selectionStart) {// Firefox support
CaretPos.start = ctrl.selectionStart;
}
if(ctrl.selectionEnd){
CaretPos.end = ctrl.selectionEnd
}
return (CaretPos);
}
// 分组项被点击 // 分组项被点击
handleItemClick(item) { handleItemClick(item) {
const { salaryItemStore } = this.props; const { salaryItemStore } = this.props;
@ -85,7 +106,7 @@ export default class FormalFormModal extends React.Component {
handleSave() { handleSave() {
const { salaryItemStore } = this.props; const { salaryItemStore } = this.props;
const { saveFormual } = salaryItemStore const { saveFormual } = salaryItemStore
this.parameters = this.parameters.filter(item => this.state.value.indexOf(item.name) > -1)
let params = { let params = {
name:'公式1', name:'公式1',
description:'备注', description:'备注',
@ -131,6 +152,7 @@ export default class FormalFormModal extends React.Component {
const { value } = this.state; const { value } = this.state;
return ( return (
<Modal title="函数公式" visible={this.props.visible} <Modal title="函数公式" visible={this.props.visible}
maskClosable={false}
width={800} width={800}
footer={ footer={
<Button type="primary" onClick={() => {this.handleSave()}}>保存</Button> <Button type="primary" onClick={() => {this.handleSave()}}>保存</Button>
@ -143,6 +165,7 @@ export default class FormalFormModal extends React.Component {
} }
<div> <div>
<WeaTextarea <WeaTextarea
ref={(input) => this.contentProps = input}
minRows={8} minRows={8}
maxRows={8} maxRows={8}
value={value} onChange={(value) => this.handleChange(value)} value={value} onChange={(value) => this.handleChange(value)}

View File

@ -2,7 +2,7 @@ import React from 'react';
import { inject, observer } from 'mobx-react'; import { inject, observer } from 'mobx-react';
import { toJS } from 'mobx'; import { toJS } from 'mobx';
import { Button, Table, DatePicker, Switch, Menu, Dropdown } from 'antd'; import { Button, Table, DatePicker, Switch, Menu, Dropdown, Modal } from 'antd';
// import { WeaTableNew } from "comsMobx" // import { WeaTableNew } from "comsMobx"
import { WeaTable, WeaSlideModal, WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaInputSearch } from 'ecCom'; import { WeaTable, WeaSlideModal, WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaInputSearch } from 'ecCom';
@ -67,6 +67,20 @@ export default class SalaryItem extends React.Component {
setEditSlideVisible(true) setEditSlideVisible(true)
} }
// 删除列表项
handleDeleteItem() {
const { salaryItemStore: {deleteItemRequest}} = this.props;
Modal.confirm({
title: '信息确认',
content: '确认删除',
onOk:() => {
deleteItemRequest([record.id])
},
onCancel: () => {
},
});
}
// 增加编辑功能重写columns绑定事件 // 增加编辑功能重写columns绑定事件
getColumns = () => { getColumns = () => {
const { salaryItemStore } = this.props; const { salaryItemStore } = this.props;
@ -97,22 +111,45 @@ export default class SalaryItem extends React.Component {
) )
} }
}) })
columns.push({
title : '',
key: "moreOperate",
dataIndex: "moreOperate",
render: (text, record) => {
return (
<Dropdown overlay={<Menu>
<Menu.Item>
<a onClick={() => {
this.handleDeleteItem()
}}>删除</a>
</Menu.Item>
</Menu>}>
<i className="icon-coms-more"></i>
</Dropdown>
);
}
})
return columns return columns
} }
onOperatesClick = (record, index, operate, flag) => { // onOperatesClick = (record, index, operate, flag) => {
switch(operate.index.toString()){ // switch(operate.index.toString()){
case '0': // 编辑 // case '0': // 编辑
this.onEditItem(record, true); // this.onEditItem(record, true);
break; // break;
case "1": // 删除 // case "1": // 删除
const { salaryItemStore: {deleteItemRequest}} = this.props;
deleteItemRequest([record.id]) // break;
break; // }
} // };
};
handleSearch(value) { handleSearch(value) {
@ -199,9 +236,14 @@ export default class SalaryItem extends React.Component {
} }
// 新建和修改保存的回调
const handleSlideSave = (continueFlag) => { const handleSlideSave = (continueFlag) => {
const { salaryItemStore: {saveItem, request}} = this.props; const { salaryItemStore: {saveItem, request}} = this.props;
saveItem(request, continueFlag); if(this.state.editable) { // 修改
saveItem(request, continueFlag, this.searchParams);
} else { // 新建
saveItem(request, continueFlag)
}
} }
const renderCustomOperate = () => { const renderCustomOperate = () => {
@ -289,7 +331,7 @@ export default class SalaryItem extends React.Component {
title={ title={
<SlideModalTitle <SlideModalTitle
subtitle={"新建自定义薪资项目"} subtitle={(this.state.editable ? "修改" : "新建") + "自定义薪资项目"}
editable={false} editable={false}
customOperate={renderCustomOperate()} customOperate={renderCustomOperate()}
subItemChange={ subItemChange={

View File

@ -9,22 +9,44 @@ const WeaTable = WeaTableNew.WeaTable;
@inject('salaryItemStore') @inject('salaryItemStore')
@observer @observer
export default class SystemSalaryItemModal extends React.Component { export default class SystemSalaryItemModal extends React.Component {
constructor(props) {
super(props);
this.state = {
searchValue: ""
}
}
// 搜索改变事件
handleSearchChange(value) {
this.setState({searchValue: value})
}
// 搜索
handleSearch(value) {
const { salaryItemStore } = this.props;
const { getSysItemList } = salaryItemStore
getSysItemList({name: value})
}
render() { render() {
const { salaryItemStore } = this.props; const { salaryItemStore } = this.props;
const { sysListTableStore } = salaryItemStore const { sysListTableStore } = salaryItemStore
const { searchValue } = this.state;
const handleAdd = () => { const handleAdd = () => {
const { salaryItemStore: { saveSysItem } } = this.props; const { salaryItemStore: { saveSysItem } } = this.props;
saveSysItem(); saveSysItem();
} }
return ( return (
<Modal visible={this.props.visible} onCancel={() => {this.props.onCancel()}} width={800}> <Modal footer={null} visible={this.props.visible} onCancel={() => {this.props.onCancel()}} width={800}>
<div style={{height: "47px", lineHeight: '47px'}}> <div style={{height: "47px", lineHeight: '47px'}}>
<span style={{marginLeft: "10px", fontSize: '14px'}}>添加系统薪资项目</span> <span style={{marginLeft: "10px", fontSize: '14px'}}>添加系统薪资项目</span>
<div style={{float: "right", marginRight: "40px"}}> <div style={{float: "right", marginRight: "40px"}}>
<Button type="primary" style={{marginRight: '10px'}} onClick={() => {handleAdd()}}>添加</Button> <Button type="primary" style={{marginRight: '10px'}} onClick={() => {handleAdd()}}>添加</Button>
<WeaInputSearch /> <WeaInputSearch value={searchValue} onChange={(value) => {this.handleSearchChange(value)}} onSearch={(value) => {
this.handleSearch(value)
}}/>
</div> </div>
</div> </div>
<div style={{margin: "10px"}}> <div style={{margin: "10px"}}>

View File

@ -59,9 +59,6 @@ export class ProgrammeStore {
this.defaultCompanyDataSource = []; this.defaultCompanyDataSource = [];
} }
@action
setCustomSelectkey = customSelectkey => this.customSelectkey = customSelectkey;
@action @action
setSelectedKey = selectedKey => this.selectedKey = selectedKey; setSelectedKey = selectedKey => this.selectedKey = selectedKey;
@ -169,7 +166,7 @@ export class ProgrammeStore {
API.createScheme(params).then(res => { API.createScheme(params).then(res => {
if(res.status) { if(res.status) {
message.success("新建成功"); message.success("新建成功");
this.getTableDatas(); this.getTableDatas(this.selectedKey);
} else { } else {
message.error(res.errormsg || "新建失败") message.error(res.errormsg || "新建失败")
} }

View File

@ -234,7 +234,8 @@ export class SalaryItemStore {
//薪资项目-新增薪资项目 //薪资项目-新增薪资项目
@action @action
saveItem = (params, continueFlag) => { saveItem = (params, continueFlag, searchParams = {}) => {
if(!this.validateForm(params)) { if(!this.validateForm(params)) {
return return
} }
@ -244,7 +245,7 @@ export class SalaryItemStore {
this.editSlideVisible = false; this.editSlideVisible = false;
} }
this.initRequest(); this.initRequest();
this.getTableDatas({}); this.getTableDatas(searchParams);
message.success("保存成功") message.success("保存成功")
} else { } else {
message.error(res.errormsg || "保存失败") message.error(res.errormsg || "保存失败")