hwh
2024-08-30 e9367782f0aba66b787adecd7584b1b23e5fd5bc
Web/src/views/device/deviceMonitor/index.vue
@@ -8,23 +8,17 @@
                </div>
                <div class="choosefix">
                    <el-select v-model="lineValue" placeholder="请选择">
                        <el-option
                        v-for="item in lineOptions"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                        <el-option v-for="item in lineOptions" :key="item.value" :label="item.label"
                            :value="item.value">
                        </el-option>
                    </el-select>
                    <el-select v-model="stationValue" placeholder="请选择" style="margin-top: 10px;">
                        <el-option
                        v-for="item in stationOptions"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
                        <el-option v-for="item in stationOptions" :key="item.value" :label="item.label"
                            :value="item.value">
                        </el-option>
                    </el-select>
                </div>
                <div class="lineValuefix" >
                <div class="lineValuefix">
                    <el-form label-position="left" label-width="60px">
                        <el-form-item label="任务号">
                            <el-input></el-input>
@@ -49,7 +43,7 @@
                <div class="lineButtonfix">
                    <el-form label-position="left" label-width="60px">
                        <el-form-item>
                            <el-button type="primary">写入</el-button>
                            <el-button>写入</el-button>
                            <el-button>设置</el-button>
                        </el-form-item>
                    </el-form>
@@ -61,9 +55,11 @@
                <el-card class="other-box-card" v-for="deviceInfo in deviceList" :key="deviceInfo.id">
                    <div slot="header" class="linefix">
                        <span>{{ deviceInfo.name }}</span>
                        <div :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]"></div>
                        <div
                            :class="['lineStatus', { 'device-status-0': deviceInfo.status === 0 }, { 'device-status-1': deviceInfo.status === 1 }]">
                        </div>
                    </div>
                    <div class="otherValuefix" >
                    <div class="otherValuefix">
                        <el-form label-position="left" label-width="60px">
                            <el-form-item label="任务号">
                                <el-input v-model="deviceInfo.taskNumber"></el-input>
@@ -85,7 +81,7 @@
                    <div class="otherButtonfix">
                        <el-form label-position="left">
                            <el-form-item>
                                <el-button type="primary">写入</el-button>
                                <el-button>写入</el-button>
                                <el-button>设置</el-button>
                            </el-form-item>
                        </el-form>
@@ -93,185 +89,203 @@
                </el-card>
            </div>
        </el-main>
    </el-container>
    </el-container>
</template>
  <script lang="ts" setup>
  import { ref, reactive } from 'vue';
  const lineOptions=[{
          value: '001',
          label: '一楼输送线'
        }, {
          value: '002',
          label: '二楼输送线'
        }, {
          value: '003',
          label: '三楼输送线'
    }];
  const lineValue='001';
<script lang="ts" setup>
import { ref, reactive } from 'vue';
  const stationOptions=[{
          value: '200',
          label: '200'
        }, {
          value: '202',
          label: '202'
        }, {
          value: '300',
          label: '300'
    }];
  const stationValue='200';
const lineOptions = [{
    value: '001',
    label: '一楼输送线'
}, {
    value: '002',
    label: '二楼输送线'
}, {
    value: '003',
    label: '三楼输送线'
}];
const lineValue = '001';
const stationOptions = [{
    value: '200',
    label: '200'
}, {
    value: '202',
    label: '202'
}, {
    value: '300',
    label: '300'
}];
const stationValue = '200';
  const deviceList=[
        {
          id: 1,
          name: '1号码垛机器人',
          taskNumber: 'T000001',
          taskType: '',
          plc: '',
          wcs: '',
          status: 0
        },
        {
          id: 2,
          name: '2号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 1
        },
        {
          id: 3,
          name: '3号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 0
        },{
          id: 4,
          name: '4号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 1
        },{
          id: 5,
          name: '5号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 0
        },{
          id: 6,
          name: '6号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 0
        },{
          id: 7,
          name: '7号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: ''
        },{
          id: 8,
          name: '8号码垛机器人',
          taskNumber: '',
          taskType: '',
          plc: '',
          wcs: '',
          status: 0
        }
      ]
  </script>
  <style scoped>
   .text {
        font-size: 14px;
const deviceList = [
    {
        id: 1,
        name: '1号码垛机器人',
        taskNumber: 'T000001',
        taskType: '',
        plc: '',
        wcs: '',
        status: 0
    },
    {
        id: 2,
        name: '2号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 1
    },
    {
        id: 3,
        name: '3号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 0
    }, {
        id: 4,
        name: '4号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 1
    }, {
        id: 5,
        name: '5号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 0
    }, {
        id: 6,
        name: '6号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 0
    }, {
        id: 7,
        name: '7号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: ''
    }, {
        id: 8,
        name: '8号码垛机器人',
        taskNumber: '',
        taskType: '',
        plc: '',
        wcs: '',
        status: 0
    }
]
</script>
    .item {
        margin-bottom: 18px;
    }
<style scoped>
.text {
    font-size: 14px;
}
    .linefix{
        border-bottom: 1px solid rgb(197, 195, 195);
        display: flex;
        align-items: center;
        height: 40px;
        position: relative;
    }
    .lineStatus{
        position: absolute;
        right: 0;
        float: right;
        height: 20px;
        width: 20px;
        border-radius: 20px;
        background-color: #67C23A;
    }
.item {
    margin-bottom: 18px;
}
    .choosefix{
        width: 100%;
        height: auto;
        padding: 10px;
        border-bottom: 1px solid rgb(197, 195, 195);
    }
    .box-card {
        width: 280px;
    }
    .lineValuefix{
        width: 100%;
        height: 500px;
        padding: 10px;
        border-bottom: 1px solid rgb(197, 195, 195);
    }
   .lineButtonfix{
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
    }
.linefix {
    border-bottom: 1px solid rgb(197, 195, 195);
    display: flex;
    align-items: center;
    height: 40px;
    position: relative;
}
    .otherValuefix{
        width: 100%;
        height: 220px;
        padding: 10px;
        border-bottom: 1px solid rgb(197, 195, 195);
    }
.lineStatus {
    position: absolute;
    right: 0;
    float: right;
    height: 20px;
    width: 20px;
    border-radius: 20px;
    background-color: #67C23A;
}
    .card-container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
    }
.choosefix {
    width: 100%;
    height: auto;
    padding: 10px;
    border-bottom: 1px solid rgb(197, 195, 195);
}
    .other-box-card {
        box-sizing: border-box;
    }
    .otherButtonfix{
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }
    .device-status-0{
        background-color: #67C23A;
    }
    .device-status-1{
        background-color: red;
    }
  </style>
.box-card {
    width: 280px;
}
.lineValuefix {
    width: 100%;
    height: 500px;
    padding: 10px;
    border-bottom: 1px solid rgb(197, 195, 195);
}
.lineButtonfix {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
}
.otherValuefix {
    width: 100%;
    height: 220px;
    padding: 10px;
    border-bottom: 1px solid rgb(197, 195, 195);
}
.card-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.other-box-card {
    box-sizing: border-box;
}
.otherButtonfix {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.device-status-0 {
    background-color: #67C23A;
}
.device-status-1 {
    background-color: red;
}
.box-card,
.other-box-card {
    background: linear-gradient(135deg, #66ccff, #3399ff);
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    color: #fff;
}
.linefix span {
    color: #fff;
}
</style>