From 3723f5e83b1733882a152018450bb5ab18e683b0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 30 三月 2022 22:22:27 +0800
Subject: [PATCH] 2022-03-30

---
 src/templates/zshare/modalform/datatable/index.jsx |   39 ++++++++++++++++++++++++++++++++-------
 1 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/src/templates/zshare/modalform/datatable/index.jsx b/src/templates/zshare/modalform/datatable/index.jsx
index 99e2320..ec8b5a1 100644
--- a/src/templates/zshare/modalform/datatable/index.jsx
+++ b/src/templates/zshare/modalform/datatable/index.jsx
@@ -2,7 +2,7 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { DndProvider, DragSource, DropTarget } from 'react-dnd'
-import { Table, Input, Popconfirm, Form, notification } from 'antd'
+import { Table, Input, Popconfirm, Form, notification, message } from 'antd'
 import { PlusOutlined, EditOutlined, DeleteOutlined, SwapOutlined } from '@ant-design/icons'
 
 import Utils from '@/utils/utils.js'
@@ -120,12 +120,12 @@
         {editing ? (
           <Form.Item style={{ margin: '0 -5px 0 -5px' }}>
             {getFieldDecorator(dataIndex, {
-              rules: [
-                {
-                  required: dataIndex === '$value',
-                  message: `Please Input ${title}!`,
-                },
-              ],
+              // rules: [
+              //   {
+              //     required: dataIndex === '$value',
+              //     message: `Please Input ${title}!`,
+              //   },
+              // ],
               initialValue: _val,
             })(this.getInput(form))}
           </Form.Item>
@@ -282,8 +282,20 @@
   }
 
   onSave = (record) => {
+    const { type } = this.props
     const newData = [...this.state.data]
     const index = newData.findIndex(item => record.key === item.key)
+
+    if (type === 'link') {
+      if (newData.filter(m => record.key !== m.key && record.$value === m.$value && record.ParentID === m.ParentID).length > 0) {
+        message.warning('鐩稿悓ParentID涓嬶紝姝alue鍊煎凡瀛樺湪锛�')
+      }
+    } else {
+      if (newData.filter(m => record.key !== m.key && record.$value === m.$value).length > 0) {
+        message.warning('姝alue鍊煎凡瀛樺湪锛�')
+      }
+    }
+
     if (index > -1) {
       newData.splice(index, 1, record)
       this.setState({ data: newData, editingKey: '' }, () => {
@@ -304,6 +316,8 @@
   }
 
   save(form, key) {
+    const { type } = this.props
+
     form.validateFields((error, row) => {
       if (error) {
         return;
@@ -311,6 +325,17 @@
 
       const newData = [...this.state.data]
       const index = newData.findIndex(item => key === item.key)
+
+      if (type === 'link') {
+        if (newData.filter(m => key !== m.key && row.$value === m.$value && row.ParentID === m.ParentID).length > 0) {
+          message.warning('鐩稿悓ParentID涓嬶紝姝alue鍊煎凡瀛樺湪锛�')
+        }
+      } else {
+        if (newData.filter(m => key !== m.key && row.$value === m.$value).length > 0) {
+          message.warning('姝alue鍊煎凡瀛樺湪锛�')
+        }
+      }
+
       if (index > -1) {
         const item = newData[index]
         newData.splice(index, 1, {

--
Gitblit v1.8.0