jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java
@@ -1,11 +1,17 @@ package com.jcdm.main.bs.orderScheduling.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.jcdm.common.annotation.Excel; import com.jcdm.common.core.domain.BaseEntity; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.Date; import java.util.List; /** * 订åæ产对象 bs_order_scheduling @@ -13,6 +19,7 @@ * @author jiang * @date 2024-01-13 */ @Data public class BsOrderScheduling extends BaseEntity { private static final long serialVersionUID = 1L; @@ -146,6 +153,19 @@ @Excel(name = "CVTä¸çº¿æ¶é´") private Date cvtOfflineTime; @TableField(exist = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startQuery; @TableField(exist = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endQuery; @TableField(exist = false) private String queryField; public Date getBoxClosingOnlineTime() { return boxClosingOnlineTime; } jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
@@ -29,6 +29,9 @@ */ public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling); public Integer getProduceNumToday(BsOrderScheduling bsOrderScheduling); /** * æ¥è¯¢åç®±ä¸çº¿å表 * jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
@@ -7,10 +7,13 @@ import com.jcdm.main.da.opcuaconfig.init.BeanUtils; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import lombok.extern.slf4j.Slf4j; import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue; import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId; import java.time.Duration; import java.util.*; import java.util.stream.Collectors; @@ -20,11 +23,15 @@ public class MethodName { private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class); private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class); private IDaPassingStationCollectionService daPassingStationCollectionService = BeanUtils.getBean(IDaPassingStationCollectionService.class); private List<DataValue> s=null; public void getSn(String Node, String value) throws Exception { log.info(Node+":"+value); String[] parts = Node.split("[.]"); ClientHandler clientHandler=new ClientHandler(); NodeEntity SN_node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".SNCode").value("").type("").build(); String SNCode=clientHandler.read(SN_node); log.info("读åèç¹:{},ç»æ:{}", SN_node.getIdentifier(),SNCode); switch (value) { case "0": //åå§ NodeEntity node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("0").type("short").build(); @@ -34,28 +41,46 @@ case "1": //请æ±ä¸åè¿ç«ç¶æ NodeEntity node1= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("11").type("short").build(); Boolean out1=clientHandler.write(node1); DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); PassingStationCollection.setSfcCode(SNCode); PassingStationCollection.setLocationCode(parts[1]); PassingStationCollection.setInboundTime(new Date()); daPassingStationCollectionService.insertDaPassingStationCollection(PassingStationCollection); log.info("èç¹:{},ååºç»æ:{}", node1.getIdentifier(),out1); break; case "2": //请æ±è®°å½å·¥ä½æ°æ® List<DaCollectionParamConf> b; DaCollectionParamConf daCollectionParamConf=new DaCollectionParamConf(); daCollectionParamConf.setCollectParameterId(parts[0]+"."+parts[1]); daCollectionParamConf.setGatherAddress(parts[0]+"."+parts[1]); b=collectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf); List<NodeId> nodeId = b.stream().map(info -> { NodeId nodeid = new NodeId(2,info.getCollectParameterId()); NodeId nodeid = new NodeId(2,info.getGatherAddress()); return nodeid; }).collect(Collectors.toList()); List<DataValue> s=readValues(nodeId); //ä¿åPLCééæ°æ® for(int i=0;i<nodeId.size();i++) { DaParamCollection Config=new DaParamCollection(); Config.setParamCode(nodeId.get(i).getIdentifier().toString().split("[.]")[2]); Config.setLocationCode(nodeId.get(i).getIdentifier().toString().split("[.]")[1]); Config.setParamValue(s.get(i).getValue().getValue().toString()); Config.setSfcCode(SNCode); Config.setParamName(b.get(i).getGatherAddress()); daParamCollectionService.insertDaParamCollection(Config); } //æ´æ°åºç«æ¶é´ï¼è®¡ç®èæã DaPassingStationCollection PSC=new DaPassingStationCollection(); PSC.setSfcCode(SNCode); List<DaPassingStationCollection> LPSC=daPassingStationCollectionService.selectDaPassingStationCollectionList(PSC); if(LPSC != null && LPSC.size() > 0){ LPSC.get(0).setOutboundTime(new Date()); LPSC.get(0).setCollectionTime(new Date()); LPSC.get(0).setBeatTime(Long.toString(Math.abs(new Date().getTime() - LPSC.get(0).getInboundTime().getTime()))); daPassingStationCollectionService.updateDaPassingStationCollection(LPSC.get(0)); } //æ´æ°PLCèç¹ç¶æ NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build(); Boolean out2=clientHandler.write(node2); log.info("èç¹:{},ååºç»æ:{}", node2.getIdentifier(),out2); jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/common/Constants.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,5 @@ package com.jcdm.main.da.passingStationCollection.common; public final class Constants { } jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
@@ -3,7 +3,9 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.jcdm.common.core.domain.R; import com.jcdm.common.utils.DateUtils; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import org.springframework.security.access.prepost.PreAuthorize; @@ -48,6 +50,14 @@ return getDataTable(list); } @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')") @GetMapping("/getProduceNumToday") public R getProduceNumToday(String fieldName) { Integer num = daPassingStationCollectionService.getProduceNumToday(fieldName); return R.ok(num); } /** * æ¥è¯¢äº§åè¿ç«ééå表 */ jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
@@ -1,5 +1,6 @@ package com.jcdm.main.da.passingStationCollection.service; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import java.util.List; @@ -28,6 +29,14 @@ */ public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); /** * è·åé¦é¡µåæ¥ç´¯è®¡é产æ°æ® * @param fieldName bs * @return list */ public Integer getProduceNumToday(String fieldName); /** * æ°å¢äº§åè¿ç«éé * jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
@@ -1,13 +1,23 @@ package com.jcdm.main.da.passingStationCollection.service.impl; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import com.jcdm.common.constant.Constants; import com.jcdm.common.utils.DateUtils; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord; import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Service; /** @@ -24,6 +34,12 @@ @Autowired private RmRepairRecordMapper rmRepairRecordMapper; @Autowired private BsOrderSchedulingMapper bsOrderSchedulingMapper; @Autowired private IBsOrderSchedulingService bsOrderSchedulingService; /** * æ¥è¯¢äº§åè¿ç«éé @@ -50,6 +66,26 @@ } /** * è·åé¦é¡µåæ¥ç´¯è®¡é产æ°æ® * @param fieldName bs * @return list */ @Override public Integer getProduceNumToday(String fieldName) { BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); bsOrderScheduling.setQueryField(fieldName); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime startTime = LocalDate.now().atStartOfDay(); LocalDateTime endTime = LocalDate.now().plusDays(1).atStartOfDay(); String s1 = startTime.format(formatter); String s2 = endTime.format(formatter); bsOrderScheduling.setStartTime(s1); bsOrderScheduling.setEndTime(s2); return bsOrderSchedulingMapper.getProduceNumToday(bsOrderScheduling); } /** * æ°å¢äº§åè¿ç«éé * * @param daPassingStationCollection 产åè¿ç«éé jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
@@ -99,6 +99,10 @@ </if> </where> </select> <select id="getProduceNumToday" resultType="java.lang.Integer"> select count(*) from bs_order_scheduling where ${queryField} BETWEEN #{startTime} AND #{endTime} </select> <insert id="insertBsOrderScheduling" parameterType="BsOrderScheduling" useGeneratedKeys="true" keyProperty="id"> jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
@@ -9,6 +9,15 @@ }) } // è·åé¦é¡µåæ¥ç´¯è®¡é产æ°æ® export function getProduceNumToday(query) { return request({ url: '/da/passingStationCollection/getProduceNumToday', method: 'get', params: query }) } // æ¥è¯¢äº§åè¿ç«ééå表 export function insertRepairRecordByIds(query) { return request({ jcdm-ui/src/views/dashboard/PanelGroup.vue
@@ -1,234 +1,202 @@ <template> <el-card class="box-card"> <el-row :gutter="40" class="panel-group"> <el-card class="bottom-card"> <div slot="header" class="clearfix"> <span class="top2">åæ¥ç´¯è®¡äº§é</span> <span style="font-size: 20px;font-weight: bold">åæ¥ç´¯è®¡äº§é</span> </div> <el-row :gutter="40" class="panel-group"> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('newVisitis')"> <div class="card-panel-icon-wrapper icon-people"> <svg-icon icon-class="peoples" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> åç®±ä¸çº¿ </div> <count-to :start-val="0" :end-val="10200" :duration="2600" class="card-panel-num" /> </div> </div> </el-col> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('messages')"> <div class="card-panel-icon-wrapper icon-message"> <svg-icon icon-class="message" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> åç®±ä¸çº¿ </div> <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" /> </div> </div> </el-col> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('purchases')"> <div class="card-panel-icon-wrapper icon-money"> <svg-icon icon-class="money" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> æ»è£ ä¸çº¿ </div> <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" /> </div> </div> </el-col> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('shoppings')"> <div class="card-panel-icon-wrapper icon-shopping"> <svg-icon icon-class="shopping" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> æ»è£ ä¸çº¿ </div> <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> </div> </div> </el-col> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('shoppings')"> <div class="card-panel-icon-wrapper icon-shopping"> <svg-icon icon-class="shopping" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> CVTä¸çº¿ <div style="display: flex; margin-top: 20px; height: 80px;"> <div class="transition-box" style="background-color: limegreen"> <i class="el-icon-notebook-1"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px" class="nextLine">åç®±ä¸çº¿</span> <span class="nextLine">{{data1}}</span> </div> <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> </div> <div class="transition-box" style="background-color: cornflowerblue"> <i class="el-icon-setting"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px" class="nextLine">åç®±ä¸çº¿</span> <span class="nextLine">{{data2}}</span> </div> </div> <div class="transition-box" style="background-color: mediumpurple"> <i class="el-icon-s-unfold"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px">æ»è£ ä¸çº¿</span> <span class="nextLine">{{data3}}</span> </div> </div> <div class="transition-box" style="background-color: green"> <i class="el-icon-cpu"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px">æ»è£ ä¸çº¿</span> <span class="nextLine">{{data4}}</span> </div> </div> <div class="transition-box" style="background-color: orange"> <i class="el-icon-upload2"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px">CVTä¸çº¿</span> <span class="nextLine">{{data5}}</span> </div> </div> <div class="transition-box" style="background-color: darkslategray"> <i class="el-icon-finished"></i> <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider> <div> <span style="margin-left: 20px">CVTä¸çº¿</span> <span class="nextLine">{{data6}}</span> </div> </div> </div> </el-col> <el-col :span="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('shoppings')"> <div class="card-panel-icon-wrapper icon-shopping"> <svg-icon icon-class="shopping" class-name="card-panel-icon" /> </div> <div class="card-panel-description"> <div class="card-panel-text"> CVTä¸çº¿ </div> <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> </div> </div> </el-col> </el-row> </el-card> </el-row> </template> <script> import CountTo from 'vue-count-to' import { getProduceNumToday } from '@/api/main/da/passingStationCollection/passingStationCollection' export default { components: { CountTo }, data(){ return{ query1:'box_closing_online_time', data1:'', query2:'closing_box_offline_time', data2:'', query3:'final_assembly_launch_time', data3:'', query4:'final_assembly_offline_time', data4:'', query5:'cvt_launch_time', data5:'', query6:'cvt_offline_time', data6:'', } }, methods: { handleSetLineChartData(type) { this.$emit('handleSetLineChartData', type) }, getData1(){ getProduceNumToday({fieldName:this.query1}).then(response => { this.data1 = response.data; }); }, getData2(){ getProduceNumToday({fieldName:this.query2}).then(response => { this.data2 = response.data; }); }, getData3(){ getProduceNumToday({fieldName:this.query3}).then(response => { this.data3 = response.data; }); }, getData4(){ getProduceNumToday({fieldName:this.query4}).then(response => { this.data4 = response.data; }); }, getData5(){ getProduceNumToday({fieldName:this.query5}).then(response => { this.data5 = response.data; }); }, getData6(){ getProduceNumToday({fieldName:this.query6}).then(response => { this.data6 = response.data; }); } }, mounted() { this.getData1(), this.getData2(), this.getData3(), this.getData4(), this.getData5(), this.getData6() } } </script> <style lang="scss" scoped> //.bottom-card{ // padding: 15px 20px 20px 20px; // height: auto; // width: 1272px; // margin-left: 20px; // justify-content: center; // column-width: max-content; //} .top2{ font-size: 18px; font-weight: bold; margin-bottom: 0px; .transition-box { display: flex; align-items: center; margin-bottom: 10px; width: 200px; height: 80px; border-radius: 4px; text-align: center; color: #fff; padding: 40px 20px; box-sizing: border-box; margin-right: 10px; } .panel-group { width: 1442px; .card-panel-col { margin-bottom: 15px; } .card-panel { margin-left: -13px; width: 220px; height: 108px; cursor: pointer; font-size: 12px; position: relative; overflow: hidden; color: #666; background: #fff; box-shadow: 4px 4px 40px rgba(0, 0, 0, .05); border-color: rgba(0, 0, 0, .05); &:hover { .card-panel-icon-wrapper { color: #fff; } .icon-people { background: #40c9c6; } .icon-message { background: #36a3f7; } .icon-money { background: #f4516c; } .icon-shopping { background: #34bfa3 } } .icon-people { color: #40c9c6; } .icon-message { color: #36a3f7; } .icon-money { color: #f4516c; } .icon-shopping { color: #34bfa3 } .card-panel-icon-wrapper { float: left; margin: 14px 0 0 10px; padding: 16px; transition: all 0.38s ease-out; border-radius: 6px; } .card-panel-icon { float: left; font-size: 48px; } .card-panel-description { float: right; font-weight: bold; margin: 15px 30px 0 0; //margin-left: 0px; padding: 15px 15px; .card-panel-text { line-height: 14px; color: rgba(0, 0, 0, 0.45); font-size: 12px; margin-bottom: 9px; } .card-panel-num { font-size: 18px; } } } .bottom-card{ padding: 0px 10px 20px 10px; height: auto; width: 1292px; margin-left: 20px; justify-content: center; column-width: max-content; } .el-icon-notebook-1{ font-size: 40px; display: flex; justify-content: left; } .el-icon-setting{ font-size: 40px; display: flex; justify-content: left; } .el-icon-s-unfold{ font-size: 40px; display: flex; justify-content: left; } .el-icon-cpu{ font-size: 40px; display: flex; justify-content: left; } .el-icon-upload2 { font-size: 40px; display: flex; justify-content: left; } .el-icon-finished{ font-size: 40px; display: flex; justify-content: left; } .el-divider--vertical{ width:2px; height:40px; //æ´æ¹ç«ååå²çº¿é¿åº¦ vertical-align:middle; position:relative; } .nextLine{ display: block; margin-left: 20px; } @media (max-width:550px) { .card-panel-description { display: none; } .card-panel-icon-wrapper { float: none !important; width: 100%; height: 100%; margin: 0 !important; .svg-icon { display: block; margin: 14px auto !important; float: none !important; } } } </style> jcdm-ui/src/views/index.vue
@@ -1,23 +1,19 @@ <template> <div class="dashboard-editor-container"> <panel-group @handleSetLineChartData="handleSetLineChartData" /> <el-row style="margin-top: 12px" > <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;"> <panel-group style="margin-bottom: 10px" @handleSetLineChartData="handleSetLineChartData" /> <el-row style="background:#fff;padding:16px 16px 0; width: 1292px"> <el-col :xs="24" :sm="12"> <el-card> <pie-chart /> </el-card> <pie-chart /> </el-col> <el-col :xs="24" :sm="12"> <el-card> <line-chart :chart-data="lineChartData" /> </el-card> <line-chart :chart-data="lineChartData" /> </el-col> </el-row> </el-row> </div> </template> @@ -73,7 +69,7 @@ <style lang="scss" scoped> .dashboard-editor-container { padding: 32px; padding: 20px; background-color: rgb(240, 242, 245); position: relative; jcdm-ui/src/views/main/da/tileMatchRules/index.vue
@@ -10,38 +10,38 @@ @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="æ«ç 对象1" prop="scanObject1"> <el-input v-model="queryParams.scanObject1" placeholder="请è¾å ¥æ«ç 对象1" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="æ«ç 对象2" prop="scanObject2"> <el-input v-model="queryParams.scanObject2" placeholder="请è¾å ¥æ«ç 对象2" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="è½´å称" prop="axisName"> <el-input v-model="queryParams.axisName" placeholder="请è¾å ¥è½´å称" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="é¢å称" prop="neckName"> <el-input v-model="queryParams.neckName" placeholder="请è¾å ¥é¢å称" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <!-- <el-form-item label="æ«ç 对象1" prop="scanObject1">--> <!-- <el-input--> <!-- v-model="queryParams.scanObject1"--> <!-- placeholder="请è¾å ¥æ«ç 对象1"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="æ«ç 对象2" prop="scanObject2">--> <!-- <el-input--> <!-- v-model="queryParams.scanObject2"--> <!-- placeholder="请è¾å ¥æ«ç 对象2"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="è½´å称" prop="axisName">--> <!-- <el-input--> <!-- v-model="queryParams.axisName"--> <!-- placeholder="请è¾å ¥è½´å称"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="é¢å称" prop="neckName">--> <!-- <el-input--> <!-- v-model="queryParams.neckName"--> <!-- placeholder="请è¾å ¥é¢å称"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <el-form-item label="ç¦å称" prop="tileName"> <el-input v-model="queryParams.tileName" @@ -50,62 +50,62 @@ @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="è½´åæ°æ°ä½ç½®" prop="axisParameterNoPosition"> <el-input v-model="queryParams.axisParameterNoPosition" placeholder="请è¾å ¥è½´åæ°æ°ä½ç½®" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="é¢åæ°æ°ä½ç½®" prop="neckParameterPosition"> <el-input v-model="queryParams.neckParameterPosition" placeholder="请è¾å ¥é¢åæ°æ°ä½ç½®" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="è½´å¼" prop="axisValue"> <el-input v-model="queryParams.axisValue" placeholder="请è¾å ¥è½´å¼" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="é¢å¼" prop="neckValue"> <el-input v-model="queryParams.neckValue" placeholder="请è¾å ¥é¢å¼" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="ç¦é¢è²" prop="tileColor"> <el-input v-model="queryParams.tileColor" placeholder="请è¾å ¥ç¦é¢è²" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="å建ç¨æ·" prop="createUser"> <el-input v-model="queryParams.createUser" placeholder="请è¾å ¥å建ç¨æ·" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="æ´æ¹ç¨æ·" prop="updateUser"> <el-input v-model="queryParams.updateUser" placeholder="请è¾å ¥æ´æ¹ç¨æ·" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <!-- <el-form-item label="è½´åæ°æ°ä½ç½®" prop="axisParameterNoPosition">--> <!-- <el-input--> <!-- v-model="queryParams.axisParameterNoPosition"--> <!-- placeholder="请è¾å ¥è½´åæ°æ°ä½ç½®"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="é¢åæ°æ°ä½ç½®" prop="neckParameterPosition">--> <!-- <el-input--> <!-- v-model="queryParams.neckParameterPosition"--> <!-- placeholder="请è¾å ¥é¢åæ°æ°ä½ç½®"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="è½´å¼" prop="axisValue">--> <!-- <el-input--> <!-- v-model="queryParams.axisValue"--> <!-- placeholder="请è¾å ¥è½´å¼"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="é¢å¼" prop="neckValue">--> <!-- <el-input--> <!-- v-model="queryParams.neckValue"--> <!-- placeholder="请è¾å ¥é¢å¼"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="ç¦é¢è²" prop="tileColor">--> <!-- <el-input--> <!-- v-model="queryParams.tileColor"--> <!-- placeholder="请è¾å ¥ç¦é¢è²"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="å建ç¨æ·" prop="createUser">--> <!-- <el-input--> <!-- v-model="queryParams.createUser"--> <!-- placeholder="请è¾å ¥å建ç¨æ·"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <!-- <el-form-item label="æ´æ¹ç¨æ·" prop="updateUser">--> <!-- <el-input--> <!-- v-model="queryParams.updateUser"--> <!-- placeholder="请è¾å ¥æ´æ¹ç¨æ·"--> <!-- clearable--> <!-- @keyup.enter.native="handleQuery"--> <!-- />--> <!-- </el-form-item>--> <el-form-item label="ç¶æ" prop="state"> <el-input v-model="queryParams.state" @@ -170,14 +170,14 @@ <el-table border v-loading="loading" :data="tileMatchRulesList" @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="主é®id" align="center" prop="id" />--> <el-table-column label="产åç³»å" align="center" prop="productSeries"> </el-table-column> <el-table-column label="æ«ç 对象1" align="center" prop="scanObject1"> <el-table-column label="æ«ç 对象1" align="center" prop="scanObject1" width="100"> </el-table-column> <el-table-column label="æ«ç 对象2" align="center" prop="scanObject2"> <el-table-column label="æ«ç 对象2" align="center" prop="scanObject2" width="100"> </el-table-column> <el-table-column label="è½´å称" align="center" prop="axisName"> @@ -189,10 +189,10 @@ <el-table-column label="ç¦å称" align="center" prop="tileName"> </el-table-column> <el-table-column label="è½´åæ°æ°ä½ç½®" align="center" prop="axisParameterNoPosition"> <el-table-column label="è½´åæ°ä½ç½®" align="center" prop="axisParameterNoPosition" width="100"> </el-table-column> <el-table-column label="é¢åæ°æ°ä½ç½®" align="center" prop="neckParameterPosition"> <el-table-column label="é¢åæ°ä½ç½®" align="center" prop="neckParameterPosition" width="100"> </el-table-column> <el-table-column label="è½´å¼" align="center" prop="axisValue"> @@ -204,12 +204,12 @@ <el-table-column label="ç¦é¢è²" align="center" prop="tileColor"> </el-table-column> <el-table-column label="å建ç¨æ·" align="center" prop="createUser"> <!-- <el-table-column label="å建ç¨æ·" align="center" prop="createUser">--> </el-table-column> <el-table-column label="æ´æ¹ç¨æ·" align="center" prop="updateUser"> <!-- </el-table-column>--> <!-- <el-table-column label="æ´æ¹ç¨æ·" align="center" prop="updateUser">--> </el-table-column> <!-- </el-table-column>--> <el-table-column label="ç¶æ" align="center" prop="state"> </el-table-column> @@ -271,11 +271,11 @@ <el-form-item label="ç¦å称" prop="tileName"> <el-input v-model="form.tileName" placeholder="请è¾å ¥ç¦å称" /> </el-form-item> <el-form-item label="è½´åæ°æ°ä½ç½®" prop="axisParameterNoPosition"> <el-input v-model="form.axisParameterNoPosition" placeholder="请è¾å ¥è½´åæ°æ°ä½ç½®" /> <el-form-item label="è½´åæ°ä½ç½®" prop="axisParameterNoPosition"> <el-input v-model="form.axisParameterNoPosition" placeholder="请è¾å ¥è½´åæ°ä½ç½®" /> </el-form-item> <el-form-item label="é¢åæ°æ°ä½ç½®" prop="neckParameterPosition"> <el-input v-model="form.neckParameterPosition" placeholder="请è¾å ¥é¢åæ°æ°ä½ç½®" /> <el-form-item label="é¢åæ°ä½ç½®" prop="neckParameterPosition"> <el-input v-model="form.neckParameterPosition" placeholder="请è¾å ¥é¢åæ°ä½ç½®" /> </el-form-item> <el-form-item label="è½´å¼" prop="axisValue"> <el-input v-model="form.axisValue" placeholder="请è¾å ¥è½´å¼" />