分支自 SuZhouGuanHong/TaiYuanTaiZhong

huanghongfeng
2024-05-11 93ec721282fb2ef08d74d5f136809f24fcc9768b
´úÂë¹ÜÀí/WMS/WMS_Client/src/views/Home.vue
@@ -1,24 +1,157 @@
<template>
  <div class="title">Welcome To WMS!</div>
  <div>
    <el-button type="success" style="width: 10%;height: 50px;" v-on:click="selList()">刷新</el-button>
  </div>
  <div v-for="(index,inst) in datalist.length" :key="inst" style="padding: 10px;">
    <h1 style="border-bottom: 1px dashed silver; padding: 5px;;height: 52px;">
      <span v-if="inst==0">叠盘区</span>
      <span v-else-if="inst==1">上料区</span>
      <span v-else-if="inst==2">下料区</span>
      <span v-else-if="inst==3">外协区</span>
      <span v-else-if="inst==4">托盘叠放区</span>
      <span v-else>{{inst-3}}库区</span>
      <span style="margin-left: 40px;">
        <el-button  circle style="background-color: #409eff;color: #000;">有货</el-button>
        <el-button  circle style="background-color: lightgreen;color: #000;">空货位</el-button>
        <el-button  circle style="background-color: yellow;color: #000;">出入库占用</el-button>
        <el-button  circle style="background-color: red;color: #000;">异常</el-button>
        <el-button  circle style="background-color: #C0C4CC;color: #000;">禁用</el-button>
      </span>
    </h1>
  <div class="table-container">
    <div class="scrollable-table">
      <table class="one_tal">
        <tr v-for="(item, k) in datalist[inst].item2" :key="k">
          <td v-for="items in filteredItems(datalist[inst].item1, k+1)" :key="items.stationCode"
          :style="{ 'background-color': getBackgroundColor(items.enable,items.location_state) }">
            <el-tooltip class="item" effect="dark" placement="right" >
              <template #content v-if="items.stationType!=='' && items.bindSN !== '' && items.stationType!==null && items.bindSN !== null">
                <div>物料类型(图号): {{ items.stationType }}</div>
                <div>炉号: {{ items.heatNumber }}</div>
                <div>车轮SN号:{{ items.bindSN }}</div>
              </template>
              <template #content v-else>
                <div>目前暂无信息</div>
              </template>
              <template #content v-if="items.area==11">
                <div>小托盘</div>
                <div>数量:{{ items.quantity }}</div>
              </template>
              <template #content v-if="items.area==10">
                <div>大托盘</div>
                <div>数量:{{ items.quantity }}</div>
              </template>
              <template #content v-if="items.area==12">
                <div v-if="item.tray_type=='SmallTray'">小托盘</div>
                <div v-else>大托盘</div>
                <div>数量:{{ items.quantity }}</div>
              </template>
              <div>{{ items.stationCode}}</div>
            </el-tooltip>
          </td>
        </tr>
      </table>
    </div>
  </div>
  </div>
</template>
<script>
import { ref, reactive } from 'vue'
export default {
  setup() {
  data() {
    return {
      visible: false,
      datalist:[]
    };
  },
  mounted() {
    this.$nextTick(() => {
      this.selList();
    });
  },
  methods: {
    selList(){
      this.http.post("/api/dt_stationinfo/dt_stationinfolist").then(x => {
        this.datalist = x.data;
        console.log(this.datalist)
                  })
      .catch(error => {
        console.error('请求出错:', error);
      });
    },
    getBackgroundColor(enable,locationState) {
      if (enable=='0') {
          return '#C0C4CC';
      }
      else{
        switch (locationState) {
        case 'Stroge':
        return '#409eff';
        case 'Empty':
          return 'lightgreen';
        case 'InBusy':
          return 'yellow';
        case 'OutBusy':
          return 'yellow';
        case 'Abnormal':
          return 'red';
        default:
          return 'transparent';
      }
      }
    }
  },
  computed: {
    filteredItems() {
      return (itemList, line) => {
        return itemList.filter(item => item.line === line);
      };
    }
  }
}
};
</script>
<style scoped>
.title {
  line-height: 70vh;
.table-container {
  overflow-x: auto;
}
.scrollable-table {
  width: 100%;
}
.one_tal {
  margin-top: 10px;
  padding: 5px;
  white-space: nowrap;
  border-spacing: 10px;
  padding-right: 500px;
}
.one_tal tr{
  margin-top: 10px;
  margin-bottom: 10px;
}
.one_tal td {
  width: 200px;
  height: 40px;
  background-color: rgb(36, 227, 241);
  text-align: center;
  font-size: 28px;
  color: orange;
  border-radius: 10px;
}
.table-container::-webkit-scrollbar {
  width: 1px;
  height: 15px;
}
.table-container::-webkit-scrollbar-track {
  background: transparent;
}
.table-container::-webkit-scrollbar-thumb {
  background-color: #ccc;
}
</style>