/*7Qi4TxJna0vD/xYGyTdh0/XwQQgzIBaBeDD+oThdyLA=*/ import presetVar from '../presetVar' import { getscene, sceneEnmu } from 'ssccommon/utils/scene'; function setBtnVisable(status, data) { // 设置按钮显示状态 let btnVisable = {}; let btndisable = {}; switch (status) { case presetVar.status.browse: let billstatus = data.rows[0].values['billstatus'].value; let kpzt = data.rows[0].values['kpzt'].value; //修改按钮 let isRed = data.rows[0].values['hzfp'].value; let isInvalid = data.rows[0].values['zffp'].value; if (isRed || isInvalid) { btnVisable[presetVar.headBtns.Edit] = false; } // 设置翻页按钮 this.props.cardPagination.setCardPaginationVisible('cardPaginationBtn', true); // 基础按钮 // 新增、删除 btnVisable[presetVar.headBtns.Add] = true; if (billstatus == presetVar.billstatusEnum.Free) { btnVisable[presetVar.headBtns.Delete] = true; } else { btnVisable[presetVar.headBtns.Delete] = false; } // 修改 if (billstatus == presetVar.billstatusEnum.Approved) { // 已审批时,不可见 btnVisable[presetVar.headBtns.Edit] = false; } else if (billstatus == presetVar.billstatusEnum.Free) { // 自由态 if (getscene(this.props).scene == sceneEnmu.MAKEBILL) { // 制单场景可见 btnVisable[presetVar.headBtns.Edit] = true; } else { // 其他场景不可见 btnVisable[presetVar.headBtns.Edit] = false; } } else { // 自由、以审批以外 if (getscene(this.props).scene == sceneEnmu.APPROVESCE) { // 审批场景可见 btnVisable[presetVar.headBtns.Edit] = true; } else { // 其他场景不可见 btnVisable[presetVar.headBtns.Edit] = false; } } btnVisable[presetVar.headBtns.Copy] = true; btnVisable[presetVar.headBtns.refresh] = true; btnVisable[presetVar.headBtns.Save] = false; btnVisable[presetVar.headBtns.Cancel] = false; // 导入导出相关按钮 btnVisable[presetVar.headBtns.Import] = true; btnVisable[presetVar.headBtns.Export] = true; btnVisable[presetVar.headBtns.ExportTemplate] = true; // 开票预览按钮 btnVisable[presetVar.headBtns.MakeInvoicePreview] = true; // 提交按钮 // btnVisable[presetVar.headBtns.CommitGroup] = true; if (billstatus == presetVar.billstatusEnum.Free) { btnVisable[presetVar.headBtns.Commit] = true; } else { btnVisable[presetVar.headBtns.Commit] = false; } // 收回按钮控制 if (billstatus == presetVar.billstatusEnum.Commit) { btnVisable[presetVar.headBtns.Uncommit] = true; } else if (billstatus == presetVar.billstatusEnum.Approved) { if (kpzt) { btnVisable[presetVar.headBtns.Uncommit] = false; } else { btnVisable[presetVar.headBtns.Uncommit] = true; } } else { btnVisable[presetVar.headBtns.Uncommit] = false; } // 取消开票功能按钮 let invoiceing_jshj = data.rows[0].values['invoiceing_jshj'].value || 0; let invoiced_jshj = data.rows[0].values['invoiced_jshj'].value || 0; btnVisable[presetVar.headBtns.CancelMakeInvoice] = true; if (+invoiceing_jshj != 0) { // 显示 :在途金额(invoiceing_jshj)<>0 btndisable[presetVar.headBtns.CancelMakeInvoice] = false; } else { btndisable[presetVar.headBtns.CancelMakeInvoice] = true; } // 开票功能按钮、开票预览按钮 (caninvoice_jshj)可开价税合计 let caninvoice_jshj = data.rows[0].values['caninvoice_jshj'].value || 0; btnVisable[presetVar.headBtns.MakeInvoice] = true; // 审批通过且可开价税合计!=0,开票按钮可用,开票预览按钮可用 if (+caninvoice_jshj != 0 && billstatus == presetVar.billstatusEnum.Approved) { // 显示:可开金额(caninvoice_jshj)<>0 btndisable[presetVar.headBtns.MakeInvoice] = false; btnVisable[presetVar.headBtns.MakeInvoicePreview] = true; } else { btndisable[presetVar.headBtns.MakeInvoice] = true; btnVisable[presetVar.headBtns.MakeInvoicePreview] = false; } // 如果开票和取消开票按钮都不显示 if (btndisable[presetVar.headBtns.CancelMakeInvoice] == true && btndisable[presetVar.headBtns.MakeInvoice] == true) { btnVisable[presetVar.headBtns.CancelMakeInvoice] = false; btnVisable[presetVar.headBtns.MakeInvoice] = false; } // 开票情况 if ((+invoiceing_jshj != 0 || +invoiced_jshj != 0) && billstatus == presetVar.billstatusEnum.Approved) { // 显示 :在途金额(invoiceing_jshj)<>0 || 已开金额(invoiced_jshj)<>0 btnVisable[presetVar.headBtns.InvSituation] = true; } else { btnVisable[presetVar.headBtns.InvSituation] = false; } // 联查按钮 // if (+invoiced_jshj != 0) { btnVisable[presetVar.headBtns.LinkInvoice] = true; } else { btnVisable[presetVar.headBtns.LinkInvoice] = false; } // 来源单据 let src_pkbusibill = data.rows[0].values['src_pkbusibill'].value; // 控制联查单据按钮 if (src_pkbusibill) { btnVisable[presetVar.headBtns.LinkBill] = true; } else { btnVisable[presetVar.headBtns.LinkBill] = false; } // 控制联查审批情况按钮 if (billstatus != presetVar.billstatusEnum.Free) { btnVisable[presetVar.headBtns.LinkAprove] = true; } else { btnVisable[presetVar.headBtns.LinkAprove] = false; } // 控制联查按钮 if (btnVisable[presetVar.headBtns.LinkInvoice] || btnVisable[presetVar.headBtns.LinkBill] || btnVisable[presetVar.headBtns.LinkAprove]) { btnVisable[presetVar.headBtns.LinkGroup] = true; } else { btnVisable[presetVar.headBtns.LinkGroup] = false; } // 附件按钮 btnVisable[presetVar.headBtns.Options] = true; // 打印按钮 btnVisable[presetVar.headBtns.Print] = true; // 表体按钮 btnVisable[presetVar.cardBodyBtns.AddLine] = false; btnVisable[presetVar.cardBodyBtns.DelLineBatch] = false; btnVisable[presetVar.cardBodyBtns.CopyLineBatch] = false; btnVisable[presetVar.cardBodyBtns.PasteToEnd] = false; btnVisable[presetVar.cardBodyBtns.PasteCancel] = false; btnVisable[presetVar.bodyInnerBtns.DelLine] = false; btnVisable[presetVar.bodyInnerBtns.CopyLine] = false; btnVisable[presetVar.bodyInnerBtns.InsertLine] = false; btnVisable[presetVar.bodyInnerBtns.PasteToNext] = false; // 特殊票种明细表体 btnVisable[presetVar.card2BodyBtns.AddLine] = false; btnVisable[presetVar.card2BodyBtns.DelLineBatch] = false; btnVisable[presetVar.card2BodyBtns.CopyLineBatch] = false; btnVisable[presetVar.card2BodyBtns.PasteToEnd] = false; btnVisable[presetVar.card2BodyBtns.PasteCancel] = false; btnVisable[presetVar.body2InnerBtns.CopyLine] = false; btnVisable[presetVar.body2InnerBtns.InsertLine] = false; btnVisable[presetVar.body2InnerBtns.PasteToNext] = false; break; case presetVar.status.add: // 设置翻页按钮不显示 this.props.cardPagination.setCardPaginationVisible('cardPaginationBtn', false); // 调用编辑场景按钮控制 serEditScene4ButtonVisible(btnVisable); break; case presetVar.status.edit: // 设置翻页按钮不显示 this.props.cardPagination.setCardPaginationVisible('cardPaginationBtn', false); // 调用编辑场景按钮控制 serEditScene4ButtonVisible(btnVisable); break; case 'copy': break; default: // 设置翻页按钮不显示 this.props.cardPagination.setCardPaginationVisible('cardPaginationBtn', false); // 调用编辑场景按钮控制 serEditScene4ButtonVisible(btnVisable); break; } // 设置按钮显示隐藏 this.props.button.setButtonVisible(btnVisable); // 设置按钮活性 this.props.button.setButtonDisabled(btndisable); } /** * 设置编辑场景按钮显示控制逻辑 * @param {*} btnVisable (按钮显示控制对象{按钮编码:是否显示(true/false)}) */ function serEditScene4ButtonVisible(btnVisable) { // 页面设计默认场景为编辑态 // 基础按钮 btnVisable[presetVar.headBtns.Add] = false; btnVisable[presetVar.headBtns.Edit] = false; btnVisable[presetVar.headBtns.Delete] = false; btnVisable[presetVar.headBtns.Copy] = false; btnVisable[presetVar.headBtns.Save] = true; btnVisable[presetVar.headBtns.Cancel] = true; // 提交按钮 // btnVisable[presetVar.headBtns.CommitGroup] = false; btnVisable[presetVar.headBtns.Commit] = false; btnVisable[presetVar.headBtns.Uncommit] = false; // 开票功能按钮 btnVisable[presetVar.headBtns.MakeInvoice] = false; btnVisable[presetVar.headBtns.InvSituation] = false; // 开票预览按钮 btnVisable[presetVar.headBtns.MakeInvoicePreview] = false; // 联查按钮 btnVisable[presetVar.headBtns.LinkGroup] = false; btnVisable[presetVar.headBtns.LinkInvoice] = false; btnVisable[presetVar.headBtns.LinkBill] = false; btnVisable[presetVar.headBtns.LinkAprove] = false; // 附件按钮 btnVisable[presetVar.headBtns.Options] = false; // 打印按钮 btnVisable[presetVar.headBtns.Print] = false; // 刷新按钮 btnVisable[presetVar.headBtns.refresh] = false; // 导入导出相关按钮 btnVisable[presetVar.headBtns.Import] = false; btnVisable[presetVar.headBtns.Export] = false; btnVisable[presetVar.headBtns.ExportTemplate] = false; // 表体按钮 btnVisable[presetVar.cardBodyBtns.AddLine] = true; btnVisable[presetVar.cardBodyBtns.DelLineBatch] = true; btnVisable[presetVar.cardBodyBtns.CopyLineBatch] = true; btnVisable[presetVar.cardBodyBtns.PasteToEnd] = false; btnVisable[presetVar.cardBodyBtns.PasteCancel] = false; btnVisable[presetVar.bodyInnerBtns.DelLine] = true; btnVisable[presetVar.bodyInnerBtns.CopyLine] = true; btnVisable[presetVar.bodyInnerBtns.InsertLine] = true; btnVisable[presetVar.bodyInnerBtns.PasteToNext] = false; // 特殊票种明细表体按钮 btnVisable[presetVar.card2BodyBtns.AddLine] = true; btnVisable[presetVar.card2BodyBtns.DelLineBatch] = true; btnVisable[presetVar.card2BodyBtns.CopyLineBatch] = true; btnVisable[presetVar.card2BodyBtns.PasteToEnd] = false; btnVisable[presetVar.card2BodyBtns.PasteCancel] = false; btnVisable[presetVar.body2InnerBtns.CopyLine] = true; btnVisable[presetVar.body2InnerBtns.InsertLine] = true; btnVisable[presetVar.body2InnerBtns.PasteToNext] = false; } /** * 设置复制粘贴场景表体按钮状态 * @param btnVisable (按钮显示控制对象{按钮编码:是否显示(true/false)}) * @param copyStatus (复制状态{(true/false)}) */ function setCopyOrPasteSceneButtonVisible(copyStatus,bodyAreaId) { let btnVisable = {}; if (copyStatus === 'Copied') {//已复制状态 if(bodyAreaId===presetVar.bodyAreaId){ btnVisable[presetVar.cardBodyBtns.AddLine] = false; btnVisable[presetVar.cardBodyBtns.DelLineBatch] = false; btnVisable[presetVar.cardBodyBtns.CopyLineBatch] = false; btnVisable[presetVar.cardBodyBtns.PasteToEnd] = true; btnVisable[presetVar.cardBodyBtns.PasteCancel] = true; btnVisable[presetVar.bodyInnerBtns.Edit] = false; btnVisable[presetVar.bodyInnerBtns.CopyLine] = false; btnVisable[presetVar.bodyInnerBtns.InsertLine] = false; btnVisable[presetVar.bodyInnerBtns.DelLine] = false; btnVisable[presetVar.bodyInnerBtns.PasteToNext] = true; }else{ // 特殊票种明细表体行 btnVisable[presetVar.card2BodyBtns.AddLine] = false; btnVisable[presetVar.card2BodyBtns.DelLineBatch] = false; btnVisable[presetVar.card2BodyBtns.CopyLineBatch] = false; btnVisable[presetVar.card2BodyBtns.PasteToEnd] = true; btnVisable[presetVar.card2BodyBtns.PasteCancel] = true; btnVisable[presetVar.body2InnerBtns.CopyLine] = false; btnVisable[presetVar.body2InnerBtns.InsertLine] = false; btnVisable[presetVar.body2InnerBtns.PasteToNext] = true; } } else { if(bodyAreaId===presetVar.bodyAreaId){ btnVisable[presetVar.cardBodyBtns.AddLine] = true; btnVisable[presetVar.cardBodyBtns.DelLineBatch] = true; btnVisable[presetVar.cardBodyBtns.CopyLineBatch] = true; btnVisable[presetVar.cardBodyBtns.PasteToEnd] = false; btnVisable[presetVar.cardBodyBtns.PasteCancel] = false; btnVisable[presetVar.bodyInnerBtns.Edit] = true; btnVisable[presetVar.bodyInnerBtns.CopyLine] = true; btnVisable[presetVar.bodyInnerBtns.InsertLine] = true; btnVisable[presetVar.bodyInnerBtns.DelLine] = true; btnVisable[presetVar.bodyInnerBtns.PasteToNext] = false; }else{ // 特殊票种明细表体行 btnVisable[presetVar.card2BodyBtns.AddLine] = true; btnVisable[presetVar.card2BodyBtns.DelLineBatch] = true; btnVisable[presetVar.card2BodyBtns.CopyLineBatch] = true; btnVisable[presetVar.card2BodyBtns.PasteToEnd] = false; btnVisable[presetVar.card2BodyBtns.PasteCancel] = false; btnVisable[presetVar.body2InnerBtns.CopyLine] = true; btnVisable[presetVar.body2InnerBtns.InsertLine] = true; btnVisable[presetVar.body2InnerBtns.PasteToNext] = false; } } // 设置按钮显示隐藏 this.props.button.setButtonVisible(btnVisable); } function setAllBtnUnVisable() { let btnVisable = {}; // 基础按钮 btnVisable[presetVar.headBtns.Add] = false; btnVisable[presetVar.headBtns.Edit] = false; btnVisable[presetVar.headBtns.Delete] = false; btnVisable[presetVar.headBtns.Copy] = false; btnVisable[presetVar.headBtns.Save] = false; btnVisable[presetVar.headBtns.Cancel] = false; btnVisable[presetVar.headBtns.LinkGroup] = false; // 提交按钮 // btnVisable[presetVar.headBtns.CommitGroup] = false; btnVisable[presetVar.headBtns.Commit] = false; btnVisable[presetVar.headBtns.Uncommit] = false; // 开票功能按钮 btnVisable[presetVar.headBtns.MakeInvoice] = false; btnVisable[presetVar.headBtns.InvSituation] = false; // 联查按钮 // btnVisable[presetVar.headBtns.LinkGroup] = false; btnVisable[presetVar.headBtns.LinkInvoice] = false; btnVisable[presetVar.headBtns.LinkBill] = false; btnVisable[presetVar.headBtns.LinkAprove] = false; // 附件按钮 btnVisable[presetVar.headBtns.Options] = false; // 打印按钮 btnVisable[presetVar.headBtns.Print] = false; // 开票预览按钮 btnVisable[presetVar.headBtns.MakeInvoicePreview] = false; // 表体按钮 btnVisable[presetVar.cardBodyBtns.AddLine] = false; btnVisable[presetVar.bodyInnerBtns.DelLine] = false; btnVisable[presetVar.cardBodyBtns.DelLineBatch] = false; btnVisable[presetVar.cardBodyBtns.CopyLineBatch] = false; btnVisable[presetVar.cardBodyBtns.PasteToEnd] = false; btnVisable[presetVar.cardBodyBtns.PasteCancel] = false; btnVisable[presetVar.bodyInnerBtns.CopyLine] = false; btnVisable[presetVar.bodyInnerBtns.InsertLine] = false; btnVisable[presetVar.bodyInnerBtns.PasteToNext] = false; // 特殊票种明细表体行 btnVisable[presetVar.card2BodyBtns.AddLine] = false; btnVisable[presetVar.card2BodyBtns.DelLineBatch] = false; btnVisable[presetVar.card2BodyBtns.CopyLineBatch] = false; btnVisable[presetVar.card2BodyBtns.PasteToEnd] = false; btnVisable[presetVar.card2BodyBtns.PasteCancel] = false; btnVisable[presetVar.body2InnerBtns.CopyLine] = false; btnVisable[presetVar.body2InnerBtns.InsertLine] = false; btnVisable[presetVar.body2InnerBtns.PasteToNext] = false; // 设置按钮显示隐藏 this.props.button.setButtonVisible(btnVisable); } export { setBtnVisable, setAllBtnUnVisable, setCopyOrPasteSceneButtonVisible } /*7Qi4TxJna0vD/xYGyTdh0/XwQQgzIBaBeDD+oThdyLA=*/