You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

208 lines
6.4 KiB

const requestDataNames = {
submit:'submitRequest',//提交
agree:'agreeRequest',//审批
handle:'handleRequest',//处理
againHandle:"againHandleRequest",//执行
abort:'abortRequest',//中止
refuse:'refuseRequest',//驳回
cancel:'cancelRequest',//取消
}
export default requestDataNames;
//申请流程按钮
/**
* @param {*} that 主页this
* @param {*} label 特殊label名称更改 示例:{againHandleRequest:'确认提交'}
* @param {*} initHide 自定义返回是否隐藏函数 {againHandleRequest:() => {return false)}
* @param {*} noShow 不显示的按钮 示例:['againHandleRequest']
* 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,initHide,noShow){
return [
{
type: 'primary',
icon: 'el-icon-circle-check',
// label: label==undefined?'提交':label,
label: changeLabelText(label,requestDataNames.submit)?changeLabelText(label,requestDataNames.submit):'提交',
name: requestDataNames.submit,
hide: () => { return hideButtonRequest(that, [1], initHide, noShow , requestDataNames.submit) },
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
// label: label==undefined?'审批':label,
label: changeLabelText(label,requestDataNames.agree)?changeLabelText(label,requestDataNames.agree):'审批',
name: requestDataNames.agree,
hide: () => { return hideButtonRequest(that, [2], initHide, noShow , requestDataNames.agree) },
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
// label: label==undefined?'处理':label,
label: changeLabelText(label,requestDataNames.handle)?changeLabelText(label,requestDataNames.handle):'处理',
name: requestDataNames.handle,
hide: () => { return hideButtonRequest(that, [4], initHide, noShow , requestDataNames.handle) },
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
// label: '执行',
label: changeLabelText(label,requestDataNames.againHandle)?changeLabelText(label,requestDataNames.againHandle):'执行',
name: requestDataNames.againHandle,
hide: () => { return hideButtonRequest(that, [9], initHide, noShow , requestDataNames.againHandle) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-delete-solid',
// label: '中止',
label: changeLabelText(label,requestDataNames.abort)?changeLabelText(label,requestDataNames.abort):'中止',
name: requestDataNames.abort,
hide: () => { return hideButtonRequest(that, [5], initHide, noShow , requestDataNames.abort) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-circle-check',
// label: '驳回',
label: changeLabelText(label,requestDataNames.refuse)?changeLabelText(label,requestDataNames.refuse):'驳回',
name: requestDataNames.refuse,
hide: () => { return hideButtonRequest(that, [2], initHide, noShow , requestDataNames.refuse) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-delete-solid',
// label: '取消',
label: changeLabelText(label,requestDataNames.cancel)?changeLabelText(label,requestDataNames.cancel):'取消',
name: requestDataNames.cancel,
hide: () => { return hideButtonRequest(that, [1,2,4], initHide, noShow , requestDataNames.cancel) },
size: 'mini'
},
// {
// type: 'primary',
// icon: 'el-icon-circle-check',
// label: '执行完成',
// name: "completeRequest",
// hide: () => { return hideButtonRequest(that, [5]) },
// size: 'mini'
// },
]
}
//任务流程按钮
/**
* @param {*} that 主页this
* @returns
*/
export function jobData(that){
return [
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '接受',
name: "acceptJob",
hide: () => { return hideButtonJob(that, [1]) },
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '执行',
name: "handleJob",
hide: () => { return hideButtonJob(that, [2]) },
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '打开',
name: "openJob",
hide: () => { return hideButtonJob(that, [4]) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-circle-close',
label: '关闭',
name: "closeJob",
hide: () => { return hideButtonJob(that, [1]) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-delete-solid',
label: '作废',
name: "invalidJob",
hide: () => { return hideButtonJob(that, [1, 4]) },
size: 'mini'
},
{
type: 'danger',
icon: 'el-icon-circle-close',
label: '取消',
name: "cancelAcceptJob",
hide: () => { return hideButtonJob(that, [2]) },
size: 'mini'
},
]
}
function hideButtonRequest(that, val, initHide, noShow, name) {
let data = true
// 走自定义是否隐藏事件
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
}
function hideButtonJob(that, val) {
let data = true
val.forEach(key => {
if (that.propsData.jobStatus == key) {
data = false
}
})
return data
}
// 更改按钮自定义特殊名称
function changeLabelText(labels,name){
if(labels && labels[name]){
return labels[name]
}
return false
}