Browse Source

申请流程新增特殊功能封装

dev_web_online
安虹睿 2 years ago
parent
commit
a87a19f7e1
  1. 76
      fe/PC/src/utils/processButtonData.js

76
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 * @returns
*/ */
export function requestData(that,label){ export function requestData(that,label,initHide,noShow){
return [ return [
{ {
type: 'primary', type: 'primary',
icon: 'el-icon-circle-check', icon: 'el-icon-circle-check',
label: label==undefined?'提交':label, // label: label==undefined?'提交':label,
label: changeLabelText(label,'submitRequest')?changeLabelText(label,'submitRequest'):'提交',
name: "submitRequest", name: "submitRequest",
hide: () => { return hideButtonRequest(that, [1]) }, hide: () => { return hideButtonRequest(that, [1], initHide, noShow , 'submitRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'primary', type: 'primary',
icon: 'el-icon-circle-check', icon: 'el-icon-circle-check',
label: label==undefined?'审批':label, // label: label==undefined?'审批':label,
label: changeLabelText(label,'agreeRequest')?changeLabelText(label,'agreeRequest'):'审批',
name: "agreeRequest", name: "agreeRequest",
hide: () => { return hideButtonRequest(that, [2]) }, hide: () => { return hideButtonRequest(that, [2], initHide, noShow , 'agreeRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'primary', type: 'primary',
icon: 'el-icon-circle-check', icon: 'el-icon-circle-check',
label: label==undefined?'处理':label, // label: label==undefined?'处理':label,
label: changeLabelText(label,'handleRequest')?changeLabelText(label,'handleRequest'):'处理',
name: "handleRequest", name: "handleRequest",
hide: () => { return hideButtonRequest(that, [4]) }, hide: () => { return hideButtonRequest(that, [4], initHide, noShow , 'handleRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'primary', type: 'primary',
icon: 'el-icon-circle-check', icon: 'el-icon-circle-check',
label: '执行', // label: '执行',
label: changeLabelText(label,'againHandleRequest')?changeLabelText(label,'againHandleRequest'):'执行',
name: "againHandleRequest", name: "againHandleRequest",
hide: () => { return hideButtonRequest(that, [9]) }, hide: () => { return hideButtonRequest(that, [9], initHide, noShow , 'againHandleRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'danger', type: 'danger',
icon: 'el-icon-delete-solid', icon: 'el-icon-delete-solid',
label: '中止', // label: '中止',
label: changeLabelText(label,'abortRequest')?changeLabelText(label,'abortRequest'):'中止',
name: "abortRequest", name: "abortRequest",
hide: () => { return hideButtonRequest(that, [5]) }, hide: () => { return hideButtonRequest(that, [5], initHide, noShow , 'abortRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'danger', type: 'danger',
icon: 'el-icon-circle-check', icon: 'el-icon-circle-check',
label: '驳回', // label: '驳回',
label: changeLabelText(label,'refuseRequest')?changeLabelText(label,'refuseRequest'):'驳回',
name: "refuseRequest", name: "refuseRequest",
hide: () => { return hideButtonRequest(that, [2]) }, hide: () => { return hideButtonRequest(that, [2], initHide, noShow , 'refuseRequest') },
size: 'mini' size: 'mini'
}, },
{ {
type: 'danger', type: 'danger',
icon: 'el-icon-delete-solid', icon: 'el-icon-delete-solid',
label: '取消', // label: '取消',
label: changeLabelText(label,'cancelRequest')?changeLabelText(label,'cancelRequest'):'取消',
name: "cancelRequest", name: "cancelRequest",
hide: () => { return hideButtonRequest(that, [1,2,4]) }, hide: () => { return hideButtonRequest(that, [1,2,4], initHide, noShow , 'cancelRequest') },
size: 'mini' size: 'mini'
}, },
// { // {
@ -130,13 +156,23 @@
] ]
} }
function hideButtonRequest(that, val) { function hideButtonRequest(that, val, initHide, noShow, name) {
let data = true let data = true
// 走自定义是否隐藏事件
if(initHide && initHide[name]){
data = initHide[name]()
}else{
// 隐藏按钮中是否有此按钮
if(noShow && noShow.indexOf(name) >= 0){
data = true
}else{
val.forEach(key => { val.forEach(key => {
if (that.propsData.requestStatus == key) { if (that.propsData.requestStatus == key) {
data = false data = false
} }
}) })
}
}
return data return data
} }
@ -149,3 +185,11 @@ function hideButtonJob(that, val) {
}) })
return data return data
} }
// 更改按钮自定义特殊名称
function changeLabelText(labels,name){
if(labels && labels[name]){
return labels[name]
}
return false
}
Loading…
Cancel
Save