From b99ce8c40845653c2459dbf1d758ebead03f9183 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 02 一月 2023 21:24:29 +0800
Subject: [PATCH] 2023-01-02

---
 src/menu/components/form/simple-form/index.scss                   |   14 --
 src/templates/zshare/modalform/index.jsx                          |    2 
 src/menu/components/card/cardcellcomponent/dragaction/index.scss  |    6 +
 src/menu/components/timeline/normal-timeline/index.scss           |   13 -
 src/menu/components/carousel/prop-card/index.scss                 |   12 -
 src/tabviews/zshare/topSearch/index.jsx                           |    6 +
 src/menu/components/form/tab-form/index.scss                      |   14 --
 src/menu/components/card/prop-card/index.scss                     |   12 -
 src/pc/components/login/normal-login/options.jsx                  |   21 +++
 src/templates/modalconfig/checkCard/index.jsx                     |    2 
 src/menu/components/card/balcony/index.scss                       |   12 -
 src/menu/components/card/data-card/index.scss                     |   12 -
 src/menu/components/form/step-form/index.scss                     |   14 --
 src/utils/utils.js                                                |    2 
 src/menu/components/card/cardsimplecomponent/index.scss           |   15 ++
 src/menu/components/card/table-card/index.scss                    |   12 -
 src/tabviews/zshare/mutilform/mkCheckCard/index.jsx               |    2 
 src/templates/zshare/formconfig.jsx                               |   14 ++
 src/templates/zshare/modalform/datatable/index.jsx                |   13 ++
 src/pc/components/login/normal-login/loginform.jsx                |   11 +
 src/menu/components/card/cardsimplecomponent/index.jsx            |    2 
 src/tabviews/zshare/mutilform/index.jsx                           |    6 +
 src/mob/components/menubar/normal-menubar/index.scss              |   10 -
 src/pc/components/navbar/normal-navbar/index.scss                 |   13 -
 src/menu/components/card/cardcomponent/index.scss                 |   18 ++
 src/pc/components/login/normal-login/signform.jsx                 |   11 +
 src/tabviews/custom/components/card/cardcellList/index.scss       |    5 
 src/mob/components/menubar/common-menubar/index.scss              |   12 -
 src/menu/components/carousel/data-card/index.scss                 |   12 -
 src/pc/components/login/normal-login/index.scss                   |   14 --
 src/templates/sharecomponent/searchcomponent/searchform/index.jsx |    2 
 31 files changed, 145 insertions(+), 169 deletions(-)

diff --git a/src/menu/components/card/balcony/index.scss b/src/menu/components/card/balcony/index.scss
index 7253e9b..6d5f095 100644
--- a/src/menu/components/card/balcony/index.scss
+++ b/src/menu/components/card/balcony/index.scss
@@ -17,17 +17,7 @@
   .model-menu-card-cell-list {
     flex: 1;
   }
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/card/cardcellcomponent/dragaction/index.scss b/src/menu/components/card/cardcellcomponent/dragaction/index.scss
index 3683516..aade5ba 100644
--- a/src/menu/components/card/cardcellcomponent/dragaction/index.scss
+++ b/src/menu/components/card/cardcellcomponent/dragaction/index.scss
@@ -140,4 +140,10 @@
     width: 26px;
     height: 26px;
   }
+
+  .card-cell > div {
+    background-position: center center;
+    background-repeat: no-repeat;
+    background-size: cover;
+  }
 }
\ No newline at end of file
diff --git a/src/menu/components/card/cardcomponent/index.scss b/src/menu/components/card/cardcomponent/index.scss
index d8fcee1..a32dfaa 100644
--- a/src/menu/components/card/cardcomponent/index.scss
+++ b/src/menu/components/card/cardcomponent/index.scss
@@ -45,4 +45,20 @@
       }
     }
   }
-}
\ No newline at end of file
+}
+
+.card-control {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  .anticon-tool {
+    position: absolute;
+    left: 1px;
+    top: 1px;
+    padding: 1px;
+    z-index: 2;
+    font-size: 16px;
+    cursor: pointer;
+    background: rgba(255, 255, 255, 0.55);
+  }
+}
diff --git a/src/menu/components/card/cardsimplecomponent/index.jsx b/src/menu/components/card/cardsimplecomponent/index.jsx
index e46f414..1edd5d7 100644
--- a/src/menu/components/card/cardsimplecomponent/index.jsx
+++ b/src/menu/components/card/cardsimplecomponent/index.jsx
@@ -10,7 +10,7 @@
 import { getTableSetting, getCarouselSetting } from './options'
 import Utils from '@/utils/utils.js'
 import MKEmitter from '@/utils/events.js'
