feature/2.15.1.2407.01-薪资项目以及字段管理页面改造
This commit is contained in:
parent
efa75925ad
commit
fd067b653f
|
|
@ -145,13 +145,14 @@ export const salaryItemConditions = [
|
|||
viewAttr: 3
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
conditionType: "INPUTNUMBER",
|
||||
domkey: ["defaultValue"],
|
||||
fieldcol: 14,
|
||||
label: "默认值",
|
||||
lanId: 111,
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
otherParams: { precision: 2 },
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
|
|
@ -162,7 +163,19 @@ export const salaryItemConditions = [
|
|||
lanId: 111,
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
viewAttr: 1
|
||||
viewAttr: 3,
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
conditionType: "INPUT",
|
||||
domkey: ["formulaId"],
|
||||
fieldcol: 14,
|
||||
label: "公式",
|
||||
lanId: 111,
|
||||
labelcol: 8,
|
||||
value: "",
|
||||
viewAttr: 3,
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
conditionType: "INPUTNUMBER",
|
||||
|
|
@ -194,6 +207,31 @@ export const salaryItemConditions = [
|
|||
value: "",
|
||||
viewAttr: 2,
|
||||
otherParams: { minRows: 3 }
|
||||
},
|
||||
{
|
||||
conditionType: "SWITCH",
|
||||
domkey: ["useInEmployeeSalary"],
|
||||
fieldcol: 14,
|
||||
label: "薪资档案引用",
|
||||
lanId: 111,
|
||||
labelcol: 8,
|
||||
value: "0",
|
||||
viewAttr: 2,
|
||||
tipLanId: 111,
|
||||
tip: "提示:开启后,该薪资项目不可删除或设为无效,取值方式会默认置为输入",
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
|
||||
conditionType: "SWITCH",
|
||||
domkey: ["systemType"],
|
||||
fieldcol: 14,
|
||||
label: "是否系统默认",
|
||||
lanId: 111,
|
||||
labelcol: 8,
|
||||
value: "0",
|
||||
viewAttr: 2,
|
||||
hide: true
|
||||
}
|
||||
],
|
||||
title: "",
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ import React from "react";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { WeaFormItem, WeaHelpfulTip, WeaLocaleProvider, WeaSearchGroup, WeaSlideModal, WeaTools } from "ecCom";
|
||||
import { WeaSwitch } from "comsMobx";
|
||||
import FormalFormModal from "./formalFormModal";
|
||||
import { salaryItemConditions } from "./columns";
|
||||
import { commonEnumList } from "../../apis/archive";
|
||||
import { postFetch } from "../../util/request";
|
||||
import { getItemForm } from "../../apis/item";
|
||||
|
||||
// import FormalFormModal from "./formalFormModal";
|
||||
// import SalaryItemForm from "./salaryItemForm";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
|
@ -19,11 +19,7 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
conditions: [],
|
||||
|
||||
showForm: false,
|
||||
formalModalVisible: false,
|
||||
salaryItemName: ""
|
||||
conditions: [], visible: false
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -37,20 +33,16 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
handleChange = (params) => {
|
||||
this.props.onChange({ ...this.props.request, ...params });
|
||||
handleChange = (data) => {
|
||||
const { salaryItemStore: { itemsForm: form } } = this.props;
|
||||
form.updateFields({ formulaContent: { value: data["formula"] }, formulaId: { value: data["id"] } });
|
||||
};
|
||||
|
||||
handleShowFormal = (salaryItemName) => {
|
||||
this.setState({
|
||||
formalModalVisible: true,
|
||||
salaryItemName
|
||||
});
|
||||
};
|
||||
|
||||
initForm = async (props) => {
|
||||
const { data: salaryItemForm } = props.id ?
|
||||
await getItemForm({ id: props.id }) : { data: { sharedType: "0", useDefault: "0", hideDefault: "0" } };
|
||||
await getItemForm({ id: props.id }) :
|
||||
{
|
||||
data: { sharedType: "0", useDefault: "0", hideDefault: "0", pattern: 2, dataType: "number", valueType: "1" }
|
||||
};
|
||||
const [{ data: sharedTypeList }, { data: taxAgentList }] = await Promise.all([
|
||||
commonEnumList({ enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" }),
|
||||
postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "ADMIN_DATA" })
|
||||
|
|
@ -71,16 +63,41 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
break;
|
||||
case "taxAgentIds":
|
||||
fields = {
|
||||
...fields, options: _.map(taxAgentList, o => ({ key: String(o.id), showname: o.name }))
|
||||
...fields, options: _.map(taxAgentList, o => ({ key: String(o.id), showname: o.name })),
|
||||
hide: String(salaryItemForm["sharedType"]) === "0" || !_.isNil(salaryItemForm["sharedType"])
|
||||
};
|
||||
break;
|
||||
case "dataType":
|
||||
case "valueType":
|
||||
case "roundingMode":
|
||||
fields = {
|
||||
...fields, options: _.map(fields.options, o => ({ ...o, showname: getLabel(o.lanId, o.showname) }))
|
||||
};
|
||||
break;
|
||||
case "roundingMode":
|
||||
fields = {
|
||||
...fields, options: _.map(fields.options, o => ({ ...o, showname: getLabel(o.lanId, o.showname) })),
|
||||
hide: String(salaryItemForm["dataType"]) === "string"
|
||||
};
|
||||
break;
|
||||
case "pattern":
|
||||
fields = {
|
||||
...fields, hide: String(salaryItemForm["dataType"]) === "string"
|
||||
};
|
||||
break;
|
||||
case "defaultValue":
|
||||
const otherParams = String(salaryItemForm["dataType"]) === "number" ? { precision: Number(salaryItemForm["pattern"]) } : {};
|
||||
fields = {
|
||||
...fields, otherParams,
|
||||
conditionType: String(salaryItemForm["dataType"]) === "string" ? "INPUT" : "INPUTNUMBER",
|
||||
hide: String(salaryItemForm["valueType"]) !== "1"
|
||||
};
|
||||
break;
|
||||
case "formulaContent":
|
||||
fields = {
|
||||
...fields, hide: String(salaryItemForm["valueType"]) === "1",
|
||||
label: String(salaryItemForm["valueType"]) === "2" ? getLabel(111, "公式") : getLabel(111, "SQL")
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -93,20 +110,38 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
});
|
||||
};
|
||||
handleChangeFormItem = (res) => {
|
||||
const { salaryItemStore: { itemsForm: form } } = this.props;
|
||||
const { conditions } = this.state, [key] = _.keys(res), value = res[key].value;
|
||||
this.setState({
|
||||
conditions: _.map(conditions, c => {
|
||||
return {
|
||||
...c, items: _.map(c.items, fields => {
|
||||
if (key === "sharedType" && getKey(fields) === "taxAgentIds") {
|
||||
fields = { ...fields, viewAttr: value === "0" ? 2 : 3, hide: value === "0" };
|
||||
} else if (key === "dataType" && (getKey(fields) === "roundingMode" || getKey(fields) === "pattern")) {
|
||||
fields = { ...fields, hide: value === "string" };
|
||||
} else if ((key === "dataType" || key === "pattern") && getKey(fields) === "defaultValue") {
|
||||
const otherParams = form.getFormParams().dataType === "number" ? { precision: Number(form.getFormParams().pattern) } : {};
|
||||
fields = {
|
||||
...fields, viewAttr: value === "0" ? 2 : 3, hide: value === "0"
|
||||
...fields, otherParams, conditionType: value === "string" ? "INPUT" : "INPUTNUMBER",
|
||||
hide: form.getFormParams().valueType !== "1"
|
||||
};
|
||||
} else if (key === "valueType" && (getKey(fields) === "formulaContent" || getKey(fields) === "defaultValue")) {
|
||||
fields = {
|
||||
...fields,
|
||||
label: getKey(fields) === "defaultValue" ? fields.label : form.getFormDatas().valueType.valueSpan,
|
||||
hide: (getKey(fields) === "formulaContent" && value === "1") || (getKey(fields) === "defaultValue" && value !== "1")
|
||||
};
|
||||
}
|
||||
return fields;
|
||||
})
|
||||
};
|
||||
})
|
||||
}, () => {
|
||||
form.getFormParams().valueType === "1" &&
|
||||
form.updateFields({ formulaContent: { value: "" }, formulaId: { value: "" } });
|
||||
(form.getFormParams().valueType === "2" || form.getFormParams().valueType === "3") &&
|
||||
form.updateFields({ defaultValue: { value: "" } });
|
||||
});
|
||||
};
|
||||
renderForm = () => {
|
||||
|
|
@ -121,6 +156,10 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
<WeaFormItem label={`${fields.label}`} labelCol={{ span: `${fields.labelcol}` }}
|
||||
wrapperCol={{ span: `${fields.fieldcol}` }} error={form.getError(fields)} tipPosition="bottom">
|
||||
<WeaSwitch fieldConfig={fields} form={form} formParams={formParams} onChange={this.handleChangeFormItem}/>
|
||||
{
|
||||
getKey(fields) === "formulaContent" && form.getFormParams().valueType !== "1" &&
|
||||
<div className="formula_input_div" onClick={() => this.setState({ visible: true })}/>
|
||||
}
|
||||
{
|
||||
fields.tip && <WeaHelpfulTip
|
||||
style={{ marginLeft: 16 }} width={350} title={getLabel(fields.tipLanId, fields.tip)}
|
||||
|
|
@ -146,33 +185,30 @@ export default class CustomSalaryItemSlide extends React.Component {
|
|||
};
|
||||
|
||||
render() {
|
||||
const { request, onClose } = this.props;
|
||||
const { onClose, salaryItemStore: { itemsForm: form } } = this.props;
|
||||
// const { valueType, dataType, formulaId } = request;
|
||||
// const { formalModalVisible, salaryItemName } = this.state;
|
||||
const { visible, salaryItemName } = this.state;
|
||||
return (<WeaSlideModal
|
||||
className="custom_salaryItemSlide"{...this.props}
|
||||
top={0} width={800} height={100} measureT="%" measureX="px" measureY="%"
|
||||
direction="right" title={this.renderTitle()} onClose={() => onClose()}
|
||||
content={<div className="form-dialog-layout">{this.renderForm()}</div>}/>
|
||||
content={<div className="form-dialog-layout">
|
||||
{this.renderForm()}
|
||||
{visible &&
|
||||
<FormalFormModal
|
||||
formulaId={form.getFormParams().formulaId}
|
||||
visible={visible}
|
||||
name={form.getFormParams().name}
|
||||
valueType={form.getFormParams().valueType}
|
||||
dataType={form.getFormParams().dataType}
|
||||
onSaveFormal={this.handleChange}
|
||||
onCancel={() => this.setState({ visible: false })}
|
||||
/>
|
||||
}
|
||||
</div>}/>
|
||||
|
||||
// <div className="customSalaryItemSlide">
|
||||
// <SalaryItemForm {...this.props} onChangeFieldsItem={this.handleChange} onShowFormal={this.handleShowFormal}/>
|
||||
// {formalModalVisible &&
|
||||
// <FormalFormModal
|
||||
// name={salaryItemName}
|
||||
// formulaId={formulaId}
|
||||
// visible={formalModalVisible}
|
||||
// valueType={valueType}
|
||||
// dataType={dataType}
|
||||
// onSaveFormal={data => {
|
||||
// this.handleSaveFormal(data);
|
||||
// }}
|
||||
// onCancel={() =>
|
||||
// this.setState({
|
||||
// formalModalVisible: false,
|
||||
// salaryItemName: ""
|
||||
// })}
|
||||
// />}
|
||||
// </div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { Button, Dropdown, Menu, message, Modal, Switch } from "antd";
|
||||
import { Button, Dropdown, Menu, message, Modal } from "antd";
|
||||
import { WeaInputSearch, WeaLocaleProvider, WeaTop } from "ecCom";
|
||||
import * as API from "../../apis/item";
|
||||
import SalaryItemsTable from "./salaryItemsTable";
|
||||
|
|
@ -69,9 +69,10 @@ export default class SalaryItem extends React.Component {
|
|||
});
|
||||
};
|
||||
|
||||
handleDeleteItem = () => {
|
||||
handleDeleteItem = (recordId) => {
|
||||
const { selectedRowKeys, isQuery } = this.state;
|
||||
if (_.isEmpty(selectedRowKeys)) {
|
||||
const params = recordId ? [recordId] : selectedRowKeys;
|
||||
if (_.isEmpty(params)) {
|
||||
message.warning(getLabel(111, "请勾选数据!"));
|
||||
return;
|
||||
}
|
||||
|
|
@ -79,7 +80,7 @@ export default class SalaryItem extends React.Component {
|
|||
title: getLabel(131329, "信息确认"),
|
||||
content: getLabel(111, "确认删除吗?"),
|
||||
onOk: () => {
|
||||
API.deleteItem(selectedRowKeys).then(({ status, errormsg }) => {
|
||||
API.deleteItem(params).then(({ status, errormsg }) => {
|
||||
if (status) {
|
||||
message.success(getLabel(111, "操作成功!"));
|
||||
this.setState({ isQuery: !isQuery });
|
||||
|
|
@ -87,118 +88,56 @@ export default class SalaryItem extends React.Component {
|
|||
message.error(errormsg);
|
||||
}
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
getColumns = () => {
|
||||
const { salaryItemStore, taxAgentStore: { showSalaryItemBtn, showOperateBtn } } = this.props;
|
||||
const { tableColumns } = salaryItemStore;
|
||||
let columns = tableColumns.map(column => {
|
||||
let newColumn = column;
|
||||
newColumn.render = (text, record, index) => { //前端元素转义
|
||||
let valueSpan = record[newColumn.dataIndex + "span"] !== undefined ? record[newColumn.dataIndex + "span"] : record[newColumn.dataIndex];
|
||||
switch (newColumn.dataIndex) {
|
||||
case "name":
|
||||
return <a onClick={() => {
|
||||
this.onEditItem(record, false);
|
||||
}}>{text}</a>;
|
||||
case "useDefault":
|
||||
case "hideDefault":
|
||||
case "useInEmployeeSalary":
|
||||
return <Switch checked={text === 1} disabled/>;
|
||||
default:
|
||||
return <div dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
||||
}
|
||||
};
|
||||
return newColumn;
|
||||
handleValidateForm = () => {
|
||||
return new Promise((resolve) => {
|
||||
const { salaryItemStore: { itemsForm: form } } = this.props;
|
||||
const { formulaId, valueType, sharedType, taxAgentIds } = form.getFormParams();
|
||||
let taxAgentValidate = true, formulaValidate = true;
|
||||
if (sharedType === "1" && !taxAgentIds) taxAgentValidate = false;
|
||||
if (valueType !== "1" && !formulaId) formulaValidate = false;
|
||||
resolve({ taxAgentValidate, formulaValidate });
|
||||
});
|
||||
columns.push({
|
||||
key: "operate",
|
||||
title: "操作",
|
||||
width: 185,
|
||||
render: (text, record) => {
|
||||
return (
|
||||
<React.Fragment>
|
||||
<a
|
||||
onClick={() => this.onEditItem(record, true)}>{(showSalaryItemBtn || showOperateBtn) ? "编辑" : "查看"}</a>
|
||||
{
|
||||
(record.canDelete && (showSalaryItemBtn || showOperateBtn)) &&
|
||||
<a href="javascript:void(0)" style={{ marginLeft: 10 }}
|
||||
onClick={() => this.handleDeleteItem(record)}
|
||||
>{getLabel(535052, "删除")}</a>
|
||||
}
|
||||
<Dropdown
|
||||
overlay={
|
||||
<Menu>
|
||||
<Menu.Item>
|
||||
<a href="javascript:void(0);"
|
||||
onClick={() => this.onDropMenuClick("log", record.id)}>{getLabel(545781, "操作日志")}</a>
|
||||
</Menu.Item>
|
||||
</Menu>
|
||||
}>
|
||||
<a href="javascript:void(0)" style={{ marginLeft: 10 }}><i className="icon-coms-more"/></a>
|
||||
</Dropdown>
|
||||
</React.Fragment>
|
||||
);
|
||||
}
|
||||
});
|
||||
return [
|
||||
// {
|
||||
// title: "序号",
|
||||
// dataIndex: "index",
|
||||
// align: "left",
|
||||
// width: 60,
|
||||
// render: (text, record, index) => {
|
||||
// const { current, pageSize } = this.state.searchParams;
|
||||
// return (current - 1) * pageSize + index + 1;
|
||||
// }
|
||||
// },
|
||||
...columns];
|
||||
};
|
||||
|
||||
handleSearch(value) {
|
||||
const { salaryItemStore: { getTableDatas } } = this.props;
|
||||
getTableDatas({ ...this.state.searchParams, current: 1, name: value }).then(res => {
|
||||
this.setState({
|
||||
searchParams: {
|
||||
...this.state.searchParams,
|
||||
current: 1,
|
||||
total: res.total
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
handlePageChange(value) {
|
||||
const { salaryItemStore: { getTableDatas } } = this.props;
|
||||
getTableDatas({ ...this.state.searchParams, name: this.state.searchValue, current: value }).then(res => {
|
||||
this.setState({
|
||||
searchParams: {
|
||||
...this.state.searchParams,
|
||||
current: value,
|
||||
total: res.total
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
handleShowSizeChange(searchParams) {
|
||||
const { salaryItemStore: { getTableDatas } } = this.props;
|
||||
getTableDatas({ ...searchParams });
|
||||
}
|
||||
|
||||
handleSalaryItem = (type) => {
|
||||
const { customItemDialog: { id }, isQuery } = this.state;
|
||||
const { salaryItemStore: { itemsForm: form } } = this.props;
|
||||
form.validateForm().then(f => {
|
||||
if (f.isValid) {
|
||||
console.log(form.getFormParams());
|
||||
} else {
|
||||
f.showErrors();
|
||||
}
|
||||
});
|
||||
Promise.all([form.validateForm(), this.handleValidateForm()])
|
||||
.then(([f1, f2]) => {
|
||||
if (f1.isValid && f2.taxAgentValidate && f2.formulaValidate) {
|
||||
const { formulaContent, valueType, dataType, defaultValue, pattern, ...formData } = form.getFormParams();
|
||||
const key = valueType === "2" ? "originFormulaContent" : valueType === "3" ? "originSqlContent" : "formulaContent";
|
||||
this.setState({ loading: true });
|
||||
API.saveItem({
|
||||
...formData, valueType, dataType, pattern, [key]: formulaContent, id,
|
||||
defaultValue: dataType === "number" ? toDecimal_n(defaultValue, parseInt(pattern)) : defaultValue
|
||||
}).then(({ status, errormsg }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
this.setState({ isQuery: !isQuery }, () => {
|
||||
message.success(getLabel(111, "操作成功"));
|
||||
type === "SAVECREATE" && form.updateFields({
|
||||
name: { value: "" }, formulaContent: { value: "" }, formulaId: { value: "" }
|
||||
});
|
||||
type !== "SAVECREATE" && this.setState({
|
||||
customItemDialog: { ...this.state.customItemDialog, visible: false, id: "" }
|
||||
});
|
||||
});
|
||||
|
||||
} else {
|
||||
message.error(errormsg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
!f1.isValid && f1.showErrors();
|
||||
!f2.taxAgentValidate && f1.showError("taxAgentIds", getLabel(111, "\"可见性范围\"未填写"));
|
||||
!f2.formulaValidate && f1.showError("formulaId", getLabel(111, `\"${form.getFormDatas().valueType.valueSpan}\"未填写`));
|
||||
this.forceUpdate();
|
||||
}
|
||||
});
|
||||
};
|
||||
onDropMenuClick = (key, targetid = "") => {
|
||||
switch (key) {
|
||||
|
|
@ -229,6 +168,9 @@ export default class SalaryItem extends React.Component {
|
|||
}
|
||||
});
|
||||
break;
|
||||
case "delete":
|
||||
this.handleDeleteItem(targetid);
|
||||
break;
|
||||
case "sysAdd":
|
||||
break;
|
||||
default:
|
||||
|
|
@ -274,7 +216,7 @@ export default class SalaryItem extends React.Component {
|
|||
let buttons = [
|
||||
<Dropdown.Button overlay={menu} type="primary"
|
||||
onClick={() => this.onDropMenuClick("customAdd")}>{getLabel(111, "新增自定义薪资项")}</Dropdown.Button>,
|
||||
<Button type="ghost" onClick={this.handleDeleteItem}>{getLabel(32136, "批量删除")}</Button>,
|
||||
<Button type="ghost" onClick={() => this.handleDeleteItem()}>{getLabel(32136, "批量删除")}</Button>,
|
||||
<WeaInputSearch value={name} onChange={val => this.setState({ name: val })}
|
||||
placeholder={getLabel(111, "请输入名称")} onSearch={() => this.setState({ isQuery: !isQuery })}/>
|
||||
];
|
||||
|
|
@ -390,7 +332,7 @@ export default class SalaryItem extends React.Component {
|
|||
{/*新增编辑自定义薪资项目*/}
|
||||
<CustomSalaryItemSlide {...customItemDialog} onSearch={() => this.setState({ isQuery: !isQuery })}
|
||||
onClose={callback => this.setState({
|
||||
customItemDialog: { ...customItemDialog, visible: false }
|
||||
customItemDialog: { ...customItemDialog, visible: false, id: "" }
|
||||
}, () => callback && callback())}/>
|
||||
{/*{*/}
|
||||
{/* editSlideVisible &&*/}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,16 @@
|
|||
|
||||
.wea-form-item-wrapper {
|
||||
display: block !important;
|
||||
|
||||
.formula_input_div {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { WeaCheckbox, WeaLocaleProvider, WeaTable } from "ecCom";
|
||||
import { Dropdown, Menu, message, Modal } from "antd";
|
||||
import { Dropdown, Menu } from "antd";
|
||||
import * as API from "../../apis/item";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
|
@ -54,24 +54,6 @@ class SalaryItemsTable extends Component {
|
|||
}
|
||||
});
|
||||
};
|
||||
handleDeleteItem = (record) => {
|
||||
Modal.confirm({
|
||||
title: getLabel(131329, "信息确认"),
|
||||
content: getLabel(111, "确认删除吗?"),
|
||||
onOk: () => {
|
||||
API.deleteItem(selectedRowKeys).then(({ status, errormsg }) => {
|
||||
if (status) {
|
||||
message.success(getLabel(111, "操作成功!"));
|
||||
this.getItemList(this.props);
|
||||
} else {
|
||||
message.error(errormsg);
|
||||
}
|
||||
});
|
||||
},
|
||||
onCancel: () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dataSource, columns, pageInfo, loading } = this.state;
|
||||
|
|
@ -111,7 +93,7 @@ class SalaryItemsTable extends Component {
|
|||
{
|
||||
(showOperateBtn || showSalaryItemBtn) && record.canDelete &&
|
||||
<a style={{ marginRight: 8 }} href="javascript:void(0);"
|
||||
onClick={() => this.handleDeleteItem(record)}>{getLabel(111, "删除")}</a>
|
||||
onClick={() => onDropMenuClick("delete", record.id)}>{getLabel(111, "删除")}</a>
|
||||
}
|
||||
<Dropdown overlay={
|
||||
<Menu>
|
||||
|
|
|
|||
Loading…
Reference in New Issue