Procházet zdrojové kódy

feat: 调整系统配置页面展示逻辑

周玉环 před 10 hodinami
rodič
revize
45374a210b

+ 2 - 2
xinkeaboard-admin/config/config.js

@@ -75,8 +75,8 @@ export default {
   },
   proxy: {
     "/api/": {
-      target: "http://54.46.9.88:8001/",
-      // target: 'http://192.168.0.158:8001/',
+      // target: "http://54.46.9.88:8001/",
+      target: 'http://192.168.0.158:8001/',
       changeOrigin: true,
       pathRewrite: { "^/api": "" },
     },

+ 1 - 0
xinkeaboard-admin/package.json

@@ -73,6 +73,7 @@
     "react-resizable": "1.7.5",
     "react-router-dom": "^4.3.1",
     "react-slick": "^0.27.11",
+    "react-wordcloud": "^1.2.7",
     "slick-carousel": "^1.8.1",
     "umi-plugin-locale": "^2.11.7"
   },

+ 103 - 0
xinkeaboard-admin/pnpm-lock.yaml

@@ -140,6 +140,9 @@ importers:
       react-slick:
         specifier: ^0.27.11
         version: 0.27.14(react-dom@16.14.0(react@16.14.0))(react@16.14.0)
+      react-wordcloud:
+        specifier: ^1.2.7
+        version: 1.2.7(react@16.14.0)
       slick-carousel:
         specifier: ^1.8.1
         version: 1.8.1(jquery@3.7.1)
@@ -1356,6 +1359,9 @@ packages:
   '@polka/url@1.0.0-next.29':
     resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
 
+  '@popperjs/core@2.11.8':
+    resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+
   '@probe.gl/env@3.6.0':
     resolution: {integrity: sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==}
 
@@ -3240,6 +3246,12 @@ packages:
   d3-array@1.2.4:
     resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==}
 
+  d3-array@2.12.1:
+    resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
+
+  d3-cloud@1.2.7:
+    resolution: {integrity: sha512-8TrgcgwRIpoZYQp7s3fGB7tATWfhckRb8KcVd1bOgqkNdkJRDGWfdSf4HkHHzZxSczwQJdSxvfPudwir5IAJ3w==}
+
   d3-collection@1.0.7:
     resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==}
 
@@ -3269,6 +3281,9 @@ packages:
   d3-force@2.1.1:
     resolution: {integrity: sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==}
 
+  d3-format@2.0.0:
+    resolution: {integrity: sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA==}
+
   d3-geo-projection@2.1.2:
     resolution: {integrity: sha512-zft6RRvPaB1qplTodBVcSH5Ftvmvvg0qoDiqpt+fyNthGr/qr+DD30cizNDluXjW7jmo7EKUTjvFCAHofv08Ow==}
     hasBin: true
@@ -3310,12 +3325,24 @@ packages:
   d3-sankey@0.7.1:
     resolution: {integrity: sha512-KAyowBWtTLQxyXq1UhXcdCXKbuCQvL51FgqOS+fKlNTQ/4FfSWabRlWs2DezzwKyredAsOhBSQZN/i0XdeE2tQ==}
 
+  d3-scale-chromatic@1.5.0:
+    resolution: {integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==}
+
+  d3-scale@3.3.0:
+    resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==}
+
   d3-selection@1.4.2:
     resolution: {integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==}
 
   d3-shape@1.3.7:
     resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
 
+  d3-time-format@3.0.0:
+    resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==}
+
+  d3-time@2.1.1:
+    resolution: {integrity: sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==}
+
   d3-timer@1.0.10:
     resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
 
@@ -5263,6 +5290,9 @@ packages:
     resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
     engines: {node: '>= 0.4'}
 
+  internmap@1.0.1:
+    resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
+
   interpret@1.4.0:
     resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
     engines: {node: '>= 0.10'}
@@ -6236,6 +6266,9 @@ packages:
   lodash.camelcase@4.3.0:
     resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
 
+  lodash.clonedeep@4.5.0:
+    resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
+
   lodash.debounce@4.0.8:
     resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
 
@@ -8255,6 +8288,11 @@ packages:
   react-tween-state@0.1.5:
     resolution: {integrity: sha512-sJQpjsdn0wjlDIUpfpb7jQGnOG8hAEW2e8k0KPA+xmf5KFa6Xat2JldbmxBhaqP0S/uIXhVE5ymKyH/b9X8nYA==}
 
