joywok-material-components
Version:
<h1 align="center"> Joywok Material Components </h1>
98 lines (96 loc) • 4.64 kB
JavaScript
// import { DialogFD, ShareObj } from 'joywok-business-components'
import ShareObj from 'joywok-material-components/lib/share/ShareObj';
import DialogFD from 'joywok-material-components/lib/utils/Dialog';
import { COMPONENT_DICT } from '../constants';
/**
* 名 称:CombineShareModal
* 功 能:拼装对象选择器modal
* 入口参数:objTypes 对象类型数组['users','roles','post'] 已选数据?
*
*/
export const CombineShareModal = (params) => {
let objTypes = params.objTypes;
let nav = [];
// let domainname = selfinfo.domains && selfinfo.domains[0] ? selfinfo.domains[0].name : '道勤软件';
let domainname = domaininfo && domaininfo.name ? domaininfo.name : COMPONENT_DICT('label.business.shareobj.dogesoft');
if (objTypes == 'all') {
nav.push({ id: 'domain', name: domainname, op: 1, flag: 'all' })
nav.push({ id: 'dept', name: COMPONENT_DICT('label.business.shareobj.organizational'), op: 1, flag: 'all' })
nav.push({ id: 'mydept', name: COMPONENT_DICT('label.business.shareobj.mydept'), op: 1 })
nav.push({ id: 'role', name: COMPONENT_DICT('label.business.shareobj.role'), op: 1 })
nav.push({ id: 'post', name: COMPONENT_DICT('label.business.shareobj.post'), op: 1 })
} else if (objTypes == 'onlyUser') {
nav.push({ id: 'domain', name: domainname, op: 1, flag: 'onlyuser' })
nav.push({ id: 'dept', name: COMPONENT_DICT('label.business.shareobj.organizational'), op: 1, flag: 'onlyuser' })
nav.push({ id: 'mydept', name: COMPONENT_DICT('label.business.shareobj.mydept'), op: 1, flag: 'onlyuser' })
// nav.push({ id: 'role', name: '按角色选择', op: 1, flag: 'onlyuser' })
// nav.push({ id: 'post', name: '按岗位选择', op: 1, flag: 'onlyuser' })
} else if (objTypes == 'roleAndPost') {
nav.push({ id: 'role', name: COMPONENT_DICT('label.business.shareobj.role'), op: 1, flag: 'onlyuser' })
nav.push({ id: 'post', name: COMPONENT_DICT('label.business.shareobj.post'), op: 1, flag: 'onlyuser' })
} else if (objTypes == 'dept') {
nav.push({ id: 'domain', name: domainname, op: 1, flag: 'all' })
nav.push({ id: 'dept', name: COMPONENT_DICT('label.business.shareobj.organizational'), op: 1, flag: 'onlydept' })
} else if (objTypes == 'userTypeAndRole') {
nav.push({ id: 'category', name: COMPONENT_DICT('label.business.shareobj.user.category'), op: 1, flag: '1' })
nav.push({ id: 'role', name: COMPONENT_DICT('label.business.shareobj.role'), op: 1, flag: 'onlyuser' })
} else if (objTypes == 'region') {
nav.push({ id: 'region', name: COMPONENT_DICT('label.business.shareobj.region')})
} else if (objTypes == 'area') {
nav.push({ id: 'area', name: COMPONENT_DICT('label.business.shareobj.area') })
} else if (objTypes == 'usergroup') {
nav.push({ id: 'usergroup', name: COMPONENT_DICT('lable.business.userscope.add.scope') })
} else if (objTypes == 'subscribe_articles') {
nav.push({ id: 'subscribe_articles', name: COMPONENT_DICT('label.export.media.add.articles') })
} else if (objTypes == 'selJssdk') {
nav.push({ id: 'selJssdk', name: COMPONENT_DICT('label.business.shareobj.jssdk') })
} else if (objTypes == 'area') {
nav.push({ id: 'area', name: i18n('label.usergroup.select.address') })
} else if (objTypes == 'dictParent') {
nav.push({
id: 'dictParent',
name: params.category,
type: params.type ? params.type : '',
dictId: params.dictId ? params.dictId : '',
parent_id: params.parent_id ? params.parent_id : '',
show_entry: params.show_entry ? params.show_entry : '',
flag: params.flag ? params.flag : '',
isSelectGroup: params.isSelectGroup
})
} else {
nav.push({ id: 'domain', name: domainname, op: 1, flag: 'all' })
nav.push({ id: 'dept', name: COMPONENT_DICT('label.business.shareobj.organizational'), op: 1, flag: 'onlydept' })
}
let sharedatas = {
title: params.title,
sk: '',
nowNav: [domaininfo],
sidbarList: [],
select: params.select ? params.select : [],
data: [],
searchInput: params.searchInput,
nav: nav,
file_types: params.file_types ? params.file_types : []
}
if (params.maxSelect) sharedatas.maxSelect = params.maxSelect;
var a = DialogFD({
app: window.dvaApp,
modal: {
style: {
position: 'absolute',
width: '700px',
top: "50%",
left: '50%',
marginLeft: '-350px',
marginTop: '-280px'
},
closable: false
},
data: {
data: sharedatas,
searchUrl: params.searchUrl || '/api/suggestion/search?op=1&s={s}',
},
component: ShareObj,
})
return a;
}