snow 1 éve
szülő
commit
1378106c70

+ 20 - 20
src/views/dashboard/performanceReport/config/wanyuType.config.ts

@@ -2,7 +2,7 @@
 import { ContentConfig } from "/@/components/PageContent";
 
 import { httpCompanyDayList, httpDepartDayList } from "/@/api/dashboard/grossMargin";
-import { addition, createTotalItem, division, multiplication, subtraction, unit2TenThousand } from "/@/utils/calc";
+import { addition, division, multiplication, subtraction, unit2TenThousand } from "/@/utils/calc";
 
 const mapCompanyName = {
   '泓源': '泓源广诚',
@@ -50,7 +50,7 @@ const contentConfig: ContentConfig = {
   title: "",
   superUserNoAction: false,
   handleData(data = []) {
-    return data.reduce((prev,current) => {
+    return data.reduce((prev, current) => {
       const {
         mzy_sale_total,
         zy_sale_total,
@@ -59,35 +59,35 @@ const contentConfig: ContentConfig = {
       } = current
 
       /*  月合计 = 月渠道 + 月直营 **/
-      const monthTotal = addition(mchannel_sale_total,mzy_sale_total) || 0
+      const monthTotal = addition(mchannel_sale_total, mzy_sale_total) || 0
       //console.log(mzy_sale_total,monthTotal)
       /* 直营月销售占比 =  月直营销售额 / 月合计销售额 **/
-      const proportion_z = multiplication((division(mzy_sale_total,monthTotal) || 0),100).toFixed(2)
+      const proportion_z = multiplication((division(mzy_sale_total, monthTotal) || 0), 100).toFixed(2)
 
       /* 渠道月销售占比 =  1 - 直营月销售占比 **/
       let proportion_q;
-      if(Number(proportion_z) === 0){
-        const mod = multiplication((division(mchannel_sale_total,monthTotal) || 0),100)
+      if (Number(proportion_z) === 0) {
+        const mod = multiplication((division(mchannel_sale_total, monthTotal) || 0), 100)
         proportion_q = mod !== 0 ? Number(100 - Number(proportion_z)).toFixed(2) : 0
-      }else{
+      } else {
         proportion_q = Number(100 - Number(proportion_z)).toFixed(2)
       }
 
 
-      return ([...prev,...([{
-        depart:current.depart,
-        type:'直营',
-        month:mzy_sale_total,
-        day:zy_sale_total,
-        proportion:proportion_z
-      },{
-        depart:current.depart,
-        type:'渠道',
-        month:mchannel_sale_total,
-        day:channel_sale_total,
-        proportion:proportion_q
+      return ([...prev, ...([{
+        depart: current.depart,
+        type: '直营',
+        month: mzy_sale_total,
+        day: zy_sale_total,
+        proportion: proportion_z
+      }, {
+        depart: current.depart,
+        type: '渠道',
+        month: mchannel_sale_total,
+        day: channel_sale_total,
+        proportion: proportion_q
       }])])
-    },[])
+    }, [])
   },
   columns,
   apis: {

+ 147 - 84
src/views/dashboard/performanceReport/index.vue

@@ -1,3 +1,4 @@
+<!-- eslint-disable prettier/prettier -->
 <script setup lang="ts">
 import { shallowRef, ref, watch, reactive } from "vue";
 import wanyuConfig from "./config/wanyu.config";
@@ -15,26 +16,11 @@ import {
 const PageName = "grossMargin";
 
 const companies = [
-  {
-    companyNo: "GS2302231125079621",
-    companyName: "北京百辰荣达国际科贸有限公司"
-  },
-  {
-    companyNo: "GS2302231323386950",
-    companyName: "北京泓源广诚国际商贸有限公司"
-  },
-  {
-    companyNo: "GS2304031312553746",
-    companyName: "北京锦兴弘昌科技有限公司"
-  },
-  {
-    companyNo: "GS2302231124114965",
-    companyName: "北京普润心堂商贸有限公司"
-  },
-  {
-    companyNo: "GS2203161855277894",
-    companyName: "北京万宇恒通国际科贸有限公司"
-  }
+  { companyNo: "GS2302231125079621", companyName: "北京百辰荣达国际科贸有限公司" },
+  { companyNo: "GS2302231323386950",companyName: "北京泓源广诚国际商贸有限公司" },
+  { companyNo: "GS2304031312553746", companyName: "北京锦兴弘昌科技有限公司" },
+  { companyNo: "GS2302231124114965", companyName: "北京普润心堂商贸有限公司" },
+  { companyNo: "GS2203161855277894", companyName: "北京万宇恒通国际科贸有限公司" }
 ];
 
 const daytime = shallowRef("");
@@ -115,86 +101,163 @@ daytime.value = transformTime();
         />
       </div>
 
-       <div class="ml-[15px]">
-         <h2 style="font-size:20px;font-weight:700;margin-bottom:10px">搞了 {{unit2TenThousand(platformDimensionTotal.wanyuCompletion.sale_total)}} 元</h2>
-       </div>
-       <div class="mx-[12px] mb-[-15px]">
-        <ElTable border size="small" :data="[platformDimensionTotal.wanyuCompletion]">
-        <ElTableColumn label="月指标">
-           <template #="{ row }">{{ unit2TenThousand(row.total_tips)}}</template>
-         </ElTableColumn>
-         <ElTableColumn label="完成额">
-            <template #="{ row }">{{ unit2TenThousand(row.sale_total)}}</template>
+      <div class="ml-[15px]">
+        <h2 style="font-size: 20px; font-weight: 700; margin-bottom: 10px">
+          搞了
+          {{
+            unit2TenThousand(platformDimensionTotal.wanyuCompletion.sale_total)
+          }}
+          元
+        </h2>
+      </div>
+      <div class="mx-[12px] mb-[-15px]">
+        <ElTable
+          border
+          size="small"
+          :data="[platformDimensionTotal.wanyuCompletion]"
+        >
+          <ElTableColumn label="月指标">
+            <template #="{ row }">{{
+              unit2TenThousand(row.total_tips)
+            }}</template>
+          </ElTableColumn>
+          <ElTableColumn label="完成额">
+            <template #="{ row }">{{
+              unit2TenThousand(row.sale_total)
+            }}</template>
           </ElTableColumn>
           <ElTableColumn label="完成率">
-           <template #="{ row }">{{Number(row.completionRate).toFixed(2) + "%"}}</template>
+            <template #="{ row }">{{
+              Number(row.completionRate).toFixed(2) + "%"
+            }}</template>
           </ElTableColumn>
         </ElTable>
       </div>
 
-       <PageContainer
+      <PageContainer
         ref="wanyuCompletionReportRef"
         :contentConfig="wanyuCompletionConfig"
-        :events="{ content: {handleResult:(data) => getPlatformReportResult(data,'wanyuCompletion')}}"
-       />
+        :events="{
+          content: {
+            handleResult: data =>
+              getPlatformReportResult(data, 'wanyuCompletion')
+          }
+        }"
+      />
 
-      <h2 style="font-size:20px;font-weight:700;margin-bottom:10px;margin-left:15px">
+      <h2
+        style="
+          font-size: 20px;
+          font-weight: 700;
+          margin-bottom: 10px;
+          margin-left: 15px;
+        "
+      >
         平台维度
       </h2>
 
-        <ElRow style="overflow:hidden">
-          <ElCol :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-             <p class="ml-[15px]" style="line-height:42px">北京万宇恒通国际科贸有限公司</p>
-             <div class="mx-[12px] mb-[-15px]">
-               <ElTable border size="small" :data="[platformDimensionTotal.wanyu]">
-                <ElTableColumn label="月指标">
-                  <template #="{ row }">{{ unit2TenThousand(row.total_tips)}}</template>
-                </ElTableColumn>
-                <ElTableColumn label="完成额">
-                 <template #="{ row }">{{ unit2TenThousand(row.sale_total)}}</template>
-               </ElTableColumn>
-               <ElTableColumn label="完成率">
-                <template #="{ row }">{{Number(row.completionRate).toFixed(2) + "%"}}</template>
-               </ElTableColumn>
-             </ElTable>
-            </div>
-            <PageContainer
-              ref="wanyuReportRef"
-              :contentConfig="wanyuConfig"
-              :events="{ content: {handleResult: (data) => getPlatformReportResult(data,'wanyu')}}"
-            />
-          </ElCol>
-
-           <ElCol :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
-              <PageContainer ref="wanyuTypeReportRef" :contentConfig="wanyuTypeConfig" />
-           </ElCol>
-       </ElRow>
-
-      <h2 style="font-size:20px;font-weight:700;margin-bottom:10px;margin-left:15px">
+      <ElRow style="overflow: hidden">
+        <ElCol :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+          <p class="ml-[15px]" style="line-height: 42px">
+            北京万宇恒通国际科贸有限公司
+          </p>
+          <div class="mx-[12px] mb-[-15px]">
+            <ElTable border size="small" :data="[platformDimensionTotal.wanyu]">
+              <ElTableColumn label="月指标">
+                <template #="{ row }">{{
+                  unit2TenThousand(row.total_tips)
+                }}</template>
+              </ElTableColumn>
+              <ElTableColumn label="完成额">
+                <template #="{ row }">{{
+                  unit2TenThousand(row.sale_total)
+                }}</template>
+              </ElTableColumn>
+              <ElTableColumn label="完成率">
+                <template #="{ row }">{{
+                  Number(row.completionRate).toFixed(2) + "%"
+                }}</template>
+              </ElTableColumn>
+            </ElTable>
+          </div>
+          <PageContainer
+            ref="wanyuReportRef"
+            :contentConfig="wanyuConfig"
+            :events="{
+              content: {
+                handleResult: data => getPlatformReportResult(data, 'wanyu')
+              }
+            }"
+          />
+        </ElCol>
+
+        <ElCol :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+          <PageContainer
+            ref="wanyuTypeReportRef"
+            :contentConfig="wanyuTypeConfig"
+          />
+        </ElCol>
+      </ElRow>
+
+      <h2
+        style="
+          font-size: 20px;
+          font-weight: 700;
+          margin-bottom: 10px;
+          margin-left: 15px;
+        "
+      >
         公司维度
       </h2>
