From 741994985005c699d8ae4aebf1736fd90ffcd55e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 18 十一月 2021 13:33:16 +0800
Subject: [PATCH] Merge branch 'master' into bms

---
 src/menu/components/card/cardcellcomponent/formconfig.jsx                  |   38 +++++++++++++------
 src/components/mkProgress/index.jsx                                        |   10 ++++-
 src/menu/components/card/cardcellcomponent/elementform/index.jsx           |   42 +++++++++++++++------
 src/menu/components/card/cardcellcomponent/dragaction/mkProgress/index.jsx |   11 ++++-
 src/assets/css/main.scss                                                   |    9 ++++
 5 files changed, 82 insertions(+), 28 deletions(-)

diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss
index 668699c..60cb6df 100644
--- a/src/assets/css/main.scss
+++ b/src/assets/css/main.scss
@@ -435,6 +435,15 @@
 div.ant-input-number {
   width: 100%;
 }
+
+.ant-progress {
+  .ant-progress-circle-trail {
+    stroke: inherit!important;
+  }
+  .ant-progress-text {
+    color: inherit!important;
+  }
+}
 // .ant-table.ant-table-mini .ant-table-thead > tr > th {
 //   padding: 8px 4px;
 // }
diff --git a/src/components/mkProgress/index.jsx b/src/components/mkProgress/index.jsx
index 6c68405..007f05b 100644
--- a/src/components/mkProgress/index.jsx
+++ b/src/components/mkProgress/index.jsx
@@ -15,9 +15,14 @@
     const { value, config, color } = this.props
 
     let type = config.showType || 'line'
+    let style = {}
+
+    if (config.showInfo === 'true') {
+      style.color = config.infoColor || 'rgba(0, 0, 0, 0.65)'
+    }
 
     if (type === 'line') {
-      return <Progress percent={value} type="line" className={config.strokeLinecap || ''} strokeWidth={config.strokeWidth || 8} strokeColor={color} showInfo={config.showInfo === 'true'}/>
+      return <Progress percent={value} type="line" style={style} className={config.strokeLinecap || ''} strokeWidth={config.strokeWidth || 8} strokeColor={color} showInfo={config.showInfo === 'true'}/>
     }
 
     let width = config.outlineWidth || 0
@@ -25,10 +30,11 @@
     if (this.progress && (!width || width > this.progress.clientWidth)) {
       width = this.progress.clientWidth
     }
+    style.stroke = config.trailColor || '#f5f5f5'
 
     return (
       <div ref={(ref) => this.progress = ref } style={{textAlign: config.textAlign || 'left'}}>
-        <Progress percent={value} width={width} strokeLinecap={config.strokeLinecap || 'round'} type={type} strokeWidth={config.strokeWidth || 8} strokeColor={color} showInfo={config.showInfo === 'true'}/>
+        <Progress percent={value} width={width} style={style} strokeLinecap={config.strokeLinecap || 'round'} type={type} strokeWidth={config.strokeWidth || 8} strokeColor={color} showInfo={config.showInfo === 'true'}/>
       </div>
     )
   }
diff --git a/src/menu/components/card/cardcellcomponent/dragaction/mkProgress/index.jsx b/src/menu/components/card/cardcellcomponent/dragaction/mkProgress/index.jsx
index bfb3d89..1db8ce5 100644
--- a/src/menu/components/card/cardcellcomponent/dragaction/mkProgress/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/dragaction/mkProgress/index.jsx
@@ -14,9 +14,14 @@
     const { value, config } = this.props
 
     let type = config.showType || 'line'
+    let style = {}
+
+    if (config.showInfo === 'true') {
+      style.color = config.infoColor || 'rgba(0, 0, 0, 0.65)'
+    }
 
     if (type === 'line') {
-      return <Progress percent={value} type="line" className={config.strokeLinecap || ''} strokeWidth={config.strokeWidth || 8} strokeColor={config.color} showInfo={config.showInfo === 'true'}/>
+      return <Progress percent={value} style={style} type="line" className={config.strokeLinecap || ''} strokeWidth={config.strokeWidth || 8} strokeColor={config.color} showInfo={config.showInfo === 'true'}/>
     }
 
     let width = config.outlineWidth || 0
