diff --git a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/generateDataDialog.js b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/generateDataDialog.js index 8fd2c024..38ee0712 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/generateDataDialog.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/generateDataDialog.js @@ -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 ( {getLabel(537558, "保存")} ]} > -
{getSearchs(form, conditions, 1, false)}
+
{getSearchs(dataForm, conditions, 1, false)}
); } diff --git a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/list.js b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/list.js index 32a6241b..fb9697f2 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/list.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/components/list.js @@ -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": diff --git a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/acctBookDialog.js b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/acctBookDialog.js new file mode 100644 index 00000000..8f719913 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/acctBookDialog.js @@ -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 ( + {getLabel(111, "推送")} + ]} + > +
{getSearchs(acctBookForm, conditions, 1, false)}
+
+ ); + } +} + +export default AcctBookDialog; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/conditions.js b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/conditions.js new file mode 100644 index 00000000..aa774d15 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/conditions.js @@ -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 + } +]; diff --git a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/index.js b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/index.js index 5ce3fc1e..4ac98408 100644 --- a/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/index.js +++ b/pc4mobx/hrmSalary/pages/custom-pages/lingyue/vouncherSummary/index.js @@ -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 ( } showDropIcon={false} iconBgcolor="#F14A2D" className="custom_vouchers_lingyue" - buttons={[]}> + buttons={[]}>
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" }] }))}/>
+ this.setState({ visible: false })}/>
); diff --git a/pc4mobx/hrmSalary/stores/custom-stores/lingyue/index.js b/pc4mobx/hrmSalary/stores/custom-stores/lingyue/index.js index 9bce3ac6..2e9a4718 100644 --- a/pc4mobx/hrmSalary/stores/custom-stores/lingyue/index.js +++ b/pc4mobx/hrmSalary/stores/custom-stores/lingyue/index.js @@ -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 }