From ab003fccad96beb96d18f8018980e6c75ed03edc Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 08 八月 2023 16:28:43 +0800
Subject: [PATCH] 2023-08-08

---
 src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx |  118 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 52 insertions(+), 66 deletions(-)

diff --git a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx
index 83ef825..de23978 100644
--- a/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx
+++ b/src/tabviews/custom/components/chart/antv-X6/nodeupdate/nodeform.jsx
@@ -1,43 +1,24 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Select, Input, Radio, Tooltip, InputNumber } from 'antd'
+import { Form, Row, Col, Input, Radio, Tooltip, InputNumber } from 'antd'
 import { QuestionCircleOutlined } from '@ant-design/icons'
 
+import MemberForm from './memberform'
 const { TextArea } = Input
 
 class NodeForm extends Component {
   static propTpyes = {
     node: PropTypes.any,
     data: PropTypes.any,
-    rolelist: PropTypes.array
+    orgs: PropTypes.array
   }
 
-  state = {
-    ctrlType: this.props.data.ctrlType || 'role'
-  }
+  state = {}
 
   handleConfirm = () => {
-    const { rolelist } = this.props
-
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
-          if (values.roleId) {
-            values.roleName = ''
-            rolelist.forEach(item => {
-              if (item.RoleID === values.roleId) {
-                values.roleName = item.RoleName
-              }
-            })
-          }
-          if (values.depId) {
-            values.depName = ''
-            rolelist.forEach(item => {
-              if (item.RoleID === values.depId) {
-                values.depName = item.RoleName
-              }
-            })
-          }
           resolve(values)
         } else {
           reject(err)
@@ -47,9 +28,8 @@
   }
 
   render() {
-    const { node, rolelist } = this.props
+    const { node, orgs } = this.props
     const { getFieldDecorator } = this.props.form
-    const { ctrlType } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -61,6 +41,12 @@
       }
     }
     let data = this.props.data || {}
+    let nodetype = node.shape !== 'edge' ? 'node' : 'edge'
+    if (node.mknode === 'start') {
+      nodetype = 'start'
+    } else if (node.mknode === 'end') {
+      nodetype = 'end'
+    }
 
     return (
       <Form {...formItemLayout} className="normal-node-form">
@@ -68,7 +54,7 @@
           <Col span={12}>
             <Form.Item label="鐘舵�佸��">
               {getFieldDecorator('status', {
-                initialValue: data.status || 0,
+                initialValue: data.status === undefined ? 0 : data.status,
                 rules: [
                   {
                     required: true,
@@ -89,7 +75,7 @@
               )}
             </Form.Item>
           </Col>
-          {node.shape !== 'edge' ? <Col span={12}>
+          {nodetype === 'node' ? <Col span={12}>
             <Form.Item label={
               <Tooltip placement="topLeft" title="鏍囪灏嗕綔涓鸿妭鐐笽D">
                 <QuestionCircleOutlined className="mk-form-tip" />
@@ -103,53 +89,53 @@
               )}
             </Form.Item>
           </Col> : null}
-          <Col span={12}>
-            <Form.Item label="绫诲瀷">
-              {getFieldDecorator('ctrlType', {
-                initialValue: data.ctrlType || 'role'
+          {nodetype === 'node' ? <Col span={12}>
+            <Form.Item label="璁剧疆瀹℃壒浜�">
+              {getFieldDecorator('approver', {
+                initialValue: data.approver || 'member'
               })(
-                <Radio.Group onChange={(e) => this.setState({ctrlType: e.target.value})}>
-                  <Radio value="role">瑙掕壊</Radio>
-                  <Radio value="department">閮ㄩ棬</Radio>
-                  <Radio value="none">鏃�</Radio>
+                <Radio.Group>
+                  <Radio value="member">鎸囧畾鎴愬憳</Radio>
+                  <Radio value="departmentManager">閮ㄩ棬涓荤</Radio>
+                  <Radio value="directManager">鐩村睘涓荤</Radio>
                 </Radio.Group>
               )}
             </Form.Item>
+          </Col> : null}
+          {nodetype === 'node' ? <Col span={12}>
+            <Form.Item label="瀹℃壒鏂瑰紡">
+              {getFieldDecorator('approvalMethod', {
+                initialValue: data.approvalMethod || 'countersign'
+              })(
+                <Radio.Group>
+                  <Radio value="countersign">浼氱</Radio>
+                  <Radio value="orsign">鎴栫</Radio>
+                </Radio.Group>
+              )}
+            </Form.Item>
+          </Col> : null}
+          <Col span={12}>
+            <Form.Item label="瀹℃壒浜�">
+              {getFieldDecorator('members', {
+                initialValue: data.members || [],
+                rules: [{
+                  required: true,
+                  message: '璇锋坊鍔犲鎵逛汉!'
+                }]
+              })(
+                <MemberForm orgs={orgs} title="瀹℃壒浜�"/>
+              )}
+            </Form.Item>
           </Col>
-          {ctrlType === 'role' ? <Col span={12}>
-            <Form.Item label="瑙掕壊">
-              {getFieldDecorator('roleId', {
-                initialValue: data.roleId || '',
-                rules: [
-                  {
-                    required: true,
-                    message: '璇烽�夋嫨瑙掕壊!'
-                  }
-                ]
+          <Col span={12}>
+            <Form.Item label="鎶勯�佷汉">
+              {getFieldDecorator('copys', {
+                initialValue: data.copys || []
               })(
-                <Select showSearch filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}>
-                  {rolelist.map(item => (<Select.Option key={item.RoleID} value={item.RoleID}>{item.RoleName}</Select.Option>))}
-                </Select>
+                <MemberForm orgs={orgs} title="鎶勯�佷汉"/>
               )}
             </Form.Item>
-          </Col> : null}
-          {ctrlType === 'department' ? <Col span={12}>
-            <Form.Item label="閮ㄩ棬">
-              {getFieldDecorator('depId', {
-                initialValue: data.depId || '',
-                rules: [
-                  {
-                    required: true,
-                    message: '璇烽�夋嫨閮ㄩ棬!'
-                  }
-                ]
-              })(
-                <Select showSearch filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}>
-                  {rolelist.map(item => (<Select.Option key={item.RoleID} value={item.RoleID}>{item.RoleName}</Select.Option>))}
-                </Select>
-              )}
-            </Form.Item>
-          </Col> : null}
+          </Col>
           <Col span={24}>
             <Form.Item label="澶囨敞">
               {getFieldDecorator('remark', {

--
Gitblit v1.8.0