+  react-wordcloud@1.2.7:
+    resolution: {integrity: sha512-pyXvL8Iu2J258Qk2/kAwY23dIVhNpMC3dnvbXRkw5+Ert5EkJWwnwVjs9q8CmX38NWbfCKhGmpjuumBoQEtniw==}
+    peerDependencies:
+      react: ^16.13.0
+
   react@16.14.0:
     resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==}
     engines: {node: '>=0.10.0'}
@@ -8810,6 +8848,9 @@ packages:
   seamless-immutable@7.1.4:
     resolution: {integrity: sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==}
 
+  seedrandom@3.0.5:
+    resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
+
   select-hose@2.0.0:
     resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
 
@@ -9591,6 +9632,9 @@ packages:
   tinycolor2@1.6.0:
     resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
 
+  tippy.js@6.3.7:
+    resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+
   tldts-core@6.1.86:
     resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
 
@@ -12585,6 +12629,8 @@ snapshots:
 
   '@polka/url@1.0.0-next.29': {}
 
+  '@popperjs/core@2.11.8': {}
+
   '@probe.gl/env@3.6.0':
     dependencies:
       '@babel/runtime': 7.27.6
@@ -15308,6 +15354,14 @@ snapshots:
 
   d3-array@1.2.4: {}
 
+  d3-array@2.12.1:
+    dependencies:
+      internmap: 1.0.1
+
+  d3-cloud@1.2.7:
+    dependencies:
+      d3-dispatch: 1.0.6
+
   d3-collection@1.0.7: {}
 
   d3-color@1.4.1: {}
@@ -15337,6 +15391,8 @@ snapshots:
       d3-quadtree: 2.0.0
       d3-timer: 2.0.0
 
+  d3-format@2.0.0: {}
+
   d3-geo-projection@2.1.2:
     dependencies:
       commander: 2.20.3
@@ -15383,12 +15439,33 @@ snapshots:
       d3-collection: 1.0.7
       d3-shape: 1.3.7
 
+  d3-scale-chromatic@1.5.0:
+    dependencies:
+      d3-color: 1.4.1
+      d3-interpolate: 1.4.0
+
+  d3-scale@3.3.0:
+    dependencies:
+      d3-array: 2.12.1
+      d3-format: 2.0.0
+      d3-interpolate: 1.4.0
+      d3-time: 2.1.1
+      d3-time-format: 3.0.0
+
   d3-selection@1.4.2: {}
 
   d3-shape@1.3.7:
     dependencies:
       d3-path: 1.0.9
 
+  d3-time-format@3.0.0:
+    dependencies:
+      d3-time: 2.1.1
+
+  d3-time@2.1.1:
+    dependencies:
+      d3-array: 2.12.1
+
   d3-timer@1.0.10: {}
 
   d3-timer@2.0.0: {}
@@ -17877,6 +17954,8 @@ snapshots:
       hasown: 2.0.2
       side-channel: 1.1.0
 
+  internmap@1.0.1: {}
+
   interpret@1.4.0: {}
 
   intl-format-cache@2.2.9: {}
@@ -19111,6 +19190,8 @@ snapshots:
 
   lodash.camelcase@4.3.0: {}
 
+  lodash.clonedeep@4.5.0: {}
+
   lodash.debounce@4.0.8: {}
 
   lodash.defaultsdeep@4.6.1: {}
@@ -21726,6 +21807,22 @@ snapshots:
       raf: 3.4.1
       tween-functions: 1.2.0
 
+  react-wordcloud@1.2.7(react@16.14.0):
+    dependencies:
+      d3-array: 2.12.1
+      d3-cloud: 1.2.7
+      d3-dispatch: 1.0.6
+      d3-scale: 3.3.0
+      d3-scale-chromatic: 1.5.0
+      d3-selection: 1.4.2
+      d3-transition: 1.3.2
+      lodash.clonedeep: 4.5.0
+      lodash.debounce: 4.0.8
+      react: 16.14.0
+      resize-observer-polyfill: 1.5.1
+      seedrandom: 3.0.5
+      tippy.js: 6.3.7
+
   react@16.14.0:
     dependencies:
       loose-envify: 1.4.0
@@ -22473,6 +22570,8 @@ snapshots:
 
   seamless-immutable@7.1.4: {}
 
+  seedrandom@3.0.5: {}
+
   select-hose@2.0.0: {}
 
   selfsigned@1.10.14:
@@ -23535,6 +23634,10 @@ snapshots:
 
   tinycolor2@1.6.0: {}
 
