|
@@ -1,5 +1,5 @@
|
|
|
import React, { useState, useEffect } from 'react';
|
|
|
-import { FlowchartFormWrapper } from '@antv/xflow';
|
|
|
+import { FlowchartFormWrapper, MODELS, useXFlowApp } from '@antv/xflow';
|
|
|
import { Button, message, Select } from 'antd';
|
|
|
import LuckyExcel from 'luckyexcel';
|
|
|
import {
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
import { PREFIX } from '../constants';
|
|
|
import { UnityAction } from '@/utils/utils';
|
|
|
import { connect } from 'dva';
|
|
|
+import { IProps } from '@/components/Flow/index';
|
|
|
|
|
|
interface ExcelInfo {
|
|
|
file_name?: string;
|
|
@@ -55,6 +56,9 @@ const Component = (props: any) => {
|
|
|
...defaultConfig,
|
|
|
...config,
|
|
|
});
|
|
|
+
|
|
|
+ const app = useXFlowApp();
|
|
|
+ const [meta, setMeta] = useState<IProps['meta']>(null);
|
|
|
const onNodeConfigChange = (key: string, value: number | string | object) => {
|
|
|
if (key) {
|
|
|
setNodeConfig({
|
|
@@ -122,6 +126,12 @@ const Component = (props: any) => {
|
|
|
});
|
|
|
}, [config]);
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
+ MODELS.GRAPH_META.useValue(app.modelService).then((meta: IProps['meta']) => {
|
|
|
+ setMeta(meta);
|
|
|
+ });
|
|
|
+ }, []);
|
|
|
+
|
|
|
const updataFileName = (name: string) => {
|
|
|
var idx = name?.lastIndexOf('/');
|
|
|
let str = name.substring(idx + 1, name.length);
|
|
@@ -158,6 +168,7 @@ const Component = (props: any) => {
|
|
|
<InputFiled
|
|
|
label="标题"
|
|
|
value={nodeConfig.label}
|
|
|
+ disabled={meta?.editMode == 2}
|
|
|
onChange={value => {
|
|
|
onNodeConfigChange('label', value);
|
|
|
}}
|
|
@@ -171,6 +182,7 @@ const Component = (props: any) => {
|
|
|
onChange={value => {
|
|
|
onNodeConfigChange('muti_version', value);
|
|
|
}}
|
|
|
+ disabled={meta?.editMode == 2}
|
|
|
options={[
|
|
|
{ label: '是', value: 1 },
|
|
|
{ label: '否', value: 0 },
|
|
@@ -182,6 +194,7 @@ const Component = (props: any) => {
|
|
|
onChange={value => {
|
|
|
onNodeConfigChange('is_start_node', value);
|
|
|
}}
|
|
|
+ disabled={meta?.editMode == 2}
|
|
|
options={[
|
|
|
{ label: '是', value: 1 },
|
|
|
{ label: '否', value: 0 },
|
|
@@ -218,65 +231,69 @@ const Component = (props: any) => {
|
|
|
onChange={(v: number[]) => {
|
|
|
onNodeConfigChange('role_list', v.join(','));
|
|
|
}}
|
|
|
+ disabled={meta?.editMode == 2}
|
|
|
options={options}
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div className={`${PREFIX}-panel-group`}>
|
|
|
- <h5>样式</h5>
|
|
|
- <Position
|
|
|
- x={nodeConfig.x}
|
|
|
- y={nodeConfig.y}
|
|
|
- onChange={(key, value) => {
|
|
|
- onNodeConfigChange(key, value);
|
|
|
- }}
|
|
|
- />
|
|
|
- <Size
|
|
|
- width={nodeConfig.width}
|
|
|
- height={nodeConfig.height}
|
|
|
- onChange={(key, value) => {
|
|
|
- onNodeConfigChange(key, value);
|
|
|
- }}
|
|
|
- />
|
|
|
- <ColorPicker
|
|
|
- label="填充"
|
|
|
- value={nodeConfig.fill}
|
|
|
- onChange={(value: string) => {
|
|
|
- onNodeConfigChange('fill', value);
|
|
|
- }}
|
|
|
- />
|
|
|
- <ColorPicker
|
|
|
- label="边框"
|
|
|
- value={nodeConfig.stroke}
|
|
|
- onChange={(value: string) => {
|
|
|
- onNodeConfigChange('stroke', value);
|
|
|
- }}
|
|
|
- />
|
|
|
- <InputNumberFiled
|
|
|
- label="消息数量"
|
|
|
- value={nodeConfig.count}
|
|
|
- onChange={value => {
|
|
|
- onNodeConfigChange('count', value);
|
|
|
- }}
|
|
|
- />
|
|
|
- <div style={{ display: 'flex' }}>
|
|
|
- <InputNumberFiled
|
|
|
- label="字号"
|
|
|
- value={nodeConfig.fontSize}
|
|
|
- width={68}
|
|
|
- onChange={value => {
|
|
|
- onNodeConfigChange('fontSize', value);
|
|
|
+ {meta?.editMode != 2 && (
|
|
|
+ <div className={`${PREFIX}-panel-group`}>
|
|
|
+ <h5>样式</h5>
|
|
|
+ <Position
|
|
|
+ x={nodeConfig.x}
|
|
|
+ y={nodeConfig.y}
|
|
|
+ onChange={(key, value) => {
|
|
|
+ onNodeConfigChange(key, value);
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <Size
|
|
|
+ width={nodeConfig.width}
|
|
|
+ height={nodeConfig.height}
|
|
|
+ onChange={(key, value) => {
|
|
|
+ onNodeConfigChange(key, value);
|
|
|
}}
|
|
|
- style={{ marginRight: 10 }}
|
|
|
/>
|
|
|
<ColorPicker
|
|
|
- value={nodeConfig.fontFill}
|
|
|
+ label="填充"
|
|
|
+ value={nodeConfig.fill}
|
|
|
onChange={(value: string) => {
|
|
|
- onNodeConfigChange('fontFill', value);
|
|
|
+ onNodeConfigChange('fill', value);
|
|
|
}}
|
|
|
/>
|
|
|
+ <ColorPicker
|
|
|
+ label="边框"
|
|
|
+ value={nodeConfig.stroke}
|
|
|
+ onChange={(value: string) => {
|
|
|
+ onNodeConfigChange('stroke', value);
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <InputNumberFiled
|
|
|
+ label="消息数量"
|
|
|
+ value={nodeConfig.count}
|
|
|
+ onChange={value => {
|
|
|
+ onNodeConfigChange('count', value);
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <div style={{ display: 'flex' }}>
|
|
|
+ <InputNumberFiled
|
|
|
+ label="字号"
|
|
|
+ value={nodeConfig.fontSize}
|
|
|
+ width={68}
|
|
|
+ onChange={value => {
|
|
|
+ onNodeConfigChange('fontSize', value);
|
|
|
+ }}
|
|
|
+ style={{ marginRight: 10 }}
|
|
|
+ />
|
|
|
+ <ColorPicker
|
|
|
+ value={nodeConfig.fontFill}
|
|
|
+ onChange={(value: string) => {
|
|
|
+ onNodeConfigChange('fontFill', value);
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ )}
|
|
|
+
|
|
|
<Button type="primary" onClick={onSave}>
|
|
|
保存
|
|
|
</Button>
|