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() { }, }) } }