392 lines
17 KiB
JavaScript
392 lines
17 KiB
JavaScript
/*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=*/ |