From 92afa84b91a58ca90327fab62f158d6a40cb01d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 05 二月 2025 22:07:04 +0800
Subject: [PATCH] 2025-02-05

---
 src/tabviews/custom/components/card/cardcellList/index.jsx        |    4 
 src/views/menudesign/popview/index.jsx                            |    2 
 public/manifest.json                                              |    2 
 src/views/pcdesign/index.jsx                                      |    4 +
 src/menu/normalCopy/index.scss                                    |   21 +++++++
 src/views/mobdesign/popview/index.jsx                             |    2 
 src/menu/components/card/cardcellcomponent/dragaction/index.jsx   |    2 
 src/menu/normalCopy/index.jsx                                     |   33 +++++++++++
 src/mob/components/formdragelement/index.jsx                      |   12 ++-
 src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx |   12 ++-
 src/views/tabledesign/index.jsx                                   |    6 +
 src/menu/modalconfig/index.jsx                                    |   23 +++++--
 src/templates/modalconfig/dragelement/index.jsx                   |   16 +++--
 src/mob/modalconfig/index.jsx                                     |    2 
 src/assets/css/design.scss                                        |    8 ++
 src/tabviews/zshare/actionList/normalbutton/index.jsx             |    4 
 src/views/mobdesign/index.jsx                                     |    6 +
 src/views/menudesign/index.jsx                                    |    4 +
 src/views/tabledesign/popview/index.jsx                           |    2 
 src/menu/normalCss/index.scss                                     |    1 
 20 files changed, 131 insertions(+), 35 deletions(-)

diff --git a/public/manifest.json b/public/manifest.json
index dc55290..9376b3c 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -6,5 +6,5 @@
   "display": "standalone",
   "theme_color": "#000000",
   "background_color": "#ffffff",
-  "mk_version": "20250120"
+  "mk_version": "20250205"
 }
diff --git a/src/assets/css/design.scss b/src/assets/css/design.scss
index 2819b7c..1c2be11 100644
--- a/src/assets/css/design.scss
+++ b/src/assets/css/design.scss
@@ -166,13 +166,17 @@
     border-radius: 0px;
     border: none;
     border-bottom: 1px solid #e8e8e8!important;
-    color: rgba(0, 0, 0, 0.85);
+    color: #26C281;
 
     .anticon {
       display: none;
     }
   }
   button:hover {
-    color: #1890ff;
+    color: #26C281;
   }
 }
+
+.menu-setting .ant-typography-copy {
+  margin-left: 0px;
+}
diff --git a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
index e3c1ff9..487ccc2 100644
--- a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx
@@ -75,7 +75,7 @@
       message.warning('澶嶅埗澶辫触銆�')
     }
 
