fubin před 1 rokem
rodič
revize
17bad09662
2 změnil soubory, kde provedl 1429 přidání a 1299 odebrání
  1. 12 0
      src/api/pages/outh/outhActivity.js
  2. 1417 1299
      src/view/single-page/home/home.vue

+ 12 - 0
src/api/pages/outh/outhActivity.js

@@ -0,0 +1,12 @@
+/**
+ * @desc   : 活动管理
+ * @author : 付斌
+ * @date   : 2024-06-20 11:41
+ */
+export default {
+  outhActivityService: {
+    prefix: 'oauth-server/activity/',
+    // 查询轮播图
+    getActivity: 'list_by',
+  },
+}

+ 1417 - 1299
src/view/single-page/home/home.vue

@@ -17,9 +17,12 @@
             <div style="display: flex;width: 100%;flex-wrap: wrap;">
               <div v-for="(f2Item,f2Index) in fItem.children" :key="f2Index" :style="{marginTop:f2Index>4?'10px':'0'}"
                    style="position:relative;width: 20%;text-align: center;">
-                <Checkbox @on-change="funcCheckBoxChange($event,f2Item)" :ref="'name-'+f2Item.menuUuid" class="ttt" v-model="f2Item._checked">
+                <Checkbox @on-change="funcCheckBoxChange($event,f2Item)" :ref="'name-'+f2Item.menuUuid" class="ttt"
+                          v-model="f2Item._checked">
                   <div style="width: 40px;height: 40px;position: relative;margin: auto">
-                    <img :src="require('@/assets/images/menu-image/' + (f2Item.meta.icon ? f2Item.meta.icon + '.png':'customer.png') )" style="width: 40px;height: 40px;"/>
+                    <img
+                      :src="require('@/assets/images/menu-image/' + (f2Item.meta.icon ? f2Item.meta.icon + '.png':'customer.png') )"
+                      style="width: 40px;height: 40px;"/>
                   </div>
                   <div class="func-item-title">{{ f2Item.meta.title }}</div>
                 </Checkbox>
@@ -31,12 +34,16 @@
           <div style="height: 56px;display: flex;justify-content: center;align-items: center;">
             <div v-show="rightFuncList.length>0" class="clear-btn" @click="clearAll">全部清空</div>
           </div>
-          <draggable v-if="rightFuncList.length>0" :animation="300" v-model="rightFuncList" style="display: flex;width: 100%;flex-wrap: wrap;">
+          <draggable v-if="rightFuncList.length>0" :animation="300" v-model="rightFuncList"
+                     style="display: flex;width: 100%;flex-wrap: wrap;">
             <div v-for="(rfItem,rfIndex) in rightFuncList" class="draggable-div" :key="rfIndex"
                  style="position:relative;width: 20%;margin-bottom:10px;text-align: center;">
               <div style="width: 40px;height: 40px;position: relative;margin: auto">
-                <img :src="require('@/assets/images/menu-image/' +( rfItem.meta.icon ? rfItem.meta.icon + '.png':'customer.png') )" style="width: 40px;height: 40px;"/>
-                <div @click="funcCheckBoxChangeRight('name-'+rfItem.menuUuid)" style="cursor:pointer;display:flex;justify-content:center;font-size:14px;align-items:center;position: absolute;top: -7px;right: -7px;padding: 2px;background-color: red;border: 1px solid #fff;border-radius: 50%;height: 20px;width:20px;color:#fff;font-weight: bold;">
+                <img
+                  :src="require('@/assets/images/menu-image/' +( rfItem.meta.icon ? rfItem.meta.icon + '.png':'customer.png') )"
+                  style="width: 40px;height: 40px;"/>
+                <div @click="funcCheckBoxChangeRight('name-'+rfItem.menuUuid)"
+                     style="cursor:pointer;display:flex;justify-content:center;font-size:14px;align-items:center;position: absolute;top: -7px;right: -7px;padding: 2px;background-color: red;border: 1px solid #fff;border-radius: 50%;height: 20px;width:20px;color:#fff;font-weight: bold;">
                   <div style="width: 75%;height: 2px;background-color: #fff;"></div>
                 </div>
               </div>
@@ -45,1432 +52,1543 @@
           </draggable>
           <div v-else style="width: 100%;text-align: center;">
             <div style="margin-top: 100px;">
-              <Icon type="logo-dropbox" color="#b6b6b6" size="42" />
+              <Icon type="logo-dropbox" color="#b6b6b6" size="42"/>
               <span style="display: block;color:#b6b6b6;margin-top: 5px;">请从左侧勾选以选择常用功能</span>
             </div>
           </div>
         </div>
       </div>
     </DkModal>
-    <!--    常用功能-->
-    <Card class="card" style="margin-top: 0" @contextmenu.native.prevent>
-      <p slot="title">
-        常用功能
-      </p>
-      <Button slot="extra" icon="md-create" @click="openFuncModal">
-        自定义
-      </Button>
-      <div style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
-        <div style="width: 25px;" v-if="homeCommonUseList && homeCommonUseList.length > 0">
-          <Icon type="ios-arrow-dropleft" style="cursor: pointer" @click.native="scrollCommonUseCard('left')"
-                size="25"/>
-        </div>
-        <div class="common-use-scroll" style="width: calc(100% - 70px);overflow: hidden;">
-          <div v-if="homeCommonUseList && homeCommonUseList.length>0" style="display:flex;width: max-content;">
-            <div v-for="(hcuItem,hcuIndex) in homeCommonUseList" :key="hcuIndex" style="width: 92px;text-align: center;">
-              <div @click="toPage(hcuItem)" style="cursor: pointer;">
-                <div>
-                  <img style="width: 40px;height: 40px" :src="require('@/assets/images/menu-image/' + hcuItem.menuTag.image )" />
+
+    <div style="display: flex;justify-content: space-between">
+      <!--左侧-->
+      <div style="width: 80%">
+        <!--    常用功能-->
+        <Card class="card" style="margin-top: 0;height: 300px" @contextmenu.native.prevent>
+          <p slot="title">
+            常用功能
+          </p>
+          <Button slot="extra" icon="md-create" @click="openFuncModal">
+            自定义
+          </Button>
+          <div style="width: 100%;display: flex;align-items: center;justify-content: space-between;">
+            <div style="width: 25px;" v-if="homeCommonUseList && homeCommonUseList.length > 0">
+              <Icon type="ios-arrow-dropleft" style="cursor: pointer" @click.native="scrollCommonUseCard('left')"
+                    size="25"/>
+            </div>
+            <div class="common-use-scroll" style="width: calc(100% - 70px);overflow: hidden;">
+              <div v-if="homeCommonUseList && homeCommonUseList.length>0" style="display:flex;width: max-content;">
+                <div v-for="(hcuItem,hcuIndex) in homeCommonUseList" :key="hcuIndex"
+                     style="width: 92px;text-align: center;">
+                  <div @click="toPage(hcuItem)" style="cursor: pointer;">
+                    <div>
+                      <img style="width: 40px;height: 40px"
+                           :src="require('@/assets/images/menu-image/' + hcuItem.menuTag.image )"/>
+                    </div>
+                    <div style="font-size: 13px">{{ hcuItem.menuName }}</div>
+                  </div>
                 </div>
-                <div style="font-size: 13px">{{ hcuItem.menuName }}</div>
               </div>
-            </div>
-          </div>
 
-          <div v-else style="display:flex;width: max-content;">
-            <div @click="openFuncModal" style="cursor:pointer;border: 1px #d5d5d5 dashed;color:#b1b1b1;font-size:16px;height: 60px;width: 200px;background:#eaf9ff;border-radius: 10px;display: flex;align-items: center;justify-content: center;">添加常用功能</div>
+              <div v-else style="display:flex;width: max-content;">
+                <div @click="openFuncModal"
+                     style="cursor:pointer;border: 1px #d5d5d5 dashed;color:#b1b1b1;font-size:16px;height: 60px;width: 200px;background:#eaf9ff;border-radius: 10px;display: flex;align-items: center;justify-content: center;">
+                  添加常用功能
+                </div>
+              </div>
+            </div>
+            <div style="width: 25px;" v-if="homeCommonUseList && homeCommonUseList.length > 0">
+              <Icon type="ios-arrow-dropleft" style="transform: rotate(180deg);cursor: pointer;"
+                    @click.native="scrollCommonUseCard('right')" size="25"/>
+            </div>
           </div>
-        </div>
-        <div style="width: 25px;" v-if="homeCommonUseList && homeCommonUseList.length > 0">
-          <Icon type="ios-arrow-dropleft" style="transform: rotate(180deg);cursor: pointer;"
-                @click.native="scrollCommonUseCard('right')" size="25"/>
-        </div>
-      </div>
-    </Card>
+        </Card>
 
-    <!--    待办-->
-    <Card class="card card-upcoming" @contextmenu.native.prevent>
-      <div style="display: flex">
-        <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
-          待办中心
-        </div>
-        <Tabs value="name1"  v-model="detailModel" @on-click="detailTabsClick">
-          <TabPane v-for="(item,index) in detailOptions"  :key="index" :label="item.label" :name="item.name"></TabPane>
-        </Tabs>
-      </div>
-      <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light" >
-        <Button icon="md-refresh" shape="circle" class="circle-button" @click="refreshWaitCenter"></Button>
-      </Tooltip>
-      <div style="display: flex;align-items: center;">
-        <div class="upcoming">
-          <!--销售-->
-          <div class="upcoming-card" v-if="saleFlag"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-number">
-                  {{ orderCount }}
-                </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  {{ $t('salePending') }}
-                </Row>
-              </Col>
-            </Row>
-          </div>
-          <!--库存-->
-          <div class="upcoming-card" v-if="inventoryFlag"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-number">
-                  {{ intoCount }}
-                </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  {{ $t('intoPending') }}
-                </Row>
-              </Col>
-            </Row>
+        <!--    待办-->
+        <Card class="card card-upcoming" style="margin-top: 8px;height: 180px" @contextmenu.native.prevent>
+          <div style="display: flex">
+            <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
+              待办中心
+            </div>
+            <Tabs value="name1" v-model="detailModel" @on-click="detailTabsClick">
+              <TabPane v-for="(item,index) in detailOptions" :key="index" :label="item.label"
+                       :name="item.name"></TabPane>
+            </Tabs>
           </div>
