From b8dc4ccc6ee580b084aa860e64af2d90d1cb5979 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 10:11:52 +0800
Subject: [PATCH] feat: 1、首页接口对接 2、部门物品分发

---
 admin-web/src/views/dashboard/index.vue |  461 +++++++++++++++++++++++++--------------------------------
 1 files changed, 205 insertions(+), 256 deletions(-)

diff --git a/admin-web/src/views/dashboard/index.vue b/admin-web/src/views/dashboard/index.vue
index c65a195..1d92ebb 100644
--- a/admin-web/src/views/dashboard/index.vue
+++ b/admin-web/src/views/dashboard/index.vue
@@ -1,212 +1,119 @@
 <template>
   <div class="content">
-<!--    <el-row :gutter="10">
+    <el-row :gutter="20">
       <el-col :span="12">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/qbgd.png"></img>
-                <span>鍏ㄩ儴宸ュ崟</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">20<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/gdc.png"></img>
-                <span>宸ュ崟姹�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">2<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/gdc.png"></img>
-                <span>寰呭搷搴斿伐鍗�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">1<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
+        <el-card shadow="never">
+          <div slot="header" class="clearfix">
+            <span class="font-18 font-bold">寰呭姙鍚嶇О</span>
+          </div>
+          <div class="f-r f-r-between m-b-10">
+            <el-radio-group v-model="waitType" size="mini">
+              <el-radio-button label="1">鍏ㄩ儴</el-radio-button>
+            </el-radio-group>
+            <div class="to-more" @click="nav('/stock/transfer/transferissue')">鏌ョ湅鏇村 ></div>
+          </div>
+          <el-table :data="waitWorkData" class="top-tb" :show-header="false" size="medium">
+            <el-table-column prop="businessFormCode" align="center" width="130"></el-table-column>
+            <el-table-column prop="inWarehouseName" align="center" min-width="130">
+              <template slot-scope="{row}">
+                <el-tooltip class="item" effect="dark" :content="row.inWarehouseName " placement="top-start">
+                  <div class="font-14 color-333" style="width: 100%;white-space:nowrap;text-overflow: ellipsis;overflow: hidden">{{ row.inWarehouseName }}</div>
+                </el-tooltip>
+              </template>
+            </el-table-column>
+            <el-table-column prop="operatorName" align="center" width="80"></el-table-column>
+            <el-table-column prop="createTime" align="center" width="160">
+              <template slot-scope="scope">
+                <span class="font-14 color-333">{{ formattTime(scope.row.createTime) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="date" label="鎿嶄綔" fixed="right" align="center" width="80">
+              <template slot-scope="scope">
+                <el-button @click.native.prevent="aduitThis(scope.row.id)" type="primary">澶勭悊</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-card>
       </el-col>
       <el-col :span="12">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/jxzgd.png"></img>
-                <span>杩涜涓伐鍗�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">3<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/gdc.png"></img>
-                <span>浜嬩欢姹�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">{{eventInfo.pool}}<span class="font-12">涓�</span> </div>
-                <div>
-                  <img v-if="eventInfo.poolLastNum>=0" class='arrow' src="@/assets/images/index/top.png"></img>
-                  <img  v-if="eventInfo.poolLastNum<0" class='arrow' src="@/assets/images/index/down.png"></img>
-                  鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/dxy.png"></img>
-                <span>杩涜涓簨浠�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">{{eventInfo.wait}}<span class="font-12">涓�</span> </div>
-                <div>
-                  <img v-if="eventInfo.waitLastNum>=0" class='arrow' src="@/assets/images/index/top.png"></img>
-                  <img  v-if="eventInfo.waitLastNum<0" class='arrow' src="@/assets/images/index/down.png"></img>
-                  鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
+        <el-card shadow="never">
+          <div slot="header" class="clearfix">
+            <span class="font-18 font-bold">棰勮閫氱煡</span>
+          </div>
+          <div class="f-r f-r-between m-b-10">
+            <el-radio-group size="mini" v-model="earlyWarningType" @change="changeEarlyWarning">
+              <el-radio-button label="1">鍏ㄩ儴</el-radio-button>
+              <el-radio-button label="2">缂鸿揣锛�12锛�</el-radio-button>
+              <el-radio-button label="3">瓒呭嚭锛�3锛�</el-radio-button>
+            </el-radio-group>
+            <div class="to-more" @click="nav('/stock/ledger/alertQuery')">鏌ョ湅鏇村 ></div>
+          </div>
+          <el-table :data="earlyWarningData" class="top-tb" :show-header="false" size="medium">
+            <el-table-column prop="type" align="center"></el-table-column>
+            <el-table-column prop="name" align="center" width="100"></el-table-column>
+            <el-table-column prop="orgName" align="center" width="100"></el-table-column>
+            <el-table-column prop="surplus" align="center" width="100">
+              <template slot-scope="scope">
+                <span class="font-14 color-333">鍓╀綑{{ scope.row.surplus }}濂�</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="createTime" align="center" width="180">
+              <template slot-scope="scope">
+                <span class="font-14 color-333">{{ formattTime(scope.row.createTime) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="date" label="鎿嶄綔" align="center" width="120">
+              <template slot-scope="scope">
+                <el-button @click.native.prevent="aduitThis(scope.row.id)" size="small" type="primary">澶勭悊</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-card>
       </el-col>
     </el-row>
-
-    <el-row :gutter="10" style="margin-top: 10px">
+    <!-- 涓棿缁熻閮ㄥ垎-->
+    <div class="f-r f-r-between total-list">
+      <div class="total-item">
+        <div class="font-14 color-666">鐗╁搧鏁伴噺</div>
+        <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.totalNum}}</span></div>
+      </div>
+      <div class="total-item">
+        <div class="font-14 color-666">璧勪骇鎬婚噾棰�</div>
+        <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.totalPrice}}</span>涓囧厓</div>
+      </div>
+      <div class="total-item">
+        <div class="font-14 color-666">鐗╁搧鍗犵敤鐜�</div>
+        <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.zhanYouPercent}}%</span></div>
+      </div>
+      <div class="total-item">
+        <div class="font-14 color-666">A绫荤墿鍝佹暟閲�</div>
+        <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.aTotalNum}}</span></div>
+      </div>
+      <div class="total-item">
+        <div class="font-14 color-666">B绫荤墿鍝佹暟閲�</div>
+        <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.bTotalNum}}</span></div>
+      </div>
+    </div>
+    <!-- 绫诲埆閲戦缁熻/绫诲埆鏁伴噺缁熻 -->
+    <el-row :gutter="20">
       <el-col :span="12">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/wtc.png"></img>
