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 { WeaTextarea, WeaInput } from 'ecCom'
import { inject, observer } from 'mobx-react';
import ValidRuleEditModal from '../ledger/step5/ValidRuleEditModal';
@inject('salaryItemStore')
@observer
@ -60,11 +61,31 @@ export default class FormalFormModal extends React.Component {
// 多行文本编辑
handleChange(value) {
if(value && value.trim() == "") {
this.parameters = []
}
this.setState({
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) {
const { salaryItemStore } = this.props;
@ -85,7 +106,7 @@ export default class FormalFormModal extends React.Component {
handleSave() {
const { salaryItemStore } = this.props;
const { saveFormual } = salaryItemStore
this.parameters = this.parameters.filter(item => this.state.value.indexOf(item.name) > -1)
let params = {
name:'公式1',
description:'备注',
@ -131,6 +152,7 @@ export default class FormalFormModal extends React.Component {
const { value } = this.state;
return (
<Modal title="函数公式" visible={this.props.visible}
maskClosable={false}
width={800}
footer={
<Button type="primary" onClick={() => {this.handleSave()}}>保存</Button>
@ -143,6 +165,7 @@ export default class FormalFormModal extends React.Component {
}
<div>
<WeaTextarea
ref={(input) => this.contentProps = input}
minRows={8}
maxRows={8}
value={value} onChange={(value) => this.handleChange(value)}

View File

@ -2,7 +2,7 @@ import React from 'react';
import { inject, observer } from 'mobx-react';
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 { WeaTable, WeaSlideModal, WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaInputSearch } from 'ecCom';
@ -67,6 +67,20 @@ export default class SalaryItem extends React.Component {
setEditSlideVisible(true)
}
// 删除列表项
handleDeleteItem() {
const { salaryItemStore: {deleteItemRequest}} = this.props;
Modal.confirm({
title: '信息确认',
content: '确认删除',
onOk:() => {
deleteItemRequest([record.id])
},
onCancel: () => {
},
});
}
// 增加编辑功能重写columns绑定事件
getColumns = () => {
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
}
onOperatesClick = (record, index, operate, flag) => {
// onOperatesClick = (record, index, operate, flag) => {
switch(operate.index.toString()){
case '0': // 编辑
this.onEditItem(record, true);
break;
case "1": // 删除
const { salaryItemStore: {deleteItemRequest}} = this.props;
deleteItemRequest([record.id])
break;
}
};
// switch(operate.index.toString()){
// case '0': // 编辑
// this.onEditItem(record, true);
// break;
// case "1": // 删除
// break;
// }
// };
handleSearch(value) {
@ -199,9 +236,14 @@ export default class SalaryItem extends React.Component {
}
// 新建和修改保存的回调
const handleSlideSave = (continueFlag) => {
const { salaryItemStore: {saveItem, request}} = this.props;
saveItem(request, continueFlag);
if(this.state.editable) { // 修改
saveItem(request, continueFlag, this.searchParams);
} else { // 新建
saveItem(request, continueFlag)
}
}
const renderCustomOperate = () => {
@ -289,7 +331,7 @@ export default class SalaryItem extends React.Component {
title={
<SlideModalTitle
subtitle={"新建自定义薪资项目"}
subtitle={(this.state.editable ? "修改" : "新建") + "自定义薪资项目"}
editable={false}
customOperate={renderCustomOperate()}
subItemChange={

View File

@ -9,22 +9,44 @@ const WeaTable = WeaTableNew.WeaTable;
@inject('salaryItemStore')
@observer
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() {
const { salaryItemStore } = this.props;
const { sysListTableStore } = salaryItemStore
const { searchValue } = this.state;
const handleAdd = () => {
const { salaryItemStore: { saveSysItem } } = this.props;
saveSysItem();
}
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'}}>
<span style={{marginLeft: "10px", fontSize: '14px'}}>添加系统薪资项目</span>
<div style={{float: "right", marginRight: "40px"}}>
<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 style={{margin: "10px"}}>

View File

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

View File

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