From fbad7d82de145608672e6df2895bf97730afc8b2 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 24 四月 2023 18:00:01 +0800
Subject: [PATCH] 2023-04-24

---
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index 3aea5ea..2efbd4e 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -126,6 +126,9 @@
     const { col, record } = this.props
 
     if (id !== col.uuid + record.$$uuid) return
+
+    if (col.ctrlField && col.ctrlValue.includes(record[col.ctrlField])) return
+
     this.focus()
   }
 
@@ -288,6 +291,11 @@
 
     if (!col) return (<td {...resProps} className={className} style={style}/>)
 
+    let disabled = false
+    if (col.ctrlField) {
+      disabled = col.ctrlValue.includes(record[col.ctrlField])
+    }
+
     let children = null
     if (col.type === 'text') {
       let content = ''
@@ -325,7 +333,7 @@
         }
       }
 
-      if (col.editable === 'true') {
+      if (col.editable === 'true' && !disabled) {
         if (editing) {
           if (!col.editType || col.editType === 'text') {
             return (<td className="editing_table_cell">
@@ -421,7 +429,7 @@
         }
       }
 
-      if (col.editable === 'true') {
+      if (col.editable === 'true' && !disabled) {
         if (editing) {
           return (<td className="editing_table_cell">
             <InputNumber id={col.uuid + record.$$uuid} defaultValue={value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
@@ -685,9 +693,14 @@
     let { col, config, record, style, className } = this.props
     const { err } = this.state
 
+    let disabled = false
+    if (col.ctrlField) {
+      disabled = col.ctrlValue.includes(record[col.ctrlField])
+    }
+
     let children = null
     if (col.type === 'text') {
-      if (col.editable === 'true') {
+      if (col.editable === 'true' && !disabled) {
         let _value = ''
         if (col.editField) {
           _value = record[col.editField] !== undefined ? record[col.editField] : ''
@@ -757,7 +770,7 @@
         children = content
       }
     } else if (col.type === 'number') {
-      if (col.editable === 'true') {
+      if (col.editable === 'true' && !disabled) {
         let _value = record[col.field] !== undefined ? record[col.field] : ''
         children = (<>
           <InputNumber id={col.uuid + record.$$uuid} defaultValue={_value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress}/>
@@ -947,6 +960,10 @@
             if (!initEditLine) {
               initEditLine = item
             }
+
+            if (item.ctrlField) {
+              item.ctrlValue = item.ctrlValue.split(',')
+            }
           }
     
           if (item.type === 'text' && item.editable === 'true' && item.editType === 'select' && item.resourceType === '1') {

--
Gitblit v1.8.0