社保福利档案页面重构

This commit is contained in:
黎永顺 2023-02-13 16:38:15 +08:00
parent f6f786b33f
commit 38ca2cc421
5 changed files with 152 additions and 134 deletions

View File

@ -330,12 +330,6 @@ export default class DefaultSlideForm extends React.Component {
});
};
componentDidMount() {
const { taxAgentStore } = this.props;
const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
getTaxAgentSelectListAsAdmin();
}
render() {
const { paymentPeriodModal } = this.state;
const { programmeStore, salaryFileStore, taxAgentStore, requestParams, onChange } = this.props;

View File

@ -45,7 +45,7 @@ export const schemeFields = [
key: "sharedType",
label: "可见性",
type: "SELECT",
viewAttr: 3,
viewAttr: 2,
tip: ""
},
{

View File

@ -38,11 +38,13 @@ export default class Programme extends React.Component {
}
componentWillMount() {
const { programmeStore, salaryFileStore } = this.props;
const { programmeStore, salaryFileStore, taxAgentStore } = this.props;
const { doInit } = programmeStore;
doInit();
const { commonEnumList } = salaryFileStore;
commonEnumList("user", { enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" });
const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
getTaxAgentSelectListAsAdmin();
}
// 增加编辑功能重写columns绑定事件
@ -66,6 +68,7 @@ export default class Programme extends React.Component {
case "operate":
return (
<a
href="javascript: void(0);"
onClick={() => {
this.onEdit(record);
}}>
@ -194,8 +197,9 @@ export default class Programme extends React.Component {
getForm({
welfareTypeEnum: selectedKey,
id
}).then(() => {
this.setState({ slideVisiable: true, customEdit: true, currentOperate: "update" });
});
this.setState({ slideVisiable: true, customEdit: true, currentOperate: "update" });
}
onCopy(record) {

View File

@ -1,5 +1,20 @@
.defaultSlideForm {
padding: 20px;
padding: 16px;
.wea-search-group {
padding: 0;
border: 1px solid #e5e5e5;
border-bottom: none;
.wea-content {
padding: 0;
}
.wea-form-item {
padding: 4px 16px;
border-bottom: 1px solid #e5e5e5;
}
}
.tableBar {
margin-top: 10px;

View File

@ -13,9 +13,9 @@ export class ProgrammeStore {
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
@observable showSearchAd = false; // 高级搜索面板显示
@observable loading = true; // 数据加载状态
@observable deleteLoading = false; // 删除加载状态
@observable deleteLoading = false; // 删除加载状态
@observable selectedKey = "SOCIAL_SECURITY";
@observable customSelectkey = ""
@observable customSelectkey = "";
@observable defaultPersonDataSource = []; // 默认新增列表DataSource
@observable defaultCompanyDataSource = [];
@observable requestParams = {
@ -23,12 +23,12 @@ export class ProgrammeStore {
remarks: "",
paymentArea: "1",
sharedType: "",
taxAgentIds: "",
}
taxAgentIds: ""
};
@observable form = new WeaForm();
@observable formCondition = []; // 存储后台得到的form数据
@observable customNewVisible = false;
@observable customRequest = {}
@observable customRequest = {};
// 福利方案列表
@observable tableDataSource = [];
@ -37,10 +37,10 @@ export class ProgrammeStore {
@action
setCustomSelectkey = customSelectkey => this.customSelectkey = customSelectkey
setCustomSelectkey = customSelectkey => this.customSelectkey = customSelectkey;
@action
setCustomRequest = customRequest => this.customRequest = customRequest
setCustomRequest = customRequest => this.customRequest = customRequest;
@action
setCustomNewVisible = customNewVisible => this.customNewVisible = customNewVisible;
@ -61,11 +61,11 @@ export class ProgrammeStore {
remarks: "",
paymentType: "SCHEME_TOWN",
sharedType: "",
taxAgentIds: "",
}
taxAgentIds: ""
};
this.defaultPersonDataSource = [];
this.defaultCompanyDataSource = [];
}
};
@action
setSelectedKey = selectedKey => this.selectedKey = selectedKey;
@ -75,7 +75,7 @@ export class ProgrammeStore {
doInit = () => {
this.getTableDatas();
// this.getCustomCategoryList();
}
};
// 获得高级搜索表单数据
// @action
@ -96,7 +96,7 @@ export class ProgrammeStore {
this.loading = true;
const formParams = this.form.getFormParams() || {};
params = params || formParams;
params.welfareTypeEnum = selectKey
params.welfareTypeEnum = selectKey;
API.getTable(params).then(action(res => {
if (res.status) { // 接口请求成功/失败处理
// this.tableStore.getDatas(res.data.datas); // table 请求数据
@ -104,11 +104,11 @@ export class ProgrammeStore {
this.tableColumns = res.data.columns;
this.tablePageInfo = res.data;
} else {
message.error(res.errormsg || '接口调用失败!')
message.error(res.errormsg || "接口调用失败!");
}
this.loading = false;
}));
}
};
// 渲染自定义福利
@ -117,16 +117,16 @@ export class ProgrammeStore {
this.loading = true;
const formParams = this.form.getFormParams() || {};
params = params || formParams;
params.welfareTypeEnum = selectKey
params.welfareTypeEnum = selectKey;
API.getCustomCategoryList(params).then(action(res => {
if (res.status) { // 接口请求成功/失败处理
this.tableStore.getDatas(res.data.datas, 1); // table 请求数据
} else {
message.error(res.errormsg || '接口调用失败!')
message.error(res.errormsg || "接口调用失败!");
}
this.loading = false;
}));
}
};
@action
setShowSearchAd = bool => this.showSearchAd = bool;
@ -135,171 +135,176 @@ export class ProgrammeStore {
@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"
return new Promise((resolve, reject) => {
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 };
resolve();
} else {
reject();
}
this.requestParams = {...defaultRequest, ...res.data.form.schemeBatch}
}
})
}
}).catch(() => reject());
});
};
valideForm(params) {
if(!notNull(params.insuranceScheme.paymentType)) {
message.warning("缴纳类型不能为空")
return false
if (!notNull(params.insuranceScheme.paymentType)) {
message.warning("缴纳类型不能为空");
return false;
}
if(!notNull(params.insuranceScheme.schemeName)) {
message.warning("方案名称不能为空")
return false
if (!notNull(params.insuranceScheme.schemeName)) {
message.warning("方案名称不能为空");
return false;
}
if(this.requestParams.sharedType=== "1" && !notNull(params.insuranceScheme.taxAgentIds)) {
message.warning("可见性范围不能为空")
return false
if (this.requestParams.sharedType === "1" && !notNull(params.insuranceScheme.taxAgentIds)) {
message.warning("可见性范围不能为空");
return false;
}
return true;
}
@action createScheme = (params) => {
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
return new Promise((resolve, reject)=>{
if(!this.valideForm(params)) {
return new Promise((resolve, reject) => {
if (!this.valideForm(params)) {
reject("新建失败");
return
return;
}
API.createScheme(params).then(res => {
if(res.status) {
resolve(res)
if (res.status) {
resolve(res);
message.success("新建成功");
this.getTableDatas(this.selectedKey);
} else {
reject("新建失败");
message.error(res.errormsg || "新建失败")
message.error(res.errormsg || "新建失败");
}
})
})
}
});
});
};
@action updateScheme = (params) => {
params.insuranceScheme.paymentArea = params.insuranceScheme.paymentType;
return new Promise((resolve, reject)=>{
if(!this.valideForm(params)) {
return new Promise((resolve, reject) => {
if (!this.valideForm(params)) {
reject("新建失败");
return
return;
}
API.updateScheme(params).then(res => {
if(res.status) {
resolve(res)
if (res.status) {
resolve(res);
message.success("更新成功");
this.getTableDatas(this.selectedKey);
} else {
reject("更新失败")
message.error(res.errormsg || "更新失败")
reject("更新失败");
message.error(res.errormsg || "更新失败");
}
})
})
}
});
});
};
@action("复制福利方案")
copyScheme = (params) => {
return new Promise((resolve,reject)=>{
return new Promise((resolve, reject) => {
API.copyScheme(params).then(res => {
if(res.status) {
if (res.status) {
resolve("复制成功");
message.success("复制成功");
this.getTableDatas(this.selectedKey);
} else {
reject(res.errormsg || "复制失败");
message.error(res.errormsg || "复制失败");
reject(res.errormsg || "复制失败");
message.error(res.errormsg || "复制失败");
}
})
})
}
});
});
};
@action("删除社保数据")
deleteScheme = (params) => {
this.deleteLoading= true;
this.deleteLoading = true;
API.deleteScheme(params).then(res => {
this.deleteLoading= false;
if(res.status) {
message.success("刪除成功")
this.deleteLoading = false;
if (res.status) {
message.success("刪除成功");
this.getTableDatas(this.selectedKey);
} else {
message.error(res.errormsg || "刪除失败")
message.error(res.errormsg || "刪除失败");
}
})
}
});
};
@action getCustomForm = (params) => {
API.getCustomCategoryForm(params).then(res => {
if(res.status) {
if (res.status) {
let condition = res.data.item;
let items = Object.keys(condition).map(item => {
return condition[item]
})
let fieldCondtion = items
return condition[item];
});
let fieldCondtion = items;
this.formCondition = fieldCondtion;
} else {
message.error(res.errormsg || "获取失败")
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 + "不能为空")
if (item.rules == "required") {
if (!notNull(this.customRequest[item.domkey[0]])) {
message.warning(item.label + "不能为空");
throw new Error(item.label + "不能为空");
}
}
})
} catch(e) {
flag = false
}
});
} catch (e) {
flag = false;
}
return flag;
}
// 新增自定义福利
@action createSICategory = (params) => {
return new Promise((resolve, reject) => {
if(!this.validateCustomRequest()) {
if (!this.validateCustomRequest()) {
reject();
return
return;
}
API.createSICategory({...params, paymentScope: params.paymentScope.split(",")}).then(res => {
if(res.status) {
message.success("新增成功")
resolve()
this.getCustomCategoryList()
API.createSICategory({ ...params, paymentScope: params.paymentScope.split(",") }).then(res => {
if (res.status) {
message.success("新增成功");
resolve();
this.getCustomCategoryList();
} else {
reject()
message.error(res.errormsg || "新增失败")
reject();
message.error(res.errormsg || "新增失败");
}
}).catch(()=>{
message.error("新增失败")
})
})
}).catch(() => {
message.error("新增失败");
});
});
}
};
// 自定义福利启用、停用
@action
@ -307,34 +312,34 @@ export class ProgrammeStore {
let params = {
id,
isUse: isUse ? 1 : 0
}
};
API.updateCustomCategoryStatus(params).then(res => {
if(res.status) {
message.success("修改成功")
this.getCustomCategoryList()
if (res.status) {
message.success("修改成功");
this.getCustomCategoryList();
} else {
message.error(res.errormsg || "修改失败")
message.error(res.errormsg || "修改失败");
}
})
}
});
};
// 自定义福利编辑
@action
updateCustomCategory = (params) => {
return new Promise((resolve, reject) => {
API.updateCustomCategory(_.pick(params, ['id',"insuranceName"])).then(res => {
if(res.status) {
message.success("编辑成功")
resolve()
this.getCustomCategoryList()
API.updateCustomCategory(_.pick(params, ["id", "insuranceName"])).then(res => {
if (res.status) {
message.success("编辑成功");
resolve();
this.getCustomCategoryList();
} else {
reject()
message.error(res.errormsg || "编辑失败")
reject();
message.error(res.errormsg || "编辑失败");
}
})
})
});
});
}
};
}