New file |
| | |
| | | <template> |
| | | <div class="wcsAlarmInfo-container"> |
| | | <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> |
| | | <template #header> |
| | | <div class="dialog-header"> |
| | | <span>{{ props.title }}</span> |
| | | </div> |
| | | </template> |
| | | |
| | | <el-card class="box-card" shadow="hover"> |
| | | <template #header> |
| | | <div class="card-header"> |
| | | |
| | | <div> |
| | | <span>工位号:</span> |
| | | <el-select v-model="stationValue" placeholder="请选择" filterable value-key="stationNum" |
| | | style="width: 200px;"> |
| | | <el-option v-for="item in listStationsData" :key="item.id" :label="item.stationNum" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button style="margin-left: 10px;">自动</el-button> |
| | | </div> |
| | | <div> |
| | | <div :class="['lineStatus', stationValue.status ? 'device-status-0' : 'device-status-1']"></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <div> |
| | | <el-form label-position="left" label-width="80px"> |
| | | <el-row :gutter="25"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="起始工位"> |
| | | <el-input v-model="stationValue.startLocatNo"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="目的工位"> |
| | | <el-input v-model="stationValue.endLocatNo"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="PLC"> |
| | | <el-input v-model="stationValue.plc"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="WCS"> |
| | | <el-input v-model="stationValue.wcs"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="取货排"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="放货排"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="取货列"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="放货列"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="取货层"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="放货层"> |
| | | <el-input ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div style="text-align: center;margin: 10px;"> |
| | | <el-button class="button" size="large">写入数据</el-button> |
| | | </div> |
| | | </div> |
| | | <template #footer> |
| | | <div class="card-footer"> |
| | | <el-button class="button" size="large">正 转</el-button> |
| | | <el-button class="button" size="large">反 转</el-button> |
| | | <el-button class="button" size="large">移栽上升</el-button> |
| | | <el-button class="button" size="large">移栽下降</el-button> |
| | | </div> |
| | | </template> |
| | | </el-card> |
| | | |
| | | <!-- <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="closeDialog" type="primary">关 闭</el-button> |
| | | </span> |
| | | </template> --> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref, defineModel } from 'vue'; |
| | | const listStationsData = defineModel<any>("listStationsData") |
| | | const stationValue = defineModel<any>("stationValue") |
| | | |
| | | const props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | default: '', |
| | | } |
| | | }); |
| | | // const emit = defineEmits<{ (e: "update:listStationsData", value: Array<any>): void, (e: "update:stationValue", value): void }>() |
| | | |
| | | // const handlestationChange = () => { |
| | | // emit('update:listStationsData', listStationsData.value); |
| | | // emit('update:stationValue', stationValue); |
| | | // }; |
| | | |
| | | const isShowDialog = ref(false); |
| | | |
| | | const openDialog = async (row: any) => { |
| | | console.log(listStationsData.value); |
| | | debugger; |
| | | isShowDialog.value = true; |
| | | }; |
| | | |
| | | const closeDialog = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | defineExpose({ openDialog }); |
| | | </script> |
| | | |
| | | <style> |
| | | .el-col { |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .card-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | color: #fff; |
| | | padding: 10px; |
| | | border-radius: 10px 10px 0 0; |
| | | } |
| | | |
| | | .card-footer { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .text { |
| | | font-size: 14px; |
| | | color: #fff; |
| | | } |
| | | |
| | | .item { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | .box-card { |
| | | width: 100%; |
| | | background: linear-gradient(135deg, #66ccff, #3399ff); |
| | | border-radius: 10px; |
| | | color: #fff; |
| | | } |
| | | |
| | | .dialog-footer { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | padding: 10px; |
| | | } |
| | | |
| | | .lineStatus { |
| | | right: 0; |
| | | height: 20px; |
| | | width: 20px; |
| | | border-radius: 50%; |
| | | background-color: #67C23A; |
| | | } |
| | | |
| | | .device-status-0 { |
| | | background-color: #67C23A; |
| | | } |
| | | |
| | | .device-status-1 { |
| | | background-color: red; |
| | | } |
| | | </style> |