309 lines
8.0 KiB
JavaScript
309 lines
8.0 KiB
JavaScript
import { observable, action, toJS } from 'mobx';
|
|
import { message } from 'antd';
|
|
import { WeaForm, WeaTableNew } from 'comsMobx';
|
|
|
|
import * as API from '../apis/archive'; // 引入API接口文件
|
|
import { notNull } from '../util/validate'
|
|
|
|
const { TableStore } = WeaTableNew;
|
|
|
|
export class salaryFileStore {
|
|
@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 importType = [];
|
|
@observable previewColumns = [];
|
|
@observable previewDataSource = [];
|
|
@observable dataSource = [];
|
|
@observable detailForm= {}
|
|
@observable salaryArchiveTaxAgentForm = {}
|
|
@observable salaryItemChangeForm = {}
|
|
@observable taxAgentList = []
|
|
@observable salaryItemList = []
|
|
@observable singleSalaryItemList = []
|
|
@observable singleTaxAgentList = []
|
|
|
|
|
|
// 初始化操作
|
|
@action
|
|
doInit = () => {
|
|
// this.getCondition();
|
|
this.getTableDatas();
|
|
this.getImportTypes();
|
|
}
|
|
|
|
// 获取导入类型
|
|
@action
|
|
getImportTypes = () => {
|
|
API.getImportTypes().then(res => {
|
|
if(res.status) {
|
|
this.importType = res.data
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 获得高级搜索表单数据
|
|
@action
|
|
getCondition = () => {
|
|
API.getCondition().then(action(res => {
|
|
if (res.api_status) { // 接口请求成功/失败处理
|
|
this.condition = res.condition;
|
|
this.form.initFormFields(res.condition); // 渲染高级搜索form表单
|
|
} else {
|
|
message.error(res.msg || '接口调用失败!')
|
|
}
|
|
}));
|
|
}
|
|
|
|
// 渲染table数据1
|
|
@action
|
|
getTableDatas = (params) => {
|
|
this.loading = true;
|
|
const formParams = this.form.getFormParams() || {};
|
|
params = params || formParams;
|
|
API.getArchiveList(params).then(action(res => {
|
|
if (res.status) { // 接口请求成功/失败处理
|
|
this.tableStore.getDatas(res.data.dataKey.datas); // table 请求数据
|
|
this.dataSource = res.data.pageInfo.list.map(item => {
|
|
item.key = item.id
|
|
return item;
|
|
})
|
|
} else {
|
|
message.error(res.errormsg || '接口调用失败!')
|
|
}
|
|
this.loading = false;
|
|
}));
|
|
}
|
|
|
|
@action
|
|
setShowSearchAd = bool => this.showSearchAd = bool;
|
|
|
|
// 高级搜索 - 搜索
|
|
@action doSearch = () => {
|
|
this.getTableDatas();
|
|
this.showSearchAd = false;
|
|
}
|
|
|
|
// 导入预览
|
|
@action
|
|
importPreview = (params) => {
|
|
API.importPreview(params).then(res => {
|
|
if(res.status) {
|
|
let headers = res.data.headers
|
|
this.previewColumns = headers.map((item, index) => {
|
|
return {
|
|
key: index,
|
|
title: item,
|
|
dataIndex: index
|
|
}
|
|
})
|
|
|
|
let list = res.data.list;
|
|
this.previewDataSource = list.map(item => {
|
|
let result = {}
|
|
item.map((i, index) => {
|
|
result[index] = i
|
|
})
|
|
return result;
|
|
})
|
|
|
|
} else {
|
|
message.error(res.errormsg || "获取数据失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 导入档案
|
|
@action
|
|
importSalaryArchive = (params) => {
|
|
API.importSalaryArchive(params).then(res => {
|
|
if(res.status) {
|
|
message.success("导入成功")
|
|
} else {
|
|
message.error(res.errormsg || "接口异常")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 导出档案
|
|
@action
|
|
exportSalaryArchive = (ids = "") => {
|
|
API.exportSalaryArchive(ids)
|
|
}
|
|
|
|
// 获取详情
|
|
@action
|
|
getArchiveForm = (salaryArchiveId) => {
|
|
API.getArchiveForm({salaryArchiveId}).then(res => {
|
|
if(res.status) {
|
|
this.detailForm = res.data
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 个税义务人表单
|
|
valideTaxAgentForm(params) {
|
|
if(!notNull(params.effectiveTime)) {
|
|
message.warning("生效日期不能为空")
|
|
return false
|
|
}
|
|
|
|
if(!notNull(params.adjustReason)) {
|
|
message.warning("调整原因不能为空")
|
|
return false
|
|
}
|
|
|
|
if(!notNull(params.taxAgentId)) {
|
|
message.warning("调整后个税义务人不能为空")
|
|
return false
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// 薪资档案-保存个税扣缴义务人调整
|
|
@action
|
|
saveTaxAgent = (params) => {
|
|
if(!this.valideTaxAgentForm(params)) {
|
|
return
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
API.saveTaxAgent(params).then(res => {
|
|
if(res.status) {
|
|
message.success("保存成功");
|
|
resolve()
|
|
} else {
|
|
message.error(res.errormsg || "保存失败")
|
|
reject()
|
|
}
|
|
})
|
|
})
|
|
|
|
}
|
|
|
|
// 调整-义务扣缴人-调整表单
|
|
@action
|
|
getTaxAgentForm = (salaryArchiveId) => {
|
|
return new Promise((resolve, reject) => {
|
|
API.getTaxAgentForm({salaryArchiveId}).then(res => {
|
|
if(res.status) {
|
|
this.salaryArchiveTaxAgentForm = res.data.salaryArchiveTaxAgentForm
|
|
resolve()
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
reject()
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
// 薪资档案-获取薪资项目调整表单
|
|
@action
|
|
getSalaryItemForm = (id) => {
|
|
return new Promise((resolve, reject) => {
|
|
API.getSalaryItemForm({salaryArchiveItemId: id}).then(res => {
|
|
if(res.status) {
|
|
this.salaryItemChangeForm = {}
|
|
this.salaryItemChangeForm.adjustReasonList = res.data.salaryArchiveItemForm.adjustReasonList.map(item => {
|
|
item = {...item}
|
|
item.key = item.id;
|
|
item.showname = item.content
|
|
item.selected = false
|
|
return item
|
|
})
|
|
|
|
this.salaryItemChangeForm.salaryItemList = res.data.salaryArchiveItemDetail.salaryItemList.map(item => {
|
|
item = {...item}
|
|
item.key = item.id;
|
|
item.showname = item.content
|
|
item.selected = false
|
|
return item
|
|
})
|
|
|
|
this.salaryItemChangeForm.columns = res.data.salaryArchiveItemDetail.columns.map(item => {
|
|
let result = {}
|
|
result.title = item
|
|
if(item == "薪资项目") {
|
|
result.dataIndex = "salaryItem"
|
|
result.key = "salaryItem"
|
|
}
|
|
if(item == "调整前") {
|
|
result.dataIndex = "before"
|
|
result.key = "before"
|
|
}
|
|
if(item == "调整后") {
|
|
result.dataIndex = "after"
|
|
result.key = "after"
|
|
}
|
|
return result
|
|
})
|
|
resolve()
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
reject()
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
// 调整记录 个税义务人调整列表
|
|
@action
|
|
adjustRecordTaxAgentList = (params) => {
|
|
API.adjustRecordTaxAgentList(params).then(res => {
|
|
if(res.status) {
|
|
this.taxAgentList = res.data
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 调整记录 薪资项目调整记录
|
|
@action
|
|
adjustRecordSalaryItemList = (params) => {
|
|
API.adjustRecordSalaryItemList(params).then(res => {
|
|
if(res.status) {
|
|
this.salaryItemList = res.data;
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// slide 薪资项目列表
|
|
@action
|
|
fetchSingleSalaryItemList = (params) => {
|
|
API.singleSalaryItemList(params).then(res => {
|
|
if(res.status) {
|
|
this.singleSalaryItemList = res.data
|
|
} else {
|
|
message.error(res.errormsg || "获取失败");
|
|
}
|
|
})
|
|
}
|
|
|
|
// slide 个税义务人列表
|
|
@action
|
|
fetchSingleTaxAgentList = (params) => {
|
|
API.singleTaxAgentList(params).then(res => {
|
|
if(res.status) {
|
|
this.singleTaxAgentList = res.data
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |