Merge branch 'custom/领悦' into custom/领悦业务线
# Conflicts: # pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/index.js
This commit is contained in:
commit
1b8ff1030c
|
|
@ -33,7 +33,7 @@ class GenerateDataDialog extends Component {
|
|||
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
if (nextProps.visible !== this.props.visible && nextProps.visible) this.initLYForm();
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) nextProps.LYStore.initForm();
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) nextProps.LYStore.initDataForm();
|
||||
}
|
||||
|
||||
initLYForm = () => {
|
||||
|
|
@ -42,16 +42,16 @@ class GenerateDataDialog extends Component {
|
|||
...item, items: _.map(item.items, o => ({ ...o, label: getLabel(o.lanId, o.label) }))
|
||||
}))
|
||||
}, () => {
|
||||
const { LYStore: { form } } = this.props;
|
||||
form.initFormFields(this.state.conditions);
|
||||
const { LYStore: { dataForm } } = this.props;
|
||||
dataForm.initFormFields(this.state.conditions);
|
||||
});
|
||||
};
|
||||
save = () => {
|
||||
const { LYStore: { form }, type, onSearch } = this.props;
|
||||
form.validateForm().then(f => {
|
||||
const { LYStore: { dataForm }, type, onSearch } = this.props;
|
||||
dataForm.validateForm().then(f => {
|
||||
if (f.isValid) {
|
||||
this.setState({ loading: true });
|
||||
const payload = { ...form.getFormParams() };
|
||||
const payload = { ...dataForm.getFormParams() };
|
||||
APIFOX[type](payload).then(({ status, errormsg }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
|
|
@ -69,7 +69,7 @@ class GenerateDataDialog extends Component {
|
|||
|
||||
render() {
|
||||
const { conditions, loading } = this.state;
|
||||
const { LYStore: { form } } = this.props;
|
||||
const { LYStore: { dataForm } } = this.props;
|
||||
return (
|
||||
<WeaDialog
|
||||
{...this.props} style={{ width: 480, height: 80 }} initLoadCss title={getLabel(111, "生成数据")}
|
||||
|
|
@ -77,7 +77,7 @@ class GenerateDataDialog extends Component {
|
|||
<Button type="primary" onClick={this.save} loading={loading}>{getLabel(537558, "保存")}</Button>
|
||||
]}
|
||||
>
|
||||
<div className="form-dialog-layout">{getSearchs(form, conditions, 1, false)}</div>
|
||||
<div className="form-dialog-layout">{getSearchs(dataForm, conditions, 1, false)}</div>
|
||||
</WeaDialog>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,12 +113,17 @@ class List extends Component {
|
|||
};
|
||||
handleOperate = (key) => {
|
||||
const { payload, selectedRowKeys } = this.state;
|
||||
const { type } = this.props;
|
||||
const { type, query, ffgsqcLabel } = this.props;
|
||||
switch (key) {
|
||||
case "GENERATE":
|
||||
this.setState({ visible: true });
|
||||
break;
|
||||
case "GENERATEVOUCHER":
|
||||
const { ffgsqc } = query;
|
||||
if (!ffgsqc) {
|
||||
message.warning(getLabel(111, `${ffgsqcLabel}参数不能为空`));
|
||||
return;
|
||||
}
|
||||
this.setState({ voucherDialog: { ...this.state.voucherDialog, visible: true } });
|
||||
break;
|
||||
case "EXPORTALL":
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* 领悦二开
|
||||
* 核算账簿-推送弹框
|
||||
* @Author: 黎永顺
|
||||
* @Date: 2024/10/10
|
||||
* @Wechat:
|
||||
* @Email: 971387674@qq.com
|
||||
* @description:
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaDialog, WeaLocaleProvider } from "ecCom";
|
||||
import { Button } from "antd";
|
||||
import { acctBookConditions } from "./conditions";
|
||||
import { getSearchs } from "../../../../util";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
|
||||
@inject("LYStore")
|
||||
@observer
|
||||
class AcctBookDialog extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = { conditions: [] };
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps, nextContext) {
|
||||
if (nextProps.visible !== this.props.visible && nextProps.visible) this.acctBookForm();
|
||||
if (nextProps.visible !== this.props.visible && !nextProps.visible) nextProps.LYStore.initAcctBookForm();
|
||||
}
|
||||
|
||||
acctBookForm = () => {
|
||||
this.setState({
|
||||
conditions: _.map(acctBookConditions, item => ({
|
||||
...item, items: _.map(item.items, o => ({ ...o, label: getLabel(o.lanId, o.label) }))
|
||||
}))
|
||||
}, () => {
|
||||
const { LYStore: { acctBookForm } } = this.props;
|
||||
acctBookForm.initFormFields(this.state.conditions);
|
||||
});
|
||||
};
|
||||
save = () => {
|
||||
const { LYStore: { acctBookForm } } = this.props;
|
||||
acctBookForm.validateForm().then(f => {
|
||||
if (f.isValid) {
|
||||
this.props.onPushNotifications();
|
||||
} else {
|
||||
f.showErrors();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
render() {
|
||||
const { conditions } = this.state;
|
||||
const { LYStore: { acctBookForm }, loading } = this.props;
|
||||
return (
|
||||
<WeaDialog
|
||||
{...this.props} style={{ width: 480, height: 80 }} initLoadCss title={getLabel(111, "凭证推送")}
|
||||
buttons={[
|
||||
<Button type="primary" onClick={this.save} loading={loading}>{getLabel(111, "推送")}</Button>
|
||||
]}
|
||||
>
|
||||
<div className="form-dialog-layout">{getSearchs(acctBookForm, conditions, 1, false)}</div>
|
||||
</WeaDialog>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default AcctBookDialog;
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
export const acctBookConditions = [
|
||||
{
|
||||
items: [
|
||||
{
|
||||
browserConditionParam: {
|
||||
completeParams: {
|
||||
type: 161,
|
||||
fielddbtype: "browser.NCZBBrowser",
|
||||
f_weaver_belongto_usertype: "0"
|
||||
},
|
||||
conditionDataParams: {
|
||||
type: "browser.NCZBBrowser",
|
||||
fielddbtype: "browser.NCZBBrowser",
|
||||
f_weaver_belongto_usertype: "0"
|
||||
},
|
||||
dataParams: {
|
||||
type: "browser.NCZBBrowser",
|
||||
f_weaver_belongto_usertype: "0"
|
||||
},
|
||||
destDataParams: {
|
||||
type: "browser.NCZBBrowser",
|
||||
f_weaver_belongto_usertype: "0"
|
||||
},
|
||||
hasAddBtn: false,
|
||||
hasAdvanceSerach: true,
|
||||
idSeparator: ",",
|
||||
isAutoComplete: 1,
|
||||
isDetail: 0,
|
||||
isMultCheckbox: false,
|
||||
isSingle: true,
|
||||
icon: "icon-coms-hrm",
|
||||
linkUrl: "",
|
||||
pageSize: 10,
|
||||
quickSearchName: "zbmc",
|
||||
replaceDatas: [],
|
||||
title: "",
|
||||
type: "161",
|
||||
viewAttr: 3
|
||||
},
|
||||
conditionType: "BROWSER",
|
||||
domkey: ["zbbm"],
|
||||
fieldcol: 16,
|
||||
label: "核算账簿",
|
||||
lanId: 111,
|
||||
labelcol: 6,
|
||||
rules: "required|string",
|
||||
value: "",
|
||||
viewAttr: 3
|
||||
}
|
||||
],
|
||||
title: "",
|
||||
defaultshow: true
|
||||
}
|
||||
];
|
||||
|
|
@ -8,20 +8,23 @@
|
|||
* @description:
|
||||
*/
|
||||
import React, { Component } from "react";
|
||||
import { inject, observer } from "mobx-react";
|
||||
import { WeaLoadingGlobal, WeaLocaleProvider, WeaTableEdit, WeaTop } from "ecCom";
|
||||
import { Button, message } from "antd";
|
||||
import * as API from "../../../../apis/custom-apis/lingyue";
|
||||
import { getQueryString, getURLParameters } from "../../../../util/url";
|
||||
import CustomBrowser from "../../../../components/CustomBrowser";
|
||||
import AcctBookDialog from "./acctBookDialog";
|
||||
|
||||
const getLabel = WeaLocaleProvider.getLabel;
|
||||
const pzlxEnum = ["0", "1", "2"];//非计提类型的凭证列表可编辑
|
||||
|
||||
@inject("LYStore")
|
||||
@observer
|
||||
class Index extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
datas: [], totalData: [], columns: [], loading: false
|
||||
datas: [], totalData: [], columns: [], loading: false, visible: false
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -68,6 +71,7 @@ class Index extends Component {
|
|||
rowKey: "bh", columns: [
|
||||
{ title: getLabel(111, "名称"), dataIndex: "mc" },
|
||||
{ title: getLabel(111, "辅助核算类型"), dataIndex: "fzhslx" },
|
||||
{ title: getLabel(111, "辅助核算类型编号"), dataIndex: "fzhslxbh" },
|
||||
{ title: getLabel(111, "编号"), dataIndex: "bh" }
|
||||
]
|
||||
},
|
||||
|
|
@ -78,11 +82,13 @@ class Index extends Component {
|
|||
}
|
||||
}}
|
||||
value={value}
|
||||
onChange={(value) => {
|
||||
onEdit({
|
||||
record: { ...record, [col["column"]]: value }, index, key: "custom", value
|
||||
});
|
||||
}}
|
||||
onCustomChange={(value) => onEdit({
|
||||
record: {
|
||||
...record, [`${col["column"]}Obj`]: _.values(value),
|
||||
[col["column"]]: _.map(_.values(value), o => o.bh).join(",")
|
||||
},
|
||||
index, key: "custom", value: _.map(_.values(value), o => o.bh).join(",")
|
||||
})}
|
||||
/>;
|
||||
}
|
||||
}
|
||||
|
|
@ -95,25 +101,52 @@ class Index extends Component {
|
|||
});
|
||||
};
|
||||
pushNotifications = () => {
|
||||
const { datas } = this.state;
|
||||
const { datas } = this.state, { LYStore: { acctBookForm } } = this.props;
|
||||
const payload = {
|
||||
...getURLParameters(window.location.hash),
|
||||
...getURLParameters(window.location.hash), ...acctBookForm.getFormParams(),
|
||||
ffgsqc: decodeURI(getURLParameters(window.location.hash).ffgsqc),
|
||||
dataSource: _.head(datas).dataSource,
|
||||
details: _.map(datas, o => ({
|
||||
zy: o.zy, kjkm: o.kjkm, jfValue: o.jfValue, dfValue: o.dfValue,
|
||||
fzhsXmqs: !o.fzhsXmqs ? "" : _.isString(o.fzhsXmqs) ? o.fzhsXmqs : o.fzhsXmqs.bh,
|
||||
fzhsFwlb: !o.fzhsFwlb ? "" : _.isString(o.fzhsFwlb) ? o.fzhsFwlb : o.fzhsFwlb.bh,
|
||||
fzhsSllb: !o.fzhsSllb ? "" : _.isString(o.fzhsSllb) ? o.fzhsSllb : o.fzhsSllb.bh,
|
||||
fzhsKs: !o.fzhsKs ? "" : _.isString(o.fzhsKs) ? o.fzhsKs : o.fzhsKs.bh,
|
||||
fzhsOtherBmList: !o.fzhsOther ? [] : _.isString(o.fzhsOther) ? o.fzhsOther.split(",") : _.map(o.fzhsOther, o => (o.bh))
|
||||
fzhsXmqs: !o.fzhsXmqs ? {} : _.isString(o.fzhsXmqs) ? {
|
||||
bh: o.fzhsXmqsObj[0].bh,
|
||||
fzhslxbh: o.fzhsXmqsObj[0].fzhslxbh
|
||||
} : {
|
||||
bh: o.fzhsXmqs.bh,
|
||||
fzhslxbh: o.fzhsXmqs.fzhslxbh
|
||||
},
|
||||
fzhsFwlb: !o.fzhsFwlb ? {} : _.isString(o.fzhsFwlb) ? {
|
||||
bh: o.fzhsFwlbObj[0].bh,
|
||||
fzhslxbh: o.fzhsFwlbObj[0].fzhslxbh
|
||||
} : {
|
||||
bh: o.fzhsFwlb.bh,
|
||||
fzhslxbh: o.fzhsFwlb.fzhslxbh
|
||||
},
|
||||
fzhsSllb: !o.fzhsSllb ? {} : _.isString(o.fzhsSllb) ? {
|
||||
bh: o.fzhsSllbObj[0].bh,
|
||||
fzhslxbh: o.fzhsSllbObj[0].fzhslxbh
|
||||
} : {
|
||||
bh: o.fzhsSllb.bh,
|
||||
fzhslxbh: o.fzhsSllb.fzhslxbh
|
||||
},
|
||||
fzhsKs: !o.fzhsKs ? {} : _.isString(o.fzhsKs) ? {
|
||||
bh: o.fzhsKsObj[0].bh,
|
||||
fzhslxbh: o.fzhsKsObj[0].fzhslxbh
|
||||
} : {
|
||||
bh: o.fzhsKs.bh,
|
||||
fzhslxbh: o.fzhsKs.fzhslxbh
|
||||
},
|
||||
fzhsOtherBmList: !o.fzhsOther ? [] : _.isString(o.fzhsOther) ? _.map(o.fzhsOtherObj, k => ({
|
||||
bh: k.bh, fzhslxbh: k.fzhslxbh
|
||||
})) : _.map(o.fzhsOther, o => (o.bh))
|
||||
}))
|
||||
};
|
||||
this.setState({ loading: true });
|
||||
API.pushUCAndSave(payload).then(({ status, errormsg }) => {
|
||||
API.pushUCAndSave(payload).then(({ status, data, errormsg }) => {
|
||||
this.setState({ loading: false });
|
||||
if (status) {
|
||||
message.success(getLabel(111, "操作成功!"));
|
||||
data.status ? message.success(data.errMsg) : message.error(data.errMsg);
|
||||
this.setState({ visible: false });
|
||||
setTimeout(() => window.close(), 1500);
|
||||
} else {
|
||||
message.error(errormsg);
|
||||
|
|
@ -122,14 +155,14 @@ class Index extends Component {
|
|||
};
|
||||
|
||||
render() {
|
||||
const { datas, columns, loading, totalData } = this.state;
|
||||
const { datas, columns, loading, totalData, visible } = this.state;
|
||||
const pzlx = getQueryString("pzlx");
|
||||
return (
|
||||
<WeaTop
|
||||
title={getLabel(111, "凭证预览汇总表")} icon={<i className="icon-coms-fa"/>} showDropIcon={false}
|
||||
iconBgcolor="#F14A2D" className="custom_vouchers_lingyue"
|
||||
buttons={[<Button type="primary" loading={loading} disabled={_.isEmpty(datas)}
|
||||
onClick={this.pushNotifications}>{getLabel(111, "推送")}</Button>]}>
|
||||
buttons={[<Button type="primary" disabled={_.isEmpty(datas)}
|
||||
onClick={() => this.setState({ visible: true })}>{getLabel(111, "推送")}</Button>]}>
|
||||
<div className="vouchers-body">
|
||||
<WeaTableEdit
|
||||
ref={el => this.tableEdit = el} showCopy={false} deleteConfirm
|
||||
|
|
@ -149,6 +182,8 @@ class Index extends Component {
|
|||
datas={totalData} tableProps={{ showHeader: false }}
|
||||
columns={_.map(columns, o => ({ ...o, com: [{ key: o.column, type: "TEXT" }] }))}/>
|
||||
</div>
|
||||
<AcctBookDialog visible={visible} loading={loading} onPushNotifications={this.pushNotifications}
|
||||
onCancel={() => this.setState({ visible: false })}/>
|
||||
</div>
|
||||
</WeaTop>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,8 @@ import { WeaForm } from "comsMobx";
|
|||
export class LYStore {
|
||||
@observable form = new WeaForm();
|
||||
@action initForm = () => this.form = new WeaForm();
|
||||
@observable dataForm = new WeaForm();//生成数据form
|
||||
@action initDataForm = () => this.dataForm = new WeaForm();
|
||||
@observable acctBookForm = new WeaForm(); //推送核算账簿form
|
||||
@action initAcctBookForm = () => this.acctBookForm = new WeaForm();//重置推送核算账簿form
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue