From cbeffcc0902631909c0373f274752a97ddaf2d4e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 06 八月 2022 01:41:54 +0800
Subject: [PATCH] 2022-08-06

---
 src/menu/components/card/cardcellcomponent/index.jsx |  127 +++++++++++++++++++++++++++---------------
 1 files changed, 81 insertions(+), 46 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx
index dbe882a..cd73458 100644
--- a/src/menu/components/card/cardcellcomponent/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/index.jsx
@@ -12,6 +12,7 @@
 import MKEmitter from '@/utils/events.js'
 import MenuUtils from '@/utils/utils-custom.js'
 import ElementForm from './elementform'
+import CreateFunc from '@/templates/zshare/createfunc'
 import DragElement from './dragaction'
 import './index.scss'
 
@@ -41,6 +42,7 @@
     visible: false,      // 妯℃�佹鎺у埗
     actvisible: false,   // 鎸夐挳缂栬緫妯℃�佹
     profVisible: false,  // 楠岃瘉淇℃伅缂栬緫
+    record: null
   }
 
   /**
@@ -155,6 +157,8 @@
       }
     } else if (element.eleType === 'picture') {
       options = ['border', 'margin']
+    } else if (element.eleType === 'text') {
+      options[0] = 'font2'
     } else if (element.eleType === 'slider') {
       options = ['padding', 'margin']
     } else if (element.eleType === 'splitline') {
@@ -267,10 +271,12 @@
     if (card.eleType === 'button') {
       this.handleAction(card)
     } else {
+      let anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, cards.uuid) || []
+
       this.setState({
         visible: true,
         card: card,
-        formlist: getCardCellForm(card, cards.type, cards.subtype, cardCell)
+        formlist: getCardCellForm(card, cards.type, cards.subtype, cardCell, anchors)
       })
     }
   }
@@ -308,12 +314,23 @@
       menulist = []
     }
 
-    let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, cards.uuid) || []
+    let supId = ''
+    if (cards.setting && cards.setting.supModule) {
+      let pid = cards.setting.supModule[cards.setting.supModule.length - 1]
+      if (pid && pid !== 'empty') {
+        supId = pid
+      } else {
+        supId = ''
+      }
+    }
+
+    let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, cards.uuid, supId) || []
+    let anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, cards.uuid) || []
 
     this.setState({
       actvisible: true,
       card: card,
-      formlist: getActionForm(card, functip, cards, usefulFields, 'card', menulist, modules)
+      formlist: getActionForm(card, functip, cards, usefulFields, 'card', menulist, modules, anchors)
     })
   }
 
@@ -410,14 +427,17 @@
     this.actionFormRef.handleConfirm().then(res => {
       let _elements = elements.map(cell => {
         if (cell.uuid === res.uuid) {
-          res = {...cell, ...res}
+          res.eleType = cell.eleType || null
+          res.style = cell.style || null
+          res.modal = cell.modal || null
+          // res = {...cell, ...res}
 
-          if (!res.control) {
-            delete res.controlField
-            delete res.controlVal
-          }
+          // if (!res.control) {
+          //   delete res.controlField
+          //   delete res.controlVal
+          // }
           
-          delete res.focus
+          // delete res.focus
 
           if (res.OpenType === 'form') {
             if (cell.OpenType !== 'form') {
@@ -453,7 +473,7 @@
    * @description 鎸夐挳鍒犻櫎
    */
   deleteElement = (card) => {
-    const { cards, cardCell, side } = this.props
+    const { cardCell, side } = this.props
     const { dict, elements, appType } = this.state
     let _this = this
 
@@ -466,7 +486,7 @@
           card.$parentId = cardCell.uuid
           card.$side = side || ''
 
-          MKEmitter.emit('logButton', cards.uuid, card)
+          // MKEmitter.emit('logButton', cards.uuid, card)
         }
 
         _this.setState({
@@ -492,6 +512,7 @@
       profVisible: true,
       card: element
     })
