diff --git a/fe/PC/src/utils/processButtonData.js b/fe/PC/src/utils/processButtonData.js index 01d1f6b8c..c21ca0723 100644 --- a/fe/PC/src/utils/processButtonData.js +++ b/fe/PC/src/utils/processButtonData.js @@ -1,64 +1,90 @@ //申请流程按钮 /** - * @param {*} that 主页this + * @param {*} that 主页this + * @param {*} label 特殊label名称更改 示例:{submitRequest:'确认提交'} + * @param {*} initHide 自定义返回是否隐藏函数 {submitRequest:() => {return false)} + * @param {*} noShow 不显示的按钮 示例:['submitRequest'] + * initHide优先级大于noShow 如果initHide和noShow中都有对应数据,则noShow无效 + * vue调用文件参考示例: + * 1、使用 label 更改按钮名称 + DrawerButtonData: [ + ...requestData(this,{againHandleRequest:'新按钮名称'}), + ] + * 2、使用 initHide 函数处理是否隐藏 againHandleRequestInit为业务线判断隐藏函数,返回值为false/true + DrawerButtonData: [ + ...requestData(this,false,{ + againHandleRequest:() => {return this.againHandleRequestInit([9])} + }), + ] + * 3、使用 noShow 隐藏按钮 + DrawerButtonData: [ + ...requestData(this,false,false,['againHandleRequest']), + ] * @returns */ - export function requestData(that,label){ + export function requestData(that,label,initHide,noShow){ return [ { type: 'primary', icon: 'el-icon-circle-check', - label: label==undefined?'提交':label, + // label: label==undefined?'提交':label, + label: changeLabelText(label,'submitRequest')?changeLabelText(label,'submitRequest'):'提交', name: "submitRequest", - hide: () => { return hideButtonRequest(that, [1]) }, + hide: () => { return hideButtonRequest(that, [1], initHide, noShow , 'submitRequest') }, size: 'mini' }, { type: 'primary', icon: 'el-icon-circle-check', - label: label==undefined?'审批':label, + // label: label==undefined?'审批':label, + label: changeLabelText(label,'agreeRequest')?changeLabelText(label,'agreeRequest'):'审批', name: "agreeRequest", - hide: () => { return hideButtonRequest(that, [2]) }, + hide: () => { return hideButtonRequest(that, [2], initHide, noShow , 'agreeRequest') }, size: 'mini' }, { type: 'primary', icon: 'el-icon-circle-check', - label: label==undefined?'处理':label, + // label: label==undefined?'处理':label, + label: changeLabelText(label,'handleRequest')?changeLabelText(label,'handleRequest'):'处理', name: "handleRequest", - hide: () => { return hideButtonRequest(that, [4]) }, + hide: () => { return hideButtonRequest(that, [4], initHide, noShow , 'handleRequest') }, size: 'mini' }, { type: 'primary', icon: 'el-icon-circle-check', - label: '执行', + // label: '执行', + label: changeLabelText(label,'againHandleRequest')?changeLabelText(label,'againHandleRequest'):'执行', name: "againHandleRequest", - hide: () => { return hideButtonRequest(that, [9]) }, + hide: () => { return hideButtonRequest(that, [9], initHide, noShow , 'againHandleRequest') }, size: 'mini' }, { type: 'danger', icon: 'el-icon-delete-solid', - label: '中止', + // label: '中止', + label: changeLabelText(label,'abortRequest')?changeLabelText(label,'abortRequest'):'中止', name: "abortRequest", - hide: () => { return hideButtonRequest(that, [5]) }, + hide: () => { return hideButtonRequest(that, [5], initHide, noShow , 'abortRequest') }, size: 'mini' }, { type: 'danger', icon: 'el-icon-circle-check', - label: '驳回', + // label: '驳回', + label: changeLabelText(label,'refuseRequest')?changeLabelText(label,'refuseRequest'):'驳回', name: "refuseRequest", - hide: () => { return hideButtonRequest(that, [2]) }, + hide: () => { return hideButtonRequest(that, [2], initHide, noShow , 'refuseRequest') }, size: 'mini' }, { type: 'danger', icon: 'el-icon-delete-solid', - label: '取消', + // label: '取消', + label: changeLabelText(label,'cancelRequest')?changeLabelText(label,'cancelRequest'):'取消', name: "cancelRequest", - hide: () => { return hideButtonRequest(that, [1,2,4]) }, + hide: () => { return hideButtonRequest(that, [1,2,4], initHide, noShow , 'cancelRequest') }, size: 'mini' }, // { @@ -130,13 +156,23 @@ ] } -function hideButtonRequest(that, val) { +function hideButtonRequest(that, val, initHide, noShow, name) { let data = true - val.forEach(key => { - if (that.propsData.requestStatus == key) { - data = false + // 走自定义是否隐藏事件 + if(initHide && initHide[name]){ + data = initHide[name]() + }else{ + // 隐藏按钮中是否有此按钮 + if(noShow && noShow.indexOf(name) >= 0){ + data = true + }else{ + val.forEach(key => { + if (that.propsData.requestStatus == key) { + data = false + } + }) } - }) + } return data } @@ -148,4 +184,12 @@ function hideButtonJob(that, val) { } }) return data +} + +// 更改按钮自定义特殊名称 +function changeLabelText(labels,name){ + if(labels && labels[name]){ + return labels[name] + } + return false } \ No newline at end of file