@@ -25,9 +30,11 @@
       width = this.progress.clientWidth
     }
 
+    style.stroke = config.trailColor || '#f5f5f5'
+
     return (
       <div ref={(ref) => this.progress = ref } style={{textAlign: config.textAlign || 'left'}}>
-        <Progress percent={value} width={width} type={type} strokeLinecap={config.strokeLinecap || 'round'} strokeWidth={config.strokeWidth || 8} strokeColor={config.color} showInfo={config.showInfo === 'true'}/>
+        <Progress percent={value} width={width} style={style} type={type} strokeLinecap={config.strokeLinecap || 'round'} strokeWidth={config.strokeWidth || 8} strokeColor={config.color} showInfo={config.showInfo === 'true'}/>
       </div>
     )
   }
diff --git a/src/menu/components/card/cardcellcomponent/elementform/index.jsx b/src/menu/components/card/cardcellcomponent/elementform/index.jsx
index e44398f..4f24969 100644
--- a/src/menu/components/card/cardcellcomponent/elementform/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/elementform/index.jsx
@@ -20,7 +20,7 @@
   picture: ['eleType', 'datatype', 'width', 'lenWidRadio', 'maxWidth', 'link', 'noValue'],
   video: ['eleType', 'datatype', 'width', 'aspectRatio', 'autoPlay', 'loop', 'noValue'],
   icon: ['eleType', 'icon', 'datatype', 'width'],
-  slider: ['eleType', 'datatype', 'width', 'color', 'maxValue', 'showInfo', 'showType', 'strokeWidth', 'strokeLinecap'],
+  slider: ['eleType', 'datatype', 'width', 'color', 'maxValue', 'showInfo', 'showType', 'strokeWidth', 'strokeLinecap', 'trailColor'],
   splitline: ['eleType', 'color', 'width', 'borderWidth'],
   barcode: ['eleType', 'datatype', 'width', 'barHeight', 'displayValue', 'interval', 'noValue'],
   qrcode: ['eleType', 'datatype', 'width', 'qrWidth', 'color', 'url', 'noValue'],
@@ -42,18 +42,20 @@
     eleType: '',
     datatype: '',
     showType: '',