-// import './index.scss'
+import './index.scss'
 
 const NormalForm = asyncIconComponent(() => import('@/components/normalform'))
 const NodesWrap = asyncComponent(() => import('./node-wrap'))
diff --git a/src/menu/components/card/cardsimplecomponent/index.scss b/src/menu/components/card/cardsimplecomponent/index.scss
index e69de29..0f6054d 100644
--- a/src/menu/components/card/cardsimplecomponent/index.scss
+++ b/src/menu/components/card/cardsimplecomponent/index.scss
@@ -0,0 +1,15 @@
+.card-control {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  .anticon-tool {
+    position: absolute;
+    left: 1px;
+    top: 1px;
+    padding: 1px;
+    z-index: 2;
+    font-size: 16px;
+    cursor: pointer;
+    background: rgba(255, 255, 255, 0.55);
+  }
+}
\ No newline at end of file
diff --git a/src/menu/components/card/data-card/index.scss b/src/menu/components/card/data-card/index.scss
index 0ffc607..3ccba56 100644
--- a/src/menu/components/card/data-card/index.scss
+++ b/src/menu/components/card/data-card/index.scss
@@ -8,17 +8,7 @@
   min-height: 20px;
   overflow-y: auto;
   
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/card/prop-card/index.scss b/src/menu/components/card/prop-card/index.scss
index b3fd307..6f1ec06 100644
--- a/src/menu/components/card/prop-card/index.scss
+++ b/src/menu/components/card/prop-card/index.scss
@@ -7,17 +7,7 @@
   background-size: cover;
   min-height: 20px;
   
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/card/table-card/index.scss b/src/menu/components/card/table-card/index.scss
index 8ececec..aef713c 100644
--- a/src/menu/components/card/table-card/index.scss
+++ b/src/menu/components/card/table-card/index.scss
@@ -24,17 +24,7 @@
       z-index: 1;
     }
   }
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/carousel/data-card/index.scss b/src/menu/components/carousel/data-card/index.scss
index b4a77ec..7d9fda3 100644
--- a/src/menu/components/carousel/data-card/index.scss
+++ b/src/menu/components/carousel/data-card/index.scss
@@ -7,17 +7,7 @@
   background-size: cover;
   min-height: 30px;
   
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/carousel/prop-card/index.scss b/src/menu/components/carousel/prop-card/index.scss
index 3fb2fb0..07e359f 100644
--- a/src/menu/components/carousel/prop-card/index.scss
+++ b/src/menu/components/carousel/prop-card/index.scss
@@ -7,17 +7,7 @@
   background-size: cover;
   min-height: 30px;
   
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/form/simple-form/index.scss b/src/menu/components/form/simple-form/index.scss
index c02b072..bf874bf 100644
--- a/src/menu/components/form/simple-form/index.scss
+++ b/src/menu/components/form/simple-form/index.scss
@@ -6,18 +6,8 @@
   background-repeat: no-repeat;
   background-size: cover;
   min-height: 30px;
-  
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/form/step-form/index.scss b/src/menu/components/form/step-form/index.scss
index 506e5ff..8ca4c7c 100644
--- a/src/menu/components/form/step-form/index.scss
+++ b/src/menu/components/form/step-form/index.scss
@@ -6,18 +6,8 @@
   background-repeat: no-repeat;
   background-size: cover;
   min-height: 30px;
-  
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/form/tab-form/index.scss b/src/menu/components/form/tab-form/index.scss
index 506e5ff..8ca4c7c 100644
--- a/src/menu/components/form/tab-form/index.scss
+++ b/src/menu/components/form/tab-form/index.scss
@@ -6,18 +6,8 @@
   background-repeat: no-repeat;
   background-size: cover;
   min-height: 30px;
-  
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/menu/components/timeline/normal-timeline/index.scss b/src/menu/components/timeline/normal-timeline/index.scss
index dffd8b4..2f88860 100644
--- a/src/menu/components/timeline/normal-timeline/index.scss
+++ b/src/menu/components/timeline/normal-timeline/index.scss
@@ -10,17 +10,8 @@
   .model-menu-card-cell-list {
     flex: 1;
   }
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/mob/components/menubar/common-menubar/index.scss b/src/mob/components/menubar/common-menubar/index.scss
index d28f371..be019c0 100644
--- a/src/mob/components/menubar/common-menubar/index.scss
+++ b/src/mob/components/menubar/common-menubar/index.scss
@@ -6,17 +6,7 @@
   background-repeat: no-repeat;
   background-size: cover;
   min-height: 20px;
