631 lines
14 KiB
JavaScript
631 lines
14 KiB
JavaScript
import { observable, action } from 'mobx';
|
||
import {WeaTableNew,WeaForm} from 'comsMobx'
|
||
const {TableStore} = WeaTableNew;
|
||
import { WeaTools,WeaLocaleProvider } from 'ecCom';
|
||
import {message,Modal} from 'antd';
|
||
const confirm = Modal.confirm;
|
||
import * as Prj_Apis from '../apis/project'
|
||
import * as Task_Apis from "../apis/task"
|
||
const getLabel = WeaLocaleProvider.getLabel;
|
||
|
||
/**
|
||
* @author ljc 2017-12-19
|
||
* 项目分享通用store模板,实例:任务执行,项目执行等共享设置modal/
|
||
*/
|
||
export class ShareStore{
|
||
@observable title = getLabel(611,"添加")+getLabel(2112,"共享设置");
|
||
shareCondition = [
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharetype"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(21956,"对象类型"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(179,"人力资源")
|
||
}, {
|
||
"key": "5",
|
||
"selected": false,
|
||
"showname": getLabel(141,"分部")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(124,"部门")
|
||
}, {
|
||
"key": "11",
|
||
"selected": false,
|
||
"showname": getLabel(6086,"岗位")
|
||
}, {
|
||
"key": "3",
|
||
"selected": false,
|
||
"showname": getLabel(122,"角色")
|
||
}, {
|
||
"key": "4",
|
||
"selected": false,
|
||
"showname": getLabel(1340,"所有人")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}, {
|
||
"2": [[
|
||
{
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "57",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"relatedshareid"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(106,"对象"),
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "INPUT_INTERVAL",
|
||
"needDefaultValue":false,
|
||
"domkey": [
|
||
"seclevel",
|
||
"seclevelMax"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(683,"安全级别"),
|
||
"labelcol": 6,
|
||
"value": [
|
||
0,
|
||
''
|
||
],
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
],
|
||
"5": [[
|
||
{
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "194",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"relatedshareid"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(106,"对象"),
|
||
"labelcol": 6,
|
||
"value": 3,
|
||
"viewAttr": 2
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "INPUT_INTERVAL",
|
||
"needDefaultValue":false,
|
||
"domkey": [
|
||
"seclevel",
|
||
"seclevelMax"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(683,"安全级别"),
|
||
"labelcol": 6,
|
||
"value": [
|
||
0,
|
||
''
|
||
],
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
],
|
||
"1": [[
|
||
{
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "17",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"relatedshareid"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(106,"对象"),
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
],
|
||
"11": [[
|
||
{
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "278",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"relatedshareid"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(106,"对象"),
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT_LINKAGE",
|
||
"domkey": [
|
||
"joblevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(28169,"岗位级别"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "0",
|
||
"selected": true,
|
||
"showname": getLabel(140,"总部")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(19437,"指定分部")
|
||
}, {
|
||
"key": "1",
|
||
"selected": false,
|
||
"showname": getLabel(19438,"指定部门")
|
||
}
|
||
],
|
||
"selectLinkageDatas": {
|
||
"1": {
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "57",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"jobtitledepartment"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": "",
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
},
|
||
"2": {
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": false,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "194",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"jobtitlesubcompany"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": "",
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
}
|
||
},
|
||
"viewAttr": 2
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
],
|
||
"4": [[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "INPUT_INTERVAL",
|
||
"needDefaultValue":false,
|
||
"domkey": [
|
||
"seclevel",
|
||
"seclevelMax"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(683,"安全级别"),
|
||
"labelcol": 6,
|
||
"value": [
|
||
0,
|
||
''
|
||
],
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
],
|
||
"3": [[
|
||
{
|
||
"browserConditionParam": {
|
||
"completeParams": {},
|
||
"conditionDataParams": {},
|
||
"dataParams": {},
|
||
"destDataParams": {},
|
||
"hasAddBtn": false,
|
||
"hasAdvanceSerach": true,
|
||
"idSeparator": ",",
|
||
"isAutoComplete": 1,
|
||
"isDetail": 0,
|
||
"isMultCheckbox": false,
|
||
"isSingle": true,
|
||
"pageSize": 10,
|
||
"quickSearchName": "",
|
||
"type": "65",
|
||
"viewAttr": 3
|
||
},
|
||
"colSpan": 2,
|
||
"conditionType": "BROWSER",
|
||
"domkey": [
|
||
"relatedshareid"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(106,"对象"),
|
||
"labelcol": 6,
|
||
"viewAttr": 3
|
||
}, {
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"rolelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(139,"级别"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "0",
|
||
"selected": true,
|
||
"showname": getLabel(124,"部门")
|
||
}, {
|
||
"key": "1",
|
||
"selected": false,
|
||
"showname": getLabel(141,"分部")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(140,"总部")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "INPUT_INTERVAL",
|
||
"needDefaultValue":false,
|
||
"domkey": [
|
||
"seclevel",
|
||
"seclevelMax"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(683,"安全级别"),
|
||
"labelcol": 6,
|
||
"value": [
|
||
0,
|
||
''
|
||
],
|
||
"viewAttr": 3
|
||
}
|
||
],[
|
||
{
|
||
"colSpan": 2,
|
||
"conditionType": "SELECT",
|
||
"domkey": [
|
||
"sharelevel"
|
||
],
|
||
"fieldcol": 18,
|
||
"isQuickSearch": false,
|
||
"label": getLabel(385,"权限"),
|
||
"labelcol": 6,
|
||
"options": [
|
||
{
|
||
"key": "1",
|
||
"selected": true,
|
||
"showname": getLabel(33564,"查看")
|
||
}, {
|
||
"key": "2",
|
||
"selected": false,
|
||
"showname": getLabel(93,"编辑")
|
||
}
|
||
],
|
||
"viewAttr": 2
|
||
}
|
||
]
|
||
]
|
||
}
|
||
]
|
||
datakey = "";
|
||
@observable tableStore = new TableStore();
|
||
@observable rightMenu = [];
|
||
@observable targetid = "";
|
||
@observable type = "";
|
||
|
||
@observable visible = false;
|
||
|
||
@action
|
||
handleShareDialog = (bool,type,id ,params={}) =>{
|
||
this.visible = bool;
|
||
if(bool){
|
||
if(type == "prj"){
|
||
this.getPrjShareList(type,id ,params={});
|
||
}else if(type == "task"){
|
||
this.getTaskShareList(type,id ,params={});
|
||
}
|
||
}
|
||
}
|
||
//项目
|
||
getPrjShareList=(type,id ,params={})=>{
|
||
this.title = getLabel(101,"项目")+getLabel(2112,"共享设置");
|
||
this.targetid = id;
|
||
this.type = type;
|
||
Prj_Apis.getPrjShare({prjid:id}).then(data=>{
|
||
this.rightMenu = data.rightMenus;
|
||
this.tableStore.getDatas(data.sessionkey, params.current || 1);
|
||
this.dataKey = data.sessionkey;
|
||
})
|
||
}
|
||
//任务
|
||
getTaskShareList= (type,id ,params={})=>{
|
||
this.title = getLabel(1332,"任务")+getLabel(2112,"共享设置");
|
||
this.targetid = id;
|
||
this.type = type;
|
||
Task_Apis.getTaskShareList({taskid:id}).then(data=>{
|
||
this.rightMenu = data.rightMenus;
|
||
this.tableStore.getDatas(data.sessionkey, params.current || 1);
|
||
this.dataKey = data.sessionkey;
|
||
})
|
||
}
|
||
|
||
//添加共享v
|
||
addShare = (value,type)=>{
|
||
if(type == "prj"){
|
||
Prj_Apis.addPrjShare({...value,method:'add',prjid:this.targetid,opttype:type}).then(data=>{
|
||
this.getPrjShareList(type,this.targetid);
|
||
})
|
||
}else if(type == "task"){
|
||
Task_Apis.addTaskShare({...value,method:'add',taskid:this.targetid,opttype:type}).then(data=>{
|
||
this.getTaskShareList(type,this.targetid);
|
||
})
|
||
}
|
||
}
|
||
//批量删除
|
||
delBatchShare = (value,type)=>{
|
||
let _this = this;
|
||
Modal.confirm({
|
||
title: getLabel(15172,"系统提示"),
|
||
content: getLabel(83601,"您确认要删除选中的记录吗?"),
|
||
onOk() {
|
||
if(type == "prj"){
|
||
Prj_Apis.delBatchPjrShare({id:value,method:'batchdelete',prjid:_this.targetid,opttype:type}).then(data=>{
|
||
_this.getPrjShareList(type,_this.targetid);
|
||
})
|
||
}else if(type == "task"){
|
||
Task_Apis.delBatchTaskShare({id:value,method:'batchdelete',taskid:_this.targetid,opttype:type}).then(data=>{
|
||
_this.getTaskShareList(type,_this.targetid);
|
||
})
|
||
}
|
||
|
||
},
|
||
onCancel() { },
|
||
})
|
||
}
|
||
} |