| | |
| | | import com.zy.asrs.entity.BasRgv; |
| | | import com.zy.asrs.entity.BasRgvErr; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.WrkMastSta; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.WrkMastStaService; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.core.CrnThread; |
| | | import com.zy.core.RgvThread; |
| | |
| | | private MainServiceImpl mainService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private WrkMastStaService wrkMastStaService; |
| | | int wrkNo = 9990; |
| | | |
| | | |
| | |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | if (rgvProtocol.getTaskNo1() != 0){ |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>() |
| | | .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts, create_time as createTime") |
| | | .eq("wrk_No", rgvProtocol.getTaskNo1()) |
| | | |
| | | .orderBy("create_time", false) |
| | | |
| | | ); |
| | | if (!Cools.isEmpty(wrkMastSta)){ |
| | | vo.setWrkSts(wrkMastSta.getWrkSts()); |
| | | } |
| | | } |
| | | vo.setStatusType(rgvProtocol.modeType.desc); // 模式状态 |
| | | vo.setStatus(rgvProtocol.getStatusType1().desc); // 状态 |
| | | vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 工位1任务号 |
| | | vo.setRgvPos(rgvProtocol.getRgvPos()); |
| | | vo.setRgvPos(rgvProtocol.getCode()); |
| | | vo.setPakMk(rgvThread.isPakMk()?"无锁":"锁定"); |
| | | vo.setWalkPos(rgvProtocol.getAlarm() == 0?"正常":"报警"); |
| | | vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); |
| | | // vo.setStaNo(rgvProtocol.getSouSta().intValue()); |
| | | // vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); |
| | | vo.setList32(rgvProtocol.getList32()); |
| | | vo.setList33(rgvProtocol.getList33()); |
| | | vo.setList34(rgvProtocol.getList34()); |
| | | vo.setList35(rgvProtocol.getList35()); |
| | | if (rgvProtocol.getAlarm() > 0) { |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); |
| | | vo.setAlarm(rgvErr==null?"未知异常":rgvErr.getErrName()); |
| | |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | wrapper.orderBy("create_time",false); |
| | | return R.ok(wrkMastStaService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | package com.zy.asrs.domain.vo; |
| | | |
| | | import com.core.common.Cools; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | |
| | | |
| | | private String pakMk="-"; |
| | | |
| | | private boolean[] list32 = new boolean[10]; |
| | | private boolean[] list33 = new boolean[10]; |
| | | private boolean[] list34 = new boolean[10]; |
| | | private boolean[] list35 = new boolean[10]; |
| | | |
| | | private Integer wrkSts; |
| | | |
| | | |
| | | public String getWrkSts$() { |
| | | if (Cools.isEmpty(this.wrkSts)) { |
| | | try { |
| | | if (this.wrkSts==0){ |
| | | return "初始"; |
| | | } |
| | | }catch (Exception e){ |
| | | return ""; |
| | | } |
| | | return ""; |
| | | } |
| | | switch (this.wrkSts) { |
| | | case 0: |
| | | return "初始"; |
| | | case 1: |
| | | return "等待小车取"; |
| | | case 2: |
| | | return "等待小车放"; |
| | | case 3: |
| | | return "完成"; |
| | | default: |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | public interface BasRgvErrService extends IService<BasRgvErr> { |
| | | |
| | | BasRgvErr findLatest(int i); |
| | | } |
| | |
| | | @Service("basRgvErrService") |
| | | public class BasRgvErrServiceImpl extends ServiceImpl<BasRgvErrMapper, BasRgvErr> implements BasRgvErrService { |
| | | |
| | | @Override |
| | | public BasRgvErr findLatest(int i) { |
| | | return null; |
| | | } |
| | | } |
| | |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.core.CrnThread; |
| | | import com.zy.core.DevpThread; |
| | | import com.zy.core.RgvThread; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.*; |
| | |
| | | private FillingMastService fillingMastService; |
| | | @Autowired |
| | | private VacuumMastService vacuumMastService; |
| | | @Autowired |
| | | private BasErrLogService basErrLogService; |
| | | @Autowired |
| | | private WrkMastStaService wrkMastStaService; |
| | | @Autowired |
| | | private BasRgvErrService basRgvErrService; |
| | | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | |
| | | } |
| | | } |
| | | |
| | | public synchronized void recCrnErr() { |
| | | Date now = new Date(); |
| | | |
| | | // 获取堆垛机信息 |
| | | SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, 1); |
| | | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | if (rgvProtocol == null) { |
| | | return; |
| | | } |
| | | if (true) { |
| | | // if (crnProtocol.getModeType() != CrnModeType.STOP) { |
| | | // 有任务 |
| | | if (rgvProtocol.getTaskNo1() != 0) { |
| | | |
| | | BasErrLog latest = basErrLogService.findLatestByTaskNo(1, rgvProtocol.getTaskNo1()); |
| | | // 有异常 |
| | | if (latest == null) { |
| | | if (rgvProtocol.getAlarm() != null && rgvProtocol.getAlarm() > 0) { |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>() |
| | | .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts,wrk_start as wrkStart,wrk_end as wrkEnd, create_time as createTime") |
| | | .eq("wrk_No", rgvProtocol.getTaskNo1()) |
| | | .orderBy("create_time", false) |
| | | |
| | | ); |
| | | if (wrkMastSta == null) { |
| | | return; |
| | | } |
| | | BasRgvErr rgvErr = basRgvErrService.selectById(rgvProtocol.getAlarm()); |
| | | String errName = rgvErr == null ? String.valueOf(rgvProtocol.getAlarm()) : rgvErr.getErrName(); |
| | | BasErrLog basErrLog = new BasErrLog( |
| | | null, // 编号 |
| | | wrkMastSta.getWrkNo().intValue(), // 工作号 |
| | | now, // 发生时间 |
| | | null, // 结束时间 |
| | | wrkMastSta.getWrkSts().longValue(), // 工作状态 |
| | | wrkMastSta.getType(), // 入出库类型 |
| | | 1, // 堆垛机 |
| | | null, // plc |
| | | null, // 目标库位 |
| | | wrkMastSta.getWrkEnd(), // 目标站 |
| | | wrkMastSta.getWrkEnd(), // 源站 |
| | | null, // 源库位 |
| | | null, // 条码 |
| | | (int) rgvProtocol.getAlarm(), // 异常码 |
| | | errName, // 异常 |
| | | 1, // 异常情况 |
| | | now, // 添加时间 |
| | | null, // 添加人员 |
| | | now, // 修改时间 |
| | | null, // 修改人员 |
| | | "任务中异常" // 备注 |
| | | ); |
| | | if (!basErrLogService.insert(basErrLog)) { |
| | | |
| | | } |
| | | } |
| | | } else { |
| | | // 异常修复 |
| | | if (rgvProtocol.getAlarm() == null || rgvProtocol.getAlarm() == 0) { |
| | | latest.setEndTime(now); |
| | | latest.setUpdateTime(now); |
| | | latest.setStatus(2); |
| | | if (!basErrLogService.updateById(latest)) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | // 无任务 |
| | | } else { |
| | | BasErrLog latest = basErrLogService.findLatest(1); |
| | | |
| | | // 有异常 |
| | | if (rgvProtocol.getAlarm() != null && rgvProtocol.getAlarm() > 0) { |
| | | |
| | | // 记录新异常 |
| | | if (latest == null || (latest.getErrCode() != rgvProtocol.getAlarm().intValue())) { |
| | | BasRgvErr rgvErr = basRgvErrService.selectById(rgvProtocol.getAlarm()); |
| | | String errName = rgvErr == null ? String.valueOf(rgvProtocol.getAlarm()) : rgvErr.getErrName(); |
| | | BasErrLog basErrLog = new BasErrLog( |
| | | null, // 编号 |
| | | null, // 工作号 |
| | | now, // 发生时间 |
| | | null, // 结束时间 |
| | | null, // 工作状态 |
| | | null, // 入出库类型 |
| | | 1, // 堆垛机 |
| | | null, // plc |
| | | null, // 目标库位 |
| | | null, // 目标站 |
| | | null, // 源站 |
| | | null, // 源库位 |
| | | null, // 条码 |
| | | (int) rgvProtocol.getAlarm(), // 异常码 |
| | | errName, // 异常 |
| | | 1, // 异常情况 |
| | | now, // 添加时间 |
| | | null, // 添加人员 |
| | | now, // 修改时间 |
| | | null, // 修改人员 |
| | | "无任务异常" // 备注 |
| | | ); |
| | | if (!basErrLogService.insert(basErrLog)) { |
| | | |
| | | } |
| | | } |
| | | // 无异常 |
| | | } else { |
| | | // 异常修复 |
| | | if (latest != null && latest.getStatus() == 1) { |
| | | latest.setEndTime(now); |
| | | latest.setUpdateTime(now); |
| | | latest.setStatus(2); |
| | | if (!basErrLogService.updateById(latest)) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // News.infoNoLog(""+mark+" - 0"+" - 堆垛机异常信息记录执行完成"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | continue; |
| | | } |
| | | // 演示 |
| | | // mainService.getRgvTask(); |
| | | // mainService.RGVDemoShow0(); |
| | | // mainService.RGVDemoShow1(); |
| | | mainService.getRgvTask(); |
| | | mainService.RGVDemoShow0(); |
| | | mainService.RGVDemoShow1(); |
| | | mainService.RGVDemoShow2(); |
| | | //任务生成 |
| | | // 任务生成 |
| | | mainService.DevpTaskAndPut(); |
| | | //执行小车货物搬运任务 |
| | | mainService.rgvRunWrkMastFullSta(); |
| | | |
| | | mainService.recCrnErr(); |
| | | |
| | | |
| | | |
| | | } catch (Exception e) { |
| | |
| | | */ |
| | | public Short walkPos; |
| | | |
| | | public Integer code; |
| | | |
| | | ////////////////////// 工位2定义 ////////////////////////////////////////////////// |
| | | // /** |
| | | // * 工位2任务号 |
| | |
| | | */ |
| | | public Float xDuration; |
| | | |
| | | public boolean[] list32 = new boolean[10]; |
| | | |
| | | public boolean[] list33 = new boolean[10]; |
| | | |
| | | public boolean[] list34 = new boolean[10]; |
| | | |
| | | public boolean[] list35 = new boolean[10]; |
| | | |
| | | public void setMode(Short mode) { |
| | | this.mode = mode; |
| | | this.modeType = RgvModeType.get(mode); |
| | |
| | | return basRgv; |
| | | } |
| | | |
| | | public void setxSpeed(Short xSpeed) { |
| | | this.xSpeed = Float.valueOf(xSpeed); |
| | | } |
| | | // public void setxSpeed(Short xSpeed) { |
| | | // this.xSpeed = Float.valueOf(xSpeed); |
| | | // } |
| | | // |
| | | // public void setxDistance(Short xDistance) { |
| | | // this.xDistance = Float.valueOf(xDistance); |
| | | // } |
| | | |
| | | public void setxDistance(Short xDistance) { |
| | | this.xDistance = Float.valueOf(xDistance); |
| | | } |
| | | |
| | | public void setxDuration(Short xDuration) { |
| | | this.xDuration = Float.valueOf(xDuration); |
| | | } |
| | | // public void setxDuration(Short xDuration) { |
| | | // this.xDuration = Float.valueOf(xDuration); |
| | | // } |
| | | |
| | | public Integer getRgvPosI(){ |
| | | //需要根据现场改造 根据读到的值获取对应站点位置 |
| | |
| | | // rgvProtocol.setStatus2((short)-1); |
| | | // rgvProtocol.setLoaded2((short)0); |
| | | rgvProtocol.setAlarm((short)0); |
| | | rgvProtocol.setxSpeed((short) 0); |
| | | rgvProtocol.setxDistance((short) 0); |
| | | rgvProtocol.setxDuration((short) 0); |
| | | rgvProtocol.setXSpeed(0.0F); |
| | | rgvProtocol.setXDistance(0.0F); |
| | | rgvProtocol.setXDuration(0.0F); |
| | | rgvProtocol.setSouSta((short)0); |
| | | rgvProtocol.setEndSta((short)0); |
| | | rgvProtocol.setList32(new boolean[8]); |
| | | rgvProtocol.setRgvPos(8000); |
| | | } |
| | | |
| | | @Override |
| | |
| | | */ |
| | | private void readStatus(){ |
| | | try { |
| | | OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 30); |
| | | OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 36); |
| | | if (result.IsSuccess) { |
| | | if (null == rgvProtocol || rgvProtocol.getRgvNo() == null) { |
| | | rgvProtocol = new RgvProtocol(); |
| | |
| | | rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6)); |
| | | rgvProtocol.setRgvPos((int) siemensNet.getByteTransform().TransInt16(result.Content, 8)); |
| | | rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10)); |
| | | // rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12)); |
| | | // rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14)); |
| | | rgvProtocol.setCode(siemensNet.getByteTransform().TransInt32(result.Content, 12)); |
| | | rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 16)); |
| | | rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18)); |
| | | // rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20)); |
| | | rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 20)); |
| | | // rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24)); |
| | | // rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26)); |
| | | rgvProtocol.setXSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 20)); |
| | | rgvProtocol.setXDistance(siemensNet.getByteTransform().TransSingle(result.Content, 24)); |
| | | rgvProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 28)); |
| | | rgvProtocol.setList32(siemensNet.getByteTransform().TransBool(result.Content, 32, 1)); |
| | | rgvProtocol.setList33(siemensNet.getByteTransform().TransBool(result.Content, 33, 1)); |
| | | rgvProtocol.setList34(siemensNet.getByteTransform().TransBool(result.Content, 34, 1)); |
| | | rgvProtocol.setList35(siemensNet.getByteTransform().TransBool(result.Content, 35, 1)); |
| | | |
| | | |
| | | |
| | | |
| | | OutputQueue.RGV.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功", DateUtils.convert(new Date()), slave.getId())); |
| | |
| | | ,{field: 'endTime$', align: 'center',title: '结束时间'} |
| | | ,{field: 'wrkSts$', align: 'center',title: '任务状态'} |
| | | ,{field: 'ioType$', align: 'center',title: '入出库类型'} |
| | | ,{field: 'crnNo', align: 'center',title: '堆垛机'} |
| | | ,{field: 'crnNo', align: 'center',title: '设备号'} |
| | | ,{field: 'plcNo', align: 'center',title: 'plc', hide: true} |
| | | ,{field: 'locNo', align: 'center',title: '目标库位', hide: true} |
| | | ,{field: 'staNo', align: 'center',title: '目标站', hide: true} |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="crn_no" placeholder="堆垛机" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="crn_no" placeholder="设备号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | |
| | | <body> |
| | | <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> |
| | | <div style="width: 100%;" class="demo-container"> |
| | | |
| | | <el-card class="box-card" > |
| | | <div slot="header" class="clearfix"> |
| | | <span>设备位置</span> |
| | | </div> |
| | | <el-row > |
| | | <el-col :span="1" :offset="9"><div class="card-bg">7</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">5</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">3</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">1</div></el-col> |
| | | </el-row> |
| | | <el-row type="flex" justify="center"> |
| | | <el-col :span="7" > |
| | | <el-slider v-model="value1" :min="min" :max="max" :format-tooltip="formatTooltip" > |
| | | </el-slider> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | <el-row > |
| | | <el-col :span="1" :offset="8"><div class="card-bg">10</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">8</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">6</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg">4</div></el-col> |
| | | |
| | | <el-col :span="1" :offset="3"><div class="card-bg">2</div></el-col> |
| | | <el-col :span="1" ><div class="card-bg"></div></el-col> |
| | | |
| | | |
| | | </el-row> |
| | | </el-card> |
| | | </div> |
| | | <div style="width: 100%;"> |
| | | <el-table border ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick" |
| | | max-height="350" style="width: 100%"> |
| | | <el-table-column property="rgvNo" label="RGV号"> |
| | | </el-table-column> |
| | | <el-table-column property="workNo1" label="工作号"> |
| | | </el-table-column> |
| | | <el-table-column property="wrkSts$" label="任务状态"> |
| | | </el-table-column> |
| | | <el-table-column property="statusType" label="模式"> |
| | | </el-table-column> |
| | |
| | | <el-table-column property="walkPos" label="设备状态"> |
| | | </el-table-column> |
| | | <el-table-column property="pakMk" label="锁定状态"> |
| | | </el-table-column> |
| | | <el-table-column property="warnCode" label="异常代码"> |
| | | </el-table-column> |
| | | <el-table-column property="alarm" label="异常描述"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | </el-card> |
| | | </div> |
| | | <div style="width: 45%;"> |
| | | <el-card class="box-card"> |
| | | <el-card style="width: 100%;"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>设备状态</span> |
| | | </div> |
| | |
| | | <el-empty description="请选择设备"></el-empty> |
| | | </div> |
| | | <div v-else> |
| | | <el-descriptions :title="currentTitle" direction="vertical" :column="4" border> |
| | | <el-descriptions :title="currentTitle" direction="vertical" :column="8" border> |
| | | <el-descriptions-item label="RGV">{{ tableData[currentIndex].rgvNo }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="工作号"> |
| | |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="任务状态"> |
| | | |
| | | <el-tag>{{ tableData[currentIndex].status}}</el-tag> |
| | | <el-tag>{{ tableData[currentIndex].status}}</el-tag> |
| | | |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="设备状态"> |
| | | <el-tag>{{ tableData[currentIndex].walkPos }}</el-tag> |
| | | <el-descriptions-item label="前后极限"> |
| | | {{ tableData[currentIndex].list32[0]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="故障代码">{{ tableData[currentIndex].warnCode }} |
| | | <el-descriptions-item label="货叉中位1">{{ tableData[currentIndex].list32[1]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="故障描述">{{ tableData[currentIndex].alarm }} |
| | | <el-descriptions-item label="货叉中位2">{{ tableData[currentIndex].list32[2]}} |
| | | </el-descriptions-item> |
| | | <!-- <el-descriptions-item label="源站">{{ tableData[currentIndex].staNo }}--> |
| | | <!-- </el-descriptions-item>--> |
| | | <!-- <el-descriptions-item label="目标站">{{ tableData[currentIndex].sourceStaNo }}--> |
| | | <!-- </el-descriptions-item>--> |
| | | <el-descriptions-item label="货叉前极限">{{ tableData[currentIndex].list32[3]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="货叉后极限">{{ tableData[currentIndex].list32[4]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="行走强减速">{{ tableData[currentIndex].list32[5]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="急停">{{ tableData[currentIndex].list32[6]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="点动前进">{{ tableData[currentIndex].list32[7]}} |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label="点动后退">{{ tableData[currentIndex].list33[0]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="点动左伸">{{ tableData[currentIndex].list33[1]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="点动右伸">{{ tableData[currentIndex].list33[2]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="本地远程">{{ tableData[currentIndex].list33[3]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="复位">{{ tableData[currentIndex].list33[4]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="行走抱闸">{{ tableData[currentIndex].list33[5]}} |
| | | </el-descriptions-item> |
| | | |
| | | |
| | | <el-descriptions-item label="手动顶升">{{ tableData[currentIndex].list34[0]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="顶升上到位">{{ tableData[currentIndex].list34[1]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="顶升下到位">{{ tableData[currentIndex].list34[2]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="左超限">{{ tableData[currentIndex].list34[3]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="右超限">{{ tableData[currentIndex].list34[4]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="前凸出">{{ tableData[currentIndex].list34[5]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="后凸出">{{ tableData[currentIndex].list34[6]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="超高">{{ tableData[currentIndex].list34[7]}} |
| | | </el-descriptions-item> |
| | | |
| | | |
| | | <el-descriptions-item label="载货台有物">{{ tableData[currentIndex].list32[0]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="左探货1">{{ tableData[currentIndex].list32[1]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="左探货2">{{ tableData[currentIndex].list32[2]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="右探货1">{{ tableData[currentIndex].list32[3]}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="右探货2">{{ tableData[currentIndex].list32[4]}} |
| | | </el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | |
| | | </div> |
| | |
| | | } |
| | | ], |
| | | demo: 'X', |
| | | rgvMode: 0 |
| | | rgvMode: 0, |
| | | value1:50000, |
| | | min:8300, |
| | | max:75000 |
| | | }, |
| | | created() { |
| | | this.init() |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | formatTooltip(){ |
| | | return "RGV 1" |
| | | }, |
| | | staTova(sta,end){ |
| | | let that = this |
| | | that.$confirm('此操作存在风险,是否继续','提示',{ |
| | |
| | | method: 'post', |
| | | success: function (res) { |
| | | that.tableData = res.data |
| | | that.value1 = res.data[0].rgvPos |
| | | |
| | | } |
| | | }); |
| | | }, |
| | |
| | | } |
| | | }) |
| | | </script> |
| | | <style> |
| | | .el-slider__bar { |
| | | background-color: #e4e7ed; |
| | | } |
| | | .el-slider__button{ |
| | | width: 30px !important; |
| | | height: 30px !important; |
| | | border-radius: 2px !important; /* 关键属性 */ |
| | | border: 2px solid #409EFF !important; |
| | | |
| | | } |
| | | .el-slider__runway { |
| | | cursor: not-allowed !important; |
| | | pointer-events: none !important; |
| | | } |
| | | .card-bg{ |
| | | width: 100%; |
| | | height: 40px; |
| | | border-radius: 10px; |
| | | display: flex; |
| | | justify-content: center; /* 水平居中 */ |
| | | align-items: center; /* 垂直居中 */ |
| | | color: #f0f0f0; |
| | | background-color: #9d9d9d; |
| | | } |
| | | .el-slider { |
| | | transform: scaleX(-1); |
| | | } |
| | | /*.el-slider__button-wrapper {*/ |
| | | /* transform: scaleX(-1);*/ |
| | | /*}*/ |
| | | |
| | | </style> |
| | | </body> |
| | | |
| | | </html> |