-  
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
+
   >.anticon-tool {
     position: absolute;
     z-index: 2;
diff --git a/src/mob/components/menubar/normal-menubar/index.scss b/src/mob/components/menubar/normal-menubar/index.scss
index e8b3434..6cfe56f 100644
--- a/src/mob/components/menubar/normal-menubar/index.scss
+++ b/src/mob/components/menubar/normal-menubar/index.scss
@@ -7,16 +7,6 @@
   background-size: cover;
   min-height: 20px;
   
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
   >.anticon-tool {
     position: absolute;
     z-index: 2;
diff --git a/src/pc/components/login/normal-login/index.scss b/src/pc/components/login/normal-login/index.scss
index e1b347c..037a7f7 100644
--- a/src/pc/components/login/normal-login/index.scss
+++ b/src/pc/components/login/normal-login/index.scss
@@ -8,18 +8,8 @@
   background-size: cover;
   min-height: 100px;
   max-width: 100%;
-  
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/pc/components/login/normal-login/loginform.jsx b/src/pc/components/login/normal-login/loginform.jsx
index 51a1189..fff2af3 100644
--- a/src/pc/components/login/normal-login/loginform.jsx
+++ b/src/pc/components/login/normal-login/loginform.jsx
@@ -139,9 +139,14 @@
     const { wrap } = this.props
     const { activeWay, loginWays, scanWay } = this.state
 
+    let style = {}
+    if (wrap.borderRadius) {
+      style.borderRadius = wrap.borderRadius
+    }
+
     return (
       <Form className="login-edit-form">
-        <div className="login-way-title">{activeWay.label}</div>
+        {wrap.topTip !== 'hidden' ? <div className="login-way-title">{activeWay.label}</div> : null}
         {scanWay && activeWay.type !== 'app_scan' ? <div className="scan-icon" onClick={() => this.onChangeTab(scanWay)}><QrcodeOutlined /></div> : null}
         {activeWay.type === 'uname_pwd' ? <div className={'form-item-wrap ' + (activeWay.shortcut === 'none' ? 'no-short' : '')}>
           <Form.Item>
@@ -161,7 +166,7 @@
             <Checkbox>鑷姩鐧诲綍</Checkbox>
           </Form.Item> : null}
           <Form.Item className="btn-login">
-            <Button type="primary" onDoubleClick={() => this.changeMenu()} className="login-form-button">
+            <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="login-form-button">
               鐧诲綍
             </Button>
           </Form.Item>
@@ -185,7 +190,7 @@
             />
           </Form.Item>
           <Form.Item className="btn-login">
-            <Button type="primary" onDoubleClick={() => this.changeMenu()} className="login-form-button">
+            <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="login-form-button">
               鐧诲綍
             </Button>
           </Form.Item>
diff --git a/src/pc/components/login/normal-login/options.jsx b/src/pc/components/login/normal-login/options.jsx
index 9731b8e..054fd0a 100644
--- a/src/pc/components/login/normal-login/options.jsx
+++ b/src/pc/components/login/normal-login/options.jsx
@@ -81,6 +81,27 @@
     },
     {
       type: 'radio',
+      field: 'topTip',
+      label: '椤堕儴鎻愮ず',
+      initval: wrap.topTip || 'show',
+      tooltip: '鐧诲綍鎴栨敞鍐屾柟寮忔彁绀轰俊鎭��',
+      required: false,
+      options: [
+        {value: 'show', label: '鏄剧ず'},
+        {value: 'hidden', label: '闅愯棌'}
+      ]
+    },
+    {
+      type: 'styleInput',
+      field: 'borderRadius',
+      label: '鍦嗚',
+      initval: wrap.borderRadius || '',
+      tooltip: '鐧诲綍鎴栨敞鍐屾椂锛岀‘瀹氭寜閽殑鍦嗚銆�',
+      required: false,
+      options: ['px', 'vh', 'vw', '%']
+    },
+    {
+      type: 'radio',
       field: 'classify',
       label: '缁勪欢绫诲瀷',
       initval: wrap.classify || 'login',
diff --git a/src/pc/components/login/normal-login/signform.jsx b/src/pc/components/login/normal-login/signform.jsx
index 9410986..4d3d42d 100644
--- a/src/pc/components/login/normal-login/signform.jsx
+++ b/src/pc/components/login/normal-login/signform.jsx
@@ -133,9 +133,14 @@
     const { wrap } = this.props
     const { activeWay, signWays, appType } = this.state
 
+    let style = {}
+    if (wrap.borderRadius) {
+      style.borderRadius = wrap.borderRadius
+    }
+
     return (
       <Form className="login-edit-form">
-        {appType === 'pc' ? <div className="login-way-title">{activeWay.label}</div> : null}
+        {appType === 'pc' && wrap.topTip !== 'hidden' ? <div className="login-way-title">{activeWay.label}</div> : null}
         {activeWay.type === 'uname_pwd' ? <div className="form-item-wrap">
           <Form.Item>
             <Input
@@ -151,7 +156,7 @@
             <Checkbox>{wrap.tip}</Checkbox>{wrap.groups.map((item, i) => (<span><span className="protocol" key={i}>銆妠item.label}銆�</span>{wrap.groups.length > i + 1 ? (wrap.groups.length > i + 2 ? '銆�' : '鍜�') : null}</span>))}
           </div> : null}
           <Form.Item className="btn-login">
-            <Button type="primary" onDoubleClick={() => this.changeMenu()} className="sign-form-button">
+            <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="sign-form-button">
             娉ㄥ唽
             </Button>
           </Form.Item>
@@ -178,7 +183,7 @@
             <Checkbox>{wrap.tip}</Checkbox>{wrap.groups.map((item, i) => (<span><span className="protocol" key={i}>銆妠item.label}銆�</span>{wrap.groups.length > i + 1 ? (wrap.groups.length > i + 2 ? '銆�' : '鍜�') : null}</span>))}
           </div> : null}
           <Form.Item className="btn-login">
-            <Button type="primary" onDoubleClick={() => this.changeMenu()} className="sign-form-button">
+            <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="sign-form-button">
               娉ㄥ唽
             </Button>
           </Form.Item>
diff --git a/src/pc/components/navbar/normal-navbar/index.scss b/src/pc/components/navbar/normal-navbar/index.scss
index ea0f488..3c9d934 100644
--- a/src/pc/components/navbar/normal-navbar/index.scss
+++ b/src/pc/components/navbar/normal-navbar/index.scss
@@ -58,17 +58,8 @@
       }
     }
   }
