33个文件已修改
62个文件已添加
1个文件已删除
New file |
| | |
| | | ________ ________ ___ _____________ ____ |
| | | `MMMMMMMb. 68b `MMMMMMMb. `MMb dMM'`MMMMMMMMM 6MMMMb\ |
| | | MM `Mb Y89 MM `Mb MMM. ,PMM MM \ 6M' ` |
| | | MM MM ____ ___ MM MM _____ M`Mb d'MM MM MM |
| | | MM .M9 6MMMMb `MM MM .M9 6MMMMMb M YM. ,P MM MM , YM. |
| | | MMMMMMM( 6M' `Mb MM MMMMMMM( 6M' `Mb M `Mb d' MM MMMMMMM YMMMMb |
| | | MM `Mb MM MM MM MM `Mb MM MM M YM.P MM MM ` `Mb |
| | | MM MM MMMMMMMM MM MM MM MM MM M `Mb' MM MM MM |
| | | MM MM MM MM MM MM MM MM M YP MM MM MM |
| | | MM .M9 YM d9 MM MM .M9 YM. ,M9 68b M `' MM MM / L ,M9 |
| | | _MMMMMMM9' YMMMM9 _MM__MMMMMMM9' YMMMMM9 Y89 _M_ _MM__MMMMMMMMM MYMMMM9 |
| | | |
| | | // _ooOoo_ // |
| | | // o8888888o // |
| | | // 88" . "88 // |
| | | // (| ^_^ |) // |
| | | // O\ = /O // |
| | | // ____/`---'\____ // |
| | | // .' \\| |// `. // |
| | | // / \\||| : |||// \ // |
| | | // / _||||| -:- |||||- \ // |
| | | // | | \\\ - /// | | // |
| | | // | \_| ''\---/'' | | // |
| | | // \ .-\__ `-` ___/-. / // |
| | | // ___`. .' /--.--\ `. . ___ // |
| | | // ."" '< `.___\_<|>_/___.' >'"". // |
| | | // | | : `- \`.;`\ _ /`;.`/ - ` : | | // |
| | | // \ \ `-. \_ __\ /__ _/ .-` / / // |
| | | // ========`-.____`-.___\_____/___.-`____.-'======== // |
| | | // `=---=' // |
| | | // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // |
| | | // 佛祖保佑 永不宕机 永无BUG // |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?>
|
| | | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
| | | <component name="FacetManager">
|
| | | <facet type="web" name="Web">
|
| | | <configuration>
|
| | | <webroots />
|
| | | <sourceRoots>
|
| | | <root url="file://$MODULE_DIR$/src/main/java" />
|
| | | <root url="file://$MODULE_DIR$/src/main/resources" />
|
| | | </sourceRoots>
|
| | | </configuration>
|
| | | </facet>
|
| | | <facet type="Spring" name="Spring">
|
| | | <configuration />
|
| | | </facet>
|
| | | </component>
|
| | | <component name="MavenCustomPomFilePath">
|
| | | <option name="mavenPomFileUrl" value="file://$MODULE_DIR$/effective-pom.xml" />
|
| | | </component>
|
| | | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
| | | <output url="file://$MODULE_DIR$/target/classes" />
|
| | | <output-test url="file://$MODULE_DIR$/target/test-classes" />
|
| | | <content url="file://$MODULE_DIR$/src/main/java">
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
| | | </content>
|
| | | <content url="file://$MODULE_DIR$/src/main/resources">
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
| | | </content>
|
| | | <content url="file://$MODULE_DIR$/src/test/java">
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
| | | </content>
|
| | | <orderEntry type="inheritedJdk" />
|
| | | <orderEntry type="sourceFolder" forTests="false" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.10" level="project" />
|
| | | <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.10" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.33" level="project" />
|
| | | <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.56" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.56" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.56" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.3.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.13" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.1.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.33" level="project" />
|
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.20" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.9" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.9" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.9" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.7" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.7" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" />
|
| | | <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.15" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1" level="project" />
|
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-test-autoconfigure:2.3.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.3" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" />
|
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.19.0" level="project" />
|
| | | <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.0" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.3" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
|
| | | <orderEntry type="library" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.5.9" level="project" />
|
| | | <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.15" level="project" />
|
| | | <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.36.Final" level="project" />
|
| | | </component>
|
| | | </module> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?>
|
| | | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
| | | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
| | | <output url="file://$MODULE_DIR$/target/classes" />
|
| | | <output-test url="file://$MODULE_DIR$/target/test-classes" />
|
| | | <content url="file://$MODULE_DIR$">
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
| | | <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
| | | <excludeFolder url="file://$MODULE_DIR$/target" />
|
| | | </content>
|
| | | <orderEntry type="inheritedJdk" />
|
| | | <orderEntry type="sourceFolder" forTests="false" />
|
| | | </component>
|
| | | </module> |
| | |
| | | |
| | | import com.mes.entity.userInfo.SysMenuItem; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface SysMenuItemMapper { |
| | | |
| | | @Select("select * from sys_menu_item as a where a.state=1 order by a.listSort") |
| | | List<SysMenuItem> findAll() ; |
| | | } |
| | |
| | | |
| | | User findOne(Integer id); |
| | | |
| | | @Select("select user_name FROM `user` where login_name=#{LoginName} ") |
| | | @Select("select user_name FROM `user` where login_name=#{LoginName}") |
| | | User findOneLoginName(String LoginName); |
| | | |
| | | @Select("select count(id) FROM `user` where login_name=#{userName} and password=#{password} ") |
| | | int checkUser(@Param("userName") String userName,@Param("password") String password); |
| | | |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysErrorService { |
| | | private final SysErrorMapper sysErrorMapper; |
| | | |
| | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysMenuItemService { |
| | | @Autowired |
| | | SysMenuItemMapper sysMenuItemMapper; |
| | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysMenuService { |
| | | @Autowired |
| | | private SysMenuMapper sysMenuMapper; |
| | |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.mes.common.CacheUtil; |
| | | import com.mes.common.Result; |
| | | import com.mes.controller.dto.UserDTO; |
| | | import com.mes.entity.userInfo.User; |
| | | import com.mes.mapper.userInfo.UserMapper; |
| | | import com.mes.controller.dto.UserDTO; |
| | | import com.mes.tools.TokenTools; |
| | | import org.apache.ibatis.jdbc.Null; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class UserService { |
| | | |
| | | @Autowired |
| | |
| | | spring: |
| | | datasource: |
| | | dynamic: |
| | | primary: user_info #设置默认的数据源或者数据源组,默认值即为master |
| | | primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master |
| | | strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. |
| | | datasource: |
| | | user_info: |
| | | url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | sd: |
| | | url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | mm: |
| | | url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | pp: |
| | | url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8 |
| | | |
| | | hangzhoumes: |
| | | url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
New file |
| | |
| | | artifactId=MES-Module
|
| | | groupId=com.MES-Module
|
| | | version=0.0.1-SNAPSHOT
|
New file |
| | |
| | | com\mes\controller\OrderTestController.class |
| | | com\mes\common\PlcTools\S7object2.class |
| | | com\mes\MesApplication.class |
| | | com\mes\controller\userInfo\SysMenuItemController.class |
| | | com\mes\exception\ServiceException.class |
| | | com\mes\entity\UpPattenUsage.class |
| | | com\mes\service\userInfo\SysErrorService.class |
| | | com\mes\config\MyCorsConfig$1.class |
| | | com\mes\common\Result.class |
| | | com\mes\entity\Engineering.class |
| | | com\mes\common\PlcTools\S7control.class |
| | | com\mes\entity\BigStorageCage.class |
| | | com\mes\service\IOrderService.class |
| | | com\mes\mapper\userInfo\UserMapper.class |
| | | com\mes\common\Constants.class |
| | | com\mes\entity\GlassFilms.class |
| | | com\mes\entity\BigStorageCageDetails.class |
| | | com\mes\entity\DownStorageCagedetails.class |
| | | com\mes\mapper\userInfo\SysMenuItemMapper.class |
| | | com\mes\controller\dto\UserDTO.class |
| | | com\mes\common\CacheUtil.class |
| | | com\mes\common\PlcTools\S7object.class |
| | | com\mes\config\InterceptorConfig.class |
| | | com\mes\service\userInfo\SysMenuItemService.class |
| | | com\mes\entity\OrderTest.class |
| | | com\mes\entity\UpWorkstation.class |
| | | com\mes\entity\userInfo\SysMenuItem.class |
| | | com\mes\entity\userInfo\User.class |
| | | com\mes\config\MyCorsConfig.class |
| | | com\mes\entity\GlassInfo.class |
| | | com\mes\tools\TokenTools.class |
| | | com\mes\service\impl\OrderServiceImpl.class |
| | | com\mes\exception\GlobalExceptionHandle.class |
| | | com\mes\service\userInfo\SysMenuService.class |
| | | com\mes\tools\WebSocketServer.class |
| | | com\mes\controller\userInfo\SysMenuController.class |
| | | com\mes\entity\DownWorkstation.class |
| | | com\mes\entity\userInfo\SysMenu.class |
| | | com\mes\config\AppRunnerConfig.class |
| | | com\mes\entity\DownStorageCage.class |
| | | com\mes\config\MybatisPlusConfig.class |
| | | com\mes\service\userInfo\UserService.class |
| | | com\mes\entity\DownGlassInfo.class |
| | | com\mes\entity\userInfo\SysError.class |
| | | com\mes\entity\EdgStorageCage.class |
| | | com\mes\config\WebSocketConfig.class |
| | | com\mes\config\SwaggerConfig.class |
| | | com\mes\controller\userInfo\UserController.class |
| | | com\mes\mapper\userInfo\SysMenuMapper.class |
| | | com\mes\entity\Tempering.class |
| | | com\mes\mapper\OrderTestMapper.class |
| | | com\mes\mapper\userInfo\SysErrorMapper.class |
| | | com\mes\entity\EdgStorageCageDetails.class |
| | | com\mes\common\interceptor\JwtInterceptor.class |
New file |
| | |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\Constants.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\UpPattenUsage.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\DownGlassInfo.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\interceptor\JwtInterceptor.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\Result.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\WebSocketConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\mapper\userInfo\SysErrorMapper.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\mapper\userInfo\UserMapper.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\userInfo\UserService.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\mapper\userInfo\SysMenuMapper.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\PlcTools\S7object.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\PlcTools\S7object2.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\AppRunnerConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\Tempering.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\InterceptorConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\SwaggerConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\UpWorkstation.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\userInfo\User.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\EdgStorageCageDetails.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\OrderTest.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\BigStorageCageDetails.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\controller\dto\UserDTO.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\controller\userInfo\UserController.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\userInfo\SysMenuItemService.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\impl\OrderServiceImpl.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\mapper\OrderTestMapper.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\tools\TokenTools.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\BigStorageCage.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\userInfo\SysError.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\PlcTools\S7control.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\EdgStorageCage.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\controller\userInfo\SysMenuController.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\Engineering.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\controller\OrderTestController.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\DownWorkstation.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\userInfo\SysMenuService.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\GlassInfo.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\userInfo\SysErrorService.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\MesApplication.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\DownStorageCage.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\exception\GlobalExceptionHandle.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\GlassFilms.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\MybatisPlusConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\config\MyCorsConfig.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\controller\userInfo\SysMenuItemController.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\common\CacheUtil.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\tools\WebSocketServer.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\DownStorageCagedetails.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\userInfo\SysMenu.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\exception\ServiceException.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\entity\userInfo\SysMenuItem.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\mapper\userInfo\SysMenuItemMapper.java |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\main\java\com\mes\service\IOrderService.java |
New file |
| | |
| | | com\mes\MesApplicationTests.class |
New file |
| | |
| | | D:\xm4\HangZhouMes\TemperingGlassModule\src\test\java\com\mes\MesApplicationTests.java |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?>
|
| | | <testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="com.mes.MesApplicationTests" time="7.389" tests="1" errors="0" skipped="0" failures="0">
|
| | | <properties>
|
| | | <property name="sun.desktop" value="windows"/>
|
| | | <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
|
| | | <property name="file.encoding.pkg" value="sun.io"/>
|
| | | <property name="java.specification.version" value="1.8"/>
|
| | | <property name="sun.cpu.isalist" value="amd64"/>
|
| | | <property name="sun.jnu.encoding" value="GBK"/>
|
| | | <property name="java.class.path" value="D:\xm4\HangZhouMes\TemperingGlassModule\target\test-classes;D:\xm4\HangZhouMes\TemperingGlassModule\target\classes;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.5.9\spring-boot-starter-web-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter\2.5.9\spring-boot-starter-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot\2.5.9\spring-boot-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.5.9\spring-boot-starter-logging-2.5.9.jar;C:\Users\SNG-012\.m2\repository\ch\qos\logback\logback-classic\1.2.10\logback-classic-1.2.10.jar;C:\Users\SNG-012\.m2\repository\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;C:\Users\SNG-012\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.1\log4j-to-slf4j-2.17.1.jar;C:\Users\SNG-012\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\SNG-012\.m2\repository\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;C:\Users\SNG-012\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\SNG-012\.m2\repository\org\yaml\snakeyaml\1.28\snakeyaml-1.28.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.5.9\spring-boot-starter-json-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.12.6\jackson-datatype-jdk8-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.12.6\jackson-datatype-jsr310-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.12.6\jackson-module-parameter-names-2.12.6.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.5.9\spring-boot-starter-tomcat-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-web\5.3.15\spring-web-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-webmvc\5.3.15\spring-webmvc-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-aop\5.3.15\spring-aop-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-context\5.3.15\spring-context-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-expression\5.3.15\spring-expression-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.3.1\mybatis-spring-boot-starter-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.5.9\spring-boot-starter-jdbc-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-jdbc\5.3.15\spring-jdbc-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.3.1\mybatis-spring-boot-autoconfigure-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\mybatis\3.5.13\mybatis-3.5.13.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\mybatis-spring\2.1.1\mybatis-spring-2.1.1.jar;C:\Users\SNG-012\.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\SNG-012\.m2\repository\org\springframework\data\spring-data-commons\2.3.1.RELEASE\spring-data-commons-2.3.1.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-core\5.3.15\spring-core-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-jcl\5.3.15\spring-jcl-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-beans\5.3.15\spring-beans-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;C:\Users\SNG-012\.m2\repository\mysql\mysql-connector-java\8.0.20\mysql-connector-java-8.0.20.jar;C:\Users\SNG-012\.m2\repository\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.5.9\spring-boot-starter-test-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-test\2.5.9\spring-boot-test-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.5.9\spring-boot-test-autoconfigure-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\jayway\jsonpath\json-path\2.5.0\json-path-2.5.0.jar;C:\Users\SNG-012\.m2\repository\net\minidev\json-smart\2.4.7\json-smart-2.4.7.jar;C:\Users\SNG-012\.m2\repository\net\minidev\accessors-smart\2.4.7\accessors-smart-2.4.7.jar;C:\Users\SNG-012\.m2\repository\org\ow2\asm\asm\9.1\asm-9.1.jar;C:\Users\SNG-012\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\SNG-012\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\SNG-012\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter\5.7.2\junit-jupiter-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.7.2\junit-jupiter-api-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\SNG-012\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\SNG-012\.m2\repository\org\junit\platform\junit-platform-commons\1.7.2\junit-platform-commons-1.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.7.2\junit-jupiter-params-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.7.2\junit-jupiter-engine-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\platform\junit-platform-engine\1.7.2\junit-platform-engine-1.7.2.jar;C:\Users\SNG-012\.m2\repository\org\mockito\mockito-core\3.9.0\mockito-core-3.9.0.jar;C:\Users\SNG-012\.m2\repository\net\bytebuddy\byte-buddy\1.10.22\byte-buddy-1.10.22.jar;C:\Users\SNG-012\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.22\byte-buddy-agent-1.10.22.jar;C:\Users\SNG-012\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar;C:\Users\SNG-012\.m2\repository\org\mockito\mockito-junit-jupiter\3.9.0\mockito-junit-jupiter-3.9.0.jar;C:\Users\SNG-012\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\SNG-012\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-test\5.3.15\spring-test-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\xmlunit\xmlunit-core\2.8.4\xmlunit-core-2.8.4.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter-test\2.3.1\mybatis-spring-boot-starter-test-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-test-autoconfigure\2.3.1\mybatis-spring-boot-test-autoconfigure-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-tx\5.3.15\spring-tx-5.3.15.jar;C:\Users\SNG-012\.m2\repository\com\auth0\java-jwt\3.10.3\java-jwt-3.10.3.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.12.6\jackson-databind-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.12.6\jackson-annotations-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.12.6\jackson-core-2.12.6.jar;C:\Users\SNG-012\.m2\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;C:\Users\SNG-012\.m2\repository\org\assertj\assertj-core\3.19.0\assertj-core-3.19.0.jar;C:\Users\SNG-012\.m2\repository\cn\hutool\hutool-all\5.4.0\hutool-all-5.4.0.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.5.1\mybatis-plus-boot-starter-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus\3.5.1\mybatis-plus-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-extension\3.5.1\mybatis-plus-extension-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-core\3.5.1\mybatis-plus-core-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-annotation\3.5.1\mybatis-plus-annotation-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\github\jsqlparser\jsqlparser\4.3\jsqlparser-4.3.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.5.9\spring-boot-autoconfigure-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\dynamic-datasource-spring-boot-starter\3.5.1\dynamic-datasource-spring-boot-starter-3.5.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.5.9\spring-boot-starter-aop-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\SNG-012\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\SNG-012\.m2\repository\com\github\xingshuangs\iot-communication\1.4.2\iot-communication-1.4.2.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.5.9\spring-boot-starter-cache-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-context-support\5.3.15\spring-context-support-5.3.15.jar;C:\Users\SNG-012\.m2\repository\io\netty\netty-all\4.1.36.Final\netty-all-4.1.36.Final.jar;"/>
|
| | | <property name="java.vm.vendor" value="Oracle Corporation"/>
|
| | | <property name="sun.arch.data.model" value="64"/>
|
| | | <property name="user.variant" value=""/>
|
| | | <property name="java.vendor.url" value="http://java.oracle.com/"/>
|
| | | <property name="user.timezone" value="Asia/Shanghai"/>
|
| | | <property name="java.vm.specification.version" value="1.8"/>
|
| | | <property name="os.name" value="Windows 10"/>
|
| | | <property name="user.country" value="CN"/>
|
| | | <property name="sun.java.launcher" value="SUN_STANDARD"/>
|
| | | <property name="sun.boot.library.path" value="C:\Program Files\Java\jdk1.8.0_121\jre\bin"/>
|
| | | <property name="sun.java.command" value="C:\Users\SNG-012\AppData\Local\Temp\surefire33896117267200105\surefirebooter1902636531692371884.jar C:\Users\SNG-012\AppData\Local\Temp\surefire33896117267200105 2024-03-07T11-50-56_835-jvmRun1 surefire967000318635874576tmp surefire_08363905452971083609tmp"/>
|
| | | <property name="surefire.test.class.path" value="D:\xm4\HangZhouMes\TemperingGlassModule\target\test-classes;D:\xm4\HangZhouMes\TemperingGlassModule\target\classes;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.5.9\spring-boot-starter-web-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter\2.5.9\spring-boot-starter-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot\2.5.9\spring-boot-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.5.9\spring-boot-starter-logging-2.5.9.jar;C:\Users\SNG-012\.m2\repository\ch\qos\logback\logback-classic\1.2.10\logback-classic-1.2.10.jar;C:\Users\SNG-012\.m2\repository\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;C:\Users\SNG-012\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.1\log4j-to-slf4j-2.17.1.jar;C:\Users\SNG-012\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\SNG-012\.m2\repository\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;C:\Users\SNG-012\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\SNG-012\.m2\repository\org\yaml\snakeyaml\1.28\snakeyaml-1.28.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.5.9\spring-boot-starter-json-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.12.6\jackson-datatype-jdk8-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.12.6\jackson-datatype-jsr310-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.12.6\jackson-module-parameter-names-2.12.6.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.5.9\spring-boot-starter-tomcat-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-web\5.3.15\spring-web-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-webmvc\5.3.15\spring-webmvc-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-aop\5.3.15\spring-aop-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-context\5.3.15\spring-context-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-expression\5.3.15\spring-expression-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.3.1\mybatis-spring-boot-starter-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.5.9\spring-boot-starter-jdbc-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-jdbc\5.3.15\spring-jdbc-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.3.1\mybatis-spring-boot-autoconfigure-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\mybatis\3.5.13\mybatis-3.5.13.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\mybatis-spring\2.1.1\mybatis-spring-2.1.1.jar;C:\Users\SNG-012\.m2\repository\com\alibaba\fastjson\1.2.70\fastjson-1.2.70.jar;C:\Users\SNG-012\.m2\repository\org\springframework\data\spring-data-commons\2.3.1.RELEASE\spring-data-commons-2.3.1.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-core\5.3.15\spring-core-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-jcl\5.3.15\spring-jcl-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-beans\5.3.15\spring-beans-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;C:\Users\SNG-012\.m2\repository\mysql\mysql-connector-java\8.0.20\mysql-connector-java-8.0.20.jar;C:\Users\SNG-012\.m2\repository\org\projectlombok\lombok\1.18.22\lombok-1.18.22.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.5.9\spring-boot-starter-test-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-test\2.5.9\spring-boot-test-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.5.9\spring-boot-test-autoconfigure-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\jayway\jsonpath\json-path\2.5.0\json-path-2.5.0.jar;C:\Users\SNG-012\.m2\repository\net\minidev\json-smart\2.4.7\json-smart-2.4.7.jar;C:\Users\SNG-012\.m2\repository\net\minidev\accessors-smart\2.4.7\accessors-smart-2.4.7.jar;C:\Users\SNG-012\.m2\repository\org\ow2\asm\asm\9.1\asm-9.1.jar;C:\Users\SNG-012\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\SNG-012\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\SNG-012\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter\5.7.2\junit-jupiter-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.7.2\junit-jupiter-api-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\SNG-012\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\SNG-012\.m2\repository\org\junit\platform\junit-platform-commons\1.7.2\junit-platform-commons-1.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.7.2\junit-jupiter-params-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.7.2\junit-jupiter-engine-5.7.2.jar;C:\Users\SNG-012\.m2\repository\org\junit\platform\junit-platform-engine\1.7.2\junit-platform-engine-1.7.2.jar;C:\Users\SNG-012\.m2\repository\org\mockito\mockito-core\3.9.0\mockito-core-3.9.0.jar;C:\Users\SNG-012\.m2\repository\net\bytebuddy\byte-buddy\1.10.22\byte-buddy-1.10.22.jar;C:\Users\SNG-012\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.22\byte-buddy-agent-1.10.22.jar;C:\Users\SNG-012\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar;C:\Users\SNG-012\.m2\repository\org\mockito\mockito-junit-jupiter\3.9.0\mockito-junit-jupiter-3.9.0.jar;C:\Users\SNG-012\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\SNG-012\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-test\5.3.15\spring-test-5.3.15.jar;C:\Users\SNG-012\.m2\repository\org\xmlunit\xmlunit-core\2.8.4\xmlunit-core-2.8.4.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter-test\2.3.1\mybatis-spring-boot-starter-test-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\mybatis\spring\boot\mybatis-spring-boot-test-autoconfigure\2.3.1\mybatis-spring-boot-test-autoconfigure-2.3.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-tx\5.3.15\spring-tx-5.3.15.jar;C:\Users\SNG-012\.m2\repository\com\auth0\java-jwt\3.10.3\java-jwt-3.10.3.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.12.6\jackson-databind-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.12.6\jackson-annotations-2.12.6.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.12.6\jackson-core-2.12.6.jar;C:\Users\SNG-012\.m2\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;C:\Users\SNG-012\.m2\repository\org\assertj\assertj-core\3.19.0\assertj-core-3.19.0.jar;C:\Users\SNG-012\.m2\repository\cn\hutool\hutool-all\5.4.0\hutool-all-5.4.0.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.5.1\mybatis-plus-boot-starter-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus\3.5.1\mybatis-plus-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-extension\3.5.1\mybatis-plus-extension-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-core\3.5.1\mybatis-plus-core-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\mybatis-plus-annotation\3.5.1\mybatis-plus-annotation-3.5.1.jar;C:\Users\SNG-012\.m2\repository\com\github\jsqlparser\jsqlparser\4.3\jsqlparser-4.3.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.5.9\spring-boot-autoconfigure-2.5.9.jar;C:\Users\SNG-012\.m2\repository\com\baomidou\dynamic-datasource-spring-boot-starter\3.5.1\dynamic-datasource-spring-boot-starter-3.5.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.5.9\spring-boot-starter-aop-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C:\Users\SNG-012\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\SNG-012\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\SNG-012\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\SNG-012\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\SNG-012\.m2\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;C:\Users\SNG-012\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\SNG-012\.m2\repository\com\github\xingshuangs\iot-communication\1.4.2\iot-communication-1.4.2.jar;C:\Users\SNG-012\.m2\repository\org\springframework\boot\spring-boot-starter-cache\2.5.9\spring-boot-starter-cache-2.5.9.jar;C:\Users\SNG-012\.m2\repository\org\springframework\spring-context-support\5.3.15\spring-context-support-5.3.15.jar;C:\Users\SNG-012\.m2\repository\io\netty\netty-all\4.1.36.Final\netty-all-4.1.36.Final.jar;"/>
|
| | | <property name="sun.cpu.endian" value="little"/>
|
| | | <property name="user.home" value="C:\Users\SNG-012"/>
|
| | | <property name="user.language" value="zh"/>
|
| | | <property name="java.specification.vendor" value="Oracle Corporation"/>
|
| | | <property name="java.home" value="C:\Program Files\Java\jdk1.8.0_121\jre"/>
|
| | | <property name="basedir" value="D:\xm4\HangZhouMes\TemperingGlassModule"/>
|
| | | <property name="file.separator" value="\"/>
|
| | | <property name="line.separator" value=" "/>
|
| | | <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
|
| | | <property name="java.specification.name" value="Java Platform API Specification"/>
|
| | | <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
|
| | | <property name="surefire.real.class.path" value="C:\Users\SNG-012\AppData\Local\Temp\surefire33896117267200105\surefirebooter1902636531692371884.jar"/>
|
| | | <property name="sun.boot.class.path" value="C:\Program Files\Java\jdk1.8.0_121\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_121\jre\classes"/>
|
| | | <property name="user.script" value=""/>
|
| | | <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
|
| | | <property name="java.runtime.version" value="1.8.0_121-b13"/>
|
| | | <property name="user.name" value="SNG-012"/>
|
| | | <property name="path.separator" value=";"/>
|
| | | <property name="os.version" value="10.0"/>
|
| | | <property name="java.endorsed.dirs" value="C:\Program Files\Java\jdk1.8.0_121\jre\lib\endorsed"/>
|
| | | <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
|
| | | <property name="file.encoding" value="GBK"/>
|
| | | <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
|
| | | <property name="localRepository" value="C:\Users\SNG-012\.m2\repository"/>
|
| | | <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
|
| | | <property name="java.io.tmpdir" value="C:\Users\SNG-012\AppData\Local\Temp\"/>
|
| | | <property name="idea.version" value="2021.1.3"/>
|
| | | <property name="java.version" value="1.8.0_121"/>
|
| | | <property name="user.dir" value="D:\xm4\HangZhouMes\TemperingGlassModule"/>
|
| | | <property name="os.arch" value="amd64"/>
|
| | | <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
|
| | | <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
|
| | | <property name="sun.os.patch.level" value=""/>
|
| | | <property name="java.library.path" value="C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\vm\bin\;D:\jdk17.0.8\bin;D:\apache-jmeter-5.4.1\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:/benxiaohai/mysql8/mysql8/mysql8\bin;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Tomcat\apache-tomcat-8.0.39\bin;D:\下载\ADB;D;\github\platform-tools;C:\Program Files\python;C:\Program Files\python\Scripts;D:\BtSoft\panel\script;C:\Program Files\Google\Chrome\Application;C:\Program Files\apache-maven-3.9.1\bin;D:\微信web开发者工具\dll;C:\Pro;ram Files (x86)\NetSarang\Xshell 7\;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;D:\工作\apache-ant-1.9.16-bin\apache-ant-1.9.16\bin;D:\工作\Microsoft VS Code\bin;C:\Program Files (x86)\nodejs\;C:\Program Files\Tomcat2\apache-tomcat2\bin;C:\Program Files\Docker;C:\Program Files\Docker\Docker\resources\bin;D:\Erlang OTP\bin;D:\MQ\rabbitmq_server-3.12.12\sbin;D:\python\Scripts\;D:\python\;C:\Users\SNG-012\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Google\Chrome\Application;C:\Users\SNG-012\AppData\Roaming\npm;."/>
|
| | | <property name="java.vm.info" value="mixed mode"/>
|
| | | <property name="java.vendor" value="Oracle Corporation"/>
|
| | | <property name="java.vm.version" value="25.121-b13"/>
|
| | | <property name="java.ext.dirs" value="C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
|
| | | <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
|
| | | <property name="java.class.version" value="52.0"/>
|
| | | </properties>
|
| | | <testcase name="contextLoads" classname="com.mes.MesApplicationTests" time="0.225"/>
|
| | | </testsuite> |
New file |
| | |
| | | -------------------------------------------------------------------------------
|
| | | Test set: com.mes.MesApplicationTests
|
| | | -------------------------------------------------------------------------------
|
| | | Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.389 s - in com.mes.MesApplicationTests
|
| | |
| | | export default { |
| | | serverUrl:"localhost:8080/mesModuleTools" |
| | | serverUrl:"localhost:8080/mesModuleTools", |
| | | serverUrl2:"localhost:8081/mesModuleTools" |
| | | //serverUrl:"res.abeim.cn" |
| | | } |
| | |
| | | { |
| | | "name": "northglass-erp", |
| | | "name": "northglass-mes", |
| | | "version": "0.0.0", |
| | | "lockfileVersion": 2, |
| | | "requires": true, |
| | | "packages": { |
| | | "": { |
| | | "name": "northglass-erp", |
| | | "name": "northglass-mes", |
| | | "version": "0.0.0", |
| | | "dependencies": { |
| | | "@element-plus/icons-vue": "^2.1.0", |
| | |
| | | { |
| | | "name": "northglass-erp", |
| | | "name": "northglass-mes", |
| | | "version": "0.0.0", |
| | | "private": true, |
| | | "scripts": { |
New file |
| | |
| | | import axios from 'axios'
|
| | | import config from '../../config';
|
| | | import useUserInfoStore from '@/stores/userInfo'
|
| | | const userStore=useUserInfoStore()
|
| | | const unloadrequest = axios.create({
|
| | | baseURL: `http://${config.serverUrl2}`, // 注意!! 这里是全局统一加上了 后端接口前缀 前缀,后端必须进行跨域配置!
|
| | | timeout: 5000
|
| | | })
|
| | |
|
| | | //
|
| | |
|
| | | // request 拦截器
|
| | | // 可以自请求发送前对请求做一些处理
|
| | | // 比如统一加token,对请求参数统一加密
|
| | | unloadrequest.interceptors.request.use(config => {
|
| | | config.headers['Content-Type'] = 'application/json;charset=utf-8';
|
| | | if(userStore.user){
|
| | | config.headers['token'] = userStore.user.token;
|
| | | }
|
| | | // 设置请求头
|
| | | return config
|
| | | }, error => {
|
| | | return Promise.reject(error)
|
| | | });
|
| | |
|
| | | // response 拦截器
|
| | | // 可以在接口响应后统一处理结果
|
| | | unloadrequest.interceptors.response.use(
|
| | | response => {
|
| | | let res = response.data;
|
| | | // 如果是返回的文件
|
| | | if (response.config.responseType === 'blob') {
|
| | | return res
|
| | | }
|
| | | // 兼容服务端返回的字符串数据
|
| | | if (typeof res === 'string') {
|
| | | res = res ? JSON.parse(res) : res
|
| | | }
|
| | | return res;
|
| | | },
|
| | | error => {
|
| | | console.log('err' + error) // for debug
|
| | | return Promise.reject(error)
|
| | | }
|
| | | )
|
| | |
|
| | |
|
| | | export default unloadrequest
|
| | |
|
| | |
| | | |
| | | |
| | | var serverPort = "/ws"; // webSocket连接端口 |
| | | var wsuri = "ws://127.0.0.1:12345/ws"; |
| | | var wsuri = "ws://localhost:8081/mesModuleTools"; |
| | | |
| | | function createWebSocket(callback) { |
| | | |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | type: '1200', |
| | | typea: '1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '1200' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '1200' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '1200' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | } |
| | | ] |
| | | const tableDataa = [ |
| | | { |
| | | ida: '3', |
| | | longa: '1005', |
| | | widea: '183.6', |
| | | thicka: '1991', |
| | | }, |
| | | { |
| | | ida: '4', |
| | | longa: '105', |
| | | widea: '183', |
| | | thicka: '191', |
| | | } |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 240px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="玻璃ID" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="位置" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="长" min-width="120" /> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisiblea = true">报缺</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | <div id="awatch"> |
| | | <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;"> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 460px; |
| | | /* margin-top: -60px; */ |
| | | } |
| | | </style> |
| | |
| | | |
| | | import { sendSock, createWebSocket, closeSock } from "@/utils/webSocket" |
| | | |
| | | function global_callback(msg) { |
| | | console.log("websocket的回调函数收到服务器信息:" + JSON.stringify(msg)); |
| | | // console.log("收到服务器信息:" + msg); |
| | | } |
| | | function close(){ |
| | | closeSock(); |
| | | // function global_callback(msg) { |
| | | // console.log("websocket的回调函数收到服务器信息:" + JSON.stringify(msg)); |
| | | // // console.log("收到服务器信息:" + msg); |
| | | // } |
| | | // function close(){ |
| | | // closeSock(); |
| | | |
| | | } |
| | | function sendMessage(){ |
| | | sendSock("123") |
| | | } |
| | | function createSocket(){ |
| | | createWebSocket(global_callback); |
| | | } |
| | | </script> |
| | | // } |
| | | // function sendMessage(){ |
| | | // sendSock("123") |
| | | // } |
| | | // function createSocket(){ |
| | | // createWebSocket(global_callback); |
| | | // } |
| | | // </script> |
| | | |
| | | |
| | | <template> |
New file |
| | |
| | | <template> |
| | | <el-card style="margin-left: 10px; margin-top: 10px; margin-right: 10px;" v-loading="loading"> |
| | | <div style="display: flex;"> |
| | | <div style="margin-left: 400px; font-size: 20px;">工程号:P20240305001 </div> |
| | | <div style="margin-left: 150px; font-size: 20px;">版图编号:1</div> |
| | | </div> |
| | | <svg width="100%" height="690" xmlns="http://www.w3.org/2000/svg" style="margin-top: -40px;"> |
| | | <defs> |
| | | <marker id="arrow" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" viewBox="0 0 12 12" refX="6" |
| | | refY="6" orient="auto"> |
| | | <path d="M2,2 L10,6 L2,10 L2,2" style="fill: #911005;" /> |
| | | </marker> |
| | | </defs> |
| | | <g v-for="(rack, index) in racks" :key="index"> |
| | | <rect |
| | | :x="rack.x" |
| | | :y="rack.y" |
| | | :width="rack.width" |
| | | :height="rack.height" |
| | | :fill="rack.fillColor" |
| | | :data-index="index" |
| | | class="rack-rect" |
| | | style="stroke:#c8c9cc;stroke-width:3;" |
| | | @click="showRectInfo(rack)" |
| | | /> |
| | | <line x1='510' y1='309' x2='260' y2='310' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'> |
| | | </line> |
| | | <line x1='850' y1='309' x2='1100' y2='310' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'> |
| | | </line> |
| | | <line x1='510' y1='409' x2='260' y2='410' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'> |
| | | </line> |
| | | <line x1='1200' y1='650' x2='1200' y2='470' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'> |
| | | </line> |
| | | <text x="370" y="240" dominant-baseline="middle" text-anchor="middle">NG2024030501A-01</text> |
| | | <text x="370" y="260" dominant-baseline="middle" text-anchor="middle">500*300</text> |
| | | |
| | | <text x="970" y="240" dominant-baseline="middle" text-anchor="middle">NG2024030501A-02</text> |
| | | <text x="970" y="260" dominant-baseline="middle" text-anchor="middle">500*300</text> |
| | | |
| | | <text x="600" y="500" dominant-baseline="middle" text-anchor="middle">NG2024030501A-03</text> |
| | | <text x="600" y="520" dominant-baseline="middle" text-anchor="middle">800*450</text> |
| | | |
| | | |
| | | <text x="1280" y="520" dominant-baseline="middle" text-anchor="middle">NG2024030501A-04</text> |
| | | <text x="1280" y="540" dominant-baseline="middle" text-anchor="middle">400*300</text> |
| | | <g v-for="(item, itemIndex) in rack.items" :key="itemIndex"> |
| | | <rect |
| | | :x="calculateItemXPosition(rack, item, itemIndex)" |
| | | :y="calculateItemYPosition(rack, item, itemIndex)" |
| | | :width="item.width" |
| | | :height="item.height" |
| | | :fill="item.fillColor" |
| | | /> |
| | | </g> |
| | | </g> |
| | | </svg> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import Swal from 'sweetalert2' |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | racks: [ |
| | | { |
| | | x: 70, y: 126, width: 600, height: 240, fillColor: '#93d2f3', |
| | | items: [ |
| | | { position: 'top-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456',y: '20'}, |
| | | { position: 'bottom-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' }, |
| | | { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG12345678' } |
| | | ] |
| | | }, |
| | | { |
| | | x: 685, y: 126, width: 600, height: 240, fillColor: '#93d2f3', |
| | | items: [ |
| | | { position: 'bottom-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'top-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' } |
| | | ] |
| | | }, |
| | | { |
| | | x: 70, y: 380, width: 1100, height: 260, fillColor: '#81b337', |
| | | items: [ |
| | | { position: 'top-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'top-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' } |
| | | ] |
| | | }, |
| | | { |
| | | x: 1185, y: 380, width: 200, height: 300,fillColor: '#81b337', |
| | | items: [ |
| | | { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'top-right',width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' }, |
| | | { position: 'top-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' }, |
| | | ] |
| | | } |
| | | |
| | | // Add more racks and items here as needed |
| | | ], |
| | | }; |
| | | }, |
| | | |
| | | methods: { |
| | | calculateItemXPosition(rack, item, index) { |
| | | if (item.position === 'top-right' || item.position === 'bottom-right') { |
| | | return Math.min(rack.x + rack.width - item.width, rack.x + rack.width); |
| | | } else { |
| | | return rack.x; |
| | | } |
| | | }, |
| | | |
| | | calculateItemYPosition(rack, item, index) { |
| | | if (item.position === 'bottom-left' || item.position === 'bottom-right') { |
| | | return Math.min(rack.y + rack.height - item.height, rack.y + rack.height); |
| | | } else { |
| | | return rack.y; |
| | | } |
| | | }, |
| | | |
| | | showCustomAlert(content) { |
| | | Swal.fire({ |
| | | // type: 'warning', // 弹框类型 |
| | | title: '该片玻璃状态', //标题 |
| | | // text: "注销后将无法恢复,请谨慎操作!", //显示内容 |
| | | |
| | | confirmButtonColor: '#3085d6',// 确定按钮的 颜色 |
| | | confirmButtonText: '人工拿走',// 确定按钮的 文字 |
| | | showCancelButton: true, // 是否显示取消按钮 |
| | | cancelButtonColor: '#d33', // 取消按钮的 颜色 |
| | | cancelButtonText: "破损", // 取消按钮的 文字 |
| | | |
| | | // focusCancel: true, // 是否聚焦 取消按钮 |
| | | reverseButtons: true // 是否 反转 两个按钮的位置 默认是 左边 确定 右边 取消 |
| | | }).then((isConfirm) => { |
| | | try { |
| | | //判断 是否 点击的 确定按钮 |
| | | if (isConfirm.value) { |
| | | Swal.fire("人工拿走", "点击了人工拿走", "success"); |
| | | } |
| | | else { |
| | | Swal.fire("破损", "点击了破损", "error"); |
| | | } |
| | | } catch (e) { |
| | | alert(e); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | showRectInfo(rectInfo) { |
| | | const contents = rectInfo.items.map(item => item.content).join(', '); |
| | | this.$nextTick(() => { |
| | | this.showCustomAlert(contents); |
| | | }); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .glass-rack { |
| | | width: 100%; |
| | | height: 80vh; |
| | | } |
| | | .rack-rect:hover { |
| | | cursor: pointer; |
| | | } |
| | | .custom-popover-class { |
| | | background-color: lightgrey; |
| | | color: black; |
| | | border: 1px solid black; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router"; |
| | | let indexFlag=$ref(1) |
| | | function changeRouter(index){ |
| | | indexFlag=index |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <!-- <div id="main-div"> --> |
| | | |
| | | |
| | | <div id="main-body"> |
| | | <router-view /> |
| | | </div> |
| | | <!-- </div> --> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | #main-div{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | #div-title{ |
| | | height: 2%; |
| | | width: 100%; |
| | | } |
| | | #searchButton{ |
| | | margin-top: -5px; |
| | | margin-left: 1rem; |
| | | } |
| | | /* #searchButton1{ |
| | | //margin-left: 10rem; |
| | | } */ |
| | | /*main-body样式*/ |
| | | #main-body{ |
| | | width: 100%; |
| | | height: 95%; |
| | | /* margin-top: 1%; */ |
| | | } |
| | | #select{ |
| | | margin-left:0.5rem; |
| | | } |
| | | :deep(.indexTag .el-breadcrumb__inner){ |
| | | color: #5CADFE !important; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | |
| | | import { ref } from 'vue' |
| | | |
| | | const dialogFormVisible = ref(true) |
| | | const dialogFormVisiblea = ref(false) |
| | | |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="margin-top: 10px;"> |
| | | <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false">摆片版图</el-button> |
| | | <el-button id="searchButton" type="success" @click="dialogFormVisiblea = true;dialogFormVisible = false">已出炉玻璃</el-button> |
| | | <div v-if="dialogFormVisible" > |
| | | <el-card style="margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> |
| | | <div style="display: flex;margin-bottom: 20px;"> |
| | | <div style="margin-left: 400px;font-size: 20px;">工程号:P20240305001 </div> |
| | | <div style="margin-left: 150px;font-size: 20px;">版图编号:1</div> |
| | | </div> |
| | | <div> |
| | | <div id="boxa" style="width: 400px;height: 120px;margin-left: 260px;"> |
| | | <div style="margin-top: 35px;"> NG202405060798A01-1</div> |
| | | <div> 500×1500</div> |
| | | </div> |
| | | <div id="boxa" style="width: 400px;height: 120px;"> |
| | | <div style="margin-top: 35px;"> NG202405060798A01-1</div> |
| | | <div> 500×1500</div> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <div id="boxa" style="width: 400px;height: 120px;margin-left: 260px;"> |
| | | <div style="margin-top: 35px;"> NG202405060798A01-1</div> |
| | | <div> 500×1500</div> |
| | | </div> |
| | | <div id="boxb" style="width: 400px;height: 120px;"> |
| | | <div style="margin-top: 35px;"> NG202405060798A01-1</div> |
| | | <div> 500×1500</div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div v-if="dialogFormVisiblea"> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> |
| | | <el-scrollbar height="630px"> |
| | | <div id="home-card"> |
| | | <div id="home-item" v-for="n in 20" :key="n"> |
| | | <div id="box" style="width: 100px;height: 165px;">100*65</div> |
| | | <div id="box" style="width: 107px;height: 150px;">107*60</div> |
| | | <div id="box" style="width: 107px;height: 155px;">109*60</div> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <style scoped> |
| | | #boxa{ |
| | | border: 1px solid rgb(119, 116, 116); |
| | | background-color: #529b2e; |
| | | text-align: center; |
| | | display: inline-block; |
| | | /* align-items:center; */ |
| | | /* justify-content:center; */ |
| | | margin-left: 20px; |
| | | } |
| | | #boxb{ |
| | | border: 1px solid rgb(119, 116, 116); |
| | | background-color: #a0cfff; |
| | | /* display:flex; */ |
| | | text-align: center; |
| | | display: inline-block; |
| | | align-items:center; |
| | | justify-content:center; |
| | | margin-left: 20px; |
| | | } |
| | | #box{ |
| | | border: 1px solid black; |
| | | background-color: #337ecc; |
| | | display:flex; |
| | | align-items:center; |
| | | justify-content:center; |
| | | } |
| | | #home-card { |
| | | width: 100%; |
| | | overflow: hidden; |
| | | padding: 10px 0px; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | #home-item { |
| | | border-style: solid; |
| | | border-width: 1px; |
| | | border-color: #E4E4E4; |
| | | width: calc(34% - 20px); |
| | | padding: 20px 0px 20px 20px; |
| | | margin-right: 10px; |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | justify-content: center; |
| | | /* align-items: center; */ |
| | | background: #fff; |
| | | #home-img { |
| | | display: inline-block; |
| | | width: 160px; |
| | | height: 60px; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | #home-right { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: flex-start; |
| | | margin-left: 10px; |
| | | #home-num { |
| | | font-size: 40px; |
| | | margin: 5px 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | |
| | | import { ref } from 'vue' |
| | | |
| | | const dialogFormVisible = ref(true) |
| | | const dialogFormVisiblea = ref(false) |
| | | |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="margin-top: 10px;"> |
| | | <div> |
| | | <el-card style="margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> |
| | | <div style="display: flex;margin-top: 20px;"> |
| | | <div style="margin-left: 400px;font-size: 20px;">工程号:P20240305001 </div> |
| | | <div style="margin-left: 150px;font-size: 20px;">版图编号:1</div> |
| | | </div> |
| | | <div> |
| | | <div id="boxa" style="width: 700px;height: 220px;margin-left: 260px;"> |
| | | <div style="margin-top: 85px;"> NG202405060798A01-1</div> |
| | | <div> 500×1500</div> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <style scoped> |
| | | #boxa{ |
| | | border: 1px solid rgb(119, 116, 116); |
| | | background-color: #529b2e; |
| | | text-align: center; |
| | | display: inline-block; |
| | | margin-left: 20px; |
| | | margin-top: 70px; |
| | | margin-bottom: 50px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | |
| | | import {reactive} from "vue"; |
| | | |
| | | |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | },//表头参数 |
| | | columns:[ |
| | | {type:'expand',slots: { content:'content' },width: 50,fixed:"left"}, |
| | | {type:'checkbox',title: '选则', width: 80,fixed:"left"}, |
| | | {type: 'seq', title: '自序', width: 80 ,fixed:"left"}, |
| | | {field: '0',width:120, title: '发货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '1',width:120, title: '批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '2',width:120, title: '可退数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '3',width:120, title: '已退数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '4',width:120, title: '总数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5',width:120, title: '退货数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '6',width:120, title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '7',width:120, title: '产品编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '8',width:120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '9',width:120, title: '单价',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '10',width:120, title: '库区',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '11',width:120, title: '金额',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '12',width:120, title: '宽',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '13',width:120, title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '14',width:120, title: '形状',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '15',width:120, title: '单片面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '16',width:120, title: '总面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '17',width:120, title: '结算单片面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '18',width:120, title: '结算总面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '19',width:120, title: '加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '20',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '21',width:120, title: '磨边类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '22',width:120, title: '周长',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | |
| | | |
| | | ],//表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {'code': 'add', 'name': '保存',status: 'primary',icon: 'vxe-icon-save'} |
| | | ], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true |
| | | }, |
| | | data: [ |
| | | ],//table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | return '' |
| | | }) |
| | | ] |
| | | } |
| | | |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="main-div"> |
| | | <div class="order-primary" style="background-color: white" > |
| | | <el-row> |
| | | <el-col :span="2"><el-text>客户编码:</el-text></el-col> |
| | | <el-col :span="5"><el-text style="font-size: large;color: #181818">131</el-text></el-col> |
| | | <el-col :span="2"><el-text>客户名称:</el-text></el-col> |
| | | <el-col :span="5"><el-text></el-text></el-col> |
| | | <el-col :span="2"><el-text>项目名称:</el-text></el-col> |
| | | <el-col :span="5"><el-text></el-text></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="2"><el-text>退货方式:</el-text></el-col> |
| | | <el-col :span="5"> |
| | | <el-select clearable > |
| | | <el-option/> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="2"><el-text>退货日期:</el-text></el-col> |
| | | <el-col :span="5"> |
| | | <el-date-picker |
| | | type="week" |
| | | format="[Week] ww" |
| | | placeholder="选择日期"/> |
| | | </el-col> |
| | | <el-col :span="2"><el-text>备注:</el-text></el-col> |
| | | <el-col :span="5"><el-text></el-text></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="2"><el-text>业务员:</el-text></el-col> |
| | | <el-col :span="5"><el-text style="font-size: large;color: #181818"></el-text></el-col> |
| | | <el-col :span="2"><el-text>发货员:</el-text></el-col> |
| | | <el-col :span="5"><el-text style="font-size: large;color: #181818"></el-text></el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="order-detail"> |
| | | <vxe-grid |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | |
| | | > |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template #content="{ row}"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,key,index) in row"> |
| | | <span style="font-weight: bold">{{key+': '}}</span> |
| | | <span>{{ item }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | </vxe-grid> |
| | | </div> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .main-div { |
| | | width: 100%; |
| | | height: 100%; |
| | | text-align: center; |
| | | } |
| | | .el-col{ |
| | | border: #181818 1px solid; |
| | | } |
| | | :deep(.el-input__wrapper) { |
| | | box-shadow: 0 0 0 0 var(--el-input-border-color, var(--el-border-color)) inset; |
| | | cursor: default; |
| | | border: none !important; |
| | | background-color: transparent; |
| | | } |
| | | .order-primary{ |
| | | width: 100%; |
| | | } |
| | | .order-detail{ |
| | | width: 100%; |
| | | height: 70%; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | |
| | | import {Folder, Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | |
| | | let titleList = [ |
| | | '序号', |
| | | '退货单号', |
| | | '发货单号', |
| | | '订单单号', |
| | | '项目名称', |
| | | '客户名称', |
| | | '业务员', |
| | | '送货地址', |
| | | '发货员', |
| | | '楼号', |
| | | '产品编号', |
| | | '产品名称', |
| | | '退货数量', |
| | | '周长', |
| | | '实际面积', |
| | | '发货面积', |
| | | '单价', |
| | | '发货金额', |
| | | '宽', |
| | | '高', |
| | | '形状', |
| | | '磨边类型', |
| | | '备注', |
| | | '加工要求', |
| | | '建立时间' |
| | | |
| | | |
| | | |
| | | |
| | | ] |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | },//表头参数 |
| | | columns:[ |
| | | |
| | | {type:'expand',slots: { content:'content' },width: 50,fixed:"left"}, |
| | | {type: 'seq', title: '自序', width: 80 ,fixed:"left"}, |
| | | {field: '0',width:120, title: '退货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '1',width:120, title: '发货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '2',width:120, title: '订单单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '3',width:120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '4',width:120, title: '客户名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5',width:120, title: '业务员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '6',width:120, title: '送货地址',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '7',width:120, title: '发货员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '8',width:120, title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '9',width:120, title: '产品编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '10',width:120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '11',width:120, title: '退货数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '12',width:120, title: '周长',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '13',width:120, title: '实际面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '14',width:120, title: '退货面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '15',width:120, title: '单价',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '16',width:120, title: '退货金额',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '17',width:120, title: '宽',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '18',width:120, title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '19',width:120, title: '形状',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '20',width:120, title: '磨边类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '21',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '22',width:120, title: '加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '22',width:120, title: '建立时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true} |
| | | |
| | | |
| | | ],//表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | ], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true |
| | | }, |
| | | data: [ |
| | | ],//table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | return '' |
| | | }) |
| | | ] |
| | | } |
| | | |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="main-div"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | type="daterange" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">查询</el-button> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Folder">导出</el-button> |
| | | <div class="order-detail"> |
| | | <vxe-grid |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | |
| | | > |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template #content="{ row}"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,key,index) in row"> |
| | | <span style="font-weight: bold">{{key+': '}}</span> |
| | | <span>{{ item }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | </vxe-grid> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .main-div { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .el-col{ |
| | | border: #181818 1px solid; |
| | | } |
| | | .order-primary{ |
| | | width: 100%; |
| | | } |
| | | .order-detail{ |
| | | width: 100%; |
| | | height: 80%; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router" |
| | | import {reactive, ref} from "vue"; |
| | | const router = useRouter() |
| | | |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { deliveryID: 'JG24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | const xGrid = ref() |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | },//表头参数 |
| | | columns:[ |
| | | |
| | | {type:'expand',slots: { content:'content' },width: 50,fixed:"left"}, |
| | | {title: '操作',slots: { default: 'button_slot' }, width: 80,fixed:"left"}, |
| | | {type: 'seq', title: '自序', width: 80 ,fixed:"left"}, |
| | | |
| | | {title: '审核', width: 40, slots: { default: 'state' }}, |
| | | {title: '出库', width: 40, slots: { default: 'state' }}, |
| | | |
| | | {field: '1',width:120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '2',width:120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '3',width:120, title: '客户名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '4',width:120, title: '总数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5',width:120, title: '可用库存',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '6',width:120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '7',width:120, title: '批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '8',width:120, title: '总金额',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '9',width:120, title: '结算总面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '10',width:120, title: '报表日期',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '11',width:120, title: '包装方式',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '12',width:120, title: '订单类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '13',width:120, title: '订单类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '14',width:120, title: '订单类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true} |
| | | |
| | | |
| | | ],//表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | ], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true |
| | | }, |
| | | data: [ |
| | | { |
| | | '0': '1', |
| | | '1': 'NG23110102', |
| | | '2': '11', |
| | | '3': '中建', |
| | | '4': '534', |
| | | '5': '116', |
| | | '6': '黄石有轨电车', |
| | | '7': '20批', |
| | | '8': '111100.02', |
| | | '9': '1008.38', |
| | | '10': '2023-10-30', |
| | | '11': '叉车木箱', |
| | | '12': '普通订单', |
| | | '13': '', |
| | | '14': '王龙' |
| | | }, |
| | | { |
| | | '0': '1', |
| | | '1': 'NG23110101', |
| | | '2': '11', |
| | | '3': '中建', |
| | | '4': '534', |
| | | '5': '116', |
| | | '6': '黄石有轨电车', |
| | | '7': '20批', |
| | | '8': '111100.02', |
| | | '9': '1008.38', |
| | | '10': '2023-10-30', |
| | | '11': '叉车木箱', |
| | | '12': '普通订单', |
| | | '13': '', |
| | | '14': '王龙' |
| | | } |
| | | ],//table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | return '' |
| | | }) |
| | | ] |
| | | } |
| | | |
| | | }) |
| | | const gridEvents = { |
| | | toolbarButtonClick ({ code }) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'add': { |
| | | router.push({path: '/main/delivery/createDelivery', params: { orderID: 'NG24010101' }}) |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="width: 100%;height: 100%"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | type="daterange" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">查询</el-button> |
| | | <vxe-grid |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | |
| | | > |
| | | <template #state="{ row}"> |
| | | <el-checkbox checked/> |
| | | </template> |
| | | |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row }"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined "> |
| | | <span style="font-weight: bold">{{item.title+': '}}</span> |
| | | <span>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">退货</el-button> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | const dialogFormVisible = ref(false) |
| | | const dialogFormVisiblea = ref(false) |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191' |
| | | } |
| | | ] |
| | | const tableDataa = [ |
| | | { |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | station: '1' |
| | | }, |
| | | { |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | station: '2' |
| | | } |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | },//表头参数 |
| | | // columns:[ |
| | | // {type:'expand',slots: { content:'content' },width: 50}, |
| | | // // {title: '操作', width: 110, slots: { default: 'button_slot' }}, |
| | | // {type: 'seq', title: '自序', width: 80 }, |
| | | |
| | | // // {title: '审核', width: 40, slots: { default: 'state' }}, |
| | | // {title: 'id', width: 140, slots: { default: 'state' }}, |
| | | // {title: '长', width: 160, slots: { default: 'state' }}, |
| | | // {title: '宽', width: 160, slots: { default: 'state' }}, |
| | | // {title: '厚', width: 160, slots: { default: 'state' }}, |
| | | |
| | | // // {field: '3',width:120, title: '退货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | // ], |
| | | //表头按钮 |
| | | // toolbarConfig: { |
| | | // buttons: [], |
| | | // import: false, |
| | | // export: true, |
| | | // print: true, |
| | | // zoom: true, |
| | | // custom: true |
| | | // }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | //table body实际数据 |
| | | // footerMethod ({ columns, data }) {//页脚函数 |
| | | // return[ |
| | | // columns.map((column, columnIndex) => { |
| | | // if (columnIndex === 0) { |
| | | // return '合计:' |
| | | // } |
| | | // // if (props.tableProp.footList.includes(column.field)) { |
| | | // // return sumNum(data, column.field) |
| | | // // } |
| | | // return '' |
| | | // }) |
| | | // ] |
| | | // } |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <!-- <el-date-picker |
| | | v-model="value1" |
| | | type="daterange" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> --> |
| | | <!-- <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">查询</el-button> --> |
| | | <el-button style="margin-top: -5px;margin-left: 5px;" id="searchButton" type="primary" @click="dialogFormVisible = true">上片输入</el-button> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" @click="dialogFormVisiblea = true">原片信息</el-button> |
| | | <!-- <el-button style="margin-top: -5px" id="searchButton" type="danger">人工拿走</el-button> --> |
| | | |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto"> |
| | | <el-table height="100%" ref="table" :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="id" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="thick" align="center" label="厚" min-width="120" /> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="open">人工拿111走</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | |
| | | |
| | | <el-dialog v-model="dialogFormVisible" top="21vh" width="40%" title="上片输入" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form > |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="工位:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="长:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="宽:" :required="true" style="width: 13.2vw;margin-left: 14px;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="厚:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" title="原片信息"> |
| | | <el-table height="100%" ref="table" :data="tableDataa" @row-click="handle"> |
| | | <el-table-column |
| | | prop="long" |
| | | align="center" |
| | | label="长" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="wide" |
| | | align="center" |
| | | label="宽" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="thick" |
| | | align="center" |
| | | label="厚" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="station" |
| | | align="center" |
| | | label="工位" |
| | | min-width="120" |
| | | /> |
| | | </el-table> |
| | | <div style="text-align: center; height: 22px; margin-top: 30px;"> |
| | | <el-button @click="dialogFormVisiblea = false">关闭</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script lang="ts" setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | import type { TableColumnCtx } from 'element-plus' |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | const dialogFormVisible = ref(false) |
| | | const add = ref(false) |
| | | const adda = ref(false) |
| | | |
| | | const value = ref('') |
| | | |
| | | interface User { |
| | | id: string |
| | | name: string |
| | | amount1: string |
| | | amount2: string |
| | | amount3: number |
| | | } |
| | | |
| | | interface SpanMethodProps { |
| | | row: User |
| | | column: TableColumnCtx<User> |
| | | rowIndex: number |
| | | columnIndex: number |
| | | } |
| | | |
| | | const objectSpanMethod = ({ |
| | | row, |
| | | column, |
| | | rowIndex, |
| | | columnIndex, |
| | | }: SpanMethodProps) => { |
| | | if (columnIndex === 0) { |
| | | if (rowIndex % 2 === 0) { |
| | | return { |
| | | rowspan: 2, |
| | | colspan: 1, |
| | | } |
| | | } else { |
| | | return { |
| | | rowspan: 0, |
| | | colspan: 0, |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | const options = [ |
| | | { |
| | | value: 'Option1', |
| | | label: 'P202561456', |
| | | }, |
| | | { |
| | | value: 'Option2', |
| | | label: 'P202561456', |
| | | }, |
| | | { |
| | | value: 'Option3', |
| | | label: 'P202561456', |
| | | }, |
| | | { |
| | | value: 'Option4', |
| | | label: 'P202561456', |
| | | }, |
| | | { |
| | | value: 'Option5', |
| | | label: 'P202561456', |
| | | }, |
| | | ] |
| | | const tableData: User[] = [ |
| | | |
| | | { |
| | | id: 'P202561456', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | }, |
| | | { |
| | | id: 'P202561456', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | } |
| | | ] |
| | | const tableDataa = [ |
| | | { |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | station: '1' |
| | | }, |
| | | { |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | station: '1' |
| | | } |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | state: true |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <div id="dotClass"> |
| | | <div>打标机就绪状态:</div> |
| | | <i style="margin-top: 2px; background-color: green;width:18px; height:18px; border-radius: 50%; display: block"></i> |
| | | <el-button style="margin-left: 30px;margin-top: -3px;">手动确认</el-button> |
| | | |
| | | <div style="margin-left: 70px;">切割机就绪状态:</div> |
| | | <i style="margin-top: 2px; background-color: #911005 ;width:18px; height:18px; border-radius: 50%; display: block"></i> |
| | | <el-button style="margin-left: 30px;margin-top: -3px;" >手动确认</el-button> |
| | | </div> |
| | | <el-button style="margin-top: 5px;margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true">选择工程</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary">开始上片</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" >暂停</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" >停止任务</el-button> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto"> |
| | | <!-- <el-table height="100%" ref="table" :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="工程号" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="原片宽" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="原片长" min-width="120" /> |
| | | <el-table-column prop="thick" align="center" label="膜系" min-width="120" /> |
| | | <el-table-column prop="thick" align="center" label="数量" min-width="120" /> |
| | | <el-table-column |
| | | align="center" |
| | | label="状态" |
| | | min-width="80" |
| | | > |
| | | <el-tag type="success">就绪</el-tag> |
| | | </el-table-column> |
| | | </el-table> --> |
| | | <el-table |
| | | height="100%" |
| | | ref="table" |
| | | :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" |
| | | :data="tableData" |
| | | :span-method="objectSpanMethod" |
| | | > |
| | | <el-table-column prop="id" label="工程号" width="200" align="center"/> |
| | | <el-table-column prop="long" label="原片宽" align="center"/> |
| | | <el-table-column prop="wide" label="原片长" align="center"/> |
| | | <el-table-column prop="thick" label="膜系" align="center"/> |
| | | <el-table-column prop="thick" label="数量" align="center"/> |
| | | <el-table-column prop="wide" label="厚度" align="center"/> |
| | | <el-table-column |
| | | align="center" |
| | | label="状态" |
| | | min-width="80" |
| | | > |
| | | <el-tag type="success">就绪</el-tag> |
| | | <!-- <el-tag type="danger">未就绪</el-tag> --> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | <div id="parent"> |
| | | <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 130px;"> |
| | | <el-button style="margin-top: -830px;margin-left: -40px;" size="mini" id="searchButton" @click="add = true">添加原片</el-button> |
| | | <el-button style="margin-top: -10px;margin-left: -80px;" size="mini" id="searchButton" @click="adda = true">添加原片</el-button> |
| | | <!-- <div id="overlay" v-show="state"></div> --> |
| | | <!-- <div id="overlaya" v-show="statea"></div> --> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="工程" > |
| | | <div style="margin-left: 50px;margin-bottom: 10px;"> |
| | | <el-form-item label="工程号:" :required="true"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择工程" |
| | | style="width: 300px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="add" top="23vh" width="45%" title="添加原片" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="70px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="长:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="宽:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="膜系:" :required="true" style="width: 14vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="厚度:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="数量:" :required="true" style="width: 14vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="getTableRow('edit')"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="add = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="adda" top="23vh" width="45%" title="添加原片" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" > |
| | | <el-form label-width="70px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="长:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" style="width: 180px" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="宽:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" style="width: 180px" /> |
| | | </el-form-item></div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="膜系:" :required="true" style="width: 14vw;"> |
| | | <el-input autocomplete="off" style="width: 180px" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="厚度:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" style="width: 180px" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="数量:" :required="true" style="width: 14vw;"> |
| | | <el-input autocomplete="off" style="width: 180px" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="adda = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="adda = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #dotClass { |
| | | display: flex; |
| | | margin-left: 20px; |
| | | size: 50px; |
| | | margin-top: 20px; |
| | | margin-bottom: 20px; |
| | | } |
| | | #parent{ |
| | | position: relative; |
| | | } |
| | | #overlay{ |
| | | position: absolute; |
| | | z-index: 1; |
| | | width: 212px; |
| | | height: 15px; |
| | | background-color: #529b2e; |
| | | margin-top: -407px; |
| | | margin-left: 171px; |
| | | } |
| | | #overlaya{ |
| | | position: absolute; |
| | | z-index: 1; |
| | | width: 212px; |
| | | height: 15px; |
| | | background-color: #529b2e; |
| | | margin-top: -40px; |
| | | margin-left: 167px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script lang="ts" setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | const dialogFormVisible = ref(false) |
| | | const dialogFormVisiblea = ref(false) |
| | | const dialogFormVisibleb = ref(false) |
| | | |
| | | const currentPage4 = ref(4) |
| | | const pageSize4 = ref(100) |
| | | // const tableData = [ |
| | | // { |
| | | // id: '1', |
| | | // long: '1005', |
| | | // wide: '183.6', |
| | | // thick: '1991', |
| | | // type: '1234567', |
| | | // typea: '1', |
| | | // }, |
| | | // ] |
| | | // const tableDatab = [ |
| | | // { |
| | | // idb: '2', |
| | | // longb: '105', |
| | | // wideb: '183', |
| | | // typeb: '123456', |
| | | // } |
| | | // ] |
| | | const tableDataa = [ |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | { |
| | | ida: '3', |
| | | typea: '1991', |
| | | }, |
| | | ] |
| | | |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm( |
| | | '确定要急停吗?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '否', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '急停成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '急停失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="height: 700px;"> |
| | | <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisible = true">手动进片</el-button> --> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">订单信息</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">出片队列</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">终止进片</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">终止出片</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">软急停</el-button> |
| | | |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="出片玻璃ID" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="笼子" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="格子" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="钢化版图号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="尺寸" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="结束任务" min-width="120" /> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="idb" align="center" label="进片玻璃ID" min-width="80" /> |
| | | <el-table-column prop="longb" align="center" label="笼子" min-width="120" /> |
| | | <el-table-column prop="wideb" align="center" label="格子" min-width="120" /> |
| | | <el-table-column prop="typeb" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="typeb" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="typeb" align="center" label="钢化版图号" min-width="120" /> |
| | | <el-table-column prop="typeb" align="center" label="尺寸" min-width="120" /> |
| | | <el-table-column prop="typeb" align="center" label="结束任务" min-width="120" /> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | <div style="padding: 10px;display: flex;height:110px;"> |
| | | <div v-for="n in 9" :key="n" id="occupy"> |
| | | <el-col style="text-align:left;font-weight: bold;">#1</el-col> |
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;"> |
| | | <span id="biao">使用率</span><span id="zhi">33%</span> |
| | | </el-col> |
| | | <hr style="width:80%;margin: 0 auto;" /> |
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;"> |
| | | <span id="biao">空间(片数)</span><span id="zhi">555</span> |
| | | </el-col> |
| | | </div> |
| | | </div> |
| | | <div id="awatch"> |
| | | <img src="../../assets/xmjc.png" alt="" style="width: 70%;height: 100%;margin-left: 160px;"> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="请确认玻璃信息" > |
| | | <div style="margin-left: 50px;margin-bottom: 10px;"> |
| | | <div style="display: flex;"> |
| | | <p style="margin-top: 4px;">确认状态:</p> |
| | | <el-button style="margin-left: 10px;size: mini;" type="success">允许</el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="danger">不允许</el-button> |
| | | <p style="margin-left: 60px;margin-top: 4px;">当前状态:</p> |
| | | <div style="margin-top: 4px; margin-left: 10px;">手动</div> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">切换</el-button> |
| | | <el-input placeholder="请输入玻璃id" style="width: 180px;size: mini;margin-left: 60px;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button> |
| | | <p style="margin-left: 60px;margin-top: 4px;">玻璃id:</p> |
| | | <el-input style="width: 180px;size: mini;margin-left: 30px;"></el-input> |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <p style="margin-left: 290px;margin-top: 20px;font-weight: bold;">上片位</p> |
| | | <p style="margin-left: 630px;margin-top: 20px;font-weight: bold;">扫码位</p> |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="订单信息" > |
| | | <el-input placeholder="请输入工程号" style="width: 180px;size: mini;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">查询</el-button> |
| | | <el-table ref="table" style="margin-top: 20px;height: 500px;" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="ida" align="center" label="玻璃id" min-width="80" /> |
| | | <el-table-column prop="typea" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="厚" min-width="120" /> |
| | | </el-table> |
| | | <div id="demo-pagination-block"> |
| | | <el-pagination |
| | | style="margin-left: 850px;" |
| | | v-model:current-page="currentPage4" |
| | | v-model:page-size="pageSize4" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | | :small="small" |
| | | :disabled="disabled" |
| | | :background="background" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="出片队列" > |
| | | <div style="display: flex;"> |
| | | <p style="margin-top: 4px;">队列状态:</p> |
| | | <p style="margin-top: 4px;">开始</p> |
| | | <el-button style="margin-left: 10px;size: mini;" type="danger">停止</el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button> |
| | | </div> |
| | | <el-table ref="table" style="margin-top: 20px;height: 500px;" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="铝框id" min-width="80" /> |
| | | <el-table-column prop="type" align="center" label="玻璃id" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="订单编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="列表编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="箱子编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="玻璃状态" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="顺序" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="完成" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="操作" min-width="120" /> |
| | | </el-table> |
| | | </el-dialog> |
| | | |
| | | </template> |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #occupy { |
| | | height: 100%; |
| | | width: 10%; |
| | | background-color: white; |
| | | margin: 0px 8px 0px 8px; |
| | | border: 1px #EBEEF5 solid; |
| | | text-align: center; |
| | | padding: 5px; |
| | | } |
| | | #biao { |
| | | font-size: 12px; |
| | | } |
| | | #zhi { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | } |
| | | #demo-pagination-block + #demo-pagination-block { |
| | | margin-top: 10px; |
| | | } |
| | | #demo-pagination-block #demonstration { |
| | | margin-bottom: 16px; |
| | | } |
| | | ::-webkit-scrollbar { |
| | | width: 0 !important; |
| | | } |
| | | ::-webkit-scrollbar { |
| | | width: 0 !important;height: 0; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-header height="auto"> |
| | | <el-descriptions |
| | | class="margin-top" |
| | | title="" |
| | | :column="4" |
| | | :size="'default'" |
| | | border |
| | | :rules="rules" |
| | | :model="ruleForm" |
| | | > |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy" prop="name"> |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 采购类型 |
| | | </template> |
| | | <!-- <el-select v-model="form.buyType" class="m-2" placeholder="选择采购类型" clearable>--> |
| | | <el-select v-model="ruleForm.name" class="m-2" placeholder="选择采购类型" clearable> |
| | | <el-option |
| | | v-for="item in CGTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-descriptions-item > |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 采购组织 |
| | | </template> |
| | | <el-input v-model="ruleForm.name" placeholder="采购组织" clearable prop="name"></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 供应商 |
| | | </template> |
| | | <el-cascader |
| | | placeholder="选择供应商" |
| | | :options="buyerOptions" |
| | | filterable |
| | | clearable |
| | | empty-text="empty-text" |
| | | :v-model="form.supplier" |
| | | > |
| | | </el-cascader> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 采购部门 |
| | | </template> |
| | | <el-select v-model="cgBuMen" class="m-2" placeholder="选择采购部门" clearable> |
| | | <el-option |
| | | v-for="item in CGBuMenOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-descriptions-item> |
| | | |
| | | |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 采购员 |
| | | </template> |
| | | <el-select v-model="form.buyer" class="m-2" placeholder="选择采购员" clearable> |
| | | <el-option |
| | | v-for="item in BuyerOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy" |
| | | > |
| | | <template #label> |
| | | <span style="color:red">*</span> |
| | | 制表日期 |
| | | </template> |
| | | <el-date-picker |
| | | v-model="form.date" |
| | | type="date" |
| | | placeholder="选择制表日期" |
| | | |
| | | /> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"></el-descriptions-item> |
| | | </el-descriptions> |
| | | |
| | | </el-header> |
| | | |
| | | <el-main style="padding-top: 5px;height:100%"> |
| | | <!-- <el-button class="mt-4" style="width: 10%" @click="onAddItem" |
| | | >添加 |
| | | </el-button>--> |
| | | |
| | | <vxe-grid |
| | | |
| | | max-height="500" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | @="gridEvents" |
| | | > |
| | | |
| | | <!-- @toolbar-button-click="toolbarButtonClickEvent"--> |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row}"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,key,index) in row"> |
| | | <span style="font-weight: bold">{{ key + ': ' }}</span> |
| | | <span>{{ item }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button> |
| | | <!-- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>--> |
| | | <!-- <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>--> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <el-input v-model="option.data" @input="changeFilterEvent($event, option, $panel)" /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | </el-main> |
| | | |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import {ref, reactive} from 'vue' |
| | | import {useRouter} from "vue-router"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | |
| | | let router = useRouter() |
| | | |
| | | //组件接收参数 |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY: {enabled: true},//开启虚拟滚动 |
| | | showOverflow: true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | columns: [ |
| | | //{title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"}, |
| | | {type: 'seq', fixed: "left", title: ' ', width: 50}, |
| | | {type: 'checkbox', fixed: "left", title: '', width: 50}, |
| | | //{type: 'expand', title: '详情', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | { |
| | | field: 'cgdh', |
| | | width: '10%', |
| | | title: '物料编码', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'cgzt', |
| | | width: '10%', |
| | | title: '物料名称', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'gys', |
| | | width: '10%', |
| | | title: '产地', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'w', |
| | | width: '8%', |
| | | title: '宽度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'g', |
| | | width: '8%', |
| | | title: '高度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true, |
| | | type: 'number' |
| | | }, |
| | | { |
| | | field: 'h', |
| | | width: '8%', |
| | | title: '厚度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'xh', |
| | | width: '8%', |
| | | title: '型号',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'dw', |
| | | width: '8%', |
| | | title: '单位', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '8%', |
| | | title: '数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '8%', |
| | | title: '操作数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}} |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '12%', |
| | | title: '箱数', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'je', |
| | | width: '8%', |
| | | title: '单片面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'je', |
| | | width: '12%', |
| | | title: '单价', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: '6', |
| | | width: '8%', |
| | | title: '总数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '8%', |
| | | title: '总面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'yl', |
| | | width: '10%', |
| | | title: '总金额',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'yl', |
| | | width: '10%', |
| | | title: '备注', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | } |
| | | ],//表头参数 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {type: 'text'}, |
| | | { |
| | | 'name': '新增', |
| | | |
| | | 'code': 'Add', |
| | | }, |
| | | { |
| | | 'name': '移除', |
| | | |
| | | 'code': 'Remove' |
| | | }, |
| | | { |
| | | 'name': '保存订单', |
| | | status: 'primary', |
| | | 'code': 'Save' |
| | | }, { |
| | | 'name': '入库', |
| | | status: 'primary', |
| | | 'code': 'Storage' |
| | | }/*, |
| | | { |
| | | 'name': '退货', |
| | | status: 'primary', |
| | | 'code': 'Return' |
| | | }, |
| | | { |
| | | 'name': '返回查询', |
| | | |
| | | 'code':'GoSelect' |
| | | }*/], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true, |
| | | tools: [], |
| | | |
| | | },//表头按钮 |
| | | /*data: [{},{},{},{},{},{}],//table body实际数据*/ |
| | | data: [{}, {}, {}],//table body实际数据 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 3} |
| | | ],//合并脚 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | /* if (props.tableProp.footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | }*/ |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | | const xGrid = ref() |
| | | const gridEvents = { |
| | | toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | //新增 |
| | | case 'Add': { |
| | | const record = { |
| | | checked: false |
| | | } |
| | | $grid.insertAt(record, 0).then(({row}) => { |
| | | $grid.setEditRow(row) |
| | | }) |
| | | break |
| | | } |
| | | //移除 |
| | | case 'Remove': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据','warning'); |
| | | return |
| | | } else { |
| | | |
| | | MessageConfirmShow('移除','是否确认移除选中的' + $grid.getCheckboxRecords().length + '条数据!'); |
| | | |
| | | } |
| | | break |
| | | } |
| | | //保存 |
| | | case 'Save': { |
| | | /*if (form.buyItem === null || form.buyItem === '') { |
| | | MessageShow('采购组织不可为空','warning'); |
| | | return; |
| | | } |
| | | */ |
| | | //选中数据 |
| | | /* const $table = this.$refs.xTable |
| | | const selectRecords = $table.getCheckboxRecords()*/ |
| | | //+$grid.rows.number |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据','warning'); |
| | | return |
| | | } else { |
| | | |
| | | |
| | | MessageConfirmShow('保存订单','是否确定保存当前订单信息'); |
| | | } |
| | | break |
| | | } |
| | | //入库 |
| | | case 'Storage': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据','warning'); |
| | | return |
| | | } else { |
| | | MessageConfirmShow('入库','您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?') |
| | | } |
| | | break |
| | | } |
| | | //退库 |
| | | case 'Return': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据','warning'); |
| | | return |
| | | } else { |
| | | |
| | | |
| | | } |
| | | break |
| | | } |
| | | |
| | | } |
| | | } |
| | | }, |
| | | toolbarToolClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'myPrint': { |
| | | $grid.print() |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | |
| | | |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | |
| | | |
| | | |
| | | |
| | | interface RuleForm { |
| | | name: string |
| | | region: string |
| | | count: string |
| | | date1: string |
| | | date2: string |
| | | delivery: boolean |
| | | type: string[] |
| | | resource: string |
| | | desc: string |
| | | } |
| | | const ruleFormRef = ref<FormInstance>() |
| | | const ruleForm = reactive<RuleForm>({ |
| | | name: '', |
| | | region: '', |
| | | count: '', |
| | | date1: '', |
| | | date2: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | }) |
| | | const rules = reactive<FormRules<RuleForm>>({ |
| | | name: [ |
| | | { required: true, message: 'Please input Activity name', trigger: 'blur' }, |
| | | { min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur' }, |
| | | ], |
| | | region: [ |
| | | { |
| | | required: true, |
| | | message: 'Please select Activity zone', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | count: [ |
| | | { |
| | | required: true, |
| | | message: 'Please select Activity count', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | date1: [ |
| | | { |
| | | type: 'date', |
| | | required: true, |
| | | message: 'Please pick a date', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | date2: [ |
| | | { |
| | | type: 'date', |
| | | required: true, |
| | | message: 'Please pick a time', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | type: [ |
| | | { |
| | | type: 'array', |
| | | required: true, |
| | | message: 'Please select at least one activity type', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | resource: [ |
| | | { |
| | | required: true, |
| | | message: 'Please select activity resource', |
| | | trigger: 'change', |
| | | }, |
| | | ], |
| | | desc: [ |
| | | { required: true, message: 'Please input activity form', trigger: 'blur' }, |
| | | ], |
| | | }) |
| | | |
| | | |
| | | const form = reactive({ |
| | | name: '', |
| | | region: '', |
| | | date: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | supplier: '', |
| | | buyer: '', |
| | | buyItem: '', |
| | | buyType: '' |
| | | |
| | | }) |
| | | |
| | | //供应商 |
| | | const buyerOptions = [ |
| | | {value: '0', label: '供应商1'}, |
| | | {value: '1', label: '供应商2'}, |
| | | {value: '2', label: '供应商3'}, |
| | | {value: '3', label: '供应商4'}, |
| | | {value: '4', label: '供应商5'}, |
| | | {value: '5', label: '供应商6'}, |
| | | ] |
| | | |
| | | |
| | | const value = ref('') |
| | | const cgBuMen = ref('') |
| | | |
| | | //采购类型 |
| | | const CGTypeOptions = [ |
| | | { |
| | | value: '1', |
| | | label: '标准类型', |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '非标准类型', |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '追加采购', |
| | | }, |
| | | |
| | | ] |
| | | |
| | | //采购部门 |
| | | const CGBuMenOptions = [ |
| | | { |
| | | value: '0', |
| | | label: '采购华北部', |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '采购东南部', |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '采购西北部', |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '采购中原部', |
| | | }, |
| | | { |
| | | value: '4', |
| | | label: '采购外国部', |
| | | }, |
| | | |
| | | ] |
| | | |
| | | //采购人 |
| | | const BuyerOptions = [ |
| | | { |
| | | value: '0', |
| | | label: '采购员1', |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '采购员2', |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '采购员3', |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '采购员4', |
| | | }, |
| | | { |
| | | value: '4', |
| | | label: '采购员5', |
| | | }, |
| | | |
| | | ] |
| | | |
| | | //页面逻辑代码执行 |
| | | function logicExecute(type){ |
| | | const $grid = xGrid.value |
| | | switch (type) { |
| | | case '入库': |
| | | //入库逻辑代码TODO |
| | | MessageShow('入库成功!', 'success'); |
| | | break; |
| | | case '退货': |
| | | //退货逻辑代码TODO |
| | | MessageShow('退货成功!', 'success'); |
| | | break; |
| | | case '保存订单': |
| | | //保存订单逻辑代码TODO |
| | | const submitForm = async (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | console.log('submit!') |
| | | } else { |
| | | console.log('error submit!', fields) |
| | | } |
| | | }) |
| | | } |
| | | MessageShow('订单保存成功!', 'success'); |
| | | break; |
| | | case '移除': |
| | | $grid.removeCheckboxRow(); |
| | | break; |
| | | default: |
| | | MessageShow('未知操作!', 'error'); |
| | | break; |
| | | } |
| | | return true; |
| | | |
| | | } |
| | | |
| | | //提示信息 |
| | | const MessageShow = (content, type ) => { |
| | | |
| | | ElMessage({ |
| | | message: content, |
| | | type: type, |
| | | showClose: true, |
| | | }) |
| | | } |
| | | |
| | | //操作确认类信息:操作类型,提示内容,提示标头,提示类型 |
| | | const MessageConfirmShow = (czType, content, title='操作确认提示', type='warning') => { |
| | | |
| | | ElMessageBox.confirm( |
| | | content, |
| | | title, |
| | | { |
| | | cancelButtonText: '取消', |
| | | confirmButtonText: '确定', |
| | | type: type, |
| | | center: true, |
| | | } |
| | | ) |
| | | //点击了确定 |
| | | .then(() => { |
| | | return logicExecute(czType); |
| | | }) |
| | | //点击了取消 |
| | | .catch(() => { |
| | | return false; |
| | | }) |
| | | } |
| | | |
| | | |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-descriptions__table .label-diy) { |
| | | text-align: center; |
| | | width: 100px; |
| | | /*font-size: large;*/ |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-header height="auto"> |
| | | <el-descriptions |
| | | class="margin-top" |
| | | title="" |
| | | :column="4" |
| | | :size="'default'" |
| | | border |
| | | > |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 操作单号 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="单号" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 采购类型 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="采购类型" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 采购部门 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="采购部门" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 供应商 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="供应商" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 采购员 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="采购员" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 采购组织 |
| | | </template> |
| | | <el-input v-model="form.buyItem" placeholder="采购组织" disabled></el-input> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"> |
| | | <template #label> |
| | | 制表日期 |
| | | </template> |
| | | <el-date-picker |
| | | v-model="form.date" |
| | | type="date" |
| | | placeholder="选择制表日期" |
| | | /> |
| | | </el-descriptions-item> |
| | | |
| | | <el-descriptions-item label-class-name="label-diy" class-name="content-diy"></el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | </el-header> |
| | | |
| | | <el-main style="padding-top: 5px;height:100%"> |
| | | <vxe-grid |
| | | max-height="500" |
| | | @filter-change="filterChanged" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | > |
| | | |
| | | <!-- @toolbar-button-click="toolbarButtonClickEvent"--> |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row}"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,key,index) in row"> |
| | | <span style="font-weight: bold">{{ key + ': ' }}</span> |
| | | <span>{{ item }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | </vxe-grid> |
| | | |
| | | </el-main> |
| | | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import {ref, reactive} from 'vue' |
| | | |
| | | let router = useRouter() |
| | | import {useRouter} from "vue-router"; |
| | | import { ElMessage, ElMessageBox} from "element-plus"; |
| | | |
| | | const value = ref('') |
| | | |
| | | //组件接收参数 |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | //开启虚拟滚动 |
| | | scrollY: {enabled: true}, |
| | | showOverflow: true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | //筛选配置项 |
| | | filterConfig: { |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | //表头参数、列名 |
| | | columns: [ |
| | | {type: 'seq', fixed: "left", title: ' ', width: 50}, |
| | | {type: 'checkbox', fixed: "left", title: '', width: 50}, |
| | | { |
| | | field: 'cgdh', |
| | | width: '10%', |
| | | title: '物料编码', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'cgzt', |
| | | width: '10%', |
| | | title: '物料名称', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'gys', |
| | | width: '10%', |
| | | title: '产地', |
| | | |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'w', |
| | | width: '8%', |
| | | title: '宽度', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'g', |
| | | width: '8%', |
| | | title: '高度', |
| | | filters: [{data: ''}], |
| | | sortable: true, |
| | | |
| | | }, |
| | | { |
| | | field: 'h', |
| | | width: '8%', |
| | | title: '厚度', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'xh', |
| | | width: '8%', |
| | | title: '型号', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'dw', |
| | | width: '8%', |
| | | title: '单位', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '8%', |
| | | title: '数量', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'czsl', |
| | | width: '8%', |
| | | title: '操作数量', |
| | | type: 'number', |
| | | editRender: {name: 'input', type: 'number', attrs: {placeholder: ''}} |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '12%', |
| | | title: '箱数', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'je', |
| | | width: '8%', |
| | | title: '单片面积', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'je', |
| | | width: '12%', |
| | | title: '单价', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'sl', |
| | | width: '8%', |
| | | title: '总面积', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'yl', |
| | | width: '10%', |
| | | title: '总金额', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'yl', |
| | | width: '10%', |
| | | title: '备注', |
| | | filters: [{data: ''}], |
| | | sortable: true |
| | | } |
| | | ], |
| | | //表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {type: 'text'}, |
| | | { |
| | | 'name': '保存订单', |
| | | status: 'primary', |
| | | 'code': 'Save' |
| | | }, { |
| | | 'name': '入库', |
| | | status: 'primary', |
| | | 'code': 'Storage' |
| | | }, |
| | | { |
| | | 'name': '退货', |
| | | status: 'primary', |
| | | 'code': 'Return' |
| | | }, |
| | | { |
| | | 'name': '取消', |
| | | status: '', |
| | | 'code': 'Cancel' |
| | | }], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true, |
| | | tools: [], |
| | | |
| | | }, |
| | | //table body实际数据 |
| | | data: [{}, {}, {}], |
| | | //脚合并 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 3} |
| | | ], |
| | | //合并脚 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | /* if (props.tableProp.footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | }*/ |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | | const xGrid = ref() |
| | | const gridEvents = { |
| | | toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | //保存 |
| | | case 'Save': { |
| | | MessageAlertShow('点击了保存订单','操作提示'); |
| | | //MessageShow('点击了保存订单!', 'error'); |
| | | break; |
| | | } |
| | | //取消,返回查询页面 |
| | | case 'Cancel': { |
| | | // router.push({path: '/main/purchaseOrder/StoragePurchaseOrder'}) |
| | | break |
| | | } |
| | | //入库 |
| | | case 'Storage': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据!', 'warning'); |
| | | return |
| | | } else { |
| | | MessageConfirmShow('入库', '是否确认对选中的' + $grid.getCheckboxRecords().length + '物料进行入库操作!'); |
| | | } |
| | | break |
| | | } |
| | | //退货 |
| | | case 'Return': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据!', 'warning'); |
| | | return |
| | | } else { |
| | | |
| | | MessageConfirmShow('退货', '是否确认对选中的' + $grid.getCheckboxRecords().length + '物料进行退货操作!'); |
| | | } |
| | | break |
| | | } |
| | | |
| | | } |
| | | } |
| | | }, |
| | | toolbarToolClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'myPrint': { |
| | | $grid.print() |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | |
| | | //表单数据 |
| | | const form = reactive({ |
| | | name: '', |
| | | region: '', |
| | | date: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | supplier: '', |
| | | buyer: '', |
| | | buyItem: '', |
| | | buyType: '' |
| | | |
| | | }) |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | function logicExecute(type){ |
| | | const $grid = xGrid.value |
| | | switch (type) { |
| | | case '入库': |
| | | //入库逻辑代码TODO |
| | | MessageShow('入库成功!', 'success'); |
| | | break; |
| | | case '退货': |
| | | //退货逻辑代码TODO |
| | | MessageShow('退货成功!', 'success'); |
| | | break; |
| | | default: |
| | | MessageShow('未知操作!', 'error'); |
| | | break; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | //提示信息 |
| | | //信息内容,显示方式,显示标题,类型 |
| | | const MessageShow = (content,type='success') => { |
| | | ElMessage({ |
| | | message: content, |
| | | type: type, |
| | | showClose: true, |
| | | }) |
| | | } |
| | | |
| | | //操作确认类信息:操作类型,提示内容,提示标头,提示类型 |
| | | const MessageConfirmShow = (czType, content, title='操作确认提示', type='warning') => { |
| | | ElMessageBox.confirm( |
| | | content, |
| | | title, |
| | | { |
| | | cancelButtonText: '取消', |
| | | confirmButtonText: '确定', |
| | | type: type, |
| | | center: true, |
| | | } |
| | | ) |
| | | //点击了确定 |
| | | .then(() => { |
| | | |
| | | return logicExecute(czType); |
| | | }) |
| | | //点击了取消 |
| | | .catch(() => { |
| | | return false; |
| | | }) |
| | | } |
| | | |
| | | //弹窗信息 |
| | | const MessageAlertShow=(content,title,type='info')=>{ |
| | | |
| | | ElMessageBox.alert(content, title, { |
| | | // 禁止自动对焦 |
| | | //autofocus: false, |
| | | confirmButtonText: 'OK', |
| | | /*callback: (action: Action) => { |
| | | MessageShow(`action: ${action}`,type) |
| | | },*/ |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | | |
| | | |
| | | <style scoped> |
| | | :deep(.el-descriptions__table .label-diy) { |
| | | text-align: center; |
| | | width: 100px; |
| | | /* font-size: large;*/ |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-container> |
| | | <el-header class="m-header" style="height: auto"> |
| | | <el-row :gutter="10" style="margin-bottom: 5px"> |
| | | <el-col :span="7"> |
| | | <el-date-picker |
| | | v-model="datevalue" |
| | | type="daterange" |
| | | unlink-panels |
| | | range-separator="到" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :shortcuts="shortcuts" |
| | | :size="size" |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | </el-col> |
| | | |
| | | <el-col :span="2"> |
| | | <el-button |
| | | id="select" |
| | | type="primary" |
| | | :icon="Search" |
| | | @click="autoAddRow">查询 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-header> |
| | | <el-main style="padding-top: 5px"> |
| | | <vxe-grid |
| | | |
| | | max-height="600" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="PayOptions" |
| | | @="gridEvents" |
| | | |
| | | > |
| | | |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row }"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,index) in gridOptions.columns" v-show="item.field!==undefined "> |
| | | <span style="font-weight: bold">{{item.title+': '}}</span> |
| | | <span>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button> |
| | | <!-- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>--> |
| | | <!-- <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>--> |
| | | </template> |
| | | |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </vxe-grid> |
| | | </el-main> |
| | | </el-container> |
| | | </template> |
| | | |
| | | |
| | | <script setup> |
| | | import {ref} from 'vue' |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import 'dayjs/locale/zh-cn' |
| | | import {VXETable} from "vxe-table"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | |
| | | const datevalue = ref('')//时间 |
| | | |
| | | //组件接收参数 |
| | | const PayOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY: {enabled: true},//开启虚拟滚动 |
| | | showOverflow: true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | columns: [ |
| | | /* {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},*/ |
| | | {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: '5%'},//详情 |
| | | {type: 'checkbox', fixed: "left", title: '', width: '5%'}, |
| | | {type: 'seq', fixed: "left", title: ' ', width: '5%'}, |
| | | { |
| | | field: 'cgdh', |
| | | width: '10%', |
| | | title: '采购单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'cgzt', width: '10%', title: '月份', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'gys', |
| | | width: '10%', |
| | | title: '供应商', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlbh', |
| | | width: '10%', |
| | | title: '期初金额', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlmc', |
| | | width: '10%', |
| | | title: '本期应付', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'w', |
| | | width: '10%', |
| | | title: '本期已付', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'g', |
| | | width: '10%', |
| | | title: '期末余额', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'h', width: '9%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: '6', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true} |
| | | ],//表头参数 |
| | | toolbarConfig: { |
| | | buttons: [{type: 'text'}, { |
| | | 'name': '应付确认', |
| | | status: 'primary', |
| | | 'code': 'Sure', |
| | | }], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true, |
| | | style: 'paddling-left:10px' |
| | | },//表头按钮 |
| | | data: [{}, {}, {}, {}],//table body实际数据 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 3} |
| | | ],//合并脚 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | /* if (props.tableProp.footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | }*/ |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | | |
| | | const xGrid = ref() |
| | | const gridEvents = { |
| | | toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | //应付确认 |
| | | case 'Sure': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow("请选择至少一条数据!", 'warning'); |
| | | return |
| | | } else { |
| | | MessageConfirmShow("确认应付", '您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认应付?') |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | toolbarToolClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'myPrint': { |
| | | $grid.print() |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | |
| | | |
| | | |
| | | const shortcuts = [ |
| | | { |
| | | text: '近一周', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近一个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近三个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | function logicExecute(type){ |
| | | const $grid = xGrid.value |
| | | switch (type) { |
| | | case '确认应付': |
| | | //入库逻辑代码TODO |
| | | MessageShow('操作成功!', 'success'); |
| | | break; |
| | | |
| | | default: |
| | | MessageShow('未知操作!', 'error'); |
| | | break; |
| | | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | //提示信息 |
| | | //信息内容,显示方式,显示标题,类型 |
| | | const MessageShow = (content, type = 'success') => { |
| | | ElMessage({ |
| | | message: content, |
| | | type: type, |
| | | showClose: true, |
| | | }) |
| | | } |
| | | |
| | | //操作确认类信息:操作类型,提示内容,提示标头,提示类型 |
| | | const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => { |
| | | ElMessageBox.confirm( |
| | | content, |
| | | title, |
| | | { |
| | | cancelButtonText: '取消', |
| | | confirmButtonText: '确定', |
| | | type: type, |
| | | center: true, |
| | | } |
| | | ) |
| | | //点击了确定 |
| | | .then(() => { |
| | | |
| | | return logicExecute(czType); |
| | | |
| | | }) |
| | | //点击了取消 |
| | | .catch(() => { |
| | | return false; |
| | | }) |
| | | } |
| | | |
| | | //弹窗信息 |
| | | const MessageAlertShow = (content, title, type = 'info') => { |
| | | |
| | | ElMessageBox.alert(content, title, { |
| | | // 禁止自动对焦 |
| | | //autofocus: false, |
| | | confirmButtonText: 'OK', |
| | | /*callback: (action: Action) => { |
| | | MessageShow(`action: ${action}`,type) |
| | | },*/ |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | | |
| | | |
| | | <style scoped> |
| | | .el-row { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .el-col { |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .m-header { |
| | | height: 32px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-container> |
| | | <el-header class="m-header" style="height: auto"> |
| | | <el-row :gutter="10" style="margin-bottom: 5px"> |
| | | <el-col :span="7"> |
| | | <el-date-picker |
| | | v-model="datevalue" |
| | | type="daterange" |
| | | unlink-panels |
| | | range-separator="到" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :shortcuts="shortcuts" |
| | | :size="size" |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | |
| | | </el-col> |
| | | |
| | | <el-col :span="2"> |
| | | <el-button |
| | | id="select" |
| | | type="primary" |
| | | :icon="Search" |
| | | @click="BtnSearchPurchaseOrder">查询 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-header> |
| | | <el-main style="padding-top: 5px;height:100%"> |
| | | <vxe-grid |
| | | |
| | | max-height="600" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @cell-dblclick="cellClickEvent" |
| | | > |
| | | |
| | | <!-- @toolbar-button-click="toolbarButtonClickEvent"--> |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row }"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,index) in gridOptions.columns" v-show="item.field!==undefined "> |
| | | <span style="font-weight: bold">{{ item.title + ': ' }}</span> |
| | | <span>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button> |
| | | <!-- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>--> |
| | | <!-- <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>--> |
| | | </template> |
| | | |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | |
| | | <!-- 详情框 部分1--> |
| | | <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" |
| | | resize> |
| | | <el-container> |
| | | <el-header height="35px" |
| | | style="margin: 0;padding: 0"> |
| | | |
| | | <el-input v-model="showCGDH" placeholder="采购单号" disabled> |
| | | <template #prepend>采购单号:</template> |
| | | </el-input> |
| | | </el-header> |
| | | <el-main> |
| | | <template #default> |
| | | <vxe-table |
| | | border="default" |
| | | auto-resize |
| | | show-overflow |
| | | max-height="400" |
| | | :row-config="{isHover: true}" |
| | | :show-header="false" |
| | | :sync-resize="showDetails" |
| | | :data="detailData" |
| | | |
| | | > |
| | | <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column> |
| | | <vxe-column field="value"></vxe-column> |
| | | </vxe-table> |
| | | </template> |
| | | </el-main> |
| | | <el-footer height="40px"> |
| | | <el-row> |
| | | <el-col :offset="20" :span="4"> |
| | | <el-button |
| | | id="Sure" |
| | | type="primary" |
| | | @click="SureReturn" |
| | | >确认退货 |
| | | </el-button> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-footer> |
| | | </el-container> |
| | | </vxe-modal> |
| | | <!-- 详情框 部分1 结束--> |
| | | </el-main> |
| | | </el-container> |
| | | </template> |
| | | |
| | | |
| | | <script setup> |
| | | |
| | | import {ref} from "vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import dayjs from "dayjs"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | |
| | | |
| | | let router = useRouter() |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit' : { |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/purchaseOrder/DetailsPurchaseOrder', query: {id: row.id}}) |
| | | break |
| | | } |
| | | case 'delete': { |
| | | |
| | | |
| | | alert('我接收到子组件传送的删除信息' + row.id) |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const xGrid = ref() |
| | | |
| | | const gridEvents = { |
| | | toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'Sure': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | |
| | | MessageShow('请选择至少一条数据!', 'warning'); |
| | | |
| | | return |
| | | } else { |
| | | |
| | | MessageConfirmShow('确定', '您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退货?') |
| | | } |
| | | break |
| | | } |
| | | case 'Log': { |
| | | MessageAlertShow('点击了退货记录!', '操作提示'); |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | toolbarToolClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'myPrint': { |
| | | $grid.print() |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | |
| | | |
| | | //查询按钮方法 |
| | | const BtnSearchPurchaseOrder = () => { |
| | | |
| | | //开始时间,结束时间获取 |
| | | //MessageShow("开始时间"+datevalue._rawValue[0]+"\r\n结束时间\r\n"+datevalue._rawValue[1]); |
| | | |
| | | for (let i = 1; i < 6; i++) { |
| | | const randomInt = Math.floor(Math.random() * 999) + 1000;//4位数随机数 |
| | | const randomSumInt = Math.floor(Math.random() * 99) + 10;//2位数随机数 |
| | | const randomOrderInt = Math.floor(Math.random() * 99) + 100;//3位数随机数 |
| | | const t = i % 2 === 0 ? 5 : 6; |
| | | const s = i % 2 === 0 ? '入库' : i % 3 === 0 ? '退货' : '部分入库'; |
| | | const thdh = i % 2 === 0 ? '' : i % 3 === 0 ? 'THID' + randomOrderInt : ''; |
| | | const CGNo = 'NGCG231200' + randomOrderInt;//采购编号 |
| | | const wlNo = 'NGWL1000' + randomInt; |
| | | const xh = 'NGXH' + randomSumInt; |
| | | const wlmc = 'WLMC' + randomInt; |
| | | const gys = '供应商' + randomSumInt; |
| | | const xhdh = 'NG231200' + randomOrderInt; |
| | | const w = i % 2 === 0 ? '3300' : i % 3 === 0 ? '3660' : i % 4 === 0 ? '2250' : '2580'; |
| | | const h = i % 2 === 0 ? '2440' : i % 3 === 0 ? '2440' : i % 4 === 0 ? '2000' : '2300'; |
| | | const dw = i % 2 === 0 ? '片' : i % 3 === 0 ? '平米' : i % 4 === 0 ? '包' : '吨'; |
| | | now.setDate(now.getDate() + 1); |
| | | gridOptions.data.push({ |
| | | cgdh: CGNo, |
| | | thdh: thdh, |
| | | h: t, |
| | | xh: xh, |
| | | wlbh: wlNo, |
| | | wlmc: wlmc, |
| | | gys: gys, |
| | | w: w, |
| | | g: h, |
| | | dw: dw, |
| | | cgzt: s, |
| | | rq: dayjs(now).format('YYYY-MM-DD'), |
| | | yl: randomSumInt, |
| | | sl: randomOrderInt, |
| | | xsdh: xhdh, |
| | | je: randomInt, |
| | | 6: '139xxxxxxxx', |
| | | |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //组件接收参数 |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY: {enabled: true},//开启虚拟滚动 |
| | | showOverflow: true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | columns: [ |
| | | {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: 50},//详情 |
| | | {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"}, |
| | | {type: 'checkbox', fixed: "left", title: '', width: 50}, |
| | | {type: 'seq', fixed: "left", title: ' ', width: 50}, |
| | | |
| | | |
| | | { |
| | | field: 'thdh', |
| | | width: '10%', |
| | | title: '退货单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'cgdh', |
| | | width: '10%', |
| | | title: '采购单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'cgzt', width: '10%', title: '状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'gys', |
| | | width: '10%', |
| | | title: '供应商', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlbh', |
| | | width: '10%', |
| | | title: '物料编号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlmc', |
| | | width: '10%', |
| | | title: '物料名称', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'w', width: '8%', title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'g', width: '8%', title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'h', width: '8%', title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'xh', width: '8%', title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'dw', width: '8%', title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: '6', |
| | | width: '12%', |
| | | title: '不含税单价', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'sl', width: '8%', title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'sl', |
| | | width: '12%', |
| | | title: '已采购数量', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'je', width: '8%', title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'je', |
| | | width: '12%', |
| | | title: '不含税金额', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '6', width: '8%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'sl', width: '8%', title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'yl', width: '10%', title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'yl', width: '10%', title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'cgzt', |
| | | width: '10%', |
| | | title: '单据状态', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'xsdh', |
| | | width: '10%', |
| | | title: '销售单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'rq', |
| | | width: '10%', |
| | | title: '制单日期', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '6', width: '10%', title: '制单人', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: '6', |
| | | width: '10%', |
| | | title: '采购部门', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: '6', |
| | | width: '10%', |
| | | title: '采购组织', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '6', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true} |
| | | ],//表头参数 |
| | | toolbarConfig: { |
| | | buttons: [{type: 'text'}, { |
| | | 'name': '退货记录', |
| | | |
| | | 'code': 'Log' |
| | | }, |
| | | { |
| | | 'name': '确认退货', |
| | | status: 'primary', |
| | | 'code': 'Sure' |
| | | }], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true, |
| | | style: 'paddling-left:10px' |
| | | },//表头按钮 |
| | | data: [],//table body实际数据 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 4} |
| | | ],//合并脚 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | /* if (props.tableProp.footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | }*/ |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | | |
| | | //详情框 部分2 |
| | | const showCGDH = ref(); |
| | | const showDetails = ref(false); |
| | | let detailData = []; |
| | | const cellClickEvent = ({row}) => { |
| | | if (isQueryColumnId === false) { |
| | | queryColumnId(); |
| | | } |
| | | |
| | | detailData = list.map(field => { |
| | | return {label: queryColumnsTitle(field), value: row[field]} |
| | | }) |
| | | showDetails.value = true; |
| | | showCGDH.value = row['cgdh']; |
| | | } |
| | | |
| | | //获取表列 |
| | | let list = []; |
| | | let columnIndex = 4;//列标头从第几列开始的 |
| | | let isQueryColumnId = false; |
| | | const queryColumnId = () => { |
| | | |
| | | while (columnIndex < gridOptions.columns.length) { |
| | | list.push(gridOptions.columns[columnIndex].field); |
| | | columnIndex++; |
| | | } |
| | | isQueryColumnId = true; |
| | | return list; |
| | | } |
| | | |
| | | //获取表列名 |
| | | function queryColumnsTitle(cn) { |
| | | let i = 0; |
| | | while (i < gridOptions.columns.length + 1) { |
| | | if (gridOptions.columns[i].field === cn) { |
| | | return gridOptions.columns[i].title; |
| | | } |
| | | i++; |
| | | } |
| | | } |
| | | |
| | | // 详情框部分2 结束 |
| | | |
| | | const SureReturn = () => { |
| | | |
| | | MessageConfirmShow('退货', '是否确认退货?') |
| | | |
| | | } |
| | | |
| | | //详情框 部分2 结束 |
| | | |
| | | |
| | | const now = new Date() |
| | | |
| | | //时间快捷选择 |
| | | const datevalue = ref('') |
| | | const shortcuts = [ |
| | | { |
| | | text: '近一周', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近一个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近三个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | function logicExecute(type) { |
| | | const $grid = xGrid.value |
| | | switch (type) { |
| | | case '确定': |
| | | //多选退货逻辑代码TODO |
| | | MessageShow('操作成功!', 'success'); |
| | | break; |
| | | case '退货': |
| | | //单退货逻辑代码TODO |
| | | MessageShow('操作成功!', 'success'); |
| | | break; |
| | | default: |
| | | MessageShow('未知操作!', 'error'); |
| | | break; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | //提示信息 |
| | | //信息内容,显示方式,显示标题,类型 |
| | | const MessageShow = (content, type = 'success') => { |
| | | ElMessage({ |
| | | message: content, |
| | | type: type, |
| | | showClose: true, |
| | | }) |
| | | } |
| | | |
| | | //操作确认类信息:操作类型,提示内容,提示标头,提示类型 |
| | | const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => { |
| | | ElMessageBox.confirm( |
| | | content, |
| | | title, |
| | | { |
| | | cancelButtonText: '取消', |
| | | confirmButtonText: '确定', |
| | | type: type, |
| | | center: true, |
| | | } |
| | | ) |
| | | //点击了确定 |
| | | .then(() => { |
| | | |
| | | logicExecute(czType); |
| | | |
| | | return true; |
| | | }) |
| | | //点击了取消 |
| | | .catch(() => { |
| | | return false; |
| | | }) |
| | | } |
| | | |
| | | //弹窗信息 |
| | | const MessageAlertShow = (content, title, type = 'info') => { |
| | | |
| | | ElMessageBox.alert(content, title, { |
| | | // 禁止自动对焦 |
| | | //autofocus: false, |
| | | confirmButtonText: 'OK', |
| | | /*callback: (action: Action) => { |
| | | MessageShow(`action: ${action}`,type) |
| | | },*/ |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | | |
| | | |
| | | <style scoped> |
| | | :deep(.v-column-label div span) { |
| | | font-weight: bold; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | const dialogFormVisible = ref(false) |
| | | const dialogFormVisiblea = ref(false) |
| | | const box = ref(true) |
| | | const boxa = ref(false) |
| | | const boxb = ref(false) |
| | | // const tableData = [ |
| | | // { |
| | | // id: '1', |
| | | // long: '1005', |
| | | // wide: '183.6', |
| | | // thick: '1991', |
| | | // type: '5', |
| | | // typea: '1', |
| | | // }, |
| | | // { |
| | | // id: '2', |
| | | // long: '105', |
| | | // wide: '183', |
| | | // thick: '191', |
| | | // typea: '1', |
| | | // type: '5' |
| | | // }, |
| | | // { |
| | | // id: '2', |
| | | // long: '105', |
| | | // wide: '183', |
| | | // thick: '191', |
| | | // typea: '1', |
| | | // type: '5' |
| | | // }, |
| | | // ] |
| | | const tableData = ref([ |
| | | { |
| | | id: '2', |
| | | ida: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | typeb: '1', |
| | | typec: '1', |
| | | type: '5' |
| | | }, |
| | | { |
| | | id: '12', |
| | | ida: '12', |
| | | long: '1105', |
| | | wide: '1183', |
| | | thick: '1911', |
| | | typea: '11', |
| | | typeb: '11', |
| | | typec: '11', |
| | | type: '15' |
| | | }, |
| | | ]) |
| | | // 新增一行 |
| | | const addTableData = ()=>{ |
| | | const newRow = { |
| | | id: null, |
| | | id: null, |
| | | long: null, |
| | | wide: null, |
| | | thick: null, |
| | | typea: null, |
| | | type: null, |
| | | typeb: null, |
| | | typec: null, |
| | | } |
| | | tableData.value.push(newRow) |
| | | } |
| | | // 删除 |
| | | const deleteTableData = (row) =>{ |
| | | const index = tableData.value.indexOf(row); |
| | | if (index !== -1) { |
| | | tableData.value.splice(index, 1); |
| | | } |
| | | } |
| | | const tableDataa = [ |
| | | { |
| | | ida: '3', |
| | | longa: '1005', |
| | | widea: '183.6', |
| | | thicka: '1991', |
| | | }, |
| | | { |
| | | ida: '4', |
| | | longa: '105', |
| | | widea: '183', |
| | | thicka: '191', |
| | | } |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const selectedRows = ref([]); |
| | | const handleSelectionChange = (selection) => { |
| | | selectedRows.value = selection; |
| | | }; |
| | | const showMessage = () => { |
| | | if (selectedRows.value.length === 0) { |
| | | ElMessage('请至少选择一个选项') |
| | | } else{ |
| | | ElMessage({ |
| | | message: '出片成功!', |
| | | type: 'success', |
| | | }) |
| | | |
| | | } |
| | | }; |
| | | const pick = () => { |
| | | if (selectedRows.value.length === 0) { |
| | | ElMessage('请至少选择一个选项') |
| | | } else{ |
| | | ElMessage({ |
| | | message: '破损成功!', |
| | | type: 'success', |
| | | }) |
| | | |
| | | } |
| | | }; |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-button style="margin-top: 5px;margin-left: 5px;" id="searchButton" type="primary" @click="showMessage">出片</el-button> |
| | | <el-button style="margin-top: 5px" id="searchButton" type="primary" @click="pick">破损</el-button> |
| | | <!-- <el-button style="margin-top: 5px" id="searchButton" type="primary" @click="dialogFormVisible = true">添加</el-button> --> |
| | | <el-button style="margin-top: 5px" id="searchButton" type="primary" @click="addTableData" >添加</el-button> |
| | | <el-button style="margin-top: 5px" id="searchButton" @click="boxb = true;box = false" >合并</el-button> |
| | | <el-button style="margin-top: 5px" id="searchButton" @click="box = true;boxb = false" >单片</el-button> |
| | | |
| | | <div v-if="box"> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 450px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column prop="id" align="center" label="栅格号" min-width="80" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.id" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ida" align="center" label="id" min-width="80"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.ida" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="long" align="center" label="长" min-width="100" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.long" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="100"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.wide" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="type" align="center" label="厚度" min-width="100"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.type" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typea" align="center" label="膜系" min-width="100" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typea" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typeb" align="center" label="出片顺序" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typeb" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typec" align="center" label="流程卡号" min-width="150"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typec" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="thick" align="center" label="其他" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.thick" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default="scope"> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisiblea = true">详情</el-button> |
| | | <el-button @click="deleteTableData(scope.row)" link icon="Delete" type="primary">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | </el-card> |
| | | </div> |
| | | <div v-if="boxb"> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 450px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column prop="id" align="center" label="栅格" min-width="80"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.id" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ida" align="center" label="id" min-width="80"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.ida" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="long" align="center" label="长" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.long" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="120"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.wide" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="type" align="center" label="厚度" min-width="120"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.type" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typea" align="center" label="膜系" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typea" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typeb" align="center" label="出片顺序" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typeb" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="typec" align="center" label="流程卡号" min-width="120"> |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.typec" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="thick" align="center" label="其他" min-width="120" > |
| | | <template #default="scope"> |
| | | <el-input v-model="scope.row.thick" size="small"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default="scope"> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisiblea = true">详情</el-button> |
| | | <el-button @click="deleteTableData(scope.row)" link icon="Delete" type="primary">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogFormVisible" top="21vh" width="40%" title="添加" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form > |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="栅格号:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="id:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="长:" :required="true" style="width: 13.2vw;margin-left: 14px;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="宽:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="厚度:" :required="true" style="width: 13.2vw;margin-left: 14px;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="膜系:" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="出片顺序:" :required="true" style="width: 13.2vw;margin-left: 14px;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <div id="dta" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="流程卡号" :required="true" style="width: 14vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="其他:" :required="true" style="width: 13.2vw;margin-left: 14px;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" title="原片信息"> |
| | | <el-table height="100%" ref="table" :data="tableDataa" @row-click="handle"> |
| | | <el-table-column |
| | | prop="long" |
| | | align="center" |
| | | label="长" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="wide" |
| | | align="center" |
| | | label="宽" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="thick" |
| | | align="center" |
| | | label="厚" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | prop="station" |
| | | align="center" |
| | | label="工位" |
| | | min-width="120" |
| | | /> |
| | | </el-table> |
| | | <div style="text-align: center; height: 22px; margin-top: 30px;"> |
| | | <el-button @click="dialogFormVisiblea = false">关闭</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #box{ |
| | | position: relative; |
| | | |
| | | #icon{ |
| | | position: absolute; |
| | | bottom:10px; |
| | | right: 19px; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-container> |
| | | <el-header class="m-header" style="height: auto"> |
| | | <el-row :gutter="10" style="margin-bottom: 5px"> |
| | | <el-col :span="7"> |
| | | <el-date-picker |
| | | v-model="datevalue" |
| | | type="daterange" |
| | | unlink-panels |
| | | range-separator="到" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :shortcuts="shortcuts" |
| | | |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <el-button |
| | | id="select" |
| | | type="primary" |
| | | :icon="Search" |
| | | @click="BtnSearchPurchaseOrder">查询 |
| | | </el-button> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | |
| | | </el-header> |
| | | <el-main style="padding-top: 5px;height:100%"> |
| | | <vxe-grid |
| | | |
| | | max-height="600" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | |
| | | @cell-dblclick="cellClickEvent" |
| | | |
| | | > |
| | | |
| | | <!-- 下拉显示所有信息插槽--> |
| | | <template #content="{ row }"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,index) in gridOptions.columns" v-show="item.field!==undefined "> |
| | | <span style="font-weight: bold">{{ item.title + ': ' }}</span> |
| | | <span>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button> |
| | | <el-button @click="getTableRow(row,'look')" link type="primary" size="small">查看</el-button> |
| | | <!-- <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>--> |
| | | <!-- <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>--> |
| | | </template> |
| | | |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | <!-- 详情框 部分1--> |
| | | <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" |
| | | resize> |
| | | <el-container> |
| | | <el-header height="35px" |
| | | style="margin: 0;padding: 0"> |
| | | |
| | | <el-input v-model="showCGDH" placeholder="采购单号" disabled> |
| | | <template #prepend>采购单号:</template> |
| | | </el-input> |
| | | </el-header> |
| | | <el-main> |
| | | <template #default> |
| | | <vxe-table |
| | | border="inner" |
| | | auto-resize |
| | | show-overflow |
| | | max-height="400" |
| | | :row-config="{isHover: true}" |
| | | :show-header="false" |
| | | :sync-resize="showDetails" |
| | | :data="detailData"> |
| | | <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column> |
| | | <vxe-column field="value"></vxe-column> |
| | | </vxe-table> |
| | | </template> |
| | | </el-main> |
| | | <el-footer height="40px"> |
| | | <el-row> |
| | | <el-col :offset="20" :span="4"> |
| | | <el-button |
| | | id="Sure" |
| | | type="primary" |
| | | @click="SureStorage" |
| | | >确认入库 |
| | | </el-button> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-footer> |
| | | </el-container> |
| | | </vxe-modal> |
| | | <!-- 详情框 部分1 结束--> |
| | | |
| | | |
| | | </el-main> |
| | | </el-container> |
| | | |
| | | |
| | | </template> |
| | | |
| | | |
| | | <script setup> |
| | | import {ref} from "vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import dayjs from "dayjs"; |
| | | import {VXETable} from "vxe-table"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | |
| | | let router = useRouter() |
| | | |
| | | |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit' : { |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/purchaseOrder/DetailsPurchaseOrder', query: {id: row.id}}); |
| | | |
| | | break |
| | | } |
| | | case 'look': { |
| | | /*this.detailData = ['name', 'nickname', 'role', 'sex', 'age', 'amount', 'address'].map(field => { |
| | | return { label: field, value: row[field] } |
| | | })*/ |
| | | //this.showDetails = true |
| | | break |
| | | } |
| | | case 'delete': { |
| | | alert('我接收到子组件传送的删除信息' + row.id) |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const xGrid = ref() |
| | | const gridEvents = { |
| | | toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'Sure': { |
| | | if ($grid.getCheckboxRecords().length === 0) { |
| | | MessageShow('请选择至少一条数据', 'warning'); |
| | | //openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'}) |
| | | //VXETable.modal.message( '请选择一条数据!') |
| | | return |
| | | } else { |
| | | const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?'); |
| | | //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' }) |
| | | //VXETable.modal.message( '请选择一条数据!') |
| | | return |
| | | } |
| | | break |
| | | } |
| | | case 'Log': { |
| | | |
| | | //openAlert({type: 'alert', content: '点击了退货记录', status: 'success'}) |
| | | MessageConfirmShow("退货记录", "点击了退货记录", "", 'success') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | toolbarToolClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'myPrint': { |
| | | $grid.print() |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | |
| | | const openAlert = (options) => { |
| | | if (options.type === 'message') { |
| | | VXETable.modal.message(options) |
| | | } else { |
| | | VXETable.modal.alert(options) |
| | | } |
| | | |
| | | } |
| | | const closeAlert = (id) => { |
| | | VXETable.modal.close(id) |
| | | } |
| | | |
| | | |
| | | //查询调用事件 |
| | | const BtnSearchPurchaseOrder = () => { |
| | | //开始时间,结束时间获取 |
| | | //MessageShow(datevalue._rawValue[0]+"\r\n时间2\r\n"+datevalue._rawValue[1]); |
| | | |
| | | for (let i = 1; i < 6; i++) { |
| | | const randomInt = Math.floor(Math.random() * 999) + 1000;//4位数随机数 |
| | | const randomSumInt = Math.floor(Math.random() * 99) + 10;//2位数随机数 |
| | | const randomOrderInt = Math.floor(Math.random() * 99) + 100;//3位数随机数 |
| | | const t = i % 2 === 0 ? 5 : 6; |
| | | const s = i % 2 === 0 ? '入库' : i % 3 === 0 ? '待审核' : '已采购'; |
| | | const rkdh = i % 2 === 0 ? 'RKID' + randomOrderInt : i % 3 === 0 ? '' : ''; |
| | | const CGNo = 'NGCG231200' + randomOrderInt;//采购编号 |
| | | const wlNo = 'NGWL1000' + randomInt; |
| | | const xh = 'NGXH' + randomSumInt; |
| | | const wlmc = 'WLMC' + randomInt; |
| | | const gys = '供应商' + randomSumInt; |
| | | const xhdh = 'NG231200' + randomOrderInt; |
| | | const w = i % 2 === 0 ? '3300' : i % 3 === 0 ? '3660' : i % 4 === 0 ? '2250' : '2580'; |
| | | const h = i % 2 === 0 ? '2440' : i % 3 === 0 ? '2440' : i % 4 === 0 ? '2000' : '2300'; |
| | | const dw = i % 2 === 0 ? '片' : i % 3 === 0 ? '平米' : i % 4 === 0 ? '包' : '吨'; |
| | | now.setDate(now.getDate() + 1); |
| | | gridOptions.data.push({ |
| | | cgdh: CGNo, |
| | | rkdh: rkdh, |
| | | h: t, |
| | | xh: xh, |
| | | wlbh: wlNo, |
| | | wlmc: wlmc, |
| | | gys: gys, |
| | | w: w, |
| | | g: h, |
| | | dw: dw, |
| | | cgzt: s, |
| | | rq: dayjs(now).format('YYYY-MM-DD'), |
| | | yl: randomSumInt, |
| | | sl: randomOrderInt, |
| | | xsdh: xhdh, |
| | | je: randomInt, |
| | | 6: '139xxxxxxxx', |
| | | |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //组件接收参数 |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe: true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY: {enabled: true},//开启虚拟滚动 |
| | | showOverflow: true, |
| | | //showDetails: false,//弹窗 是否显示 |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | columns: [ |
| | | {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: 50},//详情 |
| | | {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"}, |
| | | {type: 'checkbox', fixed: "left", title: '', width: 50}, |
| | | {type: 'seq', fixed: "left", title: ' ', width: 50}, |
| | | |
| | | |
| | | { |
| | | field: 'rkdh', |
| | | width: '10%', |
| | | title: '入库单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'cgdh', |
| | | width: '10%', |
| | | title: '采购单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'cgzt', width: '10%', title: '状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'gys', |
| | | width: '10%', |
| | | title: '供应商', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlbh', |
| | | width: '10%', |
| | | title: '物料编号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'wlmc', |
| | | width: '10%', |
| | | title: '物料名称', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'w', width: '8%', title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'g', width: '8%', title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'h', width: '8%', title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'xh', width: '8%', title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'dw', width: '8%', title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: '6', |
| | | width: '12%', |
| | | title: '不含税单价', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'sl', width: '8%', title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'sl', |
| | | width: '12%', |
| | | title: '已采购数量', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: 'je', width: '8%', title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'je', |
| | | width: '12%', |
| | | title: '不含税金额', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '6', width: '8%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'sl', width: '8%', title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'yl', width: '10%', title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | {field: 'yl', width: '10%', title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: 'cgzt', |
| | | width: '10%', |
| | | title: '单据状态', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'xsdh', |
| | | width: '10%', |
| | | title: '销售单号', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'rq', |
| | | width: '10%', |
| | | title: '制单日期', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '6', width: '10%', title: '制单人', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}, |
| | | { |
| | | field: '6', |
| | | width: '10%', |
| | | title: '采购部门', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: '7', |
| | | width: '10%', |
| | | title: '采购组织', |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | {field: '8', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true} |
| | | ],//表头参数 |
| | | toolbarConfig: { |
| | | buttons: [{type: 'text'/*,name:'订单入库'*/}, { |
| | | 'name': '入库记录', |
| | | |
| | | 'code': 'Log' |
| | | }, |
| | | { |
| | | 'name': '确认入库', |
| | | status: 'primary', |
| | | 'code': 'Sure' |
| | | }], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true, |
| | | style: 'paddling-left:10px' |
| | | },//表头按钮 |
| | | data: [],//table body实际数据 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 4} |
| | | ],//合并脚 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | /* if (props.tableProp.footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | }*/ |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | | |
| | | |
| | | //详情框 部分2 |
| | | const showCGDH = ref(); |
| | | const showDetails = ref(false); |
| | | let detailData = []; |
| | | const cellClickEvent = ({row}) => { |
| | | if(isQueryColumnId===false){ |
| | | queryColumnId(); |
| | | } |
| | | |
| | | detailData = list.map(field => { |
| | | return {label: queryColumnsTitle(field), value: row[field]} |
| | | }) |
| | | |
| | | showDetails.value = true; |
| | | showCGDH.value = row['cgdh']; |
| | | } |
| | | |
| | | //获取表列 |
| | | let list = []; |
| | | let columnIndex = 4;//列标头从第几列开始的 |
| | | let isQueryColumnId = false; |
| | | const queryColumnId = () => { |
| | | while (columnIndex < gridOptions.columns.length) { |
| | | list.push(gridOptions.columns[columnIndex].field); |
| | | columnIndex++; |
| | | } |
| | | isQueryColumnId = true; |
| | | return list; |
| | | } |
| | | |
| | | //获取表列名 |
| | | function queryColumnsTitle(cn) { |
| | | let i = 0; |
| | | while (i < gridOptions.columns.length + 1) { |
| | | if (gridOptions.columns[i].field === cn) { |
| | | return gridOptions.columns[i].title; |
| | | } |
| | | i++; |
| | | } |
| | | } |
| | | //详情框 部分2 结束 |
| | | |
| | | |
| | | const SureStorage = () => { |
| | | MessageShow('确认入库成功'); |
| | | |
| | | } |
| | | |
| | | |
| | | const now = new Date() |
| | | |
| | | //时间快捷选择 |
| | | const datevalue = ref('') |
| | | const shortcuts = [ |
| | | { |
| | | text: '近一周', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近一个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | { |
| | | text: '近三个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | return [start, end] |
| | | }, |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | function logicExecute(type) { |
| | | const $grid = xGrid.value |
| | | switch (type) { |
| | | case '入库': |
| | | //入库逻辑代码TODO |
| | | MessageShow('入库成功!', 'success'); |
| | | break; |
| | | case '退货': |
| | | //退货逻辑代码TODO |
| | | MessageShow('退货成功!', 'success'); |
| | | break; |
| | | default: |
| | | MessageShow('未知操作!', 'error'); |
| | | break; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | //提示信息 |
| | | const MessageShow = (content, type = 'success') => { |
| | | ElMessage({ |
| | | message: content, |
| | | type: type, |
| | | showClose: true, |
| | | }) |
| | | } |
| | | |
| | | //操作确认类信息:操作类型,提示内容,提示标头,提示类型 |
| | | const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => { |
| | | ElMessageBox.confirm( |
| | | content, |
| | | title, |
| | | { |
| | | cancelButtonText: '取消', |
| | | confirmButtonText: '确定', |
| | | type: type, |
| | | center: true, |
| | | } |
| | | ) |
| | | //点击了确定 |
| | | .then(() => { |
| | | return logicExecute(czType); |
| | | |
| | | }) |
| | | //点击了取消 |
| | | .catch(() => { |
| | | return false; |
| | | }) |
| | | } |
| | | |
| | | </script> |
| | | |
| | | |
| | | <style scoped> |
| | | :deep(.v-column-label div span) { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | type: '待识别', |
| | | typea: '1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="id" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="厚度" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="膜系" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="出片顺序" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="其他" min-width="120" /> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisiblea = true">破损</el-button> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisiblea = true">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #main-body{ |
| | | margin-top: -20px; |
| | | margin-left: 300px; |
| | | } |
| | | #main-bodya{ |
| | | margin-top: -10px; |
| | | margin-left: 100px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | const dialogFormVisiblea = ref(false) |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | // import Landingindication from "./Landingindication.vue"; |
| | | import Landingindicationtwo from "./Landingindicationtwo.vue"; |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | state: '未启用', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | state: '未启用' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | state: '未启用' |
| | | }, |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="下片位" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="架号" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="总数量" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="已落架数量" min-width="120" /> |
| | | <el-table-column prop="state" align="center" label="启用状态" min-width="120" /> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain v-show="state !== '已启用' " @click="dialogFormVisiblea = true">绑定架子</el-button> |
| | | <el-button size="mini" type="text" plain @click="dialogFormVisible = true">清空</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <!-- <div id="main-body"> |
| | | <Landingindication></Landingindication> |
| | | </div> --> |
| | | <div id="main-body"> |
| | | <Landingindicationtwo></Landingindicationtwo> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogFormVisiblea" top="21vh" width="30%" title="绑定架子" > |
| | | <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-form-item label="架号:" :required="true" style="width: 18vw"> |
| | | <el-input autocomplete="off"/> |
| | | </el-form-item> |
| | | <el-form-item label="流程卡号:" :required="true" style="width: 18vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="dialogFormVisiblea = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisiblea = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #main-body{ |
| | | margin-top: -10px; |
| | | margin-left: 450px; |
| | | } |
| | | </style> |
| | |
| | | '/api2': { |
| | | target: 'localhost:8080/mesModuleTools', |
| | | changeOrigin: true, |
| | | rewrite: (path) => path.replace(/^\/api2/, ""), |
| | | rewrite: (path) => path.replace(/^\/api2/, "mesModuleTools"), |
| | | }, |
| | | } |
| | | } |
New file |
| | |
| | | #Mock S7 PLC Data
|
| | | #Wed Mar 27 10:21:54 CST 2024
|
| | | DB4.0.0=false
|
| | | DB4.1.1=false
|
| | | DB4.1.0=false
|
| | | DB4.0.7=false
|
| | | DB4.0.6=false
|
| | | DB4.0.5=true
|
| | | DB4.0.4=true
|
| | | DB4.0.3=true
|
| | | DB4.0.2=true
|
| | | DB4.0.1=true
|
| | | DB101.0=1
|
New file |
| | |
| | | package com.mes.common.PlcTools;
|
| | |
|
| | | import java.util.HashMap;
|
| | | import java.util.Map;
|
| | |
|
| | | /**
|
| | | * 模拟S7 PLC的简单实现,用于测试和开发阶段
|
| | | */
|
| | | public class MockS7PLC {
|
| | | // 使用Map模拟PLC的内存存储,键是地址,值是存储的数据
|
| | | private Map<String, byte[]> memory = new HashMap<>();
|
| | |
|
| | | private static volatile MockS7PLC instance; // 单例实例
|
| | | public static MockS7PLC getInstance() {
|
| | | if (instance == null) {
|
| | | synchronized (MockS7PLC.class) {
|
| | | if (instance == null)
|
| | | instance = new MockS7PLC();
|
| | | }
|
| | | }
|
| | | return instance;
|
| | | }
|
| | | /**
|
| | | * 模拟写入一个或多个字节到指定地址
|
| | | *
|
| | | * @param address 地址
|
| | | * @param data 要写入的数据
|
| | | */
|
| | | public void writeByte(String address, byte[] data) {
|
| | | memory.put(address, data);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 模拟从指定地址读取一定数量的字节
|
| | | *
|
| | | * @param address 地址
|
| | | * @param count 要读取的字节数
|
| | | * @return 读取到的数据
|
| | | */
|
| | | public byte[] readByte(String address, int count) {
|
| | | byte[] bytes = memory.getOrDefault(address, new byte[0]);
|
| | |
|
| | | if (count >= 0 && count <= bytes.length) {
|
| | | byte[] result = new byte[count];
|
| | | System.arraycopy(bytes, 0, result, 0, count);
|
| | | return result;
|
| | | } else {
|
| | | // 如果请求的字节数超出了实际可用的字节数,则返回全部可用的字节
|
| | | return bytes;
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 模拟写入一个16位整数到指定地址
|
| | | *
|
| | | * @param address 地址
|
| | | * @param data 要写入的数据
|
| | | */
|
| | | public void writeInt16(String address, short data) {
|
| | | memory.put(address, new byte[]{(byte) (data >> 8), (byte) data});
|
| | | }
|
| | |
|
| | | /**
|
| | | * 模拟从指定地址读取一个16位整数
|
| | | *
|
| | | * @param address 地址
|
| | | * @return 读取到的数据
|
| | | */
|
| | | public short readInt16(String address) {
|
| | | byte[] data = memory.getOrDefault(address, new byte[]{0, 0});
|
| | | return (short) ((data[0] << 8) | (data[1] & 0xFF));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 模拟写入一个布尔值到指定地址
|
| | | *
|
| | | * @param address 地址
|
| | | * @param data 要写入的数据
|
| | | */
|
| | | public void writeBoolean(String address, boolean data) {
|
| | | memory.put(address, new byte[]{(byte) (data ? 1 : 0)});
|
| | | }
|
| | |
|
| | | /**
|
| | | * 模拟从指定地址读取一个布尔值
|
| | | *
|
| | | * @param address 地址
|
| | | * @return 读取到的数据
|
| | | */
|
| | | public boolean readBoolean(String address) {
|
| | | return memory.getOrDefault(address, new byte[]{0})[0] != 0;
|
| | | }
|
| | |
|
| | | // 根据需要,您可以添加更多模拟PLC操作的方法
|
| | | }
|
New file |
| | |
| | | package com.mes.common.PlcTools;
|
| | |
|
| | | import java.io.FileInputStream;
|
| | | import java.io.FileOutputStream;
|
| | | import java.io.IOException;
|
| | | import java.nio.charset.StandardCharsets;
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | | import java.util.Properties;
|
| | | import java.util.concurrent.ConcurrentHashMap;
|
| | | import java.util.regex.Matcher;
|
| | | import java.util.regex.Pattern;
|
| | |
|
| | | public class MockS7PLCtwo {
|
| | | private static volatile MockS7PLCtwo instance; // 单例实例
|
| | | private ConcurrentHashMap<String, String> memory = new ConcurrentHashMap<>();
|
| | | private String storageFilePath = "mockPLCData.properties";
|
| | |
|
| | | // 私有化构造函数
|
| | | private MockS7PLCtwo() {
|
| | | // 在构造函数中尝试加载现有的模拟数据
|
| | | try (FileInputStream fis = new FileInputStream(storageFilePath)) {
|
| | | Properties properties = new Properties();
|
| | | properties.load(fis);
|
| | | properties.forEach((key, value) -> memory.put(String.valueOf(key), String.valueOf(value)));
|
| | | } catch (IOException e) {
|
| | | System.out.println("没有找到现有的模拟数据文件,将创建一个新的。");
|
| | | }
|
| | | }
|
| | |
|
| | | // 公共静态方法获取类的唯一实例
|
| | | public static MockS7PLCtwo getInstance() {
|
| | | if (instance == null) {
|
| | | synchronized (MockS7PLCtwo.class) {
|
| | | if (instance == null)
|
| | | instance = new MockS7PLCtwo();
|
| | | }
|
| | | }
|
| | | return instance;
|
| | | }
|
| | |
|
| | | // 修改写入方法以持久化数据
|
| | | public void writeByte(String address, byte[] data) {
|
| | | memory.put(address, new String(data, StandardCharsets.ISO_8859_1));
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | // 修改读取方法以从持久化的数据中读取
|
| | | public byte[] readByte(String address,int count) {
|
| | | String value = memory.getOrDefault(address, "");
|
| | | byte[] bytes = value.getBytes(StandardCharsets.ISO_8859_1);
|
| | | if (count >= 0 && count <= bytes.length) {
|
| | | byte[] result = new byte[count];
|
| | | System.arraycopy(bytes, 0, result, 0, count);
|
| | | return result;
|
| | | } else {
|
| | | // 如果请求的字节数超出了实际可用的字节数,则返回全部可用的字节
|
| | | return bytes;
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | public void writeInt16(String address, short data) {
|
| | | memory.put(address, Short.toString(data));
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | public Short readInt16(String address) {
|
| | | String value = memory.get(address);
|
| | | return value != null ? Short.parseShort(value) : null;
|
| | | }
|
| | |
|
| | | public void writeBoolean(String address, boolean data) {
|
| | | memory.put(address, Boolean.toString(data));
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | public Boolean readBoolean(String address) {
|
| | | String value = memory.get(address);
|
| | | return value != null ? Boolean.parseBoolean(value) : null;
|
| | | }
|
| | |
|
| | | public void writeString(String address, String data) {
|
| | | memory.put(address, data);
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | public String readString(String address) {
|
| | | return memory.getOrDefault(address, "");
|
| | | }
|
| | |
|
| | | public void writeTime(String address, long data) {
|
| | | memory.put(address, Long.toString(data));
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | public Long readTime(String address) {
|
| | | String value = memory.get(address);
|
| | | return value != null ? Long.parseLong(value) : null;
|
| | | }
|
| | |
|
| | | // 添加一个方法来保存数据到文件
|
| | | private void saveMemory() {
|
| | | Properties properties = new Properties();
|
| | | properties.putAll(memory);
|
| | | try (FileOutputStream fos = new FileOutputStream(storageFilePath)) {
|
| | | properties.store(fos, "Mock S7 PLC Data");
|
| | | } catch (IOException e) {
|
| | | System.out.println("保存模拟数据失败:" + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | | // 连续写入多个Word
|
| | | public void writeword(String address, List<Short> data) {
|
| | | for (int i = 0; i < data.size(); i++) {
|
| | | String addr = calculateAddress(address, i * 2); // 假设每个word占两个地址单位
|
| | | memory.put(addr, Short.toString(data.get(i)));
|
| | |
|
| | | }
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | // 不连续地址word写入多个Word
|
| | | public void WriteWords(List<String> addresses, List<Short> datas) {
|
| | | if (addresses.size() != datas.size()) {
|
| | | throw new IllegalArgumentException("地址列表和数据列表的大小必须相同。");
|
| | | }
|
| | |
|
| | | for (int i = 0; i < addresses.size(); i++) {
|
| | | String addr = addresses.get(i);
|
| | | short data = datas.get(i);
|
| | | // 假设这里使用内存映射来模拟PLC写入操作
|
| | | memory.put(addr, Short.toString(data));
|
| | | }
|
| | | saveMemory(); // 在所有数据写入后保存更改
|
| | | }
|
| | |
|
| | | // 连续读取多个Word
|
| | | public List<Short> readwords(String address, int count) {
|
| | | List<Short> result = new ArrayList<>();
|
| | | for (int i = 0; i < count; i++) {
|
| | | String addr = calculateAddress(address, i * 2); // 同上,每个word占两个地址单位
|
| | |
|
| | | //System.out.println(addr);
|
| | |
|
| | | String value = memory.get(addr);
|
| | | if (value != null) {
|
| | | result.add(Short.parseShort(value));
|
| | | } else {
|
| | | result.add(null); // 或者考虑抛出异常或其他错误处理
|
| | | }
|
| | | }
|
| | | return result;
|
| | | }
|
| | |
|
| | |
|
| | | public List<Short> ReadWords(List<String> addresses) {
|
| | | List<Short> datas = new ArrayList<>();
|
| | |
|
| | | for (String addr : addresses) {
|
| | | // 从内存映射中获取数据
|
| | | String dataStr = memory.get(addr);
|
| | |
|
| | | // 将字符串转换成short类型,并添加到结果列表中
|
| | | // 这里假设数据已经以适当的方式存储(例如,作为短整型的字符串表示)
|
| | | // 如果读取的数据为空或转换失败,你可能需要处理这些情况
|
| | | try {
|
| | | short data = Short.parseShort(dataStr);
|
| | | datas.add(data);
|
| | | } catch (NumberFormatException e) {
|
| | | System.err.println("读取地址 " + addr + " 的数据时出错: " + e.getMessage());
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | return datas;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | // 连续写入多个Bit
|
| | | public void writebits(String address, List<Boolean> data) {
|
| | | for (int i = 0; i < data.size(); i++) {
|
| | | String addr = calculateAddress(address, i); // 假设每个bit占一个地址单位
|
| | | memory.put(addr, Boolean.toString(data.get(i)));
|
| | | }
|
| | | saveMemory();
|
| | | }
|
| | |
|
| | | //bit分散地址读取
|
| | | public List<Boolean> readBits(List<String> addresses) {
|
| | | List<Boolean> results = new ArrayList<>();
|
| | | for (String address : addresses) {
|
| | | // 对于每个地址,直接使用 calculateAddress 来处理可能的位偏移
|
| | | // 这里假设 calculateAddress 已经足够智能以处理单个位的偏移
|
| | | // 由于我们是逐个读取,每次偏移量都是0
|
| | | String addr = calculateAddress(address, 0);
|
| | | String value = memory.get(addr);
|
| | | if (value != null) {
|
| | | results.add(Boolean.parseBoolean(value));
|
| | | } else {
|
| | | // 如果地址对应的值不存在于内存中,可以选择添加 null 或抛出异常
|
| | | // 这里选择添加 null,但在实际应用中应根据具体需求决定
|
| | | results.add(null);
|
| | | }
|
| | | }
|
| | | return results;
|
| | | }
|
| | |
|
| | | // 连续读取多个Bit
|
| | | public List<Boolean> readbits(String address, int count) {
|
| | | List<Boolean> result = new ArrayList<>();
|
| | | for (int i = 0; i < count; i++) {
|
| | | String addr = calculateAddress(address, i); // 同上,每个bit占一个地址单位
|
| | | String value = memory.get(addr);
|
| | | if (value != null) {
|
| | | result.add(Boolean.parseBoolean(value));
|
| | | } else {
|
| | | result.add(null); // 或者考虑抛出异常或其他错误处理
|
| | | }
|
| | | }
|
| | | return result;
|
| | | }
|
| | |
|
| | | // 计算连续地址
|
| | | // private String calculateAddress(String baseAddress, int offset) {
|
| | | // // 支持带字母的地址格式
|
| | | // Pattern pattern = Pattern.compile("(\\D*)(\\d+)");
|
| | | // Matcher matcher = pattern.matcher(baseAddress);
|
| | | // if (matcher.find()) {
|
| | | // String prefix = matcher.group(1);
|
| | | // int address = Integer.parseInt(matcher.group(2));
|
| | | // return prefix + (address + offset);
|
| | | // } else {
|
| | | // throw new IllegalArgumentException("Invalid address format: " + baseAddress);
|
| | | // }
|
| | | // }
|
| | |
|
| | | private String calculateAddress(String baseAddress, int offset) {
|
| | | // 分割地址为数据块、字偏移和位偏移(如果有)
|
| | | Pattern pattern = Pattern.compile("(DB\\d+)\\.(\\d+)(?:\\.(\\d+))?");
|
| | | Matcher matcher = pattern.matcher(baseAddress);
|
| | | if (matcher.find()) {
|
| | | String dbNumber = matcher.group(1); // 数据块编号,如 "DB100"
|
| | | int wordOffset = Integer.parseInt(matcher.group(2)); // 字偏移
|
| | | String bitOffsetStr = matcher.group(3); // 位偏移,可能为空
|
| | |
|
| | | if (bitOffsetStr != null) {
|
| | | // 存在位偏移,进行位操作
|
| | | int bitOffset = Integer.parseInt(bitOffsetStr);
|
| | | int totalBitOffset = bitOffset + offset;
|
| | | // 计算新的字偏移和位偏移
|
| | | int newWordOffset = wordOffset + (totalBitOffset / 8);
|
| | | int newBitOffset = totalBitOffset % 8;
|
| | | return String.format("%s.%d.%d", dbNumber, newWordOffset, newBitOffset);
|
| | | } else {
|
| | | // 仅存在字偏移,进行字操作
|
| | | // 注意:假设每个字占用2个字节
|
| | | int newWordOffset = wordOffset + (offset );
|
| | | return String.format("%s.%d", dbNumber, newWordOffset);
|
| | | }
|
| | | } else {
|
| | | throw new IllegalArgumentException("Invalid address format: " + baseAddress);
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | | }
|
| | |
|
| | |
|
| | | //接收队列中所有消息,不消费
|
| | | public static List<String> browseMessages(String queueName) throws Exception {
|
| | | ConnectionFactory factory = new ConnectionFactory();
|
| | | factory.setHost(host);
|
| | | List<String> messages = new ArrayList<>();
|
| | | try (Connection connection = factory.newConnection();
|
| | | Channel channel = connection.createChannel()) {
|
| | | channel.queueDeclare(queueName, false, false, false, args);
|
| | | // 获取队列中的消息
|
| | | GetResponse response;
|
| | | while ((response = channel.basicGet(queueName, false)) != null) {
|
| | | String message = new String(response.getBody(), "UTF-8");
|
| | | messages.add(message);
|
| | | }
|
| | | }
|
| | | return messages;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | private static Set<String> sentMessageIds = new HashSet<>();
|
| | | //根据id发送消息
|
| | |
| | | channel.queueDeclare(queueName, false, false, false, args);
|
| | |
|
| | | GetResponse response;
|
| | | boolean found = false;
|
| | |
|
| | | while ((response = channel.basicGet(queueName, false)) != null) {
|
| | | String receivedMessage = new String(response.getBody(), "UTF-8");
|
| | | if (response.getProps().getMessageId().equals(messageId)) {
|
| | | long deliveryTag = response.getEnvelope().getDeliveryTag();
|
| | | channel.basicAck(deliveryTag, false);
|
| | | System.out.println("Selected message: "+messageId+ receivedMessage);
|
| | | return receivedMessage; // 返回选定的消息内容
|
| | | System.out.println("Selected message: " + messageId + " " + receivedMessage);
|
| | | return receivedMessage;
|
| | | } else {
|
| | | // 对于不符合条件的消息,进行 Nack 操作
|
| | | // long deliveryTag = response.getEnvelope().getDeliveryTag();
|
| | | // channel.basicNack(deliveryTag, false, true);
|
| | | return "Specified message not found in the queue.";
|
| | | // 未找到指定消息,继续查找
|
| | | channel.basicReject(response.getEnvelope().getDeliveryTag(), false);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | package com.mes.config; |
| | | |
| | | import com.mes.service.Plcaction; |
| | | import com.mes.service.DownGlassInfoService; |
| | | import org.springframework.context.ApplicationListener; |
| | | import org.springframework.context.event.ContextRefreshedEvent; |
| | | import com.mes.service.PLCAutoMes; |
| | | import com.mes.service.Plchome; |
| | | import org.springframework.boot.ApplicationArguments; |
| | | import org.springframework.boot.ApplicationRunner; |
| | | import org.springframework.core.annotation.Order; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | class AppStartup implements ApplicationListener<ContextRefreshedEvent> { |
| | | @Order(1) |
| | | |
| | | private final DownGlassInfoService downGlassInfoService; |
| | | |
| | | public AppStartup(DownGlassInfoService downGlassInfoService) { |
| | | this.downGlassInfoService = downGlassInfoService; |
| | | } |
| | | public class AppRunnerConfig implements ApplicationRunner { |
| | | |
| | | @Override |
| | | public void onApplicationEvent(ContextRefreshedEvent event) { |
| | | Plcaction.setDownGlassInfoService(downGlassInfoService); |
| | | new Plcaction().start(); |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | // TODO Auto-generated method stub |
| | | // |
| | | System.out.println("启动完成"); |
| | | |
| | | |
| | | |
| | | |
| | | // new PlcHold().start(); |
| | | new PLCAutoMes().start(); |
| | | |
| | | new Plchome().start(); |
| | | // new PlcLayout().start(); |
| | | // new Plcalarm().start(); |
| | | |
| | | // new Plcsign().start(); |
| | | |
| | | // new Plcstate().start(); |
| | | // new PlcPositioning1().start(); |
| | | |
| | | // new PlcParameter2().start(); |
| | | // new PLCAutomaticParameterSetting().start(); |
| | | |
| | | // new PlcManualonePosition().start(); |
| | | // new PlcManualonePosition2().start(); |
| | | // new PlcServoManualone().start(); |
| | | // new PLCManualJog().start(); |
| | | // new Plclog().start(); |
| | | |
| | | // new PlcInteractionState().start(); |
| | | //new PlcParameter1Review().start(); |
| | | //new PLCAutomaticParameterSettingReview2().start(); |
| | | |
| | | // new PLCManualJogReview().start(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.mes.controller;
|
| | |
|
| | | import com.mes.entity.DownGlassInfo;
|
| | | import com.mes.service.DownGlassInfoService;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.web.bind.annotation.GetMapping;
|
| | | import org.springframework.web.bind.annotation.PathVariable;
|
| | | import org.springframework.web.bind.annotation.RequestMapping;
|
| | | import org.springframework.web.bind.annotation.RestController;
|
| | |
|
| | | @RestController
|
| | | @RequestMapping("/downGlassInfo")
|
| | | public class DownGlassInfoController {
|
| | |
|
| | | @Autowired
|
| | | private DownGlassInfoService downGlassInfoService;
|
| | |
|
| | | // 获取指定ID的DownGlassInfo信息
|
| | | @GetMapping("/{id}")
|
| | | public DownGlassInfo getDownGlassInfoById(@PathVariable Integer id) {
|
| | | return downGlassInfoService.getDownGlassInfoById(id);
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | // @GetMapping("/messages")
|
| | | // public String getMessages() throws IOException, TimeoutException {
|
| | | // List<String> messages = new ArrayList<>();
|
| | | // try {
|
| | | // messages = RabbitMQUtils.browseMessages("hangzhou2");
|
| | | // } catch (Exception e) {
|
| | | // e.printStackTrace();
|
| | | // }
|
| | | // return messages.toString(); // 返回消息列表的字符串表示形式
|
| | | // }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | | import com.mes.common.CacheUtil; |
| | | import com.mes.common.Constants; |
| | | import com.mes.common.Result; |
| | | import com.mes.controller.dto.UserDTO; |
| | | import com.mes.entity.userInfo.User; |
| | | import com.mes.exception.ServiceException; |
| | | import com.mes.mapper.userInfo.UserMapper; |
| | |
| | | System.out.println(cacheUtil.getCacheData("admin")); |
| | | return userMapper.findAll(); |
| | | } |
| | | @ApiOperation("登录") |
| | | @PostMapping("/login") |
| | | public Result login(@RequestBody UserDTO userDTO){ |
| | | //UserDTO getUserCacheDTO = cacheUtil.getCacheData(userDTO.getUserId()); |
| | | userService.deleteCache(userDTO.getUserId()); |
| | | UserDTO getUserDTO=userService.login(userDTO); |
| | | if(getUserDTO!=null){ |
| | | return Result.seccess(userDTO); |
| | | }else{ |
| | | throw new ServiceException(Constants.Code_600,"用户名或密码错误"); |
| | | } |
| | | } |
| | | //@ApiOperation("登录") |
| | | // @PostMapping("/login") |
| | | // public Result login(@RequestBody UserDTO userDTO){ |
| | | // //UserDTO getUserCacheDTO = cacheUtil.getCacheData(userDTO.getUserId()); |
| | | // userService.deleteCache(userDTO.getUserId()); |
| | | // UserDTO getUserDTO=userService.login(userDTO); |
| | | // if(getUserDTO!=null){ |
| | | // return Result.seccess(userDTO); |
| | | // }else{ |
| | | // throw new ServiceException(Constants.Code_600,"用户名或密码错误"); |
| | | // } |
| | | // } |
| | | @ApiOperation("注册") |
| | | @PostMapping("/register") |
| | | public Result register(@RequestBody User user){ |
| | |
| | | private Double width; // 宽
|
| | | private Double height; // 高
|
| | | private Double thickness; // 厚度
|
| | | private String filmsid;//膜系
|
| | |
|
| | |
|
| | | } |
| | |
| | | private Integer deviceId; // 设备id
|
| | | private Integer enableState; // 启用状态
|
| | | private Integer workState; // 工作状态
|
| | | private Integer racks_number; // 已落架数量
|
| | | private Integer total_quantity; // 总数量
|
| | |
|
| | | } |
| | |
| | | private int plcAddressLength; |
| | | private ArrayList<PlcParameterInfo> plcParameterList; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @return 数据区开始地址 |
| | | */ |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
| | | import com.mes.entity.DownGlassInfo;
|
| | | import org.apache.ibatis.annotations.Mapper;
|
| | | import org.apache.ibatis.annotations.*;
|
| | | import org.springframework.stereotype.Repository;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | @Mapper
|
| | | @Repository
|
| | | @InterceptorIgnore(tenantLine = "true")
|
| | | @DS("hangzhoumes") // 指定使用 hangzhoumes 数据源
|
| | | public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
|
| | |
|
| | | // 查询下片任务表中状态为1的下片信息
|
| | | @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE state = 1;")
|
| | | List<DownGlassInfo> selectunloadingtaskstate();
|
| | |
|
| | | @Update("UPDATE down_glass_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
|
| | | void updateTaskStateToZero(@Param("flowCardId") String flowCardId);
|
| | |
|
| | | @Select("SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId} LIMIT 1")
|
| | | Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
|
| | |
|
| | | @Delete("delete from down_glass_task where flow_card_id = #{flowCardId}")
|
| | | void deletetask(@Param("flowCardId") String flowCardId);
|
| | | }
|
| | |
| | | import com.baomidou.dynamic.datasource.annotation.DS;
|
| | | import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
| | | import com.mes.entity.DownGlassInfo;
|
| | | import com.mes.entity.DownWorkstation;
|
| | | import org.apache.ibatis.annotations.Mapper;
|
| | | import org.apache.ibatis.annotations.*;
|
| | | import org.springframework.stereotype.Component;
|
| | | import org.springframework.stereotype.Repository;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | @Mapper
|
| | | @Component
|
| | | @Repository
|
| | | @InterceptorIgnore(tenantLine = "true")
|
| | | @DS("hangzhoumes") // 指定使用 hangzhoumes 数据源
|
| | | public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
|
| | | //根据工位ID和设备ID更新工位状态
|
| | | @Update("UPDATE down_workstation SET work_state = #{workState} " +
|
| | | "WHERE workstation_id = #{workstationId} AND device_id = #{deviceId}")
|
| | | void updateWorkStateByWorkstationIdAndDeviceId(@Param("workstationId") Integer workstationId,
|
| | | @Param("deviceId") Integer deviceId,
|
| | | @Param("workState") Integer workState);
|
| | | //工位ID删除信息
|
| | | @Delete("DELETE FROM down_workstation WHERE workstation_id = #{workstationId}")
|
| | | void deleteByWorkstationId(@Param("workstationId") Integer workstationId);
|
| | |
|
| | | //落架
|
| | | @Insert("INSERT INTO down_workstation (workstation_id, flow_card_id, device_id, enable_state, work_state) " +
|
| | | "VALUES (#{workstationId}, #{flowCardId}, #{deviceId}, #{enableState}, #{workState})")
|
| | | void insertDownWorkstation(DownWorkstation downWorkstation);
|
| | |
|
| | | //根据设备ID查询工位信息
|
| | | @Select("SELECT * FROM down_workstation WHERE device_id = #{deviceId}")
|
| | | List<DownWorkstation> selectByDeviceId(@Param("deviceId") Integer deviceId);
|
| | | //从机械手任务表查询状态为1的流程卡号
|
| | | // @Select("SELECT * FROM down_workstation_task WHERE state = 1")
|
| | | // List<DownWorkstation> selectdownWorkstationstate();
|
| | |
|
| | | @Select("SELECT dw.flow_card_id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1")
|
| | | List<DownWorkstation> selectdownWorkstationstate();
|
| | |
|
| | | @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
|
| | | "WHERE flow_card_id = #{flowCardId}")
|
| | | void update_racks_number(@Param("flowCardId") String flowCardId,
|
| | | @Param("racksNumber") Integer racksNumber);
|
| | |
|
| | |
|
| | | @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
|
| | | "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
|
| | | void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | | |
| | | import com.mes.entity.userInfo.SysMenuItem; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface SysMenuItemMapper { |
| | | |
| | | @Select("select * from sys_menu_item as a where a.state=1 order by a.listSort") |
| | | List<SysMenuItem> findAll() ; |
| | | } |
| | |
| | | @Autowired
|
| | | private DownGlassInfoMapper downGlassInfoMapper;
|
| | |
|
| | |
|
| | | public DownGlassInfo getDownGlassInfoById(Integer id) {
|
| | | return downGlassInfoMapper.selectById(id);
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
| | | // receiver.sendMessageWithId(QUEUE_NAME, message, messageId); // 调用 sendMessageWithId 方法发送消息
|
| | | receiver.sendMessageWithId("hangzhou2", "Hello RabbitMQ!", "1");
|
| | | receiver.sendMessageWithId("hangzhou2", "Another message", "2");
|
| | | receiver.sendMessageWithId("hangzhou2", "Yet another message", "1"); // 这条消息会打印重复消息的错误信息
|
| | | receiver.sendMessageWithId("hangzhou2", "Another message", "3");
|
| | | receiver.sendMessageWithId("hangzhou2", "Another message", "4");
|
| | | receiver.sendMessageWithId("hangzhou2", "Another message", "5");
|
| | | // receiver.sendMessageWithId("hangzhou2", "Yet another message", "1"); // 这条消息会打印重复消息的错误信息
|
| | |
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | import com.mes.common.RabbitMQUtils;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | public class ModuleB {
|
| | | private final static String QUEUE_NAME = "hangzhou2";
|
| | |
|
| | |
| | |
|
| | | try {
|
| | |
|
| | | receiver.consumeMessageById("2",QUEUE_NAME);
|
| | | //receiver.consumeMessageById("5",QUEUE_NAME);
|
| | |
|
| | | // String receivedMessage = receiver.consumeSelectedMessage(1,QUEUE_NAME);
|
| | | // String receivedMessage = String.valueOf(receiver.readMessages(QUEUE_NAME,false));
|
| | | // System.out.println("Received message: " + receivedMessage);
|
| | | List<String> receivedMessage = receiver.browseMessages(QUEUE_NAME);
|
| | | System.out.println("Received message: " + receivedMessage);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
New file |
| | |
| | | package com.mes.service; |
| | | |
| | | import com.mes.entity.device.PlcParameterObject; |
| | | import com.mes.tools.InitUtil; |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import static com.mes.tools.InitUtil.readAndUpdateWordValues; |
| | | |
| | | public class PLCAutoMes extends Thread { |
| | | |
| | | // 用于存储应用程序的配置信息 |
| | | private Configuration config; |
| | | private static InitUtil initUtil; |
| | | |
| | | |
| | | // 单例实例 |
| | | private static PLCAutoMes instance; |
| | | private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath(); |
| | | private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath(); |
| | | private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath(); |
| | | // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class |
| | | // .getResource("/JsonFile/PlcParameter.json").getPath(); |
| | | // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json") |
| | | // .getPath(); |
| | | // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json") |
| | | // .getPath(); |
| | | private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath(); |
| | | // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath(); |
| | | |
| | | // 调用initword方法 |
| | | |
| | | // |
| | | // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm); |
| | | public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes); |
| | | public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead); |
| | | public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe); |
| | | |
| | | // 私有构造函数 |
| | | public PLCAutoMes() throws IOException { |
| | | |
| | | initUtil = new InitUtil(); |
| | | } |
| | | |
| | | // 获取单例实例 |
| | | public static synchronized PLCAutoMes getInstance() throws IOException { |
| | | if (instance == null) { |
| | | instance = new PLCAutoMes(); |
| | | } |
| | | return instance; |
| | | } |
| | | |
| | | @Override |
| | | public void run() { |
| | | while (this != null) { |
| | | try { |
| | | Thread.sleep(100); |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // System.out.println(jsonFilePath); |
| | | |
| | | // readAndUpdateWordValues(PlcReadObject); |
| | | readAndUpdateWordValues(PlcMesObject); |
| | | // readAndUpdateWordValues(PlcframeObject); |
| | | // readAndUpdateWordValues(PlcframeObject); |
| | | |
| | | // readAndUpdateWordValues(plcStateObject); |
| | | // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex(); |
| | | // System.out.println(index); |
| | | // PlcMesObject.getPlcParameter("AddStart").getAddress(index); |
| | | // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index)); |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("FeedID"); |
| | | addresses.add("AddStart"); |
| | | // System.out.println(addresses); |
| | | // System.out.println(PlcMesObject.getPlcParameterValues(addresses)); |
| | | List<String> addresses2 = new ArrayList<>(); |
| | | addresses2.add("FeedID"); |
| | | addresses2.add("FeedCarStatus"); |
| | | |
| | | // System.out.println(PlcReadObject.getPlcParameterValues(addresses2)); |
| | | |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.mes.service;
|
| | |
|
| | | import com.mes.entity.DownGlassInfo;
|
| | | import com.mes.entity.DownStorageCageDetails;
|
| | | import com.mes.entity.DownWorkstation;
|
| | | import com.mes.entity.device.PlcParameterObject;
|
| | | import com.mes.mapper.DownGlassInfoMapper;
|
| | | import com.mes.mapper.DownWorkstationMapper;
|
| | | import com.mes.tools.WebSocketServer;
|
| | | import lombok.Data;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import java.util.List;
|
| | | @Data
|
| | | @Service
|
| | | public class PlcService {
|
| | |
|
| | | @Autowired
|
| | | private DownWorkstationMapper downWorkstationMapper;
|
| | | private DownGlassInfo downGlassInfo;
|
| | | private DownWorkstation downWorkstation;
|
| | | private DownGlassInfoMapper downGlassInfoMapper;
|
| | |
|
| | | private DownGlassInfoService downGlassInfoService;
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | private List<DownGlassInfo> glassList; // 存放待处理的玻璃信息
|
| | | private List<DownStorageCageDetails> cageDetailsList; // 存放玻璃放置在缓存笼中的详细信息
|
| | | PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
|
| | | String Robot1PLCrequestword=plcread.getPlcParameter("A01Position").getValue();// 机械手1PLC请求字
|
| | | String Robot2PLCrequestword=plcread.getPlcParameter("A01Position").getValue();// 机械手2PLC请求字
|
| | | String GlassID=plcread.getPlcParameter("A01Position").getValue();// 玻璃id
|
| | | String Glasswidth=plcread.getPlcParameter("A01Position").getValue();//玻璃宽度
|
| | | String Glassheight=plcread.getPlcParameter("A01Position").getValue();//玻璃高度
|
| | | String Glassthickness=plcread.getPlcParameter("A01Position").getValue();//厚度
|
| | | String PLCwancheng = plcread.getPlcParameter("A01Position").getValue();// plc完成字
|
| | |
|
| | |
|
| | | //当下片任务表状态为1时候将数据插入到下片玻璃信息表
|
| | | public void insertdownglassinfo() {
|
| | |
|
| | |
|
| | | downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
|
| | | downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
|
| | | downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
|
| | | List<DownGlassInfo> taskdownGlassInf = downGlassInfoMapper.selectunloadingtaskstate();
|
| | | //
|
| | | if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
|
| | | // 创建新的 DownGlassInfo 对象并设置相关属性
|
| | | DownGlassInfo newdownGlassInfo = new DownGlassInfo();
|
| | |
|
| | | newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
|
| | | Integer maxSequence = downGlassInfoMapper.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
|
| | | int sequence = maxSequence != null ? maxSequence + 1 : 1; // 初始化顺序字段值
|
| | |
|
| | | newdownGlassInfo.setWidth(downGlassInfo.getWidth());
|
| | | newdownGlassInfo.setHeight(downGlassInfo.getHeight());
|
| | | newdownGlassInfo.setThickness(downGlassInfo.getThickness());
|
| | | newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
|
| | | newdownGlassInfo.setSequence(sequence); // 设置顺序字段值
|
| | |
|
| | | // 插入数据到下片玻璃信息表
|
| | | downGlassInfoMapper.insert(newdownGlassInfo);
|
| | | //插入数据到机械手任务表
|
| | | downWorkstationMapper.insertdownWorkstationtask(newdownGlassInfo);
|
| | | //更新任务表状态为0
|
| | | downGlassInfoMapper.updateTaskStateToZero(downGlassInfo.getFlowCardId());
|
| | |
|
| | | sequence++; // 递增顺序字段值
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | //当机械手任务表中状态为1,工位表流程卡绑定了架子 更新已经落架数量,并且把下片任务表的对应记录删掉
|
| | | public void down_workstation(){
|
| | |
|
| | | //downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
|
| | | //downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
|
| | | try {
|
| | | List<DownWorkstation> taskdownWorkstation = downWorkstationMapper.selectdownWorkstationstate();
|
| | | if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
|
| | | //查询下片工位表中是否绑定了架子是否绑定了流程卡号,如果已经绑定则更新已落架数量,并且删除下片任务表中的记录
|
| | | for (DownWorkstation downWorkstation : taskdownWorkstation) {
|
| | | downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(),6 );
|
| | | downGlassInfoMapper.deletetask(downWorkstation.getFlowCardId());
|
| | |
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | // 打印异常信息
|
| | | e.printStackTrace();
|
| | | // 或者可以进行其他异常处理,比如记录日志或者返回特定的错误信息
|
| | | }
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | //绑定流程卡号架子
|
| | | public void bindingshelf(DownWorkstation downWorkstation){
|
| | |
|
| | | String FlowCardId=downWorkstation.getFlowCardId();
|
| | | int WorkstationId=downWorkstation.getWorkstationId();
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | }
|
| | |
| | | package com.mes.service;
|
| | |
|
| | | import com.mes.common.PlcTools.MockS7PLCtwo;
|
| | | import com.mes.entity.DownGlassInfo;
|
| | | import com.mes.mapper.DownWorkstationMapper;
|
| | | import com.mes.tools.WebSocketServer;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | |
|
| | | import java.util.Collections;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Arrays;
|
| | | import java.util.List;
|
| | |
|
| | | public class Plcaction extends Thread {
|
| | |
|
| | | private static DownGlassInfoService downGlassInfoService; // 静态变量
|
| | |
|
| | | public static void setDownGlassInfoService(DownGlassInfoService service) {
|
| | | downGlassInfoService = service;
|
| | | }
|
| | |
|
| | | private List<DownGlassInfo> downGlassInfo; //
|
| | | @Autowired
|
| | | private DownWorkstationMapper downWorkstationMapper;
|
| | | private DownGlassInfo downGlassInfo; //
|
| | | private DownGlassInfoService downGlassInfoService;
|
| | | private int i =1; //
|
| | |
|
| | | //MockS7PLC mockS7PLC=new MockS7PLC();
|
| | | @Override
|
| | | public void run() {
|
| | | while (!Thread.currentThread().isInterrupted()) {
|
| | |
| | | Thread.currentThread().interrupt();
|
| | | e.printStackTrace();
|
| | | }
|
| | | downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
|
| | | downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
|
| | | int workstationId = 1;
|
| | | int deviceId = 2;
|
| | | int newWorkState = 9;
|
| | |
|
| | | downWorkstationMapper.updateWorkStateByWorkstationIdAndDeviceId(workstationId, deviceId, newWorkState);
|
| | | downGlassInfo = downGlassInfoService.getDownGlassInfoById(1); // 设置需要查询的id
|
| | | // System.out.println("Down Glass Info in new thread: "+i + downGlassInfo);
|
| | | Boolean[] value4 = { false, true, true, true, true, true, false, false, false,
|
| | | false};
|
| | | List<Boolean> booldata2 = new ArrayList<>(Arrays.asList(value4));
|
| | | // MockS7PLCtwo.getInstance().writeBoolean("DB1.DBX0.0", false);
|
| | | // MockS7PLCtwo.getInstance().writebits("DB4.0.0",booldata2);
|
| | | // 从相同的地址读取布尔值
|
| | | boolean value = MockS7PLCtwo.getInstance().readBoolean("DB1.DBX0.0");
|
| | | Short[] values1 = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
| | | Short[] values2 = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
|
| | |
|
| | | List<Short> data = new ArrayList<>(Arrays.asList(values1));
|
| | | List<Short> data2 = new ArrayList<>(Arrays.asList(values2));
|
| | | List<String> addresses3 = new ArrayList<>();
|
| | | addresses3.add("DB1.0.0");
|
| | | addresses3.add("DB1.0.3");
|
| | | addresses3.add("DB1.0.5");
|
| | | List<String> addresses = new ArrayList<>();
|
| | | addresses.add("DB100.0");
|
| | | addresses.add("DB100.2");
|
| | | addresses.add("DB100.4");
|
| | | addresses.add("DB100.6");
|
| | | addresses.add("DB100.26");
|
| | | addresses.add("DB100.28");
|
| | | addresses.add("DB100.30");
|
| | | addresses.add("DB100.32");
|
| | | addresses.add("DB100.34");
|
| | | addresses.add("DB100.36");
|
| | |
|
| | |
|
| | |
|
| | | downGlassInfo = Collections.singletonList(downGlassInfoService.getDownGlassInfoById(1)); // 设置需要查询的id
|
| | | System.out.println("Down Glass Info in new thread: "+i + downGlassInfo);
|
| | | List<String> addresses2 = new ArrayList<>();
|
| | | addresses2.add("DB101.0");
|
| | | addresses2.add("DB101.2");
|
| | | addresses2.add("DB101.4");
|
| | | addresses2.add("DB101.6");
|
| | | addresses2.add("DB101.8");
|
| | | addresses2.add("DB101.10");
|
| | | addresses2.add("DB101.12");
|
| | | addresses2.add("DB101.14");
|
| | | addresses2.add("DB101.16");
|
| | | addresses2.add("DB101.18");
|
| | | // mockPLC.writeword("DB100.2",data );
|
| | | MockS7PLCtwo.getInstance().WriteWords(addresses, data);
|
| | | MockS7PLCtwo.getInstance().WriteWords(addresses2, data2);
|
| | | //DB100.2,DB100.4,DB100.6,DB100.28,DB100.30,DB100.32,DB100.36,DB100.38,DB100.40
|
| | |
|
| | | List<Short> data5= MockS7PLCtwo.getInstance().readwords("DB104.0", 9);
|
| | | List<Short> data3= MockS7PLCtwo.getInstance().ReadWords(addresses);
|
| | | List<Boolean> data4= MockS7PLCtwo.getInstance().readbits("DB4.0.0",10);
|
| | |
|
| | | List<Boolean> data6= MockS7PLCtwo.getInstance().readBits(addresses3);
|
| | | // System.out.println("读取的布尔值: " + value); // 应该输出 true
|
| | | // System.out.println("读取的word值: " + data3);
|
| | | System.out.println("读取的word值: " + data4);
|
| | | // System.out.println("读取的bit值: " + data4);
|
| | | // System.out.println("读取的bit值: " + data6);
|
| | |
|
| | |
|
| | | // System.out.println("读取的word值: " + MockS7PLCtwo.getInstance().readInt16("DB5.0.0"));
|
| | | }
|
| | | }
|
| | | }
|
New file |
| | |
| | | package com.mes.service;
|
| | |
|
| | | import com.mes.tools.WebSocketServer;
|
| | | import org.springframework.stereotype.Component;
|
| | |
|
| | | import java.util.function.Supplier;
|
| | |
|
| | | @Component
|
| | | public class Plchome extends Thread {
|
| | | private int i = 1;
|
| | | private final Supplier<PlcService> plcServiceSupplier;
|
| | |
|
| | | public Plchome() {
|
| | | this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(PlcService.class);
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | @Override
|
| | | public void run() {
|
| | | while (!Thread.currentThread().isInterrupted()) {
|
| | | try {
|
| | | i++;
|
| | | Thread.sleep(100);
|
| | | PlcService plcService = plcServiceSupplier.get();
|
| | | // plcService.performPlcActions();
|
| | | //plcService.unloadpush();
|
| | |
|
| | | //当下片任务表状态为1时候将数据插入到下片玻璃信息表
|
| | | plcService.insertdownglassinfo();
|
| | |
|
| | |
|
| | |
|
| | | //当机械手任务表中状态为1 更新已经落架数量,并且把下片任务表的那条记录删掉 工位表流程卡绑定了架子
|
| | | plcService.down_workstation();
|
| | |
|
| | |
|
| | | } catch (InterruptedException e) {
|
| | | Thread.currentThread().interrupt();
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysErrorService { |
| | | private final SysErrorMapper sysErrorMapper; |
| | | |
| | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysMenuItemService { |
| | | @Autowired |
| | | SysMenuItemMapper sysMenuItemMapper; |
| | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class SysMenuService { |
| | | @Autowired |
| | | private SysMenuMapper sysMenuMapper; |
| | |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.mes.common.CacheUtil; |
| | | import com.mes.common.Result; |
| | | import com.mes.controller.dto.UserDTO; |
| | | import com.mes.entity.userInfo.User; |
| | | import com.mes.mapper.userInfo.UserMapper; |
| | | import com.mes.controller.dto.UserDTO; |
| | | import com.mes.tools.TokenTools; |
| | | import org.apache.ibatis.jdbc.Null; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | | @DS("hangzhoumes") |
| | | public class UserService { |
| | | |
| | | @Autowired |
| | |
| | |
|
| | | import cn.hutool.json.JSONArray;
|
| | | import cn.hutool.json.JSONObject;
|
| | | import com.mes.common.PlcTools.S7control;
|
| | | import com.mes.entity.device.PlcBitInfo;
|
| | | import com.mes.entity.device.PlcBitObject;
|
| | | import com.mes.entity.device.PlcParameterInfo;
|
| | |
| | | import java.io.BufferedReader;
|
| | | import java.io.FileReader;
|
| | | import java.io.IOException;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Arrays;
|
| | | import java.util.List;
|
| | |
|
| | | public class InitUtil {
|
| | |
| | | //
|
| | | public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
|
| | |
|
| | | // Boolean[] values1 = { false, true, true, true, false, false, true, false,
|
| | | // false, true ,true };
|
| | | // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
|
| | | List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
|
| | | Boolean[] values1 = { false, true, true, true, false, false, true, false,
|
| | | false, true ,true };
|
| | | List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
|
| | | //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
|
| | | plcBitObject.setPlcBitList(getplcvlues);
|
| | | }
|
| | |
|
| | |
|
| | | public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
|
| | |
|
| | | // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
|
| | | byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
|
| | | byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03,0x03};
|
| | | // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
|
| | | plcParameterObject.setPlcParameterList(getplcvlues);
|
| | | }
|
| | |
|
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB104.0.0",
|
| | | "plcAddressLenght": "91",
|
| | | "dataType": "bit",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01VFDerror",
|
| | | "addressIndex": 0
|
| | | },
|
| | | {
|
| | | "codeId": "D02VFDerror",
|
| | | "addressIndex": 1
|
| | | },
|
| | | {
|
| | | "codeId": "D03VFDerror",
|
| | | "addressIndex": 2
|
| | | },
|
| | | {
|
| | | "codeId": "D04VFDerror",
|
| | | "addressIndex": 3
|
| | | },
|
| | | {
|
| | | "codeId": "D05VFDerror",
|
| | | "addressIndex": 4
|
| | | },
|
| | | {
|
| | | "codeId": "D06VFDerror",
|
| | | "addressIndex": 5
|
| | | },
|
| | | {
|
| | | "codeId": "B01VFDerror",
|
| | | "addressIndex": 6
|
| | | },
|
| | | {
|
| | | "codeId": "B02VFDerror",
|
| | | "addressIndex": 7
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDerror",
|
| | | "addressIndex": 8
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDerror",
|
| | | "addressIndex": 9
|
| | | },
|
| | | {
|
| | | "codeId": "A01servoturnerror",
|
| | | "addressIndex": 10
|
| | | },
|
| | | {
|
| | | "codeId": "A02servoturnerror",
|
| | | "addressIndex": 11
|
| | | },
|
| | | {
|
| | | "codeId": "A01servotravelerror",
|
| | | "addressIndex": 12
|
| | | },
|
| | | {
|
| | | "codeId": "A02servotravelerror",
|
| | | "addressIndex": 13
|
| | | },
|
| | | {
|
| | | "codeId": "B01servotravelerror",
|
| | | "addressIndex": 14
|
| | | },
|
| | | {
|
| | | "codeId": "B02servotravelerror",
|
| | | "addressIndex": 15
|
| | | },
|
| | | {
|
| | | "codeId": "D01DECerror",
|
| | | "addressIndex": 16
|
| | | },
|
| | | {
|
| | | "codeId": "D01poserror",
|
| | | "addressIndex": 17
|
| | | },
|
| | | {
|
| | | "codeId": "D02DECerror",
|
| | | "addressIndex": 18
|
| | | },
|
| | | {
|
| | | "codeId": "D02poserror",
|
| | | "addressIndex": 19
|
| | | },
|
| | | {
|
| | | "codeId": "D03DECerror",
|
| | | "addressIndex": 20
|
| | | },
|
| | | {
|
| | | "codeId": "D03poserror",
|
| | | "addressIndex": 21
|
| | | },
|
| | | {
|
| | | "codeId": "D04DECerror",
|
| | | "addressIndex": 22
|
| | | },
|
| | | {
|
| | | "codeId": "D04poserror",
|
| | | "addressIndex": 23
|
| | | },
|
| | | {
|
| | | "codeId": "D05DECerror",
|
| | | "addressIndex": 24
|
| | | },
|
| | | {
|
| | | "codeId": "D05poserror",
|
| | | "addressIndex": 25
|
| | | },
|
| | | {
|
| | | "codeId": "D06DECerror",
|
| | | "addressIndex": 26
|
| | | },
|
| | | {
|
| | | "codeId": "D06poserror",
|
| | | "addressIndex": 27
|
| | | },
|
| | | {
|
| | | "codeId": "A01DECerror",
|
| | | "addressIndex": 28
|
| | | },
|
| | | {
|
| | | "codeId": "A01poserror",
|
| | | "addressIndex": 29
|
| | | },
|
| | | {
|
| | | "codeId": "A02DECerror",
|
| | | "addressIndex": 30
|
| | | },
|
| | | {
|
| | | "codeId": "A02poserror",
|
| | | "addressIndex": 31
|
| | | },
|
| | | {
|
| | | "codeId": "B01INDECerror",
|
| | | "addressIndex": 32
|
| | | },
|
| | | {
|
| | | "codeId": "B01INposerror",
|
| | | "addressIndex": 33
|
| | | },
|
| | | {
|
| | | "codeId": "B01OUTDECerror",
|
| | | "addressIndex": 34
|
| | | },
|
| | | {
|
| | | "codeId": "B01OUTposerror",
|
| | | "addressIndex": 35
|
| | | },
|
| | | {
|
| | | "codeId": "B02INDECerror",
|
| | | "addressIndex": 36
|
| | | },
|
| | | {
|
| | | "codeId": "B02INposerror",
|
| | | "addressIndex": 37
|
| | | },
|
| | | {
|
| | | "codeId": "B02OUTDECerror",
|
| | | "addressIndex": 38
|
| | | },
|
| | | {
|
| | | "codeId": "B02OUTposerror",
|
| | | "addressIndex": 39
|
| | | },
|
| | | {
|
| | | "codeId": "D01Scanglassexceedinglimit",
|
| | | "addressIndex": 40
|
| | | },
|
| | | {
|
| | | "codeId": "emergencystopalarm",
|
| | | "addressIndex": 41
|
| | | },
|
| | | {
|
| | | "codeId": "Moreglassthanknown",
|
| | | "addressIndex": 42
|
| | | },
|
| | | {
|
| | | "codeId": "lessglassthanknown",
|
| | | "addressIndex": 43
|
| | | },
|
| | | {
|
| | | "codeId": "D01conveyortimeoutalarm",
|
| | | "addressIndex": 44
|
| | | },
|
| | | {
|
| | | "codeId": "D02conveyortimeoutalarm",
|
| | | "addressIndex": 45
|
| | | },
|
| | | {
|
| | | "codeId": "D03conveyortimeoutalarm",
|
| | | "addressIndex": 46
|
| | | },
|
| | | {
|
| | | "codeId": "D04conveyortimeoutalarm",
|
| | | "addressIndex": 47
|
| | | },
|
| | | {
|
| | | "codeId": "D05conveyortimeoutalarm",
|
| | | "addressIndex": 48
|
| | | },
|
| | | {
|
| | | "codeId": "D06conveyortimeoutalarm",
|
| | | "addressIndex": 49
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyortimeoutalarm",
|
| | | "addressIndex": 50
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyortimeoutalarm",
|
| | | "addressIndex": 51
|
| | | },
|
| | | {
|
| | | "codeId": "B01conveyortimeoutalarm",
|
| | | "addressIndex": 52
|
| | | },
|
| | | {
|
| | | "codeId": "B02conveyortimeoutalarm",
|
| | | "addressIndex": 53
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorLeftsafetyalarm",
|
| | | "addressIndex": 54
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorrightsafetyalarm",
|
| | | "addressIndex": 55
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorLeftsafetyalarm",
|
| | | "addressIndex": 56
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorrightsafetyalarm",
|
| | | "addressIndex": 57
|
| | | },
|
| | | {
|
| | | "codeId": "1#buffersafetyalarm",
|
| | | "addressIndex": 58
|
| | | },
|
| | | {
|
| | | "codeId": "2#buffersafetyalarm",
|
| | | "addressIndex": 59
|
| | | },
|
| | | {
|
| | | "codeId": "3#buffersafetyalarm",
|
| | | "addressIndex": 60
|
| | | },
|
| | | {
|
| | | "codeId": "4#buffersafetyalarm",
|
| | | "addressIndex": 61
|
| | | },
|
| | | {
|
| | | "codeId": "A01.SRrightinposerror",
|
| | | "addressIndex": 62
|
| | | },
|
| | | {
|
| | | "codeId": "A02.SRleftinposerror",
|
| | | "addressIndex": 63
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRleftinposerror",
|
| | | "addressIndex": 64
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRleftdecerror",
|
| | | "addressIndex": 65
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRrightdecerror",
|
| | | "addressIndex": 66
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRrightinposerror",
|
| | | "addressIndex": 67
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRleftinposerror",
|
| | | "addressIndex": 68
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRleftdecerror",
|
| | | "addressIndex": 69
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRrightdecerror",
|
| | | "addressIndex": 70
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRrightinposerror",
|
| | | "addressIndex": 71
|
| | | },
|
| | | {
|
| | | "codeId": "A01servoturnhomed",
|
| | | "addressIndex": 72
|
| | | },
|
| | | {
|
| | | "codeId": "A02servoturnhomed",
|
| | | "addressIndex": 73
|
| | | },
|
| | | {
|
| | | "codeId": "A01servotravelhomed",
|
| | | "addressIndex": 74
|
| | | },
|
| | | {
|
| | | "codeId": "A02servotravelhomed",
|
| | | "addressIndex": 75
|
| | | },
|
| | | {
|
| | | "codeId": "B01servotravelhomed",
|
| | | "addressIndex": 76
|
| | | },
|
| | | {
|
| | | "codeId": "B02servotravelhomed",
|
| | | "addressIndex": 77
|
| | | },
|
| | | {
|
| | | "codeId": "resetDelay",
|
| | | "addressIndex": 78
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelNegativelimit",
|
| | | "addressIndex": 79
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelPositivelimit",
|
| | | "addressIndex": 80
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnuplimit",
|
| | | "addressIndex": 81
|
| | | },
|
| | | {
|
| | | "codeId": "A01turndownlimit",
|
| | | "addressIndex": 82
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelNegativelimit",
|
| | | "addressIndex": 83
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelPositivelimit",
|
| | | "addressIndex": 84
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnuplimit",
|
| | | "addressIndex": 85
|
| | | },
|
| | | {
|
| | | "codeId": "A02turndownlimit",
|
| | | "addressIndex": 86
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelNegativelimit",
|
| | | "addressIndex": 87
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelPositivelimit",
|
| | | "addressIndex": 88
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelNegativelimit",
|
| | | "addressIndex": 89
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelPositivelimit",
|
| | | "addressIndex": 90
|
| | | }
|
| | | ]
|
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB105.0", |
| | | "plcAddressLenght":"12", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "OutActivate", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "Addgoal", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "AddLength", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "AddWidth", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "AddCount", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "OutStart", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB100.0", |
| | | "plcAddressLenght":"198", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "conveyorVelocity(Max)", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(Manual)", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNJOGVelocity", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELJOGVelocity", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELJOGVelocity", |
| | | "addressIndex":"12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNPOSVelocityAUTO", |
| | | "addressIndex":"14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TURNPOSVelocitymanual", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(Max)", |
| | | "addressIndex":"26", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"28", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"30", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"32", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Max)", |
| | | "addressIndex":"34", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"36", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"38", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"40", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "gridspacing", |
| | | "addressIndex":"42", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Spliceaddresssetting", |
| | | "addressIndex":"44", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02Spliceaddresssetting", |
| | | "addressIndex":"46", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A011#gridaddress", |
| | | "addressIndex":"48", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0122#gridaddress", |
| | | "addressIndex":"50", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0143#gridaddress", |
| | | "addressIndex":"52", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0164#gridaddress", |
| | | "addressIndex":"54", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0185#gridaddress", |
| | | "addressIndex":"56", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01106#gridaddress", |
| | | "addressIndex":"58", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01127#gridaddress", |
| | | "addressIndex":"60", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01148#gridaddress", |
| | | "addressIndex":"62", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01169#gridaddress", |
| | | "addressIndex":"64", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01190#gridaddress", |
| | | "addressIndex":"66", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A021#gridaddress", |
| | | "addressIndex":"68", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0222#gridaddress", |
| | | "addressIndex":"70", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "addressIndex":"72", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0264#gridaddress", |
| | | "addressIndex":"74", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0285#gridaddress", |
| | | "addressIndex":"76", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02106#gridaddress", |
| | | "addressIndex":"78", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02127#gridaddress", |
| | | "addressIndex":"80", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02148#gridaddress", |
| | | "addressIndex":"82", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02169#gridaddress", |
| | | "addressIndex":"84", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02190#gridaddress", |
| | | "addressIndex":"86", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B011#gridaddress", |
| | | "addressIndex":"88", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0122#gridaddress", |
| | | "addressIndex":"90", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0143#gridaddress", |
| | | "addressIndex":"92", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0164#gridaddress", |
| | | "addressIndex":"94", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0185#gridaddress", |
| | | "addressIndex":"96", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02106#gridaddress", |
| | | "addressIndex":"98", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02127#gridaddress", |
| | | "addressIndex":"100", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02148#gridaddress", |
| | | "addressIndex":"102", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02169#gridaddress", |
| | | "addressIndex":"104", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02190#gridaddress", |
| | | "addressIndex":"106", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Targetgrid(Manual)", |
| | | "addressIndex":"108", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": " A02Targetgrid(Manual)", |
| | | "addressIndex":"110", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B01Targetgrid(Manual)", |
| | | "addressIndex":"112", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02Targetgrid(Manual)", |
| | | "addressIndex":"114", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01turnTargetAngle(Manual)", |
| | | "addressIndex":"116", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnTargetAngle(Manual)", |
| | | "addressIndex":"118", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle1", |
| | | "addressIndex":"120", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle2", |
| | | "addressIndex":"122", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle3", |
| | | "addressIndex":"124", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle4", |
| | | "addressIndex":"126", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle1", |
| | | "addressIndex":"128", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle2", |
| | | "addressIndex":"130", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle3", |
| | | "addressIndex":"132", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle4", |
| | | "addressIndex":"134", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "Minimumglasslength", |
| | | "addressIndex":"136", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Minimumglassheight", |
| | | "addressIndex":"138", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglasslength", |
| | | "addressIndex":"140", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglassheight", |
| | | "addressIndex":"142", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01cellsGlassNum", |
| | | "addressIndex":"144", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02cellsGlassNum", |
| | | "addressIndex":"146", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01ID", |
| | | "addressIndex":"148", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02ID", |
| | | "addressIndex":"162", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"176", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"178", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionofthefeedca", |
| | | "addressIndex":"180", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Targetpositionofthefeedcar", |
| | | "addressIndex":"182", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Lengthofincomingglass", |
| | | "addressIndex":"184", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Widthofincomingglass", |
| | | "addressIndex":"186", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionoftheexitcar", |
| | | "addressIndex":"188", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, { |
| | | "codeId": "Exitcartargetposition", |
| | | "addressIndex":"190", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A02TURNPOSVelocitymanual", |
| | | "addressIndex":"192", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A01delayTime", |
| | | "addressIndex":"194", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | |
| | | |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin": "DB106.0", |
| | | "plcAddressLenght": "66", |
| | | "dataType": "word", |
| | | "parameteInfor": [{ |
| | | "codeId": "A01Position", |
| | | "addressIndex": "0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01FlipPosition", |
| | | "addressIndex": "2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01QuestStartPosition", |
| | | "addressIndex": "4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01EndPosition", |
| | | "addressIndex": "6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedCarStatus", |
| | | "addressIndex": "8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestOver", |
| | | "addressIndex": "10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02Position", |
| | | "addressIndex": "12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02FlipPosition", |
| | | "addressIndex": "14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestStartPosition", |
| | | "addressIndex": "16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02EndPosition", |
| | | "addressIndex": "18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "ExitCarStatus", |
| | | "addressIndex": "20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestOver", |
| | | "addressIndex": "22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedRequest", |
| | | "addressIndex": "24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedID", |
| | | "addressIndex": "26", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01Position", |
| | | "addressIndex": "40", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01QuestPosition", |
| | | "addressIndex": "42", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CurrentTaskMode", |
| | | "addressIndex": "44", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CarStatus", |
| | | "addressIndex": "46", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CarTaskStatus", |
| | | "addressIndex": "48", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02Position", |
| | | "addressIndex": "50", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarCurrentTask", |
| | | "addressIndex": "52", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CurrentTaskMode", |
| | | "addressIndex": "54", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarStatus", |
| | | "addressIndex": "56", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarSaskStatus", |
| | | "addressIndex": "58", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CompleteTheReport", |
| | | "addressIndex": "60", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CompleteTheReport", |
| | | "addressIndex": "62", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "OutRequest", |
| | | "addressIndex": "64", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin": "DB102.0.0", |
| | | "plcAddressLenght": "112", |
| | | "dataType": "bit", |
| | | "parameteInfor": [ |
| | | { |
| | | "codeId": "D01.SRdec", |
| | | "addressIndex": 0 |
| | | }, |
| | | { |
| | | "codeId": "D01.SRinpos", |
| | | "addressIndex": 1 |
| | | }, |
| | | { |
| | | "codeId": "D02.SRdec", |
| | | "addressIndex": 2 |
| | | }, |
| | | { |
| | | "codeId": "D02.SRinpos", |
| | | "addressIndex": 3 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRinto", |
| | | "addressIndex": 4 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRdec", |
| | | "addressIndex": 5 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRinpos", |
| | | "addressIndex": 6 |
| | | }, |
| | | { |
| | | "codeId": "D04.SRdec", |
| | | "addressIndex": 7 |
| | | }, |
| | | { |
| | | "codeId": "D04.SRinpos", |
| | | "addressIndex": 8 |
| | | }, |
| | | { |
| | | "codeId": "D05.SRdec", |
| | | "addressIndex": 9 |
| | | }, |
| | | { |
| | | "codeId": "D05.SRinpos", |
| | | "addressIndex": 10 |
| | | }, |
| | | { |
| | | "codeId": "D06.SRdec", |
| | | "addressIndex": 11 |
| | | }, |
| | | { |
| | | "codeId": "D06.SRinpos", |
| | | "addressIndex": 12 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRindec", |
| | | "addressIndex": 13 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRininpos", |
| | | "addressIndex": 14 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutdec", |
| | | "addressIndex": 15 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutinpos", |
| | | "addressIndex": 16 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRturnon", |
| | | "addressIndex": 17 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRturnoff", |
| | | "addressIndex": 18 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRup", |
| | | "addressIndex": 19 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRdown", |
| | | "addressIndex": 20 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutdec", |
| | | "addressIndex": 21 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutinpos", |
| | | "addressIndex": 22 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRindec", |
| | | "addressIndex": 23 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRininpos", |
| | | "addressIndex": 24 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRturnon", |
| | | "addressIndex": 25 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRturnoff", |
| | | "addressIndex": 26 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRup", |
| | | "addressIndex": 27 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRdown", |
| | | "addressIndex": 28 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRinsafety", |
| | | "addressIndex": 29 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutsafety", |
| | | "addressIndex": 30 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRinsafety", |
| | | "addressIndex": 31 |
| | | }, |
| | | { |
| | | "codeId": "SB.start(+)", |
| | | "addressIndex": 32 |
| | | }, |
| | | { |
| | | "codeId": "SB.stop(-)", |
| | | "addressIndex": 33 |
| | | }, |
| | | { |
| | | "codeId": "SB.reset", |
| | | "addressIndex": 34 |
| | | }, |
| | | { |
| | | "codeId": "SB.auto/manul", |
| | | "addressIndex": 35 |
| | | }, |
| | | { |
| | | "codeId": "D01.SB.confirm", |
| | | "addressIndex": 36 |
| | | }, |
| | | { |
| | | "codeId": "SB.emg", |
| | | "addressIndex": 37 |
| | | }, |
| | | { |
| | | "codeId": "D01.SB.start", |
| | | "addressIndex": 38 |
| | | }, |
| | | { |
| | | "codeId": "D06.SB.start", |
| | | "addressIndex": 39 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutsafety", |
| | | "addressIndex": 40 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.requset", |
| | | "addressIndex": 41 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.confirm", |
| | | "addressIndex": 42 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.reset", |
| | | "addressIndex": 43 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 44 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 45 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 46 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 47 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftdec", |
| | | "addressIndex": 48 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftinpos", |
| | | "addressIndex": 49 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftsafety", |
| | | "addressIndex": 50 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightdec", |
| | | "addressIndex": 51 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightinpos", |
| | | "addressIndex": 52 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightsafety", |
| | | "addressIndex": 53 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturnhome", |
| | | "addressIndex": 54 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturnup", |
| | | "addressIndex": 55 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturndown", |
| | | "addressIndex": 56 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelhome", |
| | | "addressIndex": 57 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelleftdec", |
| | | "addressIndex": 58 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelleftlimit", |
| | | "addressIndex": 59 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelrightdec", |
| | | "addressIndex": 60 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelrightlimit", |
| | | "addressIndex": 61 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 62 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 63 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftdec", |
| | | "addressIndex": 64 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftinpos", |
| | | "addressIndex": 65 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftsafety", |
| | | "addressIndex": 66 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightdec", |
| | | "addressIndex": 67 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightinpos", |
| | | "addressIndex": 68 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightsafety", |
| | | "addressIndex": 69 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturnhome", |
| | | "addressIndex": 70 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturnup", |
| | | "addressIndex": 71 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturndown", |
| | | "addressIndex": 72 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelhome", |
| | | "addressIndex": 73 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelleftdec", |
| | | "addressIndex": 74 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelleftlimit", |
| | | "addressIndex": 75 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelrightdec", |
| | | "addressIndex": 76 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelrightlimit", |
| | | "addressIndex": 77 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 78 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 79 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRorigin", |
| | | "addressIndex": 80 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRleftlimit", |
| | | "addressIndex": 81 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRrightlimit", |
| | | "addressIndex": 82 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRorigin", |
| | | "addressIndex": 83 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRleftlimit", |
| | | "addressIndex": 84 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRrightlimit", |
| | | "addressIndex": 85 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 86 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 87 |
| | | }, |
| | | { |
| | | "codeId": "LED.red", |
| | | "addressIndex": 88 |
| | | }, |
| | | { |
| | | "codeId": "LED.green", |
| | | "addressIndex": 89 |
| | | }, |
| | | { |
| | | "codeId": "LED.yellow", |
| | | "addressIndex": 90 |
| | | }, |
| | | { |
| | | "codeId": "D01.LED.green", |
| | | "addressIndex": 91 |
| | | }, |
| | | { |
| | | "codeId": "D06.LED.green", |
| | | "addressIndex": 92 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.turn", |
| | | "addressIndex": 93 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.updown", |
| | | "addressIndex": 94 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.gassing", |
| | | "addressIndex": 95 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.turn", |
| | | "addressIndex": 96 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.updown", |
| | | "addressIndex": 97 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.gassing", |
| | | "addressIndex": 98 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.Led", |
| | | "addressIndex": 99 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.open", |
| | | "addressIndex": 100 |
| | | }, |
| | | { |
| | | "codeId": "D01SB.confirm", |
| | | "addressIndex": 101 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 102 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 103 |
| | | }, |
| | | { |
| | | "codeId": "A01oilPump", |
| | | "addressIndex": 104 |
| | | }, |
| | | { |
| | | "codeId": "A01motorCtr", |
| | | "addressIndex": 105 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 106 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 107 |
| | | }, |
| | | { |
| | | "codeId": "A02oilPump", |
| | | "addressIndex": 108 |
| | | }, |
| | | { |
| | | "codeId": "A02motorCtr", |
| | | "addressIndex": 109 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 110 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 111 |
| | | } |
| | | , |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 111 |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB103.0",
|
| | | "plcAddressLenght": "258",
|
| | | "dataType": "word",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01.State",
|
| | | "addressIndex": "0",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D02.State",
|
| | | "addressIndex": "2",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01.State",
|
| | | "addressIndex": "4",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02.State",
|
| | | "addressIndex": "6",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01.State",
|
| | | "addressIndex": "8",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02.State",
|
| | | "addressIndex": "10",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D03.State",
|
| | | "addressIndex": "12",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D04.State",
|
| | | "addressIndex": "14",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D05.State",
|
| | | "addressIndex": "16",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D06.State",
|
| | | "addressIndex": "18",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01tavelActualPosition",
|
| | | "addressIndex": "20",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnActualangle",
|
| | | "addressIndex": "22",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02tavelActualPosition",
|
| | | "addressIndex": "24",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnActualangle",
|
| | | "addressIndex": "26",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01tavelActualPosition",
|
| | | "addressIndex": "28",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02tavelActualPosition",
|
| | | "addressIndex": "30",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01CurrentGrid",
|
| | | "addressIndex": "32",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02CurrentGrid",
|
| | | "addressIndex": "34",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01CurrentGrid",
|
| | | "addressIndex": "36",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01TargetGrid",
|
| | | "addressIndex": "38",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02CurrentGrid",
|
| | | "addressIndex": "40",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02TargetGrid",
|
| | | "addressIndex": "42",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D01ID",
|
| | | "addressIndex": "44",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D02ID",
|
| | | "addressIndex": "58",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D03ID",
|
| | | "addressIndex": "72",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D04ID",
|
| | | "addressIndex": "86",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D05ID",
|
| | | "addressIndex": "100",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D06ID",
|
| | | "addressIndex": "114",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01ID1",
|
| | | "addressIndex": "128",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01ID2",
|
| | | "addressIndex": "142",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02ID1",
|
| | | "addressIndex": "156",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02ID2",
|
| | | "addressIndex": "170",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01ID1",
|
| | | "addressIndex": "184",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01ID2",
|
| | | "addressIndex": "198",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02ID1",
|
| | | "addressIndex": "212",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02ID2",
|
| | | "addressIndex": "226",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorFaultcodes",
|
| | | "addressIndex": "240",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnservoFaultcodes",
|
| | | "addressIndex": "242",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelservoFaultcodes",
|
| | | "addressIndex": "244",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorFaultcodes",
|
| | | "addressIndex": "246",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnservoFaultcodes",
|
| | | "addressIndex": "248",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelservoFaultcodes",
|
| | | "addressIndex": "250",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelservoFaultcodes",
|
| | | "addressIndex": "252",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelservoFaultcodes",
|
| | | "addressIndex": "254",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ,
|
| | | {
|
| | | "codeId": "Scanningguns",
|
| | | "addressIndex": "256",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ,
|
| | | {
|
| | | "codeId": "Frameid",
|
| | | "addressIndex": "270",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ]
|
| | | } |
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB101.0.0",
|
| | | "plcAddressLenght": "93",
|
| | | "dataType": "bit",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01VFDconveyor",
|
| | | "addressIndex": 0
|
| | | },
|
| | | {
|
| | | "codeId": "D02VFDconveyor",
|
| | | "addressIndex": 1
|
| | | },
|
| | | {
|
| | | "codeId": "D03VFDconveyor",
|
| | | "addressIndex": 2
|
| | | },
|
| | | {
|
| | | "codeId": "D04VFDconveyor",
|
| | | "addressIndex": 3
|
| | | },
|
| | | {
|
| | | "codeId": "D05VFDconveyor",
|
| | | "addressIndex": 4
|
| | | },
|
| | | {
|
| | | "codeId": "D06VFDconveyor",
|
| | | "addressIndex": 5
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDconveyor",
|
| | | "addressIndex": 6
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDconveyor",
|
| | | "addressIndex": 7
|
| | | },
|
| | | {
|
| | | "codeId": "B01VFDconveyor",
|
| | | "addressIndex": 8
|
| | | },
|
| | | {
|
| | | "codeId": "B02VFDconveyor",
|
| | | "addressIndex": 9
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURN",
|
| | | "addressIndex": 10
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURN",
|
| | | "addressIndex": 11
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVEL",
|
| | | "addressIndex": 12
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVEL",
|
| | | "addressIndex": 13
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVEL",
|
| | | "addressIndex": 14
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVEL",
|
| | | "addressIndex": 15
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNPOS",
|
| | | "addressIndex": 16
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNPOS",
|
| | | "addressIndex": 17
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELPOS",
|
| | | "addressIndex": 18
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELPOS",
|
| | | "addressIndex": 19
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELPOS",
|
| | | "addressIndex": 20
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELPOS",
|
| | | "addressIndex": 21
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVTURN",
|
| | | "addressIndex": 22
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVUPDOWN",
|
| | | "addressIndex": 23
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVTURN",
|
| | | "addressIndex": 24
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVUPDOWN",
|
| | | "addressIndex": 25
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVGassing",
|
| | | "addressIndex": 26
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVGassing",
|
| | | "addressIndex": 27
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDconveyorreverse",
|
| | | "addressIndex": 28
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDconveyorreverse",
|
| | | "addressIndex": 29
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNreset",
|
| | | "addressIndex": 30
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNhome",
|
| | | "addressIndex": 31
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELreset",
|
| | | "addressIndex": 32
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNreset",
|
| | | "addressIndex": 33
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNhome",
|
| | | "addressIndex": 34
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELreset",
|
| | | "addressIndex": 35
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELreset",
|
| | | "addressIndex": 36
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELhome",
|
| | | "addressIndex": 37
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELreset",
|
| | | "addressIndex": 38
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELhome",
|
| | | "addressIndex": 39
|
| | | },
|
| | | {
|
| | | "codeId": "Manualstoragestartup",
|
| | | "addressIndex": 40
|
| | | },
|
| | | {
|
| | | "codeId": "Manualoutputstartup",
|
| | | "addressIndex": 41
|
| | | },
|
| | | {
|
| | | "codeId": "A01oilpump",
|
| | | "addressIndex": 42
|
| | | },
|
| | | {
|
| | | "codeId": "A02oilpump",
|
| | | "addressIndex": 43
|
| | | },
|
| | | {
|
| | | "codeId": "A01get1#gridaddress",
|
| | | "addressIndex": 44
|
| | | },
|
| | | {
|
| | | "codeId": "A01get22#gridaddress",
|
| | | "addressIndex": 45
|
| | | },
|
| | | {
|
| | | "codeId": "A01get43#gridaddress",
|
| | | "addressIndex": 46
|
| | | },
|
| | | {
|
| | | "codeId": "A01get64#gridaddress",
|
| | | "addressIndex": 47
|
| | | },
|
| | | {
|
| | | "codeId": "A01get85#gridaddress",
|
| | | "addressIndex": 48
|
| | | },
|
| | | {
|
| | | "codeId": "A01get106#gridaddress",
|
| | | "addressIndex": 49
|
| | | },
|
| | | {
|
| | | "codeId": "A01get127#gridaddress",
|
| | | "addressIndex": 50
|
| | | },
|
| | | {
|
| | | "codeId": "A01get148#gridaddress",
|
| | | "addressIndex": 51
|
| | | },
|
| | | {
|
| | | "codeId": "A01get169#gridaddress",
|
| | | "addressIndex": 52
|
| | | },
|
| | | {
|
| | | "codeId": "A02get190#gridaddress",
|
| | | "addressIndex": 53
|
| | | },
|
| | | {
|
| | | "codeId": "A02get1#gridaddress",
|
| | | "addressIndex": 54
|
| | | },
|
| | | {
|
| | | "codeId": "A02get22#gridaddress",
|
| | | "addressIndex": 55
|
| | | },
|
| | | {
|
| | | "codeId": "A02get43#gridaddress",
|
| | | "addressIndex": 56
|
| | | },
|
| | | {
|
| | | "codeId": "A02get64#gridaddress",
|
| | | "addressIndex": 57
|
| | | },
|
| | | {
|
| | | "codeId": "A02get85#gridaddress",
|
| | | "addressIndex": 58
|
| | | },
|
| | | {
|
| | | "codeId": "A02get106#gridaddress",
|
| | | "addressIndex": 59
|
| | | },
|
| | | {
|
| | | "codeId": "A02get127#gridaddress",
|
| | | "addressIndex": 60
|
| | | },
|
| | | {
|
| | | "codeId": "A02get148#gridaddress",
|
| | | "addressIndex": 61
|
| | | },
|
| | | {
|
| | | "codeId": "A02get169#gridaddress",
|
| | | "addressIndex": 62
|
| | | },
|
| | | {
|
| | | "codeId": "A02get190#gridaddress",
|
| | | "addressIndex": 63
|
| | | },
|
| | | {
|
| | | "codeId": "B01get1#gridaddress",
|
| | | "addressIndex": 64
|
| | | },
|
| | | {
|
| | | "codeId": "B01get22#gridaddress",
|
| | | "addressIndex": 65
|
| | | },
|
| | | {
|
| | | "codeId": "B01get43#gridaddress",
|
| | | "addressIndex": 66
|
| | | },
|
| | | {
|
| | | "codeId": "B01get64#gridaddress",
|
| | | "addressIndex": 67
|
| | | },
|
| | | {
|
| | | "codeId": "B01get85#gridaddress",
|
| | | "addressIndex": 68
|
| | | },
|
| | | {
|
| | | "codeId": "B02get106#gridaddress",
|
| | | "addressIndex": 69
|
| | | },
|
| | | {
|
| | | "codeId": "B02get127#gridaddress",
|
| | | "addressIndex": 70
|
| | | },
|
| | | {
|
| | | "codeId": "B02get148#gridaddress",
|
| | | "addressIndex": 71
|
| | | },
|
| | | {
|
| | | "codeId": "B02get169#gridaddress",
|
| | | "addressIndex": 72
|
| | | },
|
| | | {
|
| | | "codeId": "B02get190#gridaddress",
|
| | | "addressIndex": 73
|
| | | },
|
| | | {
|
| | | "codeId": "D01IDClean",
|
| | | "addressIndex": 74
|
| | | },
|
| | | {
|
| | | "codeId": "D02IDClean",
|
| | | "addressIndex": 75
|
| | | },
|
| | | {
|
| | | "codeId": "D03IDClean",
|
| | | "addressIndex": 76
|
| | | },
|
| | | {
|
| | | "codeId": "D04IDClean",
|
| | | "addressIndex": 77
|
| | | },
|
| | | {
|
| | | "codeId": "D05IDClean",
|
| | | "addressIndex": 78
|
| | | },
|
| | | {
|
| | | "codeId": "D06IDClean",
|
| | | "addressIndex": 79
|
| | | },
|
| | | {
|
| | | "codeId": "A01IDClean",
|
| | | "addressIndex": 80
|
| | | },
|
| | | {
|
| | | "codeId": "A02IDClean",
|
| | | "addressIndex": 81
|
| | | },
|
| | | {
|
| | | "codeId": "B01IDClean",
|
| | | "addressIndex": 82
|
| | | },
|
| | | {
|
| | | "codeId": "B02IDClean",
|
| | | "addressIndex": 83
|
| | | },
|
| | | {
|
| | | "codeId": "abort/resumeTasks",
|
| | | "addressIndex": 84
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELhome",
|
| | | "addressIndex": 85
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELhome",
|
| | | "addressIndex": 86
|
| | | },
|
| | | {
|
| | | "codeId": "A01A02travelHoming",
|
| | | "addressIndex": 87
|
| | | },
|
| | | {
|
| | | "codeId": "A01halfAutoSelect",
|
| | | "addressIndex": 88
|
| | | },
|
| | | {
|
| | | "codeId": "A02halfAutoSelect",
|
| | | "addressIndex": 89
|
| | | },
|
| | | {
|
| | | "codeId": "A02abortTasks",
|
| | | "addressIndex": 90
|
| | | },
|
| | | {
|
| | | "codeId": "emgHMI",
|
| | | "addressIndex": 91
|
| | | },
|
| | | {
|
| | | "codeId": "Scanningmethod",
|
| | | "addressIndex": 92
|
| | | ]
|
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB17.0", |
| | | "plcAddressLenght":"40", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "E01id", |
| | | "addressIndex":"0", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "E01Quest", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "E01Reply", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "J01Quest", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "J01id", |
| | | "addressIndex":"22", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "J01TurnGo", |
| | | "addressIndex":"38", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | |
| | | |
| | | ] |
| | | } |
| | |
| | | |
| | | server: |
| | | port: 8080 |
| | | port: 8081 |
| | | servlet: |
| | | context-path: /mesModuleTools |
| | | |
| | | spring: |
| | | datasource: |
| | | dynamic: |
| | | primary: user_info #设置默认的数据源或者数据源组,默认值即为master |
| | | primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master |
| | | strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. |
| | | datasource: |
| | | user_info: |
| | | url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | |
| | | hangzhoumes: |
| | | url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8 |
| | | username: root |
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB104.0.0",
|
| | | "plcAddressLenght": "91",
|
| | | "dataType": "bit",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01VFDerror",
|
| | | "addressIndex": 0
|
| | | },
|
| | | {
|
| | | "codeId": "D02VFDerror",
|
| | | "addressIndex": 1
|
| | | },
|
| | | {
|
| | | "codeId": "D03VFDerror",
|
| | | "addressIndex": 2
|
| | | },
|
| | | {
|
| | | "codeId": "D04VFDerror",
|
| | | "addressIndex": 3
|
| | | },
|
| | | {
|
| | | "codeId": "D05VFDerror",
|
| | | "addressIndex": 4
|
| | | },
|
| | | {
|
| | | "codeId": "D06VFDerror",
|
| | | "addressIndex": 5
|
| | | },
|
| | | {
|
| | | "codeId": "B01VFDerror",
|
| | | "addressIndex": 6
|
| | | },
|
| | | {
|
| | | "codeId": "B02VFDerror",
|
| | | "addressIndex": 7
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDerror",
|
| | | "addressIndex": 8
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDerror",
|
| | | "addressIndex": 9
|
| | | },
|
| | | {
|
| | | "codeId": "A01servoturnerror",
|
| | | "addressIndex": 10
|
| | | },
|
| | | {
|
| | | "codeId": "A02servoturnerror",
|
| | | "addressIndex": 11
|
| | | },
|
| | | {
|
| | | "codeId": "A01servotravelerror",
|
| | | "addressIndex": 12
|
| | | },
|
| | | {
|
| | | "codeId": "A02servotravelerror",
|
| | | "addressIndex": 13
|
| | | },
|
| | | {
|
| | | "codeId": "B01servotravelerror",
|
| | | "addressIndex": 14
|
| | | },
|
| | | {
|
| | | "codeId": "B02servotravelerror",
|
| | | "addressIndex": 15
|
| | | },
|
| | | {
|
| | | "codeId": "D01DECerror",
|
| | | "addressIndex": 16
|
| | | },
|
| | | {
|
| | | "codeId": "D01poserror",
|
| | | "addressIndex": 17
|
| | | },
|
| | | {
|
| | | "codeId": "D02DECerror",
|
| | | "addressIndex": 18
|
| | | },
|
| | | {
|
| | | "codeId": "D02poserror",
|
| | | "addressIndex": 19
|
| | | },
|
| | | {
|
| | | "codeId": "D03DECerror",
|
| | | "addressIndex": 20
|
| | | },
|
| | | {
|
| | | "codeId": "D03poserror",
|
| | | "addressIndex": 21
|
| | | },
|
| | | {
|
| | | "codeId": "D04DECerror",
|
| | | "addressIndex": 22
|
| | | },
|
| | | {
|
| | | "codeId": "D04poserror",
|
| | | "addressIndex": 23
|
| | | },
|
| | | {
|
| | | "codeId": "D05DECerror",
|
| | | "addressIndex": 24
|
| | | },
|
| | | {
|
| | | "codeId": "D05poserror",
|
| | | "addressIndex": 25
|
| | | },
|
| | | {
|
| | | "codeId": "D06DECerror",
|
| | | "addressIndex": 26
|
| | | },
|
| | | {
|
| | | "codeId": "D06poserror",
|
| | | "addressIndex": 27
|
| | | },
|
| | | {
|
| | | "codeId": "A01DECerror",
|
| | | "addressIndex": 28
|
| | | },
|
| | | {
|
| | | "codeId": "A01poserror",
|
| | | "addressIndex": 29
|
| | | },
|
| | | {
|
| | | "codeId": "A02DECerror",
|
| | | "addressIndex": 30
|
| | | },
|
| | | {
|
| | | "codeId": "A02poserror",
|
| | | "addressIndex": 31
|
| | | },
|
| | | {
|
| | | "codeId": "B01INDECerror",
|
| | | "addressIndex": 32
|
| | | },
|
| | | {
|
| | | "codeId": "B01INposerror",
|
| | | "addressIndex": 33
|
| | | },
|
| | | {
|
| | | "codeId": "B01OUTDECerror",
|
| | | "addressIndex": 34
|
| | | },
|
| | | {
|
| | | "codeId": "B01OUTposerror",
|
| | | "addressIndex": 35
|
| | | },
|
| | | {
|
| | | "codeId": "B02INDECerror",
|
| | | "addressIndex": 36
|
| | | },
|
| | | {
|
| | | "codeId": "B02INposerror",
|
| | | "addressIndex": 37
|
| | | },
|
| | | {
|
| | | "codeId": "B02OUTDECerror",
|
| | | "addressIndex": 38
|
| | | },
|
| | | {
|
| | | "codeId": "B02OUTposerror",
|
| | | "addressIndex": 39
|
| | | },
|
| | | {
|
| | | "codeId": "D01Scanglassexceedinglimit",
|
| | | "addressIndex": 40
|
| | | },
|
| | | {
|
| | | "codeId": "emergencystopalarm",
|
| | | "addressIndex": 41
|
| | | },
|
| | | {
|
| | | "codeId": "Moreglassthanknown",
|
| | | "addressIndex": 42
|
| | | },
|
| | | {
|
| | | "codeId": "lessglassthanknown",
|
| | | "addressIndex": 43
|
| | | },
|
| | | {
|
| | | "codeId": "D01conveyortimeoutalarm",
|
| | | "addressIndex": 44
|
| | | },
|
| | | {
|
| | | "codeId": "D02conveyortimeoutalarm",
|
| | | "addressIndex": 45
|
| | | },
|
| | | {
|
| | | "codeId": "D03conveyortimeoutalarm",
|
| | | "addressIndex": 46
|
| | | },
|
| | | {
|
| | | "codeId": "D04conveyortimeoutalarm",
|
| | | "addressIndex": 47
|
| | | },
|
| | | {
|
| | | "codeId": "D05conveyortimeoutalarm",
|
| | | "addressIndex": 48
|
| | | },
|
| | | {
|
| | | "codeId": "D06conveyortimeoutalarm",
|
| | | "addressIndex": 49
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyortimeoutalarm",
|
| | | "addressIndex": 50
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyortimeoutalarm",
|
| | | "addressIndex": 51
|
| | | },
|
| | | {
|
| | | "codeId": "B01conveyortimeoutalarm",
|
| | | "addressIndex": 52
|
| | | },
|
| | | {
|
| | | "codeId": "B02conveyortimeoutalarm",
|
| | | "addressIndex": 53
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorLeftsafetyalarm",
|
| | | "addressIndex": 54
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorrightsafetyalarm",
|
| | | "addressIndex": 55
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorLeftsafetyalarm",
|
| | | "addressIndex": 56
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorrightsafetyalarm",
|
| | | "addressIndex": 57
|
| | | },
|
| | | {
|
| | | "codeId": "1#buffersafetyalarm",
|
| | | "addressIndex": 58
|
| | | },
|
| | | {
|
| | | "codeId": "2#buffersafetyalarm",
|
| | | "addressIndex": 59
|
| | | },
|
| | | {
|
| | | "codeId": "3#buffersafetyalarm",
|
| | | "addressIndex": 60
|
| | | },
|
| | | {
|
| | | "codeId": "4#buffersafetyalarm",
|
| | | "addressIndex": 61
|
| | | },
|
| | | {
|
| | | "codeId": "A01.SRrightinposerror",
|
| | | "addressIndex": 62
|
| | | },
|
| | | {
|
| | | "codeId": "A02.SRleftinposerror",
|
| | | "addressIndex": 63
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRleftinposerror",
|
| | | "addressIndex": 64
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRleftdecerror",
|
| | | "addressIndex": 65
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRrightdecerror",
|
| | | "addressIndex": 66
|
| | | },
|
| | | {
|
| | | "codeId": "B01.SRrightinposerror",
|
| | | "addressIndex": 67
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRleftinposerror",
|
| | | "addressIndex": 68
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRleftdecerror",
|
| | | "addressIndex": 69
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRrightdecerror",
|
| | | "addressIndex": 70
|
| | | },
|
| | | {
|
| | | "codeId": "B02.SRrightinposerror",
|
| | | "addressIndex": 71
|
| | | },
|
| | | {
|
| | | "codeId": "A01servoturnhomed",
|
| | | "addressIndex": 72
|
| | | },
|
| | | {
|
| | | "codeId": "A02servoturnhomed",
|
| | | "addressIndex": 73
|
| | | },
|
| | | {
|
| | | "codeId": "A01servotravelhomed",
|
| | | "addressIndex": 74
|
| | | },
|
| | | {
|
| | | "codeId": "A02servotravelhomed",
|
| | | "addressIndex": 75
|
| | | },
|
| | | {
|
| | | "codeId": "B01servotravelhomed",
|
| | | "addressIndex": 76
|
| | | },
|
| | | {
|
| | | "codeId": "B02servotravelhomed",
|
| | | "addressIndex": 77
|
| | | },
|
| | | {
|
| | | "codeId": "resetDelay",
|
| | | "addressIndex": 78
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelNegativelimit",
|
| | | "addressIndex": 79
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelPositivelimit",
|
| | | "addressIndex": 80
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnuplimit",
|
| | | "addressIndex": 81
|
| | | },
|
| | | {
|
| | | "codeId": "A01turndownlimit",
|
| | | "addressIndex": 82
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelNegativelimit",
|
| | | "addressIndex": 83
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelPositivelimit",
|
| | | "addressIndex": 84
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnuplimit",
|
| | | "addressIndex": 85
|
| | | },
|
| | | {
|
| | | "codeId": "A02turndownlimit",
|
| | | "addressIndex": 86
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelNegativelimit",
|
| | | "addressIndex": 87
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelPositivelimit",
|
| | | "addressIndex": 88
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelNegativelimit",
|
| | | "addressIndex": 89
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelPositivelimit",
|
| | | "addressIndex": 90
|
| | | }
|
| | | ]
|
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB105.0", |
| | | "plcAddressLenght":"12", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "OutActivate", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "Addgoal", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "AddLength", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "AddWidth", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "AddCount", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "OutStart", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB100.0", |
| | | "plcAddressLenght":"198", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "conveyorVelocity(Max)", |
| | | "addressIndex":"0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "conveyorVelocity(Manual)", |
| | | "addressIndex":"6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNJOGVelocity", |
| | | "addressIndex":"8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELJOGVelocity", |
| | | "addressIndex":"10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELJOGVelocity", |
| | | "addressIndex":"12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TURNPOSVelocityAUTO", |
| | | "addressIndex":"14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TURNPOSVelocitymanual", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01B02TRAVELPOSVelocityAUTO", |
| | | "addressIndex":"22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "B01TRAVELPOSVelocitymanual", |
| | | "addressIndex":"24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(Max)", |
| | | "addressIndex":"26", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"28", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01A02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"30", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"32", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Max)", |
| | | "addressIndex":"34", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoFAST)", |
| | | "addressIndex":"36", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(AutoSLOW)", |
| | | "addressIndex":"38", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01B02conveyorVelocity(Manual)", |
| | | "addressIndex":"40", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "gridspacing", |
| | | "addressIndex":"42", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Spliceaddresssetting", |
| | | "addressIndex":"44", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02Spliceaddresssetting", |
| | | "addressIndex":"46", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A011#gridaddress", |
| | | "addressIndex":"48", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0122#gridaddress", |
| | | "addressIndex":"50", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0143#gridaddress", |
| | | "addressIndex":"52", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0164#gridaddress", |
| | | "addressIndex":"54", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0185#gridaddress", |
| | | "addressIndex":"56", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01106#gridaddress", |
| | | "addressIndex":"58", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01127#gridaddress", |
| | | "addressIndex":"60", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01148#gridaddress", |
| | | "addressIndex":"62", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01169#gridaddress", |
| | | "addressIndex":"64", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01190#gridaddress", |
| | | "addressIndex":"66", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A021#gridaddress", |
| | | "addressIndex":"68", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0222#gridaddress", |
| | | "addressIndex":"70", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0243#gridaddress", |
| | | "addressIndex":"72", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0264#gridaddress", |
| | | "addressIndex":"74", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A0285#gridaddress", |
| | | "addressIndex":"76", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02106#gridaddress", |
| | | "addressIndex":"78", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02127#gridaddress", |
| | | "addressIndex":"80", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02148#gridaddress", |
| | | "addressIndex":"82", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02169#gridaddress", |
| | | "addressIndex":"84", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A02190#gridaddress", |
| | | "addressIndex":"86", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B011#gridaddress", |
| | | "addressIndex":"88", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0122#gridaddress", |
| | | "addressIndex":"90", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0143#gridaddress", |
| | | "addressIndex":"92", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0164#gridaddress", |
| | | "addressIndex":"94", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B0185#gridaddress", |
| | | "addressIndex":"96", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02106#gridaddress", |
| | | "addressIndex":"98", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02127#gridaddress", |
| | | "addressIndex":"100", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02148#gridaddress", |
| | | "addressIndex":"102", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02169#gridaddress", |
| | | "addressIndex":"104", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "B02190#gridaddress", |
| | | "addressIndex":"106", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm" |
| | | }, |
| | | { |
| | | "codeId": "A01Targetgrid(Manual)", |
| | | "addressIndex":"108", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": " A02Targetgrid(Manual)", |
| | | "addressIndex":"110", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B01Targetgrid(Manual)", |
| | | "addressIndex":"112", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02Targetgrid(Manual)", |
| | | "addressIndex":"114", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01turnTargetAngle(Manual)", |
| | | "addressIndex":"116", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnTargetAngle(Manual)", |
| | | "addressIndex":"118", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle1", |
| | | "addressIndex":"120", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle2", |
| | | "addressIndex":"122", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle3", |
| | | "addressIndex":"124", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A01turnAngle4", |
| | | "addressIndex":"126", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle1", |
| | | "addressIndex":"128", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle2", |
| | | "addressIndex":"130", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle3", |
| | | "addressIndex":"132", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "A02turnAngle4", |
| | | "addressIndex":"134", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"°" |
| | | }, |
| | | { |
| | | "codeId": "Minimumglasslength", |
| | | "addressIndex":"136", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Minimumglassheight", |
| | | "addressIndex":"138", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglasslength", |
| | | "addressIndex":"140", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Maximumglassheight", |
| | | "addressIndex":"142", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01cellsGlassNum", |
| | | "addressIndex":"144", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02cellsGlassNum", |
| | | "addressIndex":"146", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A01ID", |
| | | "addressIndex":"148", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02ID", |
| | | "addressIndex":"162", |
| | | "addressLenght":"14", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "A02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"176", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "B02TRAVELPOSVelocitymanual", |
| | | "addressIndex":"178", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionofthefeedca", |
| | | "addressIndex":"180", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Targetpositionofthefeedcar", |
| | | "addressIndex":"182", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Lengthofincomingglass", |
| | | "addressIndex":"184", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Widthofincomingglass", |
| | | "addressIndex":"186", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, |
| | | { |
| | | "codeId": "Startingpositionoftheexitcar", |
| | | "addressIndex":"188", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | }, { |
| | | "codeId": "Exitcartargetposition", |
| | | "addressIndex":"190", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A02TURNPOSVelocitymanual", |
| | | "addressIndex":"192", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | , { |
| | | "codeId": "A01delayTime", |
| | | "addressIndex":"194", |
| | | "addressLenght":"2", |
| | | "ratio":"1" |
| | | |
| | | } |
| | | |
| | | |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin": "DB106.0", |
| | | "plcAddressLenght": "66", |
| | | "dataType": "word", |
| | | "parameteInfor": [{ |
| | | "codeId": "A01Position", |
| | | "addressIndex": "0", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01FlipPosition", |
| | | "addressIndex": "2", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01QuestStartPosition", |
| | | "addressIndex": "4", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A01EndPosition", |
| | | "addressIndex": "6", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedCarStatus", |
| | | "addressIndex": "8", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestOver", |
| | | "addressIndex": "10", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02Position", |
| | | "addressIndex": "12", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02FlipPosition", |
| | | "addressIndex": "14", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestStartPosition", |
| | | "addressIndex": "16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02EndPosition", |
| | | "addressIndex": "18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "ExitCarStatus", |
| | | "addressIndex": "20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "A02QuestOver", |
| | | "addressIndex": "22", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedRequest", |
| | | "addressIndex": "24", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "FeedID", |
| | | "addressIndex": "26", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01Position", |
| | | "addressIndex": "40", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01QuestPosition", |
| | | "addressIndex": "42", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CurrentTaskMode", |
| | | "addressIndex": "44", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CarStatus", |
| | | "addressIndex": "46", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CarTaskStatus", |
| | | "addressIndex": "48", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02Position", |
| | | "addressIndex": "50", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarCurrentTask", |
| | | "addressIndex": "52", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CurrentTaskMode", |
| | | "addressIndex": "54", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarStatus", |
| | | "addressIndex": "56", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CarSaskStatus", |
| | | "addressIndex": "58", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B01CompleteTheReport", |
| | | "addressIndex": "60", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "B02CompleteTheReport", |
| | | "addressIndex": "62", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "OutRequest", |
| | | "addressIndex": "64", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin": "DB102.0.0", |
| | | "plcAddressLenght": "112", |
| | | "dataType": "bit", |
| | | "parameteInfor": [ |
| | | { |
| | | "codeId": "D01.SRdec", |
| | | "addressIndex": 0 |
| | | }, |
| | | { |
| | | "codeId": "D01.SRinpos", |
| | | "addressIndex": 1 |
| | | }, |
| | | { |
| | | "codeId": "D02.SRdec", |
| | | "addressIndex": 2 |
| | | }, |
| | | { |
| | | "codeId": "D02.SRinpos", |
| | | "addressIndex": 3 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRinto", |
| | | "addressIndex": 4 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRdec", |
| | | "addressIndex": 5 |
| | | }, |
| | | { |
| | | "codeId": "D03.SRinpos", |
| | | "addressIndex": 6 |
| | | }, |
| | | { |
| | | "codeId": "D04.SRdec", |
| | | "addressIndex": 7 |
| | | }, |
| | | { |
| | | "codeId": "D04.SRinpos", |
| | | "addressIndex": 8 |
| | | }, |
| | | { |
| | | "codeId": "D05.SRdec", |
| | | "addressIndex": 9 |
| | | }, |
| | | { |
| | | "codeId": "D05.SRinpos", |
| | | "addressIndex": 10 |
| | | }, |
| | | { |
| | | "codeId": "D06.SRdec", |
| | | "addressIndex": 11 |
| | | }, |
| | | { |
| | | "codeId": "D06.SRinpos", |
| | | "addressIndex": 12 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRindec", |
| | | "addressIndex": 13 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRininpos", |
| | | "addressIndex": 14 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutdec", |
| | | "addressIndex": 15 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutinpos", |
| | | "addressIndex": 16 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRturnon", |
| | | "addressIndex": 17 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRturnoff", |
| | | "addressIndex": 18 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRup", |
| | | "addressIndex": 19 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRdown", |
| | | "addressIndex": 20 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutdec", |
| | | "addressIndex": 21 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutinpos", |
| | | "addressIndex": 22 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRindec", |
| | | "addressIndex": 23 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRininpos", |
| | | "addressIndex": 24 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRturnon", |
| | | "addressIndex": 25 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRturnoff", |
| | | "addressIndex": 26 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRup", |
| | | "addressIndex": 27 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRdown", |
| | | "addressIndex": 28 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRinsafety", |
| | | "addressIndex": 29 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRoutsafety", |
| | | "addressIndex": 30 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRinsafety", |
| | | "addressIndex": 31 |
| | | }, |
| | | { |
| | | "codeId": "SB.start(+)", |
| | | "addressIndex": 32 |
| | | }, |
| | | { |
| | | "codeId": "SB.stop(-)", |
| | | "addressIndex": 33 |
| | | }, |
| | | { |
| | | "codeId": "SB.reset", |
| | | "addressIndex": 34 |
| | | }, |
| | | { |
| | | "codeId": "SB.auto/manul", |
| | | "addressIndex": 35 |
| | | }, |
| | | { |
| | | "codeId": "D01.SB.confirm", |
| | | "addressIndex": 36 |
| | | }, |
| | | { |
| | | "codeId": "SB.emg", |
| | | "addressIndex": 37 |
| | | }, |
| | | { |
| | | "codeId": "D01.SB.start", |
| | | "addressIndex": 38 |
| | | }, |
| | | { |
| | | "codeId": "D06.SB.start", |
| | | "addressIndex": 39 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRoutsafety", |
| | | "addressIndex": 40 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.requset", |
| | | "addressIndex": 41 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.confirm", |
| | | "addressIndex": 42 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.reset", |
| | | "addressIndex": 43 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 44 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 45 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 46 |
| | | }, |
| | | { |
| | | "codeId": "Sspce", |
| | | "addressIndex": 47 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftdec", |
| | | "addressIndex": 48 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftinpos", |
| | | "addressIndex": 49 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRleftsafety", |
| | | "addressIndex": 50 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightdec", |
| | | "addressIndex": 51 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightinpos", |
| | | "addressIndex": 52 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRrightsafety", |
| | | "addressIndex": 53 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturnhome", |
| | | "addressIndex": 54 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturnup", |
| | | "addressIndex": 55 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRturndown", |
| | | "addressIndex": 56 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelhome", |
| | | "addressIndex": 57 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelleftdec", |
| | | "addressIndex": 58 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelleftlimit", |
| | | "addressIndex": 59 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelrightdec", |
| | | "addressIndex": 60 |
| | | }, |
| | | { |
| | | "codeId": "A01.SRtravelrightlimit", |
| | | "addressIndex": 61 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 62 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 63 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftdec", |
| | | "addressIndex": 64 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftinpos", |
| | | "addressIndex": 65 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRleftsafety", |
| | | "addressIndex": 66 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightdec", |
| | | "addressIndex": 67 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightinpos", |
| | | "addressIndex": 68 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRrightsafety", |
| | | "addressIndex": 69 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturnhome", |
| | | "addressIndex": 70 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturnup", |
| | | "addressIndex": 71 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRturndown", |
| | | "addressIndex": 72 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelhome", |
| | | "addressIndex": 73 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelleftdec", |
| | | "addressIndex": 74 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelleftlimit", |
| | | "addressIndex": 75 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelrightdec", |
| | | "addressIndex": 76 |
| | | }, |
| | | { |
| | | "codeId": "A02.SRtravelrightlimit", |
| | | "addressIndex": 77 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 78 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 79 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRorigin", |
| | | "addressIndex": 80 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRleftlimit", |
| | | "addressIndex": 81 |
| | | }, |
| | | { |
| | | "codeId": "B01.SRrightlimit", |
| | | "addressIndex": 82 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRorigin", |
| | | "addressIndex": 83 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRleftlimit", |
| | | "addressIndex": 84 |
| | | }, |
| | | { |
| | | "codeId": "B02.SRrightlimit", |
| | | "addressIndex": 85 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 86 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 87 |
| | | }, |
| | | { |
| | | "codeId": "LED.red", |
| | | "addressIndex": 88 |
| | | }, |
| | | { |
| | | "codeId": "LED.green", |
| | | "addressIndex": 89 |
| | | }, |
| | | { |
| | | "codeId": "LED.yellow", |
| | | "addressIndex": 90 |
| | | }, |
| | | { |
| | | "codeId": "D01.LED.green", |
| | | "addressIndex": 91 |
| | | }, |
| | | { |
| | | "codeId": "D06.LED.green", |
| | | "addressIndex": 92 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.turn", |
| | | "addressIndex": 93 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.updown", |
| | | "addressIndex": 94 |
| | | }, |
| | | { |
| | | "codeId": "B01.YV.gassing", |
| | | "addressIndex": 95 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.turn", |
| | | "addressIndex": 96 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.updown", |
| | | "addressIndex": 97 |
| | | }, |
| | | { |
| | | "codeId": "B02.YV.gassing", |
| | | "addressIndex": 98 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.Led", |
| | | "addressIndex": 99 |
| | | }, |
| | | { |
| | | "codeId": "SafetyDoor.open", |
| | | "addressIndex": 100 |
| | | }, |
| | | { |
| | | "codeId": "D01SB.confirm", |
| | | "addressIndex": 101 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 102 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 103 |
| | | }, |
| | | { |
| | | "codeId": "A01oilPump", |
| | | "addressIndex": 104 |
| | | }, |
| | | { |
| | | "codeId": "A01motorCtr", |
| | | "addressIndex": 105 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 106 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 107 |
| | | }, |
| | | { |
| | | "codeId": "A02oilPump", |
| | | "addressIndex": 108 |
| | | }, |
| | | { |
| | | "codeId": "A02motorCtr", |
| | | "addressIndex": 109 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 110 |
| | | }, |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 111 |
| | | } |
| | | , |
| | | { |
| | | "codeId": "space", |
| | | "addressIndex": 111 |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB103.0",
|
| | | "plcAddressLenght": "258",
|
| | | "dataType": "word",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01.State",
|
| | | "addressIndex": "0",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D02.State",
|
| | | "addressIndex": "2",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01.State",
|
| | | "addressIndex": "4",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02.State",
|
| | | "addressIndex": "6",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01.State",
|
| | | "addressIndex": "8",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02.State",
|
| | | "addressIndex": "10",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D03.State",
|
| | | "addressIndex": "12",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D04.State",
|
| | | "addressIndex": "14",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D05.State",
|
| | | "addressIndex": "16",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D06.State",
|
| | | "addressIndex": "18",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01tavelActualPosition",
|
| | | "addressIndex": "20",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnActualangle",
|
| | | "addressIndex": "22",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02tavelActualPosition",
|
| | | "addressIndex": "24",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnActualangle",
|
| | | "addressIndex": "26",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01tavelActualPosition",
|
| | | "addressIndex": "28",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02tavelActualPosition",
|
| | | "addressIndex": "30",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01CurrentGrid",
|
| | | "addressIndex": "32",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02CurrentGrid",
|
| | | "addressIndex": "34",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01CurrentGrid",
|
| | | "addressIndex": "36",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01TargetGrid",
|
| | | "addressIndex": "38",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02CurrentGrid",
|
| | | "addressIndex": "40",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02TargetGrid",
|
| | | "addressIndex": "42",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D01ID",
|
| | | "addressIndex": "44",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D02ID",
|
| | | "addressIndex": "58",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D03ID",
|
| | | "addressIndex": "72",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D04ID",
|
| | | "addressIndex": "86",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D05ID",
|
| | | "addressIndex": "100",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "D06ID",
|
| | | "addressIndex": "114",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01ID1",
|
| | | "addressIndex": "128",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01ID2",
|
| | | "addressIndex": "142",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02ID1",
|
| | | "addressIndex": "156",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02ID2",
|
| | | "addressIndex": "170",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01ID1",
|
| | | "addressIndex": "184",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01ID2",
|
| | | "addressIndex": "198",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02ID1",
|
| | | "addressIndex": "212",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02ID2",
|
| | | "addressIndex": "226",
|
| | | "addressLenght": "14",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01conveyorFaultcodes",
|
| | | "addressIndex": "240",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01turnservoFaultcodes",
|
| | | "addressIndex": "242",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A01travelservoFaultcodes",
|
| | | "addressIndex": "244",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02conveyorFaultcodes",
|
| | | "addressIndex": "246",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02turnservoFaultcodes",
|
| | | "addressIndex": "248",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "A02travelservoFaultcodes",
|
| | | "addressIndex": "250",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B01travelservoFaultcodes",
|
| | | "addressIndex": "252",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | },
|
| | | {
|
| | | "codeId": "B02travelservoFaultcodes",
|
| | | "addressIndex": "254",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ,
|
| | | {
|
| | | "codeId": "Scanningguns",
|
| | | "addressIndex": "256",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ,
|
| | | {
|
| | | "codeId": "Frameid",
|
| | | "addressIndex": "270",
|
| | | "addressLenght": "2",
|
| | | "unit": ""
|
| | | }
|
| | | ]
|
| | | } |
New file |
| | |
| | | {
|
| | | "plcAddressBegin": "DB101.0.0",
|
| | | "plcAddressLenght": "93",
|
| | | "dataType": "bit",
|
| | | "parameteInfor": [
|
| | | {
|
| | | "codeId": "D01VFDconveyor",
|
| | | "addressIndex": 0
|
| | | },
|
| | | {
|
| | | "codeId": "D02VFDconveyor",
|
| | | "addressIndex": 1
|
| | | },
|
| | | {
|
| | | "codeId": "D03VFDconveyor",
|
| | | "addressIndex": 2
|
| | | },
|
| | | {
|
| | | "codeId": "D04VFDconveyor",
|
| | | "addressIndex": 3
|
| | | },
|
| | | {
|
| | | "codeId": "D05VFDconveyor",
|
| | | "addressIndex": 4
|
| | | },
|
| | | {
|
| | | "codeId": "D06VFDconveyor",
|
| | | "addressIndex": 5
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDconveyor",
|
| | | "addressIndex": 6
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDconveyor",
|
| | | "addressIndex": 7
|
| | | },
|
| | | {
|
| | | "codeId": "B01VFDconveyor",
|
| | | "addressIndex": 8
|
| | | },
|
| | | {
|
| | | "codeId": "B02VFDconveyor",
|
| | | "addressIndex": 9
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURN",
|
| | | "addressIndex": 10
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURN",
|
| | | "addressIndex": 11
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVEL",
|
| | | "addressIndex": 12
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVEL",
|
| | | "addressIndex": 13
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVEL",
|
| | | "addressIndex": 14
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVEL",
|
| | | "addressIndex": 15
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNPOS",
|
| | | "addressIndex": 16
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNPOS",
|
| | | "addressIndex": 17
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELPOS",
|
| | | "addressIndex": 18
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELPOS",
|
| | | "addressIndex": 19
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELPOS",
|
| | | "addressIndex": 20
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELPOS",
|
| | | "addressIndex": 21
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVTURN",
|
| | | "addressIndex": 22
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVUPDOWN",
|
| | | "addressIndex": 23
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVTURN",
|
| | | "addressIndex": 24
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVUPDOWN",
|
| | | "addressIndex": 25
|
| | | },
|
| | | {
|
| | | "codeId": "B01YVGassing",
|
| | | "addressIndex": 26
|
| | | },
|
| | | {
|
| | | "codeId": "B02YVGassing",
|
| | | "addressIndex": 27
|
| | | },
|
| | | {
|
| | | "codeId": "A01VFDconveyorreverse",
|
| | | "addressIndex": 28
|
| | | },
|
| | | {
|
| | | "codeId": "A02VFDconveyorreverse",
|
| | | "addressIndex": 29
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNreset",
|
| | | "addressIndex": 30
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETURNhome",
|
| | | "addressIndex": 31
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELreset",
|
| | | "addressIndex": 32
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNreset",
|
| | | "addressIndex": 33
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETURNhome",
|
| | | "addressIndex": 34
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELreset",
|
| | | "addressIndex": 35
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELreset",
|
| | | "addressIndex": 36
|
| | | },
|
| | | {
|
| | | "codeId": "B01SERVETRAVELhome",
|
| | | "addressIndex": 37
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELreset",
|
| | | "addressIndex": 38
|
| | | },
|
| | | {
|
| | | "codeId": "B02SERVETRAVELhome",
|
| | | "addressIndex": 39
|
| | | },
|
| | | {
|
| | | "codeId": "Manualstoragestartup",
|
| | | "addressIndex": 40
|
| | | },
|
| | | {
|
| | | "codeId": "Manualoutputstartup",
|
| | | "addressIndex": 41
|
| | | },
|
| | | {
|
| | | "codeId": "A01oilpump",
|
| | | "addressIndex": 42
|
| | | },
|
| | | {
|
| | | "codeId": "A02oilpump",
|
| | | "addressIndex": 43
|
| | | },
|
| | | {
|
| | | "codeId": "A01get1#gridaddress",
|
| | | "addressIndex": 44
|
| | | },
|
| | | {
|
| | | "codeId": "A01get22#gridaddress",
|
| | | "addressIndex": 45
|
| | | },
|
| | | {
|
| | | "codeId": "A01get43#gridaddress",
|
| | | "addressIndex": 46
|
| | | },
|
| | | {
|
| | | "codeId": "A01get64#gridaddress",
|
| | | "addressIndex": 47
|
| | | },
|
| | | {
|
| | | "codeId": "A01get85#gridaddress",
|
| | | "addressIndex": 48
|
| | | },
|
| | | {
|
| | | "codeId": "A01get106#gridaddress",
|
| | | "addressIndex": 49
|
| | | },
|
| | | {
|
| | | "codeId": "A01get127#gridaddress",
|
| | | "addressIndex": 50
|
| | | },
|
| | | {
|
| | | "codeId": "A01get148#gridaddress",
|
| | | "addressIndex": 51
|
| | | },
|
| | | {
|
| | | "codeId": "A01get169#gridaddress",
|
| | | "addressIndex": 52
|
| | | },
|
| | | {
|
| | | "codeId": "A02get190#gridaddress",
|
| | | "addressIndex": 53
|
| | | },
|
| | | {
|
| | | "codeId": "A02get1#gridaddress",
|
| | | "addressIndex": 54
|
| | | },
|
| | | {
|
| | | "codeId": "A02get22#gridaddress",
|
| | | "addressIndex": 55
|
| | | },
|
| | | {
|
| | | "codeId": "A02get43#gridaddress",
|
| | | "addressIndex": 56
|
| | | },
|
| | | {
|
| | | "codeId": "A02get64#gridaddress",
|
| | | "addressIndex": 57
|
| | | },
|
| | | {
|
| | | "codeId": "A02get85#gridaddress",
|
| | | "addressIndex": 58
|
| | | },
|
| | | {
|
| | | "codeId": "A02get106#gridaddress",
|
| | | "addressIndex": 59
|
| | | },
|
| | | {
|
| | | "codeId": "A02get127#gridaddress",
|
| | | "addressIndex": 60
|
| | | },
|
| | | {
|
| | | "codeId": "A02get148#gridaddress",
|
| | | "addressIndex": 61
|
| | | },
|
| | | {
|
| | | "codeId": "A02get169#gridaddress",
|
| | | "addressIndex": 62
|
| | | },
|
| | | {
|
| | | "codeId": "A02get190#gridaddress",
|
| | | "addressIndex": 63
|
| | | },
|
| | | {
|
| | | "codeId": "B01get1#gridaddress",
|
| | | "addressIndex": 64
|
| | | },
|
| | | {
|
| | | "codeId": "B01get22#gridaddress",
|
| | | "addressIndex": 65
|
| | | },
|
| | | {
|
| | | "codeId": "B01get43#gridaddress",
|
| | | "addressIndex": 66
|
| | | },
|
| | | {
|
| | | "codeId": "B01get64#gridaddress",
|
| | | "addressIndex": 67
|
| | | },
|
| | | {
|
| | | "codeId": "B01get85#gridaddress",
|
| | | "addressIndex": 68
|
| | | },
|
| | | {
|
| | | "codeId": "B02get106#gridaddress",
|
| | | "addressIndex": 69
|
| | | },
|
| | | {
|
| | | "codeId": "B02get127#gridaddress",
|
| | | "addressIndex": 70
|
| | | },
|
| | | {
|
| | | "codeId": "B02get148#gridaddress",
|
| | | "addressIndex": 71
|
| | | },
|
| | | {
|
| | | "codeId": "B02get169#gridaddress",
|
| | | "addressIndex": 72
|
| | | },
|
| | | {
|
| | | "codeId": "B02get190#gridaddress",
|
| | | "addressIndex": 73
|
| | | },
|
| | | {
|
| | | "codeId": "D01IDClean",
|
| | | "addressIndex": 74
|
| | | },
|
| | | {
|
| | | "codeId": "D02IDClean",
|
| | | "addressIndex": 75
|
| | | },
|
| | | {
|
| | | "codeId": "D03IDClean",
|
| | | "addressIndex": 76
|
| | | },
|
| | | {
|
| | | "codeId": "D04IDClean",
|
| | | "addressIndex": 77
|
| | | },
|
| | | {
|
| | | "codeId": "D05IDClean",
|
| | | "addressIndex": 78
|
| | | },
|
| | | {
|
| | | "codeId": "D06IDClean",
|
| | | "addressIndex": 79
|
| | | },
|
| | | {
|
| | | "codeId": "A01IDClean",
|
| | | "addressIndex": 80
|
| | | },
|
| | | {
|
| | | "codeId": "A02IDClean",
|
| | | "addressIndex": 81
|
| | | },
|
| | | {
|
| | | "codeId": "B01IDClean",
|
| | | "addressIndex": 82
|
| | | },
|
| | | {
|
| | | "codeId": "B02IDClean",
|
| | | "addressIndex": 83
|
| | | },
|
| | | {
|
| | | "codeId": "abort/resumeTasks",
|
| | | "addressIndex": 84
|
| | | },
|
| | | {
|
| | | "codeId": "A01SERVETRAVELhome",
|
| | | "addressIndex": 85
|
| | | },
|
| | | {
|
| | | "codeId": "A02SERVETRAVELhome",
|
| | | "addressIndex": 86
|
| | | },
|
| | | {
|
| | | "codeId": "A01A02travelHoming",
|
| | | "addressIndex": 87
|
| | | },
|
| | | {
|
| | | "codeId": "A01halfAutoSelect",
|
| | | "addressIndex": 88
|
| | | },
|
| | | {
|
| | | "codeId": "A02halfAutoSelect",
|
| | | "addressIndex": 89
|
| | | },
|
| | | {
|
| | | "codeId": "A02abortTasks",
|
| | | "addressIndex": 90
|
| | | },
|
| | | {
|
| | | "codeId": "emgHMI",
|
| | | "addressIndex": 91
|
| | | },
|
| | | {
|
| | | "codeId": "Scanningmethod",
|
| | | "addressIndex": 92
|
| | | ]
|
| | | } |
New file |
| | |
| | | { |
| | | "plcAddressBegin":"DB17.0", |
| | | "plcAddressLenght":"40", |
| | | "dataType":"word", |
| | | "parameteInfor":[ |
| | | { |
| | | "codeId": "E01id", |
| | | "addressIndex":"0", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "E01Quest", |
| | | "addressIndex":"16", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "E01Reply", |
| | | "addressIndex":"18", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"m/min" |
| | | }, |
| | | { |
| | | "codeId": "J01Quest", |
| | | "addressIndex":"20", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "J01id", |
| | | "addressIndex":"22", |
| | | "addressLenght":"14", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | }, |
| | | { |
| | | "codeId": "J01TurnGo", |
| | | "addressIndex":"38", |
| | | "addressLenght":"2", |
| | | "ratio":"1", |
| | | "unit":"mm/S" |
| | | } |
| | | |
| | | |
| | | ] |
| | | } |
| | |
| | | |
| | | server: |
| | | port: 8080 |
| | | port: 8081 |
| | | servlet: |
| | | context-path: /mesModuleTools |
| | | |
| | | spring: |
| | | datasource: |
| | | dynamic: |
| | | primary: user_info #设置默认的数据源或者数据源组,默认值即为master |
| | | primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master |
| | | strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. |
| | | datasource: |
| | | user_info: |
| | | url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | |
| | | hangzhoumes: |
| | | url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8 |
| | | username: root |