weaver_trunk_cli/pc4mobx/prj/components/common/sharePage.js

623 lines
20 KiB
JavaScript
Raw Normal View History

2023-03-08 15:22:38 +08:00
import {Button,Row,Col,Icon,message,Modal} from 'antd';
import {WeaTab,WeaAuth,WeaAlertPage,WeaLocaleProvider } from 'ecCom';
import {inject, observer} from "mobx-react";
import {toJS} from 'mobx';
import {WeaTableNew} from 'comsMobx';
import * as Apis from '../../apis/project';
const WeaTable = WeaTableNew.WeaTable;
const getLabel = WeaLocaleProvider.getLabel;
@observer
export default class TaskShare extends React.Component {
constructor(props) {
super(props);
}
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": false,
"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
}
]
]
}
];
componentDidMount(){
Apis.getDetachable().then(data=>{
if(data.appDetachDisableAll){//禁用所有人选项
let temp =this.shareCondition[0];
temp.options.splice(5,1);
this.shareCondition[0] = temp ;
}
});
}
componentWillReceiveProps(nextProps) {
}
render() {
const {contentStore:{shareTableStore,isShowShare,showAddShareModal,shareRight:{hasRight,verified}},contentStore,title} = this.props;
if (verified && !hasRight) {
return (<WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@hzux0g`} >
<div style={{color : '#000'}}>
{getLabel(2012,"对不起,您暂时没有权限!")}
</div>
</WeaAlertPage>
)
}
if (verified && hasRight) {
return (
<div >
<WeaTable ecId={`${this && this.props && this.props.ecId || ''}_WeaTable@vx573t`}
comsWeaTableStore={shareTableStore}
hasOrder={true}
needScroll={false}
onOperatesClick={this.onOperatesClick.bind(this)}
/>
<WeaAuth ecId={`${this && this.props && this.props.ecId || ''}_WeaAuth@un2b30`}
visible={isShowShare}
conditions={toJS(this.shareCondition)}
title={title}
icon={"icon-coms-project"}
iconBgcolor="#217346"
onOk={v => {
contentStore.addShare(v);
showAddShareModal(false);
}}
onCancel={() => {
showAddShareModal(false);
}}
/>
</div>)
}
return <div></div>
}
onOperatesClick=(record,index,operate,flag)=>{
const {contentStore} = this.props;
let _href = operate && operate.href ? operate.href : "";
let fn = _href.replace("javascript:","");
fn = fn.substring(0,fn.indexOf('('));
let that = this;
if(fn != ""){
if('onDel' == fn){ //删除
contentStore.delBatchShare(record.id);
}
}
}
}