From 91f2640c8919e7cbe41c8c437e4f7fd60345e062 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 22 四月 2025 10:47:00 +0800
Subject: [PATCH] 修改大屏

---
 src/views/hazardousChemicals/bigScreen/components/rightBottom.vue |  185 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 140 insertions(+), 45 deletions(-)

diff --git a/src/views/hazardousChemicals/bigScreen/components/rightBottom.vue b/src/views/hazardousChemicals/bigScreen/components/rightBottom.vue
index 9b90629..06c9624 100644
--- a/src/views/hazardousChemicals/bigScreen/components/rightBottom.vue
+++ b/src/views/hazardousChemicals/bigScreen/components/rightBottom.vue
@@ -1,14 +1,25 @@
 <template>
   <div class="charts-container">
     <div class="filter">
-      <el-input
-          v-model="queryParams.code"
-          placeholder="请输入流向码"
+      <el-select
           clearable
-      />
-          <div class="search-btn">
-            查询
-          </div>
+          v-model="data.queryParams.companyId"
+          filterable
+          placeholder="请选择企业"
+          style="flex: 3"
+          :teleported="false"
+      >
+        <el-option
+            v-for="item in data.companyList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+        />
+      </el-select>
+      <el-input v-model="data.queryParams.code" placeholder="请输入流向码"></el-input>
+      <div class="search-btn" @click="getList">
+        查询
+      </div>
     </div>
     <div class="table-wrapper">
     <table class="data-table">
@@ -21,11 +32,11 @@
       </tr>
       </thead>
       <tbody>
-      <tr v-for="(item, index) in dataList" :key="index">
-        <td>{{ item.company }}</td>
-        <td>{{ item.flowType }}</td>
-        <td>{{ item.person }}</td>
-        <td>{{ item.time }}</td>
+      <tr v-for="(item, index) in data.dataList" :key="index">
+        <td>{{ data.companyList.find(i=>i.id == item.companyId)?.name }}</td>
+        <td class="state-describe" :class="{'orange': item.stateName == '取用' || item.stateName == '销售','red': item.stateName == '标签作废'|| item.stateName == '用尽登记'}">{{ item.stateName }}</td>
+        <td>{{ item.user.name }}</td>
+        <td>{{ item.updateTime }}</td>
       </tr>
       </tbody>
     </table>
@@ -33,15 +44,80 @@
   </div>
 </template>
 <script setup>
-import {onMounted, reactive} from "vue";
+import {nextTick, onMounted, reactive} from "vue";
+import {ElMessage} from "element-plus";
+import {getBasicCount} from "@/api/monitor/screenCharts";
+import {getAllRawFlow} from "@/api/hazardousChemicals/rawRecord";
+import {getFlowByCode} from "@/api/hazardousChemicals/productRecord";
+import {getCompany} from "@/api/hazardousChemicals/company";
 
-onMounted(()=>{
-  getList()
+onMounted(async()=>{
+  await getCompanyList()
 })
 
-const queryParams = reactive({
-  code: ''
+const data = reactive({
+  companyList: [],
+  queryParams: {
+    companyId: null,
+    code: ''
+  },
+  dataList: []
 })
+
+const getCompanyList = async (val)=>{
+  if(val){
+    const queryParams = {
+      name: val
+    }
+    const res = await getCompany(queryParams)
+    if (res.code == 200) {
+      data.companyList = res.data.list
+    } else {
+      ElMessage.warning(res.message)
+    }
+  }else {
+    const queryParams = {
+      pageNum: 1,
+      pageSize: 999
+    }
+    const res = await getCompany(queryParams)
+    if (res.code == 200) {
+      data.companyList = res.data.list
+    } else {
+      ElMessage.warning(res.message)
+    }
+  }
+}
+
+const getList = async () => {
+  if(!data.queryParams.companyId){
+    ElMessage.warning('请输入企业名称')
+    return
+  }
+  if(data.queryParams.code==''){
+    ElMessage.warning('请输入二维码编号')
+    return
+  }
+  const res = await getFlowByCode(data.queryParams)
+  if(res.code == 200){
+    if(res.data && res.data.length>0){
+      if(res.data[0].hazmatBasic){
+        console.log(res.data,'data')
+        data.dataList = res.data.map(item => {
+          return {
+            ...item,
+            stateName: item.state ==0 ?'入库': item.state ==1 ? '取用' :item.state ==2 ? '归还': item.state ==3 ? '标签作废' : item.state ==4 ? '用尽登记':item.state ==5 ? '销售' : item.state ==6? '零头入库':'',
+          }
+        })
+      }
+    }else {
+      data.dataList = []
+    }
+  }else{
+    ElMessage.warning(res.message)
+  }
+}
+
 const dataList = [
   { company: '化工企业A', flowType: '出库', person: '张三', time: '2023-05-10 09:30' },
   { company: '化工企业B', flowType: '入库', person: '李四', time: '2023-05-10 10:15' },
@@ -53,9 +129,6 @@
   { company: '化工企业H', flowType: '入库', person: '吴十', time: '2023-05-10 17:05' },
   { company: '化工企业I', flowType: '出库', person: '郑十一', time: '2023-05-11 08:30' }
 ]
-const getList = ()=>{
-
-}
 const reset=()=>{
 
 }
@@ -78,12 +151,6 @@
     margin-bottom: 20px;
     .el-input{
       flex: 3;
-      border: 1px solid blue !important;
-      border-color: blue !important;
-    }
-    :deep(.el-input__wrapper){
-      background-color: rgba(0,0,0,0);
-      border-color: blue !important;
     }
     .search-btn{
       flex: 1;
@@ -98,6 +165,28 @@
       color: #fff
     }
   }
+  :deep(.el-input__wrapper){
+    height: 28px;
+    box-shadow: none;
+    border: 1px solid #11FEEE;
+    background: rgba(6,24,88,.6);
+    color: #fff;
+  }
+  :deep(.el-input__inner){
+    color: #02CDE6;
+  }
+  :deep(.el-input .el-select__caret){
+    color: #02CDE6
+  }
+  :deep(.el-popper.is-light){
+    background: rgb(8,44,97);
+    .el-select-dropdown__item{
+      color: #fff;
+      &:hover{
+        background: #015fb0;
+      }
+    }
+  }
   .table-wrapper {
     width: 100%;
     height: 320px;
@@ -108,29 +197,35 @@
 
   .data-table {
     width: 100%;
-    height: 100%;
     border-collapse: collapse;
     font-size: 14px;
+
+    th,td {
+      padding: 10px;
+      font-size: 12px;
+      color: #fff;
+      text-align: left;
+      height: 24px;
+      border-bottom: 1px solid rgba(255,255,255,.1);
+    }
+    .state-describe{
+      color: #00ff00
+    }
+    .red{
+      color: #ff4848
+    }
+    .orange{
+      color: #aeff00
+    }
+    th {
+      position: sticky;
+      top: 0;
+      background-color: rgb(6,38,87); /* 无背景色 */
+      font-weight: normal;
+      color: #fff;
+    }
   }
 
-  .data-table th,
-  .data-table td {
-    padding: 10px;
-    font-size: 12px;
-    color: #fff;
-    text-align: left;
-    border-bottom: 1px solid rgba(255,255,255,.1);
-  }
-
-  .data-table th {
-    position: sticky;
-    top: 0;
-    background-color: rgb(6,38,87); /* 无背景色 */
-    font-weight: normal;
-    color: #fff;
-  }
-
-  /* 精简滚动条样式 */
   .table-wrapper::-webkit-scrollbar {
     width: 0;
   }

--
Gitblit v1.9.2