+  tippy.js@6.3.7:
+    dependencies:
+      '@popperjs/core': 2.11.8
+
   tldts-core@6.1.86: {}
 
   tldts@6.1.86:

+ 29 - 13
xinkeaboard-admin/src/components/SldTableEdit/SldTableEdit.js

@@ -34,7 +34,6 @@ let getEditorContentFlag;
 
 export default class SldTableEdit extends Component {
   constructor(props) {
-    console.log(props)
     super(props);
     sthis = this;
     const {
@@ -315,21 +314,37 @@ export default class SldTableEdit extends Component {
                     onCancel={this.props.tip!=undefined&&this.props.tip.cancle!=undefined?this.props.tip.cancle:null}
                     okText={'确定'}
                     cancelText={'取消'}>
-                     <a className={index.save_btn} onClick={(e) => e.preventDefault()}>{sldComLanguage('保存并更新')}</a>
+                      <a className={index.save_btn} onClick={(e) => e.preventDefault()}>{sldComLanguage('保存并更新')}</a>
 
                   </Popconfirm>
-                  :<span className={'display-none'}><a className={index.save_btn} href="javascript:void(0)" onClick={this.sldConfirm}>{sldComLanguage('保存并更新')}</a></span>
+                  : <span className={'display-none'}>
+                    <Button 
+                        type="primary" 
+                        loading={this.props.submiting}
+                        onClick={this.sldConfirm}
+                      >
+                        {sldComLanguage('保存并更新')}
+                      </Button>
+                    </span>
                 }
                 {this.props.showOtherBtn != undefined &&
-                <Button style={{ marginLeft: 8,}} loading={this.props.submiting_sec}
-                        onClick={this.otherBtnClick}>
+                <Button 
+                 style={{ marginLeft: 8,}} 
+                 loading={this.props.submiting_sec}
+                 onClick={this.otherBtnClick}
+                 type='primary'
+                >
                   {this.props.showOtherBtn.text}
                 </Button>
                 }
 
-                {this.props.showAboutUsUeditor != undefined &&
-                <Button style={{ marginLeft: 8,}} loading={this.props.submiting_sec}
-                        onClick={this.getEditorContentFlag}>
+                { this.props.showAboutUsUeditor != undefined &&
+                <Button 
+                  style={{ marginLeft: 8,}} 
+                  loading={this.props.submiting_sec}
+                  onClick={this.getEditorContentFlag}
+                  type='primary'
+                >
                   {this.props.showAboutUsUeditor.text}
                 </Button>
                 }
@@ -583,11 +598,12 @@ export default class SldTableEdit extends Component {
         {getSldEmptyH(50)}
         <div className={global.m_diy_bottom_wrap}
              style={{ position: 'fixed', left: this.props.global.collapsed ? 90 : 160 }}>
-          <Button className={global.btn_fixed_bottom} key="submit" style={{
-            width: 100, height: 32, borderRadius: 3,
-          }}
-                  type="primary" loading={this.props.submiting}
-                  onClick={this.sldConfirm}>
+          <Button  
+           key="submit"
+           type="primary" 
+           loading={this.props.submiting}
+           onClick={this.sldConfirm}
+          >
             {sldComLanguage('保存并更新')}
           </Button>
         </div>

+ 56 - 0
xinkeaboard-admin/src/components/WordCloud/index.js

@@ -0,0 +1,56 @@
+import React, { Component } from "react";
+import ReactWordCloud from "react-wordcloud";
+
+class WordCloud extends Component {
+  constructor(props) {
+    super(props);
+    this.state = {
+      words: props.words ?? [
+        { text: "Apparel", value: 1000 },
+        { text: "Fashion", value: 800 },
+        { text: "Style", value: 700 },
+        { text: "Trend", value: 600 },
+        { text: "Wear", value: 500 },
+        { text: "Outfit", value: 400 },
+        { text: "Clothing", value: 300 },
+        { text: "Textile", value: 200 },
+      ],
+      options: props.options ?? {
+        // deterministic: true,
+        spiral: "archimedean",
+        fontFamily: "sans-serif",
+        fontSizes: [30, 80], // 字体范围
+        // deterministic: true, // 尝试保持一致
+        // enableOptimizations: true, // 优化性能,避免重新布局
+        rotations: 0, // 不旋转
+        // rotationAngles: [0, 90], // 旋转角度范围
+        scale: "sqrt", // 字体缩放方式:linear、sqrt、log
+        // spiral: "rectangular", // 词云排列方式:archimedean 或 rectangular
+        padding: 20, // 单词之间的间距
+        colors: ["#fff"],
+        // colors: [
+        //   "#f87171",
+        //   "#fb923c",
+        //   "#facc15",
+        //   "#4ade80",
+        //   "#38bdf8",
+        //   "#a78bfa",
+        //   "#f472b6",
+        // ], // 多彩渐变
+        enableTooltip: false, // 鼠标悬停提示
+      },
+    };
+  }
+
+  render() {
+    const { words, options } = this.state;
+
+    return (
+      <div style={{ width: "100%", height: "100%" }}>
+        <ReactWordCloud words={words} options={options} />
+      </div>
+    );
+  }
+}
+
+export default WordCloud;

+ 28 - 0
xinkeaboard-admin/src/global.less

@@ -2313,3 +2313,31 @@ body {
   }
 }
 
+.site_list {
+  display: flex;
+  align-items: center;
+  width: 100%;
+  height: 50px;
+  margin-top: 10px;
+  // overflow-x: auto;
+
+  .site_item {
+    width: 120px;
+    height: 35px;
+    text-align: center;
+    line-height: 35px;
+    border: 1px solid #d9d9d9;
+    border-radius: 5px;
+    margin-right: 10px;
+    color: #AAAAAA;
+    font-weight: bold;
+    cursor: pointer;
+  }
+
+  .site_active {
+    border-color: @theme-color;
+    background-color: @theme-color;
+    color: #fff;
+  }
+}
+

+ 1 - 12
xinkeaboard-admin/src/models/global.js

@@ -6,18 +6,7 @@ export default {
   state: {
     collapsed: false,
     notices: [],
-    siteList: [
-      {
-        title: '海外站',
-        value: '1',
-        name: 'sdsdsd'
-      },
-      {
-        title: '国内站',
-        value: '2',
-        name: 'sdsdsdsdsd'
-      }
-    ],
+    siteList: [],
     currentSite: '',
     currentSiteName: ''
   },

+ 39 - 3
xinkeaboard-admin/src/pages/manage/store/apply_store_detail.js

@@ -42,6 +42,8 @@ export default class ApplyStoreDetail extends Component {
       battchVal: '',//批量设置里面的值
       query: props.location.query,
       store_detail: {},
+      siteList: [],
+      currentSite: {}, // 当前站点
       store_base_info: [{ //店铺信息
         type: 'show_text',
         label: `${sldComLanguage('入驻类型')}`,
@@ -336,6 +338,24 @@ export default class ApplyStoreDetail extends Component {
           });
           //店铺经营信息-end
 
+          // 店铺经营类型区分站点--start
+          const { storeGoodsCateVOList } = store_detail;
+          const siteListData = [];
+          storeGoodsCateVOList?.forEach(item => {
+            if (!siteListData.find(site => site.webSite === item.webSite)) {
+              siteListData.push({
+                webSite: item.webSite,
+                webSiteName: item.webSiteName
+              })
+            }
+          });
+          if (siteListData.length) {
+            const sortSiteList = siteListData.sort((a, b) => Number(a.webSite) - Number(b.webSite));
+            this.setState({siteList: sortSiteList});
+            this.setState({currentSite: siteListData[0]})
+          }
+          // 店铺经营类型区分站点--end
+
           this.setState({
             store_base_info,
             store_detail,
@@ -479,9 +499,14 @@ export default class ApplyStoreDetail extends Component {
 
   };
 
+  // 切换站点
+  setCurrentSite = (site) => {
+    this.setState({ currentSite: site })
+  }
+
   render() {
     const {
-      store_base_info, submiting, show_foot, modal_width, modalVisible, operateData, card_data, store_business_info,store_business_info_chakan, columns, store_detail, battchVal, business_data, more_qualification_data,
+      siteList, currentSite, store_base_info, submiting, show_foot, modal_width, modalVisible, operateData, card_data, store_business_info,store_business_info_chakan, columns, store_detail, battchVal, business_data, more_qualification_data,
     } = this.state;
     return (
       <div className={global.common_page}
@@ -520,6 +545,17 @@ export default class ApplyStoreDetail extends Component {
                             data={more_qualification_data}/>
           </Fragment>
           }
+          <div className={global.site_list}>
+            {siteList.map((site) => (
+              <div
+                key={site.webSite}
+                onClick={() => this.setCurrentSite(site)}
+                className={`${global.site_item} ${site.webSite === currentSite.webSite ? global.site_active : ''}`}
+              >
+                {site.webSiteName}
+              </div>
+            ))}
+          </div>
           {sldCommonTitle(`${sldComLanguage('店铺经营信息')}`, '#333', 5, 15, 15)}
           {store_detail.state == 1 &&
           <SldTableRowTwo r_color={'#333'} l_color={'#999'} l_fontw={500} r_fontw={600} form={this.props.form}
@@ -553,12 +589,12 @@ export default class ApplyStoreDetail extends Component {
           {/*  </Popconfirm>*/}
           {/*</div>*/}
           {/*}*/}
-
+          {/* 站点tab列表 */}
           <div style={{ width: '98%', maxHeight: 300 }}>
             <Scrollbars autoHeight
                         autoHeightMax={300}>
               <Table rowKey={'bindId'} pagination={false} columns={columns}
-                     dataSource={store_detail.storeGoodsCateVOList} size={'small'}/>
+                     dataSource={store_detail.storeGoodsCateVOList?.filter(item => item.webSite === currentSite.webSite)} size={'small'}/>
             </Scrollbars>
           </div>
           {getSldEmptyH(40)}

+ 1 - 1
xinkeaboard-admin/src/pages/sysset/base/about_us.js

@@ -155,7 +155,7 @@ export default class SiteInfo extends Component {
           <div className={'about_wrap'}>
             {flag == 1 &&
             <SldTableEdit
-              submiting={submitting}
+              submiting_sec={submitting}
               width={1000}
               data={info_data}
               handleSubmit={this.handleSubmit}

+ 7 - 4
xinkeaboard-admin/src/pages/sysset/bigscreen/index.js

@@ -2,6 +2,7 @@ import React from "react";
 import styles from "./index.less";
 import PanelBlock from "./components/PanelBlock";
 import HeaderContent from "./components/HeadContent";
+import WordCloud from "@/components/WordCloud";
 
 class BigScreen extends React.Component {
   constructor(props) {
@@ -140,9 +141,9 @@ class BigScreen extends React.Component {
 
             {/* 中间 */}
             <div className={styles.contentPanelCenter}>
-              <PanelBlock height="350px"/>
+              <PanelBlock height="350px" />
               <PanelBlock />
-              <PanelBlock height="500px" flexDirection='row'>
+              <PanelBlock height="500px" flexDirection="row">
                 <PanelBlock />
                 <PanelBlock />
               </PanelBlock>
@@ -150,8 +151,10 @@ class BigScreen extends React.Component {
 
             {/* 右侧 */}
             <div className={styles.contentPanelRight}>
-               <PanelBlock />
-               <PanelBlock />
+              <PanelBlock title='sdsdsd'>
+                <WordCloud />
+              </PanelBlock>
+              <PanelBlock />
             </div>
           </div>
         </div>

+ 1 - 0
xinkeaboard-admin/src/pages/sysset/bigscreen/styles/panel_nav.less

@@ -6,5 +6,6 @@
   font-weight: bold;
   color: #00c6ff;
   margin-bottom: 10px;
+  width: 100%;
   text-shadow: 0 2px 8px rgba(30, 200, 255, 0.2);
 }

+ 11 - 33
xinkeaboard-admin/src/pages/sysset/home/basic.js

@@ -39,7 +39,7 @@ export default class Basic extends Component {
           icon: require('@/assets/stat_item_icon_2.png'),
           label: `${sldComLanguage('待审核商品')}`,
           tip: ``,
-          mapKey: 'auditGoodsNum',
+          mapKey: 'webSiteAuditGoodsNum',
           num: '',
           path: '/manage_product/goods_list?tab=check',
         },
@@ -47,7 +47,7 @@ export default class Basic extends Component {
           icon: require('@/assets/stat_item_icon_3.png'),
           label: `${sldComLanguage('待审核品牌')}`,
           tip: ``,
-          mapKey: 'auditBrandNum',
+          mapKey: 'webSiteAuditBrandNum',
           num: '',
           path: '/manage_product/brand?tab=check',
         },
@@ -55,7 +55,7 @@ export default class Basic extends Component {
           icon: require('@/assets/stat_item_icon_1.png'),
           label: `${sldComLanguage('待分配询盘')}`,
           tip: ``,
-          mapKey: 'enquiryToBeAssignNum',
+          mapKey: 'webSiteEnquiryToBeAssignNum',
           num: '',
           path: '/manage_order/enquiry',
         }
@@ -109,7 +109,6 @@ export default class Basic extends Component {
       todayGoodsLoadedFlag: false,
       todayMemberLoadedFlag: false,
       todayEnquiryLoadedFlag: false,
-      currentWaitLoadedFlag: false,
       todayTradeLoading: false,
       todayFlowLoading: false,
       todayGoodsLoading: false,
@@ -286,7 +285,6 @@ export default class Basic extends Component {
 
   componentDidMount() {
     this.getWaitEventData();
-    this.getCurrentWaitEventData();
     this.getTodayTradeInfo();
     this.getTodayMemberInfo();
     this.getTodayFlowInfo();
@@ -294,28 +292,6 @@ export default class Basic extends Component {
     this.getTodayEnquiryInfo();
   }
 
-  // 获取当前站点待办栏目数据
-  getCurrentWaitEventData = () => {
-    const { dispatch } = this.props;
-    //loading开始
-    this.setState({
-      currentWaitDealLoading: true,
-    });
-    dispatch({
-      type: 'sldsetting/get_home_basic_wait_deal_stat_info',
-      callback: (res) => {
-        if (res.state === 200) {
-          let { current_site_goods_data } = this.state;
-          current_site_goods_data.map(item => {
-            item.num = res.data[item.mapKey];
-          });
-          this.setState({ current_site_goods_data });
-        }
-        this.setState({ currentWaitDealLoading: false, currentWaitLoadedFlag: true });
-      },
-    });
-  }
-
   //获取待办栏目数据
   getWaitEventData = () => {
     const { dispatch } = this.props;
@@ -325,14 +301,16 @@ export default class Basic extends Component {
     });
     dispatch({
       type: 'sldsetting/get_home_basic_wait_deal_stat_info',
-      payload: { isAll: true },
       callback: (res) => {
         if (res.state === 200) {
-          let { goods_data_one } = this.state;
+          let { goods_data_one, current_site_goods_data } = this.state;
           goods_data_one.map(item => {
             item.num = res.data[item.mapKey];
           });
-          this.setState({ goods_data_one });
+          current_site_goods_data.map(item => {
+            item.num = res.data[item.mapKey];
+          });
+          this.setState({ goods_data_one, current_site_goods_data });
         }
         this.setState({ waitDealLoading: false, loadedFlag: true });
       },
@@ -450,7 +428,7 @@ export default class Basic extends Component {
   };
 
   render() {
-    const { currentSiteName, current_site_goods_data, goods_data_one, currentWaitLoadedFlag, loadedFlag, currentWaitDealLoading, waitDealLoading, /*todayTradeData,*/ todayFlowData, todayGoodsData, todayMemberData, todayTradeLoadedFlag, todayFlowLoadedFlag, todayGoodsLoadedFlag, todayMemberLoadedFlag, todayTradeLoading, todayFlowLoading, todayGoodsLoading, todayMemberLoading,todayEnquiryData,todayEnquiryLoadedFlag,todayEnquiryLoading } = this.state;
+    const { currentSiteName, current_site_goods_data, goods_data_one, loadedFlag, waitDealLoading, /*todayTradeData,*/ todayFlowData, todayGoodsData, todayMemberData, todayTradeLoadedFlag, todayFlowLoadedFlag, todayGoodsLoadedFlag, todayMemberLoadedFlag, todayTradeLoading, todayFlowLoading, todayGoodsLoading, todayMemberLoading,todayEnquiryData,todayEnquiryLoadedFlag,todayEnquiryLoading } = this.state;
     const todayData = [
       /*{ ...todayTradeData },*/
       { ...todayFlowData },
@@ -508,7 +486,7 @@ export default class Basic extends Component {
               {sldLlineRtextAddGoodsAddMargin(defaultSettings.primaryColor, `${sldComLanguage('待办事项')}`, 10, 0, 0)}
               <span className={ styles.site_tip }>{ `( ${sldComLanguage('当前站点待办事项')} )` }</span>
             </div>
-            <Spin spinning={currentWaitDealLoading}>
+            <Spin spinning={waitDealLoading}>
               <div className={`${styles.stat_amount_new} ${global.flex_com_row_space_around_center}`}>
                 {current_site_goods_data.map((item) => (
                   <div onClick={() => (this.menuItemGoPage(item.path))} key={item.bg}
@@ -520,7 +498,7 @@ export default class Basic extends Component {
                     <div className={`${styles.item_desc}`}>
                       <div className={`${styles.item_title}`}>{item.label}</div>
                       <div title={item.num} className={`${styles.item_num}`}>
-                        {currentWaitLoadedFlag && (
+                        {loadedFlag && (
                           item.num > 10000
                             ? formatNum(item.num)
                             : <TweenOne animation={{