salary-management-front/pc4mobx/hrmSalary/stores/taxRate.js

180 lines
4.5 KiB
JavaScript

import { observable, action, toJS } from 'mobx';
import { message } from 'antd';
import { WeaForm, WeaTableNew } from 'comsMobx';
import * as API from '../apis/taxrate'; // 引入API接口文件
const { TableStore } = WeaTableNew;
let emptyItem = {
indexNum: 1,
incomeLowerLimit: "0.00",
incomeUpperLimit: "0.00",
dutyFreeValue: "0.00",
dutyFreeRate: "0.00",
taxableIncomeLl: "0.00",
taxableIncomeUl: "0.00",
taxRate: "0.00",
taxDeduction: "0.00"
}
export class taxRateStore {
@observable tableStore = new TableStore(); // new table
@observable form = new WeaForm(); // nrew 一个form
@observable condition = []; // 存储后台得到的form数据
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
@observable showSearchAd = false; // 高级搜索面板显示
@observable loading = true; // 数据加载状态
@observable dataSource = [];
@observable nameValue = "";
@observable remarkValue = "";
@observable slideVisiable = false; // 侧边划入是否展示
currentId = ""; // 当前编辑的数据id
@action
setSlideVisiable = slideVisiable => this.slideVisiable = slideVisiable;
@action
setDataSource = dataSource => this.dataSource = dataSource;
@action
setNameValue = nameValue => this.nameValue = nameValue;
@action
setRemarkValue = remarkValue => this.remarkValue = remarkValue;
// 初始化操作
@action
doInit = () => {
this.getTableDatas();
}
@action
initDataSource = () => {
this.dataSource = []
this.dataSource.push(emptyItem)
}
// 渲染table数据
@action
getTableDatas = (params) => {
params = params || {};
API.getTaxRateList(params).then(action(res => {
if (res.status) { // 接口请求成功/失败处理
this.tableStore.getDatas(res.data.datas); // table 请求数据
} else {
message.error(res.errormsg || '接口调用失败!')
}
this.loading = false;
}));
}
@action
setShowSearchAd = bool => this.showSearchAd = bool;
// 高级搜索 - 搜索
@action doSearch = (params) => {
this.getTableDatas(params);
this.showSearchAd = false;
}
@action doSave = () => {
let params = {
taxRateBatch: {
name: this.nameValue,
description: this.remarkValue
},
taxRateRecords: this.dataSource
}
if(!params.name || params.name == "" ) {
message.warning("名称不能为空")
return
}
API.saveTaxRate(params).then(res => {
if(res.status) {
message.success("保存成功");
this.getTableDatas();
this.showSearchAd = false;
this.setSlideVisiable(false);
} else {
message.error(res.errormsg || "保存失败");
}
})
}
@action emptyForm = () => {
this.setDataSource([]);
this.setNameValue("");
this.setRemarkValue("");
}
// 获取表单数据
@action getItemInform = (id) => {
this.currentId= id;
API.getTaxRateForm({id}).then(res => {
if(res.status) {
let { taxRateBatch, taxRateRecords } = res.data.form
this.setNameValue(taxRateBatch.name);
this.setRemarkValue(taxRateBatch.description);
this.setDataSource(taxRateRecords)
} else {
message.error(res.errormsg || "获取数据失败");
}
})
}
@action doUpdate = () => {
let params = {
taxRateBatch: {
name: this.nameValue,
description: this.remarkValue,
id: this.currentId
},
taxRateRecords: this.dataSource
}
if(!params.name || params.name == "") {
message.warning("名称不能为空")
return
}
API.updateTaxRate(params).then(res => {
if(res.status) {
message.success("保存成功");
this.getTableDatas();
this.showSearchAd = false;
this.setSlideVisiable(false);
} else {
message.error(res.errormsg || "保存失败");
}
})
}
@action doDelete = (ids) => {
API.deleteTaxRate(ids).then(res => {
if(res.status) {
message.success("删除成功");
this.getTableDatas();
this.showSearchAd = false;
} else {
message.error(res.errormsg || "删除失败");
}
})
}
// 批量删除
@action
doBatchDelete = () => {
let ids = toJS(this.tableStore.selectedRowKeys)
if(ids.length == 0) {
message.warning("未选择任何条目");
return
}
this.doDelete(toJS(this.tableStore.selectedRowKeys))
}
}