瀏覽代碼

经营概况

fubin 1 年之前
父節點
當前提交
2d1c421603
共有 2 個文件被更改,包括 152 次插入4 次删除
  1. 2 0
      src/api/pages/report/detail-report.js
  2. 150 4
      src/view/single-page/home/home.vue

+ 2 - 0
src/api/pages/report/detail-report.js

@@ -57,6 +57,8 @@ export default {
     getSaleProfitGroupByStaff:'get_sale_profit_group_by_staff',
     // 查询商品利润
     getSaleProfitGroupBySku:'get_sale_profit_group_by_sku',
+    // 经营概况
+    getBusinessOverview:'get_business_overview',
   }
 }
 

+ 150 - 4
src/view/single-page/home/home.vue

@@ -295,14 +295,81 @@
           </div>
         </Card>
 
-        <!-- 销售趋势 -->
+        <!-- 经营概况 -->
         <Card class="card card-upcoming" style="margin-top: 8px;height: 280px" @contextmenu.native.prevent>
           <div style="display: flex">
             <div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
-              销售趋势
+              经营概况
+            </div>
+            <DatePickerPop type="daterange" clearable size="small" :editable="true"
+                           transfer v-model="accDate"
+                           placement="bottom-end" @on-change="(val) => btnDatePickerOk(val)"
+                           style="width:218px" :short-cut-flag="true"></DatePickerPop>
+          </div>
+          <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light">
+            <Button icon="md-refresh" shape="circle" class="circle-button" @click="selectBusinessOverview "></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">
+                      ¥ {{ intAssets }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      库存资产(实时)
+                    </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">
+                      ¥ {{ receivableResidue }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
+                      客户欠款(实时)
+                    </Row>
+                  </Col>
+                </Row>
+              </div>
+              <!--销售利润-->
+              <div class="upcoming-card1" @click="openDrawer($config.homeDrawType.waitAudit)">
+                <Row>
+                  <Col span="3" class="upcoming-card1-icon">
+                    <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')"
+                         style="width: 40px;height: 40px;"/>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card1-text" style="margin: 15px 0px 0px 5px">
+                      销售金额: ¥{{ receivable }} 销售成本: ¥{{ costAmt }}
+                    </Row>
+                  </Col>
+                  <Col span="18">
+                    <Row class="upcoming-card1-text" style="margin: 0px 0px 0px 55px">
+                      销售利润: ¥{{ profit }} 利润率: {{ profitMargin }}%
+                    </Row>
+                  </Col>
+                </Row>
+              </div>
             </div>
           </div>
-
         </Card>
       </div>
       <!--右侧-->
@@ -593,6 +660,18 @@ export default {
         {"id": "经营月报", "name": "经营月报"}
       ],
       /***************** 实时数据 ******************/
+
+      /***************** 经营概况 ******************/
+      accDate: [new Date().addMonths(-1).format('yyyy-MM-dd'), new Date().format('yyyy-MM-dd')],
+      accDateStart: new Date().addMonths(-1).format('yyyy-MM-dd'),
+      accDateEnd: new Date().format('yyyy-MM-dd'),
+      intAssets: 0,
+      receivableResidue: 0,
+      costAmt: 0,
+      profitMargin: 0,
+      receivable: 0,
+      profit: 0,
+      /***************** 经营概况 ******************/
     }
   },
   mounted() {
@@ -1328,7 +1407,46 @@ export default {
      */
     beginnersGuide() {
       this.open(this.$config.routeUrl['home']['beginnersGuide'])
-    }
+    },
+    /**
+     * @desc   : 选择区间
+     * @author : 付斌
+     * @date   : 2024-07-02 14:48
+     */
+    btnDatePickerOk(date) {
+      if (date && date.length > 1) {
+        this.accDateStart = date[0]
+        this.accDateEnd = date[1]
+      } else {
+        this.accDateStart = null
+        this.accDateEnd = null
+      }
+      this.selectBusinessOverview()
+    },
+    /**
+     * @desc   : 查询经营概况
+     * @author : 付斌
+     * @date   : 2024-06-20 10:40
+     */
+    selectBusinessOverview() {
+      let querys = {
+        accDateStart: this.accDateStart,
+        accDateEnd: this.accDateEnd
+      }
+      let params = {
+        querys: JSON.stringify(querys)
+      }
+      this.excute(this.$service.detailReportService, this.$service.detailReportService.getBusinessOverview, params).then(res => {
+        if (res.code === this.$config.SUCCESS_CODE) {
+          this.intAssets = res.data.intAssets[0].intAssets
+          this.receivableResidue = res.data.receivableResidue[0].receivableResidue
+          this.receivable = res.data.profitMargin[0].receivable
+          this.costAmt = res.data.profitMargin[0].costAmt
+          this.profit = res.data.profitMargin[0].profit
+          this.profitMargin = res.data.profitMargin[0].profitMargin
+        }
+      })
+    },
   },
   created() {
     this.routeObjName = 'appMenu'  // 设置路由名称
@@ -1337,6 +1455,7 @@ export default {
     this.selectPending();//获取代办事项个数
     this.selectRealTimeData();//查询实时数据
     this.selectCarousel();//查询轮播图
+    this.selectBusinessOverview(); //经营概况
     // this.getApprovalCount();// 获取待审中心数据
     // this.getUnreadNoticeCount();// 获取未读公告条数
     this.waitApprovalRight = this.$libaray.checkButtonHasRight('wait-approval')
@@ -1427,6 +1546,33 @@ export default {
       font-weight: 500;
     }
   }
+
+  .upcoming-card1 {
+    height: 100px;
+    width: 420px;
+    background-color: #f4f8ff;
+    padding: 20px 10px 30px 10px;
+    margin-right: 20px;
+    cursor: pointer;
+    border-radius: 15px;
+    //margin-bottom: 10px;
+
+    .upcoming-card1-icon {
+      //todo 2024年4月29日13:56:25  注释掉
+      /*padding: 16px 0;*/
+    }
+
+    .upcoming-card1-number {
+      font-size: 26px;
+      padding-left: 10px;
+      font-weight: bolder;
+    }
+
+    .upcoming-card1-text {
+      font-size: 13px;
+      font-weight: 500;
+    }
+  }
 }
 
 .upcoming::-webkit-scrollbar {