From b6cbfb08b51e87e6eac995be8e7751815715e6a1 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 29 三月 2022 15:36:21 +0800
Subject: [PATCH] 2022-03-29

---
 src/menu/components/share/actioncomponent/actionform/index.jsx |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 19 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/actionform/index.jsx b/src/menu/components/share/actioncomponent/actionform/index.jsx
index e9500ee..55184da 100644
--- a/src/menu/components/share/actioncomponent/actionform/index.jsx
+++ b/src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -11,16 +11,16 @@
 const { TextArea } = Input
 const MkEditIcon = asyncComponent(() => import('@/components/mkIcon'))
 const acTyOptions = {
-  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab', 'reload'],
-  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab', 'reload'],
-  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab', 'reload'],
+  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab', 'position', 'tipTitle'],
+  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab', 'position', 'tipTitle'],
+  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'swipe', 'icon', 'class', 'color', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width', 'openmenu', 'open', 'refreshTab'],
   excelIn: ['label', 'Ot', 'OpenType', 'intertype', 'show', 'icon', 'class', 'color', 'sheet', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'switchTab', 'width'],
   excelOut: ['label', 'OpenType', 'intertype', 'show', 'icon', 'class', 'color', 'execSuccess', 'execError', 'syncComponent', 'switchTab', 'resetPageIndex', 'pagination', 'search', 'width'],
   popview: ['label', 'Ot', 'OpenType', 'show', 'icon', 'class', 'color', 'popClose', 'resetPageIndex', 'width', 'display', 'ratio', 'syncComponent', 'clickouter'],
   tab: ['label', 'Ot', 'OpenType', 'show', 'icon', 'class', 'color', 'linkmenu', 'width'],
   innerpage: ['label', 'Ot', 'OpenType', 'pageTemplate', 'show', 'swipe', 'icon', 'class', 'color', 'width', 'open'],
   funcbutton: ['label', 'OpenType', 'funcType', 'show', 'swipe', 'icon', 'class', 'color', 'width'],
-  form: ['label', 'OpenType', 'formType', 'intertype', 'Ot', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width', 'open', 'refreshTab', 'reload', 'title']
+  form: ['label', 'OpenType', 'formType', 'intertype', 'Ot', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width', 'open', 'refreshTab', 'title']
 }
 
 class ActionForm extends Component {
@@ -198,6 +198,9 @@
       } else {
         reOptions.sqlType = this.state.insertUpdateOptions
       }
+      // if (this.record.execSuccess === 'goback') {
+        shows.push('reload')
+      // }
     } else if (openType === 'form') {
       let intertype = this.record.intertype
 
@@ -225,6 +228,10 @@
         reRequired.innerFunc = true
       } else {
         shows.push('sql', 'sqlType')
+      }
+
+      if (this.record.execSuccess === 'goback') {
+        shows.push('reload')
       }
 
       reOptions.Ot = requireOptions
@@ -289,7 +296,11 @@
       if (this.record.pageTemplate === 'custom') {
         shows.push('url', 'joint')
       } else if (this.record.pageTemplate === 'linkpage') {
-        shows.push('linkmenu', 'joint')
+        shows.push('linkmenu')
+
+        if (Ot === 'requiredSgl') {
+          shows.push('joint')
+        }
 
         reRequired.linkmenu = true
         reTooltip.linkmenu = ''
@@ -347,6 +358,9 @@
         if (this.record.control) {
           shows.push('controlField', 'controlVal')
         }
+        if (this.record.control === 'disabled') {
+          shows.push('reason')
+        }
       }
     } else {
       if (Ot !== 'notRequired') {
@@ -370,6 +384,9 @@
       }
       if (this.record.control) {
         shows.push('controlField', 'controlVal')
+      }
+      if (this.record.control === 'disabled') {
+        shows.push('reason')
       }
     }
 
@@ -634,19 +651,36 @@
           { required: item.required, message: dict['form.required.select'] + item.label + '!' }
         ]
 
-        content = <Select
-          showSearch
-          allowClear={item.allowClear === true}
-          filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
-          onChange={(value) => {this.optionChange(item.key, value)}}
-          getPopupContainer={() => document.getElementById('winter')}
-        >
-          {item.options.map((option, index) =>
-            <Select.Option key={index} value={(option.value || option.field)}>
-              {(option.text || option.label)}
-            </Select.Option>
-          )}
-        </Select>
+        if (item.extendName) {
+          content = <Select
+            showSearch
+            allowClear={item.allowClear === true}
+            filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
+              option.props.extend.toLowerCase().indexOf(input.toLowerCase()) >= 0}
+            onChange={(value) => {this.optionChange(item.key, value)}}
+            getPopupContainer={() => document.getElementById('winter')}
+          >
+            {item.options.map((option, index) =>
+              <Select.Option key={index} extend={option[item.extendName] || ''} value={(option.value || option.field)}>
+                {(option.text || option.label)}
+              </Select.Option>
+            )}
+          </Select>
+        } else {
+          content = <Select
+            showSearch
+            allowClear={item.allowClear === true}
+            filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
+            onChange={(value) => {this.optionChange(item.key, value)}}
+            getPopupContainer={() => document.getElementById('winter')}
+          >
+            {item.options.map((option, index) =>
+              <Select.Option key={index} value={(option.value || option.field)}>
+                {(option.text || option.label)}
+              </Select.Option>
+            )}
+          </Select>
+        }
       } else if (item.type === 'radio') {
         rules = [
           { required: item.required, message: dict['form.required.select'] + item.label + '!' }
@@ -707,7 +741,12 @@
           values.verify = card.verify || null
           values.modal = card.modal || null
 
-          if (values.OpenType === 'excelOut') {
+          if (values.OpenType === 'form') {
+            if (/^(0|[1-9]\d*)$/.test(values.openVal) && /^(0|[1-9]\d*)$/.test(values.closeVal)) {
+              values.openVal = +values.openVal
+              values.closeVal = +values.closeVal
+            }
+          } else if (values.OpenType === 'excelOut') {
             if (values.intertype === 'system' && setting.interType !== 'system') {
               notification.warning({
                 top: 92,

--
Gitblit v1.8.0