From 45466976d272c7b406b0e3d8b8fba92f3eb20524 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 07 一月 2020 17:55:13 +0800
Subject: [PATCH] 2020-01-07

---
 src/templates/modalconfig/index.jsx |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/templates/modalconfig/index.jsx b/src/templates/modalconfig/index.jsx
index d40c539..cbd7f55 100644
--- a/src/templates/modalconfig/index.jsx
+++ b/src/templates/modalconfig/index.jsx
@@ -53,7 +53,9 @@
     selectedTables: [],    // 宸查�夎〃鍚�
     originConfig: null,    // 鍘熷鑿滃崟
     groupVisible: false,   // 鍏ㄥ眬閰嶇疆妯℃�佹
-    curgroup: null         // 褰撳墠缁勶紝鏂板缓鎴栫紪杈�
+    curgroup: null,        // 褰撳墠缁勶紝鏂板缓鎴栫紪杈�
+    formItems: [],         // 琛ㄥ崟鍙�夌被鍨�
+    billCodes: null        // 鎸夐挳涓畾涔夌殑鍗曞彿鐢熸垚鍑芥暟瀛楁闆�
   }
 
   /**
@@ -88,9 +90,21 @@
     // 涓昏彍鍗曞凡鏈夐�夋嫨鐨勮〃鍚嶏紝妯℃�佹娌℃湁琛ㄥ悕鏃讹紝澶嶅埗涓昏彍鍗曡〃鍚�
     _config.tables = _config.tables.length === 0 ? _menu.tables : _config.tables
 
+    let _formItems = JSON.parse(JSON.stringify((Source.searchItems)))
+    if (editAction && editAction.intertype === 'inner' && !editAction.innerFunc) {
+      _formItems.push({
+        type: 'form',
+        label: '鍑芥暟鍙橀噺',
+        subType: 'funcvar',
+        url: ''
+      })
+    }
+    
     this.setState({
       menu: _menu,
       config: _config,
+      formItems: _formItems,
+      billCodes: editAction && editAction.verify && editAction.verify.billcodes ? editAction.verify.billcodes : [],
       selectedTables: _config.tables || [],
       originConfig: JSON.parse(JSON.stringify(_config)),
       modalformlist: [
@@ -314,6 +328,8 @@
    * 3銆佽缃紪杈戝弬鏁伴」-formlist
    */
   handleForm = (card) => {
+    const { billCodes } = this.state
+
     this.setState({
       visible: true,
       card: card,
@@ -367,6 +383,9 @@
           }, {
             value: 'datetime',
             text: this.state.dict['header.form.datetime']
+          }, {
+            value: 'funcvar',
+            text: '鍑芥暟鍙橀噺'
           }]
         },
         {
@@ -496,6 +515,18 @@
             value: 'false',
             text: this.state.dict['header.form.false']
           }]
+        },
+        {
+          type: 'select',
+          key: 'linkfield',
+          label: '鍏宠仈鍙橀噺',
+          initVal: card.linkfield || '',
+          required: true,
+          options: billCodes.map(code => {
+            code.value = code.field
+            code.text = code.field
+            return code
+          })
         }
       ]
     })
@@ -1057,7 +1088,7 @@
   }
 
   render () {
-    const { menu, config } = this.state
+    const { menu, config, formItems } = this.state
 
     return (
       <div className="modal-form-board">
@@ -1104,7 +1135,7 @@
               </Panel>
               <Panel header={this.state.dict['header.menu.form']} key="1">
                 <div className="search-element">
-                  {Source.searchItems.map((item, index) => {
+                  {formItems.map((item, index) => {
                     return (<SourceElement key={index} content={item}/>)
                   })}
                 </div>
@@ -1189,8 +1220,9 @@
         >
           {<ModalForm
             dict={this.state.dict}
-            formlist={this.state.formlist}
             card={this.state.card}
+            billCodes={this.state.billCodes}
+            formlist={this.state.formlist}
             wrappedComponentRef={(inst) => this.formRef = inst}
           />}
         </Modal>

--
Gitblit v1.8.0