-                <span>闂姹�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">0<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/dxy.png"></img>
-                <span>寰呭搷搴旈棶棰�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">0<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/gdc.png"></img>
-                <span>鍙樻洿宸ュ崟</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">0<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
+        <LBSLTJ :num="goodsNumPrice"></LBSLTJ>
       </el-col>
       <el-col :span="12">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/dxy.png"></img>
-                <span>寰呭搷搴斿彉鏇�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">0<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/fbgd.png"></img>
-                <span>鍙戝竷宸ュ崟</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">2<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-          <el-col :span="8">
-            <div class="flex bg-fff box flex-between">
-              <div class="flex f-c f-col">
-                <img class="icon" src="@/assets/images/index/dxy.png"></img>
-                <span>寰呭搷搴斿彂甯�</span>
-              </div>
-              <div class="flex f-e f-col">
-                <div class="font-28">5<span class="font-12">涓�</span> </div>
-                <div><img class='arrow' src="@/assets/images/index/top.png"></img> 鐜瘮涓婂懆</div>
-              </div>
-            </div>
-          </el-col>
-        </el-row>
+        <LBJETJ :num="goodsNumPrice"></LBJETJ>
       </el-col>
     </el-row>
-    <el-row :gutter="10">
-      <el-col :span="12">
-        <XMGZD></XMGZD>
-      </el-col>
-      <el-col :span="12">
-        <XYZC></XYZC>
-      </el-col>
-    </el-row>
-    <el-card class="box-card">
-
-        <span style="font-weight: 600;font-size: 20px">宸ュ崟缁熻</span>
-
-      <el-row :gutter="10">
-        <el-col :span="6">
-          <SJDJ></SJDJ>
-        </el-col>
-        <el-col :span="6">
-        <GDLX></GDLX>
-        </el-col>
-        <el-col :span="6">
-          <SJGDZB></SJGDZB>
-        </el-col>
-        <el-col :span="6">
-          <progressMY></progressMY>
-        </el-col>
-      </el-row>
-
-    </el-card>-->
+    <!--  璧勪骇澧為暱/鎶ュ簾缁熻鍥撅紙鏁伴噺锛�-->
+    <XYZC></XYZC>
   </div>
 </template>
 
 <script>
+import {getGoodsNumPrice} from '@/api/dashboard'
 // 鍒涘缓Context
-import {formattedDate} from "@/utils/DateFormatter";
-import * as dash from '@/api/dashboard/dash'
-// import * as createEvent from "@/api/eventManage/createEvent";
+import {LongToDateTime} from "@/utils/DateFormatter";
+import {transferList} from "@/api/stock/transfer";
+
 const ComponentContext = require.context('./components', false, /\.vue$/i);
 let res_components = {};
 // 鐢熸垚寰呭緟娉ㄥ唽缁勪欢闆嗗悎
