feature/2.15.1.2407.01-权限
This commit is contained in:
parent
cd768fff67
commit
6aa662d432
|
|
@ -302,20 +302,9 @@ export const personScopeConditions = [
|
|||
lanId: 111,
|
||||
labelcol: 6,
|
||||
options: [],
|
||||
rules: "required|string",
|
||||
selectLinkageDatas: {
|
||||
EMPLOYEE: {
|
||||
conditionType: "TEXTAREA",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required|string",
|
||||
viewAttr: 3
|
||||
}
|
||||
},
|
||||
viewAttr: 3
|
||||
viewAttr: 3,
|
||||
rules: "selectLinkageRequired",
|
||||
selectLinkageDatas: {}
|
||||
},
|
||||
{
|
||||
conditionType: "SELECT",
|
||||
|
|
@ -326,10 +315,126 @@ export const personScopeConditions = [
|
|||
labelcol: 6,
|
||||
value: "",
|
||||
detailtype: "2",
|
||||
rules: "required|string",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
}
|
||||
},
|
||||
],
|
||||
defaultshow: true
|
||||
}
|
||||
];
|
||||
export const scopeSelectLinkageDatas = {
|
||||
EMPLOYEE:{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
dataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
pageSize: 10,
|
||||
linkUrl: "",
|
||||
type: "17",
|
||||
viewAttr: 3,
|
||||
rules:'required',
|
||||
title: ""
|
||||
},
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
},
|
||||
DEPT:{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
dataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
pageSize: 10,
|
||||
linkUrl: "",
|
||||
type: "57",
|
||||
viewAttr: 3,
|
||||
rules:'required',
|
||||
title: ""
|
||||
},
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
},
|
||||
SUBCOMPANY:{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
dataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
pageSize: 10,
|
||||
linkUrl: "",
|
||||
type: "164",
|
||||
viewAttr: 3,
|
||||
rules:'required',
|
||||
title: ""
|
||||
},
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
},
|
||||
POSITION:{
|
||||
browserConditionParam: {
|
||||
completeParams: {},
|
||||
dataParams: {},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: false,
|
||||
pageSize: 10,
|
||||
linkUrl: "",
|
||||
type: "278",
|
||||
viewAttr: 3,
|
||||
rules:'required',
|
||||
title: ""
|
||||
},
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
},
|
||||
SQL: {
|
||||
conditionType: "TEXTAREA",
|
||||
domkey: ["target"],
|
||||
fieldcol: 24,
|
||||
label: "",
|
||||
labelcol: 0,
|
||||
value: "",
|
||||
rules: "required",
|
||||
viewAttr: 3
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@
|
|||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaBrowser, WeaDialog, WeaLocaleProvider, WeaTools } from "ecCom";
|
||||
import { WeaSwitch } from "comsMobx";
|
||||
import { WeaBrowser, WeaCheckbox, WeaDialog, WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom";
|
||||
import { Button, message, Modal } from "antd";
|
||||
import { getTaxAgentRangeForm, taxAgentRangeSave } from "../../../apis/taxAgent";
|
||||
import { personScopeConditions } from "./constants";
|
||||
import { getSearchs } from "../../../util";
|
||||
import { personScopeConditions, scopeSelectLinkageDatas } from "./constants";
|
||||
|
||||
const getKey = WeaTools.getKey;
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
|
@ -33,9 +33,7 @@ class PersonalScopeModal extends Component {
|
|||
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
if (nextProps.visible !== this.props.visible && nextProps.visible) this.getTaxAgentRangeForm();
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) {
|
||||
this.props.taxAgentStore.initPersonScopeForm();
|
||||
}
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) this.props.taxAgentStore.initPersonScopeForm();
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
|
|
@ -52,15 +50,13 @@ class PersonalScopeModal extends Component {
|
|||
if (getKey(o) === "employeeStatus") {
|
||||
return {
|
||||
...o, label: getLabel(o.lanId, o.label),
|
||||
options: [
|
||||
{ key: "ALL", showname: getLabel(111, "全选") },
|
||||
..._.map(employeeStatus, it => ({ key: it.id, showname: it.name }))
|
||||
]
|
||||
options: _.map(employeeStatus, it => ({ key: it.id, showname: it.name }))
|
||||
};
|
||||
}
|
||||
return {
|
||||
...o, label: getLabel(o.lanId, o.label),
|
||||
options: _.map(targetTypeList, it => ({ key: it.id, showname: it.name }))
|
||||
options: _.map(targetTypeList, it => ({ key: it.id, showname: it.name })),
|
||||
selectLinkageDatas: scopeSelectLinkageDatas[_.head(targetTypeList).id]
|
||||
};
|
||||
})
|
||||
}))
|
||||
|
|
@ -69,33 +65,44 @@ class PersonalScopeModal extends Component {
|
|||
});
|
||||
};
|
||||
taxAgentRangeSave = () => {
|
||||
const { status, targetTypeIds, targetType } = this.state;
|
||||
const { includeType, taxAgentId, onSuccess, onCancel } = this.props;
|
||||
if (_.isEmpty(status) || _.isEmpty(targetTypeIds)) {
|
||||
Modal.warning({
|
||||
title: "信息确认",
|
||||
content: "必要信息不完整,红色*为必填项!"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const payload = {
|
||||
employeeStatus: status.split(","),
|
||||
includeType,
|
||||
targetParams: _.map(targetTypeIds.split(","), it => ({ targetType, targetId: it })),
|
||||
taxAgentId
|
||||
};
|
||||
this.setState({ loading: true });
|
||||
taxAgentRangeSave(payload).then(({ status, errormsg }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
message.success("保存成功");
|
||||
this.handleReset();
|
||||
onSuccess();
|
||||
onCancel();
|
||||
const { taxAgentStore: { personScopeForm } } = this.props;
|
||||
personScopeForm.validateForm().then(f => {
|
||||
if (f.isValid) {
|
||||
console.log(70, personScopeForm.getFormParams());
|
||||
|
||||
|
||||
const { status, targetTypeIds, targetType } = this.state;
|
||||
const { includeType, taxAgentId, onSuccess, onCancel } = this.props;
|
||||
if (_.isEmpty(status) || _.isEmpty(targetTypeIds)) {
|
||||
Modal.warning({
|
||||
title: "信息确认",
|
||||
content: "必要信息不完整,红色*为必填项!"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const payload = {
|
||||
employeeStatus: status.split(","),
|
||||
includeType,
|
||||
targetParams: _.map(targetTypeIds.split(","), it => ({ targetType, targetId: it })),
|
||||
taxAgentId
|
||||
};
|
||||
this.setState({ loading: true });
|
||||
taxAgentRangeSave(payload).then(({ status, errormsg }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
message.success("保存成功");
|
||||
this.handleReset();
|
||||
onSuccess();
|
||||
onCancel();
|
||||
} else {
|
||||
message.error(errormsg || "保存失败");
|
||||
}
|
||||
}).catch(() => this.setState({ loading: true }));
|
||||
} else {
|
||||
message.error(errormsg || "保存失败");
|
||||
f.showErrors();
|
||||
this.forceUpdate();
|
||||
}
|
||||
}).catch(() => this.setState({ loading: true }));
|
||||
});
|
||||
};
|
||||
renderBrowser = () => {
|
||||
const { targetType, targetTypeIds, targetTypeIdsNames } = this.state;
|
||||
|
|
@ -128,27 +135,44 @@ class PersonalScopeModal extends Component {
|
|||
}}
|
||||
/>;
|
||||
};
|
||||
renderForm = () => {
|
||||
const { taxAgentStore: { personScopeForm } } = this.props;
|
||||
const { conditions, employeeStatus } = this.state, { isFormInit } = personScopeForm,
|
||||
formParams = personScopeForm.getFormParams();
|
||||
const checked = formParams.employeeStatus && _.every(_.map(employeeStatus, o => o.id), k => formParams.employeeStatus.indexOf(k) !== -1);
|
||||
let group = [];
|
||||
isFormInit && conditions.map(c => {
|
||||
let items = [];
|
||||
c.items.map(fields => {
|
||||
items.push({
|
||||
com: (
|
||||
<WeaFormItem label={`${fields.label}`} labelCol={{ span: `${fields.labelcol}` }}
|
||||
wrapperCol={{ span: `${fields.fieldcol}` }} error={personScopeForm.getError(fields)}
|
||||
tipPosition="bottom">
|
||||
{
|
||||
getKey(fields) === "employeeStatus" &&
|
||||
<WeaCheckbox value={checked ? "1" : "0"} content={getLabel(111, "全选")}
|
||||
onChange={this.handleChangeAll}/>
|
||||
}
|
||||
<WeaSwitch fieldConfig={fields} form={personScopeForm} formParams={formParams}
|
||||
onChange={this.handleChange}/>
|
||||
</WeaFormItem>),
|
||||
hide: fields.hide
|
||||
});
|
||||
});
|
||||
group.push(<WeaSearchGroup col={1} needTigger showGroup={c.defaultshow} items={items}/>);
|
||||
});
|
||||
return group;
|
||||
};
|
||||
handleChangeAll = (val) => {
|
||||
const { taxAgentStore: { personScopeForm } } = this.props, { employeeStatus } = this.state;
|
||||
val === "1" ? personScopeForm.updateFields({ employeeStatus: { value: _.map(employeeStatus, o => o.id).join(",") } }) :
|
||||
personScopeForm.updateFields({ employeeStatus: { value: "" } });
|
||||
};
|
||||
handleChange = (params) => {
|
||||
const { taxAgentStore: { personScopeForm } } = this.props, { employeeStatus } = this.state;
|
||||
const key = _.keys(params)[0], value = params[key].value;
|
||||
if (
|
||||
(key === "employeeStatus" && value.indexOf("ALL") !== -1)
|
||||
// (key === "employeeStatus" && value.indexOf("ALL") === -1 && _.every(employeeStatus, o => value.indexOf(o.id) !== -1))
|
||||
) {
|
||||
personScopeForm.updateFields({ [key]: { value: "ALL," + _.map(employeeStatus, o => o.id).join(",") } });
|
||||
} else if (key === "employeeStatus" && value.indexOf("ALL") === -1) {
|
||||
console.log(1)
|
||||
// personScopeForm.updateFields({ [key]: { value: "" } });
|
||||
}
|
||||
console.log(params);
|
||||
};
|
||||
handleReset = () => {
|
||||
this.setState({
|
||||
targetType: "EMPLOYEE",
|
||||
targetTypeIds: "",
|
||||
status: "",
|
||||
statusAll: ""
|
||||
});
|
||||
console.log(params, key, value);
|
||||
};
|
||||
|
||||
render() {
|
||||
|
|
@ -156,15 +180,11 @@ class PersonalScopeModal extends Component {
|
|||
const { employeeStatus, targetTypeList, targetType, status, statusAll, loading, conditions } = this.state;
|
||||
const buttons = [
|
||||
<Button type="primary" onClick={this.taxAgentRangeSave} loading={loading}>确定</Button>,
|
||||
<Button type="ghost" onClick={this.handleReset}>重置</Button>
|
||||
<Button type="ghost" onClick={() => personScopeForm.renderForm()}>重置</Button>
|
||||
];
|
||||
return (
|
||||
<WeaDialog initLoadCss title={title} visible={visible} style={{ width: 600 }} buttons={buttons}
|
||||
onCancel={() => {
|
||||
this.handleReset();
|
||||
onCancel();
|
||||
}}>
|
||||
<div className="form-dialog-layout">{getSearchs(personScopeForm, conditions, 1, false, this.handleChange)}</div>
|
||||
<WeaDialog {...this.props} initLoadCss title={title} style={{ width: 600 }} buttons={buttons}>
|
||||
<div className="form-dialog-layout">{this.renderForm()}</div>
|
||||
{/*<WeaSearchGroup col={1} needTigger title="" showGroup center>*/}
|
||||
{/* <WeaFormItem*/}
|
||||
{/* label="对象类型"*/}
|
||||
|
|
|
|||
Loading…
Reference in New Issue