| | |
| | | <div class="lineButtonfix"> |
| | | <el-form label-position="left" label-width="80px"> |
| | | <el-form-item> |
| | | <el-button>写入</el-button> |
| | | <el-button @click="openDialog">设置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <el-form-item label="目的工位"> |
| | | <el-input v-model="deviceInfo.endLocatNo"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="托盘码"> |
| | | <el-input v-model="deviceInfo.palletNo"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="PLC"> |
| | | <el-input v-model="deviceInfo.plc"></el-input> |
| | | </el-form-item> |
| | |
| | | <div class="otherButtonfix"> |
| | | <el-form label-position="left"> |
| | | <el-form-item> |
| | | <el-button>写入</el-button> |
| | | <el-button @click="write(deviceInfo)">写入</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-main> |
| | | <setting ref="settingDialogRef" :title="title" v-model:listStationsData="listStationsData" v-model:stationValue="stationValue" /> |
| | | <setting ref="settingDialogRef" :title="title" v-model:listStationsData="listStationsData" |
| | | v-model:stationValue="stationValue" /> |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref, reactive } from 'vue'; |
| | | import { listWcsDevice } from '/@/api/wcs/wcsDevice'; |
| | | import { ref, onMounted } from 'vue'; |
| | | import { listWcsDevice, writeValue } from '/@/api/wcs/wcsDevice'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { listWcsPlc } from '/@/api/wcs/wcsPlc'; |
| | | |
| | | import { ElMessageBox, ElMessage } from 'element-plus'; |
| | | import setting from '/@/views/device/deviceMonitor/component/setting.vue' |
| | | import { signalR,stopConnection } from './signalR'; |
| | | //连接signalR 监听变更 |
| | | onMounted(async () => { |
| | | signalR.off('PublicPlcDevice'); |
| | | signalR.on('PublicPlcDevice', (data: any) => { |
| | | //todo 需要测试 |
| | | if (data.type == 0) { |
| | | var index = listStackingMachineData.value.findIndex(s => s.id == data.id); |
| | | if (index !== -1) { |
| | | listStackingMachineData.value.splice(index, 1, data); |
| | | } |
| | | } |
| | | else if (data.type == 1) { |
| | | lineOptions.value.forEach(s => { |
| | | var index = stations.value[s.id].findIndex(s => s.id == data.id); |
| | | if (index !== -1) { |
| | | stations.value[s.id].splice(index, 1, data); |
| | | } |
| | | }); |
| | | if (stationValue.value.id == data.id) { |
| | | stationValue.value = data; |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | const stations = ref<any>([]); |
| | | const listStationsData = ref<any>([]); |
| | |
| | | const openDialog = async () => { |
| | | settingDialogRef.value.openDialog(stationValue); |
| | | } |
| | | const write = async (row: any) => { |
| | | await writeValue(row); |
| | | ElMessage.success('写入成功!'); |
| | | } |
| | | // 查询操作 |
| | | const handleQuery = async () => { |
| | | var listplc = await listWcsPlc({ type: 1 }); |
| | | const listplc = await listWcsPlc({ type: 1 }); |
| | | lineOptions.value = listplc.data.result; |
| | | lineValue.value = listplc.data.result[0].id; |
| | | var res = await listWcsDevice(); |
| | | const res = await listWcsDevice(); |
| | | listStackingMachineData.value = res.data.result.filter(s => s.type == 0); |
| | | const listConveyorLineData = res.data.result.filter(s => s.type == 1); |
| | | listplc.data.result.forEach(s => { |
| | |
| | | listStationsData.value = stations.value[lineValue.value]; |
| | | stationValue.value = listStationsData.value[0]; |
| | | } |
| | | else { |
| | | listStationsData.value = []; |
| | | stationValue.value = { |
| | | stationNum: '', |
| | | taskNo: '', |
| | | taskType: '', |
| | | startLocatNo: '', |
| | | endLocatNo: '', |
| | | plc: '', |
| | | wcs: '', |
| | | status: false |
| | | }; |
| | | } |
| | | title.value = listStationsData.value[0].text; |
| | | }; |
| | | |