-      <ElRow style="overflow:hidden">
-        <ElCol :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-for="(company,index) in companies" :key="company.companyNo">
-           <div class="ml-15px" style="line-height:32px">{{index + 1}}.{{company.companyName || '--'}}</div>
-           <div class="mx-[12px] mb-[-15px]">
-             <ElTable border size="small" :data="[companyDimensionTotal[company.companyNo]]">
-             <ElTableColumn label="月指标">
-              <template #="{ row }">{{ unit2TenThousand(row.total_tips)}}</template>
-            </ElTableColumn>
-             <ElTableColumn label="完成额">
-               <template #="{ row }">{{ unit2TenThousand(row.sale_total)}}</template>
-            </ElTableColumn>
-            <ElTableColumn label="完成率">
-              <template #="{ row }">{{Number(row.completionRate).toFixed(2) + "%"}}</template>
-            </ElTableColumn>
-           </ElTable>
-         </div>
-
-          <PageContainer ref="dashboardRef" :contentConfig="createCompanyConfig(company.companyNo)"
-              :events="{ content: { handleResult: (data) => getCompanyReportResult(data,company.companyNo) }}" />
+      <ElRow style="overflow: hidden">
+        <ElCol
+          :xs="24"
+          :sm="24"
+          :md="12"
+          :lg="12"
+          :xl="12"
+          v-for="(company, index) in companies"
+          :key="company.companyNo"
+        >
+          <div class="ml-15px" style="line-height: 32px">
+            {{ index + 1 }}.{{ company.companyName || "--" }}
+          </div>
+          <div class="mx-[12px] mb-[-15px]">
+            <ElTable
+              border
+              size="small"
+              :data="[companyDimensionTotal[company.companyNo]]"
+            >
+              <ElTableColumn label="月指标">
+                <template #="{ row }">{{
+                  unit2TenThousand(row.total_tips)
+                }}</template>
+              </ElTableColumn>
+              <ElTableColumn label="完成额">
+                <template #="{ row }">{{
+                  unit2TenThousand(row.sale_total)
+                }}</template>
+              </ElTableColumn>
+              <ElTableColumn label="完成率">
+                <template #="{ row }">{{
+                  Number(row.completionRate).toFixed(2) + "%"
+                }}</template>
+              </ElTableColumn>
+            </ElTable>
+          </div>
+
+          <PageContainer
+            ref="dashboardRef"
+            :contentConfig="createCompanyConfig(company.companyNo)"
+            :events="{
+              content: {
+                handleResult: data =>
+                  getCompanyReportResult(data, company.companyNo)
+              }
+            }"
+          />
         </ElCol>
       </ElRow>
-
     </div>
   </PageAuth>
 </template>