diff --git a/pc4mobx/hrmSalary/pages/salaryItem/customSalaryItemSlide.js b/pc4mobx/hrmSalary/pages/salaryItem/customSalaryItemSlide.js index 4260304f..b12fedbc 100644 --- a/pc4mobx/hrmSalary/pages/salaryItem/customSalaryItemSlide.js +++ b/pc4mobx/hrmSalary/pages/salaryItem/customSalaryItemSlide.js @@ -1,7 +1,4 @@ import React from "react"; -import { Col, Row, Switch } from "antd"; -import { WeaHelpfulTip, WeaInput, WeaSelect, WeaTextarea } from "ecCom"; -import { dataTypeOptions, patternOptions, roundingModeOptions } from "./options"; import FormalFormModal from "./formalFormModal"; import SalaryItemForm from "./salaryItemForm"; import "./index.less"; @@ -15,21 +12,21 @@ export default class CustomSalaryItemSlide extends React.Component { }; } - handleChange(params) { + handleChange = (params) => { let request = { ...this.props.request, ...params }; this.props.onChange(request); - } + }; - handleShowFormal() { + handleShowFormal = () => { this.setState({ formalModalVisible: true }); - } + }; // 保存公式成功回调 - handleSaveFormal(data) { + handleSaveFormal = (data) => { this.handleChange({ formulaId: data.id, formulaContent: data.formula }); - } + }; render() { const { editable, request, isAdd, userStatusList, taxAgentAdminOption } = this.props; @@ -51,7 +48,7 @@ export default class CustomSalaryItemSlide extends React.Component { const { formalModalVisible } = this.state; return (
- + {/*
*/} {/* */} {/* 名称*/} diff --git a/pc4mobx/hrmSalary/pages/salaryItem/index.js b/pc4mobx/hrmSalary/pages/salaryItem/index.js index 2c834650..39d2649e 100644 --- a/pc4mobx/hrmSalary/pages/salaryItem/index.js +++ b/pc4mobx/hrmSalary/pages/salaryItem/index.js @@ -291,6 +291,14 @@ export default class SalaryItem extends React.Component { // 新建和修改保存的回调 const handleSlideSave = (continueFlag) => { const { salaryItemStore: { saveItem, request, getTableDatas } } = this.props; + const { name, sharedType, taxAgentIds } = request; + if (!name || (sharedType === "1" && !taxAgentIds)) { + Modal.warning({ + title: "信息确认", + content: "必要信息不完整,红色*为必填项!" + }); + return; + } saveItem(request, continueFlag).then(() => { getTableDatas({ ...this.state.searchParams }).then(res => { this.setState({ diff --git a/pc4mobx/hrmSalary/pages/salaryItem/salaryItemForm.js b/pc4mobx/hrmSalary/pages/salaryItem/salaryItemForm.js index 2b3d8dcc..6edcd68e 100644 --- a/pc4mobx/hrmSalary/pages/salaryItem/salaryItemForm.js +++ b/pc4mobx/hrmSalary/pages/salaryItem/salaryItemForm.js @@ -18,27 +18,60 @@ class SalaryItemForm extends Component { componentDidMount() { const { salaryItemFieldsList } = this.state; - const { request, isAdd } = this.props; + const { request, editable, record, isAdd, taxAgentAdminOption } = this.props; const { systemType, sharedType, valueType } = request; - console.log(this.state.salaryItemFieldsList, this.props); this.setState({ salaryItemFieldsList: _.map(salaryItemFieldsList, item => { const { key } = item; switch (key) { case "sharedType": - return { ...item, display: systemType.toString() === "0" || isAdd }; + return { + ...item, + viewAttr: (editable && record.canEdit) || isAdd ? 2 : 1, + display: systemType.toString() === "0" || isAdd + }; case "taxAgentIds": - return { ...item, display: sharedType === "1" }; + console.log('123',sharedType, !_.isNil(sharedType) && sharedType.toString() === "1"); + return { + ...item, + viewAttr: (editable && record.canEdit) || isAdd ? 3 : 1, + display: !_.isNil(sharedType) && sharedType.toString() === "1", + options: [{ key: "", showname: "" }, ...taxAgentAdminOption] + }; case "formulaContent": - return { ...item, display: valueType === "2" || valueType === "3" }; + return { + ...item, + display: valueType === "2" || valueType === "3", + viewAttr: (editable && record.canEdit) || isAdd ? 2 : 1 + }; default: break; } - return { ...item }; + return { + ...item, + viewAttr: (key === "name" && ((editable && record.canEdit) || isAdd)) ? 3 : (key !== "name" && ((editable && record.canEdit) || isAdd)) ? 2 : 1 + }; }) }); } + handleChangeSalaryFiledItems = (key, v) => { + const { onChangeFieldsItem } = this.props; + const { salaryItemFieldsList } = this.state; + this.setState({ + salaryItemFieldsList: _.map(salaryItemFieldsList, item => { + if (key === "sharedType" && item.key === "taxAgentIds") { + return { ...item, display: v === "1", viewAttr: 3 }; + } else if (key === "valueType" && item.key === "formulaContent") { + return { ...item, display: v === "2" || v === "3" }; + } + return { ...item }; + }) + }, () => { + onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary") ? Number(v) : v }); + }); + }; + render() { const { userStatusList, request } = this.props; const { salaryItemFieldsList } = this.state; @@ -47,28 +80,32 @@ class SalaryItemForm extends Component { { _.map(salaryItemFieldsList, item => { const { key, label, type, viewAttr, tip, options, display = true } = item; - const value = request[key] ? request[key].toString() : ""; + const value = !_.isNil(request[key]) ? request[key].toString() : ""; return { (type === "INPUT" && display) ? - : + this.handleChangeSalaryFiledItems(key, v)}/> : (type === "SWITCH" && display) ? - + this.handleChangeSalaryFiledItems(key, v)}/> : (type === "SELECT" && display) ? + viewAttr={viewAttr} onChange={v => this.handleChangeSalaryFiledItems(key, v)}/> : (type === "RADIO" && display) ? - + this.handleChangeSalaryFiledItems(key, v)}/> : (type === "TEXTAREA" && display) ? - + + this.handleChangeSalaryFiledItems(key, v)}/> : null } ; diff --git a/pc4mobx/hrmSalary/stores/salaryFile.js b/pc4mobx/hrmSalary/stores/salaryFile.js index 641eb9ab..a0e213c7 100644 --- a/pc4mobx/hrmSalary/stores/salaryFile.js +++ b/pc4mobx/hrmSalary/stores/salaryFile.js @@ -90,10 +90,7 @@ export class salaryFileStore { type === "archive" ? this.archiveStatusList = [{ key: "", showname: "" - }, ...data] : this.userStatusList = [{ - key: "", - showname: "" - }, ...data]; + }, ...data] : this.userStatusList = [...data]; } else { message.error(res.errormsg || "获取失败"); } diff --git a/pc4mobx/hrmSalary/stores/salaryItem.js b/pc4mobx/hrmSalary/stores/salaryItem.js index 3233c84e..0550868b 100644 --- a/pc4mobx/hrmSalary/stores/salaryItem.js +++ b/pc4mobx/hrmSalary/stores/salaryItem.js @@ -30,7 +30,7 @@ export class SalaryItemStore { valueType: 1, dataType: "number", description: "", - sharedType: "", + sharedType: "0", taxAgentIds: "" }; @@ -70,7 +70,7 @@ export class SalaryItemStore { valueType: "1", dataType: "number", description: "", - sharedType: "", + sharedType: "0", taxAgentIds: "" }; @@ -167,7 +167,7 @@ export class SalaryItemStore { if (res.status) { let data = res.data; Object.keys(data).map(key => { - if (data[key]) { + if (!_.isNil(data[key])) { data[key] = data[key].toString(); } });