| | |
| | | package com.jcdm.main.bs.formulaChild.domain; |
| | | |
| | | import lombok.Data; |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | import com.jcdm.common.annotation.Excel; |
| | |
| | | * @author ruimin |
| | | * @date 2023-12-26 |
| | | */ |
| | | @Data |
| | | public class BsFormulaChildInfo extends BaseEntity |
| | | { |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | |
| | | private String paramName; |
| | | |
| | | private String scanBarcode; |
| | | |
| | | private String sfcBarcode; |
| | | |
| | | |
| | | |
| | | public String getParamName() { |
| | | return paramName; |
| | | } |
| | |
| | | |
| | | @Override |
| | | public AjaxResult updateResults(BsFormulaChildInfo bsFormulaChildInfo) { |
| | | bsFormulaChildInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode().substring(1,2)); |
| | | List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo); |
| | | if(bsFormulaChildInfos.size()>0){ |
| | | bsFormulaChildInfos.get(0).setResults("OK"); |
| | | bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); |
| | | bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getMaterialCode()); |
| | | bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode()); |
| | | bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); |
| | | bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); |
| | | addParameterCollection(bsFormulaChildInfo); |
| | | }else { |
| | | return AjaxResult.error("非本工位物料,请重新扫描"); |
| | |
| | | daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue()); |
| | | daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode()); |
| | | daParamCollection.setCollectionTime(new Date()); |
| | | daParamCollection.setSfcCode(bsFormulaChildInfo.getSfcBarcode()); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | } |
| | | |
| | |
| | | @Excel(name = "默认值") |
| | | private String defaultValue; |
| | | |
| | | /** 产品型号 */ |
| | | @Excel(name = "产品型号") |
| | | private String productModel; |
| | | |
| | | |
| | | public String getProductModel() { |
| | | return productModel; |
| | | } |
| | | |
| | | public void setProductModel(String productModel) { |
| | | this.productModel = productModel; |
| | | } |
| | | |
| | | public String getProcessesName() { |
| | | return processesName; |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 拧紧参数增加 |
| | | */ |
| | | @PostMapping("/addTighteningParameters") |
| | | public void addTighteningParameters(@RequestBody DaParamCollection daParamCollection) |
| | | { |
| | | daParamCollectionService.addTighteningParameters(daParamCollection); |
| | | } |
| | | |
| | | /** |
| | | * 修改设备产品过程参数采集 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('main:paramCollection:edit')") |
| | |
| | | { |
| | | return toAjax(daParamCollectionService.deleteDaParamCollectionByIds(ids)); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import com.jcdm.common.annotation.Excel; |
| | | import com.jcdm.common.core.domain.BaseEntity; |
| | | import lombok.Data; |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 设备产品过程参数采集对象 da_param_collection |
| | |
| | | * @author yyt |
| | | * @date 2023-12-13 |
| | | */ |
| | | @Data |
| | | public class DaParamCollection extends BaseEntity |
| | | { |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | |
| | | private String productBarcode; |
| | | |
| | | private String tightenTheArray; |
| | | |
| | | private String productModel; |
| | | |
| | | public String getTightenTheArray() { |
| | | return tightenTheArray; |
| | | } |
| | | |
| | | public void setTightenTheArray(String tightenTheArray) { |
| | | this.tightenTheArray = tightenTheArray; |
| | | } |
| | | |
| | | public String getProductBarcode() { |
| | | return productBarcode; |
| | | } |
| | |
| | | public int deleteDaParamCollectionById(Long id); |
| | | |
| | | void addBasicParameters(DaParamCollection daParamCollection); |
| | | |
| | | void addTighteningParameters(DaParamCollection daParamCollection); |
| | | } |
| | |
| | | daParamCollectionMapper.insertDaParamCollection(saveData); |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void addTighteningParameters(DaParamCollection daParamCollection) { |
| | | String str = daParamCollection.getTightenTheArray(); |
| | | str = str.replace("[", "").replace("]", "").replace(" ", ""); |
| | | String[] parts = str.split(","); |
| | | String value1 = parts[0]; |
| | | String value2 = parts[2]; |
| | | |
| | | System.out.println("value1: " + value1); |
| | | System.out.println("value2: " + value2); |
| | | |
| | | // DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); |
| | | // daCollectionParamConf.setProductCode(daParamCollection.getProductCode()); |
| | | // daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); |
| | | // daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); |
| | | daParamCollectionMapper.insertDaParamCollection(daParamCollection); |
| | | } |
| | | } |
| | |
| | | * OP010 |
| | | */ |
| | | public static final String OP_OP010_RecordSN = "TestOP.OP1010.RecordSN";//请求下发SN号 |
| | | public static final String OP_OP230_RecordData = "TestOP.OP1010.RecordData";//请求记录数据 |
| | | public static final String OP_OP230_RecordData = "OP.OP230.RecordData";//请求记录数据 |
| | | |
| | | /** |
| | | * OP020 |
| | | */ |
| | | public static final String OP_OP240_RecordData = "TestOP.OP2020.RecordData";//请求记录数据 |
| | | public static final String OP_OP240_RecordData = "OP.OP240.RecordData";//请求记录数据 |
| | | |
| | | |
| | | |
| | |
| | | package com.jcdm.main.plcserver.sub; |
| | | |
| | | |
| | | import com.jcdm.framework.websocket.WebSocketUsers; |
| | | import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf; |
| | | import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.websocket.Session; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | |
| | | public class OPCUaSubscription implements SubscriptionCallback { |
| | | |
| | | public static MiloService miloService; |
| | | |
| | | Map<String, Session> map = WebSocketUsers.getUsers(); |
| | | |
| | | public IDaPassingStationCollectionService daPassingStationCollectionService; |
| | | |
| | |
| | | //记录数据完成 |
| | | String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone"; |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(recordDataDoneValue).build()); |
| | | }else{ |
| | | }else if("3".equals(tabVlaue)){ |
| | | String Torque = thoroughfare + "." + device + ".Torque"; |
| | | String Angle = thoroughfare + "." + device + ".Angle"; |
| | | String Result = thoroughfare + "." + device + ".Result"; |
| | | String Result1 = thoroughfare + "." + device + ".Result1"; |
| | | List<String> list = new ArrayList(); |
| | | list.add(Torque); |
| | | list.add(Angle); |
| | | list.add(Result); |
| | | list.add(Result1); |
| | | List<ReadWriteEntity> list1 = miloService.readFromOpcUa(list); |
| | | List<Object> collect = list1.stream().map(ReadWriteEntity::getValue).collect(Collectors.toList()); |
| | | String joinedString = String.join(",", collect.toString()); |
| | | WebSocketUsers.sendMessageToUserByText(map.get(device), joinedString); |
| | | }else { |
| | | System.out.println("^"); |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | <result property="demandDepartment" column="demand_department" /> |
| | | <result property="whetherToCollect" column="whether_to_collect" /> |
| | | <result property="defaultValue" column="default_value" /> |
| | | <result property="productModel" column="product_model" /> |
| | | |
| | | </resultMap> |
| | | |
| | | <sql id="selectDaCollectionParamConfVo"> |
| | | select id, processes_code, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4, processes_name, device, project, accuracy, array_length, acquisition_frequency, demand_department, whether_to_collect, default_value from da_collection_param_conf |
| | | select id, processes_code, product_model, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4, processes_name, device, project, accuracy, array_length, acquisition_frequency, demand_department, whether_to_collect, default_value from da_collection_param_conf |
| | | </sql> |
| | | |
| | | <select id="selectDaCollectionParamConfList" parameterType="DaCollectionParamConf" resultMap="DaCollectionParamConfResult"> |
| | |
| | | <if test="demandDepartment != null">demand_department,</if> |
| | | <if test="whetherToCollect != null">whether_to_collect,</if> |
| | | <if test="defaultValue != null">default_value,</if> |
| | | </trim> |
| | | <if test="productModel != null">product_model,</if> |
| | | |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | | <if test="processesCode != null">#{processesCode},</if> |
| | |
| | | <if test="demandDepartment != null">#{demandDepartment},</if> |
| | | <if test="whetherToCollect != null">#{whetherToCollect},</if> |
| | | <if test="defaultValue != null">#{defaultValue},</if> |
| | | </trim> |
| | | <if test="productModel != null">#{productModel},</if> |
| | | |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateDaCollectionParamConf" parameterType="DaCollectionParamConf"> |
| | |
| | | <if test="demandDepartment != null">demand_department = #{demandDepartment},</if> |
| | | <if test="whetherToCollect != null">whether_to_collect = #{whetherToCollect},</if> |
| | | <if test="defaultValue != null">default_value = #{defaultValue},</if> |
| | | <if test="productModel != null">product_model = #{productModel},</if> |
| | | |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | |
| | | }) |
| | | } |
| | | |
| | | // 新增设备产品过程参数采集 |
| | | export function addTighteningParameters(data) { |
| | | return request({ |
| | | url: '/main/paramCollection/addTighteningParameters', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 修改设备产品过程参数采集 |
| | | export function updateParamCollection(data) { |
| | | return request({ |
| | |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="工序" width="90" align="center" prop="processesCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品编号" width="150" align="center" prop="productCode"> |
| | | <el-table-column label="物料编号" width="150" align="center" prop="productCode"> |
| | | </el-table-column> |
| | | <el-table-column label="操作内容" :show-overflow-tooltip='true' width="150" align="center" prop="operationSteps"> |
| | | </el-table-column> |
| | |
| | | <el-table border v-loading="loading" :data="collectionParamConfList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <!-- <el-table-column label="主键id" align="center" prop="id" />--> |
| | | <!-- <el-table-column label="产品编码" align="center" width="150" prop="productCode">--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="产品编码" align="center" width="150" prop="productCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品型号" align="center" prop="productModel"> |
| | | </el-table-column> |
| | | <el-table-column label="工序编号" align="center" width="80" prop="processesCode"> |
| | | </el-table-column> |
| | | <el-table-column label="工序名称" width="150" align="center" prop="processesName"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="数组长度" align="center" prop="arrayLength"> |
| | | </el-table-column> |
| | | |
| | | |
| | | <!-- <el-table-column label="数据描述" align="center" width="160" prop="Descriptives"> |
| | | </el-table-column>--> |
| | | <el-table-column label="上限值" align="center" prop="paramUpper"> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="中心值" align="center" prop="paramCentral"> |
| | | </el-table-column> |
| | | |
| | | |
| | | |
| | | <el-table-column label="采集频率" width="107" align="center" prop="acquisitionFrequency"> |
| | | </el-table-column> |
| | | <el-table-column label="业务需求部门" width="155" align="center" prop="demandDepartment"> |
| | |
| | | acquisitionFrequency: null, |
| | | demandDepartment: null, |
| | | whetherToCollect: null, |
| | | defaultValue: null |
| | | defaultValue: null, |
| | | productModel: null |
| | | |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | |
| | | <el-table v-loading="loading" border :data="paramCollectionList" @selection-change="handleSelectionChange" v-if="paramCollectionList.length > 0"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="工单编号" width="150" align="center" prop="workOrderNo"></el-table-column> |
| | | <!-- <el-table-column label="总成序列号" align="center" width="140" prop="sfcCode" ></el-table-column>--> |
| | | <el-table-column label="产品序列号" align="center" width="150" prop="productCode"></el-table-column> |
| | | <el-table-column label="总成序列号" align="center" width="140" prop="sfcCode" ></el-table-column> |
| | | <el-table-column label="产品编号" align="center" width="150" prop="productCode"></el-table-column> |
| | | <!-- <el-table-column label="产线编号" align="center" prop="productionLine"></el-table-column>--> |
| | | <el-table-column label="工序编号" align="center" prop="locationCode"></el-table-column> |
| | | <!-- <el-table-column label="设备编号" align="center" prop="equipmentNo"></el-table-column>--> |
| | | <el-table-column label="参数编码" width="150" align="center" prop="paramCode"></el-table-column> |
| | | <el-table-column label="参数名称" width="150" align="center" prop="paramName"></el-table-column> |
| | | <el-table-column label="参数值" align="center" prop="paramValue"></el-table-column> |
| | | <el-table-column label="参数上限" align="center" prop="paramUpper"></el-table-column> |
| | | <el-table-column label="参数下限" align="center" prop="paramLower"></el-table-column> |
| | | <el-table-column label="参数值" width="160" align="center" prop="paramValue"></el-table-column> |
| | | <!-- <el-table-column label="参数上限" align="center" prop="paramUpper"></el-table-column> |
| | | <el-table-column label="参数下限" align="center" prop="paramLower"></el-table-column>--> |
| | | <el-table-column label="采集时间" align="center" prop="collectionTime" width="160"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" prop="state"></el-table-column> |
| | | <el-table-column label="参数名称" align="center" prop="paramName" width="150" ></el-table-column> |
| | | <!-- <el-table-column label="状态" align="center" prop="state"></el-table-column> |
| | | <el-table-column label="单位" align="center" prop="unit"></el-table-column> |
| | | <el-table-column label="类型" align="center" prop="type"></el-table-column> |
| | | <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width" > |
| | |
| | | v-hasPermi="['main:paramCollection:remove']" |
| | | >删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | </el-table> |
| | | <el-empty v-else> |
| | | <span slot="description">暂无数据</span> |
| | |
| | | <el-descriptions-item label="工单编号"> |
| | | <span>{{workpieceInformation.workOrderNo}}</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="产品序列号"> |
| | | <el-descriptions-item label="产品编号"> |
| | | <span>{{workpieceInformation.productCode}}</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="产品型号"> |
| | |
| | | import USBDevice from "@/utils/usb.json"; |
| | | import {listProductionOrde} from "@/api/main/om/productionOrde/productionOrde"; |
| | | import {addPassingStationCollection} from "@/api/main/da/passingStationCollection/passingStationCollection"; |
| | | import {addBasicParameters, addParamCollection} from "@/api/main/da/paramCollection/paramCollection"; |
| | | import { |
| | | addBasicParameters, |
| | | addParamCollection, |
| | | addTighteningParameters |
| | | } from "@/api/main/da/paramCollection/paramCollection"; |
| | | |
| | | export default { |
| | | name: "stationTerminal", |
| | |
| | | headContent: { |
| | | processesCode: 'OP1010', |
| | | processesName: '贴标机-贴码', |
| | | sfcCode: '10', |
| | | sfcCode: '', |
| | | }, |
| | | workpieceInformation: { |
| | | workOrderNo: null, |
| | |
| | | }, |
| | | content: '', |
| | | activeName: 'first', |
| | | url: "ws://192.168.11.134:8080/websocket/message/", |
| | | url: "ws://192.168.11.76:8080/websocket/message/", |
| | | message: "", |
| | | text_content: "", |
| | | ws: null, |
| | |
| | | title: "", |
| | | |
| | | passingStationForm: {}, |
| | | originalArray: [], |
| | | } |
| | | }, |
| | | beforeDestroy() { |
| | |
| | | }, |
| | | serialPortMethod(value){ |
| | | let formulaChildParams = { |
| | | materialCode: value, |
| | | scanBarcode: value, |
| | | sfcBarcode: this.headContent.sfcCode, |
| | | workOrderNo: this.workpieceInformation.workOrderNo, |
| | | productCode: this.workpieceInformation.productCode, |
| | | locationCode: this.headContent.processesCode, |
| | |
| | | alert("未连接到服务器"); |
| | | } |
| | | }, |
| | | async initStation(){ |
| | | initStation: async function () { |
| | | await getIpv4().then(response => { |
| | | this.StationConfQueryParams.ipAddress = response.msg |
| | | console.log('查询到本工位IP为'+this.StationConfQueryParams.ipAddress) |
| | | console.log('查询到本工位IP为' + this.StationConfQueryParams.ipAddress) |
| | | }); |
| | | await listStationConf(this.StationConfQueryParams).then(response => { |
| | | let rows = response.rows[0] |
| | | if(response.rows.length===0){ |
| | | if (response.rows.length === 0) { |
| | | this.$message('该工位没有配置IP,请联系管理员配置IP'); |
| | | return |
| | | } |
| | | this.headContent.processesName = rows.processesName |
| | | this.headContent.processesCode = rows.processesCode |
| | | console.log('设置工位编码'+this.headContent.processesCode) |
| | | console.log('设置工位编码' + this.headContent.processesCode) |
| | | |
| | | }); |
| | | console.log('websocket连接工位为'+this.headContent.processesCode) |
| | | console.log('websocket连接工位为' + this.headContent.processesCode) |
| | | const wsuri = this.url + this.headContent.processesCode; |
| | | this.ws = new WebSocket(wsuri); |
| | | const self = this; |
| | |
| | | }; |
| | | this.ws.onmessage = function (event) { |
| | | const DELAY_TIME = 2000; |
| | | switch (event.data) { |
| | | case "IN": |
| | | self.cakeLamp.InPlace = 1; |
| | | break; |
| | | case "IN0": |
| | | if (event.data === "IN") { |
| | | self.cakeLamp.InPlace = 1; |
| | | } else if (event.data === "IN0") { |
| | | self.cakeLamp.InPlace = 0; |
| | | } else if (event.data === "OUT") { |
| | | self.cakeLamp.release = 1; |
| | | setTimeout(() => { |
| | | self.cakeLamp.InPlace = 0; |
| | | break; |
| | | case "OUT": |
| | | self.cakeLamp.release = 1; |
| | | setTimeout(() => { |
| | | self.cakeLamp.InPlace = 0; |
| | | self.cakeLamp.release = 0; |
| | | self.cakeLamp.startWork = 0; |
| | | self.cakeLamp.scanFinish = 0; |
| | | self.Release(); |
| | | }, DELAY_TIME); |
| | | break; |
| | | case "TIGHTEN": |
| | | this.formulaChildList = []; |
| | | self.getListFormulaChild(); |
| | | break; |
| | | default: |
| | | break; |
| | | self.cakeLamp.release = 0; |
| | | self.cakeLamp.startWork = 0; |
| | | self.cakeLamp.scanFinish = 0; |
| | | self.Release(); |
| | | }, DELAY_TIME); |
| | | } else if (event.data === "TIGHTEN") { |
| | | this.formulaChildList = []; |
| | | self.getListFormulaChild(); |
| | | } else if (event.data.includes("[")) { |
| | | // 这里是 default 分支,如果需要执行某些操作,可以放在这里 |
| | | // console.log('接收到数据:', event.data) |
| | | // const arr = JSON.parse(event.data) |
| | | // console.log(arr) |
| | | const param = { |
| | | tightenTheArray: event.data, |
| | | workOrderNo: self.workpieceInformation.workOrderNo, |
| | | productCode: self.workpieceInformation.productCode, |
| | | locationCode: self.headContent.processesCode, |
| | | productBarcode: self.headContent.sfcCode, |
| | | } |
| | | addTighteningParameters(param).then(response => {}); |
| | | } |
| | | // switch (event.data) { |
| | | // case "IN": |
| | | // self.cakeLamp.InPlace = 1; |
| | | // break; |
| | | // case "IN0": |
| | | // self.cakeLamp.InPlace = 0; |
| | | // break; |
| | | // case "OUT": |
| | | // self.cakeLamp.release = 1; |
| | | // setTimeout(() => { |
| | | // self.cakeLamp.InPlace = 0; |
| | | // self.cakeLamp.release = 0; |
| | | // self.cakeLamp.startWork = 0; |
| | | // self.cakeLamp.scanFinish = 0; |
| | | // self.Release(); |
| | | // }, DELAY_TIME); |
| | | // break; |
| | | // case "TIGHTEN": |
| | | // this.formulaChildList = []; |
| | | // self.getListFormulaChild(); |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | }; |
| | | }, |
| | | |
| | | |
| | | //接受数据的回调 |
| | | callBack(value) { |
| | |
| | | } else { |
| | | console.log('字符串不包含字母"T"'); |
| | | this.headContent.sfcCode = scanValue; |
| | | this.queryParams.sfcCode = scanValue; |
| | | this.queryParams.productNum = scanValue; |
| | | this.getList() |
| | | // this.getListFormulaChild() |
| | | this.cakeLamp.scanFinish = 1 |
| | |
| | | </el-table-column> |
| | | <el-table-column label="订单编号" width="140" align="center" prop="salesOrderCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品序列号" width="110" align="center" prop="productCode"> |
| | | <el-table-column label="产品编号" width="110" align="center" prop="productCode"> |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" width="120" align="center" prop="productName"> |
| | | </el-table-column> |
| | | <el-table-column label="产品序列号" width="110" align="center" prop="productNum"> |
| | | </el-table-column> |
| | | <el-table-column label="产品型号" align="center" prop="productModel"> |
| | | </el-table-column> |
| | | <el-table-column label="工单状态" width="100" align="center" prop="orderStatus"> |