|
|
@ -1,70 +1,96 @@ |
|
|
|
//申请流程按钮
|
|
|
|
/** |
|
|
|
* @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' |
|
|
|
}, |
|
|
|
// {
|
|
|
|
// type: 'primary',
|
|
|
|
// icon: 'el-icon-circle-check',
|
|
|
|
// label: '执行',
|
|
|
|
// label: '执行完成',
|
|
|
|
// name: "completeRequest",
|
|
|
|
// hide: () => { return hideButtonRequest(that, [5]) },
|
|
|
|
// 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 |
|
|
|
} |
|
|
|
|
|
|
@ -149,3 +185,11 @@ function hideButtonJob(that, val) { |
|
|
|
}) |
|
|
|
return data |
|
|
|
} |
|
|
|
|
|
|
|
// 更改按钮自定义特殊名称
|
|
|
|
function changeLabelText(labels,name){ |
|
|
|
if(labels && labels[name]){ |
|
|
|
return labels[name] |
|
|
|
} |
|
|
|
return false |
|
|
|
} |