ncpub-multipage-demo-develo.../src/sscivm/invoiceApplication/invoiceApl/card/common/setBtnVisable.js

392 lines
17 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*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=*/