春风项目四线(合箱线、总装线)
yyt
2024-01-23 054abe8ddf6a5ed24cefdb38f4175fb083fd79cd
更新OPCUA
已删除1个文件
已修改10个文件
1034 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/OpcuaConf.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/mapper/DaOpcuaConfigMapper.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/service/IDaOpcuaConfigService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/service/impl/DaOpcuaConfigServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/da/opcuaconfig/DaOpcuaConfigMapper.xml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/api/main/da/opcuaconfig/opcuaconfig.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/components/itemSelect/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/da/opcuaconfig/index.vue 479 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java
@@ -166,7 +166,7 @@
                .findAny()
                .orElse(null);
        try {
            Class<?> clazz = Class.forName(daOpcuaConfig.getrModule());
            Class<?> clazz = Class.forName("com.jcdm.main.da.opcuaconfig.cert.MethodName");
            Method method = clazz.getMethod(daOpcuaConfig.getrFunction(), new Class[] { String.class, String.class });
            method.invoke(clazz.newInstance(),new Object[] {
                    new String(id.getIdentifier().toString()), new String(value.getValue().toString()) });
@@ -219,29 +219,6 @@
        return statusCode.isGood();
    }
    /**
     * æ–¹æ³•æè¿°: è¯»å–多个点位的值
     *
     * @param keys ç‚¹ä½é›†åˆ
     * @return {@link List<DataValue>}
     * @throws
     */
//    public static List<DataValue> readValues2(Set<String> keys){
//        List<NodeId> nodeIdList=new ArrayList<>(500);
//        keys.forEach(e->{
//            NodeId nodeId = new NodeId(2, e);
//            nodeIdList.add(nodeId);
//        });
//        try {
//            List<DataValue> dataValues=client.readValues(0.0, TimestampsToReturn.Both,nodeIdList).get();
//            return dataValues;
//        } catch (InterruptedException | ExecutionException e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
    /**
     * æ–¹æ³•æè¿°: è¯»å–多个点位的值
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java
@@ -1,26 +1,32 @@
package com.jcdm.main.da.opcuaconfig.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.core.controller.BaseController;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.core.page.TableDataInfo;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import com.jcdm.common.core.page.TableDataInfo;
/**
 * OPCUA参数设置Controller
 * äº¤äº’信号配置Controller
 * 
 * @author yyt
 * @date 2023-12-22
 * @date 2024-01-22
 */
