317 lines
8.8 KiB
JavaScript
317 lines
8.8 KiB
JavaScript
import { action, observable } from "mobx";
|
|
import { message } from "antd";
|
|
import { WeaForm, WeaTableNew } from "comsMobx";
|
|
|
|
import * as API from "../apis/welfareScheme"; // 引入API接口文件
|
|
import { notNull } from "../util/validate";
|
|
|
|
const { TableStore } = WeaTableNew;
|
|
|
|
export class ProgrammeStore {
|
|
@observable tableStore = new TableStore(); // new table
|
|
@observable condition = []; // 存储后台得到的form数据
|
|
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
|
|
@observable showSearchAd = false; // 高级搜索面板显示
|
|
@observable loading = true; // 数据加载状态
|
|
@observable deleteLoading = false; // 删除加载状态
|
|
@observable selectedKey = "SOCIAL_SECURITY";
|
|
@observable customSelectkey = ""
|
|
@observable defaultPersonDataSource = []; // 默认新增列表DataSource
|
|
@observable defaultCompanyDataSource = [];
|
|
@observable requestParams = {
|
|
schemeName: "",
|
|
remarks: "",
|
|
paymentArea: "1"
|
|
}
|
|
@observable form = new WeaForm();
|
|
@observable formCondition = []; // 存储后台得到的form数据
|
|
@observable customNewVisible = false;
|
|
@observable customRequest = {}
|
|
|
|
// 福利方案列表
|
|
@observable tableDataSource = [];
|
|
@observable tableColumns = [];
|
|
@observable tablePageInfo = {};
|
|
|
|
|
|
@action
|
|
setCustomSelectkey = customSelectkey => this.customSelectkey = customSelectkey
|
|
|
|
@action
|
|
setCustomRequest = customRequest => this.customRequest = customRequest
|
|
|
|
@action
|
|
setCustomNewVisible = customNewVisible => this.customNewVisible = customNewVisible;
|
|
|
|
@action
|
|
setRequestParams = requestParams => this.requestParams = requestParams;
|
|
|
|
@action
|
|
setDefaultPersonDataSource = defaultPersonDataSource => this.defaultPersonDataSource = defaultPersonDataSource;
|
|
|
|
@action
|
|
setDefaultCompanyDataSource = defaultCompanyDataSource => this.defaultCompanyDataSource = defaultCompanyDataSource;
|
|
|
|
@action
|
|
initSlideParms = () => {
|
|
this.requestParams = {
|
|
schemeName: "",
|
|
remarks: "",
|
|
paymentType: "SCHEME_TOWN"
|
|
}
|
|
this.defaultPersonDataSource = [];
|
|
this.defaultCompanyDataSource = [];
|
|
}
|
|
|
|
@action
|
|
setSelectedKey = selectedKey => this.selectedKey = selectedKey;
|
|
|
|
// 初始化操作
|
|
@action
|
|
doInit = () => {
|
|
this.getTableDatas();
|
|
// this.getCustomCategoryList();
|
|
}
|
|
|
|
// 获得高级搜索表单数据
|
|
// @action
|
|
// getCondition = () => {
|
|
// API.getForm().then(action(res => {
|
|
// if (res.status) { // 接口请求成功/失败处理
|
|
// this.condition = res.condition;
|
|
// this.form.initFormFields(res.condition); // 渲染高级搜索form表单
|
|
// } else {
|
|
// message.error(res.msg || '接口调用失败!')
|
|
// }
|
|
// }));
|
|
// }
|
|
|
|
// 渲染table数据
|
|
@action
|
|
getTableDatas = (selectKey = "SOCIAL_SECURITY", params) => {
|
|
this.loading = true;
|
|
const formParams = this.form.getFormParams() || {};
|
|
params = params || formParams;
|
|
params.welfareTypeEnum = selectKey
|
|
API.getTable(params).then(action(res => {
|
|
if (res.status) { // 接口请求成功/失败处理
|
|
// this.tableStore.getDatas(res.data.datas); // table 请求数据
|
|
this.tableDataSource = res.data.list ? res.data.list : [];
|
|
this.tableColumns = res.data.columns;
|
|
this.tablePageInfo = res.data;
|
|
} else {
|
|
message.error(res.errormsg || '接口调用失败!')
|
|
}
|
|
this.loading = false;
|
|
}));
|
|
}
|
|
|
|
|
|
// 渲染自定义福利
|
|
@action
|
|
getCustomCategoryList = (selectKey = "", params) => {
|
|
this.loading = true;
|
|
const formParams = this.form.getFormParams() || {};
|
|
params = params || formParams;
|
|
params.welfareTypeEnum = selectKey
|
|
API.getCustomCategoryList(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 = () => {
|
|
this.getTableDatas();
|
|
this.showSearchAd = false;
|
|
}
|
|
|
|
// 获取form, 获取获取详情
|
|
@action getForm = (params) => {
|
|
API.getForm(params).then(res => {
|
|
if(res.status) {
|
|
let resultList = res.data.form.schemeDetailList;
|
|
resultList= _.map(resultList, it => ({
|
|
...it,
|
|
rententionRule: it.rententionRule ? it.rententionRule : "2",
|
|
validNum: !_.isNil(it.validNum) ? it.validNum : "2"
|
|
}))
|
|
this.defaultPersonDataSource = resultList.filter(item => item.paymentScope == "个人")
|
|
this.defaultCompanyDataSource = resultList.filter(item => item.paymentScope == "公司")
|
|
let defaultRequest = {
|
|
schemeName: "",
|
|
remarks: "",
|
|
paymentArea: "1"
|
|
}
|
|
this.requestParams = {...defaultRequest, ...res.data.form.schemeBatch}
|
|
}
|
|
})
|
|
}
|
|
|
|
valideForm(params) {
|
|
if(!notNull(params.insuranceScheme.paymentType)) {
|
|
message.warning("缴纳类型不能为空")
|
|
return false
|
|
}
|
|
|
|
if(!notNull(params.insuranceScheme.schemeName)) {
|
|
message.warning("方案名称不能为空")
|
|
return false
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@action createScheme = (params) => {
|
|
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
|
|
if(!this.valideForm(params)) {
|
|
return
|
|
}
|
|
console.log("params:", params);
|
|
API.createScheme(params).then(res => {
|
|
if(res.status) {
|
|
message.success("新建成功");
|
|
this.getTableDatas(this.selectedKey);
|
|
} else {
|
|
message.error(res.errormsg || "新建失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
@action updateScheme = (params) => {
|
|
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
|
|
|
|
if(!this.valideForm(params)) {
|
|
return
|
|
}
|
|
console.log("params:", params);
|
|
API.updateScheme(params).then(res => {
|
|
if(res.status) {
|
|
message.success("更新成功");
|
|
this.getTableDatas(this.selectedKey);
|
|
} else {
|
|
message.error(res.errormsg || "更新失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
@action copyScheme = (params) => {
|
|
API.copyScheme(params).then(res => {
|
|
if(res.status) {
|
|
message.success("复制成功")
|
|
this.getTableDatas(this.selectedKey);
|
|
} else {
|
|
message.error(res.errormsg || "复制失败")
|
|
}
|
|
})
|
|
}
|
|
@action("删除社保数据")
|
|
deleteScheme = (params) => {
|
|
this.deleteLoading= true;
|
|
API.deleteScheme(params).then(res => {
|
|
this.deleteLoading= false;
|
|
if(res.status) {
|
|
message.success("刪除成功")
|
|
this.getTableDatas(this.selectedKey);
|
|
} else {
|
|
message.error(res.errormsg || "刪除失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
@action getCustomForm = (params) => {
|
|
API.getCustomCategoryForm(params).then(res => {
|
|
if(res.status) {
|
|
let condition = res.data.item;
|
|
let items = Object.keys(condition).map(item => {
|
|
return condition[item]
|
|
})
|
|
let fieldCondtion = items
|
|
this.formCondition = fieldCondtion;
|
|
} else {
|
|
message.error(res.errormsg || "获取失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
validateCustomRequest() {
|
|
let flag = true;
|
|
try {
|
|
this.formCondition.forEach(item => {
|
|
if(item.rules == "required") {
|
|
if(!notNull(this.customRequest[item.domkey[0]])) {
|
|
message.warning(item.label + "不能为空")
|
|
throw new Error(item.label + "不能为空")
|
|
}
|
|
}
|
|
})
|
|
} catch(e) {
|
|
flag = false
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
// 新增自定义福利
|
|
@action createSICategory = (params) => {
|
|
if(!this.validateCustomRequest()) {
|
|
return
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
API.createSICategory(params).then(res => {
|
|
if(res.status) {
|
|
message.success("新增成功")
|
|
resolve()
|
|
this.getCustomCategoryList()
|
|
} else {
|
|
reject()
|
|
message.error(res.errormsg || "新增失败")
|
|
}
|
|
})
|
|
})
|
|
|
|
}
|
|
|
|
// 自定义福利启用、停用
|
|
@action
|
|
updateCustomCategoryStatus = (id, isUse) => {
|
|
let params = {
|
|
id,
|
|
isUse: isUse ? 1 : 0
|
|
}
|
|
API.updateCustomCategoryStatus(params).then(res => {
|
|
if(res.status) {
|
|
message.success("修改成功")
|
|
this.getCustomCategoryList()
|
|
} else {
|
|
message.error(res.errormsg || "修改失败")
|
|
}
|
|
})
|
|
}
|
|
|
|
// 自定义福利编辑
|
|
@action
|
|
updateCustomCategory = (params) => {
|
|
return new Promise((resolve, reject) => {
|
|
API.updateCustomCategory(params).then(res => {
|
|
if(res.status) {
|
|
message.success("编辑成功")
|
|
resolve()
|
|
this.getCustomCategoryList()
|
|
} else {
|
|
reject()
|
|
message.error(res.errormsg || "编辑失败")
|
|
}
|
|
})
|
|
})
|
|
|
|
}
|
|
|
|
|
|
}
|