-    if (card.eleType !== 'button') {
+    if (card.eleType !== 'button' && !window.GLOB.CopyOnly) {
       _cards.push(copycard)
   
       handleList(_cards)
diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx
index 884b633..26c3606 100644
--- a/src/menu/modalconfig/index.jsx
+++ b/src/menu/modalconfig/index.jsx
@@ -19,6 +19,7 @@
 
 const MkIcon = asyncComponent(() => import('@/components/mk-icon'))
 const TableComponent = asyncComponent(() => import('./tablecomponent'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform'))
 const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms'))
 const FormFork = asyncComponent(() => import('@/menu/modalconfig/formfork'))
@@ -181,15 +182,21 @@
     })
   }
 
-  submitConfig = () => {
+  submitConfig = (type) => {
     const { config } = this.state
 
-    this.setState({originConfig: fromJS(config).toJS(), saving: true})
-    this.props.handleSave(config)
+    if (type === 'cache') {
+      this.setState({originConfig: fromJS(config).toJS()})
+      this.props.handleSave(config)
 
-    setTimeout(() => {
-      MKEmitter.emit('triggerMenuSave')
-    }, 100)
+      message.success(<span>琛ㄥ崟閰嶇疆宸蹭繚瀛樿嚦鏈湴锛�<span style={{color: 'red'}}>灏氭湭鎻愪氦鑷充簯绔�</span>锛夈��</span>)
+    } else {
+      this.setState({originConfig: fromJS(config).toJS(), saving: true})
+      this.props.handleSave(config)
+      setTimeout(() => {
+        MKEmitter.emit('triggerMenuSave')
+      }, 100)
+    }
   }
 
   clearConfig = () => {
@@ -378,6 +385,7 @@
             <Collapse accordion defaultActiveKey="1" bordered={false}>
               <Panel header="鍩烘湰淇℃伅" key="0">
                 <TableComponent />
+                <NormalCopy />
               </Panel>
               <Panel header="琛ㄥ崟" key="1">
                 <div className="search-element">
@@ -392,8 +400,9 @@
           <div className="setting">
             <Card title="琛ㄥ崟閰嶇疆" bordered={false} extra={
               <div>
+                <Button className="mk-border-green" onClick={() => this.submitConfig('cache')}>瀛樿崏绋�</Button>
                 <PasteForms type="toolbar" config={config} update={this.pasteFields}/>
-                <Button type="primary" id="save-modal-config" loading={saving} onClick={this.submitConfig}>淇濆瓨</Button>
+                <Button type="primary" id="save-modal-config" loading={saving} onClick={() => this.submitConfig()}>淇濆瓨</Button>
                 <Button disabled={saving} onClick={this.cancelConfig}>杩斿洖</Button>
               </div>
             } style={{ width: '100%' }}>
diff --git a/src/menu/normalCopy/index.jsx b/src/menu/normalCopy/index.jsx
new file mode 100644
index 0000000..97ca028
--- /dev/null
+++ b/src/menu/normalCopy/index.jsx
@@ -0,0 +1,33 @@
+import React, { Component } from 'react'
+import { Radio } from 'antd'
+
+import './index.scss'
+
+class NormalCopy extends Component {
+  state = {
+    value: window.GLOB.CopyOnly === true ? 'true' : 'false'
+  }
+
+  selectChange = (val) => {
+    if (val === 'true') {
+      window.GLOB.CopyOnly = true
+    } else {
+      window.GLOB.CopyOnly = false
+    }
+  }
+
+  render() {
+    const { value } = this.state
+
+    return (
+      <div className="mk-normal-copy">
+        鍏冪礌澶嶅埗锛�<Radio.Group defaultValue={value} onChange={(e) => {this.selectChange(e.target.value)}}>
+          <Radio value="true">浠呭鍒�</Radio>
+          <Radio value="false">澶嶅埗+鑷</Radio>
+        </Radio.Group>
+      </div>
+    )
+  }
+}
+
+export default NormalCopy
\ No newline at end of file
diff --git a/src/menu/normalCopy/index.scss b/src/menu/normalCopy/index.scss
new file mode 100644
index 0000000..d0c8024
--- /dev/null
+++ b/src/menu/normalCopy/index.scss
@@ -0,0 +1,21 @@
+.mk-normal-copy {
+  padding-left: 18px;
+  white-space: nowrap;
+
+  .ant-radio-wrapper {
+    margin-right: 2px;
+  }
+}
+.model-tablename-manage-view + .mk-normal-copy {
+  margin-top: 15px;
+}
+.modal-form-board, .mob-form-board {
+  .mk-normal-copy {
+    padding-left: 0px;
+
+    span.ant-radio + * {
+      padding-right: 2px;
+      padding-left: 2px;
+    }
+  }
+}
\ No newline at end of file
diff --git a/src/menu/normalCss/index.scss b/src/menu/normalCss/index.scss
index 872d481..35dc98a 100644
--- a/src/menu/normalCss/index.scss
+++ b/src/menu/normalCss/index.scss
@@ -1,5 +1,6 @@
 .mk-normal-css {
   padding-left: 18px;
+  margin-bottom: 15px;
 
   .anticon-edit {
     color: #1890ff;
diff --git a/src/mob/components/formdragelement/index.jsx b/src/mob/components/formdragelement/index.jsx
index d25eeab..63cccb9 100644
--- a/src/mob/components/formdragelement/index.jsx
+++ b/src/mob/components/formdragelement/index.jsx
@@ -1,7 +1,7 @@
 import React, { useState } from 'react'
 import { useDrop } from 'react-dnd'
 import { is, fromJS } from 'immutable'
-import { Col } from 'antd'
+import { Col, message } from 'antd'
 import update from 'immutability-helper'
 import Utils from '@/utils/utils.js'
 import Card from './card'
@@ -72,11 +72,15 @@
     oInput.style.display = 'none'
     document.body.removeChild(oInput)
 
-    const _cards = update(cards, { $splice: [[overIndex + 1, 0, _card]] })
+    if (window.GLOB.CopyOnly) {
+      message.success('澶嶅埗鎴愬姛銆�')
+    } else {
+      const _cards = update(cards, { $splice: [[overIndex + 1, 0, _card]] })
 
-    setCards(_cards)
+      setCards(_cards)
 
-    handleList(_cards, _card)
+      handleList(_cards, _card)
+    }
   }
 
   const [, drop] = useDrop({
diff --git a/src/mob/modalconfig/index.jsx b/src/mob/modalconfig/index.jsx
index 0f75a32..7cbc35d 100644
--- a/src/mob/modalconfig/index.jsx
+++ b/src/mob/modalconfig/index.jsx
@@ -18,6 +18,7 @@
 const { confirm } = Modal
 const TableComponent = asyncComponent(() => import('@/menu/modalconfig/tablecomponent'))
 const ModalForm = asyncComponent(() => import('@/templates/zshare/modalform'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const PasteForms = asyncComponent(() => import('@/menu/components/share/pasteforms'))
 const DragElement = asyncComponent(() => import('@/mob/components/formdragelement'))
 const FieldsComponent = asyncComponent(() => import('@/templates/sharecomponent/fieldscomponent'))
@@ -339,6 +340,7 @@
             <Collapse accordion defaultActiveKey="1" bordered={false}>
               <Panel header="鍩烘湰淇℃伅" key="0">
                 <TableComponent />
+                <NormalCopy/>
               </Panel>
               <Panel header="琛ㄥ崟" key="1">
                 <div className="search-element">
diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx
index 6f543bb..b591266 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.jsx
+++ b/src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -225,7 +225,7 @@
     //   return
     // }
 
-    if (/^http.+(.txt|.doc|.docx|.pdf|.xlsx|.xls|.zip|.rar|.ppt)$/i.test(url) || card.linkType === 'download') {
+    if (/^(http|\/\/).+(.txt|.doc|.docx|.pdf|.xlsx|.xls|.zip|.rar|.ppt)$/i.test(url) || card.linkType === 'download') {
       let name = ''
       if (card.datatype === 'static') {
         name = card.value || ''
@@ -451,7 +451,7 @@
               url = data[card.linkurl]
             }
   
-            if (/^http.+(.txt|.doc|.docx|.pdf|.xlsx|.xls|.zip|.rar)$/i.test(url)) {
+            if (/^(http|\/\/).+(.txt|.doc|.docx|.pdf|.xlsx|.xls|.zip|.rar)$/i.test(url)) {
               if (/pdf$/i.test(url)) {
                 val = <><img src="./media/pdf.png" className="file-image" alt=""/> {val}</>
               } else if (/(.doc|.docx)$/i.test(url)) {
diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 4873a40..279985e 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -2909,7 +2909,7 @@
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
 
-      if (/^http/.test(val)) {
+      if (/^(http|\/\/)/.test(val)) {
         let audio = document.createElement('audio')
         audio.src = val
         audio.play()
@@ -3675,7 +3675,7 @@
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
 
-      if (/^http/.test(val)) {
+      if (/^(http|\/\/)/.test(val)) {
         let audio = document.createElement('audio')
         audio.src = val
         audio.play()
diff --git a/src/templates/modalconfig/dragelement/index.jsx b/src/templates/modalconfig/dragelement/index.jsx
index a7fbb53..eb3a147 100644
--- a/src/templates/modalconfig/dragelement/index.jsx
+++ b/src/templates/modalconfig/dragelement/index.jsx
@@ -2,7 +2,7 @@
 import { useDrop } from 'react-dnd'
 import { is, fromJS } from 'immutable'
 import update from 'immutability-helper'
-import { Col } from 'antd'
+import { Col, message } from 'antd'
 import Utils from '@/utils/utils.js'
 import Card from './card'
 import './index.scss'
@@ -72,11 +72,15 @@
     oInput.style.display = 'none'
     document.body.removeChild(oInput)
 
-    const _cards = update(cards, { $splice: [[overIndex + 1, 0, _card]] })
-
-    setCards(_cards)
-
-    handleList(_cards, _card)
+    if (window.GLOB.CopyOnly) {
+      message.success('澶嶅埗鎴愬姛銆�')
+    } else {
+      const _cards = update(cards, { $splice: [[overIndex + 1, 0, _card]] })
+  
+      setCards(_cards)
+  
+      handleList(_cards, _card)
+    }
   }
 
   const [, drop] = useDrop({
diff --git a/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx b/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
index b604984..48c6568 100644
--- a/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
+++ b/src/templates/sharecomponent/searchcomponent/dragsearch/index.jsx
@@ -2,7 +2,7 @@
 import { useDrop } from 'react-dnd'
 import { is, fromJS } from 'immutable'
 import update from 'immutability-helper'
-import { Col, Button, Popover } from 'antd'
+import { Col, Button, Popover, message } from 'antd'
 import { EditOutlined } from '@ant-design/icons'
 
 import Utils from '@/utils/utils.js'
@@ -68,11 +68,15 @@
       document.body.removeChild(oInput)
     }
 
-    const { index: overIndex } = findCard(id)
+    if (window.GLOB.CopyOnly) {
+      message.success('澶嶅埗鎴愬姛銆�')
+    } else {
+      const { index: overIndex } = findCard(id)
 
-    const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] })
+      const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] })
 
-    handleList(_cards, copycard)
+      handleList(_cards, copycard)
+    }
   }
 
   const [, drop] = useDrop({
diff --git a/src/views/menudesign/index.jsx b/src/views/menudesign/index.jsx
index b3a505a..f29c056 100644
--- a/src/views/menudesign/index.jsx
+++ b/src/views/menudesign/index.jsx
@@ -38,6 +38,7 @@
 const LowerField = asyncComponent(() => import('@/menu/lowerField'))
 const Debug = asyncComponent(() => import('@/menu/debug'))
 const NormalCss = asyncComponent(() => import('@/menu/normalCss'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const Versions = asyncComponent(() => import('@/menu/versions'))
 const TableNodes = asyncComponent(() => import('@/menu/tablenodes'))
 const SysInterface = asyncComponent(() => import('@/menu/sysinterface'))
@@ -1354,9 +1355,10 @@
                       />
                       {/* 琛ㄥ悕娣诲姞 */}
                       <TableComponent config={config} updatetable={this.updateConfig}/>
-                      <Paragraph style={{padding: '15px 0px 0px 37px'}} copyable={{ text: MenuId }}>鑿滃崟ID</Paragraph>
+                      <Paragraph style={{padding: '15px 0px 0px 32px'}} copyable={{ text: MenuId }}>鑿滃崟ID锛�</Paragraph>
                       <Paragraph style={{padding: '0px 0px 0px 18px'}}>鑿滃崟缁勪欢锛�<CopyOutlined onClick={this.copyMenu} style={{cursor: 'pointer', color: '#1890ff'}} /></Paragraph>
                       <NormalCss config={config} updateConfig={this.updateConfig}/>
+                      <NormalCopy />
                     </> : null}
                   </Panel>
                   {/* 缁勪欢娣诲姞 */}
diff --git a/src/views/menudesign/popview/index.jsx b/src/views/menudesign/popview/index.jsx
index dfdc154..fa28c25 100644
--- a/src/views/menudesign/popview/index.jsx
+++ b/src/views/menudesign/popview/index.jsx
@@ -15,6 +15,7 @@
 const SourceWrap = asyncComponent(() => import('@/menu/modulesource'))
 const Modulecell = asyncComponent(() => import('@/menu/modulecell'))
 const MenuShell = asyncComponent(() => import('@/menu/menushell'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const ReplaceField = asyncComponent(() => import('@/menu/replaceField'))
 const BgController = asyncComponent(() => import('@/pc/bgcontroller'))
 const PasteController = asyncComponent(() => import('@/menu/pastecontroller'))
@@ -260,6 +261,7 @@
               <Panel header="鍩烘湰淇℃伅" key="basedata">
                 {/* 琛ㄥ悕娣诲姞 */}
                 <TableComponent config={config} updatetable={this.updatetable}/>
+                <NormalCopy />
               </Panel>
               {/* 缁勪欢娣诲姞 */}
               <Panel header="缁勪欢" key="component">
diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx
index 3643832..4867d20 100644
--- a/src/views/mobdesign/index.jsx
+++ b/src/views/mobdesign/index.jsx
@@ -36,6 +36,7 @@
 const ReplaceField = asyncComponent(() => import('@/menu/replaceField'))
 const LowerField = asyncComponent(() => import('@/menu/lowerField'))
 const NormalCss = asyncComponent(() => import('@/menu/normalCss'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const SysInterface = asyncComponent(() => import('@/menu/sysinterface'))
 const Quotecomponent = asyncComponent(() => import('@/pc/quotecomponent'))
 const PasteController = asyncComponent(() => import('@/menu/pastecontroller'))
@@ -2276,10 +2277,11 @@
                     <UrlFieldComponent config={config} updateConfig={this.updateConfig}/>
                     {/* 琛ㄥ悕娣诲姞 */}
                     <TableComponent config={config} updatetable={this.updateConfig}/>
-                    <Paragraph style={{padding: '15px 0px 0px 37px'}} copyable={{ text: MenuId }}>鑿滃崟ID</Paragraph>
-                    <Paragraph style={{padding: '0px 0px 0px 23px'}} copyable={{ text:  `${window.GLOB.baseurl}mob/index.html#/index/${sessionStorage.getItem('kei_no')}/${sessionStorage.getItem('typename')}/${sessionStorage.getItem('lang')}/${MenuId}/@BID@` }}>鑿滃崟閾炬帴</Paragraph>
+                    <Paragraph style={{padding: '15px 0px 0px 32px'}} copyable={{ text: MenuId }}>鑿滃崟ID锛�</Paragraph>
+                    <Paragraph style={{padding: '0px 0px 0px 18px'}} copyable={{ text:  `${window.GLOB.baseurl}mob/index.html#/index/${sessionStorage.getItem('kei_no')}/${sessionStorage.getItem('typename')}/${sessionStorage.getItem('lang')}/${MenuId}/@BID@` }}>鑿滃崟閾炬帴锛�</Paragraph>
                     <Paragraph style={{padding: '0px 0px 0px 18px'}}>鑿滃崟缁勪欢锛�<CopyOutlined onClick={this.copyMenu} style={{cursor: 'pointer', color: '#1890ff'}} /></Paragraph>
                     <NormalCss config={config} updateConfig={this.updateConfig}/>
+                    <NormalCopy />
                   </> : null}
                 </Panel>
                 {/* 缁勪欢娣诲姞 */}
diff --git a/src/views/mobdesign/popview/index.jsx b/src/views/mobdesign/popview/index.jsx
index 3893894..c7ce41b 100644
--- a/src/views/mobdesign/popview/index.jsx
+++ b/src/views/mobdesign/popview/index.jsx
@@ -15,6 +15,7 @@
 const MobShell = asyncComponent(() => import('@/mob/mobshell'))
 const SourceWrap = asyncComponent(() => import('@/mob/modulesource'))
 const Modulecell = asyncComponent(() => import('@/menu/modulecell'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const BgController = asyncComponent(() => import('@/pc/bgcontroller'))
 const ReplaceField = asyncComponent(() => import('@/menu/replaceField'))
 const PasteController = asyncComponent(() => import('@/menu/pastecontroller'))
@@ -266,6 +267,7 @@
               <Panel header="鍩烘湰淇℃伅" forceRender className="basedata" key="basedata">
                 {/* 琛ㄥ悕娣诲姞 */}
                 <TableComponent config={config} updatetable={this.updateConfig}/>
+                <NormalCopy />
               </Panel>
               {/* 缁勪欢娣诲姞 */}
               <Panel header="缁勪欢" className="component" key="component">
diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx
index 354400f..b4b6958 100644
--- a/src/views/pcdesign/index.jsx
+++ b/src/views/pcdesign/index.jsx
@@ -41,6 +41,7 @@
 const ReplaceField = asyncComponent(() => import('@/menu/replaceField'))
 const LowerField = asyncComponent(() => import('@/menu/lowerField'))
 const NormalCss = asyncComponent(() => import('@/menu/normalCss'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const SysInterface = asyncComponent(() => import('@/menu/sysinterface'))
 const UrlFieldComponent = asyncComponent(() => import('@/menu/urlfieldcomponent'))
 const PictureController = asyncComponent(() => import('@/menu/picturecontroller'))
@@ -1902,9 +1903,10 @@
                       <UrlFieldComponent config={config} updateConfig={this.updateConfig}/>
                       {/* 琛ㄥ悕娣诲姞 */}
                       <TableComponent config={config} updatetable={this.updateConfig}/>
-                      <Paragraph style={{padding: '15px 0px 0px 37px'}} copyable={{ text: MenuId }}>鑿滃崟ID</Paragraph>
+                      <Paragraph style={{padding: '15px 0px 0px 32px'}} copyable={{ text: MenuId }}>鑿滃崟ID锛�</Paragraph>
                       <Paragraph style={{padding: '0px 0px 0px 18px'}}>鑿滃崟缁勪欢锛�<CopyOutlined onClick={this.copyMenu} style={{cursor: 'pointer', color: '#1890ff'}} /></Paragraph>
                       <NormalCss config={config} updateConfig={this.updateConfig}/>
+                      <NormalCopy />
                     </> : null}
                   </Panel>
                   {/* 缁勪欢娣诲姞 */}
diff --git a/src/views/tabledesign/index.jsx b/src/views/tabledesign/index.jsx
index 1e20f9d..122600d 100644
--- a/src/views/tabledesign/index.jsx
+++ b/src/views/tabledesign/index.jsx
@@ -38,6 +38,7 @@
 const Versions = asyncComponent(() => import('@/menu/versions'))
 const Transfer = asyncComponent(() => import('@/menu/transfer'))
 const Unattended = asyncComponent(() => import('@/templates/zshare/unattended'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const UrlFieldComponent = asyncComponent(() => import('@/menu/urlfieldcomponent'))
 const ModalController = asyncComponent(() => import('@/menu/modalconfig/controller'))
 const TableComponent = asyncComponent(() => import('@/templates/sharecomponent/tablecomponent'))
@@ -1067,8 +1068,9 @@
                       />
                       {/* 琛ㄥ悕娣诲姞 */}
                       <TableComponent config={config} updatetable={this.updateConfig}/>
-                      <Paragraph style={{padding: '15px 0px 0px 18px'}} copyable={{ text: MenuId }}>鑿滃崟ID</Paragraph>
-                      <Paragraph style={{padding: '0px 0px 0px 5px'}}>鑿滃崟缁勪欢 <CopyOutlined onClick={this.copyMenu} style={{marginLeft: '3px', cursor: 'pointer', color: '#1890ff'}} /></Paragraph>
+                      <Paragraph style={{padding: '15px 0px 0px 32px'}} copyable={{ text: MenuId }}>鑿滃崟ID锛�</Paragraph>
+                      <Paragraph style={{padding: '0px 0px 0px 18px'}}>鑿滃崟缁勪欢锛�<CopyOutlined onClick={this.copyMenu} style={{cursor: 'pointer', color: '#1890ff'}} /></Paragraph>
+                      <NormalCopy />
                     </> : null}
                   </Panel>
                   <Panel header="鎼滅储" key="search">
diff --git a/src/views/tabledesign/popview/index.jsx b/src/views/tabledesign/popview/index.jsx
index e4aceb2..a824b3b 100644
--- a/src/views/tabledesign/popview/index.jsx
+++ b/src/views/tabledesign/popview/index.jsx
@@ -15,6 +15,7 @@
 
 const MenuShell = asyncComponent(() => import('@/menu/tableshell'))
 const ReplaceField = asyncComponent(() => import('@/menu/replaceField'))
+const NormalCopy = asyncComponent(() => import('@/menu/normalCopy'))
 const BgController = asyncComponent(() => import('@/pc/bgcontroller'))
 const TableComponent = asyncComponent(() => import('@/templates/sharecomponent/tablecomponent'))
 
@@ -195,6 +196,7 @@
               <Panel header="鍩烘湰淇℃伅" key="basedata">
                 {/* 琛ㄥ悕娣诲姞 */}
                 <TableComponent config={config} updatetable={this.updatetable}/>
+                <NormalCopy />
               </Panel>
               {/* 缁勪欢娣诲姞 */}
               <Panel header="鎼滅储" key="search">

--
Gitblit v1.8.0