-          <div class="upcoming-card" v-if="inventoryFlag"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-out-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-number">
-                  {{ outCount }}
+          <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light">
+            <Button icon="md-refresh" shape="circle" class="circle-button" @click="refreshWaitCenter"></Button>
+          </Tooltip>
+          <div style="display: flex;align-items: center;">
+            <div class="upcoming">
+              <!--销售-->
+              <div class="upcoming-card" v-if="saleFlag" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-number">
+                      {{ orderCount }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      {{ $t('salePending') }}
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  {{ $t('outPending') }}
+              </div>
+              <!--库存-->
+              <div class="upcoming-card" v-if="inventoryFlag" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-number">
+                      {{ intoCount }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      {{ $t('intoPending') }}
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-            </Row>
-          </div>
-          <!--资金-->
-          <div class="upcoming-card" v-if="fundFlag"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-fund-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-number">
-                  {{ fundCount }}
+              </div>
+              <div class="upcoming-card" v-if="inventoryFlag" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-out-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-number">
+                      {{ outCount }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      {{ $t('outPending') }}
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  {{ $t('fundPending') }}
+              </div>
+              <!--资金-->
+              <div class="upcoming-card" v-if="fundFlag" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-fund-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-number">
+                      {{ fundCount }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      {{ $t('fundPending') }}
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-            </Row>
+              </div>
+            </div>
           </div>
-        </div>
-      </div>
-    </Card>
+        </Card>
 
-    <!-- 实时数据 -->
-    <Card class="card card-upcoming" @contextmenu.native.prevent>
-      <div style="display: flex">
-        <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
-          实时数据
-        </div>
-        <Select v-model="realTimeDataType" style="width:200px;margin: 0px 0px 10px 0px" ref="selCp" @on-change="cpRealTimeDataType">
-          <Option v-for="item in realTimeDataTypeList" :value="item.id" :key="item.id">{{ item.name }}</Option>
-        </Select>
-      </div>
-      <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light" >
-        <Button icon="md-refresh" shape="circle" class="circle-button" @click="refreshRealTimeData "></Button>
-      </Tooltip>
-      <div style="display: flex;align-items: center;">
-        <div class="upcoming">
-          <!--销售订单-->
-          <div class="upcoming-card"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
-                {{ orderQty }} 单 {{ orderAmt }} 元
-                </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  销售订单
-                </Row>
-              </Col>
-            </Row>
+        <!-- 实时数据 -->
+        <Card class="card card-upcoming" style="margin-top: 8px;height: 180px" @contextmenu.native.prevent>
+          <div style="display: flex">
+            <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
+              实时数据
+            </div>
+            <Select v-model="realTimeDataType" style="width:200px;margin: 0px 0px 10px 0px" ref="selCp"
+                    @on-change="cpRealTimeDataType">
+              <Option v-for="item in realTimeDataTypeList" :value="item.id" :key="item.id">{{ item.name }}</Option>
+            </Select>
           </div>
-          <!--出库订单-->
-          <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
-                  {{ outQty }} 单 {{ outAmt }} 元
+          <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light">
+            <Button icon="md-refresh" shape="circle" class="circle-button" @click="refreshRealTimeData "></Button>
+          </Tooltip>
+          <div style="display: flex;align-items: center;">
+            <div class="upcoming">
+              <!--销售订单-->
+              <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
+                      {{ orderQty }} 单 {{ orderAmt }} 元
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      销售订单
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  出库订单
+              </div>
+              <!--出库订单-->
+              <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
+                      {{ outQty }} 单 {{ outAmt }} 元
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      出库订单
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-            </Row>
-          </div>
-          <!--退货订单-->
-          <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-out-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
-                  {{ returnQty }} 单 {{ returnAmt }} 元
+              </div>
+              <!--退货订单-->
+              <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-out-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
+                      {{ returnQty }} 单 {{ returnAmt }} 元
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      退货订单
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  退货订单
+              </div>
+              <!--新增客户-->
+              <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="6" class="upcoming-card-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
+                      {{ cusQty }} 单 {{ cusAmt }} 元
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      新增客户
+                    </Row>
+                  </Col>
                 </Row>
-              </Col>
-            </Row>
+              </div>
+            </div>
           </div>
-          <!--新增客户-->
-          <div class="upcoming-card"  @click="openDrawer($config.homeDrawType.waitAudit)">
-            <Row>
-              <Col span="6" class="upcoming-card-icon">
-                <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')" style="width: 40px;height: 40px;"/>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
-                  {{ cusQty }} 单 {{ cusAmt }} 元
-                </Row>
-              </Col>
-              <Col span="18">
-                <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
-                  新增客户
-                </Row>
-              </Col>
-            </Row>
+        </Card>
+
+        <!-- 销售趋势 -->
+        <Card class="card card-upcoming" style="margin-top: 8px;height: 180px" @contextmenu.native.prevent>
+          <div style="display: flex">
+            <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
+              销售趋势
+            </div>
           </div>
-        </div>
+
+        </Card>
       </div>
-    </Card>
+      <!--右侧-->
+      <div style="width: 20%;margin-left: 8px">
+        <!-- 产品公告 -->
+        <Card class="card" style="margin-top: 0;height: 300px" @contextmenu.native.prevent>
+          <p slot="title">
+            产品公告
+          </p>
+          <Button slot="extra" icon="md-create" @click="moreProductAnnouncement">
+            更多
+          </Button>
+        </Card>
 
+        <!-- 走马灯 -->
+        <Card class="card card-upcoming" style="margin-top: 8px;height: 367px" @contextmenu.native.prevent>
+          <Carousel autoplay :height="350" :autoplay-speed="5000" :radius-dot="true" loop>
+            <CarouselItem v-for="(item, index) in dataCarouselItems">
+              <a @click="showActivity(item)">
+                <img :src="$config.imgUrl + item.annexPaths[0].url" style="width: 100%;height: 100%;">
+              </a>
+            </CarouselItem>
+          </Carousel>
+        </Card>
+
+        <!-- 新手指导 -->
+        <Card class="card" style="margin-top: 8px;height: 180px" @contextmenu.native.prevent>
+          <p slot="title">
+            新手指导
+          </p>
+          <Button slot="extra" icon="md-create" @click="beginnersGuide">
+            三步快速掌握
+          </Button>
+        </Card>
+      </div>
+    </div>
     <!--    底部留白-->
     <div style="width: 100%; height: 20px"></div>
   </div>
 </template>
 
 <script>
-  import funcIcon from '../../../assets/images/func-icon.png'
-  import draggable from "vuedraggable"
-  export default {
-    name: 'home',
-    components: {
-      draggable,
-    },
-    data() {
-      let self = this
-      return {
-        drawType: self.$config.homeDrawType.waitAudit, // 首页抽屉类型
-        approvalCount: null , // 待审条数
-        unReadNoticeCount: null, // 未读公告条数
-        waitApprovalRight:false,// 待审中心权限
-        approveSplit: 0.6,
-        funcIcon,
-        /*****************常用功能*****************/
-        funcModal: false,
-        funcModalLoading: false,
-        funcList: [],
-        rightFuncList: [],
-        homeCommonUseList: [],
-        /*****************常用功能*****************/
+import funcIcon from '../../../assets/images/func-icon.png'
+import draggable from "vuedraggable"
 
-        /*****************待办*****************/
-        detailModel: 'sale',
-        detailOptions: [
-          {label: self.$t('sale'), name: 'sale'}, //销售
-          {label: self.$t('inventory'), name: 'inventory'},//库存
-          {label: self.$t('fund'), name: 'fund'},//资金
-        ],
-        saleFlag:true,
-        inventoryFlag:false,
-        fundFlag:false,
-        fundCount:0,
-        outCount:0,
-        intoCount:0,
-        orderCount:0,
-        /*****************待办*****************/
+export default {
+  name: 'home',
+  components: {
+    draggable,
+  },
+  data() {
+    let self = this
+    return {
+      dataCarouselItems: [],
+      // {path: "@/assets/images/icon_file.png", cIndex: 1}, //销售
+      // {path: "@/assets/images/icon_file.png", cIndex: 2},//库存
+      // {path: "@/assets/images/icon_file.png", cIndex: 3},//资金
+      // ],
+      drawType: self.$config.homeDrawType.waitAudit, // 首页抽屉类型
+      approvalCount: null, // 待审条数
+      unReadNoticeCount: null, // 未读公告条数
+      waitApprovalRight: false,// 待审中心权限
+      approveSplit: 0.6,
+      funcIcon,
+      /*****************常用功能*****************/
+      funcModal: false,
+      funcModalLoading: false,
+      funcList: [],
+      rightFuncList: [],
+      homeCommonUseList: [],
+      /*****************常用功能*****************/
 
-        //公告
-        managementTableData: [],
-        //图表颜色
-        colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
-        // 日期配置
-        dateOptions: {
-          shortcuts: [
-            {
-              text: '一月',
-              value() {
-                return self.getThisMonth(1)
-              }
-            },
-            {
-              text: '二月',
-              value() {
-                return self.getThisMonth(2)
-              }
-            },
-            {
-              text: '三月',
-              value() {
-                return self.getThisMonth(3)
-              }
-            },
-            {
-              text: '四月',
-              value() {
-                return self.getThisMonth(4)
-              }
-            },
-            {
-              text: '五月',
-              value() {
-                return self.getThisMonth(5)
-              }
-            },
-            {
-              text: '六月',
-              value() {
-                return self.getThisMonth(6)
-              }
-            },
-            {
-              text: '七月',
-              value() {
-                return self.getThisMonth(7)
-              }
-            },
-            {
-              text: '八月',
-              value() {
-                return self.getThisMonth(8)
-              }
-            },
-            {
-              text: '九月',
-              value() {
-                return self.getThisMonth(9)
-              }
-            },
-            {
-              text: '十月',
-              value() {
-                return self.getThisMonth(10)
-              }
-            },
-            {
-              text: '十一月',
-              value() {
-                return self.getThisMonth(11)
-              }
-            },
-            {
-              text: '十二月',
-              value() {
-                return self.getThisMonth(12)
-              }
-            },
-            {
-              text: '一季度',
-              value() {
-                return self.getThisQuarter(1)
-              }
-            },
-            {
-              text: '二季度',
-              value() {
-                return self.getThisQuarter(2)
-              }
-            },
-            {
-              text: '三季度',
-              value() {
-                return self.getThisQuarter(3)
-              }
-            },
-            {
-              text: '四季度',
-              value() {
-                return self.getThisQuarter(4)
-              }
-            },
-          ]
-        },
-        // 抽屉
-        drawerShow: false,
-        // 抽屉标题
-        drawerTitle: null,
-        // 抽屉表格
-        drawerTableData: [],
-        // 抽屉表格列
-        drawerTableColumn: [],
-        // 业绩日期范围
-        performanceDate: self.getThisMonth(),
-        // 业务门店select v-model
-        performanceStore: '全部门店',
-        // 门店
-        performanceStoreList: [
+      /*****************待办*****************/
+      detailModel: 'sale',
+      detailOptions: [
+        {label: self.$t('sale'), name: 'sale'}, //销售
+        {label: self.$t('inventory'), name: 'inventory'},//库存
+        {label: self.$t('fund'), name: 'fund'},//资金
+      ],
+      saleFlag: true,
+      inventoryFlag: false,
+      fundFlag: false,
+      fundCount: 0,
+      outCount: 0,
+      intoCount: 0,
+      orderCount: 0,
+      /*****************待办*****************/
+
+      //公告
+      managementTableData: [],
+      //图表颜色
+      colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
+      // 日期配置
+      dateOptions: {
+        shortcuts: [
           {
-            value: '全部门店',
-            label: '全部门店'
+            text: '一月',
+            value() {
+              return self.getThisMonth(1)
+            }
           },
           {
-            value: 'A门店',
-            label: 'A门店'
+            text: '二月',
+            value() {
+              return self.getThisMonth(2)
+            }
           },
           {
-            value: 'B门店',
-            label: 'B门店'
+            text: '三月',
+            value() {
+              return self.getThisMonth(3)
+            }
           },
-        ],
-        // 销售简报页面类型
-        salesReportType: 1,
-        // 销售简报公司select v-model
-        salesReportCompany: 'A公司',
-        salesReportCompanyList: [
           {
-            value: 'A公司',
-            label: 'A公司'
+            text: '四月',
+            value() {
+              return self.getThisMonth(4)
+            }
           },
           {
-            value: 'B公司',
-            label: 'B公司'
+            text: '五月',
+            value() {
+              return self.getThisMonth(5)
+            }
           },
-        ],
-        // 销售简报人员 v-model
-        salesReportStaff: 'A员工',
-        // 销售简报人员List
-        salesReportStaffList: [
           {
-            value: 'A员工',
-            label: 'A员工'
+            text: '六月',
+            value() {
+              return self.getThisMonth(6)
+            }
           },
           {
-            value: 'B员工',
-            label: 'B员工'
+            text: '七月',
+            value() {
+              return self.getThisMonth(7)
+            }
           },
-        ],
-        // 销售简报radio
-        salesReportRadio: '销售情况',
-        // 销售助手天数list
-        salesHelperDaysList: [
           {
-            value: '7',
-            label: '7天'
+            text: '八月',
+            value() {
+              return self.getThisMonth(8)
+            }
           },
           {
-            value: '15',
-            label: '15天'
+            text: '九月',
+            value() {
+              return self.getThisMonth(9)
+            }
           },
           {
-            value: '30',
-            label: '30天'
+            text: '十月',
+            value() {
+              return self.getThisMonth(10)
+            }
           },
-        ],
-        // 销售助手天数1
-        salesHelperDays1: '7',
-        // 销售助手天数2
-        salesHelperDays2: '15',
-        // 销售助手天数3
-        salesHelperDays3: '30',
-
-        /***************** 实时数据 ******************/
-        realTimeDataType:"经营日报",
-        orderQty:0,
-        orderAmt:0,
-        outQty:0,
-        outAmt:0,
-        returnQty:0,
-        returnAmt:0,
-        cusQty:0,
-        cusAmt:0,
-        realTimeDataTypeList:[
-          {"id":"经营日报", "name":"经营日报"},
-          {"id":"经营月报", "name":"经营月报"}
-          ],
-        /***************** 实时数据 ******************/
-      }
-    },
-    mounted() {
-      // 监听页面,如果大小变化,抽屉关闭
-      let self = this
-      window.addEventListener('resize', function (e) {
-        self.drawerShow = false;
-      })
-    },
-    methods: {
-      /****************************************常用功能****************************************/
-      /**
-       *   @desc   : 常用功能弹窗查询数据
-       *   @date   : 2024/4/28 15:02
-       *   @author : 寇珊珊
-       */
-      openFuncModal() {
-        this.funcModal = true
-        let hadMenuUuidList = this.homeCommonUseList.map(it => it.menuUuid)
-        let rightFuncList = []
-        this.funcList.forEach(it => {
-          if (it.children && it.children.length > 0) {
-            it.children.forEach(it2 => {
-              this.$set(it2, '_checked', false)
-              if (hadMenuUuidList.indexOf(it2.menuUuid) !== -1) {
-                rightFuncList.push(Object.assign(it2, {displayNo: hadMenuUuidList.indexOf(it2.menuUuid)}))
-                this.$set(it2, '_checked', true)
-              }
-            })
-          }
-        })
-        this.rightFuncList = rightFuncList.sort((x, y) => {
-          return x.displayNo - y.displayNo
-        })
-      },
-      /**
-       * @desc   : 关闭常用功能界面
-       * @author : 周兴
-       * @date   : 2022/8/22 14:38
-       */
-      closeCommonUse() {
-        this.funcModal = false
-      },
-      /**
-       * @desc   : 保存常用功能
-       * @author : 周兴
-       * @date   : 2022/8/22 14:25
-       */
-      saveCommonUse() {
-        this.funcModalLoading = true
-        let params = this.rightFuncList.map((it, index) => {
-          return {userId: this.$store.state.user.id, displayNo: index, menuUuid: it.menuUuid, menuName:it.meta.title}
-        })
-        console.log("保存常用功能",params )
-        let excute =  this.excute(this.$service.appMenuService, this.$service.appMenuService.save, params)
-        excute.then(res => {
-          this.funcModalLoading = false
-          this.funcModal = false
-          if (res.code === this.$config.SUCCESS_CODE) {
-            this.selectCommonUse()
-          }
-        })
-        return excute;
-      },
-      /**
-       * @desc   : 查询常用功能
-       * @author : 周兴
-       * @date   : 2022/8/22 14:16
-       */
-      selectCommonUse() {
-        let params = {
-          appCode:this.$config.appCode.WEB,
-          staffId:this.$store.state.user.staffId,
-        }
-        this.excute(this.$service.appMenuService, this.$service.appMenuService.selectMenu,params).then(res => {
-          if (res.code === this.$config.SUCCESS_CODE) {
-            this.homeCommonUseList = res.data
-          }
-        })
-      },
-      toPage(menu) {
-        this.$router.push({path: menu.menuTag.path})
-      },
-      /**
-       * @desc   : 滚动菜单
-       * @author : 周兴
-       * @date   : 2022/8/30 18:53
-       */
-      scrollCommonUseCard(e) {
-        for (let i = 0; i < 701; i++) {
-          setTimeout(function () {
-            if (e == 'left') {
-              document.getElementsByClassName('common-use-scroll')[0].scrollLeft--
-            } else {
-              document.getElementsByClassName('common-use-scroll')[0].scrollLeft++
+          {
+            text: '十一月',
+            value() {
+              return self.getThisMonth(11)
             }
-          }, 100 + i)
-        }
-      },
-      /**
-       * @desc   : 获取常用功能的菜单
-       * @author : 周兴
-       * @date   : 2022/8/22 10:47
-       */
-      getCommonMenu(){
-        if(this.$store.state.app.menuList && this.$store.state.app.menuList.length > 0){
-          let menuList = [...this.$store.state.app.menuList]
-          let funcList = []
-          menuList.forEach(it =>{
-            let funcItem = {}
-            // 不包括首页
-            if(it.name != 'home'){
-              funcItem.name = it.name;
-              funcItem.menuUuid = it.menuUuid;
-              funcItem.parentUuid = it.parentUuid;
-              funcItem.meta = it.meta;
+          },
+          {
+            text: '十二月',
+            value() {
+              return self.getThisMonth(12)
             }
-            // 查询子级
-            if(it.children && it.children.length > 0){
-              let funcListChilds = this.getCommonChild(it.children);
-              if(funcListChilds && funcListChilds.length > 0){
-                funcItem.children = funcListChilds;
-                funcList.push(funcItem);
-              }
+          },
+          {
+            text: '一季度',
+            value() {
+              return self.getThisQuarter(1)
             }
-          })
-          this.funcList = funcList;
-        }
-      },
-      /**
-       * @desc   : 获取子级的菜单
-       * @author : 周兴
-       * @date   : 2022/8/22 11:11
-       */
-      getCommonChild(children){
-        let funcList = []
-        if(children && children.length > 0){
-          children.forEach(it=>{
-            // 说明要需要进行快捷的菜单
-              let funcItem = {}
-              funcItem.name = it.name;
-              funcItem.meta = it.meta;
-              funcItem.menuUuid = it.menuUuid;
-              funcItem.parentUuid = it.parentUuid;
-              funcList.push(funcItem);
-            // 如果还有子级,需要去查询子级
-            if(it.children && it.children.length > 0){
-              let funcListChilds = this.getCommonChild(it.children);
-              if(funcListChilds && funcListChilds.length > 0){
-                funcListChilds.forEach(c=>{
-                  if(c.parentUuid){
-                    let index = funcList.findIndex(item => c.parentUuid === item.menuUuid);
-                    if(index >= 0){
-                      funcList.splice(index + 1,0,c);
-                    }else{
-                      funcList.push(c);
-                    }
-                  }else{
-                    funcList.push(c);
-                  }
-                })
-              }
+          },
+          {
+            text: '二季度',
+            value() {
+              return self.getThisQuarter(2)
             }
-          })
-        }
-        return funcList;
-      },
-      /**
-       *   @desc   : 常用功能弹窗全部清空
-       *   @date   : 2024/4/29 13:58
-       *   @author : 寇珊珊
-       */
-      clearAll(){
-        this.rightFuncList.forEach(it=>{
-          this.funcCheckBoxChangeRight('name-'+it.menuUuid)
-        })
-      },
-      funcCheckBoxChangeRight(name){
-        this.$refs[name][0].$el.click()
-      },
-      /**
-       *   @desc   : 常用功能弹窗左侧选择事件
-       *   @date   : 2024/4/29 14:00
-       *   @author : 寇珊珊
-       */
-      funcCheckBoxChange(flag, item) {
-        // menuUuid
-        if (flag) {
-          this.rightFuncList.push(item)
-        } else {
-          this.rightFuncList = this.rightFuncList.filter(it => it.menuUuid !== item.menuUuid)
-        }
+          },
+          {
+            text: '三季度',
+            value() {
+              return self.getThisQuarter(3)
+            }
+          },
+          {
+            text: '四季度',
+            value() {
+              return self.getThisQuarter(4)
+            }
+          },
+        ]
       },
-      /****************************************常用功能****************************************/
+      // 抽屉
+      drawerShow: false,
+      // 抽屉标题
+      drawerTitle: null,
+      // 抽屉表格
+      drawerTableData: [],
+      // 抽屉表格列
+      drawerTableColumn: [],
+      // 业绩日期范围
+      performanceDate: self.getThisMonth(),
+      // 业务门店select v-model
+      performanceStore: '全部门店',
+      // 门店
+      performanceStoreList: [
+        {
+          value: '全部门店',
+          label: '全部门店'
+        },
+        {
+          value: 'A门店',
+          label: 'A门店'
+        },
+        {
+          value: 'B门店',
+          label: 'B门店'
+        },
+      ],
+      // 销售简报页面类型
+      salesReportType: 1,
+      // 销售简报公司select v-model
+      salesReportCompany: 'A公司',
+      salesReportCompanyList: [
+        {
+          value: 'A公司',
+          label: 'A公司'
+        },
+        {
+          value: 'B公司',
+          label: 'B公司'
+        },
+      ],
+      // 销售简报人员 v-model
+      salesReportStaff: 'A员工',
+      // 销售简报人员List
+      salesReportStaffList: [
+        {
+          value: 'A员工',
+          label: 'A员工'
+        },
+        {
+          value: 'B员工',
+          label: 'B员工'
+        },
+      ],
+      // 销售简报radio
+      salesReportRadio: '销售情况',
+      // 销售助手天数list
+      salesHelperDaysList: [
+        {
+          value: '7',
+          label: '7天'
+        },
+        {
+          value: '15',
+          label: '15天'
+        },
+        {
+          value: '30',
+          label: '30天'
+        },
+      ],
+      // 销售助手天数1
+      salesHelperDays1: '7',
+      // 销售助手天数2
+      salesHelperDays2: '15',
+      // 销售助手天数3
+      salesHelperDays3: '30',
 
-      /****************************************待办功能****************************************/
-      /**
-       *   @desc   : 待办切换
-       *   @date   : 2024/4/28 17:01
-       *   @author : 寇珊珊
-       */
-      detailTabsClick(val) {
-        this.detailModel= val
-        //销售
-        if (val === 'sale') {
-          this.saleFlag = true
-          this.inventoryFlag = false
-          this.fundFlag = false
-        }
-        //库存
-        else if (val === 'inventory') {
-          this.saleFlag = false
-          this.inventoryFlag = true
-          this.fundFlag = false
-        }
-        //资金
-        else if(val === 'fund'){
-          this.saleFlag = false
-          this.inventoryFlag = false
-          this.fundFlag = true
+      /***************** 实时数据 ******************/
+      realTimeDataType: "经营日报",
+      orderQty: 0,
+      orderAmt: 0,
+      outQty: 0,
+      outAmt: 0,
+      returnQty: 0,
+      returnAmt: 0,
+      cusQty: 0,
+      cusAmt: 0,
+      realTimeDataTypeList: [
+        {"id": "经营日报", "name": "经营日报"},
+        {"id": "经营月报", "name": "经营月报"}
+      ],
+      /***************** 实时数据 ******************/
+    }
+  },
+  mounted() {
+    // 监听页面,如果大小变化,抽屉关闭
+    let self = this
+    window.addEventListener('resize', function (e) {
+      self.drawerShow = false;
+    })
+  },
+  methods: {
+    /****************************************常用功能****************************************/
+    /**
+     *   @desc   : 常用功能弹窗查询数据
+     *   @date   : 2024/4/28 15:02
+     *   @author : 寇珊珊
+     */
+    openFuncModal() {
+      this.funcModal = true
+      let hadMenuUuidList = this.homeCommonUseList.map(it => it.menuUuid)
+      let rightFuncList = []
+      this.funcList.forEach(it => {
+        if (it.children && it.children.length > 0) {
+          it.children.forEach(it2 => {
+            this.$set(it2, '_checked', false)
+            if (hadMenuUuidList.indexOf(it2.menuUuid) !== -1) {
+              rightFuncList.push(Object.assign(it2, {displayNo: hadMenuUuidList.indexOf(it2.menuUuid)}))
+              this.$set(it2, '_checked', true)
+            }
+          })
         }
-        //查询待办个数
-        this.selectPending()
-      },
-      /**
-       *   @desc   : 刷新待办中心数据
-       *   @date   : 2024/4/29 11:04
-       *   @author : 寇珊珊
-       */
-      refreshWaitCenter(){
-        //查询待办个数
-       this.selectPending()
-      },
-      /**
-       *   @desc   : 查询待办个数
-       *   @date   : 2024/4/28 17:25
-       *   @author : 寇珊珊
-       */
-      selectPending(){
-        //订单
-       if(this.detailModel ==='sale'){
-         let params = {
-           appCode:this.$config.appCode.WEB,
-           orderStatusList:[this.$config.outStatus.daiChuKu,this.$config.outStatus.chuKuZhong],
-         }
-         this.excute(this.$service.orderService, this.$service.orderService.countOrderByCond,params).then(res => {
-           if (res.code === this.$config.SUCCESS_CODE) {
-             this.orderCount = res.data
-           }
-         })
-       }
-       //出入库
-       else if(this.detailModel ==='inventory'){
-         //入库
-         let intoParams = {
-           appCode:this.$config.appCode.WEB,
-         }
-         this.excute(this.$service.otherInboundService, this.$service.otherInboundService.selectWaitInboundCount,intoParams).then(res => {
-           if (res.code === this.$config.SUCCESS_CODE) {
-             this.intoCount = res.data
-           }
-         })
-         //出库
-         let outParams = {
-           appCode:this.$config.appCode.WEB,
-         }
-         this.excute(this.$service.otherOutboundService, this.$service.otherOutboundService.selectWaitOutboundCount,outParams).then(res => {
-           if (res.code === this.$config.SUCCESS_CODE) {
-             this.outCount = res.data
-           }
-         })
-       }
-       //资金
-       else if(this.detailModel ==='fund'){
-         let params = {
-           appCode: this.$config.appCode.WEB,
-           amtResidueZeroFlg: true,
-           accItemType: this.$config.fundType.yingShou,
-         }
-         this.excute(this.$service.accountService, this.$service.accountService.getReceivableAccountItemCount, params).then(res => {
-           if (res.code === this.$config.SUCCESS_CODE) {
-             this.fundCount = res.data
-           }
-         })
-       }
-      },
-      /**
-       * @desc   : 打开抽屉
-       * @author : 洪旭东
-       * @date   : 2022-05-02 17:27
-       */
-      openDrawer(type) {
-        let drawer = document.getElementsByClassName('ivu-drawer-bottom')
-        let leftSider = document.getElementsByClassName('left-sider')
-        if (drawer && leftSider && drawer[0] && leftSider[0]) {
-          // console.log(document.body.clientWidth, leftSider[0].getBoundingClientRect().width)
-          drawer[0].style.width = (document.body.clientWidth - leftSider[0].getBoundingClientRect().width) + 'px'
+      })
+      this.rightFuncList = rightFuncList.sort((x, y) => {
+        return x.displayNo - y.displayNo
+      })
+    },
+    /**
+     * @desc   : 关闭常用功能界面
+     * @author : 周兴
+     * @date   : 2022/8/22 14:38
+     */
+    closeCommonUse() {
+      this.funcModal = false
+    },
+    /**
+     * @desc   : 保存常用功能
+     * @author : 周兴
+     * @date   : 2022/8/22 14:25
+     */
+    saveCommonUse() {
+      this.funcModalLoading = true
+      let params = this.rightFuncList.map((it, index) => {
+        return {userId: this.$store.state.user.id, displayNo: index, menuUuid: it.menuUuid, menuName: it.meta.title}
+      })
+      console.log("保存常用功能", params)
+      let excute = this.excute(this.$service.appMenuService, this.$service.appMenuService.save, params)
+      excute.then(res => {
+        this.funcModalLoading = false
+        this.funcModal = false
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.selectCommonUse()
         }
-        if (type === this.$config.homeDrawType.notice) {
-          // 获取未读公告
-          this.selectManagement();
+      })
+      return excute;
+    },
+    /**
+     * @desc   : 查询常用功能
+     * @author : 周兴
+     * @date   : 2022/8/22 14:16
+     */
+    selectCommonUse() {
+      let params = {
+        appCode: this.$config.appCode.WEB,
+        staffId: this.$store.state.user.staffId,
+      }
+      this.excute(this.$service.appMenuService, this.$service.appMenuService.selectMenu, params).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.homeCommonUseList = res.data
         }
-        // let self = this;
-        // switch (type){
-        //   case self.$config.homeDrawType.waitAudit:
-        //     this.drawerTitle = "待审中心";
-        //     break;
-        //   case self.$config.homeDrawType.notice:
-        //     this.drawerTitle = "系统公告";
-        //     break;
-        // }
-        this.drawType = type;
-        this.drawerShow = true
-      },
-      /****************************************待办功能****************************************/
-
-      /**
-       * @desc   : 打开审批一览页面
-       * @author : 周兴
-       * @date   : 2022/9/2 14:15
-       */
-      openApprovalIndex(){
-        this.$router.push('/approval/waiting-for-approval/index');
-      },
-      /**
-       * @desc   : 过滤需要显示的菜单
-       * @author : 周兴
-       * @date   : 2022/8/22 9:49
-       */
-      filterShowMenu(arr, list) {
-        arr.children = list.filter(it => it.meta && !it.meta.hideInMenu)
-        arr.children.forEach(it => {
-          // it.meta.url = '../../../assets/images/' +  (it.meta.image?it.meta.image:'func-icon.png');
-          if(!it.meta.image){
-            it.meta.image = 'func-icon.png';
+      })
+    },
+    toPage(menu) {
+      this.$router.push({path: menu.menuTag.path})
+    },
+    /**
+     * @desc   : 滚动菜单
+     * @author : 周兴
+     * @date   : 2022/8/30 18:53
+     */
+    scrollCommonUseCard(e) {
+      for (let i = 0; i < 701; i++) {
+        setTimeout(function () {
+          if (e == 'left') {
+            document.getElementsByClassName('common-use-scroll')[0].scrollLeft--
+          } else {
+            document.getElementsByClassName('common-use-scroll')[0].scrollLeft++
           }
+        }, 100 + i)
+      }
+    },
+    /**
+     * @desc   : 获取常用功能的菜单
+     * @author : 周兴
+     * @date   : 2022/8/22 10:47
+     */
+    getCommonMenu() {
+      if (this.$store.state.app.menuList && this.$store.state.app.menuList.length > 0) {
+        let menuList = [...this.$store.state.app.menuList]
+        let funcList = []
+        menuList.forEach(it => {
+          let funcItem = {}
+          // 不包括首页
+          if (it.name != 'home') {
+            funcItem.name = it.name;
+            funcItem.menuUuid = it.menuUuid;
+            funcItem.parentUuid = it.parentUuid;
+            funcItem.meta = it.meta;
+          }
+          // 查询子级
           if (it.children && it.children.length > 0) {
-            this.filterShowMenu(it, it.children)
+            let funcListChilds = this.getCommonChild(it.children);
+            if (funcListChilds && funcListChilds.length > 0) {
+              funcItem.children = funcListChilds;
+              funcList.push(funcItem);
+            }
           }
         })
-        return arr
-      },
-      /**
-       * @desc   : 切换销售简报模式
-       * @author : 洪旭东
-       * @date   : 2022-05-02 15:32
-       */
-      changeSalesReportModel() {
-        this.salesReportType = this.salesReportType == 1 ? 2 : 1
-      },
-      /**
-       * @desc   : 我的业绩目标
-       * @author : 洪旭东
-       * @date   : 2022-05-02 14:09
-       */
-      drawPerformance1() {
-        let echarts = require('echarts')
-        let echarts1 = echarts.init(document.getElementById('echarts1'))
-        echarts1.setOption(
-          {
-            tooltip: {
-              trigger: 'item',
-              // formatter: '{a} <br/>{b}: {c} ({d}%)'
-            },
-            title: {
-              show: true,
-              text: '报备客户'
-            },
-            series: [
-              {
-                center: ['50%', '80%'],
-                axisLabel: {
-                  formatter: '{value}%'
-                },
-                axisTick: {
-                  splitNumber: 2
-                },
-                axisLine: {
-                  lineStyle: {
-                    color: [
-                      [1, '#3cd343']
-                    ]
-                  }
-                },
-                pointer: {
-                  length: '60%',
-                  width: 4
-                },
-                itemStyle: {
-                  color: '#3cd343',
-                  borderColor: 'lightgreen',
-                },
-                splitNumber: 4,
-                radius: '100%',
-                startAngle: 180,
-                endAngle: 0,
-                name: '报备客户',
-                type: 'gauge',
-                process: {
-                  show: true
-                },
-                detail: {
-                  show: false,
-                  valueAnimation: true,
-                  // formatter: '{value}%'
-                },
-                data: [
-                  {value: 100, name: ''},
-                ],
-              }
-            ]
-          }
-        )
-      },
-      /**
-       * @desc   : 我的业绩目标
-       * @author : 洪旭东
-       * @date   : 2022-05-02 14:09
-       */
-      drawPerformance2() {
-        let echarts = require('echarts')
-        let echarts1 = echarts.init(document.getElementById('echarts2'))
-        echarts1.setOption(
-          {
-            tooltip: {
-              trigger: 'item',
-              // formatter: '{a} <br/>{b}: {c} ({d}%)'
-            },
-            title: {
-              show: true,
-              text: '订货额'
-            },
-            series: [
-              {
-                center: ['50%', '80%'],
-                axisLabel: {
-                  formatter: '{value}%'
-                },
-                axisTick: {
-                  splitNumber: 2
-                },
-                axisLine: {
-                  lineStyle: {
-                    color: [
-                      [1, '#3cd343']
-                    ]
-                  }
-                },
-                pointer: {
-                  length: '60%',
-                  width: 4
-                },
-                itemStyle: {
-                  color: '#3cd343',
-                  borderColor: 'lightgreen',
-                },
-                splitNumber: 4,
-                radius: '100%',
-                startAngle: 180,
-                endAngle: 0,
-                name: '订货额',
-                type: 'gauge',
-                process: {
-                  show: true
-                },
-                detail: {
-                  show: false,
-                  valueAnimation: true,
-                  // formatter: '{value}%'
-                },
-                data: [
-                  {value: 100, name: ''},
-                ],
-              }
-            ]
-          }
-        )
-      },
-      /**
-       * @desc   : 我的业绩目标
-       * @author : 洪旭东
-       * @date   : 2022-05-02 14:09
-       */
-      drawPerformance3() {
-        let echarts = require('echarts')
-        let echarts1 = echarts.init(document.getElementById('echarts3'))
-        echarts1.setOption(
-          {
-            tooltip: {
-              trigger: 'item',
-              // formatter: '{a} <br/>{b}: {c} ({d}%)'
-            },
-            title: {
-              show: true,
-              text: '回款额'
-            },
-            series: [
-              {
-                center: ['50%', '80%'],
-                axisLabel: {
-                  formatter: '{value}%'
-                },
-                axisTick: {
-                  splitNumber: 2
-                },
-                axisLine: {
-                  lineStyle: {
-                    color: [
-                      [1, '#3cd343']
-                    ]
+        this.funcList = funcList;
+      }
+    },
+    /**
+     * @desc   : 获取子级的菜单
+     * @author : 周兴
+     * @date   : 2022/8/22 11:11
+     */
+    getCommonChild(children) {
+      let funcList = []
+      if (children && children.length > 0) {
+        children.forEach(it => {
+          // 说明要需要进行快捷的菜单
+          let funcItem = {}
+          funcItem.name = it.name;
+          funcItem.meta = it.meta;
+          funcItem.menuUuid = it.menuUuid;
+          funcItem.parentUuid = it.parentUuid;
+          funcList.push(funcItem);
+          // 如果还有子级,需要去查询子级
+          if (it.children && it.children.length > 0) {
+            let funcListChilds = this.getCommonChild(it.children);
+            if (funcListChilds && funcListChilds.length > 0) {
+              funcListChilds.forEach(c => {
+                if (c.parentUuid) {
+                  let index = funcList.findIndex(item => c.parentUuid === item.menuUuid);
+                  if (index >= 0) {
+                    funcList.splice(index + 1, 0, c);
+                  } else {
+                    funcList.push(c);
                   }
-                },
-                pointer: {
-                  length: '60%',
-                  width: 4
-                },
-                itemStyle: {
-                  color: '#3cd343',
-                  borderColor: 'lightgreen',
-                },
-                splitNumber: 4,
-                radius: '100%',
-                startAngle: 180,
-                endAngle: 0,
-                name: '回款额',
-                type: 'gauge',
-                process: {
-                  show: true
-                },
-                detail: {
-                  show: false,
-                  valueAnimation: true,
-                  // formatter: '{value}%'
-                },
-                data: [
-                  {value: 100, name: ''},
-                ],
-              }
-            ]
-          }
-        )
-      },
-      /**
-       * @desc   : 跳页
-       * @author : 洪旭东
-       * @date   : 2022-05-02 11:51
-       */
-      jumpTo() {
-        this.$router.push('/sale/order')
-      },
-      getMonthDays(date) {
-        date = date || new Date()
-        const temp = new Date(date.getFullYear(), date.getMonth() + 1, 0)
-        const days = temp.getDate()
-        return days
-      },
-      /**
-       * @desc   : 待办滚动
-       * @author : 洪旭东
-       * @date   : 2022-05-03 17:21
-       */
-      scrollUpcomingCard(e) {
-        for (let i = 0; i < 701; i++) {
-          setTimeout(function () {
-            if (e == 'left') {
-              document.getElementsByClassName('upcoming')[0].scrollLeft--
-            } else {
-              document.getElementsByClassName('upcoming')[0].scrollLeft++
+                } else {
+                  funcList.push(c);
+                }
+              })
             }
-          }, 100 + i)
-        }
-      },
-      getText(str) {
-        let words = str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, ""); //这里是去除标签
-        return words.replace(/\s/g, "") //这里是去除空格
-      },
-      /**
-       *   @desc   : 跳转到公告
-       *   @date   : 2022/8/16 10:29
-       *   @author : 寇珊珊
-       */
-      returnMessage() {
-        this.$router.push('../../mst/notice-list/index')
-      },
-      /**
-       *   @desc   : 跳转公告明细
-       *   @date   : 2022/8/16 11:48
-       *   @author : 寇珊珊
-       */
-      returnMessageDetail(value) {
-        this.$router.push('../../mst/notice-list/detail/' + value.noticeId)
-      },
-      /**
-       * @desc   : 获取待审中心条数
-       * @author : 周兴
-       * @date   : 2022/8/20 14:50
-       */
-      getApprovalCount() {
-        // 参数设置
+          }
+        })
+      }
+      return funcList;
+    },
+    /**
+     *   @desc   : 常用功能弹窗全部清空
+     *   @date   : 2024/4/29 13:58
+     *   @author : 寇珊珊
+     */
+    clearAll() {
+      this.rightFuncList.forEach(it => {
+        this.funcCheckBoxChangeRight('name-' + it.menuUuid)
+      })
+    },
+    funcCheckBoxChangeRight(name) {
+      this.$refs[name][0].$el.click()
+    },
+    /**
+     *   @desc   : 常用功能弹窗左侧选择事件
+     *   @date   : 2024/4/29 14:00
+     *   @author : 寇珊珊
+     */
+    funcCheckBoxChange(flag, item) {
+      // menuUuid
+      if (flag) {
+        this.rightFuncList.push(item)
+      } else {
+        this.rightFuncList = this.rightFuncList.filter(it => it.menuUuid !== item.menuUuid)
+      }
+    },
+    /****************************************常用功能****************************************/
+
+    /****************************************待办功能****************************************/
+    /**
+     *   @desc   : 待办切换
+     *   @date   : 2024/4/28 17:01
+     *   @author : 寇珊珊
+     */
+    detailTabsClick(val) {
+      this.detailModel = val
+      //销售
+      if (val === 'sale') {
+        this.saleFlag = true
+        this.inventoryFlag = false
+        this.fundFlag = false
+      }
+      //库存
+      else if (val === 'inventory') {
+        this.saleFlag = false
+        this.inventoryFlag = true
+        this.fundFlag = false
+      }
+      //资金
+      else if (val === 'fund') {
+        this.saleFlag = false
+        this.inventoryFlag = false
+        this.fundFlag = true
+      }
+      //查询待办个数
+      this.selectPending()
+    },
+    /**
+     *   @desc   : 刷新待办中心数据
+     *   @date   : 2024/4/29 11:04
+     *   @author : 寇珊珊
+     */
+    refreshWaitCenter() {
+      //查询待办个数
+      this.selectPending()
+    },
+    /**
+     *   @desc   : 查询待办个数
+     *   @date   : 2024/4/28 17:25
+     *   @author : 寇珊珊
+     */
+    selectPending() {
+      //订单
+      if (this.detailModel === 'sale') {
         let params = {
-          cpId: this.$store.state.user.cpId,
-          userId: this.$store.state.user.id,
-          querys: Object.assign({treeFlag: true}, this.searchList)
+          appCode: this.$config.appCode.WEB,
+          orderStatusList: [this.$config.outStatus.daiChuKu, this.$config.outStatus.chuKuZhong],
         }
-        waitingForApprovalService.getApprovalCount(params).then(res => {
-          if (res.code === 200) {
-            this.approvalCount = res.data;
-          } else {
-            this.$message.error(res.message)
+        this.excute(this.$service.orderService, this.$service.orderService.countOrderByCond, params).then(res => {
+          if (res.code === this.$config.SUCCESS_CODE) {
+            this.orderCount = res.data
           }
         })
-      },
-      /**
-       *   @desc   : 查询公告
-       *   @date   : 2022/8/16 9:50
-       *   @author : 寇珊珊
-       */
-      selectManagement() {
-        // 参数设置
-        let params = {}
-        if (this.$store.state.user.sysId != this.$config.sysType.SYS_HEGII) {
-          params.cpId = this.$store.state.user.cpId
-          params.sysId = this.$store.state.user.sysId
+      }
+      //出入库
+      else if (this.detailModel === 'inventory') {
+        //入库
+        let intoParams = {
+          appCode: this.$config.appCode.WEB,
         }
-        params.limit = 5; // 限制公告条数
-        params.userId = this.$store.state.user.id
-        // 查询公告分类接口
-        noticeManagementService.getNotice(params).then(res => {
-          if (res.code === 200) {
-            this.managementTableData = res.data
-          } else {
-            this.$message.error(res.message)
+        this.excute(this.$service.otherInboundService, this.$service.otherInboundService.selectWaitInboundCount, intoParams).then(res => {
+          if (res.code === this.$config.SUCCESS_CODE) {
+            this.intoCount = res.data
           }
         })
-      },
-      /**
-       * @desc   : 获取未读公告数量
-       * @author : 周兴
-       * @date   : 2022/8/20 14:50
-       */
-      getUnreadNoticeCount() {
-        // 参数设置
-        let params = {}
-        if (this.$store.state.user.sysId != this.$config.sysType.SYS_HEGII) {
-          params.cpId = this.$store.state.user.cpId
-          params.sysId = this.$store.state.user.sysId
+        //出库
+        let outParams = {
+          appCode: this.$config.appCode.WEB,
         }
-        params.userId = this.$store.state.user.id
-        noticeManagementService.getUnreadNoticeCount(params).then(res => {
-          if (res.code === 200) {
-            this.unReadNoticeCount = res.data;
-          } else {
-            this.$message.error(res.message)
+        this.excute(this.$service.otherOutboundService, this.$service.otherOutboundService.selectWaitOutboundCount, outParams).then(res => {
+          if (res.code === this.$config.SUCCESS_CODE) {
+            this.outCount = res.data
           }
         })
-      },
-      /**
-       * @desc   : 刷新实时数据
-       * @author : 付斌
-       * @date   : 2024-06-14 16:44
-       */
-      refreshRealTimeData(){
-        // 查询实时数据
-        this.selectRealTimeData()
-      },
-      /**
-       * @desc   : 切换实时数据类型
-       * @author : 付斌
-       * @date   : 2024-06-14 16:43
-       */
-      cpRealTimeDataType(){
-        // 查询实时数据
-        this.selectRealTimeData()
-      },
-      /**
-       * @desc   : 查询实时数据
-       * @author : 付斌
-       * @date   : 2024-06-14 15:13
-       */
-      selectRealTimeData(){
+      }
+      //资金
+      else if (this.detailModel === 'fund') {
         let params = {
-          realTimeDataType:this.realTimeDataType,
+          appCode: this.$config.appCode.WEB,
+          amtResidueZeroFlg: true,
+          accItemType: this.$config.fundType.yingShou,
         }
-        this.excute(this.$service.commonService, this.$service.commonService.getRealTimeData, params).then(res => {
+        this.excute(this.$service.accountService, this.$service.accountService.getReceivableAccountItemCount, params).then(res => {
           if (res.code === this.$config.SUCCESS_CODE) {
-            this.orderQty = res.data.orderQty
-            this.orderAmt = res.data.orderAmt
-            this.outQty = res.data.outQty
-            this.outAmt = res.data.outAmt
-            this.returnQty = res.data.returnQty
-            this.returnAmt = res.data.returnAmt
-            this.cusQty = res.data.cusQty
-            this.cusAmt = res.data.cusAmt
+            this.fundCount = res.data
           }
         })
-      },
+      }
+    },
+    /**
+     * @desc   : 打开抽屉
+     * @author : 洪旭东
+     * @date   : 2022-05-02 17:27
+     */
+    openDrawer(type) {
+      let drawer = document.getElementsByClassName('ivu-drawer-bottom')
+      let leftSider = document.getElementsByClassName('left-sider')
+      if (drawer && leftSider && drawer[0] && leftSider[0]) {
+        // console.log(document.body.clientWidth, leftSider[0].getBoundingClientRect().width)
+        drawer[0].style.width = (document.body.clientWidth - leftSider[0].getBoundingClientRect().width) + 'px'
+      }
+      if (type === this.$config.homeDrawType.notice) {
+        // 获取未读公告
+        this.selectManagement();
+      }
+      // let self = this;
+      // switch (type){
+      //   case self.$config.homeDrawType.waitAudit:
+      //     this.drawerTitle = "待审中心";
+      //     break;
+      //   case self.$config.homeDrawType.notice:
+      //     this.drawerTitle = "系统公告";
+      //     break;
+      // }
+      this.drawType = type;
+      this.drawerShow = true
     },
-    created() {
-      this.routeObjName = 'appMenu'  // 设置路由名称
-      this.getCommonMenu();   // 获取常用功能的菜单
-      this.selectCommonUse();//查询常用功能
-      this.selectPending();//获取代办事项个数
-      this.selectRealTimeData();//查询实时数据
-      // this.getApprovalCount();// 获取待审中心数据
-      // this.getUnreadNoticeCount();// 获取未读公告条数
-      this.waitApprovalRight =this.$libaray.checkButtonHasRight('wait-approval')
+    /****************************************待办功能****************************************/
+
+    /**
+     * @desc   : 打开审批一览页面
+     * @author : 周兴
+     * @date   : 2022/9/2 14:15
+     */
+    openApprovalIndex() {
+      this.$router.push('/approval/waiting-for-approval/index');
     },
-  }
+    /**
+     * @desc   : 过滤需要显示的菜单
+     * @author : 周兴
+     * @date   : 2022/8/22 9:49
+     */
+    filterShowMenu(arr, list) {
+      arr.children = list.filter(it => it.meta && !it.meta.hideInMenu)
+      arr.children.forEach(it => {
+        // it.meta.url = '../../../assets/images/' +  (it.meta.image?it.meta.image:'func-icon.png');
+        if (!it.meta.image) {
+          it.meta.image = 'func-icon.png';
+        }
+        if (it.children && it.children.length > 0) {
+          this.filterShowMenu(it, it.children)
+        }
+      })
+      return arr
+    },
+    /**
+     * @desc   : 切换销售简报模式
+     * @author : 洪旭东
+     * @date   : 2022-05-02 15:32
+     */
+    changeSalesReportModel() {
+      this.salesReportType = this.salesReportType == 1 ? 2 : 1
+    },
+    /**
+     * @desc   : 我的业绩目标
+     * @author : 洪旭东
+     * @date   : 2022-05-02 14:09
+     */
+    drawPerformance1() {
+      let echarts = require('echarts')
+      let echarts1 = echarts.init(document.getElementById('echarts1'))
+      echarts1.setOption(
+        {
+          tooltip: {
+            trigger: 'item',
+            // formatter: '{a} <br/>{b}: {c} ({d}%)'
+          },
+          title: {
+            show: true,
+            text: '报备客户'
+          },
+          series: [
+            {
+              center: ['50%', '80%'],
+              axisLabel: {
+                formatter: '{value}%'
+              },
+              axisTick: {
+                splitNumber: 2
+              },
+              axisLine: {
+                lineStyle: {
+                  color: [
+                    [1, '#3cd343']
+                  ]
+                }
+              },
+              pointer: {
+                length: '60%',
+                width: 4
+              },
+              itemStyle: {
+                color: '#3cd343',
+                borderColor: 'lightgreen',
+              },
+              splitNumber: 4,
+              radius: '100%',
+              startAngle: 180,
+              endAngle: 0,
+              name: '报备客户',
+              type: 'gauge',
+              process: {
+                show: true
+              },
+              detail: {
+                show: false,
+                valueAnimation: true,
+                // formatter: '{value}%'
+              },
+              data: [
+                {value: 100, name: ''},
+              ],
+            }
+          ]
+        }
+      )
+    },
+    /**
+     * @desc   : 我的业绩目标
+     * @author : 洪旭东
+     * @date   : 2022-05-02 14:09
+     */
+    drawPerformance2() {
+      let echarts = require('echarts')
+      let echarts1 = echarts.init(document.getElementById('echarts2'))
+      echarts1.setOption(
+        {
+          tooltip: {
+            trigger: 'item',
+            // formatter: '{a} <br/>{b}: {c} ({d}%)'
+          },
+          title: {
+            show: true,
+            text: '订货额'
+          },
+          series: [
+            {
+              center: ['50%', '80%'],
+              axisLabel: {
+                formatter: '{value}%'
+              },
+              axisTick: {
+                splitNumber: 2
+              },
+              axisLine: {
+                lineStyle: {
+                  color: [
+                    [1, '#3cd343']
+                  ]
+                }
+              },
+              pointer: {
+                length: '60%',
+                width: 4
+              },
+              itemStyle: {
+                color: '#3cd343',
+                borderColor: 'lightgreen',
+              },
+              splitNumber: 4,
+              radius: '100%',
+              startAngle: 180,
+              endAngle: 0,
+              name: '订货额',
+              type: 'gauge',
+              process: {
+                show: true
+              },
+              detail: {
+                show: false,
+                valueAnimation: true,
+                // formatter: '{value}%'
+              },
+              data: [
+                {value: 100, name: ''},
+              ],
+            }
+          ]
+        }
+      )
+    },
+    /**
+     * @desc   : 我的业绩目标
+     * @author : 洪旭东
+     * @date   : 2022-05-02 14:09
+     */
+    drawPerformance3() {
+      let echarts = require('echarts')
+      let echarts1 = echarts.init(document.getElementById('echarts3'))
+      echarts1.setOption(
+        {
+          tooltip: {
+            trigger: 'item',
+            // formatter: '{a} <br/>{b}: {c} ({d}%)'
+          },
+          title: {
+            show: true,
+            text: '回款额'
+          },
+          series: [
+            {
+              center: ['50%', '80%'],
+              axisLabel: {
+                formatter: '{value}%'
+              },
+              axisTick: {
+                splitNumber: 2
+              },
+              axisLine: {
+                lineStyle: {
+                  color: [
+                    [1, '#3cd343']
+                  ]
+                }
+              },
+              pointer: {
+                length: '60%',
+                width: 4
+              },
+              itemStyle: {
+                color: '#3cd343',
+                borderColor: 'lightgreen',
+              },
+              splitNumber: 4,
+              radius: '100%',
+              startAngle: 180,
+              endAngle: 0,
+              name: '回款额',
+              type: 'gauge',
+              process: {
+                show: true
+              },
+              detail: {
+                show: false,
+                valueAnimation: true,
+                // formatter: '{value}%'
+              },
+              data: [
+                {value: 100, name: ''},
+              ],
+            }
+          ]
+        }
+      )
+    },
+    /**
+     * @desc   : 跳页
+     * @author : 洪旭东
+     * @date   : 2022-05-02 11:51
+     */
+    jumpTo() {
+      this.$router.push('/sale/order')
+    },
+    getMonthDays(date) {
+      date = date || new Date()
+      const temp = new Date(date.getFullYear(), date.getMonth() + 1, 0)
+      const days = temp.getDate()
+      return days
+    },
+    /**
+     * @desc   : 待办滚动
+     * @author : 洪旭东
+     * @date   : 2022-05-03 17:21
+     */
+    scrollUpcomingCard(e) {
+      for (let i = 0; i < 701; i++) {
+        setTimeout(function () {
+          if (e == 'left') {
+            document.getElementsByClassName('upcoming')[0].scrollLeft--
+          } else {
+            document.getElementsByClassName('upcoming')[0].scrollLeft++
+          }
+        }, 100 + i)
+      }
+    },
+    getText(str) {
+      let words = str.replace(/<[^<>]+>/g, "").replace(/&nbsp;/gi, ""); //这里是去除标签
+      return words.replace(/\s/g, "") //这里是去除空格
+    },
+    /**
+     *   @desc   : 跳转到公告
+     *   @date   : 2022/8/16 10:29
+     *   @author : 寇珊珊
+     */
+    returnMessage() {
+      this.$router.push('../../mst/notice-list/index')
+    },
+    /**
+     *   @desc   : 跳转公告明细
+     *   @date   : 2022/8/16 11:48
+     *   @author : 寇珊珊
+     */
+    returnMessageDetail(value) {
+      this.$router.push('../../mst/notice-list/detail/' + value.noticeId)
+    },
+    /**
+     * @desc   : 获取待审中心条数
+     * @author : 周兴
+     * @date   : 2022/8/20 14:50
+     */
+    getApprovalCount() {
+      // 参数设置
+      let params = {
+        cpId: this.$store.state.user.cpId,
+        userId: this.$store.state.user.id,
+        querys: Object.assign({treeFlag: true}, this.searchList)
+      }
+      waitingForApprovalService.getApprovalCount(params).then(res => {
+        if (res.code === 200) {
+          this.approvalCount = res.data;
+        } else {
+          this.$message.error(res.message)
+        }
+      })
+    },
+    /**
+     *   @desc   : 查询公告
+     *   @date   : 2022/8/16 9:50
+     *   @author : 寇珊珊
+     */
+    selectManagement() {
+      // 参数设置
+      let params = {}
+      if (this.$store.state.user.sysId != this.$config.sysType.SYS_HEGII) {
+        params.cpId = this.$store.state.user.cpId
+        params.sysId = this.$store.state.user.sysId
+      }
+      params.limit = 5; // 限制公告条数
+      params.userId = this.$store.state.user.id
+      // 查询公告分类接口
+      noticeManagementService.getNotice(params).then(res => {
+        if (res.code === 200) {
+          this.managementTableData = res.data
+        } else {
+          this.$message.error(res.message)
+        }
+      })
+    },
+    /**
+     * @desc   : 获取未读公告数量
+     * @author : 周兴
+     * @date   : 2022/8/20 14:50
+     */
+    getUnreadNoticeCount() {
+      // 参数设置
+      let params = {}
+      if (this.$store.state.user.sysId != this.$config.sysType.SYS_HEGII) {
+        params.cpId = this.$store.state.user.cpId
+        params.sysId = this.$store.state.user.sysId
+      }
+      params.userId = this.$store.state.user.id
+      noticeManagementService.getUnreadNoticeCount(params).then(res => {
+        if (res.code === 200) {
+          this.unReadNoticeCount = res.data;
+        } else {
+          this.$message.error(res.message)
+        }
+      })
+    },
+    /**
+     * @desc   : 刷新实时数据
+     * @author : 付斌
+     * @date   : 2024-06-14 16:44
+     */
+    refreshRealTimeData() {
+      // 查询实时数据
+      this.selectRealTimeData()
+    },
+    /**
+     * @desc   : 切换实时数据类型
+     * @author : 付斌
+     * @date   : 2024-06-14 16:43
+     */
+    cpRealTimeDataType() {
+      // 查询实时数据
+      this.selectRealTimeData()
+    },
+    /**
+     * @desc   : 查询实时数据
+     * @author : 付斌
+     * @date   : 2024-06-14 15:13
+     */
+    selectRealTimeData() {
+      let params = {
+        realTimeDataType: this.realTimeDataType,
+      }
+      this.excute(this.$service.commonService, this.$service.commonService.getRealTimeData, params).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.orderQty = res.data.orderQty
+          this.orderAmt = res.data.orderAmt
+          this.outQty = res.data.outQty
+          this.outAmt = res.data.outAmt
+          this.returnQty = res.data.returnQty
+          this.returnAmt = res.data.returnAmt
+          this.cusQty = res.data.cusQty
+          this.cusAmt = res.data.cusAmt
+        }
+      })
+    },
+    /**
+     * @desc   : 查询轮播图
+     * @author : 付斌
+     * @date   : 2024-06-20 10:40
+     */
+    selectCarousel() {
+      let params = {
+        appCode: 'CP-WEB',
+        flgBanner: true
+      }
+      this.excute(this.$service.outhActivityService, this.$service.outhActivityService.getActivity, params).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.dataCarouselItems = res.data
+        }
+      })
+    },
+    /**
+     * @desc   : 打开轮播图活动
+     * @author : 付斌
+     * @date   : 2024-06-20 11:05
+     */
+    showActivity(item) {
+      window.open(item.activityUrl)
+    },
+    /**
+     * @desc   : 更多产品公告
+     * @author : 付斌
+     * @date   : 2024-06-20 11:25
+     */
+    moreProductAnnouncement() {
+      alert('敬请期待')
+    },
+    /**
+     * @desc   : 新手指导三步快速掌握
+     * @author : 付斌
+     * @date   : 2024-06-20 11:27
+     */
+    beginnersGuide() {
+      alert('敬请期待')
+    }
+  },
+  created() {
+    this.routeObjName = 'appMenu'  // 设置路由名称
+    this.getCommonMenu();   // 获取常用功能的菜单
+    this.selectCommonUse();//查询常用功能
+    this.selectPending();//获取代办事项个数
+    this.selectRealTimeData();//查询实时数据
+    this.selectCarousel();//查询轮播图
+    // this.getApprovalCount();// 获取待审中心数据
+    // this.getUnreadNoticeCount();// 获取未读公告条数
+    this.waitApprovalRight = this.$libaray.checkButtonHasRight('wait-approval')
+  },
+}
 </script>
 <style lang="less" scoped>
-  .func-item-title {
-    font-size: 12px;
-    margin-top: 5px;
-  }
+.func-item-title {
+  font-size: 12px;
+  margin-top: 5px;
+}
 
-  /deep/.ivu-tabs-nav .ivu-tabs-tab  {
-    bottom: 5px;
-    font-size: 14px !important;
-  }
+/deep/ .ivu-tabs-nav .ivu-tabs-tab {
+  bottom: 5px;
+  font-size: 14px !important;
+}
 
-  /deep/ .ttt > .ivu-checkbox {
-    position: absolute !important;
-    z-index: 1;
-    right: 24%;
-    top: -8%;
-  }
+/deep/ .ttt > .ivu-checkbox {
+  position: absolute !important;
+  z-index: 1;
+  right: 24%;
+  top: -8%;
+}
 
-  .draggable-div[draggable=true] {
-    //opacity: 0 !important;
-  }
+.draggable-div[draggable=true] {
+  //opacity: 0 !important;
+}
 
-  .modal-left-div::-webkit-scrollbar {
-    width: 5px;
-  }
+.modal-left-div::-webkit-scrollbar {
+  width: 5px;
+}
 
-  .modal-left-div::-webkit-scrollbar-track {
-    width: 5px !important;
-    background: #dcdcdc;
-    border-radius: 10px;
-  }
+.modal-left-div::-webkit-scrollbar-track {
+  width: 5px !important;
+  background: #dcdcdc;
+  border-radius: 10px;
+}
 
-  .modal-left-div::-webkit-scrollbar-thumb {
-    width: 5px;
-    background: #b6b6b6;
-    border-radius: 10px;
-  }
+.modal-left-div::-webkit-scrollbar-thumb {
+  width: 5px;
+  background: #b6b6b6;
+  border-radius: 10px;
+}
 
-  //Card标签
-  .card {
-    margin-top: 8px;
-  }
+//Card标签
+.card {
+  margin-top: 8px;
+}
 
-  //圆形按钮
-  .circle-button {
-    font-size: 20px !important;
-    margin-left: 5px;
-    margin-right: 5px;
-  }
+//圆形按钮
+.circle-button {
+  font-size: 20px !important;
+  margin-left: 5px;
+  margin-right: 5px;
+}
 
-  //待办
-  .upcoming {
-    width: 100%;
-    display: -webkit-inline-box;
-    overflow-x: auto;
-    transition: scrollLeft 2s;
-    padding-bottom: 10px;
+//待办
+.upcoming {
+  width: 100%;
+  display: -webkit-inline-box;
+  overflow-x: auto;
+  transition: scrollLeft 2s;
+  padding-bottom: 10px;
 
-    .upcoming-card {
-      height: 100px;
-      width: 200px;
-      background-color: #f4f8ff;
-      padding: 20px 10px 30px 10px;
-      margin-right: 20px;
-      cursor: pointer;
-      border-radius: 15px;
-      //margin-bottom: 10px;
+  .upcoming-card {
+    height: 100px;
+    width: 200px;
+    background-color: #f4f8ff;
+    padding: 20px 10px 30px 10px;
+    margin-right: 20px;
+    cursor: pointer;
+    border-radius: 15px;
+    //margin-bottom: 10px;
 
-      .upcoming-card-icon {
-        //todo 2024年4月29日13:56:25  注释掉
-        /*padding: 16px 0;*/
-      }
+    .upcoming-card-icon {
+      //todo 2024年4月29日13:56:25  注释掉
+      /*padding: 16px 0;*/
+    }
 
-      .upcoming-card-number {
-        font-size: 26px;
-        padding-left: 10px;
-        font-weight: bolder;
-      }
+    .upcoming-card-number {
+      font-size: 26px;
+      padding-left: 10px;
+      font-weight: bolder;
+    }
 
-      .upcoming-card-text {
-        font-size: 13px;
-        font-weight: 500;
-      }
+    .upcoming-card-text {
+      font-size: 13px;
+      font-weight: 500;
     }
   }
+}
 
-  .upcoming::-webkit-scrollbar {
-    width: 0;
-  }
+.upcoming::-webkit-scrollbar {
+  width: 0;
+}
 
-  .card-upcoming /deep/ .ivu-card-body {
-    padding-bottom: 0 !important;
+.card-upcoming /deep/ .ivu-card-body {
+  padding-bottom: 0 !important;
 
-  }
+}
 
-  //图表
-  .echarts {
-    width: 300px;
-    height: 200px
-  }
+//图表
+.echarts {
+  width: 300px;
+  height: 200px
+}
 
-  // 销售简报radio数字
-  .sales-report-radio-number {
-    position: relative;
-    right: 50px;
-  }
+// 销售简报radio数字
+.sales-report-radio-number {
+  position: relative;
+  right: 50px;
+}
 
-  // 销售简报radio选中的文字
-  .sales-report-radio-checked {
-    font-weight: bolder;
-  }
+// 销售简报radio选中的文字
+.sales-report-radio-checked {
+  font-weight: bolder;
+}
 
-  // 销售简报右侧col
-  .sales-report-col {
-    padding-right: 10px;
-    padding-top: 10px;
-  }
+// 销售简报右侧col
+.sales-report-col {
+  padding-right: 10px;
+  padding-top: 10px;
+}
 
-  // 销售简报card 个数 数字
-  .sales-report-card-number {
-    color: grey;
-  }
+// 销售简报card 个数 数字
+.sales-report-card-number {
+  color: grey;
+}
 
-  // 销售简报card 钱数 数字
-  .sales-report-card-money {
-    color: orange;
-  }
+// 销售简报card 钱数 数字
+.sales-report-card-money {
+  color: orange;
+}
 
-  // 销售简报 简略模式card
-  .sales-report-simple-card {
-    margin: 10px;
-  }
+// 销售简报 简略模式card
+.sales-report-simple-card {
+  margin: 10px;
+}
 
-  // 销售简报 简略模式 文字
-  .sales-report-simple-card-text {
-    font-weight: bolder;
-  }
+// 销售简报 简略模式 文字
+.sales-report-simple-card-text {
+  font-weight: bolder;
+}
 
-  .sales-report-simple-card-text2 {
-    color: grey;
-  }
+.sales-report-simple-card-text2 {
+  color: grey;
+}
 
-  .sales-report-simple-card-text3 {
-    color: orange;
-  }
+.sales-report-simple-card-text3 {
+  color: orange;
+}
 
-  // 销售助手 card 外 col
-  .sales-helper-col {
-    padding: 5px;
-  }
+// 销售助手 card 外 col
+.sales-helper-col {
+  padding: 5px;
+}
 
-  // 销售助手 card
-  .sales-helper-card {
-    background-color: #f7f7f9;
-    padding: 5px;
-  }
+// 销售助手 card
+.sales-helper-card {
+  background-color: #f7f7f9;
+  padding: 5px;
+}
 
-  // 销售助手 card 第一行
-  .sales-helper-card-icon-title {
-    display: flex;
-    align-items: center;
-  }
+// 销售助手 card 第一行
+.sales-helper-card-icon-title {
+  display: flex;
+  align-items: center;
+}
 
-  // 销售助手 card 标题
-  .sales-helper-card-title {
-    line-height: 34px;
-    margin-left: 10px;
-  }
+// 销售助手 card 标题
+.sales-helper-card-title {
+  line-height: 34px;
+  margin-left: 10px;
+}
 
-  // 销售助手 card 内容 蓝色
-  .sales-helper-card-content {
-    margin-top: 10px;
-    color: #71a6ec;
-  }
+// 销售助手 card 内容 蓝色
+.sales-helper-card-content {
+  margin-top: 10px;
+  color: #71a6ec;
+}
 
-  // 销售助手 card 内容 灰色
-  .sales-helper-card-content2 {
-    margin-top: 10px;
-    color: grey;
-  }
+// 销售助手 card 内容 灰色
+.sales-helper-card-content2 {
+  margin-top: 10px;
+  color: grey;
+}
 
-  // 底部抽屉
-  /deep/ .ivu-drawer-bottom {
-    right: 0;
-    bottom: 0;
-    top: unset;
-  }
+// 底部抽屉
+/deep/ .ivu-drawer-bottom {
+  right: 0;
+  bottom: 0;
+  top: unset;
+}
 
-  /deep/ .ivu-tabs-tab {
-    bottom: 10px;
-    font-size: 18px !important;
-  }
+/deep/ .ivu-tabs-tab {
+  bottom: 10px;
+  font-size: 18px !important;
+}
 
-  .ivu-row {
-    display: flex;
-  }
+.ivu-row {
+  display: flex;
+}
 
-  /deep/ .ivu-list {
-    height: 245px !important;
-    overflow-y: auto;
-  }
+/deep/ .ivu-list {
+  height: 245px !important;
+  overflow-y: auto;
+}
 
-  /deep/ .ivu-list-item-meta-title {
-    margin-bottom: 2px !important;
-    font-size: 15px !important;
-    cursor: pointer;
-    text-decoration: underline;
-  }
+/deep/ .ivu-list-item-meta-title {
+  margin-bottom: 2px !important;
+  font-size: 15px !important;
+  cursor: pointer;
+  text-decoration: underline;
+}
 
-  /deep/ .ivu-list-item {
-    padding: 10px 0 0 0 !important;
-  }
+/deep/ .ivu-list-item {
+  padding: 10px 0 0 0 !important;
+}
 
-  /deep/ .ivu-list-item-meta-content {
-    width: 100%;
-  }
+/deep/ .ivu-list-item-meta-content {
+  width: 100%;
+}
 
-  /deep/ .ivu-list-item-meta {
-    margin-bottom: 6px !important;
-  }
+/deep/ .ivu-list-item-meta {
+  margin-bottom: 6px !important;
+}
 
-  /deep/ .ivu-list-item-meta-description {
-    //width: 253px;
-    font-size: 12px;
-    line-height: 22px;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
+/deep/ .ivu-list-item-meta-description {
+  //width: 253px;
+  font-size: 12px;
+  line-height: 22px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
 
-  /deep/.ivu-checkbox-checked .ivu-checkbox-inner{
-    background-color: #1B365D !important;
-    border-color:  #1B365D !important;
-  }
+/deep/ .ivu-checkbox-checked .ivu-checkbox-inner {
+  background-color: #1B365D !important;
+  border-color: #1B365D !important;
+}
 
-  .clear-btn{
-    border: #b6b6b6 1px dashed;
-    color:#fff;
-    display:flex;
-    align-items:center;
-    justify-content:center;
-    width: 88%;
-    height: 30px;
-    background: #00aaed;
-    border-radius: 5px;
-    cursor: pointer;
-    transition: .3s;
-  }
-  .clear-btn:hover{
-    background: #4dcbff;
-  }
+.clear-btn {
+  border: #b6b6b6 1px dashed;
+  color: #fff;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 88%;
+  height: 30px;
+  background: #00aaed;
+  border-radius: 5px;
+  cursor: pointer;
+  transition: .3s;
+}
+
+.clear-btn:hover {
+  background: #4dcbff;
+}
 </style>