| | |
| | | import com.zy.asrs.domain.vo.*; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import com.zy.asrs.service.BasCircularShuttleService; |
| | | import com.zy.asrs.service.BasDevpPositionService; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.MainServiceImpl; |
| | | import com.zy.asrs.utils.NumUtils; |
| | | import com.zy.asrs.utils.Utils; |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private BasRgvErrMapper basRgvErrMapper; |
| | | @Autowired |
| | | private BasRgvErrLogService basRgvErrLogService; |
| | | @Autowired |
| | | private BasRgvOptService basRgvOptService; |
| | | @Autowired |
| | | private BasRgvService basRgvService; |
| | | @Autowired |
| | |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @PostMapping("/ring/through/task/wrk/mast/position/data/v1") |
| | | // @ManagerAuth(memo = "作业信息") |
| | | public R ringThroughTaskWrkMastV1(){ |
| | | List<BasRgvOpt> result = new ArrayList<>(); |
| | | for (int i = 1 ; i<11; i ++){ |
| | | BasRgvOpt basRgvOpt = basRgvOptService.selectOne(new EntityWrapper<BasRgvOpt>().eq("rgv_no", i).orderBy("id", false)); |
| | | if (basRgvOpt!=null){ |
| | | result.add(basRgvOpt); |
| | | } |
| | | } |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @PostMapping("/task/rgv/circular/shuttle/mast/position/data") |
| | | // @ManagerAuth(memo = "作业信息") |
| | | public R rgvCircularShuttle(){ |
| | |
| | | if (rgvCircularShuttleParam.getStatus()==0){ |
| | | rgvCircularShuttleParam.setStatus$(rgvProtocol.statusType.desc); |
| | | } |
| | | if (rgvCircularShuttleParam.getError()==0){ |
| | | rgvCircularShuttleParam.setError$(rgvProtocol.getAlarm$()); |
| | | if (rgvProtocol.getAlarmList().isEmpty()){ |
| | | rgvCircularShuttleParam.setError(0); |
| | | rgvCircularShuttleParam.setError$("-"); |
| | | } else { |
| | | StringBuilder alarmList = new StringBuilder(); |
| | | for (Integer alarm : rgvProtocol.getAlarmList()){ |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm); |
| | | alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "未知异常:"+alarm:rgvErr.getErrName()); |
| | | if (alarm.equals(rgvProtocol.getAlarmList().get(rgvProtocol.getAlarmList().size() - 1))){ |
| | | break; |
| | | } |
| | | alarmList.append("---"); |
| | | } |
| | | rgvCircularShuttleParam.setError$(alarmList.toString()); |
| | | } |
| | | } |
| | | } |
| | |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | @PostMapping("/task/rgv/circular/shuttle/mast/position/data/v1") |
| | | // @ManagerAuth(memo = "作业信息") |
| | | public R rgvCircularShuttleV1(){ |
| | | List<BasRgvErrLog> result = new ArrayList<>(); |
| | | for (int i = 1 ; i<11; i ++){ |
| | | BasRgvErrLog basRgvErrLog = basRgvErrLogService.selectOne(new EntityWrapper<BasRgvErrLog>().eq("rgv_no", i).orderBy("id", false)); |
| | | if (basRgvErrLog!=null){ |
| | | result.add(basRgvErrLog); |
| | | } |
| | | } |
| | | return R.ok().add(result); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/disable/rgv/status") |
| | | // @ManagerAuth(memo = "修改RGV状态") |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.mapper.BasRgvErrMapper; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @TableName("asr_bas_rgv_err_log") |
| | |
| | | |
| | | public BasRgvErrLog() {} |
| | | |
| | | public BasRgvErrLog(List<Integer> alarmLists , Short taskNo,Integer rgvNo) { |
| | | BasRgvErrMapper basRgvErrMapper = SpringUtils.getBean(BasRgvErrMapper.class); |
| | | StringBuilder alarmList = new StringBuilder(); |
| | | for (Integer alarm : alarmLists){ |
| | | BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm); |
| | | alarmList.append((rgvErr==null || rgvErr.getErrName()==null)? "未知异常:"+alarm:rgvErr.getErrName()); |
| | | if (alarm.equals(alarmLists.get(alarmLists.size() - 1))){ |
| | | this.errCode = alarm; |
| | | break; |
| | | } |
| | | alarmList.append("---"); |
| | | } |
| | | this.error = alarmList.toString(); |
| | | Date now = new Date(); |
| | | this.uuid = String.valueOf(now.getTime()); |
| | | this.wrkNo = taskNo.intValue(); |
| | | this.startTime = now; |
| | | this.endTime = now; |
| | | this.rgvNo = rgvNo; |
| | | this.status = 1; |
| | | this.createTime = now; |
| | | this.createBy = 9999L; |
| | | this.updateTime = now; |
| | | this.updateBy = 9999L; |
| | | this.memo = "异常自动记录"; |
| | | } |
| | | |
| | | public BasRgvErrLog(String uuid,Integer wrkNo,Date startTime,Date endTime,Long wrkSts,Integer ioType,Integer rgvNo,Integer plcNo,String locNo,Integer staNo,Integer sourceStaNo,String sourceLocNo,String barcode,Integer errCode,String error,Integer status,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { |
| | | this.uuid = uuid; |
| | | this.wrkNo = wrkNo; |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | import com.zy.core.enums.RgvTaskModeType; |
| | | import com.zy.core.model.command.RgvCommand; |
| | | import com.zy.core.model.protocol.RgvProtocol; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | |
| | | private String memo; |
| | | |
| | | public BasRgvOpt() {} |
| | | public BasRgvOpt(RgvProtocol rgvProtocol, RgvCommand command) { |
| | | Date now = new Date(); |
| | | this.wrkNo1 = rgvProtocol.getTaskNo1().intValue(); |
| | | this.rgvNo = rgvProtocol.getRgvNo(); |
| | | this.sendTime = now; |
| | | this.mode = command.getTaskModeType1().name(); |
| | | this.sourceSta = command.getSourceStaNo1().intValue(); |
| | | this.posSta = command.getDestinationStaNo1().intValue(); |
| | | this.updateTime = now; |
| | | this.updateBy = 9999L; |
| | | this.memo = "任务下发自动生成指令日志"; |
| | | } |
| | | public BasRgvOpt(RgvProtocol rgvProtocol, Long command) { |
| | | Date now = new Date(); |
| | | this.wrkNo1 = rgvProtocol.getTaskNo1().intValue(); |
| | | this.rgvNo = rgvProtocol.getRgvNo(); |
| | | this.sendTime = now; |
| | | this.mode = "取放货"; |
| | | this.sourceSta = rgvProtocol.getRgvPosI(); |
| | | this.posSta = command.intValue(); |
| | | this.updateTime = now; |
| | | this.updateBy = 9999L; |
| | | this.memo = "漫游任务触发"; |
| | | } |
| | | |
| | | public BasRgvOpt(Integer wrkNo1,Integer wrkNo2,Integer rgvNo,Date sendTime,String mode,Integer sourceRow,Integer sourceBay,Integer sourceLev,Integer sourceSta,Integer posRow,Integer posBay,Integer posLev,Integer posSta,Integer response,Date updateTime,Long updateBy,String memo) { |
| | | this.wrkNo1 = wrkNo1; |
| | |
| | | try { |
| | | // 间隔 |
| | | Thread.sleep(200); |
| | | System.out.println("开始:"+new Date().getTime()); |
| | | // System.out.println("开始:"+new Date().getTime()); |
| | | |
| | | // 系统运行状态判断 |
| | | if (!SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | |
| | | mainService.rgvCompleteWrkMastSta(autoZ); |
| | | //更新位置信息 |
| | | mainService.updateStePosition(); |
| | | System.out.println("结束:"+new Date().getTime()); |
| | | // System.out.println("结束:"+new Date().getTime()); |
| | | |
| | | |
| | | } catch (Exception e) { |
| | |
| | | import com.zy.core.enums.*; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/8/7 |
| | | */ |
| | |
| | | * 异常码 |
| | | */ |
| | | public Short alarm; |
| | | public List<Integer> alarmList = new ArrayList<>(); |
| | | |
| | | /** |
| | | * 心跳指令 1-2每秒切换一次 |
| | |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.entity.BasRgv; |
| | | import com.zy.asrs.entity.BasRgvErrLog; |
| | | import com.zy.asrs.entity.BasRgvOpt; |
| | | import com.zy.asrs.service.BasRgvErrLogService; |
| | | import com.zy.asrs.service.BasRgvOptService; |
| | | import com.zy.asrs.service.BasRgvService; |
| | | import com.zy.asrs.utils.NumUtils; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.text.MessageFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * RGV线程 |
| | |
| | | */ |
| | | private boolean resetFlag2 = false; |
| | | private boolean connectRgv = false; |
| | | private boolean alarmChangeSign = false; |
| | | |
| | | public RgvThread(RgvSlave slave) { |
| | | this.slave = slave; |
| | |
| | | break; |
| | | //工位1写入数据 |
| | | case 2: |
| | | write((RgvCommand) task.getData()); |
| | | RgvCommand command2 = (RgvCommand) task.getData(); |
| | | rgvOpt(command2); |
| | | write(command2); |
| | | break; |
| | | // 复位 |
| | | case 3: |
| | |
| | | command.setTaskMode1(RgvTaskModeType.NONE); // 任务模式 |
| | | command.setSourceStaNo1((short)0); // 源站 |
| | | command.setDestinationStaNo1((short)0); // 目标站 |
| | | rgvOpt(command); |
| | | write3(command); |
| | | break; |
| | | // 复位 |
| | | case 4: |
| | | RgvCommand command4 = (RgvCommand) task.getData(); |
| | | if (null == command4) { |
| | | command4 = new RgvCommand(); |
| | | } |
| | | command4.setRgvNo(slave.getId()); // RGV编号 |
| | | command4.setTaskNo1((short) 0); // 工作号 |
| | | command4.setAckFinish1((short) 1); // 任务完成确认位 |
| | | command4.setTaskMode1(RgvTaskModeType.X_MOVE); // 任务模式 |
| | | command4.setSourceStaNo1((short)0); // 源站 |
| | | command4.setDestinationStaNo1((short)0); // 目标站 |
| | | write3(command4); |
| | | break; |
| | | // 漫游 |
| | | case 5: |
| | | write5((Long) task.getData()); |
| | | Long aLong = (Long) task.getData(); |
| | | rgvOpt(aLong); |
| | | write5(aLong); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 20); |
| | | OperateResultExOne<byte[]> resultV = siemensNet.Read("DB20.16", (short) 2); |
| | | OperateResultExOne<byte[]> resultE = siemensNet.Read("DB20.26", (short) 2); |
| | | OperateResultExOne<byte[]> resultError = siemensNet.Read("DB13.0", (short) 13); |
| | | if (result.IsSuccess && resultV.IsSuccess && resultE.IsSuccess) { |
| | | if (null == rgvProtocol) { |
| | | rgvProtocol = new RgvProtocol(); |
| | |
| | | rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransUInt32(result.Content, 16)); |
| | | rgvProtocol.setInstantaneousSpeed(Double.valueOf(siemensNet.getByteTransform().TransInt16(resultV.Content, 0))); |
| | | rgvProtocol.setEndStaM(siemensNet.getByteTransform().TransInt16(resultE.Content, 0)); |
| | | boolean[] statusAlarmList = siemensNet.getByteTransform().TransBool(resultError.Content, 0, 13); |
| | | int alarmCount = 0; |
| | | List<Integer> alarmList = new ArrayList<>(); |
| | | for (boolean alarmSign : statusAlarmList){ |
| | | alarmCount++; |
| | | if (alarmSign){ |
| | | alarmList.add(alarmCount); |
| | | } |
| | | } |
| | | alarmChangeSign = new HashSet<>(alarmList).equals(new HashSet<>(rgvProtocol.getAlarmList())); |
| | | rgvProtocol.setAlarmList(alarmList); |
| | | |
| | | // rgvProtocol.setRgvPos((long)NumUtils.GetRandomIntInRange(1737000)); |
| | | OutputQueue.RGV.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId())); |
| | | |
| | | |
| | | try { |
| | | // 根据实时信息更新数据库 |
| | |
| | | if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){ |
| | | log.error("RGV plc数据库更新失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | } |
| | | try{ |
| | | if (!alarmChangeSign && !alarmList.isEmpty()){ |
| | | BasRgvErrLogService basRgvErrLogService = SpringUtils.getBean(BasRgvErrLogService.class); |
| | | BasRgvErrLog basRgvErrLog = new BasRgvErrLog(rgvProtocol.getAlarmList(), rgvProtocol.getTaskNo1(), rgvProtocol.getRgvNo()); |
| | | basRgvErrLogService.insert(basRgvErrLog); |
| | | } |
| | | } catch (Exception e){ |
| | | log.error("RGV异常信息保存失败!!"); |
| | | } |
| | | |
| | | } catch (Exception ignore) { |
| | | |
| | | } |
| | |
| | | /** |
| | | * 工位1写入数据 |
| | | */ |
| | | private void rgvOpt(RgvCommand command) { |
| | | try{ |
| | | BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class); |
| | | BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command); |
| | | basRgvOptService.insert(basRgvOpt); |
| | | }catch (Exception e){ |
| | | log.error("RGV写入命令保存失败!!"); |
| | | } |
| | | } |
| | | private void rgvOpt(Long command) { |
| | | try{ |
| | | BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class); |
| | | BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol, command); |
| | | basRgvOptService.insert(basRgvOpt); |
| | | }catch (Exception e){ |
| | | log.error("RGV写入命令保存失败!!"); |
| | | } |
| | | } |
| | | private boolean write(RgvCommand command) throws InterruptedException { |
| | | if (null == command) { |
| | | log.error("RGV写入命令为空"); |
| | |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-left1 { |
| | | position: fixed; |
| | | top: 8%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-right { |
| | | position: fixed; |
| | | top: 1%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 确保在其他元素之上 */ |
| | | } |
| | | |
| | | .task-bar-right1 { |
| | | position: fixed; |
| | | top: 5%; |
| | | /*transform: translateY(-50%);*/ |
| | | width: 25%; /* 设置宽度 */ |
| | | background-color: rgba(255, 255, 255, 0); /* 半透明背景 */ |
| | |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <div class="task-bar-left1 left-task-bar" > |
| | | <div> |
| | | <el-tooltip :content="'Switch value: ' + valueLeft1" placement="top"> |
| | | <el-switch |
| | | v-model="valueLeft1" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | active-value="100" |
| | | inactive-value="0"> |
| | | </el-switch> |
| | | </el-tooltip> |
| | | </div> |
| | | <div v-if="valueLeft1 === '100' " class="task-bar-div1"> |
| | | <el-table |
| | | :data="tableDataLeft1" |
| | | style="width: 100%" |
| | | :row-class-name="tableRowClassName"> |
| | | <el-table-column |
| | | prop="wrkNo1" |
| | | label="工作号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="rgvNo" |
| | | label="RGV号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="sendTime" |
| | | label="下发时间"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="mode" |
| | | label="类型"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="sourceSta" |
| | | label="起点"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="posSta" |
| | | label="终点"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- Right Task Bar --> |
| | | <div class="task-bar-right right-task-bar"> |
| | |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <div class="task-bar-right1 right-task-bar"> |
| | | <div> |
| | | <el-tooltip :content="'Switch value: ' + valueRight1" placement="top"> |
| | | <el-switch |
| | | v-model="valueRight1" |
| | | active-color="#13ce66" |
| | | inactive-color="#ff4949" |
| | | active-value="100" |
| | | inactive-value="0"> |
| | | </el-switch> |
| | | </el-tooltip> |
| | | </div> |
| | | <div v-if="valueRight1 === '100' " class="task-bar-div1"> |
| | | <el-table |
| | | :data="tableDataRight1" |
| | | style="width: 100%" |
| | | :row-class-name="tableRowClassName"> |
| | | <el-table-column |
| | | prop="rgvNo" |
| | | label="小车号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="error" |
| | | label="异常"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createTime$" |
| | | label="记录日期"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | |
| | | data: { |
| | | activeNames: ['1'], |
| | | valueLeft: '0', |
| | | valueLeft1: '0', |
| | | valueRight: '0', |
| | | valueRight1: '0', |
| | | licenseDay: '已过期', |
| | | licenseDayI: 100, |
| | | valueSystem: false, |
| | |
| | | tableDataDev: [], |
| | | energyGatheringRing: [], |
| | | tableDataLeft: [], |
| | | tableDataLeft1: [], |
| | | tableDataRight: [], |
| | | tableDataRight1: [], |
| | | devpPos1:[ |
| | | {dev_no: 116,pos:633980}, |
| | | {dev_no: 117,pos:604043}, |
| | |
| | | this.getTableDataDev() |
| | | this.getTableDataTrack() |
| | | this.getTableDataLeft() |
| | | this.getTableDataLeft1() |
| | | this.getTableDataRight() |
| | | this.getTableDataRight1() |
| | | this.getValueSystem() |
| | | this.getLicenseDays() |
| | | |
| | |
| | | this.getTableDataDev() |
| | | this.getTableDataTrack() |
| | | this.getTableDataLeft() |
| | | this.getTableDataLeft1() |
| | | this.getTableDataRight() |
| | | this.getTableDataRight1() |
| | | this.getValueSystem() |
| | | this.getLicenseDays() |
| | | |
| | |
| | | |
| | | if (val.length >= 1){ |
| | | this.handleChangeValueRight(1) |
| | | } |
| | | } |
| | | }, |
| | | handleChange1(val) { |
| | | console.log(val); |
| | | if (val.length === 0){ |
| | | valueRight1 = '0'; |
| | | } else { |
| | | console.log("2222"+val); |
| | | |
| | | if (val.length >= 1){ |
| | | this.handleChangeValueRight1(1) |
| | | } |
| | | } |
| | | }, |
| | |
| | | valueRight = '100'; |
| | | default: |
| | | valueRight = '0'; |
| | | } |
| | | }, |
| | | handleChangeValueRight1(val) { |
| | | console.log("33333"+val); |
| | | |
| | | switch (val){ |
| | | case 1: |
| | | valueRight1 = '100'; |
| | | case 2: |
| | | valueRight1 = '100'; |
| | | case 3: |
| | | valueRight1 = '100'; |
| | | case 4: |
| | | valueRight1 = '100'; |
| | | default: |
| | | valueRight1 = '0'; |
| | | } |
| | | }, |
| | | tableRowClassName({row, rowIndex}) { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataLeft1() { |
| | | let that = this; |
| | | $.ajax({ |
| | | url: baseUrl + "/rgv/ring/through/task/wrk/mast/position/data/v1", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: {}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'post', |
| | | success: function (res) { |
| | | that.tableDataLeft1 = res.data |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataRight() { |
| | | let that = this; |
| | | $.ajax({ |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataRight1() { |
| | | let that = this; |
| | | $.ajax({ |
| | | url: baseUrl + "/rgv/task/rgv/circular/shuttle/mast/position/data/v1", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | }, |
| | | data: {}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'post', |
| | | success: function (res) { |
| | | that.tableDataRight1 = res.data |
| | | } |
| | | }); |
| | | }, |
| | | getTableDataRgv() { |
| | | let that = this; |
| | | // that.tableDataRgv = busPsto |