社保福利档案页面重构
This commit is contained in:
parent
f6f786b33f
commit
38ca2cc421
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ export const schemeFields = [
|
|||
key: "sharedType",
|
||||
label: "可见性",
|
||||
type: "SELECT",
|
||||
viewAttr: 3,
|
||||
viewAttr: 2,
|
||||
tip: ""
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 || "编辑失败");
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue