From 41c55c1f103658b997f7a828a7067bdb228f1df0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 04 十月 2022 23:35:10 +0800
Subject: [PATCH] 2022-10-04

---
 src/menu/components/share/actioncomponent/index.jsx |   49 ++++++++++++++++++++++---------------------------
 1 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index 5eb74eb..82785e7 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -25,7 +25,6 @@
 
 class ActionComponent extends Component {
   static propTpyes = {
-    type: PropTypes.string,          // 鑿滃崟绫诲瀷锛屼富琛ㄦ垨瀛愯〃
     config: PropTypes.object,        // 鑿滃崟閰嶇疆淇℃伅
     setSubConfig: PropTypes.func,    // 璁剧疆瀛愰厤缃俊鎭�
     updateaction: PropTypes.func     // 鑿滃崟閰嶇疆鏇存柊
@@ -65,7 +64,6 @@
 
   componentDidMount () {
     MKEmitter.addListener('addButton', this.addButton)
-    MKEmitter.addListener('submitStyle', this.getStyle)
   }
 
   /**
@@ -90,14 +88,11 @@
       return
     }
     MKEmitter.removeListener('addButton', this.addButton)
-    MKEmitter.removeListener('submitStyle', this.getStyle)
   }
 
-  getStyle = (comIds, style) => {
+  getStyle = (style) => {
     const { config } = this.props
     const { card, actionlist } = this.state
-
-    if (comIds[0] !== config.uuid || comIds[1] !== 'actionlist') return
 
     let _card = fromJS(card).toJS()
     _card.style = style
@@ -115,8 +110,6 @@
   }
 
   changeBtnStyle = (element) => {
-    const { config } = this.props
-
     let _style = element.style ? fromJS(element.style).toJS() : {}
     let options = ['font', 'border', 'background', 'margin', 'padding']
 
@@ -124,7 +117,7 @@
       card: element
     })
 
-    MKEmitter.emit('changeStyle', [config.uuid, 'actionlist', element.uuid], options, _style)
+    MKEmitter.emit('changeStyle', options, _style, this.getStyle)
   }
 
   addButton = (cardId, element) => {
@@ -173,6 +166,10 @@
     let functip = <div>
       <p style={{marginBottom: '5px'}}>{this.state.dict['model.tooltip.func.innerface'].replace('@ableField', ableField)}</p>
     </div>
+    
+    if (!ableField) { // 鏃犲瓧娈甸檺鍒�
+      functip = ''
+    }
 
     let menulist = sessionStorage.getItem('fstMenuList')
     if (menulist) {
@@ -201,7 +198,7 @@
     this.setState({
       visible: true,
       card: card,
-      formlist: getActionForm(card, functip, config, usefulFields, this.props.type, menulist, modules, anchors)
+      formlist: getActionForm(card, functip, config, usefulFields, menulist, modules, anchors)
     })
   }
 
@@ -248,9 +245,8 @@
 
         if (item.uuid === btn.uuid) {
           btn.style = item.style || {}
-
-          if (btn.class !== item.class || btn.show !== item.show || !btn.style.color) {
-            if (btn.show === 'link' || btn.show === 'icon') {
+          if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) {
+            if (btn.show === 'icon') {
               btn.style.color = color[btn.class]
               btn.style.backgroundColor = 'transparent'
             } else {
@@ -297,15 +293,10 @@
 
         _actionlist = _actionlist.filter(item => item.uuid !== card.uuid)
 
-        let btnlog = config.btnlog || []
-        if (card.OpenType === 'popview' || card.verify || card.modal) {
-          btnlog.push(card)
-        }
-
         _this.setState({
           actionlist: _actionlist
         }, () => {
-          _this.props.updateaction({...config, action: _actionlist, btnlog})
+          _this.props.updateaction({...config, action: _actionlist})
         })
 
         if (card.origin || appType === 'mob') return
@@ -427,6 +418,8 @@
       this.props.setSubConfig(element)
     } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'linkpage') {
       MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu})
+    } else if (element.OpenType === 'funcbutton' && (element.funcType === 'copyurl' || element.funcType === 'scan') && element.linkmenu) {
+      MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu})
     } else {
       this.handleAction(element)
     }
@@ -436,13 +429,15 @@
     let config = fromJS(this.props.config).toJS()
 
     let btn = null
-    if (config.subtype === 'normaltable') {
+    let _col = null
+    if (config.subtype === 'normaltable' || config.subtype === 'editable') {
       config.cols.forEach(col => {
         if (col.type !== 'action') return
 
         col.elements = col.elements.filter(item => {
           if (item.uuid === id) {
             btn = item
+            _col = col
           }
           return item.uuid !== id
         })
@@ -451,8 +446,9 @@
 
     if (!btn) return
 
-    btn.Ot = 'requiredSgl'
     config.action.push(btn)
+
+    MKEmitter.emit('cardDelElement', _col.uuid, btn.uuid)
 
     this.setState({
       actionlist: config.action
@@ -507,14 +503,14 @@
   }
 
   render() {
-    const { config, type } = this.props
+    const { config } = this.props
     const { actionlist, visible, appType, card, dict, profVisible, record } = this.state
 
     return (
-      <div className={'model-menu-action-list'}>
+      <div className={'model-menu-action-list length' + actionlist.length}>
         <DragElement
           list={actionlist}
-          type={appType === 'mob' ? (type || '') : ''}
+          type={appType === 'mob' ? config.subtype : ''}
           handleList={this.handleList}
           dropButton={this.dropButton}
           handleMenu={this.handleAction}
@@ -527,7 +523,7 @@
         <Modal
           title="鎸夐挳路缂栬緫"
           visible={visible}
-          width={850}
+          width={920}
           maskClosable={false}
           onCancel={this.editModalCancel}
           footer={[
@@ -549,8 +545,7 @@
         </Modal>
         {/* 鎸夐挳浣跨敤绯荤粺瀛樺偍杩囩▼鏃讹紝楠岃瘉淇℃伅妯℃�佹 */}
         <Modal
-          wrapClassName="model-table-action-verify-modal"
-          title={(card && card.label ? card.label + ' - ' : '') + '楠岃瘉淇℃伅'}
+          wrapClassName="mk-pop-modal"
           visible={profVisible}
           width={'90vw'}
           maskClosable={false}

--
Gitblit v1.8.0