Browse Source

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

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

86
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
}
Loading…
Cancel
Save