-  .card-control {
-    position: absolute;
-    top: 0px;
-    left: 0px;
-    .anticon-tool {
-      right: auto;
-      left: 1px;
-      padding: 1px;
-    }
-  }
-  .anticon-tool {
+
+  >.anticon-tool {
     position: absolute;
     z-index: 2;
     font-size: 16px;
diff --git a/src/tabviews/custom/components/card/cardcellList/index.scss b/src/tabviews/custom/components/card/cardcellList/index.scss
index 501a91f..1523314 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.scss
+++ b/src/tabviews/custom/components/card/cardcellList/index.scss
@@ -77,6 +77,11 @@
   .line10 {
     -webkit-line-clamp: 10;
   }
+  .ant-col:not(.mk-cell-btn) > div {
+    background-position: center center;
+    background-repeat: no-repeat;
+    background-size: cover;
+  }
   .mk-cell-btn {
     > div {width: 100%;max-width: 100%;}
     button:not(.ant-switch) {
diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index ec96237..48a20c1 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -732,6 +732,12 @@
             _cell.$value = cell[item.cardValField]
             _cell = {..._cell, ...cell}
 
+            if (item.urlField) {
+              _cell.$url = cell[item.urlField] || ''
+            } else if (item.colorField) {
+              _cell.$color = cell[item.colorField] || ''
+            }
+
             if (map.has(_cell.ParentID + _cell.$value)) return
             
             map.set(_cell.ParentID + _cell.$value, 0)
diff --git a/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx b/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
index 74100ed..58acdce 100644
--- a/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
@@ -191,7 +191,7 @@
         }
 
         return <Col span={width} key={item.key}>
-          <div className={'card-color-cell' + (_active ? ' active' : '') + (item.$disabled ? ' disabled' : '')} style={{background: item.$value}} onClick={() => this.changeCard(item)}>
+          <div className={'card-color-cell' + (_active ? ' active' : '') + (item.$disabled ? ' disabled' : '')} style={{background: item.$color}} onClick={() => this.changeCard(item)}>
             {fields.map(col => {
               return <span className="content-line" key={col.key} style={{color: col.color, fontSize: col.fontSize + 'px', height: col.fontSize * 1.5 + 'px', textAlign: col.align}}>{item[col.field]}</span>
             })}
diff --git a/src/tabviews/zshare/topSearch/index.jsx b/src/tabviews/zshare/topSearch/index.jsx
index 47a2ae4..0b4ad56 100644
--- a/src/tabviews/zshare/topSearch/index.jsx
+++ b/src/tabviews/zshare/topSearch/index.jsx
@@ -423,6 +423,12 @@
             _item.$value = cell[item.cardValField]
             _item = {..._item, ...cell}
 
+            if (item.urlField) {
+              _item.$url = cell[item.urlField] || ''
+            } else if (item.colorField) {
+              _item.$color = cell[item.colorField] || ''
+            }
+
             if (map.has(_item.ParentID + _item.$value)) return
             
             map.set(_item.ParentID + _item.$value, 0)
diff --git a/src/templates/modalconfig/checkCard/index.jsx b/src/templates/modalconfig/checkCard/index.jsx
index 1766dd0..558e172 100644
--- a/src/templates/modalconfig/checkCard/index.jsx
+++ b/src/templates/modalconfig/checkCard/index.jsx
@@ -66,7 +66,7 @@
       }
       return _options.map(item => {
         return <Col span={width} key={item.key}>
-          <div className={'card-color-cell ' + cls} style={{background: item.$value}}>
+          <div className={'card-color-cell ' + cls} style={{background: item.$color}}>
             {_fields.map(col => {
               return <span className="content-line" key={col.key} style={{color: col.color, fontSize: col.fontSize + 'px', height: col.fontSize * 1.5 + 'px', textAlign: col.align}}>{item[col.field]}</span>
             })}
diff --git a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
index c4365b3..3ad9a27 100644
--- a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
+++ b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
@@ -198,7 +198,7 @@
         if (this.record.resourceType === '0') {        // 鑷畾涔夎祫婧�
           shows.push('options', 'fields')
         } else if (this.record.resourceType === '1') { // 鏁版嵁婧�
-          shows.push('dataSource', 'cardValField', 'fields', 'orderBy', 'orderType', 'database')
+          shows.push('dataSource', 'cardValField', 'colorField', 'fields', 'orderBy', 'orderType', 'database')
         }
       } else {
         reRequired.fields = true
diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx
index ecbc867..b11d8ca 100644
--- a/src/templates/zshare/formconfig.jsx
+++ b/src/templates/zshare/formconfig.jsx
@@ -489,6 +489,13 @@
       required: true
     },
     {
+      type: 'text',
+      key: 'colorField',
+      label: '鑹插�煎瓧娈�',
+      initVal: card.colorField || '',
+      required: true
+    },
+    {
       type: 'radio',
       key: 'picratio',
       label: '鍥剧墖姣斾緥',
@@ -2693,6 +2700,13 @@
       readonly: false
     },
     {
+      type: 'text',
+      key: 'colorField',
+      label: '鑹插�煎瓧娈�',
+      initVal: card.colorField || '',
+      required: true
+    },
+    {
       type: 'radio',
       key: 'picratio',
       label: '鍥剧墖姣斾緥',
diff --git a/src/templates/zshare/modalform/datatable/index.jsx b/src/templates/zshare/modalform/datatable/index.jsx
index 7492418..7f13956 100644
--- a/src/templates/zshare/modalform/datatable/index.jsx
+++ b/src/templates/zshare/modalform/datatable/index.jsx
@@ -201,6 +201,17 @@
           return <span style={{display: 'block', width: '70px', height: '70px'}}><img style={{width: '100%', height: '100%'}} src={text} alt="" /></span>
         }
       })
+    } else if (display === 'color') {
+      columns.push({
+        title: 'Color',
+        dataIndex: '$color',
+        inputType: 'text',
+        editable: true,
+        render: (text) => {
+          if (!text) return ''
+          return <div style={{height: '20px', background: text}}></div>
+        }
+      })
     }
 
     fields.forEach(item => {
@@ -371,6 +382,8 @@
 
     if (display === 'picture') {
       item.$url = ''
+    } else if (display === 'color') {
+      item.$color = ''
     }
 
     fields.forEach(f => {
diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx
index b4354cc..2cd53c8 100644
--- a/src/templates/zshare/modalform/index.jsx
+++ b/src/templates/zshare/modalform/index.jsx
@@ -193,7 +193,7 @@
         if (this.record.resourceType === '0') {        // 鑷畾涔夎祫婧�
           shows.push('options', 'fields')
         } else if (this.record.resourceType === '1') { // 鏁版嵁婧�
-          shows.push('dataSource', 'cardValField', 'fields', 'orderBy', 'orderType', 'database')
+          shows.push('dataSource', 'cardValField', 'colorField', 'fields', 'orderBy', 'orderType', 'database')
         }
       } else {
         reRequired.fields = true
diff --git a/src/utils/utils.js b/src/utils/utils.js
index 6aac04b..8616197 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -783,6 +783,8 @@
       arrfield.push(item.cardValField)
       if (item.urlField) {
         arrfield.push(item.urlField)
+      } else if (item.colorField) {
+        arrfield.push(item.colorField)
       }
     }
 

--
Gitblit v1.8.0