@@ -219,84 +126,126 @@
   components: {...res_components},
   data() {
     return {
-      eventInfo:{}
+      goodsNumPrice: {
+        aTotalNum: 0,
+        aTotalPrice: 0,
+        bTotalNum: 0,
+        bTotalPrice: 0,
+        cTotalNum: 0,
+        cTotalPrice: 0,
+        tenantId: 0,
+        totalNum: 0,
+        totalPrice: 0,
+        xiaFaNum: 0,
+        zhanYouPercent: 0,
+      },
+      waitType: '1',
+      waitWorkData: [], // 寰呭姙宸ヤ綔
+      earlyWarningType: '1',
+      earlyWarningData: [
+        {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 4, createTime: 20231127150606, id: 1},
+        {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 5, createTime: 20231127150606, id: 2},
+        {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 6, createTime: 20231127150606, id: 3},
+        {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 6, createTime: 20231127150606, id: 4},
+      ] // 棰勮閫氱煡
     };
   },
   created() {
-    // this.getEventInfo()
-
+    this.init()
+    getGoodsNumPrice().then(res => {
+      this.goodsNumPrice = res
+    })
   },
   methods: {
-       // 鑾峰彇浜嬩欢鏁版嵁
-       getEventInfo(){
-         dash.getEventInfo().then(res => {
-           if (res) {
-             this.eventInfo = res
-           }
-         })
-       }
+    init(){
+      transferList({
+        qryType: 0,
+        pageNum: 1,
+        pageSize: 5,
+      }).then((res) => {
+        this.waitWorkData = res.datas;
+      });
+    },
+    // 鏍煎紡鍖栨椂闂�
+    formattTime(time) {
+      return LongToDateTime(time)
+    },
+    // 鑾峰彇棰勮閫氱煡鍒楄〃鏁版嵁
+    getAduitList() {
+      let form = {
+        pageSize: 5,
+        pageNum: 1,
+        waitType: this.waitType
+      }
+    },
+    // 澶勭悊寰呭姙宸ヤ綔
+    aduitThis(id) {
+    },
+    // 鍒囨崲棰勮閫氱煡
+    changeEarlyWarning(e) {
+      this.earlyWarningType = e
+      this.$nextTick(() => {
+        this.getWarningList()
+      })
+    },
+    // 鑾峰彇棰勮閫氱煡鍒楄〃鏁版嵁
+    getWarningList() {
+      let form = {
+        pageSize: 5,
+        pageNum: 1,
+        earlyWarningType: this.earlyWarningType
+      }
+    },
+    //  璺宠浆
+    nav(url) {
+      this.$router.push(url)
+    }
   }
 
 };
 </script>
 <style lang="scss" scoped>
-.content{
-  padding:10px
+.content {
+  padding: 10px
 }
-.box{
-  border-radius: 10px;
-  padding: 20px 0;
-  align-items: flex-end;
+
+.to-more {
+  font-size: 14px;
+  color: #0d997c;
+  cursor: pointer;
 }
-.flex{
-  display: flex;
-}
-.flex-between{
-  justify-content: space-around;
-}
-.f-col{
-  flex-direction: column;
-}
-.f-c{
-  align-items: center;
-}
-.f-e{
-  align-items: flex-end;
-}
-.f-s{
-  align-items: flex-start;
-}
-.c-1{
-  color: #11AD6F;
-}
-.c-f{
-  color: #FF4B4B;
-}
-.font-28{
-  font-size: 28px;
-}
-.font-12{
-  font-size: 12px;
-}
-.icon{
-  width: 30px;
-  height: 30px;
+
+.m-b-10 {
   margin-bottom: 10px;
 }
-.arrow{
-  width: 12px;
-  height: 12px;
-}
-.box-card {
-  margin-top: 10px;
+
+.top-tb {
   width: 100%;
-  border-radius: 10px;
-  border: none;
-  .card-title-right {
-    display: flex;
-    align-items: center;
-    align-self: flex-end;
-    float: right;
-  }
+}
+
+> > > .el-table__body {
+  min-height: 265px;
+}
+
+.total-list {
+  padding: 15px 0;
+}
+
+.total-item {
+  width: 19%;
+  padding: 12px 20px;
+  border-radius: 8px;
+  margin-right: 1%;
+  background-color: #FFFFFF;
+}
+
+.total-item:last-child {
+  margin: 0;
+}
+
+.total-num {
+  font-size: 24px;
+  font-weight: bold;
+  margin-right: 3px;
 }
 </style>

--
Gitblit v1.9.1