+    MKEmitter.emit('modalStatus', '楠岃瘉淇℃伅')
   }
 
   /**
@@ -515,6 +536,8 @@
       }, () => {
         this.props.updateElement(_elements)
       })
+
+      MKEmitter.emit('modalStatus', false)
     })
   }
 
@@ -539,6 +562,8 @@
     } else if (btn.OpenType === 'popview') {
       MKEmitter.emit('changePopview', cards, btn)
     } else if (btn.OpenType === 'innerpage' && btn.pageTemplate === 'linkpage') {
+      MKEmitter.emit('changeEditMenu', {MenuID: btn.linkmenu})
+    } else if (btn.OpenType === 'funcbutton' && (btn.funcType === 'copyurl' || btn.funcType === 'scan') && btn.linkmenu) {
       MKEmitter.emit('changeEditMenu', {MenuID: btn.linkmenu})
     } else {
       this.handleElement(item)
@@ -625,9 +650,47 @@
     })
   }
 
+  getVerify = (card) => {
+    const { cards } = this.props
+    const { dict } = this.state
+
+    if (!card) return null
+
+    if (['pop', 'prompt', 'exec'].includes(card.OpenType)) {
+      return <VerifyCard
+        card={card}
+        dict={dict}
+        config={cards}
+        columns={cards.columns}
+        wrappedComponentRef={(inst) => this.verifyRef = inst}
+      />
+    } else if (card.OpenType === 'excelIn') {
+      return <VerifyExcelIn
+        card={card}
+        dict={dict}
+        columns={cards.columns}
+        wrappedComponentRef={(inst) => this.verifyRef = inst}
+      />
+    } else if (card.OpenType === 'excelOut') {
+      return <VerifyExcelOut
+        card={card}
+        dict={dict}
+        config={cards}
+        wrappedComponentRef={(inst) => this.verifyRef = inst}
+      />
+    } else if (card.OpenType === 'funcbutton' && card.funcType === 'print') {
+      return <VerifyPrint
+        card={card}
+        dict={dict}
+        columns={cards.columns}
+        wrappedComponentRef={(inst) => this.verifyRef = inst}
+      />
+    }
+  }
+
   render() {
     const { cards, cardCell } = this.props
-    const { elements, visible, actvisible, profVisible, card, dict } = this.state
+    const { elements, visible, actvisible, profVisible, card, dict, record } = this.state
 
     return (
       <div className="model-menu-card-cell-list">
@@ -668,10 +731,11 @@
           <Modal
             title="鎸夐挳路缂栬緫"
             visible={actvisible}
-            width={800}
+            width={920}
             maskClosable={false}
             onCancel={this.editModalCancel}
             footer={[
+              record && record.intertype === 'inner' ? <CreateFunc key="create" dict={dict} ref="btnCreatFunc" trigger={this.creatFunc}/> : null,
               <Button key="cancel" onClick={this.editModalCancel}>{dict['model.cancel']}</Button>,
               <Button key="confirm" type="primary" onClick={this.handleActionSubmit}>{dict['model.confirm']}</Button>
             ]}
@@ -684,6 +748,7 @@
               formlist={this.state.formlist}
               inputSubmit={this.handleActionSubmit}
               setting={cards.setting}
+              updRecord={(record) => this.setState({record: fromJS(record).toJS()})}
               wrappedComponentRef={(inst) => this.actionFormRef = inst}
             />
           </Modal>
@@ -700,46 +765,16 @@
               if (this.verifyRef.handleCancel) {
                 this.verifyRef.handleCancel().then(() => {
                   this.setState({ profVisible: false })
+                  MKEmitter.emit('modalStatus', false)
                 })
               } else {
                 this.setState({ profVisible: false })
+                MKEmitter.emit('modalStatus', false)
               }
             }}
             destroyOnClose
           >
-            {card && !card.execMode && card.OpenType !== 'excelIn' && card.OpenType !== 'excelOut' ?
-              <VerifyCard
-                card={card}
-                dict={dict}
-                config={cards}
-                columns={cards.columns}
-                wrappedComponentRef={(inst) => this.verifyRef = inst}
-              /> : null
-            }
-            {card && card.execMode ?
-              <VerifyPrint
-                card={card}
-                dict={dict}
-                columns={cards.columns}
-                wrappedComponentRef={(inst) => this.verifyRef = inst}
-              /> : null
-            }
-            {card && card.OpenType === 'excelIn' ?
-              <VerifyExcelIn
-                card={card}
-                dict={dict}
-                columns={cards.columns}
-                wrappedComponentRef={(inst) => this.verifyRef = inst}
-              /> : null
-            }
-            {card && card.OpenType === 'excelOut' ?
-              <VerifyExcelOut
-                card={card}
-                dict={dict}
-                config={cards}
-                wrappedComponentRef={(inst) => this.verifyRef = inst}
-              /> : null
-            }
+            {this.getVerify(card)}
           </Modal>
         </div>
       </div>

--
Gitblit v1.8.0