@RestController
@RequestMapping("/da/opcuaconfig")
@@ -29,11 +35,8 @@
    @Autowired
    private IDaOpcuaConfigService daOpcuaConfigService;
    @Autowired
    private IDaParamCollectionService daParamCollectionService;
    /**
     * æŸ¥è¯¢OPCUA参数设置列表
     * æŸ¥è¯¢äº¤äº’信号配置列表
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:list')")
    @GetMapping("/list")
@@ -44,28 +47,21 @@
        return getDataTable(list);
    }
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:getconfig')")
    @GetMapping("/getconfig")
    public List<DaOpcuaConfig> getconfig(DaOpcuaConfig daOpcuaConfig)
    {
        return daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig);
    }
    /**
     * å¯¼å‡ºOPCUA参数设置列表
     * å¯¼å‡ºäº¤äº’信号配置列表
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:export')")
    @Log(title = "OPCUA参数设置", businessType = BusinessType.EXPORT)
    @Log(title = "交互信号配置", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, DaOpcuaConfig daOpcuaConfig)
    {
        List<DaOpcuaConfig> list = daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig);
        ExcelUtil<DaOpcuaConfig> util = new ExcelUtil<DaOpcuaConfig>(DaOpcuaConfig.class);
        util.exportExcel(response, list, "OPCUA参数设置数据");
        util.exportExcel(response, list, "交互信号配置数据");
    }
    /**
     * èŽ·å–OPCUA参数设置详细信息
     * èŽ·å–交互信号配置详细信息
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')")
    @GetMapping(value = "/{id}")
@@ -75,10 +71,10 @@
    }
    /**
     * æ–°å¢žOPCUA参数设置
     * æ–°å¢žäº¤äº’信号配置
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:add')")
    @Log(title = "OPCUA参数设置", businessType = BusinessType.INSERT)
    @Log(title = "交互信号配置", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody DaOpcuaConfig daOpcuaConfig)
    {
@@ -86,10 +82,10 @@
    }
    /**
     * ä¿®æ”¹OPCUA参数设置
     * ä¿®æ”¹äº¤äº’信号配置
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:edit')")
    @Log(title = "OPCUA参数设置", businessType = BusinessType.UPDATE)
    @Log(title = "交互信号配置", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DaOpcuaConfig daOpcuaConfig)
    {
@@ -97,10 +93,10 @@
    }
    /**
     * åˆ é™¤OPCUA参数设置
     * åˆ é™¤äº¤äº’信号配置
     */
    @PreAuthorize("@ss.hasPermi('da:opcuaconfig:remove')")
    @Log(title = "OPCUA参数设置", businessType = BusinessType.DELETE)
    @Log(title = "交互信号配置", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/DaOpcuaConfig.java
@@ -1,15 +1,15 @@
package com.jcdm.main.da.opcuaconfig.domain;
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
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;
/**
 * OPCUA参数设置对象 da_opcua_config
 * äº¤äº’信号配置对象 da_opcua_config
 * 
 * @author yyt
 * @date 2023-12-22
 * @date 2024-01-22
 */
public class DaOpcuaConfig extends BaseEntity
{
@@ -18,41 +18,46 @@
    /** ID */
    private Long id;
    /** æ‰€å±žæ¨¡å— */
    @Excel(name = "所属模块")
    private String module;
    /** $column.columnComment */
    /** èŠ‚点 */
    @Excel(name = "节点")
    private String node;
    /** é•¿åº¦ */
    @Excel(name = "长度")
    /** $column.columnComment */
    private Long length;
    /** ç±»åž‹ */
    @Excel(name = "类型")
    /** æ•°æ®ç±»åž‹ */
    @Excel(name = "数据类型")
    private String sysTypes;
    /** åŠŸèƒ½è¯´æ˜Ž */
    @Excel(name = "功能说明")
    /** $column.columnComment */
    private String functionality;
    /** æ˜¯å¦è®¢é˜… */
    @Excel(name = "是否订阅")
    private Long subscribe;
    /** è®¢é˜…响应模块 */
    @Excel(name = "订阅响应模块")
    private String rModule;
    /** è®¢é˜…响应函数 */
    @Excel(name = "订阅响应函数")
    /** è®¢é˜…类型 */
    @Excel(name = "订阅类型")
    private String rFunction;
    /** å¤‡æ³¨ */
    @Excel(name = "备注")
    private String remarks;
    /** å·¥åºç¼–码 */
    @Excel(name = "工序编码")
    private String process;
    /** å·¥åºåç§° */
    @Excel(name = "工序名称")
    private String processName;
    /** çŠ¶æ€ */
    @Excel(name = "状态")
    private Long state;
    public void setId(Long id) 
    {
@@ -63,15 +68,7 @@
    {
        return id;
    }
    public void setModule(String module)
    {
        this.module = module;
    }
    public String getModule()
    {
        return module;
    }
    public void setNode(String node) 
    {
        this.node = node;
@@ -81,33 +78,12 @@
    {
        return node;
    }
    public void setLength(Long length)
    {
        this.length = length;
    }
    public Long getLength()
    {
        return length;
    }
    public void setSysTypes(String sysTypes)
    {
        this.sysTypes = sysTypes;
    }
    public String getSysTypes() 
    {
        return sysTypes;
    }
    public void setFunctionality(String functionality)
    {
        this.functionality = functionality;
    }
    public String getFunctionality()
    {
        return functionality;
    }
    public void setSubscribe(Long subscribe) 
    {
        this.subscribe = subscribe;
@@ -116,19 +92,6 @@
    public Long getSubscribe() 
    {
        return subscribe;
    }
    public void setrModule(String rModule)
    {
        this.rModule = rModule;
    }
    public String getrModule()
    {
        return rModule;
    }
    public void setrFunction(String rFunction)
    {
        this.rFunction = rFunction;
    }
    public String getrFunction() 
@@ -144,20 +107,46 @@
    {
        return remarks;
    }
    public void setProcess(String process)
    {
        this.process = process;
    }
    public String getProcess()
    {
        return process;
    }
    public void setProcessName(String processName)
    {
        this.processName = processName;
    }
    public String getProcessName()
    {
        return processName;
    }
    public void setState(Long state)
    {
        this.state = state;
    }
    public Long getState()
    {
        return state;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("module", getModule())
            .append("node", getNode())
            .append("length", getLength())
            .append("sysTypes", getSysTypes())
            .append("functionality", getFunctionality())
            .append("subscribe", getSubscribe())
            .append("rModule", getrModule())
            .append("rFunction", getrFunction())
            .append("remarks", getRemarks())
            .append("process", getProcess())
            .append("processName", getProcessName())
            .append("state", getState())
            .toString();
    }
}
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/domain/OpcuaConf.java
ÎļþÒÑɾ³ý
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/mapper/DaOpcuaConfigMapper.java
@@ -5,55 +5,55 @@
import java.util.List;
/**
 * OPCUA参数设置Mapper接口
 * äº¤äº’信号配置Mapper接口
 * 
 * @author yyt
 * @date 2023-12-22
 * @date 2024-01-22
 */
public interface DaOpcuaConfigMapper 
{
    /**
     * æŸ¥è¯¢OPCUA参数设置
     * æŸ¥è¯¢äº¤äº’信号配置
     * 
     * @param id OPCUA参数设置主键
     * @return OPCUA参数设置
     * @param id äº¤äº’信号配置主键
     * @return äº¤äº’信号配置
     */
    public DaOpcuaConfig selectDaOpcuaConfigById(Long id);
    /**
     * æŸ¥è¯¢OPCUA参数设置列表
     * æŸ¥è¯¢äº¤äº’信号配置列表
     * 
     * @param daOpcuaConfig OPCUA参数设置1
     * @return OPCUA参数设置集合
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return äº¤äº’信号配置集合
     */
    public List<DaOpcuaConfig> selectDaOpcuaConfigList(DaOpcuaConfig daOpcuaConfig);
    /**
     * æ–°å¢žOPCUA参数设置99
     * æ–°å¢žäº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    public int insertDaOpcuaConfig(DaOpcuaConfig daOpcuaConfig);
    /**
     * ä¿®æ”¹OPCUA参数设置
     * ä¿®æ”¹äº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    public int updateDaOpcuaConfig(DaOpcuaConfig daOpcuaConfig);
    /**
     * åˆ é™¤OPCUA参数设置
     * åˆ é™¤äº¤äº’信号配置
     * 
     * @param id OPCUA参数设置主键
     * @param id äº¤äº’信号配置主键
     * @return ç»“æžœ
     */
    public int deleteDaOpcuaConfigById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤OPCUA参数设置
     * æ‰¹é‡åˆ é™¤äº¤äº’信号配置
     * 
     * @param ids éœ€è¦åˆ é™¤çš„数据主键集合
     * @return ç»“æžœ
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/service/IDaOpcuaConfigService.java
@@ -5,57 +5,57 @@
import java.util.List;
/**
 * OPCUA参数设置Service接口
 * äº¤äº’信号配置Service接口
 * 
 * @author yyt
 * @date 2023-12-22
 * @date 2024-01-22
 */
public interface IDaOpcuaConfigService 
{
    /**
     * æŸ¥è¯¢OPCUA参数设置
     * æŸ¥è¯¢äº¤äº’信号配置
     * 
     * @param id OPCUA参数设置主键
     * @return OPCUA参数设置
     * @param id äº¤äº’信号配置主键
     * @return äº¤äº’信号配置
     */
    public DaOpcuaConfig selectDaOpcuaConfigById(Long id);
    /**
     * æŸ¥è¯¢OPCUA参数设置列表
     * æŸ¥è¯¢äº¤äº’信号配置列表
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @return OPCUA参数设置集合
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return äº¤äº’信号配置集合
     */
    public List<DaOpcuaConfig> selectDaOpcuaConfigList(DaOpcuaConfig daOpcuaConfig);
    /**
     * æ–°å¢žOPCUA参数设置
     * æ–°å¢žäº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    public int insertDaOpcuaConfig(DaOpcuaConfig daOpcuaConfig);
    /**
     * ä¿®æ”¹OPCUA参数设置
     * ä¿®æ”¹äº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    public int updateDaOpcuaConfig(DaOpcuaConfig daOpcuaConfig);
    /**
     * æ‰¹é‡åˆ é™¤OPCUA参数设置
     * æ‰¹é‡åˆ é™¤äº¤äº’信号配置
     * 
     * @param ids éœ€è¦åˆ é™¤çš„OPCUA参数设置主键集合
     * @param ids éœ€è¦åˆ é™¤çš„交互信号配置主键集合
     * @return ç»“æžœ
     */
    public int deleteDaOpcuaConfigByIds(Long[] ids);
    /**
     * åˆ é™¤OPCUA参数设置信息
     * åˆ é™¤äº¤äº’信号配置信息
     * 
     * @param id OPCUA参数设置主键
     * @param id äº¤äº’信号配置主键
     * @return ç»“æžœ
     */
    public int deleteDaOpcuaConfigById(Long id);
jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/service/impl/DaOpcuaConfigServiceImpl.java
@@ -1,18 +1,18 @@
package com.jcdm.main.da.opcuaconfig.service.impl;
import java.util.List;
import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
import com.jcdm.main.da.opcuaconfig.mapper.DaOpcuaConfigMapper;
import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * OPCUA参数设置Service业务层处理
 * äº¤äº’信号配置Service业务层处理
 * 
 * @author yyt
 * @date 2023-12-22
 * @date 2024-01-22
 */
@Service
public class DaOpcuaConfigServiceImpl implements IDaOpcuaConfigService
@@ -21,10 +21,10 @@
    private DaOpcuaConfigMapper daOpcuaConfigMapper;
    /**
     * æŸ¥è¯¢OPCUA参数设置
     * æŸ¥è¯¢äº¤äº’信号配置
     * 
     * @param id OPCUA参数设置主键
     * @return OPCUA参数设置
     * @param id äº¤äº’信号配置主键
     * @return äº¤äº’信号配置
     */
    @Override
    public DaOpcuaConfig selectDaOpcuaConfigById(Long id)
@@ -33,10 +33,10 @@
    }
    /**
     * æŸ¥è¯¢OPCUA参数设置列表
     * æŸ¥è¯¢äº¤äº’信号配置列表
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @return OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return äº¤äº’信号配置
     */
    @Override
    public List<DaOpcuaConfig> selectDaOpcuaConfigList(DaOpcuaConfig daOpcuaConfig)
@@ -45,9 +45,9 @@
    }
    /**
     * æ–°å¢žOPCUA参数设置
     * æ–°å¢žäº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    @Override
@@ -57,9 +57,9 @@
    }
    /**
     * ä¿®æ”¹OPCUA参数设置
     * ä¿®æ”¹äº¤äº’信号配置
     * 
     * @param daOpcuaConfig OPCUA参数设置
     * @param daOpcuaConfig äº¤äº’信号配置
     * @return ç»“æžœ
     */
    @Override
@@ -69,9 +69,9 @@
    }
    /**
     * æ‰¹é‡åˆ é™¤OPCUA参数设置
     * æ‰¹é‡åˆ é™¤äº¤äº’信号配置
     * 
     * @param ids éœ€è¦åˆ é™¤çš„OPCUA参数设置主键
     * @param ids éœ€è¦åˆ é™¤çš„交互信号配置主键
     * @return ç»“æžœ
     */
    @Override
@@ -81,9 +81,9 @@
    }
    /**
     * åˆ é™¤OPCUA参数设置信息
     * åˆ é™¤äº¤äº’信号配置信息
     * 
     * @param id OPCUA参数设置主键
     * @param id äº¤äº’信号配置主键
     * @return ç»“æžœ
     */
    @Override
jcdm-main/src/main/resources/mapper/da/opcuaconfig/DaOpcuaConfigMapper.xml
@@ -6,32 +6,29 @@
    
    <resultMap type="DaOpcuaConfig" id="DaOpcuaConfigResult">
        <result property="id"    column="id"    />
        <result property="module"    column="module"    />
        <result property="node"    column="node"    />
        <result property="length"    column="length"    />
        <result property="sysTypes"    column="sys_types"    />
        <result property="functionality"    column="functionality"    />
        <result property="subscribe"    column="subscribe"    />
        <result property="rModule"    column="r_module"    />
        <result property="rFunction"    column="r_function"    />
        <result property="remarks"    column="remarks"    />
        <result property="process"    column="process"    />
        <result property="processName"    column="process_name"    />
        <result property="state"    column="state"    />
    </resultMap>
    <sql id="selectDaOpcuaConfigVo">
        select id, module, node, length, sys_types, functionality, subscribe, r_module, r_function, remarks from da_opcua_config
        select id, node,sys_types, subscribe, r_function, remarks, process, process_name, state from da_opcua_config
    </sql>
    <select id="selectDaOpcuaConfigList" parameterType="DaOpcuaConfig" resultMap="DaOpcuaConfigResult">
        <include refid="selectDaOpcuaConfigVo"/>
        <where>  
            <if test="module != null  and module != ''"> and module like concat('%', #{module}, '%')</if>
            <if test="node != null  and node != ''"> and node like concat('%', #{node}, '%')</if>
            <if test="length != null "> and length = #{length}</if>
            <if test="node != null  and node != ''"> and node = #{node}</if>
            <if test="sysTypes != null  and sysTypes != ''"> and sys_types = #{sysTypes}</if>
            <if test="functionality != null  and functionality != ''"> and functionality like concat('%', #{functionality}, '%')</if>
            <if test="subscribe != null "> and subscribe = #{subscribe}</if>
            <if test="rModule != null  and rModule != ''"> and r_module like concat('%', #{rModule}, '%')</if>
            <if test="rFunction != null  and rFunction != ''"> and r_function like concat('%', #{rFunction}, '%')</if>
            <if test="rFunction != null  and rFunction != ''"> and r_function = #{rFunction}</if>
            <if test="process != null  and process != ''"> and process = #{process}</if>
            <if test="processName != null  and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
            <if test="state != null "> and state = #{state}</if>
        </where>
    </select>
    
@@ -40,46 +37,41 @@
        where id = #{id}
    </select>
        
    <insert id="insertDaOpcuaConfig" parameterType="DaOpcuaConfig">
    <insert id="insertDaOpcuaConfig" parameterType="DaOpcuaConfig" useGeneratedKeys="true" keyProperty="id">
        insert into da_opcua_config
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="module != null">module,</if>
            <if test="node != null">node,</if>
            <if test="length != null">length,</if>
            <if test="sysTypes != null">sys_types,</if>
            <if test="functionality != null">functionality,</if>
            <if test="node != null and node != ''">node,</if>
            <if test="sysTypes != null and sysTypes != ''">sys_types,</if>
            <if test="subscribe != null">subscribe,</if>
            <if test="rModule != null">r_module,</if>
            <if test="rFunction != null">r_function,</if>
            <if test="rFunction != null and rFunction != ''">r_function,</if>
            <if test="remarks != null">remarks,</if>
            <if test="process != null">process,</if>
            <if test="processName != null">process_name,</if>
            <if test="state != null">state,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="module != null">#{module},</if>
            <if test="node != null">#{node},</if>
            <if test="length != null">#{length},</if>
            <if test="sysTypes != null">#{sysTypes},</if>
            <if test="functionality != null">#{functionality},</if>
            <if test="node != null and node != ''">#{node},</if>
            <if test="sysTypes != null and sysTypes != ''">#{sysTypes},</if>
            <if test="subscribe != null">#{subscribe},</if>
            <if test="rModule != null">#{rModule},</if>
            <if test="rFunction != null">#{rFunction},</if>
            <if test="rFunction != null and rFunction != ''">#{rFunction},</if>
            <if test="remarks != null">#{remarks},</if>
            <if test="process != null">#{process},</if>
            <if test="processName != null">#{processName},</if>
            <if test="state != null">#{state},</if>
         </trim>
    </insert>
    <update id="updateDaOpcuaConfig" parameterType="DaOpcuaConfig">
        update da_opcua_config
        <trim prefix="SET" suffixOverrides=",">
            <if test="module != null">module = #{module},</if>
            <if test="node != null">node = #{node},</if>
            <if test="length != null">length = #{length},</if>
            <if test="sysTypes != null">sys_types = #{sysTypes},</if>
            <if test="functionality != null">functionality = #{functionality},</if>
            <if test="node != null and node != ''">node = #{node},</if>
            <if test="sysTypes != null and sysTypes != ''">sys_types = #{sysTypes},</if>
            <if test="subscribe != null">subscribe = #{subscribe},</if>
            <if test="rModule != null">r_module = #{rModule},</if>
            <if test="rFunction != null">r_function = #{rFunction},</if>
            <if test="rFunction != null and rFunction != ''">r_function = #{rFunction},</if>
            <if test="remarks != null">remarks = #{remarks},</if>
            <if test="process != null">process = #{process},</if>
            <if test="processName != null">process_name = #{processName},</if>
            <if test="state != null">state = #{state},</if>
        </trim>
        where id = #{id}
    </update>
jcdm-ui/src/api/main/da/opcuaconfig/opcuaconfig.js
@@ -1,6 +1,6 @@
import request from '@/utils/request'
// æŸ¥è¯¢OPCUA参数设置列表
// æŸ¥è¯¢äº¤äº’信号配置列表
export function listOpcuaconfig(query) {
  return request({
    url: '/da/opcuaconfig/list',
@@ -9,7 +9,7 @@
  })
}
// æŸ¥è¯¢OPCUA参数设置详细
// æŸ¥è¯¢äº¤äº’信号配置详细
export function getOpcuaconfig(id) {
  return request({
    url: '/da/opcuaconfig/' + id,
@@ -17,7 +17,7 @@
  })
}
// æ–°å¢žOPCUA参数设置
// æ–°å¢žäº¤äº’信号配置
export function addOpcuaconfig(data) {
  return request({
    url: '/da/opcuaconfig',
@@ -26,7 +26,7 @@
  })
}
// ä¿®æ”¹OPCUA参数设置
// ä¿®æ”¹äº¤äº’信号配置
export function updateOpcuaconfig(data) {
  return request({
    url: '/da/opcuaconfig',
@@ -35,7 +35,7 @@
  })
}
// åˆ é™¤OPCUA参数设置
// åˆ é™¤äº¤äº’信号配置
export function delOpcuaconfig(id) {
  return request({
    url: '/da/opcuaconfig/' + id,
jcdm-ui/src/components/itemSelect/index.vue
@@ -220,4 +220,4 @@
    }
  }
};
</script>
</script>
jcdm-ui/src/views/main/da/opcuaconfig/index.vue
@@ -1,206 +1,173 @@
<template>
  <div class="app-container">
    <el-card class="box-card">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="所属模块" prop="module">
        <el-input
          v-model="queryParams.module"
          placeholder="请输入所属模块"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="节点" prop="node">
        <el-input
          v-model="queryParams.node"
          placeholder="请输入节点"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="长度" prop="length">
        <el-input
          v-model="queryParams.length"
          placeholder="请输入长度"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="类型" prop="sysTypes">
        <el-select v-model="queryParams.sysTypes" placeholder="请选择类型" clearable>
<!--          <el-option-->
<!--            v-for="dict in dict.type.${dictType}"-->
<!--            :key="dict.value"-->
<!--            :label="dict.label"-->
<!--            :value="dict.value"-->
<!--          />-->
        </el-select>
      </el-form-item>
      <el-form-item style="float: right">
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
      <el-form-item label="订阅响应模块" prop="rModule">
        <el-input
          v-model="queryParams.rModule"
          placeholder="请输入订阅响应模块"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="订阅响应函数" prop="rFunction">
        <el-input
          v-model="queryParams.rFunction"
          placeholder="请输入订阅响应函数"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="功能说明" prop="functionality">
        <el-input
          v-model="queryParams.functionality"
          placeholder="请输入功能说明"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="是否订阅" prop="subscribe">
        <el-select v-model="queryParams.subscribe" placeholder="请选择是否订阅" clearable>
          <!--          <el-option-->
          <!--            v-for="dict in dict.type.${dictType}"-->
          <!--            :key="dict.value"-->
          <!--            :label="dict.label"-->
          <!--            :value="dict.value"-->
          <!--          />-->
        </el-select>
      </el-form-item>
    </el-form>
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
          <el-form-item label="节点" prop="node">
            <el-input
              v-model="queryParams.node"
              placeholder="请输入节点"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="订阅类型" prop="rFunction">
            <el-select v-model="queryParams.rFunction" placeholder="请选择订阅类型" clearable>
              <el-option
                v-for="dict in dict.type.subscription_type"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
          <el-form-item label="工序编码" prop="process">
            <el-select v-model="queryParams.process" placeholder="请选择工序编码" clearable>
<!--              <el-option-->
<!--                v-for="dict in dict.type.${dictType}"-->
<!--                :key="dict.value"-->
<!--                :label="dict.label"-->
<!--                :value="dict.value"-->
<!--              />-->
            </el-select>
          </el-form-item>
          <el-form-item label="工序名称" prop="processName">
            <el-input
              v-model="queryParams.processName"
              placeholder="请输入工序名称"
              clearable
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="状态" prop="state">
            <el-select v-model="queryParams.state"  placeholder="请选择状态" clearable>
              <el-option
                v-for="dict in dict.type.sys_normal_disable"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
          <el-form-item style="float: right">
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-form>
    </el-card>
    <el-card style="margin-top: 10px" class="box-card">
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['da:opcuaconfig:add']"
        >新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['da:opcuaconfig:edit']"
        >修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['da:opcuaconfig:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['da:opcuaconfig:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button
              type="primary"
              plain
              icon="el-icon-plus"
              size="mini"
              @click="handleAdd"
              v-hasPermi="['main:opcuaconfig:add']"
            >新增</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button
              type="success"
              plain
              icon="el-icon-edit"
              size="mini"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['main:opcuaconfig:edit']"
            >修改</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button
              type="danger"
              plain
              icon="el-icon-delete"
              size="mini"
              :disabled="multiple"
              @click="handleDelete"
              v-hasPermi="['main:opcuaconfig:remove']"
            >删除</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button
              type="warning"
              plain
              icon="el-icon-download"
              size="mini"
              @click="handleExport"
              v-hasPermi="['main:opcuaconfig:export']"
            >导出</el-button>
          </el-col>
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
        </el-row>
    <el-table v-loading="loading" border :data="opcuaconfigList" @selection-change="handleSelectionChange" v-if="opcuaconfigList.length > 0">
      <el-table-column type="selection" width="55" align="center" />
<!--      <el-table-column label="ID" align="center" prop="id" />-->
      <el-table-column label="所属模块" align="center" prop="module">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.module"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="节点" align="center" prop="node">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.node"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="长度" align="center" prop="length">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.length"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="类型" align="center" prop="sysTypes">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.sysTypes"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="功能说明" align="center" prop="functionality">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.functionality"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="是否订阅" align="center" prop="subscribe">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.subscribe"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="订阅响应模块" align="center" prop="rModule">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.rModule"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="订阅响应函数" align="center" prop="rFunction">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.rFunction"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column label="备注" align="center" prop="remarks">
<!--        <template slot-scope="scope">-->
<!--          <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.remarks"/>-->
<!--        </template>-->
      </el-table-column>
      <el-table-column fixed="right" label="操作" width="200" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="success"
            plain
            style="width: 72px"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['da:opcuaconfig:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="danger"
            plain
            style="width: 72px"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['da:opcuaconfig:remove']"
          >删除</el-button>
        </template>
      </el-table-column>
    </el-table>
      <el-empty v-else>
        <span slot="description">暂无数据</span>
      </el-empty>
        <el-table border v-loading="loading" :data="opcuaconfigList" @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" prop="process">
            <!--            <template slot-scope="scope">-->
            <!--              <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.process"/>-->
            <!--            </template>-->
          </el-table-column>
          <el-table-column label="工序名称" align="center" prop="processName">
            <!--            <template slot-scope="scope">-->
            <!--              <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.processName"/>-->
            <!--            </template>-->
          </el-table-column>
          <el-table-column label="节点" align="center" prop="node">
<!--            <template slot-scope="scope">-->
<!--              <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.node"/>-->
<!--            </template>-->
          </el-table-column>
          <el-table-column label="数据类型" align="center" prop="sysTypes">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.data_type" :value="scope.row.sysTypes"/>
            </template>
          </el-table-column>
          <el-table-column label="是否订阅" align="center" prop="subscribe">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.subscribe"/>
            </template>
          </el-table-column>
          <el-table-column label="订阅类型" align="center" prop="rFunction">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.subscription_type" :value="scope.row.rFunction"/>
            </template>
          </el-table-column>
          <el-table-column label="备注" align="center" prop="remarks">
<!--            <template slot-scope="scope">-->
<!--              <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.remarks"/>-->
<!--            </template>-->
          </el-table-column>
          <el-table-column label="状态" align="center" prop="state">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.state"/>
            </template>
          </el-table-column>
          <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="success"
                plain
                style="width: 72px"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['da:opcuaconfig:edit']"
              >修改</el-button>
              <el-button
                size="mini"
                type="danger"
                plain
                style="width: 72px"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                v-hasPermi="['main:opcuaconfig:remove']"
              >删除</el-button>
            </template>
          </el-table-column>
        </el-table>
    </el-card>
    <pagination
@@ -211,49 +178,70 @@
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–修改OPCUA参数设置对话框 -->
    <!-- æ·»åŠ æˆ–修改交互信号配置对话框 -->
    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
      <span slot="title">
        <i class="el-icon-s-order"></i>
        {{titleName}}
      </span>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="所属模块" prop="module">
          <el-input v-model="form.module" placeholder="请输入所属模块" />
        </el-form-item>
        <el-form-item label="节点" prop="node">
          <el-input v-model="form.node" placeholder="请输入节点" />
        </el-form-item>
        <el-form-item label="长度" prop="length">
          <el-input v-model="form.length" placeholder="请输入长度" />
        </el-form-item>
        <el-form-item label="类型" prop="sysTypes">
          <el-select v-model="form.sysTypes" placeholder="请选择类型">
<!--            <el-option-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.label"-->
<!--              :value="dict.value"-->
<!--            ></el-option>-->
        <el-form-item label="数据类型" prop="sysTypes">
          <el-select v-model="form.sysTypes" placeholder="请选择数据类型">
            <el-option
              v-for="dict in dict.type.data_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="功能说明" prop="functionality">
          <el-input v-model="form.functionality" placeholder="请输入功能说明" />
        </el-form-item>
        <el-form-item label="是否订阅" prop="subscribe">
          <el-select v-model="form.subscribe" placeholder="请选择是否订阅">
<!--            <el-option-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.label"-->
<!--              :value="parseInt(dict.value)"-->
<!--            ></el-option>-->
            <el-option
              v-for="dict in dict.type.sys_yes_no"
              :key="dict.value"
              :label="dict.label"
              :value="parseInt(dict.value)"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="订阅响应模块" prop="rModule">
          <el-input v-model="form.rModule" placeholder="请输入订阅响应模块" />
        </el-form-item>
        <el-form-item label="订阅响应函数" prop="rFunction">
          <el-input v-model="form.rFunction" placeholder="请输入订阅响应函数" />
        <el-form-item label="订阅类型" prop="rFunction">
          <el-select v-model="form.rFunction" placeholder="请选择订阅类型">
            <el-option
              v-for="dict in dict.type.subscription_type"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="备注" prop="remarks">
          <el-input v-model="form.remarks" placeholder="请输入备注" />
        </el-form-item>
        <el-form-item label="工序编码" prop="process">
          <el-radio-group v-model="form.process">
<!--            <el-radio-->
<!--              v-for="dict in dict.type.${dictType}"-->
<!--              :key="dict.value"-->
<!--              :label="dict.value"-->
<!--            >{{dict.label}}</el-radio>-->
          </el-radio-group>
        </el-form-item>
        <el-form-item label="工序名称" prop="processName">
          <el-input v-model="form.processName" placeholder="请输入工序名称" />
        </el-form-item>
        <el-form-item label="状态" prop="state">
          <el-select v-model="form.state" placeholder="请选择状态">
            <el-option
              v-for="dict in dict.type.sys_normal_disable"
              :key="dict.value"
              :label="dict.label"
              :value="parseInt(dict.value)"
            ></el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -269,10 +257,12 @@
export default {
  name: "Opcuaconfig",
  dicts: ['subscription_type', 'sys_yes_no', 'sys_normal_disable', 'data_type'],
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      titleName: "",
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•ä¸ªç¦ç”¨
@@ -283,9 +273,8 @@
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // OPCUA参数设置表格数据
      // äº¤äº’信号配置表格数据
      opcuaconfigList: [],
      advancedShowSearch: false,
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
@@ -294,14 +283,12 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        module: null,
        node: null,
        length: null,
        sysTypes: null,
        functionality: null,
        subscribe: null,
        rModule: null,
        rFunction: null,
        process: null,
        processName: null,
        state: null
      },
      // è¡¨å•å‚æ•°
      form: {},
@@ -310,6 +297,18 @@
        id: [
          { required: true, message: "ID不能为空", trigger: "blur" }
        ],
        node: [
          { required: true, message: "节点不能为空", trigger: "blur" }
        ],
        sysTypes: [
          { required: true, message: "数据类型不能为空", trigger: "change" }
        ],
        subscribe: [
          { required: true, message: "是否订阅不能为空", trigger: "change" }
        ],
        rFunction: [
          { required: true, message: "订阅类型不能为空", trigger: "change" }
        ],
      }
    };
  },
@@ -317,10 +316,7 @@
    this.getList();
  },
  methods: {
    advancedQuery(){
      this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true;
    },
    /** æŸ¥è¯¢OPCUA参数设置列表 */
    /** æŸ¥è¯¢äº¤äº’信号配置列表 */
    getList() {
      this.loading = true;
      listOpcuaconfig(this.queryParams).then(response => {
@@ -346,7 +342,10 @@
        subscribe: null,
        rModule: null,
        rFunction: null,
        remarks: null
        remarks: null,
        process: null,
        processName: null,
        state: null
      };
      this.resetForm("form");
    },
@@ -370,7 +369,7 @@
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加OPCUA参数设置";
      this.titleName = "添加交互信号配置";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
@@ -379,7 +378,7 @@
      getOpcuaconfig(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改OPCUA参数设置";
        this.titleName = "修改交互信号配置";
      });
    },
    /** æäº¤æŒ‰é’® */
@@ -405,7 +404,7 @@
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除OPCUA参数设置编号为"' + ids + '"的数据项?').then(function() {
      this.$modal.confirm('是否确认删除交互信号配置编号为"' + ids + '"的数据项?').then(function() {
        return delOpcuaconfig(ids);
      }).then(() => {
        this.getList();