2022-06-21 14:27:16 +08:00
|
|
|
|
import React from "react";
|
|
|
|
|
|
import { inject, observer } from "mobx-react";
|
|
|
|
|
|
import { Radio, Spin } from "antd";
|
|
|
|
|
|
import { WeaTableNew } from "comsMobx";
|
2022-12-02 14:27:39 +08:00
|
|
|
|
|
2022-04-13 16:56:31 +08:00
|
|
|
|
const WeaTable = WeaTableNew.WeaTable;
|
|
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
@inject("payrollStore")
|
2022-04-13 16:56:31 +08:00
|
|
|
|
@observer
|
|
|
|
|
|
export default class TemplateSettingList extends React.Component {
|
2022-06-21 14:27:16 +08:00
|
|
|
|
componentWillMount() {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { getPayrollTemplateList } = payrollStore;
|
|
|
|
|
|
getPayrollTemplateList();
|
|
|
|
|
|
}
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
// 编辑操作按钮
|
|
|
|
|
|
onEdit(record) {
|
|
|
|
|
|
this.props.onEdit && this.props.onEdit(record);
|
|
|
|
|
|
}
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
// 复制操作按钮
|
|
|
|
|
|
onCopy(record) {
|
|
|
|
|
|
this.props.onCopy && this.props.onCopy(record);
|
|
|
|
|
|
}
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
// 删除操作按钮
|
|
|
|
|
|
onDelete(record) {
|
|
|
|
|
|
this.props.onDelete && this.props.onDelete(record);
|
|
|
|
|
|
}
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
// 操作按钮
|
|
|
|
|
|
onOperatesClick = (record, index, operate, flag) => {
|
|
|
|
|
|
switch (operate.index.toString()) {
|
|
|
|
|
|
case "0": // 编辑
|
|
|
|
|
|
this.onEdit(record);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "1": // 复制
|
|
|
|
|
|
this.onCopy(record);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case "2": // 删除
|
|
|
|
|
|
this.onDelete(record);
|
|
|
|
|
|
break;
|
2022-04-14 19:32:57 +08:00
|
|
|
|
}
|
2022-06-21 14:27:16 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 默认使用配置
|
|
|
|
|
|
recordItemChange(record) {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { changePayrollDefaultUse, getPayrollTemplateList } = payrollStore;
|
|
|
|
|
|
changePayrollDefaultUse(record.id).then(() => {
|
|
|
|
|
|
getPayrollTemplateList();
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
// 增加编辑功能,重写columns绑定事件
|
|
|
|
|
|
getColumns = columns => {
|
|
|
|
|
|
const { showOperateBtn } = this.props;
|
|
|
|
|
|
let newColumns = "";
|
|
|
|
|
|
newColumns = columns.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 "useType":
|
|
|
|
|
|
return (
|
|
|
|
|
|
<Radio
|
|
|
|
|
|
disabled={!showOperateBtn}
|
|
|
|
|
|
checked={record.useType == "1"}
|
|
|
|
|
|
onChange={value => {
|
|
|
|
|
|
this.recordItemChange(record);
|
|
|
|
|
|
}}
|
|
|
|
|
|
/>
|
|
|
|
|
|
);
|
|
|
|
|
|
default:
|
2022-12-02 14:27:39 +08:00
|
|
|
|
return <div dangerouslySetInnerHTML={{ __html: valueSpan }}/>;
|
2022-04-14 19:32:57 +08:00
|
|
|
|
}
|
2022-06-21 14:27:16 +08:00
|
|
|
|
};
|
|
|
|
|
|
return newColumn;
|
|
|
|
|
|
});
|
|
|
|
|
|
return newColumns;
|
|
|
|
|
|
};
|
2022-04-14 19:32:57 +08:00
|
|
|
|
|
2022-06-21 14:27:16 +08:00
|
|
|
|
render() {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { templateStore, loading } = payrollStore;
|
|
|
|
|
|
return (
|
|
|
|
|
|
<div>
|
|
|
|
|
|
{loading
|
|
|
|
|
|
? <div style={{ width: "100%", textAlign: "center" }}>
|
2022-12-02 14:27:39 +08:00
|
|
|
|
<Spin/>
|
|
|
|
|
|
</div>
|
2022-06-21 14:27:16 +08:00
|
|
|
|
: <WeaTable // table内部做了loading加载处理,页面就不需要再加了
|
2022-12-02 14:27:39 +08:00
|
|
|
|
comsWeaTableStore={templateStore} // table store
|
|
|
|
|
|
hasOrder={true} // 是否启用排序
|
|
|
|
|
|
needScroll={true} // 是否启用table内部列表滚动,将自适应到父级高度
|
|
|
|
|
|
getColumns={this.getColumns}
|
|
|
|
|
|
onOperatesClick={this.onOperatesClick.bind(this)}
|
|
|
|
|
|
/>}
|
2022-06-21 14:27:16 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|