+    showInfo: 'false',
     link: ''
   }
 
   UNSAFE_componentWillMount () {
     const { card, config } = this.props
-    let _options = this.getOptions(card.eleType, card.datatype, card.link, (card.showType || 'line'))
+    let _options = this.getOptions(card.eleType, card.datatype, card.link, (card.showType || 'line'), card.showInfo)
     
     this.setState({
       link: card.link,
       eleType: card.eleType,
       datatype: card.datatype,
       showType: card.showType || 'line',
+      showInfo: card.showInfo || 'false',
       formlist: this.props.formlist.map(item => {
         item.hidden = !_options.includes(item.key)
 
@@ -93,7 +95,7 @@
     })
   }
 
-  getOptions = (eleType, datatype, link, showType) => {
+  getOptions = (eleType, datatype, link, showType, showInfo) => {
     let _options = fromJS(cardTypeOptions[eleType]).toJS() // 閫夐」鍒楄〃
     
     if (['text', 'number', 'picture', 'link', 'slider', 'barcode', 'qrcode', 'video'].includes(eleType)) {
@@ -115,8 +117,13 @@
         }
       } else if (eleType === 'picture' && !link) {
         _options.push('scale')
-      } else if (eleType === 'slider' && showType !== 'line') {
-        _options.push('outlineWidth', 'textAlign')
+      } else if (eleType === 'slider') {
+        if (showInfo === 'true') {
+          _options.push('infoColor')
+        }
+        if (showType !== 'line') {
+          _options.push('outlineWidth', 'textAlign')
+        }
       }
     } else if (eleType === 'icon') {
       if (datatype === 'dynamic') {
@@ -137,10 +144,10 @@
    */
   selectChange = (key, value, option) => {
     const { card, config } = this.props
-    const { datatype, eleType, showType } = this.state
+    const { datatype, eleType, showType, showInfo } = this.state
 
     if (key === 'eleType') {
-      let _options = this.getOptions(value, datatype, '', showType)
+      let _options = this.getOptions(value, datatype, '', showType, showInfo)
       
       let _formlist = this.state.formlist.map(item => {
         item.hidden = !_options.includes(item.key)
@@ -176,6 +183,8 @@
           }
         } else if (item.key === 'url') {
           item.required = value !== 'qrcode'
+        } else if (item.key === 'showInfo') {
+          item.initVal = showInfo
         }
 
         return item
@@ -203,7 +212,7 @@
         this.props.form.setFieldsValue({value: option.props.title})
       }
     } else if (key === 'link') {
-      let _options = this.getOptions(eleType, this.state.datatype, value, showType)
+      let _options = this.getOptions(eleType, datatype, value, showType, showInfo)
       this.setState({
         link: value,
         formlist: this.state.formlist.map(item => {
@@ -218,11 +227,11 @@
   }
 
   onChange = (e, key) => {
-    const { eleType, datatype, link, showType } = this.state
+    const { eleType, datatype, link, showType, showInfo } = this.state
     let value = e.target.value
 
     if (key === 'datatype') {
-      let _options = this.getOptions(eleType, value, link, showType)
+      let _options = this.getOptions(eleType, value, link, showType, showInfo)
 
       this.setState({
         datatype: value,
@@ -233,7 +242,7 @@
         })
       })
     } else if (key === 'link') {
-      let _options = this.getOptions(eleType, datatype, value, showType)
+      let _options = this.getOptions(eleType, datatype, value, showType, showInfo)
       this.setState({
         link: value,
         formlist: this.state.formlist.map(item => {
@@ -244,11 +253,20 @@
           return item
         })
       })
+    } else if (key === 'showInfo') {
+      let _options = this.getOptions(eleType, datatype, link, showType, value)
+      this.setState({
+        showInfo: value,
+        formlist: this.state.formlist.map(item => {
+          item.hidden = !_options.includes(item.key)
+          return item
+        })
+      })
     } else if (key === 'showType') {
       this.setState({
         showType: value
       }, () => {
-        let _options = this.getOptions(eleType, datatype, link, value)
+        let _options = this.getOptions(eleType, datatype, link, value, showInfo)
         this.setState({
           formlist: this.state.formlist.map(item => {
             item.hidden = !_options.includes(item.key)
diff --git a/src/menu/components/card/cardcellcomponent/formconfig.jsx b/src/menu/components/card/cardcellcomponent/formconfig.jsx
index 4d4da5e..ac90789 100644
--- a/src/menu/components/card/cardcellcomponent/formconfig.jsx
+++ b/src/menu/components/card/cardcellcomponent/formconfig.jsx
@@ -176,11 +176,30 @@
       required: false
     },
     {
+      type: 'radio',
+      key: 'showType',
+      label: '灞曠幇褰㈠紡',
+      initVal: card.showType || 'line',
+      required: false,
+      options: [
+        { value: 'line', text: '杩涘害鏉�' },
+        { value: 'circle', text: '杩涘害鍦�' },
+        { value: 'dashboard', text: '浠〃鐩�' },
+      ]
+    },
+    {
       type: 'color',
       key: 'color',
-      label: '棰滆壊',
-      initVal: card.color || 'rgba(0, 0, 0, 0.85)',
+      label: '杩涘害鏉¢鑹�',
+      initVal: card.color || '#1890ff',
       required: true
+    },
+    {
+      type: 'color',
+      key: 'trailColor',
+      label: '鏈畬鎴愰鑹�',
+      initVal: card.trailColor || '#f5f5f5',
+      required: false
     },
     {
       type: 'radio',
@@ -194,16 +213,11 @@
       ]
     },
     {
-      type: 'radio',
-      key: 'showType',
-      label: '灞曠幇褰㈠紡',
-      initVal: card.showType || 'line',
-      required: false,
-      options: [
-        { value: 'line', text: '杩涘害鏉�' },
-        { value: 'circle', text: '杩涘害鍦�' },
-        { value: 'dashboard', text: '浠〃鐩�' },
-      ]
+      type: 'color',
+      key: 'infoColor',
+      label: '杩涘害鍊奸鑹�',
+      initVal: card.infoColor || 'rgba(0, 0, 0, 0.65)',
+      required: false
     },
     {
       type: 'radio',

--
Gitblit v1.8.0